/* Silver Lined platform theme. Loaded after SilverSHELL and Radzen. */
@font-face {
    font-family: 'Montserrat';
    src: url('../brand/silver-lined/Montserrat-Variable.ttf') format('truetype');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

:root {
    --ss-font-display: 'Montserrat', system-ui, sans-serif;
    --ss-primary-900: #0f172a;
    --ss-primary-800: #141e30;
    --ss-primary-700: #182235;
    --ss-primary-600: #334155;
    --ss-primary-500: #475569;
    --ss-accent-500: #c0c6d4;
    --ss-accent-400: #d2d8e3;
    --ss-accent-300: #e2e8f0;
    --ss-accent-200: #edf0f5;
    --ss-accent-100: #f8fafc;
    --ss-bg-base: #0f172a;
    --ss-bg-surface: #182235;
    --ss-bg-elevated: #243044;
    --ss-bg-overlay: rgba(15, 23, 42, 0.97);
    --ss-bg-chrome: #0f172a;
    --ss-text-primary: #ffffff;
    --ss-text-secondary: #c0c6d4;
    --ss-text-tertiary: #a5b0c2;
    --ss-text-muted: #94a3b8;
    --ss-border-accent: rgba(192, 198, 212, 0.4);
    --ss-glow-cyan: 0 0 0 1px rgba(192, 198, 212, 0.25);
    --ss-glow-cyan-strong: 0 0 0 2px rgba(192, 198, 212, 0.4);
    --ss-info: #60a5fa;
    --rz-primary: #c0c6d4;
    --rz-primary-light: #d2d8e3;
    --rz-primary-lighter: rgba(192, 198, 212, 0.16);
    --rz-primary-dark: #a5b0c2;
    --rz-primary-darker: #94a3b8;
    --rz-on-primary: #0f172a;
    --rz-on-primary-light: #0f172a;
    --rz-on-primary-lighter: #e2e8f0;
    --rz-primary-rgb: 192, 198, 212;
    --rz-link-color: #d2d8e3;
    --rz-link-hover-color: #ffffff;
    --rz-body-background-color: #0f172a;
    --rz-base-background-color: #182235;
    --rz-base-800: #182235;
    --rz-base-900: #0f172a;
}

/* Keep the familiar body type for dense tables; use Montserrat for branding
   and headings through SilverSHELL's display token. */
body::before { background: var(--ss-bg-base); }
body::after { display: none; }

.rz-button.rz-primary,
.btn-primary {
    color: #0f172a !important;
    background: var(--ss-accent-500) !important;
    border-color: var(--ss-accent-500);
}
.rz-button.rz-primary:hover,
.btn-primary:hover {
    color: #0f172a !important;
    background: var(--ss-accent-400) !important;
    transform: none;
}
.rz-button.rz-secondary:hover { background: rgba(192, 198, 212, 0.1) !important; }

/* SilverSHELL hard-codes white foregrounds on these accent surfaces. */
.ss-btn-primary,
.ss-badge-primary { color: #0f172a; }
.rz-notification-info {
    background: #1e40af !important;
    color: #fff !important;
}

.platform-loader {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 2rem;
    background: #0f172a;
    color: #fff;
    transition: opacity 0.3s ease-out;
}
.platform-loader.loaded { opacity: 0; pointer-events: none; }
.platform-loader-content { width: min(100%, 420px); text-align: center; }
.platform-lockup { display: block; width: min(100%, 360px); height: auto; margin: 0 auto; }
.platform-loader-description { color: #c0c6d4; margin: 1.5rem 0 2.75rem; font-size: 1rem; }
.platform-loader-track { width: min(100%, 240px); height: 3px; margin: auto; overflow: hidden; border-radius: 2px; background: #334155; }
.platform-loader-track span { display: block; width: 40%; height: 100%; background: #c0c6d4; animation: platform-progress 1.8s ease-in-out infinite; }
.platform-loader-status { margin: 1rem 0 0; color: #a5b0c2; font-size: 0.875rem; }
.platform-sign-in-brand { margin: 3rem auto 0; padding: 0 1.5rem; text-align: center; max-width: 460px; }
.platform-sign-in-brand img { max-width: 100%; height: auto; }
.platform-sign-in-brand p { margin-top: 1.25rem; color: var(--ss-text-secondary); }

@keyframes platform-progress {
    from { transform: translateX(-100%); }
    to { transform: translateX(350%); }
}
@media (prefers-reduced-motion: reduce) {
    .platform-loader-track span { animation: none; width: 100%; }
    /* Keep a transition event for the existing loader-removal callback. */
    .platform-loader { transition-duration: 0.01s; }
}
