:root{--ground:#f5f7f6;--surface:#ffffff;--surface-2:#edf2f1;--ink:#132d3a;--ink-2:#334a55;--muted:#50636b;--line:#d9e2e3;--line-2:#bfcdcf;--accent:#007f78;--accent-hover:#006b65;--accent-ink:#ffffff;--accent-soft:#e2f2ee;--accent-soft-line:#a8d8cd;--focus:#007f78;--logo-lane-top:#007f78;--logo-lane-bottom:#132d3a;--logo-word:#132d3a;--callout-bg:#132d3a;--callout-ink:#ffffff;--callout-muted:#c3d3d2;--prefer:#2f7d5a;--prefer-bg:#e6f2eb;--ok:#6b7482;--ok-bg:#f0f2f5;--avoid:#a9741c;--avoid-bg:#faf1de;--strong:#a34b1e;--strong-bg:#fbeae1;--pto:#4a5fa8;--pto-bg:#e9ecf8;--unavail:#8c3a3a;--unavail-bg:#f8e8e8;--danger:#a3342a;--danger-bg:#fbe9e7;--warn:#8a6410;--warn-bg:#fcf3dd;--good:#2f7d5a;--good-bg:#e6f2eb;--series-1:#2a78d6;--series-2:#eb6834;--shadow:0 1px 2px rgba(19,45,58,0.06),0 4px 12px rgba(19,45,58,0.05);--shadow-raised:0 2px 8px rgba(19,45,58,0.14),0 16px 48px rgba(19,45,58,0.18);--radius:8px;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0d222c;--surface:#132d3a;--surface-2:#1a3845;--ink:#eaf2f0;--ink-2:#c3d3d2;--muted:#93a9ad;--line:#244552;--line-2:#335765;--accent:#a8d8cd;--accent-hover:#c2e6de;--accent-ink:#132d3a;--accent-soft:#173f44;--accent-soft-line:#2f6b68;--focus:#a8d8cd;--logo-lane-top:#007f78;--logo-lane-bottom:#a8d8cd;--logo-word:#ffffff;--callout-bg:#173f44;--callout-ink:#eaf2f0;--callout-muted:#b5c9c8;--prefer:#6bc59a;--prefer-bg:#1b2f27;--ok:#939cab;--ok-bg:#262c34;--avoid:#d3a24f;--avoid-bg:#322a1a;--strong:#d4794b;--strong-bg:#34231a;--pto:#8e9fe0;--pto-bg:#22273a;--unavail:#cf7676;--unavail-bg:#331f1f;--danger:#e08b82;--danger-bg:#331f1f;--warn:#d3a24f;--warn-bg:#322a1a;--good:#6bc59a;--good-bg:#1b2f27;--series-1:#3987e5;--series-2:#d95926;--shadow:0 1px 2px rgba(0,0,0,0.3),0 4px 14px rgba(0,0,0,0.25);--shadow-raised:0 2px 10px rgba(0,0,0,0.45),0 16px 48px rgba(0,0,0,0.4)}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent)}h1,h2,h3{line-height:1.25;margin:0 0 12px;font-weight:650}h1{font-size:22px;letter-spacing:-.01em}h2{font-size:17px}h3{font-size:15px}p{margin:0 0 12px}.mono,code{font-family:var(--mono);font-size:.92em}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:0 20px;display:flex;gap:20px;flex-wrap:wrap;min-height:52px}.brand,.topbar{align-items:center}.brand{display:inline-flex;text-decoration:none}.brand:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}.logo{display:inline-flex;align-items:center;gap:8px}.logo-mark{width:24px;height:24px;flex:none;display:block}.logo-lane-top{fill:var(--logo-lane-top)}.logo-lane-bottom{fill:var(--logo-lane-bottom)}.logo-word{font-family:"Plus Jakarta Sans",var(--sans);font-weight:800;font-size:19px;line-height:1;letter-spacing:-.015em;color:var(--logo-word)}.nav{display:flex;gap:2px;flex-wrap:wrap;flex:1 1}.nav a{padding:7px 11px;border-radius:6px;text-decoration:none;color:var(--ink-2);font-weight:500;font-size:13.5px;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{background:var(--surface-2);color:var(--ink)}.nav a[aria-current=page]{font-weight:600}.whoami{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.main{flex:1 1;padding:24px 20px 64px;max-width:1180px;width:100%;margin:0 auto}.main.narrow{max-width:620px}.main.wide{max-width:1500px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head .sub{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.card>:last-child{margin-bottom:0}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.card-head h2,.card-head h3{margin:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.stat .value{font-size:26px;font-weight:680;letter-spacing:-.02em;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .note{font-size:12.5px;color:var(--muted);margin-top:2px}.stat.is-bad .value{color:var(--danger)}.stat.is-warn .value{color:var(--warn)}.stat.is-good .value{color:var(--good)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 15px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;font-weight:550;font-size:13.5px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn.danger:hover:not(:disabled){background:var(--danger-bg)}.btn.small{padding:5px 10px;font-size:12.5px}.field{margin-bottom:14px}.field label{display:block;font-weight:600;margin-bottom:5px;font-size:13px}.field .hint{color:var(--muted);font-size:12.5px;margin-top:4px}input:not([type]),input[type=date],input[type=email],input[type=number],input[type=search],input[type=text],input[type=url],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px}.btn:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px}textarea{min-height:88px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row>.field{margin-bottom:0}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:13.5px}td,th{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:var(--surface-2);font-weight:620;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);position:-webkit-sticky;position:sticky;top:0;z-index:1}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:240px}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11.5px;font-weight:620;letter-spacing:.01em;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.badge.good{background:var(--good-bg);color:var(--good)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--accent-soft);color:var(--accent-hover)}.badge.flex{background:var(--pto-bg);color:var(--pto)}.badge.night{background:var(--surface-2);color:var(--ink-2)}.msg{padding:11px 14px;border-radius:6px;margin-bottom:14px;border:1px solid;font-size:13.5px}.msg.error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.msg.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.msg.good{background:var(--good-bg);border-color:var(--good);color:var(--good)}.msg.info{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--ink-2)}.msg ul{margin:6px 0 0;padding-left:20px}.msg li{margin:2px 0}.empty{padding:36px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink-2)}.pref-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;margin-bottom:14px}.pref-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}.swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--line-2);display:inline-block}.pref-table td{padding:4px 8px}.pref-table .daycol{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.pref-table tr.weekend td{background:var(--surface-2)}.pref-table tr.weekend:hover td{background:var(--line)}.pref-choice{width:100%;min-width:128px;padding:5px 8px;border-radius:5px;border:1px solid var(--line-2);font:inherit;font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer}.pref-choice[data-v=prefer]{background:var(--prefer-bg);color:var(--prefer);border-color:var(--prefer);font-weight:600}.pref-choice[data-v=avoid]{background:var(--avoid-bg);color:var(--avoid);border-color:var(--avoid)}.pref-choice[data-v=strong-avoid]{background:var(--strong-bg);color:var(--strong);border-color:var(--strong);font-weight:600}.pref-choice[data-v=pto]{background:var(--pto-bg);color:var(--pto);border-color:var(--pto);font-weight:600}.pref-choice[data-v=unavailable]{background:var(--unavail-bg);color:var(--unavail);border-color:var(--unavail);font-weight:600}.pref-choice.ineligible{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 5px,transparent 5px,transparent 10px);color:var(--muted);cursor:not-allowed}.savebar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px;margin:16px -16px -16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:0 0 var(--radius) var(--radius)}.savebar .status{font-size:13px;color:var(--muted);flex:1 1}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px}.cal .dow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:650;text-align:center;padding:4px 0}.cal .day{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px;min-height:84px;font-size:12px}.cal .day.blank{background:transparent;border:0}.cal .day.weekend{background:var(--surface-2)}.cal .day .n{font-weight:680;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal .day .slot.gap{background:var(--danger-bg);color:var(--danger);font-weight:620}.cal .day .slot.gap.needs-cover{background:var(--warn-bg);color:var(--warn)}.cal .day .slot .sh{font-family:var(--mono);font-weight:650}.cal .day .slot .slot-kind{margin-left:4px;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.cal .day .slot .slot-time{margin-right:4px;font-family:var(--mono);font-size:10px;color:var(--muted)}.cal .day .slot.backup{border:1px dashed var(--line);background:transparent}.report{font-size:13.5px}.report pre{background:var(--surface-2);padding:14px;border-radius:6px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55;white-space:pre-wrap;margin:0}.dl{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 16px;gap:4px 16px;font-size:13.5px}.dl dt{color:var(--muted)}.dl dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12.5px}.nowrap,.orgname{white-space:nowrap}.orgname{font-size:13px;font-weight:600;color:var(--ink-2);padding:3px 9px;border:1px solid var(--line);border-radius:100px;background:var(--surface-2);text-decoration:none}.orgname.teamname{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent-hover)}.help-topic{border-top:1px solid var(--line)}.help-topic:first-of-type{border-top:0}.help-topic>summary{cursor:pointer;padding:11px 2px 11px 22px;position:relative;font-weight:600;font-size:14px;color:var(--ink);list-style:none}.help-topic>summary::-webkit-details-marker{display:none}.help-topic>summary:before{content:"+";position:absolute;left:4px;color:var(--ink-3,var(--ink-2));font-weight:500}.help-topic[open]>summary:before{content:"\2013"}.help-topic>summary:hover{color:var(--accent,var(--ink))}.help-body{padding:0 2px 14px 22px;font-size:13.5px;line-height:1.6}.help-body>:first-child{margin-top:0}.help-body>:last-child{margin-bottom:0}.help-body ol,.help-body p,.help-body ul{margin:0 0 10px;color:var(--ink-2)}.help-body ol,.help-body ul{padding-left:20px}.help-body li{margin:4px 0}.help-body .msg{margin:12px 0 10px}.pcal-wrap{margin-bottom:4px}.pcal-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.pcal{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pcal-head,.pcal-week{display:grid;grid-template-columns:repeat(7,1fr)}.pcal-h{padding:7px 8px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}.pcal-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;cursor:pointer;min-height:62px;padding:6px 7px;display:flex;flex-direction:column;gap:3px;background:var(--surface);color:var(--ink);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:background .08s ease}.pcal-week>:nth-child(7n){border-right:0}.pcal-week:last-child>*{border-bottom:0}.pcal-cell.empty{cursor:default}.pcal-cell.empty,.pcal-cell.weekend{background:var(--surface-2)}.pcal-cell:not(.empty):not(:disabled):hover{background:var(--line)}.pcal-cell:disabled{cursor:default}.pcal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.pcal-n{font-size:12.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pcal-v{font-size:11px;line-height:1.25;font-weight:600;padding:1px 5px;border-radius:4px;align-self:flex-start;border:1px solid transparent}.pcal-v.muted{color:var(--muted);font-weight:500}.pcal-cell.selected{box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.pcal-cell[data-v=prefer] .pcal-v{background:var(--prefer-bg);color:var(--prefer);border-color:var(--prefer)}.pcal-cell[data-v=avoid] .pcal-v{background:var(--avoid-bg);color:var(--avoid);border-color:var(--avoid)}.pcal-cell[data-v=strong-avoid] .pcal-v{background:var(--strong-bg);color:var(--strong);border-color:var(--strong)}.pcal-cell[data-v=pto] .pcal-v{background:var(--pto-bg);color:var(--pto);border-color:var(--pto)}.pcal-cell[data-v=unavailable] .pcal-v{background:var(--unavail-bg);color:var(--unavail);border-color:var(--unavail)}.pcal-cell[data-v=ok] .pcal-v{border-color:var(--line-2)}.pcal-apply,.pcal-cell[data-v=ok] .pcal-v{background:var(--surface-2);color:var(--ink-2)}.pcal-apply{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius)}.pcal-apply.active{border-color:var(--accent)}.pcal-set[data-v=prefer]{border-color:var(--prefer);color:var(--prefer)}.pcal-set[data-v=avoid]{border-color:var(--avoid);color:var(--avoid)}.pcal-set[data-v=strong-avoid]{border-color:var(--strong);color:var(--strong)}.pcal-set[data-v=pto]{border-color:var(--pto);color:var(--pto)}.pcal-set[data-v=unavailable]{border-color:var(--unavail);color:var(--unavail)}.viewswitch{display:inline-flex;gap:4px}@media (max-width:640px){.pcal-cell{min-height:52px;padding:5px}.pcal-v{font-size:10px;padding:1px 3px}}.cal .day .slot{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;font-size:11.5px;margin-top:3px;padding:2px 5px;border-radius:4px;background:var(--surface-2);cursor:pointer;color:var(--ink-2);transition:background .08s ease,opacity .08s ease}.cal .day .slot:disabled{cursor:default}.cal .day .slot:not(:disabled):hover{background:var(--line)}.cal .day .slot:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal .day .slot.night{border-left:3px solid var(--ink-3,var(--muted));padding-left:4px}.cal.has-highlight .day .slot:not(.mine):not(.gap){opacity:.35}.cal .day .slot.mine{background:var(--prefer-bg);color:var(--prefer);font-weight:650;box-shadow:inset 0 0 0 1px var(--prefer)}.cal.has-highlight .day .slot.gap{opacity:1}.cal-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--ink-2);margin-bottom:12px}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-sw-on{border-color:var(--line-2)}.cal-sw-night,.cal-sw-on{background:var(--surface-2)}.cal-sw-night{border-left:3px solid var(--muted)}.cal-sw-gap{background:var(--danger-bg);border-color:var(--danger)}tr.is-highlighted>td{background:var(--prefer-bg)}.linklike{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left}.linklike:hover{text-decoration:underline}.linklike:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notereader{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.proposals{list-style:none;margin:0;padding:0;font-size:13px}.proposals li{padding:3px 0;line-height:1.5}.proposals label{cursor:pointer;display:inline-flex;align-items:baseline;gap:4px;flex-wrap:wrap}.proposals .mono{font-weight:600}.concerns{list-style:none;margin:0;padding:0;font-size:13px}.concerns li{padding:4px 0;line-height:1.5;color:var(--ink-2)}.concerns li.blocking{color:var(--danger);font-weight:550}.concerns li .badge{margin-right:4px}.recommendation{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:14px 16px;margin:4px 0 6px;background:var(--surface)}.recommendation.hold{border-left-color:var(--warn)}.recommendation.pending,.recommendation.quiet{border-left-color:var(--line-2);background:var(--surface-2);font-size:13.5px}.rec-head{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.rec-headline{font-size:15px;font-weight:600;margin:0 0 8px;color:var(--ink)}.rec-reasoning p{margin:0 0 8px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}.rec-issues{list-style:none;margin:10px 0 0;padding:0;font-size:13px}.rec-issues li{padding:6px 0;border-top:1px solid var(--line);line-height:1.5}.rec-issues li.must_address{color:var(--ink)}.rec-issues li.must_address .badge{background:var(--warn-bg);color:var(--warn)}.rec-action{color:var(--ink-2);margin:2px 0 0 2px}.rec-alternatives{margin-top:10px;font-size:13px}.rec-alternatives summary{cursor:pointer;color:var(--accent)}.rec-alternatives ul{margin:6px 0 0;padding-left:18px;color:var(--ink-2)}.report-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:28px 0 12px}.report-head h2{margin:0}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;align-items:start}.report-section{margin-bottom:0;min-width:0}.report-section.wide{grid-column:1/-1}.report-section>h3{margin:0 0 12px;font-size:15px}.report-section>:not(h3)+:not(h3){margin-top:12px}.report-section .msg,.report-section p{margin-bottom:0}.report-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;margin:0}.report-fact{background:var(--surface-2);border-radius:6px;padding:9px 12px}.report-fact dt{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.report-fact dd{margin:2px 0 0;font-size:16px;font-weight:620;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.report-fact.tone-good dd{color:var(--good)}.report-fact.tone-warn{background:var(--warn-bg)}.report-fact.tone-warn dd{color:var(--warn)}.report-fact.tone-bad{background:var(--danger-bg)}.report-fact.tone-bad dd{color:var(--danger)}.report-text{color:var(--ink-2)}.report-text.tone-bad,td.tone-bad{color:var(--danger);font-weight:600}.report-bullets{margin:0;padding-left:20px;color:var(--ink-2)}.report-bullets li{margin:4px 0}.report-bullets li.tone-warn{color:var(--warn)}.report-issue{border:1px solid var(--line);border-radius:var(--radius)}.report-issue+.report-issue{margin-top:10px}.report-issue>summary{cursor:pointer;padding:10px 12px;display:flex;align-items:center;gap:8px}.report-issue-label{font-weight:600}.report-issue-label:first-letter{text-transform:uppercase}.report-issue .table-wrap{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.topbar-guest{margin-left:auto;display:flex;align-items:center;gap:16px}.topbar-link{color:var(--ink-2);font-weight:600;font-size:13.5px;text-decoration:none}.eyebrow,.topbar-link:hover{color:var(--accent)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.btn.large{padding:11px 20px;font-size:15px;border-radius:8px}.landing{flex:1 1;width:100%}.landing-inner{max-width:1120px;margin:0 auto;padding:0 20px}.hero{padding-block:64px 52px}.hero>.landing-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:center}.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.06;letter-spacing:-.025em;font-weight:700;margin:0 0 18px}.hero h1 span{display:block;color:var(--accent)}.lede{font-size:18px;line-height:1.55;color:var(--ink-2);margin:0 0 26px;max-width:34em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.hero-note{font-size:13px;color:var(--muted);margin:0}.preview{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 18px 48px rgba(19,45,58,.12),var(--shadow)}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.preview-title{font-weight:700;font-size:14px}.preview-badges{display:flex;gap:6px;flex-wrap:wrap}.preview-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.preview-dow{font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center}.preview-day{border:1px solid var(--line);border-radius:6px;padding:4px;min-height:62px;background:var(--surface);min-width:0}.preview-day.weekend{background:var(--surface-2)}.preview-day .d{display:block;font-size:10px;font-weight:700;color:var(--muted)}.preview-slot{display:block;margin-top:2px;padding:1px 4px;border-radius:3px;font-size:10px;line-height:1.35;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-slot.n{border-left:2px solid var(--muted);padding-left:3px}.preview-slot.me{background:var(--prefer-bg);color:var(--prefer);font-weight:650}.preview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.preview-stat{background:var(--surface-2);border-radius:8px;padding:8px 10px;min-width:0}.preview-stat .k{font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.preview-stat .v{font-size:15px;font-weight:700}.preview-caption{font-size:11px;color:var(--muted);margin:10px 0 0;text-align:right}.band{background:var(--accent-soft)}.band>.landing-inner{display:flex;justify-content:space-around;flex-wrap:wrap;gap:10px 32px;padding-block:20px}.band span{font-weight:650;font-size:15px;color:var(--accent-hover)}.landing-section{padding-block:64px}.landing-section.divider{border-top:1px solid var(--line)}.landing-section h2{font-size:clamp(24px,3.2vw,32px);line-height:1.2;letter-spacing:-.02em;margin:0 0 12px}.section-lede{color:var(--muted);font-size:16px;max-width:42em;margin:0 0 36px}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:32px 56px;gap:32px 56px}.feature .num{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--accent)}.feature h3{font-size:18px;margin:6px 0}.feature p{color:var(--muted);font-size:15px;margin:0}.steps{list-style:none;margin:28px 0 32px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.step{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}.step .num{display:grid;place-items:center;width:28px;height:28px;margin-bottom:10px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px}.step h3{font-size:16px;margin:0 0 6px}.step p{color:var(--muted);font-size:14px;margin:0}.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.role{border-left:3px solid var(--accent-soft-line);padding:2px 0 2px 14px;color:var(--muted)}.role strong{display:block;color:var(--ink);margin-bottom:2px}.tradeoffs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:center;padding:40px;border-radius:16px;background:var(--callout-bg)}.tradeoffs,.tradeoffs h2{color:var(--callout-ink)}.tradeoffs p{color:var(--callout-muted);font-size:16px;margin:0}.checks{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks li:before{content:"\2713";flex:none;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:rgba(168,216,205,.18);color:#a8d8cd;font-size:12px;font-weight:700}.ways{padding-top:0}.ways-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.way{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.way h3{margin:0;font-size:18px}.way p{margin:0 0 8px;color:var(--muted)}.landing-foot{border-top:1px solid var(--line)}.landing-foot>.landing-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-block:22px;font-size:13px;color:var(--muted)}.auth{flex:1 1;width:100%;max-width:1040px;margin:0 auto;padding:48px 20px 64px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:56px;gap:56px;align-items:start}.auth-panel{min-width:0}.auth-tabs{display:inline-flex;gap:2px;padding:3px;margin-bottom:24px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px}.auth-tabs a{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:13.5px}.auth-tabs a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.auth-tabs a:not([aria-current]):hover{color:var(--accent)}.auth-alt{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.auth-alt p{margin:0 0 6px}.auth-aside{padding:28px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent-soft-line)}.auth-aside-title{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:0 0 20px}.auth-aside-title span{display:block;color:var(--accent)}.auth-points{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-gap:14px;gap:14px}.auth-points li{color:var(--ink-2);padding-left:14px;border-left:3px solid var(--accent-soft-line)}.auth-points strong{display:block;color:var(--ink)}@media (max-width:860px){.hero{padding-block:36px 32px}.features,.hero>.landing-inner,.roles,.tradeoffs,.ways-in{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tradeoffs{padding:28px 22px}.landing-section{padding-block:44px}.auth{grid-template-columns:1fr;gap:28px;padding-top:28px}}@media (max-width:520px){.steps{grid-template-columns:1fr}.topbar-guest .topbar-link{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.assistant-launcher{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:40;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--accent-hover);border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow-raised)}.assistant-launcher:hover{background:var(--accent-hover)}.assistant-launcher:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.assistant-panel{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:40;display:flex;flex-direction:column;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 100px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-raised);overflow:hidden}.assistant-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.assistant-close{border:1px solid transparent;border-radius:6px;background:none;color:var(--muted);font:inherit;line-height:1;padding:6px 8px;cursor:pointer}.assistant-close:hover{background:var(--surface);color:var(--ink)}.assistant-close:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.assistant-log{flex:1 1;overflow-y:auto;padding:14px;gap:14px}.assistant-empty,.assistant-log{display:flex;flex-direction:column}.assistant-empty{gap:12px}.assistant-empty p{margin:0;font-size:.92rem}.assistant-openers{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.assistant-opener{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent);font:inherit;font-size:.88rem;padding:6px 12px;cursor:pointer;text-align:left}.assistant-opener:hover{background:var(--accent-soft);border-color:var(--accent-soft-line)}.assistant-opener:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.assistant-msg{display:flex;flex-direction:column;gap:4px;max-width:90%}.assistant-msg.user{align-self:flex-end;align-items:flex-end}.assistant-msg.assistant{align-self:flex-start}.assistant-bubble{padding:9px 12px;border-radius:12px;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}.assistant-msg.user .assistant-bubble{background:var(--accent-soft);color:var(--ink);border:1px solid var(--accent-soft-line);border-bottom-right-radius:4px}.assistant-msg.assistant .assistant-bubble{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:4px}.assistant-msg.failed .assistant-bubble{background:var(--warn-bg);color:var(--warn)}.assistant-bubble p{margin:0 0 6px}.assistant-bubble p:last-child{margin-bottom:0}.assistant-cites a{font-size:.82rem;color:var(--accent);text-decoration:underline}.assistant-sources{font-size:.78rem;color:var(--muted);font-style:italic}.assistant-pending{align-self:flex-start}.assistant-thinking{display:inline-flex;gap:4px;align-items:center;padding:12px 14px}.assistant-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4;animation:assistant-pulse 1.2s ease-in-out infinite}.assistant-dot:nth-child(2){animation-delay:.15s}.assistant-dot:nth-child(3){animation-delay:.3s}@keyframes assistant-pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:.9;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.assistant-dot{animation:none;opacity:.6}}.assistant-compose{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line);background:var(--surface)}.assistant-compose textarea{flex:1 1;resize:none;max-height:120px;padding:9px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.92rem;line-height:1.4}.assistant-compose textarea:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}@media (max-width:560px){.assistant-panel{right:8px;left:8px;width:auto;max-width:none;height:min(70vh,520px)}.assistant-launcher{right:12px}}.policy-types{display:flex;flex-direction:column}.policy-type{border-top:1px solid var(--line);padding:10px 0}.policy-type:first-child{border-top:none}.policy-type>summary{cursor:pointer;list-style:none;line-height:1.5}.policy-type>summary::-webkit-details-marker{display:none}.policy-type>summary:before{content:"+";display:inline-block;width:1.2em;color:var(--muted);font-weight:600}.policy-type[open]>summary:before{content:"\2013"}.policy-type>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.policy-form{padding:12px 0 4px 1.2em;gap:12px;align-items:flex-start}.policy-checks,.policy-form{display:flex;flex-direction:column}.policy-checks{gap:6px}.policy-checks label{font-size:.92rem;color:var(--ink-2)}.plan-setup{display:flex;flex-direction:column;gap:16px;margin-top:12px}.plan-setup fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.plan-setup legend{padding:0 6px;font-weight:600;color:var(--ink-2)}.week-row{flex-wrap:wrap}.week-day,.week-row{display:flex;gap:4px;align-items:center}.week-name{display:inline-block;min-width:3.2em;text-align:center;padding:6px 8px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);font-weight:600}.week-name.joined{background:var(--accent-soft);border-color:var(--accent-soft-line)}.week-join{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:.85rem;cursor:pointer}.week-join input{margin:0}.rota-cell{min-width:8.5em}.board{list-style:none;margin:0;padding:0}.board-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 16px;gap:4px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.board-item:first-child{border-top:0;padding-top:4px}.board-when{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.board-item>.small{grid-column:1}.board-actions{grid-column:2;grid-row:1/span 2;justify-self:end}.board-actions .row{gap:8px;align-items:center;flex-wrap:wrap}@media (max-width:640px){.board-item{grid-template-columns:minmax(0,1fr)}.board-actions{grid-column:1;grid-row:auto;justify-self:start}}.request-gaps{list-style:none;margin:4px 0 0;padding:0}.request-gaps li{padding:2px 0}.request-chain{margin:6px 0 0 14px;padding-left:10px;border-left:2px solid var(--line)}.decide{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.decide form{flex:1 1 260px}.kind-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.warn-text{color:var(--warn)}.budget-chart{position:relative;max-width:1080px}.budget-chart svg{display:block;width:100%;max-width:1080px;height:auto;overflow:visible}.budget-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.budget-chart .grid{stroke:var(--line);stroke-width:1}.budget-chart .tick{fill:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-chart .today{stroke:var(--ink-2);stroke-width:1}.budget-chart .today-label{fill:var(--ink-2);font-size:11px}.budget-chart .bar-cover{fill:var(--series-1)}.budget-chart .bar-extra{fill:var(--series-2)}.budget-chart .hit{fill:transparent;cursor:default}.budget-chart .hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.budget-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-bottom:8px}.budget-legend span{display:inline-flex;align-items:center;gap:6px}.budget-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.budget-legend .sw-cover{background:var(--series-1)}.budget-legend .sw-extra{background:var(--series-2)}.budget-tip{position:absolute;pointer-events:none;z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:8px 10px;font-size:12.5px;color:var(--ink);min-width:170px}.budget-tip .tip-head{font-weight:600;margin-bottom:4px}.budget-tip .tip-row{display:flex;justify-content:space-between;gap:12px;color:var(--ink-2)}.budget-tip .tip-row i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}