:root{color-scheme:dark;--bg:#0a0f1a;--card:#101827;--card2:#0d1420;--line:#1f2a3c;--txt:#e8edf5;--mut:#8b98ab;--accent:#34d399;--accent2:#2dd4bf;--bad:#f87171;--warn:#fbbf24;--ok:#34d399;--font:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--spectrum:linear-gradient(90deg,#e40303,#ff8c00,#ffd700,#008026,#3b82f6,#732982)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--font);-webkit-font-smoothing:antialiased}.center{min-height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;background:var(--bg)}.center h1{font-weight:700;letter-spacing:-.02em}.primary{background:var(--accent);color:#04201c;border:none;border-radius:10px;padding:11px 18px;font-weight:700;font-size:15px;cursor:pointer;font-family:var(--font)}.app{max-width:1000px;margin:0 auto;padding:18px 18px 96px}header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);position:relative}header:after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:var(--spectrum);border-radius:2px}header h1{margin:0;font-size:22px;letter-spacing:-.02em}.who{color:var(--mut);font-size:12.5px}.link{background:none;border:none;color:var(--accent2);cursor:pointer;font-size:13px;font-family:var(--font)}.importbtn{background:#2dd4bf1f;border:1px solid rgba(45,212,191,.4);color:var(--accent2);border-radius:9px;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font)}.importbtn:hover{background:#2dd4bf33}nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tab{padding:7px 13px;border:1px solid var(--line);background:var(--card2);border-radius:9px;cursor:pointer;font-weight:600;font-size:13px;color:var(--mut);font-family:var(--font);position:relative}.tab:hover{color:var(--txt);border-color:#2c3a52}.tab.active{background:var(--card);color:var(--txt);border-color:#2c3a52}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--spectrum);border-radius:2px}main h2{font-size:16px;margin:8px 0 12px;letter-spacing:-.01em}.dock{display:none}@media (max-width:760px){nav{display:none}.dock{position:fixed;left:50%;transform:translate(-50%);bottom:14px;z-index:90;display:flex;align-items:center;gap:2px;background:#0d1420c7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(70,90,120,.35);border-radius:999px;padding:6px 8px;box-shadow:0 12px 36px #0000008c}.dock-item{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;color:var(--mut);font-size:9.5px;font-weight:600;font-family:var(--font);padding:5px 9px;cursor:pointer;border-radius:14px;position:relative}.dock-item .di{font-size:19px;line-height:1.15}.dock-item.active{color:var(--txt)}.dock-item.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:16px;height:2.5px;background:var(--spectrum);border-radius:2px}.dock-peacock{font-size:21px;padding:5px 10px 7px;background:none;border:none;cursor:pointer;filter:drop-shadow(0 0 7px rgba(45,212,191,.45));text-decoration:none}}.more-sheet{position:fixed;left:50%;transform:translate(-50%);bottom:78px;z-index:91;background:#101827f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;box-shadow:0 18px 50px #0009}.more-sheet .tab{display:block}.addform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:16px}.addform label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--mut)}.addform input,.addform textarea,.efield input{border:1px solid var(--line);background:var(--card2);color:var(--txt);border-radius:8px;padding:7px 9px;font-size:13px;min-width:120px;font-family:var(--font)}.addform button{background:var(--accent);color:#04201c;border:none;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer;height:34px;font-family:var(--font)}.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden}.grid th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut);padding:9px 11px;border-bottom:1px solid var(--line)}.grid td{padding:9px 11px;border-bottom:1px solid var(--line);font-size:13px}.grid tr:last-child td{border-bottom:none}.muted{color:var(--mut)}.del{background:none;border:none;color:var(--mut);cursor:pointer}.del:hover{color:var(--bad)}.err{color:var(--bad);font-size:13px}.demo{background:#fbbf241a;border:1px solid rgba(251,191,36,.35);color:var(--warn);border-radius:9px;padding:8px 12px;font-size:12.5px;margin-bottom:12px}.demo code{background:#fbbf2426;padding:1px 5px;border-radius:4px}.sub{color:var(--mut);font-size:12.5px;margin-top:2px}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width:760px){header{flex-direction:column;align-items:flex-start;gap:10px}.who{font-size:11px}.who .email{display:none}header h1{font-size:20px}}.searchbox{display:flex;align-items:center;gap:6px}.iconbtn{background:var(--card2);border:1px solid var(--line);border-radius:9px;width:34px;height:34px;font-size:15px;cursor:pointer;line-height:1;color:var(--txt)}.iconbtn:hover{border-color:var(--accent2)}.search-inline{border:1px solid var(--line);background:var(--card2);color:var(--txt);border-radius:9px;padding:7px 11px;font-size:13px;width:170px;font-family:var(--font)}.snapshot{background:linear-gradient(160deg,rgba(248,113,113,.07),var(--card) 55%);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:14px}.snapshot.metrics-card{background:linear-gradient(160deg,rgba(59,130,246,.07),var(--card) 55%);margin-bottom:18px}.score-wrap{position:relative;display:inline-block}.snap-big{font-size:36px;font-weight:700;color:var(--warn);cursor:help;font-family:var(--mono)}.tooltip{visibility:hidden;opacity:0;transition:.15s;position:absolute;left:0;top:118%;width:330px;background:#1c2939;color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:11.5px;line-height:1.5;z-index:20;box-shadow:0 14px 40px #00000080;font-weight:400}.tooltip b{color:#fff}.score-wrap:hover .tooltip{visibility:visible;opacity:1}.domains{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin:4px 0 12px}.snap-divider{height:1px;background:var(--line);margin:14px 0}.domain{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line);background:var(--card2);border-radius:12px;padding:9px 6px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--font);color:var(--txt);text-align:center}.domain:hover{border-color:var(--accent2)}.domain.ok{border-color:#34d39973}.domain.watch{border-color:#fbbf2473}.domain.na{opacity:.6}.domain.sel{border-color:var(--accent2);box-shadow:0 0 0 2px #2dd4bf2e}.dscore{font-size:15px;font-weight:700;color:var(--txt);font-family:var(--mono)}.metricgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px}.metricgrid+.metricgrid{margin-top:10px}.metricgrid.labrow .metric{background:var(--card2);border-style:dashed}.metric{display:flex;flex-direction:column;gap:1px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--card2);border-radius:11px;padding:8px 10px;cursor:pointer;font-family:var(--font)}.metric:hover{border-color:var(--accent2)}.metric.sel{border-color:var(--accent2);box-shadow:0 0 0 2px #2dd4bf2e}.metric .mk{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px}.metric .mv{font-size:15px;font-weight:600;color:var(--txt);font-family:var(--mono)}.metric .mu{font-size:11px;color:var(--mut);font-weight:400}.trendbox{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0 4px}.trendbox-label{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.trend-pts{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:2px;font-family:var(--mono)}.goal-tag{font-size:11px;font-weight:600;color:var(--accent2);margin-left:6px}.dombreak{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}.dombreak-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.dombreak-head h4{margin:0;font-size:14px}.dombreak-note{font-size:12px;color:var(--mut);margin-bottom:8px}.domlink{margin-top:8px}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:12px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head h3{margin:0;font-size:15px}.badge{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px}.badge.active{background:#f8717124;color:var(--bad)}.badge.monitoring{background:#fbbf241f;color:var(--warn)}.card-metrics{font-size:13px;margin-top:6px;font-family:var(--mono);font-size:12px}.card-note{font-size:12.5px;color:var(--mut);margin-top:5px}.section-label{font-size:13px;font-weight:700;margin:4px 0 10px}.labgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width:640px){.labgrid{grid-template-columns:1fr}}.labcard{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 15px}.labcard.abn{border-color:#f8717173;background:linear-gradient(160deg,rgba(248,113,113,.08),var(--card) 60%)}.labcard-head{display:flex;justify-content:space-between;align-items:center}.labname{font-weight:600}.arrow{color:var(--mut)}.labval{margin:4px 0}.labval .v{font-size:21px;font-weight:700;font-family:var(--mono)}.labval .v.bad{color:var(--bad)}.labval .unit{color:var(--mut);font-size:12px}.labval-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.spark{flex:none;overflow:visible}.labmeta{font-size:11.5px;color:var(--mut)}.card.clickable{display:block;width:100%;text-align:left;cursor:pointer;font-family:var(--font)}.card.clickable:hover{border-color:var(--accent2)}.card-more{font-size:12px;color:var(--accent2);margin-top:8px}.back{background:none;border:none;color:var(--accent2);cursor:pointer;font-size:13px;padding:0;margin-bottom:6px}.detail-head{margin:6px 0 14px}.detail-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:12px}.detail-title{font-weight:700;font-size:13.5px;margin-bottom:8px}.kvs{display:flex;flex-direction:column;gap:6px}.kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed var(--line);padding-bottom:5px}.kv:last-child{border-bottom:none}.kk{color:var(--mut)}.kvv{font-weight:600;text-align:right;font-family:var(--mono);font-size:12.5px}.timeline{display:flex;flex-direction:column}.tl-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.tl-row:last-child{border-bottom:none}.tl-date{font-weight:600;font-size:13px;font-family:var(--mono);font-size:12px}.tl-text{font-size:12.5px;color:#aebacb;margin-top:2px}.tl-by{font-size:11.5px;color:var(--mut);white-space:nowrap}.detail-text{font-size:13px;color:#b6c2d4;line-height:1.55}.snap-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2px}.snap-label{font-size:12px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.edit-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.efield{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--mut)}.efield input{width:120px}.row-actions{display:flex;gap:12px;align-items:center}.addnew{background:var(--card2);border:1px dashed var(--line);border-radius:9px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--accent2);cursor:pointer;margin-bottom:12px;font-family:var(--font)}.card-click{cursor:pointer}.del.small{background:none;border:none;color:var(--mut);font-size:11.5px;cursor:pointer;margin-top:8px;padding:0}.del.small:hover{color:var(--bad)}.labactions{display:flex;gap:12px;margin-top:8px}.rowactions{display:flex;gap:10px;white-space:nowrap}.pv-group{margin-bottom:16px}.pv-grouplabel{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin:0 0 8px;padding-left:9px;border-left:3px solid var(--line)}.pv-grouplabel.g-overdue{color:var(--bad);border-left-color:var(--bad)}.pv-grouplabel.g-soon{color:var(--warn);border-left-color:var(--warn)}.pv-grouplabel.g-upcoming{color:var(--mut);border-left-color:#3a4a63}.pv-grouplabel.g-complete{color:var(--ok);border-left-color:var(--ok)}.pv-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-left-width:3px;border-radius:11px;padding:11px 14px;margin-bottom:8px}.pv-card.g-overdue{border-left-color:var(--bad)}.pv-card.g-soon{border-left-color:var(--warn)}.pv-card.g-upcoming{border-left-color:#3a4a63}.pv-card.g-complete{border-left-color:var(--ok);opacity:.75}.pv-name{font-weight:600;font-size:14px}.pv-note{font-size:12px;color:var(--mut);margin-top:3px}.pv-meta{font-size:11.5px;color:var(--mut);margin-top:5px}.pv-right{text-align:right;white-space:nowrap}.pv-when{font-size:13px;font-weight:700;color:var(--txt);font-family:var(--mono);font-size:12px}.pv-when.bad{color:var(--bad)}.pv-when.warn{color:var(--warn)}.pv-when.ok{color:var(--ok)}.pv-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.coach-head{display:flex;justify-content:space-between;align-items:baseline}.coach-when{font-size:11.5px;color:var(--mut)}.coach-summary{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px;font-size:14px;line-height:1.55;margin-bottom:16px}.coach-block{margin-bottom:18px}.coach-blocklabel{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--mut);margin-bottom:9px}.nba{background:var(--card);border:1px solid var(--line);border-left-width:3px;border-radius:11px;padding:11px 14px;margin-bottom:9px}.nba.pri-high{border-left-color:var(--bad)}.nba.pri-med{border-left-color:var(--warn)}.nba.pri-low{border-left-color:#3a4a63}.nba-top{display:flex;align-items:center;gap:9px}.nba-title{font-weight:600;font-size:14px}.nba-chip{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:2px 8px;white-space:nowrap}.nba-chip.pri-high{background:#f8717124;color:var(--bad)}.nba-chip.pri-med{background:#fbbf241f;color:var(--warn)}.nba-chip.pri-low{background:#8b98ab24;color:var(--mut)}.nba-why{font-size:12.5px;color:var(--mut);margin:5px 0 4px}.changed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.changed{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.ch-metric{font-size:12.5px;color:var(--mut)}.ch-move{font-weight:700;font-size:13px;font-family:var(--mono)}.changed.good .ch-arrow{color:var(--ok)}.changed.bad .ch-arrow{color:var(--bad)}.coach-disc{font-size:11.5px;color:var(--mut);font-style:italic;border-top:1px solid var(--line);padding-top:10px}.med-legend-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.leg{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px}.leg.rx{background:#3b82f624;color:#7aa7f8}.leg.supp{background:#34d3991f;color:var(--ok)}.meds-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.meds-table th.sortable:hover{color:var(--txt)}.meds-table tr.row-rx{background:#3b82f60d}.meds-table tr.row-supp{background:#34d3990a}.meds-table tr.row-reconsider{background:#fbbf240f}.med-hint{font-size:11.5px;color:var(--mut);font-style:italic}.meds-table th.grip-h{width:26px}.meds-table td.grip{width:26px;text-align:center;color:var(--mut);cursor:grab;-webkit-user-select:none;user-select:none;font-size:14px}.meds-table td.grip:active{cursor:grabbing}.meds-table tr.dragging{opacity:.45}.meds-table tr[draggable=true]:hover td.grip{color:var(--accent2)}.gen-group{margin-bottom:18px}.gen-grouplabel{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--mut);margin-bottom:9px}.gen-card{background:var(--card);border:1px solid var(--line);border-left-width:3px;border-radius:11px;padding:11px 14px;margin-bottom:9px}.gen-card.s-risk{border-left-color:var(--bad)}.gen-card.s-carrier{border-left-color:var(--warn)}.gen-card.s-ok{border-left-color:var(--ok)}.gen-card.s-info{border-left-color:#3a4a63}.gen-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.gen-title{font-weight:700;font-size:14px}.gen-sub{font-size:12.5px;color:var(--mut)}.gen-detail{font-size:12.5px;color:#aebacb;line-height:1.5;margin-top:5px}.gen-actions{display:flex;gap:10px;margin-top:8px}.mtrend{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0 4px}.mt-toggle{display:flex;gap:6px;margin-bottom:10px}.mt-toggle button{font-size:11px;padding:4px 10px;border:1px solid var(--line);background:var(--card2);border-radius:7px;cursor:pointer;color:var(--mut);font-family:var(--font)}.mt-toggle button.on{background:var(--accent);color:#04201c;border-color:var(--accent)}.mt-bars{display:flex;align-items:flex-end;gap:5px;height:120px}.mt-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.mt-v{font-size:9px;color:var(--txt);margin-bottom:2px;font-family:var(--mono)}.mt-fill{width:100%;border-radius:4px 4px 0 0;transition:height .2s}.mt-x{font-size:8px;color:var(--mut);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.mt-stat{background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center}.mt-sl{display:block;font-size:9px;color:var(--mut);text-transform:uppercase}.mt-sv{display:block;font-size:13px;font-weight:700;color:var(--txt);font-family:var(--mono)}.mt-foot{font-size:10.5px;color:var(--mut);margin-top:8px}.section-label.rec{margin-top:20px;color:var(--warn)}
