:root{--accent: #2563eb;--accent-soft: #dbeafe;--surface: #ffffff;--app-bg: #eef2ff;--text: #0f172a;--muted: #64748b;--border: rgba(15, 23, 42, .08);--shadow: 0 18px 40px rgba(15, 23, 42, .08);font-family:Manrope,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 14%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--app-bg) 90%,white),var(--app-bg))}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent;color:var(--text)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:16px;padding:.9rem 1rem;background:#ffffffd6;color:var(--text)}textarea{resize:vertical}label{display:grid;gap:.55rem;font-size:.95rem;color:var(--muted)}h1,h2,h3,p{margin:0}#app{min-height:100vh}.auth-layout,.student-login{min-height:100vh;display:grid;gap:1.5rem;grid-template-columns:1.2fr .8fr;align-items:center;padding:2rem}.hero-card,.brand-card,.auth-card,.panel,.summary-card{background:#ffffffd6;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-card,.brand-card{padding:2.5rem;display:grid;gap:1rem}.hero-card h1,.brand-card h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.04em}.auth-card{padding:2rem;display:grid;gap:1rem}.hero-badge,.tag,.status-pill,.tag-button{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:999px;background:var(--accent-soft);color:var(--text)}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.demo-grid,.summary-grid,.meta-grid,.form-grid,.section-grid,.student-grid,.lesson-layout,.entity-grid{display:grid;gap:1rem}.demo-grid,.summary-grid,.meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-shell,.student-shell{min-height:100vh;padding:1.5rem 1.5rem 6.5rem}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.25rem}.summary-grid{margin-bottom:1rem}.summary-card{padding:1.2rem 1.25rem;display:grid;gap:.3rem}.summary-card span,.list-card span{color:var(--muted)}.summary-card strong{font-size:2rem}.content-stack,.stack-lg,.stack-md,.stack-xs,.stack-sm{display:grid}.content-stack,.stack-lg{gap:1rem}.stack-md{gap:.9rem}.stack-xs{gap:.35rem}.stack-sm{gap:.6rem}.panel{padding:1.25rem}.section-grid,.student-grid,.lesson-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}.section-head,.button-row,.inline-card,.segmented,.block-title{display:flex;align-items:center;gap:.8rem}.section-head{justify-content:space-between}.button-row,.segmented{flex-wrap:wrap}.primary-button,.secondary-button,.ghost-button,.icon-button,.tag-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:16px;padding:.82rem 1rem;transition:.18s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover,.tag-button:hover,.list-row:hover,.compact-row:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,black));color:#fff}.secondary-button{background:color-mix(in srgb,var(--accent-soft) 70%,white);color:var(--text)}.ghost-button,.icon-button{background:transparent;border:1px solid var(--border);color:var(--text)}.warning{background:#fef3c7}.danger{color:#b91c1c}.list-card,.block-card,.answer-card,.info-banner,.inline-card,.preview-card{padding:1rem;border:1px solid var(--border);border-radius:22px;background:#ffffffb8}.subtle-panel{padding:1rem;border:1px dashed color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:22px;background:color-mix(in srgb,var(--accent-soft) 18%,white)}.list-card{display:grid;gap:.35rem;text-align:left}.list-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.85rem;text-align:left}.compact-row{padding:.9rem 1rem;border:1px solid var(--border);border-radius:20px;background:#ffffffb8}.row-main,.row-tail,.detail-head{display:flex;align-items:center;gap:.8rem}.row-main{min-width:0;flex:1}.row-tail{color:var(--muted);flex-wrap:wrap;justify-content:end}.row-copy,.detail-copy{min-width:0}.row-icon{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent-soft) 60%,white)}.detail-head{justify-content:space-between;flex-wrap:wrap}.detail-copy h2,.row-copy strong{line-height:1.15}.meta-list{display:grid;gap:.5rem}.full-button{width:100%}.homework-row{align-items:start}.homework-date{font-size:.76rem;color:var(--muted);white-space:nowrap}.danger-row{color:#b91c1c}.list-card.selected,.compact-row.selected,.tag-button.active,.secondary-button.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.list-card.locked{opacity:.55}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.full-width{grid-column:1 / -1}.bottom-tabs{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;width:min(640px,calc(100vw - 2rem));padding:.5rem;border-radius:24px;border:1px solid var(--border);background:#ffffffe6;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-tab{display:grid;justify-items:center;gap:.3rem;border-radius:18px;padding:.65rem .35rem;background:transparent;color:var(--muted);font-size:.76rem}.bottom-tab.active{background:transparent;color:var(--accent)}.status-pill.approved{background:#dcfce7}.status-pill.pending{background:#fef3c7}.status-pill.needs_retry{background:#fee2e2}.status-pill.neutral{background:#e2e8f0}.tag-row{display:flex;flex-wrap:wrap;gap:.65rem}.tag-button{background:transparent;border:1px solid var(--border)}.switch{display:flex;grid-auto-flow:column;justify-content:start;gap:.75rem;align-items:center}.switch input{width:auto}.muted-center{min-height:240px;display:grid;place-items:center;color:var(--muted);text-align:center}.lesson-text{white-space:pre-wrap;line-height:1.6}.media-cover{width:100%;border-radius:22px;object-fit:cover}.video-frame{width:100%;min-height:320px;border:0;border-radius:22px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.schedule-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.push-footer{display:flex;gap:.85rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.calendar-toolbar,.day-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.calendar-month{text-transform:capitalize}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-weekdays{color:var(--muted);font-size:.8rem;text-align:center}.calendar-day{min-height:4.2rem;display:grid;align-content:space-between;justify-items:end;padding:.7rem;border:1px solid var(--border);border-radius:18px;background:#ffffffb8;color:var(--text)}.calendar-day small{font-size:.72rem;color:var(--muted)}.calendar-day.muted{opacity:.38}.calendar-day.today{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.calendar-day.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.push-preview{display:grid;gap:.25rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:18px;background:#ffffffb8}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.media-card{align-content:start}.preview-card{background:color-mix(in srgb,var(--accent-soft) 26%,white)}.block-card{gap:.85rem}.media-frame,.media-fallback{width:100%;aspect-ratio:16 / 10;border-radius:24px;overflow:hidden;border:1px solid var(--border);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 18%,transparent),transparent 35%),linear-gradient(180deg,#ffffffeb,color-mix(in srgb,var(--accent-soft) 55%,white))}.media-frame.compact,.media-fallback.compact{aspect-ratio:16 / 10}.media-thumb{display:block;width:100%;height:100%;object-fit:cover;background:#dbeafe}.media-fallback{display:grid;place-items:center;gap:.35rem;padding:1rem;text-align:center;color:var(--muted)}.line-clamp-one{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.upload-dropzone{display:grid;place-items:center;gap:.6rem;min-height:140px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:18px;background:color-mix(in srgb,var(--accent-soft) 45%,white);text-align:center;cursor:pointer}.upload-dropzone.disabled{opacity:.6;cursor:not-allowed}.progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e2e8f0}.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 65%,white))}.muted-text{color:var(--muted)}.comment-banner,.error-text{padding:.9rem 1rem;border-radius:18px;background:#fff7ed;color:#9a3412}.error-text{background:#fee2e2;color:#991b1b}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#0f172a59;padding:1rem}.modal{width:min(560px,100%);background:#fff;border-radius:28px;padding:1.25rem}.brand-logo{width:96px;height:96px;object-fit:cover;border-radius:24px}.compact-shell{padding:1rem 1rem 1.5rem}.compact-panel{padding:.9rem}.compact-card{gap:.25rem;padding:.8rem;border-radius:18px}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.compact-shell .topbar{margin-bottom:.75rem;padding:.9rem 1rem}.compact-shell h1{font-size:1.5rem}@media(max-width:720px){.dashboard-shell,.student-shell{padding:1rem 1rem 6rem}.panel{padding:1rem}.detail-head{gap:.6rem}.schedule-grid{grid-template-columns:1fr}.push-footer{align-items:stretch}.push-footer .primary-button{width:100%}.row-tail{min-width:fit-content}.bottom-tab span{font-size:.72rem}}.compact-shell h2{font-size:1.2rem}.compact-shell .primary-button,.compact-shell .secondary-button,.compact-shell .ghost-button,.compact-shell .icon-button,.compact-shell .tag-button{padding:.7rem .9rem}.compact-shell .muted-center{min-height:180px}.compact-shell .video-frame{min-height:260px}@media(max-width:960px){.auth-layout,.student-login,.section-grid,.student-grid,.lesson-layout{grid-template-columns:1fr}.dashboard-shell,.student-shell{padding-inline:1rem}.topbar{align-items:start;gap:1rem;flex-direction:column}.bottom-tabs{width:calc(100vw - 1rem);bottom:.5rem}}
