:root{
  --bg:#f5f8f7;--surface:#ffffff;--surface-2:#f0f5f3;--text:#14201c;--muted:#67746f;
  --line:#dfe8e4;--brand:#16705c;--brand-2:#0f5c4b;--soft:#e7f4ef;--warn:#a76815;--warn-bg:#fff7e7;
  --danger:#a23b3b;--danger-bg:#fff0f0;--shadow:0 18px 48px rgba(21,50,43,.08);--radius:20px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.mobile-only{display:none}
.app-shell{min-height:100vh}.topbar{height:74px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(245,248,247,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(213,226,220,.85)}
.brand-wrap{display:flex;gap:11px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:800}.brand{font-size:17px;font-weight:800;letter-spacing:-.02em}.brand-sub{font-size:11px;color:var(--muted);margin-top:1px}
.topnav{display:flex;gap:6px}.nav-btn{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:12px;font-weight:650}.nav-btn:hover,.nav-btn.active{background:var(--surface);color:var(--text);box-shadow:0 3px 15px rgba(20,42,35,.06)}.chip{font-size:10px;background:var(--soft);color:var(--brand);padding:2px 6px;border-radius:999px}
.view{display:none}.view.active{display:block}.hero{max-width:1380px;margin:0 auto;padding:56px 32px 30px;display:grid;grid-template-columns:1.45fr .55fr;gap:24px;align-items:end}.hero h1,.page-head h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 18px;max-width:900px}.hero h1 span{color:var(--brand)}.hero p,.page-head p{font-size:18px;line-height:1.65;color:var(--muted);max-width:820px}.eyebrow,.panel-kicker{font-size:12px;font-weight:800;letter-spacing:.095em;text-transform:uppercase;color:var(--brand)}.status-dot{display:inline-block;width:8px;height:8px;background:#3aaa78;border-radius:50%;margin-right:6px;box-shadow:0 0 0 5px rgba(58,170,120,.1)}
.trust-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.trust-title{font-weight:800;margin-bottom:13px}.trust-row{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.trust-row strong{color:var(--brand)}
.demo-banner{max-width:1380px;margin:0 auto 22px;padding:14px 18px;background:#fff8e8;border:1px solid #f1dfb8;border-radius:14px;color:#72531f}
.workspace{max-width:1380px;margin:0 auto;padding:0 32px 72px;display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}
.filters-panel,.saved-card,.progress-card,.coverage-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 36px rgba(30,57,49,.055)}
.filters-panel{padding:22px;position:sticky;top:94px;max-height:calc(100vh - 114px);overflow:auto}.panel-head,.result-toolbar,.section-head,.progress-top,.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-head h2,.result-toolbar h2,.section-head h2,.modal-head h2{margin:4px 0 0;letter-spacing:-.025em}.field{display:flex;flex-direction:column;gap:8px;margin-top:18px}.field>span,.range-head>span{font-size:13px;font-weight:750}.field small,.toggle-row small{color:var(--muted);font-size:11px;line-height:1.4}.field input,.field select,.field textarea,.toolbar-actions select{width:100%;border:1px solid var(--line);background:#fbfdfc;border-radius:12px;padding:12px 13px;color:var(--text);outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.toolbar-actions select:focus{border-color:#81b9a9;box-shadow:0 0 0 4px rgba(22,112,92,.08)}.beta{font-size:9px;background:var(--soft);color:var(--brand);padding:3px 6px;border-radius:999px}.hard-tag{font-size:9px;font-weight:900;color:var(--brand);letter-spacing:.06em}.toggle-row{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.toggle-row span{display:flex;flex-direction:column;gap:4px}.toggle-row input{appearance:none;width:46px;height:26px;border-radius:999px;background:#cbd8d3;position:relative;transition:.2s}.toggle-row input:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.14)}.toggle-row input:checked{background:var(--brand)}.toggle-row input:checked:before{transform:translateX(20px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.range-head{display:flex;justify-content:space-between}.range-head strong{color:var(--brand)}input[type=range]{padding:0;background:transparent;border:0}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:18px 0 4px}
.primary-btn,.secondary-btn,.text-btn,.icon-btn{border:0;border-radius:12px;font-weight:750}.primary-btn{background:var(--brand);color:white;padding:13px 17px;box-shadow:0 8px 18px rgba(22,112,92,.16)}.primary-btn:hover{background:var(--brand-2)}.primary-btn.small{padding:9px 14px}.secondary-btn{background:var(--soft);color:var(--brand);padding:11px 14px}.text-btn{background:transparent;color:var(--brand);padding:10px 4px}.full{width:100%;margin-top:16px}.search-icon{font-size:19px;margin-right:6px}
.results-area{min-width:0}.result-toolbar{align-items:center;margin:2px 0 14px}.result-toolbar h2 span{color:var(--brand)}.toolbar-actions{display:flex;gap:10px;align-items:center}.toolbar-actions select{width:auto;min-width:190px}.segmented{display:flex;background:#e8efec;border-radius:12px;padding:3px}.seg-btn{border:0;background:transparent;padding:8px 12px;border-radius:9px;color:var(--muted);font-weight:700}.seg-btn.active{background:white;color:var(--text);box-shadow:0 2px 8px rgba(20,42,35,.08)}
.coverage-card{padding:16px 18px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.coverage-main{display:flex;align-items:center;gap:12px}.coverage-number{width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:22px;font-weight:900}.coverage-main div:last-child{display:flex;flex-direction:column;gap:4px}.coverage-main span{font-size:12px;color:var(--muted)}
.progress-card{padding:20px;margin-bottom:14px}.progress-top h3{margin:4px 0 0}.progress-top>span{font-weight:850;color:var(--brand)}.progress-track{height:8px;background:#e5eeea;border-radius:999px;margin:16px 0;overflow:hidden}.progress-track div{height:100%;width:0;background:var(--brand);transition:width .35s}.progress-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-step{font-size:12px;color:var(--muted);padding:8px 10px;background:#f7faf9;border-radius:10px}.progress-step.done{color:var(--brand);font-weight:750}
.result-list{display:flex;flex-direction:column;gap:14px}.doctor-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 10px 30px rgba(25,51,43,.055);display:grid;grid-template-columns:1fr auto;gap:18px;transition:.2s}.doctor-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.doctor-main{min-width:0}.doctor-head{display:flex;gap:14px;align-items:center}.avatar{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#e0f1eb,#d7e7f1);display:grid;place-items:center;font-weight:900;color:var(--brand);flex:none}.doctor-title h3{margin:0;font-size:20px}.doctor-title p{margin:4px 0 0;color:var(--muted)}.score-badge{margin-left:auto;align-self:flex-start;background:var(--soft);color:var(--brand);padding:7px 10px;border-radius:999px;font-weight:850;font-size:12px}.criteria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.criterion{background:#f7faf9;border-radius:11px;padding:10px 11px;font-size:12px;display:flex;gap:7px;align-items:flex-start}.criterion .ok{color:var(--brand);font-weight:900}.criterion .unknown{color:var(--warn);font-weight:900}.doctor-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.doctor-meta strong{color:var(--text)}.doctor-actions{width:172px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.price-box{background:#f8fbfa;border:1px solid var(--line);border-radius:14px;padding:13px}.price-box small{display:block;color:var(--muted)}.price-box strong{display:block;font-size:20px;margin-top:2px}.action-stack{display:grid;gap:7px}.action-stack button{width:100%}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.check-row input{accent-color:var(--brand)}
.near-section{margin-top:34px}.subtle{font-size:12px;color:var(--muted)}.near-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.near-card{background:var(--surface);border:1px dashed #d6dfdc;border-radius:16px;padding:17px}.near-card h3{margin:0 0 4px}.near-card p{margin:0;color:var(--muted);font-size:13px}.near-fail{margin-top:12px;padding:10px;border-radius:10px;background:var(--warn-bg);color:#7d591f;font-size:12px}
.map-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.map-wrap #map{height:640px}.map-note{padding:10px 14px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.page-head{max-width:1240px;margin:0 auto;padding:58px 32px 24px}.page-head h1{font-size:52px}.sources-grid{max-width:1240px;margin:0 auto;padding:0 32px 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.source-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}.source-top{display:flex;justify-content:space-between;gap:10px}.source-card h3{margin:0;font-size:16px}.source-type{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.source-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.source-status.live{background:var(--soft);color:var(--brand)}.source-status.plan{background:#eef0f8;color:#4d5a91}.source-status.restricted{background:var(--warn-bg);color:var(--warn)}.source-card p{color:var(--muted);font-size:13px;line-height:1.5}.source-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.source-meta div{background:#f7faf9;padding:9px;border-radius:10px}.source-meta small{display:block;color:var(--muted)}.source-meta strong{font-size:12px}
.saved-layout{max-width:1100px;margin:0 auto;padding:0 32px 70px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.saved-card{padding:20px}.saved-card h3{margin-top:0}.saved-item{padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.saved-item:first-of-type{border-top:0}.saved-item p{margin:3px 0 0;color:var(--muted);font-size:12px}
.drawer{position:fixed;inset:0;z-index:60}.drawer-backdrop,.modal-backdrop{position:absolute;inset:0;background:rgba(12,24,20,.42);backdrop-filter:blur(3px)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(700px,94vw);background:var(--surface);padding:28px;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.16)}.drawer-close{width:38px;height:38px;border:0;border-radius:12px;background:#eef4f2;font-size:24px;float:right}.detail-hero{padding:30px 0 10px}.detail-hero h2{font-size:32px;margin:6px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.detail-box{border:1px solid var(--line);border-radius:15px;padding:15px}.detail-box h4{margin:0 0 9px}.source-list{display:flex;flex-direction:column;gap:8px}.source-link{display:block;padding:11px;background:#f7faf9;border-radius:10px;text-decoration:none;color:var(--text);font-size:12px}.source-link span{display:block;color:var(--muted);margin-top:3px}.confidence{font-weight:850;color:var(--brand)}
.compare-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:45;background:#17241f;color:white;border-radius:16px;padding:12px 14px 12px 18px;display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:360px;box-shadow:0 16px 50px rgba(0,0,0,.22)}.compare-bar span{display:block;color:#b7c4c0;font-size:11px}.compare-actions{display:flex;gap:8px;align-items:center}.compare-bar .text-btn{color:#cfe6df}.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center}.modal-card{position:relative;width:min(1100px,94vw);max-height:88vh;overflow:auto;background:var(--surface);border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.compare-table{width:100%;border-collapse:collapse;margin-top:16px}.compare-table th,.compare-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.compare-table th{background:#f6faf8;position:sticky;top:0}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#17241f;color:white;padding:12px 16px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
@media(max-width:1050px){.workspace{grid-template-columns:300px 1fr}.criteria{grid-template-columns:repeat(2,1fr)}.sources-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.trust-card{max-width:700px}.doctor-card{grid-template-columns:1fr}.doctor-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.near-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  .mobile-only{display:inline-flex}.topbar{padding:0 16px;height:66px}.topnav{display:none}.hero{padding:34px 16px 20px}.hero h1{font-size:40px}.hero p{font-size:16px}.demo-banner{margin:0 16px 16px}.workspace{display:block;padding:0 16px 90px}.filters-panel{position:fixed;inset:0 0 0 auto;z-index:80;width:min(390px,100vw);max-height:none;border-radius:0;transform:translateX(105%);transition:.25s;padding:20px}.filters-panel.open{transform:translateX(0)}.result-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions select{flex:1;min-width:0}.criteria{grid-template-columns:1fr}.coverage-card{align-items:flex-start;gap:10px}.coverage-card .text-btn{white-space:nowrap}.progress-steps{grid-template-columns:1fr 1fr}.near-grid{grid-template-columns:1fr}.map-wrap #map{height:500px}.page-head{padding:34px 16px 18px}.page-head h1{font-size:38px}.sources-grid{grid-template-columns:1fr;padding:0 16px 70px}.saved-layout{grid-template-columns:1fr;padding:0 16px 70px}.drawer-panel{width:100vw;padding:20px}.detail-grid{grid-template-columns:1fr}.compare-bar{left:12px;right:12px;transform:none;min-width:0}.modal-card{width:96vw;padding:16px}.compare-table-wrap{overflow:auto}.doctor-actions{grid-template-columns:1fr}.two-col{grid-template-columns:1fr 1fr}
}
