/* ==========================================================================
   AegisGRC console styles — loads ON TOP of branguard.css (shared dark shell).
   Amber/gold accent; systems inventory, tier chips, wizard, controls matrix.
   ========================================================================== */

.aegis-body {
  --amber-ag: #fbbf24;
}

/* hero accent: gold gradient instead of cyan/violet */
.aegis-body .bg-hero h1 .grad {
  background: linear-gradient(110deg, #fbbf24, #f59e0b 45%, #34d399 90%);
  background-size: 220% 100%;
}

.aegis-body .console-bar .status-chip.done { color: var(--amber-ag); }
.aegis-body .svr.online .svr-dot { background: var(--amber-ag); box-shadow: 0 0 8px rgba(251, 191, 36, .8); }

/* ---------------- systems inventory ---------------- */
.ag-sys {
  border: 1px solid var(--line-d);
  border-radius: 12px;
  padding: 13px 16px;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.015);
  cursor: pointer;
  transition: transform .35s var(--ease-out, ease), border-color .3s, box-shadow .35s;
}
.ag-sys:hover {
  transform: translateY(-2px);
  border-color: rgba(251, 191, 36, 0.35);
  box-shadow: 0 10px 34px -14px rgba(0, 0, 0, .6), 0 0 30px -16px rgba(251, 191, 36, .3);
}
.ag-sys-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ag-sys b { font-size: 14.5px; color: #eef2f9; }
.ag-meta {
  display: block; font-family: var(--font-mono-c, monospace);
  font-size: 10.5px; color: #64748b; margin-top: 3px;
}
.ag-asm { font-size: 12px; color: #94a3b8; margin-top: 7px; }
.ag-asm b { font-size: 12px; color: #fbbf24; }

.ag-tier {
  font-family: var(--font-mono-c, monospace); font-size: 10.5px; font-weight: 700;
  letter-spacing: .08em; padding: 3px 10px; border-radius: 99px; white-space: nowrap;
}
.ag-tier.prohibited { color: #fda4af; background: rgba(190, 18, 60, .18); border: 1px solid rgba(251, 113, 133, .4); }
.ag-tier.high { color: #fcd34d; background: rgba(180, 83, 9, .18); border: 1px solid rgba(251, 191, 36, .4); }
.ag-tier.limited { color: #67e8f9; background: rgba(8, 145, 178, .16); border: 1px solid rgba(34, 211, 238, .38); }
.ag-tier.minimal { color: #6ee7b7; background: rgba(4, 120, 87, .16); border: 1px solid rgba(52, 211, 153, .38); }
.ag-tier.unclassified { color: #94a3b8; background: rgba(100, 116, 139, .14); border: 1px solid rgba(148, 163, 184, .3); }

/* ---------------- controls matrix ---------------- */
.ag-ctl {
  display: flex; align-items: flex-start; gap: 12px;
  border: 1px solid var(--line-d); border-radius: 11px;
  padding: 12px 14px; margin-bottom: 8px; background: rgba(255, 255, 255, 0.015);
  transition: border-color .3s, background .3s;
}
.ag-ctl.done { border-color: rgba(52, 211, 153, .3); background: rgba(4, 120, 87, .05); }
.ag-ctl > div { flex: 1; }
.ag-ctl code { color: #fbbf24; font-size: 11.5px; }
.ag-ctl b { font-size: 13.5px; color: #e2e8f0; }
.ag-cd { font-size: 11.8px; color: #64748b; margin-top: 3px; line-height: 1.55; }
.ag-ev { font-size: 11.5px; color: #34d399; margin-top: 5px; font-family: var(--font-mono-c, monospace); }
.ag-ctl-select {
  flex: none; background: #0e1729; color: #cbd5e1; border: 1px solid var(--line-strong);
  border-radius: 8px; padding: 7px 9px; font-size: 11.5px; font-family: var(--font-mono-c, monospace);
  cursor: pointer;
}
.ag-ctl-select:focus { outline: none; border-color: rgba(251, 191, 36, .55); }
.ag-ev-btn {
  flex: none; background: transparent; color: #64748b; border: 1px dashed var(--line-strong);
  border-radius: 8px; padding: 7px 10px; font-size: 11px; cursor: pointer; transition: color .25s, border-color .25s;
}
.ag-ev-btn:hover { color: #fbbf24; border-color: rgba(251, 191, 36, .45); }

/* ---------------- wizard tabs ---------------- */
.ag-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line-d); margin-bottom: 16px; }
.ag-tabs button {
  background: transparent; border: 0; border-bottom: 2px solid transparent;
  color: #64748b; font-size: 13px; font-weight: 600; padding: 10px 14px; cursor: pointer;
  transition: color .25s, border-color .25s;
}
.ag-tabs button:hover { color: #cbd5e1; }
.ag-tabs button.active { color: #fbbf24; border-bottom-color: #fbbf24; }
.ag-tabs button.danger-tab { margin-left: auto; color: #64748b; }
.ag-tabs button.danger-tab:hover { color: #fb7185; }

.ag-tab { max-height: 56vh; overflow-y: auto; padding-right: 4px; }

/* classification questions */
.ag-q {
  display: flex; gap: 11px; align-items: flex-start;
  border: 1px solid var(--line-d); border-radius: 10px;
  padding: 10px 13px; margin-bottom: 7px; cursor: pointer;
  transition: border-color .25s, background .25s;
}
.ag-q:hover { border-color: var(--line-strong); }
.ag-q input { accent-color: #fbbf24; margin-top: 3px; cursor: pointer; }
.ag-q b { font-size: 13px; color: #dbe3f0; display: block; }
.ag-q small { font-size: 11px; color: #64748b; display: block; margin-top: 2px; line-height: 1.45; }

/* assessment questions */
.ag-aq { border: 1px solid var(--line-d); border-radius: 11px; padding: 12px 14px; margin-bottom: 9px; }
.ag-aq-t { font-size: 13.5px; font-weight: 600; color: #dbe3f0; margin-bottom: 8px; }
.ag-aq-t small { display: block; font-weight: 400; font-size: 11px; color: #64748b; margin-top: 2px; }
.ag-opt {
  display: flex; gap: 9px; align-items: center; font-size: 12.5px; color: #aab5cc;
  padding: 6px 8px; border-radius: 8px; cursor: pointer;
}
.ag-opt:hover { background: rgba(255, 255, 255, 0.03); color: #dbe3f0; }
.ag-opt input { accent-color: #fbbf24; cursor: pointer; }

/* results */
.ag-result {
  margin-top: 16px; border-top: 1px dashed var(--line-strong); padding-top: 14px;
  font-size: 13px; color: #aab5cc;
}
.ag-result hr { border: 0; border-top: 1px dashed var(--line-d); margin: 12px 0; }
.ag-result ul { margin: 8px 0 0; padding-left: 18px; }
.ag-result li { margin-bottom: 5px; }
.ag-tier-big {
  font-family: var(--font-head); font-size: 19px; font-weight: 700; margin-bottom: 8px;
}
.ag-tier-big.prohibited { color: #fb7185; }
.ag-tier-big.high { color: #fbbf24; }
.ag-tier-big.limited { color: #22d3ee; }
.ag-tier-big.minimal { color: #34d399; }
.ag-notes { font-size: 12.5px; color: #94a3b8; line-height: 1.6; }

.ag-kv {
  display: flex; justify-content: space-between; gap: 14px;
  border: 1px solid var(--line-d); border-radius: 10px;
  padding: 10px 14px; margin-bottom: 7px; font-size: 13px;
}
.ag-kv span { color: #64748b; }
.ag-kv b { color: #dbe3f0; text-align: right; max-width: 60%; }

textarea.field { resize: vertical; min-height: 54px; }

@media (max-width: 720px) {
  .ag-ctl { flex-wrap: wrap; }
  .ag-ctl-select, .ag-ev-btn { margin-left: auto; }
}
