/* Shared teacher-facing shell. Page-specific layouts remain in their own files. */
body.site-body.wisdom-shell {
    --w-bg-top: #c7edf8;
    --w-bg-mid: #edf9fd;
    --w-bg-base: #f7fbfd;
    --w-accent: #087ca4;
    --w-accent-dark: #086c94;
    --w-accent-soft: #e0f5fc;
    --w-border: #cbe7ef;
    --w-ink: #12283b;
    --w-ink-muted: #4d6a7a;
    --w-icon: #627987;
    --w-card: #f9fdff;
    --w-card-solid: #fff;
    --w-shadow-card: 0 10px 28px rgba(25, 105, 137, .07);
    --accent: #087ca4;
    --accent-dark: #086c94;
    --accent-soft: #e0f5fc;
    --link: #086d90;
    color: #4d6a7a;
    background: linear-gradient(180deg, #c9eef9 0, #eaf8fc 350px, #f8fcfd 720px);
    background-attachment: fixed;
}
/* Keep these selectors light so dark banners and active navigation can set
   their own accessible foreground colours. */
body.wisdom-shell :where(h1,h2,h3,h4) { letter-spacing: -.025em; }
body.wisdom-shell :where(a) { color: #086d90; }
body.wisdom-shell :where(a:hover) { color: #075a7b; }

/* The toolbar stays quiet, but its controls remain visible on the blue backdrop. */
body.site-body.wisdom-shell .site-navbar {
    background: rgba(247, 253, 255, .78);
    border-bottom: 1px solid rgba(133, 198, 218, .38);
    backdrop-filter: blur(18px);
}
body.site-body.wisdom-shell .site-brand-mark {
    border-radius: 13px !important;
    background: linear-gradient(145deg, #16acd5, #087fae) !important;
    box-shadow: 0 5px 12px rgba(8, 127, 174, .17);
}
body.site-body.wisdom-shell .site-brand-title { color: #123349 !important; }
body.site-body.wisdom-shell .site-brand-subtitle { color: #4d6a7a !important; }
body.site-body.wisdom-shell .site-nav .nav-link { color: #4f6c7d; border-radius: 11px; }
body.site-body.wisdom-shell .site-nav .nav-link:hover,
body.site-body.wisdom-shell .site-nav .nav-link.active { color: #087da6; background: #dff5fb; }
body.site-body.wisdom-shell .header-account-link,
body.site-body.wisdom-shell .site-logout-link { color: #607989; }
body.site-body.wisdom-shell .header-notification,
body.site-body.wisdom-shell .header-mobile-bell,
body.site-body.wisdom-shell .site-toggler {
    color: #257b9c;
    background: rgba(255,255,255,.92);
    border: 1px solid #d0e9f0;
    border-radius: 13px;
}
body.site-body.wisdom-shell .header-notification:hover,
body.site-body.wisdom-shell .header-mobile-bell:hover { color: #087ba6; background: #e9f9fe; }
body.site-body.wisdom-shell .header-alert-count { background: #087ca4; }
body.site-body.wisdom-shell .header-profile { color: #24475b; border-radius: 12px; }
body.site-body.wisdom-shell .header-profile:hover,
body.site-body.wisdom-shell .header-profile.is-current { background: #e7f8fc; color: #087ba6; }
body.site-body.wisdom-shell .header-profile-avatar {
    color: #087ba6;
    background: #dff5fc;
    border-radius: 50%;
}

/* Section tabs stay horizontally scrollable without an intrusive native bar. */
body.wisdom-shell .teacher-section-nav {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-inline: contain;
}
body.wisdom-shell .teacher-section-nav::-webkit-scrollbar { display: none; }
body.wisdom-shell .teacher-section-nav a {
    color: #426777;
    background: rgba(255,255,255,.78);
    border-color: #c9e8f1;
}
body.wisdom-shell .teacher-section-nav a:hover { color: #075a7b; border-color: #82c9dc; }
body.wisdom-shell .teacher-section-nav a.is-current,
body.wisdom-shell .teacher-section-nav a.is-current:hover {
    color: #fff;
    background: #087ca4;
    border-color: #087ca4;
}

/* Shared controls retain their normal behaviour and readable contrast. */
body.site-body.wisdom-shell :is(.card,.resource-card,.store-card,.page-hero) {
    background-color: #fff;
    border: 1px solid #d5eaf0;
    border-radius: 20px;
    box-shadow: var(--w-shadow-card);
}
body.site-body.wisdom-shell :is(.form-control,.form-select) {
    min-height: 46px;
    border: 1px solid #cfe3eb;
    border-radius: 12px;
    color: #17374a;
    background-color: #fff;
}
body.site-body.wisdom-shell :is(.form-control,.form-select):focus {
    border-color: #46b3d3;
    box-shadow: 0 0 0 3px rgba(16, 157, 201, .14);
}
body.site-body.wisdom-shell :is(.form-control,.form-select):disabled {
    color: #637987;
    background-color: #edf5f7;
    cursor: not-allowed;
    opacity: 1;
}
body.site-body.wisdom-shell :is(.form-control,.form-select).is-invalid,
body.site-body.wisdom-shell .was-validated :is(.form-control,.form-select):invalid { border-color: #b53a32; }
body.site-body.wisdom-shell :is(.form-control,.form-select).is-valid,
body.site-body.wisdom-shell .was-validated :is(.form-control,.form-select):valid { border-color: #218552; }
body.site-body.wisdom-shell :is(.btn-primary,.btn-outline-primary) {
    border-radius: 12px;
    min-height: 44px;
    font-weight: 700;
}
body.site-body.wisdom-shell .btn-primary { color: #fff; border-color: #087ca4; background: #087ca4; }
body.site-body.wisdom-shell .btn-primary:hover,
body.site-body.wisdom-shell .btn-primary:focus { color: #fff; border-color: #066c95; background: #066c95; }
body.site-body.wisdom-shell .btn-outline-primary { color: #08799f; border-color: #b9dfeb; background: #fff; }
body.site-body.wisdom-shell .btn-outline-primary:hover { color: #075b7a; border-color: #75bed5; background: #edfafe; }
body.site-body.wisdom-shell :is(a,button,input,select,textarea):focus-visible {
    outline: 3px solid rgba(0, 136, 186, .5);
    outline-offset: 2px;
}

/* Learning, search and practice screens share the same visual language. */
body.wisdom-shell :is(.lr-head-icon,.lr-bank-icon,.lr-create-icon) {
    color: #087ca4;
    background: #e3f6fb;
}
body.wisdom-shell .lr-path b,
body.wisdom-shell .lr-bank-card details summary,
body.wisdom-shell .catalog-shell details > summary { color: #086d90; }
body.wisdom-shell .lr-guided { background: #f2fafe; border-color: #d6edf4; border-radius: 14px; }
body.wisdom-shell .lr-filter { border-color: #d6edf4; border-radius: 16px; }
body.wisdom-shell .teacher-flow-steps { background: #eef9fc; }
body.wisdom-shell .teacher-empty { border-color: #a9d9e7; }
body.wisdom-shell .library-result-tags .badge:first-child {
    color: #086d90 !important;
    background: #e5f7fc !important;
}

/* Keep the introduction aligned and safely inset on both account pages. */
body.site-body.wisdom-shell:is(.page-login,.page-register) .auth-shell > .auth-aside {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: clamp(24px, 4vw, 40px) !important;
    text-align: center;
}
body.site-body.wisdom-shell:is(.page-login,.page-register) .auth-aside :is(h1,.lead) {
    width: 100%;
    max-width: 48ch;
    margin-inline: auto;
    text-align: center;
    overflow-wrap: anywhere;
}
body.site-body.wisdom-shell:is(.page-login,.page-register) .auth-aside .stat-stack {
    width: 100%;
    max-width: 520px;
    text-align: left;
}
@media (max-width:575.98px) {
    body.site-body.wisdom-shell:is(.page-login,.page-register) .auth-shell > .auth-aside {
        padding: 24px 20px !important;
    }
}

/* Compact footer preserves the bottom navigation's safe area on phones. */
body.site-body.wisdom-shell .dm-footer {
    background: rgba(255,255,255,.85);
    border-color: #d8edf3;
    color: #607888;
}
body.site-body.wisdom-shell .dm-footer-name { color: #17374a; }
body.site-body.wisdom-shell .dm-footer-name span,
body.site-body.wisdom-shell .dm-footer-links a:hover { color: #078bb9; }
body.site-body.wisdom-shell .dm-footer-links a { color: #607888; }

@media (max-width:1199.98px) {
    body.site-body.wisdom-shell .site-navbar .navbar-collapse {
        background: #fff;
        border-color: #d8edf3;
        border-radius: 18px;
        box-shadow: 0 12px 28px rgba(22, 89, 117, .1);
    }
}
@media (max-width:767.98px) {
    body.site-body.wisdom-shell { background: linear-gradient(180deg, #c4ecf8 0, #e9f8fc 340px, #f8fcfd 680px); }
    body.site-body.wisdom-shell .site-navbar { background: transparent; border-bottom: 0; backdrop-filter: none; }
    body.site-body.wisdom-shell .site-navbar-shell { min-height: 64px; }
    body.site-body.wisdom-shell .header-mobile-bell { width: 42px; height: 42px; border-radius: 50%; }
    body.site-body.wisdom-shell .wisdom-bottom-nav {
        height: calc(72px + env(safe-area-inset-bottom, 0px));
        background: rgba(255,255,255,.97);
        border-top: 1px solid #e4f1f5;
        box-shadow: 0 -8px 28px rgba(39, 106, 131, .08);
    }
    body.site-body.wisdom-shell .wisdom-bottom-nav a { color: #627987; font-weight: 600; }
    body.site-body.wisdom-shell .wisdom-bottom-nav a[aria-current="page"] { color: #087ca4; }
    body.site-body.wisdom-shell .wisdom-bottom-nav a[aria-current="page"] .wisdom-nav-icon-wrap { background: #e1f6fc; }
}
@media (max-width:359.98px) {
    body.site-body.wisdom-shell .wisdom-bottom-nav a {
        min-width: 0;
        padding-inline: 1px;
        font-size: clamp(9px, 3vw, 9.5px);
        letter-spacing: -.025em;
        line-height: 1.2;
        white-space: nowrap;
    }
}
