:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#13221d;background:#bb3274;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;margin:0;min-height:100%;overflow-x:hidden;overflow-anchor:none}body{min-width:0}button,input,textarea,select{font:inherit}#root{color:var(--color-text);font-family:var(--font-body)}.app-shell{width:100%;max-width:100%;min-height:100vh;padding:var(--space-3);background:var(--color-splash-background);overflow-x:hidden}.phone-frame{position:relative;width:min(100%,var(--app-width));max-width:100%;margin:0 auto;min-height:calc(100vh - (var(--space-3) * 2));padding:var(--space-5) var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.hero-panel,.guide-hero{color:#fff;padding-top:var(--space-2)}.hero-panel{display:flex;flex-direction:column;align-items:center;text-align:center;transition:min-height .82s ease,padding-top .82s ease}.hero-panel--intro{min-height:58vh;justify-content:center}.hero-panel--revealed{min-height:0;justify-content:flex-start}.hero-panel__logo{display:block;height:auto;transition:width .82s ease,margin .82s ease,transform .82s ease,opacity .42s ease;transform-origin:center;aspect-ratio:1 / 1}.hero-panel__logo--intro{width:clamp(16rem,62vw,24rem);margin-top:0;margin-bottom:0;transform:translateY(0);animation:splash-logo-pulse 1.6s ease-in-out infinite}.hero-panel__logo--revealed{width:clamp(15rem,55vw,21.875rem);margin-top:clamp(-6.5rem,-16vw,-4rem);margin-bottom:clamp(-5.5rem,-14vw,-3.25rem);transform:translateY(0);animation:none}.hero-panel__content{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;pointer-events:none}.hero-panel__content--visible{opacity:1;transform:translateY(0);pointer-events:auto}.splash-content{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}.splash-content--visible{opacity:1;transform:translateY(0);pointer-events:auto}@keyframes splash-logo-pulse{0%,to{transform:scale(1);opacity:.96}50%{transform:scale(1.025);opacity:1}}.hero-panel h1,.guide-hero h1,.selection-sheet__header h2{margin:0;font-family:var(--font-display);font-size:clamp(2rem,6.8vw,3rem);line-height:.98;max-width:11ch}.hero-panel h1{text-align:center;margin-inline:auto}.hero-copy{margin:var(--space-3) 0 0;max-width:20rem;font-size:.95rem;color:#ffffffe6}.hero-status{margin:var(--space-3) auto 0;max-width:24rem;font-size:.9rem;font-weight:600;color:#ffffffe6}.hero-status--warning{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#13221d24}.hero-status--visible{opacity:1;transform:translateY(0)}.hero-status--warning p{margin:0}.hero-status--empty{max-width:22rem;color:#ffffffdb}.hero-status__button{width:fit-content;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-pill);background:#ffffff2e;color:#fff;cursor:pointer}.guide-hero__heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.guide-hero__session-meta{display:grid;justify-items:end;gap:.45rem}.guide-hero__session-number{margin:0;color:#ffffffeb;font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.guide-hero__session-badge{padding:.5rem .85rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.guide-hero__session-badge--online{background:#fff4b538;color:#fff4bf;box-shadow:inset 0 0 0 1px #fff4b54d}.guide-hero__session-badge--offline{background:#c0f1dc33;color:#d8ffe7;box-shadow:inset 0 0 0 1px #c0f1dc47}.guide-hero__codes{display:grid;gap:.35rem;margin-top:var(--space-3)}.guide-hero__codes p{margin:0;color:#fffffff0;font-size:1rem;font-weight:600}.guide-hero__codes span{font-weight:800}.school-day-groups{display:grid;gap:var(--space-5)}.school-day-section{display:grid;gap:var(--space-2)}.school-day-heading{margin:0;color:#fffffff0;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.school-day-heading:after{content:"";display:block;width:min(100%,10rem);height:2px;margin-top:.55rem;background:#ffffff85}.school-list,.creation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.school-card,.student-card,.selection-option,.secondary-button{width:100%;border:0;color:var(--color-text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.school-card{min-height:var(--school-card-min-height);padding:var(--space-4);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf8 0%,var(--color-surface-strong) 100%);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.school-card:hover,.school-card:focus-visible,.student-card:hover,.student-card:focus-visible,.selection-option:hover,.selection-option:focus-visible,.secondary-button:hover,.secondary-button:focus-visible{transform:translateY(-2px);outline:none}.school-card:hover,.school-card:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#ffcf5af2}.school-card:active,.student-card:active,.selection-option:active,.secondary-button:active{transform:translateY(3px) scale(.985)}.school-card:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.school-card__content,.student-card__content{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.school-card__label,.student-card__name{font-family:var(--font-display);font-size:1.15rem;line-height:1.05}.school-card__day{color:var(--color-text-muted);font-size:.85rem;font-weight:700}.school-card__meta,.student-card__status,.roster-panel__meta,.roster-panel__instruction{color:var(--color-text-muted);font-size:.85rem}.school-card__chevron,.student-card__chevron{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-pill);font-size:1.15rem;font-weight:700}.school-card__chevron,.student-card__chevron{background:#bb32741a;color:#8a1f53;transition:transform .14s ease,background .14s ease}.school-card:hover .school-card__chevron,.school-card:focus-visible .school-card__chevron,.student-card:hover .student-card__chevron,.student-card:focus-visible .student-card__chevron{transform:translate(2px);background:#bb327429}.school-card:active .school-card__chevron,.student-card:active .student-card__chevron{transform:translate(1px) scale(.96)}.student-card__chevron--complete,.student-card--complete .student-card__chevron,.student-card--complete:hover .student-card__chevron,.student-card--complete:focus-visible .student-card__chevron{background:#248e54;color:#fff}.guide-screen,.creation-screen{display:flex;flex-direction:column;gap:var(--space-4)}.screen-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.screen-topbar>*{min-width:0}.screen-date-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1 1 auto;min-width:0}.text-button,.sheet-close,.sheet-clear{padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-pill);background:#ffffff2e;color:#fff;font-weight:600;cursor:pointer;transition:background .14s ease,transform .14s ease}.text-button:hover,.text-button:focus-visible,.sheet-close:hover,.sheet-close:focus-visible,.sheet-clear:hover,.sheet-clear:focus-visible{background:#ffffff42;outline:none}.text-button:active,.sheet-close:active,.sheet-clear:active{transform:translateY(1px)}.screen-date{color:#ffffffe0;font-size:.88rem;font-weight:700;text-align:right}.screen-date-button{border:0;background:#ffffff1f;border-radius:var(--radius-pill);padding:.55rem .9rem;cursor:pointer;flex:1 1 auto;min-width:0;max-width:12rem;text-align:center;line-height:1.15}.screen-date-nav{width:2.4rem;height:2.4rem;border:0;border-radius:var(--radius-pill);background:#ffffff2e;color:#fff;font-weight:800;cursor:pointer;transition:background .14s ease,transform .14s ease,opacity .14s ease}.screen-date-nav:hover,.screen-date-nav:focus-visible{background:#ffffff47}.screen-date-nav:active{transform:translateY(1px)}.screen-date-nav:disabled{opacity:.38;cursor:default}.calendar-popover{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:#fffaf2f5;box-shadow:0 10px 22px #0d201924}.calendar-popover__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.calendar-popover__header h2{margin:0;font-family:var(--font-display);font-size:1.2rem;color:var(--color-text)}.calendar-popover__nav,.calendar-popover__close{border:0;border-radius:var(--radius-pill);background:#bb32741f;color:#8a1f53;cursor:pointer;font-weight:700}.calendar-popover__nav{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem}.calendar-popover__close{padding:.7rem 1rem;justify-self:end}.calendar-popover__weekdays,.calendar-popover__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-popover__weekdays span{text-align:center;font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.calendar-popover__day{min-height:2.5rem;border:0;border-radius:var(--radius-md);background:#13221d0f;color:#13221d66;cursor:default;font-weight:700}.calendar-popover__day--session{background:#bb32741f;color:#8a1f53;cursor:pointer}.calendar-popover__day--scheduled{background:#bb327414;color:#8a1f53c7;box-shadow:inset 0 0 0 1px #bb32742e}.calendar-popover__day--selected{background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);color:#fff}.calendar-popover__day--outside{opacity:.35}.calendar-popover__day:not(.calendar-popover__day--session):not(.calendar-popover__day--scheduled){background:#13221d14;color:#13221d3d}.calendar-popover__day:disabled{cursor:default}.calendar-popover__nav:disabled{opacity:.38;cursor:default}.attendance-row__main:disabled{cursor:not-allowed;opacity:.78}.guide-hero__eyebrow,.roster-panel__eyebrow{margin:0 0 var(--space-2);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.guide-hero__eyebrow{color:#ffffffc7}.creation-instruction{margin:0;color:#fffffff0;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.guide-layout,.guide-list,.selection-options,.roster-list{display:grid;gap:var(--space-3)}.guide-list__title{display:grid;gap:.2rem;color:#fff}.guide-list__title h2{margin:0;color:#fff;font-family:var(--font-display);font-size:clamp(1.4rem,4.8vw,2rem);line-height:1.08}.guide-card,.roster-panel,.selection-sheet{padding:var(--space-4);border-radius:var(--radius-lg);background:#fffaf2f5;box-shadow:0 10px 22px #0d201924}.guide-card h2,.roster-panel h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.1rem;line-height:1.1}.guide-card__content-blocks{display:grid;gap:var(--space-3)}.guide-card p,.guide-card li{margin:0;color:var(--color-text-muted);font-size:.95rem}.guide-card__list{margin:0;padding-left:1.25rem;display:grid;gap:var(--space-2)}.roster-panel{position:relative;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.roster-panel:before{content:"";position:absolute;left:0;right:0;top:calc(var(--space-3) * -1);height:2px;background:#ffffff85}.roster-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.roster-panel__eyebrow{color:var(--color-text-muted);font-size:.8rem}.roster-panel__badge{padding:var(--space-1) var(--space-2);font-size:.8rem;background:#ee42251f;color:#b12d17}.roster-panel__badge--muted{background:#13221d14;color:var(--color-text-muted)}.roster-panel__instruction{margin:0;font-weight:700}.roster-panel__controls{display:grid;gap:.75rem;margin:0 1rem .85rem}.roster-panel__view-toggle{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:.24rem;border:1px solid rgba(138,31,83,.14);border-radius:1.55rem;background:linear-gradient(180deg,#f9ecf2eb,#f1e4eceb);box-shadow:inset 0 1px #ffffffc2,0 8px 14px #54253c0d;overflow:hidden;isolation:isolate}.roster-panel__view-toggle-indicator{position:absolute;top:.24rem;bottom:.24rem;left:.24rem;width:calc(50% - .24rem);border-radius:1.28rem;background:linear-gradient(135deg,#bb3274,#8a4fe1 58%,#6284ea);box-shadow:inset 0 1px #ffffff4d,0 12px 20px #6f52ec38;transition:transform .18s ease;z-index:0}.roster-panel__view-toggle--inactive .roster-panel__view-toggle-indicator{transform:translate(100%)}.roster-panel__action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.roster-panel__view-button{position:relative;z-index:1;min-height:2.7rem;padding:.55rem .8rem;border:0;border-radius:1.15rem;background:transparent;color:#382230c7;font-size:.82rem;font-weight:800;cursor:pointer;transition:color .16s ease,opacity .16s ease,transform .16s ease}.roster-panel__view-button:hover,.roster-panel__view-button:focus-visible{outline:none}.roster-panel__view-button.is-active{color:#fff;text-shadow:0 1px 0 rgba(54,24,62,.24)}.roster-panel__view-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.roster-panel__action-button{display:flex;align-items:center;justify-content:center;min-height:2.95rem;padding:.6rem .85rem;border:2px dashed rgba(138,31,83,.34);border-radius:.95rem;background:linear-gradient(180deg,#ffffffeb,#f8f1edeb);color:var(--color-text);text-align:center;white-space:nowrap;font-size:.78rem;font-weight:800;line-height:1.1;letter-spacing:0;cursor:pointer;box-shadow:inset 0 1px #ffffffdb,0 8px 14px #54253c0d;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.roster-panel__action-button:hover,.roster-panel__action-button:focus-visible{background:linear-gradient(180deg,#fffffffa,#f9eef3f5);border-color:#8a1f536b;box-shadow:inset 0 1px #ffffffe6,0 10px 16px #54253c14;outline:none}.roster-panel__action-button.is-open{background:linear-gradient(180deg,#f9ebf2fa,#f4e3ecfa);border-color:#8a1f5385;color:#6f1d45;box-shadow:inset 0 1px #ffffffdb,0 10px 18px #54253c17}.secondary-button{min-height:3.6rem;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);color:var(--color-accent-text);box-shadow:0 8px #a627135c,0 14px 22px #4c0e062e;font-family:var(--font-display);font-size:1.05rem;font-weight:700;text-align:center;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.secondary-button:hover,.secondary-button:focus-visible{box-shadow:0 10px #a627136b,0 18px 28px #4c0e0638;filter:brightness(1.03)}.secondary-button:active{box-shadow:0 4px #a6271357,0 8px 14px #4c0e062e}.secondary-button:disabled{cursor:wait;opacity:.78;transform:none}.attendance-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);border:0;background:#fffdf8;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.attendance-row--lookup{border:1px dashed rgba(84,37,60,.16)}.attendance-row--inactive{background:linear-gradient(180deg,#fffaeefa,#fcf5dff0);border-color:#be902738}.attendance-row--present{background:#eef9f1;border-color:#248e5438}.attendance-row--absent{background:#fff0ef;border-color:#d043313d}.attendance-row--contact-active{border:1px solid rgba(138,31,83,.22);box-shadow:0 0 0 3px #8a1f5314}.attendance-row__main,.attendance-row__chevron{border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.attendance-row__main{min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);text-align:left}.attendance-row__main--lookup{cursor:pointer}.attendance-row__main--attendance:disabled{cursor:not-allowed;opacity:.72}.attendance-row__main:focus-visible,.attendance-row__chevron:focus-visible{outline:2px solid rgba(19,34,29,.24);outline-offset:2px;border-radius:var(--radius-sm)}.attendance-row__indicator{width:1.15rem;height:1.15rem;border-radius:var(--radius-pill);border:2px solid rgba(19,34,29,.18);background:#e6e1db;flex:0 0 auto}.attendance-row__indicator--present{border-color:#248e54;background:#248e54;box-shadow:0 0 0 4px #248e541f}.attendance-row__indicator--absent{border-color:#cf4331;background:#cf4331;box-shadow:0 0 0 4px #cf43311f}.attendance-row__name-block{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) .75rem;align-items:center;column-gap:var(--space-2)}.attendance-row__name{min-width:0;font-size:.96rem;font-weight:600;color:var(--color-text)}.attendance-row__lookup-copy{min-width:0;flex:1 1 auto;display:grid;gap:.25rem}.attendance-row__lookup-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.attendance-row__lookup-meta{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.attendance-row__status-pill{display:inline-flex;align-items:center;min-height:1.45rem;padding:.12rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.attendance-row__status-pill--active{background:#248e541f;color:#248e54}.attendance-row__status-pill--inactive{background:#be902729;color:#7a5b16}.attendance-row__outcome-icon{width:.75rem;height:.75rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;background:#13221d14;border:0;box-shadow:inset 0 0 0 1px #13221d14;flex:0 0 auto}.attendance-row__outcome-icon--game-level{background:#dff4ff}.attendance-row__outcome-icon--character{background:#ffe7ef}.attendance-row__outcome-icon--art-animation{background:#fff0d8}.attendance-row__outcome-icon--background-scene{background:#e7f7e8}.attendance-row__outcome-icon--comic{background:#f0e8ff}.attendance-row__outcome-icon--did-not-create{background:#f7e6de}.attendance-row__outcome-icon--not-here{background:#ececec}.attendance-row__chevron{width:2.5rem;min-height:2.5rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;color:#8a1f53;font-size:1rem;font-weight:800}.attendance-row__chevron:hover{background:#bb327414}.attendance-row__details{grid-column:1 / -1;padding:0 var(--space-2) var(--space-2) calc(1.15rem + var(--space-5));display:grid;gap:var(--space-1);overflow:visible}.attendance-row__details-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.attendance-row__credentials{display:grid;gap:var(--space-1)}.attendance-row__detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.attendance-row__access-note{margin-bottom:.75rem;padding:.7rem .8rem;border-radius:.95rem;background:#ffecb257;box-shadow:inset 0 0 0 1px #9a751b1f}.attendance-row__access-note--active{background:#aef2ad4d;box-shadow:inset 0 0 0 1px #23824724}.attendance-row__access-button{min-width:11.75rem;justify-content:center}.attendance-row__access-button--active{background:#17783a1a;border-color:#17783a2e}.attendance-row__details p{margin:0;color:var(--color-text-muted);font-size:.88rem;display:grid;gap:.18rem}.attendance-row__details span{font-weight:700;color:var(--color-text)}.attendance-row__details strong{font-weight:600;color:var(--color-text-muted);word-break:break-word}.attendance-row__contact-button{min-height:2.25rem;padding:.45rem .75rem;border:1px solid rgba(19,34,29,.12);border-radius:var(--radius-pill);background:#ffffffeb;color:var(--color-text);display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.attendance-row__contact-button:hover,.attendance-row__contact-button:focus-visible{background:#fff;border-color:#8a1f533d;outline:none}.attendance-row__contact-button--active{background:#8a1f5314;border-color:#8a1f533d}.attendance-row__contact-button--missing{color:var(--color-text-muted)}.attendance-row__contact-chevron{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:#8a1f53;font-size:.9rem;font-weight:800;transition:transform .14s ease}.attendance-row__contact-chevron--active{transform:rotate(90deg)}.contact-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;border:0;background:#13221d47}.contact-drawer{position:fixed;top:0;right:0;bottom:0;z-index:12;width:min(23rem,92vw);padding:var(--space-4);background:#fffcf7fb;box-shadow:-16px 0 28px #0d20192e;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);overflow:hidden;animation:contact-drawer-slide-in .18s ease}.contact-drawer--inline{display:none}.contact-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.contact-drawer__eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-drawer__header h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:1.35rem;line-height:1.08}.contact-drawer__meta{margin:0;color:var(--color-text-muted);font-size:.85rem;font-weight:600}.contact-drawer__close{min-height:2.3rem;padding:.35rem .8rem;border:1px solid rgba(19,34,29,.12);border-radius:var(--radius-pill);background:#ffffffe0;color:#8a1f53;font-size:.8rem;font-weight:800;letter-spacing:.03em;cursor:pointer}.contact-drawer__close:hover,.contact-drawer__close:focus-visible{background:#fff;border-color:#8a1f533d;outline:none}.contact-drawer__body{min-height:0;display:grid;align-content:start;gap:var(--space-2);overflow:auto;padding-right:.15rem}.contact-drawer__section{display:grid;gap:.55rem;padding:.8rem;border:1px solid rgba(19,34,29,.08);border-radius:var(--radius-md);background:#ffffffa8}.contact-drawer__section-label,.contact-drawer__field-label{margin:0;display:block;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.contact-drawer__section-label{white-space:nowrap;font-size:.86rem;text-align:center;letter-spacing:.06em}.contact-drawer__field-label{text-transform:none;letter-spacing:.02em}.contact-drawer__field{display:grid;gap:.18rem;min-width:0}.contact-drawer__value-link,.contact-drawer__value-text,.contact-drawer__empty{margin:0;display:block;font-size:.94rem;line-height:1.35;word-break:break-word}.contact-drawer__value-link,.contact-drawer__value-text{color:var(--color-text);font-weight:600}.contact-drawer__value-link{text-decoration:none}.contact-drawer__value-link[href^="mailto:"]{max-width:100%;width:100%;min-width:0;font-size:clamp(.76rem,3vw,.98rem);line-height:1.18;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-drawer__value-link:hover,.contact-drawer__value-link:focus-visible{text-decoration:underline;outline:none}.contact-drawer__empty{color:var(--color-text-muted)}.contact-drawer__actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.contact-drawer__action-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;padding:.25rem .55rem;border:1px solid rgba(138,31,83,.14);border-radius:var(--radius-pill);background:#8a1f530f;color:#8a1f53;font-size:.72rem;font-weight:700;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}.contact-drawer__action-button:hover,.contact-drawer__action-button:focus-visible{background:#8a1f531a;outline:none}@keyframes contact-drawer-slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.guide-actions{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-3)}.primary-button{width:100%;min-height:4.25rem;padding:var(--space-5) var(--space-4);border:0;border-radius:var(--radius-md);background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);color:var(--color-accent-text);font-family:var(--font-display);font-size:1.28rem;font-weight:700;letter-spacing:.01em;box-shadow:0 10px #a627136b,0 18px 28px #4c0e0638;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.primary-button:hover,.primary-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px #a6271370,0 22px 34px #4c0e063d;filter:brightness(1.03);outline:none}.primary-button:active{transform:translateY(4px) scale(.99);box-shadow:0 5px #a6271361,0 10px 16px #4c0e062e}.student-card{min-height:6rem;padding:var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdf8 0%,var(--color-surface-strong) 100%);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-3);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.student-card:hover,.student-card:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#ffcf5af2}.student-card:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.student-card__name{font-size:1.3rem}.student-card__status{font-size:.92rem;font-weight:700}.student-card--complete{border-color:#13221d1f}.student-card--game-level{background:linear-gradient(180deg,#edf9ff,#dff4ff)}.student-card--character{background:linear-gradient(180deg,#fff1f6,#ffe7ef)}.student-card--art-animation{background:linear-gradient(180deg,#fff7e9,#fff0d8)}.student-card--background-scene{background:linear-gradient(180deg,#f1fbf1,#e7f7e8)}.student-card--comic{background:linear-gradient(180deg,#f6f0ff,#f0e8ff)}.student-card--did-not-create{background:linear-gradient(180deg,#fbf0ea,#f7e6de)}.student-card--not-here{background:linear-gradient(180deg,#f4f4f4,#ececec)}.student-card--game-level .student-card__chevron:not(.student-card__chevron--complete),.student-card--character .student-card__chevron:not(.student-card__chevron--complete),.student-card--art-animation .student-card__chevron:not(.student-card__chevron--complete),.student-card--background-scene .student-card__chevron:not(.student-card__chevron--complete),.student-card--comic .student-card__chevron:not(.student-card__chevron--complete),.student-card--did-not-create .student-card__chevron:not(.student-card__chevron--complete),.student-card--not-here .student-card__chevron:not(.student-card__chevron--complete){background:#ffffff8c}.selection-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;gap:var(--space-4);border-radius:0;background:linear-gradient(180deg,#d03b7f,#bb3274);padding:calc(env(safe-area-inset-top,0px) + var(--space-6)) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));color:#fff}.selection-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.selection-sheet__actions{display:flex;align-items:center;gap:var(--space-2)}.sheet-clear{background:#13221d2e}.selection-options{gap:var(--space-3)}.selection-option{min-height:4.25rem;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;font-family:var(--font-display);font-size:1.1rem;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.selection-option:hover,.selection-option:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#fffffff2}.selection-option:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.selection-option--game-level{background:#dff4ff}.selection-option--character{background:#ffe7ef}.selection-option--art-animation{background:#fff0d8}.selection-option--background-scene{background:#e7f7e8}.selection-option--comic{background:#f0e8ff}.selection-option--did-not-create{background:#f7e6de}.selection-option--not-here{background:#ececec}.helper-note{margin:0;color:#ffffffe0;font-size:.88rem;text-align:center}.pin-drawer{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:#bb327414;box-shadow:inset 0 0 0 1px #bb327424}.pin-drawer__message{text-align:left;color:var(--color-text-muted)}.pin-drawer__message--primary{color:var(--color-text);font-size:.98rem;font-weight:700}.pin-drawer__message--hint{font-size:.88rem}.pin-drawer__field{display:grid;gap:var(--space-2);font-weight:700;color:var(--color-text)}.pin-drawer__input-wrap{position:relative}.pin-drawer__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.pin-drawer__slot{display:flex;align-items:center;justify-content:center;min-height:3.75rem;border-radius:var(--radius-md);background:#fffffff5;color:#13221db8;font-family:Consolas,Courier New,monospace;font-size:1.2rem;font-weight:700;box-shadow:inset 0 0 0 2px #61153b2e}.pin-drawer__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:transparent;color:transparent;caret-color:#8a1f53;opacity:.01}.pin-drawer__input:focus{outline:none}.pin-drawer__input-wrap:focus-within .pin-drawer__slot{box-shadow:inset 0 0 0 2px #8a1f5359}.pin-drawer__checkbox{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-text);font-size:.82rem;font-weight:600;line-height:1.25}.pin-drawer__checkbox input{flex:0 0 auto;width:1rem;height:1rem;margin-top:.15rem;accent-color:#bb3274}.pin-drawer__error{margin:0;color:#b12d17;font-size:.9rem;font-weight:700}.pin-drawer__actions{display:flex;align-items:stretch;gap:.45rem}.pin-drawer__submit{flex:1 1 auto;min-width:0;min-height:3rem;padding:.8rem .75rem;font-size:.88rem;line-height:1.1;text-align:center;box-shadow:0 5px #a6271352,0 9px 14px #4c0e0629}.pin-drawer__submit:hover,.pin-drawer__submit:focus-visible{box-shadow:0 6px #a627135c,0 11px 16px #4c0e062e}.pin-drawer__submit:active{box-shadow:0 3px #a627134d,0 6px 10px #4c0e0624}.pin-drawer__cancel{flex:0 0 auto;min-width:4.9rem;padding-left:.75rem;padding-right:.75rem;justify-content:center;align-self:end;background:#13221d1a;color:var(--color-text)}.roster-lock-card{gap:var(--space-3)}.roster-lock-card__title{margin:0;font-family:var(--font-display);font-size:1.2rem;color:var(--color-text)}.roster-lock-card__message{margin-top:calc(var(--space-2) * -1)}.roster-lock-card__status{margin:0;color:var(--color-text-muted);font-size:.88rem;font-weight:600}.primary-button__label{display:block}.primary-button__subtext{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.35rem;font-family:var(--font-body);font-size:.82rem;font-weight:700;letter-spacing:0;line-height:1.2;color:#fffffff5}.primary-button__lock{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}.primary-button__lock-icon{position:relative;width:.78rem;height:.62rem;border:2px solid rgba(255,255,255,.96);border-radius:.16rem;flex:0 0 auto}.primary-button__lock-icon:before{content:"";position:absolute;left:50%;bottom:calc(100% - 1px);width:.54rem;height:.46rem;border:2px solid rgba(255,255,255,.96);border-bottom:0;border-radius:.45rem .45rem 0 0;transform:translate(-50%)}.primary-button:disabled{cursor:not-allowed;opacity:.82;transform:none;box-shadow:0 6px #a6271342,0 12px 18px #4c0e0624}.primary-button--locked{padding-top:var(--space-4);padding-bottom:var(--space-4)}.scroll-top-button{position:fixed;right:1.35rem;bottom:1.35rem;z-index:12;display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border:0;border-radius:999px;color:#fff;background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);box-shadow:0 16px 28px #4c0e063d;font-size:1.3rem;font-weight:900;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.scroll-top-button:hover,.scroll-top-button:focus-visible{transform:translateY(-2px);box-shadow:0 20px 30px #4c0e0647;filter:brightness(1.03);outline:none}@media (max-width: 430px){.app-shell{padding-left:.5rem;padding-right:.5rem}.phone-frame{padding-left:0;padding-right:0}.school-list,.creation-list{gap:.5rem}.school-card,.student-card{padding:.85rem}.creation-list .student-card{min-height:4rem;padding:.72rem .8rem;gap:.62rem}.creation-list .student-card__name{font-size:1rem}.creation-list .student-card__status{font-size:.72rem}.school-card{display:grid;grid-template-columns:minmax(0,1fr) 1.55rem;grid-template-rows:auto auto;align-items:start}.school-card__content{grid-column:1;grid-row:1 / span 2}.school-card__label,.student-card__name{font-size:1.02rem}.school-card__chevron,.student-card__chevron{width:1.55rem;height:1.55rem;font-size:.92rem}.school-card__chevron{grid-column:2;grid-row:2;align-self:end;justify-self:end}.screen-topbar{gap:var(--space-2)}.screen-date{max-width:9.5rem;font-size:.82rem}.scroll-top-button{right:1rem;bottom:1rem;width:3rem;height:3rem}}@media (min-width: 1100px){.guide-layout{grid-template-columns:minmax(0,2.1fr) minmax(21rem,.95fr);align-items:start;gap:var(--space-4)}.guide-layout--contact-open{grid-template-columns:minmax(0,1.45fr) minmax(21rem,.95fr) minmax(19.5rem,.78fr)}.roster-panel{position:sticky;top:var(--space-3);margin-top:0}.roster-panel:before{display:none}.attendance-row__details{padding-left:var(--space-2)}.attendance-row__details-grid{grid-template-columns:minmax(0,1fr)}.attendance-row__detail-actions{justify-content:flex-start;width:100%}.contact-drawer-backdrop,.contact-drawer--inline{display:none}.contact-drawer{position:sticky;top:var(--space-3);bottom:auto;width:auto;min-width:0;max-height:calc(100vh - (var(--space-3) * 2));border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.22);box-shadow:0 14px 24px #0d201929}}@media (min-width: 640px){.app-shell{padding:var(--space-5)}.phone-frame{min-height:calc(100vh - (var(--space-5) * 2));padding-left:var(--space-4);padding-right:var(--space-4)}.guide-layout{gap:var(--space-4)}.selection-sheet{padding-left:max(var(--space-6),calc((100vw - var(--app-width)) / 2 + var(--space-4)));padding-right:max(var(--space-6),calc((100vw - var(--app-width)) / 2 + var(--space-4)))}}.roster-panel__feedback{margin:0;color:#8a1f53;font-size:.88rem;font-weight:600}@media (max-width: 640px){.hero-panel--intro{min-height:52vh}.hero-panel__logo--intro{width:min(78vw,21rem)}.guide-hero__heading-row{flex-direction:column;align-items:flex-start}.guide-hero__session-meta{justify-items:start}.guide-hero__session-number{font-size:.82rem}.guide-hero__session-badge{font-size:.72rem;padding:.45rem .75rem}.guide-hero__codes p{font-size:.92rem}.roster-panel,.selection-sheet{padding:var(--space-3)}.guide-card__header{padding:.65rem .9rem}.guide-card__body{padding:.85rem .9rem .9rem}.screen-topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem}.text-button{padding:.55rem .72rem;font-size:.86rem;white-space:nowrap;align-self:center}.screen-date-controls{width:100%;min-width:0;gap:.4rem}.screen-date-button{padding:.58rem .65rem;max-width:none;font-size:.8rem}.screen-date-nav{width:2rem;height:2rem;flex:0 0 auto}}@media (max-width: 420px){.text-button{padding:.5rem .62rem;font-size:.8rem}.screen-date-controls{gap:.32rem}.screen-date-button{padding:.52rem .55rem;font-size:.76rem}.screen-date-nav{width:1.85rem;height:1.85rem}.guide-hero h1{font-size:clamp(1.85rem,10vw,2.7rem)}.guide-card__title{font-size:.95rem}.roster-panel__header h2{font-size:1.45rem}}:root{--leader-bg-top: #c3397d;--leader-bg-bottom: #ac2d69;--leader-shell-surface: rgba(255, 247, 241, .1);--leader-shell-border: rgba(255, 255, 255, .14);--leader-surface: rgba(255, 250, 244, .95);--leader-surface-strong: rgba(255, 253, 248, .98);--leader-line: rgba(101, 26, 63, .12);--leader-shadow: 0 22px 44px rgba(68, 11, 40, .18);--leader-pill-shadow: 0 10px 18px rgba(71, 16, 48, .12);--splash-day-accent: #ffd866;--splash-day-accent-soft: rgba(255, 216, 102, .2);--splash-day-accent-glow: rgba(255, 216, 102, .24)}.app-shell{background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 28%),radial-gradient(circle at 82% 14%,rgba(255,164,121,.12),transparent 20%),linear-gradient(180deg,var(--leader-bg-top) 0%,var(--leader-bg-bottom) 100%)}.phone-frame{gap:1.5rem}.leader-splash-shell,.leader-top-shell{position:relative;border:1px solid var(--leader-shell-border);border-radius:2rem;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 28%),linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:0 30px 58px #41092738,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.leader-splash-shell{overflow:hidden}.leader-top-shell{z-index:1;overflow:visible}.leader-top-shell--calendar-open{z-index:70}.leader-splash-shell{width:min(100%,31rem);margin:0 auto;padding:.75rem 1rem .95rem;display:grid;justify-items:center;place-self:center}.leader-top-shell{padding:1rem}.leader-top-shell--compact{padding-bottom:1.1rem}.hero-panel{padding:.65rem 0 .4rem;width:min(100%,27rem);margin:0 auto;justify-self:center}.hero-panel__content{max-width:32rem}.hero-panel__logo{margin-left:auto;margin-right:auto}.hero-copy{max-width:22rem;font-size:.98rem;font-weight:700;letter-spacing:.02em}.hero-status{max-width:28rem}.hero-status--warning{border:1px solid rgba(255,255,255,.12);background:#460a2a33;box-shadow:inset 0 1px #ffffff14}.hero-status__button{min-height:2.5rem;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.16);box-shadow:var(--leader-pill-shadow);font-weight:800}.splash-content{display:grid;justify-items:center}.leader-splash-groups{width:min(100%,66rem);padding:1.45rem;border:1px solid var(--leader-shell-border);border-radius:2rem;background:radial-gradient(circle at top center,rgba(255,255,255,.14),transparent 36%),linear-gradient(180deg,#ffffff1f,#ffffff0d);box-shadow:0 28px 52px #41092733,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.school-day-groups{gap:1.5rem}.school-day-section{gap:.95rem}.school-day-heading-wrap{display:grid;justify-items:center}.school-day-heading{font-size:1rem;letter-spacing:.16em;text-align:center}.school-day-heading:after{width:4.75rem;height:.28rem;margin:.65rem auto 0;border-radius:999px;background:linear-gradient(90deg,transparent 0%,var(--splash-day-accent) 18%,var(--splash-day-accent) 82%,transparent 100%);box-shadow:0 0 .9rem var(--splash-day-accent-glow)}.school-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.school-card{width:min(100%,18rem);min-height:5.75rem;position:relative;overflow:hidden;padding:1rem 1rem 1rem 1.05rem;border:1px solid rgba(255,255,255,.72);border-radius:1.6rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.95),transparent 26%),linear-gradient(180deg,#fffffffc,#faf3eff5);box-shadow:0 22px 36px #41092738,0 8px 18px #41092714,inset 0 1px #ffffffd6}.school-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #fffffff0,inset 0 0 0 4px transparent;opacity:0;transition:opacity .18s ease,box-shadow .18s ease;pointer-events:none}.school-card:hover,.school-card:focus-visible{transform:translateY(-4px) scale(1.015);border-color:#ffffffe6;box-shadow:0 30px 50px #41092747,0 12px 22px #4109271f,inset 0 1px #ffffffe0}.school-card:hover:after,.school-card:focus-visible:after{opacity:1;box-shadow:inset 0 0 0 1px #fffffff0,inset 0 0 0 4px var(--splash-day-accent)}.school-card:active{transform:translateY(1px) scale(.99);box-shadow:0 12px 22px #4109272e,inset 0 1px #ffffffd6}.school-card__accent{width:1rem;height:1rem;border-radius:999px;background:var(--splash-day-accent);box-shadow:0 0 0 .45rem var(--splash-day-accent-soft)}.school-card__content{display:grid;gap:.22rem}.school-card__label{font-size:1.24rem;font-weight:700;line-height:1.08}.school-card__day{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-card__meta{font-size:.82rem;font-weight:700}.school-card__chevron{width:2rem;height:2rem;background:linear-gradient(180deg,#ffffffeb,#ffffffb3),var(--splash-day-accent-soft);color:var(--splash-day-accent);box-shadow:inset 0 0 0 1px #8a1f531a,0 8px 14px #4109271a}.school-card:hover .school-card__chevron,.school-card:focus-visible .school-card__chevron{background:linear-gradient(180deg,#ffffffeb,#ffffffb3),var(--splash-day-accent-soft);box-shadow:0 9px 16px #12083a24,inset 0 0 0 1px var(--splash-day-accent-soft)}.screen-topbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center}.screen-date-controls{justify-self:end;width:fit-content;padding:.42rem;border-radius:1.35rem;background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff14,0 14px 24px #3d082324}.text-button,.screen-date-button,.screen-date-nav,.sheet-close,.sheet-clear,.contact-drawer__close,.contact-drawer__action-button,.attendance-row__contact-button,.calendar-popover__nav,.calendar-popover__close{box-shadow:var(--leader-pill-shadow)}.text-button,.sheet-close,.sheet-clear{min-height:2.45rem;padding:.5rem .88rem;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#fffffffa,#f3e8efeb);color:#6e2249;box-shadow:inset 0 1px #ffffffd1,var(--leader-pill-shadow);font-size:.88rem;font-weight:800}.text-button:hover,.text-button:focus-visible,.sheet-close:hover,.sheet-close:focus-visible,.sheet-clear:hover,.sheet-clear:focus-visible{background:linear-gradient(180deg,#fff,#f8eef3f5);transform:translateY(-1px)}.screen-date{color:#ffffffe6;font-size:.92rem;font-weight:800}.screen-date-button{min-height:2.5rem;padding:.55rem 1.1rem;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff38,#ffffff1f);color:#fff;font-size:.92rem;font-weight:800;letter-spacing:.01em}.screen-date-button:hover,.screen-date-button:focus-visible{background:linear-gradient(180deg,#ffffff47,#ffffff29);outline:none}.screen-date-nav,.calendar-popover__nav{width:2.45rem;height:2.45rem;border:1px solid rgba(255,255,255,.12);color:#fff}.screen-date-nav:hover,.screen-date-nav:focus-visible,.calendar-popover__nav:hover,.calendar-popover__nav:focus-visible{transform:translateY(-1px);outline:none}.screen-date-nav{background:linear-gradient(180deg,#ffffff38,#ffffff1f)}.screen-date-nav:hover,.screen-date-nav:focus-visible{background:linear-gradient(180deg,#ffffff4d,#ffffff2e)}.calendar-popover__nav{border-color:#d35d4938;background:linear-gradient(180deg,#f08f7d,#ef6f5b);box-shadow:inset 0 1px #ffffff47,0 10px 16px #a627132e}.calendar-popover__nav:hover,.calendar-popover__nav:focus-visible{background:linear-gradient(180deg,#f39d8c,#f07964);box-shadow:inset 0 1px #ffffff4d,0 12px 18px #a6271338}.guide-hero{padding:.35rem 0 0}.guide-hero h1{transition:color .18s ease}.guide-hero__heading-row{gap:1.25rem}.guide-hero__eyebrow,.roster-panel__eyebrow,.contact-drawer__eyebrow{letter-spacing:.14em}.guide-hero__session-meta{gap:.28rem;padding:.42rem .48rem;border-radius:1.15rem;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff0d}.guide-hero__session-badge,.roster-panel__badge{display:inline-flex;align-items:center;justify-content:center;min-height:2.1rem;padding:.4rem .95rem;border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.06em;box-shadow:inset 0 1px #ffffff2e,0 10px 16px #450a2a24}.guide-hero__session-badge--online{background:linear-gradient(135deg,#ffdd8d47,#f6a4572e);color:#fff4c2}.guide-hero__session-badge--offline{background:linear-gradient(135deg,#cbf6df33,#82d6ac29);color:#e2fff0}.guide-hero__session-number{font-size:.78rem;letter-spacing:.12em;opacity:.94}.guide-hero__codes{grid-template-columns:repeat(auto-fit,minmax(13rem,max-content));gap:.6rem 1rem}.guide-hero__codes p{padding:.55rem .8rem;border-radius:1rem;background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff14;font-size:.95rem}.leader-calendar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.leader-calendar-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#13221d52;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.calendar-popover{position:relative;z-index:61;width:min(100%,26rem);padding:1.2rem;border:1px solid rgba(255,255,255,.72);border-radius:1.65rem;background:radial-gradient(circle at top left,rgba(255,255,255,.92),transparent 32%),linear-gradient(180deg,#fff,#faf6f2fe);box-shadow:0 28px 48px #14111f38,inset 0 1px #ffffffe6}.calendar-popover__header h2{font-size:1.35rem}.calendar-popover__close{min-height:2.35rem;padding:.5rem .88rem;border:1px solid rgba(138,31,83,.12);background:linear-gradient(180deg,#fff,#f7ecf1f5);color:#8a1f53;font-size:.84rem;font-weight:800}.calendar-popover__weekdays span{font-size:.7rem;font-weight:800;letter-spacing:.08em}.calendar-popover__day{min-height:2.75rem;border:1px solid transparent;font-size:.92rem}.calendar-popover__day--session{border-color:#8a1f531f}.calendar-popover__day--selected{box-shadow:inset 0 1px #ffffff2e,0 12px 18px #a627132e}.guide-screen,.creation-screen{gap:1.35rem}.guide-layout{position:relative;z-index:1;padding:1rem;border:1px solid var(--leader-shell-border);border-radius:2rem;background:radial-gradient(circle at top left,rgba(255,255,255,.12),transparent 28%),linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:0 28px 56px #41092738,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:start}.guide-list{align-content:start;min-width:0}.guide-list__title{padding:0 .15rem}.guide-list__title h2{font-size:clamp(1.9rem,4.8vw,2.6rem);line-height:.98}.guide-list__theme-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.3rem}.guide-list__theme-label{margin:0;color:#ffffffdb;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.guide-list__theme-pill{display:inline-flex;align-items:center;min-height:2rem;padding:.38rem .82rem;border-radius:999px;color:#2b5247;background:#f6ffe8e6;box-shadow:inset 0 0 0 1px #2b524714,0 8px 16px #10434714;font-size:.82rem;font-weight:800}.guide-card,.roster-panel,.contact-drawer,.selection-sheet{border:1px solid rgba(255,255,255,.74);background:radial-gradient(circle at top left,rgba(255,255,255,.72),transparent 30%),linear-gradient(180deg,var(--leader-surface-strong),var(--leader-surface));box-shadow:0 22px 40px #3a0e2824,inset 0 1px #ffffffe0}.guide-card,.roster-panel{padding:0}.guide-card{overflow:hidden}.roster-panel,.contact-drawer{min-width:0}.guide-card__header{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;background:linear-gradient(180deg,color-mix(in srgb,var(--guide-card-accent) 90%,white 10%),var(--guide-card-accent));color:var(--guide-card-header-text);box-shadow:inset 0 -1px #ffffff2e}.guide-card__icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:.8rem;background:#ffffff2e}.guide-card__title{margin:0;color:inherit}.guide-card__body{padding:1rem 1rem 1.2rem}.guide-card p,.guide-card li{line-height:1.56}.guide-card__content-blocks{gap:1.05rem}.guide-card__content-blocks>p+.guide-card__list{margin-top:-.15rem}.guide-card__content-blocks>.guide-card__list+p{margin-top:-.05rem}.guide-card__list{gap:.62rem}.roster-panel{gap:0;margin-top:0}.roster-panel:before{display:none}.roster-panel__header{padding:1rem 1rem .7rem;align-items:flex-start}.roster-panel__meta{font-size:.88rem}.roster-panel__instruction,.roster-panel__feedback,.roster-lock-card,.secondary-button,.roster-list{margin-left:1rem;margin-right:1rem}.secondary-button{width:auto;display:block;margin-top:.4rem;margin-bottom:.85rem}.roster-panel__instruction{margin-bottom:.3rem;font-size:.9rem;line-height:1.5}.roster-panel__feedback{margin-top:0}.roster-list{margin-bottom:1rem}.roster-list--lookup{margin-top:.85rem}.student-lookup-panel{margin:0 1rem 1rem;padding:.95rem;border-radius:1.25rem;background:linear-gradient(180deg,#ffffffeb,#f9f4efeb);box-shadow:inset 0 0 0 1px #54253c0f,0 10px 18px #3a0e280a}.student-lookup-panel:not(.is-open){padding-top:.85rem;padding-bottom:.85rem}.student-lookup-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.student-lookup-panel__instruction{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.84rem;line-height:1.45}.student-lookup-panel__search{display:grid;gap:.45rem;margin-top:.85rem}.student-lookup-panel__search span{color:var(--color-text);font-size:.8rem;font-weight:800}.student-lookup-panel__search input{width:100%;min-height:2.9rem}.login-sheet-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem}.login-sheet-modal-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#13221d61;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.login-sheet-modal{position:relative;z-index:81;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(72rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:1.75rem;background:radial-gradient(circle at top left,rgba(255,255,255,.94),transparent 32%),linear-gradient(180deg,#fff,#f9f4effe);box-shadow:0 28px 56px #14111f3d,inset 0 1px #ffffffe6}.login-sheet-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(84,37,60,.08)}.login-sheet-modal__header h2{margin:.12rem 0 0;font-size:1.45rem}.login-sheet-modal__instruction{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.88rem;line-height:1.5}.login-sheet-modal__header-actions{display:grid;justify-items:end;gap:.7rem}.login-sheet-modal__count{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.28rem .65rem;border-radius:999px;background:#8a1f5314;color:#6f1d45;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.login-sheet-modal__close{min-height:2.5rem;padding:.55rem .95rem;border:1px solid rgba(138,31,83,.16);border-radius:1rem;background:linear-gradient(180deg,#fff,#f7ecf1f5);color:#8a1f53;font-size:.84rem;font-weight:800}.login-sheet-modal__body{overflow:auto;padding:1rem 1.25rem 1.25rem}.login-sheet-modal__customize-button{min-height:2.35rem;padding:.48rem .9rem;border:1px solid rgba(138,31,83,.16);border-radius:999px;background:linear-gradient(180deg,#fff,#f7ecf1f5);color:#8a1f53;font-size:.8rem;font-weight:800}.login-sheet-modal__customize-button.is-open{border-color:#8a1f5347;background:#8a1f5314;color:#6f1d45}.login-sheet-modal__filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.85rem}.login-sheet-filter{display:inline-flex;align-items:center;gap:.45rem;min-height:2.6rem;padding:.55rem .7rem;border:1px solid rgba(19,34,29,.12);border-radius:1rem;background:#ffffffe6;color:var(--color-text);font-size:.82rem;font-weight:800;cursor:pointer}.login-sheet-filter.is-selected{border-color:#8a1f533d;background:#8a1f5314;color:#6f1d45}.login-sheet-filter input{margin:0}.login-sheet-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.login-sheet-modal__print-button{width:auto;margin:0;min-height:3.15rem}.login-sheet-modal__shared{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;margin:.9rem 0 0}.login-sheet-modal__shared-item{padding:.72rem .8rem;border:1px solid rgba(138,31,83,.12);border-radius:1rem;background:#fcf6f9f2}.login-sheet-modal__shared-item dt{color:#6f1d45;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.login-sheet-modal__shared-item dd{margin:.22rem 0 0;color:var(--color-text);font-size:1rem;font-weight:800}.login-sheet-table-wrap{margin-top:.9rem;overflow:auto;border-radius:1.15rem;background:#ffffffd6;box-shadow:inset 0 0 0 1px #54253c14}.login-sheet-table{width:100%;min-width:44rem;border-collapse:collapse}.login-sheet-table th,.login-sheet-table td{padding:.82rem .9rem;border-bottom:1px solid rgba(84,37,60,.08);text-align:left;vertical-align:top}.login-sheet-table thead th{position:sticky;top:0;z-index:1;background:#f6efeaf5;color:#6f1d45;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.login-sheet-table thead th:nth-child(n+2){text-align:center}.login-sheet-table tbody th{min-width:13rem;font-size:.93rem;font-weight:800}.login-sheet-table tbody tr:last-child th,.login-sheet-table tbody tr:last-child td{border-bottom:0}.login-sheet-table td{min-width:9rem;color:var(--color-text);font-size:.84rem;font-weight:700;overflow-wrap:anywhere}.login-sheet-table tbody td:nth-child(n+2){text-align:center}.login-sheet-table__status{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;padding:.2rem .55rem;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.login-sheet-table__status--active{background:#248e541f;color:#237049}.login-sheet-table__status--inactive{background:#8a1f531a;color:#6f1d45}.secondary-button,.primary-button{border-radius:1.3rem;font-weight:800;letter-spacing:.01em}.secondary-button{min-height:3.85rem;padding:.95rem 1.2rem;box-shadow:0 8px #a6271352,0 14px 22px #60150929}.primary-button{border-radius:1.45rem;box-shadow:0 12px #a6271361,0 22px 34px #60150938}.guide-actions .primary-button{min-height:3.95rem;padding:.95rem 1.25rem;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px #a6271352,0 16px 24px #60150929}.guide-actions .primary-button:hover,.guide-actions .primary-button:focus-visible{box-shadow:0 10px #a6271357,0 18px 28px #6015092e}.guide-actions .primary-button__label{line-height:1.02}.guide-actions .primary-button__subtext{margin-top:.22rem;font-size:.76rem;line-height:1.24}.attendance-row{padding:.46rem;border:1px solid rgba(84,37,60,.08);border-radius:1.45rem;background:linear-gradient(180deg,#fffffff5,#faf5f1f0);box-shadow:0 9px 16px #3a0e280a,inset 0 1px #ffffffd1}.attendance-row--present{background:linear-gradient(180deg,#f4fcf6,#eef9f1)}.attendance-row--absent{background:linear-gradient(180deg,#fff5f3,#fff0ef)}.attendance-row--contact-active{border-color:#8a1f532e;box-shadow:0 12px 20px #3a0e280f,0 0 0 3px #8a1f5314,inset 0 1px #ffffffd6}.attendance-row__main{min-height:2.72rem;gap:.65rem;padding:.18rem .42rem}.attendance-row__name{font-size:.98rem;font-weight:700}.attendance-row__chevron{width:2.2rem;min-height:2.2rem;border:1px solid rgba(138,31,83,.08);background:linear-gradient(180deg,#ffffffe6,#f9eff4e0);box-shadow:inset 0 1px #ffffffd6,0 5px 10px #3a0e280d;font-size:.92rem}.attendance-row__chevron:hover,.attendance-row__chevron:focus-visible{background:linear-gradient(180deg,#fff,#fbf0f5f5);outline:none}.attendance-row__details{padding:.35rem .35rem .6rem}.attendance-row__details-grid{width:100%;gap:.85rem;padding-top:.5rem;border-top:1px solid rgba(84,37,60,.08);justify-items:stretch}.attendance-row__credentials{width:100%;max-width:none;margin:0;padding:.8rem .9rem;border-radius:1rem;background:#ffffffad;box-shadow:inset 0 0 0 1px #54253c0f;justify-self:stretch;justify-items:start;text-align:left}.attendance-row__credential{width:100%;display:grid;gap:.18rem;padding:.14rem 0}.attendance-row__credential+.attendance-row__credential{margin-top:.18rem;padding-top:.38rem;border-top:1px solid rgba(84,37,60,.08)}.attendance-row__details p{gap:.16rem;line-height:1.22}.attendance-row__credential span,.attendance-row__details span{font-size:.8rem;letter-spacing:.01em}.attendance-row__credential strong,.attendance-row__details strong{color:var(--color-text);line-height:1.28}.attendance-row__contact-button{min-height:2.4rem;padding:.48rem .82rem;border:1px solid rgba(138,31,83,.12);background:linear-gradient(180deg,#fff,#f7ecf1f0);color:#4c2739;font-size:.82rem;font-weight:800;box-shadow:inset 0 1px #ffffffe6,0 8px 14px #3a0e2814}.attendance-row__contact-button:hover,.attendance-row__contact-button:focus-visible{transform:translateY(-1px)}.attendance-row__contact-button--active{background:linear-gradient(180deg,#f6e7ef,#f2dee9f5)}.contact-drawer{width:min(24rem,92vw);padding:1rem;border-radius:1.9rem}.contact-drawer__header{align-items:flex-start;padding-bottom:.14rem}.contact-drawer__meta{font-size:.9rem}.contact-drawer__body{gap:.85rem}.contact-drawer__section{gap:.48rem;padding:.95rem;border-radius:1.2rem;background:linear-gradient(180deg,#ffffffd1,#fbf6f2c2);box-shadow:inset 0 0 0 1px #54253c0f,0 10px 18px #3a0e280a;justify-items:start;text-align:left}.contact-drawer__section-label{margin-bottom:.2rem;text-align:left;justify-self:start}.contact-drawer__field{gap:.12rem;justify-items:start;text-align:left}.contact-drawer__action-button,.contact-drawer__close{min-height:2rem;padding:.32rem .68rem;border:1px solid rgba(138,31,83,.12);background:linear-gradient(180deg,#fff,#f7ecf1f2);color:#8a1f53;font-weight:800}.contact-drawer__close{align-self:flex-start;margin-top:.08rem;min-height:1.92rem;padding:.28rem .62rem;font-size:.76rem;border-color:#8a1f531a}.contact-drawer__actions{gap:.5rem;margin-top:.32rem;justify-content:flex-start}.creation-instruction{margin-top:-.2rem;color:#fffffff0;font-size:.84rem;letter-spacing:.12em}.creation-list{padding:1rem;border:1px solid var(--leader-shell-border);border-radius:2rem;background:radial-gradient(circle at top left,rgba(255,255,255,.12),transparent 28%),linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:0 28px 56px #41092738,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.creation-actions,.guide-actions{padding-bottom:.35rem}.selection-sheet{inset:auto 1rem 1rem;width:min(100%,calc(var(--app-width) - 2rem));max-width:42rem;max-height:calc(100vh - 2rem);margin-left:auto;border-radius:2rem;padding:1.2rem;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 26%),linear-gradient(135deg,#c73a7e,#b93170 48%,#ab2f68);box-shadow:0 34px 60px #220a1c57,inset 0 1px #ffffff14}.selection-sheet__header{padding-bottom:.35rem}.selection-options{overflow:auto;padding-right:.2rem}.selection-option{border-radius:1.45rem}.scroll-top-button{box-shadow:0 18px 30px #4c0e0642,inset 0 1px #ffffff2e}@media (min-width: 1100px){.leader-top-shell{padding:1rem 1.1rem 1.1rem}.guide-layout{grid-template-columns:minmax(0,2.15fr) minmax(17.75rem,.92fr);gap:1.35rem}.guide-layout--contact-open{grid-template-columns:minmax(0,1.45fr) minmax(16.5rem,.82fr) minmax(15.75rem,.76fr);gap:1.25rem}.attendance-row__details{padding-left:.35rem}.contact-drawer{top:0;width:auto;max-height:calc(100vh - 2rem)}}@media (max-width: 900px){.school-list,.creation-list{grid-template-columns:1fr}}@media (max-width: 640px){.phone-frame{gap:1.15rem}.leader-splash-shell,.leader-top-shell,.leader-splash-groups,.guide-layout,.creation-list{border-radius:1.45rem}.leader-splash-shell{width:min(100%,23rem);margin-left:auto;margin-right:auto;padding-left:.75rem;padding-right:.75rem;justify-self:center}.leader-splash-groups,.guide-layout,.creation-list{padding:.8rem}.school-list{display:grid;grid-template-columns:1fr;justify-content:stretch}.creation-list .student-card{min-height:4.35rem;padding:.82rem .9rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem}.creation-list .student-card__content{gap:.18rem}.creation-list .student-card__name{font-size:1.08rem;line-height:1.12}.creation-list .student-card__status{font-size:.76rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creation-note{margin:0 0 .85rem;color:#ffffffe0;font-size:.84rem;font-weight:700}.creation-list .student-card__chevron{align-self:center;justify-self:end}.school-card{width:100%;min-height:5.25rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem}.school-card__accent{grid-column:1;grid-row:1;align-self:center}.school-card__content{grid-column:2;grid-row:1;min-width:0}.school-card__chevron{grid-column:3;grid-row:1;align-self:center;justify-self:end}.screen-topbar{grid-template-columns:1fr;justify-items:stretch}.screen-date-controls{width:100%;justify-self:stretch}.screen-date-button{max-width:none}.guide-hero__codes{grid-template-columns:1fr}.roster-panel__instruction,.roster-panel__feedback,.roster-lock-card,.secondary-button,.roster-list{margin-left:.8rem;margin-right:.8rem}.roster-panel__action-row,.login-sheet-modal__filters{grid-template-columns:1fr}.login-sheet-modal{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:1.35rem}.login-sheet-modal__header,.login-sheet-modal__header-actions{grid-template-columns:1fr;display:grid}.login-sheet-modal__header-actions{justify-items:stretch}.login-sheet-modal__count{justify-self:start}.login-sheet-modal__actions{justify-content:center}.contact-drawer{top:var(--contact-drawer-top, .75rem);right:.5rem;bottom:auto;width:min(23rem,calc(100vw - 1rem));max-height:min(32rem,calc(100dvh - var(--contact-drawer-top, .75rem) - .75rem));border-radius:1.5rem 0 0 1.5rem}.selection-sheet{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;width:auto;max-height:none;border-radius:1.5rem;padding:1rem}}@media (max-width: 420px){.school-card{grid-template-columns:auto minmax(0,1fr) auto;padding:.9rem}.school-card__label{font-size:1.08rem}.school-card__chevron,.screen-date-nav,.calendar-popover__nav{width:1.95rem;height:1.95rem}.guide-list__title h2{font-size:clamp(1.7rem,9vw,2.25rem)}}@media (max-width: 900px){.attendance-row__details-grid{grid-template-columns:minmax(0,1fr);gap:.7rem}.attendance-row__detail-actions{justify-content:flex-start;width:100%}.attendance-row__credentials{padding:.72rem .82rem}.attendance-row__contact-button{width:100%;justify-content:center}.attendance-row__credential strong{overflow-wrap:anywhere}.contact-drawer-backdrop,.guide-layout>.contact-drawer{display:none}.contact-drawer--inline{position:relative;top:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-height:none;margin-top:.2rem;padding:.9rem;border-radius:1.35rem;box-shadow:0 14px 24px #3a0e281a,inset 0 1px #ffffffe0;display:grid}}.guide-card{--guide-card-accent: #75838f;--guide-card-header-text: #fcfdff;padding:0;overflow:hidden;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffcf8fa,#fff9f3fa);box-shadow:0 14px 28px #0d20191a,0 4px 10px #0d20190d}.guide-card__header{min-height:2.5rem;padding:.7rem 1rem;display:flex;align-items:center;justify-content:flex-start;background:linear-gradient(180deg,#ffffff1f,#fff0),var(--guide-card-accent);color:var(--guide-card-header-text);box-shadow:inset 0 -1px #ffffff29}.guide-card__icon,.guide-card__emoji{display:none}.guide-card .guide-card__title{margin:0;color:inherit;font-family:var(--font-body);font-size:1.24rem;font-weight:700;line-height:1.1;letter-spacing:.01em}.guide-card__body{display:grid;gap:var(--space-3);padding:.95rem 1rem 1rem}.guide-card__content-blocks{display:grid;gap:.85rem}.guide-card p,.guide-card li{margin:0;color:var(--color-text-muted);font-size:.95rem;line-height:1.55}.guide-card strong{color:var(--color-text)}.guide-card__list{margin:0;padding-left:1.15rem;display:grid;gap:.55rem}@media (max-width: 520px){.guide-card__header{padding:.65rem .9rem}.guide-card__body{padding:.85rem .9rem .9rem}.guide-card .guide-card__title{font-size:1.12rem}}
