[hidden]{display:none!important}
:root{
  --bg:#07131d;--panel:#102432;--panel2:#132c3d;--panel3:#0b1c27;--line:#27475b;
  --text:#f5f0df;--muted:#9fb4bf;--gold:#d5b25d;--gold-dark:#3a331f;
  --danger:#e35d68;--danger-bg:#7f2430;--ok:#72c49b;--ok-bg:#174c35;--warn:#d9a66b;
  --vacation:#2f8d57;--vacation-dark:#1f623d;--holiday:#c83d4b;--holiday-dark:#8f2632;
  --shadow:0 14px 38px rgba(0,0,0,.20)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#061018,#0a1a26 62%,#0d2730);color:var(--text);font:15px/1.4 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}.app-shell{max-width:780px;margin:auto;padding:8px 10px calc(90px + env(safe-area-inset-bottom))}.workspace{display:grid;gap:9px}.card{background:rgba(16,36,50,.96);border:1px solid rgba(81,120,143,.35);border-radius:16px;box-shadow:var(--shadow)}
.topbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.brand{display:flex;gap:9px;align-items:center}.brand-mark{width:37px;height:37px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:10px;font-weight:850}.brand strong{font-size:17px;display:block}.brand span{display:block;color:var(--muted);font-size:10px}.tools-menu{position:relative}.tools-menu summary{list-style:none;cursor:pointer;width:42px;height:38px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;background:rgba(16,36,50,.92);font-size:18px}.tools-menu summary::-webkit-details-marker{display:none}.tools-popover{position:absolute;right:0;top:44px;z-index:40;width:215px;padding:10px;display:grid;gap:8px;background:#102432;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.save-state{color:var(--muted);font-size:11px}
.eyebrow{font-size:9px;font-weight:850;letter-spacing:.14em;color:var(--gold)}h1,h2,h3,p{margin:0}h1{font-size:23px;line-height:1.08;margin-top:2px}h2{font-size:17px;margin-top:2px}h3{font-size:14px}.muted{color:var(--muted)!important;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.today-head{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.today-head.holiday{border-color:rgba(227,93,104,.75);background:linear-gradient(135deg,rgba(80,29,36,.98),rgba(16,36,50,.96))}.today-head.vacation:not(.holiday){border-color:rgba(47,141,87,.75);background:linear-gradient(135deg,rgba(23,67,46,.98),rgba(16,36,50,.96))}.today-context-holiday{color:#ffb6bd;font-weight:800}.today-context-vacation{color:#b6eccb;font-weight:750}.icon-btn{width:44px;height:42px;border:1px solid var(--line);background:#173141;color:var(--text);border-radius:11px;cursor:pointer;font-size:20px;display:grid;place-items:center;padding:0}
.attention-card{padding:12px 14px;border-color:rgba(217,166,107,.55);background:linear-gradient(135deg,rgba(57,43,34,.92),rgba(16,36,50,.97))}.warning-count{background:#71442b!important;color:#ffe1ba!important}.count-badge{min-width:27px;height:27px;border-radius:999px;background:#1b4357;display:grid;place-items:center;font-weight:850;font-size:12px}.attention-list{display:grid;gap:7px;margin-top:9px}.attention-item{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;background:#0c202d;border-radius:10px;border-left:4px solid var(--warn)}.attention-item.unplanned{border-left-color:var(--danger)}.attention-item.overdue{background:#2a1c23;border-left-color:var(--danger)}.attention-item.due{box-shadow:inset 0 0 0 1px rgba(213,178,93,.45)}.attention-main{min-width:0}.attention-main strong{display:block;font-size:12px}.attention-main span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.attention-actions{display:flex;gap:5px;flex:0 0 auto}.alert-chip{display:inline-block!important;width:max-content;margin-top:4px!important;border-radius:999px;padding:2px 6px;background:#5d4621;color:#ffe3a2!important;font-size:9px!important;font-weight:800}
.day-card{padding:12px 12px}.day-head-row{padding:0 2px 8px}.progress-pill{font-size:11px;color:#c9d8df;background:#173544;border:1px solid #31566b;border-radius:999px;padding:4px 8px}.day-schedule{display:grid;gap:5px}.schedule-empty{padding:12px 4px;color:var(--muted);font-size:12px}.schedule-row{width:100%;border:1px solid rgba(65,97,116,.55);background:#0b1d28;color:var(--text);border-radius:10px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:8px;padding:8px 9px;cursor:pointer;text-align:left}.schedule-row:hover{border-color:#4f7890}.schedule-row.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(213,178,93,.25)}.schedule-row.next{background:#112b38;border-color:#3d7089}.schedule-row.done{opacity:.72}.schedule-time{font-weight:850;color:#f1d88f;font-size:13px}.schedule-name{min-width:0}.schedule-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-name span{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-state{font-size:10px;border-radius:999px;padding:3px 7px;background:#18384a;color:#c8d9e1;white-space:nowrap}.schedule-state.held{background:#174731;color:#bde7cf}.schedule-state.absent{background:#4e2f24;color:#f0c49d}.schedule-state.makeup{background:#453a1d;color:#f3d88c}.schedule-state.open{background:#44222a;color:#ffbdc4}
.student-switch{padding:9px 10px;display:flex;align-items:end;gap:7px}.switch-main{flex:1;display:grid;gap:3px}.switch-main label,.field-label{font-size:10px;color:var(--muted);font-weight:800}.student-switch select{min-height:40px}
.active-student-card{padding:12px 14px}.active-student-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.student-identity{min-width:0}.active-actions{display:flex;gap:5px;flex:0 0 auto}.context-strip{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.context-strip>div{padding:8px 9px;background:#0b1d28;border-radius:9px;min-width:0}.context-strip span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.context-strip strong{display:block;margin-top:3px;font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capture{padding:13px 13px 8px}.capture-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.date-chip{border:1px solid #3d6072;background:#0d2633;color:#dbe7eb;border-radius:999px;padding:6px 9px;cursor:pointer;font-size:10px;white-space:nowrap}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.status-btn{border:1px solid var(--line);background:#0b1c27;color:#dbe5e9;border-radius:10px;min-height:42px;padding:6px 7px;cursor:pointer;font-weight:750;font-size:11px}.status-btn.active{border-color:var(--gold);background:var(--gold-dark);color:#f5dfa4;box-shadow:inset 0 0 0 1px rgba(213,178,93,.24)}.main-note-field{margin-top:10px}.field{display:grid;gap:4px}.field>span{font-size:11px;color:#d6e0e4;font-weight:750}.field em,.optional{font-style:normal;color:var(--muted);font-weight:500;font-size:10px}.field textarea{min-height:54px}.quick-action-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.quick-add{border:1px solid #31536a;background:#0b1d28;color:#d7e2e7;border-radius:999px;padding:6px 9px;font-size:10px;cursor:pointer}.quick-add.active{border-color:var(--gold);color:#f2d996;background:#302b1b}.inline-extra{margin-top:8px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide{grid-column:1/-1}.teacher-only{padding:8px;background:#181c27;border:1px dashed #534866;border-radius:10px}.absence-options{margin-top:10px;padding:9px;border-radius:11px;background:#171e23;border:1px solid #564633}.makeup-choice-grid{display:grid;grid-template-columns:1.25fr 1fr .65fr;gap:5px;margin-top:5px}.makeup-choice{border:1px solid #5f4d36;background:#231e18;color:#edd7b5;border-radius:9px;min-height:40px;padding:6px;font-size:10px;font-weight:750;cursor:pointer}.makeup-choice.active{border-color:var(--gold);background:#40351e;color:#ffe7a5}.microcopy{margin-top:5px;color:#b9a995;font-size:9px}.capture-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.sticky-save{position:sticky;bottom:calc(5px + env(safe-area-inset-bottom));z-index:15;padding:7px 0;background:linear-gradient(to bottom,rgba(16,36,50,0),rgba(16,36,50,.98) 28%)}.next-btn{min-width:190px}.save-message{margin-top:8px;padding:8px 9px;border-radius:9px;background:#153426;color:#bde4cc;border:1px solid #2d6547;font-size:11px}
input,select,textarea{width:100%;background:#0b1c27;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px 10px;outline:none}.field input,.field select{min-height:38px}input:focus,select:focus,textarea:focus{border-color:#4d788d}.btn{border:1px solid var(--line);background:#173141;color:var(--text);border-radius:10px;min-height:40px;padding:0 12px;cursor:pointer}.btn.primary{background:var(--gold);border-color:var(--gold);color:#15202a;font-weight:850}.btn.ghost{background:transparent}.file-label{display:grid;place-items:center}.file-label input{display:none}.mini-action{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:8px;padding:5px 8px;cursor:pointer;font-size:10px}.mini-action:disabled{opacity:.45;cursor:default}
.toast{position:fixed;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;width:min(92vw,560px);padding:11px 13px;border-radius:11px;background:#153426;color:#d5f1df;border:1px solid #337150;box-shadow:0 12px 30px rgba(0,0,0,.3);font-size:12px;font-weight:700}.toast.error{background:#3a2025;color:#ffd9dd;border-color:#78434b}
dialog{border:1px solid var(--line);background:#102432;color:var(--text);border-radius:16px;box-shadow:var(--shadow);width:min(92vw,440px);max-height:90vh;overflow:auto;padding:16px}dialog::backdrop{background:rgba(0,0,0,.62)}.wide-dialog{width:min(94vw,650px)}.dialog-form{display:grid;gap:11px}.dialog-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:4px;flex-wrap:wrap}.dialog-hint{color:var(--muted);font-size:10px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.date-calendar-row{display:grid;grid-template-columns:1fr auto;gap:5px}.date-context{display:block;margin-top:4px;line-height:1.35}.date-context.holiday{color:#ffabb4}.date-context.vacation{color:#ace5c2}.check-row{display:flex!important;align-items:center;gap:9px!important;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#0b1c27;color:var(--text)!important;font-size:12px!important;cursor:pointer}.check-row input{width:19px;height:19px;flex:0 0 auto;margin:0}.check-row span{display:grid;color:var(--text)}.check-row small{color:var(--muted)}
.file-section{padding:10px 0;border-top:1px solid rgba(56,88,106,.55)}.file-section:first-of-type{border-top:0}.file-prep-text{margin-top:7px;color:#e8eeee;font-size:12px}.simple-list{display:grid;gap:6px;margin-top:8px}.simple-item{background:#0c202d;border-left:3px solid var(--gold);padding:8px 9px;border-radius:8px;font-size:11px}.simple-item .row{display:flex;align-items:center;justify-content:space-between;gap:7px}.simple-item span{color:var(--muted)}.makeup-item{display:grid;gap:6px}.makeup-copy{line-height:1.4}.planned{color:#f0d58c}.unplanned{color:#ffb1b9}.item-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.reminder-source-note{font-size:9px;color:var(--muted);margin-top:3px}
.timeline-list{display:grid;margin-top:8px}.timeline-item{display:grid;grid-template-columns:17px 1fr;gap:6px;position:relative;padding-bottom:9px}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child)::before{content:"";position:absolute;left:5px;top:11px;bottom:-2px;width:1px;background:#315064}.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--gold);border:2px solid #102432;box-shadow:0 0 0 1px #6e613a;z-index:1}.status-student_absent .timeline-dot,.status-teacher_absent .timeline-dot,.status-cancelled_other .timeline-dot{background:var(--warn)}.timeline-body{background:#0c202d;border:1px solid rgba(57,89,108,.55);border-radius:9px;padding:7px 8px}.timeline-top{display:flex;justify-content:space-between;gap:8px}.timeline-top strong{font-size:11px}.status-chip{font-size:9px;color:#bdd0d8;background:#173342;border-radius:999px;padding:2px 6px}.timeline-body p{margin-top:4px;font-size:11px}.timeline-details{display:grid;gap:2px;margin-top:5px}.timeline-details span{font-size:10px;color:var(--muted)}
.reminder-scope-box{display:grid;gap:8px}.reminder-editor{display:grid;gap:8px}.quick-presets{display:flex;gap:5px;flex-wrap:wrap}.reminder-add-row{display:grid;grid-template-columns:82px 1fr auto;gap:6px;align-items:center}.same-day-row{grid-template-columns:auto 100px auto}.reminder-rule-list{display:grid;gap:5px}.reminder-rule{display:flex;justify-content:space-between;align-items:center;gap:7px;background:#0b1c27;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:10px}.reminder-rule.empty{color:var(--muted);border-style:dashed}.calendar-dialog{width:min(96vw,520px);padding:0}.calendar-shell{padding:14px}.calendar-head,.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-nav{margin-top:9px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{margin-top:10px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:9px;font-weight:850}.calendar-grid{margin-top:4px}.calendar-day{position:relative;min-height:48px;border:1px solid #2c4a5b;background:#0b1c27;color:var(--text);border-radius:8px;cursor:pointer;padding:5px;text-align:left;overflow:hidden}.calendar-day.outside{opacity:.34}.calendar-day.weekend:not(.vacation):not(.holiday){background:#16242c}.calendar-day.vacation{background:var(--vacation-dark);border-color:#48a36d;color:#f0fff5}.calendar-day.holiday{background:var(--holiday-dark)!important;border-color:#f06b76!important;color:#fff4f5!important}.calendar-day.today{box-shadow:inset 0 0 0 2px #69b8dc}.calendar-day.selected{outline:3px solid var(--gold);outline-offset:1px}.calendar-day-number{font-weight:850;font-size:12px}.calendar-day-label{position:absolute;left:4px;right:4px;bottom:3px;font-size:7px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95}.calendar-day.holiday .calendar-day-label{font-weight:850}.calendar-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:4px}.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.holiday-dot{background:var(--holiday)}.vacation-dot{background:var(--vacation)}.weekend-dot{background:#26333a}.calendar-selection-info{margin-top:9px;padding:8px 9px;background:#0b1c27;border-radius:9px;font-size:11px;min-height:38px}.calendar-selection-info .holiday-text{color:#ff9da7;font-weight:850}.calendar-selection-info .vacation-text{color:#9de2b7;font-weight:800}.calendar-source-note{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.35}
@media(max-width:620px){
  .app-shell{padding:6px 7px calc(82px + env(safe-area-inset-bottom))}.topbar{min-height:50px}.brand-mark{width:34px;height:34px}.brand strong{font-size:16px}.card{border-radius:14px}.today-head,.attention-card,.day-card,.active-student-card{padding:10px 11px}h1{font-size:21px}h2{font-size:16px}
  .context-strip{grid-template-columns:1fr}.context-strip>div{padding:7px 8px}.status-grid{grid-template-columns:repeat(2,1fr)}.status-btn{min-height:39px}.makeup-choice-grid{grid-template-columns:1fr 1fr}.makeup-choice:last-child{grid-column:1/-1}.details-grid,.profile-grid{grid-template-columns:1fr}.wide{grid-column:auto}.next-btn{min-width:0;flex:1}.capture-actions .btn.ghost{min-width:70px}.schedule-row{grid-template-columns:52px 1fr auto;padding:7px 8px}.schedule-state{max-width:92px;overflow:hidden;text-overflow:ellipsis}.attention-item{align-items:flex-start}.attention-actions{flex-direction:column}.reminder-add-row,.same-day-row{grid-template-columns:1fr}.calendar-day{min-height:44px}.calendar-day-label{display:none}
}
@media(max-width:390px){.active-actions{flex-wrap:wrap;justify-content:flex-end}.status-btn{font-size:10px}.day-card{padding-left:8px;padding-right:8px}.schedule-row{grid-template-columns:47px 1fr auto;gap:5px}.schedule-time{font-size:11px}.schedule-state{font-size:9px;padding:2px 5px}.calendar-day{min-height:40px;padding:4px}.calendar-day-number{font-size:11px}}


.private-action{border-color:#4e4562;background:#171925}.private-details{border:1px dashed #554967;border-radius:11px;background:#151a24;overflow:hidden}.private-details>summary,.contact-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;color:#efe8f5;font-weight:800;font-size:11px}.private-details>summary::-webkit-details-marker,.contact-details>summary::-webkit-details-marker{display:none}.private-details>summary::after,.contact-details>summary::after{content:'▾';color:var(--muted);transition:transform .15s}.private-details[open]>summary::after,.contact-details[open]>summary::after{transform:rotate(180deg)}.private-details>summary span,.contact-details>summary small{color:var(--muted);font-size:9px;font-weight:600}.private-details-body{display:grid;gap:9px;padding:0 10px 10px}.privacy-note{padding:7px 8px;border-radius:8px;background:#1c1c2a;color:#c9bdd4;font-size:9px;line-height:1.4}.privacy-note.compact{margin-top:7px}.contact-person-box{display:grid;gap:8px;border-top:1px solid #443b50;padding-top:9px}.contact-details{padding:0!important;border-top:1px solid rgba(56,88,106,.55)!important}.contact-details>summary{padding:10px 0}.contact-content{display:grid;gap:8px;padding:2px 0 10px}.contact-block{background:#0c202d;border:1px solid rgba(73,105,123,.58);border-radius:10px;padding:9px}.contact-block.guardian{border-color:#5b4f67;background:#151c27}.contact-block-head{margin-bottom:5px}.contact-row{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:3px 0;font-size:10px}.contact-row span{color:var(--muted)}.contact-row strong{font-weight:650;overflow-wrap:anywhere}.contact-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.contact-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border:1px solid #38657c;border-radius:9px;color:#e4edf1;text-decoration:none;background:#102b39;font-size:10px;font-weight:800}.contact-action.mail{border-color:#5d4e72;background:#1d2030}
@media(max-width:620px){.contact-row{grid-template-columns:1fr;gap:1px}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-action{width:100%}}


.entry-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:18px 12px;background:radial-gradient(circle at 50% 15%,rgba(31,77,99,.28),transparent 42%)}
.entry-shell{width:min(100%,560px);display:grid;gap:14px}.entry-brand{display:flex;align-items:center;justify-content:center;gap:10px}.entry-brand strong{display:block;font-size:19px}.entry-brand span{display:block;color:var(--muted);font-size:11px}.entry-mark{width:44px;height:44px}
.entry-card{background:rgba(16,36,50,.98);border:1px solid rgba(81,120,143,.44);border-radius:20px;box-shadow:var(--shadow);padding:22px}.entry-card h1{font-size:29px;margin-top:5px}.entry-lead{margin-top:9px;color:#c7d5db;font-size:13px;max-width:45ch}.entry-overview{display:grid;grid-template-columns:1fr 112px;gap:9px;margin-top:18px}.entry-overview>div{background:#0b1d28;border:1px solid rgba(65,97,116,.58);border-radius:13px;padding:12px}.entry-overview span{display:block;color:var(--gold);font-size:9px;letter-spacing:.12em;font-weight:850}.entry-overview strong{display:block;margin-top:4px;font-size:15px}.entry-overview small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.entry-open-box{text-align:center}.entry-open-box strong{font-size:28px;line-height:1.05}.entry-open-btn{width:100%;min-height:52px;margin-top:12px;font-size:15px}.entry-safety{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:10px}.entry-footnote{text-align:center;color:#829ba8;font-size:10px;padding:0 14px}.topbar-actions{display:flex;align-items:center;gap:7px}.home-nav-btn{height:38px;border:1px solid var(--line);border-radius:11px;background:#102432;color:var(--text);padding:0 10px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px}.home-nav-btn:hover{border-color:#4f7890}.home-nav-btn>span:first-child{font-size:16px;color:var(--gold)}
@media(max-width:620px){.entry-screen{place-items:start center;padding-top:max(18px,env(safe-area-inset-top))}.entry-shell{margin-top:7vh}.entry-card{padding:17px 15px;border-radius:17px}.entry-card h1{font-size:24px}.entry-overview{grid-template-columns:1fr 92px}.entry-overview>div{padding:10px}.entry-open-btn{min-height:50px}.entry-safety{display:grid;gap:3px}.home-nav-label{display:none}.home-nav-btn{width:42px;padding:0;justify-content:center}}
@media(max-width:390px){.entry-shell{margin-top:3vh}.entry-card h1{font-size:22px}.entry-overview{grid-template-columns:1fr 82px}.entry-overview strong{font-size:13px}.entry-open-box strong{font-size:24px}.entry-footnote{font-size:9px}}

.undo-bar{margin-top:8px;padding:8px 10px;border:1px solid #517082;border-radius:10px;background:#0b1d28;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.undo-bar[hidden]{display:none}.undo-bar span{font-weight:750}.danger-btn{background:#7d2c34!important;border-color:#a6434d!important;color:#fff!important}.compact-actions{display:flex;gap:4px}.calendar-day-kind{position:absolute;right:4px;top:4px;font-size:7px;font-weight:950;letter-spacing:.03em;padding:1px 3px;border-radius:4px;background:rgba(0,0,0,.28)}.calendar-day.holiday .calendar-day-kind{background:rgba(255,255,255,.2)}.calendar-day.vacation:not(.holiday) .calendar-day-kind{background:rgba(0,0,0,.22)}.timeline-actions{display:flex;align-items:center;gap:5px}.contact-row.preferred strong{color:#f1d783}.btn:disabled,.mini-action:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){.calendar-day-kind{display:block}.timeline-actions .mini-action{font-size:8px;padding:3px 5px}.undo-bar{position:sticky;bottom:64px;z-index:17}}

#activeStudentCard,#captureCard{scroll-margin-top:6px}
html{scroll-padding-top:6px}


.public-demo-banner{margin:14px 0 0;padding:10px 11px;border:1px solid rgba(213,178,93,.5);border-radius:11px;background:#2d2819;color:#f4e3b2;font-size:11px;line-height:1.45}
.public-test-guide{margin-top:10px;border:1px solid rgba(65,97,116,.65);border-radius:11px;background:#0b1d28;padding:0 10px}.public-test-guide summary{cursor:pointer;padding:9px 0;font-weight:800;font-size:11px;color:#dbe7eb}.public-test-guide ol{margin:0 0 10px 19px;padding:0;color:#b9cbd3;font-size:10px;line-height:1.55}.public-test-guide li+li{margin-top:3px}
.public-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.public-entry-actions .public-small-btn:last-child{grid-column:1/-1}.public-small-btn{font-size:10px;min-height:36px}
.public-demo-pill{font-size:8px;font-weight:900;letter-spacing:.12em;color:#16212a;background:var(--gold);border-radius:999px;padding:3px 7px;margin-left:auto;margin-right:4px}.public-workspace-note{padding:7px 10px;text-align:center;color:#e8d69e;background:#2a2519;border-color:#62542e;font-size:9px;font-weight:800;letter-spacing:.02em}.public-info-copy{display:grid;gap:10px;font-size:11px;color:#d2dee3}.public-info-copy p{line-height:1.5}.public-feedback-actions{flex-wrap:wrap}.feedback-status{padding:8px 9px;border-radius:8px;background:#153426;color:#c7ead4;font-size:10px}
#editProfileBtn,#openContactBtn,#teacherDayOffBtn,#archivedStudentsBtn,.contact-details{display:none!important}
@media(max-width:620px){.public-entry-actions{grid-template-columns:1fr}.public-entry-actions .public-small-btn:last-child{grid-column:auto}.public-demo-pill{font-size:7px;padding:3px 5px}.public-workspace-note{font-size:8px}.public-feedback-actions{display:grid;grid-template-columns:1fr}.public-feedback-actions .btn{width:100%}}

@media(max-width:620px){.mini-action,.quick-add{min-height:36px}.tools-popover .btn{min-height:42px}}


.public-empty-student{display:grid;gap:9px;text-align:left;border-style:dashed;background:#0d202b}.public-empty-student[hidden]{display:none}.public-empty-student h2{margin:0}.public-empty-student p{margin:0;color:#bfd0d7;font-size:11px;line-height:1.5}.public-empty-student small{color:var(--muted);font-size:9px}.public-empty-student .btn{justify-self:start}.testdata-warning{margin:0 0 4px;padding:9px 10px;border:1px solid #695a2e;border-radius:9px;background:#2d2819;color:#f1dfad;font-size:10px;line-height:1.45}.public-student-schedule{margin-top:2px}.public-session-badge{font-weight:850;color:#f1dfad}
@media(max-width:620px){.public-empty-student .btn{width:100%}.public-student-schedule{grid-template-columns:1fr 1fr}.public-demo-banner{font-size:10px}.entry-safety span:first-child{color:#f1dfad;font-weight:750}}


html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{color-scheme:light;
  --bg:#f4f1e8;--panel:#fffdf8;--panel2:#f2f7f5;--panel3:#eaf3f0;--line:#c8d8d4;
  --text:#1b2b32;--muted:#64777d;--gold:#c6a44f;--gold-dark:#f7edcf;
  --danger:#b94e5a;--danger-bg:#fdebed;--ok:#2e8767;--ok-bg:#e4f3ec;--warn:#ad7432;
  --vacation:#4b9d69;--vacation-dark:#dff1e5;--holiday:#c84a55;--holiday-dark:#fae1e4;
  --shadow:0 12px 32px rgba(33,52,58,.10);--teal:#2cb7b3;--teal-dark:#168c89;--teal-soft:#def3f0;
}
html[data-theme="light"],html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] body{background:linear-gradient(145deg,#f7f4ec,#eef5f2 62%,#e5f0ec)}
html[data-theme="light"] .entry-screen{background:radial-gradient(circle at 50% 12%,rgba(44,183,179,.13),transparent 42%)}
html[data-theme="light"] .card,html[data-theme="light"] dialog,html[data-theme="light"] .entry-card,html[data-theme="light"] .tools-popover{background:rgba(255,253,248,.98);border-color:#cbdad6;color:var(--text)}
html[data-theme="light"] .brand-mark{border-color:var(--teal-dark);color:var(--teal-dark);background:#f7fffd}
html[data-theme="light"] .eyebrow{color:#977625}
html[data-theme="light"] .entry-lead,html[data-theme="light"] .public-info-copy,html[data-theme="light"] .field>span{color:#42565d}
html[data-theme="light"] .tools-menu summary,html[data-theme="light"] .home-nav-btn,html[data-theme="light"] .icon-btn,html[data-theme="light"] .theme-quick-btn{background:#f8fbfa;border-color:#bfd4cf;color:#1c3439}
html[data-theme="light"] .btn:not(.primary),html[data-theme="light"] .mini-action,html[data-theme="light"] .quick-add{background:#f8fbfa;border-color:#bfd4cf;color:#1c3439}
html[data-theme="light"] .btn.secondary{background:var(--teal-soft);border-color:#9cd8d4;color:#145e5c;font-weight:800}
html[data-theme="light"] .btn.primary{background:var(--gold);border-color:#b48e39;color:#18272c}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff;border-color:#bfd1cd;color:#17282e}
html[data-theme="light"] input:focus,html[data-theme="light"] select:focus,html[data-theme="light"] textarea:focus{border-color:var(--teal-dark);box-shadow:0 0 0 2px rgba(44,183,179,.12)}
html[data-theme="light"] .entry-overview>div,html[data-theme="light"] .context-strip>div,html[data-theme="light"] .schedule-row,html[data-theme="light"] .attention-item,html[data-theme="light"] .public-test-guide,html[data-theme="light"] .undo-bar,html[data-theme="light"] .contact-block,html[data-theme="light"] .private-details,html[data-theme="light"] .teacher-only,html[data-theme="light"] .absence-options{background:#f6faf8;border-color:#ceddd9;color:var(--text)}
html[data-theme="light"] .schedule-row.next{background:#e8f6f3;border-color:#9ed7d3}
html[data-theme="light"] .schedule-row.selected{border-color:#b58d36;box-shadow:inset 0 0 0 1px rgba(198,164,79,.20)}
html[data-theme="light"] .schedule-time{color:#8c6b20}
html[data-theme="light"] .schedule-state{background:#e7f0ed;color:#40555b}
html[data-theme="light"] .schedule-state.held{background:#e2f3e9;color:#236747}
html[data-theme="light"] .schedule-state.absent{background:#f8e8de;color:#92512d}
html[data-theme="light"] .schedule-state.makeup{background:#f6edce;color:#80651c}
html[data-theme="light"] .schedule-state.open{background:#f9e3e7;color:#8d3944}
html[data-theme="light"] .status-btn{background:#f7faf9;color:#263a40;border-color:#c8d8d4}
html[data-theme="light"] .status-btn.active{background:#f8edca;color:#745b18;border-color:#c6a44f}
html[data-theme="light"] .quick-add.active{background:#e2f4f1;color:#166c69;border-color:#75c7c2}
html[data-theme="light"] .makeup-choice{background:#faf6ed;color:#5d4b30;border-color:#dfceb3}
html[data-theme="light"] .makeup-choice.active{background:#f7eccb;color:#765b16;border-color:#c5a24c}
html[data-theme="light"] .attention-card{background:linear-gradient(135deg,#fff8ed,#fffdf8);border-color:#e6c996}
html[data-theme="light"] .attention-item.overdue{background:#fcedef}
html[data-theme="light"] .count-badge{background:#e1f0ed;color:#27545b}
html[data-theme="light"] .warning-count{background:#f4e0c8!important;color:#7a4e1e!important}
html[data-theme="light"] .alert-chip{background:#f4e5bb;color:#755a14!important}
html[data-theme="light"] .today-head.holiday{background:linear-gradient(135deg,#f8dde0,#fffdf8);border-color:#d65a64}
html[data-theme="light"] .today-head.vacation:not(.holiday){background:linear-gradient(135deg,#def0e4,#fffdf8);border-color:#5ea679}
html[data-theme="light"] .today-context-holiday{color:#9e3540}
html[data-theme="light"] .today-context-vacation{color:#31724c}
html[data-theme="light"] .sticky-save{background:linear-gradient(to bottom,rgba(255,253,248,0),rgba(255,253,248,.98) 28%)}
html[data-theme="light"] .save-message,html[data-theme="light"] .feedback-status,html[data-theme="light"] .toast{background:#e3f4eb;color:#235e43;border-color:#9fcfb5}
html[data-theme="light"] .toast.error{background:#fbe8ea;color:#8b3540;border-color:#ddb1b6}
html[data-theme="light"] .public-demo-banner,html[data-theme="light"] .testdata-warning{background:#fff4d8;color:#684f15;border-color:#dfc47f}
html[data-theme="light"] .public-workspace-note{background:#fff7df;color:#6f571c;border-color:#ddc47d}
html[data-theme="light"] .public-empty-student{background:#f5fbf9;border-color:#a9cfca}
html[data-theme="light"] .public-empty-student p{color:#52686e}
html[data-theme="light"] .entry-safety span:first-child,html[data-theme="light"] .public-session-badge{color:#785e1f}
html[data-theme="light"] .private-action{background:#f3eef8;border-color:#d3c4e0;color:#4c3d5b}
html[data-theme="light"] .privacy-note{background:#f4f0f8;color:#635870}
html[data-theme="light"] .contact-block.guardian{background:#f5f0f8;border-color:#d9cce1}
html[data-theme="light"] .contact-action{background:#e8f6f4;color:#165e5b;border-color:#9dd5d1}
html[data-theme="light"] .contact-action.mail{background:#f1edf7;border-color:#cfc2dc;color:#574666}
html[data-theme="light"] .progress-pill{background:#e6f2ef;color:#31575d;border-color:#bad5cf}
html[data-theme="light"] .date-chip{background:#edf7f5;color:#1f5757;border-color:#add5d1}
html[data-theme="light"] .public-demo-pill{background:var(--teal);color:#073d3b}
html[data-theme="light"] .calendar-day.weekend:not(.holiday):not(.vacation){background:#f4f2ed}
html[data-theme="light"] .calendar-day.vacation{background:#d9efdf!important;color:#245f3d!important}
html[data-theme="light"] .calendar-day.holiday{background:#d95a64!important;color:#fff!important}
html[data-theme="light"] .calendar-day.outside{opacity:.48}
html[data-theme="light"] .calendar-day.selected{outline:3px solid #b78925}
html[data-theme="light"] .calendar-day.today{box-shadow:inset 0 0 0 2px #2a8f8c}
html[data-theme="light"] .calendar-day-kind{background:rgba(255,255,255,.62);color:#31484d}
html[data-theme="light"] .calendar-day.holiday .calendar-day-kind{background:rgba(76,0,8,.22);color:#fff}

.theme-setting{display:flex;align-items:center;justify-content:space-between;gap:10px}.theme-setting>span{font-size:10px;color:var(--muted);font-weight:800}.entry-theme{margin-top:13px}.theme-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--panel3)}.theme-choice{border:0;border-radius:8px;min-height:32px;padding:0 10px;background:transparent;color:var(--muted);font-weight:800;font-size:10px;cursor:pointer}.theme-choice.active{background:var(--panel);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.10)}html[data-theme="light"] .theme-switch{background:#e8f3f0;border-color:#bcd3ce}html[data-theme="light"] .theme-choice.active{background:#fff;color:#166764}.tools-theme{display:grid;gap:6px;align-items:stretch}.tools-theme .theme-switch{width:100%}.theme-quick-btn{height:38px;min-width:40px;border:1px solid var(--line);border-radius:11px;background:#102432;color:var(--text);cursor:pointer;font-size:16px}.entry-start-options,.empty-start-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.entry-start-options .btn,.empty-start-actions .btn{width:100%}.btn.secondary{background:#173c45;border-color:#2f6570;color:#dcebee}
@media(max-width:620px){.entry-start-options,.empty-start-actions{grid-template-columns:1fr}.theme-quick-btn{width:38px}.entry-theme{align-items:flex-start}.theme-switch{width:auto}}
@media(max-width:340px){
  .topbar{gap:5px}.topbar .brand{gap:6px;min-width:0}.topbar .brand-mark{width:34px;height:34px;border-radius:9px}.topbar .brand strong{font-size:15px}.topbar .brand span{display:none}.topbar-actions{gap:4px}.theme-quick-btn,.home-nav-btn,.tools-menu summary{width:36px;min-width:36px;height:36px;padding:0}.tools-popover{right:0;width:min(215px,calc(100vw - 22px))}
}
html[data-theme="light"] .public-test-guide summary{color:#29454b}
html[data-theme="light"] .public-test-guide ol{color:#5b6f75}


.sync-action{border-color:#39736f!important}.sync-action.connected{background:#173e35!important;border-color:#3e8c6d!important;color:#ccebdc!important}.sync-action.pending{background:#44391c!important;border-color:#9b7c30!important;color:#f2dfa9!important}
.sync-dialog{width:min(620px,calc(100vw - 22px));max-width:620px}.sync-dialog-form{gap:14px}.sync-security-note{padding:10px 11px;border:1px solid #3b6068;border-radius:11px;background:#102731;color:#cfe1e4;font-size:10px;line-height:1.5}.sync-panel{display:grid;gap:12px}.sync-panel[hidden]{display:none}.sync-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sync-steps span{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:10px;font-weight:750}.sync-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#14222a}.sync-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sync-share-grid.compact{grid-template-columns:1fr 1fr}.sync-share-card{display:grid;gap:5px;padding:10px;border:1px solid #315d59;border-radius:11px;background:#102a2d}.sync-share-card.private{border-color:#574865;background:#211c2a}.sync-share-card strong{font-size:11px}.sync-share-card span{font-size:9px;line-height:1.35;color:var(--muted)}.sync-share-card span:before{content:'✓ ';color:#74c9aa}.sync-share-card.private span:before{content:'🔒 ';color:inherit}.sync-main-btn{width:100%;min-height:48px}.sync-pending-head{display:grid;gap:4px;text-align:center}.sync-pending-head>div{display:flex;align-items:center;justify-content:center;gap:10px}.sync-pending-head p{margin:0;color:var(--muted);font-size:10px}.sync-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em}.sync-state.pending{background:#3d341b;color:#f0da9a;border:1px solid #786626}.sync-state.connected{background:#153a2c;color:#c7ead8;border:1px solid #3d7c60}.qr-wrap{width:min(270px,76vw);aspect-ratio:1;margin:0 auto;padding:10px;background:#fff;border-radius:15px;box-shadow:0 8px 26px rgba(0,0,0,.25)}.ts-qr-svg{display:block;width:100%;height:100%}.pair-code-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:9px}.pair-code-row strong{font-size:17px;letter-spacing:.12em}.sync-pending-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sync-test-note{text-align:center}.sync-connected-card{text-align:center;padding:15px;border:1px solid #376e56;border-radius:13px;background:#102a22}.sync-connected-card h3{margin:8px 0 4px}.sync-connected-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.danger-text{color:#e29ca4!important}
html[data-theme="light"] .sync-security-note{background:#e8f5f2;border-color:#9ccdc6;color:#294b50}html[data-theme="light"] .sync-action.connected{background:#e3f3eb!important;border-color:#8ec8a9!important;color:#276646!important}html[data-theme="light"] .sync-action.pending{background:#fff3ce!important;border-color:#d4b55e!important;color:#715715!important}html[data-theme="light"] .sync-share-card{background:#eff8f5;border-color:#a7d2c8}html[data-theme="light"] .sync-share-card.private{background:#f5f0f8;border-color:#d6c7df}html[data-theme="light"] .sync-state.pending{background:#fff0c7;color:#765b16;border-color:#d1b45d}html[data-theme="light"] .sync-state.connected{background:#e3f3ea;color:#286748;border-color:#9dcdb3}html[data-theme="light"] .pair-code-row{background:#f6faf8}html[data-theme="light"] .sync-connected-card{background:#edf8f2;border-color:#9bcbb0}
@media(max-width:560px){.sync-share-grid,.sync-share-grid.compact,.sync-pending-actions{grid-template-columns:1fr}.sync-steps{grid-template-columns:1fr}.sync-steps span{min-height:40px}.qr-wrap{width:min(250px,82vw)}.active-actions{flex-wrap:wrap}.sync-action{flex:1 1 150px}}


.app-shell{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.public-workspace-note{padding:6px 10px;font-size:11px;line-height:1.25;letter-spacing:0}
.public-demo-banner{margin-top:10px;padding:8px 10px;font-size:11px;line-height:1.4}
.public-entry-actions{margin-top:6px}.entry-safety{margin-top:7px;justify-content:center}.entry-safety[hidden]{display:none!important}
.entry-shell{gap:9px}.entry-card{padding:18px}.entry-card h1{font-size:27px}.entry-lead{margin-top:6px}.entry-theme{margin-top:9px}.entry-overview{margin-top:12px}.entry-open-btn{margin-top:9px}
.public-test-guide{margin-top:8px}.public-test-guide summary{font-size:12px;padding:8px 0}.public-test-guide ol{font-size:11px}
.btn{min-height:42px}.mini-action{min-height:36px;padding:7px 9px;font-size:11px}.quick-add{min-height:38px;font-size:11px;padding:7px 10px}.date-chip{min-height:38px;font-size:11px}
.context-strip span{font-size:10px}.context-strip strong{font-size:12px}.schedule-name span{font-size:11px}.field>span{font-size:12px}.field em,.optional{font-size:11px}.microcopy{font-size:10.5px;line-height:1.4}
.simple-item{font-size:12px}.timeline-top strong{font-size:12px}.timeline-body p{font-size:12px}.timeline-details span{font-size:11px}.reminder-rule{font-size:11px;padding:8px 9px}.calendar-legend{font-size:10px}.calendar-source-note{font-size:9px}.calendar-weekdays span{font-size:10px}
.toast{top:10px;bottom:auto;width:auto;max-width:min(92vw,560px);pointer-events:none;padding:9px 12px;font-size:11px}

html[data-theme="light"] .simple-item,
html[data-theme="light"] .timeline-body,
html[data-theme="light"] .reminder-rule,
html[data-theme="light"] .check-row,
html[data-theme="light"] .calendar-day:not(.holiday):not(.vacation),
html[data-theme="light"] .calendar-selection-info{background:#f6faf8;color:var(--text);border-color:#cbdad6}
html[data-theme="light"] .file-prep-text{color:#334a50}
html[data-theme="light"] .sync-share-card span{color:#52686e}
html[data-theme="light"] .simple-item span,html[data-theme="light"] .timeline-details span,html[data-theme="light"] .check-row small{color:#60747a}
html[data-theme="light"] .check-row span{color:var(--text)}
html[data-theme="light"] .timeline-dot{border-color:#fffdf8}
html[data-theme="light"] .teacher-only{background:#f6f1f8;border-color:#d6c9df}
html[data-theme="light"] .calendar-selection-info .holiday-text{color:#9e3540}
html[data-theme="light"] .calendar-selection-info .vacation-text{color:#31724c}
html[data-theme="light"] .weekend-dot{background:#d8d4ca}

dialog{max-height:94dvh}.dialog-form label{font-size:12px}.dialog-hint{font-size:11px;line-height:1.4}
.dialog-sticky-head{position:sticky;top:-16px;z-index:8;margin:-16px -16px 0;padding:13px 16px 10px;background:#102432;border-bottom:1px solid var(--line)}
.calendar-shell>.dialog-sticky-head{top:0;margin:-14px -14px 0;padding:12px 14px 9px}
html[data-theme="light"] .dialog-sticky-head{background:#fffdf8}
.public-info-copy{gap:8px;font-size:12px}.public-info-copy p{line-height:1.45}

.sync-dialog-form{gap:10px}.sync-security-note{padding:9px 10px;font-size:12px;line-height:1.42}.sync-share-grid{gap:8px}.sync-share-card{gap:6px;padding:10px 11px}.sync-share-card strong{font-size:13px}.sync-share-card span{font-size:12px;line-height:1.4}.sync-main-btn{min-height:48px;font-size:14px}.sync-confirm-copy{text-align:center}.sync-pending-head{gap:5px}.sync-pending-head>div{gap:8px}.sync-pending-head p,.sync-pending-guide{font-size:12px;color:var(--text);font-weight:800}.sync-state{font-size:10px}.qr-wrap{width:min(226px,62vw);padding:8px;border-radius:13px}.pair-code-details{border:1px solid var(--line);border-radius:10px;background:var(--panel2);overflow:hidden}.pair-code-details summary{cursor:pointer;padding:9px 10px;font-size:11px;font-weight:800;color:var(--muted)}.pair-code-row{border:0;border-top:1px solid var(--line);border-radius:0;padding:8px 10px}.pair-code-row strong{font-size:17px}.sync-pending-actions{gap:7px}.sync-test-note{margin-top:-2px}.sync-connected-card p{font-size:11px}

.calendar-shell{padding:12px 10px}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-day{min-height:44px;padding:4px}.calendar-day-number{font-size:12px}.calendar-selection-info{font-size:12px}

@media(max-width:620px){
  .app-shell{padding:5px 7px calc(20px + env(safe-area-inset-bottom))}
  .entry-screen{place-items:start center;padding:10px 10px 12px}.entry-shell{margin-top:0;gap:7px}.entry-card{padding:14px}.entry-card h1{font-size:23px}.entry-lead{font-size:12px}.entry-theme{margin-top:7px}.entry-overview{margin-top:9px}.entry-overview>div{padding:9px}.entry-open-btn{min-height:46px;margin-top:8px}.public-demo-banner{margin-top:8px}.public-test-guide{margin-top:7px}.public-entry-actions{gap:5px}.public-small-btn{min-height:40px;font-size:11px}
  .public-workspace-note{font-size:11px;padding:6px 8px}
  .mini-action,.quick-add{min-height:42px;font-size:11px}.status-btn{min-height:42px;font-size:11px}
  .active-student-top{display:grid;grid-template-columns:1fr;gap:7px}.active-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px}.active-actions .mini-action{width:100%}.context-strip{grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}
  dialog{width:calc(100vw - 12px);max-width:none;max-height:calc(100dvh - 12px);padding:12px}.wide-dialog,.sync-dialog{width:calc(100vw - 12px);max-width:none}.dialog-sticky-head{top:-12px;margin:-12px -12px 0;padding:10px 12px 8px}.dialog-sticky-head .icon-btn{width:42px;height:42px}
  .calendar-dialog{width:calc(100vw - 6px);max-height:calc(100dvh - 6px)}.calendar-shell{padding:9px 7px 10px}.calendar-shell>.dialog-sticky-head{margin:-9px -7px 0;padding:9px 7px 7px}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-day{min-height:42px;padding:3px}.calendar-legend{gap:7px;margin-top:7px}.calendar-selection-info{margin-top:7px;padding:7px 8px}.calendar-source-note{margin-top:5px}
  .sync-share-grid,.sync-share-grid.compact{grid-template-columns:1fr 1fr}.sync-pending-actions{grid-template-columns:1fr 1fr}.qr-wrap{width:min(210px,58vw)}
  .toast{top:7px;font-size:11px;max-width:calc(100vw - 18px)}
}
@media(max-width:360px){
  .entry-card{padding:12px}.entry-overview{grid-template-columns:1fr 78px}.entry-overview strong{font-size:13px}.entry-open-box strong{font-size:23px}.public-demo-banner{font-size:10.5px}
  .sync-share-grid,.sync-share-grid.compact,.sync-pending-actions{grid-template-columns:1fr}.sync-share-card{padding:8px 10px}.sync-share-card span{font-size:11.5px}.sync-security-note{font-size:11.5px}.qr-wrap{width:160px}.sync-test-note{display:none}.pair-code-details summary{padding:8px 9px}.sync-test-note{font-size:9.5px}
  .active-actions{grid-template-columns:82px minmax(0,1fr)}.context-strip{grid-template-columns:1fr 1fr}.context-strip>div{padding:6px 7px}
  .calendar-day{min-height:40px;padding:2px}.calendar-day-number{font-size:11px}
}

.edit-lesson-actions{grid-template-columns:auto 1fr 1fr}.edit-lesson-actions .danger-text{justify-self:start}@media(max-width:560px){.edit-lesson-actions{grid-template-columns:1fr}.edit-lesson-actions .danger-text{justify-self:stretch}}
