@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{font-family:Space Grotesk,sans-serif;color:#f3efe5;background:radial-gradient(circle at top left,rgba(97,210,187,.18),transparent 30%),radial-gradient(circle at top right,rgba(255,171,108,.18),transparent 28%),linear-gradient(140deg,#08131d,#102130 52%,#162b24);line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;--surface: rgba(8, 18, 28, .74);--surface-strong: rgba(10, 22, 34, .88);--surface-soft: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-strong: rgba(97, 210, 187, .24);--text-dim: rgba(243, 239, 229, .72);--accent: #61d2bb;--accent-warm: #ffab6c;--danger: #ff8b8b;--warn: #ffd17a}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{height:100%;overflow:hidden;padding:24px;display:flex;align-items:stretch;justify-content:center}.app-chrome,.login-panel,.loading-card{width:min(1360px,100%);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 32px 80px #00000059}.app-chrome{border-radius:28px;padding:28px;display:flex;flex-direction:column;overflow:hidden}.topbar,.sidebar-head,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{margin:2px 0 0;font-size:1.35rem;line-height:1.2;letter-spacing:-.02em}.login-panel h1,.detail-card h2{margin:6px 0 0;font-size:clamp(2rem,3vw,3.3rem);line-height:.95;letter-spacing:-.04em}.eyebrow{color:var(--accent);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}.topbar-actions{display:grid;grid-auto-flow:column;gap:14px}.ghost-button,.login-form button{border:1px solid var(--border-strong);background:linear-gradient(135deg,#61d2bb29,#ffab6c2e);color:#f7f4ed;padding:12px 16px;border-radius:14px;transition:transform .14s ease,border-color .14s ease,background .14s ease}.ghost-button:hover,.login-form button:hover{transform:translateY(-1px);border-color:#ffffff47}.ghost-button:disabled,.login-form button:disabled{cursor:not-allowed;opacity:.72;transform:none}.ghost-button.compact{padding:9px 12px;border-radius:10px;font-size:.82rem}.ghost-button.compact.danger{border-color:#ff8b8b4d;background:#ff8b8b1f}.dashboard-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;margin-top:24px;flex:1;min-height:0;overflow:hidden}.sidebar::-webkit-scrollbar,.content-column::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track,.content-column::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.content-column::-webkit-scrollbar-thumb{background:#61d2bb33;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover,.content-column::-webkit-scrollbar-thumb:hover{background:#61d2bb6b}.sidebar{border-radius:24px;border:1px solid var(--border);background:var(--surface-strong);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.sidebar-head{position:sticky;top:0;z-index:2;background:var(--surface-strong);border-radius:24px 24px 0 0;padding:20px 20px 12px;border-bottom:1px solid var(--border)}.sidebar-head h2,.panel-head h3{margin:0;font-size:1rem}.sidebar-head span{border-radius:999px;padding:5px 10px;background:#61d2bb1f;color:var(--accent);font-size:.82rem}.server-list{display:grid;gap:10px;padding:14px 16px 16px}.server-card-wrapper{position:relative;min-width:0}.server-card{width:100%;min-width:0;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid transparent;background:#ffffff0a;color:inherit;overflow:hidden;transition:background .12s ease,border-color .12s ease}.server-card:hover{background:#ffffff12}.server-card.active{border-color:var(--border-strong);background:linear-gradient(135deg,#61d2bb1f,#ffab6c14)}.server-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.server-card-name{display:flex;align-items:center;gap:7px;min-width:0}.server-card-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--accent);box-shadow:0 0 5px #61d2bb8c}.status-dot.offline{background:var(--danger);box-shadow:0 0 5px #ff8b8b8c}.status-dot.paused{background:var(--warn);box-shadow:0 0 5px #ffd17a8c}.server-status{font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:999px;flex-shrink:0;white-space:nowrap}.server-status.good{color:var(--accent);background:#61d2bb1f}.server-status.danger{color:var(--danger);background:#ff8b8b1f}.server-status.warn{color:#f4c66a;background:#ffd17a1f}.server-card-meta{margin-top:4px;font-size:.82rem;color:var(--text-dim)}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.mini-metric-item{padding:6px 8px;border-radius:10px;background:#ffffff0a}.mini-metric-item span{display:block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.mini-metric-item strong{display:block;font-size:.85rem;margin-top:2px;color:#fff}.mini-metric-item.good strong{color:var(--accent)}.mini-metric-item.warn strong{color:var(--warn)}.mini-metric-item.danger strong{color:var(--danger)}.mini-error{margin-top:8px;font-size:.82rem;color:var(--text-dim)}.content-column{display:grid;gap:18px;overflow-y:auto;align-content:start}.detail-card{border-radius:24px;border:1px solid var(--border);background:var(--surface-strong);padding:22px}.detail-card-unavailable{display:grid;gap:14px}.detail-unavailable-summary{display:grid;justify-items:center;gap:8px;text-align:center}.detail-card-unavailable .history-panel{width:100%;text-align:left}.detail-header{margin-bottom:4px}.detail-head-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.detail-action-row{display:grid;grid-auto-flow:column;gap:10px}.detail-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--text-dim);font-size:.83rem;margin-top:8px}.meta-sep{opacity:.35}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.stat-pill{padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:#ffffff0a}.stat-pill span{display:block;color:var(--text-dim);font-size:.82rem}.stat-pill strong{display:block;margin-top:5px;font-size:1rem}.stat-pill.good{border-color:#61d2bb33}.stat-pill.warn{border-color:#ffd17a3d}.stat-pill.danger{border-color:#ff8b8b3d}.stat-pill-track{height:3px;background:#ffffff14;border-radius:999px;margin-top:12px;overflow:hidden}.stat-pill-bar{height:100%;border-radius:999px;transition:width .5s ease}.stat-pill.good .stat-pill-bar{background:var(--accent)}.stat-pill.warn .stat-pill-bar{background:var(--warn)}.stat-pill.danger .stat-pill-bar{background:var(--danger)}.stat-pill.neutral .stat-pill-bar{background:#ffffff40}.detail-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}.panel{border-radius:20px;border:1px solid var(--border);background:var(--surface-strong);padding:18px}.panel-head{margin-bottom:2px}.history-panel{margin-top:18px;width:100%}.history-panel-head{align-items:flex-start;gap:12px}.history-range-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.history-range-pill{border:1px solid var(--border);background:#ffffff0a;color:var(--text-dim);border-radius:999px;padding:5px 10px;font-size:.76rem}.history-range-pill.active{border-color:var(--border-strong);color:#fff;background:#61d2bb1f}.history-status{margin-top:10px;color:var(--text-dim);font-size:.84rem}.history-status.error{color:#ffc6c6}.history-section-head{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.history-section-head h4{margin:0;font-size:.9rem}.history-pagination-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.history-pagination-controls.compact{gap:6px}.history-page-button{border:1px solid var(--border);background:#ffffff0a;color:var(--text-dim);border-radius:999px;padding:5px 10px;font-size:.73rem;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.history-page-button:hover:not(:disabled){border-color:var(--border-strong);color:#fff;background:#61d2bb1f}.history-page-button:disabled{cursor:not-allowed;opacity:.55}.trend-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trend-card{border:1px solid var(--border);border-radius:14px;background:#ffffff08;padding:12px}.trend-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.trend-card-head h4{margin:0;font-size:.84rem}.trend-card-head span{color:var(--text-dim);font-size:.76rem}.trend-empty{margin-top:14px;color:var(--text-dim);font-size:.8rem}.trend-chart{margin-top:10px;min-height:clamp(150px,34vh,210px);overflow:hidden}.trend-chart .uplot{width:100%}.trend-chart .u-axis{color:var(--text-dim)}.history-alerts{margin-top:14px}.history-alerts-head h4{margin:0;font-size:.9rem}.history-alerts-head span{border-radius:999px;padding:2px 8px;background:#ffffff14;color:var(--text-dim);font-size:.75rem}.history-alert-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.history-alert-list{list-style:none;margin:10px 0 0;padding:0 4px 0 0;display:grid;gap:8px;max-height:clamp(180px,40vh,380px);overflow-y:auto}.history-alert{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#ffffff08}.history-alert.warn{border-color:#ffd17a3d}.history-alert.danger{border-color:#ff8b8b3d}.history-alert-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-alert-row strong{text-transform:capitalize;font-size:.82rem}.history-alert-row time{color:var(--text-dim);font-size:.72rem;white-space:nowrap}.history-alert p{margin:4px 0 0;color:var(--text-dim);font-size:.78rem;text-align:left}.table-wrap{margin-top:12px;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05)}thead th{color:var(--text-dim);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff08}tr.row-warn td{background:#ffd17a0a}tr.row-danger td{background:#ff8b8b0a}.truncate-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pid-cell{color:var(--text-dim);font-size:.85rem;white-space:nowrap;width:1%}.bar-cell{white-space:nowrap;min-width:90px;font-size:.88rem}.mini-bar-track{height:4px;background:#ffffff14;border-radius:999px;margin-top:4px;overflow:hidden;min-width:70px}.mini-bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.mini-bar-fill.good{background:var(--accent)}.mini-bar-fill.warn{background:var(--warn)}.mini-bar-fill.danger{background:var(--danger)}.mini-bar-fill.neutral{background:#ffffff40}.banner-error{margin-top:18px;padding:14px 16px;border:1px solid rgba(255,139,139,.24);background:#ff8b8b14;border-radius:16px;color:var(--text-dim)}.login-shell{min-height:100vh;padding:24px;display:grid;place-items:center}.login-panel{max-width:580px;padding:36px;border-radius:32px}.login-panel p{max-width:46ch;color:var(--text-dim)}.login-form{display:grid;gap:14px;margin-top:28px}.login-form label{display:grid;gap:8px}.login-form span{color:var(--text-dim)}.login-form input{width:100%;border-radius:14px;border:1px solid var(--border);background:#ffffff0a;padding:14px 16px;color:#fff}.form-error{font-size:.92rem;color:var(--text-dim)}.form-success{font-size:.92rem;color:var(--accent)}.text-link-button{justify-self:start;padding:0;border:0;background:transparent;color:var(--accent)}.text-link-button:hover{transform:none;text-decoration:underline}.modal-backdrop{position:fixed;inset:0;background:#020a12c7;-webkit-backdrop-filter:blur(4px) saturate(90%);backdrop-filter:blur(4px) saturate(90%);display:grid;place-items:center;z-index:80;padding:18px}.modal-card{width:min(560px,100%);border-radius:20px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(160deg,#091420f7,#0a1723fb);box-shadow:0 30px 70px #00000085;padding:20px}.user-form-modal{width:min(840px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto}.server-form-modal{width:min(820px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto}.modal-head{margin-bottom:10px}.rotation-modal-backdrop{z-index:90}.rotation-modal-card{width:min(760px,100%)}.rotation-status-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-dim);font-size:.82rem}.rotation-state-pill{text-transform:capitalize;border-radius:999px;padding:4px 10px;border:1px solid var(--border);background:#ffffff0d;color:#fff}.rotation-state-pill.running{border-color:#61d2bb52;background:#61d2bb29}.rotation-state-pill.aborting,.rotation-state-pill.aborted{border-color:#ffd17a52;background:#ffd17a24}.rotation-state-pill.completed{border-color:#61d2bb73;background:#61d2bb33}.rotation-state-pill.failed{border-color:#ff8b8b66;background:#ff8b8b29}.rotation-progress-card{margin-top:14px;border-radius:14px;border:1px solid var(--border);background:#ffffff12;padding:12px}.rotation-progress-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.84rem}.rotation-progress-track{margin-top:10px;height:6px;border-radius:999px;background:#ffffff17;overflow:hidden}.rotation-progress-bar{height:100%;border-radius:999px;background:linear-gradient(135deg,#61d2bbf2,#ffab6cf2);transition:width .22s ease}.rotation-metrics-grid,.rotation-time-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rotation-metrics-grid span,.rotation-time-grid span{color:var(--text-dim);font-size:.76rem;display:block}.rotation-metrics-grid strong,.rotation-time-grid strong{display:block;margin-top:3px;font-size:.86rem}.rotation-input-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rotation-input-grid label{display:grid;gap:6px}.rotation-input-grid span{color:var(--text-dim);font-size:.8rem}.rotation-input-grid input{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#ffffff17;color:#fff;padding:10px 12px}.rotation-input-grid input::placeholder{color:#f3efe58c}.rotation-error-list-wrap{margin-top:12px;border:1px solid rgba(255,139,139,.28);border-radius:12px;padding:10px;background:#ff8b8b14}.rotation-error-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rotation-error-head h4{margin:0;font-size:.82rem}.rotation-error-head span{border-radius:999px;padding:2px 8px;background:#ffffff1f;font-size:.72rem}.rotation-error-list{margin:8px 0 0;padding-left:18px;display:grid;gap:5px;max-height:140px;overflow-y:auto}.rotation-error-list li{color:#ffd7d7;font-size:.76rem}.rotation-actions{margin-top:14px;justify-content:flex-start;grid-auto-flow:column}.server-form{display:grid;gap:10px}.server-form label{display:grid;gap:6px}.server-form span{color:var(--text-dim);font-size:.86rem}.server-form input{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#ffffff17;color:#fff;padding:10px 12px}.server-form select{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#122131;color:#f3efe5;padding:10px 12px;color-scheme:dark}.server-form select option{background:#122131;color:#f3efe5}.server-form input:focus-visible,.server-form select:focus-visible,.searchable-multi-select-trigger:focus-visible,.searchable-multi-select-search:focus-visible{outline:none;border-color:#61d2bb8c;box-shadow:0 0 0 3px #61d2bb29}.server-form input[type=checkbox]{width:auto}.server-form input::placeholder{color:#f3efe58c}.field-hint,.form-hint{color:var(--text-dim);font-size:.8rem}.toggle-field{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-section{display:grid;gap:10px}.assignment-head{display:grid;gap:4px}.assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.searchable-multi-select{position:relative;display:grid;gap:8px}.searchable-multi-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#f3efe5;text-align:left}.searchable-multi-select-trigger.open{border-color:#61d2bb6b;background:#61d2bb1a}.searchable-multi-select-trigger-copy{display:grid;gap:3px;min-width:0}.searchable-multi-select-trigger-label{color:var(--text-dim);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.searchable-multi-select-trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}.searchable-multi-select-trigger-meta{display:grid;place-items:center;min-width:64px;border-radius:12px;padding:6px 10px;background:#ffffff0f}.searchable-multi-select-trigger-meta strong{font-size:1rem}.searchable-multi-select-trigger-meta small{color:var(--text-dim);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.searchable-multi-select-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:12;display:grid;gap:10px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,#091420fb,#0b1825fe);box-shadow:0 24px 52px #0000006b;padding:12px}.searchable-multi-select-toolbar{display:flex;align-items:center;gap:10px}.searchable-multi-select-search{flex:1 1 auto;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#f3efe5;padding:10px 12px}.searchable-multi-select-clear{white-space:nowrap}.searchable-multi-select-status{color:var(--text-dim);font-size:.76rem}.searchable-multi-select-list{display:grid;gap:8px;max-height:280px;overflow:auto}.searchable-multi-select-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.searchable-multi-select-option.checked{border-color:#61d2bb57;background:#61d2bb1a}.searchable-multi-select-option input{margin:4px 0 0}.searchable-multi-select-option-copy{display:grid;gap:3px;min-width:0}.searchable-multi-select-option-copy strong{font-size:.92rem}.searchable-multi-select-option-copy small{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis}.searchable-multi-select-empty{padding:18px 14px;border-radius:12px;background:#ffffff0a;color:var(--text-dim);text-align:center}.assignment-chip{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff0a}.assignment-chip.checked{border-color:#61d2bb57;background:#61d2bb1f}.assignment-chip input{margin:0}.assignment-chip span{color:#fff;font-size:.9rem}.assignment-chip small{color:var(--text-dim);font-size:.76rem}.toggle-switch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-dim);border-radius:999px;padding:3px 10px 3px 3px;transition:border-color .14s ease,background .14s ease,color .14s ease}.toggle-switch-track{width:38px;height:22px;border-radius:999px;background:#ffffff24;padding:2px;display:flex;align-items:center}.toggle-switch-thumb{width:18px;height:18px;border-radius:50%;background:#ffffffe0;transform:translate(0);transition:transform .16s ease}.toggle-switch-label{font-size:.76rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.toggle-switch.on{border-color:#61d2bb47;color:#ecfff9;background:#61d2bb24}.toggle-switch.on .toggle-switch-track{background:#61d2bb7a}.toggle-switch.on .toggle-switch-thumb{transform:translate(16px)}.toggle-switch.off{border-color:#ffd17a3d;color:var(--warn);background:#ffd17a14}.toggle-switch:focus-visible{outline:2px solid rgba(97,210,187,.65);outline-offset:2px}.modal-actions{margin-top:8px;display:grid;grid-auto-flow:column;gap:10px;justify-content:end}.user-admin-modal{width:min(1420px,calc(100vw - 36px));max-height:calc(100vh - 36px);display:flex;flex-direction:column;gap:14px;padding:24px}.user-admin-modal .modal-head,.user-admin-toolbar{margin-bottom:0}.user-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.user-admin-actions,.user-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border-radius:16px;border:1px solid var(--border);background:#ffffff0a}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}.user-table th{position:sticky;top:0;background:#08121cf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1;color:var(--text-dim);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.user-primary-cell{display:grid;gap:3px}.user-secondary-cell{color:var(--text-dim);font-size:.84rem}.user-audit-cell{display:grid;gap:10px;min-width:250px}.user-audit-entry{display:grid;gap:3px}.user-audit-entry strong{color:var(--text-dim);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.user-audit-timestamp{font-size:.84rem}.user-audit-detail{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-dim)}.user-audit-status{font-weight:600}.user-audit-status.pending{color:var(--accent-warm)}.user-audit-status.consumed{color:var(--accent)}.user-audit-status.invalidated,.user-audit-status.expired{color:var(--danger)}.user-row-note{color:var(--text-dim);font-size:.8rem}.user-primary-cell small{color:var(--text-dim);font-size:.72rem}.role-pill,.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.78rem;line-height:1.15;white-space:nowrap}.role-pill{justify-content:center;min-width:96px;text-align:center}.role-pill.admin,.status-pill.active{background:#61d2bb24;color:var(--accent)}.role-pill.readOnly{background:#ffab6c24;color:var(--accent-warm)}.status-pill.inactive{background:#ff8b8b1f;color:var(--danger)}.compact-empty-state{min-height:220px}@media(max-width:900px){.modal-backdrop{padding:12px}.user-admin-modal,.user-form-modal,.server-form-modal{width:min(100%,calc(100vw - 24px));max-height:calc(100vh - 24px)}.user-admin-toolbar{align-items:flex-start;flex-direction:column}.searchable-multi-select-panel{position:static}}.loading-card,.empty-state{display:grid;place-items:center;min-height:320px;border-radius:24px;text-align:center}.empty-state p,.detail-card p{color:var(--text-dim)}.loading-card{margin:auto;max-width:520px}.notification-badge{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:999px;border:2px solid var(--surface-strong);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;line-height:1;color:#fff;z-index:10;padding:0;transition:transform .14s ease}.notification-badge:hover{transform:scale(1.18)}.notification-badge.danger{background:var(--danger)}.notification-badge.warn{background:var(--warn);color:#1a1200}.notification-sidebar-backdrop{position:fixed;inset:0;z-index:40;background:#00000073;animation:fade-in .2s ease forwards}.notification-sidebar{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:calc(100vw - 18px);z-index:50;background:var(--surface-strong);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto;animation:slide-in-right .28s cubic-bezier(.22,1,.36,1) forwards}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.notification-sidebar-title{font-size:1.05rem;font-weight:600;color:#fff;margin-top:4px}.notification-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-panel-close{width:24px;height:24px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:.72rem;padding:0;transition:background .12s ease,color .12s ease}.notification-panel-close:hover{background:#ffffff1a;color:#fff}.notification-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff08}.notification-item.danger{border-color:#ff8b8b38;background:#ff8b8b12}.notification-item.warn{border-color:#ffd17a38;background:#ffd17a12}.notification-indicator{width:7px;height:7px;border-radius:999px;flex-shrink:0;margin-top:5px}.notification-item.danger .notification-indicator{background:var(--danger);box-shadow:0 0 6px #ff8b8b99}.notification-item.warn .notification-indicator{background:var(--warn);box-shadow:0 0 6px #ffd17a99}.notification-body{min-width:0}.notification-title{font-size:.8rem;font-weight:600;color:#fff;line-height:1.3}.notification-message{font-size:.77rem;color:var(--text-dim);margin-top:3px;line-height:1.4}@media(max-width:980px){.dashboard-layout,.stats-grid,.trend-grid{grid-template-columns:1fr}.dashboard-layout{overflow-y:auto}.topbar{align-items:flex-start;flex-direction:column}}@media(max-width:860px){.history-panel-head{flex-direction:column}.history-range-pills,.history-pagination-controls,.history-alert-tools{justify-content:flex-start}}@media(max-width:640px){.history-page-button{font-size:.7rem;padding:5px 8px}.history-alert-list{max-height:clamp(160px,36vh,260px)}.rotation-modal-card{width:min(620px,100%);padding:16px}.rotation-metrics-grid,.rotation-time-grid,.rotation-input-grid{grid-template-columns:1fr}.rotation-actions{grid-auto-flow:row}.notification-sidebar{width:100vw;max-width:100%;border-left:none}}@media(max-width:720px){.app-shell,.login-shell{padding:14px}.app-chrome,.login-panel{padding:18px;border-radius:22px}.topbar-actions,.detail-action-row{width:100%;grid-auto-flow:row}.modal-actions{grid-auto-flow:row}.history-section-head{align-items:flex-start;flex-direction:column}.history-alert-tools{width:100%;justify-content:space-between}.history-pagination-controls{width:100%}.toggle-field{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.history-section-head,.history-alert-tools,.history-pagination-controls{width:100%}.history-alert-row{align-items:flex-start;flex-direction:column}.rotation-state-pill{font-size:.74rem}}@media(prefers-reduced-motion:reduce){.notification-sidebar-backdrop,.notification-sidebar{animation:none}.notification-badge,.stat-pill-bar,.mini-bar-fill{transition:none}}
