:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e7eaf0;background:#0f1115;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#0d1015,#11151b 55%,#0d1015);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;color:#fff;background:#242a33}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#2e7d5b}.danger{background:#8c3d47}.warn{background:#725e30}.secondary{background:#272d36}.icon{padding:4px 10px;background:transparent;font-size:24px}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 24px;background:rgba(14,17,22,.93);backdrop-filter:blur(12px);border-bottom:1px solid #242a33}.topbar h1{margin:0 0 3px;font-size:22px}.muted,small{color:#97a0af}.top-actions{display:flex;gap:10px}.container{max-width:1380px;margin:0 auto;padding:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{background:#171b22;border:1px solid #252c35;border-radius:14px;padding:17px}.stat span{display:block;color:#9aa3b2;font-size:13px}.stat strong{display:block;font-size:24px;margin-top:6px}.stat small{display:block;margin-top:4px}.servers{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-top:16px}.card{background:#171b22;border:1px solid #252c35;border-radius:16px;padding:16px;box-shadow:0 8px 26px rgba(0,0,0,.16)}.server-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.server-title{font-size:18px;font-weight:700}.badge{font-size:12px;padding:5px 8px;border-radius:999px;background:#27313a;color:#b9c6d3}.badge.running{background:#1c513c;color:#b8f1d3}.badge.paused{background:#5a4b27;color:#f0d994}.badge.crashed{background:#60303a;color:#ffc1c7}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.metric{background:#11151b;border-radius:10px;padding:10px}.metric span{display:block;font-size:11px;color:#808a99}.metric strong{font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:7px}.actions button{font-size:12px;padding:8px 10px}.progress{height:7px;background:#252c35;border-radius:999px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;background:#5aa57b}.notice{margin:14px 0;color:#d2d8e0;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:20;display:flex;justify-content:center;align-items:flex-start;padding:6vh 16px;overflow:auto}.hidden{display:none}.modal{width:min(1050px,100%);background:#171b22;border:1px solid #303845;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #252c35}.modal-head h2{margin:0;font-size:19px}.modal-body{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#a9b1bf}.field input,.field select,.field textarea{background:#0f1319;color:#e9edf4;border:1px solid #2b333e;border-radius:9px;padding:10px 11px;outline:none}.field textarea{min-height:140px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.field input:focus,.field select:focus,.field textarea:focus{border-color:#607187}.checkrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.check{display:flex;gap:7px;align-items:center;font-size:13px}.buttons-row{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.console{height:400px;background:#0a0d11;border:1px solid #262d35;border-radius:12px;padding:12px;overflow:auto;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.command-row{display:flex;gap:7px;margin-top:8px}.command-row input{flex:1}.tabs{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.tab{padding:8px 11px}.tab.active{background:#354150}.filebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.filepath{font:12px ui-monospace,monospace;color:#aab3c0}.filetable{width:100%;border-collapse:collapse}.filetable th,.filetable td{padding:8px;border-bottom:1px solid #252c35;text-align:left;font-size:12px}.filetable tr:hover{background:#1c2129}.editor{width:100%;height:430px}.schedule{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:7px;align-items:center;margin-bottom:6px}.days{display:flex;gap:5px;flex-wrap:wrap}.day{font-size:11px;padding:5px 7px}.day.on{background:#31553f}.toast{position:fixed;right:18px;bottom:18px;z-index:30;background:#242b34;color:#fff;padding:10px 13px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.danger-text{color:#ffb1ba}.muted-line{color:#778190;font-size:12px;margin:8px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:820px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.two-col{grid-template-columns:1fr}.topbar{position:static}.schedule{grid-template-columns:1fr}.servers{grid-template-columns:1fr}}@media(max-width:520px){.container{padding:12px}.stats-grid{grid-template-columns:1fr}.topbar{padding:14px;flex-direction:column;align-items:stretch}}

.error-box{margin:14px 0;padding:12px 14px;border:1px solid #6f333d;background:#321a20;color:#ffc5cb;border-radius:10px;font-size:13px}.toast.error{background:#6f3039}.toast.success{background:#2c7454}.operation-status{margin-top:10px;min-height:18px;color:#a9b1bf;font-size:12px}.operation-status.error{color:#ffc0c7}.memory-box{background:#11151b;border:1px solid #2a333f;border-radius:10px;padding:11px;font-size:12px;line-height:1.5}.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}.login-card{width:min(410px,100%);background:#171b22;border:1px solid #2a323d;border-radius:16px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.38)}.login-brand{font-size:25px;font-weight:750}.login-subtitle{margin-top:5px;margin-bottom:22px}.login-form{display:grid;gap:13px}.login-form label{display:grid;gap:6px;font-size:12px;color:#a9b1bf}.login-form input{background:#0f1319;color:#e9edf4;border:1px solid #2b333e;border-radius:9px;padding:11px;outline:none}.login-form input:focus{border-color:#607187}.login-form button{width:100%;margin-top:3px}.login-error{padding:10px 11px;border-radius:9px;border:1px solid #6f333d;background:#321a20;color:#ffc5cb;font-size:12px}

.server-flags{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.pill{display:inline-flex;padding:4px 7px;border:1px solid #303a46;border-radius:999px;color:#aeb7c5;font-size:11px}.inline-error{padding:9px 11px;border-radius:9px;border:1px solid #6f333d;background:#321a20;color:#ffc5cb;font-size:12px;margin-top:8px}.empty{padding:28px}.range-caption{display:flex;justify-content:space-between;color:#727d8d;font-size:11px}.range-caption+*{}.operation-panel{margin-top:12px;padding:12px;background:#10141a;border:1px solid #2a333f;border-radius:11px}.operation-head{display:flex;justify-content:space-between;gap:10px;font-size:12px}.operation-message{min-height:18px;margin-top:7px;color:#c7ced8;font-size:12px}.operation-log{margin-top:8px;max-height:130px;overflow:auto;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#8f99a8}.progress.large{height:11px;margin-top:9px}.progress.large i{background:#6aa8df}.server-detail-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.editor{height:55vh;min-height:380px;resize:vertical}.java-current{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:13px;background:#11151b;border:1px solid #2a333f;border-radius:10px;margin-bottom:12px}.java-current div{display:grid;gap:4px}.java-current strong{font-size:16px}.java-current code{font-size:11px;overflow-wrap:anywhere}.success-text{color:#8be0ae}.actions .secondary,.actions .primary,.actions .danger,.actions .warn{white-space:nowrap}@media(max-width:650px){.java-current{grid-template-columns:1fr}.server-detail-head{align-items:flex-start;flex-direction:column}}

.server-head-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid #343d49;border-radius:999px;background:#20262f;color:#aab4c2;font-size:11px;transition:.15s;line-height:1}.toggle-switch:hover{filter:none;border-color:#4a5665}.toggle-switch .toggle-knob{width:27px;height:17px;border-radius:999px;background:#4c5664;position:relative;display:block;transition:.15s}.toggle-switch .toggle-knob:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#eef2f7;transition:.15s}.toggle-switch .toggle-label{font-weight:600}.toggle-switch .toggle-state{font-weight:800;min-width:28px;text-align:center}.toggle-switch.on{background:#163e2c;border-color:#2e7d5b;color:#bff2d1}.toggle-switch.on .toggle-knob{background:#2e9b69}.toggle-switch.on .toggle-knob:after{left:12px}.toggle-switch.off{background:#20242b;color:#8f9aaa}.storage-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:12px 0;border-radius:10px;border:1px solid #2b3440;font-size:12px}.storage-status strong{font-size:12px}.storage-status span{color:#9ea8b6}.storage-ok{background:#13251d;border-color:#28543f}.storage-ok strong{color:#a8ebc4}.storage-error{background:#301a20;border-color:#6b323b}.storage-error strong{color:#ffc1c7}.storage-error span:last-child{color:#ffc1c7}.storage-ok-inline{border-color:#28543f!important;background:#13251d!important}.storage-error-inline{border-color:#6b323b!important;background:#301a20!important;color:#ffc1c7}.storage-inline{min-height:4px}
.server-card .storage-inline-error{margin-top:8px}.server-card .toggle-switch{flex:none}
@media(max-width:650px){.server-head-right{justify-content:flex-start}.toggle-switch .toggle-label{display:none}}

.settings-scroll{max-height:70vh;overflow:auto;padding-right:4px}.server-log-view,.panel-log-view{max-height:65vh;white-space:pre-wrap}.panel-log-view{font-size:11px}.settings-scroll code{overflow-wrap:anywhere}
.creation-card .operation-panel{margin-top:12px}.creation-card .operation-log{max-height:170px}.creation-card .badge.crashed{background:#60303a;color:#ffc1c7}

.console-controls{display:flex;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap}.emergency{border:1px solid #b84a55!important}.metric strong{overflow-wrap:anywhere}.server-card .metrics .metric{min-height:46px}

.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.property-row{display:grid;grid-template-columns:1fr 1.5fr;gap:7px;align-items:center;padding:7px 9px;background:#11151b;border:1px solid #252d36;border-radius:9px;font-size:11px;color:#9ca6b5}.property-row input{min-width:0;background:#0b0f14;color:#e6ebf2;border:1px solid #29323d;border-radius:7px;padding:7px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.property-editor{margin-top:10px}.properties-raw{margin-top:10px}.properties-raw summary{cursor:pointer;color:#aeb7c4;font-size:12px}.tps-good{color:#93e6b2}.tps-warn{color:#efd27c}.tps-bad{color:#ff9aa4}.metric small{display:block;margin-top:3px;color:#687383;font-size:10px}.memory-box strong{color:#d9e3ef}@media(max-width:800px){.property-grid{grid-template-columns:1fr}}

.badge.backing_up,.badge.restoring,.badge.restoring_world{background:#3b4450;color:#dbe5ef}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:8px 10px;font-size:12px;white-space:nowrap}.button.secondary{background:#252d38;color:#e9edf4;border:1px solid #303946}.backup-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #252c35}.backup-row:last-child{border-bottom:0}.backup-row .actions{justify-content:flex-end}@media(max-width:700px){.backup-row{align-items:flex-start;flex-direction:column}.backup-row .actions{width:100%;justify-content:flex-start}}

/* v10: explicit maintenance/starting states and compact detail controls */
.badge.starting,.badge.stopping{background:#3b4450;color:#dbe5ef}
.badge.error{background:#6a313b;color:#ffc4ca}
.detail-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
