/* Minerva foundation. Loaded after the existing stylesheet; no data/route changes. */
:root {
  --bg: #f5f6fc; --panel: #fff; --ink: #263351; --muted: #64708b;
  --line: #e2e5f2; --blue: #6551cc; --blue-dark: #5140ac;
  --sidebar: #fdfdff; --shadow: 0 6px 24px #333b6810;
  --minerva-radius: 16px; --minerva-focus: #5543bb;
}
body { background: radial-gradient(ellipse at 65% 0, #ebe8fc 0, transparent 52%), var(--bg); }
.topbar { background: #ffffffed; border-color: var(--line); box-shadow: none; flex-wrap: wrap; }
.minerva-brand { color: #3a3764; letter-spacing: .16em; font-size: 24px; font-weight: 500; }
.topbar .tax-control { flex-wrap: wrap; }
.tabs { border-radius: var(--minerva-radius); background: linear-gradient(160deg,#fff,#f6f5fc); }
.tabs .tab { border-radius: 9px; min-height: 36px; }
.tabs .tab.active { background: #eeebff; border-color: #ddd6fc; color: #5140ac; }
.tabs .tab:hover:not(.planned-module) { background: #f0eefb; }
.tab-group-label { letter-spacing: .07em; margin-top: 15px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--minerva-focus); outline-offset: 3px; }
#dashboardView .metric, #dashboardView .report-grid > article, #dashboardView .report-single { border-radius: var(--minerva-radius); border: 1px solid var(--line); box-shadow: var(--shadow); }
#dashboardCards { scroll-margin-top: 20px; }
#dashboardView { min-width: 0; }
.minerva-arrival > * { min-width: 0; }
#dashboardView .executive-heading { margin: 22px 0 16px; gap: 16px; flex-wrap: wrap; }
.minerva-arrival { display: grid; grid-template-columns: minmax(210px,.65fr) minmax(490px,1.35fr); align-items: center; padding: 24px 28px 35px; gap: 12px; border: 1px solid #e6e2f5; border-radius: 22px; background: radial-gradient(ellipse at 70% 40%,#ebeaff80,transparent 65%),linear-gradient(125deg,#fff,#fafaff); overflow: hidden; }
.minerva-eyebrow { font-size: 10px; letter-spacing: .16em; color: #716790; font-weight: 700; }
.minerva-welcome h2 { font-size: clamp(23px,2.1vw,32px); line-height: 1.2; font-weight: 500; margin: 18px 0; }
.minerva-welcome p { line-height: 1.8; font-size: 13px; max-width: 290px; }
.minerva-welcome .minerva-promise { color: #6350bf; font-weight: 600; margin-bottom: 15px; }
.minerva-summary-link { display: inline-flex; gap: 18px; padding: 12px 18px; margin: 23px 0 12px; border: 1px solid #ddd6f5; border-radius: 24px; color: #5140ac; text-decoration: none; background: #fff9; font-size: 12px; }
.minerva-welcome .minerva-caption { font-size: 11px; }
.minerva-universe { position: relative; height: 375px; margin: 10px 0 25px; }
.minerva-connections { position: absolute; width: 100%; height: 100%; overflow: visible; fill: none; stroke: #bab4e5; stroke-width: .8; }
.minerva-core { position: absolute; left: 50%; top: 51%; transform: translate(-50%,-50%); width: 165px; height: 165px; border-radius: 50%; display: grid; place-items: center; color: white; background: radial-gradient(circle at 40% 35%,#e4ddff,#9688ed 42%,#7477d9 65%,#e4e5ff 76%,#fff 82%); box-shadow: 0 0 42px #b5a5f27a,inset 0 0 24px #fff; }
.minerva-core svg { width: 90%; height: 90%; animation: minerva-breathe 7s ease-in-out infinite; }
.minerva-core > span { position: absolute; bottom: -27px; color: #645783; letter-spacing: .23em; font-size: 10px; }
.minerva-module { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%,-50%); display: flex; flex-direction: column; align-items: center; width: 142px; padding: 5px; gap: 4px; color: var(--ink); background: transparent; border: 0; box-shadow: none; cursor: pointer; }
.minerva-module { height: auto; min-height: 94px; }
.minerva-sphere { flex-shrink: 0; }
.minerva-module[hidden] { display: none; }
.minerva-module:hover { background: transparent; color: var(--ink); }
.minerva-module strong { font-size: 12px; font-weight: 600; }
.minerva-module small { font-size: 10px; line-height: 1.4; color: #626b83; text-align: center; }
.minerva-sphere { display: grid; place-items: center; width: 47px; height: 47px; border: 2px solid white; border-radius: 50%; color: white; background: radial-gradient(circle at 35% 25%,#fffc,var(--module-color) 58%,#fffd); box-shadow: 0 0 17px color-mix(in srgb,var(--module-color) 30%,transparent); transition: transform .2s ease,box-shadow .2s ease; }
.minerva-sphere svg { width: 28px; height: 28px; fill: #ffffff18; stroke: white; stroke-width: 1.3; }
.minerva-module:hover .minerva-sphere,.minerva-module:focus-visible .minerva-sphere { transform: scale(1.12); box-shadow: 0 0 24px color-mix(in srgb,var(--module-color) 50%,transparent); }
.minerva-module:disabled { opacity: .6; cursor: not-allowed; }
@keyframes minerva-breathe { 50% { opacity: .7; transform: scale(.96); } }
@media (prefers-reduced-motion: reduce) { .minerva-core svg { animation: none; } .minerva-sphere { transition: none; } }
@media (max-width: 1200px) { .minerva-arrival { grid-template-columns: 1fr; } .minerva-welcome { max-width: none; } .minerva-welcome p { max-width: none; } .minerva-universe { width: min(600px,100%); justify-self: center; } }
@media (max-width: 700px) {
  .minerva-arrival { padding: 20px 16px; } .minerva-universe { height: auto; margin: 10px 0; display: flex; flex-direction: column; align-items: center; }
  .minerva-connections { display: none; } .minerva-core { position: relative; left: auto; top: auto; transform: none; width: 130px; height: 130px; margin: 0 0 42px; }
  .minerva-modules { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; width: 100%; border-top: 1px solid #ddd6f5; padding-top: 16px; }
  .minerva-module { position: static; transform: none; width: 100%; padding: 12px 5px; border: 1px solid var(--line); border-radius: 14px; background: #fffc; }
}
