:root,:root[data-theme=daylight]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f9;--bg-accent-1:#2563eb14;--bg-accent-2:#0e749012;--surface:#fff;--border:#d8dee9;--border-focus:#2563eb;--text:#1c2433;--text-muted:#5b6575;--text-faint:#8a93a5;--primary:#2563eb;--primary-hover:#1d4fd7;--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:#3b82f61a;--bg-accent-2:#22d3ee0f;--surface:#171e29;--border:#2b3648;--border-focus:#5a95f7;--text:#e7ecf4;--text-muted:#a3adbf;--text-faint:#6e7889;--primary:#3b82f6;--primary-hover:#5a95f7;--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{width:3rem;height:3rem;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:.875rem;place-items:center;margin:0 auto 1rem;display:grid}.brand-mark svg{width:1.625rem;height:1.625rem}.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;padding:.6875rem 1rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;position:relative}.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 .spinner{border:2px solid color-mix(in srgb, var(--primary-contrast) 35%, transparent);border-top-color:var(--primary-contrast);border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:none;position:absolute;top:50%;left:calc(50% - 3.5rem);transform:translateY(-50%)}.submit-btn.loading .spinner{display:block}@keyframes spin{to{transform:translateY(-50%)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-shell{--navbar-h:3.375rem;--footer-h:2.5rem}.navbar{height:var(--navbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:.625rem;padding:0 1rem;display:flex;position:sticky;top:0}.navbar-title{letter-spacing:-.01em;white-space:nowrap;font-size:1.0625rem;font-weight:650}.footer{height:var(--footer-h);color:var(--text-muted);background:var(--surface);border-top:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;font-size:.8125rem;display:flex;position:sticky;bottom:0}.footer-meta{white-space:nowrap}.app{min-height:calc(100vh - var(--navbar-h) - var(--footer-h));grid-template-columns:15rem 1fr;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);top:var(--navbar-h);height:calc(100vh - var(--navbar-h) - var(--footer-h));flex-direction:column;gap:1rem;padding:1rem .875rem;display:flex;position:sticky}.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{width:2rem;height:2rem;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:.5rem;place-items:center;margin:0;display:grid}.brand-mark.small svg{width:1.125rem;height:1.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}.lang-current{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:5rem;font-size:.6875rem;font-weight:600;overflow:hidden}.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:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.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}:is(.listing:has(.menu:not([hidden])),.table-wrap:has(.menu:not([hidden]))){overflow:visible}.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,.split-btn .menu a{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.8125rem;text-decoration:none}.split-btn .menu button:hover,.split-btn .menu a: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-size{height:2rem;color:var(--text-muted);align-items:center;gap:.375rem;padding:0 .5rem;font-size:.8125rem;display:inline-flex}.page-size select{height:1.75rem;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:0 .375rem;font-size:.8125rem}.page-size select:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 20%, transparent);outline:none}.page-summary{height:2rem;color:var(--text-muted);align-items:center;padding:0 .5rem;font-size:.8125rem;display:inline-flex}.page-gap{height:2rem;color:var(--text-faint);align-items:flex-end;padding:0 .125rem;font-size:.8125rem;display:inline-flex}.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{flex-wrap:wrap;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 h3{align-items:center;gap:.5rem;display:flex}.panel-block h2 svg,.card h3 svg{width:1.0625rem;height:1.0625rem;color:var(--primary);flex:none}.split-btn .menu button,.split-btn .menu a{align-items:center;gap:.5rem;display:flex}.split-btn .menu button svg,.split-btn .menu a 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}}.field select,.head-actions select{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);appearance:none;background-color:#0000;background-image:var(--select-caret);cursor:pointer;background-position:right .875rem center;background-repeat:no-repeat;background-size:1rem;border-radius:8px;padding:.625rem 2.5rem .625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.field select:focus,.head-actions select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 22%, transparent);outline:none}.field select option,.head-actions select option{color:var(--text);background:var(--surface)}.head-actions select{background-color:var(--surface);text-overflow:ellipsis;background-position:right .75rem center;width:auto;max-width:100%;padding:.5625rem 2.25rem .5625rem .875rem;font-size:.875rem}.head-actions select:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background-color:color-mix(in srgb, var(--primary) 5%, var(--surface))}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.raw-pre{background:var(--bg);border:1px solid var(--border);white-space:pre;border-radius:8px;padding:.875rem 1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;line-height:1.55;overflow-x:auto}.detail-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:1rem;display:grid}.field textarea{width:100%;min-height:6.5rem;font:inherit;color:var(--text);border:1px solid var(--border);resize:vertical;background:0 0;border-radius:8px;padding:.625rem .875rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.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 textarea.invalid{border-color:var(--danger)}.field-hint{color:var(--text-muted);margin:.375rem 0 0;font-size:.8125rem}.field-ok{color:var(--success,#2e8b57);margin:.375rem 0 0;font-size:.8125rem}.criteria{white-space:pre-wrap;word-break:break-word;max-width:34rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem}.seq{font-variant-numeric:tabular-nums;font-weight:600}.row-muted td{opacity:.55}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 1.25rem;display:grid}.test-panel{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);align-items:start;gap:1.25rem;display:grid}@media (width<=900px){.test-panel{grid-template-columns:1fr}}.trace-row.matched td:first-child{border-left:3px solid var(--success,#2e8b57)}.trace-row.failed td:first-child{border-left:3px solid var(--danger)}.var-list{grid-template-columns:max-content 1fr;gap:.25rem .875rem;margin:0;font-size:.8125rem;display:grid}.var-list dt{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.var-list dd{word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.file-drop{border:1px dashed var(--border);text-align:center;color:var(--text-muted);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.625rem;padding:1.5rem;transition:border-color .15s,background .15s;display:flex}.file-drop svg{width:1.75rem;height:1.75rem;color:var(--primary);flex:none}.file-drop:hover,.file-drop.over{border-color:var(--border-focus);background:color-mix(in srgb, var(--border-focus) 8%, transparent)}.file-drop input{display:none}.warning-list{color:var(--warning,#b7791f);margin:.5rem 0 0;padding-left:1.125rem;font-size:.8125rem}.import-point{margin-top:1rem}.import-point .form-grid{margin-top:.75rem}.inline-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.reference h3{margin-top:1.5rem}.reference table td:first-child{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.reference code{background:color-mix(in srgb, var(--border) 40%, transparent);border-radius:4px;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem}
