
*{box-sizing:border-box}body{margin:0;background:#0d1526;color:#e4ebfa;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
.login-screen{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 20% 5%,#273b73,transparent 60%),#0b1425;padding:24px}
.login-card{width:min(100%,460px);background:#182840;border:1px solid #39516e;border-radius:20px;padding:34px;box-shadow:0 24px 90px #0008}
.logo{font-size:28px}.logo.big{font-size:46px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#7dcce4}.login-card h1{font-size:34px;line-height:1;margin:16px 0}
.login-card p,.login-card small{color:#a8bed2}.login-card label{display:block;margin:18px 0 6px;font-weight:700}
input,select{padding:11px 12px;background:#101f34;border:1px solid #3a516a;border-radius:10px;color:#f8fcff;min-width:0}
input:focus,select:focus{outline:2px solid #64acd0}
.login-card input,.wide{width:100%}.login-card .primary{margin:22px 0 12px}
.primary{background:#28b39d!important;color:#031f24!important;font-weight:850;border:0!important;padding:11px 16px!important;border-radius:10px}
.error{color:#ffaeab;margin-top:10px}.main .error{background:#42222c;padding:10px;border-radius:12px}
#app{min-height:100dvh;display:flex}
.sidebar{width:248px;flex-shrink:0;position:sticky;top:0;height:100dvh;background:#121f34;border-right:1px solid #2a3c57;display:flex;flex-direction:column;padding:20px 12px;gap:18px}
.brand{display:flex;gap:12px;align-items:center;padding:7px}.brand b{letter-spacing:1px;font-size:15px}.brand small{display:block;color:#819bb6;font-size:11px}
.sidebar-kicker{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#6484a7;padding:0 13px}
.sidebar nav{display:grid;gap:3px}
.sidebar nav button{background:transparent;border:0;text-align:left;color:#a7bacf;padding:12px;border-radius:10px;font-weight:650;display:flex;gap:12px}
.sidebar nav button.selected{background:#294a5d;color:#9ff0df}.sidebar nav button:hover{background:#1c354e}
.sidebar-foot{margin-top:auto;display:grid;gap:6px;padding:12px;font-size:12px;color:#9bb3ce;border-top:1px solid #314358}
.sidebar-foot button{background:transparent;border:1px solid #40566b;border-radius:8px;padding:8px;color:#d8e6f0;text-align:left}
.online-dot{background:#4fe2ad;width:7px;height:7px;display:inline-block;border-radius:50%}
.main{flex:1;min-width:0;padding:28px clamp(14px,3vw,38px);max-width:1600px;margin:auto}
.header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}
.header h1{font-size:29px;margin:5px 0 2px;letter-spacing:-.8px}
.header p{color:#92a8c1;margin:0}
#breadcrumb{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#62c9c0}
.header-actions{display:flex;align-items:center;gap:12px}
.header-actions span{white-space:nowrap;font-size:12px;color:#79ddc3}
button:not(.primary){transition:background .15s}
.header button,.toolbar button,.form-actions button,.panel>button,.map-tools button{color:#e0eaf6;border:1px solid #365370;background:#20364e;padding:9px 13px;border-radius:10px}
.screen{display:none;flex-direction:column;gap:20px}.screen.active{display:flex}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:13px}
.metric{background:linear-gradient(145deg,#1d304a,#15243b);border:1px solid #34516f;border-radius:13px;padding:19px}
.metric .symbol{float:right;font-size:24px}.metric .value{font-size:30px;font-weight:900;letter-spacing:-1px;display:block;margin:5px 0}
.metric .label{color:#9cb3c9;font-size:12px}.metric small{color:#66d6be}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{background:#17263c;border:1px solid #2d415c;border-radius:15px;padding:23px;min-width:0}
.panel h2{font-size:18px;margin:0 0 5px}
.panel p{color:#98b0c9;margin:2px 0 12px}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.panel-title span{color:#819fbc;font-size:12px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.toolbar>input{min-width:160px;width:min(100%,300px)}
.toolbar select{max-width:340px}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick-actions button{padding:17px;border:1px solid #35546d;background:#1e3950;border-radius:10px;color:#d7f4f2;font-weight:700;text-align:left}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#96b2ca;text-align:left;padding:10px}
.data-table td{border-top:1px solid #2c3f55;padding:11px 10px;vertical-align:middle}
.data-table tr:hover td{background:#1d314a}
.table-wrap{overflow:auto}
.table-action{border:1px solid #3c6078;background:#1d3952;color:#89e4d5;border-radius:8px;padding:6px 9px}
.tag{display:inline-block;padding:2px 7px;border-radius:15px;background:#1a5d57;color:#bcfff0;font-size:11px;font-weight:700}
.tag.blocked{background:#6b3047;color:#ffd5de}
.empty{padding:30px;text-align:center;color:#93abc2}
.bar-row{display:flex;align-items:center;gap:10px;margin:12px 0}
.bar-row label{width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bdd1dc}
.bar-track{flex:1;height:13px;background:#203850;border-radius:10px;overflow:hidden}
.bar-track i{display:block;background:linear-gradient(90deg,#3ba9b9,#61e0a6);height:100%;border-radius:10px}
.bar-row b{width:28px;font-size:12px;text-align:right}
#topPlayers .top-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29405a;padding:11px}
#topPlayers small{color:#839fb8}
.map-frame{position:relative;height:min(66vh,620px);min-height:350px;background:#183921;border:2px solid #476352;border-radius:14px;overflow:hidden}
.map-frame canvas{width:100%;height:100%;touch-action:none;display:block}
.map-tools{position:absolute;top:10px;right:10px;display:flex;gap:5px}
.map-tools button{background:#122b32e6;color:#d6f1ed;border-color:#7a9e8e;font-weight:900}
.map-summary{display:flex;flex-wrap:wrap;gap:9px;padding-top:15px}
.map-summary span{background:#21364c;padding:6px 9px;border-radius:8px;font-size:12px}
.muted{font-size:12px;color:#91a9bb!important}
#playerStats{padding-top:20px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.stat-box{background:#203752;border-radius:9px;padding:11px}.stat-box b{display:block;font-size:20px}
.stat-box small{color:#a6c1d7}
.event-list{display:grid;gap:7px;max-height:400px;overflow:auto}
.event-item{padding:12px;background:#1b3149;border-radius:9px}
.event-item time{color:#7fa9bb;font-size:11px}
.edit-heading{margin-bottom:16px;font-size:18px;font-weight:800}
.edit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.edit-grid label{font-size:12px;font-weight:700;color:#a6c2d4;display:grid;gap:5px}
.edit-grid input,.edit-grid select{width:100%}
.form-actions{display:flex;gap:9px;margin-top:18px}
.danger{background:#592734!important;border-color:#963f4d!important;color:#ffe8e7!important}
.catalog-row{display:grid;grid-template-columns:65px minmax(135px,1fr) 150px 150px;gap:18px;align-items:center;
 padding:10px;border-bottom:1px solid #2a4056}
.catalog-row img{width:60px;height:56px;object-fit:contain;image-rendering:pixelated}
.catalog-row .catalog-name b{display:block}.catalog-row small{color:#8aa7bc}
.catalog-row label{display:grid;gap:4px;font-size:11px;color:#9db8cc}
.catalog-row input{width:100%}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;
 background:#247a6e;color:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 4px 20px #0009;display:none;font-weight:800}
.toast.visible{display:block}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.edit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){#app{display:block}.sidebar{position:relative;width:100%;height:auto;display:block;padding:9px}
.sidebar .brand{display:none}.sidebar-kicker{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px}
.sidebar nav button{white-space:nowrap;padding:9px}.sidebar-foot{display:none}
.main{padding:16px}.header{align-items:flex-start;flex-direction:column}.header h1{font-size:23px}
.panel{padding:14px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:12px}
.metric .value{font-size:24px}.toolbar{flex-direction:column;align-items:stretch}.toolbar select,.toolbar input{max-width:100%;width:100%}
.catalog-row{grid-template-columns:45px 1fr 90px 75px;gap:6px;padding:9px 0}
.catalog-row img{width:44px;height:40px}.catalog-row input{padding:8px 5px}
.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:1fr 1fr}
.map-frame{height:390px}}

.map-editor{margin-top:16px;background:#1d344a;border:1px solid #385875;padding:14px;border-radius:12px}
.map-editor summary{cursor:pointer;font-weight:800}
.map-editor .toolbar{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:flex-start}
.map-editor .toolbar input{width:65px}
.map-editor .toolbar select{max-width:240px}
.map-editor .toolbar label{display:flex;align-items:center;gap:6px}
.map-item{display:flex;align-items:center;gap:12px;border-top:1px solid #2e4b65;padding:7px 0}
.map-item img{width:45px;height:45px;object-fit:contain}
.map-item strong{flex:1}
.map-item small{color:#adc3d0}
.map-item button{background:#284860;border:1px solid #406680;border-radius:7px;color:#e0eafa;padding:7px}
