/* ============================================================
   AEGIS — Windows 98/95 THEME OVERRIDE
   Classic teal desktop, flat 3D-border grey windows,
   MS Sans Serif, no gradients on chrome — pure retro.
   ============================================================ */

/* ── Fonts ── */
* {
  font-family: "MS Sans Serif", "Microsoft Sans Serif", "Tahoma", Arial, sans-serif !important;
}

/* ── Body / Desktop ── */
body.xp-desktop {
  background: #008080 url('assets/img/background.png') center center / cover no-repeat !important;
}

/* ── Desktop wallpaper — flat teal, no gradient ── */
.desktop-wallpaper {
  background: url('../img/background.png') center center / cover no-repeat !important;
}
.desktop-wallpaper::before,
.desktop-wallpaper::after {
  display: none !important;
}

/* ── Desktop icons ── */
.desktop-icon .icon-img {
  background: #c0c0c0 !important;
  border: none !important;
  box-shadow: none !important;
}
.desktop-icon:hover  { background: rgba(0,0,128,0.45) !important; }
.desktop-icon.selected { background: rgba(0,0,128,0.65) !important; }
.icon-label {
  color: #fff !important;
  text-shadow: 1px 1px 0 #000 !important;
  font-size: 11px !important;
  font-weight: normal !important;
}

/* ── Win98 3-D border mixin ──
   outset = raised (button / window)
   inset  = sunken (input / pressed) */
.w98-raised {
  border-top:    2px solid #ffffff;
  border-left:   2px solid #ffffff;
  border-right:  2px solid #808080;
  border-bottom: 2px solid #808080;
  box-shadow: 1px 1px 0 #000;
}
.w98-sunken {
  border-top:    2px solid #808080;
  border-left:   2px solid #808080;
  border-right:  2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

/* ── WINDOWS ── */
.xp-window {
  background: #c0c0c0 !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  /* 3-D raised border */
  outline: 2px solid #000;
  border-top:    2px solid #ffffff !important;
  border-left:   2px solid #ffffff !important;
  border-right:  2px solid #404040 !important;
  border-bottom: 2px solid #404040 !important;
}

/* ── TITLE BAR ── */
.xp-titlebar {
  height: 18px !important;
  background: #000080 !important;        /* classic navy */
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: bold !important;
  padding: 1px 2px 1px 4px !important;
  color: #fff !important;
  text-shadow: none !important;
  border-bottom: 1px solid #000 !important;
}
.xp-titlebar::before { display: none !important; }

/* ── TITLE BAR BUTTONS (min/max/close) ── */
.xp-tb-btn {
  width: 16px !important; height: 14px !important;
  background: #c0c0c0 !important;
  border-radius: 0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  color: #000 !important;
  font-size: 9px !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-family: "Marlett", "Wingdings", Arial !important;
}
.xp-tb-btn:hover  { background: #d4d0c8 !important; }
.xp-tb-btn:active {
  border-top:   1px solid #808080 !important;
  border-left:  1px solid #808080 !important;
  border-right: 1px solid #fff !important;
  border-bottom:1px solid #fff !important;
}
.xp-tb-close {
  background: #c0c0c0 !important;
  border-color: inherit !important;
  color: #000 !important;
}

/* ── WINDOW BODY ── */
.xp-window-body { background: #c0c0c0 !important; }

/* ── MENUBAR ── */
.xp-menubar {
  background: #c0c0c0 !important;
  border-bottom: 1px solid #808080 !important;
  padding: 1px 2px !important;
}
.xp-menubar-item { color: #000 !important; padding: 2px 6px !important; }
.xp-menubar-item:hover {
  background: #000080 !important;
  color: #fff !important;
}

/* ── TOOLBAR ── */
.xp-toolbar {
  background: #c0c0c0 !important;
  border-bottom: 1px solid #808080 !important;
  padding: 2px 4px !important;
  gap: 2px !important;
}
.xp-toolbar-btn {
  background: #c0c0c0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #000 !important;
  font-size: 11px !important;
  padding: 2px 6px !important;
}
.xp-toolbar-btn:hover { background: #d4d4d4 !important; }
.xp-toolbar-btn:active {
  border-top:   1px solid #808080 !important;
  border-left:  1px solid #808080 !important;
  border-right: 1px solid #fff !important;
  border-bottom:1px solid #fff !important;
}

/* ── BUTTONS ── */
.xp-btn {
  background: #c0c0c0 !important;
  border-top:   2px solid #ffffff !important;
  border-left:  2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  border-radius: 0 !important;
  color: #000 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-size: 11px !important;
  padding: 3px 14px !important;
}
.xp-btn:hover  { background: #d4d0c8 !important; }
.xp-btn:active {
  border-top:   2px solid #808080 !important;
  border-left:  2px solid #808080 !important;
  border-right: 2px solid #ffffff !important;
  border-bottom:2px solid #ffffff !important;
}
.xp-btn-primary {
  background: #c0c0c0 !important;
  border-color: #fff #808080 #808080 #fff !important;
}
.xp-btn-danger {
  background: #c0c0c0 !important;
  color: #800000 !important;
}

/* ── INPUTS ── */
.xp-input, .xp-select, .xp-textarea {
  background: #fff !important;
  border-top:   2px solid #808080 !important;
  border-left:  2px solid #808080 !important;
  border-right: 2px solid #fff !important;
  border-bottom:2px solid #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #000 !important;
  font-size: 11px !important;
  padding: 2px 3px !important;
}
.xp-input:focus, .xp-select:focus, .xp-textarea:focus {
  outline: 1px dotted #000 !important;
  box-shadow: none !important;
  background: #fff !important;
  border-color: #808080 #fff #fff #808080 !important;
}

/* ── STATUS BAR ── */
.xp-statusbar {
  background: #c0c0c0 !important;
  border-top: 1px solid #808080 !important;
}
.xp-statusbar-section {
  background: #c0c0c0 !important;
  border-top:   1px solid #808080 !important;
  border-left:  1px solid #808080 !important;
  border-right: 1px solid #fff !important;
  border-bottom:1px solid #fff !important;
  margin: 2px !important;
  color: #000 !important;
}

/* ── CONTENT AREA ── */
.xp-content {
  background: #fff !important;
}

/* ── PANELS ── */
.xp-panel {
  background: #c0c0c0 !important;
  border: 2px solid #808080 !important;
}
.xp-panel-header {
  background: #000080 !important;
  color: #fff !important;
  text-shadow: none !important;
  border: none !important;
}

/* ── GROUP BOXES ── */
.xp-group {
  background: #c0c0c0 !important;
  border: 1px solid #808080 !important;
}
.xp-group-legend {
  background: #c0c0c0 !important;
  color: #000 !important;
}

/* ── TABS ── */
.xp-tabs-headers { background: #c0c0c0 !important; border-bottom: 1px solid #808080 !important; }
.xp-tab {
  background: #c0c0c0 !important;
  border: 1px solid #808080 !important;
  border-radius: 0 !important;
  color: #000 !important;
}
.xp-tab.active {
  background: #c0c0c0 !important;
  font-weight: bold !important;
  border-bottom-color: #c0c0c0 !important;
}
.xp-tabs-content { background: #c0c0c0 !important; border: 1px solid #808080 !important; }

/* ── TREE ── */
.xp-tree { background: #fff !important; }
.xp-tree-item:hover  { background: #000080 !important; color: #fff !important; }
.xp-tree-item.selected { background: #000080 !important; color: #fff !important; }

/* ── SPLIT HEADER ── */
.xp-split-header {
  background: #000080 !important;
  color: #fff !important;
  text-shadow: none !important;
  border-bottom: 1px solid #000 !important;
}

/* ── TABLES ── */
.xp-table th {
  background: #c0c0c0 !important;
  border-right: 1px solid #808080 !important;
  border-bottom: 1px solid #808080 !important;
  text-shadow: none !important;
}
.xp-table tr:hover td { background: #000080 !important; color: #fff !important; }
.xp-table tr.selected td { background: #000080 !important; color: #fff !important; }

/* ── SCROLLBARS ── */
::-webkit-scrollbar { width: 16px !important; height: 16px !important; }
::-webkit-scrollbar-track { background: #c0c0c0 !important; border: 1px solid #808080 !important; }
::-webkit-scrollbar-thumb {
  background: #c0c0c0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
::-webkit-scrollbar-button {
  background: #c0c0c0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  height: 16px !important; width: 16px !important;
  box-shadow: none !important;
}

/* ── TASKBAR ── */
.xp-taskbar {
  background: #c0c0c0 !important;
  border-top: 2px solid #fff !important;
  box-shadow: none !important;
  height: 30px !important;
  padding: 2px 4px !important;
}

/* ── START BUTTON ── */
.taskbar-start {
  background: #c0c0c0 !important;
  border-radius: 0 !important;
  border-top:   2px solid #ffffff !important;
  border-left:  2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  margin-left: 2px !important;
  margin-right: 4px !important;
  height: 22px !important;
  padding: 0 8px 0 6px !important;
  font-size: 11px !important;
  font-style: normal !important;
  color: #000 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-weight: bold !important;
  letter-spacing: 0 !important;
}
.taskbar-start::before { display: none !important; }
.taskbar-start:hover   { background: #d4d0c8 !important; }
.taskbar-start.active  {
  border-top:   2px solid #808080 !important;
  border-left:  2px solid #808080 !important;
  border-right: 2px solid #fff !important;
  border-bottom:2px solid #fff !important;
  background: #c0c0c0 !important;
  box-shadow: none !important;
}
.start-flag { display: none !important; }
.start-label::before {
  content: '' !important;
  width: 14px !important; height: 14px !important;
  display: inline-block !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='0' y='0' width='6' height='6' fill='%23e83030'/%3E%3Crect x='8' y='0' width='6' height='6' fill='%2348c840'/%3E%3Crect x='0' y='8' width='6' height='6' fill='%232858e8'/%3E%3Crect x='8' y='8' width='6' height='6' fill='%23f0c030'/%3E%3C/svg%3E") !important;
  margin-right: 5px !important;
  vertical-align: middle !important;
}

/* ── TASKBAR WINDOWS ── */
.taskbar-window {
  background: #c0c0c0 !important;
  border-top:   2px solid #ffffff !important;
  border-left:  2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  border-radius: 0 !important;
  color: #000 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-size: 11px !important;
  height: 22px !important;
  min-width: 100px !important;
  max-width: 150px !important;
}
.taskbar-window::before { display: none !important; }
.taskbar-window.active {
  border-top:   2px solid #808080 !important;
  border-left:  2px solid #808080 !important;
  border-right: 2px solid #fff !important;
  border-bottom:2px solid #fff !important;
  background: #c0c0c0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.taskbar-window:hover:not(.active) { background: #d4d0c8 !important; }

/* ── TRAY ── */
.taskbar-tray {
  background: #c0c0c0 !important;
  border-top:   1px solid #808080 !important;
  border-left:  1px solid #808080 !important;
  border-right: 1px solid #fff !important;
  border-bottom:1px solid #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  height: 22px !important;
}
.tray-aegis { color: #000080 !important; font-weight: bold !important; font-size: 10px !important; }

/* ── START MENU ── */
.start-menu {
  background: #c0c0c0 !important;
  border-radius: 0 !important;
  border-top:   2px solid #ffffff !important;
  border-left:  2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  box-shadow: none !important;
  width: 250px !important;
}
.sm-list { background: #c0c0c0 !important; }
.sm-item { color: #000 !important; font-size: 11px !important; font-weight: normal !important; padding: 4px 10px !important; gap: 8px !important; }
.sm-item:hover { background: #000080 !important; color: #fff !important; }
.sm-icon {
  width: 20px !important; height: 20px !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  background: none !important;
  box-shadow: none !important;
}
.sm-divider { background: #808080 !important; margin: 2px 0 !important; height: 1px !important; }
.sm-brand-bar {
  background: #000080 !important;
  border-top: 1px solid #0000a8 !important;
  writing-mode: vertical-rl !important;
  padding: 8px 4px !important;
  width: 28px !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
}
.sm-brand-name {
  font-size: 11px !important;
  letter-spacing: 2px !important;
  color: #c0c0c0 !important;
  text-shadow: none !important;
}
.sm-brand-sub { display: none !important; }
.sm-list { padding-left: 28px !important; }

/* ── NOTIFICATIONS ── */
.xp-notify {
  background: #c0c0c0 !important;
  border-radius: 0 !important;
  border-top:   2px solid #ffffff !important;
  border-left:  2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  box-shadow: 2px 2px 0 #000 !important;
}
.xp-notify-titlebar {
  background: #000080 !important;
  color: #fff !important;
  text-shadow: none !important;
  font-size: 11px !important;
  padding: 2px 6px !important;
}
.xp-notify.warn .xp-notify-titlebar { background: #808000 !important; }
.xp-notify.error .xp-notify-titlebar { background: #800000 !important; }
.xp-notify.success .xp-notify-titlebar { background: #008000 !important; }

/* ── ADDRESS BAR ── */
.xp-addressbar { background: #c0c0c0 !important; border-bottom: 1px solid #808080 !important; }

/* ── WINDOW OPEN ANIMATION — quick & snappy 98-style ── */
.xp-window.anim-open { animation: w98Open 0.12s ease-out !important; }
@keyframes w98Open {
  from { transform: scale(0.95); opacity: 0.7; }
  to   { transform: scale(1); opacity: 1; }
}

/* ── TRUST GRAPH BG ── */
.trust-graph {
  background: #000080 !important;
  border: 2px inset #808080 !important;
}

/* ── GEMMA CONSOLE ── */
.gemma-console { background: #000000 !important; }

/* ── STAT TILES ── */
.stat-tile {
  background: #c0c0c0 !important;
  border-top:   1px solid #ffffff !important;
  border-left:  1px solid #ffffff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  color: #000 !important;
  text-shadow: none !important;
}
.stat-tile::before { display: none !important; }
.stat-tile-blue  { background: #000080 !important; color: #fff !important; }
.stat-tile-green { background: #006400 !important; color: #fff !important; }
.stat-tile-amber { background: #808000 !important; color: #fff !important; }
.stat-tile-red   { background: #800000 !important; color: #fff !important; }

/* ── PASSPORT CARD titlebar ── */
.wizard-steps {
  background: #000080 !important;
  border-bottom: 2px solid #000 !important;
}
.wizard-step { background: rgba(255,255,255,0.1) !important; border-color: rgba(255,255,255,0.3) !important; }
.wizard-step.active { background: #c0c0c0 !important; color: #000 !important; border-color: #fff !important; }
.wizard-step.done   { background: rgba(255,255,255,0.2) !important; }

/* ── BROWSER ── */
.browser-navbtn {
  background: #c0c0c0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  border-radius: 0 !important;
  color: #000 !important;
}
.browser-navbtn:disabled { opacity: 0.5 !important; background: #c0c0c0 !important; }

/* ── BOT quick commands ── */
.bot-quick-cmd {
  background: #c0c0c0 !important;
  border-top:   1px solid #fff !important;
  border-left:  1px solid #fff !important;
  border-right: 1px solid #808080 !important;
  border-bottom:1px solid #808080 !important;
  border-radius: 0 !important;
  color: #000 !important;
}
.bot-quick-cmd:hover { background: #000080 !important; color: #fff !important; }

/* ── PERM CARDS ── */
.perm-card { background: #c0c0c0 !important; border: 1px solid #808080 !important; }
.perm-card.enabled { background: #c0c0c0 !important; border-color: #008000 !important; border-width: 2px !important; }
.perm-card-icon { background: #000080 !important; border: none !important; }

/* ── AGENT CARDS ── */
.agent-card { background: #c0c0c0 !important; border: 1px solid #808080 !important; }
.agent-card:hover { background: #d4d0c8 !important; }
.agent-card.selected { background: #000080 !important; color: #fff !important; }
.agent-avatar { background: #c0c0c0 !important; border: 2px solid #808080 !important; }

/* ── PANEL HEADER ── */
.xp-split-left { background: #c0c0c0 !important; border-right: 1px solid #808080 !important; }
.xp-split-right { background: #c0c0c0 !important; }
