@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle;line-height:1}:root{--bg-color:#0b0e14;--bg-gradient:linear-gradient(140deg, #0b0e14 0%, #111827 40%, #0f172a 70%, #130f23 100%);--bg-primary:#111827;--surface-color:#ffffff0a;--surface-bg:#ffffff08;--surface-border:#ffffff12;--surface-hover:#ffffff12;--surface-light:#ffffff0d;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-color:#00d4aa;--accent-light:#34d9b8;--accent-glow:#00d4aa26;--accent-bg:#00d4aa1a;--success-color:#34d399;--success-bg:#34d3991a;--danger-color:#f87171;--danger-bg:#f871711a;--warning-color:#fbbf24;--info-bg:#60a5fa1a;--warm-bg:#fbbf2414;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--radius-full:9999px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 16px #0006, 0 1px 4px #0003;--shadow-lg:0 12px 40px #00000080, 0 4px 12px #0000004d;--glass-bg:#ffffff0a;--glass-border:#ffffff14;--glass-highlight:#ffffff0f;--glass-blur:blur(24px) saturate(180%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100vh;line-height:1.6}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0a;transition:transform .25s,box-shadow .25s}.glass-panel:hover{box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0f}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all .25s}.glass-card:hover{background:var(--glass-highlight);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.text-gradient{background:linear-gradient(135deg,#00d4aa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-4xl{font-size:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.container{width:100%;max-width:1600px;margin:0 auto;padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:all .25s;display:inline-flex}.btn-primary{color:#0b0e14;background:linear-gradient(135deg,#00d4aa,#00b894);box-shadow:0 2px 10px #00d4aa40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #00d4aa66}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn-secondary:hover{background:var(--glass-highlight);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 12px #00d4aa26}.input{border-radius:var(--radius-md);border:1.5px solid var(--glass-border);width:100%;color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .25s}.input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow), 0 0 16px #00d4aa1a;background:#ffffff0f;outline:none}.input::placeholder{color:var(--text-muted)}table{font-family:var(--font-sans)}th{letter-spacing:.04em;-webkit-user-select:none;user-select:none;position:relative;color:var(--text-muted)!important;font-weight:600!important}th:after{content:"";cursor:col-resize;background:0 0;border-radius:2px;width:3px;height:50%;transition:background .15s;position:absolute;top:25%;right:0}th:hover:after{background:#ffffff26}th.col-resizing:after{background:var(--accent-color)}body.col-resizing-active,body.col-resizing-active *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}tr{transition:background .15s}tr:hover{background:var(--surface-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0;border-radius:3px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes glowPulse{0%,to{box-shadow:0 0 4px #00d4aa4d}50%{box-shadow:0 0 12px #00d4aa99}}@keyframes pulse-glow{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.animate-pulse-glow{animation:1.5s ease-in-out infinite pulse-glow}.animate-pulse{animation:1s ease-in-out infinite pulse-glow}@media (prefers-reduced-motion:reduce){.animate-fade-in{opacity:1;animation:none;transform:none}.glass-panel,.glass-card,.btn,.btn-primary,.btn-secondary,tr{transition:none!important}}::selection{background:var(--accent-bg);color:var(--accent-color)}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 20%,#00d4aa0a 0%,#0000 50%),radial-gradient(at 80% 20%,#3b82f608 0%,#0000 50%),radial-gradient(at 60% 80%,#8b5cf608 0%,#0000 50%);width:200%;height:200%;position:fixed;top:-50%;left:-50%}.schedule-page{--child-accent:#66dec3;--child-tint:#66dec317;max-width:1560px;margin:auto;padding:28px 40px 48px}.schedule-page.leena{--child-accent:#c4b5fd;--child-tint:#c4b5fd17}.schedule-page button,.schedule-page input,.schedule-page select,.schedule-page textarea{font:inherit}.schedule-page button,.schedule-controls input{color:#dbe4f0;cursor:pointer;background:#ffffff06;border:1px solid #ffffff18;border-radius:10px;padding:9px 14px}.schedule-page button:hover{background:#ffffff10;border-color:#ffffff38}.schedule-page button:disabled{opacity:.45;cursor:wait}.schedule-page a{color:inherit;text-decoration:none}.schedule-page :focus-visible{outline:2px solid var(--child-accent);outline-offset:4px}.schedule-header{border-bottom:1px solid #ffffff0e;justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.schedule-brand{letter-spacing:.09em;font-size:21px;font-weight:800;color:var(--child-accent)!important}.schedule-brand span{color:#94a3b8;letter-spacing:0;margin-left:10px;font-size:14px;font-weight:400}.schedule-header-actions{align-items:center;gap:20px;font-size:13px;display:flex}.child-tabs{background:#ffffff05;border:1px solid #ffffff0d;border-radius:13px;gap:4px;margin:30px 0;padding:5px;display:inline-flex}.child-tabs a{color:#94a3b8;border-radius:9px;padding:9px 30px;font-size:14px;font-weight:600}.child-tabs a[aria-current]{background:var(--child-tint);color:var(--child-accent)}.schedule-intro{justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px;display:flex}.eyebrow{letter-spacing:.17em;color:#9baabd;margin-bottom:8px;font-weight:700;font-size:10px!important}.schedule-intro h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(30px,3.1vw,46px);font-weight:700;line-height:1.2}.schedule-intro h1 span{color:var(--child-accent)}.schedule-muted{color:#9baabd;font-size:13px}.access-pill{color:var(--child-accent);background:var(--child-tint);white-space:nowrap;border:1px solid #ffffff12;border-radius:30px;padding:7px 12px;font-size:11px}.today-overview{background:linear-gradient(115deg,var(--child-tint),#ffffff02);background-color:#ffffff03;border:1px solid #ffffff14;border-radius:19px;grid-template-columns:1.1fr 1fr 1fr;gap:30px;padding:28px 30px;display:grid}.today-overview h2{letter-spacing:-.025em;font-size:22px}.today-overview h3{letter-spacing:-.02em;margin:4px 0 7px;font-size:22px}.today-overview p:not(.eyebrow){color:#9baabd;font-size:13px}.now-card,.next-card{border-left:1px solid #ffffff12;padding-left:28px}.now-card .eyebrow{color:var(--child-accent)}.today-overview .holiday{margin-top:10px;color:#fbbf24!important}.schedule-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:32px 0 20px;display:flex}.schedule-toolbar h2{letter-spacing:-.025em;font-size:21px}.schedule-controls{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.schedule-controls input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;max-width:155px}.schedule-page .schedule-primary{background:var(--child-accent);color:#101827;border-color:#0000;font-weight:700}.schedule-page .schedule-primary:hover{filter:brightness(1.08);background:var(--child-accent)}.schedule-layout{grid-template-columns:270px minmax(0,1fr);gap:22px;display:grid}.day-agenda{background:#ffffff03;border:1px solid #ffffff0e;border-radius:16px;padding:22px 18px}.day-agenda h2{margin-bottom:20px;font-size:18px}.schedule-page .schedule-event{text-align:left;overflow-wrap:anywhere;background:#94a3b80b;border:1px solid #ffffff09;border-left:3px solid #64748b;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin-bottom:10px;padding:13px 12px;line-height:1.45;display:flex}.schedule-event .event-time{color:#aebacd;font-size:10px}.schedule-event strong{font-size:13px;font-weight:600}.schedule-event .event-note{color:#b7c3d4;font-size:11px}.schedule-event .event-edit{color:var(--child-accent);margin-top:5px;font-size:10px}.schedule-page .schedule-event.school{background:#7da5ed0b;border-left-color:#7da5ed}.schedule-page .schedule-event.learning{background:#b9a0e90b;border-left-color:#b9a0e9}.schedule-page .schedule-event.activity{background:#e3b36c0b;border-left-color:#e3b36c}.schedule-page .schedule-event.family{background:#66c8ad0b;border-left-color:#66c8ad}.schedule-event.past{opacity:.55}.week-grid{background:#ffffff02;border:1px solid #ffffff0e;border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.week-day{border-right:1px solid #ffffff0b;min-width:0;padding:10px 7px 16px}.week-day:last-child{border-right:0}.week-day.selected{background:var(--child-tint)}.schedule-page .week-day-heading{color:#94a3b8;background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;width:100%;min-height:91px;padding:6px 0 15px;display:flex}.week-day-heading span{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.week-day-heading strong{color:#e2e8f0;font-size:23px;font-weight:500}.week-day-heading small{color:var(--child-accent);font-size:9px}.week-day.selected .week-day-heading strong{color:var(--child-accent)}.schedule-page .schedule-event.compact{border-left-width:2px;border-radius:7px;margin-bottom:7px;padding:9px 7px}.compact strong{font-size:11px}.compact .event-time{font-size:9px}.compact .event-note{font-size:10px}.week-empty{text-align:center;color:#7d8ca1;padding:15px 0;font-size:10px;display:block}.schedule-empty{color:#b7c3d4;padding:24px 0;font-size:14px}.schedule-empty span{color:#7d8ca1;font-size:12px}.parent-panel{background:#ffffff02;border:1px solid #ffffff0c;border-radius:15px;justify-content:space-between;align-items:center;gap:24px;margin-top:25px;padding:22px 26px;display:flex}.parent-panel h2{margin-bottom:5px;font-size:17px}.parent-panel p:not(.eyebrow){color:#94a3b8;font-size:12px}.permission-toggle{align-items:center;gap:9px;font-size:13px!important;display:flex!important}.permission-toggle input{accent-color:var(--child-accent);height:16px;width:16px!important}.schedule-footer{color:#8290a5;margin-top:24px;font-size:10px;line-height:1.9}.schedule-error{color:#fecaca;background:#f8717115;border:1px solid #f8717155;border-radius:10px;margin-bottom:15px;padding:12px;font-size:13px}.schedule-notice{color:var(--child-accent);margin-bottom:12px;font-size:13px}.schedule-history{margin-top:25px}.schedule-history h2{font-size:20px}.schedule-history article{border-bottom:1px solid #ffffff13;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;font-size:13px;display:flex}.schedule-history article p{color:#94a3b8;font-size:11px}.schedule-history button{white-space:nowrap}.schedule-modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:1000;background:#000a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.schedule-modal{background:#151e2e;border:1px solid #ffffff24;border-radius:20px;width:100%;max-width:500px;max-height:90vh;padding:25px;overflow:auto;box-shadow:0 30px 100px #0009}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-heading h2{font-size:23px}.schedule-modal label{color:#b7c3d4;flex-direction:column;gap:6px;margin-bottom:13px;font-size:12px;display:flex}.schedule-modal input,.schedule-modal select,.schedule-modal textarea{color:#e2e8f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b1322;border:1px solid #ffffff24;border-radius:8px;width:100%;padding:10px}.schedule-modal textarea{resize:vertical;min-height:70px}.schedule-modal small{font-size:11px}.time-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.schedule-page .schedule-danger{color:#fca5a5;margin-right:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){.schedule-layout{grid-template-columns:290px minmax(0,1fr)}}@media (width<=1100px){.schedule-page{padding:24px}.schedule-layout{grid-template-columns:220px minmax(0,1fr);gap:12px}.week-day{padding:8px 4px}.schedule-page .schedule-event.compact{padding:8px 5px}.schedule-toolbar{align-items:flex-start}.schedule-controls{justify-content:flex-end}}@media (width<=800px){.schedule-page{padding:20px 16px}.schedule-header-actions{gap:10px;font-size:11px}.schedule-intro{display:block}.access-pill{margin-top:15px;display:inline-block}.child-tabs{margin:22px 0}.today-overview{grid-template-columns:1fr 1fr;gap:20px;padding:21px}.today-heading{grid-column:1/-1}.now-card,.next-card{border:0;padding:0}.today-overview h3{font-size:18px}.schedule-toolbar{margin-top:25px;display:block}.schedule-controls{justify-content:flex-start;margin-top:14px}.schedule-layout{flex-direction:column;display:flex}.week-grid{order:-1;gap:0}.week-events{display:none}.week-day{padding:0}.schedule-page .week-day-heading{min-height:78px;padding:10px 0}.week-day-heading strong{font-size:20px}.day-agenda{padding:20px}.parent-panel{padding:20px;display:block}.schedule-footer{font-size:10px}.schedule-modal{padding:20px}.schedule-history article{align-items:flex-start}.schedule-history strong{overflow-wrap:anywhere}.schedule-header-actions a{max-width:70px;line-height:1.3}}.schedule-modal{color:#e2e8f0;margin:auto}.schedule-modal::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#000a}.mobile-view-controls{display:none}.day-count{color:#94a3b8!important;font-size:8px!important}@media (width<=800px){.mobile-view-controls{gap:6px;margin:15px 0;display:flex}.mobile-view-controls button[aria-pressed=true]{background:var(--child-tint);color:var(--child-accent)}.mobile-week .week-grid{grid-template-columns:1fr}.mobile-week .week-events{padding:0 14px 10px;display:block}.mobile-week .week-day{border-bottom:1px solid #ffffff12}.mobile-week .week-day-heading{flex-direction:row;justify-content:flex-start;gap:10px;min-height:0;padding:12px 14px}.mobile-week .day-agenda{display:none}.mobile-week .schedule-event.compact strong{font-size:13px}.mobile-week .schedule-event.compact .event-time{font-size:11px}.week-day-heading small{font-size:8px}}
