@import url('assets/style.css?v=20261001-1');
@import url('assets/ui.css?v=20261003-1');
.app-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:18px;background:radial-gradient(circle at 50% 38%,#f3fbf4 0,#edf6ef 34%,#f8faf5 72%);color:#123d35;transition:opacity .36s ease,visibility .36s ease;animation:splash-auto-hide .36s ease 2.8s forwards}.app-splash.is-hidden{opacity:0;visibility:hidden;animation:none}.splash-mark{width:172px;max-width:48vw;animation:splash-pop .8s cubic-bezier(.22,1,.36,1) both}.splash-mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 22px #123d3520)}.splash-loader{width:118px;height:4px;border-radius:999px;overflow:hidden;background:#dfe9df}.splash-loader:before{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176952,#d2af63);animation:splash-load 1.15s ease-in-out infinite}.app-splash p{margin:0;font-size:13px;color:#597067}@keyframes splash-pop{0%{opacity:0;transform:translateY(12px) scale(.94)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes splash-load{0%{transform:translateX(150%)}100%{transform:translateX(-260%)}}@keyframes splash-auto-hide{to{opacity:0;visibility:hidden;pointer-events:none}}@media(prefers-reduced-motion:reduce){.splash-mark,.splash-loader:before{animation:none}.app-splash{transition:none}}
/* Account approval and Google sign-in */
.google-login{display:flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid #d9dfd5;border-radius:12px;padding:.8rem;color:#173f36;text-decoration:none;font-weight:700;background:#fff}.google-login span{font-family:Arial,sans-serif;font-size:1.1rem;color:#4285f4}.auth-or{display:flex;align-items:center;gap:.75rem;color:#8a958d;font-size:.85rem}.auth-or:before,.auth-or:after{content:"";height:1px;background:#e1e7df;flex:1}.teacher-list{display:grid;gap:.7rem}.teacher-row{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e3ebe3;border-radius:14px}.teacher-row p,.teacher-row small{margin:.25rem 0 0;color:#6d7d74}.teacher-row form{margin:0}@media(max-width:560px){.teacher-row{align-items:flex-start;flex-direction:column}.teacher-row form,.teacher-row button{width:100%}}
.terms-check{display:flex;align-items:flex-start;gap:.65rem;line-height:1.8}.terms-check input{width:auto;margin-top:.45rem}.terms-document{max-width:900px;margin:3rem auto;padding:0 1rem}.terms-document .panel{line-height:2}.terms-document h2{margin-top:2rem}.terms-document ul{padding-right:1.3rem}
.auth-card-login{padding:34px 36px 30px}.auth-head{margin-bottom:22px}.auth-head .auth-mark{margin-bottom:18px}.auth-head h1{margin:5px 0 7px}.auth-head .muted{margin:0}.auth-card .google-access{display:grid;gap:11px;margin:0!important;padding:16px;border:1px solid #dce8df;border-radius:16px;background:linear-gradient(135deg,#f8fcf9,#f1f8f3)}.google-access small{color:#718177;font-size:11px;text-align:center}.auth-card .terms-check-compact{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;font-size:12px!important;font-weight:500!important;line-height:1.65!important;text-align:right}.auth-card .terms-check-compact input{width:18px;height:18px;margin:1px 0 0;min-width:18px;padding:0;accent-color:#176b52;flex:0 0 auto}.terms-check-compact a{color:#176b52;font-weight:700}.auth-card .google-access .google-login{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;box-sizing:border-box;cursor:pointer;border:1px solid #cbded0;border-radius:12px;padding:12px 14px;background:#fff;color:#173f36;font:700 14px inherit;text-decoration:none;box-shadow:0 2px 5px #173e2710;transition:transform .15s,box-shadow .15s,border-color .15s}.auth-card .google-access .google-login:hover{border-color:#79aa8d;box-shadow:0 8px 16px #173e2714;transform:translateY(-1px)}.auth-card .google-access .google-login span{font-family:Arial,sans-serif;font-size:18px;font-weight:700;color:#4285f4}.auth-links{display:flex;justify-content:center;gap:8px;margin-top:18px;font-size:12px}.auth-links a{color:#176b52;text-decoration:none;font-weight:700}.auth-links span{color:#b3beb7}@media(max-width:560px){.auth-card-login{padding:28px 22px 25px}.auth-head{margin-bottom:18px}.auth-card .google-access{padding:14px}.auth-card .terms-check-compact{font-size:11px!important}}

/* Teacher accounts: clear stacked groups on desktop and mobile. */
.teacher-list{display:grid;gap:1rem}.teacher-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(200px,1fr) minmax(170px,.8fr);gap:1rem;align-items:start;padding:1.15rem;background:#fbfdfb}.teacher-row>div:first-child{padding:.35rem .25rem}.teacher-row .retention-control{display:grid;gap:.55rem;margin:0;padding:.8rem;border:1px solid #e3ebe3;border-radius:14px;background:#fff}.teacher-row .retention-control label{font-size:.84rem;color:#496258}.teacher-row .retention-control input[type=number]{margin-top:.35rem}.teacher-actions{grid-column:1/-1;display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;border-top:1px solid #e8eee8;padding-top:.9rem}.teacher-actions>form{margin:0}.teacher-actions details{min-width:230px}.teacher-actions summary{cursor:pointer;color:#176b52;font-weight:700;padding:.7rem;border:1px solid #dce8df;border-radius:10px;background:#f7fbf7}.warning-form,.delete-account-form{display:grid;gap:.65rem;margin-top:.65rem;padding:.8rem;border:1px solid #e7eee7;border-radius:12px;background:#fff}.warning-form textarea{min-height:80px}.teacher-row small{display:block}.panel>.notice{margin-top:0}@media(max-width:900px){.teacher-row{grid-template-columns:1fr 1fr}.teacher-actions{grid-column:1/-1}}@media(max-width:600px){.teacher-row{grid-template-columns:1fr}.teacher-actions{display:grid}.teacher-actions>form,.teacher-actions details{width:100%}.teacher-actions button,.teacher-actions summary{width:100%;box-sizing:border-box}.teacher-row .retention-control{padding:.75rem}}
.teacher-actions{display:grid;gap:9px;min-width:190px}.teacher-actions details{font-size:12px}.teacher-actions summary{cursor:pointer;color:#61756a}.warning-form,.delete-account-form{display:grid;gap:8px;margin-top:10px;padding:10px;border-top:1px solid #e6ece6}.warning-form textarea,.delete-account-form input{width:100%;box-sizing:border-box;padding:8px;border:1px solid #dce5dc;border-radius:8px;font:inherit}.warning-form textarea{min-height:70px;resize:vertical}.delete-account-form{background:#fff6f4}.delete-account-form label{font-size:11px;color:#874940}@media(max-width:560px){.teacher-actions{width:100%}}
.brand-logo{display:block;width:174px;max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.mobile-top .app-brand{display:flex;align-items:center}.mobile-top .brand-logo{width:112px}}
.auth-logo{display:block;width:150px;max-width:72%;height:auto;margin:0 0 18px auto}.auth-head .auth-logo+.eyebrow{margin-top:0}@media(max-width:560px){.auth-logo{width:132px;margin-bottom:15px}}
.gender-onboarding{max-width:630px}.gender-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px;padding:0;border:0}.gender-choice legend{width:100%;margin:0 0 10px;font-weight:800;color:#173f36}.gender-card{position:relative;display:grid!important;grid-template-columns:76px 1fr;align-items:center;gap:12px;min-height:118px;padding:14px!important;border:1px solid #dfe9e1;border-radius:18px;background:#fbfdfb;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.gender-card:hover{border-color:#88b69a;transform:translateY(-1px)}.gender-card:has(input:checked){border-color:#176b52;background:#f2f9f4;box-shadow:0 7px 18px #173e2711}.gender-card input{position:absolute;opacity:0;pointer-events:none}.gender-card img{width:76px;height:76px;object-fit:contain;border-radius:50%;background:#e9f3eb}.gender-card strong{display:block;font-size:18px;color:#173f36}.gender-card small{display:block;margin-top:4px;color:#64786d;line-height:1.6}.gender-card:focus-within{outline:3px solid #c9dfcf;outline-offset:2px}.gender-onboarding .primary{width:100%}.gender-logout{text-align:center;margin-top:14px}.gender-logout .text-btn{font-size:13px;color:#64786d}@media(max-width:560px){.gender-choice{grid-template-columns:1fr;gap:10px}.gender-card{grid-template-columns:66px 1fr;min-height:92px}.gender-card img{width:66px;height:66px}}
.terms-logo{display:block;width:165px;max-width:60%;height:auto;margin:0 0 22px auto}
.section-add-actions,.text-evidence-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.text-evidence-form{display:grid;gap:20px;max-width:760px;padding:28px!important}.text-evidence-intro{display:flex;align-items:flex-start;gap:13px;padding:2px 0 18px;border-bottom:1px solid #e7eee8}.text-evidence-intro strong{display:block;color:#173f36;font-size:20px}.text-evidence-intro p{margin:5px 0 0;color:#738178;font-size:14px;line-height:1.7}.text-evidence-badge{display:grid;place-items:center;flex:0 0 auto;min-width:67px;height:31px;border-radius:999px;background:#e8f3eb;color:#176952;font-size:12px;font-weight:800}.text-evidence-field{display:grid;gap:8px}.text-evidence-field>label,.text-evidence-label label{color:#244a40;font-size:15px;font-weight:800}.text-evidence-field input,.text-evidence-field select,.text-evidence-field textarea{width:100%;box-sizing:border-box}.text-evidence-field textarea{min-height:250px;resize:vertical;line-height:2;background:#fcfefc}.text-evidence-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.text-evidence-label span,.text-evidence-field small{color:#77867e;font-size:12px;line-height:1.6}.text-evidence-actions{justify-content:flex-start;padding-top:4px;border-top:1px solid #e7eee8}.text-evidence-actions .primary,.text-evidence-actions .outline{min-height:44px;padding:0 19px}.text-witness-card{display:block!important;padding:18px!important;background:#fbfdf9}.text-witness-icon{display:flex;align-items:center;gap:8px;color:#176952;margin-bottom:12px}.text-witness-icon .icon-svg{width:25px;height:25px}.text-witness-card p{margin:10px 0;white-space:normal;line-height:1.85;color:#536960}.text-picker{text-decoration:none;color:inherit}@media(max-width:600px){.text-evidence-form{gap:16px;padding:20px!important;border-radius:22px}.text-evidence-intro{gap:10px;padding-bottom:14px}.text-evidence-intro strong{font-size:18px}.text-evidence-intro p{font-size:13px}.text-evidence-badge{min-width:57px;height:28px;font-size:11px}.text-evidence-field input,.text-evidence-field select,.text-evidence-field textarea{font-size:16px}.text-evidence-field textarea{min-height:220px;line-height:1.9}.text-evidence-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.text-evidence-actions .primary,.text-evidence-actions .outline{display:grid;place-items:center;width:100%;padding:0 8px;font-size:14px}}

/* Mobile auth readability: keep iOS from zooming focused fields. */
.auth-card{width:min(100%,520px);padding:42px 40px}.auth-card h1{font-size:32px}.auth-card label{font-size:15px}.auth-card input,.auth-card select,.auth-card textarea{font-size:16px;min-height:50px}.auth-card .terms-check-compact{font-size:14px!important}@media(max-width:600px){.auth-page{padding:18px 14px}.auth-card{width:100%;padding:30px 24px;border-radius:24px}.auth-card h1{font-size:28px}.auth-card input,.auth-card select,.auth-card textarea{font-size:16px;min-height:52px}.auth-card .google-access{padding:14px}.auth-links{font-size:13px}}

/* Cleaner teacher-account cards. */
.teacher-row{grid-template-columns:minmax(210px,.95fr) minmax(220px,1fr) minmax(220px,1fr);gap:1.15rem;padding:1.25rem;border-radius:18px;background:#fff;box-shadow:0 5px 18px #173e2708}.teacher-row>div:first-child{display:flex;flex-direction:column;justify-content:center;min-height:145px;padding:.5rem .35rem}.teacher-row>div:first-child strong{font-size:1.08rem;color:#173f36}.teacher-row>div:first-child p{font-size:.9rem;word-break:break-word}.teacher-row .retention-control{align-content:start;min-height:118px;box-sizing:border-box}.teacher-row .retention-control button,.teacher-row .retention-control .outline{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;appearance:none}.teacher-row .retention-control input[type=number]{font-size:16px;min-height:44px}.teacher-actions{align-items:center;justify-content:flex-end}.teacher-actions button,.teacher-actions .outline,.teacher-actions summary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}.teacher-actions details{flex:1 1 100%;min-width:0}.teacher-actions details[open]{padding:0 0 .2rem}.teacher-actions summary{width:100%;justify-content:flex-start}@media(max-width:900px){.teacher-row{grid-template-columns:1fr 1fr}.teacher-row>div:first-child{grid-column:1/-1;min-height:0}.teacher-actions{grid-column:1/-1}}@media(max-width:600px){.teacher-row{grid-template-columns:1fr;padding:1rem}.teacher-row>div:first-child{grid-column:auto}.teacher-row .retention-control{min-height:0}.teacher-actions{grid-column:auto}}

/* Three deliberate rows per teacher: limit, archive, then actions. */
.teacher-row{grid-template-columns:minmax(250px,1fr) minmax(190px,.72fr);gap:.8rem 1.1rem}.teacher-row>div:first-child{grid-column:2;grid-row:1 / span 2;min-height:150px}.teacher-row .retention-control:nth-of-type(1){grid-column:1;grid-row:1}.teacher-row .retention-control:nth-of-type(2){grid-column:1;grid-row:2}.teacher-row .retention-control{min-height:0;padding:.7rem}.teacher-row .retention-control button,.teacher-row .retention-control .outline{min-height:36px;padding:7px 11px;font-size:12px}.teacher-row .retention-control input[type=number]{min-height:36px;padding:7px 10px;font-size:14px}.teacher-actions{grid-column:1/-1;grid-row:3;justify-content:flex-start;padding-top:.75rem}.teacher-actions button,.teacher-actions .outline,.teacher-actions summary{min-height:36px;padding:7px 12px;font-size:12px}.teacher-actions details{flex:0 1 220px}.teacher-actions>form{flex:0 0 auto}@media(max-width:900px){.teacher-row{grid-template-columns:1fr 1fr}.teacher-row>div:first-child{grid-column:2;grid-row:1 / span 2;min-height:130px}.teacher-row .retention-control:nth-of-type(1){grid-column:1;grid-row:1}.teacher-row .retention-control:nth-of-type(2){grid-column:1;grid-row:2}.teacher-actions{grid-column:1/-1;grid-row:3}}@media(max-width:600px){.teacher-row{grid-template-columns:1fr}.teacher-row>div:first-child{grid-column:1;grid-row:1;min-height:0}.teacher-row .retention-control:nth-of-type(1),.teacher-row .retention-control:nth-of-type(2){grid-column:1;grid-row:auto}.teacher-actions{grid-column:1;grid-row:auto}}
