body{margin:0;background:#0b1422;color:#e8f0ff;font:15px system-ui}header{padding:20px 4%;border-bottom:1px solid #34465f}h1{margin:0;font-size:23px}main{padding:20px;max-width:1600px;margin:auto}.controls{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}input,select,button{padding:11px;border:1px solid #445b78;border-radius:9px;background:#1a2b44;color:white;font:inherit}input:not([type=checkbox]){flex:1;min-width:180px}.layout{display:block}.panel{border:1px solid #334761;border-radius:12px;background:#132239;padding:16px;min-width:0}.entry{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #34465f;border-radius:0;background:transparent;cursor:pointer;padding:14px 5px}.entry:hover,.entry.selected{background:#223956}small,.muted{color:#afc0d8}.original{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;border:1px solid #374e6a;background:#0d192a;border-radius:9px;line-height:1.6}h2{font-size:19px}h3{margin-top:25px;font-size:16px}.chip{display:inline-block;margin:4px 6px 4px 0;padding:5px 9px;border:1px solid #486282;border-radius:15px}.task{padding:12px 0;border-bottom:1px solid #354b64}.notice{padding:12px 0;color:#bdcee4}.overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0}.stat{background:#132239;border:1px solid #334761;border-radius:12px;padding:14px}.stat strong{display:block;font-size:27px;margin-top:5px}.queue{margin-bottom:18px}.tablewrap{overflow-x:auto}.ledger{width:100%;border-collapse:collapse;font-size:13px}.ledger th,.ledger td{padding:9px 7px;border-bottom:1px solid #34465f;text-align:left;vertical-align:middle}.ledger th{white-space:nowrap;color:#bbd0e8}.ledger td:last-child{min-width:180px}.cell-copy{font-size:12px;cursor:pointer;padding:5px;background:transparent;border:0;color:#9dd3ff;text-align:left}.cell-copy:hover{text-decoration:underline}.cell-copy.id{font-family:monospace;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-title{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;padding:5px}.cell-title:hover{text-decoration:underline}.selected-row{background:#203652}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.danger{border-color:#9a5360;color:#ffcad0}.instruction-row{padding:12px 0;border-bottom:1px solid #34465f}.instruction-row.selected{background:#1b324e}.instruction-open{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px;cursor:pointer}.instruction-open strong,.instruction-open small{display:block}.ids{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:5px}.ids small{overflow-wrap:anywhere}.copy{font-size:12px;padding:5px 8px}dialog{width:min(94vw,950px);max-height:88vh;overflow:auto;background:#132239;color:#e8f0ff;border:1px solid #607a9c;border-radius:15px;padding:18px}dialog::backdrop{background:#020813bd}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-18px;background:#132239;padding:12px 0;z-index:1}@media(max-width:800px){.layout{grid-template-columns:1fr}}
.ledgerhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ledgerhead h2{margin:0}.toolbar{justify-content:flex-end}.toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.toolbar label input[type=checkbox]{margin:0;width:15px;height:15px}.toolbar .period-filter input{margin:0;width:145px;height:auto;min-width:145px;padding:7px}.toolbar .danger{padding:8px 12px;white-space:nowrap}.stat{cursor:pointer;text-align:left;color:inherit;font:inherit}.stat:hover,.stat[aria-pressed=true]{border-color:#83b3ee;background:#1e3553}.stat:focus-visible{outline:2px solid #90caff}.drillhead{display:flex;align-items:center;justify-content:space-between}.drillhead h2{margin:0 0 10px}.drill-project{border:1px solid #3b5270;border-radius:10px;margin:10px 0;background:#0e1d31}.drill-project>summary{cursor:pointer;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.drill-project>summary small{white-space:normal;text-align:right}.drill-project-body{padding:0 10px 10px}.drill-instruction{border-top:1px solid #2f4561;padding:9px 0}.drill-instruction-open{display:block;width:100%;text-align:left;background:transparent;border:0;padding:5px;cursor:pointer}.drill-instruction-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drill-instruction-head strong{overflow-wrap:anywhere}.drill-work-list{margin:4px 0 0 18px}.drill-work{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;padding:7px;border-left:2px solid #3c5675}.drill-work small{grid-column:2}.drill-work strong{overflow-wrap:anywhere}.badge{display:inline-block;padding:4px 9px;border-radius:14px;font-weight:700;font-size:12px;white-space:nowrap}.badge-running{background:#174c74;color:#9fddff}.badge-review{background:#57411d;color:#ffe098}.badge-wait{background:#39455d;color:#d9e3f5}.badge-error{background:#622837;color:#ffc0ca}.badge-complete{background:#195443;color:#adffdf}.badge-other{background:#3a3a54;color:#dedcff}.cell-title{text-align:left}.ledger th:nth-child(4),.ledger td:nth-child(4){max-width:148px}.ledger td{font-size:13px}
input[type=checkbox]{flex:none;min-width:0;width:17px;height:17px;margin:0;vertical-align:middle;accent-color:#79bcff}
.ledger{table-layout:fixed}.ledger th:first-child,.ledger td:first-child{width:52px;text-align:center}.ledger th:nth-child(2),.ledger td:nth-child(2){width:60px}.ledger th:nth-child(3),.ledger td:nth-child(3){width:95px}.ledger th:nth-child(4),.ledger td:nth-child(4){width:145px}.ledger th:nth-child(5),.ledger td:nth-child(5){width:152px}.ledger th:nth-child(6),.ledger td:nth-child(6){width:145px}
.ledger td:nth-child(4),.ledger td:nth-child(6){overflow:hidden}.ledger .cell-copy.id{display:block;max-width:100%;width:100%}.ledger td:last-child{min-width:0}.cell-title{line-height:1.4;overflow-wrap:anywhere;padding:5px 3px}
.ledgerhead{align-items:center;justify-content:flex-start}.toolbar{gap:9px}.toolbar input[type=checkbox]{min-width:0}.toolbar small{white-space:nowrap;font-size:11px}.tablewrap{width:100%;min-width:0}
.pagination{display:flex;gap:12px;align-items:center;justify-content:center;padding:14px 0 2px}.pagination button{padding:6px 11px}.pagination button:disabled{opacity:.4;cursor:not-allowed}
.collapsible{margin-top:14px}.collapsible>summary{cursor:pointer;font-size:15px;line-height:1.6;list-style-position:inside}.collapsible[open]>summary{margin-bottom:16px}.plans-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}
.plan-table{width:100%;border-collapse:collapse}.plan-table th,.plan-table td{padding:10px;border-bottom:1px solid #354b64;text-align:left}.plan-table .entry{padding:7px}.plan-table th:first-child{width:85px}.plan-table th:nth-child(3){width:110px}
.plan-table th:nth-child(4){width:165px}.plan-table .entry:hover{text-decoration:underline}.plan-table small{white-space:normal}.warning{color:#fbd09b}
[hidden]{display:none!important}
@media(max-width:900px){main{padding:12px}.controls{gap:8px}.controls select{max-width:180px}.panel{padding:12px}.ledger{min-width:980px}.toolbar small{display:none}}
@media(max-width:560px){.ledgerhead{align-items:flex-start}.toolbar{width:100%;justify-content:space-between}.controls select{flex:1}.controls input:not([type=checkbox]){min-width:0;width:100%;max-width:100%;box-sizing:border-box;flex:1 1 100%;order:2}.controls #reload{order:3}.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-head{flex-wrap:wrap}}

.ledgerhead{display:block}.ledgerhead .toolbar{justify-content:flex-start;margin-top:12px;margin-bottom:12px}.ledgerhead h2{margin:0}
.plan-form{margin-top:16px;padding:16px;background:#0c1b30;border:1px solid #385272;border-radius:12px}
.plan-form label{display:block;margin:10px 0}.plan-form input,.plan-form textarea{box-sizing:border-box;width:100%;min-width:0;display:block;margin-top:6px;resize:vertical}
.form-actions{display:flex;gap:8px;margin-top:12px}
#projectDialog{width:min(96vw,1080px)}#planDialog{width:min(96vw,920px)}
.project-chooser{display:grid;gap:10px}.project-chooser button{text-align:left}
#projectInfo{padding:8px 0 12px}
.project-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#projectDialog .plan-table{min-width:680px}#projectDialog .tablewrap{overflow-x:auto}
@media(max-width:600px){.ledgerhead .toolbar{justify-content:flex-start}.form-actions{flex-wrap:wrap}}

.filter-popover{position:fixed;z-index:50;max-height:420px;overflow:hidden;box-sizing:border-box;padding:12px;border:1px solid #607a9c;border-radius:12px;background:#132239;box-shadow:0 14px 40px #0009}
.filter-popover[hidden]{display:none}.filter-popover-head,.filter-popover-controls,.filter-popover-actions,.filter-sort-controls{display:flex;align-items:center;gap:8px}.filter-popover-head{justify-content:space-between;margin-bottom:9px}.filter-popover-head .filter-close{padding:4px 8px}.filter-popover>input{width:100%;box-sizing:border-box;min-width:0;margin-bottom:8px}.filter-sort-controls{margin-bottom:8px}.filter-sort-controls button{flex:1;padding:7px 9px;font-size:12px}.filter-popover-controls{flex-wrap:wrap;margin-bottom:6px}.filter-popover-controls button,.filter-popover-actions button{padding:7px 9px;font-size:12px}.filter-meta{display:block;margin:5px 0 7px}.filter-options{max-height:235px;overflow:auto;border:1px solid #34465f;border-radius:8px;padding:5px}.filter-option{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:6px;cursor:pointer}.filter-option:hover{background:#223956}.filter-option input{flex:none;min-width:0}.filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-popover-actions{justify-content:flex-end;margin-top:9px}
#clearColumnFilters{padding:8px 12px}
.ledger-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filtered-stats{display:flex;gap:6px;flex-wrap:wrap}.linked-work-stats{flex-basis:100%;display:flex;gap:6px;color:#91a6bf;font-size:11px}.linked-work-stat{padding:2px 0}.filter-stat{display:inline-block;padding:4px 7px;border:1px solid #3f5a79;border-radius:12px;background:#0e1d31;color:#c9d8ec;font-size:11px;white-space:nowrap}
.filter-head{display:block}.column-menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;padding:5px 2px;color:#bbd0e8;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.column-menu-trigger.active{color:#9dd3ff}.column-menu-trigger:focus-visible{outline:2px solid #90caff;border-radius:4px}.page-size{display:flex;align-items:center;gap:5px}.page-size select{padding:7px 8px;min-width:72px}
.ledger{min-width:1120px}.ledger th:first-child,.ledger td:first-child{width:52px}.ledger th:nth-child(2),.ledger td:nth-child(2){width:62px}.ledger th:nth-child(3),.ledger td:nth-child(3){width:96px}.ledger th:nth-child(4),.ledger td:nth-child(4){width:96px}.ledger th:nth-child(5),.ledger td:nth-child(5){width:145px}.ledger th:nth-child(6),.ledger td:nth-child(6){width:152px}.ledger th:nth-child(7),.ledger td:nth-child(7){width:145px}.ledger td:nth-child(5),.ledger td:nth-child(7){overflow:hidden}

/* Design refresh — calm operations ledger */
:root{
  color-scheme:dark;
  --bg:#0b1020;
  --bg-subtle:#0e1628;
  --surface:#111a2c;
  --surface-2:#162238;
  --surface-3:#1b2941;
  --border:#2a3a54;
  --border-strong:#3a5070;
  --text:#edf3ff;
  --text-soft:#c3d0e4;
  --muted:#8fa1ba;
  --accent:#72a7ff;
  --accent-strong:#8fbbff;
  --accent-soft:#172d4d;
  --success:#5fd0aa;
  --success-bg:#123b32;
  --warning:#f2c66d;
  --warning-bg:#46371b;
  --danger:#ff9cac;
  --danger-bg:#44212a;
  --danger-strong:#ffb1bd;
  --shadow:0 18px 50px rgba(0,0,0,.22);
  --radius:14px;
  --radius-sm:9px;
  --focus:0 0 0 3px rgba(114,167,255,.3);
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Pretendard","Noto Sans KR",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 12% -10%,rgba(82,126,196,.12),transparent 34rem),
    var(--bg);
  color:var(--text);
  font:14px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Pretendard","Noto Sans KR",sans-serif;
  -webkit-tap-highlight-color:rgba(114,167,255,.16);
}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}
button{
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  color:var(--text);
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
button:hover:not(:disabled){background:var(--surface-3);border-color:#52709a}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{cursor:not-allowed;opacity:.42}
button.primary{background:#214b81;border-color:#3f76b6;color:#f5f9ff}
button.primary:hover{background:#285a98;border-color:#5a8fc9}
a{color:#b8d3ff;text-underline-offset:3px}
a:hover{color:#d8e7ff}
:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;box-shadow:var(--focus)}
.skip-link{
  position:fixed;z-index:200;top:10px;left:10px;
  transform:translateY(-150%);
  padding:9px 12px;border-radius:8px;background:#fff;color:#111827;font-weight:700;
}
.skip-link:focus{transform:translateY(0)}
.app-header{
  padding:18px max(18px,4vw);
  border-bottom:1px solid rgba(87,111,145,.45);
  background:rgba(11,16,32,.86);
  backdrop-filter:blur(16px);
  position:sticky;top:0;z-index:30;
}
.app-header-inner{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand-block{min-width:0}
.eyebrow{display:block;margin-bottom:3px;color:var(--accent);font-size:10px;letter-spacing:.16em;font-weight:800}
.app-header h1{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.app-header p{margin:5px 0 0;color:var(--muted);font-size:13px}
.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
main{padding:22px 20px 38px;max-width:1600px;margin:auto}
.utility-bar{
  display:grid;grid-template-columns:minmax(260px,560px) minmax(220px,1fr);
  gap:14px;align-items:end;margin:0 0 12px;
}
.quick-search-label{display:grid;gap:6px;color:var(--text-soft);font-size:12px;font-weight:700}
.search-shell{position:relative;display:block}
.search-shell input{
  width:100%;height:44px;min-width:0;padding:10px 46px 10px 13px;
  border:1px solid var(--border-strong);border-radius:11px;background:var(--surface);color:var(--text);
}
.search-shell input::placeholder{color:#71849f}
.search-shell input:focus{border-color:var(--accent)}
.search-shell kbd{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  min-width:24px;padding:2px 6px;border:1px solid var(--border);border-bottom-color:#425a7b;border-radius:6px;
  background:#0b1423;color:var(--muted);font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;
}
.sync-status{margin:0;color:var(--muted);font-size:12px;justify-self:end;text-align:right}
.active-filters{min-height:30px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.active-filter-chip{
  display:inline-flex;gap:7px;align-items:center;min-height:28px;padding:4px 8px;
  border:1px solid var(--border);border-radius:999px;background:#101c30;color:var(--text-soft);font-size:12px;
}
.active-filter-chip button{min-height:20px;padding:0 4px;border:0;background:transparent;color:var(--muted)}
.active-filter-empty{color:var(--muted);font-size:12px}
.panel{
  border:1px solid var(--border);border-radius:var(--radius);background:rgba(17,26,44,.94);padding:16px;min-width:0;
  box-shadow:0 1px 0 rgba(255,255,255,.02);
}
.overview{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;margin:0 0 14px}
.stat{
  position:relative;min-height:78px;padding:13px 14px 12px 17px;
  border-color:var(--border);background:var(--surface);
}
.stat::before{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:#4b617e;
}
.stat:hover,.stat[aria-pressed=true]{background:#15243b;border-color:#46658c}
.stat strong{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.stat span{color:var(--text-soft);font-size:12px}
.stat[data-tone="active"]::before{background:var(--accent)}
.stat[data-tone="success"]::before{background:var(--success)}
.stat[data-tone="warning"]::before{background:var(--warning)}
.stat[data-tone="danger"]::before{background:var(--danger)}
.ledgerhead{display:block;margin-bottom:10px}
.ledger-title-row{gap:10px}
.ledger-title-row h2{font-size:18px;letter-spacing:-.02em}
.filtered-stats{gap:5px}
.filter-stat{padding:3px 7px;border-color:#344a68;background:#0e192b;color:#b8c8dc}
.linked-work-stats{margin-top:6px}
.toolbar{
  display:flex;justify-content:space-between!important;align-items:center;gap:12px;margin:12px -16px -6px;padding:11px 16px 0;
  border-top:1px solid rgba(67,86,113,.42);
}
.selection-tools,.view-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.selection-toggle{display:flex;gap:7px;align-items:center;color:var(--text-soft);font-size:12px}
.selection-status{min-width:62px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.period-filter,.page-size{color:var(--muted);font-size:12px}
.toolbar .period-filter input,.page-size select{height:34px;padding:5px 8px;background:#0f1a2d;border-color:var(--border)}
.danger{background:transparent;border-color:#634450;color:#e9a8b5}
.danger:hover:not(:disabled){background:var(--danger-bg);border-color:#8b5361;color:#ffd2d9}
.danger-strong:not(:disabled){border-color:#8a4c59;color:var(--danger-strong)}
.tablewrap{border:1px solid rgba(58,76,103,.65);border-radius:11px;overflow:auto;background:#0d1728}
.ledger{font-size:12.5px}
.ledger thead{position:sticky;top:0;z-index:3}
.ledger th{background:#111d31;color:#9fb2c9;border-bottom-color:#34465f;padding:8px}
.ledger td{padding:10px 8px;border-bottom-color:rgba(52,70,95,.68)}
.ledger tbody tr{transition:background-color .14s ease}
.ledger tbody tr:hover{background:#14233a}
.ledger tbody tr:last-child td{border-bottom:0}
.selected-row{background:#172b47!important;box-shadow:inset 3px 0 var(--accent)}
.cell-copy,.cell-title{border-radius:6px}
.cell-copy{color:#a9cbff}
.cell-copy.id{font:11.5px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8fa6c3}
.cell-title{font-size:13px;color:var(--text);padding:4px 5px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cell-title:hover{text-decoration:none;background:#17263e}
.badge{padding:4px 8px;border-radius:999px;font-size:11px;letter-spacing:.01em}
.badge-running{background:#173a5b;color:#a9ddff}
.badge-review{background:var(--warning-bg);color:#ffe5a5}
.badge-wait{background:#29364a;color:#d2dceb}
.badge-error{background:var(--danger-bg);color:#ffbdc8}
.badge-complete{background:var(--success-bg);color:#adf1d7}
.badge-other{background:#313047;color:#dedcff}
.pagination{padding:13px 0 0}
.pagination span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.collapsible{margin-top:14px;background:rgba(14,23,40,.86)}
.collapsible>summary{padding:2px;color:var(--text-soft)}
.original{background:#0b1424;border-color:#324760}
dialog{
  border-color:#425d7e;background:#101b2e;color:var(--text);box-shadow:var(--shadow);
  overscroll-behavior:contain;
}
.dialog-head{background:#101b2e;border-bottom:1px solid rgba(72,94,126,.46);margin:0 -18px 14px;padding:12px 18px;top:-18px}
.filter-popover{background:#101b2e;border-color:#466181;box-shadow:var(--shadow);overscroll-behavior:contain}
.filter-option:hover{background:#182a44}
.filter-options{border-color:#344a68;background:#0c1728}
.plan-form{background:#0b1627;border-color:#334967}
.help-row{margin:15px 2px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.help-link{font-size:12px}
.warning{color:#ffd59a}
input,select,textarea{
  border-color:var(--border-strong);background:#0f1a2d;color:var(--text);
}
input::placeholder,textarea::placeholder{color:#71839c}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus)}
input[type=checkbox]{accent-color:var(--accent)}
.ledger th,.ledger td,.plan-table th,.plan-table td{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(max-width:900px){
  .app-header{position:static}
  .app-header-inner{align-items:flex-start}
  .utility-bar{grid-template-columns:1fr}
  .sync-status{justify-self:start;text-align:left}
  .toolbar{align-items:flex-start}
}
@media(max-width:720px){
  main{padding:14px 12px 28px}
  .app-header{padding:15px 12px}
  .app-header-inner{display:grid}
  .header-actions{justify-content:flex-start}
  .header-actions button{flex:1 1 auto}
  .overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .panel{padding:12px}
  .toolbar{margin:10px -12px -4px;padding:10px 12px 0;display:grid!important}
  .selection-tools,.view-tools{width:100%}
  .view-tools{display:grid;grid-template-columns:1fr 1fr;align-items:end}
  .view-tools .page-size,.view-tools #clearColumnFilters{grid-column:auto}
  .toolbar .period-filter{display:grid;gap:4px}
  .toolbar .period-filter input{width:100%;min-width:0}
  .selection-status{margin-right:auto}
  .tablewrap{overflow:visible;border:0;background:transparent}
  .ledger{display:block;min-width:0!important;width:100%;table-layout:auto}
  .ledger thead{
    position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .ledger tbody{display:grid;gap:10px;width:100%}
  .ledger tbody tr{
    display:grid;width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:12px;background:var(--surface);
  }
  .ledger tbody tr.selected-row{box-shadow:inset 3px 0 var(--accent)}
  .ledger tbody td{
    width:auto!important;max-width:none!important;min-width:0!important;display:grid;
    grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center;
    padding:7px 4px;border-bottom:1px solid rgba(53,73,99,.38);overflow:visible!important;
  }
  .ledger tbody td:last-child{border-bottom:0}
  .ledger tbody td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700}
  .ledger tbody td.empty-cell{display:block;padding:18px 10px;text-align:center}
  .ledger tbody td.empty-cell::before{content:none}
  .ledger .cell-copy.id{max-width:100%}
  .cell-title{-webkit-line-clamp:3}
  .filter-popover{max-height:min(520px,calc(100vh - 24px))}
}
@media(max-width:480px){
  .overview{grid-template-columns:1fr 1fr}
  .stat{min-height:72px}
  .view-tools{grid-template-columns:1fr}
  .selection-tools .danger{flex:1 1 40%}
  .quick-search-label{font-size:11px}
}

h1,h2,h3{scroll-margin-top:88px}
.ledger tbody tr{content-visibility:auto;contain-intrinsic-size:52px}

.retired-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}
.retired-toggle input{width:16px;height:16px}
.project-group-label{margin-top:8px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}
.retired-project{opacity:.78}
.filter-popover{display:flex;flex-direction:column;max-height:calc(100vh - 24px);overflow:hidden}
.filter-popover[hidden]{display:none}
.filter-options{flex:1 1 auto;min-height:96px;max-height:min(330px,45vh);overflow:auto}
.filter-meta{color:var(--accent-strong)}
@media(max-width:900px){.utility-bar{grid-template-columns:1fr}.retired-toggle{justify-self:start}}

.build-revision{color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

#projectDeleteDialog{width:min(640px,calc(100vw - 24px))}
.delete-impact{display:grid;gap:12px}
.danger-note{margin:0;padding:10px 12px;border:1px solid #754754;border-radius:10px;background:var(--danger-bg);color:#ffd0d8}
.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.impact-item{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);display:grid;gap:3px}
.impact-item strong{font-size:20px;font-variant-numeric:tabular-nums}
.impact-item span{color:var(--muted);font-size:11px}
@media(max-width:520px){.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
