@import "https://fonts.googleapis.com/css2?family=Amiri:wght@700&family=Tajawal:wght@400;500;700;800&display=swap";:root{color:#18372e;font-synthesis:none;--green:#1e5a48;--deep:#123a30;--gold:#c79532;--paper:#fffdf7;--line:#dce5de;--muted:#667870;--danger:#a23b32;--good:#237454;background:#edf2ed;font-family:Tajawal,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#e8efe9,#f7f4eb);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.auth-page{background:radial-gradient(circle at 12% 10%,#d7ab4938,#0000 32%),linear-gradient(145deg,#245c49,#102f27);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--paper);text-align:right;border:1px solid #fff3;border-radius:26px;width:min(100%,420px);padding:38px 30px;box-shadow:0 28px 80px #04181259}.auth-card.compact{text-align:center}.brand-seal,.mini-seal{background:var(--deep);color:#f1d690;border:2px solid #d5ad55;place-items:center;font-family:Amiri,serif;display:grid}.brand-seal{border-radius:50%;width:64px;height:64px;font-size:2rem;box-shadow:0 0 0 7px #1e5a481a}.eyebrow{color:#987124;margin:20px 0 5px;font-size:.78rem;font-weight:800}.auth-card h1{margin:0;font-family:Amiri,serif;font-size:2.35rem;line-height:1.35}.lead{color:var(--muted);line-height:1.8}.auth-form{gap:16px;margin-top:24px;display:grid}.auth-form label,.progress-form label,.toolbar label{color:#314c43;gap:7px;font-size:.88rem;font-weight:700;display:grid}input,select,textarea{color:#18372e;background:#fff;border:1px solid #cad8ce;border-radius:12px;outline:none;width:100%;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1e5a481f}.primary-button,.secondary-button{border-radius:12px;padding:12px 18px;font-weight:800}.primary-button{background:var(--green);color:#fff;border:0;box-shadow:0 8px 20px #1e5a482e}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6}.secondary-button{color:var(--green);background:#fff;border:1px solid #b8c9be}.quiet-note,.account-detail{color:#7a8983;text-align:center;font-size:.78rem}.notice{border-radius:12px;margin:14px 0;padding:12px 14px;line-height:1.6}.notice.danger{color:#8e322b;background:#fbedeb}.notice.warm{color:#745619;background:#fff5d9}.spinner{border:3px solid #bed1c6;border-top-color:var(--green);border-radius:50%;width:24px;height:24px;margin:8px auto;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.teacher-app{min-height:100vh;padding-bottom:92px}.teacher-header{background:var(--deep);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px max(18px,50vw - 525px);display:flex;box-shadow:0 4px 18px #0a2b2233}.teacher-header>div{align-items:center;gap:12px;display:flex}.teacher-header p,.teacher-header h1{margin:0}.teacher-header p{color:#d9e7df;font-size:.72rem}.teacher-header h1{font-family:Amiri,serif;font-size:1.35rem}.mini-seal{border-radius:50%;width:42px;height:42px;font-size:1.25rem}.logout-button{color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:9px;padding:7px 12px}.teacher-main{width:min(100% - 28px,1050px);margin:18px auto}.welcome-strip{background:linear-gradient(125deg,#fffdf7,#f8efd8);border:1px solid #c7953240;border-radius:18px;justify-content:space-between;gap:18px;padding:20px;display:flex;box-shadow:0 8px 24px #1c413414}.welcome-strip p{color:#957127;margin:0 0 3px;font-size:.78rem}.welcome-strip strong{font-family:Amiri,serif;font-size:1.25rem}.quick-stats{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.quick-stats span,.count-pill{color:#436057;background:#e9f1ec;border-radius:999px;padding:7px 10px;font-size:.75rem}.quick-stats b{color:var(--green)}.quick-stats .risk{color:var(--danger);background:#fae8e5}.page-section{margin-top:18px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.section-heading .eyebrow{margin:0}.section-heading h2{margin:2px 0 0;font-family:Amiri,serif;font-size:2rem}.search-field{margin-bottom:14px;display:block}.student-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px;display:grid}.student-card,.attendance-row,.progress-form,.progress-history article,.state-card,.empty-state{border:1px solid var(--line);background:var(--paper);border-radius:17px;box-shadow:0 6px 18px #1c41340f}.student-card{padding:17px}.student-card-head{align-items:center;gap:12px;display:flex}.avatar{width:44px;height:44px;color:var(--green);background:#e5efe9;border-radius:14px;flex:none;place-items:center;font-family:Amiri,serif;font-size:1.4rem;display:grid}.student-card h3,.student-card p{margin:0}.student-card p{color:var(--muted);margin-top:3px;font-size:.78rem}.student-facts{grid-template-columns:1fr 1fr;gap:8px;margin:15px 0;display:grid}.student-facts>div{background:#f3f6f2;border-radius:12px;gap:3px;padding:11px;display:grid}.student-facts span,.student-facts small{color:var(--muted);font-size:.7rem}.student-facts strong{font-size:.9rem}.status-text.good{color:var(--good)}.status-text.risk{color:var(--danger)}.status-text.neutral{color:var(--muted)}.contact-link{color:var(--green);text-align:left;border-top:1px solid #e6ece7;padding-top:10px;font-weight:700;text-decoration:none;display:block}.contact-link.muted{color:var(--muted);text-align:right;font-weight:400}.empty-state,.state-card{text-align:center;color:var(--muted);padding:36px}.empty-state.small{padding:20px}.state-card{place-items:center;gap:10px;display:grid}.toolbar{grid-template-columns:190px 1fr;gap:12px;margin-bottom:13px;display:grid}.attendance-list{gap:9px;display:grid}.attendance-row{justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.attendance-row>div:first-child{gap:3px;display:grid}.attendance-row small{color:var(--muted)}.attendance-choice{align-items:center;gap:7px;display:flex}.attendance-choice button{color:#4e625b;background:#fff;border:1px solid #cad7d0;border-radius:10px;padding:8px 12px}.attendance-choice button.selected.present{border-color:var(--good);color:var(--good);background:#e6f4eb}.attendance-choice button.selected.absent{border-color:var(--danger);color:var(--danger);background:#fbe9e6}.attendance-choice span{color:var(--muted);font-size:.72rem}.sticky-action{z-index:3;width:100%;margin-top:14px;position:sticky;bottom:82px}.progress-form{gap:14px;padding:18px;display:grid}.progress-form textarea{resize:vertical}.form-actions{gap:9px;display:flex}.history-heading{justify-content:space-between;align-items:center;margin:22px 2px 10px;display:flex}.history-heading h3{margin:0}.history-heading span{color:var(--muted);font-size:.78rem}.progress-history{gap:10px;display:grid}.progress-history article{padding:15px}.progress-history article>div{justify-content:space-between;display:flex}.progress-history p{color:#4d6259}.progress-history small{color:var(--muted)}.text-button{color:var(--green);background:0 0;border:0;padding:0;font-weight:800}.bottom-nav{inset-inline:0;z-index:10;max-width:620px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf7f5;border:1px solid #d8e2dc;border-bottom:0;border-radius:18px 18px 0 0;grid-template-columns:repeat(3,1fr);margin:auto;display:grid;position:fixed;bottom:0;box-shadow:0 -8px 28px #0f30271f}.bottom-nav button{color:#6a7c75;background:0 0;border:0;border-radius:11px;place-items:center;gap:2px;padding:6px;display:grid}.bottom-nav button.active{color:var(--green);background:#e6efe9}.bottom-nav span{font-weight:800}.bottom-nav small{font-size:.7rem}.session-email{inset-inline-start:8px;color:#0000;max-width:120px;font-size:1px;position:fixed;bottom:4px;overflow:hidden}.toast{inset-inline:18px;z-index:20;color:#fff;text-align:center;border-radius:12px;max-width:520px;margin:auto;padding:13px 16px;position:fixed;bottom:88px;box-shadow:0 12px 32px #0003}.toast.success{background:var(--good)}.toast.danger{background:var(--danger)}@media (width<=620px){.auth-page{padding:12px}.auth-card{border-radius:22px;padding:31px 22px}.teacher-header{padding-inline:14px}.teacher-header p{display:none}.teacher-main{width:min(100% - 20px,1050px);margin-top:10px}.welcome-strip{padding:15px;display:grid}.quick-stats{gap:6px}.section-heading h2{font-size:1.7rem}.student-grid,.toolbar{grid-template-columns:1fr}.attendance-row{flex-direction:column;align-items:flex-start}.attendance-choice{width:100%}.attendance-choice button{flex:1}.student-facts{gap:6px}}@media (width>=900px){.bottom-nav{top:106px;bottom:auto;border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr;width:155px;inset-inline:calc(50% - 525px) auto}.teacher-main{padding-inline-start:178px}.session-email{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner{animation-duration:1.5s}}
