@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    color-scheme: light;
    --saori-font-display: "Manrope", "Segoe UI", sans-serif;
    --saori-font-body: "Inter", "Segoe UI", sans-serif;
    --saori-color-background: #f8f9ff;
    --saori-color-text: #0b1c30;
    --saori-color-text-muted: #4f6487;
    --saori-color-border: rgba(85, 120, 213, 0.18);
    --saori-color-primary: #0f52ba;
    --saori-color-primary-strong: #003c90;
    --saori-shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.08);
    --saori-shadow-card: 0 12px 28px rgba(15, 23, 42, 0.05);
    --saori-radius-md: 12px;
    --saori-radius-lg: 20px;
    --saori-radius-xl: 26px;
    --saori-sidebar-expanded: 260px;
    --saori-sidebar-collapsed: 72px;
}

body.saori-theme-page {
    min-height: 100vh;
    font-family: var(--saori-font-body);
    color: var(--saori-color-text);
    background:
        radial-gradient(circle at top left, rgba(15, 82, 186, 0.08), transparent 26%),
        radial-gradient(circle at bottom right, rgba(124, 58, 237, 0.08), transparent 20%),
        linear-gradient(180deg, var(--saori-color-background), #ffffff 70%);
}

body.saori-theme-page h1,
body.saori-theme-page h2,
body.saori-theme-page h3,
body.saori-theme-page h4,
body.saori-theme-page h5,
body.saori-theme-page .h1,
body.saori-theme-page .h2,
body.saori-theme-page .h3,
body.saori-theme-page .h4,
body.saori-theme-page .h5 {
    font-family: var(--saori-font-display);
    color: var(--saori-color-text);
    letter-spacing: -0.04em;
}

body.saori-theme-page .text-secondary,
body.saori-theme-page .text-muted,
body.saori-theme-page .small,
body.saori-theme-page small {
    color: var(--saori-color-text-muted) !important;
}

body.saori-theme-page .card {
    border: 1px solid var(--saori-color-border);
    border-radius: var(--saori-radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,255,0.94));
    box-shadow: var(--saori-shadow-soft);
}

body.saori-theme-page .btn {
    border-radius: var(--saori-radius-md);
    font-weight: 700;
}

body.saori-theme-page .btn-primary {
    background: linear-gradient(180deg, var(--saori-color-primary), var(--saori-color-primary-strong));
    border-color: rgba(15, 82, 186, 0.32);
}

body.saori-theme-page .form-control,
body.saori-theme-page .form-select,
body.saori-theme-page textarea {
    border-radius: var(--saori-radius-md);
    border: 1px solid rgba(85, 120, 213, 0.22);
    background: rgba(255, 255, 255, 0.96);
    color: var(--saori-color-text);
    box-shadow: none;
}

body.saori-theme-page .form-control:focus,
body.saori-theme-page .form-select:focus,
body.saori-theme-page textarea:focus {
    border-color: rgba(15, 82, 186, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(15, 82, 186, 0.12);
}

.saori-page-shell {
    max-width: 1560px;
}

.saori-page-kicker {
    margin: 0 0 6px;
    color: var(--saori-color-text-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.saori-page-title {
    margin: 0;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.04;
}

.saori-page-copy {
    margin: 10px 0 0;
    max-width: 64ch;
    color: var(--saori-color-text-muted);
    font-size: 16px;
    line-height: 1.6;
}

.saori-login-grid {
    display: grid;
    gap: 16px;
}

.saori-login-grid .border {
    border-color: var(--saori-color-border) !important;
    border-radius: var(--saori-radius-lg) !important;
}

.saori-onboarding-shell .wizard-step {
    padding: 20px;
    border: 1px solid var(--saori-color-border);
    border-radius: var(--saori-radius-lg);
    background: rgba(255,255,255,0.92);
    box-shadow: var(--saori-shadow-card);
}

.saori-onboarding-project-card {
    border: 1px solid var(--saori-color-border);
    border-radius: var(--saori-radius-lg);
    background: rgba(255,255,255,0.92);
    box-shadow: var(--saori-shadow-card);
}
