:root{--ink: #16202E;--ink-soft: #51607A;--surface: #FFFFFF;--surface-2: #F7F9FC;--canvas: #F3F5F9;--line: #DCE1EA;--line-strong: #C2CAD6;--accent: #1E4FA3;--accent-tint: #E8EFF9;--status-ok: #1E7B43;--status-warn: #B36A00;--status-critical: #B42318;--status-neutral: #51607A;--tint-ok: #E7F4ED;--tint-warn: #FBF0E0;--tint-critical: #FCEAE7;--tint-neutral: #EDF0F4;--drill: #6B4FA3;--drill-tint: #ECE7F5;--overlay: rgba(22, 32, 46, .45);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--radius: 10px;--radius-sm: 8px;--radius-pill: 999px;--shadow: 0 1px 2px rgba(22, 32, 46, .06), 0 2px 6px rgba(22, 32, 46, .08);--t-overline: 12px;--t-caption: 14px;--t-body: 16px;--t-emphasis: 18px;--t-section: 22px;--t-title: 28px;--target: 48px;--target-primary: 56px;--font: -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.5;-webkit-text-size-adjust:100%}body{font-variant-numeric:tabular-nums}h1,h2,h3{margin:0 0 var(--s-3);font-weight:600;line-height:1.25}h1{font-size:var(--t-title);font-weight:700;letter-spacing:-.01em}h2{font-size:var(--t-section)}h3{font-size:var(--t-emphasis)}p{margin:0 0 var(--s-3)}a{color:var(--accent)}.overline{font-size:var(--t-overline);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.num-hero{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.1}.page{min-height:100dvh;display:flex;flex-direction:column}.center{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:var(--s-6) var(--s-4)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s-6);width:100%}.center .card{max-width:28rem}.card--wide{max-width:none}.stack>*+*{margin-top:var(--s-4)}.muted{color:var(--ink-soft)}.caption{font-size:var(--t-caption);color:var(--ink-soft)}.field{display:flex;flex-direction:column;gap:var(--s-1)}.field label{font-size:var(--t-caption);color:var(--ink-soft);font-weight:500}.field input,.field select{font:inherit;font-size:var(--t-body);min-height:var(--target);padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--target);padding:0 var(--s-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:var(--t-body);font-weight:600;cursor:pointer;background:var(--accent);color:#fff;text-decoration:none}.btn--block{width:100%}.btn--secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{min-height:32px;padding:0 var(--s-3);font-size:var(--t-caption)}@media (max-width: 640px){.btn--sm{min-height:44px;padding:0 var(--s-4);font-size:var(--t-body)}input[type=checkbox],input[type=radio]{width:22px;height:22px}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px}}.btn-inline{display:inline-flex;align-items:center;gap:var(--s-2);background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.btn-inline .edit-date__pencil .icon{width:15px;height:15px;color:var(--ink-soft);opacity:.55}.btn-inline:hover .edit-date__pencil .icon{opacity:1;color:var(--accent)}.icon{width:20px;height:20px;flex:none;color:currentColor}.btn .icon{width:20px;height:20px}.notice{border-radius:var(--radius);padding:var(--s-3) var(--s-4);font-size:var(--t-caption);border:1px solid var(--line);background:var(--canvas)}.notice--error{border-color:var(--status-critical);background:var(--tint-critical);color:var(--status-critical)}.notice--ok{border-color:var(--status-ok);background:var(--tint-ok);color:var(--status-ok)}.notice--warn{border-color:var(--status-warn);background:var(--tint-warn);color:var(--status-warn)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--t-caption);font-weight:600;padding:2px var(--s-2);border-radius:999px;border:1px solid var(--line);white-space:nowrap;background:var(--tint-neutral);color:var(--ink-soft)}.badge--pending{background:var(--tint-warn);color:var(--status-warn);border-color:var(--status-warn)}.badge--active{background:var(--tint-ok);color:var(--status-ok);border-color:var(--status-ok)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--s-3);border-bottom:1px solid var(--line);font-size:var(--t-caption)}th{color:var(--ink-soft);font-weight:500}.phone-fold>summary{list-style:none;cursor:default}.phone-fold>summary::-webkit-details-marker{display:none}.phone-fold>summary>h2{margin:0}@media (min-width: 641px){.phone-fold>summary{pointer-events:none}}@media (max-width: 640px){.phone-fold>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:44px}.phone-fold>summary:after{content:"Show";font-size:var(--t-caption);color:var(--accent);flex:0 0 auto}.phone-fold[open]>summary:after{content:"Hide"}}@media (max-width: 640px){table.tbl-stack{display:block;overflow-x:visible;width:100%;max-width:100%}table.tbl-stack thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}table.tbl-stack tbody,table.tbl-stack tr,table.tbl-stack td{display:block;width:auto;max-width:100%}table.tbl-stack tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s-3);margin:0 0 var(--s-2)}table.tbl-stack td{border:0;padding:1px 0;font-size:var(--t-body);line-height:1.35;display:flex;gap:var(--s-3);align-items:baseline;justify-content:space-between}table.tbl-stack td:before{content:attr(data-label);color:var(--ink-soft);font-size:var(--t-caption);flex:0 0 auto}table.tbl-stack td:not([data-label]){justify-content:flex-start}table.tbl-stack td:not([data-label]):before{content:none}table.tbl-stack tr{display:flex;flex-direction:column}table.tbl-stack td.tbl-title{font-size:var(--t-emphasis);font-weight:600;padding-bottom:var(--s-2);order:-1}table.tbl-stack td:empty{display:none}table.tbl-stack td .roster-actions{flex-wrap:nowrap;width:100%;gap:var(--s-2);margin-top:var(--s-2)}table.tbl-stack td .roster-actions .btn{flex:1 1 0;min-width:0;padding:0 var(--s-2);white-space:nowrap}table.tbl-stack td .roster-actions .btn .icon{display:none}.roster-actions{justify-content:flex-start}.roster-actions .btn{min-height:44px;padding:0 var(--s-3);font-size:var(--t-body)}}@media (max-width: 800px){table:not(.cov-grid):not(.tbl-stack){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--surface);border-bottom:1px solid var(--line)}.topbar .brand{font-size:var(--t-emphasis);font-weight:600}.code-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-caption);word-break:break-all;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-3)}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-emphasis)}@media (prefers-reduced-motion: no-preference){.btn,.field input{transition:opacity .12s,border-color .12s}}[hidden]{display:none!important}@media (max-width: 640px){.topbar{padding:var(--s-2) var(--s-3);gap:var(--s-2);min-height:56px}.topbar .brand{font-size:var(--t-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar .btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar .btn:has(.btn-label){min-width:44px;padding:0;justify-content:center}.btn,select,input[type=date],input[type=datetime-local],input[type=time]{min-height:44px!important}.btn-inline,.chip-role,.db-star{min-height:44px!important;min-width:44px}.btn{flex-shrink:0;max-width:100%}:is(div,nav,header,p,span,form):has(>.btn+.btn){flex-wrap:wrap}textarea{min-height:5.5rem}[style*=grid-template-columns]{grid-template-columns:1fr!important}}
