:root{--brand-900:#16304f;--brand-800:#1d4a7a;--brand-700:#2f6fa8;--brand-600:#4a8fc4;--brand-100:#e3f0fa;--brand-050:#f2f7fc;--red-900:#6b0f0c;--red-800:#9a1512;--red-700:#c11b17;--yellow-100:#fff6d6;--yellow-200:#fdecad;--slate-50:#f6f7f9;--slate-100:#eef0f3;--slate-200:#e2e5ea;--ink:#1f2733;--ink-soft:#5b6472;--text-dark:var(--ink)}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;color:var(--ink);background:var(--slate-50)}a{color:var(--brand-700);text-decoration:none;font-weight:500}nav{background:#fff!important;color:var(--ink);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--slate-200)}nav a{color:var(--ink-soft)!important;font-size:.9rem;font-weight:600}nav a:hover{color:var(--brand-700)!important}h1,h2,h3{color:var(--ink)}h1{font-size:1.5rem}h1,h2{font-weight:700}h2{font-size:1.15rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1rem;border-radius:10px;box-shadow:0 1px 3px rgba(15,23,42,.08)}table{width:100%;min-width:480px;border-collapse:collapse;background:#fff}@media (min-width:900px){.table-compact{max-width:620px}}.subjects-two-col{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.subjects-two-col .table-scroll{flex:1 1 280px;margin-top:0}td,th{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--slate-200);font-size:.9rem}th{background:var(--slate-100);color:var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:2px solid var(--slate-200)}table.projection-table th{white-space:normal;padding:.4rem .45rem;vertical-align:bottom}table.projection-table td{padding:.4rem .45rem}tbody tr:nth-child(odd) td{background:var(--brand-050)}.roles-table{table-layout:fixed;width:100%}.roles-table td:first-child,.roles-table th:first-child{width:10rem}.roles-table td:nth-child(2),.roles-table th:nth-child(2){width:5.5rem}.roles-table td:nth-child(3),.roles-table th:nth-child(3){width:11rem}.roles-table select{max-width:100%}tbody tr:nth-child(2n) td{background:#fff}tr:hover td{background:var(--brand-100)!important}button,input,select{font-family:inherit;font-size:1rem;padding:.5rem .65rem;border:1px solid var(--slate-200);border-radius:8px}button{background:var(--brand-700);color:#fff;border:none;cursor:pointer;font-weight:500}button:hover{background:var(--brand-900)}button:disabled,button:disabled:hover{opacity:.5;cursor:not-allowed;background:var(--brand-700)}button.secondary:disabled,button.secondary:disabled:hover{background:#fff}a.secondary,button.secondary{background:#fff;color:var(--brand-700);border:1px solid var(--brand-700)}a.secondary{font-weight:500;cursor:pointer;display:inline-block;padding:.5rem .65rem;border-radius:8px;text-decoration:none}a.secondary:hover{background:var(--brand-700);color:#fff}form{flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:10px;border:1px solid var(--slate-200)}form,label{display:flex}label{flex-direction:column;font-size:.85rem;gap:.25rem;color:var(--ink-soft);flex:1 1 140px}input,select{width:100%}input[type=checkbox],input[type=radio]{width:auto;flex:0 0 auto;padding:0}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-positive{background:#dcf5e3;color:#1a7a3d}.badge-negative{background:#fbdede;color:#a3232c}.card{background:#fff;border-radius:12px;border:1px solid var(--slate-200);box-shadow:0 1px 3px rgba(15,23,42,.06);padding:1.1rem;margin-bottom:1.25rem}.student-link{cursor:pointer}.timetable-grid{display:grid;grid-template-columns:90px repeat(5,minmax(0,1fr));grid-gap:2px;gap:2px;background:var(--slate-200);border-radius:8px;overflow:hidden;margin-top:1rem;min-width:600px}.tt-cell{background:#fff;min-width:0;overflow-wrap:anywhere;padding:.4rem .5rem;font-size:.78rem;min-height:44px}.tt-head{background:var(--brand-700);color:#fff;font-weight:600;text-align:center;font-size:.75rem;padding:.4rem}.tt-period-label{background:var(--yellow-200);font-weight:600;font-size:.72rem;display:flex;align-items:center}.tt-filled{background:var(--yellow-100)}.dashboard-tiles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-top:1rem}.dashboard-tile{background:var(--brand-700);color:#fff;border-radius:12px;padding:1rem;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;gap:.3rem;cursor:pointer;border:none;text-align:left;font-family:inherit}a.dashboard-tile{color:#fff;text-decoration:none}.dashboard-tile:focus-visible,.dashboard-tile:hover{background:var(--brand-900)}.dashboard-tile-icon{font-size:1.6rem}.child-tile{align-items:center;text-align:center;gap:.4rem}.child-tile-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--brand-800)}.child-tile-placeholder{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.dashboard-tile-label{font-weight:600}.dashboard-tile-sub{font-size:.78rem;opacity:.85}.dashboard-back{display:inline-block;margin-bottom:.75rem;cursor:pointer}.dashboard-back-btn,.dashboard-back-btn:hover{background:none;color:var(--ink);padding:0;margin-bottom:.75rem;font-size:1rem}.dashboard-back-btn:hover{text-decoration:underline}.dashboard-red .dashboard-tile{background:var(--red-700)}.dashboard-red .dashboard-tile:focus-visible,.dashboard-red .dashboard-tile:hover{background:var(--red-900)}.dashboard-red .card h2{color:var(--red-800)}.profile-hero{display:flex;align-items:center;gap:1rem;background:var(--red-800);color:#fff;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.profile-hero h1{color:#fff;margin:0}.profile-hero-sub{opacity:.85;margin-top:.2rem}.profile-hero-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--red-900);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem}.students-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0 .75rem}.layout-toggle{display:flex}.layout-toggle button,.layout-toggle button:hover{background:#fff;color:var(--red-800);border:1px solid var(--red-700);padding:.3rem .8rem;font-size:.85rem;border-radius:0}.layout-toggle button:first-child{border-radius:8px 0 0 8px}.layout-toggle button:last-child{border-radius:0 8px 8px 0;border-left:none}.layout-toggle button.active{background:var(--red-700);color:#fff}.pupil-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.pupil-tile{display:flex;gap:.9rem;align-items:center;background:var(--red-700);color:#fff;border-radius:12px;padding:.9rem;text-decoration:none;min-width:0}.pupil-tile:focus-visible,.pupil-tile:hover{background:var(--red-900);color:#fff}.pupil-tile-photo{width:64px;height:80px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--red-900);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.pupil-tile-body{min-width:0}.pupil-tile-name{font-weight:600;overflow-wrap:anywhere}.pupil-tile-sub{font-size:.8rem;opacity:.85;margin-top:.1rem}.pupil-tile-stats{display:flex;gap:.8rem;font-size:.85rem;margin-top:.4rem}@media (min-width:900px){.dashboard-red .dashboard-tiles{grid-template-columns:repeat(3,1fr)}}.core-data-fields p{margin:.3rem 0}fieldset.name-group{flex:1 1 100%;margin:0;padding:.6rem .75rem .75rem;border:1px solid var(--slate-200);border-radius:8px;min-width:0}fieldset.name-group legend{font-weight:700;font-size:.9rem;color:var(--ink);padding:0 .3rem}.name-group-hint{margin:0 0 .5rem;font-size:.78rem;color:var(--ink-soft)}.name-row{display:flex;flex-wrap:wrap;gap:.75rem}.print-only,.timetable-print,tbody.collapsed-on-screen{display:none}@media print{.no-print{display:none!important}.print-only{display:inline!important}tbody.collapsed-on-screen{display:table-row-group!important}.certificate-print,.timetable-print{display:block!important}.navbar,header,nav{display:none!important}main{padding:0!important;max-width:none!important;margin:0!important}body{margin:0}.timetable-print h2{font-size:1rem;margin:0 0 .15rem}.timetable-print p{font-size:.75rem;margin:0 0 .5rem;color:#444}.timetable-print .timetable-grid{min-width:0;width:100%;background:#fff;border:1px solid #999}.timetable-print .tt-cell,.timetable-print .tt-head,.timetable-print .tt-period-label{border:1px solid #999;background:#fff!important;color:#000!important;font-size:.65rem;padding:.2rem .3rem;min-height:0}.timetable-print .tt-head{font-weight:700;text-align:center}.timetable-print .tt-period-label{font-weight:600}}.timetable-quad-page{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem;margin-bottom:1rem}.timetable-quad-card{border:1px solid #ccc;border-radius:6px;padding:.4rem;overflow:hidden}.tt-quad-name{font-weight:700;font-size:.8rem}.tt-quad-form{font-size:.7rem;color:#555;margin-bottom:.2rem}.tt-quad-legend{font-size:.65rem;color:#666;margin:0 0 .75rem}.tt-quad-grid{grid-template-columns:18px repeat(5,1fr);gap:1px;min-width:0;margin-top:.25rem}.tt-quad-grid .tt-cell,.tt-quad-grid .tt-head,.tt-quad-grid .tt-period-label{font-size:.5rem;padding:.08rem .15rem;min-height:0;line-height:1.15;overflow:hidden;text-overflow:ellipsis;min-width:0;white-space:nowrap}@media print{.timetable-quad-page{page-break-after:always;break-after:page;gap:.3rem}.timetable-quad-page:last-of-type{page-break-after:auto;break-after:auto}.timetable-quad-card{border:1px solid #999}.tt-quad-grid{background:#fff}.tt-quad-grid .tt-cell,.tt-quad-grid .tt-head,.tt-quad-grid .tt-period-label{border:1px solid #bbb;background:#fff!important;color:#000!important}}.certificate-print{margin-top:1rem}.cert-preview-note{text-align:center;margin-bottom:1rem}.cert-preview{zoom:.5;display:flex;justify-content:center}.cert-sheet{width:297mm;height:209mm;box-sizing:border-box;padding:9mm;background:#fff;color:#222;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.15);-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-border{height:100%;box-sizing:border-box;border:3mm double var(--brand-700);outline:.6mm solid var(--brand-600);outline-offset:-6mm;padding:12mm 22mm 10mm;text-align:center;font-family:Georgia,Times New Roman,serif;display:flex;flex-direction:column;align-items:center}.cert-logo{height:24mm;width:auto;max-width:110mm;object-fit:contain;margin:0 auto 5mm;display:block}.cert-eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--brand-700);font-size:14pt;margin:0}.cert-title{font-size:42pt;font-weight:400;color:var(--brand-700);margin:4mm 0 8mm;letter-spacing:.02em}.cert-body{font-size:17pt;margin:1.5mm 0;font-style:italic}.cert-body strong{font-style:normal}.cert-name{font-size:38pt;font-weight:700;margin:4mm 0 6mm;padding:0 12mm 2mm;border-bottom:.4mm solid #999;min-width:140mm}.cert-tier{font-size:16pt;text-transform:uppercase;letter-spacing:.2em;color:var(--brand-700);margin:5mm 0 0}.cert-footer{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:0 10mm;box-sizing:border-box}.cert-footer-item{width:75mm;text-align:center}.cert-footer-value{font-size:13pt;margin:0 0 1.5mm;padding-bottom:1.5mm;border-bottom:.4mm solid #333}.cert-signature-line{border-bottom:.4mm solid #333;height:14mm;margin-bottom:1.5mm}.cert-footer-label{font-size:11pt;color:#555;margin:0;text-transform:uppercase;letter-spacing:.12em}@media print{.certificate-print{margin:0}.cert-preview{zoom:1;display:block}.cert-sheet{width:100%;height:auto;aspect-ratio:1.48;padding:0;box-shadow:none;display:flex;page-break-inside:avoid;break-inside:avoid}.certificate-border{flex:1 1;height:auto}}.cert-a5{zoom:.75}.cert-a5 .cert-sheet{width:210mm;height:148mm;padding:6mm}.cert-a5 .certificate-border{border-width:2mm;outline-width:.4mm;outline-offset:-4.5mm;padding:8mm 14mm 6mm}.cert-a5 .cert-logo{height:18mm;max-width:80mm;margin-bottom:3mm}.cert-a5 .cert-eyebrow{font-size:9pt}.cert-a5 .cert-title{font-size:26pt;margin:2mm 0 4mm}.cert-a5 .cert-body{font-size:12pt;margin:1mm 0}.cert-a5 .cert-name{font-size:24pt;margin:2mm 0 3mm;padding:0 8mm 1.5mm;min-width:100mm}.cert-a5 .cert-tier{font-size:13pt;margin:3mm 0 0}.cert-when{font-size:11pt;margin:1.5mm 0 0}.cert-a5 .cert-footer{padding:0 4mm}.cert-a5 .cert-footer-item{width:55mm}.cert-a5 .cert-footer-value{font-size:10.5pt}.cert-a5 .cert-signature-line{height:10mm}.cert-a5 .cert-footer-label{font-size:8pt}@media print{.cert-a5{zoom:1}.cert-a5 .cert-sheet{width:100%;height:auto;padding:0}}.cert-a5.cert-pairs{zoom:.5;flex-direction:column;align-items:center;gap:8mm}.cert-page{width:210mm;height:297mm;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15);display:flex;flex-direction:column;justify-content:space-between}.cert-page .cert-sheet{box-shadow:none}.cert-cut{border-top:.3mm dashed #aaa}@media print{.cert-a5.cert-pairs{zoom:1;display:block}.cert-page{width:100%;height:auto;box-shadow:none;display:block;page-break-inside:avoid;break-inside:avoid}.cert-page:not(:last-child){page-break-after:always;break-after:page}.cert-cut{margin:3mm 0}}.dash-section{margin-bottom:1.75rem}.dash-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-color,var(--brand-700));margin-bottom:.6rem}.dash-wide{width:calc(100vw - 3rem);margin-left:calc(50% - 50vw + 1.5rem)}.dash-width-bar{display:flex;justify-content:flex-end;margin:-.75rem 0 .5rem}.dash-width-toggle{font-size:.8rem;padding:.3rem .7rem}@media (max-width:1060px){.dash-width-bar{display:none}.dash-wide{width:auto;margin-left:0}}@media (min-width:1061px){.dash-wide .dash-top-tiles{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none;gap:.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--slate-50);padding:.5rem 0;margin-bottom:1rem}.dash-wide .dash-top-tiles .stat-card{flex-direction:column;text-align:center;padding:.45rem .4rem;gap:.3rem;border-radius:10px;min-width:0}.dash-wide .dash-top-tiles .stat-card>div:last-child{min-width:0;width:100%}.dash-wide .dash-top-tiles .stat-card-icon{width:1.7rem;height:1.7rem;font-size:1rem;border-radius:8px}.dash-wide .dash-top-tiles .quick-link-label{font-size:.85rem;line-height:1.15}.dash-wide .dash-top-tiles .stat-card-label{font-size:.7rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.stat-card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.stat-card{gap:.9rem;background:#fff;border-radius:12px;border:1px solid var(--slate-200);border-left:4px solid var(--accent-color,var(--brand-700));box-shadow:0 1px 3px rgba(15,23,42,.06);padding:1rem 1.1rem}.stat-card,.stat-card-icon{display:flex;align-items:center}.stat-card-icon{font-size:1.6rem;width:2.8rem;height:2.8rem;justify-content:center;border-radius:10px;background:var(--accent-bg,var(--brand-100));flex-shrink:0}.stat-card-value{font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--ink)}.stat-card-label{font-size:.8rem;color:var(--ink-soft);margin-top:.15rem}.quick-link{text-decoration:none;transition:box-shadow .12s ease,transform .12s ease}.quick-link:focus-visible,.quick-link:hover{box-shadow:0 4px 12px rgba(15,23,42,.12);transform:translateY(-1px)}.quick-link-label{font-size:1.15rem;font-weight:800;line-height:1.15;color:var(--ink)}.stat-card.accent-myinfo{--accent-color:#2f6fa8;--accent-bg:#e3f0fa}.stat-card.accent-family{--accent-color:#c07d1f;--accent-bg:#fbeed9}.stat-card.accent-students{--accent-color:#3f8f5f;--accent-bg:#e2f3e8}.stat-card.accent-school{--accent-color:#7a52a8;--accent-bg:#ede3f7}.stat-card.accent-admin{--accent-color:#475569;--accent-bg:#e7eaee}.stat-card.accent-clinic{--accent-color:#0f766e;--accent-bg:#d7efec}.module-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1rem;gap:1rem}.module-card{background:#fff;border:1px solid var(--slate-200);border-radius:14px;box-shadow:0 1px 3px rgba(15,23,42,.06);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.module-card-icon{width:2.75rem;height:2.75rem;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--accent-bg,var(--brand-100));margin-bottom:.2rem}.module-card-title{font-size:1.05rem;font-weight:700;color:var(--ink)}.module-card-desc{font-size:.83rem;color:var(--ink-soft);line-height:1.4;margin:-.1rem 0 .2rem}.module-card-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.4rem;gap:.4rem;padding-top:.4rem}.module-chip{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.78rem;font-weight:600;line-height:1.2;color:var(--accent-color,var(--brand-700))!important;background:var(--accent-bg,var(--brand-100));border-radius:999px;padding:.4rem .35rem;text-decoration:none;transition:background .12s ease,color .12s ease}.module-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.module-chip:focus-visible,.module-chip:hover{background:var(--accent-color,var(--brand-700));color:#fff!important}.module-chip-tip{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;width:max-content;max-width:min(230px,75vw);padding:.45rem .6rem;border-radius:8px;background:var(--ink);color:#fff;font-size:.76rem;font-weight:500;line-height:1.35;text-align:left;box-shadow:0 4px 12px rgba(15,23,42,.18);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.module-chip:nth-child(2n) .module-chip-tip{left:auto;right:0}.module-chip:focus-visible .module-chip-tip,.module-chip:hover .module-chip-tip{opacity:1;visibility:visible;transform:translateY(0);transition-delay:.25s}.module-chip-soon{opacity:.55;cursor:default;pointer-events:none}.module-card.accent-myinfo{--accent-color:#2f6fa8;--accent-bg:#e3f0fa}.module-card.accent-family{--accent-color:#c07d1f;--accent-bg:#fbeed9}.module-card.accent-students{--accent-color:#3f8f5f;--accent-bg:#e2f3e8}.module-card.accent-school{--accent-color:#7a52a8;--accent-bg:#ede3f7}.module-card.accent-admin{--accent-color:#475569;--accent-bg:#e7eaee}.module-card.accent-clinic{--accent-color:#0f766e;--accent-bg:#d7efec}.module-card.accent-testing{--accent-color:#b91c1c;--accent-bg:#fbe3e3}@media (max-width:640px){main{padding:.75rem!important}nav{padding:.6rem .75rem;gap:.6rem}nav a{font-size:.85rem}form{flex-direction:column;align-items:stretch}label{flex:1 1 auto}h1{font-size:1.25rem}.card{padding:.85rem}.module-card-grid{grid-template-columns:1fr}.module-card{padding:1rem}.stat-card-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.stat-card{padding:.75rem .85rem;gap:.6rem}.stat-card-icon{width:2.2rem;height:2.2rem;font-size:1.25rem}.stat-card-value{font-size:1.2rem}.stat-card-label{font-size:.72rem}.quick-link-label{font-size:.98rem}}.att-scopes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.att-scope{border:1px solid var(--slate-200);border-radius:10px;padding:.75rem .85rem;background:var(--brand-050)}.att-scope-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--brand-800)}.att-scope-headline{font-size:1.5rem;font-weight:700;line-height:1.2;margin:.15rem 0}.att-scope-sub{font-size:.78rem;color:#5b6472}.att-scope-breakdown{margin:.5rem 0 0;padding:0;list-style:none;font-size:.8rem}.att-scope-breakdown li{display:flex;justify-content:space-between;gap:.5rem;padding:.1rem 0}.att-scope-breakdown .att-zero{color:#97a0ad}.att-late-total{border-top:1px solid var(--slate-200);margin-top:.45rem;padding-top:.35rem;font-weight:600}.student-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.7rem;gap:.7rem;margin-bottom:1rem}.student-card{display:flex;gap:.7rem;align-items:flex-start;width:100%;padding:.7rem;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.06);cursor:pointer;font:inherit;color:inherit;text-align:left}.student-card:hover{border-color:var(--brand-600);box-shadow:0 2px 8px rgba(15,23,42,.1)}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:0 1rem;gap:0 1rem}@media (min-width:720px){.form-grid{grid-template-columns:repeat(3,1fr)}.form-grid label:has(textarea){grid-column:1/-1}}.check-grid{display:grid;grid-template-columns:1fr;grid-gap:.4rem 1rem;gap:.4rem 1rem;margin-top:.5rem}@media (min-width:720px){.check-grid{grid-template-columns:repeat(2,1fr)}}.visit-card{background:#fff;border-left:1px solid var(--slate-200);border:1px solid var(--slate-200);border-left-width:4px;border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.06);padding:.9rem 1rem;margin-bottom:.8rem}.visit-card.is-urgent{border-left-color:#a3232c}.visit-card.is-followup{border-left-color:#c07d1f}.visit-card-head{gap:.8rem;flex-wrap:wrap;justify-content:space-between}.visit-card-head,.visit-card-who{display:flex;align-items:flex-start}.visit-card-who{gap:.7rem;min-width:0}.visit-card-reason{font-size:1.02rem;font-weight:600;margin:.55rem 0 .15rem}.visit-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));grid-gap:.55rem 1.1rem;gap:.55rem 1.1rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--slate-100)}.visit-notes-grid{display:grid;grid-template-columns:1fr;grid-gap:.55rem 1.1rem;gap:.55rem 1.1rem;margin-top:.55rem}@media (min-width:720px){.visit-notes-grid{grid-template-columns:1fr 1fr}}.visit-card-meta{font-size:.8rem;color:var(--ink-soft);text-align:left}@media (min-width:720px){.visit-card-meta{text-align:right}}.filter-date-pair{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:nowrap}.visit-detail-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--ink-soft)}.visit-detail-value{font-size:.9rem;overflow-wrap:anywhere}.visit-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}.filter-bar-embedded{margin-bottom:.2rem}.filter-bar-embedded label{margin-bottom:0}.checkbox-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:.3rem}.checkbox-row input{width:auto;flex:0 0 auto}.staff-record{position:relative;left:50%;transform:translateX(-50%);width:min(1480px,calc(100vw - 3rem))}.staff-record textarea{font-family:inherit;font-size:1rem;padding:.5rem .65rem;border:1px solid var(--slate-200);border-radius:8px;width:100%;resize:vertical}.staff-record-topbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem}.staff-record-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}@media (min-width:960px){.staff-record-layout{grid-template-columns:290px minmax(0,1fr)}.staff-record-id{position:-webkit-sticky;position:sticky;top:1rem}}.staff-record-id{margin-bottom:0}.staff-photo{width:170px;height:212px;margin:0 auto;border-radius:12px;overflow:hidden;background:var(--brand-100);display:flex;align-items:center;justify-content:center}.staff-photo img{width:100%;height:100%;object-fit:cover;display:block}.staff-photo-initials{font-size:3rem;font-weight:800;color:var(--brand-700)}.hr-photo-btn{display:inline-block;flex:none;padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-size:.8rem;border:1px solid var(--brand-700);color:var(--brand-700)}.hr-small-btn{padding:.25rem .55rem;font-size:.8rem}.staff-record-name{text-align:center;margin:.9rem 0 .15rem;font-size:1.4rem}.staff-record-title{text-align:center;color:var(--ink-soft);font-size:.9rem}.staff-id-facts{display:grid;grid-template-columns:auto 1fr;grid-gap:.35rem .75rem;gap:.35rem .75rem;margin:1rem 0 0;padding-top:.9rem;border-top:1px solid var(--slate-200);font-size:.85rem}.staff-id-facts dt{color:var(--ink-soft)}.staff-id-facts dd{margin:0;font-weight:500}.staff-id-roles{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--slate-200)}.staff-id-roles-head{display:flex;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:.4rem}.staff-role-chip{display:inline-block;background:var(--brand-050);border:1px solid var(--brand-100);color:var(--brand-800);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;margin:0 .3rem .3rem 0}.hr-updated{margin-top:.9rem;font-size:.72rem;color:var(--ink-soft);text-align:center}.hr-empty{color:#97a0ad}.hr-date-hint{display:block;font-size:.75rem;color:var(--ink-soft);margin-top:.2rem}.hr-row-note{font-size:.78rem;color:var(--ink-soft);margin-top:.15rem;white-space:pre-wrap}.hr-kpi-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}@media (min-width:720px){.hr-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.hr-kpi-row{grid-template-columns:repeat(6,minmax(0,1fr))}}.hr-kpi{background:#fff;border:1px solid var(--slate-200);border-top:4px solid var(--brand-600);border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.06);padding:.75rem .9rem}.hr-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.hr-kpi-value{font-size:1.35rem;font-weight:800;margin-top:.2rem;line-height:1.2}.hr-kpi-sub{font-size:.75rem;color:var(--ink-soft);margin-top:.2rem}.hr-kpi-ok{border-top-color:#3f8f5f}.hr-kpi-warn{border-top-color:#c07d1f}.hr-kpi-bad{border-top-color:#a3232c}.hr-kpi-bad .hr-kpi-sub{color:#a3232c;font-weight:600}.hr-kpi-warn .hr-kpi-sub{color:#8a5a12;font-weight:600}.hr-tone-ok{background:#dcf5e3;color:#1a7a3d}.hr-tone-warn{background:#fbeed9;color:#8a5a12}.hr-tone-bad{background:#fbdede;color:#a3232c}.hr-tone-muted{background:var(--slate-100);color:var(--ink-soft)}.staff-avatar-sm{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--brand-100);color:var(--brand-700);font-size:.72rem;font-weight:700;flex:none}.hr-tabs-card{padding:0;overflow:hidden}.hr-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--slate-200);background:var(--slate-50)}.hr-tab{background:none;color:var(--ink-soft);border-radius:0;border-bottom:3px solid transparent;padding:.8rem 1.1rem;white-space:nowrap;font-weight:600;font-size:.92rem}.hr-tab:hover{background:var(--brand-050);color:var(--brand-800)}.hr-tab.is-active{color:var(--brand-800);border-bottom-color:var(--brand-700);background:#fff}.hr-tab-count{display:inline-block;margin-left:.4rem;min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--slate-200);color:var(--ink);font-size:.72rem;line-height:1.3rem}.hr-tab-count.is-alert{background:#fbdede;color:#a3232c}.hr-tab-body{padding:1.1rem}.hr-tab-intro{margin:0 0 .75rem;color:var(--ink-soft);font-size:.9rem}.hr-sections{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem 2rem;gap:1.25rem 2rem}@media (min-width:900px){.hr-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.hr-sections{grid-template-columns:repeat(4,minmax(0,1fr))}}.hr-section.is-wide{grid-column:1/-1}.hr-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-700);margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--slate-200)}.hr-section dl{margin:0;display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);grid-gap:.35rem .75rem;gap:.35rem .75rem;font-size:.88rem}.hr-section dt{color:var(--ink-soft)}.hr-section dd{margin:0;font-weight:500}.hr-section.is-wide dl{grid-template-columns:8rem 1fr}.hr-edit-form,.hr-record-form{flex-direction:column;align-items:stretch;padding:0;border:none;background:none}.hr-record-form{padding:1rem;border:1px solid var(--slate-200);background:var(--slate-50)}.hr-edit-form .hr-section{margin-bottom:.5rem}.hr-edit-form .form-grid,.hr-record-form .form-grid{row-gap:.75rem}.hr-att-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.6rem .9rem;margin-bottom:.9rem;background:var(--brand-050);border-radius:8px;font-size:.88rem}@media (max-width:640px){.staff-record{width:calc(100vw - 1.5rem)}}@media print{.staff-record{position:static;transform:none;width:auto;font-size:.8rem}.staff-record-layout{grid-template-columns:200px minmax(0,1fr);gap:.75rem}.staff-record-id{position:static}.staff-photo{width:120px;height:150px}.hr-kpi-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;margin-bottom:.6rem}.card,.hr-kpi{box-shadow:none}.hr-sections{grid-template-columns:repeat(4,minmax(0,1fr))}}.order-sheet-page{margin-bottom:2rem}.order-sheet-page h2{margin-bottom:.2rem}.order-sheet-page h3{margin:1rem 0 .4rem;font-size:1rem}.order-sheet-meta{color:#555;font-size:.85rem;margin:0 0 .75rem}.order-sheet-table{width:100%;border-collapse:collapse}.order-sheet-table td,.order-sheet-table th{border:1px solid #ccc;padding:.3rem .5rem;vertical-align:top}.order-sheet-tick{width:3.5rem;text-align:center}@media print{.order-sheet-page{margin:0;font-size:.85rem}.order-sheet-table{break-after:page;page-break-after:always}.order-sheet-page:last-of-type .order-sheet-table:last-of-type{break-after:auto;page-break-after:auto}.order-sheet-table td,.order-sheet-table th{border-color:#666;padding:.2rem .4rem}.order-sheet-table tr{break-inside:avoid;page-break-inside:avoid}}.handout-restaurants{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.handout-count{font-size:.8rem;opacity:.8;margin-left:.25rem}.handout-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.4rem;gap:.4rem}.handout-row,.handout-row:disabled,.handout-row:disabled:hover,.handout-row:hover{width:100%;display:flex;align-items:center;gap:.75rem;text-align:left;background:#fff;color:inherit;border:1px solid var(--slate-200);padding:.7rem .8rem}.handout-row:hover{border-color:var(--brand-700)}.handout-row:disabled{opacity:.6;cursor:progress}.handout-row.given,.handout-row.given:disabled,.handout-row.given:hover{background:#e3f4e8;border-color:#9fd3b0}.handout-tick{flex:0 0 1.8rem;height:1.8rem;border:2px solid var(--slate-200);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.handout-row.given .handout-tick{background:#1a7a3d;border-color:#1a7a3d}.handout-row.not-collected,.handout-row.not-collected:disabled,.handout-row.not-collected:hover{background:#f3f4f6;border-color:var(--slate-200)}.handout-row.not-collected .handout-tick{background:#6b7280;border-color:#6b7280}.handout-row.not-collected .handout-items{text-decoration:line-through;color:#777}.handout-row.not-collected .handout-status{color:#6b7280}.handout-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.handout-name{font-weight:600}.handout-form{font-weight:400;color:#666;font-size:.85rem}.handout-items{font-size:.9rem;color:#444}.handout-amount{display:flex;flex-direction:column;align-items:flex-end;font-weight:600;white-space:nowrap}.handout-status{font-size:.75rem;font-weight:500;color:#1a7a3d}.handout-row.locked,.handout-row.locked:disabled,.handout-row.locked:hover{opacity:1;cursor:default}.handout-row.locked:not(.given){background:#f6f6f6}.handout-line{display:flex;gap:.4rem;align-items:stretch}.handout-line .handout-row{flex:1 1;min-width:0}.handout-edit{flex:0 0 auto;padding-left:.8rem;padding-right:.8rem}.handout-missing{color:#a3232c}.handout-was{font-size:.8rem;font-weight:400;color:#888}.handout-editor{margin-top:.3rem;padding:.75rem;border:1px solid var(--brand-700);border-radius:8px;background:#fff}.handout-edit-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-top:1px solid var(--slate-200)}.handout-edit-name{min-width:0}.handout-stepper{display:flex;align-items:center;gap:.4rem}.handout-stepper button{min-width:2.6rem;font-size:1.2rem;padding:.3rem .6rem}.handout-qty{min-width:1.8rem;text-align:center;font-weight:700;font-size:1.1rem}.handout-qty.short{color:#a3232c}.handout-saved{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;background:#fff8e1;border:1px solid #f0d78c;border-radius:8px;padding:.6rem .8rem;margin-bottom:.75rem;font-size:.9rem}.top-ten-page{margin-bottom:2rem}.top-ten-page h2{margin-bottom:.2rem}.top-ten-meta{color:#555;font-size:.85rem;margin:0 0 .75rem}.top-ten-table{width:100%;border-collapse:collapse}.top-ten-table td,.top-ten-table th{border:1px solid #ccc;padding:.3rem .5rem}@media print{.top-ten-page{margin:0;break-after:page;page-break-after:always}.top-ten-page:last-of-type{break-after:auto;page-break-after:auto}.top-ten-table td,.top-ten-table th{border-color:#666}.top-ten-table tr{break-inside:avoid;page-break-inside:avoid}}.set-sheet-page{margin-bottom:2rem}.set-sheet-page h2{margin-bottom:.2rem}.set-sheet-table{border-collapse:collapse;font-size:.85rem}.set-sheet-table td,.set-sheet-table th{border:1px solid #ccc;padding:.25rem .45rem;white-space:nowrap}.set-sheet-table .num{text-align:right}@media print{.set-sheet-page{margin:0;break-after:page;page-break-after:always}.set-sheet-page:last-of-type{break-after:auto;page-break-after:auto}.set-sheet-page .table-scroll{overflow:visible}.set-sheet-table{font-size:.7rem}.set-sheet-table td,.set-sheet-table th{border-color:#666;padding:.15rem .3rem}.set-sheet-table tr{break-inside:avoid;page-break-inside:avoid}}table.report-grades{min-width:520px;font-size:.85rem;background:transparent}table.report-grades th{font-size:.72rem;font-weight:600;color:var(--ink-soft);text-align:center;padding:4px 6px;background:transparent}table.report-grades th span{display:block;font-weight:400}table.report-grades td{text-align:center;padding:6px}table.report-grades td:first-child,table.report-grades th:first-child{text-align:left}table.report-grades td span+span{margin-left:4px}.report-judgements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.5rem}.report-judgements label{display:flex;flex-direction:column;gap:.25rem}@media (max-width:640px){.report-judgements{grid-template-columns:1fr}}.report-ai-facts{font-size:.82rem;border:1px solid var(--slate-200);border-radius:8px;padding:.4rem .6rem;margin-top:.5rem;background:var(--brand-050)}.report-ai-facts summary{cursor:pointer;font-weight:600;color:var(--ink-soft)}.report-ai-facts ul{margin:.4rem 0 .2rem;padding-left:1.2em}.topic-grid{font-size:.82rem;border:1px solid var(--slate-200);border-radius:8px;padding:.4rem .6rem;margin:.25rem 0 .5rem}.topic-grid summary{cursor:pointer;font-weight:600;color:var(--ink-soft)}.topic-grid table{width:100%;border-collapse:collapse;margin-top:.4rem}.topic-grid th{text-align:left;font-size:.72rem;color:var(--ink-soft);font-weight:600;padding:.2rem .3rem}.topic-grid td{padding:.25rem .3rem;border-top:1px solid var(--slate-200);vertical-align:middle}.topic-grid td:nth-child(2){white-space:nowrap}.topic-grid-area{color:var(--ink-soft);font-size:.75rem}.topic-grid-bar{display:inline-block;width:4.5rem;height:.5rem;background:var(--slate-200);border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:.35rem}.topic-grid-bar>span{display:block;height:100%}.topic-grid-pill{margin-left:.45rem;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.topic-grid-pill.good{background:#dcfce7;color:#166534}.topic-grid-pill.poor{background:#fee2e2;color:#991b1b}@media (max-width:600px){.topic-grid td:nth-child(3),.topic-grid th:nth-child(3){display:none}}.topic-chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.topic-chips select{width:auto;max-width:100%;flex:1 1 14rem}.topic-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--brand-050);border:1px solid var(--slate-200);border-radius:999px;padding:.15rem .3rem .15rem .6rem;font-size:.82rem;max-width:100%}.topic-chip button{background:none;border:none;color:var(--ink-soft);padding:0 .25rem;font-size:1rem;line-height:1;cursor:pointer;min-height:0}.report-overview{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.report-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.report-tiles>div{border:1px solid var(--slate-200);border-radius:8px;padding:.5rem .7rem;display:flex;flex-direction:column}.report-tiles span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:600}.report-tiles strong{font-size:1.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25}.report-tiles small{font-size:.75rem;color:var(--ink-soft)}.report-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}@media (max-width:640px){.report-panels{grid-template-columns:1fr}}.report-panels-single,.report-panels>div{border:1px solid var(--slate-200);border-radius:8px;padding:.5rem .7rem;display:flex;flex-direction:column;gap:.4rem}.report-overview h4{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.report-overview ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.87rem}.report-overview li{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.report-judgement-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.82rem}.report-judgement-row>span:first-child{font-weight:600;min-width:11em}.report-count{border:1px solid var(--slate-200);border-radius:99px;padding:1px 8px;background:var(--slate-50)}.report-count.warn{background:var(--yellow-100);border-color:var(--yellow-200)}form.behaviour-log{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:.75rem;padding:1rem}form.behaviour-log label{flex:0 0 auto}.bl-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:-.35rem}.bl-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.6rem .75rem;gap:.6rem .75rem;align-items:end}.bl-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--ink-soft)}.bl-seg{display:flex;border:1px solid var(--slate-200);border-radius:8px;overflow:hidden}.bl-seg button{flex:1 1;background:#fff;color:var(--ink);border-radius:0;font-weight:500}.bl-seg button+button{border-left:1px solid var(--slate-200)}.bl-seg button:hover{background:var(--slate-50)}.bl-seg button.on-pos,.bl-seg button.on-pos:hover{background:#e3f4e8;color:#1d6b3a;font-weight:700}.bl-seg button.on-neg,.bl-seg button.on-neg:hover{background:#fbe4e4;color:var(--red-800);font-weight:700}.bl-date-hint,.bl-points{margin-left:.5rem;font-size:.8rem}.bl-date-hint{color:var(--ink)}.bl-points.positive{color:#1d6b3a}.bl-points.negative{color:var(--red-700)}.bl-hint{font-size:.85rem;color:var(--ink-soft);margin-bottom:.3rem}.bl-category-note{border-left:4px solid var(--brand-600);background:var(--brand-050,#f2f6fc);border-radius:6px;padding:.6rem .85rem;font-size:1rem;line-height:1.45;color:var(--ink);white-space:pre-wrap}.bl-category-note strong{display:block;font-size:.85rem;color:var(--brand-800);margin-bottom:.15rem}.bl-chips{flex-wrap:wrap;gap:.35rem}.bl-chip,.bl-chips{display:flex;align-items:center}.bl-chip{flex-direction:row;gap:.3rem;flex:0 0 auto;border:1px solid var(--slate-200);border-radius:999px;padding:.2rem .65rem;font-size:.85rem;color:var(--ink);cursor:pointer}.bl-chip.on{background:var(--brand-100);border-color:var(--brand-600)}.bl-chip input,.bl-roster input{width:auto;flex:0 0 auto;margin:0}.bl-small{padding:.2rem .6rem;font-size:.8rem}.bl-roster-bar{display:flex;gap:.4rem;align-items:center;margin-bottom:.35rem;font-size:.85rem;color:var(--ink-soft)}.bl-roster-bar span{margin-right:auto}.bl-roster-bar .bl-find{width:auto;flex:0 1 220px;min-width:0;padding:.25rem .5rem;font-size:.85rem}.bl-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:0 .75rem;gap:0 .75rem;max-height:240px;overflow-y:auto;border:1px solid var(--slate-200);border-radius:8px;padding:.35rem .6rem}.bl-roster label{display:flex;flex-direction:row;align-items:center;gap:.45rem;padding:.3rem 0;font-size:.9rem;color:var(--ink)}.bl-serious{border:1px solid #b45309;background:#fff8eb;border-radius:8px;padding:.5rem .7rem;font-size:.85rem;color:var(--ink)}.bl-serious strong{color:#b45309}.bl-sanction-steps{display:flex;flex-direction:column;gap:.3rem;border:1px solid #1d4ed8;border-left-width:4px;background:#eff4ff;border-radius:8px;padding:.55rem .75rem;margin:.35rem 0 .6rem;font-size:.88rem;color:#1e293b;line-height:1.4}.bl-sanction-steps ol{margin:0;padding-left:1.3rem}.bl-sanction-steps a{font-weight:600;align-self:flex-start}.sanction-reminder-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;background:#1d4ed8;color:#fff;padding:.5rem 1rem;font-size:.9rem}.sanction-reminder-bar a{color:#fff;font-weight:700;text-decoration:underline}.sanction-reminder-bar button{margin-left:auto;padding:.2rem .6rem;font-size:.8rem}form.behaviour-log textarea{width:100%;font:inherit;padding:.5rem .65rem;border:1px solid var(--slate-200);border-radius:8px}.bl-submit{align-self:flex-start;padding:.65rem 1.4rem}.bl-photo-pick{display:flex;flex-direction:row;align-items:center;justify-content:center;border:1px dashed var(--brand-600);border-radius:8px;padding:.6rem .9rem;color:var(--brand-700);font-weight:500;font-size:.95rem;cursor:pointer;align-self:flex-start}.bl-photo-pick input{display:none}.bl-photo-preview{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.bl-photo-preview img{width:160px;max-height:160px;object-fit:cover;border-radius:8px;border:1px solid var(--slate-200)}.bl-row.bl-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bl-involved{display:flex;flex-direction:column;gap:.5rem;color:var(--ink)}.bl-involved label{flex:0 0 auto}.bl-involved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.bl-involved-list li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.bl-involved-list li>span{flex:1 1 10rem;font-weight:600}.bl-involved-list select{width:auto}.bl-involved-matches{max-height:260px;overflow-y:auto;border:1px solid var(--slate-200);border-radius:8px;padding:.25rem .6rem}.bl-involved-matches>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.3rem 0;font-size:.9rem}.bl-involved-matches>div+div{border-top:1px solid var(--slate-100,#eef1f5)}.bl-involved-add{display:flex;gap:.3rem}.bl-involved-event{display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}@media (max-width:640px){form.behaviour-log{padding:.8rem;gap:.6rem}.bl-row{grid-template-columns:1fr}.bl-row.bl-filters{grid-template-columns:1fr 1fr}.bl-submit{align-self:stretch}.bl-roster{grid-template-columns:1fr}}.login-page{position:relative;min-height:calc(100vh - 9rem);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 0 1rem}.login-backdrop{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 15% 20%,hsla(0,0%,100%,.1) 0,transparent 40%),radial-gradient(circle at 85% 80%,rgba(201,162,39,.18) 0,transparent 45%),linear-gradient(160deg,var(--brand-900) 0,var(--brand-800) 45%,var(--brand-700) 100%)}.login-card{width:100%;max-width:420px;box-sizing:border-box;background:#fff;border-radius:20px;border-top:5px solid #c9a227;box-shadow:0 20px 50px rgba(10,25,45,.35);padding:1.75rem 1.5rem 1.5rem;text-align:center}.login-crest-wrap{display:flex;justify-content:center;overflow:hidden;margin:-.25rem 0 .35rem}.login-crest{height:128px;width:auto;max-width:none;display:block;flex-shrink:0}.login-card h1{margin:.25rem 0 .2rem;font-size:1.6rem;color:var(--brand-900)}.login-sub{margin:0 0 1.25rem;color:var(--ink-soft);font-size:.95rem}.login-roles{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;margin-bottom:1.25rem}.login-role{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .5rem;background:var(--brand-050);color:var(--ink);border:2px solid transparent;border-radius:14px;font-weight:600;font-size:.95rem;transition:border-color .15s ease,background .15s ease}.login-role:hover{background:var(--brand-100)}.login-role.is-active{background:#fff;border-color:var(--brand-700);color:var(--brand-800);box-shadow:0 2px 10px rgba(47,111,168,.18)}.login-role-icon{font-size:1.6rem;line-height:1}.login-school{width:100%;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.95rem 1rem;background:#fff;color:var(--ink);border:1px solid #c9ced6;border-radius:12px;font-size:1.05rem;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}@media (max-width:440px){.login-card{padding:1.5rem 1.1rem 1.25rem}.login-school{font-size:.97rem;gap:.55rem;padding:.95rem .6rem}}.login-school:hover{background:var(--brand-050);border-color:var(--brand-600)}.login-hint{margin:.5rem 0 .9rem;font-size:.85rem;color:var(--ink-soft)}.login-link{background:none;border:none;padding:.25rem;color:var(--ink-soft);text-decoration:underline;font-size:.9rem}.login-link:hover{background:none;color:var(--brand-700)}.login-divider{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 .75rem;color:var(--ink-soft);font-size:.85rem}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:#e2e6ec}.login-form{flex-direction:column;align-items:stretch;gap:.85rem;margin:0;padding:0;background:none;border:none;box-shadow:none;text-align:left}.login-form label{flex:none;font-weight:600}.login-form input{padding:.7rem .8rem;border-radius:10px}.login-username{display:flex;align-items:center;gap:.4rem}.login-username input{flex:1 1}.login-username span{color:var(--ink-soft);white-space:nowrap;font-weight:400}.login-primary{padding:.85rem 1rem;border-radius:12px;font-size:1.05rem;font-weight:600}.login-forgot{align-self:center;font-size:.9rem;color:var(--brand-700)}.login-error{margin:1rem 0 0;padding:.7rem .8rem;background:#fdf1f1;border:1px solid #f3c7c7;border-radius:10px;color:#a3232c;font-size:.9rem;text-align:left}.login-motto{margin:1.25rem 0 0;color:hsla(0,0%,100%,.75);font-style:italic;font-size:.9rem;letter-spacing:.3px}.login-note{margin:0 0 1.1rem;padding:.7rem .85rem;background:var(--brand-050);border-radius:10px;font-size:.88rem;color:var(--ink);text-align:left}.login-note a{color:var(--brand-700);font-weight:600}.login-success{padding:1rem 1rem .6rem;background:#eef8f1;border:1px solid #bfe3cb;border-radius:12px;color:#1d5b33;font-size:.92rem}.login-success p{margin:0 0 .5rem}.login-success-icon{font-size:1.8rem;line-height:1;margin-bottom:.4rem}.login-back{display:inline-block;margin-top:1.1rem;font-size:.9rem;color:var(--brand-700)}.hw-week-picker{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;font-weight:600}.hw-week-picker button{padding:.3rem .7rem}.hw-chip{display:inline-block;font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;border:1px solid var(--brand-600);background:var(--brand-100);color:var(--brand-900);cursor:pointer;line-height:1.3;width:auto}.hw-chip.hw-missing,.hw-chip.hw-overdue{background:#fbdede;border-color:#a3232c;color:#7a1a1a}.hw-chip.hw-today{background:#fff1d6;border-color:#d18a00;color:#6b4600}.hw-chip.hw-done{background:#dcf5e3;border-color:#1a7a3d;color:#1a5c30}.hw-chip.hw-graded{background:#ede3f7;border-color:#7a52a8;color:#4b2d73}.hw-chip-selected{outline:2px solid var(--brand-800);outline-offset:1px}button.hw-chip:hover{background:var(--brand-100);filter:brightness(.95)}button.hw-chip.hw-missing:hover,button.hw-chip.hw-overdue:hover{background:#fbdede}button.hw-chip.hw-today:hover{background:#fff1d6}button.hw-chip.hw-done:hover{background:#dcf5e3}button.hw-chip.hw-graded:hover{background:#ede3f7}.hw-card:hover{filter:brightness(.97)}.hw-tick-large{font-size:.9rem;color:var(--ink)}.hw-tick-large input{width:1.2rem;height:1.2rem}.hw-status{display:inline-block;font-size:.72rem;font-weight:700;padding:.1rem .5rem;border-radius:999px;background:var(--brand-100);color:var(--brand-900)}.hw-status.hw-missing,.hw-status.hw-overdue{background:#fbdede;color:#7a1a1a}.hw-status.hw-today{background:#fff1d6;color:#6b4600}.hw-status.hw-done{background:#dcf5e3;color:#1a5c30}.hw-status.hw-graded{background:#ede3f7;color:#4b2d73}.hw-status.hw-excused{background:var(--slate-100);color:var(--ink-soft)}.hw-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin-top:.75rem}.hw-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.hw-grid-7{grid-template-columns:repeat(7,minmax(0,1fr))}.hw-day{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;padding:.5rem;min-height:7rem;display:flex;flex-direction:column;gap:.4rem}.hw-today{border:2px solid var(--brand-700);background:var(--brand-050)}.hw-day-head{font-weight:700;font-size:.85rem;color:var(--brand-900)}.hw-today .hw-day-head:after{content:" · Today";color:var(--brand-700)}.hw-nothing{color:var(--ink-soft);font-size:.8rem}.hw-prep{display:flex;flex-wrap:wrap;gap:.25rem;padding:.35rem;border:1px dashed var(--slate-200);border-radius:8px}.hw-prep-head{width:100%;font-size:.75rem;font-weight:600;color:var(--ink-soft)}.hw-card{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;width:100%;background:#fff;color:var(--ink);border:1px solid var(--slate-200);border-left:4px solid var(--brand-600);border-radius:8px;padding:.45rem .55rem;cursor:pointer;font-size:.8rem}.hw-card.hw-missing,.hw-card.hw-overdue{border-left-color:#a3232c;background:#fdf0f0}.hw-card.hw-today{border-left-color:#d18a00;background:#fff8e8}.hw-card.hw-graded{border-left-color:#7a52a8;background:#f6f0fc}.hw-card.hw-done{border-left-color:#1a7a3d;background:#e8f6ec}.hw-card-compact{flex-direction:row;align-items:center;justify-content:space-between;gap:.4rem;padding:.3rem .5rem}.hw-card-compact .hw-card-subject{color:#1a5c30}.hw-tick{display:inline-flex;flex-direction:row;flex:0 0 auto;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--ink-soft);cursor:pointer;margin-top:.15rem}.hw-tick input{width:1.05rem;height:1.05rem;margin:0;accent-color:#1a7a3d;cursor:pointer}.hw-card-compact .hw-tick{margin-top:0}.hw-card:focus-visible{outline:2px solid var(--brand-800)}.hw-card.hw-excused{border-left-color:var(--slate-200)}.hw-card-selected{outline:2px solid var(--brand-800)}.hw-card-subject{font-size:.72rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.02em}.hw-card-title{font-weight:600;overflow-wrap:anywhere}.hw-card-meta{font-size:.75rem;color:var(--ink-soft)}.hw-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem}.hw-detail{margin-top:.75rem;border:1px solid var(--brand-600);border-radius:10px;background:var(--brand-050);padding:.85rem}.hw-detail-subject{font-size:.75rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase}.hw-facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:.25rem .75rem;gap:.25rem .75rem;margin:.75rem 0 0;font-size:.88rem}.hw-facts dt{font-weight:600;color:var(--ink-soft)}.hw-facts dd{margin:0}@media (max-width:640px){.hw-grid,.hw-grid-6,.hw-grid-7{grid-template-columns:1fr}.hw-day{min-height:0}.hw-today{order:-1}}.tile-order-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-gap:.4rem;gap:.4rem;max-width:36rem}.tile-order-item{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--slate-200);border-radius:10px;padding:.45rem .6rem;cursor:-webkit-grab;cursor:grab}.tile-order-dragging{opacity:.5;border-style:dashed}.tile-order-handle{color:var(--ink-soft);letter-spacing:-.15em}.tile-order-pos{font-weight:700;color:var(--brand-700);min-width:1.4rem}.tile-order-icon{font-size:1.3rem}.tile-order-label{flex:1 1;font-weight:600;display:flex;flex-direction:column}.tile-order-note{font-weight:400;font-size:.78rem;color:var(--ink-soft)}.tile-order-buttons{display:flex;gap:.3rem}.tile-order-buttons button{padding:.25rem .6rem}.hw-attachments{margin-top:.75rem}.hw-attachments-head{font-size:.75rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;margin-bottom:.3rem}.hw-attach-list,.hw-attachments ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:.3rem;gap:.3rem}button.hw-attachment{display:inline-flex;align-items:center;gap:.45rem;width:auto;background:#fff;color:var(--brand-800);border:1px solid var(--slate-200);border-radius:8px;padding:.35rem .6rem;font-size:.9rem;text-align:left}button.hw-attachment:hover{background:var(--brand-050)}.hw-attachment-title{font-weight:600;overflow-wrap:anywhere}.hw-attachment-meta{font-size:.78rem;color:var(--ink-soft);white-space:nowrap}.hw-attach-editor{border:1px dashed var(--slate-200);border-radius:10px;padding:.6rem}.hw-attach-list{margin-bottom:.5rem}.hw-attach-list li{display:flex;align-items:center;gap:.5rem}.hw-attach-list button{padding:.2rem .5rem;font-size:.8rem}.hw-file-button{display:inline-block;cursor:pointer;background:#fff;color:var(--brand-700);border:1px solid var(--brand-700);border-radius:8px;padding:.4rem .7rem;flex:0 0 auto;width:auto}.hw-mark-grade{align-self:center;min-width:2.2rem;font-weight:700;color:#4b2d73}.hw-sheet{font-size:.85rem}.hw-sheet td,.hw-sheet th{white-space:nowrap}.hw-sheet .hw-sheet-name{position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1;min-width:10rem}.hw-sheet thead .hw-sheet-name{background:var(--slate-100)}.hw-sheet-hw{max-width:9rem;white-space:normal!important;vertical-align:bottom}button.hw-sheet-link{background:none;color:var(--brand-800);border:none;padding:0;font:inherit;font-weight:700;text-align:left;text-decoration:underline;cursor:pointer}button.hw-sheet-link:hover{background:none;color:var(--brand-900)}.hw-sheet-due{font-weight:400;font-size:.75rem;color:var(--ink-soft)}.hw-sheet-cell{text-align:center}.hw-sheet-none{color:var(--slate-200)}.hw-sheet-missing{color:#a3232c;font-weight:700}.hw-sheet-excused{color:var(--ink-soft)}.missed-alert-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;background:rgba(180,35,24,.35);animation:missed-alert-flash 1s ease-in-out 0s 6 alternate}.missed-alert-box{background:#fff;border:4px solid #b42318;border-radius:10px;padding:1.25rem;width:100%;max-width:640px;box-shadow:0 10px 40px rgba(0,0,0,.3)}.missed-alert-card{border:1px solid #f3c4c0;background:#fff5f4;border-radius:8px;padding:.75rem;margin-top:.75rem}@keyframes missed-alert-flash{0%{background:rgba(180,35,24,.15)}to{background:rgba(180,35,24,.6)}}@media (prefers-reduced-motion:reduce){.missed-alert-overlay{animation:none}}.stage5-alert-overlay{position:fixed;inset:0;z-index:1001;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;background:rgba(83,56,158,.35);animation:stage5-alert-flash 1s ease-in-out 0s 6 alternate}.stage5-alert-box{background:#fff;border:4px solid #6941c6;border-radius:10px;padding:0 1.25rem 1.25rem;width:100%;max-width:640px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.3)}.stage5-alert-band{margin:0 -1.25rem;padding:.5rem 1.25rem;background:#6941c6;color:#fff;font-weight:800;letter-spacing:.06em}.stage5-alert-card{border:1px solid #d9d6fe;background:#f4f3ff;border-radius:8px;padding:.75rem;margin-top:.75rem}button.stage5-alert-button{background:#6941c6;border-color:#6941c6;color:#fff}button.stage5-alert-button:hover{background:#53389e}@keyframes stage5-alert-flash{0%{background:rgba(83,56,158,.15)}to{background:rgba(83,56,158,.6)}}@media (prefers-reduced-motion:reduce){.stage5-alert-overlay{animation:none}}.detex-alert-overlay{position:fixed;inset:0;z-index:1002;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;background:rgba(234,88,12,.35);animation:detex-alert-flash .8s ease-in-out 0s infinite alternate}.detex-alert-box{background:#fff;border:4px solid #ea580c;border-radius:10px;padding:0 1.25rem 1.25rem;width:100%;max-width:640px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.3)}.detex-alert-band{margin:0 -1.25rem;padding:.5rem 1.25rem;background:#ea580c;color:#fff;font-weight:800;letter-spacing:.06em}.detex-alert-card{border:1px solid #fed7aa;background:#fff7ed;border-radius:8px;padding:.75rem;margin-top:.75rem}button.detex-alert-button{background:#ea580c;border-color:#ea580c;color:#fff}button.detex-alert-button:hover{background:#c2410c}@keyframes detex-alert-flash{0%{background:rgba(234,88,12,.15)}to{background:rgba(234,88,12,.65)}}@media (prefers-reduced-motion:reduce){.detex-alert-overlay{animation:none}}nav button.help-button{background:#fff;color:var(--brand-700);border:1px solid var(--slate-200);padding:.3rem .7rem;font-size:.85rem;font-weight:600}nav button.help-button:hover{background:var(--brand-050)}nav button.help-button span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--brand-700);color:#fff;font-size:.75rem;margin-right:.2rem}.help-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.25);z-index:900}.help-panel{position:fixed;top:0;right:0;bottom:0;width:min(30rem,100vw);background:#fff;color:var(--ink);box-shadow:-6px 0 24px rgba(15,23,42,.18);z-index:901;display:flex;flex-direction:column;font-size:.9rem;line-height:1.5}.help-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--slate-200);font-size:1.05rem}.help-panel button.help-close{background:none;color:var(--ink-soft);font-size:1.5rem;line-height:1;padding:0 .4rem}.help-panel button.help-close:hover{background:var(--slate-100)}.help-panel .help-search{margin:.75rem 1rem .25rem;width:auto}.help-body{flex:1 1;overflow-y:auto;padding:.5rem 1rem 1rem}.help-panel a{color:var(--brand-700)!important;font-size:inherit}.help-panel a:hover{text-decoration:underline}.help-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:1rem 0 .4rem}.help-section{border:1px solid var(--slate-200);border-radius:8px;margin-bottom:.5rem}.help-section>summary{cursor:pointer;padding:.55rem .75rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.help-section>summary::-webkit-details-marker{display:none}.help-section>summary:after{content:"▸";color:var(--ink-soft)}.help-section[open]>summary:after{content:"▾"}.help-section[open]>summary{border-bottom:1px solid var(--slate-200);background:var(--brand-050);border-radius:8px 8px 0 0}.help-parent{display:block;font-size:.72rem;font-weight:500;color:var(--ink-soft)}.help-html{padding:.25rem .75rem .5rem}.help-html ol,.help-html p,.help-html ul{margin:.5rem 0}.help-html ol,.help-html ul{padding-left:1.25rem}.help-html img{max-width:100%;height:auto;border:1px solid var(--slate-200);border-radius:6px}.help-html figure{margin:.6rem 0}.help-html figcaption{font-size:.75rem;color:var(--ink-soft);margin-top:.2rem}.help-html code{background:var(--slate-100);padding:0 .25rem;border-radius:4px;font-size:.85em}.help-html .help-table{overflow-x:auto;margin:.5rem 0}.help-html table{font-size:.8rem;border-collapse:collapse;width:100%}.help-html td,.help-html th{padding:.3rem .4rem;vertical-align:top;text-align:left;white-space:normal;font-size:.8rem}.help-results{list-style:none;padding:0;margin:0}.help-results li{border-bottom:1px solid var(--slate-100)}.help-results a{display:block;padding:.5rem .25rem;font-weight:600}.help-panel button.help-back{background:none;color:var(--brand-700);padding:.25rem 0;margin:.25rem 0 .5rem;font-weight:600}.help-foot,.help-note{color:var(--ink-soft)}.help-foot{margin:0;padding:.5rem 1rem;border-top:1px solid var(--slate-200);font-size:.72rem}@media print{.help-backdrop,.help-button,.help-panel{display:none!important}}.bl-guidance{margin:.4rem 0}.bl-guidance p{margin:.3rem 0}.bl-guidance ul{margin:.15rem 0 .4rem;padding-left:1.2rem}.bl-guidance li{margin:.1rem 0}.bl-serious .bl-guidance-heading{display:block;margin-top:.35rem;color:var(--ink)}.bl-confirm{display:flex;flex-direction:row;align-items:flex-start;gap:.5rem;font-size:.9rem;color:var(--ink)}.bl-confirm input{flex:0 0 auto;width:auto;margin-top:.2rem}.bl-returned{border:1px solid #b45309;background:#fff8eb;border-radius:8px;padding:.4rem .6rem;font-size:.85rem;color:var(--ink)}.bl-returned strong{color:#b45309}.lookup-section{padding:0}.lookup-section>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1.1rem}.lookup-section>summary::-webkit-details-marker{display:none}.lookup-section>summary:after{content:"▸";color:var(--ink-soft);font-size:1.1rem}.lookup-section[open]>summary:after{content:"▾"}.lookup-section>summary h2{margin:0}.lookup-section[open]>summary{border-bottom:1px solid var(--slate-200)}.lookup-section-body{padding:1rem 1.1rem 1.1rem}.appeal-form{display:flex;flex-direction:column;gap:.4rem;min-width:14rem}.appeal-form label{flex:none;flex-direction:row;align-items:center;gap:.5rem}.appeal-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;padding:.4rem .55rem;border:1px solid var(--slate-200);border-radius:8px;resize:vertical}.appeal-form-buttons{display:flex;gap:.4rem}.lf-todo{margin:.5rem 0 .75rem;padding:.6rem .75rem;border-radius:10px;background:var(--brand-050);font-size:.9rem}.lf-todo-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.lf-open-btn{padding:.15rem .5rem}.lf-given,.lf-open-btn{margin-top:.3rem;font-size:.78rem}.lf-given{color:#1f7a3a;font-weight:600}.ws-chip{display:inline-block;margin-top:.3rem;padding:.15rem .5rem;font-size:.78rem;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.ws-locked{background:var(--brand-050);color:var(--ink-soft);border:1px dashed var(--brand-600)}.timetable-grid .ws-chip{white-space:normal}.timetable-grid .hw-chip{max-width:100%;overflow-wrap:anywhere}.ws-lessons{list-style:none;margin:0;padding:0}.ws-lessons>li{padding:.45rem .5rem;border-top:1px solid var(--slate-200)}.ws-lessons>li.ws-this{background:var(--brand-050);border-radius:6px}.ws-lesson-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.ws-this-tag{margin-left:.4rem;font-size:.75rem;font-weight:600;color:var(--brand-800)}.lf-question{font-weight:600;margin:.6rem 0 .4rem}.lf-rag{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem}@media (max-width:560px){.lf-rag{grid-template-columns:1fr}}.lf-rag-btn{display:flex;flex-direction:column;gap:.2rem;text-align:left;border:2px solid transparent;border-radius:10px;padding:.55rem .7rem;color:#1a1a1a;font-size:.82rem;line-height:1.3}.lf-rag-btn strong{font-size:.95rem}.lf-rag-btn.lf-green{background:#d8f0de}.lf-rag-btn.lf-amber{background:#fdebc8}.lf-rag-btn.lf-red{background:#f8d4d2}.lf-rag-btn:hover{filter:brightness(.96)}.lf-rag-btn.lf-chosen{border-color:#1a1a1a;box-shadow:0 0 0 2px rgba(0,0,0,.12)}.lf-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;border-bottom:1px solid rgba(0,0,0,.08)}.lf-row .lf-question{margin:0;font-weight:500}.lf-yesno{display:flex;gap:.3rem;flex-shrink:0}.lf-yesno button{min-width:3.4rem}.lf-bar{display:flex;height:.9rem;border-radius:4px;overflow:hidden;min-width:8rem;background:#eee}.lf-bar span{display:block;height:100%}.lf-bar .g{background:#2e9d4f}.lf-bar .a{background:#e9a23b}.lf-bar .r{background:#d0453f}.lf-pct-good{color:#1f7a3a;font-weight:600}.lf-pct-bad{color:#b0302a;font-weight:600}.lf-pct-mid{color:#8a5a00;font-weight:600}.lf-chip{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.78rem;font-weight:600}.lf-chip.lf-green{background:#d8f0de;color:#1f5f31}.lf-chip.lf-amber{background:#fdebc8;color:#7a4d00}.lf-chip.lf-red{background:#f8d4d2;color:#8a1f1a}.lf-key{columns:22rem 2;font-size:.85rem;margin:0 0 .75rem;padding-left:1.6rem}.lf-key li{page-break-inside:avoid;break-inside:avoid;margin-bottom:.15rem}.perm-branch{padding:0}.perm-branch-head,.perm-branch-toggle{display:flex;align-items:center}.perm-branch-toggle{flex:1 1;gap:.6rem;text-align:left;background:none;color:var(--ink);border:none;border-radius:0;box-shadow:none;padding:.75rem 1.1rem;font:inherit;cursor:pointer}.perm-branch-toggle:hover{background:var(--slate-100)}.perm-branch-arrow{color:var(--ink-soft);width:1rem;flex:none}.perm-branch-title{font-weight:700;font-size:1.05rem;flex:1 1}.perm-branch-summary{font-size:.85rem;white-space:nowrap}.perm-branch-body{padding:.25rem 1.1rem 1rem;border-top:1px solid var(--slate-200)}.reward-points{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--yellow-100);border:1px solid var(--yellow-200);border-radius:10px}.reward-points>div{text-align:center;min-width:7rem}.reward-points p{flex:1 1 16rem;margin:0}.reward-points-number{font-size:2.2rem;font-weight:700;line-height:1.1;color:var(--ink)}.reward-status{padding:.5rem .75rem;background:var(--brand-050);border-radius:8px}.reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.75rem;gap:.75rem}.reward-card{display:flex;flex-direction:column;padding:.75rem .9rem;border:1px solid var(--slate-200);border-radius:10px;background:#fff}.reward-card-off{background:var(--slate-50)}.reward-card-head{display:flex;gap:.6rem;align-items:center}.reward-icon{font-size:1.8rem;line-height:1}.reward-cost{font-size:.9rem;font-weight:600;color:var(--red-800)}.reward-problem{margin:.5rem 0 0;font-size:.85rem;color:var(--ink-soft);font-style:italic}.reward-buy{margin-top:.5rem}.reward-buy label{flex:none}.reward-card>button{align-self:flex-start}.lf-table-wrap{margin-top:.5rem}@media (max-width:760px){.lf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}table.lf-table{table-layout:fixed;min-width:640px;border-collapse:separate;border-spacing:0}.lf-table .lf-col-name{width:11rem}.lf-table .lf-col-n{width:2.6rem}.lf-table .lf-col-bar{width:6.5rem}.lf-table td,.lf-table th{padding:.35rem .3rem;font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.lf-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;text-align:center;font-size:.7rem;padding:.45rem .2rem;white-space:normal;vertical-align:bottom}.lf-table th:first-child{text-align:left}.lf-table td:nth-child(n+4){text-align:center}.lf-table .lf-bar{min-width:0;height:.7rem}.lf-table .lf-bar+div{font-size:.7rem;white-space:nowrap}.lf-row-dept,.lf-row-teacher{cursor:pointer}tbody tr.lf-row-dept td{background:#e3eef8;border-top:2px solid var(--slate-200)}.lf-row-dept:hover td,.lf-row-teacher:hover td{filter:brightness(.97)}tbody tr.lf-row-teacher td{background:#f1f5f9}.lf-row-teacher td:first-child{padding-left:1rem}tbody tr.lf-row-class td{background:#fff}.lf-row-class td:first-child{padding-left:2rem}.lf-caret{display:inline-block;width:.9em;color:var(--ink-soft)}.wellbeing-overlay{position:fixed;inset:0;z-index:990;display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;overflow-y:auto;background:rgba(47,111,168,.35)}.wellbeing-box{background:#fff;border:3px solid #2f6fa8;border-radius:10px;padding:1.25rem;width:100%;max-width:640px;box-shadow:0 10px 40px rgba(0,0,0,.25)}.wellbeing-question{padding:.6rem 0;border-top:1px solid #e7eaee}.wellbeing-scale{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}.wellbeing-scale button{min-width:2.75rem;padding:.45rem .6rem;background:#f1f5f9;color:#1f2937;border:1px solid #cbd5e1}.wellbeing-scale button.chosen{background:#2f6fa8;color:#fff;border-color:#2f6fa8}.wellbeing-scale-labels{display:flex;justify-content:space-between;max-width:16rem;font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}.cs-page{max-width:1280px;margin:0 auto}.cs-instruction{font-size:1.05rem;white-space:pre-line;margin-top:.2rem}.cs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.75rem 0}.cs-support{background:var(--yellow-100);border-radius:8px;padding:.5rem .75rem;white-space:pre-line;font-size:.9rem}.cs-board{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:900px){.cs-board{grid-template-columns:1fr}}.cs-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.6rem;gap:.6rem}.cs-zones.cs-headers{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cs-pool,.cs-zone{background:#fff;border:2px dashed var(--slate-200);border-radius:10px;padding:.5rem;min-height:110px}.cs-pool{position:-webkit-sticky;position:sticky;top:.5rem;max-height:calc(100vh - 1rem);overflow:auto}.cs-target{border-color:var(--brand-600);background:var(--brand-050);cursor:pointer}.cs-zone-label{font-weight:700;color:var(--brand-800);margin-bottom:.35rem}.cs-zone-cards{display:flex;flex-wrap:wrap;gap:.4rem}.cs-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--slate-200);border-radius:8px;padding:.4rem .5rem;max-width:200px;min-width:90px;cursor:-webkit-grab;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.06);font-size:.92rem;font-weight:400}.cs-card:hover{border-color:var(--brand-600);background:#fff}.cs-card.cs-selected{outline:3px solid var(--brand-600);outline-offset:1px}.cs-card.cs-locked{cursor:default;background:var(--slate-50)}.cs-letter{font-size:.72rem;font-weight:700;color:var(--ink-soft)}.cs-body{white-space:pre-line;line-height:1.3}.cs-img{max-width:190px;height:auto}.cs-help-tag{font-size:.7rem;color:#b45309}.cs-result{text-align:center;padding:1.5rem}.cs-result-score{font-size:2rem;font-weight:700;color:var(--brand-800)}.cs-extra ul{margin:0;padding-left:1.2rem}.hw-sheet .cw-col{background:var(--brand-050)}.hw-sheet .cw-first{border-left:3px solid var(--brand-600)}.cw-group{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-800)}.cw-outof{font-size:.75rem}.cw-input{width:3.5rem;padding:.15rem .3rem;font-size:.85rem}.cw-reset{margin-left:.3rem;padding:0 .3rem;font-size:.75rem;background:none;color:var(--ink-soft);border:none;cursor:pointer}.mb-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .75rem}.mb-links-label{font-size:.8rem;font-weight:700;color:var(--ink-soft);margin-right:.25rem}.mb-link{display:inline-block;padding:.2rem .55rem;font-size:.82rem;font-weight:600;border:1px solid var(--brand-600);border-radius:6px;background:var(--brand-050);color:var(--brand-800);text-decoration:none;white-space:nowrap}.mb-link:hover{background:var(--brand-100)}.sp{display:block}.sp>*+*{margin-top:.6rem}.sp-modes{display:flex;gap:.4rem;flex-wrap:wrap}.sp-modes button{padding:.35rem .6rem;font-size:.9rem}.sp,.sp-scroll{min-width:0;max-width:100%}.sp-hint{margin-bottom:0;font-size:.85rem;color:var(--ink-soft)}.sp-room{position:relative;width:100%;aspect-ratio:4/3;background:repeating-linear-gradient(0deg,var(--slate-50),var(--slate-50) 39px,var(--slate-100) 40px);border:2px solid var(--slate-200);border-radius:10px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sp-board{top:0;left:20%;right:20%;height:7%;align-items:center;justify-content:center;background:var(--brand-800);color:#fff;font-size:.75rem;font-weight:600;border-radius:0 0 8px 8px;letter-spacing:.02em}.sp-board,.sp-table{position:absolute;display:flex}.sp-table{transform:translate(-50%,-50%);width:26%;height:13%;gap:3px;padding:3px;background:#c8a27a;border:2px solid #8a6a48;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.15)}.sp-table.sp-turned{flex-direction:column;width:14%;height:22%}.sp-moving .sp-table{cursor:-webkit-grab;cursor:grab;touch-action:none;outline:2px dashed var(--brand-600);outline-offset:2px}.sp-moving .sp-table:active{cursor:-webkit-grabbing;cursor:grabbing}.sp-moving .sp-seat{pointer-events:none}.sp-table-tools{position:absolute;top:-.9rem;right:-.4rem;display:flex;gap:2px;z-index:2}.sp-table-tools button{width:1.5rem;height:1.5rem;padding:0;border-radius:50%;font-size:.85rem;line-height:1;background:#fff;color:var(--ink);border:1px solid var(--slate-200)}.sp-chip,.sp-seat{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;margin:0;background:#fff;color:var(--ink);border:2px solid var(--slate-200);border-radius:5px;font-size:clamp(.6rem,1.5vw,.85rem);line-height:1.15;cursor:pointer;overflow:hidden}.sp-seat.sp-empty{background:hsla(0,0%,100%,.45);border-style:dashed}.sp-empty-label{font-size:.7rem;color:var(--ink-soft)}.sp-name{overflow:hidden;text-overflow:ellipsis;max-width:100%}.sp-code,.sp-name{white-space:nowrap;font-weight:600}.sp-code{font-size:.85em;color:var(--ink-soft)}.sp-selected{outline:3px solid var(--brand-700);outline-offset:1px}.sp-side{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.sp-unseated{display:flex;flex-wrap:wrap;gap:.35rem}.sp-chip{flex:0 0 auto;padding:.3rem .55rem;font-size:.85rem}.sp-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.sp-warn{color:#b45309;font-size:.85rem;font-weight:600}.sp-status{font-size:.85rem;color:var(--ink-soft)}.sp-chip:hover,.sp-seat:hover,.sp-table-tools button:hover{background:var(--brand-050)}.sp-seat.sp-empty:hover{background:hsla(0,0%,100%,.8)}.reg-panel{padding:0}.reg-panel>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.75rem 1.1rem}.reg-panel>summary::-webkit-details-marker{display:none}.reg-panel>summary:after{content:"▸";margin-left:auto;color:var(--ink-soft)}.reg-panel[open]>summary:after{content:"▾"}.reg-panel[open]>summary{border-bottom:1px solid var(--slate-200)}.reg-panel-title{font-weight:700;font-size:1.1rem}.reg-panel-summary{color:var(--ink-soft);font-size:.9rem}.reg-panel-body{padding:.9rem 1.1rem 1.1rem}.tt-register-link{display:block;color:inherit;text-decoration:none}.tt-register-link:hover{text-decoration:none;background:var(--brand-050)}.sp-name{text-overflow:clip}@media (max-width:640px){.sp-room{aspect-ratio:1/1}.sp-table{width:40%;height:11.5%}.sp-table.sp-turned{width:20%;height:18%}.sp-seat{font-size:.62rem;padding:1px;letter-spacing:-.01em}.sp-board{height:5%;font-size:.7rem}nav{gap:.6rem;padding:.5rem .9rem}nav .nav-long,nav .nav-who{display:none}nav .nav-signout{padding:.35rem .6rem;font-size:.9rem}nav .help-word{display:none}nav button.help-button{padding:.3rem .45rem}}.reg-pick-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr);grid-gap:.5rem;gap:.5rem}.reg-pick-grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--ink-soft);min-width:0}.reg-pick-grid input,.reg-pick-grid select{width:100%;min-width:0;padding:.4rem .45rem;font-size:.95rem}@media (min-width:900px){.reg-pick-grid{grid-template-columns:12rem 9rem 12rem}}.reg-date-note{font-weight:600;font-size:.85rem;margin:.4rem 0 0}.reg-date-note button{padding:.2rem .6rem;font-size:.9rem}.reg-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}.reg-actions>a,.reg-actions>button{width:-moz-fit-content;width:fit-content;padding:.35rem .7rem;font-size:.9rem;line-height:1.3;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center}@media (max-width:640px){.reg-h1{font-size:1.3rem;margin:.25rem 0 .6rem}.reg-panel,.reg-pick{margin-bottom:.6rem}.reg-form,.reg-pick{padding:.75rem}.reg-form .table-scroll{margin-top:.4rem}.reg-panel>summary{padding:.55rem .8rem}.reg-panel-title{font-size:1rem}.reg-panel-summary{font-size:.8rem}}form.reg-form{display:block}.reg-form>*{min-width:0;max-width:100%}.sp,.sp-scroll{flex-shrink:0}.sn-list-btn{margin-left:.5rem;padding:.05rem .4rem;font-size:.72rem;font-weight:400;vertical-align:middle}.sn-print{display:none}@media print{.sn-print{display:block;font-family:sans-serif;color:#000}.sn-print-list+.sn-print-list{break-before:page;page-break-before:always}.sn-print h2{font-size:1.1rem;margin:0 0 .15rem}.sn-print p{font-size:.8rem;margin:0 0 .5rem;color:#333}.sn-print table{border-collapse:collapse;width:100%;font-size:.8rem}.sn-print td,.sn-print th{border:1px solid #999;padding:.2rem .4rem;text-align:left}.sn-print thead{display:table-header-group}.sn-print tr{break-inside:avoid;page-break-inside:avoid}}.idle-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding:15vh 16px;background:rgba(15,23,42,.45)}.idle-box{background:#fff;border-radius:10px;padding:1.25rem;width:100%;max-width:440px;box-shadow:0 10px 40px rgba(0,0,0,.3)}.cp-summary{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}.cp-summary-card{flex:1 1 14rem;margin:0;font-size:.9rem;line-height:1.5}.cp-layout{display:grid;grid-template-columns:minmax(15rem,21rem) minmax(0,1fr);grid-gap:.8rem;gap:.8rem;align-items:start}.cp-panel{position:-webkit-sticky;position:sticky;top:.5rem;max-height:calc(100vh - 1rem);overflow-y:auto;margin:0}.cp-group{margin-top:.4rem}.cp-group summary{cursor:pointer;font-size:.9rem;padding:.2rem 0}.cp-topic{display:flex;justify-content:space-between;gap:.4rem;align-items:flex-start;border-left:5px solid var(--slate-200);background:#fff;border-radius:4px;padding:.3rem .4rem;margin:.25rem 0;font-size:.82rem;line-height:1.3;box-shadow:0 0 0 1px var(--slate-200)}.cp-topic.cp-editable{cursor:-webkit-grab;cursor:grab}.cp-count{flex:none;font-size:.72rem;color:var(--ink-soft);white-space:nowrap}.cp-count.cp-none{color:var(--red-800)}.cp-picked{outline:3px solid var(--brand-700);outline-offset:1px}.cp-picked-note{background:var(--brand-100);padding:.4rem .5rem;border-radius:6px;font-size:.85rem}.cp-grid-area{min-width:0}.cp-year{margin-top:0}.cp-year>summary{cursor:pointer}.cp-weeks{grid-gap:3px;overflow-x:auto}.cp-week,.cp-weeks{display:grid;gap:3px}.cp-week{grid-template-columns:4.2rem repeat(var(--cp-cols),minmax(6.5rem,1fr));grid-gap:3px}.cp-week-label{font-size:.78rem;font-weight:600;display:flex;flex-direction:column;justify-content:center}.cp-week-label span{font-weight:400;color:var(--ink-soft);font-size:.72rem}.cp-cell{position:relative;min-height:3.1rem;border:1px dashed var(--slate-200);border-radius:4px;padding:.2rem 1.1rem .2rem .3rem;font-size:.74rem;line-height:1.25;background:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.cp-cell.cp-editable{cursor:pointer}.cp-cell.cp-filled{border-style:solid;border-color:rgba(0,0,0,.12)}.cp-cell.cp-filled.cp-editable{cursor:-webkit-grab;cursor:grab}.cp-cell.cp-over{outline:2px solid var(--brand-600);background:var(--brand-050)}.cp-cell-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cp-cell.cp-filled.cp-editable .cp-chip{cursor:-webkit-grab;cursor:grab}.cp-cell.cp-multi{justify-content:flex-start;gap:2px;padding:.2rem}.cp-multi .cp-chip{position:relative;border-radius:3px;padding:.05rem 1rem .05rem .25rem}.cp-multi .cp-cell-text{-webkit-line-clamp:1}.cp-chip-code{font-weight:600;margin-right:.3rem}.cp-multi-label{font-size:.66rem;font-weight:600;color:var(--ink-soft)}.cp-chip.cp-picked{outline-width:2px}.cp-review{margin-top:.15rem;padding:0 .3rem;font-size:.66rem;line-height:1.4;min-height:0;background:#fff;color:var(--brand-700);border:1px solid var(--brand-600);border-radius:3px;align-self:flex-start}.cp-cell-code{font-size:.68rem;color:var(--ink-soft)}.cp-empty{color:var(--slate-200);text-align:center;font-size:1rem}.cp-x{position:absolute;top:1px;right:1px;padding:0 .3rem;font-size:.8rem;line-height:1.2;background:transparent;color:var(--ink-soft);border:none;min-height:0}.cp-x:hover{color:var(--red-800)}.cp-exam{grid-column:2/-1;background:var(--slate-100);color:var(--ink-soft);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.8rem;min-height:2rem}.cp-orphans{display:flex;flex-wrap:wrap;gap:4px;margin-top:.4rem}.cp-orphans .cp-cell{width:11rem}@media (max-width:800px){.cp-layout{grid-template-columns:1fr}.cp-panel{position:static;max-height:22rem}}.lq-board,.lq-pad{max-width:1200px;margin:0 auto}.lq-pad{max-width:900px}.lq-top{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;font-size:1.1rem;margin-bottom:1rem}.lq-small{padding:.25rem .6rem;font-size:.85rem;width:auto}.lq-warn{color:#a3232c;font-weight:600}.lq-centre{text-align:center;padding:1.5rem 0}.lq-centre h1{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 .5rem}.lq-instruction{font-size:1.4rem}.lq-joined-count{font-size:1.2rem;font-weight:700}.lq-names{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0 1.5rem}.lq-name-chip{background:#ede9fe;color:#4c1d95;border-radius:999px;padding:.35rem .9rem;font-weight:600;font-size:1.1rem}button.lq-go{font-size:1.3rem;padding:.7rem 2rem;width:auto;background:#7c3aed;border-color:#7c3aed;color:#fff}.lq-question{display:grid;grid-gap:1rem;gap:1rem}.lq-prompt{font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:700;text-align:center;white-space:pre-line}.lq-diagram{display:flex;justify-content:center}.lq-status{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem}.lq-timer{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:#7c3aed;color:#fff;font-size:2rem;font-weight:800}.lq-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.lq-option{display:flex;align-items:center;gap:.7rem;color:#fff;border-radius:10px;padding:1rem 1.2rem;font-size:clamp(1.1rem,2.2vw,1.7rem);font-weight:700;position:relative;min-height:5rem;text-align:left}button.lq-option-button{width:100%;border:none;cursor:pointer;min-height:7rem}button.lq-option-button:hover{filter:brightness(1.1)}.lq-shape{font-size:1.4em}.lq-letter{opacity:.85}.lq-option-text{flex:1 1}.lq-count{position:relative;min-width:5rem;height:1.8rem;background:hsla(0,0%,100%,.25);border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:.4rem;overflow:hidden}.lq-bar{position:absolute;left:0;top:0;bottom:0;background:hsla(0,0%,100%,.55)}.lq-typed{text-align:center;font-size:1.6rem;padding:1rem}.lq-reveal{text-align:center;font-size:1.2rem}.lq-leaders{max-width:520px;margin:1rem auto;text-align:left}.lq-leaders h2{text-align:center;margin:0 0 .5rem}.lq-leaders ol{list-style:none;margin:0;padding:0}.lq-leaders li{display:flex;gap:1rem;align-items:center;padding:.5rem .8rem;margin:.3rem 0;background:var(--slate-100,#f1f5f9);border-radius:8px;font-size:1.3rem}.lq-place{width:3rem;font-weight:700;color:#7c3aed}.lq-name{flex:1 1;font-weight:600}.lq-score{font-weight:800}.lq-podium{display:flex;align-items:flex-end;justify-content:center;gap:.8rem;margin:1.5rem 0}.lq-step{display:flex;flex-direction:column;align-items:center;width:11rem}.lq-step-name{font-size:1.4rem;font-weight:700}.lq-step-score{margin-bottom:.3rem}.lq-step-block{width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;color:#fff;font-size:1.6rem;font-weight:800;border-radius:8px 8px 0 0}.lq-step-1 .lq-step-block{height:10rem;background:#d89e00}.lq-step-2 .lq-step-block{height:7rem;background:#64748b}.lq-step-3 .lq-step-block{height:5rem;background:#b45309}.lq-controls{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--slate-200,#e2e8f0)}.lq-controls button{width:auto}.lq-pad-prompt{font-size:1.5rem;font-weight:700;white-space:pre-line;margin-bottom:.5rem}.lq-pad-timer{font-size:1.2rem;font-weight:700;color:#7c3aed;margin:.3rem 0 .8rem}.lq-typed-form{display:flex;gap:.6rem}.lq-typed-form input{flex:1 1;font-size:1.4rem;padding:.6rem}.lq-typed-form button{width:auto;font-size:1.2rem}.lq-result h1{font-size:2.6rem}.lq-right h1{color:#15803d}.lq-wrong h1{color:#a3232c}.lq-points{font-size:2rem;font-weight:800;color:#15803d;margin:0}.lq-final{font-size:1.5rem}@media (max-width:600px){.lq-options{grid-template-columns:1fr}.lq-step{width:6.5rem}}.lq-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;margin:-.4rem 0 .8rem;font-size:.9rem}.lq-legend .lq-go{margin-left:auto}.lq-swatch{display:inline-block;width:1rem;height:1rem;border-radius:3px;border-left:4px solid;margin-right:.35rem;vertical-align:-.15rem}.lq-band{border-radius:999px;padding:.2rem .7rem;font-weight:700;font-size:.95rem}.lq-review{display:grid;grid-gap:.8rem;gap:.8rem;margin-bottom:1.5rem}.lq-mine{background:rgba(0,0,0,.35);border-radius:999px;padding:.1rem .6rem;font-size:.75em}.sc-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.6rem 1rem;gap:.6rem 1rem;margin-bottom:.6rem}.sc-pptx{border-left:4px solid #0f766e;background:var(--surface-soft,rgba(15,118,110,.06));padding:.6rem .8rem;border-radius:6px;margin-bottom:.6rem}.sc-decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.8rem;gap:.8rem}.sc-deck{display:flex;flex-direction:column;gap:.5rem;margin:0}.sc-thumb{aspect-ratio:16/9;background:var(--slate-100,#f1f5f9);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}.sc-thumb img{width:100%;height:100%;object-fit:contain}.sc-show-row{display:flex;gap:.4rem;align-items:center}.sc-show-row select{flex:1 1;min-width:0}.sc-board,.sc-view{max-width:1200px;margin:0 auto}.sc-names{margin:-.4rem 0 .8rem}.sc-stage{position:relative;background:#111827;border-radius:8px;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;overflow:hidden;cursor:pointer}.sc-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block}.sc-stage:-webkit-full-screen{border-radius:0;aspect-ratio:auto;width:100vw;height:100vh}.sc-stage:fullscreen{border-radius:0;aspect-ratio:auto;width:100vw;height:100vh}.sc-stage-student{cursor:default}.sc-stage>span{color:#cbd5e1}.sc-blank{font-size:clamp(1.6rem,4vw,3rem);display:flex;gap:.6rem;align-items:center}.sc-blank,.sc-blank-tag{color:#fff;font-weight:700}.sc-blank-tag{position:absolute;top:.6rem;left:.6rem;background:#b91c1c;padding:.25rem .7rem;border-radius:999px;font-size:.9rem}.sc-strip{display:flex;gap:.4rem;overflow-x:auto;padding:.4rem 0 .8rem}button.sc-strip-item{flex:0 0 auto;width:120px;padding:0;border:2px solid transparent;background:var(--slate-100,#f1f5f9);border-radius:6px;position:relative;aspect-ratio:16/9;overflow:hidden;cursor:pointer}button.sc-strip-item img{width:100%;height:100%;object-fit:contain}button.sc-strip-item span{position:absolute;bottom:2px;right:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;padding:0 .3rem;border-radius:4px}button.sc-strip-item.sc-strip-on{border-color:#0f766e}.sc-banner{margin-bottom:1rem}.lp-cols{display:grid;grid-template-columns:minmax(0,1fr) 15rem;grid-gap:1rem;gap:1rem;align-items:start}.lp-cols.lp-one{grid-template-columns:minmax(0,1fr)}.lp-side{position:-webkit-sticky;position:sticky;top:.5rem;max-height:calc(100vh - 1rem);overflow:auto}@media (max-width:900px){.lp-cols{grid-template-columns:minmax(0,1fr)}.lp-side{position:static;max-height:none}}.lp-grid{width:100%;border-collapse:collapse}.lp-grid td,.lp-grid th{vertical-align:top;padding:.35rem;border-bottom:1px solid var(--line,#e5e5e5);text-align:left}.lp-grid tr.lp-kind-starter td:first-child{border-left:4px solid #0ea5e9}.lp-grid tr.lp-kind-teach td:first-child{border-left:4px solid #6366f1}.lp-grid tr.lp-kind-practise td:first-child{border-left:4px solid #16a34a}.lp-grid tr.lp-kind-assess td:first-child{border-left:4px solid #d97706}.lp-grid tr.lp-kind-plenary td:first-child{border-left:4px solid #db2777}.lp-grid tr.lp-kind-other td:first-child{border-left:4px solid #9ca3af}.tt-menu{position:fixed;z-index:60;min-width:12rem;background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:.3rem}.tt-menu a{display:block;padding:.45rem .7rem;border-radius:6px;color:inherit;text-decoration:none}.tt-menu a:focus,.tt-menu a:hover{background:var(--brand-050,#eef4ff);outline:none}.tt-menu .tt-menu-head{padding:.3rem .7rem;font-size:.8rem;color:var(--ink-soft);border-bottom:1px solid var(--line,#eee);margin-bottom:.2rem}.lp-text{width:100%;font:inherit;font-size:.95rem;box-sizing:border-box}.lp-text.lp-notes{margin-top:.25rem;font-size:.88rem}.lp-row-buttons{white-space:nowrap}.lp-row-buttons button{margin:0 .1rem .2rem 0}.lp-warn{background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:6px;padding:.45rem .6rem}.training-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:760px){.training-layout{grid-template-columns:1fr}}.training-nav{position:-webkit-sticky;position:sticky;top:.75rem;padding:.75rem}.training-nav ol{list-style:none;padding:0;margin:0 0 .4rem}.training-nav-item{display:block;width:100%;text-align:left;background:none;color:inherit;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.92rem;cursor:pointer}.training-nav-item:hover{background:var(--brand-100);color:inherit}.training-nav-item.active{background:var(--brand-100);font-weight:700}.training-main article{max-width:760px}.training-text{font-size:1.02rem;line-height:1.65}.training-text h3{margin:1.2rem 0 .3rem;font-size:1.08rem;color:var(--brand-700)}.training-text li{margin-bottom:.3rem}.training-key{background:var(--brand-100);border-left:4px solid var(--brand-700);padding:.6rem .9rem;margin:.8rem 0;border-radius:4px}.training-team{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:.4rem .9rem}.training-intro{background:#f8fafc;border-radius:6px;padding:.6rem .8rem;margin-bottom:.8rem}.training-q{border:1px solid #e2e8f0;margin-bottom:.8rem}.training-q legend{font-weight:700;padding:0 .3rem}.training-scenario{background:#f8fafc;border-left:3px solid #94a3b8;padding:.5rem .75rem;font-style:italic;margin:.3rem 0 .6rem}.training-option{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem .6rem;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:.4rem;cursor:pointer}.training-option input{margin-top:.3rem;width:auto}.training-option.chosen{border-color:var(--brand-700);background:var(--brand-100)}.training-figure{margin:1rem 0}.training-figure img{display:block;max-width:100%;height:auto;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 3px rgba(15,23,42,.08)}.training-figure figcaption{font-size:.88rem;color:#64748b;margin-top:.35rem}.hb-preview{zoom:.6;display:flex;flex-direction:column;align-items:center;gap:8mm}.hb-page{width:210mm;min-height:297mm;padding:8mm;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15);display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:31.5mm;align-content:start}.hb-card,.hb-page{box-sizing:border-box}.hb-card{border:.25mm dashed #aaa;margin:-.125mm;padding:2mm;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;color:#1f2937;overflow:hidden}.hb-level{width:100%;padding:.6mm 0;background:var(--hb-colour);color:#fff;font-size:8pt;text-transform:uppercase;letter-spacing:.15em;border-radius:.8mm}.hb-level,.hb-name{margin:0;font-weight:700}.hb-name{font-family:Georgia,Times New Roman,serif;line-height:1.15;color:#111;overflow-wrap:anywhere}.hb-year{margin:0;font-size:8.5pt;color:#555;letter-spacing:.08em;border-top:.3mm solid var(--hb-colour);padding-top:.6mm;width:60%}@media print{.hb-preview{zoom:1;display:block}.hb-page{width:100%;min-height:0;padding:0;box-shadow:none}.hb-card,.hb-page{break-inside:avoid;page-break-inside:avoid}.hb-page:not(:last-child){break-after:page;page-break-after:always}.hb-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.lp-week{display:none}.lp-week-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.lp-week-day{min-width:0}.lp-week-head{font-weight:600;padding:.25rem .4rem;border-bottom:2px solid var(--slate-200);margin-bottom:.4rem}.lp-week-today .lp-week-head{border-bottom-color:var(--brand-700)}.lp-week-lesson{border:1px solid var(--slate-200);border-radius:6px;padding:.4rem .5rem;margin-bottom:.4rem;font-size:.85rem;overflow-wrap:anywhere}.lp-week-unplanned{border-style:dashed}.lp-week-grid a.lp-week-lesson{display:block;color:inherit;text-decoration:none}.lp-week-grid a.lp-week-lesson:focus-visible,.lp-week-grid a.lp-week-lesson:hover{box-shadow:0 2px 8px rgba(15,23,42,.18)}.lp-week-link{color:var(--brand-700)}.lp-week-grid a.lp-week-lesson:hover .lp-week-link{text-decoration:underline}.lp-week-steps{margin:.25rem 0 0;padding-left:1.1rem}.lp-week-steps li{margin-bottom:.1rem}.lp-week-lesson-head{margin:-.4rem -.5rem .3rem;padding:.3rem .5rem;border-radius:2px 2px 0 0}.lp-week-tag{display:inline-block;font-size:.72rem;font-weight:600;line-height:1.3;padding:0 .35rem;border:1px solid;border-radius:999px;white-space:nowrap}.lp-week-legend{margin:0 0 .6rem}.lp-week-legend .lp-week-tag{margin:0 .3rem .3rem 0}.lp-week-hw{margin-top:.35rem;padding:.2rem .4rem;border-left:4px solid;border-radius:4px}@media (min-width:720px){.lp-week{display:block}.lp-week-grid{display:grid}.lp-week-phone{display:none}}.tt-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0}.tt-legend-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600}.tt-legend-dot{width:9px;height:9px;border-radius:50%;flex:none}.tt-lesson{display:block;width:100%;text-align:left;font:inherit;font-size:.78rem;font-weight:400;padding:.35rem .45rem;border-radius:6px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;line-height:1.35}.tt-lesson:hover{filter:brightness(.97);background:inherit}.tt-lesson+.tt-lesson{margin-top:.3rem}.tt-lesson-top{display:flex;align-items:center;gap:.3rem}.tt-lesson-top strong{flex:1 1 auto;min-width:0}.tt-tick{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700}.tt-tick,.tt-untick{border-radius:50%;flex:none}.tt-untick{width:16px;height:16px;border:2px solid;opacity:.35}.tt-badge{display:inline-block;margin-top:.2rem;font-size:.7rem;font-weight:700;padding:.05rem .45rem;border-radius:999px}.tt-badge-late{background:#b45309;color:#fff}.tt-lesson-selected{box-shadow:0 0 0 3px var(--tt-dot,var(--brand-700))}.ttp-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:60}.ttp{position:fixed;z-index:61;background:#fff;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem;padding:1rem;box-sizing:border-box;left:0;right:0;bottom:0;max-height:82vh;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(15,23,42,.2)}@media (min-width:900px){.ttp-backdrop{background:transparent}.ttp{left:auto;top:0;bottom:0;width:420px;max-height:none;border-radius:0;box-shadow:-8px 0 30px rgba(15,23,42,.15)}}.tt-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,22%);grid-gap:1rem;gap:1rem;align-items:start}.tt-split-main{min-width:0}.ttp.ttp-docked{position:-webkit-sticky;position:sticky;top:.5rem;z-index:1;left:auto;right:auto;bottom:auto;width:auto;max-height:calc(100vh - 1rem);border-radius:14px;border:1px solid var(--slate-200);box-shadow:0 1px 3px rgba(15,23,42,.06)}.ttp-docked-empty{color:var(--ink-soft);font-size:.92rem;text-align:center;padding:2rem 1rem}.ttp-head{display:flex;align-items:flex-start;gap:.6rem}.ttp-dot{width:13px;height:13px;border-radius:50%;margin-top:.45rem;flex:none}.ttp-title{font-size:1.3rem;font-weight:700}.ttp-soft{color:var(--ink-soft);font-size:.88rem}.ttp-close{min-width:44px;min-height:44px;padding:0}.ttp-note{background:var(--slate-100);border-radius:10px;padding:.65rem .8rem;font-size:.9rem}.ttp-primary{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;background:var(--brand-700);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none}.ttp-primary:hover{background:var(--brand-900);color:#fff}.ttp-late{background:#b45309}.ttp-late:hover{background:#8a4006}.ttp-done{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border-radius:10px;background:#eaf5ee;color:#17552f;text-decoration:none;font-size:.92rem}.ttp-tick{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem}.ttp section{display:flex;flex-direction:column;gap:.45rem}.ttp-section-head{display:flex;align-items:baseline;gap:.5rem}.ttp-section-head h2{margin:0;font-size:1.02rem;flex:1 1 auto}.ttp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ttp-steps li{display:grid;grid-template-columns:3.4rem 1fr;grid-gap:.5rem;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--slate-200);border-radius:8px;font-size:.9rem}.ttp-acts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.ttp-chip{display:inline-block;padding:.05rem .45rem;border-radius:6px;background:var(--slate-100);font-size:.78rem;font-weight:600}.ttp-empty{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:1.5px dashed #9aa6b8;font-weight:600;text-decoration:none}.ttp-links{display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--slate-200);padding-top:.8rem}.ttp-objective{background:var(--brand-050);border-radius:10px;padding:.6rem .8rem;font-size:.92rem;font-weight:600;display:flex;flex-direction:column;gap:.2rem}.ttp-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.ttp-box{border:1px solid var(--slate-200);border-radius:10px;padding:.6rem .7rem}.ttp-step-act{margin-top:.3rem;font-size:.85rem}.ttp-on .ttp-chip{background:#eaf5ee;color:#17552f}.ttp-off{color:#8a4006}.ttp-open{all:unset;cursor:pointer;display:inline;border-radius:6px;-webkit-tap-highlight-color:transparent}.ttp-open:focus-visible .ttp-title-link,.ttp-open:hover .ttp-title-link{text-decoration:underline}.ttp-open:focus-visible{outline:2px solid var(--brand-700);outline-offset:2px}.ttp-open-hint,.ttp-title-link{color:var(--brand-700)}.ttp-open-hint{font-size:.8rem;white-space:nowrap}.sdp{position:fixed;inset:0;z-index:70;background:#0f172a;color:#fff;display:flex;flex-direction:column}.sdp-head{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem}.sdp-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdp-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.8}.sdp-head button{min-width:44px;min-height:44px;padding:0}.sdp-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 .75rem}.sdp-stage img{max-width:100%;max-height:100%;object-fit:contain;background:#fff}.sdp-note{max-width:30rem;text-align:center;opacity:.85}.sdp-nav{display:flex;justify-content:center;gap:.75rem;padding:.75rem}.sdp-nav button{min-height:48px;min-width:9rem}.laf{display:flex;flex-direction:column;gap:1rem;max-width:64rem}.laf .card{margin:0}.laf-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between}.laf-step{margin:0 0 .6rem;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.laf-row{display:flex;flex-wrap:wrap;gap:.5rem}.laf-choice{background:#fff;color:var(--brand-900);border:1px solid var(--slate-200);border-radius:10px;min-height:44px;padding:.55rem 1rem;font-weight:600}.laf-choice:hover{background:var(--brand-050)}.laf-on,.laf-on:hover{background:var(--brand-700);color:#fff;border-color:var(--brand-700)}.laf-note{font-weight:400;font-size:.85rem;opacity:.85}.laf-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));grid-gap:1rem;gap:1rem;align-items:start}.laf-col{border:1px solid var(--slate-200);border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}.laf-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:8px;background:var(--slate-50)}.laf-mine{margin-left:.4rem;font-size:.72rem;font-weight:700;padding:0 .4rem;border-radius:999px;background:var(--brand-100);color:var(--brand-800)}.laf-maker{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem;border:1px solid var(--slate-200);border-radius:10px;text-decoration:none}.laf-maker span{color:var(--ink-soft);font-size:.85rem}.laf-maker:hover{background:var(--brand-050)}.laf-upload{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px dashed #9aa6b8;border-radius:10px;font-weight:600;color:var(--brand-700);cursor:pointer}.laf-who{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem}.laf-who label{flex:0 0 auto;flex-direction:row;align-items:center;gap:.45rem;font-size:inherit;color:inherit}.laf-quick{border:2px solid var(--brand-700)}.laf-drag,.laf-status{background:var(--brand-050)}.laf-status{border-radius:8px;padding:.5rem .7rem;margin:0 0 .6rem}.bc-houses{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.75rem;gap:.75rem}.bc-house{display:flex;flex-direction:column;gap:.25rem;text-align:left;cursor:pointer;font:inherit;color:inherit;border:1px solid var(--slate-200)}.bc-house.done{border-color:#16a34a}.bc-house-name{font-size:1.1rem}.bc-meta{font-size:.8rem;color:var(--ink-soft)}.bc-planned{color:#92400e}.bc-done{background:#dcfce7;color:#14532d;padding:.5rem .75rem;border-radius:6px}.bc-room{margin-bottom:.75rem}.bc-room-head{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.4rem}.bc-room-head h3{margin:0}.bc-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.45rem 0;border-top:1px solid var(--slate-200)}.bc-row.missing{background:#fef2f2}.bc-name{display:flex;flex-direction:column;flex:1 1 12rem;min-width:0}.bc-status{display:inline-flex;gap:.3rem}.bc-btn{background:#fff;color:var(--ink);border:1px solid var(--slate-300,#cbd5e1);padding:.35rem .7rem;min-width:4.5rem}.bc-btn.on.in{background:#16a34a;border-color:#16a34a;color:#fff}.bc-btn.on.missing{background:#dc2626;border-color:#dc2626;color:#fff}.bc-btn.on.away{background:#d97706;border-color:#d97706;color:#fff}.bc-note{flex:1 1 100%}.bc-footer{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--surface,#fff);border-top:2px solid var(--slate-200);padding:.6rem 0}