:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#25373c;background:#f6f8f9;font-synthesis:none;--accent:#168378;--accent-dark:#126d64;--ink:#17373b;--muted:#7c8b8e;--border:#e4eaec;--surface:#fff;--wash:#f6f8f9;--danger:#c45e5e;--warning:#b18e40;--shadow:0 24px 80px #18363d20;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button,input,select{transition:border-color .15s,background .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #83c8bc;outline-offset:2px}[hidden]{display:none!important}
.login-view{min-height:100vh;display:grid;place-items:center;padding:70px 24px;position:relative;background:radial-gradient(circle at 75% 20%,#dbece8 0,transparent 34%),linear-gradient(145deg,#f7faf9,#edf3f3)}
.login-brand{position:absolute;left:46px;top:38px;display:flex;align-items:center;gap:12px;color:var(--ink);font-size:24px;font-weight:750;letter-spacing:-.8px}.login-brand small,.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:5px;color:#8a999b;font-weight:650}.login-view footer{position:absolute;bottom:30px;font-size:10px;letter-spacing:.4px;color:#8d9b9e}
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:12px;padding:42px;box-shadow:var(--shadow)}.login-card h1{font-size:36px;letter-spacing:-1.6px;margin:0;font-weight:680}.login-card h1 span,.heading-dot{color:var(--accent)}.login-card>p{color:#7f9094;font-size:13px;line-height:1.8;margin:13px 0 30px}.login-card label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#71868a;font-weight:650;letter-spacing:.2px;margin-bottom:17px}.login-card input,.form-grid input{border:1px solid #dfe7e8;background:#fbfcfc;border-radius:6px;padding:13px 14px;color:#344c51;outline:none}.login-card input:focus,.form-grid input:focus{border-color:#74b9b0;box-shadow:0 0 0 3px #74b9b022}.security-note{display:block;text-align:center;color:#9ba8aa;margin-top:18px;font-size:9px}
.sidebar{width:235px;background:var(--surface);position:fixed;inset:0 auto 0 0;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 20px 20px;z-index:3}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-.8px}.workspace-label{font-size:10px;font-weight:700;color:#9aa7a9;letter-spacing:1.8px;margin:47px 12px 15px}.nav{border:0;background:transparent;padding:13px 11px;text-align:left;border-radius:7px;margin-bottom:7px;color:#768589;font-size:12px;display:flex;align-items:center;gap:10px;font-weight:550;white-space:nowrap}.nav>span:first-child{font-size:20px;font-weight:400;width:20px}.nav.active{background:#eaf5f2;color:#17796e}.nav b{margin-left:auto;background:#f1f5f5;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:600}.sidebar-note{margin:auto 7px 30px;padding-top:20px;color:#52666a}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:12px;line-height:1.8;color:#8a979b}.mini-mark{background:#f1f6f6;border:1px solid #e2ebea;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:var(--accent);margin-bottom:13px}.sidebar-footer{border-top:1px solid var(--border);padding-top:20px;font-size:10px;color:#87999c;display:flex;align-items:center;gap:7px}.sidebar-footer small{margin-left:auto}.dot{height:6px;width:6px;background:#4cae94;border-radius:50%;display:inline-block}.dot.offline{background:#cc6b64}
.shell{margin-left:235px}.topbar{height:73px;border-bottom:1px solid var(--border);padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);font-size:11px;color:#92a0a3;position:sticky;top:0;z-index:2}.topbar strong{font-weight:600;color:#51686d}.topbar>div>span{margin:0 15px}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-right label{font-size:9px}.topbar-right small{display:block;color:#9aa8aa;margin-top:2px}.topbar-right>div{min-width:90px}.avatar{border:1px solid #dfe8e7;background:#f0f6f5;color:#397d75;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:10px!important;margin-left:6px!important;font-weight:700}
main{max-width:1740px;margin:auto;padding:36px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#859798;margin-bottom:10px}.heading h1{font-size:31px;letter-spacing:-1.2px;margin:0;font-weight:650}.heading p{color:#859397;font-size:12px;margin:9px 0 0}.heading-actions{display:flex;gap:10px}.button{border:1px solid #dbe5e5;background:var(--surface);color:#4b6266;border-radius:6px;padding:11px 15px;font-size:11px;font-weight:600;display:inline-flex;gap:14px;align-items:center;justify-content:center}.button:hover:not(:disabled){filter:brightness(.98);box-shadow:0 4px 16px #243e4210}.button.primary{background:#167d72;border-color:#167d72;color:#fff;box-shadow:0 2px 4px #167d721a}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.wide{width:100%;justify-content:space-between}.compact{font-size:9px;padding:8px 11px}.text-button{padding:0;background:none;border:0;color:#168378;font-size:11px;font-weight:650;display:flex;justify-content:space-between;gap:25px;align-items:center}.icon-button{width:32px;height:32px;border:1px solid #e1e8e9;background:transparent;color:#789095;border-radius:6px;display:grid;place-items:center}.notice{padding:12px 16px;margin-bottom:18px;border:1px solid #cfe6df;background:#f0faf7;color:#33786d;border-radius:7px;font-size:11px}.notice.error{border-color:#edcaca;background:#fff3f3;color:#a95050}.notice.warning{border-color:#eadcb8;background:#fff9e9;color:#947329}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:19px 20px}.metric-label{color:#7c8e92;font-size:11px;display:flex;justify-content:space-between;align-items:center}.metric-label span{color:#8eaaa8;font-size:16px}.metric-value{font-size:30px;letter-spacing:-1px;font-weight:600;color:#2c4248;margin:11px 0 9px}.metric-value small{font-size:12px;color:#94a3a5;letter-spacing:0}.metric-note{color:#9aa7aa;font-size:10px}.overview-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;margin-bottom:21px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 21px 16px;gap:16px}.panel h2{font-size:13px;font-weight:650;margin:0}.panel-heading p{font-size:10px;color:#92a0a3;margin:7px 0 0}.small-pill{font-size:8px!important;letter-spacing:.5px;border-radius:4px;background:#f2f6f6;color:#7f9295;padding:5px 7px;white-space:nowrap}.list-state{min-height:160px}.list-row{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(110px,1fr) auto;align-items:center;gap:12px;padding:13px 21px;border-top:1px solid #eff3f4;font-size:10px;color:#809397}.list-row strong{display:block;color:#4d666b;font-size:11px;margin-bottom:4px}.list-row small{color:#96a4a7}.list-row .row-end{text-align:right}.cluster-status{display:flex;gap:10px;flex-wrap:wrap}.cluster-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);padding:9px 12px;border-radius:7px;font-size:10px;color:#73898d}.cluster-chip .dot{width:7px;height:7px}
.table-panel{min-height:420px}.table-tools{display:flex;align-items:center;gap:10px;padding:17px 21px}.search{display:flex;align-items:center;gap:7px;border:1px solid #e3e9eb;border-radius:5px;padding:7px 10px;min-width:240px;background:var(--surface)}.search span{color:#91a2a6;font-size:18px}.search input{border:0;outline:none;width:100%;font-size:10px;color:#50666d;background:transparent}.search input::placeholder{color:#9caaae}select{border:1px solid #e3e9eb;border-radius:5px;padding:9px 10px;font-size:10px;background:var(--surface);color:#657c81;max-width:210px}.export-hint{margin-left:auto;font-size:9px;color:#9ba9ac}.table-scroll{overflow:auto;max-height:620px;scrollbar-width:thin}table{border-collapse:collapse;font-size:10px;white-space:nowrap;width:100%;text-align:left}th{background:#f7f9fa;color:#889b9f;font-weight:600;font-size:9px;text-align:left;padding:13px 20px;border-block:1px solid #edf1f2;position:sticky;top:0;z-index:1}td{padding:14px 20px;border-bottom:1px solid #eff3f4;color:#789097;max-width:440px;overflow:hidden;text-overflow:ellipsis}td:first-child{font-weight:600;color:#4c6970}tbody tr:hover{background:#f6fbfa}.vm-cell{display:flex;align-items:center;gap:10px}.vm-glyph{width:29px;height:29px;border-radius:6px;background:#edf5f4;color:#498b83;display:grid;place-items:center}.vm-cell small{display:block;color:#97a4a7;font-weight:400;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;background:#edf8f2;color:#478f72;font-size:9px;border-radius:4px}.badge.scheduled,.badge.info{background:#f1f3f5;color:#7c8b91}.badge.running{background:#eaf4fb;color:#4b83a2}.badge.error{background:#fceded;color:#bd5f5f}.badge.warning{background:#fcf5e6;color:#ad873c}.empty-state{padding:45px 20px;text-align:center;color:#98a7aa;font-size:11px}.empty-state strong{display:block;color:#62787d;margin-bottom:7px}.main-footer{display:flex;justify-content:space-between;margin-top:27px;font-size:9px;color:#a2afb2}.main-footer span span{margin:0 9px;color:#c1cacc}
.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:20px;margin-bottom:20px}.customer-list{max-height:520px;overflow:auto}.customer{width:100%;display:flex;align-items:center;gap:12px;border:0;border-top:1px solid #edf2f3;background:transparent;text-align:left;padding:15px 20px;color:#60787d}.customer:hover,.customer.active{background:#f0f7f5}.customer-avatar{width:34px;height:34px;border-radius:50%;background:#e9f3f1;color:#348077;display:grid;place-items:center;font-size:10px;font-weight:700}.customer strong{display:block;color:#456066;font-size:11px}.customer small{display:block;color:#98a5a8;font-size:9px;margin-top:4px}.customer .badge{margin-left:auto}.admin-account-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.button.danger{border-color:#e7caca;color:#a94f4f}.button.danger:hover{background:#fceded}.resource-tools{display:flex;align-items:center;justify-content:space-between;padding:0 21px 14px}.check-all{font-size:10px;color:#788b8e}.resource-list{max-height:450px;overflow:auto;border-top:1px solid #edf2f3}.resource-row{display:grid;grid-template-columns:28px 1.3fr .8fr .65fr;align-items:center;gap:10px;padding:13px 20px;border-bottom:1px solid #eef2f3;font-size:10px;color:#7b9094}.resource-row strong{color:#4a656a}.resource-row input{accent-color:var(--accent)}.worker-panel{margin-bottom:20px}.worker-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:0 21px 21px}.worker-card{border:1px solid #e4eaeb;border-radius:8px;padding:16px}.worker-card-head{display:flex;justify-content:space-between;align-items:center;font-size:11px}.worker-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.worker-card dt{font-size:8px;color:#9aa8aa;text-transform:uppercase;letter-spacing:.7px}.worker-card dd{font-size:15px;color:#476168;margin:4px 0 0;font-weight:600}
.profile-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr);gap:20px}.profile-summary{padding:28px;display:flex;align-items:center;gap:20px;min-height:180px}.profile-avatar{width:74px;height:74px;border-radius:50%;background:#e8f3f1;color:#2c7a72;display:grid;place-items:center;font-size:23px;font-weight:700}.profile-summary h2{margin:7px 0 4px;font-size:20px}.profile-summary p{margin:0 0 14px;color:var(--muted);font-size:11px}.password-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 22px 4px}.password-form label:first-child{grid-column:1/-1}.password-form .dialog-actions{grid-column:1/-1;padding:8px 0 20px}
dialog{border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);padding:0;box-shadow:0 28px 90px #102b3133;width:min(1000px,calc(100% - 32px));max-height:88vh}dialog::backdrop{background:#142d326b;backdrop-filter:blur(2px)}#user-dialog,#reset-dialog{width:min(560px,calc(100% - 32px))}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 25px 18px;border-bottom:1px solid var(--border)}.dialog-heading h2{font-size:18px;margin:0}.dialog-heading p{font-size:10px;color:#91a0a3;margin:7px 0 0}.browser-toolbar{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--border)}.browser-toolbar nav{font-size:10px;color:#71888c;overflow:hidden;text-overflow:ellipsis;flex:1}.browser-toolbar>span{font-size:9px;color:#8b9b9e}.browser-list{min-height:380px;max-height:58vh;overflow:auto;position:relative}.browser-list .check-cell{width:42px}.browser-list input{accent-color:var(--accent)}.folder-link{background:none;border:0;color:#267d74;padding:0;font-weight:600}.dialog-footnote{padding:12px 21px;background:#f8fafb;border-top:1px solid var(--border);font-size:9px;color:#91a0a3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;padding:22px 25px 0}.form-grid .wide-field{grid-column:1/-1}.form-help{margin:0 25px;color:#8a9a9d;font-size:10px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:19px 25px 24px}#reset-form>label{display:block;margin:22px 25px 10px}
.download-dialog{width:min(680px,calc(100% - 32px))}.download-progress{padding:27px 25px 20px}.progress-track{height:9px;border-radius:99px;background:#e8eeee;overflow:hidden}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#2d8d82,#66b1a5);border-radius:inherit;transition:width .35s ease}.progress-track>div.indeterminate{width:38%!important;animation:download-slide 1.25s ease-in-out infinite}.progress-meta{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:var(--muted)}.progress-meta strong{color:var(--ink)}#download-current{font-size:10px;color:var(--muted);margin:14px 0 0}.download-ready{margin:0 25px 6px;padding:16px;border:1px solid #cfe5df;background:#f1faf7;border-radius:8px;display:flex;align-items:center;gap:13px}.download-ready[hidden]{display:none}.download-ready .ready-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d9f0e9;color:#2c7d70;font-weight:700}.download-ready div:nth-child(2){flex:1}.download-ready p{margin:4px 0 0;font-size:9px;color:#718b87}@keyframes download-slide{0%{transform:translateX(-110%)}50%{transform:translateX(130%)}100%{transform:translateX(300%)}}
@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.overview-grid,.admin-grid{grid-template-columns:1fr}.sidebar{width:205px}.shell{margin-left:205px}.worker-cards{grid-template-columns:1fr}.table-tools{flex-wrap:wrap}.export-hint{width:100%;margin:0}}
@media(max-width:720px){.sidebar{position:static;width:auto;height:auto;padding:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.brand{grid-column:1/-1;margin-bottom:8px}.workspace-label,.sidebar-note,.sidebar-footer,.nav.admin-only{display:none}.nav{margin:0;padding:9px;justify-content:center}.nav>span:first-child{display:none}.shell{margin-left:0}.topbar{padding:0 17px}.topbar>div:first-child,.topbar-right label,.topbar-right select,.topbar-right>div{display:none}main{padding:23px 16px}.heading{align-items:flex-start}.heading-actions #refresh{display:none}.metrics{grid-template-columns:1fr 1fr}.overview-grid,.profile-grid{grid-template-columns:1fr}.password-form{grid-template-columns:1fr}.password-form label:first-child{grid-column:auto}.table-tools .search{width:100%}.admin-grid{grid-template-columns:1fr}.login-brand{left:24px;top:24px}.login-card{padding:32px 25px}.form-grid{grid-template-columns:1fr}.form-grid .wide-field{grid-column:auto}.browser-toolbar{flex-wrap:wrap}.browser-toolbar nav{order:4;flex-basis:100%}.admin-account-actions{justify-content:flex-start}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--ink:#e4ecec;--muted:#9cabad;--border:#304247;--surface:#1e2b2f;--wash:#172226;--shadow:0 24px 80px #0008}.login-view{background:radial-gradient(circle at 75% 20%,#274641 0,transparent 36%),linear-gradient(145deg,#182528,#142024)}.login-card input,.form-grid input,.search,select{background:#19262a;border-color:#35484c;color:#d3dfdf}.topbar strong,.metric-value,.panel h2,.customer strong,.resource-row strong,.worker-card dd,td:first-child{color:#dbe5e5}.nav.active{background:#263f3d}.metric-label,.heading p,.panel-heading p,.list-row,.table-tools,.export-hint{color:#91a2a5}th{background:#1b282c;border-color:#344348}tbody tr:hover,.customer:hover,.customer.active{background:#25373a}.small-pill,.badge.info,.badge.scheduled{background:#293a3e}.login-card,.metric,.panel,.cluster-chip{box-shadow:none}.dialog-footnote{background:#19262a}}
:root[data-theme="dark"]{color-scheme:dark;--ink:#e4ecec;--muted:#9cabad;--border:#304247;--surface:#1e2b2f;--wash:#172226;--shadow:0 24px 80px #0008}:root[data-theme="dark"] .login-view{background:radial-gradient(circle at 75% 20%,#274641 0,transparent 36%),linear-gradient(145deg,#182528,#142024)}:root[data-theme="dark"] .login-card input,:root[data-theme="dark"] .form-grid input,:root[data-theme="dark"] .search,:root[data-theme="dark"] select{background:#19262a;border-color:#35484c;color:#d3dfdf}:root[data-theme="dark"] th{background:#1b282c}:root[data-theme="dark"] tbody tr:hover,:root[data-theme="dark"] .customer:hover,:root[data-theme="dark"] .customer.active{background:#25373a}
.login-card{background:var(--surface)}
.password-form label,.certificate-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);font-weight:600}
.password-form input,.certificate-form input,.certificate-form textarea,.certificate-form select{width:100%;max-width:none;border:1px solid var(--border);border-radius:6px;padding:13px 14px;background:var(--wash);color:var(--ink);font:inherit;outline:none}
.password-form input:focus,.certificate-form input:focus,.certificate-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #74b9b022}
.password-form .dialog-actions{padding:0;grid-column:1/-1}.password-form{max-width:700px}.password-form input{min-height:44px}
.download-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding:0 25px 24px}.download-stats dt{font-size:10px;color:var(--muted)}.download-stats dd{margin:6px 0 0;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.download-name{display:block;font-weight:400;color:var(--muted);margin-top:6px;max-width:340px;overflow:hidden;text-overflow:ellipsis}.button{text-decoration:none}
.certificate-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.certificate-form .full-width{grid-column:1/-1}.certificate-form textarea{min-height:110px;resize:vertical}.certificate-form .check-label{flex-direction:row;align-items:center}.certificate-form input[type=checkbox]{width:auto}.certificate-section{margin-bottom:22px}.certificate-details{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:20px;font-size:11px;overflow-wrap:anywhere}.certificate-details dt{color:var(--muted)}.certificate-details dd{margin:0}.certificate-toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:0 20px 20px}.certificate-task{padding:20px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.certificate-form h3{margin:0;font-size:13px}
@media(max-width:720px){.certificate-form{grid-template-columns:1fr}.certificate-details{grid-template-columns:1fr}.sidebar .nav.admin-only{display:flex}.sidebar{grid-template-columns:repeat(2,1fr)}}
