:root,:root[data-theme=daylight]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f9;--bg-accent-1:#4338ca14;--bg-accent-2:#0e749012;--surface:#fff;--border:#d8dee9;--border-focus:#4338ca;--text:#1c2433;--text-muted:#5b6575;--text-faint:#8a93a5;--primary:#4338ca;--primary-hover:#3730a3;--primary-contrast:#fff;--danger:#b3261e;--danger-bg:#fdecea;--danger-border:#f3c1bd;--ok:#157347;--ok-bg:#1573471f;--warn:#92400e;--warn-bg:#d9770624;--select-caret:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6575' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--shadow:0 1px 2px #1018280f, 0 12px 32px -8px #10182824;--radius:12px}:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f141c;--bg-accent-1:#818cf81a;--bg-accent-2:#22d3ee0f;--surface:#171e29;--border:#2b3648;--border-focus:#a5b4fc;--text:#e7ecf4;--text-muted:#a3adbf;--text-faint:#6e7889;--primary:#818cf8;--primary-hover:#a5b4fc;--primary-contrast:#0b1220;--danger:#f2887f;--danger-bg:#b3261e29;--danger-border:#f2887f59;--ok:#6fd3a3;--ok-bg:#6fd3a324;--warn:#fbbf24;--warn-bg:#fbbf2424;--select-caret:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3adbf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--shadow:0 1px 2px #0006, 0 16px 40px -12px #0000008c;--radius:12px}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background-color:var(--bg);background-image:radial-gradient(48rem 30rem at 18% -8%, var(--bg-accent-1), transparent 60%), radial-gradient(40rem 28rem at 105% 110%, var(--bg-accent-2), transparent 60%);margin:0}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:26rem;box-shadow:var(--shadow);padding:2.5rem 2.25rem 1.75rem}.login-header{text-align:center;margin-bottom:1.75rem}.brand-mark{justify-content:center;margin:0 auto 1rem;display:flex}.brand-mark img{width:auto;height:3.25rem;display:block}.login-header h1{letter-spacing:-.01em;margin:0;font-size:1.375rem;font-weight:650}.login-subtitle{color:var(--text-muted);margin:.375rem 0 0;font-size:.9375rem}.form-alert{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.form-alert.success{border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:var(--ok-bg);color:var(--ok)}.reset-confirmation{color:var(--text-muted);margin:.5rem 0 0;font-size:.9375rem;line-height:1.6}.forgot-link svg{vertical-align:-.1em;width:.8125rem;height:.8125rem}.field{margin-bottom:1.125rem}.field label{margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:block}.field-label-row{justify-content:space-between;align-items:baseline;display:flex}.forgot-link{color:var(--primary);font-size:.8125rem;text-decoration:none}.forgot-link:hover{text-decoration:underline}.field input[type=text],.field input[type=password]{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:0 0;border-radius:8px;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--text-faint)}.field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 22%, transparent);outline:none}.field input.invalid{border-color:var(--danger)}.field input.invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 20%, transparent)}.field-error{color:var(--danger);margin:.375rem 0 0;font-size:.8125rem}.password-wrap{position:relative}.password-wrap input{padding-right:2.75rem}.toggle-password{width:2rem;height:2rem;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.toggle-password:hover{color:var(--text-muted);background:color-mix(in srgb, var(--text) 7%, transparent)}.toggle-password:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.toggle-password svg{width:1.125rem;height:1.125rem}.remember{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin:.25rem 0 1.375rem;font-size:.875rem;display:flex}.remember input{width:1rem;height:1rem;accent-color:var(--primary);margin:0}.submit-btn{width:100%;font:inherit;color:var(--primary-contrast);background:var(--primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;padding:.6875rem 1rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:flex}.submit-btn:hover:not(:disabled){background:var(--primary-hover)}.submit-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.submit-btn:disabled{cursor:default;opacity:.75}.submit-btn svg{flex:none;width:1rem;height:1rem}.submit-btn .spinner{border:2px solid color-mix(in srgb, var(--primary-contrast) 35%, transparent);border-top-color:var(--primary-contrast);border-radius:50%;flex:none;width:1rem;height:1rem;animation:.7s linear infinite spin;display:none}.submit-btn.loading .spinner{display:block}.submit-btn.loading svg{display:none}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{border-top:1px solid var(--border);text-align:center;margin-top:1.75rem;padding-top:1.25rem}.login-footer p{color:var(--text-faint);margin:0;font-size:.75rem}@media (width<=480px){.login-card{box-shadow:none;background:0 0;border:none;padding:2rem 1.5rem 1.5rem}}.app{grid-template-columns:15rem 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:1rem;height:100vh;padding:1rem .875rem;display:flex;position:sticky;top:0}.sidebar-top{align-items:center;gap:.375rem;display:flex}.burger{width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.burger:hover{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.burger svg{width:1.25rem;height:1.25rem}.sidebar-brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.625rem;padding:.25rem .375rem;font-weight:650;display:flex}.brand-mark.small{align-items:center;margin:0;display:flex}.brand-mark.small img{height:2.125rem}.sidebar-search{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text-faint);cursor:text;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.sidebar-search svg{flex:none;width:1rem;height:1rem}.sidebar-search input{width:100%;font:inherit;color:var(--text);background:0 0;border:none;outline:none;font-size:.875rem}.sidebar-search input::placeholder{color:var(--text-faint)}.sidebar-nav{flex-direction:column;gap:.125rem;display:flex}.sidebar-nav a{color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:.75rem;padding:.5625rem .75rem;font-size:.9075rem;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-nav a svg{width:1.125rem;height:1.125rem;color:var(--text-muted)}.sidebar-nav a:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.sidebar-nav a.active{background:color-mix(in srgb, var(--primary) 11%, transparent);color:var(--primary);font-weight:600}.sidebar-nav a.active svg{color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:.875rem}.theme-picker{position:relative}.theme-btn{width:100%;font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;font-weight:600;display:flex}.theme-btn:hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.theme-btn svg{flex:none;width:1rem;height:1rem}.theme-btn .nav-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.theme-dots{flex:none;gap:2px;display:inline-flex}.theme-dot{border:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-radius:50%;width:.5rem;height:.5rem}.theme-menu[hidden]{display:none}.theme-menu{z-index:20;background:var(--surface);border:1px solid var(--border);min-width:13.5rem;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:.3125rem;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.theme-menu-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:.25rem .5rem .375rem;font-size:.6875rem;font-weight:700}.theme-option{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.5625rem;padding:.4375rem .5rem;font-size:.8125rem;display:flex}.theme-option:hover{background:color-mix(in srgb, var(--primary) 9%, transparent)}.theme-option .theme-dot{width:.625rem;height:.625rem}.theme-option .theme-name{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.theme-option .theme-name small{color:var(--text-faint);font-size:.6875rem}.theme-option.active{color:var(--primary);font-weight:600}.theme-option svg{opacity:0;flex:none;width:.875rem;height:.875rem}.theme-option.active svg{opacity:1}.sidebar-user{align-items:center;gap:.5rem;display:flex}.avatar{width:1.875rem;height:1.875rem;color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.avatar svg{width:1rem;height:1rem}.profile-btn{min-width:0;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:.5rem;padding:.25rem;display:flex}.profile-btn:hover{background:color-mix(in srgb, var(--text) 5%, transparent)}.sidebar-user-name{text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden}.signout-btn{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:.375rem .625rem;font-size:.75rem;font-weight:600}.signout-btn:hover{border-color:var(--text-faint);background:color-mix(in srgb, var(--text) 5%, transparent)}.content{min-width:0;padding:2rem 2.25rem 3rem}.app.collapsed{grid-template-columns:4.25rem 1fr}.app.collapsed .sidebar{padding:1rem .625rem}.app.collapsed .sidebar-top{justify-content:center}.app.collapsed .sidebar-brand,.app.collapsed .sidebar-search,.app.collapsed .nav-label,.app.collapsed .sidebar-user-name,.app.collapsed .signout-btn{display:none}.app.collapsed .sidebar-nav a{justify-content:center;padding:.625rem 0}.app.collapsed .nav-badge{min-width:1rem;height:1rem;margin:0;padding:0 .25rem;font-size:.625rem;position:absolute;top:.125rem;right:.375rem}.app.collapsed .sidebar-user{justify-content:center}.app.collapsed .profile-btn{flex:none;justify-content:center}.page{max-width:68rem;margin:0 auto}.page.narrow{max-width:36rem}.page h1{letter-spacing:-.015em;margin:0 0 1.25rem;font-size:1.5rem}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head h1{margin:0}.head-actions{flex-wrap:wrap;gap:.625rem;display:flex}.loading{color:var(--text-muted)}.back-link{color:var(--text-muted);margin-bottom:.75rem;font-size:.875rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--primary)}.btn{font:inherit;color:var(--primary);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;padding:.5625rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--primary) 5%, var(--surface))}.btn.primary{color:var(--primary-contrast);background:var(--primary);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.outline{border-color:color-mix(in srgb, var(--primary) 55%, transparent)}.btn.sm{padding:.3125rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.6;cursor:default}.greeting{margin:0 0 1rem;font-size:1.5rem}.action-row{flex-wrap:wrap;gap:.625rem;margin-bottom:1.75rem;display:flex}.panel-block{background:color-mix(in srgb, var(--text) 3%, var(--surface));border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem 1.25rem 1.375rem}.panel-block h2{margin:0 0 1rem;font-size:1.0625rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.875rem;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem 1.125rem;display:flex}.metric-label{color:var(--text-muted);font-size:.8125rem}.metric-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.card-row{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card h3{margin:0;font-size:1rem}.card-subtitle{color:var(--text-faint);margin:.125rem 0 1rem;font-size:.8125rem}.ratio-bar{border-radius:6px;gap:3px;height:2.25rem;margin-bottom:.875rem;display:flex;overflow:hidden}.ratio-seg{border-radius:3px;min-width:4px}.seg-0{background:var(--primary)}.seg-1{background:color-mix(in srgb, var(--primary) 35%, var(--surface))}.seg-2{background:color-mix(in srgb, var(--text) 14%, var(--surface))}span.dot{border-radius:50%;width:.5rem;height:.5rem;margin-right:.5rem;display:inline-block}.ratio-legend{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.ratio-legend li{color:var(--text-muted);align-items:center;font-size:.875rem;display:flex}.ratio-legend b{color:var(--text);margin-left:auto}.stat-list{margin:0;padding:0;list-style:none}.stat-list li{border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:space-between;padding:.5625rem 0;font-size:.875rem;display:flex}.stat-list li:last-child{border-bottom:none}.stat-list b{color:var(--text)}.listing{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.filter-panel{border-bottom:1px solid var(--border);padding:1rem 1.25rem 1.25rem}.filter-title{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:650;display:block}.filter-form{flex-wrap:wrap;align-items:flex-end;gap:.875rem;display:flex}.filter-field{flex-direction:column;gap:.375rem;display:flex}.filter-field.grow{flex:1;min-width:12rem}.filter-field label{font-size:.8125rem;font-weight:600}.filter-field input,.filter-field select{font:inherit;color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.filter-field select{padding-right:2.25rem}.filter-field input:focus,.filter-field select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 20%, transparent);outline:none}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{text-align:left;background:color-mix(in srgb, var(--primary) 9%, var(--surface));color:var(--primary);white-space:nowrap;padding:.75rem 1rem;font-weight:650}.data-table td{border-top:1px solid var(--border);vertical-align:middle;padding:.6875rem 1rem}.data-table tbody tr:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.cell-link{color:var(--primary);font-weight:600;text-decoration:none}.cell-link:hover{text-decoration:underline}.empty-row{text-align:center;color:var(--text-faint);padding:2rem 1rem!important}.status{border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:650;display:inline-block}.status.ok{color:var(--ok);background:var(--ok-bg)}.status.off{color:var(--danger);background:var(--danger-bg)}.ops-col{white-space:nowrap;width:1%}.split-btn{display:inline-flex;position:relative}.split-btn .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding-inline:.5rem}.split-btn .menu[hidden]{display:none}.split-btn .menu{z-index:10;background:var(--surface);border:1px solid var(--border);min-width:10rem;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.split-btn .menu button{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.split-btn .menu button:hover{background:color-mix(in srgb, var(--primary) 9%, transparent);color:var(--primary)}.pagination{justify-content:center;gap:.375rem;padding:1rem;display:flex}.pagination:empty{padding:.5rem}.page-btn{min-width:2rem;height:2rem;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0 .375rem;font-size:.8125rem;font-weight:600;display:grid}.page-btn:hover{background:color-mix(in srgb, var(--text) 7%, transparent)}.page-btn.current{color:var(--primary-contrast);background:var(--primary)}.page-btn.nav{color:var(--text-muted);font-size:1.125rem}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.form-card .field input[type=text],.form-card .field input[type=password]{background:var(--surface)}.form-card .field input:disabled{color:var(--text-faint);background:color-mix(in srgb, var(--text) 5%, transparent);cursor:not-allowed}.form-card fieldset.field{border:none;margin:0 0 1.125rem;padding:0}.form-card legend{margin-bottom:.5rem;padding:0;font-size:.875rem;font-weight:600}.check-list{flex-direction:column;gap:.5rem;display:flex}.check-item{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.check-item:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.check-item input{accent-color:var(--primary);margin-top:.2rem}.check-item span{flex-direction:column;display:flex}.check-item b{font-size:.875rem}.check-item small{color:var(--text-muted);font-size:.8125rem}.form-actions{gap:.625rem;margin-top:1.5rem;display:flex}.sso-divider{color:var(--text-faint);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8125rem;display:flex}.sso-divider:before,.sso-divider:after{content:"";border-top:1px solid var(--border);flex:1}.sso-btn{width:100%}.notice{border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);background:color-mix(in srgb, var(--primary) 9%, transparent);color:var(--primary);border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.nav-badge[hidden]{display:none}.nav-badge{min-width:1.25rem;height:1.25rem;color:var(--primary-contrast);background:var(--primary);border-radius:999px;place-items:center;margin-left:auto;padding:0 .375rem;font-size:.6875rem;font-weight:700;display:grid}.status.pending{color:var(--warn);background:var(--warn-bg)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.btn.danger:hover{background:var(--danger-bg);border-color:var(--danger)}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.875rem;margin:0 0 1.5rem;display:grid}.meta-grid .wide{grid-column:1/-1}.meta-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.meta-grid dd{margin:0;font-size:.9075rem}.section-title{margin:0 0 .75rem;font-size:1rem}.diff-table{border-collapse:collapse;width:100%;font-size:.8455rem}.diff-table th,.diff-table td{text-align:left;border:1px solid var(--border);vertical-align:top;word-break:break-word;padding:.5rem .75rem}.diff-table thead th{background:color-mix(in srgb, var(--primary) 9%, var(--surface));color:var(--primary);font-weight:650}.diff-table tbody th{background:color-mix(in srgb, var(--text) 3%, transparent);width:8rem;font-weight:600}.diff-table tr.changed td{background:color-mix(in srgb, var(--primary) 8%, transparent);font-weight:600}.diff-empty{color:var(--text-faint)}.btn svg{flex:none;width:1rem;height:1rem}.page h1,.page-head h1{align-items:center;gap:.625rem;display:flex}.page h1 svg{width:1.375rem;height:1.375rem;color:var(--primary);flex:none}.panel-block h2,.card h2,.card h3{align-items:center;gap:.5rem;display:flex}.panel-block h2 svg,.card h2 svg,.card h3 svg{width:1.0625rem;height:1.0625rem;color:var(--primary);flex:none}.split-btn .menu button{align-items:center;gap:.5rem;display:flex}.split-btn .menu button svg{width:.9375rem;height:.9375rem;color:var(--text-muted);flex:none}.back-link{align-items:center;gap:.375rem;display:inline-flex}.back-link svg{width:.9375rem;height:.9375rem}.signout-btn{align-items:center;gap:.375rem;display:inline-flex}.signout-btn svg{flex:none;width:.875rem;height:.875rem}.busy-overlay{z-index:2000;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:wait;place-items:center;display:none;position:fixed;inset:0}.busy-overlay.visible{display:grid}.busy-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:.875rem;padding:1.75rem 2.5rem;display:flex}.busy-spinner{border:3px solid color-mix(in srgb, var(--primary) 25%, transparent);border-top-color:var(--primary);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite busy-spin}.busy-text{color:var(--text-muted);font-size:.9375rem;font-weight:600}@keyframes busy-spin{to{transform:rotate(360deg)}}.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(38rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow);padding:1.5rem 1.5rem 1.75rem}.modal::backdrop{background:#090e1673}.modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:1.125rem}.modal-close{width:2rem;height:2rem;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;place-items:center;font-size:1.25rem;line-height:1;display:grid}.modal-close:hover{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.modal-subtitle{color:var(--text-faint);margin:.25rem 0 1.25rem;font-size:.8125rem}.chip{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:999px;padding:.1875rem .625rem;font-size:.8125rem;font-weight:600;display:inline-block}.chip.subtle{color:var(--text-muted);background:color-mix(in srgb, var(--text) 8%, transparent);font-weight:500}@media (width<=860px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;height:auto;position:static}.sidebar-search{order:3;width:100%}.sidebar-nav{flex-flow:wrap}.sidebar-footer{border-top:none;margin-top:0;margin-left:auto;padding-top:0}.content{padding:1.25rem 1rem 2rem}.app.collapsed{grid-template-columns:1fr}.app.collapsed .sidebar{padding:1rem .875rem}.app.collapsed .sidebar-top{justify-content:flex-start}.app.collapsed .sidebar-brand{display:flex}.app.collapsed .sidebar-search,.app.collapsed .sidebar-nav,.app.collapsed .sidebar-footer{display:none}}.page-intro{max-width:70ch;color:var(--text-muted);margin:-.25rem 0 1.5rem}.muted{color:var(--text-muted)}.tiles{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:.85rem;padding:1.1rem 1.15rem;display:flex}.tile-icon{background:var(--bg-accent-1);width:38px;height:38px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.tile-icon svg{width:20px;height:20px}.tile-body{min-width:0}.tile-value{color:var(--text);font-size:1.65rem;font-weight:650;line-height:1.15}.tile-label{color:var(--text);font-weight:550}.tile-hint{color:var(--text-faint);font-size:.84rem}.tile.attention{border-color:var(--warn);background:var(--warn-bg)}.tile.attention .tile-icon{background:var(--surface);color:var(--warn)}.pill{border:1px solid var(--border);background:var(--bg);white-space:nowrap;color:var(--text-muted);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.82rem;font-weight:550;display:inline-flex}.pill svg{width:14px;height:14px}.pill.good{color:var(--ok);background:var(--ok-bg);border-color:#0000}.pill.attention{color:var(--warn);background:var(--warn-bg);border-color:#0000}.pill.muted{color:var(--text-faint)}.pill-set{flex-wrap:wrap;gap:.4rem;display:flex}.notice.attention{color:var(--warn);background:var(--warn-bg);border-color:var(--warn);align-items:center;gap:.55rem;display:flex}.notice.attention svg{flex:none;width:18px;height:18px}.detail-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem 1.5rem;margin:0;display:grid}.detail-list>div{min-width:0}.detail-list dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.82rem}.detail-list dd{color:var(--text);overflow-wrap:anywhere;margin:.15rem 0 0}.page-form{flex-direction:column;gap:1.25rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem 1.25rem;display:grid}.form-grid .field.grow{grid-column:1/-1}.field-hint{color:var(--text-faint);margin:.3rem 0 0;font-size:.84rem}.data-table .group-row td{background:var(--bg)}.data-table td.indented{padding-left:2rem}.data-table .detail-row>td{background:var(--bg);padding:.85rem 1rem}.data-table.nested{box-shadow:none;margin:0}.data-table.nested th,.data-table.nested td{padding:.4rem .6rem;font-size:.9rem}@media (width<=640px){.tiles,.form-grid,.detail-list{grid-template-columns:1fr}}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:0 0;border-radius:8px;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:6rem}.field select{appearance:none;background-image:var(--select-caret);background-position:right .75rem center;background-repeat:no-repeat;background-size:1.1em;padding-right:2.25rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 22%, transparent);outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--text-faint);background:var(--bg);cursor:not-allowed}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input[type=number]{appearance:textfield}.form-grid .field{margin-bottom:0}.card .remember,.page-form .remember{cursor:pointer;align-items:flex-start;gap:.6rem;margin:.25rem 0 0;font-size:.9375rem;display:flex}.card .remember input,.page-form .remember input{flex:none;width:auto;margin-top:.15rem}.fact-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem 1.5rem;margin:0 0 1.25rem;display:grid}.fact dt{letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 55%, transparent);margin:0 0 .2rem;font-size:.75rem;font-weight:600}.fact dd{overflow-wrap:anywhere;margin:0;font-size:.9375rem}.empty-note{background:color-mix(in srgb, var(--text) 4%, transparent);color:color-mix(in srgb, var(--text) 65%, transparent);border-radius:10px;margin:0;padding:1.25rem;font-size:.9375rem}.section-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.card h2{align-items:center;gap:.5rem;display:flex}.detail-stack{flex-direction:column;gap:1.25rem;display:flex}.mini-tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:0 0 1.25rem;display:grid}.mini-tile{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:10px;padding:.875rem 1rem}.mini-tile .value{letter-spacing:-.01em;font-size:1.375rem;font-weight:650}.mini-tile .label{color:color-mix(in srgb, var(--text) 60%, transparent);font-size:.8125rem}.data-table td.narrow{white-space:nowrap}.data-table td.wrap{max-width:26rem}select{appearance:none;font:inherit;color:var(--text);background-color:var(--surface);background-image:var(--select-caret);border:1px solid var(--border);cursor:pointer;background-position:right .7rem center;background-repeat:no-repeat;background-size:1.05em;border-radius:8px;padding:.5rem 2.25rem .5rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}select:hover:not(:disabled){border-color:color-mix(in srgb, var(--border-focus) 40%, var(--border))}select:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 22%, transparent);outline:none}select:disabled{color:var(--text-faint);background-color:var(--bg);cursor:not-allowed}select option{color:var(--text);background-color:var(--surface)}.sidebar-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text) 22%, transparent) transparent;flex:auto;min-height:0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 18%, transparent);border-radius:99px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text) 30%, transparent)}.load-older{justify-content:center;margin:1rem 0 0;display:flex}.rule-list{flex-direction:column;display:flex}.rule-row{border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent);align-items:center;gap:1rem;padding:.75rem 0;display:flex}.rule-row:first-child{border-top:none}.rule-text{flex:1;min-width:0}.rule-name{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:550;display:flex}.rule-note{color:color-mix(in srgb, var(--text) 60%, transparent);margin-top:.15rem;font-size:.8125rem}.rule-row select{flex:none;width:9.5rem}.listing-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:0 0 1rem;display:flex}.listing-filters label{flex-direction:column;gap:.3rem;font-size:.8125rem;font-weight:550;display:flex}.listing-filters label.checkbox{flex-direction:row;align-items:center;gap:.45rem;font-weight:450}.listing-filters select{min-width:10rem}tr.clickable{cursor:pointer}tr.clickable:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.detail-para{white-space:pre-wrap;overflow-wrap:anywhere;margin:.75rem 0 0;font-size:.9375rem;line-height:1.6}.sub-head{letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 55%, transparent);margin:1rem 0 0;font-size:.8125rem;font-weight:650}.nav-group{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 45%, transparent);padding:.9rem .75rem .3rem;font-size:.6875rem;font-weight:650}.app.collapsed .nav-group{color:#0000;border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);height:1px;margin:.4rem .5rem 0;padding:.5rem 0 0;overflow:hidden}.receipt-block{border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent);padding:.75rem 0}.receipt-block:first-child{border-top:none;padding-top:0}.receipt-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.btn.small{margin-top:.3rem;padding:.2rem .5rem;font-size:.75rem}.muted{color:color-mix(in srgb, var(--text) 55%, transparent);font-size:.8125rem}.card h2 select{min-width:9rem;margin-left:auto}.data-table tr.row-attention>td:first-child{box-shadow:inset 3px 0 0 var(--danger,#c0392b)}.data-table tr.row-attention>td{background:color-mix(in srgb, var(--danger,#c0392b) 5%, transparent)}.data-table tr.row-muted>td{color:color-mix(in srgb, var(--text) 55%, transparent)}.amount-negative{color:var(--danger,#c0392b)}.row-detail{margin:.35rem 0 0;font-size:.875rem}.row-detail>summary{cursor:pointer;color:var(--text-faint);padding:.3rem 0}.row-detail>summary:hover,.row-detail[open]>summary{color:var(--text)}.row-detail .detail-para{max-width:80ch;margin:.25rem 0 .6rem 1.1rem}.data-table .wrap{min-width:12rem;max-width:28rem;display:inline-block}
