/* DCS Sports Hybrid AI shell — legacy module CSS is intentionally preserved below this layer. */
html,body{background:var(--hy-bg)!important;color:var(--hy-text-2)}
body{font-size:13px;background:
 radial-gradient(900px 520px at 84% -6%,rgba(20,189,242,.12),transparent 62%),
 radial-gradient(760px 520px at 15% 105%,rgba(34,223,166,.08),transparent 62%),
 var(--hy-bg)!important}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}

/* Login */
.login{background:
 radial-gradient(900px 560px at 85% -15%,rgba(20,189,242,.18),transparent 63%),
 radial-gradient(780px 540px at 6% 110%,rgba(34,223,166,.15),transparent 62%),
 linear-gradient(145deg,#06111f,#0a2136)!important}
.login-card{background:linear-gradient(160deg,rgba(15,43,66,.96),rgba(7,24,41,.97))!important;border:1px solid var(--hy-line-strong)!important;box-shadow:0 40px 100px -45px #000!important;color:var(--hy-text)!important;backdrop-filter:blur(18px)}
.login .sub,.divider{color:var(--hy-muted)!important}
.gbtn,.inp{background:rgba(255,255,255,.045)!important;border-color:var(--hy-line)!important;color:var(--hy-text)!important}
.inp::placeholder{color:#6f8ba4}
.divider span{border-color:var(--hy-line)!important}
.login label{color:#8ea9be!important}
.demo-preview-btn{width:100%;height:44px;margin-top:10px;border-radius:12px;border:1px solid rgba(34,223,166,.26);background:rgba(34,223,166,.075);color:#bff6df;font:inherit;font-weight:750;cursor:pointer;transition:.18s}
.demo-preview-btn:hover{background:rgba(34,223,166,.13);transform:translateY(-1px)}

/* Shell */
.app{grid-template-columns:var(--sidebar) minmax(0,1fr)!important;background:transparent}
.sidebar{position:relative;background:linear-gradient(180deg,#071725,#07131f)!important;border-color:var(--hy-line)!important;color:var(--hy-text-2);box-shadow:18px 0 50px -42px #000;z-index:20}
.sidebar:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.012));}
.brand{min-height:72px;padding:15px 16px 11px!important;border-bottom:1px solid rgba(148,205,232,.08)}
.brand .mark{background:var(--hy-gradient)!important;box-shadow:0 12px 26px -13px rgba(20,189,242,.85)!important}
.brand .mark b{color:#03141f!important;background:none!important;-webkit-text-fill-color:#03141f}
.brand .name{color:#fff;font-size:15.5px!important}
.brand .plan{background:rgba(34,223,166,.1)!important;border-color:rgba(34,223,166,.24)!important;color:#8ff0d0!important}
.hy-collapse{margin-left:4px;width:29px;height:29px;border:1px solid var(--hy-line);border-radius:9px;background:rgba(255,255,255,.035);color:#89a6be;display:grid;place-items:center;cursor:pointer}
.rolebar{margin:10px 12px!important;padding:10px 11px!important;background:linear-gradient(135deg,rgba(20,189,242,.06),rgba(34,223,166,.035))!important;border-color:var(--hy-line)!important}
.rolebar .av,.topbar .av{background:var(--hy-gradient)!important;color:#03131e!important;box-shadow:0 8px 22px -13px rgba(20,189,242,.9)}
.rolebar .who b{color:#eef8ff}.rolebar .who small{color:#7793aa!important}
.hy-side-status{margin:0 12px 7px;padding:10px 11px;border:1px solid rgba(34,223,166,.14);border-radius:12px;background:rgba(34,223,166,.045);display:flex;align-items:center;gap:9px;color:#8ff0d0;font-size:10.5px;font-weight:700}
.hy-side-status i{width:7px;height:7px;border-radius:50%;background:var(--hy-emerald);box-shadow:0 0 0 5px rgba(34,223,166,.08)}
.nav{padding:3px 9px 16px!important}
.sec{color:#4f6b83!important;padding:14px 11px 5px!important;font-size:9px!important;letter-spacing:.11em!important}
.item{color:#8fa8bd!important;padding:8px 10px!important;border:1px solid transparent;border-radius:11px!important;gap:10px!important;transition:.16s}
.item:hover{background:rgba(255,255,255,.035)!important;color:#eaf5fc!important;border-color:rgba(148,205,232,.06)}
.item.active{background:linear-gradient(100deg,rgba(20,189,242,.105),rgba(34,223,166,.055))!important;color:#fff!important;border-color:rgba(20,189,242,.12)}
.item.active::before{left:-9px!important;top:10px!important;bottom:10px!important;width:2px!important;background:var(--hy-gradient)!important}
.item .ic{width:19px!important;height:19px;display:grid;place-items:center;font-size:0!important;color:#6f8da5}
.item .ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.item.active .ic{color:#63ddc2}
.item .tag{border:1px solid transparent;font-size:8px!important;padding:1px 6px!important}
.tag.live{background:rgba(34,223,166,.1)!important;color:#83eac7!important;border-color:rgba(34,223,166,.14)}
.tag.pilot,.tag.beta{background:rgba(20,189,242,.10)!important;color:#77d9f8!important;border-color:rgba(20,189,242,.14)}
.tag.est{background:rgba(242,189,98,.1)!important;color:#eac379!important;border-color:rgba(242,189,98,.14)}
.tag.research,.tag.soon{background:rgba(169,154,244,.10)!important;color:#c2b7ff!important;border-color:rgba(169,154,244,.14)}
.readydot{box-shadow:0 0 0 4px rgba(34,223,166,.05)}
.foot{border-color:var(--hy-line)!important;background:rgba(0,0,0,.08)}

.main{background:transparent!important;min-width:0}
.topbar{height:66px!important;background:rgba(6,17,31,.78)!important;border-color:var(--hy-line)!important;padding:0 18px!important;backdrop-filter:blur(18px);position:relative;z-index:15}
.crumb{color:#607e97!important}.crumb b{color:#e9f4fb!important}
.search{height:38px;max-width:390px!important;background:rgba(255,255,255,.04)!important;border-color:var(--hy-line)!important;color:#6f8ba3!important;border-radius:12px!important}
.search span{background:rgba(255,255,255,.06)!important;color:#7894aa!important}
.hy-context{display:flex;align-items:center;gap:7px;margin-left:2px}
.hy-context select{height:35px;padding:0 28px 0 10px;border:1px solid var(--hy-line);border-radius:10px;background:#0b2032;color:#bcd0df;font:inherit;font-size:10.5px;outline:none}
.hy-icon-btn{position:relative;width:36px;height:36px;border:1px solid var(--hy-line);border-radius:11px;background:rgba(255,255,255,.035);color:#8ca8be;display:grid;place-items:center;cursor:pointer;transition:.16s}
.hy-icon-btn:hover,.hy-icon-btn.active{color:#dff9ef;border-color:rgba(34,223,166,.24);background:rgba(34,223,166,.07)}
.hy-icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hy-count{position:absolute;right:-4px;top:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e76661;color:#fff;font-size:8px;font-weight:800;display:grid;place-items:center;border:2px solid #071724}
.pill{border-color:rgba(34,223,166,.17)!important;color:#93e8ca!important;background:rgba(34,223,166,.06)!important}
.content{padding:20px 22px 34px!important;background:transparent!important}
.page{max-width:1460px!important}
.content>.note{color:#516c83!important}

/* drawers */
.hy-drawer{position:fixed;top:66px;right:0;bottom:0;width:min(390px,94vw);z-index:80;background:linear-gradient(180deg,#0b2033,#071725);border-left:1px solid var(--hy-line-strong);box-shadow:-35px 0 90px -50px #000;transform:translateX(103%);transition:transform .28s cubic-bezier(.2,.75,.25,1);display:flex;flex-direction:column;color:var(--hy-text-2)}
.hy-drawer.open{transform:none}
.hy-drawer-head{min-height:64px;padding:13px 15px;border-bottom:1px solid var(--hy-line);display:flex;align-items:center;gap:11px}
.hy-drawer-head .hy-ai-mark{width:34px;height:34px;border-radius:11px;background:var(--hy-gradient);color:#03141f;display:grid;place-items:center;font-weight:900}
.hy-drawer-head b{display:block;color:#fff;font-size:13px}.hy-drawer-head span{display:block;color:#68859c;font-size:9.5px;margin-top:2px}
.hy-close{margin-left:auto;width:30px;height:30px;border:1px solid var(--hy-line);border-radius:9px;background:transparent;color:#7f9ab1;cursor:pointer}
.hy-drawer-body{padding:15px;overflow:auto;flex:1}
.hy-ai-context{padding:11px;border:1px solid rgba(20,189,242,.13);border-radius:13px;background:rgba(20,189,242,.045);margin-bottom:12px}
.hy-ai-context .label{font-size:8px;color:#5cd7f5;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.hy-ai-context b{display:block;color:#eef9ff;margin-top:4px}.hy-ai-context p{color:#7794aa;font-size:10.5px;margin-top:4px}
.hy-prompt-grid{display:grid;gap:7px}.hy-prompt{padding:10px 11px;border:1px solid var(--hy-line);border-radius:11px;background:rgba(255,255,255,.025);color:#a9bfd0;font-size:10.5px;text-align:left;cursor:pointer}.hy-prompt:hover{border-color:rgba(34,223,166,.2);color:#e8f7f2;background:rgba(34,223,166,.04)}
.hy-ai-answer{margin-top:12px;padding:12px;border:1px solid rgba(34,223,166,.14);border-radius:13px;background:linear-gradient(135deg,rgba(34,223,166,.05),rgba(20,189,242,.035));display:none}
.hy-ai-answer.show{display:block;animation:hyIn .25s ease}.hy-ai-answer h4{color:#fff;font-size:12px}.hy-ai-answer p{color:#829eb4;font-size:10.5px;margin-top:5px}.hy-ai-answer .hy-conf{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}
.hy-mini-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;border:1px solid var(--hy-line);font-size:8px;color:#829cb1}.hy-mini-chip i{width:5px;height:5px;border-radius:50%;background:var(--hy-emerald)}
.hy-ai-input{padding:12px;border-top:1px solid var(--hy-line);display:flex;gap:7px}.hy-ai-input input{min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid var(--hy-line);border-radius:11px;background:rgba(255,255,255,.04);color:#dfeef7;font:inherit;outline:none}.hy-ai-input button{width:40px;border:0;border-radius:11px;background:var(--hy-gradient);color:#03141f;font-weight:900;cursor:pointer}

.hy-notice-list{display:grid;gap:8px}.hy-notice{display:grid;grid-template-columns:34px 1fr;gap:9px;padding:10px;border:1px solid var(--hy-line);border-radius:12px;background:rgba(255,255,255,.024)}.hy-notice .ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(20,189,242,.08);color:#68d6f4}.hy-notice b{display:block;color:#e8f4fb;font-size:10.5px}.hy-notice p{color:#718ca2;font-size:9.5px;margin-top:2px}.hy-notice time{display:block;color:#506a80;font-size:8px;margin-top:5px}

/* Stable desktop icon rail. Text is removed with display:none because several legacy labels use !important font sizes. */
.sidebar-collapsed{--sidebar:82px}
.sidebar-collapsed .sidebar{overflow:visible!important}
.sidebar-collapsed .sidebar .nav{overflow-y:auto!important;overflow-x:hidden!important}
.sidebar-collapsed .brand{position:relative;justify-content:center!important;padding:15px 8px 11px!important}
.sidebar-collapsed .brand .name,
.sidebar-collapsed .brand .plan,
.sidebar-collapsed .rolebar .who,
.sidebar-collapsed .hy-side-status span,
.sidebar-collapsed .sec,
.sidebar-collapsed .item>.tag,
.sidebar-collapsed .item>.readydot{display:none!important}
.sidebar-collapsed .hy-collapse{display:grid!important;position:absolute;right:-12px;top:22px;z-index:45;width:25px;height:25px;border-radius:50%;background:#0b2032;border-color:rgba(148,205,232,.22);box-shadow:0 8px 22px -10px #000;transform:rotate(180deg)}
.sidebar-collapsed .rolebar{justify-content:center!important;margin:10px 9px!important;padding:10px 8px!important}
.sidebar-collapsed .hy-side-status{justify-content:center!important;margin:0 9px 7px!important;padding:10px 8px!important}
.sidebar-collapsed .item{justify-content:center!important;padding:9px!important;font-size:0!important;gap:0!important}
.sidebar-collapsed .item .ic{width:22px!important;height:22px!important}
.sidebar-collapsed .foot .item{font-size:0!important}
.sidebar-collapsed .main,.sidebar-collapsed .content,.sidebar-collapsed .page{min-width:0!important}

@keyframes hyIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}


/* Collapsed navigation labels: custom fixed tooltip rendered outside the scroll rail. */
.hy-nav-tooltip{
  position:fixed;z-index:500;left:0;top:0;max-width:min(280px,calc(100vw - 32px));
  padding:9px 12px;border:1px solid rgba(77,206,255,.24);border-radius:11px;
  background:linear-gradient(145deg,rgba(7,23,39,.98),rgba(10,37,57,.98));
  color:#e7f8ff;font-size:12.5px;font-weight:700;line-height:1.25;letter-spacing:.01em;
  white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;
  transform:translate3d(7px,-50%,0) scale(.98);transform-origin:left center;
  box-shadow:0 16px 38px -16px rgba(0,0,0,.82),0 0 0 1px rgba(22,224,160,.035),0 0 24px rgba(18,184,244,.09);
  backdrop-filter:blur(14px);transition:opacity .13s ease,transform .13s ease,visibility .13s ease;
}
.hy-nav-tooltip::before{content:"";position:absolute;right:100%;top:50%;width:8px;height:8px;border-left:1px solid rgba(77,206,255,.24);border-bottom:1px solid rgba(77,206,255,.24);background:#092034;transform:translate(4px,-50%) rotate(45deg)}
.hy-nav-tooltip.open{opacity:1;visibility:visible;transform:translate3d(0,-50%,0) scale(1)}
.sidebar-collapsed .sidebar .item:focus-visible{outline:2px solid rgba(18,184,244,.72);outline-offset:2px}
@media (max-width:940px),(hover:none){.hy-nav-tooltip{display:none!important}}
