:root{--bg:#f4f5f7;--ink:#15221b;--muted:#708077;--line:#e3e8e5;--green:#2e9b61;--green-dark:#173e2b;--red:#d44f4f;--white:#fff}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:#849087;margin:0 0 7px}.muted{color:var(--muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#eef8f1,#e7ebe8)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;padding:42px;border:1px solid #dfe6e1;box-shadow:0 22px 65px #173e2b18}.brand-mark{width:46px;height:46px;background:var(--green-dark);color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px;margin-bottom:26px;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%)}.brand-mark.small{width:31px;height:31px;font-size:14px;margin:0}.login-card h1{font-family:Georgia,serif;font-size:34px;margin:0 0 5px}.login-card label,.settings-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:12px;margin-top:18px}.login-card input,.settings-form input,.settings-form select{border:1px solid #dbe1dd;border-radius:3px;padding:12px 13px;background:#fafbfa;outline:none}.login-card input:focus,.settings-form input:focus,.settings-form select:focus{border-color:var(--green)}.primary{border:0;background:var(--green-dark);color:#fff;padding:13px 16px;font-weight:700;cursor:pointer}.login-card .primary{width:100%;margin-top:24px;display:flex;justify-content:space-between}.error{color:var(--red);min-height:20px}.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr}aside{background:#13271d;color:#cad8d0;padding:27px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:220px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;letter-spacing:.11em;padding:0 9px 32px}nav{display:grid;gap:5px}.nav{border:0;color:#9fb1a7;background:transparent;text-align:left;padding:11px 13px;border-radius:4px;cursor:pointer}.nav span{margin-left:11px}.nav:hover,.nav.active{background:#ffffff12;color:#fff}.aside-foot{margin-top:auto;border-top:1px solid #ffffff16;padding:20px 8px 0;display:flex;gap:10px;align-items:center}.aside-foot small{display:block;color:#829a8c}.server-dot{width:9px;height:9px;border-radius:50%;background:#6f7c74}.server-dot.online{background:#4cce83;box-shadow:0 0 0 4px #4cce8320}main{grid-column:2;min-width:0}header{height:94px;background:#fff;border-bottom:1px solid var(--line);padding:0 4vw;display:flex;align-items:center;justify-content:space-between}header h2{font-family:Georgia,serif;font-size:25px;margin:0}.header-actions{display:flex;gap:9px}.icon-btn,.avatar{border:1px solid var(--line);background:#fff;width:39px;height:39px;cursor:pointer}.avatar{border:0;border-radius:50%;background:#dceadf;color:var(--green-dark);font-size:11px;font-weight:800}.page{display:none;padding:34px 4vw 50px;max-width:1500px}.page.active{display:block}.hero{background:linear-gradient(105deg,#162d21,#244834);color:#fff;padding:35px 38px;display:flex;justify-content:space-between;align-items:end;box-shadow:0 10px 30px #16312018}.hero h1{font:36px Georgia,serif;margin:13px 0 4px}.hero p{color:#a9bcb0;margin:0}.status-pill{display:inline-flex;align-items:center;gap:8px;color:#91d5ad;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.status-pill i{display:block;width:7px;height:7px;border-radius:50%;background:#52d78b;box-shadow:0 0 0 4px #52d78b20}.status-pill.offline{color:#d39a9a}.status-pill.offline i{background:#c76767}.status-pill.compact{background:#edf7f1;padding:6px 9px}.controls{display:flex;gap:8px}.control{border:1px solid #ffffff35;color:#fff;background:#ffffff0c;padding:10px 14px;cursor:pointer}.control:hover{background:#ffffff18}.control.start{background:#fff;color:#173e2b}.control.danger{color:#efa6a6}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.stats article{background:#fff;border:1px solid var(--line);padding:24px;display:flex;align-items:center;gap:17px}.stat-icon{width:42px;height:42px;display:grid;place-items:center;font-size:20px;background:#edf7f1;color:#3d9b65}.stat-icon.purple{background:#f1edfa;color:#8066b1}.stat-icon.orange{background:#fff3e7;color:#c47731}.stats small{display:block;font-size:9px;letter-spacing:.13em;font-weight:800;color:#8b9690}.stats strong{display:block;font:27px Georgia,serif;margin-top:4px}.stats em{color:#a6aea9;font-style:normal;font-size:18px}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);padding:25px}.panel h3{font:23px Georgia,serif;margin:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.text-btn{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer}.mini-log{display:grid}.log-line{display:grid;grid-template-columns:70px 1fr;gap:12px;border-top:1px solid #edf0ee;padding:11px 0;font:12px ui-monospace,monospace;color:#5f6d65}.log-line time{color:#a3aba6}.quick>button{width:100%;border:0;border-top:1px solid #edf0ee;background:#fff;padding:15px 2px;display:flex;align-items:center;text-align:left;cursor:pointer}.quick>button>span{width:34px;height:34px;background:#edf5f0;display:grid;place-items:center;margin-right:12px}.quick>button>div{flex:1}.quick small{display:block;color:#8a958e}.console-panel{padding:0;overflow:hidden}.console-panel .panel-head{padding:23px 25px;margin:0}.console-panel pre{height:500px;overflow:auto;background:#11251b;color:#b9cec1;margin:0;padding:24px;font:12px/1.75 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap}.command{display:flex;align-items:center;background:#173023;color:#78cf9b;padding:12px 18px}.command input{flex:1;border:0;background:transparent;color:#fff;padding:8px;outline:none;font:13px ui-monospace,monospace}.command button{border:1px solid #ffffff30;background:#ffffff12;color:#fff;padding:7px 15px;cursor:pointer}.count-badge{background:#edf6f0;color:#43845e;padding:5px 9px;font-size:11px}.player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.player{border:1px solid var(--line);padding:14px;display:flex;gap:12px;align-items:center}.player img{width:38px;height:38px;image-rendering:pixelated}.player small{display:block;color:var(--green)}.empty{color:var(--muted);padding:35px;text-align:center;border:1px dashed var(--line);grid-column:1/-1}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.settings-form .wide,.form-foot{grid-column:1/-1}.settings-form .check{flex-direction:row;align-items:center}.settings-form .check input{width:auto}.form-foot{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}#toast{position:fixed;right:25px;bottom:25px;background:#173e2b;color:#fff;padding:13px 18px;box-shadow:0 8px 30px #0003;transform:translateY(90px);opacity:0;transition:.25s}#toast.show{transform:none;opacity:1}#toast.bad{background:#8e3535}@media(max-width:850px){.app{grid-template-columns:66px 1fr}aside{width:66px;padding-inline:9px}.brand span,.nav span,.aside-foot>div:not(.server-dot){display:none}.brand{padding-inline:7px}.nav{text-align:center}.aside-foot{justify-content:center}header,.page{padding-left:22px;padding-right:22px}.hero{align-items:flex-start;gap:25px;flex-direction:column}.stats,.grid{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr}.settings-form .wide,.form-foot{grid-column:auto}}@media(max-width:560px){header{height:78px}.page{padding:20px 14px}.hero{padding:25px 22px}.hero h1{font-size:28px}.controls{width:100%;flex-wrap:wrap}.stats article{padding:17px}.form-foot{align-items:stretch;gap:14px;flex-direction:column}}

.plugin-search{display:flex;gap:10px}.plugin-search input{flex:1;min-width:0;padding:12px;border:1px solid var(--line)}.plugin-list{display:grid;gap:12px}.plugin-card{border:1px solid var(--line);padding:18px}.plugin-card h4{margin:0;font-size:17px}.plugin-card p{color:var(--muted)}.plugin-card select{max-width:100%;padding:10px;margin:0 10px 10px 0}.plugin-row{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere;border-top:1px solid var(--line);padding:12px 0}.installed-panel{margin-top:20px}button:disabled{opacity:.55;cursor:default}

.plugin-row{align-items:center;flex-wrap:wrap}.plugin-row b{flex:1;min-width:160px}.uninstall-plugin{color:var(--red)}

.confirm-modal{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:8px;padding:30px;color:var(--ink);background:var(--white);box-shadow:0 24px 80px #11251b40}
.confirm-modal::backdrop{background:#11251b99;backdrop-filter:blur(3px)}
.confirm-modal h2{font:27px Georgia,serif;margin:0 0 14px}
.confirm-modal .muted{margin:0;overflow-wrap:anywhere;line-height:1.7}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}
.modal-actions button{border-radius:4px;cursor:pointer}
.modal-cancel{padding:12px 16px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:700}
.modal-actions .modal-danger{background:#a53434}
.modal-actions button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:560px){.confirm-modal{padding:24px}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1}}

.metrics-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 15px;flex-wrap:wrap}.metrics-heading h3{font:25px Georgia,serif;margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metric-panel{min-width:0}.metric-panel .panel-head{gap:12px;flex-wrap:wrap}.metric-panel strong{font-size:23px;font-variant-numeric:tabular-nums}.metric-panel p,.metrics-note{font-size:12px}.metrics-note{margin:12px 0 25px}.metric-chart{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:var(--line);stroke-dasharray:4 4}.chart-label{fill:#708077;font:12px system-ui,sans-serif}.ram-chart{color:#8066b1}.cpu-chart{color:#2e9b61}.chart-line{stroke:currentColor}.chart-point{fill:currentColor}.chart-point:hover,.chart-point:focus{r:6;stroke:var(--ink);stroke-width:2;outline:none}@media(max-width:1000px){.metrics-grid{grid-template-columns:1fr}}
