

/* Start:/local/templates/family_school/template_styles.css?178997763629983*/
:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    color: #11233f;
    background: #f4f8ff;
    --fs-blue: #3f80f4;
    --fs-blue-dark: #1f5fcf;
    --fs-blue-soft: #edf5ff;
    --fs-line: #d3e1f6;
    --fs-muted: #5b7194;
    --fs-card: #fff;
    --fs-sidebar: 258px;
    --fs-sidebar-collapsed: 82px;
    --fs-topbar: 80px;
    --fs-shadow: 0 12px 34px rgba(43, 77, 125, .08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; font-size: 16px; line-height: 1.5; background: #f4f8ff; }
a { color: var(--fs-blue-dark); }
button, input, select, textarea { font: inherit; }
.fs-skip { position: fixed; left: -9999px; }
.fs-skip:focus { left: 1rem; top: 1rem; z-index: 200; background: #fff; padding: .65rem .9rem; border-radius: .65rem; box-shadow: var(--fs-shadow); }

.fs-topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    min-height: var(--fs-topbar);
    padding: 0 clamp(1rem, 4vw, 4rem);
    display: flex;
    align-items: center;
    gap: 2rem;
    background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid var(--fs-line);
    backdrop-filter: blur(12px);
}
.fs-brand { display: inline-flex; align-items: center; gap: .75rem; color: #11233f; text-decoration: none; flex: none; }
.fs-brand strong, .fs-brand small { display: block; }
.fs-brand strong { font-size: 1.05rem; }
.fs-brand small, .fs-topbar-context small { color: var(--fs-muted); font-size: .78rem; }
.fs-brand-mark { display: grid; place-items: center; background: linear-gradient(145deg, #4d91ff, #3475eb); color: #fff; width: 3.1rem; height: 3.1rem; border-radius: .9rem; font-weight: 850; box-shadow: 0 8px 20px rgba(63, 128, 244, .25); }
.fs-topbar-context { margin-left: auto; display: grid; min-width: 0; max-width: min(42rem, 48vw); }
.fs-topbar-context small { text-transform: uppercase; letter-spacing: .055em; font-weight: 800; }
.fs-topbar-context strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .92rem; }
.fs-class-link, .fs-adult-link { flex: none; border: 1px solid #c5d8f6; border-radius: .85rem; padding: .65rem .95rem; color: #152845; text-decoration: none; font-weight: 750; background: #fff; }
.fs-class-link:hover, .fs-class-link:focus-visible, .fs-adult-link:hover, .fs-adult-link:focus-visible { border-color: var(--fs-blue); background: var(--fs-blue-soft); }
.fs-adult-link.fs-adult-active { border-color: #8bd4ad; background: #effbf4; color: #17643d; }

.fs-shell { display: grid; grid-template-columns: var(--fs-sidebar) minmax(0, 1fr); width: 100%; min-height: calc(100vh - var(--fs-topbar)); transition: grid-template-columns .22s ease; }
.fs-sidebar { position: sticky; top: var(--fs-topbar); align-self: start; height: calc(100vh - var(--fs-topbar)); overflow-y: auto; background: #fff; border-right: 1px solid var(--fs-line); padding: 1rem .8rem; z-index: 40; }
.fs-sidebar nav { display: grid; gap: .3rem; }
.fs-sidebar nav a { display: flex; gap: .75rem; align-items: center; min-height: 3.35rem; border-radius: .85rem; padding: .7rem .8rem; text-decoration: none; color: #263f65; font-weight: 750; transition: background .16s ease, color .16s ease, transform .16s ease; }
.fs-sidebar nav a:hover, .fs-sidebar nav a:focus-visible { background: #edf4ff; color: #174eac; }
.fs-sidebar nav a.fs-active { background: var(--fs-blue); color: #fff; box-shadow: 0 9px 22px rgba(63, 128, 244, .25); }
.fs-sidebar-toggle { width: 100%; min-height: 2.85rem; display: flex; align-items: center; gap: .65rem; border: 1px solid #c7daf8; border-radius: .8rem; background: #fff; color: #26466f; cursor: pointer; margin-bottom: .9rem; padding: .55rem .75rem; font-weight: 750; }
.fs-sidebar-toggle:hover, .fs-sidebar-toggle:focus-visible { background: var(--fs-blue-soft); border-color: #90b6f3; }
.fs-toggle-icon { display: grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; transition: transform .22s ease; }
.fs-toggle-icon svg { width: 1.4rem; height: 1.4rem; }
.fs-nav-icon { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; flex: none; }
.fs-nav-icon svg { width: 1.55rem; height: 1.55rem; }
.fs-nav-label-mobile { display: none; }
.fs-content { width: 100%; max-width: none; min-width: 0; padding: clamp(1rem, 3vw, 2.6rem); }
.fs-nav-collapsed .fs-shell { grid-template-columns: var(--fs-sidebar-collapsed) minmax(0, 1fr); }
.fs-nav-collapsed .fs-nav-label-full, .fs-nav-collapsed .fs-toggle-label { display: none; }
.fs-nav-collapsed .fs-sidebar-toggle, .fs-nav-collapsed .fs-sidebar nav a { justify-content: center; padding-left: .5rem; padding-right: .5rem; }
.fs-nav-collapsed .fs-toggle-icon { transform: rotate(180deg); }
.fs-landing-page .fs-shell { display: block; }
.fs-landing-page .fs-content { max-width: 1180px; margin: 0 auto; }

.fs-page-title { margin: 0 0 1.2rem; font-size: clamp(2rem, 4.2vw, 3.35rem); line-height: 1.08; letter-spacing: -.035em; }
.fs-page-lead { margin: -.45rem 0 1.4rem; max-width: 62rem; color: var(--fs-muted); font-size: 1.02rem; }
.fs-card { background: var(--fs-card); border: 1px solid var(--fs-line); border-radius: 1.25rem; padding: clamp(1rem, 3vw, 2rem); margin-bottom: 1.25rem; box-shadow: var(--fs-shadow); }
.fs-grade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.fs-grade-card { position: relative; overflow: hidden; }
.fs-grade-card::after { content: ""; position: absolute; right: -2.5rem; top: -2.5rem; width: 9rem; height: 9rem; border-radius: 50%; background: #e9f2ff; z-index: 0; }
.fs-grade-card > * { position: relative; z-index: 1; }
.fs-grade-card strong { display: block; font-size: 1.55rem; }
.fs-grade-card > span { display: block; color: var(--fs-muted); margin-top: .2rem; }
.fs-grade-actions { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: 1rem; }
.fs-grade-actions a { display: inline-flex; align-items: center; min-height: 2.35rem; padding: .45rem .75rem; border-radius: .6rem; background: var(--fs-blue-soft); color: var(--fs-blue-dark); font-size: .9rem; font-weight: 750; text-decoration: none; }
.fs-grade-actions a.fs-primary-action { background: var(--fs-blue); color: #fff; }
.fs-grade-actions a:hover, .fs-grade-actions a:focus-visible { filter: brightness(.97); box-shadow: 0 5px 14px rgba(53, 105, 191, .14); }

.fs-course-intro { margin: 0 0 1.4rem; color: #4c658a; max-width: 64rem; }
.fs-subject-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; align-items: start; }
.fs-subject-card { background: #fff; border: 1px solid var(--fs-line); border-radius: 1.1rem; padding: 0; box-shadow: 0 8px 28px rgba(47, 82, 131, .05); min-width: 0; }
.fs-subject-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.fs-subject-summary::-webkit-details-marker { display: none; }
.fs-subject-title { display: block; margin-top: .15rem; color: var(--fs-blue-dark); font-size: 1.35rem; font-weight: 800; line-height: 1.25; }
.fs-subject-summary-meta { display: inline-flex; align-items: center; gap: .9rem; flex: none; }
.fs-eyebrow { margin: 0; text-transform: uppercase; letter-spacing: .07em; font-size: .78rem; font-weight: 850; color: #2461ca; }
.fs-subject-count { white-space: nowrap; background: var(--fs-blue-soft); border-radius: 999px; padding: .25rem .55rem; font-size: .78rem; font-weight: 800; color: #205abf; }
.fs-subject-chevron { width: .65rem; height: .65rem; border-right: 2px solid #5780bc; border-bottom: 2px solid #5780bc; transform: rotate(45deg); transition: transform .18s ease; }
.fs-subject-accordion[open] { border-color: #9bbbf0; }
.fs-subject-accordion[open] > .fs-subject-summary { position: sticky; top: var(--fs-topbar); z-index: 3; background: var(--fs-blue-soft); border-bottom: 1px solid var(--fs-line); }
.fs-subject-accordion[open] .fs-subject-chevron { transform: rotate(225deg); }
.fs-subject-panel { padding: .85rem 1.25rem 1.15rem; }
.fs-subject-panel ol { margin: .8rem 0 0; padding-left: 1.5rem; }
.fs-subject-panel li { padding: .36rem 0; }
.fs-subject-panel .fs-topic-link { display: inline-flex; align-items: center; gap: .4rem; }
.fs-subject-open { display: inline-flex; align-items: center; border-radius: .6rem; padding: .4rem .65rem; background: #edf4ff; font-size: .88rem; font-weight: 750; text-decoration: none; }
.fs-subject-unavailable .fs-subject-summary { cursor: default; }
.fs-subject-delayed { margin: -.35rem 1.25rem 1.1rem; }
.fs-video-mark { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.15rem; border-radius: .3rem; background: #e8f2ff; color: #1d61ce; font-size: .65rem; font-weight: 850; vertical-align: middle; }
.fs-muted { color: #627795; }

.fs-breadcrumbs { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; color: #627795; font-size: .9rem; margin: 0 0 1rem; }
.fs-breadcrumbs a { text-decoration: none; }
.fs-detail-title { font-size: clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.16; letter-spacing: -.025em; margin: .3rem 0 1rem; max-width: 68rem; }
.fs-chapter .fs-muted { margin: 0 0 1.2rem; }
.fs-topic-list { list-style: none; counter-reset: topics; display: grid; gap: .55rem; padding: 0; margin: 0; }
.fs-topic-list li { counter-increment: topics; min-width: 0; }
.fs-topic-list a { display: flex; align-items: center; gap: .8rem; border: 1px solid #d9e5f8; border-radius: .8rem; padding: .75rem 1rem; text-decoration: none; color: #173a79; font-weight: 750; min-height: 3.4rem; }
.fs-topic-list a > span:first-child { min-width: 0; flex: 1; }
.fs-topic-list a::before { content: counter(topics); display: grid; place-items: center; flex: none; min-width: 2rem; height: 2rem; padding: 0 .25rem; border-radius: .55rem; background: #eaf2ff; color: #2461ca; font-size: .85rem; }
.fs-topic-list a:hover, .fs-topic-list a:focus-visible { background: #f2f7ff; border-color: #9bbbf0; }

.fs-lesson { max-width: none; }
.fs-lesson-hero { position: relative; overflow: hidden; border-color: #b9d2f8; background: linear-gradient(135deg, #eff6ff 0%, #e7f1ff 100%); }
.fs-lesson-hero::after { content: ""; position: absolute; right: -4rem; bottom: -6rem; width: 16rem; height: 16rem; border-radius: 50%; background: rgba(63, 128, 244, .08); }
.fs-lesson-hero > * { position: relative; z-index: 1; }
.fs-lesson-hero .fs-detail-title { margin-bottom: .2rem; }
.fs-lesson-progress { min-height: 2rem; margin-top: .8rem; color: var(--fs-muted); font-size: .82rem; }
.fs-lesson-progress .fs-completion-state, .fs-lesson-progress .fs-completion-button { margin-top: 0; background: rgba(255, 255, 255, .86); }
.fs-lesson-body { width: 100%; max-width: none; font-size: 1.05rem; line-height: 1.65; }
.fs-lesson-body h2 { font-size: 1.35rem; line-height: 1.3; }
.fs-lesson-resources { margin-bottom: 1.2rem; }
.fs-lesson-resources h2 { margin-top: 0; }
.fs-lesson-resources ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .65rem; }
.fs-lesson-resources li { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid var(--fs-line); border-radius: .72rem; padding: .6rem .8rem; margin: 0; background: #f8fbff; max-width: 100%; }
.fs-resource-icon { display: inline-grid; place-items: center; flex: none; width: 1.45rem; height: 1.45rem; border-radius: .38rem; font-size: .68rem; font-weight: 850; background: #eaf2ff; color: #1d58c7; }
.fs-material-placeholder { padding: 1rem 1.3rem; border: 1px solid var(--fs-line); border-left: 4px solid var(--fs-blue); border-radius: 1rem; background: #f7fbff; margin: 1rem 0; }
.fs-material-placeholder h2 { margin-top: 0; }
.fs-lesson-file { width: 100%; min-height: 70vh; border: 1px solid var(--fs-line); border-radius: .7rem; }
.fs-lesson-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.fs-lesson-navigation a { display: grid; gap: .2rem; border: 1px solid var(--fs-line); background: #fff; padding: 1rem 1.2rem; border-radius: .85rem; text-decoration: none; min-width: 0; }
.fs-lesson-navigation a:last-child { text-align: right; }
.fs-lesson-navigation a span { color: #627795; font-size: .85rem; }
.fs-lesson-navigation a strong { overflow-wrap: anywhere; }
.fs-lesson-navigation a:hover { border-color: #9bbbf0; background: #f8fbff; }

.fs-schedule-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: -.4rem 0 1.25rem; color: var(--fs-muted); }
.fs-adult-toolbar { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: -.35rem 0 1rem; padding: .75rem .9rem; border: 1px solid #a9dbbe; border-radius: .8rem; background: #f1fbf5; color: #285f41; }
.fs-adult-toolbar span { color: #47735a; }
.fs-week-list { display: grid; gap: 1rem; }
.fs-week { background: #fff; border: 1px solid var(--fs-line); border-radius: 1rem; overflow: hidden; box-shadow: 0 7px 22px rgba(47, 82, 131, .045); }
.fs-week summary { display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; padding: 1rem 1.25rem; color: var(--fs-blue-dark); list-style: none; }
.fs-week summary::-webkit-details-marker { display: none; }
.fs-week summary span { color: var(--fs-muted); font-size: .92rem; }
.fs-week summary::after { content: "+"; margin-left: auto; color: #7093c8; font-size: 1.25rem; line-height: 1; }
.fs-week[open] summary::after { content: "−"; }
.fs-week-days { border-top: 1px solid var(--fs-line); padding: 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 255px), 1fr)); gap: 1rem; }
.fs-day { border: 1px solid #e0e9f7; border-radius: .85rem; padding: 1rem .65rem; background: #fbfdff; }
.fs-day.fs-holiday { border-color: #f2c979; background: #fffaf0; }
.fs-day h2 { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin: 0 0 .7rem; font-size: 1.12rem; }
.fs-day h2 small { color: var(--fs-muted); font-size: .88rem; font-weight: 450; }
.fs-holiday-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: .15rem .45rem; background: #fff0c9; color: #8a5a00; font-size: .72rem; font-weight: 800; }
.fs-day ol { display: grid; gap: .62rem; margin: 0; padding: 0 .3rem; list-style: none; }
.fs-day li { padding: 0; }
.fs-day li.fs-schedule-lesson { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: .58rem; min-width: 0; margin-inline: .08rem; padding: .9rem 1rem; border: 1px solid #dbe7f6; border-radius: .72rem; background: #fff; box-shadow: 0 4px 14px rgba(43, 83, 139, .04); }
.fs-schedule-lesson.fs-is-completed { border-color: #b9dfca; background: #fbfffc; }
.fs-schedule-lesson.fs-is-optional { border-color: #ead6a5; }
.fs-schedule-lesson-main { min-width: 0; }
.fs-schedule-lesson.fs-is-completed .fs-schedule-lesson-main > a { color: #55705f; }
.fs-lesson-subject { display: inline-flex; margin-right: .35rem; border-radius: 999px; padding: .12rem .42rem; background: #edf4ff; color: #48658f; font-size: .75rem; font-weight: 750; }
.fs-optional-label { display: inline-flex; margin-right: .35rem; border-radius: 999px; padding: .12rem .42rem; background: #fff4d8; color: #805614; font-size: .7rem; font-weight: 800; }
.fs-schedule-topic-list { display: grid; margin-top: .45rem; }
.fs-schedule-topic { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .3rem .55rem; min-width: 0; padding: .55rem 0; border-top: 1px solid #e3ebf7; color: var(--fs-blue-dark); text-decoration: none; overflow-wrap: anywhere; }
.fs-schedule-topic:first-child { border-top: 0; padding-top: .2rem; }
.fs-schedule-topic-title { color: #125cc9; font-size: .92rem; font-weight: 700; line-height: 1.38; text-decoration: underline; text-decoration-thickness: .055em; text-underline-offset: .14em; }
.fs-schedule-topic-percent { flex: none; border-radius: 999px; padding: .11rem .38rem; background: #e5effe; color: #2d66b4; font-size: .66rem; }
.fs-schedule-topic:hover .fs-schedule-topic-title, .fs-schedule-topic:focus-visible .fs-schedule-topic-title { color: #0a4aa5; }
.fs-lesson-comment { display: block; margin-top: .25rem; color: var(--fs-muted); font-size: .82rem; line-height: 1.35; }
.fs-completion-state, .fs-completion-button { display: inline-flex; align-items: center; min-height: 1.8rem; margin-top: .35rem; border: 1px solid #d5e1f0; border-radius: 999px; padding: .2rem .55rem; background: #fff; color: #647894; font-size: .72rem; font-weight: 800; }
.fs-schedule-lesson > .fs-completion-state { grid-column: 1 / -1; justify-self: start; }
.fs-completion-state.fs-completed, .fs-completion-button.fs-completed { border-color: #9dd9b8; background: #effbf4; color: #17643d; }
.fs-completion-button { cursor: pointer; }
.fs-lesson-admin-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; min-width: 0; width: 100%; margin-top: .15rem; }
.fs-lesson-admin-actions form { display: inline-flex; min-width: 0; margin: 0; }
.fs-admin-edit, .fs-edit-group-link, .fs-remove-lesson, .fs-inline-edit > summary { display: inline-flex; align-items: center; min-height: 1.8rem; border: 1px solid #cbdcf4; border-radius: 999px; padding: .2rem .55rem; background: #fff; color: #235dbd; font-size: .72rem; font-weight: 800; text-decoration: none; cursor: pointer; list-style: none; }
.fs-inline-edit > summary::-webkit-details-marker { display: none; }
.fs-inline-edit { min-width: 0; }
.fs-inline-edit[open] { flex: 0 0 100%; width: 100%; min-width: 0; }
.fs-inline-edit-form { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: .55rem; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; margin-top: .45rem !important; padding: .65rem; border: 1px solid #d7e4f6; border-radius: .65rem; background: #f7faff; }
.fs-inline-edit-form label { display: grid; gap: .2rem; min-width: 0; color: #4a6287; font-size: .72rem; font-weight: 750; }
.fs-inline-edit-form select, .fs-inline-edit-form input { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; border: 1px solid #c9d9ee; border-radius: .52rem; padding: .45rem .52rem; background: #fff; color: #142a49; }
.fs-inline-edit-form button { width: 100%; min-height: 2.1rem; border: 0; border-radius: .52rem; padding: .42rem .7rem; background: var(--fs-blue); color: #fff; font-weight: 800; cursor: pointer; }
.fs-inline-edit-form .fs-form-message { min-width: 0; overflow-wrap: anywhere; }
.fs-remove-lesson { border-color: #f0cbd1; color: #a04453; cursor: pointer; }
.fs-add-lesson { margin-top: .8rem; border-top: 1px dashed #cbdcf0; padding-top: .65rem; }
.fs-week .fs-add-lesson > summary { display: inline-flex; padding: .35rem 0; color: var(--fs-blue-dark); font-size: .8rem; font-weight: 800; }
.fs-week .fs-add-lesson > summary::after, .fs-week[open] .fs-add-lesson > summary::after { content: none; }
.fs-add-lesson-form { display: grid; gap: .55rem; margin-top: .55rem; }
.fs-add-lesson-form label { display: grid; gap: .2rem; color: #4a6287; font-size: .76rem; font-weight: 750; }
.fs-add-lesson-form select, .fs-add-lesson-form input { width: 100%; min-width: 0; border: 1px solid #c9d9ee; border-radius: .55rem; padding: .48rem .55rem; background: #fff; color: #142a49; }
.fs-add-lesson-form button { justify-self: start; border: 0; border-radius: .55rem; padding: .48rem .75rem; background: var(--fs-blue); color: #fff; font-weight: 800; cursor: pointer; }
.fs-form-message { display: block; color: #a04453; font-size: .75rem; }
.fs-schedule-form button:disabled { opacity: .6; cursor: wait; }
.fs-adult-page h2 { margin: .25rem 0 .6rem; }
.fs-school-break { display: flex; align-items: center; gap: .8rem; padding: .9rem 1.1rem; border: 1px dashed #e8b75d; border-radius: .9rem; background: #fff9ec; color: #744d08; }
.fs-school-break-icon { font-size: 1.35rem; }
.fs-empty { padding: 1rem 1.15rem; border: 1px solid var(--fs-line); border-radius: .9rem; background: #fff; color: var(--fs-muted); }

.fs-program-source { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.fs-program-source a { font-weight: 800; text-decoration: none; }
.fs-program-inline-link { display: inline-block; margin-top: .65rem; font-weight: 800; text-decoration: none; }
.fs-program-grade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr)); gap: 1rem; }
.fs-program-grade { margin: 0; }
.fs-program-grade h2 { margin-top: 0; }
.fs-program-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.fs-program-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .7rem; border: 1px solid #dce7f7; border-radius: .75rem; background: #f9fbff; }
.fs-program-list li > span:nth-child(2) { min-width: 0; }
.fs-program-list strong, .fs-program-list small { display: block; }
.fs-program-list small { color: var(--fs-muted); }
.fs-program-list a { font-weight: 800; text-decoration: none; }
.fs-program-icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: .6rem; background: #ffe9e7; color: #a3352b; font-size: .68rem; font-weight: 900; }

.fs-assessment-toolbar { display: flex; gap: .55rem; overflow-x: auto; padding: .2rem 0 1rem; scrollbar-width: thin; }
.fs-assessment-filter { flex: none; border: 1px solid transparent; border-radius: .75rem; padding: .62rem .8rem; background: #eaf2ff; color: #31547f; font-weight: 800; cursor: pointer; }
.fs-assessment-filter span { display: inline-grid; place-items: center; min-width: 1.65rem; height: 1.65rem; margin-left: .3rem; border-radius: 999px; background: rgba(255, 255, 255, .7); }
.fs-assessment-filter.is-active { background: var(--fs-blue); color: #fff; }
.fs-assessment-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1rem; }
.fs-assessment-card { margin-bottom: 0; }
.fs-assessment-card[hidden] { display: none; }
.fs-assessment-card h2 { margin: .3rem 0; font-size: 1.2rem; line-height: 1.3; }
.fs-assessment-meta { color: var(--fs-blue-dark); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
.fs-assessment-duration { color: var(--fs-muted); font-size: .9rem; }
.fs-assessment-pending { padding: .55rem .7rem; border-radius: .55rem; background: #fff8e9; color: #805419; font-size: .85rem; }
.fs-assessment-open { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; padding: .7rem 1rem; border-radius: .7rem; background: var(--fs-blue); color: #fff; font-weight: 850; text-decoration: none; }
.fs-assessment-open:hover, .fs-assessment-open:focus-visible { background: var(--fs-blue-dark); color: #fff; }
.fs-assessment-card { display: flex; flex-direction: column; align-items: flex-start; }
.fs-assessment-back { display: inline-flex; margin-bottom: 1rem; color: var(--fs-blue-dark); font-weight: 800; text-decoration: none; }
.fs-assessment-hero { margin-bottom: 1.2rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #bcd5ff; border-radius: 1.25rem; background: linear-gradient(135deg, #fff 0%, #edf5ff 100%); }
.fs-assessment-hero > p { margin: 0 0 .55rem; color: var(--fs-blue-dark); font-size: .82rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.fs-assessment-title { margin: 0 0 .7rem; font-size: clamp(1.8rem, 4vw, 3.2rem); }
.fs-assessment-hero .fs-page-lead { margin: 0; }
.fs-assessment-facts { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.fs-assessment-facts span { padding: .45rem .7rem; border-radius: 999px; background: #fff; color: #3e5f88; font-size: .88rem; font-weight: 750; }
.fs-assessment-work { max-width: 70rem; }
.fs-assessment-work h2 { margin: 1.6rem 0 .7rem; font-size: 1.35rem; }
.fs-assessment-work h2:first-child { margin-top: 0; }
.fs-assessment-work li { margin: .55rem 0; line-height: 1.6; }
.fs-assessment-tasks { display: grid; gap: .55rem; padding-left: 1.6rem; }
.fs-assessment-adult { margin-top: 2rem; padding: 1rem 1.2rem; border: 1px solid #a9dbbe; border-radius: .9rem; background: #f1fbf5; }
.fs-assessment-answer { margin-top: 1rem; border: 1px solid #efc879; border-radius: .9rem; background: #fff9ec; }
.fs-assessment-answer > summary { padding: .9rem 1rem; color: #714b05; font-weight: 850; cursor: pointer; }
.fs-assessment-answer > div { padding: 0 1rem 1rem; }
.fs-assessment-solutions { display: grid; gap: .8rem; padding-left: 1.4rem; }
.fs-assessment-solutions > li { padding: .75rem .9rem; border-radius: .7rem; background: #fff; }
.fs-assessment-solutions h3 { margin: 0 0 .45rem; }
.fs-assessment-bottom-nav { display: flex; justify-content: space-between; gap: .8rem; max-width: 70rem; margin-bottom: 2rem; }
.fs-assessment-bottom-nav a, .fs-assessment-bottom-nav button { border: 1px solid #bfd3f2; border-radius: .7rem; padding: .7rem 1rem; background: #fff; color: var(--fs-blue-dark); font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }

.fs-attestation-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; }
.fs-attestation-intro p { margin: 0; color: var(--fs-muted); }
.fs-attestation-count { display: grid; place-items: center; min-width: 5.4rem; min-height: 5.4rem; border-radius: 1.1rem; background: var(--fs-blue-soft); color: var(--fs-blue-dark); text-align: center; }
.fs-attestation-count strong { display: block; font-size: 1.7rem; line-height: 1; }
.fs-attestation-count small { font-size: .75rem; }
.fs-attestation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: .85rem; }
.fs-attestation-card { display: grid; align-content: start; gap: .65rem; padding: 1.15rem; border: 1px solid var(--fs-line); border-radius: 1rem; background: #fff; box-shadow: 0 7px 22px rgba(47, 82, 131, .04); }
.fs-attestation-subject { justify-self: start; display: inline-flex; border-radius: 999px; padding: .24rem .55rem; background: #eaf2ff; color: var(--fs-blue-dark); font-size: .76rem; font-weight: 850; }
.fs-attestation-card h2 { margin: 0; font-size: 1.05rem; line-height: 1.4; }
.fs-attestation-card a { justify-self: start; font-size: .9rem; font-weight: 750; text-decoration: none; }

@media (max-width: 900px) {
    .fs-topbar { gap: 1rem; }
    .fs-topbar-context { max-width: 36vw; }
}

@media (max-width: 700px) {
    :root { --fs-topbar: 68px; }
    body { padding-bottom: 76px; }
    body.fs-landing-page { padding-bottom: 0; }
    .fs-topbar { padding: 0 .85rem; gap: .7rem; }
    .fs-brand { gap: .55rem; min-width: 0; }
    .fs-brand-mark { width: 2.7rem; height: 2.7rem; border-radius: .75rem; }
    .fs-brand-copy { min-width: 0; }
    .fs-brand strong { font-size: .96rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .fs-brand small { font-size: .72rem; }
    .fs-topbar-context { display: none; }
    .fs-adult-link { margin-left: auto; padding: .55rem .65rem; font-size: 0; }
    .fs-adult-link::after { content: "Взрослый"; font-size: .78rem; }
    .fs-class-link { margin-left: 0; padding: .55rem .7rem; font-size: .82rem; }
    .fs-shell, .fs-nav-collapsed .fs-shell { display: block; min-height: calc(100vh - var(--fs-topbar)); }
    .fs-sidebar {
        position: fixed;
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 76px;
        padding: .35rem .25rem max(.35rem, env(safe-area-inset-bottom));
        border: 0;
        border-top: 1px solid var(--fs-line);
        overflow: hidden;
        z-index: 100;
        box-shadow: 0 -8px 24px rgba(35, 65, 108, .08);
    }
    .fs-sidebar-toggle { display: none; }
    .fs-sidebar nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .05rem; height: 100%; }
    .fs-sidebar nav a, .fs-nav-collapsed .fs-sidebar nav a { display: grid; grid-template-rows: 1.55rem auto; justify-items: center; align-content: center; gap: .2rem; min-width: 0; min-height: 0; padding: .25rem .08rem; border-radius: .62rem; font-size: .67rem; font-weight: 700; line-height: 1.05; text-align: center; }
    .fs-sidebar nav a.fs-active { box-shadow: none; }
    .fs-nav-icon { width: 1.45rem; height: 1.45rem; }
    .fs-nav-icon svg { width: 1.35rem; height: 1.35rem; }
    .fs-nav-label-full, .fs-nav-collapsed .fs-nav-label-full { display: none; }
    .fs-nav-label-mobile, .fs-nav-collapsed .fs-nav-label-mobile { display: block; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .fs-content { padding: 1rem .8rem 1.5rem; }
    .fs-page-title { font-size: clamp(2rem, 10vw, 2.65rem); }
    .fs-card { border-radius: 1rem; }
    .fs-subject-grid { grid-template-columns: 1fr; }
    .fs-week summary { display: grid; grid-template-columns: 1fr auto; }
    .fs-week summary span { grid-column: 1 / -1; }
    .fs-week summary::after { grid-column: 2; grid-row: 1; }
    .fs-week-days { grid-template-columns: 1fr; padding: .75rem; }
    .fs-inline-edit-form { grid-template-columns: 1fr; }
    .fs-lesson-navigation { grid-template-columns: 1fr; }
    .fs-lesson-navigation a:last-child { text-align: left; }
    .fs-attestation-intro { grid-template-columns: 1fr; }
    .fs-attestation-count { grid-auto-flow: column; justify-content: center; gap: .35rem; min-height: 3.2rem; min-width: 0; }
}

@media (max-width: 390px) {
    .fs-brand-copy strong { max-width: 8.5rem; }
    .fs-brand-copy { display: none; }
    .fs-class-link { font-size: 0; }
    .fs-class-link::after { content: "Классы"; font-size: .78rem; }
    .fs-sidebar nav a { font-size: .62rem; }
}

@media print {
    .fs-topbar, .fs-sidebar, .fs-admin-edit, .fs-adult-toolbar, .fs-lesson-admin-actions, .fs-add-lesson { display: none !important; }
    body { padding: 0; background: #fff; }
    .fs-shell { display: block; }
    .fs-content { padding: 0; }
    .fs-card { box-shadow: none; }
}

/* End */
/* /local/templates/family_school/template_styles.css?178997763629983 */
