/**
 * Aegis Vitae – Invite Theme
 * Heller, freundlicher Look: Mitmachen statt Terminal-Dunkelheit.
 * Wird NACH dem Design-System geladen und überschreibt Tokens + kritische Flächen.
 */

:root {
    /* Flächen */
    --bg-base: #eef5f2;
    --bg-elevated: #ffffff;
    --bg-panel: rgba(255, 255, 255, 0.94);
    --data-blue: #e8f2f8;
    --data-blue-mid: #d5e8f2;
    --data-blue-glow: rgba(56, 140, 180, 0.14);

    /* Akzente: lebendiges Teal + warmes Gold (CTA) */
    --accent-mint: #1f9b8c;
    --accent-mint-dim: rgba(31, 155, 140, 0.14);
    --accent-mint-glow: rgba(31, 155, 140, 0.28);
    --accent-mint-soft: rgba(31, 155, 140, 0.08);
    --accent-gold: #e6bc3a;
    --accent-gold-deep: #c9971e;
    --accent-gold-dim: rgba(201, 151, 30, 0.16);
    --accent-gold-glow: rgba(230, 188, 58, 0.35);
    --accent-gold-soft: rgba(230, 188, 58, 0.12);

    --wallet-panel-bg: linear-gradient(145deg, #ffffff 0%, #f3faf7 55%, #eef6fb 100%);
    --wallet-panel-shadow: 0 14px 40px rgba(40, 70, 90, 0.1), 0 2px 0 rgba(255, 255, 255, 0.8) inset;

    --hairline: rgba(26, 45, 58, 0.1);
    --hairline-mint: rgba(31, 155, 140, 0.28);
    --hairline-gold: rgba(201, 151, 30, 0.32);

    /* Primärtext auf hellen Flächen (= bisher „on-dark“-Token in Komponenten) */
    --text-on-dark: #1a2b36;
    --text-on-light: #1a2b36;
    --text-muted-on-dark: rgba(26, 43, 54, 0.62);
    --text-muted-on-light: rgba(26, 43, 54, 0.58);
    --text-primary: var(--text-on-dark);
    --text-muted: var(--text-muted-on-dark);

    --danger: #d9485f;
    --warn: #d4921a;
    --ok: #1f9b8c;

    --shadow-panel: 0 12px 36px rgba(40, 70, 90, 0.1);
    --shadow-glow: 0 10px 28px rgba(31, 155, 140, 0.12);
    --shadow-glow-strong: 0 14px 36px rgba(201, 151, 30, 0.18);

    --bg: var(--bg-base);
    --gold: var(--accent-gold-deep);
    --blue: var(--data-blue-mid);
    --text: var(--text-primary);
    --muted: var(--text-muted);
    --card-blue: var(--bg-panel);
    --shadow: var(--shadow-panel);
}

/* ── Seitenhintergrund ── */
html {
    background: var(--bg-base);
}

body,
body.av-cyber,
body.av-suite {
    background: var(--bg-base) !important;
    color: var(--text-on-dark) !important;
    background-image:
        radial-gradient(ellipse 90% 55% at 8% -5%, rgba(31, 155, 140, 0.14), transparent 52%),
        radial-gradient(ellipse 70% 50% at 92% 0%, rgba(230, 188, 58, 0.16), transparent 48%),
        radial-gradient(ellipse 60% 40% at 50% 100%, rgba(86, 150, 190, 0.1), transparent 55%),
        linear-gradient(180deg, #f4faf8 0%, #eef5f2 45%, #e8f0f6 100%) !important;
    background-attachment: fixed;
}

body.av-suite {
    --suite-ink: #1a2b36;
    --suite-ink-soft: rgba(26, 43, 54, 0.68);
    --suite-ink-faint: rgba(26, 43, 54, 0.45);
    --suite-paper: #eef5f2;
    --suite-panel: rgba(255, 255, 255, 0.94);
    --suite-panel-deep: #f7fbf9;
    --suite-line: rgba(26, 45, 58, 0.1);
    --suite-gold: #c9971e;
    --suite-gold-bright: #e6bc3a;
    --suite-gold-soft: rgba(201, 151, 30, 0.12);
    --suite-teal: #1f9b8c;
    --suite-teal-soft: rgba(31, 155, 140, 0.12);
    --suite-rise: #2aad9b;
    --wallet-panel-bg: linear-gradient(160deg, #ffffff 0%, #f3faf7 55%, #eef6fb 100%);
    --wallet-panel-shadow: 0 14px 40px rgba(40, 70, 90, 0.1);
}

/* ── Karten & Panels ── */
.av-card,
.av-glass-card,
.av-modal__card,
.av-login__card,
.av-insol__card,
.av-vital-item,
.av-location-card,
.av-terminal-stab-item,
.av-factory-panel,
.av-factory-kpi,
.av-onboard,
.av-suite .av-card {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(26, 45, 58, 0.1) !important;
    color: var(--text-on-dark) !important;
    box-shadow: 0 10px 32px rgba(40, 70, 90, 0.08);
}

.av-card--wallet,
.av-suite .av-card--wallet {
    background: var(--wallet-panel-bg) !important;
    box-shadow: var(--wallet-panel-shadow) !important;
}

.av-card__title,
.av-card__sub,
.av-factory-panel h2,
.av-factory-hero__title,
.av-factory-hero__lead,
.av-factory-kpi strong,
.av-onboard__title,
.av-onboard__sub,
.av-onboard__step-title {
    color: var(--text-on-dark) !important;
}

.av-card__sub,
.av-muted,
.av-text-muted,
.av-factory-panel__hint,
.av-factory-job__meta,
.av-onboard__step-hint,
.av-business-meta {
    color: var(--text-muted-on-dark) !important;
}

.av-surface--dark,
.av-card,
.av-glass-card,
.av-header,
.av-stat,
.av-modal__card,
.av-login__card,
.av-insol__card,
.av-vital-item,
.av-location-card,
.av-terminal-stab-item {
    color: var(--text-on-dark) !important;
}

a:not(.av-btn):not(.av-nav__item):not(.av-bottom-nav__item):not(.av-terminal-header__guide):not(.av-onboard__cta):not(.av-terminal-nav__link):not(.av-header-profile__item):not(.av-terminal-nav__logout):not(.av-terminal-header__logo) {
    color: #176f64;
}

a:not(.av-btn):not(.av-terminal-nav__link):not(.av-header-profile__item):not(.av-terminal-nav__logout):hover {
    color: #0f554c;
}

/* ── Header / Navigation – Elite Lab Dark bleibt führend ── */
.av-header:not(.av-terminal-header) {
    background: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid rgba(201, 151, 30, 0.22) !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 28px rgba(40, 70, 90, 0.06);
}

.av-terminal-header__name {
    color: var(--firm-accent, #f0d78c) !important;
}

/* Dunkler Terminal-Header: helle Nav gegen body-Text (#1a2b36 !important) */
.av-terminal-header .av-terminal-nav__link {
    color: rgba(245, 243, 238, 0.88) !important;
}

.av-terminal-header .av-terminal-nav__link:hover {
    color: #ffffff !important;
}

.av-terminal-header .av-terminal-nav__link.is-active {
    color: #1a1608 !important;
}

.av-terminal-header .av-terminal-nav__link--tool {
    color: rgba(245, 243, 238, 0.78) !important;
}

.av-terminal-header .av-terminal-nav__link--accent:not(.is-active) {
    color: #f0d78c !important;
}

.av-terminal-header .av-terminal-nav__logout {
    color: rgba(245, 243, 238, 0.75) !important;
}

.av-terminal-header .av-terminal-nav__logout:hover {
    color: #f0d78c !important;
}

.av-terminal-header .av-terminal-header__player {
    color: rgba(245, 243, 238, 0.78) !important;
}

.av-terminal-header .av-firm-switch__label {
    color: rgba(245, 243, 238, 0.55) !important;
}

.av-terminal-header .av-firm-switch select {
    background: rgba(8, 10, 14, 0.9) !important;
    border-color: rgba(212, 175, 55, 0.35) !important;
    color: #f0d78c !important;
}

.av-firm-switch__label {
    color: rgba(26, 43, 54, 0.5) !important;
}

.av-firm-switch select {
    background: #fff !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
    color: #8a6a12 !important;
}

/* Header-KPIs: dunkle Kacheln brauchen helle Schrift (nicht Invite-Dunkeltext) */
.av-terminal-header__stats,
.av-header .av-terminal-header__stats {
    color: #f0ebe3 !important;
}

.av-terminal-header .av-stat,
.av-header .av-stat {
    background: #1a1f2a !important;
    border: 1px solid rgba(201, 151, 30, 0.35) !important;
    color: #f0ebe3 !important;
}

.av-terminal-header .av-stat__label,
.av-header .av-stat__label {
    color: #c9c5bc !important;
}

.av-terminal-header .av-stat__value,
.av-header .av-stat__value {
    color: #ffffff !important;
}

.av-terminal-header .av-stat--ae .av-stat__value,
.av-terminal-header .av-stat--coins .av-stat__value,
.av-terminal-header .av-stat--career .av-stat__value,
.av-header .av-stat--ae .av-stat__value,
.av-header .av-stat--coins .av-stat__value,
.av-header .av-stat--career .av-stat__value {
    color: #e4c878 !important;
}

/* Karriere-Bar: hell auf dunklem Terminal-Header (gegen body !important) */
.av-terminal-header .av-career-progress,
.av-header .av-career-progress {
    color: #f5f3ee !important;
    border-color: rgba(212, 175, 55, 0.35) !important;
    background: rgba(8, 10, 14, 0.55) !important;
}

.av-terminal-header .av-career-progress__stage,
.av-header .av-career-progress__stage {
    color: #f0d78c !important;
}

.av-terminal-header .av-career-progress__label,
.av-header .av-career-progress__label {
    color: rgba(245, 243, 238, 0.9) !important;
}

.av-terminal-header .av-career-progress__pct,
.av-header .av-career-progress__pct {
    color: #f0d78c !important;
}

.av-terminal-header .av-career-progress__hint,
.av-header .av-career-progress__hint {
    color: rgba(245, 243, 238, 0.7) !important;
}

.av-terminal-header .av-career-progress__track,
.av-header .av-career-progress__track {
    background: rgba(255, 255, 255, 0.14) !important;
}

.av-nav__item {
    color: rgba(26, 43, 54, 0.72) !important;
}

.av-nav__item.is-active,
.av-nav__item:hover {
    color: #1a2b36 !important;
}

.av-terminal-header__guide,
.av-terminal-nav__link--accent.is-active {
    background: linear-gradient(135deg, #e6bc3a, #c9971e) !important;
    color: #1a1408 !important;
}

/* ── Formulare ── */
input,
select,
textarea,
.av-factory-field input,
.av-factory-field select,
.av-field input,
.av-field select,
.av-field textarea {
    background: #fff !important;
    color: var(--text-on-dark) !important;
    border-color: rgba(26, 45, 58, 0.16) !important;
}

input::placeholder,
textarea::placeholder {
    color: rgba(26, 43, 54, 0.4) !important;
}

/* ── Buttons bleiben gold / freundlich ── */
.av-btn--gold,
.av-factory-btn,
.av-onboard__cta,
.av-firststep-box__btn {
    background: linear-gradient(135deg, #ebc85a, #c9971e) !important;
    color: #1a1408 !important;
    box-shadow: 0 8px 22px rgba(201, 151, 30, 0.28);
}

.av-btn--ghost {
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
    color: #1a2b36 !important;
}

/* ── Fabrik ── */
.av-factory-hero__brand {
    color: #c9971e !important;
}

.av-factory-job,
.av-factory-inv__item,
.av-factory-assort__row {
    background: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(26, 45, 58, 0.08) !important;
}

.av-factory-bar {
    background: rgba(26, 45, 58, 0.08) !important;
}

.av-factory-bar__fill {
    background: linear-gradient(90deg, #1f9b8c, #e6bc3a) !important;
}

.av-factory-status:not(.is-error) {
    color: #176f64 !important;
}

.av-firststep-box,
.av-investment-panel--firststep {
    background:
        radial-gradient(120% 120% at 0% 0%, rgba(230, 188, 58, 0.2), transparent 55%),
        #fff8e8 !important;
    border-color: rgba(201, 151, 30, 0.45) !important;
}

.av-onboard {
    background:
        radial-gradient(120% 100% at 0% 0%, rgba(230, 188, 58, 0.18), transparent 55%),
        #fffdf6 !important;
}

.av-onboard--celebrate {
    background:
        radial-gradient(120% 100% at 0% 0%, rgba(31, 155, 140, 0.16), transparent 55%),
        #f2fbf8 !important;
}

.av-onboard__toggle,
.av-onboard__dismiss,
.av-success-box__toggle,
.av-success-box__dismiss,
.av-success-box__done {
    border: 1px solid rgba(26, 43, 54, 0.22) !important;
    background: #ffffff !important;
    color: #1a2b36 !important;
}

.av-onboard__toggle:hover,
.av-onboard__dismiss:hover,
.av-success-box__toggle:hover,
.av-success-box__dismiss:hover,
.av-success-box__done:hover {
    border-color: rgba(201, 151, 30, 0.55) !important;
    color: #8a6a12 !important;
    background: #fff8e8 !important;
}

.av-onboard__step {
    background: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(26, 45, 58, 0.08) !important;
}

.av-onboard__step.is-current {
    background:
        radial-gradient(100% 120% at 0% 50%, rgba(230, 188, 58, 0.2), transparent 60%),
        #fff8e6 !important;
}

/* ── Login ── */
.av-login,
.av-login__shell {
    background: transparent !important;
}

.av-login__card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(201, 151, 30, 0.25) !important;
    box-shadow: 0 20px 50px rgba(40, 70, 90, 0.12) !important;
}

/* ── Markt / Trade ── */
.av-trade-board,
.av-market-feedback {
    color: var(--text-on-dark);
}

body.av-suite .av-modal__card {
    background: #fff !important;
    color: var(--text-on-dark) !important;
}

/* ── Bottom-Nav / Mobile ── */
.av-bottom-nav {
    background: rgba(255, 255, 255, 0.94) !important;
    border-top: 1px solid rgba(26, 45, 58, 0.1) !important;
}

.av-bottom-nav__item {
    color: rgba(26, 43, 54, 0.55) !important;
}

.av-bottom-nav__item.is-active {
    color: #c9971e !important;
}

/* ── ELBAS Meilensteine: Kontrast auf hellem Invite-Theme ── */
.av-progression__item a {
    background: #1a1f2a !important;
    border: 1px solid rgba(26, 43, 54, 0.18) !important;
    color: #f7f4ee !important;
}
.av-progression__item a:hover,
.av-progression__item a:focus-visible {
    background: #232a3a !important;
    border-color: #c9971e !important;
}
.av-progression__item.is-done a {
    background: #152822 !important;
    border-color: rgba(31, 155, 140, 0.55) !important;
}
.av-progression__item strong {
    color: #ffffff !important;
}
.av-progression__item span {
    color: #d0ccc4 !important;
}
.av-progression__item em {
    color: #5eb8a8 !important;
}
.av-progression__count {
    color: #c9971e !important;
}

/* ── ELBAS Hero / Alert / Wirtschaftsschleife ── */
.av-elbas-hero__brand {
    color: #b8860b !important;
}
.av-elbas-hero__title {
    color: #1a2b36 !important;
}
.av-elbas-hero__lead {
    color: #3d4f5c !important;
}

.av-elbas-alert {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.5) !important;
    color: #f0ebe3 !important;
}
.av-elbas-alert strong {
    color: #e4c878 !important;
}

.av-economy-loop__step a {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
    color: #f0ebe3 !important;
}
.av-economy-loop__step a:hover,
.av-economy-loop__step a:focus-visible {
    background: #232a3a !important;
    border-color: #c9971e !important;
}
.av-economy-loop__step.is-done a {
    background: #152822 !important;
    border-color: rgba(31, 155, 140, 0.55) !important;
}
.av-economy-loop__step strong {
    color: #ffffff !important;
}
.av-economy-loop__step span {
    color: #d0ccc4 !important;
}

/* ── Community / Partner-Beitrag / Partner-Akademie ── */
#av-community-pulse .av-card__sub,
.av-card--wallet .av-card__sub {
    color: #3d4f5c !important;
}

.av-pulse__stat {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.35) !important;
}

.av-pulse__stat-label {
    color: #c9c5bc !important;
}

.av-pulse__stat-value {
    color: #ffffff !important;
}

.av-pulse__stat-value--rise {
    color: #5eb8a8 !important;
}

.av-pulse__stat-value--gold {
    color: #e4c878 !important;
}

.av-pulse__chart-card {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
    color: #f0ebe3 !important;
}

.av-pulse__chart-title {
    color: #ffffff !important;
}

.av-pulse__empty {
    color: #d0ccc4 !important;
}

.av-suite-live {
    color: #5eb8a8 !important;
}

/* ── Netzwerk Community-Events ── */
.av-net-event {
    background: #1a1f2a !important;
    border: 1px solid rgba(201, 151, 30, 0.35) !important;
    color: #f0ebe3 !important;
}
.av-net-event strong {
    color: #ffffff !important;
}
.av-net-event span {
    color: #d0ccc4 !important;
}
.av-net-invite code {
    background: #1a1f2a !important;
    color: #f0ebe3 !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
}

/* ── Office Empty-States (Entnahme-Historie etc.) ── */
.av-office-empty,
.av-office-empty.av-muted,
.av-loading-hint,
.av-loading-hint.av-muted {
    background: #1a1f2a !important;
    color: #f0ebe3 !important;
    border-color: rgba(201, 151, 30, 0.4) !important;
    font-weight: 600 !important;
}

.av-office-data-card {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.35) !important;
    color: #f0ebe3 !important;
}

.av-office-data-card__title {
    color: #ffffff !important;
}

.av-office-data-card__meta dt {
    color: #b8b4ac !important;
}

.av-office-data-card__meta dd {
    color: #f0ebe3 !important;
}

/* ── Grundbuch: Zuordnung Altdaten ── */
.av-assign-panel {
    background: #1a1f2a !important;
    border-color: rgba(201, 151, 30, 0.45) !important;
    color: #f0ebe3 !important;
}

.av-assign-panel__title {
    color: #ffffff !important;
}

.av-assign-panel__lead,
.av-assign-panel__hint,
.av-assign-panel__row label {
    color: #d0ccc4 !important;
}

.av-assign-panel__lead code {
    color: #e4c878 !important;
}

.av-assign-panel__row select,
.av-assign-panel .av-grundbuch-filter-select {
    background: #0f1218 !important;
    color: #ffffff !important;
    border-color: rgba(232, 230, 225, 0.3) !important;
}

.av-assign-panel .av-btn--accent,
.av-assign-panel #av-assign-selected {
    background: #c9971e !important;
    border-color: #a87b12 !important;
    color: #1a1408 !important;
    font-weight: 700 !important;
}

.av-assign-panel .av-btn--accent:disabled,
.av-assign-panel #av-assign-selected:disabled {
    background: #3a3f4a !important;
    border-color: #4a5060 !important;
    color: #c9c5bc !important;
}

/* ── Scrollbar dezent ── */
* {
    scrollbar-color: rgba(201, 151, 30, 0.45) transparent;
}
