:root{color-scheme:dark;--bg: #0b0d11;--surface: #14171d;--surface-sunk: #0f1115;--surface-hover: #1a1e26;--surface-select: #1e2333;--ink: #f5f5f7;--ink-2: #c3c6d1;--ink-3: #9297a6;--ink-4: #6b7183;--rule: rgba(255, 255, 255, .09);--rule-strong: rgba(255, 255, 255, .18);--rule-focus: #a78bfa;--accent: #7c3aed;--accent-deep: #6d28d9;--accent-press: #5b21b6;--accent-ink: #ddd6fe;--accent-soft: rgba(124, 58, 237, .16);--accent-rule: rgba(124, 58, 237, .45);--ok: #34d399;--ok-soft: rgba(52, 211, 153, .13);--ok-rule: rgba(52, 211, 153, .36);--ok-ink: #9ff0d0;--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .13);--warn-rule: rgba(251, 191, 36, .36);--warn-ink: #ffe9b8;--danger: #ff7a9a;--danger-soft: rgba(255, 122, 154, .13);--danger-rule: rgba(255, 122, 154, .4);--danger-ink: #ffd9e3;--danger-solid: #b91c1c;--danger-solid-hover: #991b1b;--info: #60a5fa;--info-soft: rgba(96, 165, 250, .13);--info-rule: rgba(96, 165, 250, .36);--brand-gradient: linear-gradient(120deg, #7c3aed 0%, #2563eb 62%, #06b6d4 100%);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 2px 6px rgba(0, 0, 0, .35);--shadow-2: 0 18px 40px -16px rgba(0, 0, 0, .75), 0 2px 8px rgba(0, 0, 0, .45);--ring: 0 0 0 3px rgba(124, 58, 237, .38);--ring-danger: 0 0 0 3px rgba(255, 122, 154, .32);--radius: 6px;--radius-sm: 4px;--radius-pill: 999px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--rail-height: 48px;--sidebar-width: 236px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.011em;color:var(--ink)}a{color:var(--accent-deep);text-decoration-thickness:1px;text-underline-offset:2px}:focus-visible{outline:2px solid var(--rule-focus);outline-offset:2px;border-radius:var(--radius-sm)}.mono,code,kbd{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:-.01em}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:1rem .75rem .85rem;background:var(--surface);border-right:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem .85rem;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}.brand-mark{width:1.65rem;height:1.65rem;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.2;font-size:.875rem;font-weight:600;letter-spacing:-.01em}.brand-text small{margin-top:.1rem;color:var(--ink-3);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.side-nav{display:grid;gap:.1rem;margin-top:1.15rem}.nav-group-label{margin:.9rem 0 .3rem;padding-inline:.5rem;color:var(--ink-3);font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.nav-group-label:first-child{margin-top:0}.side-nav a{position:relative;display:flex;align-items:center;min-height:32px;border-radius:var(--radius-sm);color:var(--ink-2);padding:.4rem .5rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .12s ease,color .12s ease}.side-nav a:hover{background:var(--surface-hover);color:var(--ink)}.side-nav a.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.side-nav a.active:before{content:"";position:absolute;inset-inline-start:-.75rem;top:6px;bottom:6px;width:2px;border-radius:2px;background-image:var(--brand-gradient)}.sidebar-footer{display:grid;gap:.6rem;padding-top:.85rem;border-top:1px solid var(--rule)}.admin-chip{display:grid;grid-template-columns:1.85rem minmax(0,1fr);align-items:center;gap:.55rem;padding-inline:.5rem}.admin-chip>span{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-rule);color:var(--accent-ink);font-size:.75rem;font-weight:700;text-transform:uppercase}.admin-chip strong,.admin-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chip strong{font-size:.8125rem;font-weight:600}.admin-chip small{color:var(--ink-3);font-size:.6875rem;letter-spacing:.02em}.content{min-width:0;display:flex;flex-direction:column}.top-rail{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--rail-height);padding:0 1.5rem;background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:5}.rail-crumb{display:flex;align-items:center;gap:.5rem;min-width:0;color:var(--ink-3);font-size:.8125rem}.rail-crumb strong{color:var(--ink);font-weight:600}.rail-crumb .sep{color:var(--ink-4)}.rail-meta{display:flex;align-items:center;gap:.5rem;flex:none}.rail-host{display:inline-flex;align-items:center;gap:.4rem;max-width:26ch;border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface-sunk);padding:.2rem .6rem .2rem .5rem;color:var(--ink-3);font-family:var(--font-mono);font-size:.6875rem}.rail-host:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--ok)}.rail-host>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-body{min-width:0;padding:1.5rem}.page-stack{display:grid;gap:1.5rem;max-width:1400px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:.85rem;border-bottom:1px solid var(--rule)}.page-header h1{font-size:1.25rem;letter-spacing:-.014em}.page-header p,.detail-heading p{margin:.2rem 0 0;color:var(--ink-3);font-size:.8125rem}.page-header-actions{display:flex;align-items:center;gap:.5rem;flex:none}.search-input{width:min(24rem,100%);min-height:34px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface-sunk);color:var(--ink);padding:.35rem .6rem;font-size:.875rem;transition:border-color .12s ease,box-shadow .12s ease}.search-input::placeholder{color:var(--ink-4)}.search-input:hover{border-color:var(--ink-4)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:hidden}.metric{display:grid;gap:.3rem;min-width:0;padding:.9rem 1rem;border-inline-start:1px solid var(--rule)}.metric:first-child{border-inline-start:none}.metric span{color:var(--ink-2);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.metric strong{font-family:var(--font-mono);font-size:1.6rem;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.metric small{color:var(--ink-3);font-size:.75rem}.metric.attention strong{color:var(--warn)}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.action-panel{display:grid;gap:.3rem;padding:.9rem 1rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .12s ease,background .12s ease}.action-panel:hover{border-color:var(--accent-rule);background:var(--accent-soft)}.action-panel strong{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;font-weight:600}.action-panel strong:after{content:"→";color:var(--ink-4);font-weight:400;transition:transform .12s ease,color .12s ease}.action-panel:hover strong:after{color:var(--accent);transform:translate(2px)}.action-panel span{color:var(--ink-3);font-size:.8125rem;line-height:1.45}.split-view{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:1rem;align-items:start}.panel{min-width:0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);padding:1rem}.panel.flush{padding:0;overflow:hidden}.table-list{display:grid;margin:-.35rem -.5rem}.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:46px;border:none;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;padding:.65rem .5rem;text-align:start;color:var(--ink);transition:background .12s ease}.table-list>.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--surface-hover)}.list-row.active{background:var(--surface-select);box-shadow:inset 2px 0 0 var(--accent)}.list-row>span{display:grid;gap:.15rem;min-width:0}.list-row strong,.list-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row strong{font-size:.8125rem;font-weight:600}.list-row small{color:var(--ink-3);font-size:.75rem}.list-row small .mono{color:var(--ink-3)}.detail-panel{display:grid;gap:1.15rem}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--rule)}.detail-heading h2{font-size:1rem}.section-title{margin-bottom:.6rem}.section-title h3{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.form-grid label{display:grid;gap:.3rem;min-width:0;color:var(--ink-2);font-size:.8125rem;font-weight:500}.form-grid input,.form-grid select,.form-grid textarea,.inline-form select{width:100%;min-height:34px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface-sunk);color:var(--ink);padding:.35rem .6rem;font-size:.875rem;transition:border-color .12s ease,box-shadow .12s ease}.form-grid input:hover:not(:disabled),.form-grid select:hover:not(:disabled),.form-grid textarea:hover:not(:disabled),.inline-form select:hover:not(:disabled){border-color:var(--ink-4)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.inline-form select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled{background:var(--surface-sunk);color:var(--ink-4);cursor:not-allowed}.form-grid input::placeholder,.form-grid textarea::placeholder{color:var(--ink-4)}.form-grid textarea{min-height:5rem;resize:vertical;line-height:1.5}.form-grid input.mono,.form-grid textarea.mono{font-family:var(--font-mono);font-size:.8125rem}.wide{grid-column:1 / -1}.field-hint{grid-column:1 / -1;margin:-.35rem 0 0;color:var(--ink-3);font-size:.75rem;line-height:1.45}.toggle-row{display:flex!important;flex-direction:row;align-items:center;gap:.5rem!important;min-height:34px;cursor:pointer}.toggle-row input[type=checkbox]{width:1rem;height:1rem;min-height:0;accent-color:var(--accent);cursor:pointer}.button-row,.inline-form,.pager{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.button-row{grid-column:1 / -1}.field-block{display:grid;gap:1rem;min-width:0}.field-label{display:grid;gap:.25rem}.field-label>span{color:var(--ink-2);font-size:.8125rem;font-weight:500}.field-label>small{color:var(--ink-3);font-size:.75rem;font-weight:400;line-height:1.45}.field-issue{color:var(--danger);font-size:.75rem;line-height:1.45}.field-block .field-hint{margin:0}.repeat-list{display:grid;border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.repeat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .5rem;border-bottom:1px solid var(--rule);background:var(--surface-sunk);padding:.4rem .5rem}.repeat-row:last-child{border-bottom:none}.repeat-row input{min-height:32px}.repeat-row .field-issue{grid-column:1 / -1;margin:0}.scope-list{display:grid;border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.form-grid .scope-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.6rem;border-bottom:1px solid var(--rule);background:var(--surface-sunk);padding:.55rem .7rem;font-weight:400;cursor:pointer;transition:background .12s ease}.scope-option:last-child{border-bottom:none}.scope-option:hover{background:var(--surface-hover)}.scope-option.selected{background:var(--accent-soft)}.scope-option input{width:1rem;height:1rem;min-height:0;margin:.15rem 0 0;accent-color:var(--accent);cursor:pointer}.scope-option>span{display:grid;gap:.1rem;min-width:0}.scope-option strong{display:flex;align-items:center;gap:.4rem;color:var(--ink);font-family:var(--font-mono);font-size:.8125rem;font-weight:500}.scope-option small{color:var(--ink-3);font-size:.75rem;line-height:1.45}.primary-button,.secondary-button,.danger-button,.ghost-button,.pager button,.badge button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;border:1px solid transparent;border-radius:var(--radius);padding:.35rem .75rem;font-size:.8125rem;font-weight:600;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.primary-button{background:var(--accent);border-color:var(--accent-deep);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-deep)}.primary-button:active:not(:disabled){background:var(--accent-press)}.secondary-button{background:transparent;border-color:var(--rule-strong);color:var(--ink)}.secondary-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-4)}.danger-button{background:transparent;border-color:var(--danger-rule);color:var(--danger)}.danger-button:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.ghost-button,.pager button,.badge button{background:transparent;border-color:transparent;color:var(--ink-2)}.ghost-button:hover:not(:disabled),.pager button:hover:not(:disabled),.badge button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}button:disabled{background:var(--surface-sunk);border-color:var(--rule);color:var(--ink-4);opacity:1}.primary-button.danger{background:var(--danger-solid);border-color:var(--danger-solid-hover);color:#fff}.primary-button.danger:hover:not(:disabled){background:var(--danger-solid-hover)}.danger-button:focus-visible{outline-color:var(--danger);box-shadow:var(--ring-danger)}.status{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--radius-pill);border:1px solid var(--rule);background:var(--surface-sunk);color:var(--ink-2);padding:.1rem .5rem;font-size:.6875rem;font-style:normal;font-weight:600;letter-spacing:.02em;white-space:nowrap}.status:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--ink-4)}.status.good{background:var(--ok-soft);border-color:var(--ok-rule);color:var(--ok)}.status.good:before{background:var(--ok)}.status.muted{background:var(--surface-sunk);border-color:var(--rule);color:var(--ink-3)}.status.warn{background:var(--warn-soft);border-color:var(--warn-rule);color:var(--warn)}.status.warn:before{background:var(--warn)}.status.danger{background:var(--danger-soft);border-color:var(--danger-rule);color:var(--danger)}.status.danger:before{background:var(--danger)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.info-grid div{display:grid;gap:.15rem;min-width:0;padding:.6rem 0;border-bottom:1px solid var(--rule)}.info-grid span{color:var(--ink-2);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.info-grid strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.8125rem;font-weight:400;color:var(--ink)}.badge-list{display:flex;flex-wrap:wrap;gap:.4rem}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--radius-pill);border:1px solid var(--rule-strong);background:var(--surface-sunk);color:var(--ink-2);padding:.1rem .25rem .1rem .6rem;font-size:.8125rem;font-weight:500}.badge button{min-height:1.5rem;padding:0 .35rem;color:var(--ink-3);font-size:.75rem}.badge button:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.inline-form{align-items:stretch}.inline-form select{flex:1;min-width:13rem}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.permission-grid fieldset{display:grid;gap:.35rem;min-width:0;border:1px solid var(--rule);border-radius:var(--radius);margin:0;padding:.75rem}.permission-grid legend{color:var(--ink-2);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-inline:.3rem}.notice{display:flex;align-items:flex-start;gap:.5rem;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--surface-sunk);padding:.6rem .75rem;font-size:.8125rem;line-height:1.45}.notice.error{background:var(--danger-soft);border-color:var(--danger-rule);color:var(--danger-ink)}.notice.success{background:var(--ok-soft);border-color:var(--ok-rule);color:var(--ok-ink)}.notice.secret{display:grid;gap:.3rem;background:var(--warn-soft);border-color:var(--warn-rule);color:var(--warn-ink)}.notice.secret code{overflow-wrap:anywhere;color:var(--warn)}.ledger-table{width:100%;border-collapse:collapse;font-size:.8125rem}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.ledger-table small{display:block;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:.6875rem}.ledger-table th{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--rule-strong);background:var(--surface);padding:.45rem .7rem;text-align:start;color:var(--ink-2);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ledger-table td{border-bottom:1px solid var(--rule);padding:.5rem .7rem;vertical-align:middle;color:var(--ink-2)}.ledger-table tbody tr:hover td{background:var(--surface-hover)}.ledger-table tbody tr:last-child td{border-bottom:none}.ledger-table .primary-cell{color:var(--ink);font-weight:600}.ledger-table .num{font-family:var(--font-mono);text-align:end}.ledger-table .actions{text-align:end;white-space:nowrap}.state-page,.state-inline{color:var(--ink-3)}.state-page{display:grid;place-items:center;min-height:100vh;padding:2rem;background:var(--bg)}.state-inline{display:grid;place-items:center;padding:2.5rem 1rem;font-size:.8125rem}.state-panel{display:grid;gap:.4rem;width:100%;max-width:26rem;padding:1.25rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1)}.state-panel h1{font-size:1.05rem}.state-panel p{margin:0;color:var(--ink-3);line-height:1.55;font-size:.8125rem}.muted-text{color:var(--ink-3)}.empty-state{display:grid;gap:.3rem;place-items:center;padding:2.25rem 1rem;border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--surface);text-align:center}.empty-state strong{font-size:.875rem;font-weight:600}.empty-state p{margin:0;max-width:42ch;color:var(--ink-3);font-size:.8125rem;line-height:1.5}.skeleton{display:grid;gap:.5rem}.skeleton span{height:.75rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-sunk) 0%,var(--surface-hover) 50%,var(--surface-sunk) 100%);background-size:200% 100%;animation:ledger-sheen 1.4s ease-in-out infinite}.skeleton span:nth-child(2){width:72%}.skeleton span:nth-child(3){width:48%}@keyframes ledger-sheen{0%{background-position:120% 0}to{background-position:-20% 0}}.pager{justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--rule);color:var(--ink-3);font-size:.8125rem}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow-y:visible;border-right:none;border-bottom:1px solid var(--rule);padding-bottom:.6rem}.side-nav{grid-auto-flow:column;grid-auto-columns:max-content;gap:.25rem;overflow-x:auto;margin-top:.85rem;padding-bottom:.2rem;scrollbar-width:thin}.nav-group-label{display:none}.side-nav a.active:before{inset-inline-start:0;top:auto;bottom:2px;left:.5rem;right:.5rem;width:auto;height:2px}.sidebar-footer{grid-auto-flow:column;align-items:center;justify-content:space-between;padding-top:.6rem}.metric-grid,.action-grid,.split-view{grid-template-columns:1fr}.metric{border-inline-start:none;border-top:1px solid var(--rule)}.metric:first-child{border-top:none}}@media (max-width: 640px){.top-rail,.page-body{padding-inline:1rem}.page-body{padding-block:1.15rem}.page-header{align-items:stretch;flex-direction:column;gap:.75rem}.page-header-actions{flex-wrap:wrap}.rail-host{display:none}.form-grid,.info-grid,.permission-grid{grid-template-columns:1fr}.form-grid input,.form-grid select,.form-grid textarea,.inline-form select,.search-input{font-size:1rem}.ledger-table th,.ledger-table td{padding-inline:.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
