.auth-page{position:relative;isolation:isolate;overflow:hidden;color:#112b5c;background:#fff;--auth-scenery-height: 210px;--muted: #66758c}.auth-page--admin{color:#fff;background:linear-gradient(108deg,#0071f6,#008be7 49%,#00cbbd);--muted: #e0f7ff}.auth-page.auth-page--guardian,.auth-page.auth-page--admin{padding-block:max(40px,env(safe-area-inset-top,0px)) calc(var(--auth-scenery-height) + 24px + env(safe-area-inset-bottom,0px))}.auth-page .auth-card{max-width:440px;padding:16px 20px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;gap:28px;z-index:1}.auth-page .auth-card:before,.auth-page .divider{display:none}.auth-page .auth-brand{gap:14px}.auth-page .auth-logo{width:104px;height:104px;border:0;border-radius:24px;box-shadow:0 10px 22px #003c8420}.auth-page .auth-role-badge{color:inherit;background:none;border:0;padding:0;font-size:1rem}.auth-page .login-title{color:#0750ae;font-size:clamp(1.8rem,6.5vw,2.6rem);line-height:1.4;margin-bottom:8px}.auth-page .school-subtitle{color:inherit;font-size:1rem}.auth-page .auth-label{color:inherit;font-size:.95rem}.auth-page .input{min-height:54px;background:#f6f8fc;border:1.5px solid #b8cbe3;border-radius:15px;color:#142d55;font-size:1rem}.auth-page .input::placeholder{color:#6e7b8e;opacity:1}.auth-page .input:focus-visible{outline:3px solid #007fff;outline-offset:3px}.auth-page .btn-primary{min-height:54px;margin-top:12px;border-radius:999px!important;border:1px solid #25c8ff;background:linear-gradient(180deg,#009cff,#0044c5);color:#fff;box-shadow:0 10px 24px #0058bb26;font-weight:800}.auth-page .btn-primary:disabled{opacity:.65}.auth-page .auth-footer{flex-direction:column;gap:20px;padding-top:12px;border:0;color:inherit;font-size:.95rem}.auth-page .auth-footer a{display:flex;justify-content:center;align-items:center;min-height:46px;width:min(100%,300px);border:1.5px solid #0756bd;border-radius:999px;color:#0750ae}.auth-page a:focus-visible,.auth-page button:focus-visible{outline:3px solid #0875e8;outline-offset:4px}.auth-page--admin .login-title,.auth-page--admin .auth-footer a{color:#fff}.auth-page--admin .input{background:#ffffff0d;border-color:#7fe9ff;color:#fff}.auth-page--admin .input::placeholder{color:#e0f1ff}.auth-page--admin .auth-footer a{border-color:#7dffff}.auth-page--admin .input:focus-visible,.auth-page--admin a:focus-visible,.auth-page--admin button:focus-visible{outline-color:#c5ffff}.auth-page .err{color:#a21936;background:#fff0f3;padding:10px;border-radius:10px}.auth-scenery{position:absolute;z-index:0;bottom:0;left:50%;transform:translate(-50%);width:max(100%,650px);height:var(--auth-scenery-height);pointer-events:none}.auth-school{opacity:.65}.auth-page--admin .auth-school{opacity:.3}@media (min-width: 900px){.auth-page{--auth-scenery-height: 260px}}@media (max-width: 360px){.auth-page .auth-card{padding-inline:4px}.auth-page .auth-label{font-size:.85rem}}.app-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;background:radial-gradient(ellipse at 110% 52%,#0875b5 0%,#044ca6 38%,transparent 72%),linear-gradient(155deg,#0649b5,#062c88 56%,#062576);color:#fff;animation:intro-exit 6.5s linear both}.app-intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 65% 45%,#1b9bd526,transparent 60%);animation:intro-ambient 6.5s ease both}.app-intro:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none;animation:intro-white-veil 6.5s linear both}.app-intro-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;transform:translate3d(0,-18px,0)}.app-intro-mark{position:relative;width:clamp(180px,43vw,220px);aspect-ratio:1324 / 1188;margin:0 auto 22px;perspective:700px}.app-intro-symbol{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.intro-book-page{transform-box:view-box;transform-origin:50% 96%;will-change:transform,opacity}.intro-book-page--left{animation:intro-page-left .95s cubic-bezier(.25,.55,.3,1) both}.intro-book-page--right{animation:intro-page-right .95s cubic-bezier(.25,.55,.3,1) both}.intro-student{will-change:transform,opacity;animation:intro-student-in .75s 1.75s cubic-bezier(.25,.55,.3,1) both}.intro-house{will-change:transform,opacity;animation:intro-house-in .8s .95s cubic-bezier(.25,.55,.3,1) both}.app-intro-logo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;animation:intro-symbol-complete .25s 2.5s ease-out both}.app-intro .app-intro-name,.app-intro .app-intro-slogan{display:block;width:max-content;max-width:100%;align-self:center;text-align:center;margin-inline:auto;padding:0}.app-intro-name{margin:0;color:#fff;font:800 clamp(30px,4vw,36px)/1.5 "Cairo",sans-serif;animation:intro-text-in .45s 2.8s ease-out both}.app-intro-slogan{margin:4px 0 0;color:#edf5ff;font:500 18px/1.8 Cairo,sans-serif;animation:intro-text-in .45s 3.3s ease-out both}@keyframes intro-page-left{0%{opacity:0;transform:scaleX(.12) rotate(24deg)}18%{opacity:1}to{opacity:1;transform:scaleX(1) rotate(0)}}@keyframes intro-page-right{0%{opacity:0;transform:scaleX(.12) rotate(-24deg)}18%{opacity:1}to{opacity:1;transform:scaleX(1) rotate(0)}}@keyframes intro-student-in{0%{opacity:0;transform:translateY(75px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-house-in{0%{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-ambient{0%,to{opacity:.1}50%{opacity:1}}@keyframes intro-symbol-complete{0%{opacity:0}to{opacity:1}}@keyframes intro-white-veil{0%,86%{opacity:0}94%,to{opacity:1}}@keyframes intro-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-exit{0%,93%{opacity:1}to{opacity:0}}.app-intro-content{animation:intro-dip-white 6.5s linear both}@keyframes intro-dip-white{0%,86%{opacity:1;filter:blur(0)}94%,to{opacity:0;filter:blur(7px)}}@media (prefers-reduced-motion: reduce){.app-intro,.app-intro-content,.app-intro-name,.app-intro-slogan,.intro-book-page,.intro-student,.intro-house,.intro-app--waiting,.app-intro:before,.app-intro:after{animation:none}.app-intro-symbol{display:none}.app-intro-logo{animation:none;opacity:1}}:root{--primary: #007BFE;--secondary: #00B4D8;--gradient-end: #00C29F;--success: #05D380;--bg: #F8FAFC;--bg-deep: #F1F5F9;--bg-secondary: #F1F5F9;--card: #FFFFFF;--card2: rgba(255, 255, 255, .92);--card-glass: rgba(255, 255, 255, .85);--surface2: #F1F5F9;--surface3: #E2E8F0;--fg: #0F172A;--fg-secondary: #334155;--fg-inverse: #FFFFFF;--fg-muted: #64748B;--muted: #64748B;--faint: #94A3B8;--accent: #007BFE;--accent-dim: #0062CC;--accent-hover: #0091FF;--accent-active: #0056B3;--accent-soft: rgba(0, 123, 254, .1);--accent-gradient: linear-gradient(135deg, #007BFE 0%, #00B4D8 45%, #00C29F 100%);--brand-gradient: linear-gradient(135deg, #007BFE 0%, #00B4D8 45%, #00C29F 100%);--academic-blue: #007BFE;--academic-blue-soft: rgba(0, 123, 254, .12);--success-bg: rgba(5, 211, 128, .12);--err: #EF4444;--danger: #EF4444;--error-bg: rgba(239, 68, 68, .1);--warn: #F59E0B;--warning: #F59E0B;--warn-bg: rgba(245, 158, 11, .12);--info: #00B4D8;--info-bg: rgba(0, 180, 216, .12);--border: rgba(226, 232, 240, .9);--border-glass: rgba(255, 255, 255, .85);--border-strong: #CBD5E1;--border-focus: #007BFE;--focus-ring: 0 0 0 3px rgba(0, 123, 254, .2);--shadow: rgba(0, 80, 200, .05);--shadow-sm: 0 2px 6px rgba(0, 60, 160, .04);--shadow-md: 0 6px 18px rgba(0, 60, 160, .06);--shadow-glass: 0 10px 30px rgba(0, 102, 255, .06), 0 2px 8px rgba(0, 0, 0, .02);--shadow-float: 0 14px 36px rgba(0, 90, 220, .1);--brand-gradient-subtle: linear-gradient(135deg, rgba(0, 123, 254, .08) 0%, rgba(0, 180, 216, .05) 50%, rgba(0, 194, 159, .06) 100%);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--role-admin: #007BFE;--role-guardian: #00B4D8;--role-system: #05D380;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-family-arabic: "Tajawal", "Cairo", "IBM Plex Sans Arabic", system-ui, sans-serif;--font-family-heading: "Cairo", "Tajawal", system-ui, sans-serif;--font-size-xs: .78rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.35;--line-height-normal: 1.65;--line-height-relaxed: 1.8;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.2, 0, 0, 1);--transition-base: .24s cubic-bezier(.2, 0, 0, 1);color-scheme:light}[data-theme=light]{--bg: #F8FAFC;--bg-deep: #F1F5F9;--bg-secondary: #F1F5F9;--card: #FFFFFF;--card2: rgba(255, 255, 255, .92);--surface2: #F1F5F9;--surface3: #E2E8F0;--fg: #0F172A;--fg-secondary: #334155;--fg-inverse: #FFFFFF;--muted: #64748B;--border: rgba(226, 232, 240, .9);--border-strong: #CBD5E1;--border-focus: #007BFE;--shadow: rgba(0, 80, 200, .05);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background-color:var(--bg);background-image:radial-gradient(circle at 10% 0%,rgba(0,123,254,.08) 0%,transparent 45%),radial-gradient(circle at 90% 15%,rgba(0,194,159,.07) 0%,transparent 40%),radial-gradient(circle at 50% 60%,rgba(0,180,216,.05) 0%,transparent 50%);background-attachment:fixed;color:var(--fg);font:17px/1.65 var(--font-family-arabic);min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-family-heading);letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,button,select,textarea{font:inherit;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--fg);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}input,select{min-height:44px;padding:10px 14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--muted)}button{min-height:40px;padding:8px 16px;background:var(--accent);color:var(--fg-inverse);font-weight:700;font-size:.88rem;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%}button:hover:not(:disabled){background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.err{color:var(--err);margin:0;font-size:var(--font-size-sm);font-weight:600;background:var(--error-bg);border:1px solid rgba(245,101,101,.35);border-radius:var(--radius-md);padding:10px 14px}.muted{color:var(--muted);font-size:.92em;margin:0;text-align:center;padding:8px 0}.screen{max-width:680px;margin:0 auto;padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px));display:grid;gap:14px}.screen.admin,.admin-shell-container{max-width:1024px;margin:0 auto;padding:18px 16px calc(32px + env(safe-area-inset-bottom,0px));display:grid;gap:16px}@media (min-width: 768px){.screen{padding:24px 24px calc(32px + env(safe-area-inset-bottom,0px));gap:16px}.screen.admin,.admin-shell-container{padding:24px 28px 40px;gap:20px}}@media (min-width: 1280px){.screen.admin,.admin-shell-container{max-width:1360px;padding:28px 36px 48px;gap:24px}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#1f3a5f8c,#0f1e33eb);border:1px solid var(--border);border-radius:var(--radius-xl);padding:14px 18px;box-shadow:0 8px 24px var(--shadow)}.brand-identity{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{padding:0;width:44px;height:44px;border-radius:12px;object-fit:cover;border:1.5px solid rgba(0,123,254,.35);box-shadow:0 4px 12px #00000059;flex-shrink:0}.app-title{margin:0;font-family:var(--font-family-heading);font-size:1.25rem;font-weight:800;color:var(--accent);line-height:1.25}.icon-btn{background:var(--card2);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 14px;min-height:40px;font-size:.88rem;font-weight:600;flex-shrink:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.icon-btn:hover:not(:disabled){background:var(--surface2);border-color:var(--border-strong);color:var(--fg)}.icon-btn:active:not(:disabled){transform:translateY(1px)}.icon-btn.danger{color:#fca5a5;border-color:#f5656566;background:#f5656514}.icon-btn.danger:hover:not(:disabled){background:#f5656538;border-color:var(--err);color:#fff}.icon-btn.btn-sm{padding:5px 10px;min-height:34px;font-size:.82rem;gap:6px;border-radius:var(--radius-sm)}.icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.today-header{background:linear-gradient(135deg,#007bfe,#00b4d8 45%,#05d380);border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-xl);padding:16px 18px;display:grid;gap:10px;box-shadow:0 12px 32px #0066fe29;position:relative;overflow:hidden;color:#fff}.today-header:before{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:var(--accent)}.today-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.today-header-titles{display:flex;flex-direction:column;gap:2px}.school-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--fg-secondary);font-weight:500;line-height:1.35}.today-date-display{margin:0;font-size:var(--font-size-xs);color:var(--accent);font-weight:600;background:var(--accent-soft);border:1px solid rgba(0,123,254,.22);border-radius:var(--radius-full);padding:4px 12px;justify-self:start;display:inline-flex;align-items:center;gap:6px}.push-banner{background:linear-gradient(135deg,#3d84c829,#12233bf2);border:1px solid rgba(61,132,200,.45);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.92rem;box-shadow:0 4px 16px #00000040}.push-banner button{padding:8px 16px;min-height:38px;font-size:.85rem;border-radius:var(--radius-md);flex-shrink:0}.search-row{display:flex;align-items:center;position:relative;width:100%;margin-bottom:12px}.search-leading-icon{position:absolute;right:18px;color:#64748b;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.search-input{flex:1;width:100%;height:52px;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-full);padding:0 48px 0 16px;color:var(--fg);font-size:.95rem;font-family:inherit;box-shadow:0 3px 12px #0f172a0a;transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.search-input::placeholder{color:#94a3b8}.search-clear-btn{position:absolute;left:14px;color:var(--muted)}.child-tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px}.child-tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--card);color:var(--fg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 18px;min-height:40px;font-size:.9rem;font-weight:700;white-space:nowrap;flex-shrink:0;cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.tab:hover:not(:disabled):not(.active){background:var(--card2);color:var(--fg);border-color:var(--border-strong)}.tab.active{background:var(--accent);color:var(--fg-inverse);border-color:var(--accent);box-shadow:0 4px 14px #007bfe38}.date-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid rgba(226,232,240,.85);border-radius:20px;padding:6px;gap:8px;box-shadow:0 3px 12px #0f172a08;margin-bottom:12px}.date-nav-btn{width:48px;height:48px;border-radius:14px;border:1px solid #E2E8F0;background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.date-nav-btn:hover{background:#f8fafc;border-color:#cbd5e1}.date-nav-center{flex:1;border:1px solid #E2E8F0;border-radius:14px;padding:6px 12px;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.date-nav-center:hover{background:#f8fafc;border-color:#cbd5e1}.date-nav-num{font-size:.98rem;font-weight:800;color:#0f172a;letter-spacing:.5px;line-height:1.2}.date-nav-day{font-size:.8rem;font-weight:600;color:#64748b;line-height:1.2;margin-top:2px}.cal-popup{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:16px;box-shadow:0 12px 32px var(--shadow)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:700;font-size:1rem;color:var(--accent)}.cal-header button{background:var(--card2);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 14px;min-height:38px;font-size:1.15rem}.cal-header button:hover{border-color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{text-align:center;font-size:.78rem;color:var(--muted);font-weight:700;padding:4px 0}.cal-day{background:var(--card2);color:var(--fg);border:1px solid transparent;border-radius:var(--radius-md);padding:0;font-size:.88rem;text-align:center;height:40px;min-height:40px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;line-height:1}.cal-day:hover:not(:disabled):not(.sel){border-color:var(--border-strong);background:var(--surface2)}.cal-day:disabled,.cal-day.off{background:transparent;color:var(--faint);cursor:default}.cal-day.has-hw{font-weight:800}.cal-day.sel{background:var(--accent);color:var(--fg-inverse);border-color:var(--accent);font-weight:800}.cal-day.tod:not(.sel){border-color:var(--accent);color:var(--accent)}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent);position:absolute;bottom:4px}.cal-day.sel .dot{background:var(--fg-inverse)}.section-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px}.section-bar-between{justify-content:space-between}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);border:1px solid rgba(0,123,254,.25);border-radius:var(--radius-full);padding:5px 14px;font-size:.85rem;color:var(--accent);font-weight:700}.offline-note{background:var(--warn-bg);border:1px solid rgba(246,173,85,.45);color:var(--warn);border-radius:var(--radius-md);padding:10px 14px;font-size:.88rem;font-weight:600;margin:0;text-align:center}.notices{display:grid;gap:10px}.notice{background:linear-gradient(135deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-right:4px solid var(--academic-blue);border-radius:var(--radius-lg);padding:14px 16px;font-size:.92rem;display:grid;gap:6px;box-shadow:0 4px 14px #0003}.notice.p2{border-right-color:var(--accent);background:linear-gradient(135deg,rgba(0,123,254,.08) 0%,var(--card) 100%)}.notice.p3{border-right-color:var(--err);background:linear-gradient(135deg,rgba(245,101,101,.1) 0%,var(--card) 100%)}.notice strong{display:block;font-size:.98rem;color:var(--fg)}.notice p{margin:0;color:var(--fg-secondary);font-size:.9rem;line-height:1.6}.notice-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-header strong{flex:1}.hw-list{display:grid;gap:12px}.hw-card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:grid;gap:10px;box-shadow:0 6px 18px #030a1647;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.hw-card:hover{border-color:var(--border-strong)}.hw-card.clickable{cursor:pointer}.hw-card.clickable:hover{border-color:var(--accent);transform:translateY(-1px)}.hw-header,.hw-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hw-period-circle{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--fg-inverse);border-radius:var(--radius-full);width:30px;height:30px;font-size:.85rem;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px #007bfe38}.subject-chip,.hw-subject-name{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 14px;font-size:.86rem;font-weight:700;color:var(--fg);background:var(--surface2)}.period-badge{font-size:.8rem;color:var(--fg-secondary);font-weight:700;background:var(--surface2);border-radius:var(--radius-full);padding:3px 10px;border:1px solid var(--border)}.teacher-name,.hw-teacher-row{margin:0;font-size:.82rem;color:var(--fg-secondary);font-weight:500}.teacher-name{margin-right:auto}.hw-read-check{color:var(--success);background:var(--success-bg);border:1px solid rgba(34,197,139,.3);border-radius:var(--radius-full);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;margin-right:auto;flex-shrink:0}.hw-body{margin:0;font-size:.98rem;line-height:1.7;color:var(--fg);white-space:pre-wrap}.hw-date-label{font-size:.82rem;color:var(--muted);margin-right:auto}.attachments{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.attach-link,.attach-badge{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 12px;min-height:36px;font-size:.84rem;font-weight:600;color:var(--fg);text-decoration:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.attach-link:hover,.attach-badge:hover{border-color:var(--accent);background:var(--surface3)}.attach-item{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 10px;font-size:.84rem;color:var(--fg)}.attach-del{background:transparent;border:none;cursor:pointer;color:var(--err);font-size:.88rem;padding:4px 8px;min-width:32px;min-height:32px;line-height:1;border-radius:var(--radius-sm)}.attach-del:hover:not(:disabled){background:var(--error-bg)}.slot-error{color:var(--err);background:var(--error-bg);border:1px solid rgba(245,101,101,.35);border-radius:var(--radius-md);padding:8px 12px;font-size:.84rem;font-weight:600;margin:4px 0 0}.slot-uploading{color:var(--accent);font-size:.84rem;font-weight:600;margin:4px 0 0}.subject-select{width:100%;margin-bottom:6px}.attach-actions{display:flex;gap:6px}.attach-pending{opacity:.85;border-style:dashed}.attach-failed{border-color:var(--err);color:var(--err);background:var(--error-bg)}.attach-pending-label{font-size:.75rem;color:var(--muted);margin-right:4px;font-weight:600}.attach-retry{background:transparent;border:1px solid var(--err);color:var(--err);border-radius:var(--radius-sm);padding:4px 8px;min-width:32px;min-height:32px;font-size:.85rem;cursor:pointer;margin-right:4px}.attach-retry:hover{background:var(--error-bg)}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.auth-card{width:100%;max-width:440px;background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:22px;padding:32px 24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 20px 50px var(--shadow);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;inset-inline:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--academic-blue))}.auth-card-admin{border-color:#007bfe40;box-shadow:0 20px 50px #0050c814,0 0 24px #00b4d814}.auth-card-admin:before{background:var(--brand-gradient);height:5px}.auth-role-badge-admin{background:#007bfe1a;color:var(--accent);border:1px solid rgba(0,123,254,.25)}.auth-brand{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.auth-logo{padding:0;width:76px;height:76px;border-radius:20px;box-shadow:0 8px 24px #007bfe2e;border:2px solid rgba(0,123,254,.35);object-fit:cover}.auth-role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(0,123,254,.22)}.login-title{text-align:center;color:var(--accent);margin:0;font-size:1.55rem;font-weight:800}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:.88rem;font-weight:700;color:var(--fg-secondary)}.auth-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:700}.auth-footer a:hover{text-decoration:underline}.admin-selectors{display:flex;gap:10px;flex-wrap:wrap}.admin-select{flex:1;min-width:150px;background-color:var(--card);color:var(--fg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:11px 14px 11px 36px;font:inherit;font-size:.94rem;font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23007BFE' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 14px center}.admin-select:hover{border-color:var(--border-strong)}.admin-date{flex:1;min-width:140px;background:var(--card);color:var(--fg);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px;font:inherit;font-size:.92rem}.admin-date::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.period-list{display:grid;gap:12px}@media (min-width: 900px){.period-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.period-card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:grid;gap:10px;box-shadow:0 4px 16px #00000038}.period-card.published{border-right:4px solid var(--success)}.period-card-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.period-num{font-size:.84rem;font-weight:800;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(0,123,254,.25);border-radius:var(--radius-full);padding:3px 12px}.status-badge{font-size:.76rem;font-weight:700;border-radius:var(--radius-full);padding:3px 10px;border:1px solid transparent;margin-right:auto}.status-badge.draft{background:var(--warn-bg);color:var(--warn);border-color:#f6ad5566}.status-badge.published{background:var(--success-bg);color:var(--success);border-color:#22c58b66}.status-badge.archived{background:#7c99b824;color:var(--muted);border-color:var(--border)}.hw-textarea{width:100%;background:var(--bg);color:var(--fg);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font:inherit;font-size:.96rem;resize:vertical;min-height:76px;line-height:1.6}.hw-textarea:focus{outline:none;border-color:var(--accent)}.period-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn-save{background:var(--surface2);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 16px;min-height:40px;font-size:.85rem;font-weight:700;cursor:pointer}.btn-save:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-save:disabled{opacity:.4;cursor:default}.btn-publish{background:var(--success-bg);color:var(--success);border:1px solid rgba(34,197,139,.45);border-radius:var(--radius-md);padding:8px 16px;min-height:40px;font-size:.85rem;font-weight:700;cursor:pointer}.btn-publish:hover:not(:disabled){background:#22c58b3d}.btn-publish:disabled{opacity:.4;cursor:default}.btn-attach{display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;min-height:40px;min-width:40px;font-size:1rem;cursor:pointer;color:var(--fg);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.btn-attach:hover{border-color:var(--accent);background:var(--surface3)}.btn-del{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f5656514;color:var(--err);border:1px solid rgba(245,101,101,.35);border-radius:var(--radius-md);padding:6px 12px;min-height:34px;font-size:.82rem;font-weight:700;cursor:pointer;margin-right:auto;transition:all var(--transition-fast)}.btn-del:hover{background:#f5656538;border-color:var(--err);color:#fff}.btn-publish-all{width:100%;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:var(--fg-inverse);border:0;border-radius:var(--radius-lg);padding:14px 20px;min-height:48px;font-size:.98rem;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #007bfe33}.btn-publish-all:hover:not(:disabled){background:linear-gradient(135deg,#f0bc5e,#e0a642)}.btn-publish-all:active:not(:disabled){opacity:.9}.import-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;display:grid;gap:12px;box-shadow:0 6px 20px #00000038}.import-heading{margin:0;font-size:1.1rem;font-weight:800;color:var(--accent)}.import-divider{border:none;border-top:1px solid var(--border);margin:6px 0}.import-result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;display:grid;gap:10px}.import-stat{margin:0;font-size:.92rem}.import-errors{display:grid;gap:6px;margin-top:6px;background:var(--error-bg);border:1px solid rgba(245,101,101,.35);border-radius:var(--radius-md);padding:12px}.import-err-title{margin:0;font-size:.88rem;font-weight:700;color:var(--err)}.import-err-row{margin:0;font-size:.84rem;color:var(--err);direction:rtl}.notice-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px;display:grid;gap:12px;box-shadow:0 6px 20px #00000038}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;min-height:40px;width:fit-content;max-width:100%;border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0a0f1d;font-weight:700;box-shadow:0 4px 14px #007bfe2e}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#f0bc5e,#e0a642);box-shadow:0 6px 18px #007bfe40}.btn-secondary{background:var(--card2);color:var(--fg);border:1px solid var(--border);font-weight:600}.btn-secondary:hover:not(:disabled){background:var(--surface2);border-color:var(--border-strong);color:var(--fg)}.btn-ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);font-weight:600}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:#f565651f;color:#fca5a5;border:1px solid rgba(245,101,101,.4);font-weight:600}.btn-danger:hover:not(:disabled){background:var(--err);color:#fff;border-color:var(--err)}.btn-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(34,197,139,.45);font-weight:700}.btn-success:hover:not(:disabled){background:#22c58b3d}.btn-sm{padding:5px 12px;min-height:34px;font-size:.82rem;gap:6px;border-radius:var(--radius-sm)}.btn-lg{padding:10px 20px;min-height:44px;font-size:.95rem;gap:8px;border-radius:var(--radius-md)}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.wajibati-icon{flex-shrink:0;display:inline-block;vertical-align:middle}.u-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.u-card2{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem}.badge-gold{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(0,123,254,.22);border-radius:var(--radius-full);display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.76rem;font-weight:700}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(34,197,139,.3);border-radius:var(--radius-full);display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.76rem;font-weight:700}.badge-warn{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(246,173,85,.3);border-radius:var(--radius-full);display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.76rem;font-weight:700}.badge-muted{background:#7c99b824;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-full);display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.76rem;font-weight:700}.input{width:100%;padding:.75rem 1rem;min-height:46px;background:var(--card2);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font-family:inherit;font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--accent)}.input::placeholder{color:var(--muted)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23007BFE' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left .85rem center;padding-left:2.5rem}.stack{display:flex;flex-direction:column}.stack-sm{gap:.5rem}.stack-md{gap:1rem}.stack-lg{gap:1.5rem}.row{display:flex;align-items:center}.row-between{justify-content:space-between}.row-gap-sm{gap:.5rem}.divider{height:1px;background:var(--border);margin:.75rem 0}.heading-lg{font-size:1.4rem;font-weight:800;color:var(--fg)}.heading-md{font-size:1.12rem;font-weight:700;color:var(--fg)}.text-muted{color:var(--muted);font-size:.9rem}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-err{color:var(--err)}.homework-entry{display:grid;gap:14px}.he-controls-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:16px;display:grid;gap:12px;box-shadow:var(--shadow-sm)}@media (min-width: 768px){.he-controls-grid{display:grid;grid-template-columns:280px 1fr;gap:12px;align-items:center}}.he-summary-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.84rem;color:var(--fg-secondary)}.he-summary-metrics{display:flex;flex-wrap:wrap;gap:8px}.he-action-bar{position:sticky;top:64px;z-index:40;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;background:var(--card);padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.he-btn-draft{background:var(--card);color:var(--fg);border:1.5px solid var(--accent);border-radius:var(--radius-lg);padding:12px 16px;min-height:46px;font:inherit;font-size:.94rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.he-btn-export{background:var(--card);color:var(--accent);border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);padding:12px 16px;min-height:46px;font:inherit;font-size:.94rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .18s ease}.he-btn-export:hover:not(:disabled){background:var(--surface2);border-color:var(--accent)}.he-btn-export:disabled{opacity:.4;cursor:default}.he-btn-draft:disabled{opacity:.4;cursor:default}.he-btn-draft:hover:not(:disabled){background:var(--card2)}.he-btn-publish{border-radius:var(--radius-lg)!important;padding:12px 16px!important;min-height:46px!important;font-size:.94rem!important;justify-self:center;min-width:110px}.he-btn-draft,.he-btn-export{width:48px;min-width:48px;height:48px;padding:0!important}.he-timetable{display:grid;gap:16px}@media (min-width: 900px){.he-timetable{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}.he-period-row{display:flex;flex-direction:column;background:var(--card);border:1px solid #d5e1ed;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 3px 12px #1a385b14;transition:border-color var(--transition-fast)}.he-period-row:focus-within{border-color:var(--accent)}.he-period-meta{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(90px,1fr) auto;grid-template-areas:"period subject teacher status";align-items:center;gap:10px;padding:12px 14px;background:var(--card);border-bottom:1px solid var(--border);min-width:0}.he-period-heading{display:contents}.he-period-heading .he-status{grid-area:status;margin:0;white-space:nowrap}.he-period-heading .he-status--published{color:#08764f}.he-period-heading .he-status--draft{color:#905600}.he-period-num{grid-area:period;font-size:.8rem;font-weight:800;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(0,123,254,.22);border-radius:var(--radius-full);padding:2px 10px;align-self:center;white-space:nowrap}.he-subject-name{font-size:.92rem;font-weight:800;color:var(--fg);line-height:1.35}.he-subject-select{grid-area:subject;width:100%;min-width:0;min-height:44px;padding:8px 10px;font-size:.88rem}.he-teacher-name{grid-area:teacher;min-width:0;font-size:.84rem;color:var(--fg-secondary);line-height:1.35}@media (max-width: 1200px){.he-period-meta{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"period subject status" "teacher teacher teacher";gap:8px}}.he-period-input{padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.he-period-actions,.he-period-actions-end{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.he-period-actions{justify-content:space-between}.he-period-actions-end{margin-inline-start:auto}.he-delete-btn{width:44px;min-width:44px;min-height:44px;padding:0}.he-hw-textarea{flex:0 0 auto;border:1px solid var(--border-strong)!important;border-radius:var(--radius-md)!important;background:var(--card)!important;min-height:68px;height:80px;resize:vertical;padding:10px 12px!important}.he-hw-textarea:focus{background:var(--bg)!important;border-color:var(--accent)!important}.he-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0;align-items:center}.he-attach-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px 10px 3px 4px;font-size:.8rem;color:var(--fg);max-width:220px}.he-attach-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.he-attach-del{background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:.95rem;line-height:1;padding:4px 8px;min-width:28px;min-height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.he-attach-del:hover:not(:disabled){color:var(--err);background:var(--error-bg)}.he-upload-btn{display:inline-flex;align-items:center;gap:4px;background:#007bfe0f;border:1px solid var(--border-strong);border-radius:var(--radius-md);justify-content:center;width:44px;min-width:44px;padding:0;min-height:44px;font-size:.8rem;font-weight:600;color:var(--fg-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.he-upload-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.he-upload-btn:disabled{opacity:.45;cursor:not-allowed}.he-attach-chip--uploading{opacity:.6}.he-attach-chip--error{border-color:var(--err);color:var(--err)}.he-retry-btn{display:inline-flex;align-items:center;gap:4px;background:var(--warn-bg);border:1px dashed var(--warn);border-radius:var(--radius-full);padding:5px 12px;min-height:32px;font-size:.8rem;font-weight:700;color:var(--warn);cursor:pointer}.he-retry-btn:hover:not(:disabled){opacity:.85}.he-retry-btn:disabled{opacity:.45;cursor:not-allowed}.he-status{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border-radius:var(--radius-full);padding:2px 9px;border:1px solid transparent;margin-top:auto;align-self:flex-start}.he-status--empty{background:#7c99b81f;color:var(--muted);border-color:var(--border)}.he-status--draft{background:var(--warn-bg);color:var(--warn);border-color:#f6ad5573}.he-status--published{background:var(--success-bg);color:var(--success);border-color:#22c58b73}@keyframes skel-pulse{0%,to{opacity:.35}50%{opacity:.65}}.hw-skeleton{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3);animation:skel-pulse 1.6s ease-in-out infinite}.skel-line{height:13px;border-radius:var(--radius-full);background:var(--faint)}.skel-short{width:42%}.skel-long{width:100%}.skel-medium{width:68%}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);text-align:center;background:var(--card);border:1px dashed var(--border);border-radius:var(--radius-xl)}.empty-icon{font-size:2.6rem;line-height:1}.empty-msg{margin:0;color:var(--fg-secondary);font-size:var(--font-size-base);font-weight:600}.today{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.guardian-header{background:linear-gradient(135deg,#fffffff0,#f0f6fee0);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:12px 16px;box-shadow:var(--shadow-glass);display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;position:relative;overflow:hidden;transition:all var(--transition-base)}.guardian-header:before{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:var(--brand-gradient)}.guardian-header--brand{background:linear-gradient(135deg,#007bfe,#00b4d8 45%,#00c29f);border:1px solid rgba(255,255,255,.45);border-radius:26px;padding:18px 20px;box-shadow:0 10px 30px #007bfe38;color:#fff}.guardian-header--brand:before{display:none}.guardian-header--brand .guardian-header-title{color:#fff;font-size:1.85rem;font-weight:900;line-height:1.15}.guardian-header--brand .guardian-header-subtitle{color:#fffffff2;font-size:.95rem;font-weight:600;margin-top:4px}.guardian-header-start{display:flex;align-items:center;gap:14px;min-width:0}.guardian-header-logo-wrap{width:58px;height:58px;border-radius:18px;background:#ffffff38;border:2px solid rgba(255,255,255,.5);box-shadow:0 4px 16px #00c29f40;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.guardian-header-logo-wrap .brand-logo{width:100%;height:100%;object-fit:cover;border-radius:16px;border:none;box-shadow:none}.guardian-header-logo{width:38px;height:38px;border-radius:10px;box-shadow:0 4px 10px #0050c81f;border:1px solid rgba(255,255,255,.7);flex-shrink:0;object-fit:cover}.guardian-header-back-btn{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card2);color:var(--fg);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.guardian-header-back-btn:hover{background:var(--surface2);border-color:var(--accent);color:var(--accent)}.guardian-header--brand .guardian-header-back-btn{background:#fff3;border-color:#fff6;color:#fff}.guardian-header--brand .guardian-header-back-btn:hover{background:#ffffff52;border-color:#fff}.guardian-header-titles{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:right}.guardian-header-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.guardian-header-title{margin:0;font-size:1.22rem;font-weight:800;color:var(--fg);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guardian-header-subtitle{margin:0;font-size:.8rem;font-weight:500;color:var(--fg-secondary);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guardian-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.bottom-nav-bar{position:fixed;bottom:0;inset-inline:0;z-index:60;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(226,232,240,.85);border-radius:26px 26px 0 0;box-shadow:0 -4px 24px #0f172a0f;padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px));padding-inline:max(12px,env(safe-area-inset-left,0px))}.bottom-nav-grid{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;align-items:center}.bottom-nav-item{background:none;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50px;min-width:44px;cursor:pointer;border-radius:var(--radius-md);padding:4px 2px;gap:3px;position:relative;transition:all var(--transition-fast);width:100%}.bottom-nav-item:hover{color:var(--fg);background:var(--surface2)}.bottom-nav-item.active{color:var(--accent);background:none;font-weight:700}.bottom-nav-item.active:after{content:"";position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.bottom-nav-label{font-size:.72rem;line-height:1.1;font-weight:600;letter-spacing:-.01em}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:90;animation:fadeIn .2s ease-out}.sheet-container{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0px));left:12px;right:12px;max-width:480px;margin:0 auto;background:#fffffffa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-float);padding:14px 16px 18px;z-index:95;animation:drawerSlideUp .24s cubic-bezier(.16,1,.3,1)}.sheet-handle{width:36px;height:4px;border-radius:var(--radius-full);background:var(--border-strong);margin:0 auto 10px}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.sheet-title{font-size:.94rem;font-weight:800;color:var(--fg);margin:0}.sheet-actions-list{display:flex;flex-direction:column;gap:8px}.sheet-action-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface2);color:var(--fg);cursor:pointer;font-size:.9rem;font-weight:600;font-family:inherit;text-align:right;transition:all var(--transition-fast)}.sheet-action-btn:hover:not(:disabled){border-color:var(--accent);background:var(--card);transform:translateY(-1px)}.sheet-action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.sheet-action-btn--primary{border-color:#007bfe40;background:#007bfe14;color:var(--accent)}.sheet-action-btn--danger{border-color:#ef444440;background:#ef444414;color:var(--danger)}.student-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;padding:12px 18px!important;background:#fff!important;border:1px solid rgba(226,232,240,.85)!important;border-radius:20px!important;box-shadow:0 3px 12px #0f172a08!important;gap:12px!important;margin:10px 0 14px!important}.student-bar-info{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex-shrink:1!important}.student-bar-avatar{width:34px!important;height:34px!important;border-radius:50%!important;background:#f1f5f9!important;color:#64748b!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}.student-bar-name{font-size:.95rem!important;font-weight:800!important;color:#0f172a!important;white-space:nowrap!important}.student-bar-badge{font-size:.84rem!important;font-weight:700!important;background:#007bfe14!important;color:#007bfe!important;border:1px solid rgba(0,123,254,.22)!important;padding:6px 14px!important;border-radius:10px!important;white-space:nowrap!important;flex-shrink:0!important}.timetable-day-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}.timetable-day-btn{padding:8px 4px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--fg-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:inherit;min-height:48px;position:relative;transition:all var(--transition-fast)}.timetable-day-btn:hover:not(:disabled):not(.active){background:var(--card2);border-color:var(--border-strong);color:var(--fg)}.timetable-day-btn.active{background:var(--brand-gradient);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px #007bfe40}.timetable-day-btn.is-smart:not(.active){border-color:#007bfe66;background:var(--accent-soft);color:var(--accent)}.timetable-day-label{font-size:.85rem;font-weight:700}.timetable-day-smart-tag{font-size:.65rem;font-weight:700;color:#fffffff2}.timetable-day-btn:not(.active) .timetable-day-smart-tag{color:var(--accent)}.info-banner{background:var(--accent-soft);border:1px solid rgba(0,123,254,.25);border-radius:var(--radius-lg);padding:14px 18px;display:flex;gap:12px;align-items:flex-start;color:var(--fg)}.info-banner-icon{color:var(--accent);margin-top:2px;flex-shrink:0}.info-banner-content{font-size:.9rem;line-height:1.6;color:var(--fg)}.info-banner-title{display:block;color:var(--accent);font-weight:800;margin-bottom:2px}.sheet-action-btn--danger:hover{background:#ef444424;border-color:var(--danger)}.bottom-bar{display:none}.master-import{display:grid;gap:16px}.master-template{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;margin:6px 0;text-align:center;text-decoration:none;border-color:var(--accent);color:var(--accent)}.master-picker{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;width:fit-content;max-width:100%}.master-warning{background:var(--accent-soft);border:1px solid rgba(0,123,254,.35);border-radius:var(--radius-md);padding:12px 14px;color:var(--fg);font-size:.9rem;line-height:1.7;margin:0}.master-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0;direction:ltr}.master-counts span{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;font-size:.88rem}.master-ok{color:var(--success);background:var(--success-bg);border:1px solid rgba(34,197,139,.35);border-radius:var(--radius-md);padding:10px 14px;font-weight:700;margin:0}.master-steps{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px;line-height:1.75}.master-steps p{margin:4px 0;font-size:.92rem}.master-confirm{display:flex;align-items:flex-start;gap:10px;margin:12px 0;line-height:1.6;cursor:pointer;background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}.master-confirm input{width:20px;height:20px;min-height:20px;margin-top:3px;flex:0 0 auto;accent-color:var(--accent)}.master-data{display:grid;gap:16px}.master-mode,.master-entities{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.master-mode::-webkit-scrollbar,.master-entities::-webkit-scrollbar{display:none}.master-mode button,.master-entities button{border:1px solid var(--border);background:var(--card);color:var(--fg-secondary);border-radius:var(--radius-full);padding:9px 16px;min-height:40px;white-space:nowrap;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.master-mode button:hover:not(.active),.master-entities button:hover:not(.active){background:var(--card2);color:var(--fg)}.master-mode button.active,.master-entities button.active{background:var(--accent);color:var(--fg-inverse);border-color:var(--accent);font-weight:800}.master-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 18px}.master-toolbar h2{margin:0;font-size:1.15rem;color:var(--accent)}.master-toolbar .btn-publish-all{width:auto;padding:10px 20px;min-height:42px}.master-form{display:grid;gap:14px;padding:18px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:0 8px 24px #00000047}@media (min-width: 768px){.master-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.master-form label{display:grid;gap:6px;font-weight:700;font-size:.88rem;color:var(--fg-secondary)}.master-form input,.master-form select{min-height:44px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--fg);padding:9px 12px;font:inherit}.master-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:4px}.master-form-actions button{min-height:40px;width:fit-content}.master-list{display:grid;gap:10px}@media (min-width: 768px){.master-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.master-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;transition:border-color var(--transition-fast)}.master-list article:hover{border-color:var(--border-strong)}.master-list article>div:last-child{display:flex;gap:8px;flex-shrink:0}.master-list small{display:inline-block;color:var(--warn);background:var(--warn-bg);border:1px solid rgba(246,173,85,.35);border-radius:var(--radius-full);padding:2px 8px;font-size:.72rem;font-weight:700;margin-top:4px}.he-btn-publish--sm{font-size:.75rem!important;padding:4px 10px!important;min-height:28px!important;margin-top:4px;align-self:flex-start;width:auto!important}.hw-attach-thumb-btn{position:relative;display:inline-block;border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden;padding:0;background:var(--card2);cursor:pointer;width:76px;height:76px;transition:border-color var(--transition-fast),transform var(--transition-fast)}.hw-attach-thumb-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.hw-attach-thumb{width:100%;height:100%;object-fit:cover;display:block}.hw-attach-zoom{position:absolute;bottom:3px;left:3px;background:#08152ac7;border-radius:6px;padding:1px 4px;font-size:.7rem;line-height:1.2}.hw-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#040a16e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.hw-lightbox-close{position:absolute;top:16px;left:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--fg);font-size:1.1rem;cursor:pointer}.hw-lightbox-img{max-width:min(92vw,900px);max-height:76vh;border-radius:var(--radius-lg);box-shadow:0 20px 50px #0009;object-fit:contain}.hw-lightbox-dl{background:var(--accent);color:#0a0f1d;font-weight:800;text-decoration:none;padding:8px 18px;border-radius:var(--radius-full);font-size:.9rem}.dash-home,.dash-page{display:grid;gap:16px}.dash-school-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:18px 20px;box-shadow:0 4px 16px var(--shadow)}.dash-logo{width:54px;height:54px;border-radius:16px;border:2px solid rgba(0,123,254,.25);box-shadow:0 2px 8px #00c29f33;background:var(--surface2);object-fit:cover;flex-shrink:0}.dash-school-name{margin:0;font-size:1.2rem;font-weight:800;color:var(--accent)}.dash-school-meta{margin:3px 0 0;font-size:.85rem;color:var(--fg-secondary)}.dash-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width: 640px){.dash-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.dash-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.dash-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 12px;cursor:pointer;color:var(--fg);font-family:inherit;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 4px 14px #0003}.dash-stat-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 22px #0000004d}.dash-stat-icon{font-size:1.5rem;line-height:1}.dash-stat-value{font-size:1.65rem;font-weight:900;color:var(--accent);line-height:1.1}.dash-stat-label{font-size:.82rem;font-weight:700;color:var(--fg-secondary)}.dash-actions-row{display:grid;gap:12px}@media (min-width: 768px){.dash-actions-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-action-card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-right:4px solid var(--accent);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.dash-action-card:hover{border-color:var(--accent);transform:translateY(-1px)}.dash-action-card h3{margin:0 0 6px;font-size:1.02rem;color:var(--fg)}.dash-action-card p{margin:0;font-size:.86rem}.dash-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:16px 18px;display:grid;gap:12px}.dash-section-title,.dash-page-title{margin:0;font-size:1.1rem;font-weight:800;color:var(--accent)}.dash-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 18px}.dash-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dash-filters .search-input{flex:1;min-width:200px}.dash-form{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:18px;display:grid;gap:14px}.dash-form-title{margin:0;font-size:1rem;color:var(--accent)}.dash-form-grid{display:grid;gap:12px}@media (min-width: 768px){.dash-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-form label{display:grid;gap:6px;font-size:.86rem;font-weight:700;color:var(--fg-secondary)}.dash-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dash-form-actions button{width:fit-content}.dash-table-wrap,.tt-grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}.dash-table,.tt-grid{width:100%;border-collapse:collapse;font-size:.88rem}.dash-table th,.dash-table td,.tt-grid th,.tt-grid td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle}.dash-table th,.tt-grid th{background:#0f1e33d9;color:var(--accent);font-weight:800;white-space:nowrap}.dash-row-inactive{opacity:.55}.dash-color-dot{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.dash-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-full);font-size:.74rem;font-weight:700}.dash-badge--ok{background:var(--success-bg);color:var(--success);border:1px solid rgba(34,197,139,.35)}.dash-badge--off{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(246,173,85,.35)}.dash-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.dash-sec-card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:grid;gap:8px}.dash-sec-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-sec-name{font-size:1rem;color:var(--fg)}.dash-sec-meta{display:flex;justify-content:space-between;font-size:.84rem}.tt-day-label{font-weight:800;color:#194c78;background:#edf4fb;white-space:nowrap}.tt-grid{width:max(100%,1260px);table-layout:fixed}.tt-grid .tt-corner{width:120px}.dash-toolbar .tt-section-select{width:240px;max-width:100%;flex:0 1 240px}.tt-scroll-hint{margin:-8px 0 -10px;color:var(--fg-secondary);font-size:.85rem}@media (min-width: 1600px){.tt-scroll-hint{display:none}}.tt-grid th{background:#253b56;color:#fff;font-size:.94rem}.tt-cell{min-width:180px;border-left:1px solid var(--border);transition:background-color var(--transition-fast)}.tt-cell.clickable{cursor:pointer}.tt-cell.clickable:hover{background:var(--card2)}.tt-cell-button{display:block;width:100%;min-height:48px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:right;cursor:pointer}.tt-cell-button:hover:not(:disabled){background:#edf5ff;color:var(--fg)}.tt-cell-button:hover .tt-subj{color:#005bbd}.tt-cell-button:active:not(:disabled){transform:none}.tt-inline-edit{display:grid;min-width:0;gap:6px}.tt-inline-edit .tt-inline-select{width:100%;min-width:0;min-height:40px;padding:6px 8px;padding-inline-end:32px;font-size:.9rem}.tt-inline-edit .tt-subject-field,.tt-readonly-field.tt-subject-field{background-color:#f1f7ff;color:#173d64;border-color:#cadff4;font-weight:700}.tt-inline-edit .tt-teacher-field,.tt-readonly-field.tt-teacher-field{background-color:#f8fafc;color:#344960;border-color:#dce5ee;font-weight:500;font-size:.84rem}.tt-readonly-field{display:block;min-height:40px;padding:8px 10px;border:1px solid;border-radius:var(--radius-md);overflow-wrap:anywhere}.tt-edit-hint{margin:-8px 0 -10px;color:#18598f;font-size:.85rem}.tt-inline-actions{display:flex;gap:5px}.tt-inline-actions button{display:inline-flex;align-items:center;justify-content:center;flex:1;gap:2px;min-height:40px;padding:5px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-size:.78rem;cursor:pointer}.tt-inline-actions .tt-inline-save{background:var(--accent);border-color:var(--accent);color:#fff}.tt-inline-actions button:disabled{opacity:.6;cursor:wait}.tt-subj{display:block;font-size:.96rem;line-height:1.5;color:var(--fg)}.tt-teach{display:block;font-size:.86rem;color:var(--fg-secondary);line-height:1.55;margin-top:4px;overflow-wrap:anywhere}.tt-empty{color:var(--faint)}.dash-page{display:grid;gap:20px;direction:rtl}.dash-header{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px var(--shadow)}.dash-header__icon{font-size:2rem;line-height:1}.dash-header__title{margin:0;font-size:1.2rem;font-weight:800;color:var(--accent)}.dash-header__sub{margin:3px 0 0;font-size:.85rem;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.dash-card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--border);border-radius:16px;padding:20px 16px;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);color:var(--fg);font:inherit}.dash-card:hover{border-color:var(--accent);background:var(--card2);transform:translateY(-2px)}.dash-card__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface2);color:var(--accent);transition:all var(--transition-fast)}.dash-card:hover .dash-card__icon{background:var(--accent-soft);color:var(--accent-hover);transform:scale(1.06)}.dash-card__label{font-weight:700;font-size:.95rem}.dash-card__stat{font-size:.78rem;color:var(--muted)}.dash-table-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.dash-table-card__head{padding:14px 18px;border-bottom:1px solid var(--border)}.dash-table-card__title{margin:0;font-size:1rem;font-weight:700}.dash-table-card__empty{padding:16px 18px}.dash-table-scroll{overflow-x:auto}.dash-table__name{font-weight:600}.dash-table__muted{color:var(--muted)}.dash-table__note{margin:0;padding:8px 16px 12px;font-size:.75rem;color:var(--faint)}.archive-wrap{max-width:720px;margin:0 auto;display:grid;gap:14px}.archive-sticky-head{position:sticky;top:0;z-index:10}.archive-title{margin:0;font-size:1.15rem;font-weight:800}.archive-section-label{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.archive-head-actions{display:flex;gap:8px;align-items:center}.archive-body{display:grid;gap:12px;align-content:start}.archive-list{display:grid;gap:10px}.archive-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.archive-tabs::-webkit-scrollbar{display:none}.archive-tab{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:6px 14px;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.archive-tab.active,.archive-tab--active{background:var(--accent);color:#0a0f1d;border-color:var(--accent)}.archive-entry{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:grid;gap:8px}.archive-entry__date{font-size:.78rem;color:var(--muted)}.archive-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.archive-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;border:1px solid var(--border);background:var(--card2);color:var(--accent)}.archive-chip--muted{color:var(--muted);font-weight:600}.archive-entry__teacher{font-size:.8rem;color:var(--muted)}.archive-entry__body{margin:0;font-size:.95rem;line-height:1.65}.archive-load-more{background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--fg);padding:12px;font:inherit;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:border-color var(--transition-fast)}.archive-load-more:hover{border-color:var(--accent)}.archive-load-more:disabled{cursor:default;opacity:.6}.archive-skel{height:14px;border-radius:6px;background:var(--surface3);animation:pulse 1.4s ease infinite}.archive-skel--w45{width:45%;height:18px}.archive-skel--w80{width:80%}.archive-skel--w60{width:60%}@media (max-width: 480px){body{font-size:16px}.he-period-meta{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"period subject status" "teacher teacher teacher";gap:8px;padding:12px}.he-period-num{font-size:.82rem}.he-action-bar{position:static;gap:6px}.he-btn-draft,.he-btn-publish,.he-btn-export{padding:10px 8px;font-size:.85rem}.admin-select{font-size:.88rem}.dash-grid{grid-template-columns:repeat(2,1fr)}.master-entities button,.master-mode button{padding:8px 10px;font-size:.82rem}}.admin-shell-layout{display:flex;min-height:100vh;width:100%;background:var(--bg);color:var(--fg);position:relative;overflow-x:hidden}.admin-sidebar{position:fixed;top:0;right:0;bottom:0;width:260px;background:#0f172a;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:100;transition:width .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:-4px 0 20px #00000026}.admin-sidebar.collapsed{width:72px}.admin-sidebar-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.admin-sidebar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);overflow:hidden;white-space:nowrap}.admin-sidebar-logo{padding:0;width:38px;height:38px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #00c29f40;border:1.5px solid rgba(255,255,255,.4)}.admin-sidebar-brand-text{display:flex;flex-direction:column;transition:opacity .15s ease}.admin-sidebar.collapsed .admin-sidebar-brand-text{opacity:0;pointer-events:none;display:none}.admin-sidebar-title{font-family:var(--font-family-heading);font-size:1rem;font-weight:700;color:#fff;margin:0;line-height:1.2}.admin-sidebar-subtitle{font-size:.72rem;color:#b5c4d8;margin:0}.admin-sidebar-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.admin-sidebar-toggle:hover{background:var(--surface2);color:var(--accent);border-color:var(--accent-dim)}@media (min-width: 1024px){.admin-sidebar.collapsed .admin-sidebar-header{height:auto;min-height:96px;padding:10px 0;flex-direction:column;justify-content:center;gap:8px}.admin-sidebar.collapsed .admin-sidebar-brand{flex:0 0 auto;overflow:visible}.admin-sidebar.collapsed .admin-sidebar-toggle{min-width:36px;min-height:36px}}.admin-sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:4px}.admin-sidebar-nav::-webkit-scrollbar{width:4px}.admin-sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#d0dbe9;text-decoration:none;border-radius:8px;font-size:.88rem;font-weight:500;transition:all .18s ease;white-space:nowrap;position:relative}.admin-nav-item:hover{background:#ffffff0d;color:#fff}.admin-nav-item.active{background:var(--surface2);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.admin-sidebar.collapsed .admin-nav-item{justify-content:center;padding:12px 0}.admin-sidebar.collapsed .admin-nav-item span{display:none}.admin-nav-group{display:flex;flex-direction:column}.admin-nav-sublinks{display:flex;flex-direction:column;margin-right:32px;padding-right:8px;border-right:1px dashed var(--border);gap:2px;margin-top:2px;margin-bottom:6px}.admin-sidebar.collapsed .admin-nav-sublinks{display:none}.admin-nav-sublink{font-size:.8rem;padding:6px 10px;color:#b5c4d8;text-decoration:none;border-radius:6px;transition:all .15s ease;white-space:nowrap}.admin-nav-sublink:hover{color:#fff;background:#ffffff0a}.admin-nav-sublink.active{color:var(--accent);font-weight:600;background:#007bfe14}.admin-sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:10px;background:#090e1a;flex-shrink:0}.admin-sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:hidden}.admin-sidebar.collapsed .admin-sidebar-user{display:none}.admin-sidebar-logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border-radius:6px;background:transparent;border:1px solid var(--border);color:#d0dbe9;font-size:.85rem;cursor:pointer;transition:all .2s ease}.admin-sidebar-logout-btn:hover{background:#f565651f;color:#fca5a5;border-color:#f565654d}.admin-sidebar.collapsed .admin-sidebar-logout-btn span{display:none}.admin-main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;margin-right:260px;transition:margin-right .22s cubic-bezier(.4,0,.2,1);min-height:100vh}.admin-main-wrapper.sidebar-collapsed{margin-right:72px}.admin-top-bar{height:64px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 3px #0000000a}.admin-top-bar-start{display:flex;align-items:center;gap:14px}.admin-top-bar-end{display:flex;align-items:center;gap:12px}.admin-breadcrumb-wrap{display:flex;align-items:center;gap:8px}.admin-breadcrumb-section{font-size:.82rem;font-weight:600;color:var(--accent);background:#007bfe14;border:1px solid rgba(0,123,254,.16);padding:3px 10px;border-radius:6px}.admin-breadcrumb-sep{color:var(--faint);font-size:.85rem}.admin-breadcrumb-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--fg)}.admin-mobile-menu-btn{display:none;background:transparent;border:1px solid var(--border);color:var(--fg);padding:10px 12px;min-width:44px;min-height:44px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;transition:all .18s ease}.admin-mobile-menu-btn:hover{background:var(--surface2);color:var(--accent)}.admin-content-area{flex:1;padding:24px 28px 48px;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}.admin-subnav-pills{display:flex;align-items:center;gap:8px;margin-bottom:20px;overflow-x:auto;border-bottom:1px solid var(--border);padding-bottom:12px}.admin-subnav-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;background:var(--card);border:1px solid var(--border);color:var(--fg-secondary);font-size:.85rem;font-weight:600;text-decoration:none;transition:all .18s ease;white-space:nowrap}.admin-subnav-pill:hover{background:var(--surface2);color:var(--fg);border-color:var(--border-strong)}.admin-subnav-pill.active{background:var(--accent);color:var(--fg-inverse);border-color:var(--accent);box-shadow:0 2px 8px #007bfe33}.admin-mobile-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#030a16b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90}@media (max-width: 1023px){.admin-sidebar{transform:translate(100%);box-shadow:none;visibility:hidden;pointer-events:none;width:280px!important}.admin-sidebar.mobile-open{transform:translate(0);box-shadow:-8px 0 28px #0009;visibility:visible;pointer-events:auto}.admin-sidebar.collapsed{width:280px!important}.admin-sidebar.collapsed .admin-sidebar-brand-text,.admin-sidebar.collapsed .admin-nav-item span,.admin-sidebar.collapsed .admin-nav-sublinks,.admin-sidebar.collapsed .admin-sidebar-user,.admin-sidebar.collapsed .admin-sidebar-logout-btn span{display:flex!important;opacity:1!important}.admin-sidebar.collapsed .admin-nav-item{justify-content:flex-start!important;padding:10px 14px!important}.admin-sidebar-toggle{display:none}.admin-main-wrapper{margin-right:0!important}.admin-mobile-menu-btn{display:inline-flex}.admin-mobile-backdrop.open{display:block}.admin-top-bar{padding:0 12px}.admin-breadcrumb-section,.admin-breadcrumb-sep{display:none}.admin-breadcrumb-title{font-size:.92rem;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-content-area{padding:16px 14px 36px}.admin-sidebar-footer{padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}}@media (max-width: 520px){.admin-top-bar-end .badge-muted{display:none!important}}@media (max-width: 375px){.admin-top-bar{padding:0 8px}.admin-top-bar-end{gap:6px}.admin-breadcrumb-title{max-width:110px}.admin-content-area{padding:12px 10px 28px}}@keyframes sheetSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalScaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (min-width: 640px){.export-sheet-container{border-radius:20px!important;margin-bottom:auto!important;margin-top:auto!important;animation:modalScaleIn .18s ease-out!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.export-sheet-container,.spinning{animation:none!important}}.subject-grid-container{width:100%;margin-top:10px}.period-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}@media (min-width: 768px){.period-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media (max-width: 375px){.period-grid{gap:8px}}.period-card{background:var(--card2, #182A45);border:1px solid var(--border, #263B5C);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;justify-content:space-between;min-height:105px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;position:relative;text-align:right;-webkit-user-select:none;user-select:none}.period-card:hover{border-color:#007bfe4d;transform:translateY(-1px)}.period-card:active{transform:scale(.98)}.period-card.active{border-color:var(--accent, #38BDF8);box-shadow:0 0 0 2px #007bfe33}.period-card.has-homework{border-color:#007bfe40}.period-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.period-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#0f1e33d9;border:1px solid var(--border, #263B5C);font-size:.8rem;font-weight:800;color:var(--accent, #38BDF8);flex-shrink:0}.period-subject-chip{font-size:.85rem;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}@media (max-width: 375px){.period-subject-chip{font-size:.78rem;max-width:90px;padding:1px 6px}}.period-card-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.period-teacher-name{font-size:.75rem;color:var(--fg-muted, #94A3B8);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-hw-status{display:flex;flex-direction:column;gap:4px;margin-top:4px}.hw-status-badge{display:inline-block;align-self:flex-start;font-size:.74rem;font-weight:700;padding:2px 7px;border-radius:5px}.hw-status-badge.has-hw{background:#007bfe1f;color:var(--accent, #38BDF8);border:1px solid rgba(0,123,254,.25)}.hw-status-badge.no-hw{background:#94a3b81a;color:var(--fg-muted, #94A3B8);border:1px solid rgba(148,163,184,.2)}.hw-preview-text{font-size:.72rem;color:var(--fg, #E2E8F0);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}.period-card-footer{margin-top:6px;display:flex;align-items:center;justify-content:flex-end}.attachment-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);border-radius:4px;padding:1px 6px}.period-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}@media (min-width: 768px){.period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.period-card--compact{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;box-sizing:border-box;min-width:0;min-height:64px;padding:12px;align-items:center;justify-content:center;border-inline-start-width:3px;border-inline-start-style:solid;font:inherit;text-align:center;line-height:1.35}.period-card--master{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;box-sizing:border-box;min-width:0;min-height:58px!important;max-height:66px;padding:10px 14px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;background:#fff!important;border-radius:20px!important;border-width:1.5px!important;border-style:solid!important;box-shadow:0 3px 12px #0f172a0a!important;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;font:inherit;margin:0}.period-card--master:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f172a14!important}.period-card--master:active{transform:scale(.98)}.period-card--master.active{box-shadow:0 0 0 3px var(--focus-ring),0 6px 18px #007bfe29!important}.period-card--master .period-card-subject{font-size:.94rem!important;font-weight:800!important;color:#0f172a!important;text-align:right;flex:1;white-space:nowrap!important;line-height:1.25}.period-card--master .period-card-icon-wrap{width:38px!important;height:38px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;margin-inline-start:8px}.period-card--compact .period-card-subject{display:block;width:100%;overflow-wrap:anywhere;font-weight:750;color:var(--fg, #E2E8F0)}.period-card--compact:focus-visible{outline:3px solid var(--accent, #38BDF8);outline-offset:2px}@media (max-width: 375px){.period-card--compact{min-height:56px;padding:9px 7px;font-size:.9rem}}@media (prefers-reduced-motion: reduce){.period-card--compact{transition:none}}.period-card.skeleton{cursor:default;background:#fff;border:1px solid rgba(226,232,240,.85);border-radius:20px;min-height:64px}.skeleton-header{display:flex;align-items:center;justify-content:space-between}.skeleton-circle{width:40px;height:40px;border-radius:50%;background:#007bfe14;animation:skel-pulse 1.4s ease-in-out infinite}.skeleton-pill{width:70px;height:20px;border-radius:8px;background:#cbd5e166;animation:skel-pulse 1.4s ease-in-out infinite}.skeleton-body{margin-top:14px;display:flex;flex-direction:column;gap:6px}.skeleton-line{height:12px;border-radius:4px;background:#ffffff0f;animation:skel-pulse 1.4s ease-in-out infinite}.skeleton-line.short{width:50%}.skeleton-line.long{width:85%}.schedule-error-card{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px;text-align:center;margin:12px 0}.schedule-error-text{color:#fca5a5;font-size:.88rem;margin-bottom:12px}.schedule-retry-btn{background:var(--accent, #38BDF8);color:#11192a;border:none;border-radius:8px;padding:6px 16px;font-weight:700;font-size:.85rem;cursor:pointer}.timetable-notice-banner{background:#38bdf81a;border:1px solid rgba(56,189,248,.25);color:#38bdf8;border-radius:8px;padding:8px 12px;font-size:.82rem;margin-bottom:10px;text-align:right}.unmatched-hw-section{margin-top:18px;border-top:1px solid var(--border, #263B5C);padding-top:14px}.unmatched-hw-title{font-size:.9rem;color:var(--fg-muted, #94A3B8);margin:0 0 10px;font-weight:700}.unmatched-hw-list{display:flex;flex-direction:column;gap:8px}.unmatched-hw-card{background:var(--card2, #182A45);border:1px solid var(--border, #263B5C);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:right}.unmatched-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.unmatched-reason-badge{font-size:.72rem;color:#f59e0b;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:4px;padding:1px 6px}.unmatched-body-preview{font-size:.82rem;color:var(--fg, #E2E8F0);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000}.period-drawer-sheet{position:fixed;bottom:0;left:0;right:0;max-height:85dvh;background:#fffffff5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.9);border-top-left-radius:24px;border-top-right-radius:24px;z-index:1001;display:flex;flex-direction:column;padding:14px 18px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px #0050c81f;animation:sheetSlideUp .22s ease-out}@media (min-width: 640px){.period-drawer-sheet{max-width:540px;margin:auto;bottom:auto;top:50%;transform:translateY(-50%);border-radius:20px;border:1px solid var(--border, #263B5C);max-height:80vh;animation:modalScaleIn .2s ease-out}}.drawer-drag-handle{width:36px;height:4px;border-radius:2px;background:#94a3b880;margin:0 auto 12px}@media (min-width: 640px){.drawer-drag-handle{display:none}}.drawer-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border, #263B5C);padding-bottom:12px;margin-bottom:12px}.drawer-header-start{display:flex;align-items:center;gap:12px}.drawer-back-btn{background:#ffffff14;border:1px solid var(--border, #263B5C);color:var(--fg, #E2E8F0);border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;min-height:38px}.drawer-back-btn:active{background:#ffffff26}.drawer-title-group{display:flex;align-items:center;gap:8px}.drawer-period-pill{font-size:.8rem;font-weight:800;padding:2px 8px;border-radius:6px;color:var(--accent, #38BDF8);border:1px solid rgba(0,123,254,.3)}.drawer-subject-title{margin:0;font-size:1.25rem;font-weight:800;color:#0f172a}.drawer-close-btn{background:transparent;border:none;color:var(--fg-muted, #94A3B8);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.drawer-close-btn:hover{color:#fff}.drawer-body-content{overflow-y:auto;flex:1;padding-right:4px}.drawer-meta-row{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--fg-muted, #94A3B8);margin-bottom:12px}.drawer-meta-value{color:var(--fg, #E2E8F0);font-weight:700}.drawer-mismatch-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b;border-radius:8px;padding:8px 12px;font-size:.8rem;margin-bottom:12px}.drawer-section{margin-bottom:16px}.drawer-section-title{font-size:.85rem;color:var(--fg-muted, #94A3B8);margin:0 0 8px;font-weight:700}.drawer-homework-text{background:#f8fafc;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:16px 18px;font-size:.95rem;line-height:1.75;color:#1e293b;word-break:break-word;white-space:pre-wrap}.drawer-homework-text p{margin:0}.drawer-empty-hw{background:var(--card2, #182A45);border:1px solid var(--border, #263B5C);border-radius:12px;padding:14px 16px;font-size:.88rem;color:var(--fg-muted, #94A3B8);text-align:center}.drawer-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.drawer-attach-img-card{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border, #263B5C)}.drawer-img-thumb-btn{background:none;border:none;padding:0;cursor:pointer;display:block;width:100%}.drawer-img-thumb{width:100%;height:90px;object-fit:cover;display:block}.drawer-img-zoom-hint{position:absolute;bottom:4px;right:4px;background:#000000b3;color:#fff;font-size:.68rem;padding:2px 6px;border-radius:4px}.drawer-attach-file-btn{display:flex;align-items:center;gap:8px;background:var(--card2, #182A45);border:1px solid var(--border, #263B5C);border-radius:8px;padding:10px 12px;color:var(--accent, #38BDF8);text-decoration:none;font-size:.82rem;font-weight:700}.drawer-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px}.drawer-lightbox-img{max-width:95%;max-height:90vh;border-radius:10px;object-fit:contain}.drawer-lightbox-close{position:absolute;top:16px;left:16px;background:#ffffff26;border:none;color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}@media (max-width: 360px){.screen{padding-inline:8px;gap:8px}.guardian-header--brand{padding:12px 14px!important;border-radius:18px!important}.guardian-header--brand .guardian-header-title{font-size:1.4rem!important}.guardian-header--brand .guardian-header-subtitle{font-size:.8rem!important}.guardian-header-logo-wrap{width:44px!important;height:44px!important;border-radius:14px!important}.search-row .search-input{height:46px!important;padding:0 40px 0 12px!important;font-size:.88rem!important}.search-leading-icon{right:12px!important}.date-nav{padding:4px!important;border-radius:16px!important;gap:4px!important}.date-nav-btn{width:40px!important;height:40px!important;border-radius:10px!important}.date-nav-center{min-height:40px!important;padding:4px 6px!important}.date-nav-num{font-size:.86rem!important}.date-nav-day{font-size:.72rem!important}.student-bar{padding:8px 10px!important;border-radius:16px!important;gap:6px!important}.student-bar-name{font-size:.84rem!important}.student-bar-badge{padding:4px 8px!important;font-size:.75rem!important}.period-grid{gap:8px!important}.period-card--master{padding:8px 10px!important;border-radius:16px!important;min-height:52px!important}.period-card--master .period-card-subject{font-size:.82rem!important}.period-card--master .period-card-icon-wrap{width:32px!important;height:32px!important}.bottom-nav-bar{padding-inline:4px!important;border-radius:20px 20px 0 0!important}.bottom-nav-item{min-width:0!important}.bottom-nav-label{font-size:.65rem!important}}.admin-shell-layout .admin-content-area{padding:18px 22px 28px;min-height:calc(100dvh - 64px)}.admin-route-loading{min-height:320px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.88rem}@media (min-width: 1024px){html{scrollbar-gutter:stable}@supports not (scrollbar-gutter: stable){html{overflow-y:scroll}}}.admin-content-area :is(.dash-page,.admin-page-container){display:grid;gap:14px;min-width:0}.admin-content-area :is(.admin-page-header,.dash-header){margin:0}.admin-content-area .dash-header{padding:16px 18px;gap:12px}.admin-content-area .dash-header__title{font-size:1.08rem;line-height:1.6}.admin-content-area .dash-header__sub{font-size:.8rem}.admin-content-area .dash-header .dash-logo{width:44px;height:44px;flex-shrink:0;object-fit:cover}.admin-content-area .dash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-content-area .dash-card{width:100%;min-width:0;min-height:116px;padding:14px 10px;gap:7px}.admin-content-area .dash-card__icon{width:36px;height:36px}.admin-content-area .dash-card__label{font-size:.88rem;line-height:1.5}.admin-content-area .dash-card:hover:not(:disabled){background:var(--card2);color:var(--fg)}.admin-content-area :is(.dash-toolbar,.dash-form){padding:12px 14px;gap:10px}.admin-content-area :is(.dash-filters,.dash-form-grid,.admin-selectors){gap:10px}.admin-content-area :is(.dash-form-grid,.dash-filters)>*{min-width:0}.admin-content-area :is(input.input,select.input,.admin-select,.search-input){min-height:40px;height:40px;padding-block:7px;font-size:.88rem;line-height:1.5;border-radius:10px}.admin-content-area .admin-select{padding-inline:12px 32px;min-width:0}.admin-content-area .dash-filters .search-input{min-width:180px}.admin-content-area .dash-toolbar>.admin-select{flex:0 1 260px;width:260px}.admin-content-area :is(.btn,.he-action-bar>button){min-height:40px;padding-block:8px;font-size:.86rem}.admin-content-area .he-controls-card{padding:12px;gap:8px}.admin-content-area .he-action-bar{padding:10px 12px;gap:8px}.admin-content-area .he-timetable{gap:14px}.admin-content-area .he-period-meta{padding:10px 12px}.admin-content-area .he-period-input{padding:10px 12px;gap:8px}.admin-content-area .he-hw-textarea{min-height:76px;padding:9px 11px}.admin-content-area .admin-subnav-pills{margin-bottom:12px;padding-bottom:8px}.admin-content-area .admin-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.admin-content-area .dash-table :is(th,td){padding:10px 12px;line-height:1.6}.dash-assignment-sections summary{cursor:pointer;color:var(--accent);width:fit-content;padding:4px 0}.dash-assignment-sections span{display:block;margin-top:6px;font-size:.8rem;line-height:1.8}@media (min-width: 1500px){.admin-content-area .dash-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 767px){.admin-shell-layout .admin-content-area{padding:12px 12px 24px}.admin-content-area .dash-header{padding:14px;align-items:flex-start}.admin-content-area .dash-header__title{font-size:.98rem}.admin-content-area .dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-content-area .dash-card{min-height:118px}.admin-content-area :is(input.input,select.input,.admin-select,.search-input){height:44px;min-height:44px;font-size:16px}.admin-content-area :is(.btn,.he-action-bar>button){min-height:44px}.admin-content-area .dash-toolbar>.admin-select{flex:1 1 100%;width:100%}.admin-content-area .dash-filters{width:100%}.admin-content-area .dash-filters .search-input{min-width:0;width:100%}.admin-content-area .dash-table :is(th,td){padding:9px 8px;font-size:.8rem}.dash-assignment-sections summary{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}}
