/* ============================================================
   TechAge MissionSuite — Admin Console shell ("app" layout)
   ============================================================ */
body{ background:var(--ms-parchment); }

.ms-shell{ display:flex; min-height:100vh; }
.ms-sidebar{ width:268px; flex-shrink:0; background:linear-gradient(180deg, var(--ms-navy) 0%, var(--ms-navy-deep) 100%);
  color:#DCE6EA; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.ms-brand{ padding:24px 22px 18px; border-bottom:1px solid var(--ms-border-navy); display:flex; align-items:center; gap:12px; }
.ms-brand-mark{ width:38px; height:38px; border-radius:50%; border:1.5px solid var(--ms-amber); display:flex; align-items:center;
  justify-content:center; font-family:var(--font-display); font-weight:700; color:var(--ms-amber); position:relative; }
.ms-brand-mark::after{ content:""; position:absolute; inset:5px; border:1px dashed rgba(201,122,43,0.55); border-radius:50%; }
.ms-brand-text .name{ font-family:var(--font-display); font-weight:600; font-size:17px; color:#F3EFE4; letter-spacing:.2px;}
.ms-brand-text .sub{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:#7E93A0;}
.ms-nav{ padding:14px 12px; overflow-y:auto; flex:1; }
.ms-nav-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:1.6px; text-transform:uppercase; color:#5C7280; padding:16px 12px 6px; }
.ms-nav .nav-link{ display:flex; align-items:center; gap:11px; color:#B9C7CE; font-size:14px; font-weight:500; padding:9px 12px;
  border-radius:8px; margin-bottom:2px; position:relative; transition:background .15s ease,color .15s ease; }
.ms-nav .nav-link i{ width:18px; text-align:center; font-size:13.5px; color:#7E93A0; }
.ms-nav .nav-link:hover{ background:rgba(255,255,255,0.06); color:#F3EFE4; }
.ms-nav .nav-link.active{ background:rgba(201,122,43,0.16); color:#F3EFE4; }
.ms-nav .nav-link.active i{ color:var(--ms-amber); }
.ms-nav .nav-link.active::before{ content:""; position:absolute; left:-12px; top:8px; bottom:8px; width:3px; background:var(--ms-amber); border-radius:2px; }
.ms-nav .nav-link .count{ margin-left:auto; font-family:var(--font-mono); font-size:10.5px; color:#7E93A0; background:rgba(255,255,255,0.06); padding:1px 7px; border-radius:20px; }
.ms-sidebar-foot{ padding:14px 20px 18px; border-top:1px solid var(--ms-border-navy); font-family:var(--font-mono); font-size:10.5px; color:#5C7280; letter-spacing:.4px; }
.ms-sidebar-bottom{ padding:8px 12px 0; border-top:1px solid var(--ms-border-navy); }
.ms-sidebar-bottom form{ margin:0; }
.nav-logout{ color:#E29383; }
.nav-logout:hover{ background:rgba(180,67,46,0.18); color:#F3EFE4; }
.nav-logout i:first-child{ color:#E29383 !important; }

/* ---------- Collapsible sidebar (hamburger) + grouped/accordion nav ---------- */
.ms-sidebar{ transition:width .22s ease; }
.ms-sidebar.collapsed{ width:72px; }
.ms-sidebar.collapsed .ms-brand{ justify-content:center; padding:24px 0 18px; }
.ms-sidebar.collapsed .ms-brand-text{ display:none; }
.ms-sidebar.collapsed .ms-sidebar-foot{ display:none; }
.ms-sidebar.collapsed .ms-nav{ overflow:visible; }

.nav-group{ margin-bottom:2px; }
.nav-parent{ display:flex; align-items:center; gap:11px; width:100%; background:none; border:none; color:#B9C7CE; font-size:14px;
  font-weight:500; padding:9px 12px; border-radius:8px; margin-bottom:2px; cursor:pointer; text-align:left; transition:background .15s ease,color .15s ease; }
.nav-parent i:first-child{ width:18px; text-align:center; font-size:13.5px; color:#7E93A0; flex-shrink:0; }
.nav-parent:hover{ background:rgba(255,255,255,0.06); color:#F3EFE4; }
.nav-parent.has-active{ color:#F3EFE4; }
.nav-parent.has-active i:first-child{ color:var(--ms-amber); }
.nav-parent-label{ flex:1; }
.nav-chevron{ font-size:10px; color:#5C7280; transition:transform .2s ease; flex-shrink:0; }
.nav-group.open > .nav-parent .nav-chevron{ transform:rotate(90deg); }

.nav-submenu{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.nav-group.open > .nav-submenu{ max-height:700px; }

.nav-subitem{ display:flex; align-items:center; gap:11px; color:#B9C7CE; font-size:13px; font-weight:500; padding:8px 12px 8px 30px;
  border-radius:8px; margin-bottom:1px; position:relative; transition:background .15s ease,color .15s ease; text-decoration:none; }
.nav-subitem:hover{ text-decoration:none; }
.nav-subitem i{ width:16px; text-align:center; font-size:12px; color:#7E93A0; }
.nav-subitem:hover{ background:rgba(255,255,255,0.06); color:#F3EFE4; }
.nav-subitem.active{ background:rgba(201,122,43,0.16); color:#F3EFE4; }
.nav-subitem.active i{ color:var(--ms-amber); }
.nav-subitem.active::before{ content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; background:var(--ms-amber); border-radius:2px; }
.nav-subitem .count{ margin-left:auto; font-family:var(--font-mono); font-size:10.5px; color:#7E93A0; background:rgba(255,255,255,0.06); padding:1px 7px; border-radius:20px; }

.nav-flyout-title{ display:none; font-family:var(--font-mono); font-size:10px; letter-spacing:1.2px; text-transform:uppercase; color:#5C7280; padding:4px 12px 8px; border-bottom:1px solid var(--ms-border-navy); margin-bottom:4px; }

/* Collapsed icon-rail: center icons, hide labels/chevrons, reveal submenu as a flyout on hover/click */
.ms-sidebar.collapsed .nav-parent{ justify-content:center; padding:10px 0; gap:0; }
.ms-sidebar.collapsed .nav-parent-label,
.ms-sidebar.collapsed .nav-chevron{ display:none; }
.ms-sidebar.collapsed .nav-group{ position:relative; }
.ms-sidebar.collapsed .nav-submenu{
  display:none; position:absolute; left:64px; top:0; min-width:220px; max-height:none; overflow:visible;
  background:var(--ms-navy); border:1px solid var(--ms-border-navy); border-radius:10px; box-shadow:0 14px 30px rgba(10,25,41,.35); padding:8px; z-index:1600;
}
.ms-sidebar.collapsed .nav-group:hover .nav-submenu,
.ms-sidebar.collapsed .nav-group.flyout-open .nav-submenu{ display:block; }
.ms-sidebar.collapsed .nav-subitem{ padding:8px 12px; }
.ms-sidebar.collapsed .nav-flyout-title{ display:block; }

.sidebar-overlay{ display:none; position:fixed; inset:0; background:rgba(10,25,41,.5); z-index:1499; }
.sidebar-overlay.show{ display:block; }

.ms-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ms-topbar{ background:var(--ms-surface); border-bottom:1px solid var(--ms-border); padding:14px 28px; display:flex; align-items:center; gap:20px; position:sticky; top:0; z-index:20; }
.ms-coordinates{ font-family:var(--font-mono); font-size:11.5px; color:var(--ms-slate); letter-spacing:.3px; }
.ms-coordinates b{ color:var(--ms-ink); font-weight:600; }
.ms-coordinates .sep{ color:var(--ms-amber); margin:0 6px; }
.ms-topbar-right{ margin-left:auto; display:flex; align-items:center; gap:16px; }
.ms-bell{ position:relative; color:var(--ms-slate); font-size:16px; cursor:pointer; }
.ms-bell .dot{ position:absolute; top:-3px; right:-3px; width:8px; height:8px; background:var(--ms-red); border-radius:50%; border:1.5px solid #fff; }
.ms-user{ display:flex; align-items:center; gap:9px; cursor:pointer; }
.ms-user .avatar{ width:34px; height:34px; border-radius:50%; background:var(--ms-navy); color:var(--ms-amber); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600; font-size:13px; }
.ms-user .who{ line-height:1.2; }
.ms-user .who .n{ font-size:13px; font-weight:600; color:var(--ms-ink); }
.ms-user .who .r{ font-size:10.5px; font-family:var(--font-mono); color:var(--ms-slate); text-transform:uppercase; letter-spacing:.5px; }
.ms-content{ padding:26px 28px 70px; }

.ms-page-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:22px; flex-wrap:wrap; gap:14px; }
.ms-page-head h1{ font-family:var(--font-display); font-weight:600; font-size:26px; margin:0 0 4px; color:var(--ms-navy); }
.ms-page-head p{ margin:0; color:var(--ms-slate); font-size:13.5px; }

/* ---------- Settings side-nav (tabs) ---------- */
.settings-nav{ background:var(--ms-surface); border:1px solid var(--ms-border); border-radius:12px; padding:10px; position:sticky; top:88px; }
.settings-nav .nav-link{ display:flex; align-items:center; gap:10px; color:var(--ms-ink); font-size:13.5px; font-weight:500;
  padding:10px 12px; border-radius:8px; margin-bottom:2px; }
.settings-nav .nav-link i{ width:16px; text-align:center; color:var(--ms-slate); font-size:13px; }
.settings-nav .nav-link:hover{ background:var(--ms-parchment); }
.settings-nav .nav-link.active{ background:var(--ms-amber-soft); color:var(--ms-amber-dark); }
.settings-nav .nav-link.active i{ color:var(--ms-amber-dark); }
.settings-nav-group{ font-family:var(--font-mono); font-size:10px; letter-spacing:1.2px; text-transform:uppercase; color:var(--ms-slate); padding:12px 12px 4px; }

.tab-pane .ms-divider-note{ font-family:var(--font-mono); font-size:11px; color:var(--ms-slate); border-left:2px solid var(--ms-amber); padding-left:10px; margin:0 0 18px; }

@media (max-width: 991px){
  .ms-sidebar{ position:fixed; left:-268px; z-index:1500; transition:left .2s ease; }
  .ms-sidebar.open{ left:0; }
  .ms-coordinates{ display:none; }
  .settings-nav{ position:static; margin-bottom:20px; }
}
