#appRoot{grid-template-columns:258px minmax(0,1fr);transition:grid-template-columns .26s ease}
#appRoot .sidebar{margin:12px 0 12px 12px;top:12px;height:calc(100dvh - 24px);padding:20px 12px 14px;border:1px solid #274461;border-radius:18px;background:#091f39;box-shadow:0 15px 30px #00152c20;min-width:0}
#appRoot .sidebar .brand{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;padding:0 8px 20px}
#appRoot .sidebar .brand-logo-wrap{display:flex}
#appRoot .sidebar .brand-copy{display:block}
#appRoot .sidebar .brand-compact{display:none}
#appRoot .sidebar-navigation{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1px 2px 10px;scrollbar-width:thin;scrollbar-color:#3b5a79 transparent}
#appRoot .sidebar-navigation::-webkit-scrollbar{width:5px}
#appRoot .sidebar-navigation::-webkit-scrollbar-thumb{border-radius:99px;background:#3b5a79}
#appRoot .sidebar .nav-label{display:block}
#appRoot .sidebar .nav-label{display:flex;align-items:center;gap:10px;padding:18px 10px 9px;color:#8eabc7;font-size:10px;letter-spacing:.14em}
#appRoot .sidebar .nav-label::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#55718d55,transparent)}
#appRoot .sidebar-navigation>.nav-label:first-child{padding-top:10px}
#appRoot .sidebar .nav{gap:5px}
#appRoot .sidebar .nav-btn{position:relative;justify-content:flex-start;padding:8px 10px;border:1px solid transparent;border-radius:12px;min-height:49px;color:#c3d3e3;font-weight:570;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
#appRoot .sidebar .nav-btn>svg{flex:0 0 32px;width:32px;height:32px;padding:7px;border-radius:9px;background:#ffffff0b;color:#a9c8e7;transition:background .18s ease,color .18s ease}
#appRoot .sidebar .nav-btn:hover{transform:translateX(2px);background:#ffffff10;color:#fff}
#appRoot .sidebar .nav-btn:hover>svg{background:#ffffff16;color:#fff}
#appRoot .sidebar .nav-btn:focus-visible,#appRoot .dock-toggle:focus-visible{outline:2px solid #77dce9;outline-offset:2px}
#appRoot .sidebar .nav-btn>span:not(.count){display:block;white-space:nowrap}
#appRoot .sidebar .nav-btn.active{background:linear-gradient(105deg,#164984,#1c548e);border-color:#4284c6;box-shadow:0 5px 16px #000f2840;color:#fff}
#appRoot .sidebar .nav-btn.active>svg{background:#ffffff1b;color:#fff}
#appRoot .sidebar .nav-btn-ideas{min-height:56px;background:linear-gradient(105deg,#0d4169,#0d355b);border-color:#2c718e;color:#f2fcff;box-shadow:inset 0 1px #ffffff18}
#appRoot .sidebar .nav-btn-ideas>svg{background:#13a5be36;color:#74e6f1}
#appRoot .sidebar .nav-btn-ideas:hover{background:linear-gradient(105deg,#13567e,#154a70);border-color:#55bbce;box-shadow:0 8px 22px #00142666}
#appRoot .sidebar .nav-btn-ideas.active{background:linear-gradient(105deg,#126382,#17549a);border-color:#60cede;box-shadow:0 8px 22px #00142670,inset 0 1px #ffffff24}
#appRoot .sidebar .nav-btn .count{position:static;margin:0 0 0 auto;background:#ffffff16;border:1px solid #ffffff12;font-variant-numeric:tabular-nums}
#appRoot .sidebar .sidebar-health{display:block}
#appRoot .dock-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-top:auto;padding:12px;border:1px solid #34516f;border-radius:10px;background:#122f4d;color:#c5d9ed;cursor:pointer;text-align:left}
#appRoot .sidebar-health+.dock-toggle{margin-top:16px}
#appRoot .dock-toggle svg{flex-shrink:0}
#appRoot[data-dock="collapsed"]{grid-template-columns:88px minmax(0,1fr)}
#appRoot[data-dock="collapsed"] .sidebar{padding-inline:9px}
#appRoot[data-dock="collapsed"] .sidebar .brand{justify-content:center;padding-inline:0}
#appRoot[data-dock="collapsed"] .sidebar .brand-compact{display:grid}
#appRoot[data-dock="collapsed"] .sidebar-navigation{padding-inline:0}
#appRoot[data-dock="collapsed"] .sidebar .brand-logo-wrap,#appRoot[data-dock="collapsed"] .sidebar .brand-copy,#appRoot[data-dock="collapsed"] .sidebar .nav-label,#appRoot[data-dock="collapsed"] .sidebar .nav-btn>span,#appRoot[data-dock="collapsed"] .sidebar .sidebar-health,#appRoot[data-dock="collapsed"] .dock-toggle span{display:none}
#appRoot[data-dock="collapsed"] .sidebar-navigation .nav:not(:first-of-type){margin-top:15px;padding-top:15px;border-top:1px solid #ffffff16}
#appRoot[data-dock="collapsed"] .sidebar .nav-btn,#appRoot[data-dock="collapsed"] .dock-toggle{justify-content:center;padding-inline:0}
#appRoot[data-dock="collapsed"] .sidebar .nav-btn:hover{transform:none}
#appRoot[data-dock="collapsed"] .dock-toggle{margin-top:auto}
#dockTooltip{position:fixed;z-index:200;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;box-shadow:var(--shadow-soft);font-size:12px;pointer-events:none}
#dockTooltip[hidden]{display:none}
body[data-role="user"] #appRoot .sidebar .admin-only{display:none!important}
body[data-role="user"] #appRoot .dock-toggle{margin-top:auto}
#saveOrbit{width:min(390px,calc(100vw - 36px));padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);text-align:center;box-shadow:var(--shadow)}
#saveOrbit::backdrop{background:#041426b8;backdrop-filter:blur(4px)}
#saveOrbit h2{font-size:21px;margin:18px 0 12px}
#saveOrbit p{font-size:13px;line-height:1.6;color:var(--muted)}
#saveOrbit .orbit-rings{position:relative;width:100px;height:100px;margin:auto;display:grid;place-items:center;color:var(--blue)}
#saveOrbit .orbit-rings svg{width:30px;height:30px}
#saveOrbit .orbit-rings:before,#saveOrbit .orbit-rings:after{content:"";position:absolute;inset:9px;border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:50%;animation:orbit-save-spin 1.8s linear infinite}
#saveOrbit .orbit-rings:after{inset:0;border-top-color:var(--red);animation-duration:3s;animation-direction:reverse}
#saveOrbit:not([open]) .orbit-rings:before,#saveOrbit:not([open]) .orbit-rings:after{animation:none}
#ticketSaveError{border:1px solid var(--red);border-radius:10px;padding:14px;margin:14px 0;color:var(--text);background:var(--surface);font-size:13px;line-height:1.6}
#ticketSaveError[hidden]{display:none}
@keyframes orbit-save-spin{to{transform:rotate(360deg)}}
@media(max-width:820px){
 #appRoot,#appRoot[data-dock="collapsed"]{display:block}
 #appRoot .sidebar{position:fixed;top:12px;left:-280px;width:250px;margin:0;height:calc(100dvh - 24px);transition:left .24s ease;overflow-y:auto}
 #appRoot .sidebar.open{left:12px}
 #appRoot[data-dock="collapsed"] .sidebar .brand-logo-wrap{display:flex}
 #appRoot[data-dock="collapsed"] .sidebar .brand-copy,#appRoot[data-dock="collapsed"] .sidebar .nav-label,#appRoot[data-dock="collapsed"] .sidebar .nav-btn>span,#appRoot[data-dock="collapsed"] .dock-toggle span{display:block}
 #appRoot[data-dock="collapsed"] .sidebar .brand-compact{display:none}
 #appRoot[data-dock="collapsed"] .sidebar-navigation .nav:not(:first-of-type){margin-top:0;padding-top:0;border-top:0}
 #appRoot[data-dock="collapsed"] .sidebar .nav-btn,#appRoot[data-dock="collapsed"] .dock-toggle{justify-content:flex-start;padding-inline:12px}
 #appRoot .dock-toggle{margin-top:auto}
}
@media(prefers-reduced-motion:reduce){#appRoot,#appRoot .sidebar,#appRoot .sidebar .nav-btn,#appRoot .sidebar .nav-btn>svg{transition:none}#saveOrbit .orbit-rings:before,#saveOrbit .orbit-rings:after{animation:none}}
