:root{--bg: #f6efe4;--bg-soft: #fdf6ea;--surface: #fffdf8;--line: #e6dbc7;--text: #122c49;--muted: #61738a;--primary: #0f3f67;--mint: #18b99a;--mint-dark: #108b73;--gold: #e9ab36;--salmon: #f08c6a;--shadow: 0 14px 34px rgba(14, 42, 74, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Manrope,sans-serif;background:radial-gradient(circle at 10% 16%,#ffe7b8 0,transparent 32%),radial-gradient(circle at 88% 12%,#d7fff2 0,transparent 34%),radial-gradient(circle at 50% 86%,#ffe4de 0,transparent 32%),var(--bg)}h1,h2,h3,h4{font-family:Sora,sans-serif;margin:0;letter-spacing:-.2px}a{text-decoration:none;color:inherit}.page-shell{position:relative}.landing{min-height:100vh;padding:1.1rem 1rem 3rem}.landing-header{position:sticky;top:12px;z-index:30;max-width:1100px;margin:0 auto 1rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem}.brand-mark{display:inline-flex;align-items:center;gap:.45rem;font-family:Sora,sans-serif;font-size:.9rem;font-weight:700;color:var(--primary)}.brand-logo{width:42px;height:42px;border-radius:10px;object-fit:cover;border:2px solid #d6ecfb;background:#fff;box-shadow:0 6px 14px #0f3f6733}.brand-dot{width:12px;height:12px;border-radius:99px;background:linear-gradient(130deg,var(--mint),var(--gold));box-shadow:0 0 0 4px #16c79a26}.header-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.header-links a{color:var(--muted);font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.34rem;transition:color .18s ease}.header-links a:hover{color:var(--primary)}.nav-mini-icon{width:1.9rem;height:1.9rem;display:inline-grid;place-items:center;border:1px solid #cddfed;background:#edf7ff;color:#1d5a87;border-radius:999px;font-size:1rem;font-family:Sora,sans-serif;font-weight:800;letter-spacing:.2px;line-height:1}.desktop-only{display:inline-flex}.mobile-nav-toggle{display:none;border:1px solid #d5e3ee;border-radius:10px;background:#fff;color:var(--primary);padding:.5rem .75rem;font-family:Sora,sans-serif;font-weight:700}.mobile-nav-panel{max-width:1100px;margin:0 auto .8rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:.8rem;display:none;gap:.6rem}.mobile-nav-panel a{color:var(--primary);font-weight:700}.hero,.panel-card,.auth-card,.card,.cta,.mini-block,.metric-card,.attendance-box,.list-item,.admin-module,.admin-form{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.hero{max-width:1100px;margin:0 auto;padding:1.4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:.36rem .7rem;font-size:.8rem;font-weight:800;background:#def9f1;color:#0d7f62;border:1px solid #b5efdf}.hero-content h1{font-size:clamp(1.9rem,5vw,3.2rem);margin-top:.45rem}.hero-content>p{color:var(--muted);line-height:1.6;margin:.6rem 0 0}.hero-brand-showcase{margin-top:.85rem;margin-inline:auto;display:flex;justify-content:center;align-items:center;padding:.7rem .9rem;border:1px solid #d7e7f2;border-radius:14px;background:linear-gradient(130deg,#f4fbff,#f8fffb);width:min(100%,440px)}.hero-brand-large{width:clamp(230px,32vw,330px);height:auto;aspect-ratio:1 / 1;border-radius:26px;object-fit:contain;object-position:center;border:3px solid #d6ecfb;background:#fff;box-shadow:0 14px 28px #0e2a4a3d}.pill-row{margin-top:.9rem;display:flex;gap:.45rem;flex-wrap:wrap}.pill-row span{border-radius:999px;padding:.36rem .68rem;font-size:.78rem;font-weight:700;color:#6b5400;background:#fff3d3;border:1px solid #ffe4a0}.hero-actions{display:flex;gap:.65rem;margin-top:1rem;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:.73rem 1.05rem;font-family:Sora,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-solid{color:#fff;background:linear-gradient(120deg,var(--mint),#21d5a6);box-shadow:0 10px 18px #16c79a57}.btn-solid:hover{box-shadow:0 16px 28px #16c79a66;transform:translateY(-4px)}.btn-outline{color:var(--primary);background:#fff;border:1px solid #c9deec}.btn-outline:hover{box-shadow:0 12px 24px #0e2a4a1a;transform:translateY(-4px)}.btn-danger{color:#8c1f21;background:#ffe1df;border:1px solid #ffc2bb;padding:.45rem .72rem}.btn-xs{padding:.36rem .58rem;font-size:.75rem}.hero-stats{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.hero-stats article{border-radius:14px;padding:.65rem;border:1px solid #e3edf7;background:#f7fbff}.hero-stats h3{color:var(--primary);font-size:1.05rem}.hero-stats p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.hero-visual{display:grid;gap:.7rem}.hero-visual-meta{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:.15rem}.hero-collage{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.hero-collage-item{margin:0;border-radius:14px;overflow:hidden;border:1px solid #d4e5f4;box-shadow:0 10px 18px #0e2a4a24;min-height:138px;background:linear-gradient(150deg,#eaf5ff,#f6fcff)}.hero-collage-item img{display:block;width:100%;height:100%;object-fit:cover}.hero-collage-item-1{grid-column:span 2;min-height:190px;padding:.45rem;display:grid;place-items:center}.hero-collage-item-1 img{object-fit:contain;object-position:center;border-radius:10px}.visual-card{border-radius:16px;padding:1rem;border:1px solid #d4e5f4;background:linear-gradient(140deg,#f7fbff,#eaf7ff);animation:pop-in .56s ease both}.visual-card:nth-child(2){animation-delay:90ms}.visual-card:nth-child(3){animation-delay:.13s}.visual-card:nth-child(4){animation-delay:.17s}.visual-card p{margin:0;font-size:.8rem;color:var(--muted)}.visual-card h4{margin:.35rem 0;color:var(--primary)}.visual-card small{color:#098b67}.cards,.mini-grid{max-width:1100px;margin:1rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}.card,.mini-block{padding:1rem;animation:pop-in .55s ease both}.card h3,.mini-block h3{color:var(--primary)}.card p,.mini-block p{margin:.45rem 0 0;color:var(--muted);line-height:1.5}.landing-gallery,.proposal-card{max-width:1100px;margin:1rem auto 0;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:1.2rem}.founder-section{max-width:1100px;margin:1rem auto 0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fffefb,#f4fffb);box-shadow:var(--shadow);padding:1rem;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:.85rem;align-items:center}.founder-photo{margin:0;display:grid;place-items:center;padding:.5rem;border-radius:16px;overflow:hidden;border:1px solid #d4e5f4;min-height:300px;background:#e8f4ff}.founder-photo img{display:block;width:min(100%,430px);max-height:420px;height:auto;object-fit:contain;object-position:center;border-radius:12px}.founder-copy h2{margin-top:.5rem}.founder-copy p{margin:.55rem 0 0;color:var(--muted)}.founder-badges{margin-top:.75rem;display:flex;gap:.45rem;flex-wrap:wrap}.founder-badges span{border-radius:999px;padding:.35rem .62rem;font-size:.76rem;font-weight:700;color:#1f5683;border:1px solid #cce1f0;background:#edf7ff}.team-section{max-width:1100px;margin:1rem auto 0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fffefb,#eef8ff);box-shadow:var(--shadow);padding:1rem;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:.9rem;align-items:center}.team-photo{margin:0;border-radius:16px;overflow:hidden;border:1px solid #d4e5f4;min-height:280px;background:#e8f4ff;display:grid;place-items:center;padding:.5rem}.team-photo img{display:block;width:min(100%,430px);max-height:420px;height:auto;object-fit:contain;object-position:center;border-radius:12px}.team-copy h2{margin-top:.5rem}.team-copy p{margin:.55rem 0 0;color:var(--muted)}.team-points{margin-top:.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.team-points span{border-radius:12px;padding:.45rem .58rem;font-size:.8rem;font-weight:700;color:#1f5683;border:1px solid #cce1f0;background:#fff}.landing-gallery-head p,.proposal-card p{margin:.45rem 0 0;color:var(--muted)}.gallery-slider{margin-top:.85rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}.gallery-viewport{position:relative;min-height:320px;border-radius:16px;overflow:hidden;border:1px solid #d4e5f4;background:#eef6fc}.gallery-slide{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;pointer-events:none;transition:opacity .28s ease}.gallery-slide.active{opacity:1;pointer-events:auto}.gallery-slide img{display:block;width:100%;height:100%;object-fit:cover}.gallery-slide figcaption{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;margin:0;border-radius:10px;padding:.45rem .6rem;color:#f5fbff;font-size:.79rem;font-weight:700;background:#0e2a4a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-nav{width:42px;height:42px;border-radius:999px;border:1px solid #c9deec;background:#fff;color:var(--primary);font-family:Sora,sans-serif;font-size:1.4rem;line-height:1;cursor:pointer}.gallery-nav:hover{transform:translateY(-1px);box-shadow:0 10px 16px #0e2a4a24}.gallery-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.65rem}.gallery-dot{width:10px;height:10px;border-radius:999px;border:1px solid #c5dbeb;background:#e6f1f9;cursor:pointer}.gallery-dot.active{border-color:#85cfba;background:var(--mint)}.proposal-card{background:linear-gradient(130deg,#f4fffb,#fff8ec)}.proposal-points{margin-top:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.proposal-point{border:1px solid #d4e5f4;border-radius:14px;background:#fff;padding:.8rem}.proposal-point h3{font-size:.95rem;color:var(--primary)}.proposal-point p{margin:.38rem 0 0;font-size:.86rem}.landing-video-wrap{margin-top:.9rem;display:block}.landing-video-shell{width:100%;border-radius:16px;padding:.45rem;background:linear-gradient(145deg,#0f3f67,#16578c);box-shadow:0 16px 28px #0e2a4a40}.landing-video{display:block;width:100%;aspect-ratio:16 / 9;border-radius:12px;object-fit:contain;background:#0a1825}.video-card{background:linear-gradient(130deg,#eefaff,#f8fffc)}.landing-admin-module{margin-top:.8rem}.landing-editor{display:grid;gap:.9rem}.landing-editor-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.landing-editor-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.landing-editor-head h4{margin:0}.landing-editor-head p{margin:.25rem 0 0;color:var(--muted)}.landing-editor-head-actions{display:flex;gap:.45rem;flex-wrap:wrap}.landing-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:.9rem;align-items:start}.landing-editor-grid{display:grid;gap:.9rem}.landing-editor-section{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.landing-section-head{padding:.72rem .8rem;display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;border-bottom:1px solid #e1edf7;background:linear-gradient(145deg,#f8fcff,#f7fff9)}.landing-section-head h5{margin:0}.landing-section-head p{margin:.24rem 0 0;color:var(--muted);font-size:.82rem}.landing-section-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.landing-section-body{padding:.8rem;display:grid;gap:.72rem}.landing-text-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem}.landing-text-fields label{display:grid;gap:.33rem;font-size:.9rem;color:var(--muted)}.landing-text-fields input,.landing-text-fields textarea{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);padding:.55rem .7rem;font:inherit}.landing-text-fields textarea{resize:vertical;min-height:86px}.landing-field-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.landing-current-text{color:#3f5972;font-size:.78rem}.landing-media-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem}.landing-media-card{border:1px solid #d9e7f3;border-radius:14px;background:linear-gradient(150deg,#fbfeff,#f4fbff);padding:.65rem;display:grid;gap:.5rem}.landing-media-card header{display:flex;justify-content:space-between;gap:.4rem;align-items:center}.landing-media-preview{border:1px solid #d8e6f1;border-radius:12px;min-height:140px;background:#eef7ff;display:grid;place-items:center;overflow:hidden;padding:.35rem}.landing-media-preview img,.landing-media-preview video{width:100%;height:180px;border-radius:10px}.landing-media-preview img{object-fit:contain;background:#f4f9ff}.landing-media-preview video{object-fit:contain;background:#0a1825}.landing-media-preview p{color:var(--muted);font-size:.85rem}.landing-media-card label{display:grid;gap:.3rem;font-size:.86rem;color:var(--muted)}.landing-media-card input[type=file]{border:1px dashed #bfd9ec;border-radius:10px;padding:.45rem;background:#fff}.landing-media-card small{color:#0f5f8f;font-weight:700}.landing-upload-note{color:#47657d!important;font-weight:600!important}.landing-upload-hint{color:#35556f!important;font-weight:600!important}.landing-editor-actions{display:flex;justify-content:flex-end;gap:.6rem}.landing-preview-panel{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:.75rem;position:sticky;top:.8rem}.landing-preview-head h5{margin:0}.landing-preview-head p{margin:.26rem 0 0;color:var(--muted)}.landing-preview-frame-wrap{margin-top:.6rem;border:1px solid #d9e8f2;border-radius:14px;overflow:hidden;background:#eaf5ff}.landing-preview-frame{display:block;width:100%;height:420px;border:0;transform:scale(.58);transform-origin:top left;width:172%;height:720px}.landing-preview-actions{margin-top:.55rem;display:grid;grid-template-columns:1fr;gap:.4rem}.landing-closing{max-width:1100px;margin:1rem auto 0;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,#fffefb,#f4fffb 45%,#eef6ff);box-shadow:var(--shadow);padding:1.05rem}.closing-intro{text-align:center}.closing-intro p{margin:.5rem auto 0;max-width:760px;color:var(--muted)}.closing-card{border:1px solid #d4e5f4;border-radius:16px;background:#fff;padding:1rem;margin-top:.7rem}.closing-card h3{color:var(--primary)}.closing-card p{margin:.45rem 0 0;color:var(--muted)}.closing-card .hero-actions{margin-top:.8rem}.contact-actions{margin-top:.55rem!important}.contact-meta{margin-top:.65rem;color:#365775!important;font-size:.86rem}.closing-card-highlight{background:linear-gradient(140deg,#e8fff8,#f1fbff);border-color:#c6ebde;padding:1.5rem}.closing-kpis{margin-top:.75rem;display:flex;gap:.45rem;flex-wrap:wrap}.closing-kpis span{border-radius:999px;padding:.33rem .62rem;font-size:.76rem;font-weight:700;color:#1b5a8a;background:#edf6ff;border:1px solid #cfe2f2}.cta{max-width:1100px;margin:1rem auto 0;padding:1.2rem;text-align:center;background:linear-gradient(130deg,#f4fffb,#fff8eb)}.cta p{margin:.55rem 0 0;color:var(--muted)}.cta-last{margin-top:.75rem}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1rem}.verify-layout{align-items:start;padding-top:1.2rem}.verify-card{width:min(980px,100%)}.verify-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.55rem}.verify-form label{margin:0}.verify-result{margin-top:.7rem}.panel-layout{min-height:100vh;display:grid;place-items:start center;padding:clamp(.7rem,1vw,1.15rem)}.auth-card{width:min(1120px,100%);padding:1rem}.panel-card{width:min(1460px,calc(100vw - 1.4rem));padding:1rem}.auth-split{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.auth-brand,.auth-form{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.auth-brand{background:linear-gradient(150deg,#fffaf1,#f2fffa)}.auth-brand-head{display:flex;align-items:center;gap:.65rem}.auth-brand-head small{color:var(--muted);font-size:.78rem}.auth-logo{width:clamp(108px,9vw,132px);height:clamp(108px,9vw,132px);border-radius:14px;object-fit:cover;border:2px solid #d5e7f1;background:#fff;box-shadow:0 8px 18px #123e6533}.auth-logo-fallback{width:clamp(108px,9vw,132px);height:clamp(108px,9vw,132px);border-radius:14px;display:grid;place-items:center;font-family:Sora,sans-serif;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--primary),#11689a)}.auth-brand h1{margin:.55rem 0}.auth-brand p{color:var(--muted);line-height:1.55}.auth-brand ul{margin:.8rem 0 0;padding-left:1rem;color:var(--primary)}.auth-brand li{margin-bottom:.35rem}.auth-form h2{margin:0}.auth-form p{margin:.45rem 0 .9rem;color:var(--muted)}.auth-back-link{width:100%;margin-top:.6rem;justify-content:center}label{display:block;font-size:.88rem;color:var(--muted)}input,select{width:100%;border:1px solid #d5e3ee;border-radius:12px;padding:.68rem;margin-top:.35rem;margin-bottom:.7rem;background:#fff;color:var(--text)}input:focus,select:focus{outline:none;border-color:#90bccf;box-shadow:0 0 0 3px #16c79a33}.global-panel{animation:pop-in .52s ease both}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem}.panel-header p{margin:.35rem 0 0;color:var(--muted)}.branded-surface{position:relative;overflow:hidden}.branded-surface:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),var(--mint),var(--gold))}.teacher-brandbar{border:1px solid #d6e6ef;border-radius:14px;background:linear-gradient(120deg,#f4fbff,#f7fff9);padding:.65rem .75rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.teacher-brand-id{display:flex;align-items:center;gap:.65rem}.teacher-brand-id strong{display:block;font-family:Sora,sans-serif;color:var(--primary);letter-spacing:-.1px}.teacher-brand-id p{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.teacher-brand-seal{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:Sora,sans-serif;font-size:.88rem;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--primary),#11689a);border:2px solid #d6ecfb;box-shadow:0 8px 16px #0f3f673d}.teacher-brand-logo{width:44px;height:44px;border-radius:12px;object-fit:cover;border:2px solid #d6ecfb;background:#fff;box-shadow:0 8px 16px #0f3f673d}.ownership-tag{border:1px solid #cde7dd;color:#0b8565;background:#e9fff7;border-radius:999px;font-size:.74rem;font-family:Sora,sans-serif;font-weight:700;padding:.36rem .62rem}.ownership-tag.role-admin{border-color:#cfe0f4;color:#1a4f7e;background:#edf6ff}.ownership-tag.role-teacher{border-color:#cde7dd;color:#0b8565;background:#e9fff7}.ownership-tag.role-student{border-color:#f0d9a4;color:#8f6700;background:#fff8e6}.panel-header-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.tab-nav{display:flex;gap:.5rem;margin-bottom:.8rem;flex-wrap:wrap}.tab-nav-sticky{position:sticky;top:.45rem;z-index:10;padding:.42rem;border:1px solid #d9e7f1;border-radius:14px;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tab-btn{border:1px solid #d5e3ee;background:#fff;color:var(--muted);border-radius:999px;padding:.5rem .85rem;font-family:Sora,sans-serif;font-size:.82rem;cursor:pointer}.tab-btn.active{border-color:#b8efde;background:#e9fff7;color:#0a855f}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.metric-card{padding:.8rem;border-radius:14px}.metric-card h4{margin:0;font-size:.82rem;color:var(--muted)}.metric-card p{margin:.35rem 0 0;font-size:1.42rem;color:var(--primary)}.status-strip{margin-top:.7rem;display:flex;gap:.45rem;flex-wrap:wrap}.status-chip{border-radius:999px;padding:.34rem .65rem;font-size:.74rem;font-family:Sora,sans-serif;font-weight:700;border:1px solid #d5e3ee;background:#fff;color:var(--muted)}.campus-chip{cursor:pointer}.status-chip.good{background:#e9fff7;color:#0a855f;border-color:#bdeedc}.status-chip.warn{background:#fff6df;color:#916200;border-color:#f6e2ae}.status-chip.info{background:#edf5ff;color:#0d4d76;border-color:#c8ddf7}.attendance-state-chip{min-width:88px;text-align:center;display:inline-block}.attendance-state-saved{background:#ddffe9;color:#0d7a45;border-color:#9fe2be}.attendance-state-pending{background:#fff4c9;color:#8b6400;border-color:#efd57d}.stat-text{font-size:.98rem!important;line-height:1.35}.attendance-box{margin-top:.8rem;padding:.9rem;border-radius:14px}.attendance-box h3{color:var(--primary)}.attendance-box p{color:var(--muted)}.compact-list{display:grid;gap:.52rem}.list-item{display:flex;justify-content:space-between;align-items:center;gap:.7rem;border-radius:12px;padding:.65rem}.list-item p{margin:0;color:var(--muted)}.billing-item{align-items:flex-start}.billing-item strong{color:var(--primary)}.billing-item p{margin-top:.22rem}.list-item-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.attendance-row{border:1px solid #dbe8f1;border-radius:12px;background:#fbfdff;padding:.6rem;display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(230px,1fr) minmax(180px,1fr) auto;gap:.55rem;align-items:center}.attendance-status-picker{display:flex;gap:.35rem;flex-wrap:wrap}.status-chip.active{box-shadow:inset 0 0 0 1px #0e496f;transform:translateY(-1px)}.attendance-filters{padding:.28rem 0}.attendance-note{margin:0}.attendance-pagination{display:flex;align-items:end;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-top:.5rem;margin-bottom:.55rem}.attendance-page-size{width:min(190px,100%)}.attendance-pagination p{margin:0;font-size:.82rem;color:var(--muted)}.pagination-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.pagination-actions span{color:var(--muted);font-size:.82rem}.attendance-table-wrap{border:1px solid #dbe8f1;border-radius:12px;background:#fff;overflow:auto}.attendance-table{width:100%;min-width:930px;border-collapse:collapse}.attendance-table thead th{position:sticky;top:0;z-index:2;background:#f4fbff;color:var(--primary);font-family:Sora,sans-serif;font-size:.76rem;letter-spacing:.2px;text-transform:uppercase;border-bottom:1px solid #dbe8f1;padding:.55rem .52rem;text-align:left}.attendance-table tbody td{border-bottom:1px solid #edf3f8;padding:.5rem .52rem;vertical-align:middle;font-size:.82rem}.attendance-table tbody tr:hover{background:#f9fcff}.attendance-table tbody tr.row-pending{background:#fffcf3}.attendance-table tbody tr.row-selected{box-shadow:inset 0 0 0 2px #9ed8c4;background:#f2fffa}.attendance-table tbody tr{cursor:pointer}.attendance-table tbody td strong{display:block;color:var(--text)}.attendance-table tbody td small{display:block;color:var(--muted);font-size:.73rem}.attendance-status-select{margin:0;min-width:130px}.attendance-note-cell{margin:0;min-width:210px}.attendance-table.compact-mode tbody td{padding:.38rem .48rem;font-size:.78rem}.teacher-grid.attendance-grid{grid-template-columns:1fr;gap:.82rem}.attendance-pane-main{padding:1rem}.attendance-pane-summary{padding:.95rem 1rem}.attendance-pane-main h3,.attendance-pane-summary h3{margin-top:0;font-size:clamp(1.24rem,.9vw + .95rem,1.72rem)}.attendance-pane-main .module-controls{gap:.9rem;margin-bottom:.85rem}.attendance-pane-main .search-control{width:min(520px,100%)}.attendance-pane-main .status-chip{font-size:.83rem;padding:.42rem .78rem}.attendance-pane-main .btn{font-size:.95rem}.attendance-pane-main .field-hint{font-size:.84rem}.attendance-pane-main .attendance-pagination p,.attendance-pane-main .pagination-actions span{font-size:.9rem}.attendance-pane-main .attendance-table-wrap.scroll-area{max-height:70vh}.attendance-pane-main .attendance-table thead th{font-size:.8rem;padding:.62rem .58rem}.attendance-pane-main .attendance-table tbody td{font-size:.9rem;padding:.62rem .58rem}.attendance-pane-main .attendance-status-select{min-width:150px}.attendance-pane-main .attendance-note-cell{min-width:250px}.attendance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.45rem;margin-bottom:.72rem}.attendance-kpi-card{border-radius:14px;border:1px solid #dce8f1;background:#f8fbff;padding:.8rem .85rem;box-shadow:0 8px 16px #103a5e12}.attendance-kpi-card p{margin:0;font-family:Sora,sans-serif;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}.attendance-kpi-card strong{display:flex;align-items:baseline;gap:.42rem;margin-top:.36rem;line-height:1;font-size:clamp(1.58rem,1.2vw + 1rem,2.15rem);color:var(--primary)}.attendance-kpi-card strong small{font-size:.88rem;font-family:Sora,sans-serif;font-weight:700;color:var(--muted)}.attendance-kpi-progress{margin-top:.56rem;width:100%;height:8px;border-radius:999px;background:#11456c1f;overflow:hidden}.attendance-kpi-progress span{display:block;height:100%;width:0;border-radius:999px;transition:width .26s ease;background:#21557f}.attendance-kpi-icon{min-width:34px;height:24px;padding:0 .36rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:Sora,sans-serif;font-size:.64rem;font-weight:800;letter-spacing:.2px;border:1px solid #d6e5f0;background:#fff;color:var(--primary)}.attendance-kpi-card.kpi-good{background:linear-gradient(160deg,#e9fff4,#f9fffc);border-color:#b7e8ce}.attendance-kpi-card.kpi-good strong{color:#0e8f62}.attendance-kpi-card.kpi-good .attendance-kpi-icon{background:#f0fff7;border-color:#b7e8ce;color:#0e8f62}.attendance-kpi-card.kpi-good .attendance-kpi-progress span{background:linear-gradient(90deg,#18af78,#36c793)}.attendance-kpi-card.kpi-warn{background:linear-gradient(160deg,#fff7df,#fffcf2);border-color:#f0d996}.attendance-kpi-card.kpi-warn strong{color:#9b6a00}.attendance-kpi-card.kpi-warn .attendance-kpi-icon{background:#fff9e9;border-color:#f0d996;color:#9b6a00}.attendance-kpi-card.kpi-warn .attendance-kpi-progress span{background:linear-gradient(90deg,#d49a00,#f0bb34)}.attendance-kpi-card.kpi-pending{background:linear-gradient(160deg,#eef5ff,#f9fbff);border-color:#cfdff3}.attendance-kpi-card.kpi-pending strong{color:#21557f}.attendance-kpi-card.kpi-pending .attendance-kpi-icon{background:#f4f8ff;border-color:#cfdff3;color:#21557f}.attendance-kpi-card.kpi-pending .attendance-kpi-progress span{background:linear-gradient(90deg,#3a78ac,#5e9ad0)}.attendance-pane-summary h4{margin-top:.35rem}.attendance-pane-summary .compact-list.scroll-area{max-height:36vh}.attendance-pane-summary .list-item{padding:.74rem}.students-toolbar{align-items:end;flex-wrap:wrap}.students-toolbar .search-control{width:min(220px,100%)}.students-toolbar .panel-header-actions{margin-left:auto}.teacher-inline-toolbar{justify-content:flex-start;align-items:center;flex-wrap:wrap}.teacher-inline-toolbar .search-control{width:min(320px,100%)}.list-pager{margin-top:0;margin-bottom:.62rem;padding:.45rem .55rem;border:1px solid #dce8f1;border-radius:12px;background:#f9fcff}.list-pager .workspace-actions{margin-left:auto}.list-pager .pager-info{font-size:.8rem}.bulletin-panel{margin-top:.9rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:.9rem}.bulletin-panel .module-title-row{align-items:center}.bulletin-panel .module-title-row h3{margin:0}.bulletin-kpi-grid{margin-top:.6rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.62rem}.bulletin-kpi-grid .metric-card{background:#f8fbff;border:1px solid #dbe8f1}.bulletin-content-grid{margin-top:.72rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.bulletin-card{border:1px solid #dbe8f1;border-radius:12px;background:#fcfeff;padding:.72rem}.bulletin-card h4{margin:0 0 .55rem;color:var(--primary)}.bulletin-card .mini-row{border:1px solid #e4edf4;border-radius:10px;background:#fff;padding:.48rem .54rem}.bulletin-card .mini-row strong{display:block}.bulletin-card .mini-row p{margin:.2rem 0 0}.teacher-grid{margin-top:.8rem;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:.75rem;align-items:start}.teacher-pane{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:.85rem}.teacher-dense .stats-grid,.student-dense .stats-grid{gap:.52rem}.teacher-dense .metric-card,.student-dense .metric-card{padding:.62rem}.teacher-dense .metric-card p,.student-dense .metric-card p{font-size:1.18rem;margin-top:.22rem}.teacher-dense .teacher-grid,.student-dense .teacher-grid{gap:.58rem}.teacher-dense .teacher-pane,.student-dense .teacher-pane{padding:.68rem}.teacher-dense .module-title-row,.student-dense .module-title-row{margin-bottom:.48rem}.teacher-dense .module-controls,.student-dense .module-controls{margin-bottom:.52rem}.teacher-dense .compact-list,.student-dense .compact-list{gap:.4rem}.teacher-dense .list-item,.student-dense .list-item{padding:.52rem}.teacher-dense .mini-row,.student-dense .mini-row{padding:.34rem .5rem}.teacher-dense .pager-row,.student-dense .pager-row{margin-top:.5rem}.teacher-dense .scroll-area,.student-dense .scroll-area{max-height:52vh}.teacher-pane h3{color:var(--primary)}.teacher-pane h4{margin:.35rem 0 .5rem;color:var(--primary);font-size:.86rem}.teacher-side{position:sticky;top:84px}.workspace-switch{border:1px solid #d7e5ef;border-radius:12px;background:#f9fcff;margin-bottom:.7rem;padding:.3rem;display:flex;flex-wrap:wrap;gap:.35rem}.workspace-btn{border:1px solid #d0deea;border-radius:999px;background:#fff;color:var(--muted);font-family:Sora,sans-serif;font-size:.78rem;padding:.35rem .62rem;cursor:pointer}.workspace-btn.active{background:#e8fff6;color:#0b8866;border-color:#b5eddc}.topics-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.topics-workspace-pane{background:linear-gradient(160deg,#fff,#fbfffd)}.topics-workspace-header{margin-bottom:.55rem}.topics-workspace-switch{margin-bottom:.62rem}.topics-workspace-switch .workspace-btn{font-size:.82rem;padding:.38rem .7rem}.topic-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;align-items:end}.topic-field-wide{grid-column:1 / -1}.topic-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-start}.topic-list-hint{margin-top:0}.topic-list-hint strong{color:var(--primary)}.topics-side-pane{background:linear-gradient(155deg,#fff,#f8fdff)}.topic-list-item{align-items:flex-start}.topic-list-item .list-item-actions{width:min(330px,100%);justify-content:flex-start}.topic-criteria-actions{width:100%}.topics-modal{width:min(940px,100%)}.account-modal{width:min(1120px,100%)}.account-modal-grid{margin-top:.62rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.68rem;align-items:start}.account-timeline-list{max-height:42vh}.account-ledger-list{max-height:26vh}.account-event-row{display:flex;justify-content:space-between;align-items:start;gap:.65rem}.account-event-row .list-item-actions{min-width:180px}.slim-form{padding:.75rem;margin-top:.55rem;margin-bottom:0}.scroll-area{max-height:62vh;overflow:auto;padding-right:.2rem}.criteria-grid{margin:.5rem 0 .7rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.criterion-card{border:1px solid #d7e6ef;border-radius:12px;background:#fafdff;padding:.6rem}.topic-pick{border:1px solid #d7e5ef;border-radius:12px;background:#fff;padding:.62rem;text-align:left;cursor:pointer;color:var(--text)}.topic-pick.active{border-color:#b7ecdd;background:#effff8}.topic-pick p{margin:.25rem 0 0;color:var(--muted)}.topic-detail{display:grid;gap:.5rem}.topic-detail p{margin:0}.mini-row{border:1px solid #dce8f1;border-radius:10px;background:#f9fcff;padding:.4rem .55rem;color:var(--muted);font-size:.82rem}.ownership-sign{margin:.8rem 0 0;text-align:right;font-size:.74rem;color:#8290a4}.admin-layout .stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-surface{background:linear-gradient(170deg,#fff,#f7fcff)}.admin-surface.admin-dense .stats-grid{gap:.5rem}.admin-surface.admin-dense .metric-card{padding:.64rem}.admin-layout .module-sidebar{background:linear-gradient(160deg,#fff,#f6fbff);border-color:#d9e7f1}.admin-layout .workspace-topbar{background:linear-gradient(120deg,#f8fdff,#f8fff9);border-color:#d8e8f1}.admin-layout .admin-module{background:linear-gradient(160deg,#fff,#fdfdf8);border-color:#dde9f1}.admin-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;align-items:start}.admin-content-grid.single-pane{grid-template-columns:minmax(0,1fr)}.admin-create-pane,.admin-list-pane{border:1px solid #dae7f0;border-radius:14px;background:#fff;padding:.75rem}.admin-create-pane h4,.admin-list-pane h4{margin:0;color:var(--primary);font-family:Sora,sans-serif}.users-table-wrap{margin-top:.65rem;border:1px solid #dbe7ef;border-radius:12px;background:#fff}.users-table{width:100%;border-collapse:collapse;min-width:760px}.users-table th,.users-table td{border-bottom:1px solid #ebf2f7;padding:.5rem .55rem;text-align:left;font-size:.82rem;vertical-align:middle}.users-table th{color:var(--primary);font-family:Sora,sans-serif;background:#f8fcff;position:sticky;top:0;z-index:1}.enrollments-table{min-width:1080px}.enrollments-table th:nth-child(5),.enrollments-table th:nth-child(6),.enrollments-table th:nth-child(7),.enrollments-table th:nth-child(8),.enrollments-table th:nth-child(9),.enrollments-table td:nth-child(5),.enrollments-table td:nth-child(6),.enrollments-table td:nth-child(7),.enrollments-table td:nth-child(8),.enrollments-table td:nth-child(9){white-space:nowrap}.enrollment-student-cell,.enrollment-plan-cell{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enrollments-table th:last-child,.enrollments-table td:last-child{position:sticky;right:0;z-index:2;background:#fff}.enrollments-table th:last-child{z-index:3;background:#f8fcff}.enrollments-table .enrollment-actions-cell{min-width:120px;text-align:right}.enrollments-table .enrollment-row-action-menu .row-action-list{top:auto;bottom:calc(100% + .35rem);right:0}.pager-row{margin-top:.65rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.pager-row label{display:flex;align-items:center;gap:.45rem;margin:0}.pager-row select{width:auto;margin:0}.pager-info{margin:0;color:var(--muted);font-size:.82rem}.workspace-shell{margin-top:.8rem;display:grid;grid-template-columns:260px 1fr;gap:.75rem}@media (min-width: 981px){.workspace-shell.sidebar-collapsed{grid-template-columns:1fr}.workspace-shell.sidebar-collapsed .module-sidebar{display:none}}.desktop-menu-toggle{display:inline-flex}.module-drawer-trigger,.module-drawer-overlay{display:none}.module-sidebar{position:sticky;top:76px;max-height:calc(100vh - 106px);overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;padding:.55rem;display:grid;gap:.45rem;align-content:start}.module-tab{border:1px solid #dfe7ee;border-radius:12px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem;cursor:pointer;color:var(--muted);font-family:Sora,sans-serif;font-size:.8rem}.module-tab.active{border-color:#c4f1e3;background:#ecfff8;color:#0c7f5d}.module-tab small{background:#fff;border:1px solid #d6e4ef;border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.module-left{display:flex;align-items:center;gap:.45rem;min-width:0}.module-icon{border-radius:9px;padding:.18rem .33rem;font-size:.62rem;line-height:1;font-family:Sora,sans-serif;font-weight:700;border:1px solid transparent}.module-icon.tone-blue{color:#0d4d76;background:#eaf5ff;border-color:#c3dbf8}.module-icon.tone-mint{color:#0a855f;background:#e9fff7;border-color:#bdeedc}.module-icon.tone-gold{color:#8a6400;background:#fff6df;border-color:#f2e3b8}.module-icon.tone-salmon{color:#8e3d29;background:#ffeae3;border-color:#f8cebf}.module-stage{min-width:0}.workspace-topbar{border:1px solid var(--line);border-radius:14px;background:#fff;padding:.6rem;margin-bottom:.65rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.breadcrumbs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.breadcrumbs strong{color:var(--primary)}.workspace-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-module{padding:.9rem;border-radius:16px}.module-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.75rem}.module-title-row p{margin:0;color:var(--muted);font-size:.84rem}.module-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.admin-form{border-radius:14px;margin-bottom:.75rem}.module-controls{display:flex;justify-content:space-between;align-items:end;gap:.7rem;margin-bottom:.75rem}.search-control{width:min(420px,100%)}.search-control input{margin-bottom:0}.module-controls p{margin:0;color:var(--muted);font-size:.82rem}.muted-text{color:var(--muted)}.sessions-calendar-panel{border:1px solid #d9e7f1;border-radius:14px;background:#fff;padding:.75rem;margin-bottom:.75rem}.sessions-weekdays-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;margin-bottom:.45rem;font-size:.78rem;color:var(--muted)}.sessions-weekdays-row span{text-align:center}.sessions-calendar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}.sessions-calendar-cell{border:1px solid #dbe7f1;border-radius:12px;background:#fff;padding:.42rem;min-height:132px;display:grid;grid-template-rows:auto 1fr;gap:.35rem}.sessions-calendar-cell.muted{background:#f8fbfd;border-style:dashed}.sessions-calendar-cell header{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.sessions-calendar-cell header small{color:var(--muted);font-size:.72rem}.sessions-calendar-events{display:grid;gap:.35rem;align-content:start}.sessions-calendar-event{border:1px solid #d7e5f1;border-radius:10px;background:#f9fdff;padding:.38rem;display:grid;gap:.2rem;text-align:left;cursor:pointer;color:var(--text);font-size:.73rem}.sessions-calendar-event:hover{border-color:#bdeedc;background:#f3fffb}.sessions-calendar-event.ready{border-color:#9ddfc7;background:#e9fff4}.sessions-calendar-event.cancelled{border-color:#d93025;background:#fdecea;color:#7f1d1d}.sessions-calendar-event.cancelled:hover{border-color:#b91c1c;background:#fbd5d5}.admin-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem}.weekday-fieldset{border:1px solid #d9e7f1;border-radius:12px;padding:.45rem .6rem;margin:.25rem 0 .55rem}.weekday-fieldset legend{color:var(--muted);font-size:.8rem;padding:0 .25rem}.weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.35rem}.finance-report-panel{border:1px solid #d9e7f1;border-radius:14px;background:#fff;padding:.75rem;margin-bottom:.75rem}.finance-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem;margin-bottom:.65rem}.finance-filter-grid .finance-checkbox{margin:1.45rem 0 0}.certificate-filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.finance-kpi-grid{margin-bottom:.65rem}.comparison-grid{margin-bottom:.65rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.comparison-card{gap:.35rem}.comparison-card small{color:var(--muted);font-size:.75rem}.certificates-table td small{color:var(--muted)}.certificates-table-actions{display:flex;gap:.4rem;flex-wrap:wrap}.checkbox-field{display:flex;align-items:center;gap:.42rem;margin:.35rem 0 .65rem}.field-hint{display:block;margin-top:.25rem;font-size:.76rem;color:var(--muted)}.inline-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.row-action-menu{position:relative;display:inline-block}.row-action-trigger{list-style:none;cursor:pointer}.row-action-trigger::-webkit-details-marker{display:none}.row-action-list{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;min-width:180px;border:1px solid #dbe7f1;border-radius:10px;background:#fff;box-shadow:var(--shadow);padding:.35rem;display:grid;gap:.25rem}.row-action-list .btn{width:100%;justify-content:flex-start}.bulk-assign-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.bulk-assign-list{max-height:44vh;overflow:auto;border:1px solid #dbe7ef;border-radius:12px;padding:.5rem;display:grid;gap:.35rem}.bulk-assign-item{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;border:1px solid #e7eff6;border-radius:10px;padding:.45rem;margin:0}.bulk-assign-item small{display:block;color:var(--muted);margin-top:.16rem}.bulk-invoice-item{grid-template-columns:auto 1fr minmax(110px,140px);align-items:center}.bulk-invoice-item input[type=number]{margin:0}.bulk-assign-diagnostic{border:1px dashed #d4e2ee;border-radius:10px;padding:.5rem;background:#fbfdff}.bulk-assign-diagnostic-list{max-height:22vh;overflow:auto;display:grid;gap:.35rem}.bulk-assign-diagnostic-item{border:1px solid #e5eef6;border-radius:8px;padding:.35rem .45rem;background:#fff}.bulk-assign-diagnostic-item small{display:block;color:#6a7d90;margin-top:.12rem}.checkbox-field input{width:auto;margin:0}.error{color:#c01f2f;font-weight:700}.ok{color:#0c8d67;font-weight:700}.admin-layout{align-items:start}.command-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#10233c42;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:start center;padding:8vh 1rem 1rem}.command-palette{width:min(760px,100%);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:.8rem}.command-list{margin-top:.5rem;display:grid;gap:.45rem;max-height:55vh;overflow:auto}.command-item{border:1px solid #dde8f2;border-radius:12px;background:#fff;color:var(--text);padding:.55rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;cursor:pointer;text-align:left}.command-item:hover{border-color:#bdeedc;background:#f7fffb}.command-item small{color:var(--muted)}.crud-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:84;background:#0e1e3452;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem}.crud-modal{width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid #d8e5ef;border-radius:16px;background:#fff;box-shadow:0 24px 50px #0b213a3d;padding:.9rem}.delete-progress-modal{width:min(460px,100%);text-align:center}.create-progress-modal{border-color:#cdebdc}.update-progress-modal{border-color:#cfe0f0}.delete-progress-track{width:100%;height:14px;border-radius:999px;background:#edf4fa;border:1px solid #d3e3ef;overflow:hidden;margin-top:.5rem}.delete-progress-track span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(120deg,#f08c6a,#ffb26e);transition:width .22s ease}.delete-progress-value{margin:.55rem 0 0;font-family:Sora,sans-serif;font-weight:700;color:var(--primary)}.create-progress-track span{background:linear-gradient(120deg,#18b99a,#7de0b5)}.update-progress-track span{background:linear-gradient(120deg,#2f87d1,#7ab3ec)}.crud-modal .module-title-row{align-items:center;margin-bottom:.7rem}.modal-form{margin-bottom:0}.compact-mode .admin-form{padding:.62rem}.compact-mode label{font-size:.82rem}.compact-mode input,.compact-mode select{padding:.52rem;margin-bottom:.5rem}.compact-mode .list-item{padding:.5rem .58rem}@keyframes pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width: 1200px){.panel-layout{padding:.75rem 1.1rem 1rem}.panel-card{width:min(1560px,calc(100vw - 2rem));padding:1.05rem}.panel-header h1{font-size:clamp(1.42rem,1vw + 1rem,1.95rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.72rem}.workspace-shell{grid-template-columns:286px minmax(0,1fr)}.teacher-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:.82rem}.teacher-grid.attendance-grid{grid-template-columns:1fr}.admin-content-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.module-controls{align-items:center}.scroll-area{max-height:68vh}}@media (min-width: 1600px){.panel-card{width:min(1760px,calc(100vw - 2.4rem))}.workspace-shell{grid-template-columns:320px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 980px){.landing-header{grid-template-columns:1fr;justify-items:center;border-radius:18px}.hero{grid-template-columns:1fr}.hero-visual-meta,.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.founder-section,.team-section{grid-template-columns:1fr}.proposal-points{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-grid,.landing-video-wrap,.landing-editor-layout{grid-template-columns:1fr}.landing-preview-panel{position:static}.landing-editor-head{flex-direction:column}.landing-editor-actions{justify-content:stretch}.landing-editor-actions .btn{width:100%}.auth-split,.workspace-shell,.teacher-grid,.topics-grid,.account-modal-grid,.topic-form-grid{grid-template-columns:1fr}.tab-nav-sticky{position:static;top:auto;padding:0;border:none;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.attendance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulletin-content-grid,.attendance-row{grid-template-columns:1fr}.attendance-table{min-width:760px}.attendance-pagination{align-items:flex-start}.teacher-side{position:static}.admin-workspace-topbar{position:static;top:auto;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.scroll-area{max-height:none}.criteria-grid,.admin-content-grid{grid-template-columns:1fr}.sessions-weekdays-row{display:none}.sessions-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-sidebar{position:fixed;left:0;top:0;height:100vh;width:min(330px,84vw);max-height:none;overflow:auto;z-index:70;transform:translate(-104%);transition:transform .18s ease;border-radius:0 16px 16px 0;box-shadow:var(--shadow);padding-top:1.2rem}.module-sidebar.open{transform:translate(0)}.module-drawer-trigger{display:inline-flex}.module-drawer-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000038;z-index:60}.desktop-menu-toggle{display:none}}@media (max-width: 720px){.hero,.panel-card,.auth-card,.cta,.card,.mini-block{border-radius:16px;padding:.85rem}.header-links,.desktop-only{display:none}.mobile-nav-toggle{display:inline-flex}.mobile-nav-panel.open{display:grid}.hero-stats{grid-template-columns:1fr}.hero-collage-item-1,.hero-collage-item{min-height:140px}.hero-brand-showcase{padding:.62rem}.hero-brand-large{width:clamp(165px,58vw,230px);height:clamp(165px,58vw,230px)}.hero-visual-meta{grid-template-columns:1fr}.landing-gallery,.proposal-card,.founder-section,.team-section,.landing-closing{border-radius:16px;padding:.9rem}.gallery-slider{grid-template-columns:1fr;gap:.45rem}.gallery-nav{width:100%;height:38px;border-radius:10px;font-size:1.15rem}.gallery-viewport{min-height:260px}.proposal-points{grid-template-columns:1fr}.landing-video-shell{width:100%}.team-points,.landing-media-fields,.landing-text-fields{grid-template-columns:1fr}.landing-preview-frame{transform:none;width:100%;height:360px}.hero-actions,.panel-header,.teacher-brandbar,.workspace-topbar,.workspace-actions,.panel-header-actions,.module-controls,.module-title-row,.list-item{flex-direction:column;align-items:flex-start}.module-sidebar,.sessions-calendar-grid,.attendance-kpi-grid,.verify-form{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin-top:.55rem!important}.map-container{display:block;border-radius:14px;overflow:hidden;border:1px solid #d4e5f4;box-shadow:0 10px 18px #0e2a4a24;background:#e8f4ff;margin-top:.55rem;transition:transform .2s ease}.map-container:hover{transform:translateY(-2px)}.map-iframe{display:block;width:100%;height:180px;border:0;pointer-events:none}.landing-footer{margin-top:2rem;padding:1rem;text-align:center;color:var(--muted);font-size:.8rem}.btn-icon{display:inline-block;width:2em;height:2em;margin-right:.5em;vertical-align:-.5em;transition:transform .2s ease}.btn:hover .btn-icon{transform:scale(1.5)}.btn-icon img{width:100%;height:100%}
