:root{--accent: #f5c400;--accent-strong: #dba900;--action: #2385b9;--action-dark: #12384b;--danger-bg: #ffe1df;--danger-text: #9f1515;--ink: #10171d;--muted: #657386;--page: #f2f3f1;--panel: #ffffff;--sidebar: #0b151d;--sidebar-border: rgba(255, 255, 255, .13);--sidebar-text: #e7edf2;--soft: #eef1f2;--soft-border: #d6dce1;--soft-warm: #f8f6ef;color:var(--ink);background:var(--page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1)}.app-shell.sidebar-collapsed{grid-template-columns:74px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#fff;display:flex;flex-direction:column;gap:20px;height:100vh;position:sticky;top:0;padding:24px;box-sizing:border-box;transition:padding .25s cubic-bezier(.4,0,.2,1),gap .25s cubic-bezier(.4,0,.2,1);overflow:visible;z-index:20}.sidebar.collapsed{padding:18px 10px;gap:16px;align-items:center}.sidebar-edge-toggle{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#0b151d;border:1px solid rgba(255,255,255,.25);color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:45;box-shadow:0 2px 8px #00000073;transition:all .2s cubic-bezier(.4,0,.2,1)}.sidebar-edge-toggle:hover{background:#102634;border-color:var(--accent);color:var(--accent);transform:translateY(-50%) scale(1.18);box-shadow:0 0 10px #f5c40066}.sidebar-edge-toggle svg{display:block}.sidebar h1{font-size:24px;line-height:1.05;margin:4px 0 0}.sidebar-header{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:10px;align-items:center;justify-content:center}.sidebar-brand{align-items:center;display:flex;justify-content:center;min-width:0;flex:1}.sidebar.collapsed .sidebar-brand{flex:none}.sidebar-brand img{display:block;height:auto;max-height:72px;object-fit:contain;object-position:center;width:min(210px,100%)}.sidebar-brand-mini{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,#f5c40026,#2385b926);border:1px solid rgba(245,196,0,.4);box-shadow:0 2px 8px #00000040;cursor:default;-webkit-user-select:none;user-select:none}.sidebar-brand-mini-badge{font-size:15px;font-weight:900;letter-spacing:.5px;color:var(--accent)}.mobile-menu-toggle{display:none}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;margin:0;text-transform:uppercase}.sidebar .eyebrow{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:7px;width:100%}.nav-button{background:transparent;border:1px solid var(--sidebar-border);border-radius:8px;color:var(--sidebar-text);cursor:pointer;font-size:14px;font-weight:500;min-height:40px;padding:9px 12px;text-align:left;display:flex;align-items:center;gap:10px;transition:all .15s ease;width:100%;box-sizing:border-box}.nav-button-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:#94a3b8;transition:color .15s ease}.nav-button:hover .nav-button-icon,.nav-button.active .nav-button-icon{color:var(--accent)}.nav-button.active,.nav-button:hover{background:#102634;border-color:var(--action);color:#fff}.nav-button.active{box-shadow:inset 3px 0 0 var(--accent)}.nav-button.is-collapsed{justify-content:center;padding:10px 0}.nav-button.is-collapsed .nav-button-icon{width:20px;height:20px}.nav-button.is-collapsed.active{box-shadow:inset 3px 0 0 var(--accent)}.nav-button-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto;width:100%}.sidebar.collapsed .server-footer{gap:8px;align-items:center}.sidebar-action{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;box-sizing:border-box}.sidebar-action.is-collapsed{display:flex;align-items:center;justify-content:center;padding:8px 0;min-height:38px;border-radius:8px;width:100%}.sidebar-btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.server-chip.is-collapsed{display:flex;align-items:center;justify-content:center;padding:10px 0;width:100%}.server-chip{align-items:flex-start;background:#ffffff12;border:1px solid var(--sidebar-border);border-radius:8px;display:flex;gap:10px;min-width:0;padding:12px}.server-chip-body{display:grid;gap:2px;min-width:0}.server-chip strong,.server-chip span{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-chip span{color:#c4cbd1;font-size:13px}.server-change-button{background:transparent;border:0;color:#98a3ad;cursor:pointer;font-size:12px;justify-self:start;min-height:0;padding:0}.server-change-button:hover{color:var(--accent)}.status-dot{background:#9aa4ae;border-radius:999px;height:10px;width:10px}.status-dot.online{background:var(--accent)}.main{align-content:start;display:grid;gap:18px;padding:26px;min-width:0;max-width:100%}.section-header,.car-card-header,.session-title{align-items:center;display:flex;gap:16px;justify-content:space-between}.section-header p{color:var(--muted);margin:4px 0 0}.section-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.form-help{color:var(--muted);font-size:14px;margin:14px 0 0}.content-stack{align-content:start;display:grid;gap:16px;min-width:0;max-width:100%}.content-stack.users-view{min-height:calc(100vh - 52px);grid-template-rows:auto 1fr}.content-stack.cars-view{min-height:calc(100vh - 52px)}.content-stack.presets-view{min-height:calc(100vh - 52px);grid-template-rows:auto 1fr}.panel,.car-card,.notice{background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;padding:16px}.panel h3,.section-header h2{margin:0}.panel-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.add-car-panel{padding:18px}.add-car-form{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(260px,1.5fr) minmax(190px,1fr) 140px auto}.model-control{display:grid;gap:8px;min-width:0}.form-grid{align-items:start;display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{align-content:start;display:grid;gap:6px}.field span,.toggle-line,.switch-line{color:#33404c;font-weight:700}input,select{background:var(--soft-warm);border:1px solid #cfd6db;border-radius:6px;color:#11181c;min-height:42px;padding:8px 10px;width:100%}.search-select__control{background:var(--soft-warm)!important;border-color:#cfd6db!important;border-radius:6px!important;box-shadow:none!important;min-height:42px!important}.search-select__control--is-focused{border-color:var(--action)!important;box-shadow:0 0 0 1px var(--action)!important}.search-select__menu{z-index:30!important}.search-select__option--is-focused{background:#eef4f6!important}.search-select__option--is-selected{background:var(--action)!important}.search-select__single-value,.search-select__input-container{color:#11181c!important}.button{border:0;border-radius:6px;cursor:pointer;font-weight:700;min-height:40px;padding:9px 14px}.button.primary{background:var(--action);color:#fff}.button.secondary{background:#e8edf0;color:var(--action-dark)}.button.danger{background:var(--danger-bg);color:var(--danger-text)}.button.small{min-height:32px;padding:6px 10px}.button.ghost{background:#ffffff14;color:var(--sidebar-text)}.icon-button{align-items:center;background:#e8edf0;border:0;border-radius:6px;color:var(--action-dark);cursor:pointer;display:inline-flex;font-weight:700;height:34px;justify-content:center;min-width:34px;padding:0 9px}.icon-button:disabled{cursor:default;opacity:.6}.button:disabled{cursor:default;opacity:.6}.add-button{align-self:start;margin-top:28px;min-width:110px}.preset-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.preset-editor,.user-editor{display:grid;gap:16px}.preset-cars-list{display:grid;gap:10px}.readonly-summary{background:var(--soft);border:1px solid var(--soft-border);border-radius:8px;display:grid;gap:4px;padding:10px 12px}.readonly-summary span{color:var(--muted);font-size:12px;font-weight:700}.readonly-summary strong{min-width:0;overflow-wrap:anywhere}.preset-car-row{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) 130px auto}.preset-actions{display:flex;flex-wrap:wrap;gap:10px}.row-button{margin-top:28px}.dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.five-columns{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.dashboard-grid.five-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}.dashboard-card{background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;display:grid;gap:6px;padding:16px}.dashboard-card span,.dashboard-list dt{color:var(--muted);font-size:13px;font-weight:700}.dashboard-card strong{color:var(--ink);font-size:26px;line-height:1.1}.dashboard-card p{color:var(--muted);margin:0}.dashboard-panel{display:grid;gap:14px}.dashboard-list{display:grid;gap:10px;margin:0}.dashboard-list div{align-items:center;border-bottom:1px solid #e0e4e7;display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.dashboard-list div:last-child{border-bottom:0;padding-bottom:0}.dashboard-list dd{color:var(--ink);font-weight:700;margin:0;text-align:right}.session-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.session-summary{background:var(--soft-warm);border:1px solid var(--soft-border);border-radius:8px;display:grid;gap:4px;padding:12px}.session-summary span{color:var(--muted)}.dashboard-chip-list{display:flex;flex-wrap:wrap;gap:8px}.dashboard-chip-list span{background:#eef1f2;border-left:3px solid var(--accent);border-radius:6px;color:var(--action-dark);font-weight:700;padding:7px 9px}.sessions-panel{align-content:start}.sessions-panel h3{font-size:18px}.compact-list{gap:7px}.compact-list div{padding-bottom:7px}.compact-list dt,.compact-list dd{font-size:14px}.sessions-panel .compact-chip-list{align-items:flex-start;gap:6px;margin-top:-4px}.sessions-panel .compact-chip-list span{align-items:center;display:inline-flex;flex:0 0 auto;font-size:12px;line-height:1.15;min-height:0;padding:5px 7px;width:auto}.table-list{display:grid;gap:0;overflow-x:auto}.table-row{align-items:center;background:transparent;border:0;border-bottom:1px solid #e0e4e7;color:var(--ink);display:grid;gap:12px;grid-template-columns:1fr 1.4fr 140px;min-width:620px;padding:12px 0;text-align:left}.table-row:last-child{border-bottom:0}.table-list>.table-row:not(.table-head):nth-child(odd){background:var(--soft-warm)}.table-head{color:var(--muted);font-size:13px;font-weight:700;padding-top:0}.table-button{cursor:pointer;font:inherit;width:100%}.table-button:hover{color:var(--action-dark)}.logs-table .table-row{grid-template-columns:170px 130px minmax(150px,1fr) 150px minmax(280px,1.8fr);min-width:980px}.log-server{display:grid;gap:2px;min-width:0}.log-server strong,.log-server small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-server small{color:var(--muted);font-size:11px}.users-table .table-row{grid-template-columns:46px 1fr 1.4fr 140px;min-width:720px}.servers-table .table-row{grid-template-columns:46px minmax(130px,1fr) 95px 110px minmax(170px,1.2fr) minmax(140px,1fr) 90px;min-width:980px}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase}.badge-cs2{background:#ea8a2526;border:1px solid rgba(234,138,37,.35);color:#ea8a25}.badge-assetto{background:#3b82f626;border:1px solid rgba(59,130,246,.35);color:#60a5fa}.badge-folder{background:#fef3c7;border:1px solid #fde047;color:#854d0e;font-weight:700}.badge-file{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;font-weight:700}.badge-mode-mix{background:#10b98126;border:1px solid rgba(16,185,129,.4);color:#059669;font-weight:700}.badge-mode-retake{background:#8b5cf626;border:1px solid rgba(139,92,246,.4);color:#7c3aed;font-weight:700}.badge-mode-normal{background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:#2563eb;font-weight:700}.cs2-mode-list{display:flex;flex-direction:column;gap:6px;margin-top:2px}.cs2-mode-item{align-items:center;display:flex;justify-content:space-between;min-height:24px}.cs2-mode-item strong{font-size:14px;letter-spacing:.5px}.cs2-mode-item .text-normal{color:#2563eb;font-weight:800}.cs2-mode-item .text-mix{color:#059669;font-weight:800}.cs2-mode-item .text-retake{color:#7c3aed;font-weight:800}.cs2-mode-item .text-muted{color:var(--muted);font-weight:500;opacity:.6}.cs2-switch-btn{font-size:13px;font-weight:700;padding:6px 16px;transition:transform .15s,background-color .15s}.cs2-mode-modal{max-width:500px;width:100%}.cs2-mode-options{display:flex;flex-direction:column;gap:10px;margin:16px 0}.cs2-mode-option-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;border:2px solid var(--soft-border);background:var(--surface);cursor:pointer;transition:all .15s ease;text-align:left}.cs2-mode-option-card:hover{border-color:var(--action);background:var(--soft)}.cs2-mode-option-card.selected{border-color:var(--action);background:#2563eb0f}.cs2-mode-option-left{display:flex;align-items:center;gap:12px}.cs2-mode-option-icon{font-size:20px;line-height:1}.cs2-mode-option-title{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}.cs2-mode-option-desc{font-size:12px;color:var(--muted);margin-top:2px}.cs2-mode-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--soft-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cs2-mode-option-card.selected .cs2-mode-radio{border-color:var(--action)}.cs2-mode-radio-inner{width:8px;height:8px;border-radius:50%;background:var(--action)}.cs2-mode-notice{background:var(--soft);border:1px solid var(--soft-border);border-left:3px solid #ea8a25;border-radius:6px;font-size:12px;padding:10px 14px;color:var(--ink);margin-bottom:16px}.cs2-dashboard-stack{gap:14px}.cs2-section-header{margin-bottom:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cs2-header-title{align-items:center;display:flex;gap:10px}.cs2-server-subtext{color:var(--muted);font-size:13px;margin-top:2px}.cs2-sub-address{background:var(--soft);padding:2px 6px;border-radius:4px;font-size:12px;color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace}.cs2-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cs2-steam-btn{background:linear-gradient(135deg,#1b2838,#2a475e);border:1px solid #66c0f4;color:#fff!important;font-size:13px;font-weight:700;padding:7px 14px;border-radius:6px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;box-shadow:0 2px 8px #66c0f433;transition:all .2s ease;cursor:pointer}.cs2-steam-btn:hover{background:linear-gradient(135deg,#2a475e,#1b2838);border-color:#9cdbfe;box-shadow:0 4px 14px #66c0f459;transform:translateY(-1px)}.cs2-steam-icon{font-size:16px;line-height:1}.cs2-copy-btn{font-size:13px;font-weight:600;padding:7px 12px}.cs2-dropdown-container{position:relative;display:inline-block}.cs2-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:7px 12px}.cs2-dropdown-arrow{display:inline-block;transition:transform .2s ease;font-size:11px}.cs2-dropdown-arrow.open{transform:rotate(180deg)}.cs2-dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:100;background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;padding:6px;min-width:230px;display:flex;flex-direction:column;gap:3px;animation:cs2FadeIn .15s ease-out}@keyframes cs2FadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cs2-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;text-decoration:none;color:var(--ink);transition:background .15s ease}.cs2-dropdown-item:hover:not(:disabled){background:var(--soft)}.cs2-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.cs2-dropdown-item-icon{font-size:16px;line-height:1}.cs2-dropdown-item-title{font-size:13px;font-weight:600;color:var(--ink)}.cs2-dropdown-item-desc{font-size:11px;color:var(--muted);margin-top:1px}.cs2-compact-status-bar{background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 1px 2px #00000008}.cs2-status-group-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cs2-refresh-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--soft);border:1px solid var(--soft-border);color:var(--muted);cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0}.cs2-refresh-icon-btn:hover:not(:disabled){background:var(--surface);color:var(--action);border-color:var(--action);transform:rotate(45deg);box-shadow:0 0 8px #2563eb33}.cs2-refresh-icon-btn:disabled{opacity:.6;cursor:not-allowed}.cs2-refresh-icon-btn.is-refreshing .cs2-refresh-svg{animation:cs2Spin .75s linear infinite;color:var(--action)}.cs2-refresh-svg{display:block}@keyframes cs2Spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs2-status-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.4px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.cs2-status-pill.status-online{background:#10b98114;border:1px solid rgba(16,185,129,.35);color:#10b981;box-shadow:0 0 12px #10b9811f,inset 0 1px #ffffff1a}.cs2-status-pill.status-offline{background:#ef444414;border:1px solid rgba(239,68,68,.35);color:#ef4444}.cs2-status-pill.status-starting{background:#f59e0b14;border:1px solid rgba(245,158,11,.35);color:#f59e0b}.cs2-pulse-dot-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px}.cs2-pulse-dot{width:7px;height:7px;border-radius:50%;display:inline-block;position:relative;z-index:2}.status-online .cs2-pulse-dot{background:#10b981;box-shadow:0 0 8px #10b981}.status-offline .cs2-pulse-dot{background:#ef4444}.status-starting .cs2-pulse-dot{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.cs2-pulse-wave{position:absolute;width:100%;height:100%;border-radius:50%;animation:cs2RadarPing 2s cubic-bezier(0,0,.2,1) infinite;z-index:1}.status-online .cs2-pulse-wave{background:#10b981}.status-starting .cs2-pulse-wave{background:#f59e0b}@keyframes cs2RadarPing{0%{transform:scale(.9);opacity:.85}75%,to{transform:scale(2.6);opacity:0}}.cs2-status-state-text{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.cs2-compact-mode-btn{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:4px 10px;font-size:12px;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.cs2-compact-mode-btn.mode-normal{background:#2563eb1a;color:#2563eb;border-color:#2563eb40}.cs2-compact-mode-btn.mode-mix{background:#0596691a;color:#059669;border-color:#05966940}.cs2-compact-mode-btn.mode-retake{background:#7c3aed1a;color:#7c3aed;border-color:#7c3aed40}.cs2-compact-mode-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.95);box-shadow:0 2px 4px #0000000d}.cs2-mode-tag{font-size:10px;opacity:.8;font-weight:600}.cs2-mode-edit-icon{font-size:11px;opacity:.6}.cs2-compact-restart-btn{display:inline-flex;align-items:center;gap:5px;background:var(--soft);border:1px solid var(--soft-border);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s ease}.cs2-compact-restart-btn:hover:not(:disabled){background:var(--surface);color:#ef4444;border-color:#ef444466;transform:translateY(-1px);box-shadow:0 2px 4px #ef44441a}.cs2-compact-restart-btn:disabled{opacity:.5;cursor:not-allowed}.cs2-spin-icon{display:inline-block;animation:cs2Spin .75s linear infinite}.cs2-resources-group-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cs2-resource-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;border:none;background:transparent;color:inherit;padding:0}.cs2-resource-label{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cs2-resource-value{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.cs2-resource-sep{color:var(--soft-border);font-size:14px}.cs2-ip-chip{background:var(--soft);border:1px solid var(--soft-border);padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.cs2-ip-chip:hover{border-color:var(--action);background:var(--surface)}.cs2-ip-chip code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.cs2-ip-copy-status{font-size:11px;color:var(--action);font-weight:700;margin-left:2px}.cs2-strip-steam-btn{background:linear-gradient(135deg,#1b2838,#2a475e);border:1px solid #66c0f4;color:#fff!important;font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px;display:inline-flex;align-items:center;gap:5px;text-decoration:none;box-shadow:0 2px 6px #66c0f433;transition:all .2s ease;line-height:1.4;cursor:pointer}.cs2-strip-steam-btn:hover{background:linear-gradient(135deg,#2a475e,#1b2838);border-color:#9cdbfe;box-shadow:0 3px 10px #66c0f459;transform:translateY(-1px)}.cs2-metric-sub{color:var(--muted);font-size:12px;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs2-console-panel{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:10px 14px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.cs2-console-header-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:0 2px 2px}.cs2-console-title-wrap{display:flex;align-items:center;gap:8px}.cs2-console-label{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.2px}.cs2-console-sep{color:var(--soft-border);font-size:12px}.cs2-console-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;border:1px solid var(--soft-border);background:var(--soft);color:var(--muted)}.cs2-console-badge.status-connected{background:#22c55e14;border-color:#22c55e4d;color:#16a34a}.cs2-console-badge.status-connecting{background:#eab30814;border-color:#eab3084d;color:#ca8a04}.cs2-console-badge.status-disconnected,.cs2-console-badge.status-error{background:#ef444414;border-color:#ef44444d;color:#dc2626}.cs2-console-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.cs2-console-dot.connected{background:#22c55e;box-shadow:0 0 6px #22c55e99}.cs2-console-dot.connecting{background:#eab308;box-shadow:0 0 6px #eab30899}.cs2-console-dot.disconnected,.cs2-console-dot.error{background:#ef4444}.cs2-console-reconnect-btn{background:var(--soft);border:1px solid var(--soft-border);color:var(--ink);font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.cs2-console-reconnect-btn:hover{background:var(--surface);border-color:var(--action);color:var(--action)}.cs2-presets-group{display:flex;flex-direction:column;gap:8px}.cs2-presets-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cs2-presets-row{display:flex;flex-wrap:wrap;gap:8px}.cs2-preset-pill{background:var(--soft);border:1px solid var(--soft-border);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.cs2-preset-pill:hover{background:var(--action);color:#fff;border-color:var(--action);transform:translateY(-1px)}.cs2-preset-pill code{font-size:11px;opacity:.7;font-family:JetBrains Mono,ui-monospace,monospace}.cs2-terminal-box{position:relative;background:#090d16;border:1px solid #1e293b;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;padding:0;gap:0;width:100%;max-width:100%;box-sizing:border-box;align-self:flex-start}.cs2-terminal-input-row{display:flex;align-items:center;gap:10px;background:#0f172a;border-top:1px solid #1e293b;padding:10px 28px 10px 14px}.cs2-terminal-prompt{color:#4ade80;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700;font-size:15px;-webkit-user-select:none;user-select:none}.cs2-terminal-input{flex:1;background:transparent;border:none;outline:none;color:#f8fafc;font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;min-width:0}.cs2-terminal-input::placeholder{color:#64748b;font-style:italic}.cs2-terminal-actions{display:flex;gap:8px;align-items:center}.cs2-cmd-send-btn{background:#10b981;color:#fff;border:none;padding:7px 16px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}.cs2-cmd-send-btn:hover:not(:disabled){background:#059669}.cs2-cmd-send-btn:disabled{opacity:.5;cursor:not-allowed}.cs2-cmd-clear-btn{background:#334155;color:#cbd5e1;border:none;padding:7px 12px;border-radius:6px;font-size:12px;cursor:pointer}.cs2-cmd-clear-btn:hover{background:#475569;color:#fff}.cs2-terminal-feedback{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;padding:6px 10px;border-radius:4px;display:flex;align-items:center;gap:8px}.cs2-terminal-feedback.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399}.cs2-terminal-feedback.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}.cs2-terminal-corner-handle{position:absolute;right:0;bottom:0;width:24px;height:24px;display:flex;align-items:flex-end;justify-content:flex-end;padding:4px;cursor:nwse-resize;color:#64748b;z-index:10;-webkit-user-select:none;user-select:none;background:transparent;border-bottom-right-radius:8px;transition:color .15s ease,background .15s ease}.cs2-terminal-corner-handle:hover,.cs2-terminal-corner-handle:active{color:#38bdf8;background:#38bdf81f}.cs2-terminal-corner-handle svg{display:block}.cs2-logs-container{background:#090d16;min-height:180px;max-height:950px;overflow-y:auto;padding:12px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;display:flex;flex-direction:column;gap:2px;border:none}.cs2-log-line{white-space:pre-wrap;word-break:break-all;color:#e2e8f0}.cs2-log-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-style:italic}.cs2-console-notice{background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:6px;padding:8px 12px;font-size:12px;color:#fca5a5;display:flex;align-items:center;justify-content:space-between;gap:10px}.cs2-file-browser-header{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:16px}.cs2-browser-controls{align-items:center;display:flex;gap:12px}.cs2-filter-toggle{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;margin:0;-webkit-user-select:none;user-select:none}.cs2-browser-btn{font-size:13px;padding:6px 14px}.cs2-breadcrumbs-bar{align-items:center;background:var(--soft);border:1px solid var(--soft-border);border-radius:8px;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px;padding:8px 14px}.cs2-breadcrumbs{align-items:center;display:flex;flex-wrap:wrap;font-family:inherit;font-size:13px;gap:4px}.breadcrumb-link{background:none;border:none;border-radius:4px;color:var(--action);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:3px 6px;transition:background .15s,color .15s}.breadcrumb-link:hover{background:#0000000f;color:var(--action-dark)}.breadcrumb-link.active{color:var(--ink);font-weight:700;pointer-events:none}.breadcrumb-separator{color:var(--muted);-webkit-user-select:none;user-select:none}.cs2-go-up-btn{font-size:12px;padding:4px 10px}.cs2-files-table .table-row{align-items:center;grid-template-columns:32px minmax(200px,1fr) 95px 100px 190px;min-width:650px;padding:10px 12px}.cs2-file-row.clickable{cursor:pointer;transition:background .15s}.cs2-file-row.clickable:hover{background:#e6ecf2!important}.cs2-file-row.clickable:hover .cs2-file-name strong{color:var(--action)}.cs2-file-icon{align-items:center;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}.cs2-file-name{color:var(--ink)!important;font-size:14px}.cs2-file-name strong{color:var(--ink)!important;font-size:14px;font-weight:600}.empty-table-message{padding:32px 16px;text-align:center}.truncate-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cars-table .table-row{grid-template-columns:46px 1.4fr 1.2fr 120px;min-width:680px}.presets-table .table-row{grid-template-columns:46px 1.4fr 120px 120px;min-width:680px}.tracks-table .table-row{grid-template-columns:minmax(220px,1fr) 120px 100px 190px;min-width:760px}.downloads-table .table-row{grid-template-columns:46px minmax(180px,1fr) 90px minmax(220px,1.2fr) minmax(240px,1.2fr);min-width:880px}.downloads-table.table-list{overflow:visible}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.truncate-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-downloads{background:var(--surface);min-height:100vh;padding:28px}.public-downloads-hero{align-items:center;background:var(--sidebar);border-radius:10px;color:#fff;display:flex;gap:24px;margin:0 auto 20px;max-width:1120px;padding:28px}.public-downloads-hero img{height:92px;object-fit:contain;width:190px}.public-downloads-hero h1,.public-downloads-hero p{margin:0}.public-server-info{display:grid;gap:2px;margin-top:14px}.public-server-info span{color:#b9c6cf;font-size:13px;font-weight:700}.public-server-info strong{color:#fff;overflow-wrap:anywhere}.public-downloads-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:1120px}.public-featured-downloads{display:grid;gap:14px;margin:0 auto 18px;max-width:1120px}.public-featured-downloads h2,.public-featured-downloads p{margin:0}.download-guidance{background:#fff7d6;border:1px solid #f2cf68;border-radius:8px;color:#4f3d05;font-weight:700;margin-top:12px;padding:12px 14px}.download-guidance.ok{background:#e8f7ee;border-color:#8ed3a5;color:#14532d}.public-downloads-note{align-items:baseline;color:var(--muted);display:flex;gap:10px;margin:0 auto 12px;max-width:1120px}.public-downloads-note strong{color:var(--text)}.public-download-section h2{margin-top:0}.public-download-section.compact{display:block}.public-download-list{display:grid;gap:10px}.public-download-item{align-items:center;border-bottom:1px solid #e0e4e7;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.public-download-item:last-child{border-bottom:0}.public-download-item h3,.public-download-item p{margin:0}.public-download-item p{color:var(--muted)}.public-link-panel{align-items:center;display:flex;gap:16px;justify-content:space-between}.public-link-panel div{display:grid;gap:6px;min-width:0}.public-link-panel span{color:var(--muted);font-weight:700}.public-link-panel a{color:var(--action-dark);font-weight:700;overflow-wrap:anywhere}.cars-list-panel{align-content:start;min-height:calc(100vh - 430px)}.cars-list-panel .table-list{align-content:start;overflow:visible}.users-list-panel{align-content:start;min-height:100%}.users-list-panel .table-list{align-content:start;overflow:visible}.presets-list-panel{align-content:start;min-height:100%}.presets-list-panel .table-list{align-content:start;overflow:visible}.row-actions{display:flex;justify-content:flex-start;position:relative}.row-actions:has(.actions-menu){z-index:30}.actions-menu{background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;box-shadow:0 12px 28px #0f172024;display:grid;min-width:150px;overflow:hidden;position:absolute;left:0;right:auto;top:40px;z-index:50}.actions-menu button{background:transparent;border:0;color:var(--ink);cursor:pointer;padding:10px 12px;text-align:left}.actions-menu button:hover{background:var(--soft-warm)}.actions-menu button:disabled{color:#94a3b8;cursor:default}.actions-menu button:disabled:hover{background:transparent}.drawer-backdrop{background:#0f172061;inset:0;position:fixed;z-index:30}.drawer{background:var(--panel);box-shadow:-18px 0 45px #0f172033;display:grid;grid-template-rows:auto 1fr auto;height:100%;margin-left:auto;max-width:min(440px,100vw);width:100%}.drawer.wide-drawer{max-width:min(760px,100vw)}.drawer-header{align-items:start;border-bottom:1px solid var(--soft-border);display:flex;justify-content:space-between;padding:20px}.drawer-header h3{margin:4px 0 0}.drawer-body{align-content:start;display:grid;gap:14px;overflow-y:auto;padding:20px}.drawer-actions{border-top:1px solid var(--soft-border);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.modal-backdrop{align-items:center;background:#0f17207a;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:50}.confirm-modal{background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;box-shadow:0 24px 70px #0f172042;display:grid;gap:18px;max-width:460px;padding:20px;width:min(100%,460px)}.confirm-modal-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.confirm-modal-header h3{font-size:24px;line-height:1.1;margin:4px 0 0}.confirm-modal-message{color:var(--muted);line-height:1.45;margin:0}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}.folder-dropzone{align-items:start;background:var(--soft-warm);border:1px dashed #94a3b8;border-radius:8px;color:#475569;display:grid;gap:6px;min-height:128px;padding:16px;position:relative}.folder-dropzone.dragging{background:#fff8d9;border-color:var(--accent);color:#5a4b00}.folder-dropzone strong{color:#334155}.folder-dropzone.processing{min-height:220px;overflow:hidden}.preset-import-panel{display:grid;gap:10px}.preset-import-panel .folder-dropzone{min-height:unset;padding:12px}.preset-import-panel .imported-cars{max-height:360px;overflow-y:auto;padding-right:4px}.folder-picker-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.folder-picker-input{display:none}.import-loader{align-items:center;color:var(--action-dark);display:flex;gap:10px;margin-top:8px}.dropzone-processing-overlay{align-items:center;background:#ffffffe6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:8px;color:var(--ink);display:flex;gap:14px;inset:0;justify-content:center;padding:18px;position:absolute;text-align:left;z-index:2}.dropzone-processing-overlay div{display:grid;gap:4px;max-width:360px}.dropzone-processing-overlay span:last-child{color:var(--muted);font-size:14px}.import-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-weight:700;margin-top:8px;padding:10px 12px}.loader-dot{animation:loader-spin .8s linear infinite;border:3px solid #cbd5e1;border-top-color:var(--accent);border-radius:999px;height:20px;width:20px}.loading-overlay{align-items:center;background:#f2f3f1c2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:80}.loading-card{align-items:center;background:#fff;border:1px solid var(--soft-border);border-radius:10px;box-shadow:0 20px 60px #0f172a2e;color:var(--ink);display:flex;gap:16px;max-width:430px;padding:20px 22px;width:min(430px,100%)}.loading-card div{display:grid;gap:4px}.loading-card strong{font-size:18px}.loading-card span:not(.loading-spinner){color:var(--muted);line-height:1.4}.loading-spinner{animation:loader-spin .85s linear infinite;border:4px solid #d8dee4;border-top-color:var(--accent);border-radius:999px;flex:0 0 auto;height:34px;width:34px}@keyframes loader-spin{to{transform:rotate(360deg)}}.imported-cars{border-top:1px solid #d7dde3;display:grid;gap:0;margin-top:10px;padding-top:12px;width:100%}.imported-car-row{align-items:end;border-bottom:1px solid #d7dde3;display:grid;gap:12px;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) auto;padding:12px 0}.imported-car-row:first-child{padding-top:0}.imported-car-model{display:grid;gap:6px}.imported-car-model span{color:#334155;font-weight:700}.imported-delete-button{min-width:96px}.imported-car-row>span{color:#64748b;min-height:42px;padding:10px 0}.card-list{display:grid;gap:10px}.car-card{display:grid;gap:14px}.text-button{background:none;border:0;color:inherit;cursor:pointer;display:grid;gap:4px;padding:0;text-align:left}.text-button span{color:#6b7280}.toggle-line{align-items:center;display:flex;gap:8px}.toggle-line input,.switch-line input{min-height:auto;width:auto}.switch-line{align-items:center;background:var(--soft-warm);border:1px solid var(--soft-border);border-radius:6px;display:flex;gap:9px;min-height:42px;padding:8px 12px;white-space:nowrap}.switch-line.compact{background:transparent;border:0;min-height:auto;padding:0}.race-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.notice{color:#475569}.progress{align-items:center;background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;color:#475569;display:flex;gap:10px;padding:16px}.progress:before{animation:loader-spin .85s linear infinite;border:3px solid #d8dee4;border-top-color:var(--accent);border-radius:999px;content:"";height:20px;width:20px}.notice{align-items:center;background:#fff8d9;border-color:#efd36a;color:#725f00;display:flex;gap:12px;justify-content:space-between}.notice strong{color:#5d4c00}.notice span{color:#725f00}.toast{background:#0f1720;border-radius:8px;bottom:24px;box-shadow:0 12px 30px #0f172038;color:#fff;font-weight:700;padding:14px 16px;position:fixed;right:24px;z-index:20}.toast-error{background:#9f1515}.auth-screen{align-items:center;background:#0f1720;display:grid;min-height:100vh;padding:24px;place-items:center}.auth-card{background:#fff;border-radius:8px;box-shadow:0 20px 60px #00000038;display:grid;gap:16px;max-width:420px;padding:28px;width:100%}.auth-card h1,.auth-card p{margin:0}.server-select-card{max-width:560px}.server-choice-list,.checkbox-list{display:grid;gap:8px}.permissions-list{gap:14px}.permission-group{border:1px solid #d8e0e7;border-radius:8px;display:grid;gap:8px;padding:12px}.permission-group>strong{color:#11181c;font-size:14px}.server-choice{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#11181c;cursor:pointer;display:grid;gap:4px;padding:14px;position:relative;text-align:left;min-height:68px}.server-choice:hover{border-color:#0a7ea4}.server-choice-host,.muted-text{color:#64748b}.server-choice-host{max-width:100%;overflow:hidden;padding-right:92px;text-overflow:ellipsis;white-space:nowrap}.server-choice-id{bottom:10px;color:#94a3b8;font-size:11px;font-weight:700;max-width:82px;overflow:hidden;position:absolute;right:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.checkbox-row{align-items:center;background:#f8fafc;border:1px solid #d7dde3;border-radius:6px;display:flex;gap:10px;min-height:40px;padding:8px 10px}.checkbox-row span{display:grid;gap:2px}.checkbox-row small{color:var(--muted);font-size:11px}.checkbox-row input{min-height:auto;width:auto}.checkbox-row span{color:#334155;font-weight:700}.auth-error{color:#991b1b;font-weight:700}@media(max-width:900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-edge-toggle{display:none!important}.sidebar.collapsed{padding:16px;gap:14px;align-items:stretch}.sidebar.collapsed .sidebar-header{flex-direction:row;gap:16px;justify-content:space-between}.sidebar.collapsed .sidebar-brand{display:flex}.sidebar.collapsed .nav-button.is-collapsed{justify-content:flex-start;padding:9px 12px}.sidebar.collapsed .nav-button.is-collapsed .nav-button-label{display:inline}.sidebar{gap:14px;height:auto;overflow:visible;padding:16px;position:sticky;top:0;z-index:25}.sidebar h1{font-size:20px;margin-top:3px}.sidebar-header{align-items:center}.mobile-menu-toggle{display:inline-flex;min-height:38px;white-space:nowrap}.sidebar:not(.mobile-open) .nav,.sidebar:not(.mobile-open) .server-footer{display:none}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.server-footer{margin-top:0}.main{padding:18px}.section-header{gap:12px}.dashboard-grid,.dashboard-grid.two-columns,.public-downloads-grid,.form-grid.four,.form-grid.three,.form-grid.two,.add-car-form,.imported-car-row,.preset-car-row,.race-grid,.session-summary-grid{grid-template-columns:1fr}.row-button{margin-top:0}.section-header,.car-card-header,.notice{align-items:stretch;flex-direction:column}.section-actions{justify-content:stretch}.section-actions .button{width:100%}.public-downloads{padding:16px}.public-downloads-hero,.public-download-item,.public-link-panel{align-items:stretch;flex-direction:column}.public-downloads-hero img{height:auto;width:180px}.actions-menu{left:0;right:auto;min-width:170px}.users-table .table-head,.cars-table .table-head,.presets-table .table-head{display:none}.users-table .table-row,.cars-table .table-row,.presets-table .table-row{align-items:start;gap:4px 10px;grid-template-columns:38px minmax(0,1fr);min-width:0;padding:12px 0}.users-table .row-actions,.cars-table .row-actions,.presets-table .row-actions{grid-row:1 / span 3}.users-table .table-row>span,.cars-table .table-row>span,.presets-table .table-row>span{min-width:0;overflow-wrap:anywhere}.users-table .table-row>span:first-of-type,.cars-table .table-row>span:first-of-type,.presets-table .table-row>span:first-of-type{font-weight:700}.toast{bottom:14px;left:14px;right:14px}}
