.empty-state{border:1.5px dashed var(--line2);text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:18px 20px;padding:46px 24px;display:flex}.empty-state svg{fill:none;width:38px;height:38px;stroke:var(--faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.empty-state .purpose{color:var(--dim);max-width:52ch;margin:0;font-size:12.5px;line-height:1.55}.error-state{text-align:left;align-items:flex-start;gap:10px;margin:12px 20px;padding:14px 0;display:flex}.error-state.compact{margin:0;padding:6px 0}.error-state svg{fill:none;width:20px;height:20px;stroke:var(--late);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}.error-state .error-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.error-state .error-what{color:var(--fg);margin:0;font-size:13px;font-weight:600;line-height:1.45}.error-state .error-why{color:var(--dim);max-width:60ch;margin:0;font-size:12.5px;line-height:1.5}.error-state .btn-outline{margin-top:6px}.error-state .error-details{color:var(--dim);max-width:80ch;margin-top:4px;font-size:11px}.error-state .error-details summary{cursor:pointer}.error-state .error-details code{font-family:var(--font-mono);color:var(--dim);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.locked-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:56px 24px;display:flex}.locked-state svg{fill:none;width:34px;height:34px;stroke:var(--faint);stroke-width:1.6px;stroke-linecap:round}.locked-state h3{font-family:var(--font-display);margin:0;font-size:17px;font-weight:600}.locked-state .who{color:var(--dim);max-width:52ch;margin:0;font-size:12.5px;line-height:1.55}.btn-primary{font:700 12.5px var(--font-body);border:1px solid var(--acc);background:var(--acc);color:var(--accfg);cursor:pointer;border-radius:3px;padding:7px 15px}.btn-outline{font:600 12.5px var(--font-body);border:1px solid var(--line2);color:var(--fg);cursor:pointer;background:0 0;border-radius:3px;padding:7px 15px}.btn-outline:hover{background:var(--hover)}.btn-cowork,a.btn-cowork,a.btn-cowork:visited{background:var(--ok);border-color:var(--ok);color:var(--bg)}.btn-cowork:hover,a.btn-cowork:hover{background:var(--ok);border-color:var(--ok);color:var(--bg);filter:brightness(1.12)}.btn-primary:disabled,.btn-outline:disabled{cursor:not-allowed;background:var(--surface);border-color:var(--line2);color:var(--faint)}.btn-primary:disabled:hover,.btn-outline:disabled:hover{background:var(--surface)}@media (width<=640px){.btn-primary,.btn-outline{min-height:44px;padding:7px 18px}}.skeleton{padding:4px 20px 20px}.skeleton .sk-head{border-bottom:2px solid var(--line2);align-items:center;height:30px;display:flex}.skeleton .sk-head span{background:var(--track);border-radius:2px;width:90px;height:8px}.skeleton .sk-row{border-bottom:1px solid var(--line);align-items:center;gap:18px;height:37px;display:flex}.skeleton .sk-cell{background:var(--track);border-radius:2px;height:9px;animation:1.4s ease-in-out infinite sk-pulse}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton .sk-cell{animation:none}}.status-tag{letter-spacing:.06em;text-transform:uppercase;border-radius:2px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-tag .tag-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.tag-ok{color:var(--ok);background:var(--okbg)}.tag-warn{color:var(--warn);background:var(--warnbg)}.tag-info{color:var(--info);background:var(--infobg)}.tag-late{color:var(--late);background:var(--latebg)}.tag-neutral{color:var(--dim);border:1px solid var(--line2);background:0 0}.progress-track{background:var(--track);border-radius:99px;width:100%;display:flex;overflow:hidden}.progress-fill{height:100%;display:block}.seg-single{background:var(--mark)}.seg-ok{background:var(--ok)}.seg-info{background:var(--info)}.seg-warn{background:var(--warn)}.chipbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:9px 20px;display:flex}.chipbar-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-right:4px;font-size:10.5px}.chip{border:1px solid var(--line2);color:var(--dim);cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:6px;padding:4px 11px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{background:var(--hover);color:var(--fg)}.chip.active{background:var(--navfill);border-color:var(--navfill);color:var(--navfillfg);font-weight:600}.chip:disabled{cursor:not-allowed;background:var(--surface);border-color:var(--line2);color:var(--faint)}.chip:disabled:hover{background:var(--surface)}@media (width<=640px){.chip,.chipbar-label{min-height:44px}.chip{padding:4px 14px}}.chip-warn:not(.active){color:var(--warn);border-color:var(--warn)}.chip-count{font-weight:700}.chipbar-tally{font-family:var(--font-mono);color:var(--dim);margin-left:auto;font-size:11px}.page-header{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:13px 20px;display:flex}.ph-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ph-job{font-family:var(--font-mono);color:var(--dim);font-size:13px;font-weight:700}.ph-title{font-family:var(--font-display);margin:0;font-size:20px;font-weight:600}.ph-actions{gap:8px;margin-left:auto;display:flex}.ph-meta{color:var(--dim);font-size:12.5px}.page-header.dense{gap:2px;padding:8px 20px}.page-header.dense .ph-title{font-size:16px}.ph-meta.inline{border-left:1px solid var(--line2);padding-left:10px;font-size:12px}.ph-aside{align-items:center;margin-left:6px;display:flex}.title-block{background:var(--surface);border:1px solid var(--line);border-radius:3px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:14px 20px;display:grid;overflow:hidden}.tb-cell{border-left:1px solid var(--line);flex-direction:column;gap:3px;padding:9px 13px;display:flex}.tb-cell:first-child{border-left:none}.tb-cell.ruled{box-shadow:inset 3px 0 0 var(--acc)}.tb-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-size:10.5px}.tb-value{color:var(--fg);font-size:12.5px;font-weight:600}.data-table tbody tr[data-zebra=odd]{background:var(--bg)}.data-table tbody tr[data-zebra=even]{background:var(--zebra)}.data-table .dt-row.clickable{cursor:pointer}.data-table .dt-row:hover td{background:var(--hover)}.data-table .dt-row.selected td{background:var(--selrow)}.data-table .dt-row.selected td:first-child{box-shadow:inset 3px 0 0 var(--acc)}.data-table .dt-num{text-align:right;font-variant-numeric:tabular-nums lining-nums}.toast-region{z-index:90;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--toastbg);color:var(--toastfg);border-radius:4px;align-items:flex-start;gap:12px;min-width:260px;max-width:380px;padding:11px 14px;font-size:12.5px;display:flex;box-shadow:0 10px 28px #0a121b59}.toast .toast-text{flex:1;min-width:0}.toast .consequence{font-weight:600;line-height:1.45}.toast .detail{color:var(--toastdim);margin-top:2px;line-height:1.45}.toast .toast-action{font:700 12px var(--font-body);color:var(--acc);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 4px}.toast .toast-close{font:400 18px/1 var(--font-body);color:var(--toastdim);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin:-2px -4px 0 0;display:flex}.toast .toast-close:hover{color:var(--toastfg)}.dt-group>th{background:var(--surface);color:var(--dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;text-align:left;border-top:1px solid var(--line2);border-bottom:1px solid var(--line);padding:7px 10px 6px;font-size:10.5px;position:static}.dt-group-count{color:var(--faint);margin-left:8px}.role-pill{font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;vertical-align:middle;border-radius:2px;flex:none;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}@media (width<=640px){.data-table.dt-cards{border-collapse:separate;width:100%;display:block}.data-table.dt-cards thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-table.dt-cards thead th{width:1px;display:block;overflow:hidden}.data-table.dt-cards tbody,.data-table.dt-cards tr{width:100%;display:block}.data-table.dt-cards tbody tr.dt-row{border:1px solid var(--line);border-radius:var(--radius-sm,6px);background:var(--raised);margin-bottom:10px;padding:12px 14px}.data-table.dt-cards tbody tr[data-zebra=odd],.data-table.dt-cards tbody tr[data-zebra=even]{background:var(--raised)}.data-table.dt-cards tbody tr.dt-row.selected{border-color:var(--acc)}.data-table.dt-cards td{border:none;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:3px 0;display:flex;text-align:left!important}.data-table.dt-cards td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;max-width:45%;color:var(--faint);flex:none;font-size:11px;font-weight:700}.data-table.dt-cards td[data-mobile=primary]{color:var(--fg);padding:0 0 8px;font-size:15px;font-weight:700;display:block}.data-table.dt-cards td[data-mobile=primary]:before{content:none}.data-table.dt-cards td[data-mobile=hide]{display:none}.data-table.dt-cards td.dt-num{justify-content:space-between}.data-table.dt-cards tr.dt-group{background:0 0;border:none;margin:0;padding:6px 0 4px;display:block}.data-table.dt-cards tr.dt-group th{justify-content:space-between;width:100%;display:flex}.data-table.dt-cards tbody tr.dt-row.clickable{cursor:pointer;min-height:44px}}.dlg-scrim{z-index:120;background:#02060b73;justify-content:center;align-items:flex-start;padding:9vh 16px 16px;animation:.12s ease-out dlg-fade;display:flex;position:fixed;inset:0}.dlg{background:var(--raised);border:1px solid var(--line2);border-radius:8px;flex-direction:column;width:100%;max-width:430px;max-height:86vh;animation:.14s ease-out dlg-rise;display:flex;box-shadow:0 18px 40px #0f1a2647}.dlg:focus{outline:none}@keyframes dlg-fade{0%{opacity:0}}@keyframes dlg-rise{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.dlg-scrim{animation:none}.dlg{animation:.12s ease-out dlg-fade;transform:none}}.dlg-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;display:flex}.dlg-head.dlg-tone-danger,.dlg-head.dlg-tone-late{box-shadow:inset 3px 0 0 var(--late)}.dlg-head.dlg-tone-warn{box-shadow:inset 3px 0 0 var(--warn)}.dlg-head.dlg-tone-info{box-shadow:inset 3px 0 0 var(--info)}.dlg-title{font-family:var(--font-display);color:var(--fg);margin:0;font-size:15px;font-weight:700;line-height:1.3}.dlg-close{color:var(--faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;font-size:20px;line-height:1}.dlg-close:hover{color:var(--fg)}.dlg-form{flex-direction:column;flex:1;min-height:0;display:flex}.dlg-body{flex-direction:column;gap:12px;min-height:0;padding:14px 15px 15px;display:flex;overflow-y:auto}.dlg-msg{color:var(--dim);white-space:pre-line;margin:0;font-size:12.5px;line-height:1.55}.dlg-msg strong{color:var(--fg);font-weight:700}.dlg-field{flex-direction:column;gap:4px;display:flex}.dlg-field>span:first-child{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.dlg-field input,.dlg-field textarea{min-height:38px;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line2);resize:vertical;border-radius:5px;padding:8px 9px;font-size:12.5px}.dlg-field input.tabular{font-variant-numeric:tabular-nums lining-nums}.dlg-field input::placeholder,.dlg-field textarea::placeholder{color:var(--faint)}.dlg-hint{color:var(--faint);font-size:12px;line-height:1.4}.dlg-error{color:var(--late);font-size:12px;font-weight:600;line-height:1.4}.dlg-foot{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 7px 7px;justify-content:flex-end;gap:8px;padding:11px 15px;display:flex}.dlg-btn{font:700 12.5px var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:3px;min-height:34px;padding:8px 15px}.dlg-btn:disabled{cursor:not-allowed;background:var(--surface);border-color:var(--line);color:var(--faint)}.dlg-btn-quiet{border-color:var(--line2);color:var(--fg);background:0 0;font-weight:600}.dlg-btn-quiet:hover{background:var(--hover)}.dlg-btn-primary{background:var(--acc);border-color:var(--acc);color:var(--accfg)}.dlg-btn-primary:focus-visible{outline:2px solid var(--acc);outline-offset:2px;box-shadow:0 0 0 1px var(--fg)}.dlg-btn-danger{background:var(--latebg);border-color:var(--late);color:var(--late)}.dlg-btn-danger:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--late)}@media (width<=520px){.dlg-scrim{align-items:center;padding:12px}.dlg{max-height:92vh}.dlg-foot{flex-direction:column-reverse}.dlg-btn{width:100%;min-height:42px}}.sp{width:100%;display:block;position:relative}.sp-compact{width:auto;display:inline-block}.sp-trigger{width:100%;min-height:34px;font:inherit;text-align:left;background:var(--bg);border:1px solid var(--line2);cursor:pointer;color:var(--fg);border-radius:5px;align-items:center;gap:8px;padding:4px 8px;display:flex}.sp-trigger:hover:not(:disabled){background:var(--hover)}.sp-trigger:disabled{cursor:not-allowed;background:var(--surface);border-color:var(--line)}.sp-caret{color:var(--faint);margin-left:auto;font-size:10.5px;line-height:1}.sp-menu{z-index:130;background:var(--raised);border:1px solid var(--line2);border-radius:5px;min-width:100%;padding:3px;position:absolute;top:calc(100% + 3px);left:0;box-shadow:0 12px 26px #0f1a2642}.sp-menu:focus{outline:none}.sp-option{width:100%;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:3px;align-items:center;gap:10px;padding:5px 7px;display:flex}.sp-option:hover{background:var(--hover)}.sp-option[aria-selected=true]{background:var(--selrow);box-shadow:inset 3px 0 0 var(--acc)}.sp-check{width:10px;color:var(--acc);margin-left:auto;font-size:12px;line-height:1}.ge-foot{align-items:center;gap:8px;width:100%;display:flex}.ge-foot-gap{flex:auto}.kd-scrim{z-index:60;background:#02060b8c;justify-content:flex-end;display:flex;position:fixed;inset:0}.kd-scrim[data-depth="0"]{z-index:60}.kd-scrim:not([data-depth="0"]){z-index:61;background:#02060b47}.kd-panel{background:var(--bg);border-left:1px solid var(--line);outline:none;flex-direction:column;height:100%;display:flex;box-shadow:-12px 0 32px #0f1a2640}.kd-narrow{width:min(420px,100vw)}.kd-standard{width:min(780px,100vw)}.kd-wide{width:min(1100px,100vw)}.kd-head{background:var(--nav);color:var(--navfg);align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.kd-head-text{flex:1;min-width:0}.kd-title{font-family:var(--font-display);color:var(--navfg);margin:0;font-size:19px;font-weight:700}.kd-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--navfg);opacity:.75;margin:0 0 4px;font-size:10px;font-weight:700}.kd-context{color:var(--navfg);opacity:.8;margin:4px 0 0;font-size:13px}.kd-title-aside{vertical-align:middle;font-family:var(--font-body);align-items:center;margin-left:10px;font-weight:400;display:inline-flex}.kd-head-aside{color:var(--navfg);flex:none;align-items:center;gap:6px;margin-top:2px;display:flex}.kd-back{max-width:42%;color:var(--navfg);font:inherit;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;flex:none;align-items:center;gap:5px;margin-top:2px;padding:3px 8px 3px 5px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.kd-back>span[aria-hidden=true]{font-size:17px;line-height:1}.kd-back-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kd-back:hover{background:#fff3}.kd-close{width:30px;height:30px;color:var(--navfg);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;font-size:20px;line-height:1}.kd-close:hover{background:#ffffff1f}.kd-back:focus-visible,.kd-close:focus-visible{outline:2px solid var(--navfg);outline-offset:1px}.kd-body{flex:1;padding:16px 20px;overflow-y:auto}.kd-body.kd-body-flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.kd-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}@media (width<=720px){.kd-panel{border-left:none;width:100vw;margin-right:0!important}.kd-head{padding:13px 15px}.kd-title{font-size:17px}.kd-body{padding:14px 15px}.kd-foot{padding:11px 15px;padding-bottom:max(11px, env(safe-area-inset-bottom))}}
