/* FEBIAS brand layer for public workspace and staff login screens. */
:root {
    --febias-green: #1f5a43;
    --febias-green-dark: #164735;
    --febias-gold: #e7b923;
    --febias-ink: #172b2a;
    --febias-muted: #5f6e6b;
    --febias-surface: #ffffff;
    --febias-page: #f5f8f6;
}

body.febias-workspace-page {
    min-height: 100%;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--febias-page);
    color: var(--febias-ink);
}

.febias-workspace-page .background-overlay {
    min-height: 100vh;
    height: auto;
    padding: 0 0 4rem;
    background: var(--febias-page) !important;
}

.febias-workspace-page .background-overlay::before { display: none; }

.febias-brandbar {
    position: relative;
    border-bottom: 4px solid var(--febias-gold);
    background: var(--febias-green);
    color: #fff;
    margin-bottom: 3rem;
}
.febias-brandbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; background: var(--febias-gold); clip-path: ellipse(58% 100% at 50% 0); }

.febias-brandbar-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: 1180px;
    min-height: 82px;
    margin: 0 auto;
    padding: 1rem 1.25rem;
}

.febias-brandbar-logo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.75);
    background: var(--febias-green-dark);
    padding: 4px;
    object-fit: contain;
}

.febias-brandbar-name { font-size: 1.25rem; font-weight: 700; letter-spacing: .02em; }
.febias-brandbar-name small { display: block; font-size: .72rem; font-weight: 500; opacity: .8; letter-spacing: .16em; text-transform: uppercase; }

.febias-workspace-page .container { max-width: 1180px; }
.febias-workspace-page .font-size-20.font-weight-600 { color: var(--febias-green-dark); letter-spacing: .01em; }
.febias-workspace-page .card { border: 1px solid #dce7e1; border-radius: 12px; box-shadow: 0 8px 24px rgba(31,90,67,.07); background: var(--febias-surface); }
.febias-workspace-page a .card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.febias-workspace-page a:hover .card, .febias-workspace-page a:focus-visible .card { border-color: var(--febias-green); box-shadow: 0 10px 28px rgba(31,90,67,.16); transform: translateY(-2px); }
.febias-workspace-page a:focus-visible { outline: 3px solid rgba(231,185,35,.65); outline-offset: 4px; border-radius: 12px; }
.febias-workspace-page .background-accent-success { background: #edf4e9; }
.febias-workspace-page .login-school-logo { background: var(--febias-green); border-color: rgba(255,255,255,.85); padding: 7px; object-fit: contain; }

.febias-auth-page { color: var(--febias-ink); }
.febias-auth-brandbar { display: flex; align-items: center; gap: .75rem; max-width: 1180px; margin: 0 auto 2.5rem; padding: .8rem 1rem; border-bottom: 4px solid var(--febias-gold); background: var(--febias-green); color: #fff; font-size: 1.15rem; font-weight: 700; }
.febias-auth-brandbar img { width: 42px; height: 42px; border-radius: 50%; background: var(--febias-green-dark); border: 2px solid rgba(255,255,255,.75); padding: 4px; object-fit: contain; }
.febias-auth-page .card { border: 1px solid #dce7e1; border-radius: 12px; box-shadow: 0 10px 28px rgba(31,90,67,.09); }
.febias-auth-page .form-control { border-color: #ccd9d4; border-radius: 8px; }
.febias-auth-page .form-control:focus { border-color: var(--febias-green); box-shadow: 0 0 0 .2rem rgba(31,90,67,.14); }
.febias-auth-page .button-primary { background: var(--febias-green); border-color: var(--febias-green); }
.febias-auth-page .button-primary:hover, .febias-auth-page .button-primary:focus { background: var(--febias-green-dark); border-color: var(--febias-green-dark); }
.febias-auth-page .login-school-logo { background: var(--febias-green); border-color: rgba(255,255,255,.85); padding: 8px; object-fit: contain; }
.febias-auth-page .auth-back a, .febias-auth-page .button-link-dark { color: var(--febias-green); }

@media (max-width: 767px) {
    .febias-brandbar { margin-bottom: 2rem; }
    .febias-brandbar-inner { min-height: 68px; padding: .75rem 1rem; }
    .febias-brandbar-logo { width: 40px; height: 40px; }
    .febias-brandbar-name { font-size: 1rem; }
    .febias-workspace-page .container { padding-left: 1rem; padding-right: 1rem; }
}

/* Keep the FEBIAS palette readable when the existing theme switcher adds .dark-theme. */
body.dark-theme.febias-workspace-page {
    --febias-green: #76bd93;
    --febias-green-dark: #a7d5b7;
    --febias-ink: #edf5ef;
    --febias-surface: #1c2923;
    --febias-page: #101914;
}

.febias-workspace-page .background-overlay {
    padding-top: 3rem;
    background: linear-gradient(145deg, rgba(31,90,67,.08), transparent 34%), var(--febias-page) !important;
}
.febias-workspace-page .text-align-sm-center .font-size-40,
.febias-auth-page .font-size-40 { color: var(--febias-green-dark); }
.febias-workspace-page .text-align-sm-center .font-size-40::after,
.febias-auth-page .font-size-40::after { content: ""; display: block; width: 72px; height: 4px; margin: .9rem auto 0; background: var(--febias-gold); border-radius: 99px; }
.febias-auth-page .font-size-40::after { margin-left: 0; }
body.dark-theme.febias-workspace-page .card,
body.dark-theme .febias-auth-page .card { border-color: #385647; background: var(--febias-surface); box-shadow: 0 10px 28px rgba(0,0,0,.24); }
body.dark-theme.febias-workspace-page .background-accent-success { background: #243b2d; }
body.dark-theme .febias-auth-page .form-control { background: #142019; border-color: #466b57; color: #edf5ef; }
body.dark-theme .febias-auth-page .form-control:focus { border-color: var(--febias-gold); box-shadow: 0 0 0 .2rem rgba(231,185,35,.18); }
body.dark-theme .febias-auth-page .auth-back a,
body.dark-theme .febias-auth-page .button-link-dark { color: var(--febias-green-dark); }
