:root{color-scheme:light;--ds-text-primary: #171717;--ds-text-secondary: #525252;--ds-text-tertiary: #a3a3a3;--ds-bg-secondary: #f5f5f5;--ds-bg-tertiary: #efefef;--ds-bg-elevated: #ffffff;--ds-border-default: #e5e5e5;--ds-border-subtle: #f0f0f0;--ds-accent-brand: #22b80f;--ds-success: #16a34a;--ds-success-subtle: rgba(22, 163, 74, .1);--ds-warning: #a16207;--ds-warning-subtle: rgba(234, 179, 8, .14);--ds-danger: #dc2626;--ds-danger-subtle: rgba(239, 68, 68, .1);--ds-info: #2563eb;--ds-info-subtle: rgba(59, 130, 246, .1);--background: oklch(1 0 0);--foreground: oklch(.13 0 0);--card: oklch(1 0 0);--muted: oklch(.96 0 0);--muted-foreground: oklch(.55 0 0);--primary: oklch(.83 .31 142);--primary-foreground: oklch(.13 0 0);--border: oklch(.91 0 0);--ring: oklch(.83 .31 142);--sidebar: oklch(.985 0 0);--overlay: rgba(0, 0, 0, .4);--radius: .625rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px)}.dark{color-scheme:dark;--ds-text-primary: #f5f5f5;--ds-text-secondary: #a0a0a0;--ds-text-tertiary: #666666;--ds-bg-secondary: #101010;--ds-bg-tertiary: #141414;--ds-bg-elevated: #1a1a1a;--ds-border-default: #1f1f1f;--ds-border-subtle: #171717;--ds-accent-brand: #32ed1f;--ds-success: #22c55e;--ds-success-subtle: rgba(34, 197, 94, .15);--ds-warning: #eab308;--ds-warning-subtle: rgba(234, 179, 8, .15);--ds-danger: #ef4444;--ds-danger-subtle: rgba(239, 68, 68, .15);--ds-info: #3b82f6;--ds-info-subtle: rgba(59, 130, 246, .15);--background: oklch(.13 0 0);--foreground: oklch(.985 0 0);--card: oklch(.15 0 0);--muted: oklch(.22 0 0);--muted-foreground: oklch(.65 0 0);--primary: oklch(.83 .31 142);--primary-foreground: oklch(.13 0 0);--border: oklch(.2 0 0);--ring: oklch(.83 .31 142);--sidebar: oklch(.15 0 0);--overlay: rgba(0, 0, 0, .65)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;background:var(--background);color:var(--foreground);font-size:.875rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--ds-accent-brand)}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;width:16rem;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--ds-border-subtle);transition:width .2s ease-out}.sidebar[data-collapsed=true]{width:4rem}.brand{display:flex;align-items:center;gap:.5rem;height:3.5rem;padding:0 1rem;flex-shrink:0;border-bottom:1px solid var(--ds-border-subtle);font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden}.sidebar[data-collapsed=true] .brand{justify-content:center;padding:0}.brand-mark{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--ds-accent-brand);color:#101010;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;flex:1;padding:.75rem;overflow-y:auto;overflow-x:hidden}.nav-item{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ds-text-secondary);font:inherit;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.nav-item svg{width:1rem;height:1rem;flex-shrink:0;color:var(--ds-text-tertiary)}.nav-item:hover{background:var(--ds-bg-tertiary);color:var(--ds-text-primary)}.nav-item.active{background:var(--ds-border-default);color:var(--ds-text-primary);font-weight:500}.nav-item.active svg{color:var(--ds-text-secondary)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;width:2px;height:1.25rem;transform:translateY(-50%);border-radius:999px;background:var(--ds-accent-brand)}.sidebar[data-collapsed=true] .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar[data-collapsed=true] .nav-item span{display:none}.sidebar-footer{padding:.5rem;border-top:1px solid var(--ds-border-subtle)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.5rem;flex-shrink:0;padding:0 1.5rem;border-bottom:1px solid var(--border);background:var(--background)}.app-header .crumb{font-weight:600;color:var(--ds-text-primary)}.app-header .actions{display:flex;align-items:center;gap:.5rem;margin:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ds-text-secondary);cursor:pointer}.icon-button:hover{background:var(--ds-bg-tertiary);color:var(--ds-text-primary)}.icon-button svg{width:1.125rem;height:1.125rem}.main{display:flex;flex-direction:column;flex:1;overflow:hidden}.content{flex:1;padding:1.5rem;overflow-y:auto;animation:page-enter .25s ease-out both}.content h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.content h3{font-size:1rem;font-weight:600}.content .sub{color:var(--muted-foreground);margin:0 0 1.25rem;max-width:78ch}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}input,select,textarea{width:100%;padding:.5rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font:inherit}input[type=checkbox]{width:auto;accent-color:var(--ds-accent-brand)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary);color:var(--primary-foreground);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:500;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out}button:hover:not(:disabled){filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;border-color:var(--border);color:var(--ds-text-primary)}button.ghost:hover:not(:disabled){background:var(--ds-bg-tertiary);filter:none}button.danger{background:var(--ds-danger);border-color:transparent;color:#fff}button.ghost.danger-text{color:var(--ds-danger)}button.ok{background:var(--ds-success);color:#fff}button.sm{padding:.25rem .5rem;font-size:.8125rem}.field{margin-bottom:.75rem}.field label{display:block;color:var(--ds-text-secondary);font-weight:500;margin-bottom:.375rem}.toolbar{display:flex;gap:.625rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.toolbar select{width:auto}.filters{display:flex;gap:.625rem .75rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1.125rem;padding:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--ds-bg-secondary)}.filters .field{margin-bottom:0}.filters input,.filters select{width:auto;min-width:9rem}.filters input[type=date]{min-width:9.5rem}.filters input[type=checkbox]{min-width:0}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}th,td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--ds-border-subtle)}tbody tr:last-child td{border-bottom:0}th{background:var(--ds-bg-secondary);color:var(--ds-text-secondary);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}tbody tr:hover td{background:var(--ds-bg-secondary)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}table.compact td{padding:.25rem .5rem}table.compact td:last-child{text-align:right}.badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.badge.pending{background:var(--ds-warning-subtle);color:var(--ds-warning)}.badge.under_review,.badge.split{background:var(--ds-info-subtle);color:var(--ds-info)}.badge.approved{background:var(--ds-success-subtle);color:var(--ds-success)}.badge.rejected{background:var(--ds-danger-subtle);color:var(--ds-danger)}.badge.subsequent_transfer{background:var(--muted);color:var(--muted-foreground)}.money-group{display:flex;flex-direction:column;gap:2px;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.money-group .k{color:var(--muted-foreground)}.entry-type{color:var(--muted-foreground);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.delta-pos{color:var(--ds-success)}.delta-neg{color:var(--ds-danger)}.error{background:var(--ds-danger-subtle);border:1px solid var(--ds-danger-subtle);color:var(--ds-danger);padding:.625rem .875rem;border-radius:var(--radius-md);margin-bottom:1rem}.empty,.loading{color:var(--muted-foreground);padding:1.5rem 0}.pager{display:flex;gap:.75rem;align-items:center;margin-top:1rem;color:var(--muted-foreground)}.modal-bg{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 48px #0000002e;padding:1.5rem;width:34rem;max-height:86vh;overflow:auto}.modal h3{margin:0 0 .875rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.modal .row{display:flex;justify-content:space-between;padding:.4375rem 0;border-bottom:1px solid var(--ds-border-subtle);gap:1rem}.modal .row span:first-child{color:var(--muted-foreground)}.modal .actions{display:flex;gap:.625rem;justify-content:flex-end;margin-top:1.125rem;flex-wrap:wrap}.section-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted-foreground);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .3125rem}.json-block{background:var(--ds-bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .875rem;margin:0;overflow:auto;max-height:20rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;line-height:1.5;white-space:pre;tab-size:2}.json-block.empty-block{color:var(--muted-foreground)}@media(max-width:768px){.sidebar{width:4rem}.sidebar .brand{justify-content:center;padding:0}.sidebar .brand>span:not(.brand-mark),.sidebar .nav-item span{display:none}.sidebar .nav-item{justify-content:center;padding-left:0;padding-right:0}.content{padding:1rem}}.overall{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-bottom:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--ds-bg-secondary)}.overall-ok{border-color:var(--ds-success-subtle);background:var(--ds-success-subtle)}.overall-warn{border-color:var(--ds-warning-subtle);background:var(--ds-warning-subtle)}.overall-down{border-color:var(--ds-danger-subtle);background:var(--ds-danger-subtle)}.level-dot{width:.625rem;height:.625rem;flex-shrink:0;border-radius:999px;background:var(--muted-foreground)}.level-ok{background:var(--ds-success)}.level-warn{background:var(--ds-warning)}.level-down{background:var(--ds-danger)}.level-unknown{background:var(--ds-text-tertiary)}.check-list{display:flex;flex-direction:column;gap:.5rem}.check{padding:.75rem .875rem;border:1px solid var(--border);border-left:3px solid var(--ds-border-default);border-radius:var(--radius-md);background:var(--card)}.check-ok{border-left-color:var(--ds-success)}.check-warn{border-left-color:var(--ds-warning)}.check-down{border-left-color:var(--ds-danger)}.check-unknown{border-left-color:var(--ds-text-tertiary)}.check-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.check-detail{margin-top:.25rem;color:var(--ds-text-secondary)}.check-impact{margin-top:.375rem;padding-left:.625rem;border-left:2px solid var(--ds-border-default);color:var(--muted-foreground);font-size:.8125rem}.check-note{margin:.5rem 0;color:var(--muted-foreground);font-size:.8125rem;max-width:90ch}.check .json-block{margin-top:.5rem;max-height:12rem}.phase-tag{margin-left:auto;color:var(--ds-text-tertiary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-bottom:1.25rem}.stat{padding:.75rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.stat-label{color:var(--ds-text-tertiary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.stat-value{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-hint{color:var(--muted-foreground);font-size:.75rem;font-variant-numeric:tabular-nums}
