:root{--bg:#f4f2ec;--surface:#fff;--surface-2:#faf9f4;--border:#e6e2d8;--border-strong:#d8d3c6;--text:#4b4852;--text-strong:#211f28;--muted:#928d99;--green:#3f9e6b;--green-soft:#e6f2ea;--red:#cf6f6d;--red-soft:#f7e7e6;--blue:#5b8bc4;--blue-soft:#e7eef7;--accent:var(--blue);--accent-soft:var(--blue-soft);--shadow-sm:0 1px 2px #1e19140d;--shadow-md:0 8px 24px -12px #1e19142e;--radius:12px;--radius-sm:8px;--sans:system-ui, "Segoe UI", Roboto, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#151419;--surface:#1d1c22;--surface-2:#25232b;--border:#302e38;--border-strong:#3b3944;--text:#b9b5c1;--text-strong:#f1eff5;--muted:#7e7a88;--green:#7fc9a0;--green-soft:#7fc9a024;--red:#e0908e;--red-soft:#e0908e24;--blue:#8fb4e0;--blue-soft:#8fb4e024;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 10px 30px -14px #0009}}*{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3{color:var(--text-strong);letter-spacing:-.01em;margin:0;font-weight:600}.muted{color:var(--muted)}.boot{min-height:100svh;color:var(--muted);place-items:center;display:grid}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.auth-screen{place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:32px}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand h1{margin:12px 0 4px;font-size:22px}.auth-dot{background:linear-gradient(135deg, var(--green), var(--blue));border-radius:50%;width:12px;height:12px;display:inline-block}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input,select,textarea{font:inherit;color:var(--text-strong);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-error{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);padding:9px 11px;font-size:13px}.auth-notice{background:var(--green-soft);color:var(--green);border-radius:var(--radius-sm);padding:9px 11px;font-size:13px}.auth-switch{text-align:center;margin-top:18px}.auth-switch button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;font-size:13px}.auth-switch button:hover{text-decoration:underline}.shell{grid-template-columns:240px 1fr;min-height:100svh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:8px;height:100svh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar-brand{color:var(--text-strong);align-items:center;gap:10px;padding:6px 8px 16px;font-weight:600;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.sidebar-user{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.content{width:100%;max-width:1200px;padding:32px 40px}.page-header{margin-bottom:24px}.page-header h1{font-size:26px}.empty-state{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;padding:48px 32px}.empty-state p{margin:0 0 6px}.toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.toolbar .muted{margin:4px 0 0;font-size:13px}.btn-sm{padding:5px 10px;font-size:13px}.btn-danger{color:var(--red);border-color:var(--red-soft)}.btn-danger:hover{background:var(--red-soft)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .num{text-align:right;font-family:var(--mono);font-size:13px}.cell-name{color:var(--text-strong);font-weight:500;display:block}.cell-sub{margin-top:2px;font-size:12px;display:block}.col-actions{text-align:right;width:1%}.row-actions{justify-content:flex-end;gap:6px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-active{background:var(--green-soft);color:var(--green)}.badge-paused{background:var(--blue-soft);color:var(--blue)}.badge-blown{background:var(--red-soft);color:var(--red)}.modal-overlay{z-index:50;background:#14121873;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;max-height:90svh;box-shadow:var(--shadow-md);padding:24px;overflow-y:auto}.modal-header{margin-bottom:18px}.modal-header h2{font-size:19px}.account-form{flex-direction:column;gap:16px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field-span{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.modal-wide{max-width:640px}.check-row{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.check-row input{width:auto}.cfg-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:18px 20px}.cfg-category-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.cfg-category-header h2{font-size:17px}.cfg-cat-desc{margin:3px 0 0;font-size:13px}.cfg-empty-fields{margin:0;font-size:13px}.cfg-fields{flex-direction:column;gap:8px;display:flex}.cfg-field{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.cfg-field-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.cfg-meta{font-size:12px}.badge-type{background:var(--surface);color:var(--muted);border:1px solid var(--border-strong)}.badge-req{background:var(--blue-soft);color:var(--blue)}.options-body{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.options-list{flex-direction:column;gap:8px;display:flex}.option-row,.option-add{align-items:center;gap:8px;display:flex}.option-row .option-label,.option-add .option-label{flex:auto;min-width:0}.option-color{flex:none;width:96px}.option-row select,.option-add select{flex:140px;width:auto;min-width:0}.rule-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:14px;display:flex}.rule-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rule-add select{flex:160px;width:auto}.hint{margin:0;font-size:12px}@media (width<=720px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;position:static}.sidebar-nav{flex-flow:wrap;flex:100%}.content{padding:24px 20px}}
