:root{--navy:#0B1F3A;--navy-2:#163B65;--blue:#2563EB;--blue-soft:#E7EDF7;--paper:#F5F7FA;--card:#FFFFFF;--ink:#111A29;--body:#243448;--muted:#5D6A7E;--rule:#DDE3EC;--rule-soft:#EAEEF4;--good:#0E7355;--good-soft:#E2F0EA;--warn:#8C6210;--warn-soft:#F5EEDE;--stop:#9E3B2C;--tap:46px}@media (prefers-color-scheme: dark){:root{--paper:#0C121C;--card:#141C29;--ink:#EDF1F7;--body:#C4CEDC;--muted:#8695A9;--rule:#26313F;--rule-soft:#1C2532;--blue:#5B8FE0;--blue-soft:#182739;--good:#4BBF97;--good-soft:#12261F;--warn:#D6A44A;--warn-soft:#28210F;--stop:#E08272}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--body);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{color:var(--ink);margin:0;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:19px}h3{font-size:15px}.boot{display:grid;place-items:center;height:100%;color:var(--muted)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.signin{display:grid;place-items:center;min-height:100%;padding:24px}.signin .card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;gap:12px}.sub{color:var(--muted);font-size:14px;margin:0}.signin form{display:flex;flex-direction:column;gap:4px}label{font-size:12px;font-weight:600;color:var(--muted);margin-top:8px}input,select{width:100%;min-height:var(--tap);padding:10px 12px;font-size:16px;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink)}input:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}button{font:inherit;cursor:pointer}button.primary{min-height:var(--tap);margin-top:14px;width:100%;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:600;font-size:15px}button.primary:disabled{opacity:.5;cursor:not-allowed}button.google{min-height:var(--tap);width:100%;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink);font-weight:600;font-size:15px}button.link{background:none;border:0;color:var(--blue);font-size:13px;padding:6px 0}.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--rule)}.msg{font-size:13px;color:var(--stop);margin:6px 0 0}.foot{font-size:12px;color:var(--muted);margin-top:6px}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top))}.topbar strong{display:block;font-size:14px}.topbar .who{font-size:12px;opacity:.72}.topbar .who em{font-style:normal;text-transform:capitalize}.topbar .link{color:#cfe0f7}main{flex:1;padding:16px 16px 96px;max-width:760px;width:100%;margin:0 auto}.screenhead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.date{font-size:13px;color:var(--muted)}.sub2{margin:22px 0 10px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tabs button{flex:1;min-height:var(--tap);border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;padding:8px 2px}.tabs button.on{color:var(--blue);font-weight:600}.tabs .ic{font-size:15px;line-height:1}.offline{background:var(--warn-soft);color:var(--warn);font-size:13px;padding:10px 12px;border-radius:8px;margin:0 0 12px}.tallies{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:380px){.tallies{grid-template-columns:1fr}}.tally{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:12px}.tallyhead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.tally .lab{font-size:12px;color:var(--muted);font-weight:600}.tally .val{font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.tallybtns{display:flex;gap:8px}.tallybtns button{flex:0 0 auto;min-width:var(--tap);min-height:var(--tap);border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);font-size:17px;font-weight:600}.tallybtns .plus{flex:1;background:var(--blue);color:#fff;border-color:var(--blue)}.tallybtns button:active{transform:translateY(1px)}.workout{width:100%;min-height:var(--tap);margin-top:12px;border:1px solid var(--rule);border-radius:10px;background:var(--card);color:var(--body);font-size:14px}.workout.on{background:var(--good-soft);color:var(--good);border-color:var(--good)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tile{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.tlab{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em}.tval{font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.tnote{font-size:11px;color:var(--muted)}.bar{height:7px;background:var(--rule-soft);border-radius:99px;margin-top:12px;overflow:hidden}.bar .fill{height:100%;background:var(--blue);border-radius:99px}.funnel{display:flex;gap:8px}.fstep{flex:1;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:12px 8px;text-align:center}.fval{display:block;font-size:20px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.flab{font-size:11px;color:var(--muted)}.rates{font-size:13px;color:var(--muted);margin-top:10px}.form{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:2px}.form h2{margin-bottom:8px}.field{display:flex;flex-direction:column}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:420px){.row2{grid-template-columns:1fr;gap:0}}.hint{font-size:12px;color:var(--muted);margin:4px 0 0}.derived{background:var(--blue-soft);color:var(--navy-2);font-size:13px;padding:9px 12px;border-radius:8px;margin:12px 0 0}@media (prefers-color-scheme: dark){.derived{color:var(--ink)}}.check{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:14px;color:var(--body);font-weight:400}.check input{width:auto;min-height:auto}textarea{width:100%;padding:10px 12px;font-size:15px;font-family:ui-monospace,monospace;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink);resize:vertical;box-sizing:border-box}textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.conflict{background:var(--warn-soft);border:1px solid var(--warn);border-radius:9px;padding:12px 14px;margin-top:10px;display:flex;flex-direction:column;gap:7px}.cwhat{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}.cfield{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;align-items:baseline}.cf{flex:0 0 100%;font-size:11px;color:var(--muted);font-weight:600}.cbtns{display:flex;gap:8px;margin-top:4px}.cbtns button{flex:1;min-height:38px;border:1px solid var(--rule);border-radius:7px;background:var(--card);color:var(--body);font-size:12.5px;font-weight:600}.cbtns button.on{background:var(--blue);color:#fff;border-color:var(--blue)}button.ghost{width:100%;min-height:42px;margin-top:8px;border:0;background:none;color:var(--muted);font-size:13px}.topacts{display:flex;gap:14px;align-items:center;flex:0 0 auto}.brandbox{display:flex;align-items:center;gap:10px;min-width:0}.brandlogo{width:34px;height:34px;border-radius:7px;object-fit:contain;background:#fff;padding:2px;flex:0 0 34px}.logorow{display:flex;gap:14px;align-items:flex-start;margin-top:4px}.logopreview{width:72px;height:72px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--rule);padding:4px;flex:0 0 72px}.logopreview.empty{display:grid;place-items:center;background:var(--rule-soft);color:var(--muted);font-size:11px}input[type=color]{width:100%;height:var(--tap);padding:3px;border:1px solid var(--rule);border-radius:8px;background:var(--card)}input[type=file]{font-size:13px;color:var(--body)}.subtabs{display:flex;gap:6px;overflow-x:auto;margin:10px 0 14px;padding-bottom:2px;-webkit-overflow-scrolling:touch}.subtabs button{flex:0 0 auto;min-height:38px;padding:0 14px;border-radius:19px;border:1px solid var(--rule);background:var(--card);color:var(--body);font-size:13px;font-weight:600;cursor:pointer}.subtabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}.caprow{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule-soft)}.caprow.ceilinged{opacity:.75}.capwhat{min-width:0;display:flex;flex-direction:column;gap:2px}.capwhat b{font-size:14px;color:var(--ink)}.capwhat i{font-size:12.5px;font-style:normal;color:var(--muted)}.capwhat .ceil{font-size:12px;color:var(--warn);background:var(--warn-soft);border-radius:7px;padding:6px 8px;margin-top:4px}.capwhat .actual{font-size:12px;color:var(--good);margin-top:2px}.capbtns{display:flex;gap:4px;flex:0 0 auto}.capbtns button{min-height:34px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid var(--rule);background:var(--card);color:var(--body);cursor:pointer}.capbtns button.on{background:var(--blue);border-color:var(--blue);color:#fff}.capbtns button:disabled{opacity:.4;cursor:not-allowed}.previewphone{border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:var(--card);margin:8px 0}.pvhead{background:var(--navy);color:#fff;padding:10px 12px;font-size:13px;font-weight:600}.pvtabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px}.pvtabs span{font-size:12px;font-weight:600;padding:6px 10px;border-radius:14px;background:var(--blue-soft);color:var(--navy-2)}.pvnote{margin:0;padding:0 12px 12px;font-size:12.5px;color:var(--stop)}.card.person.gone{opacity:.6}.cardrow.small{font-size:12.5px;color:var(--muted)}.listrow{padding:10px 0;border-bottom:1px solid var(--rule-soft)}.listrow .retired{text-decoration:line-through;color:var(--muted)}button.small{min-height:34px;padding:0 12px;font-size:12.5px}button.danger{background:var(--card);border:1px solid var(--stop);color:var(--stop);min-height:var(--tap);border-radius:9px;padding:0 14px;font-weight:600;cursor:pointer;margin-top:8px}button.danger:hover:enabled{background:var(--stop);color:#fff}.editbox{border-top:1px solid var(--rule-soft);margin-top:8px;padding-top:8px}.editbox .row2{align-items:end}.card{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:13px 15px;margin-bottom:10px}.card h3{margin-top:0}.cardrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0;min-width:0}.cardrow>span:first-child{min-width:0;overflow-wrap:anywhere}.cardrow.small{font-size:12.5px;color:var(--muted);align-items:flex-start}.cardrow.small .bad{color:var(--stop)}.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;flex:0 0 auto}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:#f7e4e0;color:var(--stop)}@media (prefers-color-scheme: dark){.pill.bad{background:#2b1512}}.cbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cbtns button{min-height:40px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--rule);color:var(--body)}.cbtns button:hover:enabled{border-color:var(--blue);color:var(--blue)}.cbtns button.on{background:var(--blue);border-color:var(--blue);color:#fff}.cbtns button:disabled{opacity:.45;cursor:not-allowed}button.ghost{min-height:var(--tap);padding:0 15px;border-radius:9px;font-size:13.5px;font-weight:600;background:var(--card);border:1px solid var(--rule);color:var(--body);margin-top:8px}button.ghost:hover:enabled{border-color:var(--blue);color:var(--blue)}button.ghost:disabled{opacity:.45;cursor:not-allowed}button.linkish{background:none;border:0;color:var(--blue);font-size:12px;padding:0 2px;text-decoration:underline;min-height:auto}.conflict{border:1px solid var(--rule);border-radius:10px;padding:11px 13px;margin:8px 0}.cwhat{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px}.cfield{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;padding:2px 0}.cf{color:var(--muted);min-width:120px}.cv{color:var(--body)}.signinpanel{border-top:1px solid var(--rule-soft);margin-top:10px;padding-top:10px}.linkbox{margin-top:10px}.linkbox textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;border:1px solid var(--rule);border-radius:8px;padding:8px;background:var(--paper);color:var(--body);resize:vertical}.msg.ok{color:var(--good)}.msg.bad{color:var(--stop)}.firstrun{background:var(--blue-soft);color:var(--navy-2);border-radius:10px;padding:13px 15px;font-size:13.5px;line-height:1.5;margin-bottom:14px}.firstrun b{display:block;margin-bottom:3px}.daynav{display:flex;align-items:center;gap:8px}.daynav button{min-width:38px;min-height:38px;border-radius:9px;border:1px solid var(--rule);background:var(--card);color:var(--body);font-size:15px}.daynav button:disabled{opacity:.35}.backdate{background:var(--warn-soft);color:var(--warn);border-radius:9px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}.saved{background:var(--good-soft);border:1px solid var(--good);border-radius:12px;padding:16px;text-align:center}.saved .big{font-size:19px;font-weight:700;color:var(--good);display:block}.saved .what{font-size:13.5px;color:var(--body);margin:6px 0 14px;display:block}.searchrow{display:flex;gap:8px;margin-bottom:10px}.searchrow input{flex:1}.arrange{border:1px solid var(--rule);border-radius:10px;padding:10px 12px;margin-top:10px}.arrangerow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule-soft);font-size:13.5px}.arrangerow:last-child{border-bottom:0}.arrangerow .grip{display:flex;gap:5px}.arrangerow .grip button{min-width:34px;min-height:34px;border-radius:7px;border:1px solid var(--rule);background:var(--card);color:var(--body)}.arrangerow.off{opacity:.5}.menuwrap{position:relative}.menu{position:absolute;right:0;top:34px;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:6px;min-width:190px;z-index:30;box-shadow:0 8px 24px #0000002e}.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:7px;font-size:14px;color:var(--body);min-height:var(--tap)}.menu button:hover{background:var(--blue-soft);color:var(--navy-2)}.menu .sep{height:1px;background:var(--rule-soft);margin:5px 0}.whenagain{border:1px dashed var(--rule);border-radius:10px;padding:12px 13px;margin-top:10px;display:flex;flex-direction:column;gap:6px}.whenagain .cf{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:4px}.whenagain .cf:first-child{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{min-height:38px;padding:0 13px;margin:0;border-radius:99px;font-size:13px;font-weight:600;border:1px solid var(--rule);background:var(--card);color:var(--body);white-space:nowrap}.chips button:hover:enabled{border-color:var(--blue);color:var(--blue)}.chips button:active{transform:scale(.97)}.whenagain .row2{align-items:end;gap:8px}.whenagain .check{margin-top:8px}.brandcrest{display:flex;align-items:center;flex:0 0 auto;line-height:0}.signincrest{display:block;margin:0 auto 10px;line-height:0}.markpanel{border:1px solid var(--rule);border-radius:11px;padding:15px 16px;margin-top:18px;background:var(--paper)}.pvstrip{display:flex;gap:9px;flex-wrap:wrap}.pvopt{flex:1 1 130px;min-width:120px;margin:0;padding:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--card);cursor:pointer;display:flex;flex-direction:column;min-height:0}.pvopt.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}.pvopt:hover:enabled{border-color:var(--blue)}.pvground{display:flex;align-items:center;gap:8px;padding:12px 11px;min-height:62px;overflow:hidden}.pvname{font-size:11px;font-weight:700;color:#fff;opacity:.85;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pvlabel{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:7px 10px;border-top:1px solid var(--rule-soft);text-align:left}.pvopt.on .pvlabel{color:var(--blue)}.parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.part{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:0;border:1px solid var(--rule);border-radius:9px;background:var(--card);font-weight:400}.part input[type=color]{width:38px;height:38px;min-height:38px;padding:2px;flex:0 0 38px;margin:0;border-radius:7px;cursor:pointer}.part span{display:flex;flex-direction:column;min-width:0;gap:1px}.part b{font-size:13px;color:var(--ink)}.part em{font-style:normal;font-size:11px;color:var(--muted);line-height:1.3}.part code{font-size:10.5px;color:var(--muted);font-family:ui-monospace,monospace}.steps{margin:8px 0 10px;padding-left:22px;display:flex;flex-direction:column;gap:7px}.steps li{font-size:13.5px;color:var(--body);line-height:1.45}.steps li b{color:var(--ink)}:root{--viz-1:#2A78D6;--viz-2:#EB6834;--viz-3:#1BAF7A}@media (prefers-color-scheme: dark){:root{--viz-1:#3987E5;--viz-2:#D95926;--viz-3:#199E70}}.report .chips button.on{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.legend{display:flex;flex-wrap:wrap;gap:14px;margin:2px 0 10px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:11px;height:11px;border-radius:3px;flex:0 0 11px}.barchart{display:flex;align-items:flex-end;gap:6px;height:170px;margin-bottom:4px;overflow-x:auto;padding-bottom:2px}.bargroup{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;flex:1 1 0;min-width:30px;height:100%}.bstack{display:flex;align-items:flex-end;gap:2px;height:100%}.bstack i{flex:1;border-radius:3px 3px 0 0;min-height:2px;display:block}.blab{font-size:10px;color:var(--muted);text-align:center;white-space:nowrap}.funnelrows{display:flex;flex-direction:column;gap:7px;margin-bottom:6px}.frow{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(60px,2fr) auto 42px;align-items:center;gap:10px;font-size:13px}.fname{color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftrack{background:var(--rule-soft);border-radius:99px;height:14px;overflow:hidden}.ftrack i{display:block;height:100%;background:var(--viz-1);border-radius:99px}.fnum{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}.frate{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);text-align:right}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.rpt{width:100%;border-collapse:collapse;font-size:13px;min-width:460px}table.rpt th{text-align:left;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:7px 9px;border-bottom:1px solid var(--rule)}table.rpt td{padding:9px;border-bottom:1px solid var(--rule-soft);color:var(--body)}table.rpt .n{text-align:right;font-variant-numeric:tabular-nums}table.rpt tbody tr:last-child td{border-bottom:none}.printhead{display:none}@media print{@page{margin:14mm}body{background:#fff!important}.topbar,.thumbs,.noprint,.menu{display:none!important}main{padding:0!important;max-width:none!important}.report{border:none!important;padding:0!important;box-shadow:none!important}.printhead{display:block;margin-bottom:16px;border-bottom:2px solid #000;padding-bottom:8px}.printhead h1{font-size:19px;margin:0 0 3px}.printhead p{font-size:11px;color:#555;margin:0}.tile,.card,.funnelrows,.barchart,table.rpt{break-inside:avoid}.sub2{break-after:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
