:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1d252d;--muted:#667078;--brand:#f4c430;--brand-dark:#755900;--brand-contrast:#292100;--surface:#fff;--line:#e1e4e6}*{box-sizing:border-box}html{background:#f7f7f5}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 0,#fff3bb 0,#0000 33%),#f7f7f5;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fffffff5;border-radius:24px;width:min(100%,460px);padding:34px;box-shadow:0 24px 70px #1f49421f}.brand-row{align-items:center;gap:12px;font-weight:750;display:flex}.brand-mark{background:var(--brand);width:46px;height:46px;color:var(--brand-contrast);letter-spacing:-1px;border-radius:14px;place-items:center;font-weight:900;display:grid}.brand-logo{object-fit:contain;background:#fff;border-radius:12px;width:46px;height:46px}.eyebrow{letter-spacing:.12em;color:var(--brand-dark);margin:28px 0 6px;font-size:12px;font-weight:800}.auth-card h1{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(30px,8vw,42px);line-height:1.02}.lead{color:var(--muted);line-height:1.55}form{margin-top:26px}label{margin:16px 0 7px;font-size:13px;font-weight:750;display:block}input{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #c9d7d3;border-radius:12px;outline:none;padding:0 14px}input:focus{border-color:var(--brand-dark);box-shadow:0 0 0 3px #f4c43047}.code-input{letter-spacing:.3em;text-align:center;font-size:24px;font-weight:800}.primary-button,.install-button{background:var(--brand);width:100%;min-height:50px;color:var(--brand-contrast);border:1px solid #d9a900;border-radius:12px;margin-top:18px;padding:0 18px;font-weight:800;transition:all .18s}.primary-button:hover,.install-button:hover{background:#ffd84d;transform:translateY(-1px)}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.text-button{width:100%;color:var(--brand-dark);background:0 0;border:0;margin-top:12px;font-weight:750}.form-message{color:var(--brand-dark);background:#fff7d6;border-radius:10px;margin:16px 0 0;padding:12px;font-size:14px;line-height:1.45}.security-note{color:var(--muted);text-align:center;margin:24px 0 0;font-size:12px}.app-shell{flex-direction:column;width:min(100%,1080px);min-height:100vh;margin:auto;padding:32px 22px 48px;display:flex}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:12px 4px 26px;display:flex}.app-header .eyebrow{margin:0 0 7px}.app-header h1{letter-spacing:-.05em;margin-bottom:7px;font-size:clamp(34px,7vw,54px)}.app-header p:last-child{color:var(--muted)}.avatar-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;flex:none;padding:10px 15px;font-weight:750}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.install-button{width:auto;min-height:40px;margin:0}.live-dot{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.live-dot i{background:#22a06b;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #22a06b1f}.organization-section{margin-top:26px}.section-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.section-title h2{margin:4px 0 16px;font-size:21px}.student-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;display:grid}.student-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 14px 40px #2648420f}.student-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.student-avatar{width:48px;height:48px;color:var(--brand-dark);background:#fff3bb;border-radius:16px;place-items:center;font-weight:900;display:grid}.student-heading h3{margin:0 0 3px;font-size:18px}.student-heading p{color:var(--muted);margin:0;font-size:13px}.trip-card{border:1px solid var(--line);background:#fbfcfc;border-radius:15px;padding:16px}.trip-card+.trip-card{margin-top:12px}.trip-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.trip-top time{color:var(--muted);text-transform:capitalize;font-size:12px}.status{color:#46515a;background:#eef0f1;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;display:inline-flex}.status-in_progress,.status-ready{color:#17643f;background:#e3f5ea}.status-paused{color:#825b0c;background:#fff1d6}.trip-card h4{margin:14px 0 11px;font-size:17px}dl{gap:8px;margin:0;display:grid}dl div{justify-content:space-between;gap:16px;font-size:13px;display:flex}dt{color:var(--muted)}dd{text-align:right;margin:0;font-weight:700}.compact{min-height:44px;margin-top:15px}.empty-state{color:var(--muted);text-align:center;border:1px dashed #c9d7d3;border-radius:14px;padding:20px;font-size:14px}.tracking-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tracking-actions .primary-button,.tracking-actions .secondary-button{margin-top:15px}.tracking-expiry{color:var(--muted);text-align:center;margin-top:8px;display:block}.error-banner{color:#8d2e28;background:#fff0ef;border:1px solid #f2c9c5;border-radius:12px;margin:14px 0;padding:14px 16px}.skeleton{background:linear-gradient(90deg,#e8eeec,#f7f9f8,#e8eeec) 0 0/200% 100%;border-radius:18px;animation:1.4s infinite pulse}.header-skeleton{height:130px}.card-skeleton{height:310px;margin-top:28px}footer{color:var(--muted);text-align:center;padding:38px 0 10px;font-size:12px}@keyframes pulse{to{background-position:-200% 0}}@media (max-width:600px){.auth-card{border-radius:20px;padding:26px 22px}.app-shell{padding:22px 14px 38px}.app-header{align-items:center}.app-header p:last-child{display:none}.toolbar{flex-direction:column;align-items:flex-start}.student-card{padding:16px}}.tracking-shell{width:min(100%,920px);min-height:100vh;margin:auto;padding:28px 20px 40px}.tracking-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.tracking-summary{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.tracking-summary .eyebrow{margin:0 0 7px}.tracking-summary h1{letter-spacing:-.05em;margin:0 0 7px;font-size:clamp(32px,7vw,50px)}.tracking-summary p:last-child{color:var(--muted);margin:0}.map-card{border:1px solid var(--line);background:#dfe8e5;border-radius:24px;min-height:460px;overflow:hidden;box-shadow:0 20px 55px #2648421a}.map-card iframe{border:0;width:100%;min-height:460px;display:block}.map-empty{text-align:center;min-height:460px;color:var(--muted);background:radial-gradient(circle at 50% 45%,#fff0a8 0 12%,#0000 13%),linear-gradient(135deg,#f6f5ef,#e7e8e5);place-content:center;gap:6px;padding:24px;display:grid}.map-empty span{color:var(--ink);font-size:19px;font-weight:850}.tracking-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.tracking-details{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;display:grid}.tracking-details div{gap:5px;display:grid}.tracking-details span{color:var(--muted);font-size:12px}.tracking-details strong{font-size:15px}.expired-card{max-width:560px;margin:15vh auto 0;padding:34px}.expired-card .eyebrow{margin-top:0}.tracking-skeleton{height:650px}@media (max-width:600px){.tracking-shell{padding:20px 14px 34px}.tracking-header{align-items:flex-start}.tracking-header .live-dot{text-align:right;max-width:130px}.tracking-summary{flex-direction:column;align-items:flex-start}.map-card,.map-card iframe,.map-empty{min-height:410px}.tracking-details{grid-template-columns:1fr}.expired-card{margin-top:8vh;padding:26px 22px}}.billing-email{color:var(--muted);margin:0 0 14px}.billing-email input{min-height:44px;margin-top:6px}.billing-list{gap:10px;display:grid}.billing-row{border:1px solid var(--line);background:#fbfcfc;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:13px;display:grid}.billing-row small{color:var(--muted);margin-top:3px;display:block}.billing-amount{justify-items:end;gap:5px;display:grid}.billing-row .primary-button{grid-column:1/-1;margin-top:0}.receipt-line{grid-column:1/-1;color:var(--brand-dark)!important}.safety-note{color:var(--brand-dark);background:#fff7d6;border-radius:12px;margin:15px 0 0;padding:13px;font-size:13px}.secondary-button{width:100%;min-height:44px;color:var(--brand-dark);background:#fff;border:1px solid #bfd2cd;border-radius:12px;margin-top:10px;padding:0 18px;font-weight:800}.secondary-button:disabled{opacity:.55;cursor:wait}.settings-card>p,.settings-card>small{color:var(--muted);line-height:1.45}.settings-card textarea{resize:vertical;width:100%;min-height:105px;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9d7d3;border-radius:12px;padding:12px 14px}.settings-card textarea:focus{border-color:var(--brand-dark);outline:none;box-shadow:0 0 0 3px #f4c43047}.check-row{align-items:center;gap:10px;margin:12px 0;font-weight:650;display:flex}.check-row input{width:18px;min-height:18px;accent-color:var(--brand)}.notification-settings{background:#fffdf5;border:1px solid #eadb95;border-radius:14px;margin:16px 0;padding:16px}.notification-settings>strong{color:var(--ink);margin-bottom:4px;display:block}.notification-settings>p,.notification-settings>small{color:var(--muted);line-height:1.45;display:block}.notification-settings .primary-button,.notification-settings .secondary-button{margin-top:10px}.receiver-list,.request-list{gap:8px;margin:14px 0;display:grid}.receiver-list>div,.request-list>div{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.receiver-list span{gap:2px;display:grid}.receiver-list small{color:var(--muted)}.receiver-list button{color:#8d2e28;background:0 0;border:0;font-weight:750}.service-section{order:10}.absence-section{order:8}.absence-intro{max-width:720px;color:var(--muted);margin:-6px 0 16px;line-height:1.5}.absence-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;display:grid}.absence-card{background:linear-gradient(145deg,#fff,#fffdf5);border:1px solid #eadb95;border-radius:18px;padding:18px;box-shadow:0 12px 32px #604a0d0f}.absence-card.is-reported{background:#f4fbf7;border-color:#b9ddcc}.absence-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.absence-card-heading>div{gap:3px;display:grid}.absence-card-heading span,.absence-card-heading time{color:var(--muted);text-transform:capitalize;font-size:12px}.absence-confirmed>div{gap:3px;display:grid}.absence-confirmed small{color:var(--muted)}.absence-directions{gap:8px;margin:16px 0;display:grid}.absence-direction-row{background:#f7f7f5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.absence-direction-row>span{font-weight:800}.absence-direction-row small{color:var(--muted);text-align:right}.absence-direction-row .is-success{color:#17643f;font-size:12px}.absence-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.absence-button{color:#8d2e28;background:#fff2f0;border:1px solid #d97a70;border-radius:12px;width:100%;min-height:46px;padding:0 16px;font-weight:850}.absence-button:hover{background:#ffe5e1}.absence-button.is-both{background:var(--brand);color:var(--brand-contrast);border-color:#d9a900;grid-column:1/-1}.absence-button.is-both:hover{background:#ffd84d}.absence-button:disabled{opacity:.48;cursor:not-allowed}.absence-confirmed{color:#17643f;background:#e3f5ea;border-radius:13px;align-items:center;gap:11px;padding:12px;display:flex}.absence-confirmed>span{background:#c9ead7;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.family-section{order:20}.billing-section{order:30}.app-shell>footer{order:40}.onboarding-shell{order:5;gap:20px;display:grid}.onboarding-intro{background:linear-gradient(135deg,#fffdf5,#fff7d6);border:1px solid #eadb95;border-radius:24px;padding:clamp(24px,5vw,42px);box-shadow:0 18px 50px #604a0d14}.onboarding-intro h2{letter-spacing:-.04em;max-width:650px;margin:10px 0;font-size:clamp(28px,6vw,42px)}.onboarding-intro p{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.step-badge{background:var(--brand);color:var(--brand-contrast);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:850;display:inline-flex}.progress-row{align-items:center;max-width:390px;margin:26px 0 8px;display:flex}.progress-row i{background:#dfd7b8;flex:1;height:2px}.progress-dot{width:30px;height:30px;color:var(--muted);background:#fff;border:2px solid #dfd7b8;border-radius:50%;place-items:center;font-size:12px;font-weight:850;display:grid}.progress-dot.is-done,.progress-dot.is-active{border-color:var(--brand-dark);background:var(--brand-dark);color:#fff}.onboarding-intro small{color:var(--muted)}.onboarding-group{gap:16px;display:grid}.onboarding-contact{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 20px;display:grid}.onboarding-contact div{gap:4px;min-width:0;display:grid}.onboarding-contact span,.card-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.onboarding-contact strong{overflow-wrap:anywhere}.onboarding-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:clamp(20px,5vw,34px);box-shadow:0 16px 45px #26484212}.card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card-heading h3{margin:4px 0 0;font-size:20px}.required-note{text-align:right}.form-grid{gap:14px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}fieldset{border:0;min-width:0;margin:20px 0 0;padding:0}legend{margin-bottom:10px;font-size:13px;font-weight:750}.day-picker{flex-wrap:wrap;gap:8px;display:flex}.day-option{cursor:pointer;margin:0}.day-option input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:1px;position:absolute}.day-option span{min-width:48px;min-height:42px;color:var(--muted);background:#fff;border:1px solid #c9d7d3;border-radius:11px;place-items:center;padding:0 10px;display:grid}.day-option.is-selected span{border-color:var(--brand-dark);color:var(--brand-dark);background:#fff7d6;font-weight:850}.class-schedule-fieldset{gap:14px;display:grid}.class-schedule-list{gap:10px;display:grid}.class-schedule-row{border:1px solid var(--line);background:#fbfcfc;border-radius:13px;grid-template-columns:56px repeat(2,minmax(0,1fr));align-items:end;gap:10px;padding:12px;display:grid}.class-schedule-row>strong{color:var(--brand-dark);align-self:center}.class-schedule-row label{color:var(--muted);margin:0;font-size:11px}.class-schedule-row input{min-height:42px;margin-top:5px}.privacy-consent{color:#28624f;background:#f1f8f5;border-radius:14px;align-items:flex-start;gap:12px;margin-top:20px;padding:14px;display:flex}.privacy-consent>span{background:#d8eee5;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.privacy-consent p{margin:1px 0 0;font-size:13px;line-height:1.45}.profile-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.edit-button{border:1px solid var(--line);min-height:36px;color:var(--brand-dark);background:#fff;border-radius:10px;flex:none;padding:0 13px;font-weight:800}.data-list{gap:0;display:grid}.data-list div{border-bottom:1px solid var(--line);padding:12px 0}.data-list div:last-child{border-bottom:0}.data-list dd{overflow-wrap:anywhere;max-width:65%}.settings-details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.settings-details summary{cursor:pointer;color:var(--brand-dark);font-weight:800}.edit-form{gap:4px;display:grid}.locked-note,.empty-inline{color:var(--muted);background:#f5f6f6;border-radius:12px;padding:12px;font-size:13px}.request-panel{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:1fr 1.4fr;gap:24px;margin-top:18px;padding:20px;display:grid}.request-panel h3{margin:0 0 6px}.request-panel p{color:var(--muted);margin:0;line-height:1.45}.request-panel label{margin-top:0}.address-map-field{margin-top:16px}.address-map-field>label{margin:0 0 8px}.address-map-preview{border:1px solid var(--line);background:#e7ecea;border-radius:16px;height:260px;position:relative;overflow:hidden}.address-map-canvas{width:100%;height:100%}.address-map-overlay{color:var(--muted);text-align:center;background:#f7f7f5f0;place-items:center;padding:20px;font-size:14px;display:grid;position:absolute;inset:0}.address-map-overlay.is-error{color:var(--brand-dark);background:#fff7d6}.address-map-help,.address-map-message{margin:8px 2px 0;font-size:12px;line-height:1.45}.address-map-help{color:var(--muted)}.address-map-message{color:#8d5e08;font-weight:700}.pac-container{z-index:10000;border:1px solid var(--line);border-radius:12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 14px 35px #1d252d29}.pac-item{cursor:pointer;padding:9px 12px;font-size:13px}.pac-item-query{font-size:14px}@media (max-width:700px){.onboarding-contact,.profile-layout,.request-panel,.form-grid.two-columns{grid-template-columns:1fr}.required-note{display:none}.onboarding-contact{padding:14px}.card-heading{align-items:center}.data-list dd{max-width:58%}}@media (max-width:520px){.class-schedule-row{grid-template-columns:46px minmax(0,1fr) minmax(0,1fr);gap:7px;padding:10px}.class-schedule-row input{padding:0 8px}}@media (max-width:700px){.address-map-preview{height:230px}.pac-container{max-width:calc(100vw - 28px)}}
