:root{
    --bg:#07090d;
    --panel:#11171e;
    --panel2:#171e27;
    --border:#2a333e;
    --text:#e9edf2;
    --muted:#8e99a6;
    --orange:#ff6332;
    --green:#35df81;
    --blue:#45aaff;
    --red:#ff5c55;
    --yellow:#e8c34f;
    --sidebar:210px;
    --scale:1;
}

body[data-text-size="small"]{--scale:.9}
body[data-text-size="medium"]{--scale:1.06}
body[data-text-size="large"]{--scale:1.12}
body[data-text-size="xlarge"]{--scale:1.25}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    background:radial-gradient(circle at 50% -15%,rgba(127,57,28,.28),transparent 32%),var(--bg);
    color:var(--text);
    font-size:calc(16px * var(--scale));
}

button,input,select{font:inherit}
button{cursor:pointer}

.sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:var(--sidebar);
    background:#080c11;
    border-right:1px solid var(--border);
    padding:18px 12px;
    display:flex;
    flex-direction:column;
    z-index:50;
}

.brand{display:flex;align-items:center;gap:10px;padding:3px 7px 24px}
.brand-mark{width:43px;height:43px;border:2px solid var(--orange);color:var(--orange);display:grid;place-items:center;font-size:1.45rem;font-weight:900}
.brand-name{font-size:1.3rem;font-weight:900;letter-spacing:-1px}
.brand-name span{color:var(--orange)}
.brand-sub{font-size:.48rem;color:var(--muted);letter-spacing:1.2px}

nav{display:flex;flex-direction:column;gap:5px}
.nav{border:0;border-left:3px solid transparent;background:transparent;color:#a2abb6;border-radius:7px;padding:11px;display:flex;gap:12px;text-align:left;font-size:.76rem}
.nav:hover{background:#171e26;color:#fff}
.nav.active{background:linear-gradient(90deg,rgba(126,48,28,.8),rgba(68,31,23,.42));border-left-color:var(--orange);color:#fff}

.connection-card{margin-top:auto;border:1px solid var(--border);border-radius:9px;padding:12px;background:var(--panel);font-size:.65rem}
.connection-title{display:flex;align-items:center;gap:7px;font-weight:800;margin-bottom:10px}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot.live{background:var(--green);box-shadow:0 0 9px var(--green)}
.dot.demo{background:var(--yellow);box-shadow:0 0 9px var(--yellow)}
.dot.bad{background:var(--red);box-shadow:0 0 9px var(--red)}
.line{display:flex;justify-content:space-between;color:var(--muted);margin:7px 0}
.line strong{color:#fff;font-weight:500}
.connection-error{color:#e9b0aa;line-height:1.4;margin-top:8px}

main{margin-left:var(--sidebar);padding:15px}

.topbar{min-height:75px;border:1px solid var(--border);border-radius:10px;background:rgba(15,20,27,.96);display:flex;align-items:stretch;overflow:hidden;margin-bottom:12px}
.server-title{min-width:315px;display:flex;align-items:center;gap:11px;padding:10px 14px;border-right:1px solid var(--border)}
.server-title img,.server-logo-fallback{width:49px;height:49px;border-radius:7px;border:1px solid #56616d;object-fit:cover}
.server-logo-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#79462a,#273c34 55%,#1a2027);font-weight:800}
.server-title>div:last-child{display:flex;flex-direction:column}
.server-title strong{font-size:.86rem}
.server-title small{font-size:.64rem;color:var(--muted);margin-top:4px}

.topstat{min-width:140px;padding:13px 16px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}
.topstat small{font-size:.52rem;color:#75808d;letter-spacing:.8px}
.topstat strong{font-size:.9rem;margin-top:4px}
.topstat span{font-size:.58rem;color:var(--muted);margin-top:3px}

.refresh{margin:auto 14px auto auto;padding:9px 12px;border-radius:6px;border:1px solid #4b5662;background:#19212a;color:white;font-size:.7rem}

.view{display:none}
.view.active{display:block}
.panel{border:1px solid var(--border);background:linear-gradient(180deg,#141a22,#0d1218);border-radius:9px;overflow:hidden}
.panel-head{min-height:46px;padding:0 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.74rem;font-weight:650}

.dashboard-grid{display:grid;grid-template-columns:minmax(600px,2.2fr) minmax(300px,1fr);gap:12px}
.map-panel{min-height:590px}

.map-shell{height:542px;position:relative;overflow:hidden;background:#3d7f96;cursor:grab}
.map-shell.dragging{cursor:grabbing}
.map-shell.full{height:calc(100vh - 195px);min-height:560px}

.map-world{position:absolute;transform-origin:0 0}
.map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.demo-world{position:absolute;inset:0;background:linear-gradient(135deg,#7c9453,#527341 46%,#6b7e47 70%,#596b3e)}

.grid-layer{position:absolute;inset:0;pointer-events:none;z-index:4}
.grid-line{position:absolute;background:rgba(255,255,255,.11)}
.grid-line.vertical{top:0;bottom:0;width:1px}
.grid-line.horizontal{left:0;right:0;height:1px}

.marker{position:absolute;transform:translate(-50%,-50%);z-index:10;cursor:pointer}
.player-marker{width:14px;height:14px;border:2px solid #061018;border-radius:50%;background:var(--blue);box-shadow:0 0 10px rgba(69,170,255,.9)}
.player-marker.me{width:18px;height:18px;background:var(--green);box-shadow:0 0 14px var(--green)}
.player-marker.offline{background:#727c86;box-shadow:none}
.player-marker.unknown{background:var(--yellow);box-shadow:0 0 8px rgba(232,195,79,.7)}
.player-marker.dead{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;background:#381719;border:1px solid var(--red);color:var(--red);font-size:.72rem}
.monument-marker{min-width:28px;height:28px;border:2px solid rgba(255,255,255,.7);border-radius:8px;background:#25313b;display:grid;place-items:center;color:white;font-size:.82rem;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.monument-safe{background:#16744b}.monument-military{background:#9b3030}.monument-industrial{background:#a55b22}.monument-utility{background:#2875a5}.monument-mining{background:#9a7a20}.monument-underground{background:#633c8f}.monument-harbor{background:#167b7f}.monument-minor{background:#596875}.monument-other{background:#39434e}.monument-marker:hover{transform:translate(-50%,-50%) scale(1.12);z-index:20}
.marker-label{position:absolute;top:18px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(5,8,12,.9);border:1px solid #36404b;border-radius:4px;padding:3px 5px;font-size:.52rem;color:#fff;pointer-events:none}

.hide-labels .marker-label{display:none}
.hide-players .player-marker{display:none}
.hide-monuments .monument-marker{display:none}
.hide-grid .grid-layer{display:none}

.map-controls{position:absolute;right:10px;top:10px;z-index:25;display:flex;flex-direction:column;gap:4px}
.map-controls button{width:35px;height:35px;border:1px solid #586472;background:rgba(7,10,14,.94);color:#fff;border-radius:4px}

.green-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);margin-right:6px}
.green-text{color:var(--green);font-size:.62rem}
.linkbtn{border:0;background:transparent;color:var(--blue);font-size:.64rem}
.muted{color:var(--muted);font-size:.6rem}

.team-list{max-height:542px;overflow:auto}
.team-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid #222a33}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid #ff7545;background:linear-gradient(145deg,#394653,#151a20);font-size:.62rem}
.team-row strong{font-size:.68rem}
.team-row small{display:block;font-size:.56rem;margin-top:3px}
.online{color:var(--green)}
.offline{color:#74808b}
.unknown-state{color:var(--yellow)}
.dead-text{color:var(--red)}
.gridpos{font-size:.55rem;color:var(--muted);text-align:right}

.activity-list,.mini-chat{max-height:245px;overflow:auto}
.activity-row,.mini-chat-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;min-height:42px;padding:8px 12px;border-bottom:1px solid #222a33;font-size:.62rem}
.activity-row small,.mini-chat-row small{color:var(--muted);font-size:.52rem}
.chat-name{font-weight:700;color:#dce3ea}
.chat-text{color:#aeb7c1;margin-top:2px}

.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 13px}
.page-head h1{font-size:1.45rem;margin:0}
.page-head p{font-size:.68rem;color:var(--muted);margin:5px 0 0}

.map-top-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.map-top-actions button{border:1px solid #ff7247;background:linear-gradient(#d94b25,#9d321a);color:white;border-radius:6px;padding:8px 10px;font-size:.64rem}
.map-top-actions .secondary{border-color:#45515e;background:#182029}
.control-check{display:flex;align-items:center;gap:6px;border:1px solid #394551;background:#111821;border-radius:6px;padding:7px 9px;font-size:.58rem;color:#d8dee5}
.control-check input{accent-color:var(--green)}

.map-layout{display:grid;grid-template-columns:1fr 290px;gap:12px}
.detail-panel{min-height:560px}
.empty{padding:18px;color:var(--muted);font-size:.68rem;line-height:1.5}
.marker-detail{padding:15px}
.marker-detail h3{margin:5px 0 12px;font-size:.95rem}
.detail-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #222a33;padding:8px 0;font-size:.65rem}
.detail-row span{color:var(--muted)}

.team-grid,.server-grid,.base-grid,.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.team-card,.server-card,.settings-card{border:1px solid var(--border);border-radius:9px;background:linear-gradient(180deg,#151c24,#0e1319);padding:15px}
.team-card-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.team-card h3{font-size:.84rem;margin:0}
.location-badge{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:4px;background:#17202a;border:1px solid #2e3945;color:#c8d0d8;font-size:.54rem}
.location-badge.last-known{color:var(--yellow);border-color:#66592d;background:#201e12}
.server-card small{font-size:.58rem;color:var(--muted)}
.server-card strong{display:block;font-size:1.55rem;margin-top:7px}
.server-card p{font-size:.58rem;color:#78838f}

.chat-layout{display:grid;grid-template-columns:minmax(500px,1fr) 330px;gap:12px}
.chat-panel{min-height:620px;display:flex;flex-direction:column}
.chat-messages{height:520px;overflow:auto;padding:8px 0}
.chat-message{padding:10px 14px;border-bottom:1px solid #222a33}
.chat-message-top{display:flex;justify-content:space-between;gap:10px}
.chat-message strong{font-size:.72rem}
.chat-message small{color:var(--muted);font-size:.54rem}
.chat-message p{margin:5px 0 0;font-size:.72rem;line-height:1.45;color:#d3dae1}
.chat-message.me{background:rgba(53,223,129,.04)}
.chat-compose,.command-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}
.chat-compose input,.command-form input{flex:1;border:1px solid #38434f;background:#0c1117;border-radius:6px;color:#fff;padding:10px}
.chat-compose button,.command-form button{border:1px solid #ff7247;background:linear-gradient(#d94b25,#9d321a);color:#fff;border-radius:6px;padding:9px 14px}
.command-help{padding:14px;color:var(--muted);font-size:.65rem;line-height:1.5}
.command-output{margin:0 12px 12px;padding:14px;background:#0b1015;border:1px solid #29333e;border-radius:6px;white-space:pre-wrap;font-family:Consolas,monospace;font-size:.65rem;line-height:1.5}

.base-empty{min-height:260px;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.base-icon{font-size:2.2rem;color:var(--orange);margin-bottom:10px}
.base-empty h2{margin:0 0 9px;font-size:1.1rem}
.base-empty p{max-width:430px;color:var(--muted);line-height:1.55;font-size:.66rem}
.coming-soon{margin-top:10px;border:1px solid #4a5561;padding:5px 8px;border-radius:4px;color:#bec6ce;font-size:.54rem;letter-spacing:.7px}

.field{display:flex;flex-direction:column;gap:8px;padding-top:12px}
.field span{color:var(--muted);font-size:.65rem}
.field select{background:#0c1117;border:1px solid #38434f;border-radius:6px;color:#fff;padding:10px}
.settings-toggle{display:flex;align-items:center;gap:9px;padding:10px 2px;border-bottom:1px solid #222a33;font-size:.7rem}
.settings-toggle input{accent-color:var(--green)}

.toast{position:fixed;right:20px;bottom:20px;border:1px solid #3e4955;border-left:3px solid var(--orange);background:#151c23;color:white;padding:11px 15px;border-radius:6px;font-size:.66rem;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;z-index:100}
.toast.show{opacity:1;transform:none}

@media(max-width:1150px){
    .dashboard-grid,.map-layout,.chat-layout{grid-template-columns:1fr}
    .detail-panel{min-height:auto}
}

@media(max-width:850px){
    :root{--sidebar:68px}
    .brand>div:last-child,.nav span,.connection-card{display:none}
    .brand{justify-content:center;padding-left:0;padding-right:0}
    .server-title{min-width:240px}
    .topbar{overflow-x:auto}
    .topstat{min-width:115px}
}

@media(max-width:620px){
    .sidebar{display:none}
    main{margin-left:0;padding:8px}
    .server-title{min-width:220px}
    .map-shell{height:430px}
    .map-shell.full{height:500px;min-height:500px}
    .page-head{align-items:flex-start;flex-direction:column}
    .map-top-actions{justify-content:flex-start}
}

.grid-label{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:800;color:rgba(255,255,255,.74);text-shadow:0 1px 3px #000,0 0 3px #000;pointer-events:none;background:rgba(0,0,0,.14);padding:1px 3px;border-radius:3px}
.quick-commands{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 10px}.quick-commands button,.where-command button{border:1px solid #45515e;background:#182029;color:#e7edf3;border-radius:6px;padding:8px;font-size:.62rem;cursor:pointer}.where-command{display:flex;gap:7px;padding:0 12px 12px}.where-command select{flex:1;background:#0c1117;border:1px solid #38434f;color:#fff;border-radius:6px;padding:8px}.steam-link{color:#68b9ff;text-decoration:none}.steam-link:hover{text-decoration:underline}.steam-id-row{margin-top:10px;padding-top:9px;border-top:1px solid #222a33;color:#78838f;font-size:.58rem}.revision-list{display:grid;gap:12px}.revision-card{border:1px solid var(--border);border-radius:9px;background:linear-gradient(180deg,#151c24,#0e1319);padding:16px}.revision-card h3{margin:0 0 8px}.revision-card h3 span{font-size:.55rem;color:var(--green);border:1px solid #246b49;border-radius:4px;padding:3px 6px;margin-left:8px}.revision-card p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.55}.revision-card.current{border-color:#2f7b55}

.marker-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.marker-actions button,.marker-actions a,.diagnostic-actions button{border:1px solid #45515e;background:#182029;color:#e7edf3;border-radius:6px;padding:8px 10px;text-decoration:none;font-size:.64rem}.marker-actions button:hover,.marker-actions a:hover,.diagnostic-actions button:hover{border-color:#6b7886;background:#202a34}.monument-category{display:inline-block;margin:-4px 0 10px;padding:3px 6px;border-radius:4px;border:1px solid #46515d;color:#bfc8d1;font-size:.52rem;letter-spacing:.6px}.diagnostic-actions{display:flex;gap:8px}.diagnostics-panel pre{margin:0;padding:16px;max-height:68vh;overflow:auto;background:#090d12;color:#c8d1da;font:12px/1.5 Consolas,monospace;white-space:pre-wrap;word-break:break-word}.diagnostic-actions .secondary{background:#111820}


/* v0.7 tracker */
.tracker-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.tracker-list-panel{padding:0;overflow:hidden}.tracker-search{width:calc(100% - 24px);margin:12px;padding:11px 12px;border:1px solid #30424b;border-radius:8px;background:#0c171d;color:#eef7fa}.tracker-players{max-height:65vh;overflow:auto}.tracker-player{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:0;border-top:1px solid rgba(255,255,255,.06);border-radius:0;background:transparent;color:inherit;text-align:left}.tracker-player:hover,.tracker-player.active{background:rgba(77,208,225,.09)}.tracker-player span{font-size:.82em;color:#8fa7b2}.tracker-profile{padding:16px}.tracker-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tracker-hero h2{margin:0 0 4px}.status-chip{padding:6px 10px;border-radius:999px;background:#29353a;text-transform:uppercase;font-size:.75em;font-weight:800}.status-chip.active,.status-chip.online{background:#164b3b}.status-chip.dead{background:#5a2529}.tracker-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.tracker-stats>div{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.025)}.tracker-stats small,.tracker-stats strong{display:block}.tracker-stats small{color:#8299a4;margin-bottom:6px}.tracker-actions{display:flex;gap:10px;align-items:center;margin-bottom:18px}.button-link{display:inline-flex;padding:9px 12px;border:1px solid #31444e;border-radius:7px;text-decoration:none;color:#dff8ff}.tracker-events>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.tracker-events span{color:#8fa7b2;text-align:right}.activity-filter{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid rgba(255,255,255,.06)}.activity-filter button.active{outline:2px solid rgba(77,208,225,.35)}@media(max-width:900px){.tracker-layout{grid-template-columns:1fr}.tracker-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================
   v0.8 MAP SELECTION / CLUSTERING
========================================================= */

.player-marker {
    transition:
        left .22s ease,
        top .22s ease,
        transform .12s ease,
        box-shadow .12s ease;
}

.player-marker.marker-hovered,
.player-marker.marker-selected {
    z-index:1200 !important;
}

.player-marker.marker-hovered {
    transform:translate(-50%,-50%) scale(1.18);
}

.player-marker.marker-selected {
    outline:3px solid rgba(255,255,255,.92);
    outline-offset:3px;
    box-shadow:
        0 0 0 5px rgba(255,99,50,.28),
        0 0 20px rgba(255,99,50,.8);
}

.team-row,
.team-card,
.tracker-player {
    cursor:pointer;
}

.team-row.player-hover,
.team-card.player-hover {
    background:rgba(255,99,50,.08);
}

.map-top-actions button:disabled {
    opacity:.45;
    cursor:not-allowed;
}

/* =========================================================
   v0.8 BATTLEMETRICS
========================================================= */

.bm-layout {
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(520px,1.5fr);
    gap:12px;
}

.bm-server-summary {
    padding:14px;
}

.bm-server-summary .bm-stat-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.bm-stat {
    border:1px solid #26313b;
    border-radius:7px;
    background:#0b1117;
    padding:12px;
}

.bm-stat small {
    display:block;
    color:var(--muted);
    font-size:.56rem;
}

.bm-stat strong {
    display:block;
    margin-top:5px;
    font-size:.95rem;
}

.bm-search {
    display:flex;
    gap:8px;
    padding:12px;
    border-bottom:1px solid var(--border);
}

.bm-search input {
    min-width:0;
    flex:1;
    border:1px solid #38434f;
    background:#0c1117;
    color:#fff;
    border-radius:6px;
    padding:10px;
}

.bm-search button,
.bm-action {
    border:1px solid #4b5662;
    background:#19212a;
    color:#fff;
    border-radius:6px;
    padding:8px 11px;
}

.bm-action.primary {
    border-color:#ff7247;
    background:linear-gradient(#d94b25,#9d321a);
}

.bm-player-list {
    min-height:160px;
}

.bm-player-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border-bottom:1px solid #222a33;
}

.bm-player-main strong {
    display:block;
    font-size:.74rem;
}

.bm-player-main small {
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.58rem;
}

.bm-presence.online {
    color:var(--green);
}

.bm-presence.offline {
    color:#88939f;
}

.bm-presence.unknown {
    color:var(--yellow);
}

.bm-player-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}

.bm-player-actions a {
    text-decoration:none;
}

.bm-note {
    padding:10px 14px;
    border-top:1px solid #222a33;
    color:var(--muted);
    font-size:.58rem;
    line-height:1.5;
}

@media(max-width:1000px) {
    .bm-layout {
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v0.8.1 POLISH / UNIFIED PAGES
========================================================= */

.hidden {
    display:none !important;
}

.team-row-main {
    min-width:0;
}

.team-row {
    transition:background .12s ease,border-color .12s ease;
}

.team-row:hover {
    background:rgba(255,255,255,.035);
}

.team-card.selected {
    border-color:var(--orange);
    box-shadow:inset 0 0 0 1px rgba(255,99,50,.25);
}

.team-unified-layout {
    display:grid;
    grid-template-columns:minmax(460px,1.2fr) minmax(360px,.8fr);
    gap:12px;
    align-items:start;
}

.team-grid-unified {
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    padding:12px;
}

.dashboard-team-detail {
    padding:12px;
}

.dashboard-player-hero,
.marker-player-head {
    display:flex;
    align-items:center;
    gap:12px;
    margin:8px 0 14px;
}

.dashboard-player-hero h3,
.marker-player-head h3 {
    margin:0 0 6px;
}

.avatar {
    overflow:hidden;
    position:relative;
    flex:0 0 auto;
}

.steam-avatar img,
.avatar-fallback {
    width:100%;
    height:100%;
    border-radius:inherit;
    object-fit:cover;
}

.avatar-fallback {
    place-items:center;
    background:linear-gradient(145deg,#394653,#151a20);
}

.avatar-large {
    width:48px;
    height:48px;
}

.avatar-xl {
    width:66px;
    height:66px;
}

.objectives-panel {
    margin-top:12px;
}

.objective-form {
    display:grid;
    grid-template-columns:minmax(220px,1.2fr) minmax(140px,.45fr) minmax(220px,1fr) auto;
    gap:8px;
    padding:12px;
    border-bottom:1px solid var(--border);
}

.objective-form input,
.objective-form select,
.admin-unlock-form input {
    min-width:0;
    border:1px solid #38434f;
    background:#0c1117;
    color:#fff;
    border-radius:6px;
    padding:10px;
}

.objective-form button,
.admin-unlock-form button {
    border:1px solid #ff7247;
    background:linear-gradient(#d94b25,#9d321a);
    color:#fff;
    border-radius:6px;
    padding:9px 12px;
}

.objective-row {
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    gap:10px;
    align-items:center;
    padding:11px 13px;
    border-bottom:1px solid #222a33;
}

.objective-row.completed {
    opacity:.55;
}

.objective-row.completed .objective-main strong {
    text-decoration:line-through;
}

.objective-check,
.objective-delete {
    width:32px;
    height:32px;
    border-radius:50%;
    border:1px solid #3e4955;
    background:#111820;
    color:#fff;
}

.objective-main strong,
.objective-main small {
    display:block;
}

.objective-main small {
    color:var(--muted);
    margin-top:4px;
    font-size:.6rem;
}

.settings-copy {
    color:var(--muted);
    font-size:.65rem;
    line-height:1.5;
    padding:0 12px;
}

.admin-unlock-form {
    display:flex;
    gap:8px;
    padding:12px;
}

.admin-unlock-form input {
    flex:1;
}

.admin-tabs,
.tracker-tabs {
    display:flex;
    gap:6px;
    margin-bottom:12px;
}

.admin-tabs button,
.tracker-tabs button {
    border:1px solid #3a4652;
    background:#111821;
    color:#aeb8c2;
    padding:9px 13px;
    border-radius:6px;
}

.admin-tabs button.active,
.tracker-tabs button.active {
    color:#fff;
    border-color:var(--orange);
    background:#332018;
}

.admin-tab,
.public-tab {
    display:none;
}

.admin-tab.active,
.public-tab.active {
    display:block;
}

.page-head.compact {
    margin-top:0;
}

.server-activity-panel,
.integration-status-panel {
    margin-top:12px;
}

.custom-pin {
    width:20px;
    height:20px;
    border-radius:5px;
    background:#151b22;
    border:2px solid #f5c64a;
    color:#f5c64a;
    display:grid;
    place-items:center;
    z-index:15;
}

.custom-pin .pin-icon {
    font-size:.72rem;
    line-height:1;
}

.pin-raid,
.pin-enemy {
    border-color:#ff5c55;
    color:#ff5c55;
}

.pin-farm,
.pin-sulfur {
    border-color:#e8c34f;
    color:#e8c34f;
}

.pin-base {
    border-color:#35df81;
    color:#35df81;
}

.pin-bag,
.pin-stash {
    border-color:#45aaff;
    color:#45aaff;
}

.pin-mode {
    cursor:crosshair !important;
}

.marker-actions .danger,
button.danger {
    border-color:#7e3434;
    background:#31191a;
    color:#ff918b;
}


/* =========================================================
   v0.8.1 RUST DAY / NIGHT WIDGET
========================================================= */

.rust-time-widget {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    transition:background .6s ease,border-color .6s ease;
}

.rust-time-widget > small,
.rust-time-widget > strong,
.rust-time-widget > span:not(.rust-time-sky):not(.time-icon):not(.time-cloud):not(.time-stars) {
    position:relative;
    z-index:2;
}

.rust-time-sky {
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.92;
    transition:background .6s ease;
}

.time-icon {
    position:absolute;
    right:12px;
    top:10px;
    font-size:1.35rem;
    filter:drop-shadow(0 0 8px rgba(255,255,255,.28));
    animation:rp-float 4s ease-in-out infinite;
}

.time-cloud {
    position:absolute;
    font-size:.8rem;
    opacity:.32;
    animation:rp-cloud 9s linear infinite;
}

.cloud-one {
    left:12px;
    top:10px;
}

.cloud-two {
    left:52px;
    top:28px;
    animation-duration:13s;
}

.time-stars {
    display:none;
    position:absolute;
    right:8px;
    bottom:5px;
    font-size:.65rem;
    letter-spacing:3px;
    animation:rp-twinkle 2.4s ease-in-out infinite;
}

.rust-time-widget.phase-day .rust-time-sky {
    background:linear-gradient(135deg,rgba(39,116,180,.44),rgba(246,177,65,.18));
}

.rust-time-widget.phase-dawn .rust-time-sky {
    background:linear-gradient(135deg,rgba(91,62,124,.48),rgba(245,128,62,.48));
}

.rust-time-widget.phase-dusk .rust-time-sky {
    background:linear-gradient(135deg,rgba(65,49,105,.55),rgba(218,88,43,.48));
}

.rust-time-widget.phase-night .rust-time-sky {
    background:linear-gradient(135deg,rgba(12,28,65,.78),rgba(27,26,56,.62));
}

.rust-time-widget.phase-night .time-cloud {
    opacity:.12;
}

.rust-time-widget.phase-night .time-stars {
    display:block;
}

.time-countdown {
    font-size:.5rem !important;
    color:#d8e0e8 !important;
}

@keyframes rp-float {
    0%,100% { transform:translateY(0) rotate(0deg); }
    50% { transform:translateY(-3px) rotate(5deg); }
}

@keyframes rp-cloud {
    0% { transform:translateX(-8px); }
    50% { transform:translateX(14px); }
    100% { transform:translateX(-8px); }
}

@keyframes rp-twinkle {
    0%,100% { opacity:.4; }
    50% { opacity:1; }
}

@media (prefers-reduced-motion: reduce) {
    .time-icon,
    .time-cloud,
    .time-stars,
    .player-marker {
        animation:none !important;
        transition:none !important;
    }
}


/* =========================================================
   v0.8.1 RESPONSIVE
========================================================= */

@media(max-width:1200px) {
    .team-unified-layout {
        grid-template-columns:1fr;
    }

    .objective-form {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:700px) {
    .objective-form {
        grid-template-columns:1fr;
    }

    .admin-unlock-form {
        flex-direction:column;
    }
}

/* Map roster selection and detail navigation */
.map-detail-toolbar { padding:12px 15px 0; }
#mapTeamList .team-row { grid-template-columns:36px minmax(0,1fr); cursor:pointer; }
#mapTeamList .gridpos { grid-column:2; text-align:left; }
.team-row[role="button"] { cursor:pointer; }
.team-row[role="button"]:focus-visible { outline:2px solid var(--orange); outline-offset:-2px; }
#dashboardTeamDetailBody.marker-detail { padding:0; }
/* v0.9 command center */
.sidebar nav{overflow-y:auto;min-height:0}.connection-card{flex-shrink:0}.sidebar .brand{padding-bottom:12px}.sidebar .nav{padding:8px 11px}
.center-section{padding:18px;margin-bottom:14px}.center-section h2{font-size:1.05rem;margin:0 0 15px}.center-section h3{font-size:.95rem;margin:0 0 10px}.center-note{font-size:.75rem;color:var(--muted);line-height:1.6}.center-notice{padding:15px;margin-bottom:15px;border-left:3px solid var(--yellow);font-size:.85rem;line-height:1.6}.center-notice a,.center-note a{color:var(--blue)}
.center-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.center-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.center-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.source-chip{font-size:.65rem;padding:4px 7px;border:1px solid var(--border);border-radius:4px;color:var(--muted);white-space:nowrap}.event-ended{opacity:.65}
.center-form{display:grid;gap:10px}.center-form label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--muted)}.center-form label:has(input[type="checkbox"]){display:block}.center-form input[type="checkbox"]{width:auto}.center-form input,.center-form select,.center-toolbar input,.center-toolbar select,.inline-form input{border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--text);padding:8px;min-width:0;width:100%}.compact-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.center-form button{align-self:end}.inline-form{display:flex;gap:6px;align-items:center}.inline-form input[type="number"]{max-width:90px}.center-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px;padding:12px}.center-toolbar input:not([type="checkbox"]){max-width:400px}.center-toolbar select{width:auto}.center-toolbar label{font-size:.75rem;white-space:nowrap}.center-toolbar input[type="checkbox"]{width:auto}.map-controls{z-index:30}#gridSearchForm input{max-width:120px}#gridSearchForm button{margin:0}
.center-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;padding:14px;margin-bottom:14px}.center-stats>div{padding:13px;border:1px solid var(--border);background:var(--panel);border-radius:6px}.center-stats small{display:block;color:var(--muted);font-size:.65rem;margin-bottom:8px}.center-stats strong{display:block;font-size:1.25rem}.center-table-wrap{overflow-x:auto}.center-table{width:100%;border-collapse:collapse;font-size:.8rem;text-align:left}.center-table th{color:var(--muted);font-weight:500;white-space:nowrap}.center-table td,.center-table th{padding:10px 9px;border-bottom:1px solid var(--border);vertical-align:top}.center-table small{display:block;font-size:.65rem;color:var(--muted);margin-top:5px}.center-table .linkbtn{font-size:inherit;text-align:left}
.center-list-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.center-list-row span{flex:1;font-size:.8rem}.center-list-row.completed span{text-decoration:line-through;opacity:.55}.center-list-card{padding:15px 0;border-bottom:1px solid var(--border)}.center-list-card h3{margin-top:10px}.center-tags{display:flex;flex-wrap:wrap;gap:6px}.center-knowledge{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.8fr);gap:15px;align-items:start}.center-item-list{max-height:720px;overflow:auto}.center-item-list button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);padding:13px}.center-item-list button:hover{background:var(--panel2)}.center-item-list small{display:block;color:var(--muted);font-size:.7rem;margin-top:6px}.center-map-overlay{position:absolute;left:0;top:0;pointer-events:none;overflow:hidden}.center-map-dot{pointer-events:auto;cursor:pointer}#populationChart svg,#analyticsHeat svg,#analyticsDeaths svg{display:block;width:100%;max-height:390px}#measurementReadout{font-size:.7rem}.center-section .marker-actions{flex-wrap:wrap}
@media(max-width:1000px){.center-knowledge,.center-two{grid-template-columns:1fr}.center-item-list{max-height:300px}.center-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}

.center-section button:not(.linkbtn),.center-toolbar button,.inline-form button{border:1px solid #45515e;background:#182029;color:#e7edf3;border-radius:6px;padding:8px 11px;font:inherit;font-size:.8rem}
.center-section button:not(.linkbtn):hover,.center-toolbar button:hover,.inline-form button:hover{border-color:var(--orange);background:#202a34}
.center-section button:disabled{opacity:.45;cursor:not-allowed}.center-form>button,.center-toolbar>button{background:#ba4422;border-color:#e5643d;color:white}
.center-item-list button{border-radius:0!important;border-width:0 0 1px!important;background:transparent!important;text-align:left;width:100%;padding:13px!important}.center-item-list button:hover{background:#202a34!important}
#knowledgeDetail h3{margin-top:20px}#calculationResult{margin-top:16px}#researchPlan .center-table{margin-top:12px}

[data-center-refresh],#wipeSelect,#refreshDevices{border:1px solid #45515e;background:#182029;color:var(--text);border-radius:6px;padding:8px 11px;font:inherit;font-size:.8rem;max-width:100%}

/* v0.10 fixed readouts: text never changes control geometry */
.map-readouts{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1fr);gap:12px;min-height:50px;padding:12px 15px;margin-bottom:12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:.8rem;font-variant-numeric:tabular-nums}
.map-readouts>span{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:22px}.map-controls{justify-content:flex-start;align-content:start}.map-controls .control-check{flex:0 0 auto}.timeline-day{padding:12px 18px}.timeline-day h3{font-size:.8rem;color:var(--muted);margin:8px 0 12px}.timeline-row{display:grid;grid-template-columns:80px 95px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--border);font-size:.8rem}.timeline-row time{color:var(--muted);font-variant-numeric:tabular-nums}.timeline-badge{font-size:.65rem;text-transform:uppercase;color:var(--blue);padding-top:3px}.knowledge-help{color:var(--muted);font-size:.85rem}.center-section summary{cursor:pointer;margin-bottom:14px;font-size:.9rem}.ops-settings{display:flex;gap:16px;flex-wrap:wrap}.ops-settings input{max-width:130px}.inline-form select{background:var(--panel2);color:var(--text);border:1px solid var(--border);padding:8px;border-radius:5px;min-width:0}.center-section button{margin:3px 0}
@media(max-width:700px){.map-readouts{grid-template-columns:1fr;min-height:82px}.timeline-row{grid-template-columns:65px minmax(0,1fr)}.timeline-row>div{grid-column:2}.inline-form{flex-wrap:wrap}}

[hidden]{display:none!important}.center-form .rule-message{grid-column:1/-2}@media(max-width:700px){.center-form .rule-message{grid-column:1/-1}}

.map-readouts #pinModeStatus:not(.hidden){grid-column:1/-1;height:22px}.center-section a{color:var(--blue)}
