:root{font-optical-sizing:auto;font-variation-settings:"wdth"100;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary:#1d4ed8;--primary-strong:#1e3a8a;--accent:#0f766e;--muted:#5f6b7a;--surface:#fff;--surface-muted:#f4f7fb;--surface-subtle:#eef3f9;--border:#0f172a14;--border-strong:#0f172a24;--shadow-soft:0 20px 48px #0f172a14;--shadow-card:0 12px 32px #0f172a0f;--radius-xl:20px;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;background:radial-gradient(circle at 0 0,#0f172a17,#0000 30%),radial-gradient(circle at 100% 0,#1e40af14,#0000 24%),linear-gradient(#eef2f7 0%,#f7f9fc 44%,#fff 100%);font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-style:normal}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#0f172a14,#0000 30%),radial-gradient(circle at 100% 0,#1e40af14,#0000 24%),linear-gradient(#eef2f7 0%,#f7f9fc 44%,#fff 100%);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.teacher-section-checkbox-list{flex-wrap:wrap;gap:10px;padding:8px 0;display:flex}.section-selection-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.section-selection-header span{color:var(--primary-strong);font-size:.875rem;font-weight:600}.teacher-section-checkbox-item{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);background:#fff;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #0f172a0d}.teacher-section-checkbox-item:hover{background:var(--surface-subtle);border-color:var(--border-strong);transform:translateY(-1px)}.teacher-section-checkbox-item.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #1d4ed833}.teacher-section-checkbox-item input{opacity:0;width:0;height:0;position:absolute}.checkbox-icon{stroke-width:3px;width:16px;height:16px;animation:.2s ease-out scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.status-inline{border-radius:var(--radius-md);color:#166534;background:#f0fdf4;border:1px solid #bcf0da;align-items:center;gap:8px;margin:12px 0;padding:12px 16px;font-size:.875rem;font-weight:600;animation:.2s ease-out scaleIn;display:flex}.status-inline.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.profile-password-status-banner{margin:16px 24px}.mobile-shell{justify-content:center;min-height:100vh;padding:0 0 36px;display:flex}.mobile-shell-auth{min-height:100dvh;padding:0}.phone-frame{border:1px solid var(--border);background:linear-gradient(#fffffffa 0%,#f6f8fcfc 100%);border-radius:28px;width:100%;max-width:560px;min-height:calc(100vh - 32px);position:relative;overflow:hidden;box-shadow:0 26px 70px #0f172a24}.phone-frame-auth{width:100%;min-height:100dvh;box-shadow:none;border-radius:0}.mobile-shell-teacher-full{max-width:none;padding:0}.phone-frame-teacher-full{width:100%;max-width:none;min-height:100vh;box-shadow:none;background:0 0;border:0;border-radius:0}.screen-glow{pointer-events:none;background:radial-gradient(circle at 100% 0,#1e40af1f,#0000 28%),radial-gradient(circle at 0 18%,#0f172a14,#0000 34%);position:absolute;inset:0}.app-shell{z-index:1;flex-direction:column;gap:28px;width:100%;padding:4px 16px 112px;display:flex;position:relative}.app-shell-auth{gap:0;min-height:100dvh;padding:0}.app-shell-teacher-full{min-height:100vh;padding:20px 18px 112px}.hero-header,.panel-soft,.toolbar-card,.auth-card,.card,.promo-card,.status-banner,.status-inline{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-header,.panel-soft,.toolbar-card,.auth-card,.card,.promo-card{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fffffff0}.hero-header,.toolbar-card,.auth-card,.card,.panel-soft{padding:16px}.hero-header,.toolbar-card,.auth-card,.card{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:10px;padding:14px 18px 16px;display:flex;overflow-x:auto}.section-strip{scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;align-items:center;gap:8px;width:100%;padding:0 0 8px;display:flex;overflow-x:auto}.section-chip{white-space:nowrap;color:var(--muted);background:#fff;border:1px solid #cbd5e1;border-radius:0;flex-shrink:0;align-items:center;gap:6px;width:auto;padding:5px 12px;font-size:.8rem;font-weight:700;transition:all .15s;display:inline-flex}.section-chip.active{color:#fff;background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a26}.primary-action-button{color:#fff;background:#0f172a;border:none;border-radius:18px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:12px;padding:16px;font-size:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 10px 25px #0f172a2e}.primary-action-button:active{background:#1e293b;transform:scale(.97)}.primary-action-button svg{stroke-width:3px;width:20px;height:20px}.search-shell{align-items:center;gap:12px;padding:4px;display:flex}.search-icon,.install-pill,.feature-icon,.account-avatar,.dock-icon,.promo-mark,.school-mark-fallback{justify-content:center;align-items:center;display:inline-flex}.school-mark-fallback{color:#fff;background:linear-gradient(135deg,#132a5c 0%,#f97316 100%);font-weight:800}.promo-mark,.school-profile-logo,.student-photo,.entity-avatar{object-fit:cover}.search-icon{border-radius:var(--radius-md);width:38px;height:38px;color:var(--primary);background:#1d4ed814;font-weight:800}.search-title{font-size:.98rem;font-weight:700}.search-subtitle{color:var(--muted);margin-top:2px;font-size:.82rem}.install-pill{border-radius:var(--radius-md);color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:0;padding:11px 15px;font-weight:700}.status-banner,.status-inline,.status-toast{border-radius:var(--radius-lg);color:var(--primary-strong);background:#1d4ed814;border:1px solid #1d4ed81f;padding:12px 16px;font-weight:600}.status-banner.error,.status-inline.error{color:#dc2626;background:#dc262614;border-color:#dc262629}.auth-card,.stack-form,.card-body,.content-stack{flex-direction:column;gap:14px;display:flex}.dashboard-stack{flex-direction:column;gap:16px;display:flex}.toolbar-card label,.toolbar-card .stack-form label{gap:8px}.toolbar-card label>span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.status-toast{z-index:30;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:.18s ease-out status-toast-enter;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 18px 44px #0f172a2e}.status-toast.error{color:#dc2626;background:#dc262614;border-color:#dc262629}@keyframes status-toast-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-skeleton .metric-card,.dashboard-skeleton .fees-highlight,.dashboard-skeleton .online-class-card,.dashboard-skeleton .dashboard-requests,.feed-page-skeleton .card,.feed-page-skeleton .alert-card,.feed-page-skeleton .entity-card,.feed-page-skeleton .collection-item,.feed-page-skeleton .list-block,.feed-page-skeleton .list-row,.feed-page-skeleton .skeleton-entity-card,.feed-page-skeleton .stat-box,.auth-page-skeleton .input-shell,.auth-page-skeleton .auth-card,.public-intake-card .public-intake-section{overflow:hidden}.skeleton-line,.skeleton-circle,.skeleton-progress,.skeleton-chip,.skeleton-pill,.skeleton-button,.skeleton-dot,.skeleton-bars span{background:#e5e7eb;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-circle:after,.skeleton-progress:after,.skeleton-chip:after,.skeleton-pill:after,.skeleton-button:after,.skeleton-dot:after,.skeleton-bars span:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.2s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-copy{gap:10px;display:grid}.skeleton-line{border-radius:999px}.skeleton-date{width:108px;height:14px}.skeleton-name{width:148px;height:32px}.skeleton-circle{border-radius:999px}.skeleton-avatar{width:58px;height:58px}.skeleton-icon-box{border-radius:18px;width:56px;height:56px}.skeleton-label{width:82px;height:14px;margin-top:18px}.skeleton-card-title{width:132px;height:18px}.skeleton-card-badge{border-radius:999px;width:54px;height:28px}.skeleton-metric-value{width:110px;height:22px;margin-top:10px}.skeleton-arrow{width:18px;height:18px}.skeleton-progress{border-radius:999px;width:100%;height:5px;margin-top:14px}.skeleton-bars{align-items:flex-end;gap:6px;margin-left:auto;display:flex}.skeleton-bars span{border-radius:4px;width:12px}.skeleton-bars span:first-child{height:18px}.skeleton-bars span:nth-child(2){height:28px}.skeleton-bars span:nth-child(3){height:22px}.skeleton-bars span:nth-child(4){height:34px}.skeleton-bars span:nth-child(5){height:28px}.skeleton-fees-value{width:150px;height:24px;margin-top:10px}.skeleton-stat-label{width:92px;height:14px}.skeleton-stat-value{width:32px;height:22px;margin-top:8px}.exam-banner-skeleton{background:linear-gradient(135deg,#4d88ff 0%,#86b6ff 100%)}.skeleton-overline{background:#ffffff47;width:56px;height:12px}.skeleton-banner-title{background:#ffffff57;width:240px;max-width:88%;height:32px;margin-top:14px}.skeleton-banner-copy{background:#ffffff47;width:220px;max-width:80%;height:16px;margin-top:10px}.skeleton-chip{background:#ffffff38;border-radius:18px;min-height:58px}.skeleton-dot{border-radius:999px;width:10px;height:10px}.skeleton-alert-icon{border-radius:14px;width:42px;height:42px}.skeleton-alert-badge{border-radius:999px;width:68px;height:28px}.skeleton-alert-badge-wide{width:92px}.skeleton-alert-title{width:60%;min-width:140px;height:18px;margin-top:12px}.skeleton-alert-copy{width:100%;height:14px}.skeleton-alert-copy-short{width:72%}.skeleton-alert-chip{border-radius:999px;width:90px;height:32px}.skeleton-alert-chip-wide{width:132px}.skeleton-topline{width:108px;height:12px}.skeleton-pill{border-radius:999px;width:54px;height:34px;margin-left:auto}.skeleton-online-title{width:148px;height:28px;margin-top:20px}.skeleton-online-copy{width:96px;height:16px;margin-top:10px}.skeleton-button{border-radius:18px;width:100%;min-height:70px;margin-top:22px}.skeleton-requests-title{width:94px;height:22px;margin-bottom:12px}.auth-page-skeleton .auth-submit{box-shadow:none;background:#e5e7eb}.skeleton-request-key{width:72px;height:14px}.skeleton-request-value{width:96px;height:14px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.dashboard-top-hero{gap:16px;display:grid}.dashboard-greeting{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 4px;display:flex}.dashboard-greeting-actions{align-items:center;gap:10px;display:flex}.dashboard-menu-shell{position:relative}.dashboard-date{color:#64748b;font-size:.9rem;font-weight:700}.dashboard-greeting h2{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.96}.dashboard-student-meta{color:#64748b;letter-spacing:-.01em;align-items:center;gap:6px;margin-top:4px;font-size:.95rem;font-weight:600;display:flex}.dashboard-student-meta-icon{stroke-width:2.2px;color:#94a3b8;width:14px;height:14px}.dashboard-avatar{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);justify-content:center;align-items:center;width:58px;height:58px;font-weight:800;display:inline-flex;overflow:hidden}.dashboard-avatar-button{cursor:pointer;border:0}.dashboard-menu-toggle{position:relative}.dashboard-menu-chevron{color:#fff;background:#0f172ad1;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;bottom:5px;right:5px;box-shadow:0 6px 14px #0f172a2e}.dashboard-menu-chevron svg{stroke-width:2.7px;width:12px;height:12px}.dashboard-avatar-menu{z-index:20;background:#fffffffa;border:1px solid #94a3b82e;border-radius:24px;gap:10px;width:min(320px,100vw - 32px);padding:14px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 22px 48px #0f172a29}.dashboard-menu-link{color:#0f172a;text-align:left;background:#f8fafc;border:1px solid #94a3b829;border-radius:16px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-weight:700;display:flex}.dashboard-menu-link svg{stroke-width:2.2px;color:#334155;width:18px;height:18px}.dashboard-menu-link strong{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:.72rem;display:inline-flex}.dashboard-menu-push{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border:1px solid #93c5fd66;border-radius:18px;gap:12px;padding:14px;display:grid}.dashboard-menu-push-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-menu-label{text-transform:uppercase;letter-spacing:.12em;color:#2563eb;font-size:.8rem;font-weight:800}.dashboard-menu-copy{color:#475569;margin:6px 0 0;font-size:.84rem;line-height:1.45}.dashboard-menu-status{color:#334155;white-space:nowrap;background:#0f172a14;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:800}.dashboard-menu-status.active{color:#15803d;background:#22c55e24}.dashboard-menu-push-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-menu-action{color:#0f172a;background:#fffffff0;border:1px solid #94a3b833;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.dashboard-menu-action svg,.dashboard-menu-note svg{stroke-width:2.2px;width:16px;height:16px}.dashboard-menu-action-primary{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#2563eb 100%);border-color:#0000}.dashboard-menu-action-primary svg{color:#fff}.dashboard-menu-note,.dashboard-menu-message{border-radius:14px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:.8rem;line-height:1.45;display:flex}.dashboard-menu-note{color:#475569;background:#ffffffd1}.dashboard-menu-message{color:#0f172a;background:#ffffffeb}.dashboard-alert-button{border-radius:var(--radius-lg);color:#0f172a;width:48px;height:48px;box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #94a3b829;justify-content:center;align-items:center;display:inline-flex;position:relative}.dashboard-alert-button svg{stroke-width:2.2px;width:22px;height:22px}.dashboard-alert-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 3px #fffffff5}.dashboard-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric-card,.fees-highlight,.online-class-card,.dashboard-transport-card,.dashboard-requests{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fffffffa;min-width:0;padding:22px 18px}.metric-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.metric-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:56px;height:56px;font-weight:800;display:inline-flex}.metric-icon svg{stroke-width:2.15px;width:26px;height:26px}.metric-icon.blue{color:#2563eb;background:#edf4ff}.metric-icon.green{color:#16a34a;background:#edfdf5}.metric-icon.sky{color:#1d4ed8;background:#eef7ff}.metric-icon.coral{color:#e11d48;background:#fff1f2}.dashboard-shortcut-card{text-align:left;cursor:pointer}.dashboard-top-hero .metric-card,.dashboard-top-hero .fees-highlight{background:linear-gradient(180deg, #fffffff2, #ffffffe6), var(--dashboard-wave) center bottom / cover no-repeat}.metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:18px;font-size:.78rem;font-weight:800}.metric-value{color:#0f172a;margin-top:8px;font-size:1.15rem;font-weight:900;line-height:1.05}.metric-value-loading{color:#64748b;font-weight:700}.metric-arrow{color:#94a3b8;font-size:1.2rem;font-weight:700}.metric-progress{background:#dbeafe;border-radius:999px;height:5px;margin-top:14px;overflow:hidden}.metric-progress span{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8 0%,#60a5fa 100%);height:100%;display:block}.metric-progress-loading{background:#e2e8f0}.metric-bars{align-items:flex-end;gap:6px;margin-left:auto;display:flex}.metric-bars span{background:#bfdbfe;border-radius:4px;width:12px}.metric-bars span:first-child{height:18px}.metric-bars span:nth-child(2){height:28px}.metric-bars span:nth-child(3){height:22px}.metric-bars span:nth-child(4){background:#60a5fa;height:34px}.metric-bars span:nth-child(5){background:#2563eb;height:28px}.exam-banner{border-radius:var(--radius-xl);color:#fff;background:radial-gradient(circle at 100% 0,#ffffff29,#0000 24%),linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);padding:22px 18px;box-shadow:0 20px 42px #1d4ed838}.dashboard-attendance-preview{border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-card);text-align:left;background:radial-gradient(circle at 100% 0,#3b82f624,#0000 34%),linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb24;gap:16px;padding:22px 18px;display:grid}.dashboard-attendance-preview-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-attendance-preview-kicker{color:#2563eb;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.dashboard-attendance-preview-kicker svg{stroke-width:2.25px;width:15px;height:15px}.dashboard-attendance-preview h3{color:#0f172a;margin:10px 0 0;font-size:1.22rem;line-height:1.15}.dashboard-attendance-preview-link{color:#1d4ed8;white-space:nowrap;font-size:.82rem;font-weight:800}.dashboard-attendance-preview-list{gap:12px;display:grid}.dashboard-attendance-preview-item{background:#fffffff0;border:1px solid #94a3b829;border-radius:18px;gap:10px;padding:14px;display:grid}.dashboard-attendance-preview-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-attendance-preview-topline strong{color:#0f172a;font-size:.96rem}.dashboard-attendance-preview-topline span{color:#64748b;font-size:.78rem;font-weight:700}.dashboard-attendance-preview-meta{flex-wrap:wrap;gap:8px;display:flex}.dashboard-attendance-preview-meta span{color:#2563eb;background:#eff6ff;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.dashboard-attendance-preview-meta svg,.dashboard-attendance-preview-remark span svg{stroke-width:2.2px;width:14px;height:14px}.dashboard-attendance-preview-remark{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border:1px solid #93c5fd4d;border-radius:16px;gap:8px;padding:12px;display:grid}.dashboard-attendance-preview-remark span{color:#1d4ed8;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:.76rem;font-weight:800;display:inline-flex}.dashboard-attendance-preview-remark p{color:#334155;margin:0;font-size:.84rem;line-height:1.5}.dashboard-attendance-preview-empty{color:#64748b;background:#ffffffb8;border:1px dashed #94a3b847;border-radius:18px;padding:14px;font-size:.84rem;line-height:1.5}.exam-overline{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:inline-flex}.exam-overline svg{stroke-width:2.2px;width:16px;height:16px}.exam-banner h3{margin:14px 0 8px;font-size:1.8rem;line-height:1.02}.exam-banner p{color:#ffffffd1;max-width:54ch;margin:0;line-height:1.45}.exam-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.exam-chip{border-radius:var(--radius-lg);color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;justify-content:center;align-items:center;gap:10px;min-height:58px;font-weight:800;display:inline-flex}.exam-chip svg{stroke-width:2.2px;width:18px;height:18px}.online-topline{color:#2563eb;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:flex}.online-topline svg{stroke-width:2.2px;width:16px;height:16px}.online-dot{background:#2563eb;border-radius:999px;width:10px;height:10px}.online-now{border-radius:var(--radius-md);color:#111827;border:1px solid #94a3b838;margin-left:auto;padding:8px 14px;font-size:.86rem}.online-class-card h3{margin:20px 0 6px;font-size:1.85rem;line-height:1}.online-class-card p{color:#64748b;align-items:center;gap:8px;margin:0;display:inline-flex}.online-class-card p svg{color:#2563eb;stroke-width:2.1px;width:16px;height:16px}.dashboard-transport-topline{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:inline-flex}.dashboard-transport-topline svg{stroke-width:2.2px;width:16px;height:16px}.dashboard-transport-card h3{margin:18px 0 8px;font-size:1.6rem;line-height:1.05}.dashboard-transport-card p{color:#64748b;margin:0;line-height:1.5}.dashboard-transport-button{background:linear-gradient(135deg,#0f172a 0%,#0f766e 100%);margin-top:18px}.join-button{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border:0;justify-content:center;align-items:center;gap:10px;width:100%;min-height:60px;margin-top:22px;font-size:1.05rem;font-weight:800;display:inline-flex}.join-button svg{stroke-width:2.2px;width:20px;height:20px}.dashboard-requests h3{margin:0 0 12px;font-size:1.1rem}.dashboard-requests .list-block{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.dashboard-requests .list-row{text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;gap:4px;padding-bottom:0}.dashboard-requests .list-key-wrap{text-transform:uppercase;letter-spacing:.05em;color:#64748b;justify-content:center;font-size:.72rem}.dashboard-requests .list-value{color:#0f172a;text-align:center;font-size:.94rem;font-weight:700}.push-alert-copy{gap:8px;display:grid}.push-alert-copy h3{margin:0;font-size:1.05rem}.push-alert-copy p,.push-alert-note,.push-alert-message{color:#64748b;margin:0;line-height:1.5}.push-alert-note{border-radius:var(--radius-lg);background:#f8fafc;border:1px solid #94a3b824;padding:14px}.push-alert-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=640px){.dashboard-top-hero{gap:14px}}@media (width>=960px){.dashboard-top-hero{gap:20px}.dashboard-greeting{padding-top:10px}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-actions{grid-template-columns:repeat(2,minmax(0,220px))}}.auth-layout{gap:0;width:100%;min-height:100dvh;display:grid}.auth-loading-screen{background:radial-gradient(circle at 18% 18%,#638bd338,#0000 28%),radial-gradient(circle at 82% 12%,#2563922e,#0000 26%),linear-gradient(#eaf1ff 0%,#f8fbff 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-loading-panel{text-align:center;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-radius:22px;justify-items:center;gap:0;width:min(100%,180px);padding:28px;display:grid;box-shadow:0 22px 54px #0f172a1f}.auth-loading-logo-shell{border-radius:var(--radius-xl);background:linear-gradient(#fff 0%,#f4f8ff 100%);justify-content:center;align-items:center;width:96px;height:96px;animation:1.55s ease-in-out infinite auth-logo-pulse;display:inline-flex;box-shadow:inset 0 1px #ffffffeb,0 18px 34px #607bb02e}.auth-loading-logo{border-radius:var(--radius-lg);object-fit:cover;width:62px;height:62px;display:block}.auth-hero{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff1a,#0000 22%),linear-gradient(#0f172a 0%,#1e3a8a 100%);border-radius:0 0 24px 24px;flex-direction:column;justify-content:space-between;gap:20px;min-height:220px;padding:18px 18px 68px;display:flex;position:relative;overflow:hidden}.auth-orb{background:#457cc742;border-radius:999px;position:absolute}.auth-orb-top{width:220px;height:220px;top:-84px;right:-56px}.auth-orb-bottom{background:#25639247;width:210px;height:210px;bottom:-112px;left:-88px}.auth-brand,.auth-sheet-copy,.auth-copy{z-index:1;position:relative}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand-logo{border-radius:var(--radius-lg);object-fit:cover;width:58px;height:58px;box-shadow:0 12px 30px #0f172a47}.auth-brand-title{letter-spacing:-.02em;max-width:18ch;font-size:1.15rem;font-weight:800;line-height:1.08}.auth-brand-subtitle{color:#ffffffb8;margin-top:6px;font-size:.82rem}.auth-hero-footer{z-index:1;color:#ffffffc2;letter-spacing:.03em;border-top:1px solid #ffffff29;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;font-size:.76rem;line-height:1.4;display:flex;position:relative}.auth-hero-kicker{text-transform:uppercase;font-weight:700}.auth-hero-divider{background:#ffffff57;width:24px;height:1px}.auth-card{z-index:2;background:#fffffff7;border-radius:24px 24px 0 0;gap:8px;margin-top:-50px;padding:16px 16px 14px;position:relative}.auth-sheet-banner{justify-content:center;margin-bottom:12px;display:flex}.auth-sheet-banner-image{object-fit:contain;object-position:center;border-radius:0;width:min(100%,320px);height:auto;max-height:180px;display:block}.auth-sheet-copy h2{letter-spacing:-.03em;margin:0;font-size:1.48rem;line-height:1}.auth-sheet-copy p{color:var(--muted);margin-top:4px;font-size:.84rem;line-height:1.35}label{gap:6px;font-weight:600;display:grid}.auth-field{color:#0f172a;gap:6px}.auth-field-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.78rem;font-weight:700}.input-shell{border-radius:var(--radius-lg);background:#fff;border:1px solid #cbd5e1f2;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:56px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid;position:relative}.input-shell.is-filled{border-color:#94a3b8c7}.input-shell:focus-within{border-color:#607bb0b3;box-shadow:0 0 0 3px #9db2d72e}.input-icon,.input-trailing{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.input-icon svg,.input-trailing svg,.password-toggle svg{stroke-width:2px;width:17px;height:17px}.password-toggle{border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.password-toggle:hover{color:#64748b;background:#94a3b81f}.password-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #9db2d738}input,select,textarea{width:100%;min-width:0;font:inherit;color:#0f172a;appearance:none;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;padding:15px 0;font-size:16px;font-weight:500;line-height:1.35}input::placeholder,textarea::placeholder{color:#94a3b8;opacity:1}input:-webkit-autofill{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:hover{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:focus{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}textarea{resize:vertical;min-height:112px}.primary-button,.secondary-button,.danger-button,.arrow-button,.feature-tile,.section-chip,.dock-item{border:0}.primary-button{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 16px;font-size:1rem;font-weight:700;transition:background-color .16s,box-shadow .16s,transform .16s,opacity .16s;display:inline-flex}.primary-button:disabled{opacity:1;color:#fff;cursor:progress}.auth-submit{min-height:52px;margin-top:6px;box-shadow:0 14px 28px #1d4ed82e}.auth-submit:disabled,.auth-submit[aria-busy=true]{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);box-shadow:0 14px 28px #1d4ed82e}.auth-checkbox{color:#475569;align-items:center;gap:10px;margin-top:2px;font-size:.85rem;font-weight:600;display:flex}.auth-checkbox input{width:16px;min-width:16px;height:16px;padding:0}.secondary-button,.danger-button{border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 16px;font-weight:800;display:inline-flex}.secondary-button{color:var(--primary);background:#eff4ff}.danger-button{color:#e11d48;background:#fff1f2}.auth-links{text-align:left;color:#2d3748;justify-items:stretch;gap:6px;padding-top:0;display:grid}.auth-card .stack-form,.auth-card label{gap:6px}.auth-install-card{background:linear-gradient(#eff6ffeb 0%,#f8fafcf5 100%);border:1px solid #94a3b833;border-radius:20px;gap:12px;padding:14px;display:grid}.auth-install-copy{gap:6px;display:grid}.auth-install-title{color:#0f172a;align-items:center;gap:8px;display:inline-flex}.auth-install-title svg{width:16px;height:16px;color:var(--primary)}.auth-install-copy p{color:#475569;margin:0;font-size:.82rem;line-height:1.5}.auth-install,.dashboard-install{min-height:44px;padding:10px 16px}.auth-install{justify-content:center;justify-self:start;align-items:center;gap:8px;display:inline-flex}.auth-install svg{width:15px;height:15px}.install-modal{width:min(100%,560px)}.install-modal-brand{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.install-modal-logo{object-fit:cover;border-radius:18px;width:56px;height:56px;box-shadow:0 16px 30px #0f172a24}.install-modal-copy h3{margin:0 0 6px}.install-modal-copy p{color:var(--muted);margin:0;line-height:1.5}.install-modal-panel,.install-step{background:linear-gradient(#f8fafcf5 0%,#f1f5f9eb 100%);border:1px solid #94a3b82e;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.install-modal-icon,.install-step-icon{width:38px;height:38px;color:var(--primary);background:#1d4ed814;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.install-modal-panel strong,.install-step strong{color:#0f172a;display:block}.install-modal-panel p,.install-step p{color:#475569;margin:4px 0 0;font-size:.84rem;line-height:1.5}.install-modal-steps{gap:12px;display:grid}.install-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.auth-links strong,.text-link{color:var(--primary)}.text-link{background:0 0;border:0;font-weight:800}@keyframes auth-logo-pulse{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffffeb,0 18px 34px #607bb02e}50%{transform:scale(1.08);box-shadow:inset 0 1px #fffffffa,0 24px 42px #607bb047}}@media (width>=1024px){.auth-install-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.auth-install{justify-self:end}}.public-intake-shell{background:radial-gradient(circle at 0 0,#0f172a14,#0000 32%),radial-gradient(circle at 100% 0,#2563eb1a,#0000 28%),linear-gradient(#f8fafc 0%,#eef4fb 100%);min-height:100vh;padding:32px 16px 64px}.public-intake-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #94a3b82e;border-radius:22px;width:min(1320px,100%);margin:0 auto;padding:28px;box-shadow:0 28px 60px #0f172a1a}.public-intake-header{margin-bottom:24px}.public-intake-kicker{color:var(--primary);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:700}.public-intake-header h1{color:#0f172a;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:.96}.public-intake-header p{color:#475569;max-width:720px;margin:12px 0 0;line-height:1.6}.public-intake-status{border-radius:var(--radius-lg);border:1px solid #94a3b829;margin-bottom:20px;padding:14px 16px;font-size:.95rem;line-height:1.5}.public-intake-status.is-info{color:var(--primary-strong);background:#eff4ff}.public-intake-status.is-error{color:#b91c1c;background:#fef2f2}.public-intake-status.is-success{color:#166534;background:#ecfdf5}.public-intake-form{gap:20px;display:grid}.public-intake-fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.public-intake-fieldset:disabled{opacity:.72}.public-intake-section{border-radius:var(--radius-xl);background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #94a3b82e;padding:20px}.public-intake-section h2{color:#0f172a;margin:0 0 16px;font-size:1.1rem}.public-intake-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.public-intake-grid label,.public-intake-agree{gap:8px;display:grid}.public-intake-grid label{grid-column:span 4}.public-intake-grid span{color:#334155;font-size:.88rem;font-weight:600}.public-intake-grid input,.public-intake-grid select,.public-intake-grid textarea{border-radius:var(--radius-md);color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #94a3b852;padding:12px 14px;box-shadow:inset 0 1px #fffc}.public-intake-grid input:focus,.public-intake-grid select:focus,.public-intake-grid textarea:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb1a}.public-intake-grid input:disabled,.public-intake-grid select:disabled,.public-intake-grid textarea:disabled{background:#f8fafc}.public-intake-grid textarea{resize:vertical}.public-intake-full{grid-column:1/-1}.public-intake-photo-preview{object-fit:cover;border-radius:var(--radius-lg);border:1px solid #94a3b84d;width:120px;height:120px}.public-intake-agree{grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:6px 4px}.public-intake-agree span{color:#334155;line-height:1.5}.public-intake-actions{justify-content:flex-end;display:flex}.public-intake-actions .primary-button{min-width:220px}@media (width>=1024px){.public-intake-grid label{grid-column:span 3}}@media (width<=720px){.public-intake-shell{padding:18px 12px 40px}.public-intake-card{border-radius:var(--radius-xl);padding:18px}.public-intake-section{border-radius:var(--radius-lg);padding:16px}.public-intake-grid{grid-template-columns:1fr}.public-intake-grid label{grid-column:auto}.public-intake-actions{justify-content:stretch}.public-intake-actions .primary-button{width:100%}}@media (width>=640px){.mobile-shell:not(.mobile-shell-auth){background:radial-gradient(circle at 10% 18%,#0f172a0f,#0000 26%),radial-gradient(circle at 88% 14%,#2563eb14,#0000 24%),linear-gradient(#edf2f8 0%,#f7f9fc 100%);padding:0}.phone-frame:not(.phone-frame-auth){width:100%;max-width:none;min-height:100vh;box-shadow:none;background:0 0;border:0;border-radius:0}.app-shell:not(.app-shell-auth){align-content:start;gap:20px;width:100%;min-height:100vh;margin:0;padding:8px 32px 80px}.teacher-assignment-layout,.content-stack{gap:24px}.app-shell.app-shell-teacher-full{width:100%;max-width:none;padding:28px 40px 126px}.phone-frame:not(.phone-frame-auth) .screen-glow{opacity:.55}.phone-frame:not(.phone-frame-auth) .panel-soft,.phone-frame:not(.phone-frame-auth) .toolbar-card,.phone-frame:not(.phone-frame-auth) .card,.phone-frame:not(.phone-frame-auth) .promo-card{box-shadow:0 18px 45px #0f172a14}.phone-frame:not(.phone-frame-auth) .dashboard-stack,.phone-frame:not(.phone-frame-auth) .content-stack{width:100%;max-width:none}.phone-frame:not(.phone-frame-auth) .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .content-stack{flex-direction:column;align-items:stretch;gap:28px;width:100%;max-width:none;display:flex}.phone-frame:not(.phone-frame-auth) .parent-dashboard-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.phone-frame:not(.phone-frame-auth) .alerts-page-layout{grid-template-columns:minmax(0,1fr);max-width:none}.phone-frame:not(.phone-frame-auth) .alerts-page-layout>*{grid-column:1/-1}.phone-frame:not(.phone-frame-auth) .teacher-blue-book-layout{grid-template-columns:minmax(0,1fr)}.phone-frame:not(.phone-frame-auth) .teacher-blue-book-layout>*{grid-column:1/-1}.phone-frame:not(.phone-frame-auth) .teacher-assignment-layout{grid-template-columns:minmax(0,1fr)}.phone-frame:not(.phone-frame-auth) .teacher-assignment-layout>*,.phone-frame:not(.phone-frame-auth) .content-stack>:first-child,.phone-frame:not(.phone-frame-auth) .assignment-results-panel,.phone-frame:not(.phone-frame-auth) .health-profile-card,.phone-frame:not(.phone-frame-auth) .health-notes-card,.phone-frame:not(.phone-frame-auth) .health-outreach-card{grid-column:1/-1}.phone-frame:not(.phone-frame-auth) .collection-grid,.phone-frame:not(.phone-frame-auth) .entity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .teacher-assignment-grid{grid-template-columns:minmax(0,1fr)}.phone-frame:not(.phone-frame-auth) .list-block{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.teacher-overview-meta{grid-template-columns:repeat(3,1fr);gap:24px;width:100%}.teacher-hero-actions{grid-template-columns:repeat(4,1fr);gap:16px;width:100%}.teacher-subject-cloud{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));width:100%}.teacher-overview-shell{padding-top:10px;padding-bottom:24px}.teacher-dashboard-main-grid{grid-template-columns:1fr 380px;gap:40px}.phone-frame:not(.phone-frame-auth) .list-row{min-height:56px}.phone-frame:not(.phone-frame-auth) .section-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .transport-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:20px}.mobile-shell-auth{background:radial-gradient(circle at 12% 18%,#2563eb14,#0000 28%),radial-gradient(circle at 88% 84%,#0f172a0f,#0000 30%),linear-gradient(#eef3fb 0%,#f8fafc 100%)}.phone-frame-auth{background:0 0;max-width:none;min-height:100dvh;padding:0}.phone-frame-auth .screen-glow{display:none}.app-shell-auth{min-height:100dvh;padding:0}.auth-layout{background:#fff9;grid-template-columns:minmax(0,1.45fr) minmax(380px,460px);align-items:stretch;width:100%;min-height:100dvh;margin:0;overflow:hidden}.auth-hero,.auth-card{border-radius:0}.auth-hero{min-height:100dvh;padding:40px 44px}.auth-card{background:#fffffffa;flex-direction:column;justify-content:center;margin-top:0;padding:34px 30px 26px;display:flex;box-shadow:inset 1px 0 #94a3b82e}.auth-loading-panel{width:min(100%,196px);padding:32px}.auth-brand-logo{border-radius:22px;width:72px;height:72px}.auth-brand-title{max-width:22ch;font-size:2rem;line-height:1.04}.auth-brand-subtitle{margin-top:8px;font-size:1rem}.auth-hero-footer{gap:14px;padding-top:18px;font-size:.9rem}.auth-hero-divider{width:36px}.auth-sheet-copy h2{font-size:2rem}.auth-sheet-copy p{margin-top:8px;font-size:.98rem;line-height:1.35}.auth-card .stack-form{gap:12px;margin-top:6px}.auth-card label{gap:8px}.input-shell,.auth-brand-logo,.auth-loading-logo-shell,.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-md)}}@media (width>=1024px){.alert-feed{grid-template-columns:1fr;gap:24px;display:grid}.alert-card{cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fffc;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.alert-card:hover{border-color:var(--primary);background:#fff;transform:translateY(-6px);box-shadow:0 32px 64px #0f172a1f}.alert-card h4{letter-spacing:-.01em;font-size:1.15rem;font-weight:800}.alert-content{flex-grow:1;font-size:1rem;line-height:1.6}.alert-image-frame{background:#f8fafc;border-radius:14px;margin:12px 0;padding:0;overflow:hidden}.alert-image{object-fit:cover;width:100%;max-height:480px;transition:transform .5s}.alert-card:hover .alert-image{transform:scale(1.04)}.alert-detail-row{border-top:1px solid #94a3b81a;margin-top:12px;padding-top:16px}.alert-read-toggle{background:#f1f5f9;border-radius:8px;margin-top:16px;padding:8px 14px;font-size:.85rem;transition:all .2s}.alert-read-toggle:hover{background:#e2e8f0}.section-strip{gap:10px;width:100%;padding:8px 0;justify-content:flex-start!important}.section-chip{flex-grow:0;flex-shrink:0;width:auto;min-width:0;padding:4px 12px;font-size:.8rem;border-radius:0!important}.app-header{margin-bottom:0;padding:10px 0 4px}.header-title{font-size:2rem}.header-date{font-size:.85rem}.header-back-button,.header-action-button,.header-profile-trigger{width:52px;height:52px}.dashboard-metrics{gap:24px;grid-template-columns:repeat(4,1fr)!important}.metric-card{padding:28px 24px}.alert-image{max-height:600px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b899}.account-card{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.account-avatar{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);border:2px solid #10b981;border-radius:50%;width:54px;height:54px;font-weight:800;overflow:hidden}.account-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-size:.76rem;font-weight:700}.account-title{font-size:1.05rem;font-weight:800}.account-meta{color:var(--muted);margin-top:4px;font-size:.88rem}.account-student-photo{object-fit:cover;background:#e2e8f0;border-radius:50%;width:100%;height:100%}.account-student-photo--lead{border-radius:50%;width:52px;height:52px}.arrow-button{border-radius:var(--radius-md);background:var(--surface-subtle);color:#111827;width:36px;height:36px;font-size:1rem}.feature-grid,.mini-grid,.stat-grid{gap:12px;display:grid}.feature-grid,.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-tile{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);text-align:left;background:#fffffff5;gap:12px;padding:16px;display:grid}.feature-icon{border-radius:var(--radius-md);width:40px;height:40px;font-weight:800}.feature-icon.mint{color:#047857;background:#10b98129}.feature-icon.coral{color:#db2777;background:#f472b629}.feature-title{font-weight:700}.feature-copy{color:var(--muted);margin-top:4px;font-size:.88rem;line-height:1.45}.mini-card{border-radius:var(--radius-lg);border:1px solid var(--border);min-height:108px;box-shadow:var(--shadow-card);align-content:space-between;padding:16px;display:grid}.mini-card span{color:#111827;font-weight:700}.mini-card strong{font-size:.98rem;line-height:1.35}.mini-card.peach{background:linear-gradient(#fff0e7 0%,#ffe7d8 100%)}.mini-card.silver{background:linear-gradient(#f4f6f8 0%,#eceff3 100%)}.mini-card.sand{background:linear-gradient(#f6efe3 0%,#ede0cd 100%)}.promo-card{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff1f,#0000 24%),linear-gradient(135deg,#0f172a 0%,#1e3a8a 58%,#2563eb 100%);border:1px solid #0f172a05;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px;display:flex}.promo-overline{text-transform:uppercase;letter-spacing:.12em;opacity:.76;font-size:.8rem}.promo-card h2{margin:8px 0 6px;font-size:1.7rem;line-height:1.02}.promo-card p{max-width:420px;font-size:.92rem;line-height:1.45}.promo-school{color:#ffffffd9;letter-spacing:.01em;align-items:center;gap:8px;margin-top:18px;font-size:.85rem;font-weight:600;display:flex}.promo-school svg{opacity:.75;flex-shrink:0;width:15px;height:15px}.promo-mark{border-radius:var(--radius-lg);background:#ffffff29;border:1px solid #ffffff29;width:58px;height:58px;font-size:.95rem;font-weight:800}.section-strip{scrollbar-width:none;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.section-strip::-webkit-scrollbar{display:none}.section-chip{border-radius:var(--radius-md);color:#334155;border:1px solid var(--border);background:#fffffff5;flex:none;align-items:center;gap:8px;padding:11px 15px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #0f172a0d}.section-chip svg{stroke-width:2.2px;width:16px;height:16px}.section-chip.active{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-color:#0f172a05}.section-strip-schedule{scrollbar-width:none;flex-direction:row;align-items:center;gap:8px;display:flex;overflow-x:auto}.section-chip-schedule{box-sizing:border-box;text-align:center;white-space:nowrap;border:1px solid #cbd5e1;border-radius:0;flex:none;justify-content:center;align-items:center;gap:7px;width:auto;height:auto;padding:10px 18px;font-size:.86rem;font-weight:700;line-height:1;display:inline-flex}.section-chip-schedule svg{stroke-width:2.2px;flex-shrink:0;width:16px;height:16px}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-header-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.card-header h3{color:var(--primary-strong);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;font-weight:800;overflow:hidden}.card-header-trailing{flex-shrink:0;align-items:center;gap:8px;display:flex}.badge{color:var(--primary-strong);background:#1d4ed81a;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:700}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-box{border-radius:var(--radius-lg);background:#f8fafcf5;border:1px solid #94a3b824;padding:14px}.stat-box span{color:var(--muted);font-size:.82rem;display:block}.stat-box strong{margin-top:8px;font-size:1rem;display:block}.list-block,.collection-grid,.json-view{flex-direction:column;gap:8px;display:flex}@media (width>=640px){.list-block,.collection-grid,.json-view{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}}.health-profile-card .list-block{grid-template-columns:repeat(2,minmax(0,1fr))}.health-profile-card .list-row{text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;padding-bottom:0}.health-profile-card .list-key-wrap{flex-direction:column;justify-content:center;align-items:center;gap:6px}.health-profile-card .list-value{text-align:center;color:#0f172a;width:100%;font-size:.86rem;font-weight:700}.health-profile-card .list-key{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.7rem;font-weight:600}.health-profile-card .list-icon{border-radius:var(--radius-md);width:32px;height:32px}.health-profile-card .list-icon svg{width:16px;height:16px}.list-row{border-bottom:1px solid #0f172a14;grid-template-columns:minmax(0,110px) minmax(0,1fr);align-items:flex-start;gap:10px;padding-bottom:8px;display:grid}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-key-wrap{align-items:center;gap:10px;min-width:0;max-width:100%;display:inline-flex}.list-icon{border-radius:var(--radius-sm);color:#2563eb;background:#2563eb14;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.list-icon svg{stroke-width:2.2px;width:14px;height:14px}.list-icon-health-student{color:#0284c7;background:#0ea5e91f}.list-icon-health-class{color:#4f46e5;background:#6366f11f}.list-icon-health-section{color:#9333ea;background:#a855f71f}.list-icon-health-blood{color:#dc2626;background:#ef44441f}.list-icon-health-bmi{color:#059669;background:#10b9811f}.list-icon-health-allergies{color:#d97706;background:#f59e0b24}.list-icon-request-student{color:#0284c7;background:#0ea5e91f}.list-icon-request-class{color:#4f46e5;background:#6366f11f}.list-icon-request-section{color:#9333ea;background:#a855f71f}.list-icon-request-bus{color:#059669;background:#10b9811f}.list-icon-request-alerts{color:#d97706;background:#f59e0b24}.list-key{text-transform:capitalize;overflow-wrap:anywhere;font-size:.88rem;font-weight:700}.list-value{color:var(--muted);text-align:left;overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:.88rem}.collection-item{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;padding:14px}.collection-item-heading{gap:4px;margin-bottom:6px;display:grid}.collection-item-heading span{align-items:center;gap:6px;font-weight:700;display:inline-flex}.collection-item summary{cursor:pointer;gap:4px;font-weight:700;display:grid}.collection-item small{color:var(--muted);font-weight:500}.collection-item pre,.json-view{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;overflow:auto}.profile-actions{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.profile-actions>.secondary-button,.profile-actions>.danger-button{width:100%}.profile-school-card,.profile-security-card{grid-column:1/-1}.profile-security-card-body,.profile-student-switcher,.profile-account-manager{gap:14px;display:grid}.profile-student-grid{gap:10px;display:grid}.profile-student-card{text-align:left;background:#f8fafcf5;border:1px solid #94a3b82e;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.profile-student-card.active{background:linear-gradient(#eff6fffa 0%,#f8fafcfa 100%);border-color:#2563eb47;box-shadow:0 10px 24px #2563eb14}.profile-student-card:active{transform:scale(.99)}.profile-student-card-copy{gap:4px;min-width:0;display:grid}.profile-student-card-copy strong,.profile-student-card-copy span,.profile-student-card-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-student-card-copy span,.profile-student-card-copy small{color:var(--muted)}.profile-student-card-badge{color:#334155;background:#fff;border:1px solid #94a3b838;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:88px;padding:9px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.profile-student-card-badge.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb2e}.profile-student-card-badge svg{width:14px;height:14px}.profile-select{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background:#fff;padding:0 14px;font-size:.95rem;font-weight:600}.profile-account-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-account-summary{gap:4px;display:grid}.profile-account-summary span{color:var(--muted);font-size:.84rem;font-weight:600}.profile-account-list{gap:10px;display:grid}.profile-account-item{background:#f8fafcf5;border:1px solid #94a3b82e;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.profile-account-item.active{background:#ecfdf5f2;border-color:#10b98152}.profile-account-copy{gap:3px;min-width:0;display:grid}.profile-account-copy strong,.profile-account-copy span,.profile-account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-account-copy span,.profile-account-copy small{color:var(--muted)}.profile-account-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.profile-account-remove{justify-content:center;width:44px;min-width:44px;padding-inline:0}.profile-password-note{border-radius:var(--radius-lg);color:#1d4ed8;background:#2563eb14;align-items:center;gap:10px;padding:12px 14px;font-size:.88rem;font-weight:600;display:flex}.profile-password-note svg,.button-spinner{flex:none;width:16px;height:16px}.profile-password-submit{justify-content:center;align-items:center;gap:10px;display:inline-flex}.profile-password-trigger{justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.button-spinner{animation:.9s linear infinite section-spin}.promo-school{letter-spacing:.04em;opacity:.88;align-items:center;gap:8px;margin-top:14px;font-size:.8rem;font-weight:700;display:flex}@media (width<=520px){.profile-student-card,.profile-account-item{flex-direction:column;align-items:flex-start}.profile-student-card-badge,.profile-account-actions{width:100%}.profile-student-card-badge{justify-content:center}.profile-account-actions{justify-content:space-between}}.promo-school svg{stroke-width:2.5px;width:14px;height:14px}.section-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-stat-icon{border-radius:var(--radius-md);color:#2563eb;background:#2563eb1a;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:inline-flex}.section-stat-icon-published{color:#9333ea;background:#a855f71f}.section-stat-icon-submitted{color:#059669;background:#10b9811f}.section-stat-icon-pending{color:#d97706;background:#f59e0b24}.section-stat-icon-balance{color:#0284c7;background:#0ea5e91f}.section-stat-icon-spent{color:#dc2626;background:#ef44441f}.section-stat-icon-orders{color:#4f46e5;background:#6366f11f}.section-empty{padding:12px 0}.student-spotlight{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.student-photo,.entity-avatar,.school-profile-logo{border-radius:var(--radius-lg);width:64px;height:64px}.student-spotlight-copy h3{margin:6px 0 4px}.student-spotlight-copy p,.student-spotlight-meta{color:var(--muted);margin:0;font-size:.9rem}.entity-grid{gap:12px;display:grid}.assignment-results-grid{grid-template-columns:minmax(0,1fr)}.entity-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;gap:12px;padding:14px;display:grid;box-shadow:0 8px 24px #0f172a0a}.entity-card h4,.routine-day h4{overflow-wrap:anywhere;margin:0;font-size:.95rem;line-height:1.35}.entity-card p{color:var(--muted);overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.45}.entity-card-header,.entity-card-title-row{align-items:center;gap:12px;display:flex}.entity-chip-row{flex-wrap:wrap;gap:8px;display:flex}.entity-chip{border-radius:var(--radius-md);color:#334155;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #94a3b824;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.entity-chip-routine-time,.entity-chip-exam-time{color:#0284c7;background:#0ea5e91f;border-color:#0ea5e92e}.entity-chip-routine-class{color:#4f46e5;background:#6366f11f;border-color:#6366f12e}.entity-chip-routine-section{color:#9333ea;background:#a855f71f;border-color:#a855f72e}.entity-chip-exam-full{color:#059669;background:#10b9811f;border-color:#10b9812e}.entity-chip-exam-pass{color:#d97706;background:#f59e0b24;border-color:#f59e0b33}.entity-chip svg{width:15px;height:15px}.entity-card-attendance{gap:14px}.entity-chip-attendance-period{color:#2563eb;background:#3b82f61f;border-color:#3b82f633}.attendance-remark-panel{background:radial-gradient(circle at 100% 0,#3b82f61f,#0000 45%),linear-gradient(#f8fbff 0%,#eff6ff 100%);border:1px solid #3b82f629;border-radius:18px;gap:10px;padding:14px;display:grid}.attendance-remark-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.attendance-remark-title{color:#1d4ed8;align-items:center;gap:8px;font-size:.86rem;font-weight:800;display:inline-flex}.attendance-remark-title svg{width:15px;height:15px}.attendance-remark-head small{color:#475569;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:700}.attendance-remark-panel p{color:#1e293b;margin:0;font-size:.86rem;line-height:1.55}.wallet-history-card{grid-column:1/-1;margin-bottom:20px}.wallet-history-toolbar{border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.wallet-history-toolbar-copy{gap:4px;display:grid}.wallet-history-toolbar-copy strong,.wallet-history-toolbar-copy p{margin:0}.wallet-history-toolbar-copy p{color:var(--muted)}.wallet-coming-soon{background:linear-gradient(135deg,#fef9c3eb,#fffffffa);border:1px solid #facc153d;border-radius:18px;gap:14px;padding:18px;display:grid}.wallet-coming-soon-copy{gap:6px;display:grid}.wallet-coming-soon-copy strong,.wallet-coming-soon-copy p{margin:0}.wallet-coming-soon-copy strong{color:#713f12}.wallet-coming-soon-copy p{color:#854d0e;line-height:1.5}.wallet-history-sort{gap:8px;min-width:min(100%,220px);display:grid}.wallet-history-sort span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700}.wallet-history-sort-shell{border-radius:var(--radius-lg);background:#fff;border:1px solid #cbd5e1f2;align-items:center;min-height:52px;padding:0 14px;display:grid}.wallet-history-sort-shell select{padding:14px 0;font-weight:700}.wallet-history-list{gap:18px;display:grid}.wallet-history-row{border-top:1px solid #94a3b829;gap:12px;padding-top:18px;display:grid}.wallet-history-row:first-child{border-top:0;padding-top:0}.wallet-history-summary{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.wallet-history-copy{gap:4px;display:grid}.wallet-history-copy h4,.wallet-history-copy p{margin:0}.wallet-history-copy p,.wallet-pagination-status{color:var(--muted)}.wallet-history-meta,.wallet-history-items{flex-wrap:wrap;gap:8px;display:flex}.wallet-history-meta{justify-content:flex-end}.wallet-history-pagination{border-top:1px solid #94a3b829;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.wallet-pagination-status{text-align:center;margin:0;font-size:.88rem;font-weight:600}.wallet-pagination-button{min-width:112px}.routine-stack{gap:18px;display:grid}.routine-day{gap:12px;display:grid}.section-link{border-radius:var(--radius-md);width:fit-content;color:var(--primary);background:#eef4ff;border:1px solid #2563eb1f;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.transport-request-button{width:fit-content;margin-top:4px}.transport-request-card,.transport-request-copy,.transport-request-form,.transport-request-actions,.transport-request-history,.transport-request-item{gap:14px;display:grid}.transport-request-copy strong{color:#0f172a;font-size:1rem}.transport-request-copy p{color:var(--muted);margin:0;line-height:1.5}.transport-request-form textarea{min-height:120px}.transport-request-form label{gap:8px;display:grid}.transport-request-form label>span{letter-spacing:.08em;text-transform:uppercase;color:#475569;font-size:.76rem;font-weight:800}.transport-request-form input,.transport-request-form textarea{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb2e;border-radius:16px;padding:14px 16px;box-shadow:inset 0 1px 2px #0f172a0a}.transport-request-form input::placeholder,.transport-request-form textarea::placeholder{color:#94a3b8}.transport-request-form input:focus,.transport-request-form textarea:focus{border-color:#2563eb6b;box-shadow:0 0 0 4px #3b82f61f,inset 0 1px 2px #0f172a0a}.transport-request-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.transport-layout,.transport-summary,.transport-stops,.transport-stop-list{gap:14px;display:grid}.transport-summary{background:linear-gradient(#f8fafcf5,#fffffffa);border:1px solid #94a3b829;border-radius:18px;padding:18px}.transport-summary h4,.transport-stop-item h4{overflow-wrap:anywhere;margin:0}.transport-summary p,.transport-stop-item p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.5}.transport-stops-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.8rem;font-weight:800}.transport-stop-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.transport-stop-item{background:#fff;border:1px solid #94a3b824;border-radius:16px;gap:10px;padding:16px;display:grid}.school-profile-card{align-items:start;gap:18px;display:grid}.profile-summary-card{gap:18px;display:grid}.teacher-profile-page{display:block}.teacher-profile-surface{gap:18px;padding:0;display:grid}.teacher-profile-header{align-items:center;gap:16px;display:flex}.teacher-profile-header-copy{gap:4px;min-width:0;display:grid}.teacher-profile-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#2563eb;font-size:.74rem;font-weight:800}.teacher-profile-header-copy h2,.teacher-profile-header-copy p,.teacher-profile-header-copy small{margin:0}.teacher-profile-header-copy h2{color:#0f172a;font-size:1.45rem;line-height:1.1}.teacher-profile-header-copy p{color:#334155;font-weight:700}.teacher-profile-header-copy small{color:#64748b;font-size:.84rem;font-weight:600}.teacher-profile-details .list-block{background:0 0;border:0;border-radius:0;gap:0;padding:0}.teacher-profile-details .list-row{grid-template-columns:minmax(0,130px) minmax(0,1fr);padding:14px 0}.teacher-profile-details .list-key{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem}.teacher-profile-details .list-value{color:#0f172a;font-weight:600}.teacher-profile-divider{background:#94a3b829;height:1px}.teacher-profile-actions{gap:14px;display:grid}.teacher-profile-password-copy{gap:5px;display:grid}.teacher-profile-section-label{letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-size:.74rem;font-weight:800}.teacher-profile-password-copy strong,.teacher-profile-password-copy p{margin:0}.teacher-profile-password-copy strong{color:#0f172a;font-size:1rem}.teacher-profile-password-copy p{color:#64748b;line-height:1.5}.teacher-profile-password-button{align-items:center;gap:8px;display:inline-flex}.teacher-profile-action-buttons>.primary-button,.teacher-profile-action-buttons>.secondary-button,.teacher-profile-action-buttons>.danger-button{width:auto}.teacher-profile-password-status{margin-top:14px}@media (width<=560px){.teacher-profile-header{align-items:flex-start}.teacher-profile-details .list-row{grid-template-columns:minmax(0,1fr);gap:8px}.teacher-profile-action-buttons{grid-template-columns:minmax(0,1fr);display:grid}.teacher-profile-action-buttons>.primary-button,.teacher-profile-action-buttons>.secondary-button,.teacher-profile-action-buttons>.danger-button{width:100%}}.profile-summary-identity{border-bottom:1px solid #94a3b824;align-items:center;gap:14px;padding-bottom:16px;display:flex}.profile-summary-avatar{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.2rem;font-weight:800;display:inline-flex;overflow:hidden}.profile-summary-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.profile-summary-copy{gap:4px;min-width:0;display:grid}.profile-summary-copy h3,.profile-summary-copy p,.profile-summary-copy span{margin:0}.profile-summary-copy h3{color:#0f172a;font-size:1.2rem;line-height:1.2}.profile-summary-copy p{color:#334155;font-weight:700}.profile-summary-copy span{color:#64748b;font-size:.84rem;font-weight:600}.profile-school-card .card-body,.profile-school-card .list-block{width:100%}.profile-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a6b;justify-content:center;align-items:center;padding:20px 16px;display:flex;position:fixed;inset:0}.profile-modal{background:#fffffffa;border:1px solid #94a3b829;border-radius:22px;gap:18px;width:min(100%,560px);padding:20px;display:grid;box-shadow:0 24px 70px #0f172a2e}.profile-modal-header{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:14px;display:grid}.profile-modal-header>:first-child{min-width:0}.profile-modal-header h3{margin:10px 0 6px}.profile-modal-header p{color:var(--muted);margin:0;line-height:1.5}.profile-modal-close{flex-shrink:0;align-self:flex-start;margin-inline-start:auto}.profile-modal .stack-form,.profile-modal .auth-field,.profile-modal .input-shell{width:100%}.profile-modal .auth-field{justify-self:stretch}.profile-modal .input-shell-plain{grid-template-columns:minmax(0,1fr)}.profile-feedback-modal,.profile-feedback-copy,.profile-feedback-actions{gap:16px;display:grid}.profile-feedback-badge{border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.profile-feedback-badge.success{color:#047857;background:#ecfdf5f2}.profile-feedback-badge.danger{color:#b91c1c;background:#fef2f2f5}.profile-feedback-badge svg{width:16px;height:16px}.profile-feedback-copy h3,.profile-feedback-copy p{margin:0}.profile-feedback-copy p{color:#475569;line-height:1.6}.profile-feedback-actions{justify-content:flex-end}.profile-feedback-actions-split{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-feedback-button{min-width:140px}.assignment-page{align-items:start}.assignment-collection{gap:12px;display:grid}.assignment-card{border-radius:16px;gap:12px;padding:12px;box-shadow:0 6px 18px #0f172a0a}.assignment-card-selected{border-color:#2563eb47;box-shadow:0 14px 32px #2563eb1a}.assignment-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.assignment-title-block{gap:3px;display:grid}.assignment-title-block small,.assignment-metadata-item dt,.assignment-submit-context-copy>span,.assignment-subheading{letter-spacing:.08em;text-transform:uppercase;color:#64748b;align-items:center;gap:4px;font-size:.7rem;font-weight:700;display:inline-flex}.assignment-title-block small svg,.assignment-metadata-item dt svg{stroke-width:2.2px;flex-shrink:0;width:12px;height:12px}.assignment-title-block h3{margin:0;font-size:.92rem;line-height:1.3}.assignment-status-badge{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #2563eb24;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.assignment-status-badge svg{stroke-width:2.5px;width:12px;height:12px}.leave-status-badge{color:#475569;letter-spacing:.02em;white-space:nowrap;background:#f1f5f9eb;border:1px solid #94a3b82e;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.leave-status-badge-pending{color:#b45309;background:#f59e0b1f;border-color:#f59e0b2e}.leave-status-badge-approved{color:#047857;background:#10b9811f;border-color:#10b9812e}.leave-status-badge-rejected{color:#b91c1c;background:#ef44441f;border-color:#ef44442e}.leave-page{gap:18px}.leave-hero{background:radial-gradient(circle at 100% 0,#0ea5e929,#0000 42%),linear-gradient(145deg,#fffffffa,#f8fafcf5);border:1px solid #94a3b82e;border-radius:24px;gap:16px;padding:18px;display:grid;box-shadow:0 18px 40px #0f172a14}.leave-hero-copy{gap:10px;display:grid}.leave-hero-kicker{color:#0369a1;letter-spacing:.01em;background:#0ea5e91f;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:7px 12px;font-size:.76rem;font-weight:800;display:inline-flex}.leave-hero-kicker svg{width:14px;height:14px}.leave-hero-copy h2{color:#0f172a;margin:0;font-size:1.32rem;font-weight:900;line-height:1.2}.leave-hero-copy p{color:#475569;margin:0;font-size:.95rem;line-height:1.65}.leave-stats-row{justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.leave-stat-item{align-items:center;gap:8px;font-size:.9rem;display:flex}.leave-stat-item strong{color:#0f172a;font-size:1.1rem;font-weight:800}.leave-stat-item span{color:#64748b;font-weight:500}.leave-stat-icon{justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.leave-stat-icon svg{stroke-width:2.5px;width:18px;height:18px}.is-pending .leave-stat-icon{color:#d97706}.is-approved .leave-stat-icon{color:#16a34a}.is-rejected .leave-stat-icon{color:#dc2626}@media (width<=480px){.leave-stats-row{gap:8px}.leave-stat-item{gap:4px;font-size:.82rem}.leave-stat-item strong{font-size:.95rem}}.leave-page .leave-history-grid{grid-template-columns:1fr;gap:14px;display:grid}.leave-request-card{background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #94a3b829;border-radius:22px;gap:12px;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a0d}.leave-request-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.leave-request-heading{gap:6px;min-width:0;display:grid}.leave-request-range{color:#0f172a;align-items:center;gap:8px;font-size:.98rem;font-weight:800;line-height:1.35;display:inline-flex}.leave-request-range svg{color:#0ea5e9;width:16px;height:16px}.leave-request-created{color:#64748b;margin:0;font-size:.78rem;font-weight:600}.leave-request-reason,.leave-request-review{color:#334155;margin:0;font-size:.9rem;line-height:1.6}.leave-request-copy{gap:8px;display:grid}.leave-request-label{color:#64748b;letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}.leave-request-reason{padding-top:2px}.leave-request-review{color:#475569;background:#f8fafce6;border:1px solid #94a3b824;border-radius:16px;gap:8px;padding:12px 14px;display:grid}.leave-request-review p:last-child{margin:0}.leave-empty-state{text-align:center;background:linear-gradient(#f8fafccc,#ffffffeb);border:1px dashed #94a3b83d;border-radius:22px;justify-items:center;gap:10px;padding:24px 18px;display:grid}.leave-empty-icon{color:#0284c7;background:#0ea5e91f;border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.leave-empty-icon svg{width:22px;height:22px}.leave-empty-state strong{color:#0f172a;font-size:1rem;font-weight:800}.leave-empty-state p{color:#64748b;margin:0;font-size:.9rem;line-height:1.6}.leave-form{gap:16px;display:grid}.leave-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.leave-quick-select{background:linear-gradient(#f8fafcf2,#ffffffeb);border:1px solid #94a3b829;border-radius:18px;gap:12px;padding:14px;display:grid}.leave-quick-select-copy{gap:4px;display:grid}.leave-quick-select-copy span{color:#0f172a;font-size:.82rem;font-weight:800}.leave-quick-select-copy p{color:#64748b;margin:0;font-size:.82rem;line-height:1.5}.leave-quick-select-note{color:#475569;font-size:.78rem;font-weight:600}.leave-quick-select-actions{flex-wrap:wrap;gap:10px;display:flex}.leave-quick-select-chip{appearance:none;color:#0369a1;font:inherit;background:#fffffff5;border:1px solid #0ea5e92e;border-radius:999px;padding:10px 14px;font-size:.82rem;font-weight:800;line-height:1;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.leave-quick-select-chip:hover,.leave-quick-select-chip:focus-visible{background:#f0f9fffa;border-color:#0ea5e966;outline:none;transform:translateY(-1px);box-shadow:0 10px 20px #0ea5e91f}.leave-quick-select-chip:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.leave-form-field{gap:8px;display:grid}.leave-form-field span{color:#334155;font-size:.84rem;font-weight:800}.leave-form-field input,.leave-form-field textarea{color:#0f172a;width:100%;font:inherit;box-sizing:border-box;background:#fffffff5;border:1px solid #94a3b833;border-radius:16px;padding:14px 15px;transition:border-color .2s,box-shadow .2s,transform .2s}.leave-form-field textarea{resize:vertical;min-height:132px}.leave-form-field input:focus,.leave-form-field textarea:focus{border-color:#0ea5e980;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #0ea5e91f}.leave-form-footer{gap:14px;padding-top:4px;display:grid}.leave-form-hint{color:#0f172a;background:#0ea5e914;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.leave-form-hint-icon{color:#0284c7;background:#ffffffe6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.leave-form-hint p{color:#475569;margin:0;font-size:.88rem;line-height:1.5}.leave-submit-status{border:1px solid #94a3b829;border-radius:16px;padding:12px 14px;font-size:.88rem;font-weight:700;line-height:1.5}.leave-submit-status.success{color:#047857;background:#ecfdf5f2;border-color:#10b9812e}.leave-submit-status.error{color:#b91c1c;background:#fef2f2f5;border-color:#ef44442e}.leave-feedback-modal{gap:20px}.leave-feedback-copy{gap:10px;display:grid}.leave-feedback-badge{border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.leave-feedback-badge svg{width:16px;height:16px}.leave-feedback-badge.success{color:#047857;background:#ecfdf5f2}.leave-feedback-badge.error{color:#b91c1c;background:#fef2f2f5}.leave-feedback-actions{justify-content:flex-end;display:flex}.leave-feedback-button{min-width:132px}.leave-form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.leave-form-count{color:#64748b;font-size:.78rem;font-weight:700}.leave-submit-button{justify-content:center;align-items:center;gap:10px;min-width:190px;display:inline-flex}.leave-submit-button svg{width:16px;height:16px}.leave-submit-button:disabled{opacity:.8;cursor:wait}@media (width<=640px){.leave-hero-metrics,.leave-form-grid{grid-template-columns:1fr}.leave-form-actions{flex-direction:column;align-items:stretch}.leave-form-count{text-align:right}.leave-submit-button{width:100%;min-width:0}}@media (width>=640px){.leave-page .leave-history-grid{grid-template-columns:1fr}}.assignment-metadata-grid{border-top:1px solid #94a3b824;border-bottom:1px solid #94a3b824;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;margin:0;padding:10px 0;display:grid}.assignment-metadata-item{gap:3px;min-width:0;margin:0;display:grid}.assignment-metadata-item dt,.assignment-metadata-item dd{min-width:0;margin:0}.assignment-metadata-item dd{color:#0f172a;font-size:.86rem;font-weight:700}.assignment-metadata-item-due dd{color:#dc2626}.assignment-inline-meta{color:#64748b;flex-wrap:wrap;gap:6px 12px;font-size:.83rem;font-weight:600;display:flex}.assignment-inline-meta span{align-items:center;gap:5px;display:inline-flex}.assignment-inline-meta span svg{stroke-width:2.2px;flex-shrink:0;width:13px;height:13px}.assignment-inline-meta span+span{position:relative}.assignment-inline-meta span+span:before{content:"â€¢";color:#cbd5e1;margin-right:12px}.assignment-detail-list{gap:10px;display:grid}.assignment-detail-row{gap:4px;display:grid}.assignment-detail-row strong{letter-spacing:.08em;text-transform:uppercase;color:#64748b;align-items:center;gap:5px;font-size:.72rem;font-weight:700;display:inline-flex}.assignment-detail-row strong svg{stroke-width:2.2px;flex-shrink:0;width:12px;height:12px}.assignment-detail-row p{color:#475569;margin:0;font-size:.88rem;line-height:1.55}.assignment-attachment-stack{gap:8px;padding-top:2px;display:grid}.assignment-attachment-grid{gap:0;display:grid}.assignment-attachment-card{border-top:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.assignment-attachment-copy{gap:2px;min-width:0;display:grid}.assignment-attachment-copy strong,.assignment-attachment-copy small{overflow-wrap:anywhere}.assignment-attachment-copy strong{color:#0f172a}.assignment-attachment-copy small{color:#64748b}.assignment-submit-context-copy small svg{width:18px;height:18px}.assignment-card-action{justify-content:center;align-self:flex-start;align-items:center;gap:8px;min-height:46px;margin-top:2px;padding:10px 18px;display:inline-flex}.assignment-card-action svg{stroke-width:2.2px;flex-shrink:0;width:18px;height:18px}.assignment-inline-link{color:var(--primary);background:0 0;border:0;justify-content:flex-start;min-height:auto;padding:0}.assignment-submit-card{grid-column:1/-1}.assignment-submit-page{gap:14px}.assignment-submit-page-header{align-items:center;display:flex}.assignment-back-button{border-radius:var(--radius-md);color:#0f172a;background:#fff;border:1px solid #94a3b82e;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #0f172a0d}.assignment-back-button svg{width:16px;height:16px}.assignment-submit-form{gap:18px}.assignment-submit-context{background:linear-gradient(#eff4ffe6,#fffffffa);border:1px solid #2563eb24;border-radius:18px;padding:16px 18px}.assignment-submit-context-copy{gap:6px;display:grid}.assignment-submit-context-copy strong{color:#0f172a;font-size:1rem}.assignment-submit-context-copy small{color:#475569;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.assignment-submit-context-due{color:#dc2626;font-weight:700}.assignment-selected-field{border-radius:var(--radius-lg);color:#0f172a;background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #94a3b829;width:100%;padding:14px 16px;font-weight:700}.assignment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.assignment-field{gap:8px;display:grid}.assignment-field>span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.assignment-field-span-2{grid-column:1/-1}.assignment-field textarea,.assignment-field select,.assignment-field input{width:100%}.assignment-upload-shell{border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(#fffffffa,#eff4fffa);border:1px dashed #2563eb47;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px 18px;display:grid}.assignment-upload-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--primary);background:#1d4ed81a;justify-content:center;align-items:center;display:inline-flex}.assignment-upload-icon svg,.assignment-upload-pill svg,.assignment-upload-clear svg,.assignment-link-label svg{stroke-width:2.1px;width:18px;height:18px}.assignment-upload-copy{gap:4px;display:grid}.assignment-upload-copy strong{font-size:.98rem}.assignment-upload-copy small,.assignment-helper{color:var(--muted);line-height:1.45}.assignment-file-input{display:none}.assignment-upload-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assignment-upload-pill{border-radius:var(--radius-md);color:#334155;background:#f8fafc;border:1px solid #94a3b82e;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:inline-flex}.assignment-upload-clear{border-radius:var(--radius-md);color:#dc2626;background:#fff5f5;border:1px solid #dc262624;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.assignment-link-row{border-radius:var(--radius-lg);background:#f8fafcf5;border:1px solid #94a3b824;padding:14px 16px}.assignment-link-label{color:#475569;align-items:center;gap:10px;font-weight:600;display:inline-flex}.assignment-link-label svg{color:var(--primary)}.assignment-submit-button{width:100%;min-height:56px}.teacher-scope-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-scope-tab{color:#334155;background:#ffffffe6;border:1px solid #94a3b82e;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 12px;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 6px 18px #0f172a08}.teacher-scope-tab svg{width:18px;height:18px}.teacher-scope-tab.active{color:#f8fafc;background:linear-gradient(135deg,#0f766e 0%,#155e75 100%);border-color:#0e74903d}.blue-book-page{gap:14px;display:grid}.blue-book-hero{color:#0f172a;background:radial-gradient(circle at 0 0,#14b8a624,#0000 42%),linear-gradient(#fffffffa,#f0fdfaeb);border:1px solid #94a3b824;border-radius:20px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 40px -30px #0f172a66}.blue-book-hero-copy{gap:6px;display:grid}.blue-book-kicker{color:#0f766e;letter-spacing:.08em;text-transform:uppercase;background:#0f766e14;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px 10px;font-size:.66rem;font-weight:800;display:inline-flex}.blue-book-hero h3{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:1.12rem;line-height:1.08}.blue-book-hero-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.blue-book-refresh-btn{color:#64748b;cursor:pointer;background:#fff9;border:1px solid #94a3b81f;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:inline-flex}.blue-book-refresh-btn svg{width:16px;height:16px}.blue-book-hero p{color:#64748b;margin:0;font-size:.9rem;line-height:1.4}.blue-book-stats-row{justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.blue-book-stat-item{align-items:center;gap:8px;font-size:.9rem;display:flex}.blue-book-stat-item strong{color:#0f172a;font-size:1.1rem;font-weight:800}.blue-book-stat-item span{color:#64748b;font-weight:500}.blue-book-stat-icon{justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.blue-book-stat-icon svg{stroke-width:2.5px;width:18px;height:18px}.is-pending .blue-book-stat-icon{color:#d97706}.is-approved .blue-book-stat-icon{color:#16a34a}.is-rejected .blue-book-stat-icon{color:#dc2626}@media (width<=480px){.blue-book-stats-row{gap:8px}.blue-book-stat-item{gap:4px;font-size:.82rem}.blue-book-stat-item strong{font-size:.95rem}}.blue-book-composer,.blue-book-feed{gap:10px;display:grid}.blue-book-action-row{border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:6px 4px 12px;display:flex}.blue-book-action-copy h4{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800}.blue-book-action-copy p{color:#64748b;margin:4px 0 0;font-size:.88rem}.blue-book-create-btn{gap:6px;width:auto;min-width:fit-content;min-height:32px;padding:6px 10px;font-size:.78rem}.blue-book-create-btn svg{width:14px;height:14px}.blue-book-feed-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.blue-book-feed-header h4{color:#0f172a;margin:0;font-size:.94rem}.blue-book-feed-header p{color:#64748b;margin:4px 0 0;font-size:.84rem;line-height:1.4}.blue-book-feed-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.blue-book-feed-toolbar-row{align-items:flex-end;gap:12px;margin:4px 0 12px;display:flex}.blue-book-feed-search{flex:1;gap:6px;display:grid}.blue-book-feed-filter-group{flex-direction:column;gap:6px;width:140px;display:flex}.blue-book-feed-filter{gap:6px;width:100%;display:grid}.blue-book-feed-count-container{justify-content:flex-end;margin-bottom:12px;padding:0 4px;display:flex}.blue-book-feed-count{color:#64748b;font-size:.8rem;font-weight:600}@media (width<=480px){.blue-book-feed-toolbar-row{flex-direction:row;align-items:flex-end;gap:8px}.blue-book-feed-filter-group{width:110px}}.blue-book-feed-search span,.blue-book-feed-filter span{color:#64748b;letter-spacing:.03em;text-transform:uppercase;font-size:.76rem;font-weight:700}.blue-book-feed-search input,.blue-book-feed-filter select{color:#0f172a;min-height:42px;font:inherit;background:#fffffff5;border:1px solid #94a3b838;border-radius:14px;padding:10px 12px}.blue-book-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:4px;display:flex}.blue-book-pagination span{color:#64748b;font-size:.84rem;font-weight:600}.blue-book-pagination-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.blue-book-form-shell{background:linear-gradient(#fffffffa,#f1f5f9f5);border:1px solid #94a3b824;border-radius:18px;gap:14px;padding:14px;display:grid;box-shadow:0 10px 24px #0f172a0d}.blue-book-modal{grid-template-rows:auto minmax(0,1fr);gap:0;width:min(100%,560px);max-height:calc(100vh - 32px);padding:18px;overflow:hidden}.blue-book-form-shell-modal{box-shadow:none;overscroll-behavior:contain;background:0 0;border:0;min-height:0;margin-top:12px;padding:0 4px 0 0;overflow-y:auto}.blue-book-modal-copy{gap:6px;min-width:0;display:grid}.blue-book-modal-kicker{color:#0f766e;letter-spacing:.06em;text-transform:uppercase;background:#0f766e14;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:5px 10px;font-size:.68rem;font-weight:800;display:inline-flex}.blue-book-modal-kicker svg{width:14px;height:14px}.blue-book-modal .profile-modal-header{align-items:flex-start;gap:14px}.blue-book-modal .profile-modal-header h3{color:#0f172a;margin:0;font-size:1.05rem;line-height:1.2}.blue-book-modal .profile-modal-header p{color:#64748b;max-width:44ch;margin:0;font-size:.85rem;line-height:1.5}.blue-book-modal .profile-modal-close{border-radius:12px;width:42px;min-width:42px;min-height:42px;padding:0}.blue-book-modal .profile-modal-close svg{width:18px;height:18px}.blue-book-input-shell{border-radius:14px;min-height:50px;padding-right:12px}.blue-book-input-shell input,.blue-book-input-shell select{color:#0f172a;background:0 0;border:0;min-width:0;padding:14px 0;font-weight:600}.blue-book-input-shell select{appearance:none}.blue-book-input-shell-error,.blue-book-textarea-shell-error{border-color:#dc262670;box-shadow:0 0 0 3px #dc262614}.blue-book-textarea-shell{background:#fff;border:1px solid #cbd5e1f2;border-radius:16px;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;padding:14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid}.blue-book-textarea-shell:focus-within{border-color:#607bb0b3;box-shadow:0 0 0 3px #9db2d72e}.blue-book-textarea-icon{margin-top:2px}.blue-book-textarea-shell textarea{color:#0f172a;resize:vertical;background:0 0;border:0;min-height:120px;padding:0;line-height:1.55}.blue-book-field-error{color:#dc2626;font-size:.76rem;font-weight:600;line-height:1.35}.blue-book-submit-button{color:#f8fafc;background:linear-gradient(135deg,#0f766e 0%,#155e75 100%);justify-content:flex-start;align-items:center;gap:14px;padding:14px 18px;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 24px #155e752e}.blue-book-submit-button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:32%;animation:2.4s ease-in-out infinite blue-book-submit-shine;position:absolute;inset:0 auto 0 -35%;transform:skew(-18deg)}.blue-book-submit-button:hover{filter:saturate(1.06);transform:translateY(-1px);box-shadow:0 16px 28px #155e753d}.blue-book-submit-button:active{transform:translateY(0)}.blue-book-submit-button:disabled:after{animation:none}.blue-book-submit-icon{background:#ffffff29;border-radius:14px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.blue-book-submit-icon svg{width:20px;height:20px}.blue-book-submit-icon.is-loading{background:#ffffff38}.blue-book-submit-spinner{animation:.9s linear infinite blue-book-submit-spin}.blue-book-submit-copy{text-align:left;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;min-width:0;display:flex}.blue-book-submit-copy strong{color:inherit;font-size:.98rem;font-weight:800;line-height:1.2}.blue-book-submit-copy small{color:#f8fafcd1;font-size:.75rem;line-height:1.35}.blue-book-submit-button:disabled{cursor:wait;filter:saturate(.92)}@keyframes blue-book-submit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blue-book-submit-shine{0%,to{opacity:0;left:-38%}18%{opacity:0}44%{opacity:1;left:112%}45%{opacity:0}}.blue-book-attachment-actions{align-items:center}.blue-book-preview-button,.blue-book-edit-button{color:#0f766e;background:#0f766e14;border:1px solid #0f766e29;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-size:.82rem;font-weight:800;transition:transform .18s,background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex}.blue-book-preview-button svg,.blue-book-edit-button svg{width:16px;height:16px}.blue-book-preview-button:hover,.blue-book-edit-button:hover{background:#0f766e1f;border-color:#0f766e3d;transform:translateY(-1px);box-shadow:0 10px 18px #0f766e1a}.blue-book-feed-count{color:#334155;background:#0f172a0f;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.blue-book-entry-list{gap:10px;display:grid}.blue-book-entry-card{background:#fffffffa;border:1px solid #94a3b829;border-radius:10px;gap:8px;padding:10px;display:grid;box-shadow:0 2px 6px #0f172a05}.blue-book-entry-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.blue-book-entry-title{gap:10px;min-width:0;display:flex}.blue-book-entry-title strong{color:#0f172a;font-size:.85rem;display:block}.blue-book-entry-title small{color:#64748b;font-size:.7rem}.blue-book-entry-icon{color:#0f766e;background:#0f766e14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.blue-book-entry-icon svg{width:14px;height:14px}.blue-book-entry-meta{flex-wrap:wrap;gap:6px;display:flex}.blue-book-entry-meta span{color:#475569;background:#e2e8f0a6;border-radius:6px;padding:3px 6px;font-size:.65rem;font-weight:600}.blue-book-entry-copy{color:#334155;margin:0;font-size:.8rem;line-height:1.4}.blue-book-status{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:4px 8px;font-size:.66rem;font-weight:800;display:inline-flex}.blue-book-status-pending{color:#b45309;background:#f59e0b24}.blue-book-status-approved{color:#047857;background:#10b98124}.blue-book-status-rejected{color:#b91c1c;background:#ef444424}.blue-book-review-note{background:#0f172a0a;border:1px dashed #94a3b83d;border-radius:8px;gap:3px;padding:8px 10px;display:grid}.blue-book-review-note strong{color:#0f172a;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.blue-book-review-note p{color:#475569;margin:0;font-size:.78rem;line-height:1.4}.blue-book-edit-button{background:0 0;border:1px solid #94a3b833;border-radius:6px;width:fit-content;min-height:28px;margin-top:0;padding:4px 10px;font-size:.75rem}.blue-book-preview-modal{grid-template-rows:auto minmax(0,1fr);width:min(100%,760px);max-height:calc(100vh - 32px);overflow:hidden}.blue-book-preview-surface{background:linear-gradient(#f8fafcf0,#fffffffa);border:1px solid #94a3b829;border-radius:18px;min-height:0;overflow:auto}.blue-book-preview-image,.blue-book-preview-frame{width:100%;display:block}.blue-book-preview-image{object-fit:contain;background:#fff;max-height:calc(100vh - 220px)}.blue-book-preview-frame{border:0;min-height:calc(100vh - 220px)}.blue-book-empty{color:#64748b;text-align:center;background:#f8fafcd1;border:1px dashed #94a3b833;border-radius:16px;place-items:center;gap:8px;padding:22px 16px;font-size:.86rem;display:grid}.blue-book-empty svg{width:22px;height:22px}.blue-book-empty-soft{background:linear-gradient(#fffffff5,#f1f5f9e6)}@media (width>=960px){.blue-book-card .card-body{gap:22px}.blue-book-page{flex-direction:column;gap:22px;display:flex}.blue-book-hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);align-items:center;gap:22px;padding:20px;display:grid}.blue-book-composer,.blue-book-feed{gap:14px}.blue-book-feed-toolbar-row{margin-bottom:20px}.blue-book-entry-list{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:start;gap:16px;display:grid}.blue-book-entry-card{padding:16px}}@keyframes section-spin{to{transform:rotate(360deg)}}@media (width>=480px){.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-results-grid{grid-template-columns:minmax(0,1fr)}.school-profile-card{grid-template-columns:auto minmax(0,1fr)}}@media (width<=640px){.account-card,.student-spotlight{align-items:start}.account-title{overflow-wrap:anywhere;font-size:.96rem}.account-meta{overflow-wrap:anywhere;font-size:.82rem}.list-row{grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:8px}.list-value{text-align:right;width:auto;padding-left:0}.section-stat-grid{grid-template-columns:1fr}.promo-card{flex-direction:column;align-items:flex-start}.promo-card h2{overflow-wrap:anywhere;font-size:1.35rem;line-height:1.08}.promo-card p,.promo-school{overflow-wrap:anywhere;font-size:.84rem}.section-chip{padding:10px 12px;font-size:.84rem}.wallet-history-summary,.wallet-history-pagination,.wallet-history-toolbar{flex-direction:column;align-items:stretch}.wallet-history-meta{justify-content:flex-start}.wallet-history-sort{min-width:0}.wallet-pagination-button{width:100%}.assignment-form-grid{grid-template-columns:1fr}.assignment-card-header,.assignment-attachment-card{flex-direction:column;align-items:flex-start}.transport-request-actions{grid-template-columns:1fr}.assignment-title-block h3{overflow-wrap:anywhere;font-size:.98rem;line-height:1.28}.assignment-title-block small,.assignment-metadata-item dt,.assignment-subheading{font-size:.7rem}.assignment-status-badge{white-space:normal;padding:7px 10px;font-size:.74rem}.assignment-inline-meta{gap:4px 10px}.assignment-card-action{align-self:stretch;width:100%}.teacher-scope-tabs{grid-template-columns:1fr}.blue-book-composer-header,.blue-book-feed-header,.blue-book-entry-top{flex-direction:column;align-items:stretch}.blue-book-feed-count,.blue-book-status{width:fit-content}.blue-book-modal{padding:18px}.assignment-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-metadata-item dd,.assignment-detail-row p,.assignment-attachment-copy strong,.assignment-attachment-copy small,.section-link{font-size:.88rem}.section-link{overflow-wrap:anywhere}.assignment-inline-meta span+span:before{margin-right:10px}.profile-modal-overlay{padding:12px}.profile-modal{scrollbar-width:none;-ms-overflow-style:none;border-radius:20px;max-height:90vh;padding:18px;overflow-y:auto}.profile-modal::-webkit-scrollbar{display:none}.profile-password-trigger{width:100%}}.teacher-dashboard{--teacher-sky-border:#94a3b82e;--teacher-mint-border:#94a3b82e;--teacher-amber-border:#94a3b82e;--teacher-rose-border:#94a3b82e}.teacher-home-hero{justify-content:space-between;align-items:center;gap:14px;padding:2px 2px 4px;display:flex}.teacher-home-date{color:#64748b;font-size:.9rem;font-weight:700}.teacher-home-hero h2{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.96}.teacher-home-meta{color:#64748b;letter-spacing:-.01em;margin-top:4px;font-size:.95rem;font-weight:600}.teacher-home-actions{align-items:center;gap:10px;display:flex}.teacher-home-profile{border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:0;width:58px;height:58px;padding:0}.teacher-home-profile-avatar{border-radius:var(--radius-lg);color:#fff;width:58px;height:58px;box-shadow:var(--shadow-card);background:linear-gradient(135deg,#0f172a 0%,#334155 100%);justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.teacher-home-profile-image{object-fit:cover;width:100%;height:100%;display:block}.teacher-overview-shell,.teacher-overview-copy,.teacher-overview-meta,.teacher-hero-actions,.teacher-subject-cloud,.teacher-metric-grid,.teacher-action-grid,.teacher-feed-grid,.teacher-signal-grid,.teacher-empty-state{gap:12px;display:grid}.teacher-overview-copy{gap:10px}.teacher-kicker{letter-spacing:.14em;text-transform:uppercase;color:#2563eb;font-size:.72rem;font-weight:800}.teacher-overview-shell{border-bottom:1px solid #94a3b829;gap:16px;padding-bottom:8px}.teacher-overview-copy h3{color:#0f172a;margin:0;font-size:1.5rem;line-height:1.08}.teacher-overview-copy p{color:#475569;max-width:52ch;margin:0;line-height:1.58}.teacher-stats-row{flex-wrap:wrap;align-items:center;gap:20px;margin:4px 0 12px;display:flex}.teacher-stat-item{background:linear-gradient(#f8fafcf5,#fffffffa);border:1px solid #94a3b82e;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex;box-shadow:0 10px 24px #0f172a0d}.teacher-stat-icon{color:#2563eb;background:#dbeafeeb;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.teacher-stat-icon svg{stroke-width:2.5px;width:18px;height:18px}.teacher-hero-pill-icon svg,.teacher-inline-action-copy svg{width:16px;height:16px}.teacher-stat-item strong{color:#0f172a;font-size:1.15rem;font-weight:800}.teacher-stat-item>span:last-child{color:#64748b;font-size:.88rem;font-weight:600}@media (width<=480px){.teacher-stats-row{gap:12px}.teacher-stat-item{flex:calc(50% - 6px);gap:8px;padding:10px}.teacher-stat-item strong{font-size:1rem}.teacher-stat-item>span:last-child{font-size:.8rem}}.teacher-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-inline-action,.teacher-card-cta{color:#0f172a;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:0;font-weight:700;display:inline-flex}.teacher-inline-action-copy{align-items:center;gap:8px;display:inline-flex}.teacher-inline-action-card{color:#0f172a;background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #94a3b833;padding:14px 16px;box-shadow:0 8px 20px #0f172a0d}.teacher-inline-action-assignment{background:linear-gradient(#ecfdf5e6,#fffffff5);border-color:#10b9812e}.teacher-inline-action-bluebook{background:linear-gradient(#fff7edeb,#fffffff5);border-color:#f973162e}.teacher-inline-action-routine{background:linear-gradient(#f3f4f6f0,#fffffff5);border-color:#64748b33}.teacher-inline-action-marks{background:linear-gradient(#f5f3fff0,#fffffff5);border-color:#8b5cf62e}.teacher-inline-action-online{background:linear-gradient(#e0f2fef0,#fffffff5);border-color:#0ea5e92e}.online-session-card{background:linear-gradient(90deg,#e0f2fe4d,#0000)!important;border-left:4px solid #0ea5e9!important;border-radius:0!important;box-shadow:0 4px 12px #0f172a08!important}.online-session-card:hover{background:linear-gradient(90deg,#e0f2fe80,#0000)!important}.schedule-trigger-button{color:#fff!important;text-transform:uppercase!important;letter-spacing:.05em!important;background:#000!important;border-radius:0!important;font-size:.82rem!important;box-shadow:0 4px 12px #00000026!important}.schedule-trigger-button:hover{background:#1a1a1a!important;box-shadow:0 6px 16px #0003!important}.teacher-inline-action-card:hover{border-color:#2563eb33;box-shadow:0 12px 24px #0f172a14}.teacher-inline-action-copy-stack{align-items:center;gap:10px}.teacher-inline-action-copy-stack>span{flex-direction:column;gap:2px;display:flex}.teacher-inline-action-copy-stack strong{color:#0f172a;font-size:.92rem;line-height:1.1}.teacher-inline-action-copy-stack small{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700}.teacher-inline-action-featured{color:#1e3a8a;background:linear-gradient(#2563eb1f,#2563eb0a);border:1px solid #2563eb33;box-shadow:0 10px 24px #2563eb1a}.teacher-inline-action-featured:hover{border-color:#2563eb57;box-shadow:0 14px 28px #2563eb24}.teacher-inline-action-copy-featured small{text-transform:uppercase;letter-spacing:.04em;color:#2563eb;font-size:.72rem;font-weight:700}.teacher-subject-cloud{grid-template-columns:repeat(auto-fit,minmax(120px,max-content));align-items:start}.teacher-subject-pill{color:#334155;background:#0f172a0a;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.teacher-subject-pill-muted{color:#64748b;background:#f8fafcf5}.teacher-metric-grid,.teacher-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-metric-card,.teacher-action-card,.teacher-feed-card,.teacher-signal-card,.teacher-empty-state{border:1px solid var(--teacher-sky-border);box-shadow:none;background:#ffffffbd;border-radius:18px}.teacher-tone-sky{border-color:var(--teacher-sky-border)}.teacher-tone-mint{border-color:var(--teacher-mint-border)}.teacher-tone-amber{border-color:var(--teacher-amber-border)}.teacher-tone-rose{border-color:var(--teacher-rose-border)}.teacher-metric-card,.teacher-action-card,.teacher-signal-card{text-align:left}.notice-audience-section{flex-direction:column;gap:8px;display:flex}.notice-audience-toggle{background:#f1f5f9eb;border:1px solid #94a3b833;border-radius:14px;gap:4px;padding:4px;display:flex}.audience-toggle-item{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:11px;flex:1;padding:11px 8px;font-size:.86rem;font-weight:700;transition:all .2s}.audience-toggle-item.active{color:#0f172a;background:#fff;box-shadow:0 2px 8px #0f172a1a}.notice-student-picker{flex-direction:column;gap:12px;display:flex}.student-selected-bar{background:#eff6ffe6;border:1px solid #2563eb33;border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.student-selected-bar-label{align-items:center;gap:8px;display:flex}.student-count-badge{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-flex}.student-chips-row{flex-wrap:wrap;gap:6px;display:flex}.student-chip{color:#1e40af;background:#fff;border:1px solid #2563eb40;border-radius:999px;align-items:center;gap:5px;max-width:140px;padding:4px 8px 4px 4px;font-size:.8rem;font-weight:600;display:inline-flex}.student-chip-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;font-weight:800;display:inline-flex}.student-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-chip-remove{color:#60a5fa;cursor:pointer;background:0 0;border:none;flex:none;align-items:center;padding:0 2px;font-size:1.1rem;line-height:1;transition:color .15s;display:inline-flex}.student-chip-remove:hover{color:#ef4444}.student-filter-row{align-items:center;gap:8px;display:flex}.student-filter-select{flex:1}.student-filter-select select{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #94a3b840;border-radius:10px;width:100%;padding:8px 12px;font-size:.82rem;font-weight:600;transition:all .2s}.student-filter-select select:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.student-search-wrapper{align-items:center;display:flex;position:relative}.student-search-icon{color:#94a3b8;pointer-events:none;z-index:1;align-items:center;display:flex;position:absolute;left:13px}.student-search-input{color:#0f172a;appearance:none;background:#f8fafc;border:1px solid #94a3b84d;border-radius:12px;outline:none;width:100%;padding:11px 40px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.student-search-input:focus{background:#fff;border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb14}.student-search-input::-webkit-search-decoration{display:none}.student-search-input::-webkit-search-cancel-button{display:none}.student-search-clear{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:1rem;line-height:1;transition:background .15s;display:flex;position:absolute;right:12px}.student-search-clear:hover{background:#cbd5e1}.student-picker-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#fff;border:1px solid #94a3b838;border-radius:14px;flex-direction:column;gap:2px;max-height:280px;padding:6px;display:flex;overflow-y:auto}.student-picker-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.student-picker-row:hover{background:#f1f5f9}.student-picker-row.selected{background:#eff6ffd9;border-color:#2563eb33}.student-row-avatar{color:#475569;letter-spacing:.02em;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:.78rem;font-weight:800;transition:background .2s,color .2s;display:inline-flex}.student-row-avatar.checked{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.student-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-row-info strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.student-row-info small{color:#64748b;font-size:.74rem;font-weight:600}.student-row-check{border:2px solid #cbd5e1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:inline-flex}.student-row-check.active{color:#fff;background:#2563eb;border-color:#2563eb}.student-picker-empty{text-align:center;color:#64748b;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;font-size:.9rem;display:flex}.student-picker-empty-icon{font-size:2rem;line-height:1}.student-picker-empty strong{color:#0f172a}.student-picker-meta{color:#94a3b8;text-align:center;padding:2px 0;font-size:.78rem}.text-button{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px 0;font-size:.8rem;font-weight:700;transition:color .15s}.text-button:hover{color:#1d4ed8;text-decoration:underline}.teacher-metric-card,.teacher-action-card,.teacher-signal-card,.teacher-inline-action,.teacher-card-cta{transition:transform .18s,box-shadow .18s,border-color .18s}.teacher-metric-card:hover,.teacher-action-card:hover,.teacher-signal-card:hover,.teacher-inline-action:hover,.teacher-card-cta:hover{transform:translateY(-1px)}.teacher-metric-card:focus-visible,.teacher-action-card:focus-visible,.teacher-signal-card:focus-visible,.teacher-inline-action:focus-visible,.teacher-card-cta:focus-visible{outline-offset:2px;outline:2px solid #1d4ed857}.teacher-metric-card{align-content:start;gap:12px;padding:18px 16px;display:grid}.teacher-metric-head{align-items:center;gap:10px;min-width:0;display:flex}.teacher-metric-icon,.teacher-action-icon{color:#1e3a8a;background:#2563eb14;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.teacher-metric-icon svg,.teacher-action-icon svg,.teacher-card-link svg,.teacher-inline-action svg,.teacher-card-cta svg{width:18px;height:18px}.teacher-metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}.teacher-metric-card strong{color:#0f172a;font-size:2rem;line-height:1}.teacher-metric-card p{color:#475569;margin:0;font-size:.82rem;line-height:1.55}.teacher-card-link{color:#1e3a8a;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:inline-flex}.teacher-action-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.teacher-action-copy{gap:4px;min-width:0;display:grid}.teacher-action-copy strong{color:#0f172a;font-size:.96rem}.teacher-action-copy small{color:#526071;line-height:1.4}.teacher-action-meta{color:#1e3a8a;background:#ffffffc7;border-radius:999px;grid-column:1/-1;width:fit-content;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.teacher-feed-card,.teacher-signal-card{gap:10px;padding:14px;display:grid}.teacher-feed-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacher-feed-head span{color:#0f172a;align-items:center;gap:8px;min-width:0;font-weight:700;display:inline-flex}.teacher-feed-primary,.teacher-feed-secondary,.teacher-empty-state p{margin:0}.teacher-feed-primary{color:#334155;font-weight:600}.teacher-feed-secondary{color:#64748b;font-size:.84rem;line-height:1.45}.teacher-inline-badge{color:#1e3a8a;white-space:nowrap;background:#ffffffd6;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.teacher-empty-state{padding:18px 16px}.teacher-empty-state p{color:#475569;font-weight:600}.teacher-assignment-empty-state{text-align:center;background:linear-gradient(#f8fafcf0,#fffffffa);border:1px solid #94a3b82e;justify-items:center;padding:22px 18px}.teacher-assignment-empty-icon{color:#2563eb;background:#dbeafeeb;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.teacher-assignment-empty-icon svg{stroke-width:2.3px;width:22px;height:22px}.teacher-assignment-empty-state strong{color:#0f172a;font-size:.98rem;font-weight:800}.teacher-assignment-empty-state p{max-width:28ch;margin:0}.teacher-card-cta{background:#0f172ad6;border-color:#0f172ad6;width:fit-content}.teacher-section-flat{gap:14px;display:grid}.teacher-section-flat-compact{gap:6px;margin-top:-8px}.teacher-section-flat-compact>.muted{margin:0;line-height:1.45}.teacher-section-flat-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-section-flat-header h3{color:#0f172a;margin:0;font-size:1.05rem}.teacher-class-list{gap:12px;display:grid}.teacher-class-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.teacher-class-header,.teacher-class-title{gap:4px;display:grid}.teacher-class-name{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.teacher-class-name svg{flex:none;width:16px;height:16px}.teacher-class-title small{color:#64748b;font-size:.82rem;font-weight:700}.teacher-class-subjects{flex-wrap:wrap;gap:8px;display:flex}.teacher-class-subject-tag{color:#334155;background:#0f172a0f;border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-class-empty{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.teacher-health-card,.teacher-health-compact-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.teacher-health-compact-card{text-align:left;cursor:pointer;gap:12px;width:100%;transition:transform .16s,box-shadow .16s,border-color .16s}.teacher-health-compact-card:hover{border-color:#2563eb33;transform:translateY(-1px);box-shadow:0 16px 32px #0f172a14}.teacher-health-compact-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-health-open-hint{color:#2563eb;text-transform:uppercase;letter-spacing:.06em;flex:none;font-size:.75rem;font-weight:800}.teacher-health-compact-line{color:#475569;margin:0;font-size:.84rem;font-weight:600;line-height:1.4}.teacher-health-section{gap:14px;display:grid}.teacher-health-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-health-pagination-status{color:#64748b;margin:0;font-size:.84rem;font-weight:700}.teacher-health-pagination-actions{align-items:center;gap:8px;display:flex}.teacher-health-pagination-button{min-width:96px}.teacher-health-toolbar{grid-template-columns:minmax(0,1fr) 200px;gap:10px;display:grid}.teacher-health-search,.teacher-health-sort{color:#0f172a;background:#f8fafcf2;border:1px solid #94a3b847;border-radius:14px;outline:none;width:100%;min-height:44px;padding:0 14px;font-size:.92rem;font-weight:600;box-shadow:inset 0 1px #fff9}.teacher-health-search::placeholder{color:#94a3b8}.teacher-health-search:focus,.teacher-health-sort:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #3b82f61f}.teacher-health-header,.teacher-health-title{gap:4px;display:grid}.teacher-health-student{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.teacher-health-student svg{flex:none;width:16px;height:16px}.teacher-health-title small{color:#64748b;font-size:.82rem;font-weight:700}.teacher-health-meta-grid,.teacher-health-insight-grid{gap:10px;display:grid}.teacher-health-meta-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.teacher-health-detail-card,.teacher-health-insight-card{background:#ffffffc7;border:1px solid #94a3b82e;border-radius:16px;gap:8px;padding:12px;display:grid}.teacher-health-detail-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-health-detail-label svg{flex:none;width:14px;height:14px}.teacher-health-detail-value{color:#0f172a;font-size:.92rem;font-weight:800;line-height:1.35}.teacher-health-tags{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:800}.teacher-health-tag{border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-health-tag-allergy{color:#b45309;background:#f59e0b24}.teacher-health-tag-condition{color:#7e22ce;background:#a855f71f}.teacher-health-summary{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-summary-chip{color:#1d4ed8;background:#2563eb14;border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.teacher-health-modal{width:min(680px,100vw - 24px);max-height:min(88vh,760px);overflow:hidden}.teacher-health-modal-stack{gap:16px;max-height:calc(min(88vh,760px) - 96px);padding-right:4px;display:grid;overflow-y:auto}.teacher-health-tabs{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-tab{color:#475569;background:#f8fafcf2;border:1px solid #94a3b83d;border-radius:999px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:700}.teacher-health-tab.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb33}.teacher-health-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-health-modal .teacher-health-detail-card,.teacher-health-modal .teacher-health-insight-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.teacher-health-modal .teacher-health-modal-grid{border-top:1px solid #94a3b82e;border-bottom:1px solid #94a3b82e;gap:0}.teacher-health-modal .teacher-health-detail-card{border-bottom:1px solid #94a3b824;gap:4px;padding:12px 0}.teacher-health-modal .teacher-health-detail-card:nth-last-child(-n+2){border-bottom:0}.teacher-health-modal .teacher-health-insight-grid{gap:14px}.teacher-health-modal .teacher-health-insight-card{gap:10px;padding-top:2px}.teacher-health-modal .teacher-health-tags{gap:6px}.teacher-health-list{gap:12px;display:grid}.teacher-health-list-item{border-bottom:1px solid #94a3b824;gap:6px;padding:14px 0;display:grid}.teacher-health-list-item:last-child{border-bottom:0}.teacher-health-list-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacher-health-list-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:800}.teacher-health-list-meta{color:#64748b;margin:0;font-size:.78rem;font-weight:600}.teacher-health-list-copy{color:#334155;margin:0;font-size:.88rem;line-height:1.55}.teacher-health-empty-state{text-align:center;background:#f8fafcb8;border:1px dashed #94a3b847;border-radius:18px;justify-items:center;gap:10px;padding:28px 18px;display:grid}.teacher-health-empty-state svg{color:#94a3b8;width:28px;height:28px}.teacher-health-empty-state p{color:#64748b;margin:0;font-size:.9rem;font-weight:600}.exam-schedule-list,.routine-schedule-list{gap:12px;display:grid}.routine-schedule-card,.exam-schedule-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.routine-schedule-header,.exam-schedule-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.routine-schedule-title,.exam-schedule-title{gap:4px;min-width:0;display:grid}.routine-schedule-subject,.exam-schedule-subject{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.routine-schedule-subject svg,.routine-schedule-time svg,.exam-schedule-subject svg,.exam-schedule-date svg{flex:none;width:16px;height:16px}.routine-schedule-title small,.exam-schedule-title small{color:#64748b;font-size:.82rem;font-weight:700}.routine-schedule-time,.exam-schedule-date{color:#1d4ed8;white-space:nowrap;background:#1d4ed814;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.routine-schedule-time{color:#0284c7;background:#0ea5e91f}.routine-schedule-room{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.entity-chip-exam-class{color:#4f46e5;background:#6366f11f;border-color:#6366f12e}@media (width<=560px){.teacher-overview-meta,.teacher-hero-actions,.teacher-metric-grid,.teacher-action-grid{grid-template-columns:minmax(0,1fr)}.teacher-feed-head{flex-direction:column}.teacher-inline-badge{white-space:normal}.teacher-card-cta{width:100%}.teacher-health-toolbar{grid-template-columns:1fr}.teacher-health-pagination{flex-direction:column;align-items:stretch}.teacher-health-pagination-actions{width:100%}.teacher-health-pagination-button{flex:1 1 0;min-width:0}.teacher-health-compact-header{flex-direction:column}.teacher-health-open-hint{font-size:.72rem}.routine-schedule-header,.exam-schedule-header{flex-direction:column}.routine-schedule-time,.exam-schedule-date{white-space:normal}.teacher-section-flat-header{align-items:flex-start}.teacher-health-meta-grid,.teacher-health-insight-grid,.teacher-health-tags,.teacher-health-summary{gap:6px}.teacher-health-detail-card,.teacher-health-insight-card{border-radius:14px;padding:11px}.teacher-health-modal-grid{grid-template-columns:1fr}.teacher-health-list-row{flex-direction:column}.teacher-health-modal .teacher-health-detail-card:nth-last-child(-n+2){border-bottom:1px solid #94a3b824}.teacher-health-modal .teacher-health-detail-card:last-child{border-bottom:0}}.exam-results-list{gap:12px;display:grid}.exam-result-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;gap:12px;padding:16px;display:grid;box-shadow:0 4px 16px #0f172a0a}.exam-result-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exam-result-subject{gap:2px;min-width:0;display:grid}.exam-result-subject-name{color:#0f172a;font-size:1rem;font-weight:800;line-height:1.3}.exam-result-exam-name{color:#64748b;font-size:.78rem;font-weight:600}.exam-result-grade{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#1d4ed8 0%,#7c3aed 100%);border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:.78rem;font-weight:800}.exam-result-body{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exam-result-score{align-items:baseline;gap:4px;display:flex}.exam-result-obtained{color:#0f172a;letter-spacing:-.03em;font-size:1.8rem;font-weight:900;line-height:1}.exam-result-separator{color:#cbd5e1;font-size:1.1rem;font-weight:600}.exam-result-full{color:#64748b;font-size:1rem;font-weight:700}.exam-result-pct{color:#1d4ed8;font-size:1.1rem;font-weight:800}.exam-result-bar-track{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.exam-result-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8 0%,#7c3aed 100%);min-width:4px;height:100%;transition:width .6s}.exam-result-footer{color:#64748b;border-top:1px solid #94a3b824;align-items:center;gap:6px;padding-top:4px;font-size:.82rem;font-weight:600;display:flex}.exam-result-footer svg{color:#f59e0b;stroke-width:2.2px;flex-shrink:0;width:14px;height:14px}.exam-result-footer strong{color:#0f172a;font-weight:800}.health-profile-identity{border-bottom:1px solid #94a3b824;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;display:flex}.health-profile-avatar{border-radius:var(--radius-lg);color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:800;display:inline-flex}.health-profile-identity-copy{gap:4px;min-width:0;display:grid}.health-profile-name{color:#0f172a;font-size:1.05rem;font-weight:800;display:block}.health-profile-class{color:#64748b;align-items:center;gap:5px;font-size:.84rem;font-weight:600;display:inline-flex}.health-profile-class svg{stroke-width:2.2px;flex-shrink:0;width:13px;height:13px}.health-profile-minimal{gap:16px;display:grid}.health-profile-minimal-header,.health-profile-minimal-copy{gap:6px;display:grid}.health-profile-minimal-kicker{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.health-profile-minimal-copy h3{color:#0f172a;letter-spacing:-.03em;margin:0;font-size:1.12rem;font-weight:900}.health-profile-minimal-copy p{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.health-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.health-metric{text-align:left;box-shadow:none;background:0 0;border-bottom:1px solid #94a3b824;border-radius:0;grid-template-columns:28px minmax(0,1fr);place-items:start;gap:0 12px;padding:0 0 12px;display:grid}.health-metric-icon{border-radius:10px;grid-row:span 2;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;display:inline-flex}.health-metric-icon svg{stroke-width:2.1px;width:15px;height:15px}.health-metric.blood .health-metric-icon{color:#dc2626;background:#ef44441f}.health-metric.bmi .health-metric-icon{color:#059669;background:#10b9811f}.health-metric.allergy .health-metric-icon{color:#d97706;background:#f59e0b24}.health-metric-label{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;font-size:.7rem;font-weight:700}.health-metric-value{color:#0f172a;overflow-wrap:anywhere;font-size:.92rem;font-weight:700;line-height:1.3}.health-metric.emergency .health-metric-icon{color:#4f46e5;background:#6366f11f}.health-profile-minimal-details{border-top:1px solid #94a3b824;gap:12px;padding-top:8px;display:grid}.health-profile-minimal-row{border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:flex-start;gap:18px;padding:2px 0 12px;display:flex}.health-profile-minimal-row-label{align-items:center;gap:10px;min-width:0;display:inline-flex}.health-profile-minimal-row-icon{color:#2563eb;background:#2563eb14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.health-profile-minimal-row-icon svg{stroke-width:2.1px;width:14px;height:14px}.health-profile-minimal-row span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.health-profile-minimal-row strong{color:#0f172a;text-align:right;overflow-wrap:anywhere;max-width:58%;font-size:.9rem;font-weight:700;line-height:1.5}.health-profile-minimal-row:last-child,.health-metric:last-child{border-bottom:0;padding-bottom:0}@media (width<=640px){.health-metrics-grid{grid-template-columns:1fr;gap:12px}}.assignment-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 4px 16px;display:flex}.assignment-toolbar-left{flex-direction:column;gap:6px;min-width:0;display:flex}.assignment-toolbar-title{align-items:center;gap:8px;display:flex}.assignment-toolbar-title h2{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:800}.assignment-toolbar-title svg{color:#2563eb;flex-shrink:0;width:18px;height:18px}.assignment-toolbar-stats{align-items:center;gap:12px;display:flex}.assignment-stat-chip{color:#64748b;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.assignment-stat-chip strong{color:#0f172a;font-size:.9rem;font-weight:800}.assignment-stat-chip-sub strong{color:#2563eb}.assignment-stat-chip-pending strong{color:#d97706}.assignment-create-btn{color:#fff;border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:0;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:.86rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 12px #0f172a33}.assignment-create-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a40}.assignment-create-btn:active{transform:translateY(0)}.assignment-create-btn svg{flex-shrink:0}.assignment-submissions-modal{flex-direction:column;width:min(95vw,800px);max-height:90vh;display:flex}.submissions-list-container{background:var(--surface-muted);flex:1;padding:20px;overflow-y:auto}.submissions-loading,.submissions-error,.submissions-empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.submissions-loading svg{width:40px;height:40px;color:var(--primary)}.submissions-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.submission-student-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;flex-direction:column;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000005}.submission-student-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.submission-student-card .submission-item-header{background:#fff;border-bottom:1px solid #f1f5f9;padding:20px}.submission-student-info strong{color:#0f172a;font-size:1.1rem;font-weight:800}.submission-attempts-stack{flex-direction:column;display:flex}.submission-attempt-item{flex-direction:column;gap:16px;padding:20px;display:flex}.submission-attempt-item.is-history{background:#f8fafc;border-top:1px solid #f1f5f9}.submission-attempt-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.submission-time-row{color:#64748b;align-items:center;gap:6px;font-size:.8rem;display:flex}.submission-time-row svg{color:#94a3b8;width:14px;height:14px}.submission-history-toggle{color:#2563eb;cursor:pointer;text-align:center;background:#f8fafc;border:0;border-top:1px solid #f1f5f9;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.submission-history-toggle:hover{color:#1d4ed8;background:#f1f5f9}.history-count-badge{color:#d97706!important;background:#fffbeb!important}.submission-item-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;flex-direction:column;gap:14px;padding:16px;transition:all .2s;display:flex}.submission-item-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.submission-item-header{justify-content:space-between;align-items:flex-start;display:flex}.submission-student-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.submission-student-context-row{flex-wrap:wrap;gap:8px;display:flex}.submission-context-chip{color:var(--muted);background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.submission-context-chip svg{opacity:.7;width:12px;height:12px}.submission-time-row{color:var(--muted);align-items:center;gap:8px;margin:4px 0 8px;font-size:.82rem;display:flex}.submission-time-row svg{width:14px;height:14px;color:var(--primary)}.submission-time-row strong{color:var(--primary-strong)}.submission-student-info strong{color:var(--primary-strong);font-size:1.05rem}.submission-student-info small{color:var(--muted);font-size:.75rem}.submission-status-pill{text-transform:uppercase;border-radius:99px;padding:4px 10px;font-size:.7rem;font-weight:700}.submission-status-pill.status-pending{color:#92400e;background:#fef3c7}.submission-status-pill.status-graded{color:#166534;background:#dcfce7}.submission-student-remarks{background:var(--surface-subtle);border-radius:var(--radius-md);color:var(--primary-strong);border-left:3px solid var(--primary);padding:10px 12px;font-size:.9rem;line-height:1.5}.submission-attachments{flex-direction:column;gap:8px;display:flex}.submission-attachment-actions{align-items:center;gap:8px;display:flex}.submission-attachment-link{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary);text-align:left;background:#fff;flex:1;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.submission-attachment-link:hover{border-color:var(--primary);background:var(--surface-subtle)}.submission-attachment-preview-icon{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.submission-attachment-preview-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.submission-attachment-preview-icon svg{width:16px;height:16px}.submission-no-attachments{color:var(--muted);font-size:.85rem;font-style:italic}.submission-grade-info{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.grade-score{color:#b45309;align-items:center;gap:6px;font-size:.9rem;display:flex}.grade-score svg{fill:#f59e0b;color:#f59e0b;width:16px;height:16px}.grade-remarks{color:#475569;border-radius:var(--radius-sm);border-left:3px solid var(--border);background:#f8fafc;padding:8px;font-size:.85rem}.grade-edit-button{color:var(--muted);background:0 0;border:none;align-self:flex-end;padding:0;font-size:.8rem;font-weight:600;text-decoration:underline}.grade-trigger-button{justify-content:center;width:100%;margin-top:auto;padding:8px;font-size:.85rem}.submissions-view-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding:0 20px 20px}.submissions-view-header p{color:var(--muted);margin:8px 0 0;font-size:.9rem}.submissions-list-container-inline{background:0 0;padding:0}.grading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f172a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.grading-card{border-radius:var(--radius-xl);background:#fff;width:100%;max-width:400px;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) modalIn;box-shadow:0 20px 50px #0003}@keyframes modalIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.grading-card h4{color:var(--primary-strong);margin:0 0 20px;font-size:1.25rem}.grading-form{flex-direction:column;gap:16px;display:flex}.grading-form label{flex-direction:column;gap:6px;display:flex}.grading-form span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.grading-form input,.grading-form textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px;font-size:1rem;transition:border-color .2s}.grading-form input:focus,.grading-form textarea:focus{border-color:var(--primary);outline:none}.grading-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;display:grid}.grading-actions button{justify-content:center}@media (width<=640px){.submissions-view-header{padding:0 16px 16px}.submissions-grid{grid-template-columns:1fr}}.attendance-page{padding-bottom:80px}.attendance-page--minimal .attendance-panel{box-shadow:none;border:1px solid var(--border-strong);background:#fffffffa;border-radius:0}.attendance-page--minimal .attendance-panel .card-body{padding-top:4px}.attendance-page .attendance-panel .profile-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.attendance-page .attendance-panel .profile-actions .secondary-button{justify-content:center;min-width:0;padding-inline:10px;font-size:.82rem}.attendance-page .attendance-panel .profile-actions .secondary-button svg{flex-shrink:0}.attendance-view-panel{box-shadow:none!important;background:0 0!important;border:none!important}.attendance-view-panel .card-header,.attendance-view-panel .card-body{padding-left:0;padding-right:0}.attendance-view-panel .card-header{padding-top:0;padding-bottom:8px}.attendance-view-panel .card-header h3{font-size:1rem}.attendance-view-panel .badge{padding:4px 7px;font-size:.68rem}.attendance-view-panel .profile-actions{gap:6px}.attendance-view-panel .profile-actions .secondary-button{color:#64748b;padding:6px 4px;font-size:.74rem;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.attendance-view-panel .profile-actions .secondary-button svg{width:14px;height:14px}.attendance-view-panel .profile-actions .secondary-button.active{color:#2563eb;text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}@media (width<=640px){.attendance-view-panel .card-header h3{font-size:.92rem}.attendance-view-panel .badge{padding:3px 6px;font-size:.62rem}.attendance-view-panel .profile-actions{gap:2px}.attendance-view-panel .profile-actions .secondary-button{gap:4px;padding:4px 2px;font-size:.66rem}.attendance-view-panel .profile-actions .secondary-button svg{width:12px;height:12px}}.attendance-page--minimal .badge{border:1px solid var(--border-strong);color:var(--primary-strong);background:0 0;border-radius:0}.attendance-hero{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:#fff;margin-bottom:20px;padding:24px}.attendance-hero-copy h3{color:var(--primary-strong);margin:0;font-size:1.5rem}.attendance-hero-copy p{color:var(--muted);margin:8px 0 0;font-size:.9375rem}.attendance-kicker{text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin-bottom:8px;font-size:.75rem;font-weight:700;display:inline-flex}.attendance-controls{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;margin-bottom:20px;padding:20px}.attendance-controls-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.attendance-controls-grid{grid-template-columns:repeat(3,1fr)}}.attendance-field{flex-direction:column;gap:6px;display:flex}.attendance-field span{color:var(--muted);font-size:.8125rem;font-weight:600}.attendance-field input,.attendance-field select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--primary-strong);outline:none;padding:10px 14px;font-size:.9375rem}.attendance-roster{flex-direction:column;gap:12px;display:flex}.attendance-list{flex-direction:column;gap:10px;display:flex}.attendance-card{border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:16px;display:flex;box-shadow:0 2px 4px #00000005}.attendance-card-info{flex-direction:column;gap:2px;display:flex}.attendance-card-info strong{color:var(--primary-strong);font-size:.9375rem}.attendance-card-info small{color:var(--muted);font-size:.8125rem}.attendance-card-actions{gap:6px;display:flex}.attendance-toggle{border-radius:var(--radius-md);border:1px solid var(--border-strong);width:38px;height:38px;color:var(--muted);background:#fff;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.attendance-toggle.active{color:#fff;border-color:#0000}.attendance-toggle.present.active{background:#10b981;box-shadow:0 4px 12px #10b98133}.attendance-toggle.absent.active{background:#ef4444;box-shadow:0 4px 12px #ef444433}.attendance-toggle.late.active{background:#f59e0b;box-shadow:0 4px 12px #f59e0b33}.attendance-footer{margin-top:12px;position:sticky;bottom:16px}.attendance-marking-stack{flex-direction:column;gap:16px;display:flex}.attendance-workspace-grid{grid-template-columns:1fr;gap:12px;display:grid}.attendance-workspace-grid--mobile{margin-top:16px}.attendance-scope-inline{margin-bottom:14px}.attendance-scope-inline-field{gap:6px}.attendance-scope-inline-field span{color:#475569;font-size:.82rem;font-weight:700}.attendance-scope-inline-field select{border:1px solid var(--border-strong);min-height:44px;color:var(--primary-strong);background:#fff}.attendance-scope-inline-field small{color:#64748b;font-size:.74rem}.attendance-workspace-card{border:1px solid var(--border-strong);background:#fff;gap:10px;padding:16px}.attendance-workspace-card select,.attendance-workspace-card input[type=date]{color:var(--primary-strong);background:#fff;border:1px solid #64748b;box-shadow:inset 0 0 0 1px #ffffffa6}.attendance-workspace-card select:focus,.attendance-workspace-card input[type=date]:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px #ffffffb8}.attendance-workspace-card.scope{background:linear-gradient(#0f172a05,#0f172a03);border-left:4px solid #334155}.attendance-workspace-card.date{background:linear-gradient(#94a3b81a,#94a3b808);border-left:4px solid #94a3b8}.attendance-workspace-head{flex-direction:column;gap:8px;display:flex}.attendance-workspace-head small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-summary-card{border:1px solid var(--border-strong);background:#fff;flex-direction:column;gap:14px;padding:16px;display:flex}.attendance-summary-card.total{background:linear-gradient(#0f172a05,#0f172a03);border-left:4px solid #334155}.attendance-summary-card.present{background:linear-gradient(#16a34a14,#16a34a05);border-left:4px solid #16a34a}.attendance-summary-card.absent{background:linear-gradient(#dc262614,#dc262605);border-left:4px solid #dc2626}.attendance-summary-card.unmarked{background:linear-gradient(#94a3b81a,#94a3b808);border-left:4px solid #94a3b8}.attendance-summary-head{flex-direction:column;gap:8px;display:flex}.attendance-summary-head small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem}.attendance-summary-tag{text-transform:uppercase;letter-spacing:.04em;border:1px solid;align-items:center;width:fit-content;padding:5px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.attendance-summary-tag.neutral{color:#334155}.attendance-summary-tag.present{color:#166534}.attendance-summary-tag.absent{color:#991b1b}.attendance-summary-tag.unmarked{color:#475569}.attendance-summary-body{flex-direction:column;gap:8px;display:flex}.attendance-summary-body span{color:var(--primary-strong);align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:inline-flex}.attendance-summary-body strong{color:var(--primary-strong);font-size:1.7rem;line-height:1}.attendance-marking-banner{border:1px solid var(--border-strong);box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:14px;padding:18px;display:flex}.attendance-marking-banner strong{color:var(--primary-strong);font-size:1rem;display:block}.attendance-marking-banner p{color:var(--muted);margin:6px 0 0;font-size:.875rem;line-height:1.5}.attendance-banner-actions{flex-wrap:wrap;gap:10px;display:flex}.attendance-banner-actions .secondary-button,.attendance-banner-actions .primary-button{flex:180px;justify-content:center}.attendance-student-list{flex-direction:column;gap:14px;display:flex}.attendance-mobile-register-head{gap:16px;display:grid}.attendance-mobile-register-tabs{border-bottom:1px solid #dbe3ee;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow-x:auto}.attendance-mobile-tab{color:#64748b;text-align:center;background:0 0;border:none;border-bottom:3px solid #0000;min-width:88px;padding:12px 8px 14px;font-size:.82rem;font-weight:700}.attendance-mobile-tab.active{color:#2563eb;border-bottom-color:#2563eb}.attendance-mobile-register-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-mobile-register-meta strong{color:var(--primary-strong);font-size:1rem}.attendance-filter-toggle{color:#fff;background:#43b04a;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:800;display:inline-flex}.attendance-mobile-summary-strip{color:#64748b;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:0 0 6px;font-size:.88rem;font-weight:700;display:flex}.attendance-mobile-summary-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.attendance-mobile-legend,.attendance-select-all{color:#475569;align-items:center;gap:8px;font-size:.86rem;font-weight:700;display:inline-flex}.attendance-mobile-legend svg{color:#2563eb}.attendance-select-all{background:0 0;border:none;padding:0}.attendance-student-card--mobile{border-bottom:1px solid #e5edf6;border-left-width:0;gap:10px;padding:14px 16px}.attendance-student-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-student-identity{align-items:center;gap:14px;min-width:0;display:flex}.attendance-student-avatar{object-fit:cover;background:#e2e8f0;border-radius:50%;flex-shrink:0;width:52px;height:52px}.attendance-student-avatar--fallback{color:#475569;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.attendance-mobile-checkbox{color:#2b84c6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.attendance-mobile-checkbox.checked{color:#2b84c6}.attendance-student-mobile-actions{gap:8px;padding-left:66px;display:flex}.attendance-student-mobile-actions .attendance-view-history-trigger,.attendance-student-mobile-actions .attendance-add-remark-trigger{min-height:36px}.attendance-status-group--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attendance-status-button--compact{text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:48px;padding:8px 6px}.attendance-status-button--compact .attendance-status-short{width:24px;height:24px;font-size:.72rem}.attendance-status-button--compact .attendance-status-label{font-size:.7rem;line-height:1.1}.attendance-student-card{border:1px solid var(--border-strong);box-shadow:none;background:#fff;border-radius:0;flex-direction:column;gap:14px;padding:18px;display:flex}.attendance-student-card.unmarked{border-left:4px solid #94a3b8}.attendance-student-card.present{border-left:4px solid #16a34a}.attendance-student-card.absent{border-left:4px solid #dc2626}.attendance-student-card.late{border-left:4px solid #d97706}.attendance-student-card.half-day{border-left:4px solid #7c3aed}.attendance-student-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-student-title{flex-direction:column;gap:4px;display:flex}.attendance-student-title span{color:var(--primary-strong);font-size:.98rem;font-weight:800}.attendance-student-title small{color:var(--muted);font-size:.8rem}.attendance-current-badge{white-space:nowrap;border:1px solid;border-radius:0;justify-content:center;align-items:center;padding:8px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.attendance-current-badge.present{color:#166534;background:0 0}.attendance-current-badge.unmarked{color:#475569;background:0 0}.attendance-current-badge.absent{color:#991b1b;background:0 0}.attendance-current-badge.late{color:#92400e;background:0 0}.attendance-current-badge.half-day{color:#6d28d9;background:0 0}.attendance-student-meta{color:var(--muted);margin:0;font-size:.875rem;line-height:1.55}.attendance-status-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-status-button{border:1px solid var(--border-strong);min-height:56px;color:var(--primary-strong);text-align:left;background:0 0;border-radius:0;align-items:center;gap:10px;padding:12px 14px;font-weight:700;transition:border-color .18s,background .18s,color .18s;display:flex}.attendance-status-button:hover{box-shadow:none}.attendance-status-button.active{color:#fff;-webkit-text-fill-color:#fff;box-shadow:none;border-color:#0000}.attendance-status-button.present.active{background:#16a34a}.attendance-status-button.absent.active{background:#dc2626}.attendance-status-button.late.active{background:#d97706}.attendance-status-button.half-day.active{background:#7c3aed}.attendance-status-short{color:#0f172a;-webkit-text-fill-color:#0f172a;background:#ffffffe0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:800;display:inline-flex}.attendance-status-button.active .attendance-status-short{color:#0f172a;-webkit-text-fill-color:#0f172a;background:#fffffff5}.attendance-status-button:not(.active) .attendance-status-short{color:var(--primary-strong);-webkit-text-fill-color:var(--primary-strong);background:#0f172a0a}.attendance-status-label{color:inherit;-webkit-text-fill-color:inherit;font-size:.875rem;line-height:1.2}.attendance-remarks-field{background:linear-gradient(#f8fbff 0%,#eff6ff 100%);border:1px solid #bfdbfe;gap:10px;padding:14px}.attendance-remarks-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.attendance-remarks-title{color:#1d4ed8;align-items:center;gap:8px;font-size:.9rem;font-weight:800;display:inline-flex}.attendance-remarks-title svg{width:16px;height:16px}.attendance-remarks-head small{color:#475569;letter-spacing:.02em;text-transform:uppercase;font-size:.73rem;font-weight:700}.attendance-remarks-field input{background:#fff;border:1px solid #93c5fd;min-height:46px;font-weight:600}.attendance-remarks-field input:focus{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.attendance-remarks-hint{color:#475569;margin:0;font-size:.74rem;line-height:1.45}.attendance-remarks-workspace,.attendance-remarks-toolbar,.attendance-remarks-composer{gap:16px;display:grid}.attendance-remarks-summary{background:linear-gradient(#f8fbff 0%,#eff6ff 100%);border:1px solid #dbeafe;padding:14px 16px}.attendance-remarks-summary strong{color:#0f172a;display:block}.attendance-remarks-summary p{color:#475569;margin:6px 0 0;font-size:.9rem}.attendance-remark-editor{gap:12px}.attendance-remark-editor textarea{resize:vertical;width:100%;min-height:112px;font:inherit;color:#0f172a;background:#fff;border:1px solid #93c5fd;padding:12px 14px}.attendance-remark-editor textarea:focus{border-color:#2563eb;outline:none;box-shadow:inset 0 0 0 1px #2563eb}.attendance-remarks-history{gap:12px;display:grid}.attendance-remark-history-card{background:#fff;border:1px solid #e2e8f0;padding:14px 16px}.attendance-remark-history-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.attendance-remark-history-head strong{color:#0f172a;font-size:.95rem}.attendance-remark-history-head span{color:#64748b;white-space:nowrap;font-size:.78rem}.attendance-remark-history-card p{color:#334155;margin:0;line-height:1.5}.attendance-save-button{border-radius:0;justify-content:center}.attendance-footer-actions{z-index:2;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:1px solid var(--border-strong);background:#fffffffa;border-radius:0;margin-top:18px;padding:12px;position:sticky;bottom:12px}.attendance-footer-actions--mobile{grid-template-columns:1fr;align-items:center;gap:10px;display:grid}.attendance-footer-actions--mobile .secondary-button:first-of-type,.attendance-footer-actions--mobile .secondary-button:nth-of-type(2){display:none}.attendance-footer-actions--mobile .attendance-save-button{background:#1f7ae0;border-radius:16px;min-height:48px}.attendance-page--minimal .primary-button,.attendance-page--minimal .secondary-button{box-shadow:none;border-radius:0}.attendance-page--minimal .primary-button{background:#0f172a}.attendance-page--minimal .secondary-button{border:1px solid var(--border-strong);color:var(--primary-strong);background:0 0}.attendance-page--minimal .assignment-field input,.attendance-page--minimal .assignment-field select,.attendance-page--minimal .attendance-remark-editor textarea,.attendance-page--minimal .attendance-remarks-field input{box-shadow:none;border-radius:0}.attendance-page--minimal .attendance-remarks-field{border-radius:0}@media (width>=640px){.attendance-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-marking-banner{flex-direction:row;justify-content:space-between;align-items:center}.attendance-status-group{grid-template-columns:repeat(4,minmax(0,1fr))}}.attendance-loading,.attendance-empty{border-radius:var(--radius-lg);color:var(--muted);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.attendance-loading svg,.attendance-empty svg{opacity:.4;width:32px;height:32px}.attendance-view-switcher{background:var(--surface-subtle);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:8px;padding:4px;display:flex}.attendance-view-button{color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.attendance-view-button.active{color:var(--primary);background:#fff;box-shadow:0 2px 4px #0000000d}.attendance-student-name-row{align-items:center;gap:8px;min-width:0;display:flex}.attendance-info-button{border:1px solid var(--border-strong);color:#64748b;background:#f8fafc;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.attendance-info-button:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.attendance-student-card--mobile .attendance-student-title{min-width:0}.attendance-student-card--mobile .attendance-student-title span,.attendance-student-card--mobile .attendance-student-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.attendance-modal-container{background:#fff;border:1px solid #e2e8f0;flex-direction:column;width:100%;max-width:500px;max-height:80vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.attendance-modal-container--success{max-width:420px}.attendance-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.attendance-modal-title{flex-direction:column;display:flex}.attendance-modal-title strong{color:#0f172a;font-size:1.1rem}.attendance-modal-title small{color:#64748b;font-size:.85rem}.attendance-modal-close{color:#94a3b8;background:0 0;border:none;padding:4px;transition:color .2s}.attendance-modal-close:hover{color:#0f172a}.attendance-modal-body{flex:1;padding:20px;overflow-y:auto}.attendance-modal-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;padding:16px 20px;display:flex}.attendance-modal-loading,.attendance-modal-empty{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.attendance-success-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:8px 0;display:flex}.attendance-success-icon{color:#15803d;background:linear-gradient(#dcfce7 0%,#bbf7d0 100%);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.attendance-success-state strong{color:#0f172a;font-size:1.1rem}.attendance-success-state p{color:#475569;margin:0;line-height:1.5}.attendance-remarks-bulk-controls{margin-bottom:16px}.attendance-remarks-search-row{flex-direction:column;gap:12px;display:flex}@media (width>=640px){.attendance-remarks-search-row{flex-direction:row;align-items:center}.attendance-footer-actions--mobile{grid-template-columns:auto auto 1fr}.attendance-footer-actions--mobile .secondary-button:first-of-type,.attendance-footer-actions--mobile .secondary-button:nth-of-type(2){display:inline-flex}}.attendance-search-field{flex:1;align-items:center;display:flex;position:relative}.attendance-search-field svg:first-of-type{color:#94a3b8;pointer-events:none;position:absolute;left:14px}.attendance-search-field input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;width:100%;padding:12px 14px 12px 42px;font-size:.9rem;transition:all .2s}.attendance-search-field input:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-clear{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;right:10px}.attendance-remarks-student-grid{background:0 0;border:none;flex-direction:column;gap:12px;max-height:500px;margin-bottom:20px;padding:4px;display:flex;overflow-y:auto}.attendance-remark-student-card-v2{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:12px;width:100%;padding:16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.attendance-remark-student-card-v2.active{background:#f8fbff;border-color:#3b82f6;border-left-style:solid;border-left-width:4px}.student-card-v2-main{align-items:center;gap:14px;width:100%;display:flex}.student-card-v2-actions{border-top:1px solid #f1f5f9;align-items:center;gap:8px;width:100%;padding-top:12px;display:flex}.student-card-write-btn{color:#fff;background:#3b82f6;border:none;border-radius:0;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.student-card-write-btn:hover{background:#2563eb}.student-card-history-btn{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}@media (width>=640px){.attendance-remark-student-card-v2{flex-direction:row;align-items:center;padding:14px 18px}.student-card-v2-main{flex:1;width:auto}.student-card-v2-actions{border-top:none;width:auto;margin-left:auto;margin-right:12px;padding-top:0}.student-card-write-btn{flex:initial;padding:6px 16px}}.student-card-avatar{color:#64748b;background:#f1f5f9;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.9rem;font-weight:800;display:flex;box-shadow:0 2px 4px #0000000d}.attendance-remark-student-card-v2.active .student-card-avatar{color:#fff;background:#3b82f6;border-color:#bfdbfe}.student-card-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-card-content strong{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.student-card-content small{color:#64748b;font-size:.85rem}.student-card-check{border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}@media (width>=640px){.student-card-check{position:static}}.student-card-check.checked{color:#fff;background:#10b981;border-color:#10b981}.attendance-remarks-selected-list{background:#f1f5f9;border:1px solid #e2e8f0;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:12px;display:flex}.selected-student-pill{color:#1e293b;background:#fff;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0000000d}.selected-student-pill button{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;transition:all .2s;display:flex}.selected-student-pill button:hover{color:#fff;background:#ef4444}body.modal-active .bottom-dock{display:none!important}.attendance-remark-author-info{align-items:center;gap:12px;display:flex}.attendance-author-avatar,.attendance-author-avatar-fallback{object-fit:cover;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:36px;height:36px;box-shadow:0 2px 5px #0000001a}.attendance-author-avatar-fallback{color:#3b82f6;background:#f1f5f9;border:2px solid #e2e8f0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.attendance-remark-author-meta{flex-direction:column;display:flex}.attendance-remark-author-meta strong{color:#0f172a;line-height:1.2;font-size:.95rem!important}.attendance-remark-author-meta span{color:#64748b;margin-top:2px;font-size:.72rem!important}.student-card-history-btn{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.student-card-history-btn:hover{color:#3b82f6;background:#eff6ff;border-color:#3b82f6}.attendance-remarks-empty-search{text-align:center;color:#94a3b8;grid-column:1/-1;padding:40px 20px}.attendance-remarks-history-section{border-top:1px dashed #cbd5e1;margin-top:24px;padding-top:20px}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header-row h3{color:#0f172a;margin:0;font-size:1.1rem}.secondary-button.minimal{border-color:#cbd5e1;height:auto;padding:4px 8px;font-size:.75rem}.attendance-view-history-trigger{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.attendance-view-history-trigger:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.attendance-add-remark-trigger{color:#3b82f6;background:#eff6ff;border:1px solid #dbeafe;border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.attendance-add-remark-trigger:hover{color:#2563eb;background:#dbeafe;border-color:#3b82f6}.attendance-student-actions-row{gap:8px;margin-bottom:4px;display:flex}.attendance-modal-footer button svg{width:16px;height:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.attendance-view-button svg{width:16px;height:16px}.alert-feed{gap:14px;display:grid}.alert-filter-panel{display:block}.alert-section-heading{align-items:center;gap:10px;margin:8px 0 -4px;display:flex}.alert-section-heading h3{color:#0f172a;margin:0;font-size:1rem;line-height:1.25}.alert-section-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.alert-section-icon.notice{color:#ea580c;background:#f973161f}.alert-section-icon.notification{color:#2563eb;background:#2563eb1a}.alert-section-icon svg{stroke-width:2.2px;width:18px;height:18px}.alert-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.alert-stat-item{color:#0f172a;text-align:left;background:#fffffff5;border:1px solid #94a3b83d;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 12px;transition:border-color .16s,background-color .16s,color .16s,transform .16s,box-shadow .16s;display:flex;box-shadow:0 6px 18px #0f172a0d}.alert-stat-item:hover{border-color:#2563eb3d;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.alert-stat-item strong{color:inherit;font-size:1.35rem;line-height:1}.alert-stat-item>span:last-child{color:inherit;font-size:.82rem;font-weight:700}.alert-stat-item.active{color:#1e3a8a;background:linear-gradient(#2563eb1f,#2563eb0a);border-color:#2563eb;box-shadow:0 12px 24px #2563eb1f}.alert-stat-item.active .alert-stat-icon{color:#2563eb}.alert-filter-bar{flex-wrap:wrap;gap:6px;display:flex}.alert-filter-chip,.alert-read-toggle{align-items:center;gap:8px;font-weight:700;display:inline-flex}.alert-stat-icon{color:#64748b;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.alert-stat-icon svg{stroke-width:2.2px;width:16px;height:16px}@media (width<=520px){.alert-stats-row{gap:8px}.alert-stat-item{padding:12px 10px}.alert-stat-item strong{font-size:1.15rem}.alert-stat-item>span:last-child{font-size:.75rem}}.alert-filter-chip strong{text-align:center;color:#0f172a;min-width:18px;font-size:.75rem}.alert-filter-chip.active{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-color:#0f172a05}.alert-filter-chip.active strong{color:#fff}.alert-filter-chip svg{stroke-width:2.2px;width:14px;height:14px}.alert-card{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);background:linear-gradient(#fffffffa 0%,#f8fafcf0 100%);gap:12px;padding:14px;display:grid}.alert-card-top{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.alert-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.alert-icon.notice{color:#ea580c;background:#f973161f}.alert-icon.notification{color:#2563eb;background:#2563eb1a}.alert-icon svg{stroke-width:2.15px;width:20px;height:20px}.alert-card-copy h4{margin:8px 0 0;font-size:.92rem;line-height:1.35}.alert-card-meta{flex-wrap:wrap;gap:8px;display:flex}.alert-priority,.alert-category,.alert-detail-chip,.alert-empty{border-radius:999px;font-size:.72rem;font-weight:700}.alert-priority,.alert-category{padding:4px 8px}.alert-priority.high{color:#dc2626;background:#dc26261a}.alert-priority.medium{color:#b45309;background:#f59e0b1f}.alert-priority.low{color:#047857;background:#10b9811f}.alert-category{color:#334155;background:#0f172a0f}.alert-content{color:#475569;word-break:break-word;margin:0;font-size:.86rem;line-height:1.5}.alert-image-frame{background:linear-gradient(#f1f5f9eb 0%,#e2e8f0d1 100%);border:1px solid #94a3b833;border-radius:18px;padding:10px;overflow:hidden}.alert-image{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:360px;margin:0 auto;display:block}.alert-read-toggle{box-shadow:none;color:#64748b;white-space:nowrap;background:0 0;border:0;outline:none;margin-left:auto;padding:0;font-size:.76rem}.alert-read-toggle:focus,.alert-read-toggle:focus-visible{box-shadow:none;outline:none}.alert-read-toggle.read{color:#047857}.alert-read-toggle.unread{color:#2563eb}.alert-read-toggle svg{stroke-width:2.2px;width:13px;height:13px}.alert-content a{color:#2563eb;font-weight:700;text-decoration:none}.alert-content a:hover{text-decoration:underline}.alert-detail-row{flex-wrap:wrap;gap:8px;display:flex}.alert-detail-chip{color:#475569;background:#f1f5f9f5;border:1px solid #94a3b824;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.alert-detail-chip svg{width:14px;height:14px;color:var(--primary);stroke-width:2.2px}.alert-empty{color:#64748b;text-align:center;background:#f8fafceb;padding:14px}.notices-page-card .card-header,.notice-composer-card .card-header,.complaints-page-card .card-header{margin-bottom:6px}.notice-composer-header{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.notice-composer-header p{color:#475569;margin:0;line-height:1.55}.notice-composer-launch{gap:16px;display:grid}.notice-composer-modal{width:min(100%,640px);max-height:min(100dvh - 32px,760px);overflow:auto}.notice-composer-icon{border-radius:var(--radius-md);color:#ea580c;background:#f973161f;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.notice-composer-icon-warning{color:#dc2626;background:#dc26261f}.notice-composer-icon svg{stroke-width:2.15px;width:20px;height:20px}.notice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notice-field-full{grid-column:1/-1}.notice-field-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.notice-textarea-shell{align-items:stretch}.notice-submit-button{justify-content:center;width:100%}.notice-submit-button svg{stroke-width:2.2px;width:16px;height:16px}.complaint-resolution{border-radius:var(--radius-md);background:#f8fafceb;border:1px solid #94a3b824;gap:6px;padding:12px;display:grid}.complaint-resolution strong{text-transform:uppercase;letter-spacing:.08em;color:#0f172a;font-size:.78rem}.complaint-resolution p{color:#475569;margin:0;line-height:1.5}@media (width<=520px){.notice-composer-modal{max-height:calc(100dvh - 24px)}.notice-form-grid{grid-template-columns:1fr}.alert-read-toggle{font-size:.76rem}}.alert-filter-chip,.section-chip{border-color:#cbd5e1!important;border-radius:0!important}.bottom-dock{width:100%;padding:6px 4px calc(6px + env(safe-area-inset-bottom,8px));border-top:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0f172a14}body[data-modal-open=true] .bottom-dock{opacity:0;pointer-events:none;transform:translateY(100%)}.dock-item{color:#94a3b8;background:0 0;border-radius:0;justify-items:center;gap:3px;padding:10px 4px 6px;font-size:.65rem;font-weight:700;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:grid;position:relative}.dock-item:before{content:"";background:var(--primary);border-radius:0 0 4px 4px;width:24px;height:3px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:0;left:50%;transform:translate(-50%)scaleX(0)}.dock-item.active{color:var(--primary)}.dock-item.active:before{transform:translate(-50%)scaleX(1)}.dock-icon{color:currentColor;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:relative}.dock-icon svg{stroke-width:2.2px;width:22px;height:22px;display:block}.dock-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-8px;box-shadow:0 0 0 2px #fff}@media (width>=768px){.bottom-dock{grid-auto-columns:minmax(80px,160px);grid-auto-flow:column;justify-content:center;padding:8px 32px}.dock-item{gap:5px;padding:8px 12px;font-size:.72rem}}@media (width<=420px){.feature-grid,.mini-grid,.stat-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{border-radius:20px;padding:18px 14px}.metric-icon{border-radius:16px;width:48px;height:48px}.metric-label{letter-spacing:.06em;margin-top:14px;font-size:.72rem}.metric-value{font-size:.98rem}.metric-progress{margin-top:12px}.exam-actions{grid-template-columns:1fr}.bottom-dock{bottom:10px}}.app-header{z-index:10;background:0 0;justify-content:space-between;align-items:center;height:fit-content;margin-bottom:0;padding:12px 0 8px;display:flex;position:sticky;top:0}.header-left{flex:auto;align-items:center;gap:16px;min-width:0;display:flex}.header-back-button{border:1px solid var(--border);color:#0f172a;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;box-shadow:0 4px 12px #0f172a0f}.header-back-button:active{background:var(--surface-subtle);transform:scale(.92)}.header-logo-container{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.header-school-logo{object-fit:contain;width:100%;height:100%}.header-title{color:#0f172a;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:800;line-height:1.2;overflow:hidden}.header-dashboard-title{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.header-date{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;line-height:1}.header-subtitle{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;line-height:1.2;overflow:hidden}.header-right{flex:none;align-items:center;gap:12px;margin-left:12px;display:flex}.header-action-button{border:1px solid var(--border);color:#334155;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative;box-shadow:0 4px 12px #0f172a0a}.notification-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-2px;right:-2px}.header-profile-trigger{background:#f8fafc;border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;overflow:hidden;box-shadow:0 4px 12px #10b98126}.header-avatar-img{object-fit:cover;width:100%;height:100%}.header-avatar-initials{color:#10b981;font-size:.9rem;font-weight:700}@media (width<=420px){.header-title{font-size:1.15rem}}.teacher-dashboard-main-grid{grid-template-columns:1fr 340px;align-items:start;gap:28px;display:grid}@media (width<=1024px){.teacher-dashboard-main-grid{grid-template-columns:1fr;gap:32px}}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;display:flex}.section-header-left{align-items:center;gap:10px;display:flex}.section-header-left h2{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.section-header-icon{color:var(--primary)}.section-header-action{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.section-header-action:hover{background:var(--surface-subtle);gap:10px}.teacher-notice-feed{gap:16px;display:grid}.teacher-notice-item{border-radius:var(--radius-xl);border:1px solid var(--border);cursor:pointer;background:#fff;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1)}.teacher-notice-item:hover{box-shadow:var(--shadow-soft);border-color:#1d4ed84d;transform:translateY(-4px)}.teacher-notice-item-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.notice-category-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 12px;font-size:.68rem;font-weight:800}.category-general{color:#475569;background:#f1f5f9}.category-academics{color:#059669;background:#ecfdf5}.category-exams{color:#ea580c;background:#fff7ed}.category-attendance{color:#2563eb;background:#eff6ff}.category-reminder{color:#dc2626;background:#fef2f2}.notice-time{color:var(--muted);font-size:.75rem;font-weight:600}.teacher-notice-item h3{color:#1e293b;margin:0 0 10px;font-size:1.15rem;font-weight:800;line-height:1.3}.teacher-notice-item p{color:#64748b;margin:0;font-size:.95rem;line-height:1.6}.notice-content-link{color:var(--primary);text-underline-offset:2px;word-break:break-all;font-weight:600;text-decoration:underline}.notice-content-link:hover{color:var(--primary-strong)}.teacher-notice-empty{border-radius:var(--radius-xl);border:2px dashed var(--border);color:var(--muted);text-align:center;background:#fff6;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;display:flex}.teacher-notice-empty p{font-size:1rem;font-weight:600}.teacher-service-grid{gap:16px;display:grid}.teacher-service-card{border:1px solid var(--border);border-radius:var(--radius-xl);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:18px;width:100%;padding:22px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.teacher-service-card:hover{border-color:var(--primary);box-shadow:var(--shadow-soft);transform:translate(6px)}.service-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.service-transport .service-card-icon{color:#2563eb;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.service-leave .service-card-icon{color:#dc2626;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%)}.service-card-copy{flex-direction:column;flex:1;gap:4px;display:flex}.service-card-copy strong{color:#0f172a;font-size:1.05rem;font-weight:800}.service-card-copy span{color:#64748b;font-size:.85rem;font-weight:500}.service-card-arrow{color:#cbd5e1;transition:all .2s}.teacher-service-card:hover .service-card-arrow{color:var(--primary);transform:translate(4px)}.teacher-profile-page{width:100%;padding:0}.teacher-profile-surface{border:1px solid var(--border);background:#fff;border-radius:0;overflow:hidden}.teacher-profile-header{background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:20px;padding:24px;display:flex}.profile-summary-avatar{color:#1e293b;background:#f8fafc;border:2px solid #10b981;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.4rem;font-weight:800;display:flex;overflow:hidden;box-shadow:0 4px 12px #10b98114;border-radius:50%!important}.profile-summary-avatar-image{object-fit:cover;width:100%;height:100%}.teacher-profile-header-copy{flex-direction:column;display:flex}.teacher-profile-eyebrow{text-transform:uppercase;color:#10b981;letter-spacing:.1em;margin-bottom:2px;font-size:.6rem;font-weight:900}.teacher-profile-header-copy h2{color:#0f172a;margin:0;font-size:1.2rem;font-weight:800}.teacher-profile-header-copy p{color:#64748b;margin:0;font-size:.8rem;font-weight:600}.teacher-profile-header-copy small{color:#94a3b8;margin-top:1px;font-size:.75rem}.teacher-profile-details{padding:0 24px 24px}.teacher-profile-details .list-block{background:0 0;border:none;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px 24px;padding:20px 0;display:grid}.teacher-profile-details .list-row{background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:1px;padding:0;display:flex}.teacher-profile-details .list-key-wrap{align-items:center;gap:6px;width:100%;display:flex}.teacher-profile-details .list-icon{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.teacher-profile-details .list-icon svg{width:13px;height:13px}.teacher-profile-details .list-key{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;font-size:.6rem;font-weight:800}.teacher-profile-details .list-value{color:#334155;word-break:break-all;margin:0;padding-left:20px;font-size:.85rem;font-weight:700}.teacher-profile-divider{background:#f1f5f9;height:1px;margin:0 24px}.teacher-profile-actions{flex-direction:column;gap:16px;padding:24px;display:flex}.teacher-profile-password-copy{max-width:480px}.teacher-profile-section-label{text-transform:uppercase;color:#64748b;letter-spacing:.1em;margin-bottom:8px;font-size:.7rem;font-weight:800;display:block}.teacher-profile-password-copy strong{color:#0f172a;margin-bottom:4px;font-size:1.1rem;display:block}.teacher-profile-password-copy p{color:#64748b;margin:0;font-size:.9rem;line-height:1.5}.teacher-profile-action-buttons{flex-wrap:wrap;gap:12px;display:flex}.teacher-profile-action-buttons button{min-width:140px;min-height:46px;box-shadow:none;letter-spacing:.01em;border-radius:8px;flex:1;justify-content:center;font-size:.85rem;font-weight:700}.teacher-profile-action-buttons .primary-button{background:#0f172a}.teacher-profile-action-buttons .secondary-button{color:#475569;background:#f1f5f9}.teacher-profile-action-buttons .danger-button{color:#dc2626;background:#fef2f2}.teacher-profile-action-buttons button svg{width:16px;height:16px}.profile-modal .primary-button,.profile-modal .secondary-button{min-height:44px;box-shadow:none;border-radius:8px;font-size:.85rem}.profile-modal .primary-button{background:#0f172a}.profile-modal .secondary-button{color:#475569;background:#f1f5f9}@media (width<=640px){.teacher-profile-header{gap:16px;padding:24px 16px}.profile-summary-avatar{width:64px;height:64px;font-size:1.2rem}.teacher-profile-details .list-block{grid-template-columns:1fr;gap:12px}.teacher-profile-action-buttons button{flex:100%}}
