:root{--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--dur-fast:.12s;--dur:.19s;--dur-slow:.28s;--ease:cubic-bezier(.22, .61, .36, 1)}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131417;--surface:#1b1c1f;--surface-raised:#202226;--border:#2c2e33;--border-row:#26282c;--border-strong:#3e4046;--text:#c4c5c8;--text-muted:#8e9095;--text-dim:#65676b;--text-tab:#7e8084;--chip-bg:#33353a;--chip-text:#c4c5c8;--ok:#6fa98c;--warn:#c9a15e;--err:#c9807a;--bar-fill:#9a9ca0;--bar-empty:#33353a;--focus:#8e9095;--shadow:0 12px 32px #00000073}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e9e6;--surface:#f6f6f4;--surface-raised:#fdfdfc;--border:#d3d3ce;--border-row:#deded9;--border-strong:#b6b6b0;--text:#2f3033;--text-muted:#63656a;--text-dim:#86888d;--text-tab:#75777c;--chip-bg:#dcdcd6;--chip-text:#2f3033;--ok:#43775e;--warn:#8a6524;--err:#9b4f48;--bar-fill:#6c6e73;--bar-empty:#d3d3ce;--focus:#63656a;--shadow:0 12px 32px #0000001f}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);transition:background-color var(--dur-slow) var(--ease), color var(--dur-slow) var(--ease);margin:0;font-size:13px;line-height:1.5}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:1px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{background:var(--surface);min-height:100vh;transition:background-color var(--dur-slow) var(--ease);flex-direction:column;display:flex}.term{flex-direction:column;flex:1;width:100%;padding:0 clamp(16px,3vw,48px);display:flex}.term-body{flex:1;padding-bottom:24px}.term-head{align-items:center;gap:10px;padding:16px 0 14px;display:flex}.term-title{letter-spacing:.06em;color:var(--text);font-size:16px}.dim{color:var(--text-dim);font-size:12px}.muted{color:var(--text-muted);font-size:12px}.hl{color:var(--text);font-size:13px}.user-chip{align-items:center;gap:8px;display:inline-flex}.user-chip .role{background:var(--chip-bg);color:var(--chip-text);padding:1px 6px;font-size:11px}.spacer{flex:1}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:22px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--text-tab);cursor:pointer;white-space:nowrap;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:none;border-bottom:1px solid #0000;padding:0 0 9px;font-size:13px;text-decoration:none}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text-muted)}.stats{flex-wrap:wrap;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.stats .sep{color:var(--text-dim);font-size:12px}.row{border-top:1px solid var(--border-row);grid-template-columns:12px minmax(170px,1.1fr) minmax(150px,1fr) 110px 90px 70px minmax(150px,210px) 120px 130px;align-items:center;gap:14px;padding:12px 0;display:grid}.actions{opacity:.4;transition:opacity var(--dur) var(--ease);justify-content:flex-end;gap:6px;display:inline-flex}.row:hover .actions,.actions:focus-within{opacity:1}.row.head{border-top:none;padding-top:0}.row.clients{grid-template-columns:12px minmax(200px,1.2fr) minmax(160px,1fr) 100px 100px 120px 120px 190px}.row.selectable{cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.row.selectable:hover{background:var(--surface-raised)}.dot{background:var(--text-dim);width:8px;height:8px;transition:background-color var(--dur) var(--ease);border-radius:50%}.dot.online{background:var(--ok)}.dot.error,.dot.offline{background:var(--err)}.dot.unknown{background:var(--warn)}.dot.disabled{background:var(--text-dim)}.name{color:var(--text);font-size:14px}.name.faded{color:var(--text-muted)}.sub{color:var(--text-dim);font-size:12px}.sub.warn{color:var(--warn)}.sub.err{color:var(--err)}.chip{background:var(--chip-bg);color:var(--chip-text);justify-self:start;padding:2px 8px;font-size:12px}.right{text-align:right;font-size:12px}.bar-fill{color:var(--bar-fill)}.bar-empty{color:var(--bar-empty)}.row.pki{grid-template-columns:12px minmax(220px,1fr) 140px 140px minmax(220px,320px)}.ca-card{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;padding:16px 0 18px;display:flex}.ca-facts{flex-wrap:wrap;flex:1;align-items:baseline;gap:16px;display:flex}.ca-facts .sep{color:var(--text-dim)}.ca-actions{gap:8px;display:flex}.section-title{letter-spacing:.04em;padding:22px 0 10px}.term-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding:14px 0;display:flex}.btn{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;padding:5px 10px;font-size:12px}.btn:hover:not(:disabled){background:var(--chip-bg)}.btn:disabled{opacity:.5;cursor:default}.btn.danger{border-color:var(--err);color:var(--err)}.btn.ghost{color:var(--text-dim);border-color:#0000}.btn.ghost:hover{color:var(--text)}.field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.field input,.field select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);min-width:200px;transition:border-color var(--dur) var(--ease), background-color var(--dur-slow) var(--ease);padding:8px 10px;font-size:13px}.field input:focus{border-color:var(--text-muted)}.inline-form{border-top:1px solid var(--border-row);flex-wrap:wrap;align-items:flex-end;gap:16px;padding:18px 0 6px;display:flex}.form-error{color:var(--err);font-size:12px}.picker{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;display:flex}.picker-item{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;align-items:center;gap:7px;padding:5px 10px;font-size:12px;display:inline-flex}.picker-item:hover{color:var(--text)}.picker-item[aria-pressed=true]{background:var(--chip-bg);border-color:var(--text-muted);color:var(--text)}.picker-item .mark{color:var(--text-dim)}.picker-item[aria-pressed=true] .mark{color:var(--ok)}.login-page{place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface-raised);border:1px solid var(--border);width:380px;animation:rise var(--dur-slow) var(--ease) both;flex-direction:column;gap:12px;padding:28px 26px;display:flex}.login-card h1{letter-spacing:.04em;font-size:13px;font-weight:400}.login-card .btn{padding:7px 8px;font-size:12px}.empty{color:var(--text-dim);padding:40px 0;font-size:13px}.view{animation:view-in var(--dur) var(--ease) both}@keyframes view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fade var(--dur) var(--ease) both}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
