:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#12243d;font-synthesis:none;text-rendering:optimizelegibility;--forest-950:#062e61;--forest-900:#0a3f82;--forest-800:#0b56a8;--forest-700:#1670c5;--forest-100:#dcecff;--forest-50:#eff6ff;--gold-600:#1264b4;--gold-500:#2385d8;--gold-100:#d9ecff;--cream:#fff;--ink:#12243d;--muted:#617189;--line:#d9e3ef;--danger:#a13d3d;--danger-bg:#fbebea;--warning-bg:#fff4da;--shadow:0 18px 55px #062e611a;--shadow-soft:0 7px 24px #062e6114;--radius:18px;background:#f4f8fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f8fc;min-width:320px}body{background:radial-gradient(circle at 100% 0,#2385d81a,#0000 32rem),#f4f8fc;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--forest-950)}h1{letter-spacing:-.03em;margin-bottom:.55rem;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.08}h2{letter-spacing:-.015em;margin-bottom:.4rem;font-size:1.25rem}h3{margin-bottom:.35rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.sidebar{z-index:30;color:#ecf4ef;background:radial-gradient(circle at 30% 0, #ffffff14, transparent 18rem), var(--forest-950);flex-direction:column;width:270px;padding:1.5rem 1.15rem 1.2rem;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:.8rem;padding:0 .5rem;display:flex}.brand-mark{width:44px;height:44px;color:var(--forest-950);background:#fff;border-radius:13px;flex:0 0 44px;place-items:center;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:36px;height:36px}.brand strong,.brand span{display:block}.brand strong{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.brand span{color:#b9d3ef;margin-top:.12rem;font-size:.76rem}.sidebar nav{flex-direction:column;flex:1;gap:.35rem;margin-top:3rem;display:flex}.sidebar nav a{color:#c8dbef;border-radius:11px;align-items:center;gap:.8rem;padding:.8rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff17}.sidebar nav a.active{box-shadow:inset 3px 0 #6dbbff}.sidebar-user{border-top:1px solid #ffffff1a;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:1rem .55rem 0;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-user strong{color:#fff;font-size:.84rem}.sidebar-user span{color:#a9c5e2;margin-top:.14rem;font-size:.72rem}.sidebar-user button{color:#bfd6ed;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem;display:grid}.sidebar-user button:hover{color:#fff;background:#ffffff14}.avatar{width:38px;height:38px;color:var(--forest-950);background:var(--gold-100);border-radius:50%;flex:0 0 38px;place-items:center;font-size:.76rem;font-weight:700;display:grid}.avatar-soft{color:var(--forest-800);background:var(--forest-100)}.main-content{min-height:100vh;margin-left:270px;padding:2.75rem clamp(1.5rem,4vw,4rem) 5rem}.page{width:min(1240px,100%);margin:0 auto}.narrow-page{width:min(880px,100%)}.page-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.25rem;display:flex}.page-header>div:first-child{max-width:700px}.eyebrow{color:var(--gold-600);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:700}.page-description{max-width:660px;color:var(--muted);margin-bottom:0;line-height:1.65}.page-actions{flex:none}.week-selector{min-width:220px;color:var(--forest-800);border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:11px;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.week-selector select{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-weight:600}.metric-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.metric-card{min-height:128px;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #062e6117;border-radius:15px;padding:1.2rem 1.25rem}.metric-card>span,.metric-card>small{color:var(--muted);font-size:.76rem;display:block}.metric-card>strong{color:var(--forest-950);margin:.35rem 0 .15rem;font-family:Fraunces,Georgia,serif;font-size:2rem;display:block}.metric-good{background:var(--forest-50);border-color:#a9d5c0}.metric-attention{background:#fffbf1;border-color:#e9c989}.section-block{margin-top:2rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;display:flex}.section-heading h2{margin-bottom:0;font-family:Fraunces,Georgia,serif;font-size:1.45rem}.toolbar{align-items:center;gap:.7rem;display:flex}.search-field{min-width:220px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:.55rem;padding:.62rem .75rem;display:flex}.search-field input{background:0 0;border:0;outline:none;width:100%;padding:0}.student-list{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}.student-row{border-bottom:1px solid #edf0ec;grid-template-columns:minmax(210px,1.3fr) minmax(130px,.7fr) auto minmax(220px,auto);align-items:center;gap:1rem;padding:1rem 1.1rem;display:grid}.student-row:last-child{border-bottom:0}.student-row:hover{background:#fcfcf9}.student-identity{align-items:center;gap:.8rem;min-width:0;display:flex}.student-identity strong,.student-identity span,.muted-block{display:block}.student-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-identity span,.muted-block{color:var(--muted);margin-top:.15rem;font-size:.77rem}.student-contact{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.row-actions,.form-actions{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.button{min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.67rem 1rem;font-size:.84rem;font-weight:700;line-height:1;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.58}.button-primary{color:#fff;background:var(--forest-800);box-shadow:0 6px 16px #0b56a833}.button-primary:hover:not(:disabled){background:var(--forest-900)}.button-secondary{border-color:var(--line);background:#fff}.button-secondary:hover:not(:disabled){border-color:#9fbfe0}.button-quiet{color:var(--forest-800);background:var(--forest-50)}.button-small{min-height:34px;padding:.48rem .68rem;font-size:.75rem}.button-full{width:100%}.badge{white-space:nowrap;border-radius:100px;align-items:center;gap:.34rem;width:fit-content;padding:.38rem .57rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-submitted{color:#22624f;background:#ddf2e8}.badge-needs_correction{color:#8b5913;background:#fff0cf}.badge-incomplete,.badge-neutral{color:#64716c;background:#edf0ed}.current-week-card,.form-card,.settings-card,.inline-create-form{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;border:1px solid #1c403617;padding:clamp(1.2rem,3vw,2rem)}.current-week-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.current-week-heading h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.5rem}.progress-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem;padding:1.8rem 0 1.4rem;display:grid}.progress-label{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem;font-size:.78rem;display:flex}.progress-label span{color:var(--muted);font-weight:600}.progress-label small{color:var(--muted);font-weight:500}.progress-track{background:#e9ede9;border-radius:100px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--gold-500);height:100%;display:block}.progress-fill.met{background:var(--forest-700)}.devotional-summary,.excused-message{color:var(--forest-800);background:var(--forest-50);border-radius:10px;align-items:center;gap:.65rem;padding:.9rem 1rem;font-size:.84rem;display:flex}.excused-message{margin-top:1.25rem}.excused-message p{color:var(--muted);margin:.2rem 0 0}.student-summary{color:#53615c;border-left:3px solid var(--gold-500);background:#fffcf4;margin:1.15rem 0 0;padding:1rem 1.2rem;font-size:.9rem;font-style:italic;line-height:1.6}.table-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{vertical-align:middle;border-bottom:1px solid #edf0ec;padding:.9rem 1rem;font-size:.8rem}th{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;background:#fafbf8;font-size:.7rem}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{color:var(--muted);margin-top:.18rem}.align-right{text-align:right}.status-dot{align-items:center;gap:.4rem;display:inline-flex}.status-dot:before{content:"";background:#a9afac;border-radius:50%;width:7px;height:7px}.status-dot.active:before{background:#3c946f}.state-panel{min-height:220px;color:var(--muted);border-radius:var(--radius);background:#ffffff8c;border:1px dashed #cad2cd;justify-content:center;align-items:center;gap:.8rem;display:flex}.empty-state{text-align:center;flex-direction:column;padding:2rem}.empty-state h3,.empty-state p{margin-bottom:0}.empty-state p{max-width:430px;line-height:1.5}.spinner{border:2px solid #d1dad5;border-top-color:var(--forest-700);border-radius:50%;width:21px;height:21px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.alert{border-radius:10px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.82rem .95rem;font-size:.82rem;line-height:1.5;display:flex}.alert-error{color:var(--danger);background:var(--danger-bg)}.alert-success{color:#24634e;background:#e5f3ec}.alert-warning{color:#805515;background:var(--warning-bg)}.alert-info{color:var(--forest-800);background:var(--forest-50)}.record-form{gap:1.15rem;display:grid}.record-form fieldset{border:0;min-width:0;padding:0;display:contents}.form-card{box-shadow:var(--shadow-soft)}.form-card-heading,.settings-intro{border-bottom:1px solid var(--line);align-items:flex-start;gap:.9rem;margin-bottom:1.5rem;padding-bottom:1.1rem;display:flex}.account-summary{box-shadow:var(--shadow-soft);align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.account-summary strong,.account-summary span,.account-summary small{display:block}.language-setting{align-items:end;gap:.75rem;display:flex}.language-setting label{flex:1}.account-summary span,.account-summary small{color:var(--muted);margin-top:.2rem}.form-span{grid-column:1/-1}.form-card-heading>span{width:34px;height:34px;color:var(--forest-800);background:var(--forest-100);border-radius:9px;flex:0 0 34px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.form-card-heading h2,.form-card-heading p,.settings-intro h2,.settings-intro p{margin-bottom:0}.form-card-heading p,.settings-intro p{color:var(--muted);margin-top:.2rem;font-size:.82rem}.form-card-heading.compact{margin-bottom:1.1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}label{color:#3d4d47;gap:.4rem;font-size:.79rem;font-weight:700;display:grid}label small{color:var(--muted);font-weight:400;line-height:1.45}input,select,textarea{width:100%;min-height:43px;color:var(--ink);background:#fff;border:1px solid #cfd7d2;border-radius:9px;outline:none;padding:.68rem .75rem;transition:all .12s}textarea{resize:vertical;min-height:auto;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--forest-700);box-shadow:0 0 0 3px #2e6d5b1f}input:disabled,select:disabled,textarea:disabled{color:#65736d;background:#f2f4f1}.check-row{border:1px solid var(--line);cursor:pointer;background:#fafbf8;border-radius:10px;align-items:flex-start;gap:.7rem;margin:1rem 0;padding:.9rem;display:flex}.check-row input{width:18px;min-height:18px;accent-color:var(--forest-700);margin-top:.15rem}.check-row strong,.check-row small{display:block}.check-row small{margin-top:.2rem}.sticky-form-footer{z-index:10;position:sticky;bottom:1rem}.sticky-form-footer>.alert{box-shadow:var(--shadow);margin-bottom:.5rem}.sticky-form-actions{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border-radius:13px;justify-content:flex-end;gap:.7rem;padding:.75rem;display:flex}.back-link{color:var(--forest-700);align-items:center;gap:.4rem;margin-bottom:1.3rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.reviewed-note{color:var(--forest-700);justify-content:flex-end;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.coordinator-notes{margin-top:1rem}.note-list{gap:.6rem;margin-bottom:1rem;display:grid}.note-list article{background:#faf8f1;border-radius:9px;padding:.8rem .9rem}.note-list p{margin-bottom:.25rem;line-height:1.5}.note-list small,.muted-text{color:var(--muted)}.note-form{gap:.7rem;display:grid}.note-form .button{justify-self:end}.tabs{border:1px solid var(--line);background:#fff;border-radius:11px;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:inline-flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.45rem;padding:.65rem .85rem;font-size:.8rem;font-weight:700;display:flex}.tabs button.active{color:var(--forest-800);background:var(--forest-50)}.inline-create-form{box-shadow:var(--shadow-soft);margin-bottom:1.5rem}.inline-create-form .form-actions{margin-top:1rem}.assignment-row{grid-template-columns:1.2fr 1fr .7fr auto}.settings-intro{align-items:center}.icon-tile{width:48px;height:48px;color:var(--forest-800);background:var(--forest-100);border-radius:13px;flex:0 0 48px;place-items:center;display:grid}.target-settings{gap:0;display:grid}.target-settings label{border-bottom:1px solid var(--line);grid-template-columns:1fr 130px;align-items:center;gap:.25rem 1rem;padding:1rem 0;display:grid}.target-settings label>small{grid-column:1}.target-settings label>input,.target-settings .input-suffix{grid-area:1/2/3}.input-suffix{position:relative}.input-suffix input{padding-right:2rem}.input-suffix>span{color:var(--muted);position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.fixed-rule{background:var(--forest-50);border-radius:10px;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.85rem 1rem;font-size:.8rem;display:flex}.fixed-rule span{color:var(--muted)}.week-management{margin-top:1.5rem}.week-create-form{align-items:end;gap:.75rem;margin:1.25rem 0;display:flex}.week-create-form label{color:var(--muted);flex:1;gap:.4rem;font-size:.78rem;font-weight:700;display:grid}.week-management-list{border-top:1px solid var(--line);max-height:430px;overflow:auto}.week-management-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.week-management-row>div{gap:.2rem;display:grid}.week-management-row span{color:var(--muted);font-size:.76rem}.secure-label{color:var(--forest-700);background:var(--forest-50);border-radius:9px;align-items:center;gap:.4rem;padding:.55rem .7rem;font-size:.76rem;font-weight:700;display:inline-flex}.audit-list{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}.audit-list article{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:.85rem;padding:1rem 1.1rem;display:grid}.audit-list article:last-child{border-bottom:0}.audit-icon{width:34px;height:34px;color:var(--forest-700);background:var(--forest-50);border-radius:9px;place-items:center;display:grid}.audit-list strong{font-size:.84rem}.audit-list p,.audit-list time{color:var(--muted);margin:.15rem 0 0;font-size:.74rem}.audit-list time{white-space:nowrap}.audit-list blockquote{color:#626f6a;border-left:2px solid var(--gold-500);margin:.55rem 0 0;padding-left:.65rem;font-size:.78rem}.login-page{grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-story{color:#edf6ff;background:linear-gradient(#062e61c2, #062e61f0), radial-gradient(circle at 20% 15%, #2385d8, transparent 32rem), var(--forest-900);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,6vw,5rem);display:flex}.brand-light{padding:0}.login-story-copy{max-width:600px;margin:auto 0;padding:4rem 0}.login-story-copy h1{color:#fff;max-width:590px;font-size:clamp(2.8rem,6vw,5.5rem)}.login-story-copy>p:not(.eyebrow){color:#c9def4;max-width:540px;font-size:1.05rem;line-height:1.7}.trust-line{color:#d9eaff;align-items:center;gap:.7rem;margin-top:2rem;font-size:.86rem;display:flex}.trust-line svg{color:#79c3ff}.login-panel{background:var(--cream);place-items:center;min-height:100vh;padding:clamp(1.5rem,6vw,5rem);display:grid}.login-card{gap:1.15rem;width:min(430px,100%);display:grid}.login-card h2{margin-bottom:.35rem;font-family:Fraunces,Georgia,serif;font-size:2rem}.login-card>div>p:last-child{color:var(--muted)}.login-language{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.login-language select{width:auto;min-width:125px}.password-input{display:block;position:relative}.password-input input{padding-right:3rem}.password-input button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.35rem;display:grid;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.demo-accounts{border-top:1px solid var(--line);padding-top:1rem}.demo-accounts>span,.demo-accounts>small{color:var(--muted);font-size:.73rem;display:block}.demo-accounts>div{flex-wrap:wrap;gap:.4rem;margin:.55rem 0;display:flex}.boot-screen{place-items:center;min-height:100vh;display:grid}.boot-screen .state-panel{background:0 0;border:0}.mobile-menu-button,.sidebar-scrim{display:none}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.student-row{grid-template-columns:minmax(200px,1fr) auto}.student-contact{grid-row:2}.row-actions{grid-column:2}.assignment-row{grid-template-columns:1fr 1fr}}@media (width<=840px){.sidebar{width:min(82vw,300px);transition:transform .18s;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.sidebar-scrim{z-index:20;background:#091a1680;border:0;display:block;position:fixed;inset:0}.mobile-menu-button{z-index:40;width:42px;height:42px;color:var(--forest-900);border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fffffff0;border-radius:11px;place-items:center;display:grid;position:fixed;top:1rem;right:1rem}.main-content{margin-left:0;padding:5rem 1.1rem 4rem}.page-header{flex-direction:column;align-items:flex-start}.page-actions,.week-selector{width:100%}.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:2rem 1.5rem 3rem}.login-story-copy{padding:4rem 0 0}.login-story-copy h1{font-size:clamp(2.5rem,12vw,4.5rem)}.login-panel{min-height:auto;padding:3rem 1.5rem}}@media (width<=620px){h1{font-size:2rem}.metric-grid,.progress-grid,.form-grid,.form-grid-three{grid-template-columns:1fr}.metric-card{min-height:110px}.section-heading,.toolbar{flex-direction:column;align-items:stretch}.search-field{width:100%}.student-row,.assignment-row{grid-template-columns:1fr;align-items:flex-start}.student-contact,.row-actions{grid-area:auto}.row-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.row-actions .button-primary{margin-left:auto}.week-create-form,.week-management-row,.language-setting{flex-direction:column;align-items:stretch}.week-management-row .button{justify-content:center;width:100%}.sticky-form-actions{flex-direction:column-reverse}.sticky-form-actions .button{width:100%}.target-settings label{grid-template-columns:1fr}.target-settings label>small,.target-settings label>input,.target-settings .input-suffix{grid-area:auto/1}.fixed-rule{flex-direction:column}.audit-list article{grid-template-columns:auto 1fr}.audit-list time{grid-column:2}th,td{padding:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
