:root { --ink:#142238; --muted:#6f7d91; --paper:#f6f8fc; --card:#fff; --line:#e0e7f0; --lime:#c8f1df; --coral:#ff806c; --blue:#4b73f5; --blue-dark:#2f55ca; --navy:#14243b; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; overflow-x:hidden; }
.ambient { position:fixed; width:35rem; height:35rem; border-radius:50%; filter:blur(1px); pointer-events:none; z-index:-1; }
.ambient-one { background:#e6f2ca; top:-21rem; right:-8rem; }.ambient-two { background:#e2f1f2; bottom:-25rem; left:-12rem; }
.shell { width:min(1120px,calc(100% - 42px)); margin:0 auto; }
.topbar { height:84px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(16,34,52,.08); }
.brand { color:var(--ink); text-decoration:none; display:flex; gap:11px; align-items:center; font-weight:700; letter-spacing:-.03em; font-size:17px; }.brand-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:var(--navy); background:var(--lime); font-size:23px; font-weight:500; line-height:1; }.private-note { font-size:12px; color:var(--muted); }.dot { display:inline-block; width:7px; height:7px; background:#6bb98b; border-radius:50%; margin-right:6px; }
.hero { padding:88px 0 42px; max-width:920px; }.eyebrow { color:#7d9844; text-transform:uppercase; font-size:11px; letter-spacing:.16em; font-weight:700; margin-bottom:20px; }.hero h1 { font:800 clamp(42px,6vw,78px)/.98 'Manrope',sans-serif; letter-spacing:-.075em; margin:0; }.hero h1 em { color:#839b48; font-style:normal; }.hero-copy { color:var(--muted); font-size:17px; max-width:550px; line-height:1.55; margin:26px 0 34px; }
.search-panel { display:grid; grid-template-columns:1.15fr 1fr auto; align-items:end; gap:13px; background:var(--navy); padding:13px; border-radius:20px; box-shadow:0 20px 50px rgba(11,23,36,.14); }.field { background:#fff; border-radius:12px; padding:13px 16px 11px; min-height:71px; }.field label { display:block; text-transform:uppercase; font-size:10px; letter-spacing:.09em; color:#85919b; font-weight:700; margin-bottom:6px; }.field input,.field select { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font:600 16px 'DM Sans',sans-serif; }.field select { cursor:pointer; }.field-hint { display:block; color:#98a4ab; font-size:10px; margin-top:4px; }.search-button { height:71px; padding:0 22px; display:flex; align-items:center; gap:20px; border:0; border-radius:12px; color:var(--navy); background:var(--lime); cursor:pointer; font:700 14px 'DM Sans',sans-serif; transition:transform .2s,background .2s; }.search-button:hover { transform:translateY(-2px); background:#e2fa82; }.search-button:disabled { opacity:.65; cursor:wait; transform:none; }.arrow { font-size:24px; font-weight:400; }.privacy-line { font-size:12px; color:#95a0a4; margin:14px 3px; }
.results-section { min-height:280px; padding:28px 0 80px; }.results-empty { border:1px dashed #cbd8d4; border-radius:22px; padding:57px 20px; text-align:center; }.empty-icon { display:grid; place-items:center; margin:0 auto 15px; width:42px; height:42px; border-radius:13px; color:#8aa34d; background:#e8f4bd; }.results-empty h2 { font:700 24px 'Manrope'; letter-spacing:-.04em; margin:0 0 8px; }.results-empty p { margin:0; color:var(--muted); font-size:14px; }
.results-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:20px; }.results-kicker { color:#8b9a9c; text-transform:uppercase; font-size:10px; letter-spacing:.15em; font-weight:700; }.results-head h2 { font:700 32px 'Manrope'; letter-spacing:-.06em; margin:7px 0 0; }.result-meta { color:#79868a; font-size:13px; text-align:right; }.result-meta strong { color:var(--ink); font-size:22px; display:block; }.toolbar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:17px; }.filter { border:1px solid var(--line); background:#fff; border-radius:999px; color:#627276; padding:8px 13px; font:600 12px 'DM Sans'; cursor:pointer; }.filter.active { background:var(--ink); color:#fff; border-color:var(--ink); }.doctor-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; }.doctor-card { background:var(--card); border:1px solid #e4eae7; border-radius:18px; padding:18px; display:grid; grid-template-columns:49px 1fr auto; gap:14px; align-items:center; transition:box-shadow .2s,transform .2s; }.doctor-card:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(16,34,52,.07); }.avatar { width:49px; height:49px; border-radius:15px; background:#e8eff0; display:grid; place-items:center; color:#527071; font:700 18px 'Manrope'; overflow:hidden; }.avatar img { width:100%; height:100%; object-fit:cover; }.doctor-name { font-weight:700; font-size:15px; margin-bottom:6px; }.doctor-info { color:#839092; font-size:12px; line-height:1.45; }.doctor-info span { display:block; }.status { min-width:106px; text-align:right; }.status-label { display:inline-block; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:700; }.status.available .status-label { background:#eaf7c7; color:#58772d; }.status.none .status-label { background:#f1f3f2; color:#8b9797; }.next-hour { color:#597b3f; font-size:11px; margin-top:7px; }.official-link { display:inline-block; margin-top:9px; color:#536c79; font-size:11px; text-decoration:underline; text-underline-offset:3px; }.alert { padding:18px 20px; border-radius:15px; background:#fff4e7; color:#856134; font-size:14px; }.loading { display:flex; align-items:center; gap:12px; padding:32px 0; color:var(--muted); }.spinner { width:18px; height:18px; border:2px solid #d6e0de; border-top-color:#87a74a; border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin { to { transform:rotate(360deg); } }
footer { display:flex; justify-content:space-between; gap:20px; padding:24px 0 32px; color:#8c9898; font-size:11px; border-top:1px solid rgba(16,34,52,.08); }footer span:first-child { color:var(--ink); font-weight:700; }footer a { color:#677d7b; }
@media (max-width:700px) { .shell { width:min(100% - 28px,560px); }.topbar { height:68px; }.private-note { display:none; }.hero { padding:58px 0 28px; }.hero-copy { font-size:15px; }.search-panel { grid-template-columns:1fr; border-radius:17px; }.search-button { justify-content:space-between; }.results-section { padding-bottom:50px; }.results-head { align-items:flex-start; flex-direction:column; gap:13px; }.result-meta { text-align:left; }.result-meta strong { display:inline; margin-right:5px; }.doctor-grid { grid-template-columns:1fr; }.doctor-card { grid-template-columns:45px 1fr; }.status { grid-column:2; text-align:left; }.status-label { margin-top:-8px; } footer { flex-direction:column; gap:8px; } }

/* Refinamientos visuales */
.ambient-one { background:#e1e8ff; }.ambient-two { background:#d9f2e8; }
.brand-mark { color:#fff; background:var(--blue); box-shadow:0 8px 18px rgba(75,115,245,.22); }
.eyebrow { color:var(--blue-dark); }.hero h1 em { color:var(--blue); }.optional { color:#8b98ab; font-size:9px; letter-spacing:.05em; }
.search-panel { background:linear-gradient(135deg,#14243b,#1c3553); box-shadow:0 20px 50px rgba(20,36,59,.18); }
.field label { color:#8591a4; }.field select:disabled { color:#94a0b0; cursor:wait; }.search-button { color:#fff; background:var(--blue); box-shadow:0 10px 18px rgba(75,115,245,.24); }.search-button:hover { background:var(--blue-dark); }.privacy-line { color:#7c899c; line-height:1.45; max-width:800px; }
.status.available .status-label { background:#dff5e8; color:#26704d; }.status.none .status-label { background:#eff2f6; color:#8b96a6; }.next-hour { color:#31785a; }
.official-link { display:inline-flex; align-items:center; margin-top:10px; padding:7px 10px; border-radius:8px; color:#3158c9; background:#eef2ff; font-weight:700; text-decoration:none; transition:background .2s,color .2s; }.official-link:hover { background:#dfe6ff; color:#2346ad; }.spinner { border-color:#d6e0ec; border-top-color:var(--blue); }
