@import url('/styles.css');
:root{--kid:#243d32;--paper:#fffdf7;--gold:#e6b84f}
body{background:#f4f0e6;color:#243d32;font:17px/1.5 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5%;border-bottom:1px solid #c8cbbb}header a{font-size:14px}header span{font-weight:800;letter-spacing:.14em}main{max-width:1200px;margin:0 auto;padding:36px 24px;min-height:75vh}h1{font-size:clamp(32px,5vw,54px);letter-spacing:-.04em;line-height:1.1;margin:14px 0 20px}h2{font-size:26px;margin:12px 0}h3{font-size:20px}.lead{font-size:20px;max-width:700px}nav,.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}button,.btn{font:inherit;font-weight:650;cursor:pointer;border:1px solid #8b998a;border-radius:10px;padding:14px 22px;min-height:52px;background:var(--kid);color:#fffdf7;display:inline-block}button:hover,.btn:hover{background:#3d5947;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.secondary{color:var(--kid);background:var(--paper)}button[aria-current=page]{box-shadow:0 0 0 3px var(--gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ad6422;outline-offset:3px}.panel,.card{background:var(--paper);border:1px solid #c5ccbd;border-radius:16px;padding:24px;margin:20px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats strong{font-size:34px;display:block}label{display:grid;gap:7px;font-weight:650;margin:12px 0}input,select,textarea{font:inherit;width:100%;padding:14px;border:1px solid #859780;border-radius:8px;background:white;color:#243d32}input[type=checkbox]{width:24px;height:24px}label.check{display:flex;align-items:center;gap:12px}textarea{min-height:100px}.note{padding:16px;background:#eee4cd;border-left:4px solid #b17920;border-radius:5px}.allergy{display:inline-block;background:#a92910;color:white;border:3px solid #641808;font-size:16px;font-weight:900;padding:5px 10px}.muted{color:#53634e}.tiny{font-size:13px}.room{border-top:3px solid #b38e39}.row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #d3d8cc}.row:last-child{border-bottom:0}pre{white-space:pre-wrap;overflow-wrap:anywhere}#message:not(:empty){position:fixed;bottom:20px;left:5%;right:5%;background:#243d32;color:white;border-radius:10px;padding:18px;z-index:50;box-shadow:0 4px 20px #0003}#print-area{max-width:1000px;margin:auto}#print-area:empty{display:none}.label-pair{display:flex;gap:16px;flex-wrap:wrap;padding:16px}.kid-label{width:62mm;min-height:100mm;padding:4mm;box-sizing:border-box;background:white;border:2px solid #243d32;border-radius:5mm;font-family:system-ui;color:#16291f;overflow-wrap:anywhere;break-after:page}.kid-label .name{font-size:27pt;font-weight:900;line-height:1.05;margin:4mm 0}.kid-label .code{font:900 30pt monospace;border-top:2px dashed;padding-top:3mm;margin-top:3mm}.kid-label .motif{font-size:24pt;letter-spacing:3px;color:#93610a}.kid-label p{margin:2mm 0;font-size:11pt}.kid-label h3{font-size:15pt}.kid-label.rocket{border-color:#486486}.kid-label.trail{border-style:dashed;border-color:#ae5b2a}.kid-label .allergy{font-size:10pt;padding:2mm;display:block}.claim{border-radius:0}.pass{font:700 24px monospace;word-break:break-all;background:white;border:2px solid;padding:18px}.barcode{width:100%;height:100px}footer{display:flex;gap:25px;padding:24px 5%}.kiosk main{max-width:900px}.kiosk input{font-size:24px}.kiosk header a:last-child{display:none}.kiosk .panel{padding:32px}table{width:100%;border-collapse:collapse}td,th{padding:10px;text-align:left;border-bottom:1px solid #bbb}details{margin:16px 0}summary{cursor:pointer;font-weight:700}video{max-width:100%;border-radius:12px}.offline{background:#fff0dc;border:3px solid #b05e16;padding:20px}.print-toolbar{margin:20px;display:flex;gap:12px}.hidden,[hidden]{display:none!important}
@media(max-width:650px){.grid,.stats{grid-template-columns:1fr}header{flex-wrap:wrap}main{padding:24px 16px}.row{align-items:flex-start;flex-direction:column}.panel{padding:18px}.label-pair{padding:0}}
@media print{@page{size:62mm 100mm;margin:0}body{background:white}header,main,footer,#message,.print-toolbar{display:none!important}#print-area{display:block!important;margin:0;padding:0}.label-pair{display:block;padding:0}.kid-label{margin:0;border:1px solid black;width:62mm;height:100mm;min-height:0;border-radius:0;color:black!important;break-after:page}.kid-label .allergy{background:white;color:black;border:3px solid black}.kid-label .motif{color:black}.kid-label:last-child{break-after:page}body.roster-print #print-area{font-size:11pt}body.roster-print .teacher-roster{break-after:page;padding:8mm}body.roster-print{@page{size:A4;margin:10mm}}}
/* Label content stays inside a 62 × 100 mm page, including monochrome output. */
.kid-label{padding:3mm;line-height:1.2}.kid-label p{font-size:9pt;line-height:1.2;margin:1.5mm 0}.kid-label .name{font-size:22pt;line-height:1;margin:3mm 0}.kid-label h3{font-size:12pt;line-height:1.2}.kid-label .motif{font-size:16pt;line-height:1}.kid-label .code{font-size:24pt;line-height:1.1;padding-top:2mm;margin-top:2mm}.kid-label .allergy{font-size:9pt;line-height:1.15;padding:1.5mm}.kid-label .long-name{font-size:15pt}
@page teacher{size:A4;margin:10mm}
@media print{.teacher-roster{page:teacher}.kid-label{overflow:hidden}}
[hidden] { display: none !important; }
/* Dedicated Summit Kids parent station. */
.summit-brand{width:90px;height:84px;object-fit:contain;border-radius:10px}header{padding:12px 5%}.parent-screen{--kid:#075b43;--paper:#fff;--gold:#e97227;color:#102a3b;background:#f7f7f2}.parent-screen header{background:#fff;border-bottom:4px solid #e97227}.parent-screen header span{font-size:18px;letter-spacing:0}.parent-screen h1{color:#102a3b;font-size:clamp(32px,4vw,46px)}.parent-screen h2{color:#102a3b}.parent-screen main{max-width:1100px;padding-top:26px}.parent-screen .parent-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.parent-grid>.panel:only-child{grid-column:1/-1}.parent-screen .panel{border-color:#d9e4df;box-shadow:0 5px 18px #12332a07;margin:12px 0}.parent-screen .new-family-card{background:#e8f1eb;display:flex;flex-direction:column;justify-content:center}.parent-screen .orange{background:#ac4510;color:#fff}.step-label{font-size:14px;letter-spacing:.09em;font-weight:800;color:#075b43}.parent-screen button{min-height:60px}.parent-screen input,.parent-screen select{min-height:60px;font-size:20px}.class-name{display:block;font-size:17px;color:#075b43;font-weight:700}.parent-screen .check{align-items:flex-start;padding:12px;background:#f0f5f2;border-radius:10px}.parent-screen .check input{min-height:24px;flex-shrink:0}.kiosk header a,.kiosk footer{display:none}.parent-screen .tiny{font-size:14px}.parent-screen #app>form{max-width:900px}.parent-screen .print-toolbar{flex-wrap:wrap}.parent-screen .kid-label{color:#000}
@media(max-width:700px){.parent-screen .parent-grid{grid-template-columns:1fr}.parent-screen .panel{padding:20px}.summit-brand{width:75px;height:70px}.kiosk header{flex-wrap:nowrap}}
@media print{.parent-screen .kid-label{box-shadow:none}.parent-screen .kid-label h3{color:black}.parent-screen .kid-label .motif{color:black}}
/* Summit Kids: forest, warm oak and the original logo palette. Screen only. */
@media screen{
body.summit-theme{--kid:#075b43;--paper:#fffaf1;--gold:#e97227;color:#102a3b;background:#e8dfce url('/mountains.jpg') center top/cover fixed no-repeat}
.summit-theme::before{content:'';position:fixed;inset:0;background:linear-gradient(180deg,#f8f0df35,#173c2db3);pointer-events:none;z-index:-1}
.summit-theme header{background:linear-gradient(90deg,#fffaf0f5,#efe3ccf5);border-top:8px solid #075b43;border-bottom:10px solid #ba8b56;box-shadow:0 4px 0 #805c37,0 8px 24px #102b3520;padding:18px 5%;gap:24px}
.summit-theme header .summit-brand{width:112px;height:103px;object-fit:contain;background:#fffdf6;border:1px solid #d4c8b3;border-radius:15px;padding:7px;box-shadow:0 3px 10px #50351912}
.summit-theme header span{color:#075b43;letter-spacing:.08em;font-size:16px;text-transform:uppercase}
.summit-theme header>a{color:#102a3b;background:#fffaf1;border:1px solid #b6a78e;border-radius:8px;padding:10px 15px;font-weight:700}
.summit-theme main{position:relative;max-width:1160px;margin:36px auto;padding:28px 36px 36px;background:#f9f4eaeF;border:1px solid #ded0b8;border-radius:22px;box-shadow:0 16px 48px #092d3033;min-height:65vh}
.summit-theme .welcome-heading{padding:8px 0 22px;border-bottom:1px solid #c9b89b;margin-bottom:20px}
.summit-theme h1{color:#102a3b;letter-spacing:-.04em;font-size:clamp(32px,4vw,48px)}
.summit-theme h2,.summit-theme h3{color:#102a3b}
.summit-theme .muted,.summit-theme .step-label{color:#235540}
.summit-theme .panel,.summit-theme .card{background:#fffcf6;border:1px solid #cbbc9f;box-shadow:0 4px 16px #6a4e2510;border-radius:14px}
.summit-theme .parent-grid>.panel{border-top:5px solid #075b43}
.summit-theme .new-family-card{background:linear-gradient(145deg,#e2eadd,#f4eddb);border-top-color:#e97227}
.summit-theme button,.summit-theme .btn{background:#075b43;border-color:#075b43;color:#fffdf6;box-shadow:0 2px 0 #043e2e;min-height:56px}
.summit-theme button:hover,.summit-theme .btn:hover{background:#064735}
.summit-theme .secondary{background:#fffaf0;color:#164935;border-color:#a59b83;box-shadow:0 2px 0 #cdbb9c}
.summit-theme .secondary:hover{background:#e9eee2;color:#143e2d}
.summit-theme .orange{background:#ac4510;border-color:#943b0d;box-shadow:0 3px 0 #77310d}
.summit-theme .orange:hover{background:#933b0d}
.summit-theme input,.summit-theme select,.summit-theme textarea{background:#fffefb;border-color:#9baf9f;color:#102a3b;box-shadow:inset 0 2px 4px #3c4a3110}
.summit-theme input[type=checkbox]{accent-color:#075b43}
.summit-theme .check{background:#edf1e7;border:1px solid #d7dfce}
.summit-theme summary{padding:8px 0;color:#164935;min-height:44px}
.summit-theme .class-name{color:#075b43}
.summit-theme .room{border-top:5px solid #b68b56}
.summit-theme footer{background:#fff8e9ed;border-top:7px solid #b68b56;color:#102a3b;flex-wrap:wrap;justify-content:center}
.summit-theme footer a{color:#164935}
.summit-theme :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #db6b25;outline-offset:4px}
.summit-theme #app>button[data-action=parent-logout]{margin-bottom:14px}
.summit-theme #message:not(:empty){background:#102f2a;border:1px solid #b6c6b2}
.summit-theme header:has(>.signed-in-status){padding-top:2.8rem}
.summit-theme .signed-in-status{background:#e9efdf;color:#164935}
@media(max-width:800px){.summit-theme main{margin:22px 16px;padding:24px}.summit-theme .parent-grid{gap:16px}.summit-theme header .summit-brand{width:92px;height:85px}}
@media(max-width:550px){body.summit-theme{background-attachment:scroll}.summit-theme main{margin:16px 10px;padding:20px 16px;border-radius:16px}.summit-theme header{padding:14px 20px;gap:12px}.summit-theme header span{font-size:12px;letter-spacing:.04em}.summit-theme header .summit-brand{width:80px;height:74px}.summit-theme .panel{padding:18px}.summit-theme .grid{gap:10px}}
}
@media screen{
.summit-theme header{position:relative;border-bottom:0;padding-bottom:30px}
.summit-theme header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:15px;background:repeating-linear-gradient(2deg,#80572d22 0 1px,transparent 1px 5px),repeating-linear-gradient(178deg,#e5bf8630 0 2px,transparent 2px 9px),linear-gradient(90deg,#b08553,#d0ac77 35%,#b58b58 68%,#c49b63);border-top:1px solid #e9c99a;border-bottom:3px solid #7f5c37;box-shadow:0 2px 4px #50371b30}
}
.app-role-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0}.app-role-nav a{display:inline-flex;align-items:center;min-height:46px;padding:8px 14px;border:1px solid #adbea9;border-radius:8px;background:#fffaf1;color:#164935;font-size:15px;font-weight:700}.kiosk .app-role-nav{display:none}@media(max-width:550px){.app-role-nav{width:100%;justify-content:center}.app-role-nav a{flex:1;justify-content:center}}
.station-staff-entry{display:none}.kiosk .station-staff-entry{display:inline-flex;align-items:center;font-size:14px;min-height:46px;padding:10px 14px;max-width:190px}.kiosk header{flex-wrap:wrap}@media(max-width:550px){.kiosk .station-staff-entry{max-width:none;width:100%;justify-content:center}}@media print{.station-staff-entry{display:none!important}}
