:root,[data-theme=light]{--color-bg-page:#FFF9F3;--color-bg-surface:#FFFFFF;--color-bg-subtle:#FFF4EA;--color-text-primary:#1B1B2E;--color-text-secondary:#55524E;--color-text-muted:#A5A09A;--color-primary:#23246B;--color-primary-hover:#34359A;--color-primary-subtle:#EFEFFC;--color-accent:#FF5A3C;--color-accent-hover:#E04424;--color-accent-subtle:#FFF2EE;--color-lavender:#8E8FE8;--color-border:#E5DED4;--color-success:#1D9E75;--color-warning:#EF9F27;--color-danger:#E24B4A;--color-info:#378ADD;--surface-page:var(--color-bg-page);--surface-card:var(--color-bg-surface);--surface-inset:var(--color-bg-subtle);--text-body:var(--color-text-primary);--text-support:var(--color-text-secondary);--text-hint:var(--color-text-muted);--border-hairline:var(--color-border);--match-neutral:var(--color-lavender);--match-strong:var(--color-accent)}[data-theme=dark]{--color-bg-page:#12121F;--color-bg-surface:#1B1B2E;--color-bg-subtle:#23233A;--color-text-primary:#FFF4EA;--color-text-secondary:#B9BAF0;--color-text-muted:#7C7A9E;--color-primary:#8E8FE8;--color-primary-hover:#A5A6F0;--color-primary-subtle:#23246B;--color-accent:#FF5A3C;--color-accent-hover:#E04424;--color-accent-subtle:#3A2028;--color-lavender:#8E8FE8;--color-border:#34345266;--color-success:#35B98D;--color-warning:#F4B24E;--color-danger:#EC6564;--color-info:#57A0E8}:root{--font-display:"Onest",system-ui,sans-serif;--font-text:"Golos Text",system-ui,sans-serif;--font-numeric:"Manrope",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--weight-text:400;--weight-ui:500;--weight-strong:600;--font-display-size:40px;--font-h1-size:32px;--font-h2-size:24px;--font-h3-size:20px;--font-body-size:16px;--font-secondary-size:14px;--font-caption-size:12px;--leading-tight:1.25;--leading-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--gutter-mobile:16px;--gutter-desktop:24px;--radius-pill:999px;--radius-card:16px;--radius-field:12px;--radius-sheet:24px;--shadow-1:0 1px 3px rgba(27,27,46,0.08),0 1px 2px rgba(27,27,46,0.08);--shadow-2:0 8px 24px rgba(27,27,46,0.12),0 2px 6px rgba(27,27,46,0.08);--touch-min:44px}*{box-sizing:border-box}body,html{margin:0;min-height:100dvh}body{background:var(--surface-page);color:var(--text-body);font-family:var(--font-text);-webkit-font-smoothing:antialiased}.shell{display:flex;min-height:100dvh}.side{width:232px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--border-hairline);background:var(--surface-card);padding:14px 10px;gap:2px}.side .logo{display:flex;align-items:center;gap:8px;padding:4px 10px 14px;font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--color-primary)}.side .env{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--color-primary-subtle);color:var(--color-primary)}.navsec,.side .env{font-family:var(--font-numeric);letter-spacing:.08em}.navsec{font-size:11px;text-transform:uppercase;color:var(--text-hint);padding:12px 10px 4px}.side .item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:14px;color:var(--text-support);text-decoration:none}.side .item:hover{background:var(--surface-inset)}.side .item.active{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:600}.side .item.disabled{opacity:.45;pointer-events:none}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border-hairline)}.topbar h1{font-family:var(--font-display);font-weight:600;font-size:18px;margin:0}.content{padding:20px 24px 48px;max-width:1080px}.card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:16px;overflow:hidden}.banner,.card.pad{padding:14px 16px}.banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-radius:16px;background:var(--color-primary-subtle);border:1px solid var(--color-lavender)}.banner .bt{font-family:var(--font-display);font-weight:600;font-size:14px}.banner .bs{font-size:13px;color:var(--text-support)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-family:var(--font-numeric);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-hint);padding:10px 14px}.table td,.table th{border-bottom:1px solid var(--border-hairline)}.table td{padding:0 14px;height:48px}.table tr:last-child td{border-bottom:none}.table .muted{color:var(--text-support);font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-numeric);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--border-hairline)}.badge .dot{width:6px;height:6px;border-radius:50%}.badge.on{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 40%,transparent)}.badge.off{color:var(--text-hint)}.badge.info{color:var(--color-primary);border-color:var(--color-lavender)}.switch{width:40px;height:22px;border-radius:999px;border:none;background:var(--color-border);position:relative;cursor:pointer;transition:background .15s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px rgba(27,27,46,.25)}.switch.on{background:var(--color-success)}.switch.on:after{transform:translateX(18px)}.switch:disabled{opacity:.5;cursor:wait}.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));grid-gap:16px;gap:16px}.fcard{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:16px;padding:16px}.fcard h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:15px}.fcard .fsub{font-size:12.5px;color:var(--text-support);margin:2px 0 12px}.wrow{display:flex;align-items:center;gap:10px;margin-bottom:8px}.wrow label{width:130px;font-size:13px;color:var(--text-support)}.wrow input{width:76px;height:34px;padding:0 10px;border:1.5px solid var(--border-hairline);border-radius:10px;font-family:var(--font-numeric);font-size:14px;background:var(--surface-inset);color:var(--text-body)}.wrow input:focus{outline:none;border-color:var(--color-primary)}.wrow .track{flex:1 1;height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}.wrow .fill{height:100%;border-radius:4px;background:var(--color-lavender)}.fsum{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-hairline);font-family:var(--font-numeric);font-size:13px;font-weight:600}.fsum .ok{color:var(--color-success)}.fsum .bad{color:var(--color-danger)}.btn{height:34px;padding:0 16px;border:none;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:13px;background:var(--color-primary);color:#fff9f3;cursor:pointer}.btn:hover{background:var(--color-primary-hover)}.btn:disabled{opacity:.45;cursor:default}.note{font-size:13px;color:var(--text-support);margin:0 0 16px}.ltabs{display:flex;gap:6px;margin-bottom:12px}.ltab{height:34px;padding:0 14px;border:1.5px solid var(--border-hairline);border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:13px;background:var(--surface-card);color:var(--text-support);cursor:pointer}.ltab.active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}.lfield{margin-bottom:12px}.lfield label{display:block;font-family:var(--font-numeric);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-hint);margin-bottom:6px}.lfield input{height:34px;padding:0 10px;font-size:14px}.lfield input,.lfield textarea{width:100%;border:1.5px solid var(--border-hairline);border-radius:10px;background:var(--surface-inset);color:var(--text-body)}.lfield textarea{padding:10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical}.lfield input:focus,.lfield textarea:focus{outline:none;border-color:var(--color-primary)}.lactions{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border-hairline)}.lactions .muted{color:var(--text-support)}.error{padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--color-danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-danger) 40%,transparent);color:var(--color-danger);font-size:13px;margin-bottom:14px}