:root{color-scheme:dark;--bg: #0a0d13;--bg-grad: radial-gradient(1200px 600px at 78% -8%, #141b2b 0%, #0a0d13 60%);--surface: #111621;--surface-2: #161c28;--surface-3: #1c2432;--border: #222b3a;--border-strong: #2e3a4d;--text: #e7edf5;--muted: #8a97a9;--faint: #667286;--primary: #3b82f6;--primary-hover: #2f72e6;--primary-soft: rgba(59, 130, 246, .16);--accent: #8b5cf6;--success: #3fb950;--success-soft: rgba(63, 185, 80, .16);--danger: #f0524f;--danger-hover: #db3f3c;--danger-soft: rgba(240, 82, 79, .15);--warning: #e0a63c;--warning-soft: rgba(224, 166, 60, .15);--info-soft: rgba(59, 130, 246, .13);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--r-sm: 7px;--r: 11px;--r-lg: 16px;--r-pill: 999px;--fs-xs: .72rem;--fs-sm: .82rem;--fs-md: .9rem;--fs-lg: 1.05rem;--fs-xl: 1.35rem;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 10px 30px -12px rgba(0, 0, 0, .55);--ring: 0 0 0 3px var(--primary-soft);--tr: .14s ease;--sidebar-w: 236px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em;line-height:1.25}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}a{color:var(--primary)}.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) var(--sp-3);background:linear-gradient(180deg,#0d121c,#0a0d13);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-4)}.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff;box-shadow:var(--shadow-1);flex:none}.brand-name{display:flex;flex-direction:column;line-height:1.15}.brand-name b{font-size:.92rem;font-weight:650}.brand-name span{font-size:var(--fs-xs);color:var(--faint)}.side-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:.55rem .7rem;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font-size:var(--fs-md);font-weight:500;text-align:left;cursor:pointer;transition:background var(--tr),color var(--tr)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item[data-active=true]{background:var(--primary-soft);color:#cfe0ff}.nav-item .nav-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55;flex:none}.sidebar-footer{margin-top:auto;padding:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted);display:flex;flex-direction:column;gap:2px}.sidebar-footer b{color:var(--text);font-weight:600}.content{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);background:#0a0d13cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar h1{font-size:1.1rem}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}main{padding:var(--sp-6);max-width:1180px;width:100%}.page-header{display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-header-text{min-width:0}.page-subtitle{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-sm);max-width:70ch}.page-actions{margin-left:auto;display:flex;gap:var(--sp-2);flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--sp-4)}.card-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card-header .card-actions{margin-left:auto;display:flex;gap:var(--sp-2)}.card-subtitle{margin:2px 0 0;font-size:var(--fs-xs);color:var(--muted)}.card-body{padding:var(--sp-5)}.card-footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);display:flex;gap:var(--sp-2);flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.form-section{padding:var(--sp-5) 0;border-top:1px solid var(--border)}.form-section:first-child{border-top:0;padding-top:0}.form-section-head{margin-bottom:var(--sp-4)}.form-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700}.form-section-desc{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-sm)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.form-grid .col-span-2{grid-column:1 / -1}.field,label{display:flex;flex-direction:column;gap:.3rem;font-size:var(--fs-sm);min-width:0}.field-label{color:var(--muted);font-weight:500}.field-hint{color:var(--faint);font-size:var(--fs-xs)}.field-error{color:#ff9d99;font-size:var(--fs-xs)}input,select,textarea{width:100%;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);padding:.5rem .65rem;font:inherit;font-size:var(--fs-sm);transition:border-color var(--tr),box-shadow var(--tr),background var(--tr)}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:#384759}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring);background:var(--surface)}input:disabled,select:disabled{opacity:.55;cursor:not-allowed}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.checkbox-row{flex-direction:row;align-items:flex-start;gap:var(--sp-2)}.checkbox-row input,.event-toggle input,label.ack input{width:auto;margin-top:.15rem}button,.btn{--btn-bg: var(--primary);--btn-fg: #fff;--btn-bd: transparent;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bd);border-radius:var(--r-sm);padding:.48rem .85rem;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:550;line-height:1.1;transition:background var(--tr),border-color var(--tr),color var(--tr),transform var(--tr);white-space:nowrap}button:hover,.btn:hover{background:var(--primary-hover)}button:active,.btn:active{transform:translateY(1px)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-secondary,button.secondary{--btn-bg: var(--surface-2);--btn-fg: var(--text);--btn-bd: var(--border-strong)}.btn-secondary:hover,button.secondary:hover{background:var(--surface-3)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--muted);--btn-bd: transparent}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger,button.danger{--btn-bg: var(--danger);--btn-fg: #fff}.btn-danger:hover,button.danger:hover{background:var(--danger-hover)}.btn-link,button.link{--btn-bg: transparent;--btn-fg: var(--primary);--btn-bd: transparent;padding:0;font-weight:500}.btn-link:hover,button.link:hover{background:transparent;text-decoration:underline}.btn-sm{padding:.32rem .6rem;font-size:var(--fs-xs)}.controls,.form-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.form-actions-inline{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-xs);font-weight:600;padding:.16rem .5rem;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);white-space:nowrap;text-transform:capitalize}.badge-success,.badge.active{background:var(--success-soft);color:#6ee79a;border-color:transparent}.badge-danger,.badge.inactive{background:var(--danger-soft);color:#ff9d99;border-color:transparent}.badge-warning{background:var(--warning-soft);color:#f2c877;border-color:transparent}.badge-info{background:var(--info-soft);color:#9dc2ff;border-color:transparent}.badge-accent,.badge.role-admin{background:#8b5cf629;color:#c3a8ff;border-color:transparent}.state{display:inline-flex;align-items:center;padding:.16rem .55rem;border-radius:var(--r-pill);background:var(--surface-3);color:var(--text);font-size:var(--fs-xs);font-weight:600;text-transform:capitalize}.state-waiting,.state-confirming,.state-starting{background:var(--info-soft);color:#9dc2ff}.state-executing,.state-partially_completed{background:var(--warning-soft);color:#f2c877}.state-paused,.state-stopping,.state-stopped,.state-stopped_after_restart{background:var(--surface-3);color:var(--muted)}.state-completed{background:var(--success-soft);color:#6ee79a}.state-emergency,.state-failed{background:var(--danger-soft);color:#ff9d99}.action-badge{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .5rem;border-radius:var(--r-pill);border:1px solid currentColor}.action-open{color:#57d38c}.action-close{color:#ff8a8a}.alert,.error,.warning,.saved{border-radius:var(--r-sm);padding:.6rem .8rem;font-size:var(--fs-sm);border:1px solid transparent;margin-bottom:var(--sp-4)}.alert-error,.error{background:var(--danger-soft);color:#ffb1ad;border-color:#f0524f59}.alert-success,.saved{background:var(--success-soft);color:#8fe7ab;border-color:#3fb9504d;margin-bottom:0}.alert-warning,.warning{background:var(--warning-soft);color:#f2ce8f;border-color:#e0a63c4d}.alert-info{background:var(--info-soft);color:#a8c8ff;border-color:#3b82f64d}.alert.small,.error.small{padding:.3rem .5rem;font-size:var(--fs-xs);margin:.25rem 0 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border);font-size:var(--fs-sm);vertical-align:middle}thead th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600;border-bottom-color:var(--border-strong)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2)}.empty-state .empty-title{color:var(--text);font-weight:600}.empty-state .empty-desc{font-size:var(--fs-sm);max-width:46ch}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.loading-row{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-4) 0}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--muted);font-size:var(--fs-sm)}.disclosure{font-size:var(--fs-xs);color:var(--faint);margin:var(--sp-2) 0 0}.ok-text{color:#6ee79a}.danger-text{color:#ff9d99}.warn-text{color:#f2c877}.status-ok{color:#6ee79a;font-weight:600}.status-fail{color:#ff9d99;font-weight:600}.login-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5)}.login-card{width:min(380px,100%)}.login-card .brand{justify-content:center;padding-top:0}form.login{display:flex;flex-direction:column;gap:var(--sp-4)}.risk-bar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-sm)}.risk-bar .risk-metric b{font-size:1.05rem}.bot-cards{display:flex;flex-direction:column;gap:var(--sp-4)}.bot-card{border:1px solid var(--border);border-radius:var(--r);padding:var(--sp-4) var(--sp-5) var(--sp-5);background:var(--surface);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--sp-4)}.bot-card>header{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.bot-card-title{display:inline-flex;align-items:center;gap:var(--sp-3);min-width:0}.bot-card-title strong{font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis}.bot-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-3) var(--sp-5);font-size:var(--fs-sm)}.bot-field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.bot-field-wide{grid-column:1 / -1}.bot-field-k{color:var(--faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.bot-field-v{color:var(--text)}.bot-field-v.editable{background:none;border:none;padding:0;margin:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;width:fit-content;text-decoration:underline dashed var(--faint);text-underline-offset:3px}.bot-field-v.editable:hover{color:#7cb2ff;text-decoration-color:#7cb2ff;background:none}.bot-field-edit{width:100%;min-width:90px;padding:.15rem .35rem;font:inherit;font-size:var(--fs-sm)}.bot-card footer.controls{margin-top:0}.live-spread{margin-top:0;border-top:1px solid var(--border);padding-top:var(--sp-4);font-size:var(--fs-sm)}.live-spread-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.live-position{margin-top:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);background:var(--surface-2)}.live-legs{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border)}.legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);align-items:stretch}.legs>.card{margin-top:0;height:100%}@media(max-width:720px){.legs{grid-template-columns:1fr}}.leg-card{display:flex;flex-direction:column;gap:var(--sp-3)}.card.leg-accent{border-top-width:2px}.card.leg-accent.leg-long{border-top-color:var(--success)}.card.leg-accent.leg-short{border-top-color:var(--danger)}.leg-dirs{display:flex;gap:var(--sp-2)}.derived{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;font-size:var(--fs-sm);padding:.4rem .6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.derived-label{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-xs)}.usd-presets{display:flex;gap:var(--sp-2);margin-bottom:.35rem}.usd-presets .usd-preset{flex:1 1 0;padding:.4rem .5rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500}.usd-presets .usd-preset:hover:not(:disabled){border-color:var(--primary);background:var(--surface-3)}.preset-inputs{display:flex;gap:var(--sp-2)}.preview{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-4);background:var(--surface-2);font-size:var(--fs-sm)}.preview p{margin:0 0 var(--sp-2)}label.ack{flex-direction:row;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070cb8;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--sp-4)}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);width:min(560px,100%);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--shadow-2)}.modal-sm{width:min(420px,100%)}.modal-md{width:min(560px,100%)}.modal-actions{display:flex;gap:var(--sp-2)}.dialog-header{display:flex;align-items:flex-start;gap:var(--sp-3)}.dialog-heading{min-width:0}.dialog-desc{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-sm)}.dialog-close{margin-left:auto;flex:none;width:28px;height:28px;padding:0;border-radius:var(--r-sm);font-size:1.15rem;line-height:1;--btn-bg: transparent;--btn-fg: var(--muted);--btn-bd: transparent}.dialog-close:hover{background:var(--surface-2);color:var(--text)}.dialog-body{display:flex;flex-direction:column;gap:var(--sp-3)}.dialog-footer{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.segmented{display:flex;gap:var(--sp-2);min-width:0}.segmented-pills{padding:3px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);gap:3px;width:fit-content}.segmented-pills .segmented-option{--btn-bg: transparent;--btn-fg: var(--muted);--btn-bd: transparent;padding:.34rem .85rem;font-weight:550}.segmented-pills .segmented-option:hover:not([data-selected=true]){background:var(--surface-3);color:var(--text)}.segmented-pills .segmented-option[data-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.segmented-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}.segmented-cards .segmented-option{flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);--btn-bg: var(--surface-2);--btn-fg: var(--text);--btn-bd: var(--border-strong);white-space:normal}.segmented-cards .segmented-option:hover:not([data-selected=true]){border-color:#384759;background:var(--surface-3)}.segmented-cards .segmented-option[data-selected=true]{--btn-bd: var(--primary);background:var(--primary-soft);box-shadow:var(--ring)}.segmented-label{font-weight:600;font-size:var(--fs-sm)}.segmented-hint{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.segmented-cards .segmented-option[data-selected=true] .segmented-hint{color:#b7ccf5}.tooltip{position:relative;display:inline-flex;align-items:center;cursor:help;outline:none}.tooltip-glyph{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--border-strong);color:var(--muted);font-size:10px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif}.tooltip:hover .tooltip-glyph,.tooltip:focus-visible .tooltip-glyph{border-color:var(--primary);color:#cfe0ff}.tooltip-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:40;width:max-content;max-width:260px;padding:.45rem .6rem;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-xs);font-weight:400;line-height:1.4;box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transition:opacity var(--tr),visibility var(--tr);pointer-events:none}.tooltip:hover .tooltip-pop,.tooltip:focus-visible .tooltip-pop{opacity:1;visibility:visible}.saved-creds ul{margin:var(--sp-2) 0 var(--sp-3);padding-left:1.1rem}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-2)}.event-toggle{flex-direction:row;align-items:center;gap:var(--sp-2);text-transform:capitalize}.users-list{display:flex;flex-direction:column;gap:var(--sp-3)}.user-card{border:1px solid var(--border);border-radius:var(--r);padding:var(--sp-4);background:var(--surface)}.user-card-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.user-card-fields{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-3)}.user-card-fields label{font-size:var(--fs-xs)}.status-list{list-style:none;padding:var(--sp-4);margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.status-list li{color:var(--muted)}.status-list li b{color:var(--text)}.ws-bench-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-4)}.ws-bench-controls .field,.ws-bench-controls label{gap:.2rem}.ws-bench-controls input{width:7rem}.ws-bench-summary{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);font-size:var(--fs-sm);margin-bottom:var(--sp-4)}.ws-status{display:inline-block;padding:.08rem .5rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.ws-status-ok{background:var(--success-soft);color:#6ee79a}.ws-status-failed{background:var(--danger-soft);color:#ff9d99}.ws-status-rest_fallback{background:var(--surface-3);color:var(--muted)}.ws-lat-fast{color:#6ee79a;font-weight:600}.ws-lat-mid{color:#f2c877}.ws-lat-slow{color:#f0883e}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-right:0;border-bottom:1px solid var(--border)}.brand{padding:0 var(--sp-2) 0 0}.side-nav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%;order:3}.nav-item{width:auto}.nav-item .nav-dot{display:none}.sidebar-footer{margin:0 0 0 auto;border-top:0;padding:0;text-align:right}main{padding:var(--sp-4)}.topbar{padding:var(--sp-3) var(--sp-4)}}
