:root {
  --bg: #04070d;
  --panel: #0b1830;
  --panel-2: #102347;
  --line: #4f8fda;
  --glow: #7fc0ff;
  --gold: #d9c06a;
  --red: #b9242e;
  --steel: #d6e5f4;
  --text: #f3f8ff;
  --muted: #9fb8d4;
  --success: #19b861;
  --warn: #dfbb4f;
  --danger: #e04d4d;
  --shadow: 0 18px 40px rgba(0,0,0,.34);
}
*{box-sizing:border-box} html,body{margin:0;padding:0;background:radial-gradient(circle at top,#17386f 0%,#091221 30%,#04070d 72%);color:var(--text);font-family:Inter,system-ui,sans-serif} a{color:inherit;text-decoration:none}
.shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr}.sidebar{border-right:1px solid rgba(127,192,255,.28);background:linear-gradient(180deg,rgba(6,18,42,.98),rgba(8,20,42,.96) 55%,rgba(4,7,13,.98));padding:28px 22px;position:sticky;top:0;height:100vh;box-shadow:inset -1px 0 0 rgba(217,192,106,.08)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}.brand-logo{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(127,192,255,.28)) drop-shadow(0 0 30px rgba(217,192,106,.10))}.brand-title{font-size:1.28rem;font-weight:800;letter-spacing:.04em;color:var(--steel);text-shadow:0 1px 0 rgba(0,0,0,.35)}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:6px}.nav{display:flex;flex-direction:column;gap:8px}.nav-link{display:block;padding:12px 14px;border:1px solid rgba(127,192,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border-radius:14px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.nav-link:hover{border-color:var(--gold);box-shadow:0 0 0 1px rgba(217,192,106,.18) inset,0 10px 24px rgba(0,0,0,.18)}.sidebar-card{margin-top:24px;padding:16px;background:linear-gradient(180deg,rgba(16,35,71,.72),rgba(11,24,48,.72));border:1px solid rgba(127,192,255,.22);border-radius:18px}.sidebar-label{font-weight:700;margin-bottom:8px}.sidebar-copy{color:var(--muted);font-size:.95rem;line-height:1.45}.main{padding:32px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid rgba(127,192,255,.14)}.topbar h1{margin:0;font-size:2rem;text-shadow:0 1px 0 rgba(0,0,0,.35)} .topbar-title-wrap{display:flex;gap:12px;align-items:center} .topbar-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(127,192,255,.24))}.status-chip{padding:10px 14px;border-radius:999px;border:1px solid rgba(127,192,255,.22);background:rgba(255,255,255,.03);color:var(--muted);font-size:.9rem}.grid{display:grid;gap:20px}.two-up{grid-template-columns:1.6fr 1fr;margin-bottom:24px}.three-up{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.panel{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border:1px solid rgba(127,192,255,.20);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.panel h2,.panel h3{margin:0 0 10px}.panel p{color:var(--muted);line-height:1.55}.hero-panel{background:linear-gradient(135deg,rgba(24,53,108,.42),rgba(217,192,106,.10),rgba(127,192,255,.08))}.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.panel-subtitle{color:var(--muted);font-size:.95rem}.stat-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.stat-row:last-child{border-bottom:0}.stat-row span{color:var(--muted)}.stat-row strong{font-size:1.05rem}.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.stack-form{display:grid;gap:14px}.compact-form label{display:grid;gap:8px}.compact-form span{font-size:.88rem;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(7,10,13,.76);color:var(--text);padding:12px 14px;border-radius:12px;font:inherit}textarea{resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:12px;border:1px solid transparent;padding:0 16px;font-weight:700;cursor:pointer;transition:transform .08s ease,filter .12s ease,box-shadow .12s ease}.btn:active,.btn.is-pressed{transform:translateY(2px) scale(.985);filter:brightness(.94);box-shadow:inset 0 2px 8px rgba(0,0,0,.22)}.btn:focus-visible{outline:2px solid rgba(217,192,106,.55);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--red),#d24b5a);color:white}.btn-secondary{background:linear-gradient(135deg,#85681e,var(--gold));color:#11161d}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.flash-stack{display:grid;gap:10px;margin-bottom:18px}.flash{padding:12px 14px;border-radius:12px;border:1px solid var(--line)}.flash-success{background:rgba(0,199,109,.14);border-color:rgba(0,199,109,.28)}.flash-warning{background:rgba(226,185,63,.14);border-color:rgba(226,185,63,.28)}.flash-danger{background:rgba(224,77,77,.14);border-color:rgba(224,77,77,.28)}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.slot-card{background:var(--panel-2);border:1px solid var(--line);border-radius:18px;padding:18px}.slot-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.slot-badge{padding:7px 10px;border-radius:999px;background:rgba(84,199,255,.12);color:var(--glow);font-weight:700;font-size:.82rem}.slot-role{color:var(--muted);font-size:.9rem}.slot-lines{display:grid;gap:8px;margin-bottom:16px}.slot-lines div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:6px}.slot-lines span{color:var(--muted);font-size:.9rem}.slot-lines strong{text-align:right}.board-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:18px;align-items:start}.pilot-rack,.inspector.inset-panel{min-height:780px}.pilot-rack{display:grid;gap:12px}.pilot-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2);cursor:grab}.pilot-card h4{margin:0 0 8px}.pilot-meta{display:grid;gap:4px;color:var(--muted);font-size:.88rem}.map-shell{position:relative;min-height:820px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(13,25,36,.94),rgba(7,16,25,.98))}.map-watermark{position:absolute;top:14px;left:16px;z-index:4;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(84,199,255,.2);font-weight:700;letter-spacing:.05em}.board-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(84,199,255,.10) 1px, transparent 1px),linear-gradient(90deg, rgba(84,199,255,.10) 1px, transparent 1px),radial-gradient(circle at center, rgba(84,199,255,.06), transparent 60%);background-size:40px 40px,40px 40px,100% 100%}.route-svg{position:absolute;inset:0;z-index:2;pointer-events:none}.token{position:absolute;z-index:3;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,var(--glow),#1e6b93);border:2px solid white;box-shadow:0 0 0 2px rgba(84,199,255,.25),0 0 24px rgba(84,199,255,.25);cursor:grab;transform:translate(-50%,-50%)}.token::after{content:attr(data-slot);position:absolute;top:38px;left:50%;transform:translateX(-50%);font-size:.74rem;font-weight:700;color:var(--steel);background:rgba(0,0,0,.55);padding:3px 7px;border-radius:999px;white-space:nowrap}.range-ring{position:absolute;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;border:1px solid}.ring-optimal{background:rgba(0,199,109,.10);border-color:rgba(0,199,109,.28)}.ring-strong{background:rgba(122,214,63,.08);border-color:rgba(122,214,63,.22)}.ring-fade{background:rgba(226,185,63,.08);border-color:rgba(226,185,63,.22)}.ring-max{background:rgba(224,77,77,.06);border-color:rgba(224,77,77,.20)}.inspector h3{margin:0 0 10px}.inspector .stat-row strong{font-size:.98rem}@media (max-width:1280px){.board-layout{grid-template-columns:1fr}.pilot-rack,.inspector.inset-panel{min-height:auto}.three-up,.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.two-up,.three-up,.slot-grid{grid-template-columns:1fr}}
