/* Open Sans is loaded via /assets/css/fonts.css (self-hosted) */

@font-face {
    font-family: 'Cyberiada';
    src: url('/assets/fonts/cyberiada_medium.woff2') format('woff2'), url('/assets/fonts/cyberiada_medium.woff') format('woff'), url('/assets/fonts/Cyberiada_Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

body.landing-page,
body.admin-login-page,
body.aristos-own-brand {
    --brand-jacarta: #2D2769;
    --brand-lavender: #9889C0;
    --brand-steel: #241E31;
    --brand-athens: #E5E7EB;
    --brand-white: #FFFFFF;
    --brand-panel: rgba(36, 30, 49, 0.82);
    --brand-panel-soft: rgba(229, 231, 235, 0.08);
    --brand-line: rgba(229, 231, 235, 0.18);
    --brand-line-strong: rgba(152, 137, 192, 0.46);
    --brand-muted: rgba(229, 231, 235, 0.74);
    --brand-soft: rgba(229, 231, 235, 0.56);
    --ink: var(--brand-steel);
    --ink-2: var(--brand-jacarta);
    --panel: var(--brand-panel);
    --panel-strong: rgba(36, 30, 49, 0.94);
    --line: var(--brand-line);
    --line-strong: var(--brand-line-strong);
    --text: var(--brand-white);
    --muted: var(--brand-muted);
    --soft: var(--brand-soft);
    --purple: var(--brand-jacarta);
    --lavender: var(--brand-lavender);
    --lavender-2: var(--brand-athens);
    --success: #10B981;
    --danger: #EF4444;
    font-family: 'Open Sans', Arial, sans-serif !important;
    color: var(--brand-white);
    background:
        radial-gradient(circle at 18% 8%, rgba(152, 137, 192, 0.30), transparent 28rem),
        radial-gradient(circle at 78% 16%, rgba(45, 39, 105, 0.72), transparent 34rem),
        linear-gradient(135deg, var(--brand-steel) 0%, var(--brand-jacarta) 100%) !important;
}

body.landing-page *,
body.admin-login-page *,
body.aristos-own-brand * {
    font-family: 'Open Sans', Arial, sans-serif;
}

body.landing-page .nav-brand-logo,
body.landing-page .card-logo,
body.landing-page .phone-logo,
body.landing-page .native-logo,
body.landing-page .footer-logo,
body.admin-login-page .auth-logo-img,
body.aristos-own-brand .auth-logo-img {
    object-fit: contain;
    object-position: center;
    aspect-ratio: auto;
}

body.landing-page .nav-brand,
body.landing-page .path-number,
body.landing-page .phone-kicker,
body.admin-login-page .auth-eyebrow,
body.aristos-own-brand .auth-eyebrow {
    font-family: 'Cyberiada', 'Open Sans', Arial, sans-serif !important;
    font-weight: 500;
}

body.landing-page h1,
body.landing-page h2,
body.landing-page h3,
body.admin-login-page .auth-title,
body.admin-login-page .auth-container::after,
body.aristos-own-brand .auth-title,
body.aristos-own-brand .auth-container::after {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-weight: 800;
    color: var(--brand-white);
}

body.landing-page p,
body.landing-page li,
body.landing-page td,
body.admin-login-page .auth-subtitle,
body.admin-login-page .auth-header p,
body.aristos-own-brand .auth-subtitle,
body.aristos-own-brand .auth-header p {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-weight: 400;
    color: var(--brand-muted) !important;
}

body.landing-page .eyebrow,
body.landing-page .approval-status,
body.landing-page .sovereign-points span,
body.admin-login-page .auth-eyebrow,
body.aristos-own-brand .auth-eyebrow {
    color: var(--brand-athens) !important;
    background: rgba(152, 137, 192, 0.18) !important;
    border-color: rgba(152, 137, 192, 0.44) !important;
}

/* body.aristos-admin element overrides removed — admin-polish.css handles all admin styling */

body.landing-page .identity-card,
body.landing-page .phone-shell,
body.landing-page .native-window,
body.landing-page .comparison-card,
body.landing-page .path-card,
body.landing-page .sovereign-card,
body.landing-page .matrix-wrap,
body.admin-login-page .auth-container::before,
body.aristos-own-brand .auth-container::before {
    background:
        linear-gradient(145deg, rgba(229, 231, 235, 0.10), rgba(36, 30, 49, 0.48)),
        rgba(36, 30, 49, 0.76) !important;
    border-color: var(--brand-line) !important;
}

body.landing-page .approval-panel,
body.landing-page .trust-strip div,
body.landing-page .feature-list div,
body.landing-page .comparison-logo,
body.admin-login-page .auth-support-row,
body.admin-login-page .auth-admin-meta,
body.aristos-own-brand .auth-support-row,
body.aristos-own-brand .auth-admin-meta {
    background: rgba(229, 231, 235, 0.08) !important;
    border-color: rgba(229, 231, 235, 0.16) !important;
}

body.landing-page .nav-action,
body.landing-page .button-primary,
body.landing-page .approval-actions span:last-child,
body.landing-page .number-match,
body.landing-page .native-window button,
body.admin-login-page .btn-primary,
body.aristos-own-brand .btn-primary {
    color: var(--brand-white) !important;
    background: linear-gradient(135deg, var(--brand-jacarta) 0%, var(--brand-lavender) 100%) !important;
    border-color: rgba(229, 231, 235, 0.22) !important;
    box-shadow: 0 20px 60px rgba(45, 39, 105, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

body.landing-page .button-secondary,
body.landing-page .approval-actions span,
body.admin-login-page .text-center.mt-3 a,
body.aristos-own-brand .text-center.mt-3 a,
body.admin-login-page .auth-platform-pills a,
body.aristos-own-brand .auth-platform-pills a {
    color: var(--brand-athens) !important;
    background: rgba(229, 231, 235, 0.08) !important;
    border-color: rgba(229, 231, 235, 0.16) !important;
}

body.landing-page .comparison-card-featured {
    border-color: var(--brand-line-strong) !important;
    box-shadow: 0 32px 120px rgba(45, 39, 105, 0.50) !important;
}

body.landing-page .comparison-matrix th,
body.landing-page .comparison-matrix td {
    border-bottom-color: rgba(229, 231, 235, 0.14) !important;
}

body.landing-page .comparison-matrix th,
body.landing-page .comparison-matrix td:nth-child(2),
body.landing-page .trust-strip strong,
body.landing-page .feature-list strong,
body.admin-login-page .auth-admin-meta strong,
body.aristos-own-brand .auth-admin-meta strong {
    color: var(--brand-white) !important;
    font-weight: 700;
}

body.landing-page .phone-notch {
    background: var(--brand-steel) !important;
}

body.landing-page .biometric-ring,
body.landing-page .signal-grid span {
    color: var(--brand-athens) !important;
    background: var(--brand-lavender) !important;
    box-shadow: 0 0 0 12px rgba(152, 137, 192, 0.14), 0 0 48px rgba(152, 137, 192, 0.34) !important;
}

body.admin-login-page .form-control,
body.aristos-own-brand .form-control,
body.admin-login-page .form-group input[type='text'],
body.admin-login-page .form-group input[type='email'],
body.admin-login-page .form-group input[type='password'],
body.aristos-own-brand .form-group input[type='text'],
body.aristos-own-brand .form-group input[type='email'],
body.aristos-own-brand .form-group input[type='password'] {
    color: var(--brand-white) !important;
    background: rgba(229, 231, 235, 0.08) !important;
    border-color: rgba(229, 231, 235, 0.18) !important;
}

body.admin-login-page .form-control:focus,
body.aristos-own-brand .form-control:focus {
    border-color: var(--brand-lavender) !important;
    box-shadow: 0 0 0 4px rgba(152, 137, 192, 0.22) !important;
}

body.admin-login-page .alert-danger,
body.aristos-own-brand .alert-danger,
body.admin-login-page .alert-info,
body.aristos-own-brand .alert-info {
    color: var(--brand-athens) !important;
    background: rgba(45, 39, 105, 0.34) !important;
    border-color: rgba(152, 137, 192, 0.44) !important;
}

/* body.aristos-admin dark overrides removed — admin-polish.css handles all admin styling now */

body.aristos-admin .admin-security-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 1.25rem;
}

body.aristos-admin .admin-security-card h2 {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
}

body.aristos-admin .security-status-list {
    display: grid;
    gap: 0.85rem;
}

body.aristos-admin .security-status-list div {
    display: grid;
    gap: 0.2rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(229, 231, 235, 0.12);
}

body.aristos-admin .security-status-list div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

body.aristos-admin .security-status-list span {
    color: var(--brand-soft);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

@media (max-width: 900px) {
    body.aristos-admin .admin-security-grid {
        grid-template-columns: 1fr;
    }
}

/* Light-mode admin overrides removed — admin-polish.css is now the single source of truth for body.aristos-admin styling */
