:root{--bg-primary: #202020;--bg-secondary: #171717;--bg-card: #292929;--bg-elevated: #2f2f2f;--border: #383838;--border-subtle: #323232;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--accent-primary: #8b5cf6;--accent-hover: #a78bfa;--accent-pressed: #7c3aed;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--bg: var(--bg-primary);--panel: var(--bg-card);--panel-alt: var(--bg-elevated);--text: var(--text-primary);--muted: var(--text-secondary);--accent: var(--accent-primary);--accent-strong: var(--accent-primary);--ok: var(--success)}*{box-sizing:border-box}body{margin:0;font-family:Open Sans,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary)}h1,h2,h3,.brand,.panel-title{font-family:Lora,Georgia,Times New Roman,serif;letter-spacing:.01em}.center{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.login p{max-width:32rem;color:var(--muted)}button{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem .8rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}button:hover{border-color:var(--accent-hover);color:var(--text-primary);background:var(--bg-card)}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.primary:active{background:var(--accent-pressed);border-color:var(--accent-pressed)}button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:var(--text-primary)}.brand-avatar{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);object-fit:cover;flex-shrink:0;background:var(--bg-card)}.tenant-picker{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}nav{display:flex;flex-direction:column;gap:.25rem}nav a{color:var(--text-secondary);text-decoration:none;padding:.4rem .6rem;border-radius:6px;border-left:2px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}nav a:hover{color:var(--text-primary);background:#8b5cf614}nav a.active{background:#8b5cf61f;color:var(--text-primary);border-left-color:var(--accent-primary)}.content{padding:1rem 1.5rem}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1rem;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:none}.panel h2,.panel h3{color:var(--text-primary)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}th{color:var(--text-secondary);font-weight:600;letter-spacing:.02em}tbody tr:hover{background:#8b5cf60f}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.kpi{display:flex;flex-direction:column;gap:.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.75rem}.kpi-label{font-size:.75rem;color:var(--text-secondary)}.kpi-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);font-family:Lora,Georgia,serif}.kpi-value em{font-size:.75rem;color:var(--muted);font-style:normal}.form{display:flex;flex-direction:column;gap:.75rem;max-width:26rem}.form.inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}input,select{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.4rem}input:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #8b5cf633}.toolbar{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1rem}.row-actions{display:flex;gap:.35rem}.death-links{display:inline-flex;gap:.35rem;flex-wrap:wrap}.actions{display:flex;gap:.5rem;margin-top:.5rem}.cta-live{border:1px solid var(--accent-primary);border-radius:8px;padding:1rem;background:#8b5cf614;display:flex;flex-direction:column;gap:.35rem}.cta-live-status{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-primary)}.cta-live p{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;max-width:26rem;width:100%}.modal h3{margin-top:0}.error{color:var(--danger)}.hint{color:var(--muted);font-size:.85rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.period-selector{display:flex;gap:.35rem;align-items:center;margin-left:auto}.chart{width:100%;height:200px;display:block;margin-top:.5rem}.chart-grid{stroke:var(--border);stroke-width:1}.chart-line{stroke:var(--accent-primary);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:var(--bg-card);stroke-width:1}.chart-bar{fill:var(--accent-primary)}.chart-bar-stack{fill:var(--muted);opacity:.45}.chart-bar-label{fill:var(--muted);font-size:10px}.ranking-bar{position:relative;background:var(--bg-elevated);border-radius:4px;height:1.1rem;min-width:6rem;overflow:hidden}.ranking-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent-primary);opacity:.6}.ranking-bar-value{position:relative;font-size:.75rem;padding-left:.35rem}.battle-badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.battle-badge.lost{border-color:var(--danger);color:var(--danger)}.modal-wide{max-width:48rem}.slot-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border);margin-bottom:.75rem}.slot-filter-title{font-size:.85rem;color:var(--muted)}.slot-check{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;cursor:pointer}.equipment-list{list-style:none;margin:0;padding:0;font-size:.8rem}.equipment-list li{white-space:nowrap}
