:root{
  --blue:#3457d5;--blue-2:#2442af;--blue-soft:#e8edff;
  --teal:#087f8c;--teal-soft:#dff6f7;--violet:#7048e8;--violet-soft:#f0ebff;
  --orange:#d9480f;--orange-soft:#fff0e8;--red:#c92a2a;--red-soft:#fff0f0;
  --green:#2b8a3e;--green-soft:#e8f7eb;--amber:#b26a00;--amber-soft:#fff6d8;
  --ink:#172033;--muted:#5f6878;--faint:#8b94a3;--line:#dce1e8;
  --bg:#f4f6f9;--surface:#fff;--surface-2:#f9fafb;--radius:14px;
  --shadow:0 3px 18px rgba(27,39,66,.08);--focus:0 0 0 3px rgba(52,87,213,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
button{touch-action:manipulation}
:focus-visible{outline:none;box-shadow:var(--focus)}
a{color:var(--blue)}
[hidden]{display:none!important}
.header{position:sticky;top:0;z-index:30;background:linear-gradient(125deg,var(--blue-2),var(--blue));color:#fff;padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));box-shadow:0 2px 12px rgba(26,44,120,.28)}
.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand h1{font-size:17px;margin:0;font-weight:800;letter-spacing:.01em}.brand p{font-size:11px;margin:2px 0 0;opacity:.8}
.person-chip{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:8px 13px;min-height:40px;font-size:12px;font-weight:750;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:8px}.account-badge{font-size:10px;line-height:1.25;text-align:right;opacity:.9;max-width:180px}.header-btn{border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.13);color:#fff;border-radius:9px;min-height:40px;padding:7px 11px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.header-btn:hover{background:rgba(255,255,255,.21)}.comment-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:#fff;color:var(--blue);font-size:9px}
.notice{background:var(--amber-soft);border-bottom:1px solid #efd68a;color:#684600;padding:8px 16px;font-size:11px;text-align:center}
.nav-wrap{position:sticky;top:68px;z-index:25;background:rgba(255,255,255,.99);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.nav{display:flex;max-width:1180px;margin:auto;min-width:max-content;padding:0 10px}
.nav button{border:0;background:transparent;border-bottom:3px solid transparent;padding:11px 12px;min-height:48px;color:var(--muted);font-size:11px;font-weight:750;display:flex;align-items:center;gap:7px;cursor:pointer}
.nav button:hover{color:var(--blue)}.nav button.active{color:var(--blue);border-bottom-color:var(--blue)}
.step{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:10px}.nav button.active .step{background:var(--blue);color:#fff}
main{max-width:1180px;margin:auto;padding:22px 16px 60px}
.screen{display:none}.screen.active{display:block}
.screen-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px}.screen-title h2{font-size:20px;margin:0 0 3px}.screen-title p{margin:0;color:var(--muted);font-size:12px;max-width:760px}
.card{background:var(--surface);border:1px solid rgba(210,216,226,.8);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:15px}
.card h3{font-size:14px;margin:0 0 4px}.desc{font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.55}
.subcard{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label,.label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
input[type=text],input[type=number],input[type=datetime-local],input[type=date],input[type=password],select,textarea{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;min-height:42px;outline:none}
textarea{resize:vertical;min-height:88px}.small-input{min-height:36px!important;padding:7px 9px!important;font-size:12px}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:var(--focus)}
input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--blue)}
input[type=range]{width:100%;accent-color:var(--blue);min-height:34px}
.inline-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);min-height:38px}
.btn-row{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.btn-row.left{justify-content:flex-start}
.btn{border:1px solid transparent;border-radius:9px;min-height:42px;padding:8px 14px;font-size:12px;font-weight:780;cursor:pointer;background:#fff;transition:transform .12s,border-color .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-2)}.btn-secondary{border-color:var(--line);color:var(--muted)}.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}.btn-danger{border-color:#efb4b4;color:var(--red);background:#fff}.btn-quiet{border:0;background:transparent;color:var(--blue);padding:5px 8px;min-height:36px}.btn-small{min-height:34px;padding:5px 10px;font-size:11px}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;width:38px;height:38px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{border-color:var(--blue);color:var(--blue)}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;background:#edf0f4;color:var(--muted);font-size:10px;font-weight:750}.pill.blue{background:var(--blue-soft);color:var(--blue)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.orange{background:var(--orange-soft);color:var(--orange)}.pill.violet{background:var(--violet-soft);color:var(--violet)}.pill.red{background:var(--red-soft);color:var(--red)}
.muted{color:var(--muted)}.tiny{font-size:10px}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.empty{border:1.5px dashed var(--line);border-radius:11px;padding:22px;text-align:center;color:var(--muted);font-size:12px;background:var(--surface-2)}
.alert{border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5;margin:10px 0}.alert-info{background:var(--blue-soft);color:#203881;border-left:4px solid var(--blue)}.alert-warn{background:var(--amber-soft);color:#6b4900;border-left:4px solid var(--amber)}.alert-danger{background:var(--red-soft);color:#7b1b1b;border-left:4px solid var(--red)}.alert-success{background:var(--green-soft);color:#1f672e;border-left:4px solid var(--green)}
.formula{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#17233f;color:#dbe7ff;border-radius:9px;padding:11px 13px;font-size:11px;overflow-x:auto;line-height:1.65}.formula strong{color:#ffe49c}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:12px 0}.kpi{border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--surface-2)}.kpi .v{font-size:20px;font-weight:850}.kpi .k{font-size:10px;color:var(--muted);margin-top:2px}
.list{display:flex;flex-direction:column;gap:9px}.list-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;display:flex;gap:12px;align-items:flex-start}.list-card .main{flex:1;min-width:0}.list-card h4{font-size:13px;margin:0 0 3px}.list-card p{font-size:11px;color:var(--muted);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.goal-dot,.var-dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto;margin-top:3px;border:2px solid rgba(0,0,0,.08)}
.variable-card{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;background:#fff}.variable-card.inactive{opacity:.58}.variable-card h4{font-size:13px;margin:0 0 4px}.variable-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.eval-list{display:flex;flex-direction:column;gap:10px}.eval-item{border:1.5px solid var(--line);border-radius:12px;padding:13px;background:#fff}.eval-item.answered{border-color:#aebcf0;background:#fbfcff}.eval-head{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.eval-head h4{font-size:13px;margin:0}.value-badge{min-width:46px;text-align:center;font-size:19px;font-weight:850;color:var(--blue)}.eval-prompt{font-size:11px;color:var(--muted);margin:7px 0}.anchors{display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:9px}.slider-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.missing-btn{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:34px;padding:4px 9px;font-size:10px;color:var(--muted);cursor:pointer}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.table{border-collapse:collapse;width:100%;font-size:11px;min-width:620px}.table th{position:sticky;top:0;background:#f2f4f7;color:var(--muted);text-transform:uppercase;letter-spacing:.045em;font-size:9px;text-align:left;padding:8px;border-bottom:1px solid var(--line);z-index:1}.table td{padding:8px;border-bottom:1px solid #edf0f3;vertical-align:top}.table tr:last-child td{border-bottom:0}.table tr.selected{background:var(--blue-soft)}
.graph-wrap{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:auto;min-height:430px}.graph-wrap:not(.network-graph) svg{display:block;width:100%;min-width:680px;height:auto}.graph-empty{min-height:420px;display:grid;place-items:center;color:var(--muted);font-size:12px}
.network-card{overflow:hidden}.network-layers{margin-bottom:12px}.network-layers .inline-check{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--surface-2)}
.network-explorer{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:10px}.network-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.network-toolbar-copy{font-size:10px;color:var(--muted);line-height:1.35}.network-toolbar-copy strong{display:block;color:var(--ink);font-size:11px}.network-tools{display:flex;align-items:center;gap:5px;flex:0 0 auto}.network-tool{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:36px;height:36px;padding:0 9px;font-size:11px;font-weight:800;color:var(--muted);cursor:pointer}.network-tool:hover{border-color:var(--blue);color:var(--blue)}.network-tool.network-zoom-value{min-width:54px;cursor:default;color:var(--ink)}
.network-graph{position:relative;height:min(68vh,720px);min-height:520px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;touch-action:pan-x pan-y}.network-graph svg{display:block;height:auto;max-width:none}.network-graph svg[data-fit="true"]{width:100%;min-width:100%}.network-graph:focus-visible{box-shadow:inset var(--focus)}
.network-focus{margin-top:9px;border:1px solid #cbd5f4;border-radius:11px;background:#f8faff;padding:11px}.network-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.network-focus-head h4{font-size:12px;margin:0}.network-focus-head p{font-size:10px;color:var(--muted);margin:2px 0 0}.network-focus-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;margin-top:9px}.network-connection{display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 9px;font-size:10px}.network-connection strong{display:block;font-size:11px}.network-connection-meta{white-space:nowrap;font-weight:800}.network-empty-connections{font-size:10px;color:var(--muted);margin-top:8px}
.network-legend{margin-top:9px}.network-legend summary{width:max-content;color:var(--blue);font-size:10px;font-weight:800;cursor:pointer;padding:4px 1px}.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:10px;color:var(--muted)}.legend span{display:flex;gap:5px;align-items:center}.legend i{display:inline-block;width:25px;height:3px;border-radius:2px}
.network-explorer:fullscreen{width:100vw;height:100vh;border:0;border-radius:0;background:var(--bg);padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto}.network-explorer:fullscreen .network-graph{height:auto;min-height:0;max-height:none}.network-explorer:fullscreen .network-toolbar{margin-bottom:8px}.network-explorer:fullscreen .network-focus{max-height:28vh;overflow:auto}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px}.check-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:11px;background:#fff}
.range-control{display:grid;grid-template-columns:minmax(120px,1fr) 56px;gap:8px;align-items:center}.range-value{font-size:11px;font-weight:800;text-align:right}
.progress{height:8px;background:#e8ebf0;border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--blue);border-radius:999px}
.target-row{cursor:pointer}.target-row:hover{background:#f7f9fd}.target-selected{border:2px solid var(--blue)!important;background:var(--blue-soft)!important}
.storage-status{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green)}.status-dot.bad{background:var(--red)}
dialog{border:0;border-radius:16px;padding:0;box-shadow:0 18px 70px rgba(0,0,0,.28);max-width:min(760px,calc(100vw - 24px));width:100%;max-height:92vh;color:var(--ink)}dialog::backdrop{background:rgba(12,19,34,.68)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialog-head h3{margin:0;font-size:15px}.dialog-body{padding:17px;overflow:auto;max-height:calc(92vh - 124px)}.dialog-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 17px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}
.toast{position:fixed;right:16px;bottom:18px;z-index:100;background:#172033;color:#fff;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:700;max-width:min(420px,calc(100vw - 32px));opacity:0;transform:translateY(16px);pointer-events:none;transition:.22s;box-shadow:0 8px 30px rgba(0,0,0,.22)}.toast.show{opacity:1;transform:none}.toast.error{background:#8f1d1d}
#busyOverlay{position:fixed;inset:0;background:rgba(255,255,255,.92);z-index:90;display:none;place-items:center}#busyOverlay.show{display:grid}.spinner{width:42px;height:42px;border:4px solid #dce3fa;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.busy-text{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}
.readonly-banner{background:#eef2ff;color:#253b8d;border-bottom:1px solid #cad3fb;padding:8px 16px;text-align:center;font-size:11px;font-weight:700}
.drawer-backdrop{position:fixed;inset:0;z-index:70;background:rgba(12,19,34,.38);opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.comment-drawer{position:absolute;right:0;top:0;height:100%;width:min(440px,100vw);background:#f7f8fb;box-shadow:-14px 0 44px rgba(12,19,34,.22);display:flex;flex-direction:column;transform:translateX(100%);transition:.22s}.drawer-backdrop.open .comment-drawer{transform:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px;background:#fff;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:17px;margin:0}.drawer-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.drawer-controls{padding:12px;background:#fff;border-bottom:1px solid var(--line)}.comment-compose{padding:12px;background:#fff;border-bottom:1px solid var(--line)}.comment-compose textarea{min-height:84px}.comment-list{padding:12px;overflow:auto;display:flex;flex-direction:column;gap:9px;flex:1}.comment-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px}.comment-card.resolved{opacity:.64}.comment-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--faint);margin-bottom:6px}.comment-body{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:8px}.comment-actions button{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:750;cursor:pointer;padding:4px}.comment-screen{display:inline-flex;border-radius:999px;background:var(--blue-soft);color:var(--blue);padding:2px 6px;font-weight:750}.reviewer-mode .actions{display:none!important}.reviewer-mode .owner-only{display:none!important}.reviewer-mode #screen-data .owner-data-card{display:none!important}.sync-detail{margin-top:5px;font-size:10px;color:var(--faint)}
@media(max-width:760px){.header{padding-top:10px;padding-bottom:10px}.brand h1{font-size:14px}.brand p{display:none}.person-chip{display:none}.account-badge{display:none}.header-btn{min-height:36px;padding:6px 9px}.nav-wrap{top:57px}main{padding:16px 10px 50px}.screen-title{display:block}.screen-title .btn{margin-top:10px}.card{padding:14px;border-radius:12px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.table{min-width:680px}.graph-wrap:not(.network-graph) svg{min-width:640px}.btn-row{justify-content:stretch}.btn-row .btn{flex:1}.variable-card{grid-template-columns:auto 1fr}.variable-card>.actions{grid-column:2}.list-card{flex-wrap:wrap}.list-card>.actions{width:100%;justify-content:flex-end}.notice{font-size:10px}.checkbox-grid{grid-template-columns:1fr}.screen-title h2{font-size:18px}.network-card{padding:12px}.network-layers{display:flex;grid-template-columns:none;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.network-layers::-webkit-scrollbar{display:none}.network-layers .inline-check{flex:0 0 auto;min-height:38px;border-radius:999px;white-space:nowrap;font-size:11px}.network-explorer{margin:0 -3px;padding:8px}.network-toolbar{align-items:flex-start;flex-wrap:wrap}.network-toolbar-copy{flex:1 1 100%}.network-tools{width:100%;justify-content:space-between}.network-tool{height:40px;min-width:40px}.network-tool.network-zoom-value{flex:1}.network-graph{height:62vh;min-height:470px}.network-focus-list{grid-template-columns:1fr}.network-legend summary{padding:8px 2px}.legend{display:grid;grid-template-columns:1fr;gap:7px}.network-explorer:fullscreen .network-toolbar-copy{display:none}.network-explorer:fullscreen .network-tools{width:auto;justify-content:flex-start}.network-explorer:fullscreen .network-tool.network-zoom-value{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.header,.nav-wrap,.notice,.btn,.actions,.toast,#busyOverlay{display:none!important}body{background:#fff}main{max-width:none;padding:0}.screen{display:block!important;break-after:page}.card{box-shadow:none;break-inside:avoid}}

/* Guided setup --------------------------------------------------- */
body.onboarding-open{overflow:hidden}
.onboarding-dialog{
  width:min(980px,calc(100vw - 32px));max-width:min(980px,calc(100vw - 32px));
  height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);
  margin:auto;border:1px solid #303b50;border-radius:28px;overflow:hidden;
  background:#0d1118;color:var(--ink);box-shadow:0 32px 100px rgba(0,0,0,.58);
}
.onboarding-dialog::backdrop{background:rgba(4,7,12,.92)}
.onboarding-shell{height:100%;display:grid;grid-template-rows:auto 4px minmax(0,1fr) auto;background:radial-gradient(circle at 0 0,rgba(95,142,241,.12),transparent 25rem),#0d1118}
.onboarding-head{display:flex;align-items:center;gap:15px;padding:22px 26px 18px;border-bottom:1px solid rgba(255,255,255,.045)}
.onboarding-mark{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border:1px solid rgba(95,142,241,.38);border-radius:17px;background:linear-gradient(145deg,rgba(95,142,241,.25),rgba(150,120,235,.12));color:#b9caff;font-size:12px;font-weight:900;letter-spacing:.08em;box-shadow:0 12px 30px rgba(32,55,109,.24)}
.onboarding-head-copy{min-width:0}.onboarding-head-copy .eyebrow{margin-bottom:3px}.onboarding-head-copy h2{margin:0;font-size:21px;line-height:1.2;letter-spacing:-.025em}.onboarding-head-copy>p:last-child{margin:3px 0 0;color:var(--muted);font-size:11px}
.onboarding-head #onboardingPostpone{margin-left:auto;white-space:nowrap}
.onboarding-progress{height:4px;background:#182131;overflow:hidden}.onboarding-progress span{display:block;width:33.333%;height:100%;border-radius:0 99px 99px 0;background:linear-gradient(90deg,var(--blue),var(--violet));transition:width .22s ease}
.onboarding-body{min-height:0;overflow-y:auto;padding:clamp(25px,5vw,52px) clamp(24px,7vw,74px)}
.onboarding-step{max-width:820px;margin:0 auto;animation:screen-in .2s ease-out}.onboarding-step h3{margin:0 0 10px;font-size:clamp(27px,4vw,40px);line-height:1.08;letter-spacing:-.045em}.onboarding-lead{max-width:690px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.onboarding-primary-field{max-width:680px;margin-top:30px}.onboarding-primary-field input{min-height:56px;font-size:17px}.onboarding-primary-field textarea{min-height:132px;font-size:16px;line-height:1.55}.onboarding-primary-field small,.onboarding-measure-copy small,.onboarding-custom-item small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.onboarding-primary-field small{margin-top:3px}
.onboarding-error{display:none;max-width:820px;margin:0 auto 16px;padding:10px 13px;border:1px solid rgba(240,131,145,.34);border-radius:13px;background:var(--red-soft);color:#ffb0b8;font-size:12px}.onboarding-error.show{display:block}
.onboarding-measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:23px}
.onboarding-measure{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:11px;min-height:72px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:16px;background:#0a0e14;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.onboarding-measure:hover{transform:translateY(-1px);border-color:#465675}.onboarding-measure.selected{border-color:rgba(95,142,241,.52);background:linear-gradient(145deg,rgba(95,142,241,.13),rgba(13,18,26,.95))}.onboarding-measure input{margin:0}.onboarding-measure .var-dot{margin:0;width:15px;height:15px}.onboarding-measure-copy{min-width:0}.onboarding-measure-copy strong{display:block;font-size:13px;margin-bottom:2px}
.onboarding-custom-card{margin-top:18px;padding:17px;border:1px solid var(--line-soft);border-radius:18px;background:rgba(9,12,18,.52)}.onboarding-custom-card h4{margin:0;font-size:14px}.onboarding-custom-card>div:first-child>p{margin:3px 0 0;color:var(--muted);font-size:11px}.onboarding-custom-form{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(220px,1fr) 70px auto;align-items:end;gap:10px;margin-top:13px}.onboarding-color-field input[type=color]{width:100%;height:46px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#0b0f16;cursor:pointer}.onboarding-custom-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.onboarding-custom-list:empty{display:none}.onboarding-custom-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line-soft);border-radius:13px;background:#0d121a}.onboarding-custom-item>label{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;cursor:pointer}.onboarding-custom-item .var-dot{margin:0}.onboarding-custom-item strong{display:block;font-size:12px}
.onboarding-foot{display:flex;align-items:center;gap:10px;padding:15px 26px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:#0d1118}.onboarding-selection-count{margin-left:auto;color:var(--muted);font-size:11px}.onboarding-foot #onboardingBack+.onboarding-selection-count:empty{margin-left:auto}.onboarding-foot .btn-primary{min-width:132px}
.onboarding-restart-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:15px 17px;border:1px solid rgba(95,142,241,.28);border-radius:17px;background:linear-gradient(145deg,rgba(95,142,241,.1),rgba(13,18,26,.72))}.onboarding-restart-card strong{display:block;font-size:13px}.onboarding-restart-card p{margin:3px 0 0;color:var(--muted);font-size:11px}

@media(max-width:700px){
  .onboarding-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
  .onboarding-head{align-items:flex-start;padding:15px 15px 13px}.onboarding-mark{width:42px;height:42px;flex-basis:42px;border-radius:14px}.onboarding-head-copy h2{font-size:17px}.onboarding-head #onboardingPostpone{padding:5px 3px;font-size:10px}
  .onboarding-body{padding:27px 15px}.onboarding-step h3{font-size:29px}.onboarding-lead{font-size:13px}.onboarding-primary-field{margin-top:23px}
  .onboarding-measure-grid{grid-template-columns:1fr}.onboarding-custom-form{grid-template-columns:1fr 74px}.onboarding-custom-form>.field:first-child{grid-column:1/-1}.onboarding-custom-form>.field:nth-child(2){grid-column:1/-1}.onboarding-custom-form .btn{min-width:0}
  .onboarding-foot{padding:12px 15px max(12px,env(safe-area-inset-bottom))}.onboarding-selection-count{display:none}.onboarding-foot .btn{flex:1;min-width:0}.onboarding-foot #onboardingBack{flex:0 0 auto}
  .onboarding-restart-card{align-items:flex-start;flex-direction:column}.onboarding-restart-card .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.onboarding-progress span{transition:none}}
@media print{.onboarding-dialog{display:none!important}}


/* =========================================================
   PBT-DEMO visual system, derived from the Pills interface
   ========================================================= */
:root{
  color-scheme:dark;
  --page:#090c12;
  --bg:#090c12;
  --surface:#10141c;
  --surface-2:#0d1118;
  --surface-raised:#161c27;
  --surface-hover:#1b2230;
  --line:#283247;
  --line-soft:#202839;
  --ink:#e8edf6;
  --muted:#8f9bb0;
  --faint:#647087;
  --blue:#5f8ef1;
  --blue-2:#769ff4;
  --blue-soft:rgba(95,142,241,.14);
  --teal:#52b8c4;
  --teal-soft:rgba(82,184,196,.14);
  --violet:#9678eb;
  --violet-soft:rgba(150,120,235,.15);
  --orange:#d99b61;
  --orange-soft:rgba(217,155,97,.14);
  --red:#f08391;
  --red-soft:rgba(240,131,145,.14);
  --green:#6bd5ad;
  --green-soft:rgba(107,213,173,.14);
  --amber:#e6bc73;
  --amber-soft:rgba(230,188,115,.14);
  --radius:24px;
  --radius-small:14px;
  --shadow:0 20px 60px rgba(0,0,0,.28);
  --shadow-small:0 10px 28px rgba(0,0,0,.2);
  --focus:0 0 0 3px rgba(95,142,241,.28);
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
*{scrollbar-color:#39455d transparent}
html{background:var(--page)}
body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 10% -10%,rgba(95,142,241,.13),transparent 35rem),
    radial-gradient(circle at 100% 16%,rgba(150,120,235,.1),transparent 32rem),
    var(--page);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.55;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.15;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
.ambient{position:fixed;z-index:-2;border-radius:999px;filter:blur(90px);opacity:.16;pointer-events:none}
.ambient-one{width:320px;height:320px;left:-180px;top:30vh;background:var(--blue)}
.ambient-two{width:300px;height:300px;right:-170px;top:58vh;background:var(--violet)}
button,input,select,textarea{font:inherit;color:inherit}
button{user-select:none}
a{color:#8eb0ff}
::selection{background:rgba(95,142,241,.3)}

.header{
  position:sticky;
  top:0;
  z-index:40;
  padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));
  color:var(--ink);
  background:rgba(9,12,18,.98);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:none;
}
.header,.nav-wrap{isolation:isolate}
.header-inner{max-width:1320px;min-height:56px;justify-content:flex-start;gap:13px}
.settings-button{
  width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--muted);
  font-size:20px;cursor:pointer;box-shadow:var(--shadow-small);
}
.settings-button:hover{color:var(--ink);border-color:#465675;background:var(--surface-raised)}
.brand{min-width:150px}
.brand h1{font-size:18px;line-height:1.05;letter-spacing:-.025em}
.brand p,.eyebrow{margin:0 0 4px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.person-chip{
  margin-left:8px;max-width:320px;min-height:40px;padding:8px 14px;
  border:1px solid var(--line);background:rgba(16,20,28,.88);color:var(--ink);
  font-size:12px;font-weight:760;box-shadow:none;
}
.person-chip:hover{border-color:#465675;background:var(--surface-raised)}
.header-actions{margin-left:auto}
.account-badge{color:var(--muted);opacity:1}
.header-btn{
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  border-radius:13px;min-height:40px;padding:8px 12px;font-size:11px;box-shadow:none;
}
.header-btn:hover{background:var(--surface-raised);border-color:#465675}
.comment-count{background:var(--blue);color:white}
.readonly-banner{background:rgba(150,120,235,.13);color:#c8bbfa;border-color:rgba(150,120,235,.28)}

.nav-wrap{
  top:81px;z-index:35;padding:9px 12px 0;
  background:linear-gradient(to bottom,#090c12,#0a0e14);
  border:0;box-shadow:0 12px 22px rgba(3,5,8,.28);
}
.nav{max-width:1320px;gap:5px;padding:0 4px 9px}
.nav button{
  position:relative;min-height:42px;padding:9px 15px;border:1px solid transparent;border-radius:13px;
  color:var(--muted);font-size:12px;font-weight:760;letter-spacing:.01em;
}
.nav button:hover{color:var(--ink);background:rgba(255,255,255,.035)}
.nav button.active{color:white;border:1px solid rgba(95,142,241,.34);background:linear-gradient(145deg,rgba(95,142,241,.22),rgba(95,142,241,.09));box-shadow:inset 0 1px rgba(255,255,255,.05)}

main{position:relative;z-index:0;max-width:1320px;padding:24px 20px 90px}
.screen{animation:screen-in .22s ease-out}
.screen.active{display:block}
@keyframes screen-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.screen-title{align-items:center;margin:0 0 18px}
.screen-title h2{font-size:clamp(25px,3vw,36px);line-height:1.1;letter-spacing:-.04em;margin:0 0 7px}
.screen-title p{font-size:13px;line-height:1.55;color:var(--muted)}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.section-heading h3{font-size:18px;margin:0;letter-spacing:-.02em}

.card{
  background:linear-gradient(145deg,rgba(22,28,39,.93),rgba(14,18,26,.95));
  border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-small);
  padding:21px;margin-bottom:17px;
}
.card h3{font-size:16px;letter-spacing:-.015em}
.compact-card{padding:14px 16px}
.subcard{background:rgba(9,12,18,.6);border-color:var(--line-soft);border-radius:15px}
.desc{font-size:12px;color:var(--muted)}
.grid-2,.grid-3,.grid-4{gap:14px}

.field{gap:7px}
.field>label,.label{font-size:10px;color:#8f9bb0;letter-spacing:.09em}
input[type=text],input[type=number],input[type=datetime-local],input[type=date],input[type=password],input[type=email],select,textarea{
  min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;
  background:#0b0f16;color:var(--ink);box-shadow:inset 0 1px rgba(255,255,255,.025);
}
textarea{min-height:102px}
input::placeholder,textarea::placeholder{color:#566177}
select{color-scheme:dark}
input:focus,select:focus,textarea:focus{border-color:var(--blue);background:#0d121b}
input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
input[type=range]{accent-color:var(--blue)}
.inline-check{color:var(--muted);font-size:12px}

.btn{
  min-height:44px;padding:9px 15px;border-radius:13px;background:var(--surface-raised);
  border-color:var(--line);color:var(--ink);font-size:12px;font-weight:800;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.btn:hover{transform:translateY(-1px);background:var(--surface-hover);border-color:#465675}
.btn-primary{border-color:rgba(95,142,241,.35);background:linear-gradient(145deg,#6b96f1,#4f78dd);color:white;box-shadow:0 10px 26px rgba(62,101,194,.22)}
.btn-primary:hover{background:linear-gradient(145deg,#7ba5f5,#5d86e5)}
.btn-secondary{color:var(--ink);background:#111722}
.btn-danger{color:#ff9eaa;background:rgba(240,131,145,.08);border-color:rgba(240,131,145,.35)}
.btn-danger:hover{background:rgba(240,131,145,.14);border-color:rgba(240,131,145,.55)}
.btn-quiet{background:transparent;border:0;box-shadow:none;color:#8eb0ff}
.btn-quiet:hover{background:rgba(95,142,241,.09)}
.btn-small{min-height:36px;padding:6px 11px}
.icon-btn{
  width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#101620;color:var(--muted);
}
.icon-btn:hover{color:var(--ink);border-color:#465675;background:var(--surface-raised)}
.contextual-settings{flex:0 0 auto;font-size:18px}

.pill{background:#1b2331;color:#aab5c9}
.pill.blue{background:var(--blue-soft);color:#9fbaff}.pill.green{background:var(--green-soft);color:#8ce2c1}.pill.orange{background:var(--orange-soft);color:#edba88}.pill.violet{background:var(--violet-soft);color:#b9a5f5}.pill.red{background:var(--red-soft);color:#ffa6b1}
.empty{background:rgba(9,12,18,.42);border-color:#303b50;color:var(--muted);border-radius:16px}
.alert{border-radius:14px;padding:12px 14px}
.alert-info{background:var(--blue-soft);color:#b8caff;border-left-color:var(--blue)}
.alert-warn{background:var(--amber-soft);color:#efd497;border-left-color:var(--amber)}
.alert-danger{background:var(--red-soft);color:#ffb0b8;border-left-color:var(--red)}
.alert-success{background:var(--green-soft);color:#a4e7cf;border-left-color:var(--green)}
.formula{background:#080b10;color:#c9d6ef;border:1px solid #202b3d;border-radius:15px;font-family:var(--mono)}

.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}
.kpi{padding:14px;background:#0c1119;border-color:var(--line-soft);border-radius:16px}
.kpi .v{font-size:24px;letter-spacing:-.04em}.kpi .k{font-size:10px}
.list{gap:10px}
.list-card,.variable-card,.eval-item,.check-card{
  background:#0d121a;border-color:var(--line-soft);border-radius:16px;
}
.list-card{padding:14px}
.list-card h4,.variable-card h4,.eval-head h4{font-size:14px}
.list-card p,.eval-prompt{font-size:12px}
.variable-card{padding:14px}
.goal-dot,.var-dot{box-shadow:0 0 0 4px rgba(255,255,255,.035);border:0}
.eval-list{gap:12px}
.eval-item{padding:16px}
.eval-item.answered{border-color:rgba(95,142,241,.5);background:linear-gradient(145deg,rgba(95,142,241,.08),#0d121a)}
.value-badge{color:#9bb8ff;font-size:22px}
.anchors{font-size:10px;color:#707c91}
.missing-btn{border-color:var(--line);background:#111722;color:var(--muted);border-radius:11px}

.table-wrap{background:#0b0f16;border-color:var(--line-soft);border-radius:16px}
.table{font-size:11px}
.table th{background:#111721;color:#95a1b7;border-color:#283247}
.table td{border-color:#1d2534}
.table tr.selected,.target-selected{background:rgba(95,142,241,.12)!important}
.target-row:hover{background:rgba(255,255,255,.025)}
.graph-wrap{background:#0a0e14;border-color:var(--line-soft);border-radius:18px}
.graph-empty{color:var(--muted)}
.graph-wrap svg text,.mini-map svg text,.integrated-map svg text,.habit-chart svg text{fill:#9aa7bd!important}
.graph-wrap svg [fill="#fff"],.graph-wrap svg [fill="white"]{fill:#0b0f16!important}
.checkbox-grid{gap:9px}
.check-card{padding:10px 12px}
.progress{background:#20293a}.progress>i{background:var(--blue)}

/* Dashboard */
.dashboard-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:190px;padding:30px;
  background:
    radial-gradient(circle at 86% 0%,rgba(150,120,235,.22),transparent 19rem),
    radial-gradient(circle at 50% 140%,rgba(95,142,241,.14),transparent 30rem),
    linear-gradient(145deg,#171d29,#0f141d);
  overflow:hidden;
}
.dashboard-hero h2{margin:0 0 12px;font-size:clamp(28px,5vw,50px);line-height:1;letter-spacing:-.055em}
.dashboard-goal{max-width:720px;margin:0;color:#b6c0d1;font-size:15px;line-height:1.6}
.dashboard-register{min-height:52px;padding:12px 19px;white-space:nowrap}
.today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
.today-card{position:relative;min-height:132px;padding:18px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(150deg,#141a25,#0d121a);overflow:hidden}
.today-card::after{content:"";position:absolute;width:100px;height:100px;border-radius:999px;right:-42px;bottom:-56px;background:var(--tone,var(--blue));opacity:.1}
.today-card-icon{font-size:20px;margin-bottom:18px}.today-card-value{font-size:28px;line-height:1;font-weight:850;letter-spacing:-.04em}.today-card-label{margin-top:7px;color:var(--muted);font-size:11px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:17px}
.mini-map{min-height:260px;border:1px solid var(--line-soft);border-radius:18px;background:#0a0e14;display:grid;place-items:center;overflow:hidden}
.activity-timeline{display:flex;flex-direction:column;gap:2px}
.activity-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.05)}
.activity-item:last-child{border:0}.activity-icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:var(--blue-soft)}.activity-copy strong{display:block;font-size:12px}.activity-copy span,.activity-time{font-size:10px;color:var(--muted)}
.pattern-list{display:flex;flex-direction:column;gap:9px}.pattern-card{padding:13px 14px;border:1px solid var(--line-soft);background:#0b1017;border-radius:15px}.pattern-card strong{display:block;font-size:12px}.pattern-card p{margin:4px 0 0;color:var(--muted);font-size:11px}

/* Medication */
.medication-today{display:flex;align-items:baseline;gap:8px;margin:-5px 0 18px;color:var(--muted);font-size:12px}
.today-count{font-size:32px;line-height:1;font-weight:900;color:var(--ink);letter-spacing:-.05em}
.medication-grid{display:flex;flex-direction:column;gap:22px;margin-bottom:22px}
.medication-group-title{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#a9b4c7;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.medication-group-title::after{content:"";height:1px;flex:1;background:var(--line-soft)}
.medication-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.medication-card{position:relative;min-height:172px;padding:17px;border:1px solid var(--line-soft);border-radius:22px;background:linear-gradient(150deg,#151b26,#0d121a);overflow:hidden}
.medication-card::after{content:"";position:absolute;inset:auto -30px -62px auto;width:150px;height:150px;border-radius:999px;background:var(--med-tone,var(--blue));opacity:.1;pointer-events:none}
.medication-card h3{font-size:17px;margin:0 0 4px}.medication-card p{margin:0;color:var(--muted);font-size:10px}.dose-chips{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 14px}.dose-chip{border:1px solid var(--line);border-radius:999px;background:#0b0f16;color:#a7b2c5;min-height:32px;padding:5px 10px;font-size:10px;font-weight:760;cursor:pointer}.dose-chip.active{border-color:var(--med-tone,var(--blue));color:white;background:color-mix(in srgb,var(--med-tone,var(--blue)) 22%,#0b0f16)}
.medication-record{position:relative;z-index:1;width:100%;min-height:43px;border:1px solid color-mix(in srgb,var(--med-tone,var(--blue)) 45%,transparent);border-radius:13px;background:color-mix(in srgb,var(--med-tone,var(--blue)) 18%,#111722);color:#fff;font-weight:850;cursor:pointer}.medication-record:hover{filter:brightness(1.12)}
.medication-history-item{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:11px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.055)}
.medication-history-item:last-child{border-bottom:0}.medication-history-icon{width:38px;height:38px;border-radius:13px;background:var(--blue-soft);display:grid;place-items:center}.medication-history-copy strong{display:block;font-size:12px}.medication-history-copy span{font-size:10px;color:var(--muted)}.medication-history-dose{font-size:11px;font-weight:800}.delete-mini{width:34px;height:34px;border:0;border-radius:11px;background:transparent;color:var(--faint);cursor:pointer}.delete-mini:hover{background:var(--red-soft);color:#ff9ca8}

/* Habit notebook */
.habit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:center}
.habit-toolbar h3{margin:0;font-size:19px;text-transform:capitalize}
.habit-today-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 13px}.habit-summary-chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#111722;color:var(--muted);font-size:10px}.habit-summary-chip strong{color:var(--ink)}
.habit-paper{
  position:relative;z-index:0;isolation:isolate;overflow:hidden;border:1px solid #283247;border-radius:25px;background:
    linear-gradient(rgba(95,142,241,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(95,142,241,.045) 1px,transparent 1px),
    #0c1118;
  background-size:28px 28px;box-shadow:var(--shadow-small);
}
.habit-scroll{position:relative;z-index:0;overflow:auto;padding:18px 18px 8px;overscroll-behavior:contain}
.habit-tracker{min-width:880px}
.habit-grid{display:grid;align-items:center;gap:0;border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;background:rgba(9,12,18,.62)}
.habit-cell{position:relative;min-height:46px;padding:7px 8px;border-right:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px}
.habit-cell.header{position:relative;padding:7px 6px;background:#131a25;color:#aab5c8;font-family:var(--sans);font-size:9px;letter-spacing:.05em;text-transform:uppercase;box-shadow:none}
.habit-cell.habit-name{position:sticky;left:0;z-index:3;justify-content:flex-start;padding-left:13px;background:#111722;color:var(--ink);font-family:var(--sans);font-weight:760;font-size:11px;white-space:nowrap}
.habit-cell.day-label{flex-direction:column;gap:1px}.habit-day-number{font-size:12px;font-weight:850;color:var(--ink)}.habit-day-name{font-size:8px;color:var(--faint)}
.habit-cell.week-start::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:3px;background:rgba(95,142,241,.55)}
.habit-state{position:relative;width:31px;height:31px;border:1px solid transparent;border-radius:10px;background:transparent;color:#6d788c;font-family:var(--mono);font-size:17px;font-weight:850;cursor:pointer}.habit-state:hover{background:#1a2230;color:white}.habit-state.partial{color:#e5bb75;background:rgba(229,187,117,.09)}.habit-state.complete{color:#84dfbc;background:rgba(107,213,173,.11)}.habit-state:disabled{opacity:.23;cursor:not-allowed}.habit-state.syncing::after{content:"";position:absolute;right:2px;bottom:2px;width:5px;height:5px;border-radius:50%;background:#8eaffc;box-shadow:0 0 0 2px rgba(95,142,241,.12);animation:habit-sync .8s ease-in-out infinite alternate}@keyframes habit-sync{to{opacity:.35;transform:scale(.72)}}
.habit-cell.today{background:rgba(95,142,241,.08)}.habit-cell.future{opacity:.42}
.habit-chart-wrap{padding:18px;border-top:1px solid rgba(255,255,255,.065);background:rgba(9,12,18,.42)}
.habit-chart{min-height:210px;overflow:auto}.habit-chart svg{display:block;width:100%;min-width:760px;height:auto}
.habit-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid rgba(255,255,255,.055);color:var(--muted);font-size:10px}.habit-legend b{color:var(--ink);font-family:var(--mono);font-size:13px}

/* Tabs and analysis */
.subtabs{display:flex;gap:6px;overflow:auto;margin:0 0 17px;padding:5px;border:1px solid var(--line-soft);border-radius:16px;background:#0d121a;width:max-content;max-width:100%}
.subtabs button{border:0;border-radius:11px;background:transparent;color:var(--muted);padding:9px 14px;min-height:38px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.subtabs button:hover{color:var(--ink)}.subtabs button.active{background:var(--surface-raised);color:white;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.map-panel,.analysis-panel{display:none}.map-panel.active,.analysis-panel.active{display:block;animation:screen-in .2s ease-out}
.network-card{padding:16px}.network-layers .inline-check{background:#0d121a;border-color:var(--line-soft)}
.network-explorer{background:#090d13;border-color:var(--line-soft);border-radius:18px}
.network-toolbar-copy strong{color:var(--ink)}
.network-tool{border-color:var(--line);background:#111722;color:var(--muted);border-radius:11px}.network-tool:hover{background:#18202d}.network-tool.network-zoom-value{color:var(--ink)}
.network-graph{background:#080c11;border-color:var(--line-soft)}
.network-focus{border-color:#2e3d59;background:#0d1420}.network-connection{background:#0b1017;border-color:var(--line-soft)}
.network-legend summary{color:#8eaffc}
.integrated-map-card{min-height:620px}.integrated-map{min-height:470px;border:1px solid var(--line-soft);border-radius:18px;background:#080c11;overflow:auto}.integrated-map svg{min-width:850px;width:100%;height:auto;display:block}
.connection-detail{margin-top:12px}.reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;scroll-margin-top:88px}.reading-result-status{grid-column:1/-1;margin:0}.reading-card{padding:15px;border:1px solid var(--line-soft);border-radius:17px;background:#0b1017}.reading-card h4{font-size:12px;margin:0 0 7px}.reading-card p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.reading-card .evidence{margin-top:9px;font-size:9px;color:#77849a}
.simulation-help{font-size:11px;color:var(--muted);margin:8px 0 0}.simulation-help strong{color:var(--ink)}
.analysis-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.analysis-summary-grid .card{margin:0}.relation-list{display:flex;flex-direction:column;gap:10px}.relation-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line-soft);border-radius:16px;background:#0b1017}.relation-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft)}.relation-card strong{display:block;font-size:12px}.relation-card p{margin:3px 0 0;color:var(--muted);font-size:10px}.relation-strength{font-size:10px;font-weight:850;color:#9fbaff;text-align:right}

/* Plan */
.plan-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.plan-focus{font-size:28px;font-weight:900;letter-spacing:-.04em}.plan-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.plan-date{min-width:110px;text-align:right}.plan-date strong{display:block;font-size:18px}.plan-date span{font-size:9px;color:var(--muted)}

/* Editors and assistant drafts */
.catalog-group,.catalog-item,.habit-editor-row{border:1px solid var(--line-soft);border-radius:18px;background:#0c1118;padding:15px;margin-bottom:11px}
.catalog-group-head{display:flex;gap:10px;align-items:center;margin-bottom:11px}.catalog-group-head input{flex:1}.catalog-items{display:flex;flex-direction:column;gap:9px}.catalog-item{margin:0;background:#0a0f16}.catalog-item-grid{display:grid;grid-template-columns:1.2fr 1.4fr .8fr auto;gap:9px;align-items:end}.catalog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}
.habit-editor-row{display:grid;grid-template-columns:52px 1fr auto auto;align-items:end;gap:10px}.habit-color{height:46px;padding:4px!important}.drag-handle{color:var(--faint);font-size:18px;cursor:grab}
.draft-preview{margin-top:14px;min-height:92px;background:#0a0f16}.draft-preview:not(.empty){border:1px solid rgba(95,142,241,.3);border-radius:16px;padding:14px;color:#c8d4e8;font-size:11px;line-height:1.6}.variable-advanced,.hyp-advanced{transition:opacity .15s}.advanced-hidden{display:none!important}

/* Settings */
dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 28px 100px rgba(0,0,0,.58)}
dialog::backdrop{background:rgba(3,5,8,.84)}
.suite-dialog{border-radius:22px;max-width:min(780px,calc(100vw - 22px))}
.dialog-head,.dialog-foot{background:#111721;border-color:var(--line-soft)}
.dialog-head{padding:16px 18px}.dialog-body{background:#0d121a}.dialog-foot{padding:13px 17px}
.settings-dialog{width:min(1180px,calc(100vw - 26px));max-width:none;height:min(820px,calc(100vh - 28px));max-height:none;border-radius:26px;overflow:hidden;padding:0}
.settings-layout{height:100%;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.settings-sidebar{padding:24px 14px;background:#0a0e14;border-right:1px solid var(--line-soft);overflow:auto}
.settings-brand{padding:0 10px 20px}.settings-brand h2{margin:0;font-size:22px;letter-spacing:-.035em}
.settings-sidebar nav{display:flex;flex-direction:column;gap:5px}.settings-sidebar nav button{min-height:42px;padding:9px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);text-align:left;font-size:11px;font-weight:800;cursor:pointer}.settings-sidebar nav button:hover{background:rgba(255,255,255,.035);color:var(--ink)}.settings-sidebar nav button.active{background:var(--blue-soft);border-color:rgba(95,142,241,.22);color:#b4c8ff}
.settings-main{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#0d121a}.settings-mobile-header{display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:11px 18px;border-bottom:1px solid var(--line-soft);background:#111721}.settings-mobile-header h2{margin:0;font-size:16px}.settings-content{min-height:0;flex:1 1 auto;padding:22px;overflow-y:auto;overscroll-behavior:contain}.settings-panel{display:none}.settings-panel.active{display:block}.settings-panel-heading{margin:0 0 18px}.settings-panel-heading h3{margin:0 0 5px;font-size:26px;letter-spacing:-.04em}.settings-panel-heading p:last-child{margin:0;color:var(--muted);font-size:12px}

/* Comments */
.drawer-backdrop{background:rgba(2,4,7,.62)}
.comment-drawer{background:#0d121a;box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.drawer-head,.drawer-controls,.comment-compose{background:#111721;border-color:var(--line-soft)}
.comment-card{background:#0b1017;border-color:var(--line-soft);border-radius:15px}.comment-screen{background:var(--blue-soft);color:#a8c0ff}.comment-actions button{color:#8eaffc}

.storage-status{color:var(--muted)}.status-dot{box-shadow:0 0 0 4px rgba(107,213,173,.1)}
.toast{background:#1a2230;border:1px solid #33405a;border-radius:14px;font-size:12px;box-shadow:0 18px 50px rgba(0,0,0,.4)}.toast.error{background:#4a1e27;border-color:#74313d}
#busyOverlay{background:rgba(5,7,11,.74)}.spinner{border-color:#2c3547;border-top-color:var(--blue)}.busy-text{color:#bdc7d8}

@media(max-width:1020px){
  .today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
  .analysis-summary-grid{grid-template-columns:1fr}
  .catalog-item-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{font-size:14px}
  .header{padding:8px 10px}.header-inner{min-height:49px;gap:8px}.settings-button{width:40px;height:40px;flex-basis:40px}.brand{min-width:0}.brand h1{font-size:15px}.person-chip{display:none}.header-actions{margin-left:auto}.header-btn{min-height:38px;padding:6px 9px}.comment-count{margin-left:2px}
  .nav-wrap{top:66px;padding:6px 7px 0}.nav{padding:0 0 6px}.nav button{padding:8px 12px;min-height:39px}
  main{padding:16px 10px 62px}.screen-title{display:flex;align-items:flex-start}.screen-title h2{font-size:28px}.screen-title .btn{margin-top:0}.card{padding:15px;border-radius:19px}
  .dashboard-hero{display:block;min-height:0;padding:22px}.dashboard-register{width:100%;margin-top:20px}.today-grid{grid-template-columns:1fr 1fr;gap:9px}.today-card{min-height:116px;padding:14px}.today-card-value{font-size:24px}
  .medication-cards{grid-template-columns:1fr}.medication-card{min-height:158px}.medication-history-item{grid-template-columns:38px 1fr auto}.medication-history-dose{display:none}
  .habit-toolbar{align-items:stretch}.habit-toolbar>div{order:-1;flex:1}.habit-toolbar .btn{padding:6px 9px;font-size:0}.habit-toolbar .btn::first-letter{font-size:18px}.habit-scroll{padding:12px}.habit-chart-wrap{padding:14px}
  .integrated-map-card{padding:11px}.integrated-map{min-height:430px}
  .settings-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}.settings-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-sidebar{padding:9px;border-right:0;border-bottom:1px solid var(--line-soft)}.settings-brand{display:none}.settings-sidebar nav{flex-direction:row;overflow:auto}.settings-sidebar nav button{flex:0 0 auto}.settings-content{padding:14px 14px max(22px,env(safe-area-inset-bottom))}.settings-panel-heading h3{font-size:23px}
  .catalog-item-grid{grid-template-columns:1fr}.habit-editor-row{grid-template-columns:44px 1fr auto}.habit-editor-row .drag-handle{display:none}
  .subtabs{width:100%}.subtabs button{flex:1}
  .network-graph{min-height:460px}.network-tool{background:#111722}.network-layers .inline-check{background:#0d121a}
  .plan-hero{grid-template-columns:1fr}.plan-date{text-align:left}
}
@media(max-width:430px){
  .brand .eyebrow{display:none}.today-grid{grid-template-columns:1fr}.today-card{min-height:96px}.today-card-icon{margin-bottom:10px}
  .header-btn{font-size:0}.header-btn::before{content:"💬";font-size:15px}.comment-count{font-size:9px}
  .screen-title h2{font-size:25px}.dashboard-hero h2{font-size:34px}.subtabs button{padding:8px 10px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.screen{animation:none}}
@media print{
  .ambient,.settings-button,.contextual-settings{display:none!important}
  body{color:#111;background:white}.card{background:white;color:#111;border-color:#ccc}.screen{animation:none}
}

/* Friendly planning and intervention layer */
.habit-cell.day-label{min-height:58px;padding-top:12px}
.habit-week-number{position:absolute;left:4px;top:3px;padding:1px 4px;border-radius:999px;background:rgba(95,142,241,.16);color:#9fbaff;font-size:7px;font-weight:850;letter-spacing:.02em;line-height:1.4}
.target-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}
.target-candidate{display:flex;flex-direction:column;gap:12px;min-height:245px;padding:17px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(150deg,#131a25,#0c1118);transition:border-color .15s,transform .15s,box-shadow .15s}
.target-candidate:hover{transform:translateY(-1px);border-color:#34425c}
.target-candidate.selected{border-color:rgba(107,213,173,.55);box-shadow:0 0 0 1px rgba(107,213,173,.12),0 14px 34px rgba(0,0,0,.18)}
.target-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.target-candidate-name{display:flex;align-items:center;gap:9px;min-width:0}.target-candidate-name strong{font-size:15px}.target-latest{color:#b9c5d8;font-size:12px;font-weight:750}.target-reasons{flex:1;margin:0;padding:0 0 0 18px;color:var(--muted);font-size:11px;line-height:1.55}.target-reasons li+li{margin-top:5px}.target-candidate .btn{align-self:flex-start}
.intervention-advanced{display:none!important}.intervention-frequency-grid,.intervention-notes-grid{grid-template-columns:1fr!important}
.intervention-card{display:flex;flex-direction:column;gap:12px;padding:17px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(150deg,#121924,#0b1017)}
.intervention-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.intervention-card-head h4{margin:2px 0 0;font-size:16px}.intervention-route{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#cbd6e8;font-size:12px;font-weight:800}.intervention-route>span:not(.intervention-arrow){padding:7px 10px;border:1px solid var(--line-soft);border-radius:11px;background:#0a0f16}.intervention-arrow{color:#8eaffc}.intervention-block{padding:12px 13px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:#0a0f16}.intervention-block strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8f9bb0}.intervention-block p{margin:5px 0 0;white-space:pre-wrap;color:#d8e0ed;font-size:11px;line-height:1.55}.intervention-meta{display:flex;gap:7px;flex-wrap:wrap}.intervention-card>.actions{display:flex;justify-content:flex-end;gap:7px;margin-top:2px}

@media(max-width:760px){
  .target-candidate-grid{grid-template-columns:1fr}.target-candidate{min-height:0}.habit-cell.day-label{min-height:54px}
}
.variable-simple-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 90px!important;align-items:end}
.hyp-simple-grid{grid-template-columns:1fr!important}
[hidden]{display:none!important}
@media(max-width:760px){.variable-simple-grid{grid-template-columns:1fr 90px!important}.variable-simple-grid .field:nth-child(2){grid-column:1/-1;grid-row:2}}

/* Moment, phase and intervention analysis */
.integrated-analysis-block{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.integrated-analysis-block>.card{margin:0}.analysis-engine-heading{background:linear-gradient(145deg,rgba(95,142,241,.12),rgba(11,16,23,.94))}
.analysis-section-label{margin:7px 2px -5px}.analysis-section-label h3{margin:0 0 4px;font-size:17px}.analysis-section-label p{margin:0}
.analysis-phase-grid,.analysis-intervention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.phase-analysis-card,.intervention-analysis-card{padding:16px;border:1px solid var(--line-soft);border-radius:19px;background:linear-gradient(150deg,#121924,#0b1017)}
.phase-analysis-card h4,.intervention-analysis-card h4{margin:2px 0 0;font-size:15px}
.phase-variable-list{display:flex;flex-direction:column;gap:7px;margin:12px 0}.phase-variable-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px}.phase-variable-row span{color:var(--muted)}
.comparison-route{display:flex;align-items:center;gap:8px;margin:12px 0}.comparison-route>div{flex:1;min-width:0;padding:10px 7px;border:1px solid var(--line-soft);border-radius:13px;background:#090e15;text-align:center}.comparison-route strong{display:block;font-size:14px}.comparison-route span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.comparison-arrow{color:#8eaffc;font-size:15px}
.analysis-moment-table{min-width:980px}.analysis-moment-table td{max-width:270px;white-space:normal;line-height:1.45}.analysis-moment-table th:first-child,.analysis-moment-table td:first-child{white-space:nowrap}
#importSuiteFile{width:100%;margin-top:8px;padding:12px;border:1px dashed var(--line);border-radius:14px;background:#0a0f16;color:var(--muted)}
@media(max-width:760px){.analysis-phase-grid,.analysis-intervention-grid{grid-template-columns:1fr}.comparison-route{gap:5px}.comparison-route>div{padding:9px 4px}}
