@media (width<=800px){.subjects-module-schedule .schedule-list{max-height:60vh!important;overflow:hidden auto!important}.subjects-module-schedule .schedule-item{box-sizing:border-box!important;grid-template-columns:28px minmax(0,1fr) 112px!important;grid-template-areas:"select day action""select main action"!important;align-items:start!important;gap:5px 10px!important;height:auto!important;min-height:132px!important;padding:14px 12px!important;display:grid!important;position:relative!important;overflow:visible!important}.subjects-module-schedule .schedule-item>.schedule-select{visibility:visible!important;opacity:1!important;grid-area:select!important;justify-content:center!important;align-items:flex-start!important;width:28px!important;min-width:28px!important;margin:2px 0 0!important;padding:0!important;display:flex!important}.subjects-module-schedule .schedule-item>.schedule-select input[type=checkbox]{visibility:visible!important;opacity:1!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;accent-color:var(--purple)!important;cursor:pointer!important;margin:0!important;padding:0!important;display:block!important}.subjects-module-schedule .schedule-day{flex-direction:row!important;grid-area:day!important;justify-content:flex-start!important;align-items:baseline!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;display:flex!important}.subjects-module-schedule .schedule-day b{white-space:nowrap!important;font-size:14px!important;line-height:1.35!important}.subjects-module-schedule .schedule-day span{white-space:nowrap!important;font-size:12px!important;line-height:1.35!important}.subjects-module-schedule .schedule-main{flex-direction:column!important;grid-area:main!important;align-items:flex-start!important;gap:3px!important;width:100%!important;min-width:0!important;height:auto!important;display:flex!important;overflow:visible!important}.subjects-module-schedule .schedule-main strong,.subjects-module-schedule .schedule-main span,.subjects-module-schedule .schedule-main small{white-space:normal!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:normal!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;display:block!important;overflow:visible!important}.subjects-module-schedule .schedule-main strong{font-size:14px!important;font-weight:800!important;line-height:1.4!important}.subjects-module-schedule .schedule-main span,.subjects-module-schedule .schedule-main small{color:var(--muted)!important;font-size:12px!important;line-height:1.4!important}.subjects-module-schedule .schedule-item>button{box-sizing:border-box!important;white-space:nowrap!important;z-index:1!important;border-radius:10px!important;grid-area:action!important;justify-content:center!important;place-self:center stretch!important;align-items:center!important;width:112px!important;min-width:112px!important;max-width:112px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:8px 7px!important;font-size:14px!important;line-height:1.2!important;display:inline-flex!important;position:static!important;transform:none!important}}@media (width<=380px){.subjects-module-schedule .schedule-item{grid-template-columns:26px minmax(0,1fr) 104px!important;column-gap:8px!important;min-height:138px!important;padding:14px 10px!important}.subjects-module-schedule .schedule-item>.schedule-select{width:26px!important;min-width:26px!important}.subjects-module-schedule .schedule-item>button{width:104px!important;min-width:104px!important;max-width:104px!important}}.menu-strip{z-index:19;position:sticky;top:76px;box-shadow:0 4px 14px #2c214e0b}@media (width<=800px){.menu-strip{top:86px;box-shadow:0 4px 14px #2c214e12}}:root{--pk-navy:#123f73;--pk-blue:#0aa8e8;--pk-blue-dark:#0877c7;--pk-green:#18b66a;--pk-green-dark:#079657;--pk-sky:#eaf7fc;--pk-green-soft:#eaf9f1;--pk-bg:#f5f9fc;--pk-text:#17324d;--pk-muted:#718096;--pk-line:#dce8f0;--pk-shadow:0 12px 32px #16436914}body{background:var(--pk-bg)}.app-shell{color:var(--pk-text);background:linear-gradient(#f7fbfd 0%,#f4f8fb 100%)}.brand-mark{box-shadow:none!important;background:#fff url(/preskita-logo.svg) 50%/contain no-repeat!important;border-radius:12px!important;font-size:0!important}.login-shell{background:radial-gradient(circle at 50% 0,#e9f7fc 0,#f5f9fc 46%,#f1f6f9 100%);padding:20px}.login-card{border:1px solid #ddeaf1;border-radius:24px;width:min(100%,450px);padding:32px;box-shadow:0 24px 70px #173f631f}.login-brand{gap:13px}.login-brand strong{color:var(--pk-navy);letter-spacing:.4px;font-size:22px}.login-brand span{color:var(--pk-muted);font-size:0}.login-brand span:after{content:"Platform Administrasi & Operasional Sekolah";font-size:11px;line-height:1.35}.eyebrow{color:var(--pk-green);letter-spacing:1.6px}.login-heading h1{color:#122d48;font-size:30px}.login-heading>p:last-child{color:var(--pk-muted);font-size:13px}.login-form label{color:#3d5870;font-size:12px}.login-form input{border-color:#d4e1e9;border-radius:12px;padding:14px;font-size:13px}.login-button{background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark));border-radius:11px;padding:14px;font-size:13px;box-shadow:0 10px 25px #0aa8e833}.register-link-button{color:var(--pk-navy)!important;background:#fff!important;border-color:#d8e4ec!important;border-radius:11px!important}.login-note{color:#718096;background:#f7fafc;border:1px solid #edf2f5;border-radius:11px;padding:12px}.login-note svg{color:var(--pk-green)}.login-footer{font-size:10px}.loading-screen{background:var(--pk-bg);color:var(--pk-navy)}.topbar{border-bottom:1px solid var(--pk-line);height:72px;padding:0 28px;box-shadow:0 2px 12px #143e6009}.brand{min-width:260px}.brand-name{color:var(--pk-navy)}.brand-tagline{color:var(--pk-muted);font-size:0}.brand-tagline:after{content:"Platform Administrasi & Operasional Sekolah";font-size:10px}.topbar-school{color:#526b80}.status-dot{background:var(--pk-green);box-shadow:0 0 0 4px var(--pk-green-soft)}.role-pill{background:var(--pk-sky);color:var(--pk-blue-dark)}.avatar{background:var(--pk-sky);color:var(--pk-navy)}.menu-strip{border-bottom:1px solid var(--pk-line);background:#fff;box-shadow:0 2px 10px #143e6006}.menu-item{color:#647b8e;min-height:50px}.content{padding:32px 0 70px}.page-heading{margin-bottom:24px}.page-heading h1,h1{color:#153a5f}.subtitle{color:var(--pk-muted)}.date-card{border-color:var(--pk-line);color:var(--pk-blue-dark);box-shadow:0 4px 14px #1643690a}.date-card strong{color:#36556e}.scanner-card,.today-card,.welcome-card,.mini-card,.next-card{border-color:var(--pk-line);box-shadow:var(--pk-shadow);border-radius:17px}.scanner-head h2,.card-title h2{color:#183d60}.live-badge{background:var(--pk-green-soft);color:var(--pk-green-dark)}.live-badge i{background:var(--pk-green)}.scanner-frame{background:radial-gradient(circle,#f9fdff 0,#edf7fb 72%,#e5f1f6 100%);border-color:#bfd5e2}.scan-icon{color:var(--pk-blue-dark)}.scan-line,.scan-corner{border-color:var(--pk-blue)}.scan-line{background:var(--pk-blue);box-shadow:0 0 14px #0aa8e873}.scanner-note{background:#f5fafc}.scanner-note svg,.card-title>svg{color:var(--pk-blue-dark)}.outline-button{color:var(--pk-blue-dark);border-color:#cde0ea}.welcome-card{background:linear-gradient(135deg,#fff 0%,#f1fafd 100%)}.welcome-icon,.mini-icon{background:var(--pk-sky);color:var(--pk-blue-dark)}.mini-card,.next-card{background:#fff}.step b{color:var(--pk-green-dark)}.prototype-bar{background:#edf5f8}.prototype-bar span:first-child{color:var(--pk-navy)}.role-switcher{border-color:var(--pk-line)}@media (width<=760px){.topbar{height:64px;padding:0 16px}.brand{min-width:0}.brand-name{font-size:18px}.brand-tagline,.topbar-school-info,.profile-text{display:none}.menu-strip{padding:0 10px}.menu-item{padding:0 12px;font-size:10px}.content{width:min(100% - 28px,1240px);padding-top:24px}.page-heading{flex-direction:column;align-items:flex-start}.login-card{border-radius:22px;padding:26px 22px}.login-heading{margin-top:34px}.login-heading h1{font-size:27px}.dashboard-grid,.scan-layout{grid-template-columns:1fr}.welcome-card{padding:19px}}:root{--pk-sidebar:252px;--pk-radius:18px}@media (width>=761px){html,body,#root{min-width:0!important;margin:0!important;padding:0!important;transform:none!important}body{overflow-x:hidden}.app-shell{min-height:100vh;padding-left:var(--pk-sidebar);margin:0!important;transform:none!important}.topbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;margin-left:0;position:sticky;top:0;padding-left:28px!important;padding-right:28px!important}.topbar .brand{display:none}.topbar-school{margin-left:auto}.menu-strip{box-shadow:8px 0 28px #1643690e;z-index:100!important;width:var(--pk-sidebar)!important;border-right:1px solid var(--pk-line)!important;background:#fff!important;border-bottom:0!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;height:100vh!important;min-height:100vh!important;margin:0!important;padding:18px 12px 20px!important;display:flex!important;position:fixed!important;inset:0 auto 0 0!important;overflow:hidden auto!important}.menu-strip:before{content:"PRESKITA";color:var(--pk-navy);letter-spacing:.3px;background:url(/preskita-logo.svg) 6px/38px 38px no-repeat;border-bottom:1px solid #eef3f6;margin:0 10px 4px;padding:12px 10px 18px 52px;font-size:20px;font-weight:800;line-height:38px;display:block}.menu-strip:after{content:"Administrasi & Operasional Sekolah";color:#8a9aaa;border-top:1px solid #eef3f6;order:3;margin:12px 10px 0;padding:14px 10px 0;font-size:9px;line-height:1.5;display:block}.menu-scroll{visibility:visible!important;flex-direction:column!important;flex:none!important;align-items:stretch!important;gap:4px!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;display:flex!important;overflow:visible!important}.menu-item{color:#60778a;text-align:left;white-space:nowrap;visibility:visible;background:0 0;font-size:12px;font-weight:600;border:0!important;border-radius:12px!important;flex:none!important;justify-content:flex-start!important;align-items:center!important;gap:11px!important;width:100%!important;height:46px!important;min-height:46px!important;margin:3px 0!important;padding:0 13px!important;display:flex!important}.menu-item svg{flex:0 0 18px;width:18px;height:18px}.menu-item:hover{color:var(--pk-blue-dark);background:#f2fafd;transform:none}.menu-item.active{font-weight:700;box-shadow:0 8px 18px #0aa8e82e;color:#fff!important;background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark))!important}.menu-item.active svg{color:#fff!important}.content{width:min(100% - 56px,1240px);margin:0 auto;padding:30px 0 72px!important}}.topbar-school-info strong{color:#244b68}.profile-button,.logout-button{transition:all .18s}.profile-button:hover,.logout-button:hover{transform:translateY(-1px)}.dashboard-grid{gap:18px!important}.mini-card,.next-card,.welcome-card,.today-card,.scanner-card{transition:transform .18s,box-shadow .18s}.mini-card:hover,.next-card:hover,.welcome-card:hover,.today-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px #1643691c}.welcome-card{position:relative;overflow:hidden}.welcome-card:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0aa8e814,#18b66a21);border-radius:50%;width:180px;height:180px;position:absolute;top:-70px;right:-60px}.mini-card strong{color:var(--pk-navy)!important;font-size:25px!important}.mini-card small,.next-card small{color:var(--pk-muted)}.card-title{gap:12px}.card-title h2{font-size:16px!important}.page-heading h1{letter-spacing:-.35px;font-weight:800}.page-heading .subtitle{max-width:760px;line-height:1.6}button{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}button:active{transform:translateY(1px)}@media (width>=761px){.menu-strip::-webkit-scrollbar{width:5px}.menu-strip::-webkit-scrollbar-thumb{background:#d9e7ee;border-radius:99px}.menu-strip::-webkit-scrollbar-track{background:0 0}}@media (width<=760px){.app-shell{margin:0!important;padding-left:0!important}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;z-index:60!important;position:sticky!important;top:0!important}.menu-strip{z-index:55!important;white-space:nowrap!important;border:0!important;border-bottom:1px solid var(--pk-line)!important;scrollbar-width:none!important;background:#fff!important;justify-content:flex-start!important;align-items:center!important;gap:4px!important;width:100%!important;height:58px!important;min-height:58px!important;padding:5px 10px!important;display:flex!important;position:sticky!important;top:64px!important;overflow:auto hidden!important;box-shadow:0 4px 14px #1643690d!important}.menu-strip::-webkit-scrollbar{display:none!important}.menu-scroll{flex-direction:row!important;align-items:center!important;gap:4px!important;width:auto!important;min-width:max-content!important;max-width:none!important;height:48px!important;min-height:48px!important;margin:0!important;display:flex!important;overflow:visible!important}.menu-item{color:#60778a!important;background:#fff!important;border:1px solid #0000!important;border-radius:11px!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:max-content!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 15px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important}.menu-item svg{color:#60778a!important;flex:0 0 19px!important;width:19px!important;height:19px!important}.menu-item.active{color:#fff!important;background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark))!important;border-color:#0000!important;box-shadow:0 6px 14px #0aa8e833!important}.menu-item.active svg{color:#fff!important}.menu-item:hover{color:var(--pk-blue-dark)!important;background:#f2fafd!important}.menu-item.active:hover{color:#fff!important;background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark))!important}.content{width:min(100% - 28px,1240px)!important;margin:0 auto!important;padding:22px 0 48px!important}}@media (orientation:landscape) and (width<=1024px) and (height<=600px){.topbar{z-index:60!important;position:sticky!important;top:0!important}.topbar .brand{display:flex!important}.menu-strip{z-index:55!important;white-space:nowrap!important;border:0!important;border-bottom:1px solid var(--pk-line)!important;background:#fff!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:4px!important;width:100%!important;height:58px!important;min-height:58px!important;padding:5px 10px!important;display:flex!important;position:sticky!important;top:64px!important;overflow:auto hidden!important;box-shadow:0 4px 14px #1643690d!important}.menu-strip:before,.menu-strip:after{display:none!important}.menu-scroll{flex-direction:row!important;align-items:center!important;gap:4px!important;width:auto!important;min-width:max-content!important;height:48px!important;min-height:48px!important;margin:0!important;display:flex!important;overflow:visible!important}.menu-item{color:#60778a!important;background:#fff!important;border:1px solid #0000!important;border-radius:11px!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:max-content!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0 15px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important}.menu-item svg{color:#60778a!important;flex:0 0 19px!important;width:19px!important;height:19px!important}.menu-item.active{color:#fff!important;background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark))!important;border-color:#0000!important;box-shadow:0 6px 14px #0aa8e833!important}.menu-item.active svg{color:#fff!important}.menu-item:hover{color:var(--pk-blue-dark)!important;background:#f2fafd!important}.menu-item.active:hover{color:#fff!important;background:linear-gradient(100deg,var(--pk-blue),var(--pk-blue-dark))!important}.app-shell{padding-left:0!important}.content{width:calc(100% - 28px)!important;max-width:none!important;margin:0 auto!important;padding:22px 0 44px!important}}:root{--pk-navy:#123f73;--pk-blue:#0aa8e8;--pk-blue-dark:#0877c7;--pk-green:#18b66a;--pk-green-dark:#079657;--pk-sky:#eaf7fc;--pk-green-soft:#eaf9f1;--pk-bg:#f5f9fc;--pk-text:#17324d;--pk-muted:#718096;--pk-line:#dce8f0}.menu-item,.menu-item svg,.card-title>svg,.welcome-icon,.mini-icon{color:#647b8e}.menu-item.active,.menu-item.active svg{color:#fff!important}.content{background:0 0}.page-heading h1{font-weight:800;color:var(--pk-navy)!important}.page-heading .subtitle{color:var(--pk-muted)!important}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:18px!important}.dashboard-grid .mini-card{min-height:148px;position:relative;overflow:hidden;border:1px solid var(--pk-line)!important;background:#fff!important;border-radius:18px!important;padding:22px!important;box-shadow:0 10px 28px #1643690e!important}.dashboard-grid .mini-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0aa8e80f,#18b66a1a);border-radius:50%;width:100px;height:100px;position:absolute;top:-34px;right:-34px}.dashboard-grid .mini-card .mini-icon{background:var(--pk-sky)!important;color:var(--pk-blue-dark)!important;border-radius:13px!important}.dashboard-grid .mini-card strong{font-weight:800;color:var(--pk-navy)!important;font-size:28px!important}.dashboard-grid .mini-card small{color:var(--pk-muted)!important}.welcome-card{border:1px solid var(--pk-line)!important;background:linear-gradient(135deg,#fff 0%,#f2fafd 100%)!important;border-radius:20px!important;box-shadow:0 12px 32px #16436912!important}.welcome-card .welcome-icon{background:var(--pk-sky)!important;color:var(--pk-blue-dark)!important}.welcome-card h2,.welcome-card h3{color:var(--pk-navy)!important}.date-card{border:1px solid var(--pk-line)!important;background:#fff!important;border-radius:16px!important}.date-card svg{color:var(--pk-blue-dark)!important}@media (width<=1100px) and (width>=761px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.dashboard-grid{grid-template-columns:1fr!important;gap:16px!important}.dashboard-grid .mini-card{min-height:145px;padding:20px!important}.welcome-card{border-radius:18px!important}}.menu-item:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #0aa8e840}.structural-monitoring{gap:18px;display:grid}.structural-monitoring-hero{margin:0}.structural-monitoring-hero small{color:var(--pk-muted);margin-top:8px;display:block}.structural-monitoring-error{color:#9b3f3f;background:#fff6f6;border:1px solid #f0caca;border-radius:14px;padding:14px 16px}.structural-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.structural-kpi-grid .mini-card{min-height:125px}.structural-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.structural-section-heading h2{margin:0 0 6px}.structural-section-heading p{color:var(--pk-muted);margin:0}.structural-section-heading>strong{white-space:nowrap;color:var(--pk-blue-dark);font-size:20px}.structural-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.structural-status-grid>div,.structural-activity-grid>div{border:1px solid var(--pk-line);background:#fafcff;border-radius:14px;padding:16px}.structural-status-grid span,.structural-activity-grid small{color:var(--pk-muted);font-size:13px;display:block}.structural-status-grid strong,.structural-activity-grid strong{color:var(--pk-blue-dark);margin-top:5px;font-size:24px;display:block}.structural-class-list{gap:0;display:grid}.structural-class-row{border-top:1px solid var(--pk-line);padding:14px 0}.structural-class-row:first-child{border-top:0}.structural-class-top{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.structural-class-top span{color:var(--pk-muted);white-space:nowrap}.structural-progress{background:#ececf4;border-radius:999px;height:9px;overflow:hidden}.structural-progress i{background:linear-gradient(90deg,#0aa8e8,#18b66a);border-radius:999px;height:100%;display:block}.structural-muted{color:var(--pk-muted)}.structural-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=800px){.structural-kpi-grid,.structural-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.structural-kpi-grid,.structural-status-grid,.structural-activity-grid{grid-template-columns:1fr}.structural-section-heading{display:block}.structural-section-heading>strong{margin-top:8px;display:block}.structural-class-top{align-items:flex-start}.structural-class-top span{font-size:13px}}.waka-kurikulum-dashboard{gap:18px;display:grid}.waka-kurikulum-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:relative}.waka-hero-main{flex:1;align-items:flex-start;gap:16px;min-width:0;display:flex}.waka-hero-copy{min-width:0;max-width:760px}.waka-hero-copy .eyebrow{white-space:normal;line-height:1.35}.waka-hero-copy h2{margin:0 0 7px}.waka-hero-copy>p{color:var(--pk-muted);max-width:760px;margin:0;font-size:13px;line-height:1.6}.waka-hero-copy small{color:var(--pk-muted);margin-top:8px;line-height:1.45;display:block}.waka-date-picker{color:var(--pk-muted);flex:0 0 155px;gap:6px;width:155px;font-size:12px;font-weight:700;display:grid}.waka-date-picker input{border:1px solid var(--pk-line);width:100%;min-width:0;color:var(--pk-text);font:inherit;background:#fff;border-radius:11px;padding:9px 10px}.waka-loading{gap:5px;display:grid}.waka-loading span{color:var(--pk-muted)}.waka-kpi-grid .mini-card{min-height:126px}.waka-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.waka-progress-card .structural-progress{margin:14px 0 12px}.waka-progress-card button{color:var(--pk-blue-dark);cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.waka-monitoring-card{overflow:hidden}.waka-filter-group{flex-wrap:wrap;gap:6px;display:flex}.waka-filter-group button{border:1px solid var(--pk-line);color:var(--pk-muted);cursor:pointer;background:#fff;border-radius:999px;padding:8px 11px;font-weight:700}.waka-filter-group button.active{background:var(--pk-sky);color:var(--pk-blue-dark);border-color:#a9dff4}.waka-lesson-list{border-top:1px solid var(--pk-line);display:grid}.waka-lesson-row{border-bottom:1px solid var(--pk-line);grid-template-columns:105px minmax(0,1fr) 220px;align-items:center;gap:16px;padding:14px 0;display:grid}.waka-lesson-time{gap:3px;display:grid}.waka-lesson-time strong{color:var(--pk-navy)}.waka-lesson-time span,.waka-lesson-main span,.waka-lesson-status small{color:var(--pk-muted);font-size:12px}.waka-lesson-main{gap:4px;min-width:0;display:grid}.waka-lesson-main strong{color:var(--pk-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.waka-lesson-status{grid-template-columns:1fr 1fr;align-items:center;gap:6px;display:grid}.waka-lesson-status button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.waka-status-badge{align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.waka-status-badge i{background:#d38c28;border-radius:50%;width:7px;height:7px;display:inline-block}.waka-status-badge.is-ok{color:var(--pk-green-dark)}.waka-status-badge.is-ok i{background:var(--pk-green)}.waka-status-badge.is-missing{color:#a66a16}.waka-lesson-status small{grid-column:1/-1}.waka-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.waka-attention-card{min-width:0}.waka-attention-row{border-top:1px solid var(--pk-line);align-items:center;gap:12px;padding:11px 0;display:flex}.waka-attention-row>span{color:var(--pk-blue-dark);min-width:42px;font-size:11px;font-weight:800}.waka-attention-row>div{gap:3px;min-width:0;display:grid}.waka-attention-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.waka-attention-row small{color:var(--pk-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=760px){.waka-kurikulum-hero{display:block!important;position:relative!important}.waka-hero-main{width:100%;display:block!important}.waka-hero-main .welcome-icon{margin-bottom:12px}.waka-hero-copy{width:100%!important;min-width:0!important;max-width:none!important;display:block!important}.waka-date-picker{z-index:auto!important;grid-column:auto!important;width:100%!important;min-width:0!important;max-width:none!important;margin:18px 0 0!important;display:grid!important;position:static!important}.waka-date-picker input{box-sizing:border-box!important;width:100%!important;display:block!important}.waka-kurikulum-hero>*{position:static!important}.waka-progress-grid,.waka-attention-grid{grid-template-columns:1fr}.waka-lesson-row{grid-template-columns:78px minmax(0,1fr);gap:10px}.waka-lesson-status{grid-column:1/-1}}@media (width<=520px){.waka-hero-main{gap:12px}.waka-hero-main .welcome-icon{flex:0 0 44px;width:44px;height:44px}.waka-hero-copy h2{line-height:1.2;font-size:22px!important}.waka-hero-copy>p{font-size:13px;line-height:1.55}.waka-date-picker input{padding:11px 12px}.waka-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.waka-kpi-grid .mini-card{min-height:120px}.waka-filter-group{margin-top:12px}.waka-filter-group button{padding:7px 9px;font-size:11px}}@media (width>=761px){.menu-scroll{visibility:visible;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:none;height:auto;min-height:0;margin:0;display:flex;overflow:hidden visible}.menu-item{visibility:visible;flex:none;width:100%}}.subjects-module-schedule .schedule-add{background:#fff;padding:0}.subjects-module-schedule .schedule-assignment-picker{border:0;border-bottom:1px solid var(--line);border-radius:0}.subjects-module-schedule .schedule-picker-summary{background:#fff;align-items:flex-start;padding:14px 16px}.subjects-module-schedule .schedule-picker-summary button{background:#faf8ff;border:1px solid #d9cff5;border-radius:8px;padding:7px 10px}.subjects-module-schedule .assignment-filter-row{border-top:1px solid #f1eef7;border-bottom:1px solid var(--line);background:#fafbfe;gap:7px;padding:9px 16px}.subjects-module-schedule .assignment-filter-row button{padding:7px 13px}.subjects-module-schedule .assignment-filter-row select{min-width:145px;margin-left:auto}.subjects-module-schedule .assignment-filter-row input{max-width:280px}.subjects-module-schedule .schedule-picker-list{background:#fff;max-height:300px;padding:0;display:block}.subjects-module-schedule .schedule-assignment-option{border-bottom:1px solid #f0eef5;border-radius:0;grid-template-columns:18px minmax(180px,1.1fr) minmax(150px,1fr) 105px 105px;align-items:center;gap:10px;padding:9px 16px;display:grid}.subjects-module-schedule .schedule-assignment-option:hover{background:#fafbff}.subjects-module-schedule .schedule-assignment-option input{grid-column:1}.subjects-module-schedule .schedule-assignment-option span{display:contents}.subjects-module-schedule .schedule-assignment-option strong{white-space:nowrap;text-overflow:ellipsis;grid-column:2;font-size:10px;overflow:hidden}.subjects-module-schedule .schedule-assignment-option small{white-space:nowrap;text-overflow:ellipsis;grid-column:3;font-size:9px;display:block;overflow:hidden}.subjects-module-schedule .schedule-assignment-option em{white-space:nowrap;font-size:8px;font-style:normal}.subjects-module-schedule .schedule-assignment-option em.unscheduled{color:#9b4747;grid-column:4}.subjects-module-schedule .schedule-assignment-option em.scheduled{color:#26774d;grid-column:5}.subjects-module-schedule .schedule-form-grid{border-top:1px solid #f0eef5;grid-template-columns:1fr 1fr 1fr 1.5fr 2fr;align-items:end;padding:13px 16px}.subjects-module-schedule .schedule-form-grid input,.subjects-module-schedule .schedule-form-grid select{min-height:36px}.subjects-module-schedule .master-time-note{background:#fbfaff;border:1px dashed #ddd5ef;border-radius:8px;align-items:center;min-height:36px;padding:0 9px;font-size:9px}.subjects-module-schedule .schedule-save{margin:0 16px 15px;padding:10px 16px}.subjects-module-schedule .schedule-list{background:#fff;max-height:min(46vh,500px);padding:0;overflow:auto}.subjects-module-schedule .schedule-item{background:#fff;border-bottom:1px solid #eeeaf5;grid-template-columns:28px 105px minmax(220px,1.5fr) minmax(110px,auto);align-items:center;gap:14px;min-height:58px;padding:8px 16px;display:grid}.subjects-module-schedule .schedule-item:hover{background:#fafbff}.subjects-module-schedule .schedule-select{justify-content:center;align-items:center;margin:0;display:flex}.subjects-module-schedule .schedule-select input{width:16px;height:16px;margin:0}.subjects-module-schedule .schedule-day{flex-direction:column;gap:2px;min-width:0;display:flex}.subjects-module-schedule .schedule-day b{white-space:nowrap;font-size:11px;line-height:1.2}.subjects-module-schedule .schedule-day span{color:var(--muted);white-space:nowrap;font-size:9px}.subjects-module-schedule .schedule-main{grid-template-columns:minmax(150px,1fr) minmax(180px,1.2fr) minmax(115px,auto);align-items:center;gap:12px;min-width:0;display:grid}.subjects-module-schedule .schedule-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.subjects-module-schedule .schedule-main span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.subjects-module-schedule .schedule-main small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.subjects-module-schedule .schedule-item>button{white-space:nowrap;z-index:1;justify-content:center;justify-self:end;align-items:center;min-width:88px;height:32px;margin:0!important;padding:0 10px!important;line-height:1!important;display:inline-flex!important;position:static!important;transform:none!important}.subjects-module-schedule .schedule-filters{grid-template-columns:minmax(220px,1.4fr) minmax(145px,.65fr) minmax(135px,.65fr);align-items:center;gap:8px;display:grid}.subjects-module-schedule .schedule-filters input,.subjects-module-schedule .schedule-filters select{min-height:36px}.subjects-module-schedule .schedule-toolbar>div:first-child{flex-direction:column;gap:2px;display:flex}@media (width<=1000px){.subjects-module-schedule .schedule-assignment-option{grid-template-columns:18px minmax(150px,1fr) minmax(130px,1fr) 105px 105px}.subjects-module-schedule .schedule-form-grid{grid-template-columns:1fr 1fr}.subjects-module-schedule .master-time-note{grid-column:1/-1}.subjects-module-schedule .assignment-filter-row input{max-width:none}.subjects-module-schedule .schedule-item{grid-template-columns:24px 90px minmax(0,1fr) 92px;gap:10px}.subjects-module-schedule .schedule-main{grid-template-columns:minmax(130px,1fr) minmax(140px,1fr);gap:6px}.subjects-module-schedule .schedule-main small{grid-column:1/-1}.subjects-module-schedule .schedule-filters{grid-template-columns:1fr 1fr 1fr}}@media (width<=800px){.subjects-module-schedule .schedule-picker-summary{padding:12px}.subjects-module-schedule .assignment-filter-row{padding:8px 12px}.subjects-module-schedule .assignment-filter-row select,.subjects-module-schedule .assignment-filter-row input{width:100%;max-width:none}.subjects-module-schedule .schedule-assignment-option{grid-template-columns:20px 1fr auto;gap:7px;padding:10px 12px}.subjects-module-schedule .schedule-assignment-option strong{grid-column:2}.subjects-module-schedule .schedule-assignment-option small{white-space:nowrap;text-overflow:ellipsis;grid-column:2;overflow:hidden}.subjects-module-schedule .schedule-assignment-option em{grid-area:1/3/span 2}.subjects-module-schedule .schedule-picker-list{max-height:320px}.subjects-module-schedule .schedule-form-grid{grid-template-columns:1fr 1fr;padding:12px}.subjects-module-schedule .master-time-note{grid-column:1/-1}.subjects-module-schedule .schedule-save{width:calc(100% - 24px);margin:0 12px 12px}.subjects-module-schedule .schedule-item{grid-template-columns:22px 78px minmax(0,1fr);gap:8px;padding:9px 12px}.subjects-module-schedule .schedule-main{grid-template-columns:1fr;gap:2px}.subjects-module-schedule .schedule-main small{grid-column:auto}.subjects-module-schedule .schedule-item>button{grid-column:3;justify-self:start;margin-top:4px!important}.subjects-module-schedule .schedule-filters{grid-template-columns:1fr;gap:7px;width:100%}.subjects-module-schedule .schedule-toolbar{flex-direction:column;gap:10px;display:flex}}.subjects-module-schedule .schedule-list{overflow-x:hidden}@media (width<=800px){.subjects-module-schedule .schedule-item{grid-template-areas:"select day action""select main action";grid-template-columns:22px minmax(0,1fr) auto!important;align-items:center!important;gap:4px 10px!important;min-height:82px!important;padding:12px!important;display:grid!important;overflow:visible!important}.subjects-module-schedule .schedule-select{grid-area:select!important;align-self:center!important}.subjects-module-schedule .schedule-day{flex-direction:row!important;grid-area:day!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;min-width:0!important;display:flex!important}.subjects-module-schedule .schedule-day b{white-space:nowrap!important;font-size:14px!important;line-height:1.25!important}.subjects-module-schedule .schedule-day span{white-space:nowrap!important;font-size:12px!important;line-height:1.25!important}.subjects-module-schedule .schedule-main{flex-direction:column!important;grid-area:main!important;gap:2px!important;min-width:0!important;display:flex!important}.subjects-module-schedule .schedule-main strong{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:14px!important;line-height:1.3!important;overflow:hidden!important}.subjects-module-schedule .schedule-main span{white-space:nowrap!important;text-overflow:ellipsis!important;margin-top:0!important;font-size:13px!important;line-height:1.3!important;overflow:hidden!important}.subjects-module-schedule .schedule-main small{white-space:nowrap!important;text-overflow:ellipsis!important;margin-top:0!important;font-size:12px!important;line-height:1.3!important;overflow:hidden!important}.subjects-module-schedule .schedule-item>button{grid-area:action!important;place-self:center end!important;min-width:96px!important;height:36px!important;margin:0!important;padding:0 12px!important;font-size:14px!important}}@media (width>=801px){.subjects-module-schedule .schedule-main strong{font-size:14px!important}.subjects-module-schedule .schedule-main span{font-size:13px!important}.subjects-module-schedule .schedule-main small{font-size:12px!important}.subjects-module-schedule .schedule-day b{font-size:14px!important}.subjects-module-schedule .schedule-day span{font-size:12px!important}.subjects-module-schedule .schedule-item>button{height:36px!important;font-size:14px!important}}@media (width<=800px){.subjects-module-schedule .schedule-list{max-height:60vh!important;overflow:hidden auto!important}.subjects-module-schedule .schedule-item{box-sizing:border-box!important;grid-template-columns:28px minmax(0,1fr) 112px!important;grid-template-areas:"select day action""select main action"!important;align-items:start!important;gap:5px 10px!important;height:auto!important;min-height:132px!important;padding:14px 12px!important;display:grid!important;position:relative!important;overflow:visible!important}.subjects-module-schedule .schedule-item>.schedule-select{visibility:visible!important;opacity:1!important;grid-area:select!important;justify-content:center!important;align-items:flex-start!important;width:28px!important;min-width:28px!important;margin:2px 0 0!important;padding:0!important;display:flex!important}.subjects-module-schedule .schedule-item>.schedule-select input[type=checkbox]{visibility:visible!important;opacity:1!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;accent-color:var(--purple)!important;cursor:pointer!important;margin:0!important;padding:0!important;display:block!important}.subjects-module-schedule .schedule-day{flex-direction:row!important;grid-area:day!important;justify-content:flex-start!important;align-items:baseline!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;display:flex!important}.subjects-module-schedule .schedule-day b{white-space:nowrap!important;font-size:14px!important;line-height:1.35!important}.subjects-module-schedule .schedule-day span{white-space:nowrap!important;font-size:12px!important;line-height:1.35!important}.subjects-module-schedule .schedule-main{flex-direction:column!important;grid-area:main!important;align-items:flex-start!important;gap:3px!important;width:100%!important;min-width:0!important;height:auto!important;display:flex!important;overflow:visible!important}.subjects-module-schedule .schedule-main strong,.subjects-module-schedule .schedule-main span,.subjects-module-schedule .schedule-main small{white-space:normal!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:normal!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;display:block!important;overflow:visible!important}.subjects-module-schedule .schedule-main strong{font-size:14px!important;font-weight:800!important;line-height:1.4!important}.subjects-module-schedule .schedule-main span,.subjects-module-schedule .schedule-main small{color:var(--muted)!important;font-size:12px!important;line-height:1.4!important}.subjects-module-schedule .schedule-item>button{box-sizing:border-box!important;white-space:nowrap!important;z-index:1!important;border-radius:10px!important;grid-area:action!important;justify-content:center!important;place-self:center stretch!important;align-items:center!important;width:112px!important;min-width:112px!important;max-width:112px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:8px 7px!important;font-size:14px!important;line-height:1.2!important;display:inline-flex!important;position:static!important;transform:none!important}}@media (width<=380px){.subjects-module-schedule .schedule-item{grid-template-columns:26px minmax(0,1fr) 104px!important;column-gap:8px!important;min-height:138px!important;padding:14px 10px!important}.subjects-module-schedule .schedule-item>.schedule-select{width:26px!important;min-width:26px!important}.subjects-module-schedule .schedule-item>button{width:104px!important;min-width:104px!important;max-width:104px!important}}.attendance-mode{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid!important}.attendance-mode button{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;height:44px;font-weight:700;line-height:1;display:flex;border-radius:10px!important;padding:0 10px!important;font-size:14px!important}.subject-controls{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)!important;gap:10px!important;padding:12px!important}.subject-controls label{min-width:0;font-size:13px}.subject-controls select{box-sizing:border-box;width:100%;min-width:0;height:42px;line-height:1;border-radius:9px!important;padding:0 11px!important;font-size:16px!important}.subject-submode{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:8px!important;display:grid!important}.subject-submode button{box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;width:100%;min-width:0;height:44px;font-weight:700;line-height:1;display:flex;border-radius:10px!important;padding:0 10px!important;font-size:14px!important}.today-schedule-list{scrollbar-width:thin;min-width:0;max-width:100%;overflow-x:auto}.today-schedule-list button{flex:0 0 125px;min-width:125px}@media (width<=800px){.subject-controls{grid-template-columns:1fr!important;padding:10px!important}.subject-submode{grid-column:auto!important}.attendance-mode{gap:8px}.attendance-mode button,.subject-submode button{min-height:44px;font-size:14px!important}.subject-controls select{font-size:16px!important}}@media (width<=480px){.attendance-mode,.subject-submode{gap:7px}.attendance-mode button,.subject-submode button{height:44px;min-height:44px;padding:0 6px!important;font-size:13px!important}.subject-controls{padding:9px!important}.today-schedule-list button{flex-basis:118px;min-width:118px}}:root{--purple:#7657d8;--purple-dark:#5f43b8;--purple-soft:#f1edff;--text:#252330;--muted:#77738a;--line:#e7e4ef;--surface:#fff;--bg:#f8f7fb}*{box-sizing:border-box}button,input{font:inherit}.login-shell{background:radial-gradient(circle at 50% 0%, #eee9ff 0, var(--bg) 42%, #f7f6fa 100%);place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fffffff7;border-radius:22px;width:min(100%,430px);padding:30px;box-shadow:0 22px 70px #31235b1f}.login-brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--purple);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid;box-shadow:0 7px 18px #7657d838}.login-brand strong{color:#302b42;letter-spacing:.7px;font-size:20px;display:block}.login-brand span{color:var(--muted);margin-top:4px;font-size:11px;display:block}.eyebrow{color:var(--purple);letter-spacing:1.4px;margin:0 0 5px;font-size:10px;font-weight:850}.login-heading h1{color:#282335;letter-spacing:-.7px;margin:0 0 8px;font-size:28px}.login-heading>p:last-child{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.login-form{gap:15px;display:grid}.login-form label{color:#4c475a;gap:7px;font-size:11px;font-weight:700;display:grid}.login-form input{width:100%;color:var(--text);background:#fff;border:1px solid #dcd8e7;border-radius:10px;outline:none;padding:12px 13px;font-size:12px;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:#a494e2;box-shadow:0 0 0 3px #f1edff}.login-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;margin-top:2px;padding:12px;font-size:12px;font-weight:800;box-shadow:0 9px 22px #7657d833}.login-button:hover{background:var(--purple-dark)}.login-button:disabled{opacity:.65;cursor:wait}.login-error{color:#9b4747;background:#fff7f7;border:1px solid #f0d5d5;border-radius:9px;padding:10px 11px;font-size:10px;line-height:1.5}.login-note{color:var(--muted);background:#faf9fd;border-radius:9px;align-items:flex-start;gap:8px;margin-top:17px;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.login-note svg{width:15px;color:var(--purple);flex:none}.login-footer{color:#9994a4;justify-content:center;gap:7px;margin-top:25px;font-size:9px;display:flex}.login-footer strong{color:var(--purple-dark)}.loading-screen{background:var(--bg);color:#5f5a6c;align-content:center;place-items:center;gap:12px;min-height:100svh;font-size:11px;display:grid}.loading-screen .brand-mark{width:48px;height:48px}.app-shell{background:var(--bg);min-height:100svh;color:var(--text)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:24px;height:76px;padding:0 30px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:250px;display:flex}.brand-name{letter-spacing:.7px;color:#302b42;font-size:20px;font-weight:850;line-height:1}.brand-tagline{color:var(--muted);margin-top:5px;font-size:11px}.topbar-school{color:#5d596c;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.status-dot{background:#39ad73;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e8f7ef}.role-pill{background:var(--purple-soft);color:var(--purple-dark);border-radius:7px;margin-left:7px;padding:5px 9px;font-size:11px;font-weight:700}.profile-button{cursor:pointer;color:var(--text);background:0 0;border:0;align-items:center;gap:9px;padding:5px 0 5px 8px;display:flex}.avatar{width:36px;height:36px;color:var(--purple-dark);background:#e9e3ff;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-text{text-align:left;flex-direction:column;line-height:1.2;display:flex}.profile-text strong{font-size:12px}.profile-text small{color:var(--muted);margin-top:2px;font-size:10px}.chevron{color:var(--muted);font-size:18px}.menu-strip{background:var(--surface);border-bottom:1px solid var(--line);visibility:visible;z-index:19;padding:0 24px;display:block;position:relative}.menu-scroll{scrollbar-width:none;visibility:visible;gap:4px;max-width:1240px;min-height:50px;margin:auto;display:flex;overflow-x:auto}.menu-scroll::-webkit-scrollbar{display:none}.menu-item{color:#777287;letter-spacing:.35px;cursor:pointer;white-space:nowrap;visibility:visible;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:7px;min-height:50px;padding:0 15px;font-size:11px;font-weight:750;display:flex}.menu-item:hover{color:var(--purple-dark);background:#fbfaff}.menu-item.active{color:var(--purple-dark);border-bottom-color:var(--purple);background:#fbfaff}.content{width:min(1240px,100% - 48px);margin:0 auto;padding:34px 0 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px;display:flex}h1,h2,p{margin-top:0}h1{color:#282335;letter-spacing:-.7px;margin-bottom:4px;font-size:clamp(25px,3vw,34px);font-weight:760}.subtitle{color:var(--muted);font-size:13px}.date-card{border:1px solid var(--line);color:var(--purple);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:9px 13px;display:flex}.date-card div{flex-direction:column;display:flex}.date-card small{color:var(--muted);font-size:9px}.date-card strong{color:#454052;margin-top:2px;font-size:11px}.scan-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px;display:grid}.scanner-card,.today-card,.welcome-card,.mini-card,.next-card{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 8px 25px #2c214e09}.scanner-card{padding:20px}.scanner-head,.card-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.scanner-head h2,.card-title h2{margin-bottom:3px;font-size:17px}.scanner-head p,.card-title p{color:var(--muted);margin:0;font-size:11px}.live-badge{color:#27875a;letter-spacing:.5px;background:#edf9f2;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:850}.live-badge i{vertical-align:1px;background:#39ad73;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.scanner-frame{color:#9a95aa;background:radial-gradient(circle,#fbfaff 0,#f4f1fb 70%,#eeeaf7 100%);border:1px dashed #cfc9e1;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:370px;margin-top:18px;display:flex;position:relative;overflow:hidden}.scanner-frame p{color:#6d687c;margin:10px 0 3px;font-size:12px;font-weight:700}.scanner-frame small{font-size:10px}.scan-icon{width:62px;height:62px;color:var(--purple);background:#fff;border-radius:16px;place-items:center;display:grid;box-shadow:0 10px 28px #46327814}.scan-icon svg{width:30px;height:30px}.scan-line{background:var(--purple);opacity:.65;width:55%;height:2px;position:absolute;top:44%;box-shadow:0 0 14px #7657d899}.scan-corner{border-color:var(--purple);border-style:solid;width:32px;height:32px;position:absolute}.tl{border-width:3px 0 0 3px;border-radius:9px 0 0;top:22%;left:22%}.tr{border-width:3px 3px 0 0;border-radius:0 9px 0 0;top:22%;right:22%}.bl{border-width:0 0 3px 3px;border-radius:0 0 0 9px;bottom:22%;left:22%}.br{border-width:0 3px 3px 0;border-radius:0 0 9px;bottom:22%;right:22%}.scanner-note{color:var(--muted);background:#faf9fd;border-radius:9px;align-items:center;gap:8px;margin-top:13px;padding:9px 11px;font-size:10px;display:flex}.scanner-note svg{width:15px;color:var(--purple);flex:none}.today-card{padding:20px}.card-title>svg{color:var(--purple)}.attendance-total{align-items:baseline;gap:8px;margin:23px 0 17px;display:flex}.attendance-total strong{letter-spacing:-2px;color:#302a40;font-size:40px}.stat-row{color:var(--muted);border-top:1px solid #efedf3;justify-content:space-between;padding:11px 0;font-size:11px;display:flex}.stat-row strong{color:#454052}.outline-button{width:100%;color:var(--purple-dark);cursor:pointer;background:#fff;border:1px solid #d8d0ef;border-radius:9px;margin-top:15px;padding:10px;font-size:11px;font-weight:750}.outline-button:hover{background:var(--purple-soft)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.welcome-card{background:linear-gradient(135deg,#fff 0%,#faf8ff 100%);grid-column:1/-1;align-items:flex-start;gap:18px;padding:24px;display:flex}.welcome-icon{background:var(--purple-soft);width:48px;height:48px;color:var(--purple-dark);border-radius:13px;flex:none;place-items:center;display:grid}.welcome-card h2{margin-bottom:7px;font-size:19px}.welcome-card p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.mini-card{flex-direction:column;align-items:flex-start;padding:17px;display:flex}.mini-icon{background:var(--purple-soft);width:31px;height:31px;color:var(--purple);border-radius:9px;place-items:center;margin-bottom:13px;display:grid}.mini-icon svg{width:16px}.mini-card small{color:var(--muted);font-size:10px}.mini-card strong{margin:4px 0;font-size:22px}.mini-card span:last-child{color:#a09baa;font-size:9px}.next-card{grid-column:1/-1;padding:20px}.next-card h2{margin-bottom:14px;font-size:16px}.step{border-top:1px solid #efedf3;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:11px 0;font-size:11px;display:grid}.step b{color:var(--purple);font-size:10px}.step span{color:#595465}.step em{color:#a09baa;font-size:9px;font-style:normal}.prototype-bar{color:#878190;background:#f0edf6;border-radius:8px;justify-content:space-between;gap:10px;margin-top:20px;padding:9px 12px;font-size:9px;display:flex}.prototype-bar span:first-child{color:var(--purple-dark);letter-spacing:.8px;font-weight:800}.page-error{margin-bottom:16px}.role-switcher{z-index:30;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:11px;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 35px #22193e1f}.role-switcher>span{color:var(--muted);padding:0 6px;font-size:9px}.role-switcher button{color:#716c7d;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 8px;font-size:9px}.role-switcher button.selected{background:var(--purple-soft);color:var(--purple-dark);font-weight:800}footer{color:#9994a4;justify-content:center;align-items:center;gap:8px;padding:18px 20px 28px;font-size:9px;display:flex}footer strong{color:var(--purple-dark);letter-spacing:.7px}@media (width<=800px){.login-card{border-radius:18px;padding:24px 20px}.login-heading{margin-top:34px}.topbar{align-items:flex-start;gap:12px;height:86px;padding:14px 15px 0;position:sticky}.brand{min-width:0}.brand-mark{border-radius:11px;width:36px;height:36px}.brand-name{font-size:17px}.brand-tagline{display:none}.topbar-school{z-index:25;gap:7px;min-width:0;font-size:10px;line-height:1.15;position:absolute;bottom:7px;left:49px;right:58px;overflow:hidden;visibility:visible!important;display:flex!important}.topbar-school-info{flex-direction:column;gap:2px;min-width:0;display:flex;overflow:hidden}.topbar-school-info strong{text-overflow:ellipsis;white-space:nowrap;color:#454052;font-size:10px;overflow:hidden}.topbar-school-info span{color:var(--muted);font-size:9px}.status-dot{flex:none;width:6px;height:6px;margin-top:2px;box-shadow:0 0 0 3px #e8f7ef}.profile-text,.chevron{display:none}.profile-button{margin-left:auto}.menu-strip{padding:0 8px}.menu-item{padding:0 11px;font-size:10px}.content{width:min(100% - 24px,600px);padding-top:23px}.page-heading{align-items:flex-start}.date-card{display:none}.scan-layout{grid-template-columns:1fr}.scanner-frame{min-height:320px}.scanner-card{padding:14px}.today-card{padding:16px}.dashboard-grid{grid-template-columns:1fr}.welcome-card,.next-card{grid-column:auto}.role-switcher{justify-content:center;bottom:10px;left:12px;right:12px}.role-switcher>span{display:none}footer{padding-bottom:70px}}.special-assignments-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.7fr);align-items:start;gap:16px;min-width:0;display:grid}.special-assignment-card{width:100%;min-width:0}.special-assignment-card label{gap:6px;min-width:0;display:grid}.special-assignment-card input,.special-assignment-card select,.special-assignment-card textarea{width:100%;min-width:0;max-width:100%}.special-task-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.special-task-entry>*{min-width:0}@media (width<=800px){.special-assignments-layout{grid-template-columns:minmax(0,1fr);gap:14px}.special-assignment-card{grid-column:auto!important}.special-task-entry{grid-template-columns:minmax(0,1fr)}.special-task-entry button{width:100%}}.special-form label{color:#454052;flex-direction:column;align-items:stretch;gap:6px;font-size:12px;font-weight:700;display:flex}.special-form input,.special-form select,.special-form textarea{width:100%;min-width:0;max-width:100%;color:var(--text);background:#fff;border:1px solid #dcd8e7;border-radius:10px;outline:none;padding:11px 12px;font-size:13px;line-height:1.35;display:block}.special-form textarea{resize:vertical;min-height:82px}.special-form input:focus,.special-form select:focus,.special-form textarea:focus{border-color:#a494e2;box-shadow:0 0 0 3px #f1edff}.special-form input[readonly]{color:#625d70;background:#f8f7fb}@media (width<=520px){.meeting-time-grid{grid-template-columns:1fr 1fr!important}.meeting-date-field{grid-column:1/-1}}.meeting-participants{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px!important}.meeting-participant{color:#454052;background:#faf9fd;border:1px solid #ebe8f2;border-radius:9px;justify-content:flex-start;min-width:0;padding:8px 10px;font-size:12px;flex-direction:row!important;align-items:center!important;gap:8px!important;display:flex!important}.meeting-participant input[type=checkbox]{flex:none;height:18px;margin:0;width:18px!important}.meeting-participant span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=520px){.meeting-participants{grid-template-columns:1fr}}.special-print-preview{display:none}@media print{@page{size:A4;margin:16mm 15mm}body{background:#fff!important}body *{visibility:hidden!important}.special-print-preview,.special-print-preview *{visibility:visible!important}.special-print-preview{color:#111;background:#fff;width:100%;font-family:Arial,sans-serif;font-size:11pt;line-height:1.45;position:absolute;inset:0;display:block!important}.special-print-preview h1{text-align:center;margin:0 0 18px;font-size:16pt}.special-print-preview h2{border-bottom:1px solid #aaa;margin:16px 0 6px;padding-bottom:3px;font-size:12pt}.print-school-name{text-align:center;margin-bottom:3px;font-size:14pt;font-weight:700}.print-meta{border:1px solid #777;gap:5px;padding:9px 11px;display:grid}.print-meta div{grid-template-columns:125px 1fr;gap:8px;display:grid}.print-participant-list{columns:2;margin-top:5px;padding-left:25px}.print-text{white-space:pre-wrap;min-height:20px}.print-task-table{border-collapse:collapse;width:100%;font-size:9.5pt}.print-task-table th,.print-task-table td{vertical-align:top;border:1px solid #777;padding:5px 6px}.print-signatures{text-align:center;grid-template-columns:1fr 1fr;margin-top:45px;display:grid}}.special-tasks-panel{margin-left:-2px;margin-right:-2px}.special-tasks-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.special-tasks-heading h3{color:#244a76;font-size:18px}.special-tasks-heading p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.special-task-count{color:#2476b7;background:#eef6ff;border-radius:9px;flex:none;place-items:center;min-width:28px;height:28px;padding:0 8px;font-size:11px;font-weight:800;display:grid}.special-task-entry-card{background:linear-gradient(135deg,#fafdff,#f4f9fd);border:1px solid #dfeaf3;border-radius:13px;gap:8px;padding:12px;display:grid}.special-task-entry-card input,.special-task-entry-card select,.special-task-entry-card textarea{width:100%;min-width:0;color:var(--text);background:#fff;border:1px solid #d9e1e8;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.special-task-entry-card textarea{resize:vertical;min-height:58px}.special-task-entry-card input:focus,.special-task-entry-card select:focus,.special-task-entry-card textarea:focus{border-color:#7bb4dc;box-shadow:0 0 0 3px #edf7ff}.special-task-add{color:#fff;cursor:pointer;background:linear-gradient(135deg,#159bd0,#176fb0);border:0;border-radius:9px;width:100%;padding:10px 13px;font-size:12px;font-weight:800;box-shadow:0 7px 16px #176fb029}.special-task-add:disabled{opacity:.65;cursor:wait}.special-task-card{background:#fff;border:1px solid #e0e8ef;border-radius:13px;gap:8px;padding:13px 14px;display:grid;position:relative;box-shadow:0 5px 16px #2345640b}.special-task-card strong{color:#29374a;font-size:13px;line-height:1.35}.special-task-card>span{color:#7a8490;font-size:10px;line-height:1.45}.special-task-status-row{align-items:center;gap:7px;display:flex}.task-status-dot{background:#a6a2ad;border-radius:50%;flex:none;width:8px;height:8px}.task-status-in_progress{background:#e6a83b}.task-status-done{background:#35a56c}.task-status-cancelled{background:#b56a6a}.task-status-select{color:#514c5e;background:#faf9fd;border:1px solid #e1ddeb;border-radius:8px;width:auto;min-width:145px;padding:7px 10px;font-size:10px;font-weight:700}@media (width<=520px){.special-tasks-heading h3{font-size:17px}.special-task-card{padding:12px}.task-status-select{width:100%}.special-task-status-row{align-items:stretch}}.special-secondary-button{color:#596575;cursor:pointer;background:#fff;border:1px solid #d8dfe7;border-radius:10px;min-height:43px;padding:0 16px;font-size:12px;font-weight:750;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.special-secondary-button:hover{background:#f8fafc;border-color:#b9c4cf;transform:translateY(-1px);box-shadow:0 5px 14px #2d3d4e14}.special-print-button{color:#1976a9;background:#f4fbff;border-color:#b9dced}.special-print-button:hover{color:#12688f;background:#edf8fd;border-color:#82c3e0}.special-print-button span{margin-right:5px;font-size:12px}@media (width<=520px){.special-secondary-button,.special-form>div:last-child .login-button{flex:1 1 0;min-width:0}}.dashboard-menu-hidden{display:none}.guru-dashboard{width:100%;padding:4px 0 24px}.guru-hero{background:linear-gradient(112deg,#eef8ff 0%,#eaf6ff 56%,#dff4ff 100%);border:1px solid #dcecf7;border-radius:24px;align-items:center;min-height:245px;padding:34px 42px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #246fa014}.guru-hero-copy{z-index:2;max-width:690px;position:relative}.guru-eyebrow{color:#2388c6;letter-spacing:1.6px;margin:0 0 8px;font-size:10px;font-weight:850}.guru-hero h1{color:#18365d;letter-spacing:-1.3px;margin:0;font-size:clamp(28px,4vw,43px);line-height:1.08}.guru-hero h1 strong{color:#17355f}.guru-hero-copy>p{color:#49627d;max-width:570px;margin:15px 0 9px;font-size:14px;line-height:1.6}.guru-hero-copy>span{color:#2781b8;font-size:11px;font-weight:750}.guru-hero-art{width:330px;height:210px;position:absolute;bottom:0;right:30px}.guru-art-sun{background:#ffd56a;border-radius:50%;width:54px;height:54px;position:absolute;top:15px;right:85px;box-shadow:0 0 0 12px #ffd56a1f}.guru-art-school{color:#fff;opacity:.9;background:linear-gradient(#8ed8ed,#69b7dc);border-radius:120px 120px 0 0;place-items:center;width:230px;height:126px;display:grid;position:absolute;bottom:0;right:0}.guru-art-school svg{stroke-width:1.35px;width:80px;height:80px}.guru-art-person{color:#fff;background:linear-gradient(#274f83,#1f3d68);border-radius:50px 50px 15px 15px;place-items:center;width:96px;height:116px;display:grid;position:absolute;bottom:28px;right:165px;box-shadow:0 10px 20px #1f3d682e}.guru-art-person svg{stroke-width:1.4px;width:57px;height:57px}.guru-section-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin:28px 2px 13px;display:flex}.guru-section-heading h2{color:#19375f;letter-spacing:-.5px;margin:0;font-size:24px}.guru-section-heading>span{color:#7b8795;font-size:10px;font-weight:700}.guru-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.guru-menu-card{color:#20334e;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4eaf0;border-radius:21px;flex-direction:column;align-items:flex-start;min-width:0;min-height:168px;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative;box-shadow:0 8px 23px #233d5b0b}.guru-menu-card:hover{border-color:#cfe0ed;transform:translateY(-3px);box-shadow:0 14px 30px #233d5b1a}.guru-menu-icon-wrap{margin-bottom:17px;position:relative}.guru-menu-icon{border-radius:17px;place-items:center;width:55px;height:55px;display:grid}.guru-menu-icon svg{stroke-width:1.75px;width:27px;height:27px}.guru-menu-icon-wrap>b{color:#fff;letter-spacing:.5px;background:#f0446b;border-radius:20px;padding:4px 7px;font-size:7px;position:absolute;top:-7px;right:-13px}.guru-menu-content{min-width:0;padding-right:22px}.guru-menu-content strong{color:#19375f;letter-spacing:-.25px;font-size:17px;line-height:1.2;display:block}.guru-menu-content span{color:#718096;margin-top:7px;font-size:11px;line-height:1.45;display:block}.guru-menu-arrow{color:#2788c4;background:#ffffffd9;border-radius:50%;place-items:center;width:32px;height:32px;font-size:22px;font-weight:500;display:grid;position:absolute;bottom:18px;right:18px}.guru-tone-blue{color:#1689dd;background:#e3f2ff}.guru-tone-green{color:#15a478;background:#def7ef}.guru-tone-orange{color:#ef7834;background:#fff0e4}.guru-tone-purple{color:#8259cf;background:#eee7ff}.guru-tone-yellow{color:#e7a61b;background:#fff4d8}.guru-tone-cyan{color:#13a8c3;background:#e0f7fb}.guru-tone-pink{color:#ec4777;background:#ffe8f0}.guru-tone-slate{color:#66788c;background:#edf1f5}.guru-tone-rose{color:#ec416a;background:#ffe7ed}.guru-tone-amber{color:#e59a19;background:#fff0d8}.guru-tone-teal{color:#149e93;background:#def6f3}.guru-tone-indigo{color:#6678df;background:#e8ecff}.guru-tone-violet{color:#7858cf;background:#eee7ff}.guru-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.guru-info-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e9ef;border-radius:18px;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;min-width:0;padding:17px 19px;display:grid;box-shadow:0 7px 20px #233d5b09}.guru-info-icon{color:#2387c3;background:#e6f3ff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.guru-info-icon svg{width:23px;height:23px}.guru-info-task{color:#df941e;background:#fff0df}.guru-info-card p{color:#85909e;margin:0 0 3px;font-size:9px}.guru-info-card strong{color:#213a5b;font-size:14px;display:block}.guru-info-card span{color:#788492;margin-top:4px;font-size:10px;line-height:1.45;display:block}.guru-info-card>b{color:#2589c4;font-size:21px}.guru-bottom-nav{display:none}@media (width<=800px){.guru-dashboard{padding-bottom:76px}.guru-hero{border-radius:20px;min-height:215px;padding:25px 24px}.guru-hero h1{font-size:29px}.guru-hero-copy>p{max-width:54%;font-size:11px}.guru-hero-copy>span{font-size:9px}.guru-hero-art{width:245px;height:175px;right:-30px}.guru-art-school{width:175px;height:105px}.guru-art-person{width:75px;height:92px;right:115px}.guru-art-sun{width:42px;height:42px;right:60px}.guru-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guru-menu-card{border-radius:16px;min-height:150px;padding:13px}.guru-menu-icon{border-radius:13px;width:43px;height:43px}.guru-menu-icon svg{width:21px;height:21px}.guru-menu-content strong{font-size:12px}.guru-menu-content span{font-size:8px}.guru-menu-arrow{width:24px;height:24px;font-size:17px;bottom:9px;right:9px}.guru-lower-grid{grid-template-columns:1fr;gap:10px}.guru-info-card{padding:13px}.guru-bottom-nav{z-index:35;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #e4eaf0;border-radius:20px;grid-template-columns:repeat(5,1fr);padding:8px 7px 7px;display:grid;position:fixed;bottom:9px;left:10px;right:10px;box-shadow:0 14px 35px #1e344c24}.guru-bottom-nav button{color:#738094;cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;padding:5px 2px;display:grid}.guru-bottom-nav button span{font-size:21px;line-height:1}.guru-bottom-nav button small{font-size:8px;font-weight:700}.guru-bottom-nav button.active{color:#1687d0}}@media (width<=520px){.guru-hero{min-height:195px;padding:20px 17px}.guru-hero h1{font-size:23px}.guru-hero-copy>p{max-width:62%;font-size:9px}.guru-hero-art{opacity:.72;right:-65px}.guru-section-heading{margin-top:22px}.guru-section-heading h2{font-size:19px}.guru-menu-grid{gap:7px}.guru-menu-card{border-radius:13px;min-height:130px;padding:10px}.guru-menu-icon{border-radius:11px;width:36px;height:36px}.guru-menu-icon svg{width:18px;height:18px}.guru-menu-icon-wrap{margin-bottom:11px}.guru-menu-content strong{font-size:10px}.guru-menu-content span{margin-top:4px;font-size:7px;line-height:1.3}.guru-menu-arrow{display:none}.guru-menu-icon-wrap>b{padding:3px 5px;font-size:6px;right:-8px}}.login-shell{background:linear-gradient(145deg,#eaf7ff 0%,#f7fbff 54%,#eaf4ff 100%);justify-content:center;align-items:center;min-height:100svh;padding:28px 18px 150px;display:flex;position:relative;overflow:hidden}.login-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 8% 7%,#1ba4e538 0 145px,#0000 146px),radial-gradient(circle at 98% 24%,#60b1eb29 0 75px,#0000 76px),radial-gradient(circle at 0 80%,#6cbeef26 0 110px,#0000 111px);position:absolute;inset:0}.login-version{z-index:3;color:#8494aa;font-size:12px;font-weight:700;position:absolute;top:26px;right:7%}.login-decoration{pointer-events:none;opacity:.55;border-radius:50%;position:absolute}.login-decoration-left{background:#69c2f0;width:190px;height:190px;top:-35px;left:-105px}.login-decoration-right{background:#b9ddf7;width:78px;height:78px;top:210px;right:-18px}.login-card{z-index:2;background:#fffffff5;border:1px solid #dae6f1e6;border-radius:28px;width:min(100%,820px);padding:28px 50px 24px;position:relative;box-shadow:0 24px 70px #24649624}.login-brand-modern{text-align:left;justify-content:center;gap:13px;margin-bottom:20px}.login-brand-modern img{flex:none;width:76px;height:76px}.login-brand-modern strong{color:#123f73;letter-spacing:1px;font-size:32px;line-height:1}.login-brand-modern span{color:#244d7d;margin-top:6px;font-size:13px;line-height:1.35}.login-heading .eyebrow{color:#8a98aa;letter-spacing:2.2px;font-size:12px}.login-heading h1{color:#102f57;letter-spacing:-1.1px;font-size:38px}.login-form{gap:16px}.login-form label{color:#112f55;gap:7px;font-size:14px;font-weight:800}.login-input-wrap{background:#fff;border:1px solid #cbd8e6;border-radius:14px;align-items:center;min-height:58px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.login-input-wrap>svg{color:#8794a8;flex:none;width:23px;height:23px;margin-left:17px}.login-input-wrap input{color:#1c2e46;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:15px 16px 15px 13px;font-size:15px}.login-input-wrap:focus-within{border-color:#35a9e7;box-shadow:0 0 0 4px #35a9e71f}.login-eye{color:#8794a8;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:42px;height:42px;margin-right:5px;display:grid}.login-button{background:linear-gradient(100deg,#12b5ed,#0877c8);border-radius:14px;justify-content:center;align-items:center;gap:14px;min-height:58px;margin-top:4px;font-size:16px;display:flex;box-shadow:0 12px 25px #108bcf38}.login-button b{margin-left:auto;margin-right:18px;font-size:27px;font-weight:400;line-height:1}.login-button span{transform:translate(12px)}.login-or{color:#8290a3;align-items:center;gap:16px;margin:17px 0 13px;font-weight:700;display:flex}.login-or:before,.login-or:after{content:"";background:#d7e0e9;flex:1;height:1px}.login-or span{font-size:14px}.register-link-button{color:#135db0;cursor:pointer;background:#fff;border:1px solid #cbd8e6;border-radius:13px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-size:15px;font-weight:800;display:flex}.register-link-button svg{color:#4c35df}.login-note{color:#687a91;background:#faf9ff;border:1px solid #e3ddff;border-radius:13px;margin-top:14px;padding:13px 15px;font-size:11px;line-height:1.5}.login-note svg{color:#4d36e4;width:20px}.login-features{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-top:18px;display:grid}.login-features>div{grid-template-columns:38px 1fr;align-items:center;column-gap:9px;min-width:0;display:grid}.login-features>div strong{color:#102e55;font-size:12px}.login-features>div small{color:#63758a;grid-column:2;font-size:10px}.login-features>i{background:#d9e1e9;width:1px;height:30px}.login-feature-icon{grid-row:1/span 2;place-items:center;width:38px;height:38px;font-size:21px;font-weight:900;display:grid}.feature-green{color:#18a95e}.feature-blue{color:#0c78db;font-size:25px}.feature-purple{color:#6038df;letter-spacing:-2px;font-size:12px}.login-landscape{z-index:1;pointer-events:none;height:105px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.login-hill{border-radius:50% 50% 0 0;position:absolute;bottom:-55px}.hill-back{background:#d9efff;width:72%;height:120px;left:-10%;transform:rotate(-3deg)}.hill-front{background:#9fdb9d;width:72%;height:100px;right:-8%;transform:rotate(3deg)}.login-tree{background:#2e8f72;border-radius:16px 16px 4px 4px;width:22px;height:58px;position:absolute;bottom:15px;box-shadow:0 -18px 0 7px #49ad77}.tree-one{left:8%;transform:scale(.85)}.tree-two{left:28%;transform:scale(.65)}.tree-three{right:9%;transform:scale(1.05)}.login-school-illustration{width:150px;height:78px;position:absolute;bottom:0;right:13%}.school-body{background:#d9f0ff;border:2px solid #5ab7e8;border-radius:4px 4px 0 0;height:57px;position:absolute;bottom:0;left:16px;right:16px}.school-roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:#2aa5e7;height:25px;position:absolute;top:4px;left:4px;right:4px}.school-door{background:#2b8dc8;border-radius:3px 3px 0 0;width:20px;height:29px;position:absolute;bottom:0;left:65px}.school-clock{color:#2b8dc8;background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:5px;font-weight:800;display:grid;position:absolute;top:19px;left:66px}.school-flag{background:#34536e;width:2px;height:24px;position:absolute;top:-15px;right:14px}.school-flag:after{content:"";background:linear-gradient(#e9333f 0 50%,#fff 50%);width:15px;height:9px;position:absolute;top:0;left:2px}.login-tagline{z-index:2;color:#0d56ad;font-size:18px;font-style:italic;font-weight:800;line-height:1.25;position:absolute;bottom:30px;left:8%;transform:rotate(-4deg)}.login-tagline span{background:#1688dc;border-radius:4px;width:145px;height:3px;margin:3px 0 0 35px;display:block;transform:skew(-25deg)}@media (width<=800px){.login-shell{align-items:flex-start;padding:38px 12px 112px}.login-version{font-size:10px;top:13px;right:18px}.login-card{border-radius:24px;width:min(100%,520px);padding:25px 20px 20px}.login-brand-modern{margin-bottom:17px}.login-brand-modern img{width:58px;height:58px}.login-brand-modern strong{font-size:27px}.login-brand-modern span{max-width:230px;font-size:10px}.login-heading{margin:18px 0 17px}.login-heading .eyebrow{font-size:10px}.login-heading h1{font-size:28px}.login-form label{font-size:12px}.login-input-wrap{border-radius:12px;min-height:53px}.login-input-wrap input{padding:13px 12px;font-size:14px}.login-button{min-height:53px;font-size:15px}.register-link-button{min-height:49px;font-size:13px}.login-note{font-size:10px}.login-features{gap:6px}.login-features>div{grid-template-columns:28px 1fr;gap:5px}.login-feature-icon{width:28px;height:28px;font-size:17px}.login-features>div strong{font-size:9px}.login-features>div small{font-size:8px}.login-landscape{height:78px}.login-school-illustration{transform-origin:100% 100%;right:7%;transform:scale(.78)}.login-tagline{font-size:12px;bottom:18px;left:7%}.login-tagline span{width:95px;margin-left:20px}}@media (width<=430px){.login-shell{padding-left:10px;padding-right:10px}.login-card{padding:22px 16px 18px}.login-brand-modern{justify-content:flex-start}.login-brand-modern img{width:52px;height:52px}.login-brand-modern strong{font-size:24px}.login-brand-modern span{max-width:205px;font-size:9px}.login-heading h1{font-size:25px}.login-features{grid-template-columns:1fr 1px 1fr 1px 1fr;gap:4px}.login-features>div{text-align:center;grid-template-columns:1fr;justify-items:center}.login-features>div strong,.login-features>div small{grid-column:auto}.login-feature-icon{grid-row:auto;margin-bottom:2px}.login-features>i{height:42px}.login-tagline{font-size:10px}}.login-shell{align-items:flex-start;padding-top:clamp(58px,7vh,92px);padding-bottom:205px}.login-card{width:min(84vw,840px);margin:0 auto;padding:30px clamp(28px,5vw,54px) 26px}.login-brand-modern{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:27px;display:flex}.login-brand-modern img{width:94px;height:94px}.login-brand-modern .login-brand-copy{flex-direction:column;align-items:center;min-width:0;display:flex}.login-brand-modern .login-brand-copy strong{color:#123f73;letter-spacing:1px;font-size:clamp(30px,4vw,43px);line-height:1;display:block}.login-brand-modern .login-brand-copy span{color:#244d7d;max-width:520px;margin-top:8px;font-size:15px;line-height:1.35;display:block}.login-heading{margin:30px 0 22px}.login-landscape{height:180px}.login-school-illustration{width:190px;height:98px;right:14%}.school-body{height:68px;left:18px;right:18px}.school-door{width:24px;height:34px;left:83px}.school-clock{width:20px;height:20px;top:23px;left:85px}.login-tagline{font-size:20px;bottom:48px}@media (width<=800px){.login-shell{align-items:flex-start;padding:42px 12px 118px}.login-card{width:min(94vw,560px);padding:24px 20px 20px}.login-brand-modern{gap:7px;margin-bottom:21px}.login-brand-modern img{width:67px;height:67px}.login-brand-modern .login-brand-copy strong{font-size:28px}.login-brand-modern .login-brand-copy span{max-width:330px;font-size:11px}.login-heading{margin:22px 0 18px}.login-heading h1{font-size:28px}.login-landscape{height:100px}.login-tagline{font-size:12px;bottom:20px;left:6%}}@media (width<=430px){.login-card{width:96vw;padding:22px 16px 18px}.login-brand-modern img{width:60px;height:60px}.login-brand-modern .login-brand-copy strong{font-size:25px}.login-brand-modern .login-brand-copy span{font-size:9px}.login-heading h1{font-size:25px}}.login-brand-modern{text-align:center;justify-content:center;align-items:center;width:100%;margin:0 0 20px;display:flex}.login-brand-modern img{width:min(360px,72vw);max-width:100%;height:auto;display:block}.login-brand-modern .login-brand-copy{display:none}@media (width<=800px){.login-brand-modern{margin-bottom:17px}.login-brand-modern img{width:min(300px,82vw)}}@media (width<=430px){.login-brand-modern{margin-bottom:14px}.login-brand-modern img{width:min(265px,84vw)}}html,body,#root{width:100%;min-width:0;max-width:100%}html,body{overflow-x:hidden}.app-shell{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.topbar{width:100%;min-width:0;max-width:100%}.menu-strip{width:100%;min-width:0;max-width:100%;overflow:hidden}.menu-scroll{width:100%;min-width:0;max-width:none}.content{min-width:0;max-width:1240px}.scan-layout,.scanner-card,.today-card{width:100%;min-width:0;max-width:100%}@media (width<=800px){.topbar{width:100%;min-width:0}.menu-strip{padding-left:0;padding-right:0}.menu-scroll{width:100%;padding-left:8px;padding-right:8px}.content{width:calc(100% - 24px);max-width:none;margin-left:12px;margin-right:12px;padding-left:0;padding-right:0}.scan-layout,.scanner-card,.today-card{width:100%}}@media (width<=520px){.content{width:calc(100% - 16px);margin-left:8px;margin-right:8px}}@media (width<=800px){html,body,#root{width:100%;min-width:0;max-width:100%;overflow-x:hidden}body{overscroll-behavior-x:none}.app-shell{width:100%;min-width:0;max-width:100%;overflow-x:clip}.topbar{z-index:100;width:100%;max-width:100vw;position:fixed;top:0;left:0;right:0}.menu-strip{z-index:99;width:100%;max-width:100vw;position:fixed;top:86px;left:0;right:0;overflow:hidden}.menu-scroll{overscroll-behavior-x:contain;touch-action:pan-x;width:100%;max-width:none;overflow:auto hidden}.content{width:calc(100% - 16px);min-width:0;max-width:none;margin-left:8px;margin-right:8px;padding-top:159px;position:relative;overflow-x:clip}.scan-layout,.scanner-card,.today-card,.scanner-head,.card-title{min-width:0;max-width:100%}.scanner-frame{width:100%;max-width:100%}}@media (width<=520px){.menu-strip{top:86px}.content{padding-top:154px}}.mobile-header-shell{display:contents}@media (width<=800px){.mobile-header-shell{z-index:1000;background:var(--surface);width:100%;max-width:100vw;display:block;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #22193e0f}.mobile-header-shell .topbar,.mobile-header-shell .menu-strip{width:100%;max-width:none;position:relative!important;top:auto!important;left:auto!important;right:auto!important}.content{box-sizing:border-box;width:100%;max-width:760px;margin-left:auto;margin-right:auto;padding-top:300px;padding-left:16px;padding-right:16px;overflow-x:hidden}.guru-dashboard{width:100%;max-width:100%;margin-left:auto;margin-right:auto}}@media (width<=520px){.content{box-sizing:border-box;width:100%;max-width:760px;margin-left:auto;margin-right:auto;padding-top:300px;padding-left:16px;padding-right:16px;overflow-x:hidden}}@media (width<=800px){.mobile-header-shell{box-shadow:0 1px #22193e0f;z-index:1000!important;background:var(--surface)!important;width:100%!important;max-width:100vw!important;position:sticky!important;top:0!important;left:auto!important;right:auto!important}.mobile-header-shell .topbar,.mobile-header-shell .menu-strip{width:100%!important;max-width:none!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important}.content{box-sizing:border-box!important;width:calc(100% - 20px)!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding:202px 0 84px!important;overflow-x:hidden!important}.guru-dashboard{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0 0 96px!important}}@media (width<=520px){.content{width:calc(100% - 20px)!important;padding-top:202px!important}}html,body,#root,.app-shell{box-sizing:border-box;width:100%;min-width:0;max-width:100%}*,:before,:after{box-sizing:border-box}html{overflow-x:hidden}body{-webkit-text-size-adjust:100%;margin:0;overflow-x:hidden}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}button{max-width:100%}.content{width:min(100% - 48px,1240px);min-width:0;max-width:1240px;margin-inline:auto;padding-inline:0;overflow-x:visible}.page-heading,.page-heading>*{min-width:0}.page-heading h1,.page-heading .subtitle{overflow-wrap:anywhere}.scanner-card,.today-card,.welcome-card,.mini-card,.next-card,.settings-card,.subjects-card,.data-page,.special-assignment-card,.special-task-card,.waka-monitoring-card,.structural-monitoring,.waka-kurikulum-dashboard,.form-grid,.settings-grid,.settings-section,.special-assignments-layout,.special-form,.meeting-time-grid,.meeting-participants,.form-grid>*,.settings-grid>*,.settings-section>*,.special-form>*,.meeting-time-grid>*,.meeting-participants>*{min-width:0;max-width:100%}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form-actions>*{min-width:0;max-width:100%}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto visible}.table-wrap>table{max-width:100%}.modal-backdrop,.barcode-backdrop{box-sizing:border-box;overscroll-behavior:contain;overflow:auto}.modal-card,.barcode-modal{box-sizing:border-box;max-width:100%}.modal-head,.modal-head>*{min-width:0}.modal-head h2,.modal-head p{overflow-wrap:anywhere}.schedule-form-grid,.schedule-toolbar,.schedule-filters,.assignment-add,.subject-add,.class-multi-picker,.schedule-assignment-picker,.schedule-list,.schedule-picker-list,.assignment-list{min-width:0;max-width:100%}.schedule-toolbar,.schedule-filters,.assignment-filter-row{flex-wrap:wrap}.schedule-filters input,.schedule-filters select,.assignment-filter-row input,.assignment-filter-row select{min-width:0;max-width:100%}.schedule-item,.assignment-item,.schedule-assignment-option,.class-option{min-width:0}.schedule-main,.assignment-item>div,.schedule-assignment-option>span{overflow-wrap:anywhere;min-width:0}.schedule-main strong,.schedule-main span,.schedule-main small{overflow-wrap:anywhere}.structural-kpi-grid,.structural-status-grid,.structural-activity-grid,.waka-progress-grid,.waka-attention-grid,.waka-lesson-row,.waka-lesson-main,.waka-lesson-status{min-width:0}.waka-lesson-main strong,.waka-attention-row strong,.waka-attention-row small{overflow-wrap:anywhere;white-space:normal}.special-assignments-layout{align-items:start}.special-task-entry,.special-task-entry-card,.special-task-card{min-width:0;max-width:100%}.special-task-entry>*,.special-task-entry-card>*{min-width:0}.special-print-preview{width:100%;max-width:100%;overflow:auto visible}.guru-dashboard,.guru-hero,.guru-menu-grid,.guru-menu-card{min-width:0;max-width:100%}.guru-hero-copy,.guru-menu-content{min-width:0}.guru-hero h1,.guru-menu-content strong,.guru-menu-content span{overflow-wrap:anywhere}.guru-menu-card{min-height:0}.guru-bottom-nav{max-width:100vw}.login-shell{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:100dvh}.login-card{box-sizing:border-box;min-width:0;max-width:100%}.login-input-wrap,.login-input-wrap input{min-width:0}.login-heading h1,.login-note span,.register-link-button{overflow-wrap:anywhere}@media (width<=760px){html,body,#root{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.app-shell{width:100%;min-width:0;max-width:100%;overflow-x:clip}.mobile-header-shell{z-index:1000!important;background:var(--surface)!important;width:100%!important;min-width:0!important;max-width:100%!important;position:sticky!important;top:0!important}.mobile-header-shell .topbar,.mobile-header-shell .menu-strip{width:100%!important;min-width:0!important;max-width:100%!important;position:relative!important;inset:auto!important}.topbar{min-width:0}.menu-strip{min-width:0;max-width:100%}.menu-scroll{min-width:max-content;max-width:none}.content{width:calc(100% - 24px)!important;min-width:0!important;max-width:1240px!important;margin-inline:auto!important;padding:18px 0 84px!important;overflow-x:clip!important}.page-heading{gap:10px;margin-bottom:18px}.page-heading h1{font-size:clamp(24px,7vw,32px);line-height:1.12}.page-heading .subtitle{line-height:1.5}.form-grid{grid-template-columns:minmax(0,1fr)!important}.form-actions{width:100%}.form-actions>button,.form-actions>.primary-button,.form-actions>.outline-button{min-width:0}.table-wrap{max-width:100%;overflow:auto visible}.table-wrap table{max-width:none}.modal-backdrop,.barcode-backdrop{width:100%;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));align-items:center}.modal-card,.barcode-modal{width:min(100%,680px);max-height:calc(100dvh - 24px);overflow:auto}.scan-layout,.scanner-card,.scanner-frame{min-width:0!important;max-width:100%!important}.scanner-frame{width:100%;overflow:hidden}.scanner-frame video,.scanner-frame canvas,.scanner-frame img{object-fit:cover;width:100%;max-width:100%;height:auto;display:block}.scanner-head,.card-title,.scanner-head>*,.card-title>*{min-width:0}.welcome-card,.scanner-card,.today-card,.next-card,.settings-card,.subjects-card,.special-assignment-card{width:100%;max-width:100%}.guru-menu-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.guru-menu-card{width:100%;min-width:0}.guru-hero{width:100%;max-width:100%}.guru-hero-copy{max-width:72%}.guru-menu-content strong,.guru-menu-content span{display:block}.guru-bottom-nav{left:max(8px, env(safe-area-inset-left))!important;right:max(8px, env(safe-area-inset-right))!important;bottom:max(8px, env(safe-area-inset-bottom))!important;width:auto!important}.structural-kpi-grid,.structural-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.structural-activity-grid,.waka-progress-grid,.waka-attention-grid{grid-template-columns:1fr}.waka-lesson-row{grid-template-columns:72px minmax(0,1fr);gap:10px}.waka-lesson-status{grid-column:1/-1}.special-assignments-layout{grid-template-columns:minmax(0,1fr);gap:14px}.meeting-time-grid,.special-task-entry{grid-template-columns:minmax(0,1fr)!important}.login-shell{min-height:100svh;padding:12px 12px max(24px, env(safe-area-inset-bottom));align-items:flex-start;overflow-x:hidden}.login-card{width:calc(100% - 24px);max-width:680px;margin:12px auto 24px;padding:28px 20px 24px}.login-landscape,.login-tagline,.login-decoration{display:none!important}.login-brand-modern img{max-width:min(300px,82vw);height:auto}}@media (width<=430px){.content{width:calc(100% - 20px)!important}.guru-menu-grid{gap:8px!important}.guru-menu-card{border-radius:13px;padding:10px!important}.guru-menu-content strong{font-size:10px}.guru-menu-content span{font-size:8px;line-height:1.3}.guru-menu-icon{width:38px;height:38px}.login-shell{padding-left:8px;padding-right:8px}.login-card{width:calc(100% - 16px);padding:24px 18px 20px}.login-heading h1{font-size:clamp(24px,7.2vw,28px)}}@media (orientation:landscape) and (width<=1024px){html,body,#root{width:100%;min-width:0;overflow-x:hidden}.app-shell{width:100%;min-width:0;overflow-x:clip}.content{width:calc(100% - 32px)!important;max-width:1240px!important;margin-inline:auto!important;padding:16px 0 60px!important}.page-heading{margin-bottom:14px}.page-heading h1{font-size:clamp(24px,5vw,32px)}.scan-layout{grid-template-columns:minmax(0,1fr) minmax(240px,34%)!important;gap:16px!important}.scanner-card{min-width:0}.scanner-frame{aspect-ratio:16/9;min-height:min(52vh,360px)}.guru-hero{min-height:210px}.guru-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.guru-menu-card{min-height:125px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.structural-kpi-grid,.structural-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.waka-progress-grid,.waka-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.special-assignments-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr)}.modal-backdrop,.barcode-backdrop{min-height:100dvh;padding:10px 16px}.modal-card,.barcode-modal{max-height:calc(100dvh - 20px);overflow:auto}.login-shell{align-items:flex-start;min-height:100dvh;padding:14px 18px 24px;overflow:auto}.login-card{width:min(720px,100% - 24px);margin:0 auto 24px;padding:20px 28px 18px}.login-brand-modern img{width:min(260px,42vw)}}@media (orientation:landscape) and (width<=1024px) and (height<=430px){.content{padding-top:12px!important;padding-bottom:52px!important}.guru-hero{min-height:175px;padding:22px 26px}.guru-menu-card{min-height:112px}.scanner-frame{min-height:220px}.login-card{padding-top:16px;padding-bottom:14px}.login-brand-modern{margin-bottom:10px}.login-heading{margin:12px 0}}@media (width<=760px) and (orientation:portrait){.scan-layout,.scanner-card{transform:none!important}}@media print{html,body,#root{overflow:visible!important}.mobile-header-shell,.guru-bottom-nav,.role-switcher{display:none!important}}.header-menu-toggle{display:none}@media (width<=800px){.mobile-header-shell{box-shadow:0 2px 12px #22193e14;z-index:1000!important;background:var(--surface)!important;width:100%!important;max-width:100vw!important;position:fixed!important;top:0!important;left:0!important;right:0!important}.mobile-header-shell .topbar{width:100%!important;height:86px!important;min-height:86px!important;position:relative!important;top:auto!important}.header-menu-toggle{border:1px solid var(--line);min-width:48px;height:42px;color:var(--purple-dark);cursor:pointer;background:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:4px;padding:5px 8px;display:inline-flex!important}.header-menu-toggle span{font-size:22px;font-weight:500;line-height:1}.header-menu-toggle small{display:none}.mobile-header-shell .menu-strip{box-shadow:0 8px 18px #22193e1a;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:100%!important;max-width:none!important;padding:0 8px!important;transition:opacity .16s,transform .16s,visibility .16s!important;position:absolute!important;top:86px!important;left:0!important;right:0!important;overflow:hidden!important;transform:translateY(-8px)!important}.mobile-header-shell .menu-strip.menu-open{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}.mobile-header-shell .menu-scroll{min-height:50px!important;max-height:calc(100svh - 86px)!important;overflow:auto hidden!important}.content{padding-top:104px!important}}@media (width<=520px){.mobile-header-shell .topbar{gap:10px!important;padding-left:12px!important;padding-right:12px!important}.header-menu-toggle{width:42px;min-width:42px;padding:0}.content{padding-top:104px!important}}@media (width<=800px){.mobile-header-shell .topbar{position:relative!important}.header-menu-toggle{z-index:30!important;background:#fffffff5!important;border:1px solid #dcd8e7!important;border-radius:7px!important;width:30px!important;min-width:30px!important;height:27px!important;padding:0!important;position:absolute!important;top:52px!important;left:16px!important;box-shadow:0 2px 7px #22193e14!important}.header-menu-toggle span{font-size:17px!important;font-weight:650!important;line-height:1!important}.mobile-header-shell .menu-strip{border-right:1px solid var(--line)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;border-bottom:0!important;width:min(82vw,320px)!important;height:calc(100svh - 86px)!important;max-height:calc(100svh - 86px)!important;padding:10px 8px 18px!important;transition:transform .18s,opacity .18s,visibility .18s!important;top:86px!important;left:0!important;right:auto!important;overflow:hidden!important;transform:translate(-105%)!important;box-shadow:10px 0 28px #22193e24!important}.mobile-header-shell .menu-strip.menu-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(0)!important}.mobile-header-shell .menu-scroll{flex-direction:column!important;align-items:stretch!important;gap:4px!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;padding:0!important;display:flex!important;overflow:hidden auto!important}.mobile-header-shell .menu-item{letter-spacing:.2px!important;border:0!important;border-radius:10px!important;flex:none!important;justify-content:flex-start!important;width:100%!important;min-height:46px!important;padding:0 14px!important;font-size:12px!important}.mobile-header-shell .menu-item.active{border:0!important}.content{padding-top:104px!important}}@media (width<=520px){.header-menu-toggle{top:52px!important;left:16px!important}.mobile-header-shell .menu-strip{width:min(84vw,310px)!important}}@media (width<=800px){.mobile-header-shell .topbar{height:140px!important;min-height:140px!important}.header-menu-toggle{width:34px!important;min-width:34px!important;height:30px!important;color:var(--purple-dark)!important;background:#fffffffa!important;border:1px solid #ddd8ec!important;border-radius:9px!important;padding:0!important;top:58px!important;left:16px!important;box-shadow:0 3px 9px #2d23501a!important}.header-menu-toggle .menu-icon{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;width:17px!important;height:16px!important;font-size:0!important;line-height:1!important;display:flex!important}.header-menu-toggle .menu-icon i{background:currentColor!important;border-radius:2px!important;width:16px!important;height:2px!important;display:block!important}.header-menu-toggle .menu-icon-close{font-size:20px!important;font-weight:600!important;line-height:1!important}.mobile-header-shell .menu-strip{height:calc(100svh - 140px)!important;max-height:calc(100svh - 140px)!important;top:140px!important}.content{padding-top:158px!important}}@media (width<=520px){.mobile-header-shell .topbar{height:140px!important;min-height:140px!important}.header-menu-toggle{top:58px!important;left:16px!important}.content{padding-top:158px!important}}@media (width<=800px){.mobile-header-shell .topbar{align-items:flex-start!important;height:112px!important;min-height:112px!important;padding-top:12px!important;padding-left:15px!important;padding-right:15px!important}.mobile-header-shell .brand{align-items:center!important}.mobile-header-shell .brand-mark{width:36px!important;height:36px!important}.mobile-header-shell .brand-name{font-size:17px!important}.header-menu-toggle{border-radius:8px!important;width:30px!important;min-width:30px!important;height:27px!important;top:54px!important;left:16px!important}.mobile-header-shell .topbar-school{gap:7px!important;bottom:10px!important;left:52px!important;right:58px!important}.mobile-header-shell .menu-strip{height:calc(100svh - 112px)!important;max-height:calc(100svh - 112px)!important;top:112px!important}.content{padding-top:130px!important}}@media (width<=520px){.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;padding-left:12px!important;padding-right:12px!important}.header-menu-toggle{top:54px!important;left:14px!important}.mobile-header-shell .topbar-school{bottom:9px!important;left:50px!important;right:54px!important}.content{padding-top:130px!important}}@media (width<=800px){.mobile-header-shell{height:112px!important;min-height:112px!important;overflow:visible!important}.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;max-height:112px!important}.mobile-header-shell .topbar-school{bottom:6px!important}.header-menu-toggle{top:52px!important}.mobile-header-shell .menu-strip{top:112px!important}.content{padding-top:124px!important}}@media (width<=520px){.mobile-header-shell{height:112px!important;min-height:112px!important}.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;max-height:112px!important}.mobile-header-shell .topbar-school{bottom:5px!important}.header-menu-toggle{top:52px!important}.content{padding-top:124px!important}}@media (width<=800px){.mobile-header-shell,.mobile-header-shell .topbar{height:100px!important;min-height:100px!important;max-height:100px!important}.mobile-header-shell .topbar{padding-top:11px!important}.header-menu-toggle{top:50px!important;left:15px!important}.mobile-header-shell .topbar-school{bottom:5px!important;left:50px!important;right:56px!important}.mobile-header-shell .menu-strip{height:calc(100svh - 100px)!important;max-height:calc(100svh - 100px)!important;top:100px!important}.content{padding-top:112px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:100px!important;min-height:100px!important;max-height:100px!important}.header-menu-toggle{top:50px!important;left:14px!important}.mobile-header-shell .topbar-school{bottom:5px!important;left:49px!important;right:54px!important}.content{padding-top:112px!important}}@media (width<=800px){.mobile-header-shell,.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important}.mobile-header-shell .topbar{padding-top:10px!important}.header-menu-toggle{top:48px!important;left:15px!important}.mobile-header-shell .topbar-school{bottom:7px!important;left:50px!important;right:56px!important}.mobile-header-shell .menu-strip{height:calc(100svh - 96px)!important;max-height:calc(100svh - 96px)!important;top:96px!important}.content{padding-top:124px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important}.header-menu-toggle{top:48px!important;left:14px!important}.mobile-header-shell .topbar-school{bottom:7px!important;left:49px!important;right:54px!important}.content{padding-top:124px!important}}@media (width<=800px){.mobile-header-shell{height:96px!important;min-height:96px!important;max-height:96px!important;position:fixed!important;top:0!important;left:0!important;right:0!important}.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important;position:relative!important;overflow:visible!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{width:min(82vw,320px)!important;height:calc(100svh - 96px)!important;max-height:calc(100svh - 96px)!important;position:absolute!important;top:96px!important;left:0!important;right:auto!important}.content{padding-top:112px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{top:96px!important}.content{padding-top:112px!important}}@media (width<=800px){.mobile-header-shell{z-index:1000!important;width:100%!important;height:96px!important;min-height:96px!important;max-height:96px!important;position:sticky!important;top:0!important;left:auto!important;right:auto!important;overflow:visible!important}.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important;position:relative!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{width:min(84vw,310px)!important;height:calc(100svh - 96px)!important;max-height:calc(100svh - 96px)!important;position:absolute!important;top:96px!important;left:0!important;right:auto!important}.content{padding-top:18px!important}}@media (width<=520px){.mobile-header-shell{height:96px!important;min-height:96px!important;max-height:96px!important;position:sticky!important;top:0!important}.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{top:96px!important}.content{padding-top:18px!important}}@media (width<=800px){.mobile-header-shell{z-index:1000!important;width:100%!important;height:96px!important;min-height:96px!important;max-height:96px!important;position:fixed!important;top:0!important;left:0!important;right:0!important;overflow:visible!important}.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important;position:relative!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{width:min(84vw,310px)!important;height:calc(100svh - 96px)!important;max-height:calc(100svh - 96px)!important;position:absolute!important;top:96px!important;left:0!important;right:auto!important}.content{padding-top:124px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:96px!important;min-height:96px!important;max-height:96px!important}.mobile-header-shell .topbar-school{bottom:15px!important}.header-menu-toggle{top:46px!important}.mobile-header-shell .menu-strip{top:96px!important}.content{padding-top:124px!important}}@media (width<=800px){.content{padding-top:300px!important}}@media (width<=520px){.content{padding-top:300px!important}}@media (width<=800px){.mobile-header-shell{z-index:1000!important;background:var(--surface)!important;width:100vw!important;max-width:100vw!important;height:112px!important;min-height:112px!important;max-height:112px!important;position:fixed!important;top:0!important;left:0!important;right:0!important;overflow:visible!important;box-shadow:0 2px 12px #22193e14!important}.mobile-header-shell .topbar{width:100%!important;height:112px!important;min-height:112px!important;max-height:112px!important;padding:10px 12px 0!important;position:relative!important;inset:auto!important;overflow:visible!important}.mobile-header-shell .topbar-school{z-index:25!important;bottom:8px!important;left:50px!important;right:54px!important}.mobile-header-shell .topbar-school-info strong{font-size:10px!important}.mobile-header-shell .topbar-school-info span{font-size:9px!important}.header-menu-toggle{z-index:30!important;width:34px!important;min-width:34px!important;height:30px!important;top:52px!important;left:14px!important}.mobile-header-shell .menu-strip{z-index:1010!important;width:min(84vw,310px)!important;height:calc(100svh - 112px)!important;max-height:calc(100svh - 112px)!important;position:absolute!important;top:112px!important;left:0!important;right:auto!important}.content{box-sizing:border-box!important;width:calc(100% - 20px)!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding-top:128px!important;padding-bottom:96px!important;position:relative!important;overflow-x:hidden!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;max-height:112px!important}.mobile-header-shell .topbar-school{bottom:8px!important;left:49px!important;right:54px!important}.header-menu-toggle{top:52px!important;left:14px!important}.mobile-header-shell .menu-strip{height:calc(100svh - 112px)!important;max-height:calc(100svh - 112px)!important;top:112px!important}.content{padding-top:128px!important}}.app-shell{overflow-x:clip!important}@media (width<=800px){.mobile-header-shell{z-index:1000!important;background:var(--surface)!important;width:100%!important;height:112px!important;min-height:112px!important;max-height:112px!important;display:block!important;position:sticky!important;top:0!important;left:auto!important;right:auto!important;overflow:visible!important;box-shadow:0 2px 12px #22193e14!important}.mobile-header-shell .topbar{width:100%!important;height:112px!important;min-height:112px!important;max-height:112px!important;padding:10px 12px 0!important;position:relative!important;inset:auto!important}.mobile-header-shell .menu-strip{z-index:1010!important;width:min(84vw,310px)!important;height:calc(100svh - 112px)!important;max-height:calc(100svh - 112px)!important;position:absolute!important;top:112px!important;left:0!important;right:auto!important}.content{padding-top:18px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;max-height:112px!important}.mobile-header-shell .menu-strip{top:112px!important}.content{padding-top:18px!important}}@media (width<=800px){.mobile-header-shell{z-index:1000!important;background:var(--surface)!important;width:100vw!important;max-width:100vw!important;height:112px!important;min-height:112px!important;max-height:112px!important;display:block!important;position:fixed!important;top:0!important;left:0!important;right:0!important;overflow:visible!important;box-shadow:0 2px 12px #22193e14!important}.mobile-header-shell .topbar{width:100%!important;height:112px!important;min-height:112px!important;max-height:112px!important;padding:10px 12px 0!important;position:relative!important;inset:auto!important;overflow:visible!important}.mobile-header-shell .topbar-school{bottom:8px!important}.header-menu-toggle{top:52px!important}.mobile-header-shell .menu-strip{z-index:1010!important;position:absolute!important;top:112px!important;left:0!important;right:auto!important}.content{padding-top:130px!important}}@media (width<=520px){.mobile-header-shell,.mobile-header-shell .topbar{height:112px!important;min-height:112px!important;max-height:112px!important}.mobile-header-shell .menu-strip{top:112px!important}.content{padding-top:130px!important}}@media (width<=800px){.content{padding-top:210px!important}}@media (width<=520px){.content{padding-top:210px!important}}@media (width<=800px){.guru-hero{box-sizing:border-box!important;align-items:flex-start!important;height:auto!important;min-height:300px!important;padding:28px 24px 24px!important}.guru-hero-copy{box-sizing:border-box!important;max-width:72%!important;padding-top:0!important;position:relative!important;top:0!important}.guru-hero h1{margin-top:0!important}}@media (width<=520px){.guru-hero{min-height:300px!important;padding:28px 24px 24px!important}.guru-hero-copy{max-width:72%!important}}@media (width<=800px){.guru-hero{align-items:initial!important;display:block!important;overflow:hidden!important}.guru-hero-copy{align-self:auto!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;top:auto!important;bottom:auto!important;transform:none!important}.guru-hero h1{margin:0!important;padding:0!important;display:block!important}}@media (width<=520px){.guru-hero{padding:28px 24px 24px!important}}@media (width<=800px){.guru-dashboard{box-sizing:border-box!important;padding-top:56px!important}}@media (width<=520px){.guru-dashboard{padding-top:56px!important}}@media (width<=800px){.mobile-header-shell .menu-strip{box-sizing:border-box!important;overflow:hidden!important}.mobile-header-shell .menu-scroll{-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;box-sizing:border-box!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:8px 10px 24px!important;display:flex!important;overflow:hidden auto!important}.mobile-header-shell .menu-item{box-sizing:border-box!important;flex:none!important;justify-content:flex-start!important;width:100%!important;min-height:56px!important;padding:0 14px!important}}@media (width<=520px){.mobile-header-shell .menu-scroll{padding:8px 8px 24px!important}.mobile-header-shell .menu-item{min-height:54px!important;padding-inline:12px!important}}@media print{@page{size:A4 portrait;margin:0!important}html,body,#root,.app-shell{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.app-shell>.topbar,.app-shell>.menu-strip,.app-shell>footer,.app-shell>.role-switcher,.topbar,.menu-strip,.role-switcher,footer{display:none!important}.content{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}.panitia-ujian-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.mobile-header-shell{width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;display:none!important;position:static!important;overflow:hidden!important}}.preskita-ai-float{z-index:1200;position:fixed;bottom:92px;right:22px}.preskita-ai-float-button{color:#fff;cursor:pointer;text-align:left;background:linear-gradient(135deg,#102a43,#1f4e79);border:1px solid #ffffff59;border-radius:17px;align-items:center;gap:11px;min-width:280px;padding:12px 14px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 12px 30px #0f233740}.preskita-ai-float-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0f23374d}.preskita-ai-float-icon{background:#ffffff24;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:21px;display:grid}.preskita-ai-float-copy{flex:1;min-width:0}.preskita-ai-float-copy strong{font-size:14px;line-height:1.2;display:block}.preskita-ai-float-copy small{opacity:.78;white-space:nowrap;margin-top:3px;font-size:10px;display:block}.preskita-ai-float-arrow{opacity:.8;font-size:20px}@media (width<=600px){.preskita-ai-float{bottom:88px;left:12px;right:12px}.preskita-ai-float-button{border-radius:15px;width:100%;min-width:0;padding:11px 12px}.preskita-ai-float-copy small{font-size:9px}}.schedule-day-mobile-scroll{display:none}@media (width<=760px){.schedule-day-desktop{display:none!important}.schedule-day-mobile-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:thin;width:100%;min-width:0;max-width:100%;padding-bottom:8px;overflow:auto hidden;display:block!important}.schedule-day-mobile-track{flex-wrap:nowrap;gap:8px;width:max-content;min-width:max-content;display:flex}}.master-jam-scroll{width:100%;min-width:0;max-width:100%}.master-jam-scroll-inner{min-width:0}.master-jam-day-row{flex-wrap:nowrap;gap:8px;width:100%;min-width:0;padding-bottom:8px;display:flex;overflow:hidden}@media (width<=760px){.master-jam-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:thin;overflow:auto hidden}.master-jam-scroll-inner{width:760px;min-width:760px}.master-jam-day-row{width:100%;min-width:680px}.schedule-day-desktop,.schedule-day-mobile-scroll,.schedule-day-mobile{display:none!important}.master-jam-day-row{flex-flow:row!important;justify-content:flex-start!important;align-items:stretch!important;gap:8px!important;width:max-content!important;min-width:max-content!important;max-width:none!important;display:flex!important;overflow:visible!important}.master-jam-day-row>label{flex:0 0 92px!important;width:92px!important;min-width:92px!important;max-width:92px!important}.master-jam-scroll{touch-action:pan-x!important;width:100%!important;max-width:100%!important;overflow:auto hidden!important}.master-jam-scroll-inner{width:760px!important;min-width:760px!important;max-width:none!important}}.teacher-school-status-slot{min-width:0;max-width:100%;margin:0 0 18px}.teacher-school-status-card{background:var(--card,#fff);border:1px solid #2563eb1f;border-radius:20px;min-width:0;max-width:100%;padding:16px;box-shadow:0 8px 24px #0f172a0f}.teacher-school-status-card.is-out{border-color:#f59e0b40}.teacher-school-status-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-school-status-title{align-items:center;gap:10px;min-width:0;display:flex}.teacher-school-status-dot{background:#22c55e;border-radius:999px;flex:none;width:10px;height:10px}.is-out .teacher-school-status-dot{background:#f59e0b}.teacher-school-status-title strong{font-size:15px}.teacher-school-status-meta{color:var(--muted,#64748b);margin:4px 0 0;font-size:12px}.teacher-school-status-reason{background:#f59e0b14;border-radius:12px;margin:12px 0 0;padding:10px 12px;font-size:13px}.teacher-school-status-actions{gap:8px;margin-top:12px;display:flex}.teacher-school-status-button{cursor:pointer;border:0;border-radius:12px;width:100%;min-height:44px;padding:10px 14px;font-weight:700}.teacher-school-status-button.primary{color:#fff;background:#2563eb}.teacher-school-status-button.return{color:#fff;background:#f59e0b}.teacher-school-status-button:disabled{opacity:.6;cursor:not-allowed}.teacher-school-status-error{color:#b91c1c;margin-top:10px;font-size:12px}.teacher-school-status-dialog{border:0;border-radius:18px;width:min(100%,420px);padding:20px;box-shadow:0 20px 60px #0f172a38}.teacher-school-status-dialog::backdrop{background:#0f172a73}.teacher-school-status-dialog h3{margin:0 0 6px}.teacher-school-status-dialog p{color:var(--muted,#64748b);margin:0 0 14px;font-size:13px}.teacher-school-status-dialog textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:96px;font:inherit;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}.teacher-school-status-dialog-actions{gap:8px;margin-top:14px;display:flex}.teacher-school-status-dialog-actions button{border:0;border-radius:12px;flex:1;min-height:44px;font-weight:700}.teacher-school-status-dialog-actions .cancel{color:#0f172a;background:#e2e8f0}.teacher-school-status-dialog-actions .submit{color:#fff;background:#2563eb}@media (width<=640px){.teacher-school-status-card{border-radius:16px;padding:14px}.teacher-school-status-dialog{width:calc(100% - 24px);padding:16px}}.mobile-menu-backdrop{display:none}@media (width<=800px){.mobile-menu-backdrop{cursor:pointer;z-index:999;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0f172a33;border:0;border-radius:0;width:100vw;height:100dvh;margin:0;padding:0;display:block;position:fixed;inset:0}.header-menu-toggle{outline-offset:3px;width:44px!important;min-width:44px!important;height:44px!important;box-shadow:none!important;color:#244b70!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.header-menu-toggle:focus-visible{border-radius:8px!important;outline:2px solid #8bb9df!important}.header-menu-toggle .menu-icon{flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:5px!important;width:24px!important;height:22px!important;font-size:0!important;line-height:0!important;display:flex!important}.header-menu-toggle .menu-icon i{background:currentColor!important;border-radius:99px!important;width:24px!important;height:2.4px!important;margin:0!important;display:block!important;transform:none!important}.header-menu-toggle .menu-icon-close{justify-content:center!important;align-items:center!important;width:24px!important;height:24px!important;font-size:28px!important;font-weight:400!important;line-height:1!important;display:flex!important}}.teachers-page{gap:16px;display:grid}.teachers-toolbar{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.teachers-toolbar h2{margin:0 0 4px;font-size:18px}.teachers-toolbar p{color:var(--muted);margin:0;font-size:11px}.teacher-toolbar-actions{flex-shrink:0;align-items:center;gap:9px;display:flex}.teacher-primary,.teacher-secondary{cursor:pointer;white-space:nowrap;border-radius:9px;min-height:40px;padding:10px 14px;font-size:11px;font-weight:800}.teacher-primary{background:var(--purple);color:#fff;border:0}.teacher-primary:hover{background:var(--purple-dark)}.teacher-primary:disabled{opacity:.6;cursor:wait}.teacher-secondary{color:var(--purple-dark);background:#f7f4ff;border:1px solid #d8cff2}.teacher-secondary:hover{background:var(--purple-soft);border-color:#c7b9ee}.teacher-secondary:active,.teacher-primary:active{transform:translateY(1px)}.teacher-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.teacher-summary div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 17px}.teacher-summary strong{color:#302a40;font-size:23px;display:block}.teacher-summary span{color:var(--muted);font-size:10px}.teacher-notice,.teacher-error{border-radius:9px;padding:10px 12px;font-size:10px}.teacher-notice{color:#27875a;background:#edf9f2;border:1px solid #d5efdf}.teacher-error{color:#9b4747;background:#fff7f7;border:1px solid #f0d5d5}.teacher-list-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.teacher-list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.teacher-list-head div{align-items:baseline;gap:8px;display:flex}.teacher-list-head strong{font-size:14px}.teacher-list-head span{color:var(--muted);font-size:9px}.teacher-list-head input{border:1px solid #ddd8e8;border-radius:9px;outline:none;width:min(320px,100%);padding:9px 11px;font-size:10px}.teacher-list-head input:focus{box-shadow:0 0 0 3px var(--purple-soft);border-color:#a494e2}.teacher-table-wrap{overflow:auto}.teacher-table{border-collapse:collapse;width:100%;font-size:10px}.teacher-table th{text-align:left;color:#807b8d;background:#faf9fd;padding:11px 14px;font-size:9px;font-weight:800}.teacher-table td{color:#5b5668;white-space:nowrap;border-top:1px solid #efedf3;padding:12px 14px}.teacher-table td:nth-child(2){min-width:190px}.teacher-code{color:var(--purple-dark);font-weight:800}.optional-text{color:#aaa5b3;font-style:italic}.teacher-status{border-radius:6px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-block}.teacher-status.active{color:#27875a;background:#edf9f2}.teacher-status.inactive{color:#85808f;background:#f3f1f5}.teacher-actions{gap:5px;display:flex}.teacher-actions button{color:var(--purple-dark);cursor:pointer;background:#fff;border:1px solid #ddd7eb;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:750}.teacher-actions button:hover{background:var(--purple-soft)}.account-badge{color:var(--purple-dark);background:#f1edff;border-radius:6px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-block}.teacher-modal-backdrop{z-index:100;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#231c3559;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teacher-modal{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:17px;width:min(460px,100vw - 20px);max-width:100%;max-height:90svh;padding:21px;overflow:auto;box-shadow:0 24px 80px #1e143c33}.teacher-modal-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.teacher-modal-head h3{margin:0;font-size:20px}.teacher-modal-head button{color:#85808f;cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.teacher-form{gap:13px;display:grid}.teacher-form label{color:#4c475a;gap:6px;font-size:10px;font-weight:750;display:grid}.teacher-form label span{color:#aaa5b3;font-weight:500}.teacher-form input,.teacher-form select{width:100%;color:var(--text);box-sizing:border-box;background:#fff;border:1px solid #dcd8e7;border-radius:9px;outline:none;padding:11px 12px;font-size:11px}.teacher-form select{cursor:pointer;appearance:auto;min-height:39px}.teacher-form input:focus,.teacher-form select:focus{box-shadow:0 0 0 3px var(--purple-soft);border-color:#a494e2}.teacher-modal-actions{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.teacher-modal-actions>button:first-child{color:#696476;cursor:pointer;background:#fff;border:1px solid #ddd8e7;border-radius:9px;padding:10px 13px;font-size:10px;font-weight:700}.account-person{background:#faf9fd;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:15px;padding:12px;display:flex}.account-person span{color:var(--muted);overflow-wrap:anywhere;font-size:9px;line-height:1.45}.account-note{color:var(--muted);background:#faf9fd;border-radius:9px;padding:10px 11px;font-size:9px;line-height:1.5}.account-success{background:#f4fcf7;border:1px solid #d5efdf;border-radius:11px;padding:15px}.account-success strong{color:#27875a;font-size:13px}.account-success p{color:var(--muted);margin:13px 0 5px;font-size:10px}.account-success code{color:#276f4d;letter-spacing:1px;text-align:center;background:#fff;border:1px solid #dceee2;border-radius:9px;padding:12px;font-size:18px;font-weight:850;display:block}.account-success small{color:#77738a;margin:11px 0 15px;font-size:9px;line-height:1.5;display:block}.account-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-actions button{color:#696476;cursor:pointer;background:#fff;border:1px solid #ddd8e7;border-radius:9px;width:100%;min-height:42px;padding:10px 13px;font-size:10px;font-weight:700}.account-actions .teacher-primary{text-align:center;visibility:visible;opacity:1;justify-content:center;align-items:center;display:inline-flex;background:var(--purple)!important;color:#fff!important;border:0!important}.account-actions .teacher-primary:hover{background:var(--purple-dark)!important;color:#fff!important}.password-row{grid-template-columns:1fr auto;gap:7px;display:grid}.password-row button{color:var(--purple-dark);cursor:pointer;background:#faf9fd;border:1px solid #ddd8e7;border-radius:9px;padding:0 12px;font-size:10px;font-weight:800}.password-row button:hover{background:var(--purple-soft)}@media (width<=700px){.teachers-toolbar{flex-direction:column;align-items:stretch}.teacher-toolbar-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.teacher-toolbar-actions .teacher-primary,.teacher-toolbar-actions .teacher-secondary{justify-content:center;width:100%}.teacher-summary{grid-template-columns:1fr 1fr}.teacher-summary div:last-child{grid-column:1/-1}.teacher-list-head{flex-direction:column;align-items:stretch}.teacher-list-head input{width:100%}.teacher-table th,.teacher-table td{padding:10px 11px}.teacher-modal-backdrop{padding:10px}.teacher-modal{width:100%;padding:18px}.account-actions{grid-template-columns:1fr}.account-actions button{min-height:44px}}.teachers-toolbar{border-radius:12px}.teachers-toolbar p{font-size:13px;line-height:1.5}.teacher-primary,.teacher-secondary{border-radius:8px;min-height:40px;padding:8px 14px;font-size:14px}.teacher-summary{gap:10px}.teacher-summary div{border-radius:10px;padding:16px}.teacher-summary strong{font-size:22px}.teacher-summary span{font-size:12px}.teacher-notice,.teacher-error{padding:12px 16px;font-size:13px;line-height:1.5}.teacher-list-card{border-radius:12px}.teacher-list-head{padding:16px 20px}.teacher-list-head span{font-size:12px}.teacher-list-head input{box-sizing:border-box;min-height:40px;padding:8px 12px;font-size:16px}.teacher-table{min-width:920px;font-size:14px}.teacher-table th{padding:11px 14px;font-size:12px}.teacher-table td{padding:12px 14px;font-size:14px}.teacher-code{font-size:14px}.teacher-status,.account-badge{border-radius:7px;padding:5px 8px;font-size:12px}.teacher-actions{gap:8px}.teacher-actions button{border-radius:8px;min-height:40px;padding:8px 12px;font-size:14px}.teacher-modal{border-radius:12px;padding:20px}.teacher-modal-head h3{font-size:20px}.teacher-modal-head button{width:36px;height:36px;font-size:20px}.teacher-form{gap:12px}.teacher-form label{font-size:13px}.teacher-form input,.teacher-form select{min-height:40px;padding:8px 12px;font-size:16px}.teacher-modal-actions>button:first-child{border-radius:8px;min-height:40px;padding:8px 14px;font-size:14px}.account-person strong{font-size:14px}.account-person span,.account-note,.account-success small{font-size:12px;line-height:1.5}.account-note{padding:12px 16px}.account-success p{font-size:13px}.account-success code{font-size:18px}.account-actions button{border-radius:8px;min-height:40px;font-size:14px}.password-row button{min-height:40px;font-size:13px}@media (width<=700px){.teachers-toolbar{padding:16px}.teacher-summary{grid-template-columns:1fr 1fr}.teacher-list-head{padding:14px 16px}.teacher-table{min-width:920px}.teacher-table th,.teacher-table td{padding:11px 12px}.teacher-actions button{min-height:40px}.teacher-modal-backdrop{padding:10px}.teacher-modal{width:100%;padding:16px}}@media (width<=420px){.teacher-summary{grid-template-columns:1fr}.teacher-summary div:last-child{grid-column:auto}}.assignment-modal{margin:0 auto;position:relative;left:auto;right:auto;overflow:hidden auto;box-sizing:border-box!important;width:min(460px,100vw - 20px)!important;min-width:0!important;max-width:calc(100vw - 20px)!important;transform:none!important}.assignment-modal,.assignment-modal *{box-sizing:border-box}.assignment-modal .teacher-modal-head,.assignment-modal .account-person,.assignment-modal .assignment-reference,.assignment-modal .assignment-list,.assignment-modal .assignment-item,.assignment-modal .teacher-form,.assignment-modal .teacher-form label,.assignment-modal .teacher-modal-actions,.assignment-modal .teacher-modal-head>div,.assignment-modal .assignment-item>div{min-width:0;max-width:100%}.assignment-modal .teacher-modal-head h3,.assignment-modal .account-person span,.assignment-modal .assignment-reference span,.assignment-modal .assignment-item span,.assignment-modal .assignment-item small,.assignment-modal .teacher-error{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.assignment-modal .teacher-form input,.assignment-modal .teacher-form select,.assignment-modal .teacher-form textarea{display:block;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.assignment-modal .teacher-modal-actions{flex-wrap:wrap;width:100%}.assignment-modal .teacher-modal-actions>button{flex:0 auto;max-width:100%}@media (width<=700px){.teacher-modal-backdrop{box-sizing:border-box;width:100vw;max-width:100vw;padding:10px;overflow-x:hidden}.teacher-modal-backdrop .assignment-modal{margin-inline:auto;padding:16px;width:calc(100vw - 20px)!important;min-width:0!important;max-width:calc(100vw - 20px)!important}.assignment-modal .teacher-modal-head{width:100%}.assignment-modal .teacher-modal-actions{justify-content:flex-end}}.assignment-modal .assignment-reference{grid-template-columns:minmax(0,1fr);gap:4px;width:100%;max-width:100%;display:grid;overflow:hidden}.assignment-modal .assignment-reference strong,.assignment-modal .assignment-reference span{white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;min-width:0;max-width:100%;display:block}@media (width<=700px){.assignment-modal .assignment-reference{margin-top:2px;margin-bottom:2px}}.student-code-cell{min-width:150px}.student-code-cell strong{display:block}.code-hint{color:var(--muted);margin-top:3px;font-size:11px;display:block}.action-group{flex-wrap:wrap;gap:6px;display:flex}.barcode-backdrop{z-index:80;background:#231d376b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.barcode-modal{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 36px);padding:20px;overflow:auto;box-shadow:0 24px 70px #24184338}.barcode-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.barcode-head h2{margin:2px 0 0;font-size:20px}.barcode-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;margin:12px 0 16px;padding:18px 14px 14px}.barcode-student-name{color:var(--text);margin:10px 0 2px;font-size:17px;font-weight:750}.barcode-student-code{color:var(--muted);margin:0;font-size:13px}.barcode-security-note{background:var(--purple-soft);color:var(--text);border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:1.5}.barcode-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.barcode-actions button{min-height:40px}.qr-intro{color:var(--muted);margin:-4px 0 12px;font-size:12px;line-height:1.5}.qr-student-card{padding:16px 12px 14px}.student-qr-frame{justify-content:center;width:100%;display:flex}.student-qr-wrap{background:#fff;border:1px solid #e8e4f0;border-radius:18px;justify-content:center;align-items:center;padding:8px;display:inline-flex;position:relative}.student-qr-wrap canvas{width:min(250px,68vw);height:auto;image-rendering:pixelated;display:block}.student-qr-logo{background:var(--purple);color:#fff;border:4px solid #fff;border-radius:10px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:850;display:grid;position:absolute;box-shadow:0 3px 10px #231d3726}.data-page{width:100%}.data-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.data-toolbar h2{color:#2d2938;letter-spacing:-.35px;margin:0 0 5px;font-size:22px}.data-toolbar p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.primary-button,.outline-button,.table-button,.modal-close{font:inherit;cursor:pointer}.primary-button{border:1px solid var(--purple);background:var(--purple);color:#fff;border-radius:10px;min-height:40px;padding:10px 15px;font-size:11px;font-weight:800;box-shadow:0 7px 18px #7657d829}.primary-button:hover{background:var(--purple-dark);border-color:var(--purple-dark)}.primary-button:disabled,.outline-button:disabled,.table-button:disabled,.modal-close:disabled{opacity:.55;cursor:wait}.data-tools{align-items:center;gap:10px;margin-bottom:12px;display:flex}.data-tools input{width:min(100%,440px);min-height:42px;color:var(--text);background:#fff;border:1px solid #dcd8e7;border-radius:10px;outline:none;padding:10px 13px;font-size:12px;box-shadow:0 4px 14px #2c214e06}.data-tools input:focus{box-shadow:0 0 0 3px var(--purple-soft);border-color:#a494e2}.data-tools>span{color:var(--muted);white-space:nowrap;font-size:10px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto;box-shadow:0 8px 25px #2c214e09}.table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.table-wrap th{border-bottom:1px solid var(--line);color:#706b7d;letter-spacing:.35px;text-align:left;white-space:nowrap;background:#faf9fd;padding:12px 14px;font-size:10px;font-weight:800}.table-wrap td{color:#454052;vertical-align:middle;border-bottom:1px solid #f0eef4;padding:13px 14px;font-size:11px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover td{background:#fcfbff}.student-code-cell strong{color:#393249;letter-spacing:.2px;font-size:11px}.status-badge{border-radius:999px;align-items:center;min-height:25px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.status-badge.active{color:#27875a;background:#edf9f2}.status-badge.inactive{color:#77717f;background:#f3f1f5}.table-button{min-height:32px;color:var(--purple-dark);background:#fff;border:1px solid #dcd6ee;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:750}.table-button:hover{background:var(--purple-soft);border-color:#cfc4eb}.empty-cell{text-align:center;color:#9893a2!important;padding:38px 20px!important;font-size:11px!important}.success-note{color:#347b55;background:#f4fbf6;border:1px solid #d8eddf;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:11px;line-height:1.5}.modal-backdrop{z-index:70;background:#231d376b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(680px,100%);max-height:calc(100vh - 36px);padding:22px;overflow:auto;box-shadow:0 24px 70px #24184338}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.modal-head h2{color:#2d2938;margin:2px 0 0;font-size:21px}.modal-close{border:1px solid var(--line);color:#77717f;background:#fff;border-radius:9px;flex:none;width:34px;height:34px;font-size:21px;line-height:1}.modal-close:hover{color:var(--text);background:#faf9fd}.info-note{background:var(--purple-soft);color:#5f5480;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:10px;line-height:1.55}.student-form{gap:15px;display:grid}.student-form label{color:#514c5d;gap:7px;font-size:11px;font-weight:750;display:grid}.student-form label>span{color:#9993a4;font-size:9px;font-weight:500}.student-form input,.student-form select{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #dcd8e7;border-radius:10px;outline:none;padding:10px 12px;font-size:12px}.student-form input:focus,.student-form select:focus{box-shadow:0 0 0 3px var(--purple-soft);border-color:#a494e2}.form-actions{justify-content:flex-end;gap:9px;padding-top:2px;display:flex}.form-actions .outline-button{width:auto;min-width:90px;margin-top:0}.form-actions .primary-button{min-width:135px}@media (width<=680px){.data-toolbar{flex-direction:column;align-items:stretch;gap:12px}.data-toolbar .primary-button{width:100%}.data-tools{flex-direction:column;align-items:stretch}.data-tools input{width:100%}.data-tools>span{align-self:flex-end}.table-wrap{border-radius:13px}.table-wrap table{min-width:690px}.modal-card{border-radius:18px;padding:17px}.form-grid{grid-template-columns:1fr;gap:13px}.form-actions{flex-direction:column-reverse}.form-actions .outline-button,.form-actions .primary-button{width:100%}.barcode-modal{border-radius:18px;padding:15px}.barcode-card{padding:12px 8px 10px}.barcode-actions{flex-direction:column}.barcode-actions button{width:100%}.student-qr-wrap canvas{width:min(240px,66vw)}.student-qr-logo{width:38px;height:38px;font-size:20px}.action-group{flex-direction:column;align-items:stretch}}@media print{body.barcode-printing *{visibility:hidden!important}body.barcode-printing .barcode-print-sheet,body.barcode-printing .barcode-print-sheet *{visibility:visible!important}body.barcode-printing .barcode-print-sheet{width:100%;padding:18mm;position:absolute;inset:0}@page{size:A4 portrait;margin:0}html,body{background:#fff!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.bulk-print-layer,.bulk-print-layer *{visibility:visible!important}.bulk-print-layer{color:#292735!important;box-sizing:content-box!important;background:#fff!important;grid-template-columns:repeat(2,85.6mm)!important;grid-auto-rows:54mm!important;place-content:start!important;gap:0!important;width:171.2mm!important;height:270mm!important;margin:13.5mm auto!important;padding:0!important;font-family:Arial,sans-serif!important;display:grid!important;position:relative!important;inset:auto!important}.bulk-print-card{box-sizing:border-box!important;page-break-after:auto!important;break-after:auto!important;break-inside:avoid!important;background:#fff!important;border:.35mm dashed #cfc9dc!important;border-radius:0!important;grid-template-rows:auto 1fr auto!important;grid-template-columns:24mm 1fr!important;place-items:center!important;column-gap:3mm!important;width:85.6mm!important;height:54mm!important;min-height:54mm!important;max-height:54mm!important;margin:0!important;padding:3mm!important;display:grid!important;overflow:hidden!important}.bulk-print-card:nth-child(11n){break-before:page!important;page-break-before:always!important}.bulk-print-qr{object-fit:contain!important;box-sizing:border-box!important;border:.25mm solid #e9e6f0!important;border-radius:1.5mm!important;grid-area:1/1/span 3!important;width:22mm!important;height:22mm!important;padding:1mm!important}.bulk-print-brand{letter-spacing:.02em!important;grid-area:1/2!important;align-self:end!important;margin:0!important;font-size:8pt!important;font-weight:800!important;line-height:1!important}.bulk-print-eyebrow{display:none!important}.bulk-print-name{text-align:left!important;overflow-wrap:anywhere!important;grid-area:2/2!important;align-self:center!important;width:100%!important;max-width:52mm!important;margin:0!important;font-size:8.5pt!important;font-weight:800!important;line-height:1.15!important}.bulk-print-code{color:#666!important;grid-area:3/2!important;justify-self:start!important;margin:0!important;font-size:6.5pt!important;line-height:1!important}.bulk-print-note,.qr-print-layer{display:none!important}}.student-status-window{background:#fff;border:1px solid #e7e2f0;border-radius:18px;margin-top:20px;overflow:hidden}.student-status-window-inactive{margin-bottom:24px}.student-status-window-head{border-bottom:1px solid #eeeaf4;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.student-status-window-head h3{margin:3px 0 4px}.student-status-window-head p:last-child{color:#77717f;margin:0;font-size:13px}.student-status-count{white-space:nowrap;font-weight:700}.student-status-window-body{display:grid}.inactive-student-row{border-bottom:1px solid #f0edf4;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.inactive-student-row:last-child{border-bottom:0}.inactive-student-main{gap:4px;min-width:0;display:grid}.inactive-student-main strong{overflow-wrap:anywhere}.inactive-student-main small{color:#77717f}.inactive-student-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=700px){.student-status-window-head,.inactive-student-row{flex-direction:column;align-items:flex-start}.inactive-student-actions{justify-content:flex-start}}@media (width<=680px){.data-page{width:100%;min-width:0;overflow:hidden}.data-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;align-items:stretch;gap:14px;margin:0 0 18px;padding:20px 16px 16px;box-shadow:0 8px 25px #2c214e09}.data-toolbar h2{margin-bottom:6px;font-size:24px}.data-toolbar p{font-size:12px;line-height:1.55}.bulk-card-actions{grid-template-columns:1fr;gap:10px;margin-top:2px;display:grid}.bulk-card-actions .outline-button,.bulk-card-actions .primary-button{border-radius:12px;width:100%;min-height:52px;margin:0;font-size:13px}.data-tools{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.data-tools input{border-radius:12px;width:100%;min-width:0;min-height:52px;padding:12px 14px;font-size:13px}.data-tools>span{align-self:flex-end;padding-right:4px;font-size:10px}.table-wrap{width:100%;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:hidden}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;min-width:0;display:block}.table-wrap table{table-layout:fixed}.table-wrap thead{display:none}.table-wrap tbody tr{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:100%;margin:0 0 14px;padding:18px 16px 16px;overflow:hidden;box-shadow:0 8px 25px #2c214e09}.table-wrap tbody td{overflow-wrap:anywhere;color:#595465;border:0;border-bottom:1px solid #efedf3;min-width:0;max-width:100%;padding:0 0 12px;font-size:13px;line-height:1.45;margin:0!important}.table-wrap tbody td+td{padding-top:12px}.table-wrap tbody td:before{color:var(--muted);letter-spacing:.7px;margin:0 0 5px;font-size:9px;font-weight:800;line-height:1.2;display:block}.table-wrap tbody td:first-child:before{content:"NO. ABSEN"!important}.table-wrap tbody td:nth-child(2):before{content:"KODE SISWA"!important}.table-wrap tbody td:nth-child(3):before{content:"NAMA LENGKAP"!important}.table-wrap tbody td:nth-child(4):before{content:"NIS"!important}.table-wrap tbody td:nth-child(5):before{content:"NISN"!important}.table-wrap tbody td:nth-child(6):before{content:"STATUS"!important}.table-wrap tbody td:nth-child(7):before{content:"AKSI"!important}.table-wrap tbody td:first-child strong{color:var(--text);font-size:14px;font-weight:700;display:block}.table-wrap tbody td:nth-child(2){color:var(--text);font-size:18px;font-weight:750}.student-code-cell strong{color:var(--text);letter-spacing:-.2px;font-size:18px;font-weight:800;display:block}.student-code-cell .code-hint{color:var(--muted);margin-top:3px;font-size:10px;font-weight:500;display:block}.table-wrap tbody td:nth-child(3){color:var(--text);font-size:15px;font-weight:650}.table-wrap tbody td:nth-child(4),.table-wrap tbody td:nth-child(5){color:#595465;font-size:13px;font-weight:500}.table-wrap tbody td:nth-child(6){padding-bottom:12px}.table-wrap tbody td:nth-child(7){border-bottom:0;padding-top:12px;padding-bottom:0}.action-group{flex-direction:row;align-items:stretch;gap:8px;width:100%;min-width:0}.action-group .table-button{white-space:nowrap;border-radius:10px;flex:1 1 0;min-width:0;min-height:44px;padding:8px 6px;font-size:10px}.table-wrap tbody td.empty-cell{text-align:center;width:100%;color:var(--muted);padding:38px 12px;font-size:11px;display:block}.table-wrap tbody td.empty-cell:before{display:none!important}.modal-backdrop,.barcode-backdrop{padding:12px;overflow:hidden}.modal-card,.barcode-modal{border-radius:18px;width:100%;max-width:100%;max-height:calc(100svh - 24px);padding:16px}.form-grid{grid-template-columns:1fr;gap:13px}.form-actions{flex-direction:column-reverse}.form-actions .outline-button,.form-actions .primary-button{width:100%}.barcode-card{padding:12px 8px 10px}.barcode-actions{flex-direction:column}.barcode-actions button{width:100%}.student-qr-wrap canvas{width:min(240px,66vw)}.student-qr-logo{width:38px;height:38px;font-size:20px}}@media print{body.barcode-printing *{visibility:hidden!important}body.barcode-printing .barcode-print-sheet,body.barcode-printing .barcode-print-sheet *{visibility:visible!important}body.barcode-printing .barcode-print-sheet{width:100%;padding:18mm;position:absolute;inset:0}}@media (width<=680px){.data-page .table-wrap tbody td:before{content:none!important}.data-page .table-wrap tbody td[data-label]:before{content:attr(data-label)!important;color:var(--muted)!important;letter-spacing:.7px!important;margin:0 0 5px!important;font-size:9px!important;font-weight:800!important;line-height:1.2!important;display:block!important}.data-page .table-wrap tbody td[data-label="NO. ABSEN"]:before{content:"NO. ABSEN"!important}.data-page .table-wrap tbody td[data-label=KODE\ SISWA]:before{content:"KODE SISWA"!important}.data-page .table-wrap tbody td[data-label=NAMA\ LENGKAP]:before{content:"NAMA LENGKAP"!important}.data-page .table-wrap tbody td[data-label=NIS]:before{content:"NIS"!important}.data-page .table-wrap tbody td[data-label=NISN]:before{content:"NISN"!important}.data-page .table-wrap tbody td[data-label=STATUS]:before{content:"STATUS"!important}.data-page .table-wrap tbody td[data-label=AKSI]:before{content:"AKSI"!important}}.student-accounts-page .page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-accounts-page .toolbar{margin:18px 0}.student-accounts-page .toolbar input{box-sizing:border-box;width:100%;max-width:520px;display:block}.student-accounts-page .table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.student-accounts-page .table-wrap table{border-collapse:collapse;width:100%}.student-accounts-page .actions{white-space:nowrap}.student-accounts-page .account-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.student-accounts-page .account-status.active{color:#087a46;background:#e8f8ef}.student-accounts-page .account-status.none{color:#77738a;background:#f1f1f4}.student-accounts-page .primary-button,.student-accounts-page .secondary-button{cursor:pointer;border-radius:10px;padding:9px 12px;font-weight:800}.student-accounts-page .primary-button{color:#fff;background:#176fc1;border:0}.student-accounts-page .secondary-button{color:#3d3a47;background:#fff;border:1px solid #d8d6df}.student-accounts-page button:disabled{opacity:.55;cursor:not-allowed}.student-accounts-page .modal-backdrop{z-index:1000;background:#1418207a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-accounts-page .credential-card{box-sizing:border-box;background:#fff;border-radius:20px;width:min(440px,100%);padding:28px;position:relative;box-shadow:0 20px 70px #0003}.student-accounts-page .modal-close{cursor:pointer;color:#777;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:14px}.student-accounts-page .credential-card h2{overflow-wrap:anywhere;margin:5px 0 8px}.student-accounts-page .credential-note{color:#6f6b79;font-size:13px;line-height:1.5}.student-accounts-page .credential-row{border-bottom:1px solid #eee;justify-content:space-between;gap:18px;padding:13px 0;display:flex}.student-accounts-page .credential-row span{color:#77738a}.student-accounts-page .credential-row strong{overflow-wrap:anywhere}.student-accounts-page .credential-actions{gap:10px;margin-top:20px;display:flex}.student-accounts-page .page-alert.error{margin:12px 0}@media (width<=680px){.student-accounts-page .page-head{display:block}.student-accounts-page .page-head h1{overflow-wrap:anywhere;font-size:clamp(28px,7vw,38px);line-height:1.1}.student-accounts-page .page-head .secondary-button{margin-top:12px}.student-accounts-page .table-wrap table{table-layout:fixed;min-width:0}.student-accounts-page .table-wrap th,.student-accounts-page .table-wrap td{overflow-wrap:anywhere;word-break:break-word;padding:10px 6px}.student-accounts-page .table-wrap th:first-child,.student-accounts-page .table-wrap td:first-child,.student-accounts-page .table-wrap th:nth-child(3),.student-accounts-page .table-wrap td:nth-child(3){display:none}.student-accounts-page .table-wrap th:nth-child(2){width:29%}.student-accounts-page .table-wrap th:nth-child(4){width:23%}.student-accounts-page .table-wrap th:nth-child(5){width:22%}.student-accounts-page .table-wrap th:nth-child(6){width:26%}.student-accounts-page .actions{white-space:normal}.student-accounts-page .actions button{white-space:normal;overflow-wrap:anywhere;width:100%;max-width:100%;padding:8px 6px;font-size:12px;line-height:1.25;display:block}.student-accounts-page .credential-actions{flex-direction:column}.student-accounts-page .credential-row{display:block}.student-accounts-page .credential-row strong{word-break:break-all;margin-top:5px;display:block}}.student-accounts-page .page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-accounts-page .page-head-actions .primary-button{color:#fff;cursor:pointer;background:#176fc1;border:0;border-radius:10px;padding:9px 12px;font-weight:800}.student-accounts-page .bulk-account-card{width:min(560px,100%)}.student-accounts-page .bulk-account-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.student-accounts-page .bulk-account-form label{color:#4d4a58;flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.student-accounts-page .bulk-account-form select{box-sizing:border-box;width:100%;font:inherit;color:#292735;background:#fff;border:1px solid #d8d6df;border-radius:10px;padding:10px 12px}.student-accounts-page .bulk-account-note{color:#6e5a2a;background:#fffaf0;border:1px solid #eadfbe;border-radius:10px;margin-top:14px;padding:11px 12px;font-size:12px;line-height:1.5}.student-accounts-page .bulk-account-card .credential-actions{justify-content:flex-end}@media (width<=680px){.student-accounts-page .page-head-actions{grid-template-columns:1fr;width:100%;margin-top:12px;display:grid}.student-accounts-page .page-head-actions button{width:100%}.student-accounts-page .bulk-account-form{grid-template-columns:1fr}.student-accounts-page .bulk-account-card{padding:22px}}.placement-modal{max-width:980px}.placement-form{gap:12px;display:grid}.placement-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.placement-toolbar>div{align-items:baseline;gap:9px;display:flex}.placement-toolbar strong{color:#373243;font-size:13px}.placement-toolbar span{color:#858092;font-size:10px}.placement-search{width:100%;color:var(--text);background:#fff;border:1px solid #dcd8e7;border-radius:10px;outline:none;padding:11px 13px;font-size:12px}.placement-search:focus{border-color:#a494e2;box-shadow:0 0 0 3px #f1edff}.student-pick-list{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:330px;overflow:auto}.student-pick-row{cursor:pointer;border-bottom:1px solid #f0eef4;grid-template-columns:22px minmax(0,1fr) 72px;align-items:center;gap:10px;min-height:55px;padding:8px 13px;display:grid}.student-pick-row:last-child{border-bottom:0}.student-pick-row:hover,.student-pick-row.selected{background:#faf8ff}.student-pick-row input{width:17px;height:17px;accent-color:var(--purple);cursor:pointer}.student-pick-main{flex-direction:column;gap:3px;min-width:0;display:flex}.student-pick-main strong{text-overflow:ellipsis;white-space:nowrap;color:#3b3747;font-size:11px;overflow:hidden}.student-pick-main small{text-overflow:ellipsis;white-space:nowrap;color:#9691a1;font-size:9px;overflow:hidden}.student-pick-roll{text-align:center;color:var(--purple-dark);font-size:11px;font-weight:800}.placement-current{margin-top:18px}.placement-current-head{color:#494456;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:11px;display:flex}.placement-current-head span{color:#918c9c;font-size:9px}@media (width<=700px){.placement-modal{width:calc(100% - 20px)}.placement-toolbar{flex-direction:column;align-items:flex-start}.student-pick-list{max-height:280px}.student-pick-row{grid-template-columns:22px minmax(0,1fr) 45px}.placement-current .table-wrap{overflow-x:auto}.data-page:has(.placement-current) .table-wrap>table>thead{display:none}.data-page:has(.placement-current) .table-wrap>table{width:100%;display:block}.data-page:has(.placement-current) .table-wrap>table>tbody{width:100%;display:block}.data-page:has(.placement-current) .table-wrap>table>tbody>tr{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:1fr;gap:0;margin-bottom:14px;padding:16px;display:grid;box-shadow:0 6px 20px #2c214e09}.data-page:has(.placement-current) .table-wrap>table>tbody>tr:last-child{margin-bottom:0}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td{text-align:left;border:0;width:100%;padding:7px 0;display:block}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:before{color:#817c8e!important;letter-spacing:.35px!important;text-transform:none!important;content:""!important;width:auto!important;margin:0 0 6px!important;padding:0!important;font-size:10px!important;font-weight:750!important;display:block!important;position:static!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:first-child:before{content:"Tingkat"!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(2):before{content:"Nama Kelas"!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(3):before{content:"Wali Kelas"!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(4):before{content:"Status"!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(5):before{content:"Aksi"!important}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:first-child{color:#5f5a6c;font-size:12px}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(2) strong{color:#302b42;font-size:21px;line-height:1.2;display:block}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(3) select{color:#393445;background:#fff;border:1px solid #d7d2e2;border-radius:11px;width:100%;min-height:46px;padding:9px 38px 9px 12px;font-size:13px;font-weight:600;display:block}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(3) select:focus{border-color:#a494e2;outline:none;box-shadow:0 0 0 3px #f1edff}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(5){flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.data-page:has(.placement-current) .table-wrap>table>tbody>tr>td:nth-child(5) .table-button{border-radius:10px;min-height:40px;padding:8px 16px;font-size:12px;font-weight:750}}.academic-years-page{gap:14px;display:grid}.academic-years-page .table-wrap{overflow-x:auto}.academic-years-page .table-wrap table{border-collapse:collapse;width:100%}.academic-years-page .table-wrap th,.academic-years-page .table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:11px 12px}.academic-years-page .table-wrap th{color:var(--muted);text-transform:uppercase;letter-spacing:.45px;background:#fcfbfe;font-size:10px}.academic-years-page .table-wrap td{font-size:12px}.academic-years-page .table-wrap td strong{font-size:13px}.academic-years-page .action-cell{white-space:normal}.academic-years-page .action-cell .table-button{margin:2px 4px 2px 0}.academic-years-page .info-note{line-height:1.5}.academic-years-page .modal-card{width:min(100% - 24px,560px)}@media (width<=700px){.academic-years-page .data-toolbar{flex-direction:column;align-items:stretch}.academic-years-page .data-toolbar .primary-button{width:100%;min-height:42px}.academic-years-page .table-wrap{overflow:visible}.academic-years-page .table-wrap>table,.academic-years-page .table-wrap>table>tbody{width:100%;display:block}.academic-years-page .table-wrap>table>thead{display:none}.academic-years-page .table-wrap>table>tbody>tr{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1fr;margin-bottom:12px;padding:13px 14px;display:grid;box-shadow:0 5px 18px #2c214e09}.academic-years-page .table-wrap>table>tbody>tr:last-child{margin-bottom:0}.academic-years-page .table-wrap>table>tbody>tr>td{border:0;width:100%;padding:7px 0;display:block}.academic-years-page .table-wrap>table>tbody>tr>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.5px;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.academic-years-page .table-wrap>table>tbody>tr>td:first-child strong{font-size:19px}.academic-years-page .action-cell{flex-wrap:wrap;gap:7px;padding-top:10px;display:flex}.academic-years-page .action-cell:before{width:100%}.academic-years-page .action-cell .table-button{border-radius:9px;min-height:38px;margin:0;padding:8px 13px}.academic-years-page .modal-card{max-height:calc(100svh - 24px);overflow:auto}.academic-years-page .student-form .form-grid{grid-template-columns:1fr}.academic-years-page .form-actions{background:#fff;padding-top:10px;position:sticky;bottom:0}}@media (width<=420px){.academic-years-page .table-wrap>table>tbody>tr{padding:12px}.academic-years-page .action-cell .table-button{flex:auto}}.attendance-mode{gap:8px;margin-top:16px;display:flex}.attendance-mode button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;flex:1;padding:10px;font-size:11px;font-weight:800}.attendance-mode button.active{background:var(--purple-soft);color:var(--purple-dark);border-color:#cfc3f2}.video-frame{min-height:370px;background:#171522!important;border-style:solid!important}.video-frame video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.video-frame:after{content:"";pointer-events:none;background:linear-gradient(#0f0d1914,#0f0d1933);position:absolute;inset:0}.video-frame .scan-corner,.video-frame .scan-line,.video-frame .scan-hint,.video-frame .scan-result{z-index:2}.scan-hint{color:#fff;background:#14121fb8;border-radius:7px;padding:7px 10px;font-size:10px;position:absolute;bottom:18px}.scan-result{text-align:center;background:#fffffff7;border-radius:13px;flex-direction:column;align-items:center;gap:6px;width:min(88%,330px);padding:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 45px #0003}.scan-result strong{color:#312b40;align-items:center;gap:7px;font-size:14px;display:flex}.scan-result strong span{background:var(--purple-soft);width:25px;height:25px;color:var(--purple-dark);border-radius:50%;place-items:center;display:grid}.scan-result.success strong span{color:#238254;background:#e9f8ef}.scan-result.warning strong span{color:#a96528;background:#fff2e7}.scan-result>span{color:#5d586a;font-size:11px}.scan-result small{color:var(--muted);font-size:10px}.scanner-error{color:#9b4747;background:#fff8f8;border:1px solid #ecd6d6;border-radius:9px;margin-top:12px;padding:10px 11px;font-size:10px;line-height:1.5}.barcode-fallback{gap:7px;margin-top:12px;display:flex}.barcode-fallback input{border:1px solid var(--line);min-width:0;color:var(--text);background:#fff;border-radius:9px;outline:none;flex:1;padding:10px 11px;font-size:11px}.barcode-fallback input:focus{box-shadow:0 0 0 3px var(--purple-soft);border-color:#a494e2}.barcode-fallback button{background:var(--purple);color:#fff;border:0;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:800}.barcode-fallback button:disabled{opacity:.5}.scanner-note span:first-child{color:var(--purple)}.subject-controls{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:12px;padding:12px;display:grid}.subject-controls label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.subject-controls select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;padding:10px;font-size:11px}.subject-submode{grid-column:1/-1;gap:7px;display:flex}.subject-submode button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;flex:1;padding:9px;font-size:10px;font-weight:800}.subject-submode button.active{background:var(--purple-soft);color:var(--purple-dark);border-color:#cfc3f2}.today-schedule{background:#fbfaff;border:1px solid #e8e1f8;border-radius:10px;grid-column:1/-1;padding:10px}.today-schedule>div:first-child{flex-direction:column;gap:3px;display:flex}.today-schedule>div:first-child strong{color:var(--text);font-size:11px}.today-schedule>div:first-child small{color:var(--muted);font-size:9px}.today-schedule-list{gap:7px;padding:9px 0 2px;display:flex;overflow-x:auto}.today-schedule-list button{text-align:left;border:1px solid var(--line);min-width:125px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:9px}.today-schedule-list button.active{background:var(--purple-soft);border-color:#a494e2;box-shadow:0 0 0 2px #7a54da14}.today-schedule-list span,.today-schedule-list strong,.today-schedule-list small{display:block}.today-schedule-list span{color:var(--purple-dark);font-size:9px;font-weight:800}.today-schedule-list strong{margin-top:3px;font-size:11px}.today-schedule-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.current-lesson{color:#28774f;background:#edf9f2;border-radius:7px;margin:7px 0 0;padding:7px 8px;font-size:9px}.current-lesson strong{font-size:10px}.manual-attendance{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:12px;overflow:hidden}.manual-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.manual-head h3{margin:0;font-size:15px}.manual-head p{color:var(--muted);margin:4px 0 0;font-size:10px}.manual-head button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.manual-message{border-radius:8px;margin:10px 12px 0;padding:9px;font-size:10px}.manual-message.success{color:#26774d;background:#edf9f2}.manual-message.error{color:#9b4747;background:#fff2f2}.manual-list{flex-direction:column;display:flex}.manual-row{border-bottom:1px solid #eee;grid-template-columns:minmax(150px,1.4fr) 110px minmax(160px,1.5fr) 72px;align-items:center;gap:8px;padding:9px 12px;display:grid}.manual-row:last-child{border-bottom:0}.manual-student{flex-direction:column;min-width:0;display:flex}.manual-student strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.manual-student small{color:var(--muted);margin-top:2px;font-size:9px}.manual-row select,.manual-row input{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:7px;outline:none;padding:8px;font-size:10px}.manual-row button{background:var(--purple);color:#fff;border:0;border-radius:7px;padding:8px 6px;font-size:9px;font-weight:800}.manual-row button:disabled{opacity:.55}.manual-empty{text-align:center;color:var(--muted);padding:24px;font-size:11px}@media (width<=800px){.scan-layout{grid-template-columns:1fr}.today-card{order:-1}.scanner-card{padding:14px}.scanner-frame{min-height:56svh;max-height:620px}.today-card{padding:14px}.attendance-total{margin:12px 0}.attendance-total strong{font-size:30px}.content{width:min(100% - 24px,1240px);padding-top:20px}.page-heading{align-items:flex-start}.date-card{display:none}.subject-controls{grid-template-columns:1fr}.subject-submode,.today-schedule{grid-column:auto}.manual-row{grid-template-columns:1fr 110px}.manual-row input{grid-column:1/-1}.manual-row button,.manual-row select{grid-column:2}}@media (width<=480px){.topbar{gap:10px;height:64px;padding:0 14px}.brand{min-width:0}.brand-name{font-size:17px}.brand-tagline,.topbar-school,.profile-text,.chevron{display:none}.profile-button{margin-left:auto}.content{width:calc(100% - 16px)}.menu-strip{padding:0 8px}.menu-item{padding:0 12px}.scanner-head h2{font-size:15px}.scanner-frame{min-height:55svh}.barcode-fallback{flex-direction:column}.barcode-fallback button{width:100%}.manual-row{grid-template-columns:1fr}.manual-row select,.manual-row input,.manual-row button{grid-column:auto}.manual-row button{width:100%}}.scan-layout{align-items:start}.scan-layout>*,.scanner-card,.today-card{min-width:0}.today-card{align-self:start;max-width:100%;height:fit-content;overflow:hidden}.subject-controls{min-width:0;box-shadow:0 4px 14px #2c214e06}.today-schedule{min-width:0;max-width:100%;overflow:hidden}.today-schedule-list{scrollbar-width:thin;min-width:0;max-width:100%}.today-schedule-list button{flex:0 0 125px}.subject-submode,.subject-submode button{min-width:0}@media (width>=801px){.scan-layout:has(.subject-controls){grid-template-columns:minmax(0,1fr) 250px;gap:16px}.scan-layout:has(.subject-controls) .today-card{padding:16px}.scan-layout:has(.subject-controls) .card-title h2{font-size:15px}.scan-layout:has(.subject-controls) .card-title p{font-size:10px}.scan-layout:has(.subject-controls) .attendance-total{margin:16px 0 10px}.scan-layout:has(.subject-controls) .attendance-total strong{font-size:30px}.scan-layout:has(.subject-controls) .stat-row{padding:8px 0;font-size:10px}.scan-layout:has(.subject-controls) .outline-button{margin-top:10px;padding:8px;font-size:10px}}@media (width<=800px){.today-card{order:0}.scan-layout{gap:12px}.today-card{width:100%}.today-card .card-title{padding-bottom:2px}.today-card .attendance-total{margin:10px 0 8px}.today-card .stat-row{border-top:1px solid #efedf3;width:50%;padding:9px 4px 9px 0;display:inline-flex}.today-card .stat-row:nth-of-type(odd){padding-left:0}.today-card{display:block}.today-card .outline-button{margin-top:8px}}@media (width<=480px){.today-card .stat-row{width:100%}.subject-controls{padding:10px}.today-schedule-list button{flex-basis:112px;min-width:112px}.today-schedule-list{padding-bottom:4px}}@media (orientation:landscape) and (height<=700px){.content{width:calc(100% - 28px);padding-top:18px}.scan-layout:has(.subject-controls){grid-template-columns:minmax(0,1fr) 230px;gap:12px}.scanner-card{padding:14px}.subject-controls{gap:8px;padding:10px}.today-schedule-list{padding-top:7px}.today-schedule-list button{flex-basis:112px;min-width:112px}.subject-submode{gap:6px}.subject-submode button{padding:9px 7px}.today-card{padding:14px}.today-card .attendance-total{margin:12px 0 8px}.today-card .attendance-total strong{font-size:28px}}.camera-controls{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.camera-switch{border:1px solid var(--line);background:var(--surface,#fff);color:var(--text,#222);cursor:pointer;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}.camera-switch:disabled{opacity:.6;cursor:not-allowed}.scan-layout{isolation:isolate;position:relative}.scan-layout:before,.scan-layout:after{content:"";z-index:-1;pointer-events:none;filter:blur(.2px);border-radius:999px;position:absolute}.scan-layout:before{background:#49b5f01c;width:220px;height:220px;top:30px;left:-90px}.scan-layout:after{background:#7e5be014;width:180px;height:180px;top:180px;right:-70px}.scanner-card{background:#fffffff5;border:1px solid #14365b14;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px #1f487314}.scanner-card .scanner-head{padding:20px 20px 4px}.scanner-card .scanner-head h2{color:#143b68;letter-spacing:-.02em;font-size:24px}.scanner-card .scanner-head p{color:#6e7c90;font-size:13px}.live-badge{color:#238254;background:#ecfaf3;border:1px solid #d5f0e2;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:800}.live-badge i{box-shadow:0 0 0 4px #25a66a14;background:#25a66a!important}.attendance-mode{gap:10px;margin-top:14px;padding:0 20px}.attendance-mode button{color:#697286;background:#fff;border:1px solid #dbe1e9;border-radius:13px;min-height:48px;font-size:12px}.attendance-mode button.active{color:#fff;background:linear-gradient(135deg,#16afe9,#0879c7);border-color:#0ca4e5;box-shadow:0 8px 18px #0f94d32e}.video-frame{min-height:clamp(320px,52vw,500px);margin:16px 20px 0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14;background:#171b24!important;border-radius:18px!important}.video-frame .scan-corner{border-color:#20a8e7!important}.video-frame .scan-line{box-shadow:0 0 12px #2bb5ee8c;background:#2bb5ee!important}.scan-hint{background:#0b121dc2;border-radius:12px;padding:10px 14px;font-size:11px;bottom:18px}.camera-controls{margin-top:12px;padding:0 20px}.camera-controls span{color:#748095;font-size:12px}.camera-switch{color:#163d68;background:#fff;border-color:#dce3eb;border-radius:12px;padding:10px 14px;box-shadow:0 3px 10px #14365b0a}.scanner-note{color:#687d96;background:#eff8ff;border:1px solid #dcecf8;border-radius:14px;margin:14px 20px 0;padding:14px 15px;font-size:12px;line-height:1.45}.scanner-note span:first-child{color:#168ed0;font-size:13px}.barcode-fallback{margin:12px 20px 20px}.barcode-fallback input{border-radius:12px;padding:12px;font-size:12px}.barcode-fallback button{background:linear-gradient(135deg,#16afe9,#0879c7);border-radius:12px;padding:12px 16px}.today-card{border:1px solid #14365b14;border-radius:20px;box-shadow:0 14px 40px #1f487312}@media (width<=800px){.scan-layout:before{width:160px;height:160px;top:80px;left:-90px}.scan-layout:after{width:130px;height:130px;top:300px;right:-65px}.scanner-card{border-radius:20px}.scanner-card .scanner-head{padding:18px 16px 2px}.scanner-card .scanner-head h2{font-size:21px}.attendance-mode{gap:8px;padding:0 16px}.attendance-mode button{min-height:46px}.video-frame{min-height:54svh;margin-left:16px;margin-right:16px}.camera-controls{padding:0 16px}.scanner-note{margin-left:16px;margin-right:16px}.barcode-fallback{margin-bottom:16px;margin-left:16px;margin-right:16px}}@media (width<=480px){.scanner-card .scanner-head h2{font-size:20px}.scanner-card .scanner-head p{font-size:12px}.attendance-mode button{padding:8px 4px;font-size:11px}.video-frame{min-height:55svh;border-radius:16px!important}.scanner-note{font-size:11px}}@media (width<=800px){.video-frame.front-arrival-camera{height:90svh!important;min-height:0!important;max-height:none!important}}@media (width<=480px){.video-frame.front-arrival-camera{height:90svh!important;min-height:0!important}}@media (orientation:landscape) and (height<=700px){.video-frame.front-arrival-camera{height:calc(100svh - 190px);min-height:0}}@media (width<=800px){.scanner-frame.video-frame.front-arrival-camera{height:90svh!important;min-height:0!important;max-height:none!important}.scan-layout,.scanner-card{width:100%;margin-left:0;margin-right:0}.scanner-card .scanner-head,.attendance-mode,.camera-controls,.scanner-note,.barcode-fallback{box-sizing:border-box}.video-frame{width:calc(100% - 32px);margin-left:16px;margin-right:16px}}@media (width<=480px){.scan-layout,.scanner-card{width:100%}.video-frame{width:calc(100% - 32px);margin-left:16px;margin-right:16px}}.scan-result.success{box-sizing:border-box;border:2px solid #b8e8ca;border-radius:18px;gap:10px;width:min(92%,380px);padding:22px 20px}.scan-result.success strong{color:#176b3b;justify-content:center;gap:10px;font-size:clamp(18px,4.8vw,22px);font-weight:850;line-height:1.25}.scan-result.success strong span{flex:0 0 34px;width:34px;height:34px;font-size:20px}.scan-result.success>span{color:#172f24;overflow-wrap:anywhere;max-width:100%;font-size:clamp(21px,5.6vw,27px);font-weight:850;line-height:1.25}.scan-result.success small{color:#4c6255;font-size:15px;font-weight:700;line-height:1.3}@media (width<=480px){.scan-result.success{gap:9px;width:min(94%,380px);padding:20px 16px}.scan-result.success strong{font-size:clamp(17px,4.7vw,20px)}.scan-result.success>span{font-size:clamp(20px,5.5vw,25px)}}.front-camera-fullscreen-toggle{z-index:10;color:#fff;cursor:pointer;background:#0d1826d1;border:1px solid #ffffff59;border-radius:12px;padding:10px 13px;font-size:13px;font-weight:800;line-height:1.2;position:absolute;top:12px;right:12px;box-shadow:0 4px 18px #00000038}.front-camera-fullscreen-toggle:focus-visible{outline-offset:3px;outline:3px solid #20a8e7}@media (width<=800px){.scanner-card.front-camera-fullscreen{z-index:99999!important;width:100vw!important;height:100dvh!important;max-height:none!important;box-shadow:none!important;background:#10141c!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;position:fixed!important;inset:0!important;overflow:hidden!important}.scanner-card.front-camera-fullscreen .scanner-head,.scanner-card.front-camera-fullscreen>.attendance-mode,.scanner-card.front-camera-fullscreen>.camera-controls,.scanner-card.front-camera-fullscreen>.scanner-note,.scanner-card.front-camera-fullscreen>.barcode-fallback{display:none!important}.scanner-card.front-camera-fullscreen .scanner-frame.video-frame.front-arrival-camera{border:0!important;border-radius:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;position:absolute!important;inset:0!important}.scanner-card.front-camera-fullscreen .front-camera-fullscreen-toggle{justify-content:center;align-items:center;min-height:44px;padding:12px 14px;z-index:2147483647!important;top:calc(env(safe-area-inset-top,0px) + 14px)!important;right:calc(env(safe-area-inset-right,0px) + 14px)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;display:flex!important;position:fixed!important}.scan-layout.front-camera-fullscreen-active .today-card{display:none!important}.scan-layout.front-camera-fullscreen-active{z-index:auto!important;position:static!important}}.front-camera-fullscreen-exit-portal{z-index:2147483647!important;top:calc(env(safe-area-inset-top,0px) + 14px)!important;right:calc(env(safe-area-inset-right,0px) + 14px)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;justify-content:center!important;align-items:center!important;min-height:46px!important;padding:12px 15px!important;display:flex!important;position:fixed!important;transform:none!important}.recap-page{gap:16px;display:grid}.recap-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.recap-toolbar h2{margin:0 0 6px;font-size:18px;line-height:1.3}.recap-toolbar p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.recap-actions{align-items:end;gap:8px;display:flex}.recap-actions label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.recap-actions input,.recap-filterbar input,.recap-filterbar select,.recap-modal select,.recap-modal textarea{box-sizing:border-box;border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;font-size:16px}.recap-modal textarea{resize:vertical;width:100%}.recap-actions button{min-height:40px;color:var(--purple-dark);cursor:pointer;background:#fff;border:1px solid #d8d0ef;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:800}.recap-actions button:disabled{opacity:.6}.scope-switch{border:1px solid var(--line);background:#fff;border-radius:10px;width:max-content;padding:4px;display:flex}.scope-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 18px;font-size:13px;font-weight:800}.scope-switch button.active{background:var(--purple-soft);color:var(--purple-dark)}.recap-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recap-stats>div{border:1px solid var(--line);box-sizing:border-box;background:#fff;border-radius:14px;min-height:92px;padding:16px}.recap-stats .stat-card{position:relative;overflow:hidden}.recap-stats .stat-card small{font-size:13px;font-weight:700}.recap-stats .stat-card strong{font-size:28px;line-height:1.1}.recap-stats .stat-card span{color:var(--muted);margin-top:6px;font-size:11px;font-weight:600;display:block}.recap-stats .stat-hadir{background:#f2fff7;border-color:#c8efd9}.recap-stats .stat-pending{background:#fffaf0;border-color:#f2d68e}.recap-stats .stat-pulang{background:#f2f9ff;border-color:#c5e0fa}.recap-stats .stat-not-departed{background:#fff5f1;border-color:#f2c7b8}.recap-stats .stat-late{background:#f8f4ff;border-color:#d9c9f7}.recap-stats .stat-sick{background:#fff2f6;border-color:#f4c3d4}.recap-stats .stat-permit{background:#f2fff9;border-color:#c5eadb}.recap-stats .stat-alpha{background:#f4f6f8;border-color:#d8dde3}.recap-stats small{color:var(--muted);font-size:12px;display:block}.recap-stats strong{color:#302a40;margin-top:5px;font-size:22px;display:block}.recap-filterbar{align-items:center;gap:8px;display:flex}.recap-filterbar input{min-width:230px}.view-switch{border:1px solid var(--line);background:#fff;border-radius:9px;margin-left:auto;padding:3px;display:flex}.view-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:800}.view-switch button.active{background:var(--purple-soft);color:var(--purple-dark)}.recap-table-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.recap-table-head{border-bottom:1px solid #efedf3;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.recap-table-head h3{margin:0;font-size:16px}.recap-table-head span{color:var(--muted);font-size:12px}.recap-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.recap-table-wrap table{border-collapse:collapse;width:100%;min-width:820px}.recap-table-wrap th,.recap-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0eef4;padding:11px 14px;font-size:14px}.recap-table-wrap th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#fcfbfe;font-size:12px}.recap-table-wrap td strong,.recap-table-wrap td small{display:block}.recap-table-wrap td small{color:#aaa5b2;margin-top:3px;font-size:12px}.context-pill{background:var(--purple-soft);color:var(--purple-dark);border-radius:7px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.recap-note-button{color:var(--purple-dark);cursor:pointer;background:#fff;border:1px solid #d8d0ef;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800}.recap-note-button:hover{background:var(--purple-soft)}.recap-empty{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:6px;font-size:14px;display:grid}.recap-empty strong{color:#5c5669;font-size:16px}.recap-error{color:#9b4747;background:#fff8f8;border:1px solid #ecd6d6;border-radius:9px;padding:12px 16px;font-size:13px}.recap-modal-backdrop{z-index:1000;background:#14101c73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.recap-modal{border:1px solid var(--line);background:#fff;border-radius:14px;gap:14px;width:min(460px,100%);padding:20px;display:grid;box-shadow:0 18px 50px #14101c2e}.recap-modal h3{margin:0}.recap-modal p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.recap-modal label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.recap-modal-actions{justify-content:flex-end;gap:8px;display:flex}.recap-modal-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:800}.recap-modal-actions button:last-child{background:var(--purple-dark);color:#fff;border-color:var(--purple-dark)}.recap-modal-actions button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1100px){.recap-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.recap-toolbar{flex-direction:column;align-items:stretch;padding:16px}.recap-actions{flex-wrap:wrap;align-items:stretch}.recap-actions label{flex:1}.recap-actions input{width:100%;font-size:16px}.recap-actions button{align-self:end}.scope-switch{width:100%}.scope-switch button{flex:1}.recap-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recap-stats .stat-card{min-height:88px}.recap-stats .stat-card strong{font-size:25px}.recap-filterbar{flex-wrap:wrap;align-items:stretch}.recap-filterbar input,.recap-filterbar select{flex:1;min-width:0}.view-switch{width:100%;margin-left:0}.view-switch button{flex:1}.recap-table-head{padding:14px 16px}.recap-table-head h3{font-size:16px}}.recap-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.recap-manual-button{color:#285aa6;cursor:pointer;background:#f4f8ff;border:1px solid #c9d8ee;border-radius:10px;padding:7px 9px;font-size:11px;font-weight:700}.recap-manual-button:hover{background:#eaf2ff}@media (width<=700px){.recap-row-actions{flex-direction:column;align-items:stretch}.recap-row-actions .recap-note-button,.recap-row-actions .recap-manual-button{white-space:nowrap;width:100%}}.homeroom-report-card{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.homeroom-report-card h3{margin:3px 0 4px;font-size:16px}.homeroom-report-card span{color:var(--muted);font-size:12px}.homeroom-report-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.homeroom-report-controls label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.homeroom-report-controls select,.homeroom-report-controls input{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fff;border-radius:8px;padding:7px 10px;font-size:14px}.homeroom-report-controls button{border:1px solid var(--purple-dark);background:var(--purple-dark);color:#fff;cursor:pointer;border-radius:8px;min-height:38px;padding:8px 13px;font-size:12px;font-weight:800}.homeroom-report-controls button:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.homeroom-report-card{padding:16px;display:grid}.homeroom-report-controls{grid-template-columns:1fr 1fr;display:grid}.homeroom-report-controls label:first-child{grid-column:1/-1}.homeroom-report-controls button{grid-column:1/-1;width:100%}.homeroom-report-controls input,.homeroom-report-controls select{box-sizing:border-box;width:100%}}.assignment-page{gap:16px;display:grid}.assignment-intro{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;gap:24px;padding:20px;display:flex}.assignment-intro h2{margin:4px 0 8px;font-size:24px;line-height:1.2}.assignment-intro p:not(.eyebrow){color:var(--muted);max-width:680px;margin:0;font-size:14px;line-height:1.55}.assignment-intro label{min-width:220px}.assignment-page label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.assignment-page select,.assignment-page input[type=date]{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;font-size:16px}.assignment-message{color:var(--purple-dark);background:#faf8ff;border:1px solid #ddd5ef;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700}.assignment-grid{grid-template-columns:1.15fr .85fr;gap:16px;display:grid}.assignment-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.card-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.card-head h3{margin:0;font-size:18px;line-height:1.3}.card-head span,.card-head small{color:var(--muted);font-size:13px}.day-list{gap:8px;display:grid}.day-editor{border:1px solid var(--line);border-radius:10px;overflow:hidden}.day-row-button{width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.day-row-button span{gap:4px;display:grid}.day-row-button strong{font-size:14px}.day-row-button small{color:var(--muted);font-size:12px}.day-row-button b{color:var(--purple-dark);font-size:13px}.day-picker{border-top:1px solid var(--line);background:#fbfaff;padding:12px}.day-picker-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.day-picker-actions button{cursor:pointer;border-radius:8px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:800}.select-all-button{border:1px solid var(--purple);background:var(--purple);color:#fff}.clear-all-button{border:1px solid var(--line);color:var(--muted);background:#fff}.day-picker-actions button:disabled{opacity:.5;cursor:not-allowed}.teacher-picker{gap:8px;max-height:300px;margin:12px 0;display:grid;overflow:auto}.teacher-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;color:var(--text)!important;grid-template-columns:none!important;display:flex!important}.teacher-option input{accent-color:var(--purple);width:18px;height:18px}.teacher-option span{gap:3px;display:grid}.teacher-option strong{color:var(--text);font-size:14px}.teacher-option small{color:var(--muted);font-size:12px}.save-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:40px;padding:8px 16px;font-size:14px;font-weight:800}.save-button:disabled{opacity:.55;cursor:not-allowed}.save-button.compact{margin-top:4px}.mode-switch{border:1px solid var(--line);background:#faf9fd;border-radius:10px;gap:6px;margin-top:16px;padding:4px;display:flex}.mode-switch button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:6px 12px;font-size:14px;font-weight:800}.mode-switch button.active{background:var(--purple);color:#fff}.all-active-note{background:#faf8ff;border:1px solid #ddd5ef;border-radius:10px;gap:6px;margin:16px 0;padding:16px;display:grid}.all-active-note strong{color:var(--purple-dark);font-size:14px}.all-active-note span{color:var(--muted);font-size:13px;line-height:1.5}.assignment-empty{text-align:center;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:12px;padding:32px;font-size:14px}.assignment-hint{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}@media (width<=800px){.assignment-page{gap:12px}.assignment-intro,.assignment-grid{grid-template-columns:1fr;display:grid}.assignment-intro{gap:16px;padding:16px}.assignment-intro h2{font-size:22px}.assignment-intro p:not(.eyebrow){font-size:14px}.assignment-intro label{min-width:0}.assignment-card{padding:16px}.card-head h3{font-size:17px}.day-row-button{min-height:44px;padding:12px}.teacher-picker{max-height:260px}.assignment-page select,.assignment-page input[type=date]{font-size:16px}.save-button{min-height:40px}}@media (width>=1200px){.assignment-grid{grid-template-columns:1.2fr .8fr}}.history-page{gap:16px;display:grid}.history-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.history-toolbar h2{margin:0 0 6px;font-size:18px;line-height:1.3}.history-toolbar p,.history-head span{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.history-actions{align-items:end;gap:8px;display:flex}.history-actions label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.history-actions input,.history-search{box-sizing:border-box;border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;font-size:16px}.history-actions button{background:var(--purple-soft);min-height:40px;color:var(--purple-dark);cursor:pointer;border:1px solid #d8d0ef;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:800}.history-actions button:disabled{opacity:.6}.history-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.history-stats>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.history-stats small{color:var(--muted);font-size:12px;display:block}.history-stats strong{margin-top:5px;font-size:22px;display:block}.history-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.history-head{border-bottom:1px solid #efedf3;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.history-head h3{margin:0 0 4px;font-size:16px}.history-search{min-width:210px}.history-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.history-table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.history-table-wrap th,.history-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0eef4;padding:11px 14px;font-size:14px}.history-table-wrap th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#fcfbfe;font-size:12px}.history-table-wrap td strong,.history-table-wrap td small{display:block}.history-table-wrap td small{color:#aaa5b2;margin-top:3px;font-size:12px}.history-pill{background:var(--purple-soft);color:var(--purple-dark);border-radius:7px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.history-empty{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:6px;font-size:14px;display:grid}.history-empty strong{color:#5c5669;font-size:16px}.history-error{color:#9b4747;background:#fff8f8;border:1px solid #ecd6d6;border-radius:9px;padding:12px 16px;font-size:13px}@media (width<=700px){.history-toolbar{flex-direction:column;align-items:stretch;padding:16px}.history-actions{flex-wrap:wrap}.history-actions label{flex:1}.history-actions input{width:100%;font-size:16px}.history-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.history-head{flex-direction:column;align-items:stretch;padding:14px 16px}.history-search{width:100%;min-width:0;font-size:16px}}@media (width<=420px){.history-stats{grid-template-columns:1fr}.history-stats>div{padding:14px}}.admin-attendance-page{gap:16px;display:grid}.admin-attendance-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.admin-attendance-toolbar h2{margin:0 0 6px;font-size:18px;line-height:1.3}.admin-attendance-toolbar p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.admin-attendance-actions{align-items:end;gap:8px;display:flex}.admin-attendance-actions label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.admin-attendance-actions input,.admin-attendance-head input,.correction-form input,.correction-form select,.correction-form textarea{box-sizing:border-box;border:1px solid var(--line);min-height:40px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:8px 12px;font-size:16px}.correction-form textarea{min-height:100px}.admin-attendance-actions button,.correct-button{background:var(--purple-soft);min-height:40px;color:var(--purple-dark);cursor:pointer;border:1px solid #d8d0ef;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:800}.admin-attendance-actions button:disabled,.correct-button:disabled{opacity:.6}.admin-attendance-error,.admin-attendance-message{border-radius:9px;padding:12px 16px;font-size:13px;font-weight:700;line-height:1.5}.admin-attendance-error{color:#9b4747;background:#fff8f8;border:1px solid #ecd6d6}.admin-attendance-message{color:#387047;background:#f7fcf8;border:1px solid #d7eadc}.admin-attendance-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-attendance-stats>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.admin-attendance-stats small{color:var(--muted);font-size:12px;display:block}.admin-attendance-stats strong{margin-top:5px;font-size:22px;display:block}.admin-attendance-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.admin-attendance-head{border-bottom:1px solid #efedf3;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.admin-attendance-head h3{margin:0 0 4px;font-size:16px}.admin-attendance-head span{color:var(--muted);font-size:12px}.admin-attendance-head input{min-width:240px}.admin-attendance-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-attendance-table-wrap table{border-collapse:collapse;width:100%;min-width:980px}.admin-attendance-table-wrap th,.admin-attendance-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0eef4;padding:11px 12px;font-size:14px}.admin-attendance-table-wrap th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#fcfbfe;font-size:12px}.admin-attendance-table-wrap td strong,.admin-attendance-table-wrap td small{display:block}.admin-attendance-table-wrap td small{color:#aaa5b2;margin-top:3px;font-size:12px}.admin-context{background:var(--purple-soft);color:var(--purple-dark);border-radius:7px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.admin-attendance-empty{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:6px;font-size:14px;display:grid}.admin-attendance-empty strong{color:#5c5669;font-size:16px}.correction-backdrop{z-index:50;background:#261f3157;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.correction-modal{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(520px,100%);overflow:hidden;box-shadow:0 18px 55px #1e142d33}.correction-head{border-bottom:1px solid #efedf3;justify-content:space-between;gap:12px;padding:18px;display:flex}.correction-head h3{margin:3px 0 4px;font-size:18px}.correction-head span{color:var(--muted);font-size:12px}.correction-head>button{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;font-size:18px}.correction-form{gap:12px;padding:18px;display:grid}.correction-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.correction-form textarea{resize:vertical;line-height:1.45}.correction-note{color:var(--muted);background:#faf8ff;border:1px solid #e1dbef;border-radius:9px;margin:0 18px;padding:12px 16px;font-size:13px;line-height:1.5}.correction-actions{justify-content:flex-end;gap:8px;padding:18px;display:flex}.correction-actions button{border:1px solid var(--line);min-height:40px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:800}.correction-actions .save-correction{border-color:var(--purple);background:var(--purple);color:#fff}.correction-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.admin-attendance-toolbar,.admin-attendance-head{flex-direction:column;align-items:stretch;padding:16px}.admin-attendance-actions{flex-wrap:wrap}.admin-attendance-actions label{flex:1}.admin-attendance-actions input,.admin-attendance-head input{width:100%;min-width:0;font-size:16px}.admin-attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.correction-backdrop{align-items:end;padding:10px}.correction-modal{max-height:90vh;overflow:auto}.correction-form{padding:16px}.correction-actions{flex-direction:column;padding:16px}.correction-actions button{width:100%}}@media (width<=420px){.admin-attendance-stats{grid-template-columns:1fr}.admin-attendance-stats>div{padding:14px}}.subjects-page{flex-direction:column;gap:14px;display:flex}.subjects-intro{justify-content:space-between;align-items:end;gap:18px;display:flex}.subjects-intro h2{margin:0;font-size:26px}.subjects-intro p{color:var(--muted);margin:5px 0 0}.subjects-intro label{min-width:220px;color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.subjects-intro select,.subject-add input,.assignment-add select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;padding:10px;font-size:11px}.subjects-grid{grid-template-columns:1fr 1.4fr;gap:14px;display:grid}.subjects-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.subjects-card-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:15px;display:flex}.subjects-card-head h3{margin:0;font-size:15px}.subjects-card-head span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.subject-add,.assignment-add{border-bottom:1px solid var(--line);grid-template-columns:1.5fr .8fr auto;gap:7px;padding:12px;display:grid}.subject-add button,.assignment-add>button{background:var(--purple);color:#fff;border:0;border-radius:8px;padding:0 14px;font-size:10px;font-weight:800}.assignment-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(230px,1.4fr) auto;align-items:start;min-width:0}.assignment-add select{width:100%;min-width:0}.assignment-add>button{white-space:nowrap}.subject-list,.assignment-list{flex-direction:column;display:flex}.subject-item,.assignment-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.subject-item:last-child,.assignment-item:last-child{border-bottom:0}.subject-item div,.assignment-item div{flex-direction:column;min-width:0;display:flex}.subject-item strong{font-size:14px;font-weight:400;line-height:1.4}.subject-item small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400}.assignment-item strong{font-size:13px;font-weight:400;line-height:1.4}.assignment-item span{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.assignment-item button{color:#9b4747;background:#fff7f7;border:1px solid #e6d3d3;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:800}.subjects-message{color:#26774d;background:#edf9f2;border-radius:9px;padding:10px 12px;font-size:11px}.subjects-error{color:#9b4747;background:#fff2f2;border-radius:9px;padding:10px 12px;font-size:11px}.subjects-empty{text-align:center;color:var(--muted);padding:25px;font-size:11px}.class-multi-picker{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0}.class-picker-summary{border-bottom:1px solid var(--line);background:#faf9ff;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.class-picker-summary strong{color:var(--text);font-size:10px}.class-picker-summary button{color:var(--purple);background:0 0;border:0;padding:2px 0;font-size:9px;font-weight:800}.class-picker-list{max-height:210px;padding:5px;overflow:auto}.class-grade-group{border-bottom:1px solid #f0eef5;padding:4px 0}.class-grade-group:last-child{border-bottom:0}.class-grade-head,.class-option{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;display:flex}.class-grade-head:hover,.class-option:hover{background:#faf9ff}.class-grade-head input,.class-option input{accent-color:var(--purple);width:14px;height:14px;margin:0}.class-grade-head strong{font-size:10px}.class-grade-head small{color:var(--muted);margin-left:auto;font-size:8px}.class-option{padding-left:28px}.class-option span{color:var(--text);font-size:10px}.schedule-card{margin-top:2px}.schedule-count{color:var(--purple);white-space:nowrap;background:#f4efff;border-radius:999px;height:max-content;padding:6px 9px;font-size:10px}.schedule-add{border-bottom:1px solid var(--line);background:#fcfbff;padding:14px}.schedule-form-grid{grid-template-columns:2fr .8fr .7fr .9fr .9fr 1.2fr;gap:8px;display:grid}.schedule-form-grid label{color:var(--muted);flex-direction:column;gap:5px;font-size:9px;font-weight:800;display:flex}.schedule-form-grid input,.schedule-form-grid select,.schedule-toolbar select,.schedule-filters input{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;min-width:0;padding:9px;font-size:10px}.schedule-save{background:var(--purple);color:#fff;border:0;border-radius:8px;margin-top:10px;padding:10px 15px;font-size:10px;font-weight:800}.schedule-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.schedule-toolbar>div:first-child{flex-direction:column;gap:3px;display:flex}.schedule-toolbar strong{font-size:11px}.schedule-toolbar span{color:var(--muted);font-size:9px}.schedule-filters{align-items:center;gap:7px;display:flex}.schedule-filters input{width:220px}.schedule-filters select{width:145px}.schedule-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-direction:column;max-height:min(52vh,560px);display:flex;overflow-y:auto}.schedule-list::-webkit-scrollbar{width:7px}.schedule-list::-webkit-scrollbar-track{background:#f7f5fb}.schedule-list::-webkit-scrollbar-thumb{background:#d8d0eb;border-radius:999px}.schedule-item{border-bottom:1px solid #eee;grid-template-columns:82px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.schedule-item:last-child{border-bottom:0}.schedule-day{flex-direction:column;gap:3px;display:flex}.schedule-day b{color:var(--purple);font-size:10px}.schedule-day span{color:var(--muted);font-size:9px}.schedule-main{flex-direction:column;min-width:0;display:flex}.schedule-main strong{font-size:11px}.schedule-main span,.schedule-main small{color:var(--muted);margin-top:3px;font-size:9px}.schedule-item button{color:#9b4747;background:#fff7f7;border:1px solid #e6d3d3;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:800}.weekly-card{margin-top:2px}.weekly-print-controls{border-bottom:1px solid var(--line);background:#fbfaff;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.weekly-print-controls label{color:var(--text);align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.weekly-print-controls select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:7px;padding:7px 9px;font-size:9px}.weekly-print-hint{color:var(--muted);font-size:9px}.weekly-print-sheet{display:none}.weekly-print-header{text-align:center;flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.weekly-print-header strong{letter-spacing:.4px;font-size:14px}.weekly-print-header span{font-size:8px}.weekly-print-header b{margin-top:2px;font-size:12px}.weekly-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.weekly-mini-card{break-inside:avoid;border:1px solid #999}.weekly-mini-card h4{text-align:center;border-bottom:1px solid #999;margin:0;padding:4px 6px;font-size:9px}.weekly-mini-card table{border-collapse:collapse;table-layout:fixed;width:100%}.weekly-mini-card th,.weekly-mini-card td{text-align:center;border-bottom:1px solid #bbb;border-right:1px solid #bbb;padding:2px 1px;font-size:6px;line-height:1.1}.weekly-mini-card th:last-child,.weekly-mini-card td:last-child{border-right:0}.weekly-mini-card tr:last-child th,.weekly-mini-card tr:last-child td{border-bottom:0}.weekly-mini-card thead th{font-weight:800}.weekly-mini-card tbody th{width:22px}.weekly-all-table{border-collapse:collapse;table-layout:fixed;width:100%}.weekly-all-table th,.weekly-all-table td{text-align:center;vertical-align:middle;border:1px solid #999;padding:3px 2px;font-size:7px;line-height:1.15}.weekly-all-table th:first-child{width:38px}.weekly-all-table th{font-weight:800}.weekly-all-table td{word-break:break-word}.weekly-all-table th,.weekly-all-table td{height:20px}.weekly-all-table td{font-size:6px}.weekly-all-table td:not(:empty){letter-spacing:.1px}.weekly-all-table td{white-space:normal}.weekly-all-table tr{break-inside:avoid}.weekly-actions{align-items:center;gap:7px;display:flex}.weekly-actions select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;min-width:145px;padding:8px 10px;font-size:10px}.weekly-actions button{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;font-size:10px;font-weight:800}.weekly-print-title{display:none}.weekly-table-wrap{padding:14px;overflow-x:auto}.weekly-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:10px;width:100%;min-width:680px;overflow:hidden}.weekly-table th,.weekly-table td{text-align:center;border-bottom:1px solid #eee;border-right:1px solid #eee;padding:9px 8px;font-size:9px}.weekly-table tr:last-child th,.weekly-table tr:last-child td{border-bottom:0}.weekly-table th:last-child,.weekly-table td:last-child{border-right:0}.weekly-table thead th{color:var(--text);background:#f7f5ff;font-weight:800}.weekly-table tbody>tr>th{width:60px;color:var(--purple);background:#fbfbfd;font-weight:800}.weekly-cell{flex-direction:column;justify-content:center;gap:3px;min-height:42px;display:flex}.weekly-cell strong{font-size:10px}.weekly-cell span,.weekly-cell small{color:var(--muted);font-size:8px}.weekly-empty{color:#b6b3c0}.schedule-assignment-picker{border:1px solid var(--line);background:#fff;border-radius:10px;grid-column:1/-1;overflow:hidden}.schedule-picker-summary{border-bottom:1px solid var(--line);background:#f7f4ff;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.schedule-picker-summary strong{color:var(--text);font-size:10px}.schedule-picker-summary button{color:var(--purple);background:0 0;border:0;padding:2px 0;font-size:9px;font-weight:800}.schedule-picker-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px;padding:6px;display:grid;overflow:auto}.schedule-assignment-option{cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.schedule-assignment-option:hover{background:#faf9ff}.schedule-assignment-option input{accent-color:var(--purple);flex:none;width:14px;height:14px;margin:0}.schedule-assignment-option span{flex-direction:column;min-width:0;display:flex}.schedule-assignment-option strong{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:9px;overflow:hidden}.schedule-assignment-option small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:8px;overflow:hidden}.schedule-picker-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:18px;font-size:10px}@media (width<=1000px){.assignment-add{grid-template-columns:1fr 1fr}.assignment-add .class-multi-picker{grid-column:1/-1}.assignment-add>button{grid-column:1/-1;min-height:38px}.schedule-form-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}.schedule-form-grid label:first-child{grid-column:1/-1}.schedule-filters{flex-wrap:wrap}.schedule-filters input{width:180px}}@media (width<=800px){.subjects-intro{flex-direction:column;align-items:stretch}.subjects-intro label{min-width:0}.subjects-grid,.subject-add,.assignment-add{grid-template-columns:1fr}.assignment-add .class-multi-picker{grid-column:auto}.subject-add button,.assignment-add>button{min-height:38px}.class-picker-list{max-height:240px}.schedule-form-grid{grid-template-columns:1fr 1fr}.schedule-form-grid label:first-child,.schedule-form-grid label:last-child,.schedule-assignment-picker{grid-column:1/-1}.schedule-picker-list{grid-template-columns:1fr;max-height:300px}.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-filters{grid-template-columns:1fr 1fr;display:grid}.schedule-filters input{grid-column:1/-1;width:auto}.schedule-filters select{width:100%}.schedule-item{grid-template-columns:1fr auto}.schedule-day{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.schedule-list{max-height:55vh}.weekly-actions{grid-template-columns:1fr auto;width:100%;display:grid}.weekly-actions select{width:100%}}@page a4{size:A4 landscape;margin:7mm}@page f4{size:215.9mm 330.2mm landscape;margin:7mm}@media print{body *{visibility:hidden!important}.weekly-card,.weekly-card *{visibility:visible!important}.weekly-card{width:100%;box-shadow:none;border:0;border-radius:0;position:absolute;top:0;left:0}.weekly-card .subjects-card-head,.weekly-print-controls,.weekly-screen-only{display:none!important}.weekly-print-sheet{display:block!important}.weekly-print-paper-a4{page:a4;--print-font-scale:1}.weekly-print-paper-f4{page:f4;--print-font-scale:1}.weekly-mini-card,.weekly-all-table{page-break-inside:avoid}.weekly-print-header{margin-bottom:6px}.weekly-mini-grid{gap:5px}.weekly-mini-card h4{padding:3px 5px}.weekly-mini-card th,.weekly-mini-card td{font-size:calc(6px * var(--print-font-scale,1));padding:1.8px 1px}.weekly-mini-card h4{font-size:calc(9px * var(--print-font-scale,1))}.weekly-all-table th,.weekly-all-table td{font-size:calc(6px * var(--print-font-scale,1));padding:2px 1px}.weekly-all-table th{font-size:calc(7px * var(--print-font-scale,1))}}.subject-list,.assignment-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-height:min(42vh,420px);overflow-y:auto}.subject-list::-webkit-scrollbar{width:7px}.assignment-list::-webkit-scrollbar{width:7px}.subject-list::-webkit-scrollbar-track{background:#f7f5fb}.assignment-list::-webkit-scrollbar-track{background:#f7f5fb}.subject-list::-webkit-scrollbar-thumb{background:#d8d0eb;border-radius:999px}.assignment-list::-webkit-scrollbar-thumb{background:#d8d0eb;border-radius:999px}@media (width<=800px){.subject-list,.assignment-list{max-height:42vh}}.subjects-module{gap:12px}.subjects-module .subjects-intro{padding-bottom:2px}.subjects-module .subjects-intro h2{letter-spacing:-.02em;font-size:24px;font-weight:800}.subjects-module .subjects-intro p{font-size:10px;line-height:1.5}.module-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:8px auto 0;display:grid}.module-choice{appearance:none;border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:44px 1fr 22px;align-items:center;gap:12px;min-height:104px;padding:17px 16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.module-choice:hover{border-color:#d8cdef;transform:translateY(-1px);box-shadow:0 7px 20px #2d1f5014}.module-choice:active{transform:translateY(0)}.module-choice-primary{background:linear-gradient(#fff,#faf8ff);border-color:#d9cff5}.module-choice-icon{background:#f1ecff;border-radius:13px;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.module-choice strong{color:var(--text);font-size:12px;font-weight:800;display:block}.module-choice small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.45;display:block}.module-choice b{color:var(--purple);text-align:right;font-size:22px;font-weight:400}.module-back{color:var(--purple);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:3px 0;font-size:10px;font-weight:800}.subjects-module-menu .subjects-message,.subjects-module-menu .subjects-error{width:100%;max-width:900px;margin:0 auto}.subjects-module-master,.subjects-module-assignment,.subjects-module-weekly{width:100%;max-width:1000px;margin:0 auto}.subjects-module-schedule{width:100%}.assignment-filter-row{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.assignment-filter-row button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800}.assignment-filter-row button.active{background:var(--purple);border-color:var(--purple);color:#fff}.assignment-filter-row select,.assignment-filter-row input{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:999px;min-width:0;padding:6px 9px;font-size:9px}.assignment-filter-row select{margin-left:auto}.assignment-filter-row input{flex:180px}.assignment-group-label{color:var(--purple);background:#fbfaff;border-bottom:1px solid #f0eef5;grid-column:1/-1;padding:7px 8px 4px;font-size:9px;font-weight:800}.assignment-group-label span{color:var(--muted);font-weight:600}.schedule-assignment-option em{font-style:normal}.schedule-assignment-option em.scheduled{color:#26774d}.schedule-assignment-option em.unscheduled{color:#9b4747}.master-time-note{color:var(--muted);align-items:end;padding-bottom:2px;font-size:9px;font-weight:700;display:flex}.selected-for-swap{background:#faf7ff}.schedule-select{align-items:center;display:flex}.schedule-select input{accent-color:var(--purple)}@media (width<=800px){.module-launcher{grid-template-columns:1fr;margin-top:4px}.module-choice{min-height:88px;padding:14px}.subjects-module .subjects-intro h2{font-size:21px}.assignment-filter-row select{width:100%;margin-left:0}.assignment-filter-row input{flex-basis:100%}.module-back{font-size:10px}.subjects-module-master,.subjects-module-assignment,.subjects-module-weekly{max-width:none}.master-time-note{grid-column:1/-1;min-height:26px}}.schedule-form-grid{align-items:start}.schedule-form-grid>label:first-of-type{order:1;grid-column:1/-1}.schedule-form-grid>.schedule-period-picker{order:2;grid-column:1/-1}.schedule-form-grid>.master-time-note{order:3;grid-column:1/-1}.schedule-form-grid>.schedule-assignment-picker{order:4;grid-column:1/-1}.schedule-form-grid>label:nth-of-type(2){order:5;grid-column:1/-1}@media (width<=800px){.schedule-form-grid>label:first-of-type,.schedule-form-grid>.schedule-period-picker,.schedule-form-grid>.master-time-note,.schedule-form-grid>.schedule-assignment-picker,.schedule-form-grid>label:nth-of-type(2){grid-column:1/-1}}.weekly-print-class-list{flex-direction:column;gap:8px;display:flex}.weekly-print-class-block{break-inside:avoid;page-break-inside:avoid;border:1px solid #777}.weekly-print-class-block h4{text-align:center;border-bottom:1px solid #777;margin:0;padding:4px 6px;font-size:10px;font-weight:800}.weekly-print-grid-table{border-collapse:collapse;table-layout:fixed;width:100%}.weekly-print-grid-table th,.weekly-print-grid-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #aaa;border-right:1px solid #aaa;padding:2px;font-size:6.5px;line-height:1.15}.weekly-print-grid-table tr:last-child td{border-bottom:0}.weekly-print-grid-table th:last-child,.weekly-print-grid-table td:last-child{border-right:0}.weekly-print-grid-table thead tr:first-child th{padding:3px 2px;font-size:7px;font-weight:800}.weekly-print-grid-table thead tr:nth-child(2) th{font-size:5.8px;font-weight:800}.weekly-print-period{width:24px;font-weight:800}.weekly-print-subject{padding:2px 1px!important}.weekly-print-subject strong,.weekly-print-subject span{display:block}.weekly-print-subject strong{font-size:6.5px;font-weight:800}.weekly-print-subject span{margin-top:1px;font-size:5.5px}@page a4landscape{size:A4 landscape;margin:7mm}@page f4landscape{size:215.9mm 330.2mm landscape;margin:7mm}@page a4portrait{size:A4 portrait;margin:7mm}@page f4portrait{size:215.9mm 330.2mm portrait;margin:7mm}@media print{.weekly-print-paper-a4.weekly-print-orientation-landscape{page:a4landscape}.weekly-print-paper-f4.weekly-print-orientation-landscape{page:f4landscape}.weekly-print-paper-a4.weekly-print-orientation-portrait{page:a4portrait}.weekly-print-paper-f4.weekly-print-orientation-portrait{page:f4portrait}.weekly-print-class-list{gap:6px}.weekly-print-class-block h4{padding:3px 5px}.weekly-print-grid-table th,.weekly-print-grid-table td{padding:2px 1px}.weekly-print-grid-table thead tr:first-child th{font-size:calc(7px * var(--print-font-scale,1))}.weekly-print-grid-table thead tr:nth-child(2) th{font-size:calc(5.8px * var(--print-font-scale,1))}.weekly-print-subject strong{font-size:calc(6.5px * var(--print-font-scale,1))}.weekly-print-subject span{font-size:calc(5.5px * var(--print-font-scale,1))}.weekly-print-orientation-portrait .weekly-print-grid-table th,.weekly-print-orientation-portrait .weekly-print-grid-table td{padding:1.2px .6px;font-size:5.5px}.weekly-print-orientation-portrait .weekly-print-subject strong{font-size:5.5px}.weekly-print-orientation-portrait .weekly-print-subject span{font-size:4.8px}.weekly-print-orientation-portrait .weekly-print-class-block h4{font-size:9px}}.schedule-period-picker{flex-direction:column;gap:8px;display:flex}.schedule-period-picker-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-period-picker-head span{color:var(--muted);font-size:12px}.schedule-period-options{flex-wrap:wrap;gap:7px;display:flex}.schedule-period-options label{border:1px solid var(--border,#ddd);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;display:inline-flex}.schedule-period-options label.selected{background:#f2edff;border-color:#6b4fb3}.schedule-period-options input{margin:0}.schedule-generator-card{margin-bottom:14px}.schedule-generator-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.schedule-generator-actions button{min-height:38px}.schedule-generator-list{gap:6px;max-height:320px;margin-bottom:12px;display:grid;overflow:auto}.schedule-generator-issues{gap:6px;margin-top:10px;display:grid}.schedule-generator-warning{background:#fff8e6;border:1px solid #ead7a1;border-radius:10px;padding:9px 11px;font-size:12px}.schedule-generator-preview{margin-top:14px}.schedule-generator-preview-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.schedule-generator-preview-head span{color:var(--muted);font-size:12px}@media (width<=700px){.schedule-generator-actions{grid-template-columns:1fr;display:grid}.schedule-generator-actions button{width:100%}.schedule-generator-preview-head{flex-direction:column;align-items:flex-start;gap:3px}}.schedule-condition-grid{gap:10px;min-width:0;display:grid}.schedule-condition-grid label{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.schedule-condition-grid select,.schedule-condition-grid input{box-sizing:border-box;max-width:100%}@media (width<=700px){.schedule-condition-grid-2,.schedule-condition-grid-type{grid-template-columns:1fr!important}.schedule-condition-grid-type label{width:100%}.subjects-module-conditions .subjects-card{overflow:hidden}.subjects-module-conditions .subjects-card-head{min-width:0}.subjects-module-conditions .subjects-card-head h3,.subjects-module-conditions .subjects-card-head span{overflow-wrap:anywhere}.subjects-module-conditions .assignment-list{min-width:0}}.schedule-conditions-card{border-radius:18px;margin-bottom:14px;box-shadow:0 8px 30px #3f2d690f}.schedule-conditions-head{background:linear-gradient(135deg,#fff 0%,#faf7ff 100%);align-items:center;padding:18px 20px}.schedule-conditions-title{align-items:center;gap:14px;min-width:0;display:flex}.schedule-conditions-title>div{min-width:0}.schedule-conditions-icon{width:48px;height:48px;color:var(--purple);background:#f0eaff;border-radius:15px;flex:0 0 48px;place-items:center;font-size:24px;font-weight:800;display:grid}.schedule-conditions-title h3{font-size:18px!important}.schedule-conditions-title span:last-child{font-size:11px;line-height:1.55}.schedule-conditions-form{border-bottom:1px solid var(--line);background:#fbfaff;gap:12px;padding:18px 20px;display:grid}.schedule-conditions-form label{color:#716d7d;flex-direction:column;gap:7px;font-size:10px;font-weight:800;display:flex}.schedule-conditions-form select,.schedule-conditions-form input{box-sizing:border-box;width:100%;color:var(--text);background:#fff;border:1px solid #ddd9e8;border-radius:12px;outline:none;min-height:44px;padding:12px 13px;font-size:12px;font-weight:600;transition:border-color .15s,box-shadow .15s}.schedule-conditions-form select:focus,.schedule-conditions-form input:focus{border-color:#8b6bd0;box-shadow:0 0 0 3px #6f4cb41a}.schedule-condition-grid{gap:12px}.schedule-days-field{background:#fff;border:1px solid #e6e1f0;border-radius:14px;padding:14px}.schedule-days-field>strong{color:var(--text);font-size:11px;display:block}.schedule-days-help{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.schedule-days-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.schedule-day-option{cursor:pointer;background:#fff;border:1px solid #e5e1ed;border-radius:11px;justify-content:flex-start;align-items:center;gap:8px;color:var(--text)!important;flex-direction:row!important;padding:12px!important;font-size:11px!important;font-weight:500!important;display:flex!important}.schedule-day-option:has(input:checked){background:#f5f0ff;border-color:#8b6bd0}.schedule-day-option input{height:18px;accent-color:var(--purple);margin:0;width:18px!important;min-height:18px!important;padding:0!important}.schedule-period-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.schedule-note-field input{color:var(--muted)!important;font-weight:400!important}.schedule-condition-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7650d2,#6240b5);border:0;border-radius:12px;min-height:46px;font-size:12px;font-weight:800;box-shadow:0 6px 16px #6341b52e}.schedule-condition-save:disabled{opacity:.65;cursor:wait}.schedule-conditions-card>.assignment-list{background:#fff}@media (width<=800px){.schedule-conditions-head{padding:17px 18px}.schedule-conditions-title{align-items:flex-start;gap:12px}.schedule-conditions-icon{border-radius:13px;flex-basis:42px;width:42px;height:42px;font-size:20px}.schedule-conditions-title h3{font-size:17px!important}.schedule-conditions-form{padding:16px 18px}.schedule-days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-day-option{min-height:48px}}@media (width<=420px){.schedule-conditions-form{padding:14px 12px}.schedule-conditions-title span:last-child{font-size:10px}.schedule-days-grid{gap:7px}.schedule-period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.schedule-pattern-help{margin-top:-1px;line-height:1.45;color:var(--muted)!important;font-size:9px!important;font-weight:500!important;display:block!important}.bulk-weekly-card{margin-bottom:14px}.bulk-weekly-list{gap:7px;padding:12px;display:grid}.bulk-weekly-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) 72px;align-items:center;gap:10px;padding:10px 12px;display:grid}.bulk-weekly-row.selected{background:#faf7ff;border-color:#b99be8;box-shadow:0 0 0 2px #7b4dbe14}.bulk-weekly-row>span{gap:3px;min-width:0;display:grid}.bulk-weekly-row strong{font-size:12px}.bulk-weekly-row small{color:var(--muted);font-size:10px}.bulk-weekly-row>input[type=number]{box-sizing:border-box;border:1px solid var(--line);width:72px;color:var(--text);text-align:center;background:#fff;border-radius:9px;padding:9px 7px;font-weight:800}.bulk-weekly-actions{flex-wrap:wrap;align-items:center;gap:10px;padding:0 12px 12px;display:flex}.bulk-weekly-actions span{color:var(--muted);font-size:10px}@media (width<=700px){.bulk-weekly-row{grid-template-columns:auto minmax(0,1fr) 64px;padding:10px}.bulk-weekly-row>input[type=number]{width:64px}.bulk-weekly-actions{grid-template-columns:1fr;display:grid}.bulk-weekly-actions button{width:100%;min-height:42px}}@media print{html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important}.subjects-page.subjects-module-weekly{height:auto!important;max-height:none!important;display:block!important;position:static!important;overflow:visible!important}.subjects-page.subjects-module-weekly>:not(.weekly-card){display:none!important}.subjects-page.subjects-module-weekly .weekly-card{break-inside:auto!important;page-break-inside:auto!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.weekly-card .weekly-print-sheet{break-inside:auto!important;page-break-inside:auto!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;position:static!important;overflow:visible!important}.weekly-print-class-list{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}.weekly-print-class-block{break-inside:avoid-page!important;page-break-inside:avoid!important;width:100%!important;height:auto!important;max-height:none!important;margin:0 0 4mm!important;display:block!important;overflow:visible!important}.weekly-print-grid-table{table-layout:fixed!important;break-inside:avoid-page!important;page-break-inside:avoid!important;width:100%!important;height:auto!important;max-height:none!important}.weekly-print-grid-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.weekly-print-subject strong,.weekly-print-subject span{overflow-wrap:anywhere!important;word-break:normal!important}}.weekly-print-portal{display:none}@media print{body>:not(#weekly-print-portal){display:none!important}body>#weekly-print-portal{visibility:visible!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}#weekly-print-portal,#weekly-print-portal *{visibility:visible!important}#weekly-print-portal .weekly-print-sheet{break-inside:auto!important;page-break-inside:auto!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}#weekly-print-portal .weekly-print-class-list{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}}.weekly-print-period strong,.weekly-print-period span{display:block}.weekly-print-period strong{font-size:6px;font-weight:800}.weekly-print-period span{white-space:nowrap;font-size:5px;font-weight:400}.weekly-print-slot-break{font-weight:800;background:#eee!important}.weekly-print-slot-activity{font-weight:800;background:#f5f5f5!important}.weekly-print-slot-break strong,.weekly-print-slot-activity strong{overflow-wrap:anywhere;word-break:normal}.weekly-print-wide-table{table-layout:fixed!important;border-collapse:collapse!important;width:100%!important}.weekly-print-wide-table th{text-align:center!important;background:#f1f1f1!important;border:1px solid #888!important;padding:5px 3px!important;font-size:9px!important;font-weight:800!important}.weekly-print-wide-table .weekly-print-day-cell{vertical-align:top!important;overflow-wrap:anywhere!important;border:1px solid #999!important;width:16.666%!important;padding:4px!important;line-height:1.15!important}.weekly-print-slot-meta{color:#444;flex-wrap:wrap;align-items:baseline;gap:2px 4px;margin-bottom:3px;display:flex}.weekly-print-slot-meta strong{font-size:7px;font-weight:800}.weekly-print-slot-meta span{white-space:nowrap;font-size:6px;font-weight:400}.weekly-print-lesson-content{flex-direction:column;gap:2px;display:flex}.weekly-print-lesson-content strong{overflow-wrap:anywhere;font-size:9px;font-weight:800;line-height:1.15}.weekly-print-lesson-content span{overflow-wrap:anywhere;font-size:7.5px;line-height:1.15}.weekly-print-special-content{overflow-wrap:anywhere;font-size:9px;font-weight:800;line-height:1.15}.weekly-print-empty-slot,.weekly-print-unscheduled{color:#777;text-align:center}@media print{.weekly-print-wide-table th{font-size:9px!important}.weekly-print-wide-table .weekly-print-day-cell{padding:3px!important}.weekly-print-orientation-landscape .weekly-print-slot-meta strong{font-size:7.5px}.weekly-print-orientation-landscape .weekly-print-slot-meta span{font-size:6.5px}.weekly-print-orientation-landscape .weekly-print-lesson-content strong,.weekly-print-orientation-landscape .weekly-print-special-content{font-size:10px}.weekly-print-orientation-landscape .weekly-print-lesson-content span{font-size:8px}.weekly-print-orientation-portrait .weekly-print-wide-table th{padding:3px 1px!important;font-size:7.5px!important}.weekly-print-orientation-portrait .weekly-print-wide-table .weekly-print-day-cell{padding:2px 1.5px!important}.weekly-print-orientation-portrait .weekly-print-slot-meta{gap:1px;margin-bottom:2px}.weekly-print-orientation-portrait .weekly-print-slot-meta strong{font-size:6px}.weekly-print-orientation-portrait .weekly-print-slot-meta span{white-space:normal;font-size:5.2px}.weekly-print-orientation-portrait .weekly-print-lesson-content strong,.weekly-print-orientation-portrait .weekly-print-special-content{font-size:7.5px}.weekly-print-orientation-portrait .weekly-print-lesson-content span{font-size:6.2px}#weekly-print-portal .weekly-print-sheet{color:#243247!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#weekly-print-portal .weekly-print-header{gap:2mm!important;margin:0 0 8mm!important}#weekly-print-portal .weekly-print-header strong{color:#174b73!important;letter-spacing:1px!important;font-size:17px!important}#weekly-print-portal .weekly-print-header span{color:#64748b!important;font-size:10px!important}#weekly-print-portal .weekly-print-header b{color:#334155!important;margin-top:1mm!important;font-size:15px!important}#weekly-print-portal .weekly-print-class-list{gap:0!important;display:block!important}#weekly-print-portal .weekly-print-class-block{break-inside:avoid!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important;border:1px solid #a8b9ca!important;border-radius:2mm!important;width:100%!important;margin:0!important;overflow:visible!important}#weekly-print-portal .weekly-print-class-block h4{color:#174b73!important;background:#eaf3fb!important;border-bottom:1px solid #b8cfe3!important;padding:3mm 2mm!important;font-size:15px!important}#weekly-print-portal .weekly-print-wide-table{table-layout:fixed!important;border-collapse:collapse!important;width:100%!important}#weekly-print-portal .weekly-print-wide-table thead th{color:#23364d!important;background:#e5eef7!important;border:1px solid #b5c5d5!important;padding:3mm 2mm!important;font-size:11px!important}#weekly-print-portal .weekly-print-wide-table tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}#weekly-print-portal .weekly-print-wide-table .weekly-print-day-cell{vertical-align:top!important;border:1px solid #c4d0dc!important;padding:3mm 2.2mm!important}#weekly-print-portal .weekly-print-wide-table thead th:first-child,#weekly-print-portal .weekly-print-wide-table tbody td:first-child{background-color:#f1f7ff!important}#weekly-print-portal .weekly-print-wide-table thead th:nth-child(2),#weekly-print-portal .weekly-print-wide-table tbody td:nth-child(2){background-color:#f0faf6!important}#weekly-print-portal .weekly-print-wide-table thead th:nth-child(3),#weekly-print-portal .weekly-print-wide-table tbody td:nth-child(3){background-color:#fff8ed!important}#weekly-print-portal .weekly-print-wide-table thead th:nth-child(4),#weekly-print-portal .weekly-print-wide-table tbody td:nth-child(4){background-color:#f7f2ff!important}#weekly-print-portal .weekly-print-wide-table thead th:nth-child(5),#weekly-print-portal .weekly-print-wide-table tbody td:nth-child(5){background-color:#fff2f4!important}#weekly-print-portal .weekly-print-wide-table thead th:nth-child(6),#weekly-print-portal .weekly-print-wide-table tbody td:nth-child(6){background-color:#eef9fb!important}#weekly-print-portal .weekly-print-slot-meta{color:#526174!important;flex-wrap:wrap!important;gap:1mm 1.5mm!important;margin-bottom:1.5mm!important;display:flex!important}#weekly-print-portal .weekly-print-slot-meta strong{font-size:9px!important;font-weight:800!important}#weekly-print-portal .weekly-print-slot-meta span{white-space:normal!important;font-size:8px!important}#weekly-print-portal .weekly-print-lesson-content strong{color:#1e293b!important;font-size:12px!important;line-height:1.2!important}#weekly-print-portal .weekly-print-special-content{color:#334155!important;font-size:11px!important;line-height:1.2!important}#weekly-print-portal .weekly-print-slot-break{background:#e6f6ed!important}#weekly-print-portal .weekly-print-slot-activity{background:#fff3d9!important}#weekly-print-portal .weekly-print-slot-break .weekly-print-special-content{color:#246b4a!important}#weekly-print-portal .weekly-print-slot-activity .weekly-print-special-content{color:#875b12!important}#weekly-print-portal .weekly-print-empty-slot,#weekly-print-portal .weekly-print-unscheduled{color:#8b98a8!important}#weekly-print-portal .weekly-print-slot-break .weekly-print-slot-meta,#weekly-print-portal .weekly-print-slot-activity .weekly-print-slot-meta{color:inherit!important}#weekly-print-portal .weekly-print-class-block{box-sizing:border-box!important;break-inside:avoid-page!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important;margin:0!important;display:block!important}#weekly-print-portal .weekly-print-class-block:last-child{break-after:auto!important;page-break-after:auto!important}#weekly-print-portal .weekly-print-class-header{text-align:center!important;break-after:avoid-page!important;page-break-after:avoid!important;color:#1e3a5f!important;flex-direction:column!important;align-items:center!important;gap:1.2mm!important;margin:0!important;padding:0 2mm 4mm!important;display:flex!important}#weekly-print-portal .weekly-print-class-header strong{letter-spacing:1.2px!important;color:#174b73!important;font-size:19px!important;font-weight:900!important;line-height:1.15!important}#weekly-print-portal .weekly-print-class-header span{color:#64748b!important;font-size:10px!important;line-height:1.25!important}#weekly-print-portal .weekly-print-class-header b{letter-spacing:.6px!important;color:#174b73!important;background:#eaf3fb!important;border:1px solid #c7dced!important;border-radius:2mm!important;margin-top:1mm!important;padding:1mm 7mm!important;font-size:16px!important;font-weight:900!important;line-height:1.15!important;display:inline-block!important}#weekly-print-portal .weekly-print-wide-table{width:100%!important;margin:0!important}#weekly-print-portal .weekly-print-wide-table thead{display:table-header-group!important}#weekly-print-portal .weekly-print-wide-table thead th{letter-spacing:.2px!important;padding:2.5mm 1.5mm!important;font-size:11px!important;line-height:1.15!important}#weekly-print-portal .weekly-print-wide-table .weekly-print-day-cell{vertical-align:top!important;padding:1.8mm!important}#weekly-print-portal .weekly-print-slot-meta{gap:.8mm 1mm!important;margin-bottom:1.2mm!important}#weekly-print-portal .weekly-print-slot-meta strong{font-size:10px!important;line-height:1.15!important}#weekly-print-portal .weekly-print-slot-meta span{font-size:8.5px!important;line-height:1.15!important}#weekly-print-portal .weekly-print-lesson-content{gap:1mm!important}#weekly-print-portal .weekly-print-lesson-content strong{color:#1e293b!important;font-size:13.5px!important;font-weight:900!important;line-height:1.18!important}#weekly-print-portal .weekly-print-lesson-content span{color:#475569!important;font-size:10.5px!important;line-height:1.2!important}#weekly-print-portal .weekly-print-special-content{font-size:12px!important;font-weight:900!important;line-height:1.2!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-class-header strong{font-size:16px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-class-header b{font-size:13px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-wide-table thead th{padding:1.3mm .7mm!important;font-size:8px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-wide-table .weekly-print-day-cell{padding:1mm .7mm!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-slot-meta strong{font-size:7px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-slot-meta span{font-size:6px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-lesson-content strong{font-size:9px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-lesson-content span{font-size:7px!important}#weekly-print-portal .weekly-print-orientation-portrait .weekly-print-special-content{font-size:8px!important}}.subjects-module-schedule{flex-direction:column;display:flex}.subjects-module-schedule>.schedule-add{order:1}.subjects-module-schedule>.schedule-assignment-picker{order:2}.subjects-module-schedule>.schedule-toolbar{order:3}.subjects-module-schedule>.schedule-list{order:4}.schedule-add{border-top:1px solid var(--line);background:#fcfbff}.schedule-assignment-picker{margin-top:0}@media (width<=800px){.subjects-module-schedule>.schedule-add{order:1}.subjects-module-schedule>.schedule-assignment-picker{order:2}}.exams-page{max-width:1200px;margin:0 auto;padding-bottom:32px}.exam-tabs{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.exam-tabs button{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text);border-radius:10px;padding:10px 14px;font-weight:700}.exam-tabs button.active{background:var(--purple-soft);color:var(--purple-dark);border-color:#cfc4f8}.exam-tabs span{opacity:.7;margin-left:5px;font-size:12px}.exam-grid{grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:16px;display:grid}.exam-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 6px 20px #281e460a}.exam-card h2{margin:0 0 5px;font-size:18px}.exam-card>p{color:var(--muted);margin:0 0 18px;font-size:13px}.exam-card label{color:var(--muted);margin:12px 0;font-size:12px;font-weight:700;display:block}.exam-card input,.exam-card select,.exam-card textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:9px;outline:none;margin-top:6px;padding:10px 11px;display:block}.exam-card textarea{resize:vertical}.exam-card input:focus,.exam-card select:focus,.exam-card textarea:focus{border-color:var(--purple)}.primary-button{background:var(--purple);color:#fff;width:100%;margin-top:8px}.secondary-button{background:var(--purple-soft);color:var(--purple-dark)}.secondary-button.small{width:auto;margin:0;padding:7px 10px;font-size:12px}.exam-list{gap:8px;display:grid}.exam-list-item{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--text);border-radius:11px;padding:12px}.exam-list-item.selected{background:var(--purple-soft);border-color:#bdb0ef}.exam-list-item strong,.exam-list-item span,.exam-list-item small{display:block}.exam-list-item span,.exam-list-item small{color:var(--muted);margin-top:4px;font-size:12px}.question-list{gap:8px;margin-bottom:12px;display:grid}.question-item{border:1px solid var(--line);background:var(--surface);text-align:left;color:var(--text);cursor:pointer;border-radius:11px;padding:12px}.question-item.selected{background:var(--purple-soft);border-color:#bdb0ef}.question-item small{color:var(--muted);margin-top:7px;display:block}.exam-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:24px 12px;font-size:13px}.page-message{background:var(--purple-soft);color:var(--purple-dark);border-radius:9px;margin:10px 0;padding:10px 12px;font-size:13px}@media (width<=760px){.exam-grid{grid-template-columns:1fr}.exam-card{padding:16px}.exam-row{flex-direction:column;align-items:flex-start}.exam-row .secondary-button{width:100%}}@media (width<=480px){.exam-tabs{grid-template-columns:1fr;display:grid}.exam-tabs button{text-align:left}.exams-page{padding:0 2px 24px}.exam-card{border-radius:12px}.page-heading{flex-direction:column;align-items:flex-start;gap:10px}.page-heading .secondary-button{width:100%}}.ai-question-assistant{border-color:#b9d9ee;margin-top:16px}.ai-assistant-heading{justify-content:space-between;gap:12px;display:flex}.ai-assistant-heading .eyebrow{margin:0 0 4px}.ai-question-controls{grid-template-columns:2fr 2fr 1fr 1fr;gap:10px;display:grid}.ai-question-controls label{margin:0}.ai-assistant-message{background:var(--purple-soft);color:var(--purple-dark);border-radius:9px;margin-top:10px;padding:9px 11px;font-size:12px}.ai-question-results{gap:10px;margin-top:16px;display:grid}.ai-results-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-question-preview{border:1px solid var(--line);border-radius:12px;padding:12px}.ai-select-row{align-items:center;gap:8px;color:var(--text)!important;margin:0!important;display:flex!important}.ai-select-row input{width:auto!important;margin:0!important}.ai-question-preview p{margin:10px 0}.ai-question-preview ul{margin:8px 0 10px;padding-left:20px}.ai-question-preview li{margin:4px 0;font-size:13px}.ai-question-preview small{color:var(--muted);margin:6px 0;line-height:1.5;display:block}.ai-question-preview .secondary-button{margin-top:8px}.exam-schedule-fields{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;padding:12px;display:grid}.exam-schedule-fields label{margin:0}.exam-schedule-fields .schedule-caption{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;font-weight:600}.exam-schedule-fields input[type=datetime-local]{font-variant-numeric:tabular-nums}.exam-schedule-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px;line-height:1.45}.exam-schedule-badge{background:var(--purple-soft);color:var(--purple-dark);border-radius:999px;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.exam-schedule-badge.warning{color:#795900;background:#fff3cd}@media (width<=760px){.ai-question-controls{grid-template-columns:1fr 1fr}.exam-schedule-fields{grid-template-columns:1fr}}@media (width<=480px){.ai-question-controls{grid-template-columns:1fr}.ai-results-toolbar{flex-direction:column;align-items:flex-start}.ai-results-toolbar .secondary-button{width:100%}}.exam-class-picker{border:1px solid var(--border,#dbe3ea);background:var(--card,#fff);border-radius:12px;padding:12px}.exam-class-picker-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.exam-class-picker-summary span{opacity:.75;font-size:.9rem}.exam-class-picker-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.exam-class-picker-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:260px;display:grid;overflow-y:auto}.exam-class-option{border:1px solid var(--border,#dbe3ea);cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.exam-class-option input{width:18px;height:18px}.exam-question-picker{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:14px;padding:14px}.picker-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.picker-header p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:400}.picker-total{white-space:nowrap;background:var(--purple-soft);color:var(--purple-dark);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.question-composition{gap:7px;margin-top:12px;display:grid}.composition-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 72px;align-items:center;gap:10px;padding:9px;display:grid}.composition-row.invalid{border-color:#e8a4a4}.composition-row div strong,.composition-row div small{display:block}.composition-row div small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400}.composition-row input{text-align:center;margin:0!important}.composition-error{color:#b42318;grid-column:1/-1;font-size:11px}.picker-warning{color:#795900;background:#fff3cd;border-radius:9px;padding:9px 10px;font-size:12px;line-height:1.4}.picker-summary{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.picker-summary span{background:var(--purple-soft);color:var(--purple-dark);border-radius:8px;padding:5px 8px;font-size:11px}.picker-summary>strong{color:#b42318;align-self:center;font-size:11px}.picker-actions{flex-wrap:wrap;gap:7px;margin:11px 0;display:flex}.picker-filters{grid-template-columns:1fr 180px;gap:8px;margin-bottom:10px;display:grid}.picker-filters input,.picker-filters select{margin:0!important}.picker-list{gap:7px;max-height:420px;display:grid;overflow-y:auto}.picker-question{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;line-height:1.45;color:var(--text)!important;margin:0!important;font-size:12px!important;font-weight:400!important;display:flex!important}.picker-question:hover{border-color:#bdb0ef}.picker-question input{flex:none;height:18px;width:18px!important;margin:2px 0 0!important}.picker-question span{flex:1}.picker-question strong{color:var(--purple-dark);font-size:10px}.picker-question small{color:var(--muted);margin-top:4px;font-size:10px;display:block}@media (width<=480px){.picker-header{display:block}.picker-total{margin-top:8px;display:inline-block}.picker-filters{grid-template-columns:1fr}.composition-row{grid-template-columns:1fr 64px}.picker-actions .secondary-button{width:100%}}.exam-shuffle-settings{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:16px 0;padding:14px}.exam-shuffle-settings>strong{color:var(--text);margin-bottom:10px;font-size:15px;display:block}.exam-shuffle-settings label{grid-template-rows:auto auto;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:9px;padding:10px 0;line-height:1.35;color:var(--text)!important;margin:0!important;font-size:13px!important;font-weight:700!important;display:grid!important}.exam-shuffle-settings label+label{border-top:1px solid var(--line);margin-top:2px!important}.exam-shuffle-settings input[type=checkbox]{accent-color:var(--purple);grid-area:1/1/span 2;width:18px!important;height:18px!important;margin:2px 0 0!important;padding:0!important;display:block!important}.exam-shuffle-settings label small{color:var(--muted);grid-column:2;margin:3px 0 0;font-size:11px;font-weight:500;line-height:1.4;display:block}.exam-shuffle-settings label input:focus{outline:2px solid var(--purple);outline-offset:2px}@media (width<=480px){.exam-shuffle-settings{padding:12px}.exam-shuffle-settings label{padding:9px 0;font-size:13px!important}}.exam-results-page{padding:18px 0 40px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h2{margin:5px 0}.page-head p{color:var(--muted);margin:0}.refresh,.detail-btn,.review-head button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:800}.exam-result-toolbar{grid-template-columns:1.3fr 1fr;gap:12px;margin-bottom:14px;display:grid}.exam-result-toolbar label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.exam-result-toolbar select,.exam-result-toolbar input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:11px}.result-message{background:var(--purple-soft);color:var(--purple-dark);border-radius:10px;margin-bottom:14px;padding:11px 13px}.result-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.result-stats div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.result-stats b,.result-stats span{display:block}.result-stats b{font-size:24px}.result-stats span{color:var(--muted);margin-top:3px;font-size:11px}.result-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:auto}.result-table-wrap table{border-collapse:collapse;width:100%;min-width:1030px}.result-table-wrap th,.result-table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:12px;font-size:12px}.result-table-wrap th{color:var(--muted);letter-spacing:.6px;font-size:10px}.result-table-wrap td strong,.result-table-wrap td small{display:block}.result-table-wrap td small{color:var(--muted);margin-top:3px}.status{background:var(--purple-soft);border-radius:999px;padding:4px 7px;font-weight:800;display:inline-block}.warning{color:#b33;font-weight:900}.empty{color:var(--muted);text-align:center!important;padding:28px!important}.review-overlay{z-index:100;background:#0a14237a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.review-modal{background:var(--surface);border-radius:18px;width:min(860px,100%);max-height:90svh;padding:20px;overflow:auto;box-shadow:0 20px 60px #0003}.review-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding-bottom:14px;display:flex}.review-head h3{margin:5px 0}.review-head p{color:var(--muted);margin:0}.review-head button{width:42px;height:42px;padding:0;font-size:24px;line-height:1}.review-section{margin-top:18px}.review-section h4{margin:0 0 10px}.answer-row,.violation-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.answer-row>div:first-child{flex:1;min-width:0}.answer-row b,.answer-row small{display:block}.answer-row small{color:var(--muted);margin-top:5px;line-height:1.5}.answer-score{align-content:start;justify-items:end;gap:8px;min-width:120px;display:grid}.grade-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;padding:7px 10px;font-weight:800}.grade-btn:disabled{opacity:.55;cursor:not-allowed}.violation-row span{color:var(--muted)}.ai-grading-box{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:12px;padding:12px}.ai-grading-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ai-grading-head span{color:var(--muted);font-size:10px;font-weight:700}.ai-grading-box textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:10px;font-size:12px;line-height:1.5}.ai-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ai-btn,.apply-ai-btn{cursor:pointer;border:0;border-radius:9px;padding:8px 11px;font-weight:800}.ai-btn{background:var(--purple);color:#fff}.apply-ai-btn{background:var(--purple-soft);color:var(--purple-dark);border:1px solid var(--line)}.ai-btn:disabled{opacity:.6;cursor:not-allowed}.ai-result{background:var(--purple-soft);border-radius:9px;margin-top:10px;padding:10px;font-size:12px;line-height:1.55}.ai-result>div{margin-top:5px}@media (width<=700px){.exam-results-page{padding:12px 0 30px}.page-head{display:block}.refresh{margin-top:12px}.exam-result-toolbar{grid-template-columns:1fr}.result-stats{grid-template-columns:repeat(2,1fr)}.result-table-wrap{border-radius:14px;overflow:visible}.result-table-wrap table{width:100%;min-width:0;display:block}.result-table-wrap thead{display:none}.result-table-wrap tbody{display:block}.result-table-wrap tr{border-bottom:1px solid var(--line);padding:10px 14px;display:block}.result-table-wrap tr:last-child{border-bottom:0}.result-table-wrap td{text-align:right;border:0;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:8px 0;font-size:13px;display:flex}.result-table-wrap td:before{content:"";letter-spacing:.5px;color:var(--muted);text-align:left;flex:0 0 92px;font-size:10px;font-weight:900}.result-table-wrap td:first-child:before{content:"SISWA"}.result-table-wrap td:nth-child(2):before{content:"STATUS"}.result-table-wrap td:nth-child(3):before{content:"NILAI"}.result-table-wrap td:nth-child(4):before{content:"JAWABAN"}.result-table-wrap td:nth-child(5):before{content:"URAIAN"}.result-table-wrap td:nth-child(6):before{content:"PELANGGARAN"}.result-table-wrap td:nth-child(7):before{content:"MULAI"}.result-table-wrap td:nth-child(8):before{content:"AKSI"}.result-table-wrap td:first-child>*,.result-table-wrap td:nth-child(2)>*,.result-table-wrap td:nth-child(3)>*,.result-table-wrap td:nth-child(4)>*,.result-table-wrap td:nth-child(5)>*,.result-table-wrap td:nth-child(6)>*,.result-table-wrap td:nth-child(7)>*,.result-table-wrap td:nth-child(8)>*{max-width:calc(100% - 104px)}.result-table-wrap td:first-child strong{overflow-wrap:anywhere}.result-table-wrap td:first-child small{display:block}.result-table-wrap td:nth-child(8) .detail-btn{padding:7px 11px}.result-table-wrap .empty{text-align:center!important;display:block!important}.result-table-wrap .empty:before{content:none}.review-modal{padding:16px}.answer-row{display:block}.answer-score{justify-content:space-between;align-items:center;margin-top:7px;display:flex}.grade-btn{margin-top:0}.ai-grading-head{flex-direction:column;align-items:flex-start}.ai-grading-box{padding:10px}.ai-actions>*{width:100%}}.question-import-page{gap:16px;display:grid}.import-hero,.import-card,.empty-import{background:#fff;border:1px solid #e8e6ef;border-radius:18px;padding:20px;box-shadow:0 8px 24px #1e193c0a}.import-hero{justify-content:space-between;align-items:center;gap:20px;display:flex}.import-hero h2,.preview-head h3{color:#242238;margin:4px 0 8px}.import-hero p{color:#6f6b7d;max-width:760px;margin:0;line-height:1.55}.import-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.import-grid label{color:#3d394e;gap:7px;font-size:13px;font-weight:700;display:grid}.import-grid select{color:#29263a;background:#fff;border:1px solid #dcd9e6;border-radius:10px;height:42px;padding:0 12px}.selected-bank{background:#f7f8fb;border-radius:12px;gap:3px;margin-top:14px;padding:12px 14px;display:grid}.selected-bank span{color:#777386;font-size:12px}.drop-zone{text-align:center;background:#fbfcfe;border:1.5px dashed #bfc4d2;border-radius:15px;place-items:center;min-height:150px;margin-top:16px;display:grid;position:relative}.drop-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.drop-zone label{pointer-events:none;gap:6px;padding:20px;display:grid}.drop-zone strong{color:#302c42}.drop-zone small{color:#817d8e}.upload-icon{color:#147bc2;background:#eef7ff;border-radius:50%;place-items:center;width:40px;height:40px;margin:auto;font-size:24px;font-weight:800;display:grid}.import-help{color:#777386;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;font-size:11px;display:flex}.import-help span{color:#5f5a6d;background:#f1f2f6;border-radius:7px;padding:5px 8px;font-weight:800}.import-note,.preview-note{color:#777386;margin:10px 0 0;font-size:12px;line-height:1.5}.import-alert{border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600}.import-alert.error{color:#a33434;background:#fff0f0;border:1px solid #f3caca}.import-alert.success{color:#237746;background:#effbf4;border:1px solid #ccebd8}.preview-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.preview-head h3{margin-bottom:0}.preview-stats{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.preview-stats span{color:#6d6879;background:#f6f5f9;border-radius:9px;padding:7px 9px;font-size:11px}.preview-stats b{color:#29263a;margin-left:3px}.preview-table-wrap{border:1px solid #ebe9f0;border-radius:12px;margin-top:15px;overflow:auto}.preview-table-wrap table{border-collapse:collapse;width:100%;min-width:760px}.preview-table-wrap th,.preview-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #eeeef3;padding:11px 12px;font-size:12px}.preview-table-wrap th{color:#6e6a79;letter-spacing:.5px;background:#f8f8fb;font-size:10px}.question-cell{min-width:360px;max-width:620px;line-height:1.45}.type-pill{color:#276aa3;white-space:nowrap;background:#eef5ff;border-radius:8px;padding:5px 7px;font-size:10px;font-weight:800;display:inline-block}.import-actions{justify-content:flex-end;gap:9px;margin-top:15px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:10px;padding:10px 15px;font-weight:800}.primary-button{color:#fff;background:#1769aa}.secondary-button{color:#403c50;background:#f0f1f5}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.empty-import{color:#5f5a6d;gap:5px;display:grid}.empty-import strong{color:#302c42}.empty-import span{font-size:13px}@media (width<=700px){.import-hero{display:grid}.import-grid{grid-template-columns:1fr}.preview-head{display:grid}.preview-stats{justify-content:flex-start}.import-actions{grid-template-columns:1fr;display:grid}.primary-button,.secondary-button{width:100%}.question-import-page{gap:12px}.import-card,.import-hero{border-radius:14px;padding:15px}}.student-exams-page{gap:16px;display:grid}.student-exams-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-exam-tabs{flex-wrap:wrap;gap:6px;display:flex}.student-exam-tabs button,.student-refresh{cursor:pointer;background:#fff;border:1px solid #d9e0e8;border-radius:10px;padding:9px 13px;font-weight:700}.student-exam-tabs button.active{color:#fff;background:#123f73;border-color:#123f73}.student-refresh:disabled{opacity:.55;cursor:not-allowed}.student-exam-list{gap:12px;display:grid}.student-exam-card{background:#fff;border:1px solid #e4e9ef;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex;box-shadow:0 4px 16px #1432500d}.student-exam-card-main{min-width:0}.student-exam-status{letter-spacing:.4px;text-transform:uppercase;color:#0876c9;margin-bottom:7px;font-size:11px;font-weight:800;display:inline-flex}.student-exam-card h2{color:#17314f;margin:0;font-size:18px}.student-exam-card p{color:#68788b;margin:7px 0 0}.student-exam-meta{color:#718093;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.student-exam-action{color:#fff;cursor:pointer;background:#0876c9;border:0;border-radius:11px;flex:none;padding:11px 15px;font-weight:800}.student-exam-action:disabled{color:#778493;cursor:not-allowed;background:#dce3ea}.student-exam-empty,.student-exam-error{text-align:center;background:#fff;border:1px dashed #d7dfe8;border-radius:14px;padding:28px}.student-exam-empty{color:#708094;gap:6px;display:grid}.student-exam-empty strong{color:#17314f}.student-exam-error{color:#9a3b3b;background:#fff7f7;border-style:solid}@media (width<=680px){.student-exams-toolbar{flex-direction:column;align-items:stretch}.student-refresh{width:100%}.student-exam-card{flex-direction:column;align-items:stretch}.student-exam-action{width:100%}}.student-exam-shell{background:var(--bg);min-height:calc(100svh - 150px);color:var(--text);padding:20px 0 36px}.student-exam-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;max-width:760px;margin:30px auto;padding:28px;box-shadow:0 10px 30px #1e32500f}.student-exam-card.center{text-align:center}.student-exam-card.intro h1{margin:12px 0 8px;font-size:30px}.student-exam-card.intro p{color:var(--muted);line-height:1.6}.exam-badge{background:var(--purple-soft);color:var(--purple-dark);letter-spacing:.6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-block}.exam-rules{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;display:grid}.exam-rules div{border:1px solid var(--line);text-align:center;border-radius:12px;padding:14px}.exam-rules b,.exam-rules span{display:block}.exam-rules b{font-size:20px}.exam-rules span{color:var(--muted);margin-top:3px;font-size:11px}.exam-primary,.exam-secondary,.exam-submit{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:800}.exam-primary{background:var(--purple);color:#fff}.exam-secondary{background:var(--purple-soft);color:var(--purple-dark)}.exam-submit{color:#fff;background:#147d52}.exam-primary:disabled,.exam-submit:disabled{opacity:.55;cursor:not-allowed}.intro .exam-primary,.intro .exam-secondary{width:100%;margin-top:9px}.student-exam-message{background:var(--purple-soft);color:var(--purple-dark);border-radius:9px;margin:14px 0;padding:10px 12px;font-size:13px}.score-box{border:1px solid var(--line);border-radius:14px;max-width:180px;margin:20px auto;padding:18px}.score-box small,.score-box strong{display:block}.score-box small{color:var(--muted)}.score-box strong{margin-top:3px;font-size:42px}.student-exam-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.student-exam-top h1{margin:7px 0 0;font-size:24px}.exam-timer{font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:12px;padding:11px 15px;font-size:23px;font-weight:900}.exam-timer.danger{color:#a33;border-color:#d77}.student-exam-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;display:grid}.question-nav,.question-card{background:var(--surface);border:1px solid var(--line);border-radius:16px}.question-nav{height:max-content;padding:16px;position:sticky;top:15px}.number-grid{grid-template-columns:repeat(5,1fr);gap:7px;margin:12px 0;display:grid}.number-grid button{border:1px solid var(--line);background:var(--surface);height:35px;color:var(--text);cursor:pointer;border-radius:8px;font-weight:700}.number-grid button.current{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.number-grid button.answered{background:var(--purple-soft)}.question-nav small{color:var(--muted)}.question-card{padding:24px}.question-meta{color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:700}.question-card h2{margin:0 0 20px;font-size:20px;line-height:1.55}.question-image-note{border:1px dashed var(--line);color:var(--muted);border-radius:9px;margin-bottom:14px;padding:10px;font-size:12px}.option-list{gap:10px;display:grid}.option-button{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:11px;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:13px;display:grid}.option-button.no-option-key{grid-template-columns:minmax(0,1fr)}.option-button b{background:var(--purple-soft);width:30px;height:30px;color:var(--purple-dark);border-radius:50%;place-items:center;display:grid}.option-button.selected{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple);background:var(--purple-soft)}.option-content{flex-direction:column;gap:8px;min-width:0;display:flex}.question-media-image,.option-media-image{object-fit:contain;border:1px solid var(--line);background:var(--surface);border-radius:10px;max-width:100%;height:auto;display:block}.question-media-image{width:auto;max-height:360px;margin:0 0 20px}.option-media-image{width:min(100%,420px);max-height:240px}.answer-text{border:1px solid var(--line);resize:vertical;background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:12px}.question-actions{justify-content:space-between;gap:10px;margin-top:24px;display:flex}.question-actions .exam-primary,.question-actions .exam-submit{min-width:150px}.exam-confirm-backdrop{z-index:1000;background:#0f172a94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.exam-confirm-dialog{background:var(--surface);width:min(100%,520px);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 24px 70px #0f172a40}.exam-confirm-dialog h2{margin:12px 0 8px;font-size:23px}.exam-confirm-dialog p{color:var(--muted);margin:0;line-height:1.55}.exam-confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.exam-confirm-actions .exam-secondary,.exam-confirm-actions .exam-submit{min-width:150px}@media (width<=760px){.student-exam-shell{padding:12px 0 24px}.student-exam-top{align-items:flex-start}.student-exam-layout{grid-template-columns:1fr}.question-nav{order:2;position:static}.question-card{order:1}.number-grid{grid-template-columns:repeat(8,1fr)}}@media (width<=480px){.student-exam-card{border-radius:14px;margin:10px auto;padding:20px 16px}.student-exam-card.intro h1{font-size:24px}.exam-rules{grid-template-columns:1fr}.student-exam-top{display:block}.exam-timer{text-align:center;margin-top:12px}.question-card{padding:18px}.question-card h2{font-size:18px}.number-grid{grid-template-columns:repeat(6,1fr)}.question-actions{flex-direction:column}.question-actions button{width:100%}.exam-confirm-dialog{padding:20px 16px}.exam-confirm-actions{flex-direction:column}.exam-confirm-actions button{width:100%}.question-media-image{max-height:260px}.option-media-image{width:100%;max-width:420px;max-height:180px}}.school-logo-settings{gap:18px;display:grid}.school-logo-copy{justify-content:space-between;align-items:center;gap:20px;display:flex}.school-logo-copy h4{margin:0 0 6px;font-size:1.05rem}.school-logo-copy p{color:#6b6874;max-width:720px;margin:0;line-height:1.55}.school-logo-preview{color:#8a8594;background:#faf9fc;border:1px solid #ddd9e5;border-radius:18px;flex:0 0 92px;place-items:center;width:92px;height:92px;font-weight:800;display:grid;overflow:hidden}.school-logo-preview img{object-fit:contain;width:100%;height:100%;padding:10px}.school-logo-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.school-logo-actions>span{color:#817d89;font-size:.88rem}.school-logo-message{border-radius:12px;padding:11px 14px;font-size:.92rem}.school-logo-message.error{color:#a13e3e;background:#fff0f0}.school-logo-message.success{color:#2f7650;background:#eef9f1}@media (width<=640px){.school-logo-copy{align-items:flex-start}.school-logo-preview{border-radius:14px;flex-basis:76px;width:76px;height:76px}}.schools-page{flex-direction:column;gap:18px;display:flex}.schools-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.schools-toolbar h2{margin:0;font-size:24px}.schools-toolbar p{color:#777;margin:5px 0 0}.primary-action,.secondary-action,.school-actions button,.close-button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:700}.primary-action:disabled{opacity:.6}.secondary-action,.school-actions button,.close-button{color:#4e465f;background:#f2f0f7}.success-message,.error-message,.empty-state,.school-form,.school-card{background:#fff;border:1px solid #e5e1ed;border-radius:18px}.success-message,.error-message{padding:13px 16px}.error-message{color:#a14f4f;background:#fff8f8}.school-form{padding:20px}.form-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.form-header strong{font-size:20px;display:block}.form-header span{color:#777;margin-top:4px;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.form-grid label{color:#4d4857;flex-direction:column;gap:7px;font-weight:700;display:flex}.form-grid small{color:#999;font-weight:400}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;color:#292532;background:#fff;border:1px solid #dcd8e5;border-radius:10px;padding:12px}.form-grid .wide{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.empty-state{text-align:center;color:#777;flex-direction:column;align-items:center;gap:10px;padding:45px 20px;display:flex}.empty-state strong{color:#322d3b;font-size:20px}.school-list{flex-direction:column;gap:12px;display:flex}.school-card{align-items:flex-start;gap:15px;padding:18px;display:flex}.school-icon{background:#f0eaff;border-radius:14px;place-items:center;width:48px;height:48px;font-size:23px;display:grid}.school-main{flex:1;min-width:0}.school-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.school-title strong{color:#292532;font-size:19px}.status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.status.active{color:#38724d;background:#e9f7ee}.status.inactive{color:#777;background:#f1eff3}.school-meta{color:#7058a7;flex-wrap:wrap;gap:10px;margin-top:7px;font-size:13px;font-weight:700;display:flex}.school-main p{color:#777;margin:8px 0 0}.school-actions{flex-wrap:wrap;gap:8px;display:flex}.school-actions button{font-size:13px}.school-actions button:last-child{color:#995151;background:#fff0f0}.school-card,.school-main,.school-actions{min-width:0}@media (width<=700px){.school-card{box-sizing:border-box;width:100%;overflow:visible}.school-main{width:100%;overflow:visible}.school-actions{box-sizing:border-box;width:100%}.school-actions button{min-width:0}.school-form{box-sizing:border-box;max-width:100%}.schools-toolbar{flex-direction:column;align-items:flex-start}.primary-action{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.school-card{flex-wrap:wrap}.school-actions{width:100%}.school-actions button{flex:1}.school-form{padding:16px}}.module-access-panel{box-sizing:border-box;width:100%}.module-access-list{width:100%;min-width:0}.module-access-header,.module-access-header>div:first-child{min-width:0}@media (width<=700px){.module-access-panel{padding:14px!important}.module-access-header{flex-wrap:wrap;align-items:flex-start!important}.module-access-list>div{flex-wrap:wrap;min-width:0}.module-access-list>div>div:first-child{overflow-wrap:anywhere;min-width:0}.module-access-list>div>button{flex:none}}.school-admins-page{gap:18px;display:grid}.school-admins-intro{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.school-admins-intro h2{margin:4px 0 6px;font-size:30px}.school-admins-intro p:not(.eyebrow){color:#777582;margin:0}.security-note,.school-admin-info,.school-admin-form,.school-admins-footer,.issued-credentials{background:#fff;border:1px solid #e8e4ed;border-radius:22px}.security-note{gap:5px;max-width:320px;padding:16px 18px;display:grid}.security-note strong{color:#4e4670}.security-note span{color:#85818d;font-size:13px}.school-admins-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:18px;display:grid}.school-admin-form{gap:16px;padding:22px;display:grid}.form-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.form-heading>div:first-child{gap:5px;display:grid}.form-heading strong{font-size:21px}.form-heading span{color:#85818d;font-size:13px}.username-preview{background:#f4efff;border-radius:14px;gap:2px;min-width:125px;padding:10px 13px;display:grid}.username-preview small{color:#7562a7;font-size:11px}.username-preview strong{color:#6245a0}.school-admin-form label{color:#4c4955;gap:7px;font-weight:700;display:grid}.school-admin-form input,.school-admin-form select{box-sizing:border-box;width:100%;font:inherit;color:#292733;background:#fff;border:1px solid #ddd8e4;border-radius:13px;padding:13px 14px}.school-admin-form input[readonly]{color:#5f5870;background:#faf8fc}.password-note{color:#777582;background:#faf8fc;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.5}.primary-action,.secondary-action{cursor:pointer;border:0;border-radius:13px;padding:13px 18px;font-size:15px;font-weight:800}.secondary-action{color:#6245a0;background:#f0eaff;border:1px solid #ddd2f2}.primary-action:disabled,.secondary-action:disabled{opacity:.6;cursor:wait}.school-admin-info{align-content:start;gap:12px;padding:22px;display:grid}.school-admin-info h3{margin:0;font-size:22px}.school-admin-info>p:not(.eyebrow){color:#777582;margin:0;font-size:13px;line-height:1.5}.scope-row{border-top:1px solid #eeeaf2;justify-content:space-between;gap:12px;padding-top:11px;font-size:13px;display:flex}.scope-row span{color:#85818d}.scope-row strong{color:#4e4670;text-align:right}.issued-credentials{background:#fbf9ff;border-color:#ddd2f2;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.issued-credentials>div{gap:5px;display:grid}.issued-credentials strong{color:#4f3b82;font-size:17px}.issued-credentials span{color:#777582;font-size:13px}.school-admins-footer{align-items:flex-start;gap:12px;padding:15px 18px;font-size:13px;line-height:1.5;display:flex}.school-admins-footer strong{color:#634ca0;white-space:nowrap}.school-admins-footer span{color:#7b7782}.success-message,.error-message{background:#fff;border:1px solid #e6e0ea;border-radius:14px;padding:13px 15px}.success-message{color:#367052}.error-message{color:#9b4c4c}@media (width<=720px){.school-admins-intro,.form-heading,.school-admins-footer,.issued-credentials{display:grid}.security-note{max-width:none}.school-admins-grid{grid-template-columns:1fr}.username-preview{min-width:0}.school-admins-footer strong{white-space:normal}.secondary-action{width:100%}}.registration-admin-page{gap:18px;display:grid}.registration-admin-intro{justify-content:space-between;align-items:center;gap:20px;display:flex}.registration-admin-intro h2{margin:4px 0;font-size:28px}.registration-admin-intro p:last-child{color:#777381;margin:0}.registration-count{text-align:center;color:#5e429e;background:#f2edfc;border-radius:16px;min-width:150px;padding:14px 18px}.registration-count strong{font-size:30px;display:block}.registration-count span{font-size:12px}.registration-admin-alert{border-radius:12px;padding:13px 15px}.registration-admin-alert.error{color:#9d3e3e;background:#fff0f0}.registration-admin-alert.success{color:#28734a;background:#eef9f3}.registration-list{gap:14px;display:grid}.registration-request-card{background:#fff;border:1px solid #e1dfe7;border-radius:20px;padding:20px}.request-top{justify-content:space-between;gap:15px;display:flex}.request-code{color:#7a7486;margin:0 0 4px;font-size:12px}.request-top h3{color:#2b2734;margin:0 0 5px;font-size:22px}.request-top span{color:#7a7486;font-size:13px}.pending-badge{background:#fff6df;border-radius:999px;align-self:flex-start;padding:7px 10px;font-weight:800;color:#9b6d11!important;font-size:11px!important}.request-grid{border-top:1px solid #eeeaf2;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0;padding-top:16px;display:grid}.request-grid div{gap:4px;display:grid}.request-grid small{color:#817b8d;font-size:10px;font-weight:800}.request-grid strong{color:#383340}.request-grid span{color:#777381;word-break:break-word;font-size:13px}.request-actions{gap:10px;display:flex}.approve-button,.reject-button{cursor:pointer;border:0;border-radius:11px;padding:11px 16px;font-weight:800}.approve-button{color:#fff;background:#7553d6}.reject-button{color:#a33d3d;background:#fff0f0}.approve-button:disabled,.reject-button:disabled{opacity:.6}.registration-empty{text-align:center;color:#777381;background:#fff;border:1px dashed #d8d3e1;border-radius:18px;gap:6px;padding:30px;display:grid}.registration-empty strong{color:#3a3542}.registration-history{color:#625d6c;background:#fff;border:1px solid #e1dfe7;border-radius:16px;padding:14px 16px}.registration-history summary{cursor:pointer;font-weight:800}.registration-history p{margin:9px 0}.reject-overlay{z-index:100;background:#1915237a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.reject-dialog{background:#fff;border-radius:20px;width:min(520px,100%);padding:22px;box-shadow:0 25px 80px #0003}.reject-dialog h3{margin:0 0 5px}.reject-dialog p{color:#777381}.reject-dialog label{gap:7px;font-weight:700;display:grid}.reject-dialog textarea{font:inherit;border:1px solid #d9d5e1;border-radius:12px;padding:12px}.reject-dialog>div{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@media (width<=640px){.registration-admin-intro{align-items:flex-start}.registration-count{min-width:100px}.request-grid{grid-template-columns:1fr}.request-actions{flex-direction:column}.request-actions button{width:100%}}.journal-page{flex-direction:column;gap:16px;display:flex}.journal-top{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.journal-kicker{letter-spacing:.08em;color:#77738a;font-size:11px;font-weight:800}.journal-top h2{margin:4px 0 5px;font-size:26px}.journal-top p{color:#77738a;margin:0}.journal-date-picker label{color:#5e5a70;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.journal-date-picker input,.journal-page input,.journal-page textarea,.journal-page select{font:inherit;box-sizing:border-box;background:#fff;border:1px solid #dedbe7;border-radius:10px;outline:none;padding:10px 12px}.journal-date-picker input:focus,.journal-page input:focus,.journal-page textarea:focus,.journal-page select:focus{border-color:#77738a;box-shadow:0 0 0 3px #77738a14}.journal-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px;display:grid}.journal-main,.journal-side{flex-direction:column;gap:16px;display:flex}.journal-card{background:#fff;border:1px solid #e7e4ed;border-radius:16px;padding:18px;box-shadow:0 5px 20px #231f360a}.card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.card-heading h3{margin:5px 0 4px;font-size:18px}.card-heading p{color:#77738a;margin:0;font-size:13px}.eyebrow{letter-spacing:.08em;color:#77738a;font-size:10px;font-weight:800}.teacher-badge,.history-count{color:#5e5a70;white-space:nowrap;background:#f3f1f7;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.session-list{flex-direction:column;gap:8px;display:flex}.session-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8e5ee;border-radius:12px;grid-template-columns:90px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.session-option:hover{border-color:#c9c5d4}.session-option.selected{background:#f8f7fa;border-color:#77738a;box-shadow:inset 3px 0 #77738a}.session-time{font-size:13px;font-weight:800}.session-info{flex-direction:column;gap:3px;display:flex}.session-info strong{font-size:13px}.session-info small,.session-period{color:#77738a;font-size:11px}.session-period{font-weight:700}.form-section{flex-direction:column;gap:13px;display:flex}.form-section label{color:#4f4b60;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.form-section label span{color:#9b1c1c}.form-section textarea{resize:vertical;min-height:72px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-footer{border-top:1px solid #eeeaf2;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:15px;display:flex}.form-footer span{color:#77738a;font-size:11px}.journal-primary{color:#fff;cursor:pointer;background:#2f2b3d;border:0;border-radius:10px;padding:11px 16px;font-weight:800}.journal-primary:disabled{opacity:.45;cursor:not-allowed}.journal-alert{border-radius:10px;padding:11px 14px;font-size:13px}.journal-alert.error{color:#9b1c1c;background:#fff1f1;border:1px solid #f1caca}.journal-alert.success{color:#216b38;background:#eef8f1;border:1px solid #cbe6d2}.attendance-card{background:linear-gradient(#fff,#faf9fc)}.attendance-total{border-bottom:1px solid #eeeaf2;align-items:baseline;gap:8px;padding:14px 0 12px;display:flex}.attendance-total span{color:#77738a;font-size:12px}.attendance-list{flex-direction:column;display:flex}.attendance-list div{border-bottom:1px solid #f0edf4;justify-content:space-between;padding:9px 0;font-size:12px;display:flex}.attendance-list div:last-child{border-bottom:0}.attendance-list span{color:#77738a}.attendance-list strong{font-size:13px}.history-card{min-height:180px}.journal-history{flex-direction:column;display:flex}.history-item{border-bottom:1px solid #eeeaf2;grid-template-columns:52px 1fr;gap:10px;padding:10px 0;display:grid}.history-item:last-child{border-bottom:0}.history-date{color:#77738a;padding-top:2px;font-size:11px;font-weight:800}.history-item div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.history-item strong{font-size:12px}.history-item span{color:#77738a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.journal-empty{text-align:center;color:#77738a;border:1px dashed #dcd8e5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:28px 14px;font-size:12px;display:flex}.journal-empty strong{color:#4f4b60}.journal-empty.small{padding:22px}.journal-loading{color:#77738a;background:#fff;border:1px solid #e7e4ed;border-radius:16px;padding:28px}.journal-page button:focus-visible{outline-offset:2px;outline:3px solid #77738a2e}@media (width<=850px){.journal-grid{grid-template-columns:1fr}.journal-top{flex-direction:column;align-items:stretch}.journal-date-picker input{width:100%}}@media (width<=560px){.journal-card{padding:14px}.form-row{grid-template-columns:1fr}.session-option{grid-template-columns:1fr;gap:5px}.session-period{display:none}.form-footer{flex-direction:column;align-items:stretch}.journal-primary{width:100%}}.registration-shell{background:#f8f7fc;place-items:center;min-height:100vh;padding:28px 16px;display:grid}.registration-card{background:#fff;border:1px solid #e4e1eb;border-radius:28px;width:min(760px,100%);padding:30px;box-shadow:0 20px 60px #2b234114}.registration-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.registration-brand .brand-mark{color:#fff;background:#7553d6;border-radius:14px;place-items:center;width:48px;height:48px;font-size:25px;font-weight:800;display:grid}.registration-brand strong{font-size:22px;display:block}.registration-brand span{color:#8a8793;margin-top:2px;font-size:13px;display:block}.registration-heading h1{color:#292633;margin:5px 0 8px;font-size:34px}.registration-heading>p:last-child{color:#777381;margin:0 0 24px;line-height:1.55}.registration-form{gap:16px;display:grid}.registration-form label{color:#3b3745;gap:7px;font-weight:650;display:grid}.registration-form input,.registration-form select,.registration-form textarea{box-sizing:border-box;color:#292633;width:100%;font:inherit;background:#fff;border:1px solid #d9d5e1;border-radius:13px;outline:none;padding:13px 14px}.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus{border-color:#7553d6;box-shadow:0 0 0 3px #7553d61a}.registration-form small{color:#888490;font-weight:400}.registration-two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.registration-section{border-top:1px solid #ece9f1;gap:3px;margin-top:4px;padding-top:10px;display:grid}.registration-section strong{color:#433e50;font-size:17px}.registration-section span{color:#8a8793;font-size:13px;font-weight:400}.password-wrap{position:relative}.password-wrap input{padding-right:100px}.password-wrap button{color:#6545b4;cursor:pointer;background:#f0ecfa;border:0;border-radius:9px;height:36px;padding:0 10px;font-weight:700;position:absolute;top:8px;right:8px}.registration-note{color:#716b7b;background:#f5f1fc;border-radius:13px;padding:12px 14px;font-size:13px;line-height:1.5}.registration-submit{color:#fff;font:inherit;cursor:pointer;background:#7553d6;border:0;border-radius:13px;padding:14px;font-weight:800}.registration-submit:disabled{opacity:.6}.registration-back{color:#6545b4;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.registration-alert{border-radius:13px;gap:8px;margin-bottom:18px;padding:14px 16px;display:grid}.registration-alert.error{color:#a33d3d;background:#fff0f0}.registration-alert.success{color:#28734a;background:#eef9f3}.registration-alert button{color:#fff;background:#7553d6;border:0;border-radius:9px;justify-self:start;padding:9px 13px;font-weight:700}.register-link-button{color:#6545b4;cursor:pointer;background:#faf8ff;border:1px solid #d8d0ef;border-radius:10px;width:100%;margin-top:12px;padding:11px;font-size:12px;font-weight:800}.register-link-button:hover{background:#f1edff}@media (width<=640px){.registration-shell{padding:12px}.registration-card{border-radius:20px;padding:20px}.registration-heading h1{font-size:28px}.registration-two{grid-template-columns:1fr}.registration-form{gap:14px}}.admin-tool-page{flex-direction:column;gap:18px;display:flex}.tool-intro{background:#fff;border:1px solid #e8e4f2;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.tool-intro h2{margin:4px 0 6px;font-size:25px}.tool-intro p{color:#77738a;margin:0}.audit-summary{text-align:center;color:#6b4bb5;background:#f7f3ff;border-radius:14px;min-width:130px;padding:14px 18px}.audit-summary strong{font-size:25px;display:block}.audit-summary span{font-size:12px}.tool-toolbar{gap:10px;display:flex}.tool-toolbar input,.tool-toolbar select,.settings-grid input,.settings-grid select,.settings-grid textarea{box-sizing:border-box;width:100%;font:inherit;color:#2d2940;background:#fff;border:1px solid #ded9e9;border-radius:11px;padding:11px 13px}.tool-toolbar input{flex:1}.tool-toolbar select{max-width:190px}.audit-list{flex-direction:column;gap:10px;display:flex}.audit-row{background:#fff;border:1px solid #e8e4f2;border-radius:15px;gap:13px;padding:16px 18px;display:flex}.audit-icon{color:#6844b4;background:#eee8ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.audit-main{flex:1;min-width:0}.audit-top{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.audit-top strong{font-size:14px}.audit-top span{color:#6c6678;background:#f3f0f8;border-radius:999px;padding:4px 8px;font-size:11px}.audit-top small{color:#8a8496;margin-left:auto}.audit-main p{color:#383342;margin:7px 0 3px}.audit-main>small{color:#8a8496}.tool-empty{text-align:center;color:#77738a;background:#fff;border:1px dashed #ddd7e8;border-radius:16px;padding:32px 20px}.tool-empty strong,.tool-empty span{display:block}.tool-empty span{margin-top:5px}.tool-note{color:#6e687a;background:#f8f6fc;border-radius:14px;gap:10px;padding:14px 16px;font-size:13px;display:flex}.tool-note strong{color:#4d4659}.success-message{color:#2f7a4a;background:#edf9f1;border:1px solid #cfead8;border-radius:12px;padding:12px 15px}.settings-card{background:#fff;border:1px solid #e8e4f2;border-radius:18px;padding:22px}.settings-section h3,.security-card h3{margin:0 0 4px;font-size:18px}.settings-section>div>p,.security-card p{color:#77738a;margin:0}.settings-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:20px;display:grid}.settings-grid label{color:#514b5e;flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.settings-wide{grid-column:1/-1}.settings-grid textarea{resize:vertical}.settings-footer{border-top:1px solid #eeeaf4;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding-top:17px;display:flex}.settings-footer span{color:#8a8496;font-size:12px}.primary-action{color:#fff;cursor:pointer;background:#6542bd;border:0;border-radius:11px;padding:11px 17px;font-weight:700}.primary-action:disabled{opacity:.6;cursor:not-allowed}.security-card{align-items:flex-start;gap:14px;display:flex}.security-icon{color:#6844b4;background:#eee8ff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.security-card p{margin:6px 0}.security-card strong{color:#5d5768;font-size:12px}.account-card{flex-direction:column;gap:0;display:flex}.account-grid{margin-bottom:14px}.password-toggle{color:#5d5768;cursor:pointer;align-items:center;gap:8px;width:max-content;font-size:13px;display:flex}.password-toggle input{accent-color:#6542bd;width:16px;height:16px}@media (width<=700px){.tool-intro{flex-direction:column;padding:18px}.audit-summary{box-sizing:border-box;width:100%;min-width:0}.tool-toolbar{flex-direction:column}.tool-toolbar select{max-width:none}.audit-top small{width:100%;margin-left:0}.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.settings-footer{flex-direction:column;align-items:stretch}.primary-action{width:100%}}.regulatory-center{max-width:1500px;min-height:100%;margin:0 auto;padding:28px}.regulatory-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.12em;opacity:.62;font-size:11px;font-weight:800}.regulatory-header h1{margin:6px 0 4px;font-size:30px}.regulatory-header p{opacity:.68;margin:0}.watch-status{border:1px solid #00000017;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700;display:flex}.watch-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #16a34a1f}.regulatory-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.summary-card{appearance:none;text-align:left;background:var(--card-background,#fff);cursor:pointer;border:1px solid #00000014;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:17px;display:grid}.summary-card span{grid-row:span 2;font-size:23px}.summary-card strong{font-size:25px;line-height:1}.summary-card small{opacity:.62;margin-top:4px}.regulatory-workspace{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px;display:grid}.regulatory-list-panel,.regulatory-detail-panel{background:var(--card-background,#fff);border:1px solid #00000014;border-radius:16px;overflow:hidden}.list-toolbar{border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;display:flex}.list-toolbar h2{margin:0 0 3px;font-size:17px}.list-toolbar span{opacity:.58;font-size:12px}.toolbar-controls{gap:8px;display:flex}.toolbar-controls input,.toolbar-controls select{background:inherit;border:1px solid #0000001f;border-radius:9px;height:38px;padding:0 11px}.toolbar-controls input{min-width:190px}.regulation-table-wrap{overflow:auto}.regulation-table{border-collapse:collapse;width:100%;font-size:13px}.regulation-table th{text-transform:uppercase;letter-spacing:.06em;opacity:.55;text-align:left;border-bottom:1px solid #00000012;padding:11px 15px;font-size:11px}.regulation-table td{vertical-align:middle;border-bottom:1px solid #0000000e;padding:14px 15px}.regulation-table tbody tr{cursor:pointer}.regulation-table tbody tr:hover,.regulation-table tbody tr.selected{background:#3b82f60b}.regulation-table td:first-child{min-width:270px}.regulation-table td:first-child strong,.regulation-table td:first-child span{display:block}.regulation-table td:first-child span{opacity:.6;margin-top:4px;font-size:12px}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.is-detected{color:#c2410c;background:#fff7ed}.is-review{color:#a16207;background:#fefce8}.is-verified{color:#15803d;background:#f0fdf4}.is-rejected,.is-revoked{color:#b91c1c;background:#fef2f2}.is-superseded{color:#4b5563;background:#f3f4f6}.empty-state{opacity:.6;text-align:center!important;padding:45px!important}.regulatory-detail-panel{min-height:500px}.detail-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:500px;padding:35px;display:flex}.detail-placeholder div{margin-bottom:10px;font-size:34px}.detail-placeholder h3{margin:0 0 7px}.detail-placeholder p{opacity:.6;max-width:290px;font-size:13px;line-height:1.55}.detail-content{padding:22px}.detail-topline{opacity:.7;justify-content:space-between;align-items:center;font-size:12px;display:flex}.detail-content h2{margin:15px 0 7px;font-size:21px;line-height:1.3}.detail-title{opacity:.65;margin:0 0 21px;line-height:1.5}.detail-section{border-top:1px solid #00000012;padding:14px 0}.detail-section h4{text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin:0 0 7px;font-size:12px}.detail-section p{margin:0;font-size:13px;line-height:1.55}.detail-meta{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.detail-meta div{background:#00000006;border-radius:9px;padding:10px}.detail-meta dt{text-transform:uppercase;opacity:.5;font-size:10px}.detail-meta dd{margin:4px 0 0;font-size:12px;font-weight:700}.detail-actions{flex-wrap:wrap;gap:8px;margin-top:17px;display:flex}.detail-actions a,.detail-actions button{font:inherit;cursor:pointer;border:0;border-radius:9px;padding:9px 12px;text-decoration:none}.detail-actions a{color:inherit;background:#0000000f}.primary-action{color:#fff;background:#111827}.secondary-action{color:#374151;background:#f3f4f6}.regulatory-module-mapping{background:var(--card-background,#fff);border:1px solid #00000014;border-radius:16px;padding:20px}.mapping-intro{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.mapping-intro h2{margin:0 0 5px;font-size:19px}.mapping-intro p{opacity:.65;margin:0;font-size:13px;line-height:1.5}.mapping-form{background:#00000005;border:1px solid #00000014;border-radius:12px;grid-template-columns:1fr 1.6fr .8fr 1.5fr auto;align-items:end;gap:10px;padding:16px;display:grid}.mapping-form label{flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.mapping-form input,.mapping-form select{background:var(--card-background,#fff);height:38px;font:inherit;border:1px solid #0000001f;border-radius:9px;padding:0 10px;font-size:13px}.mapping-save{white-space:nowrap;height:38px}.mapping-message{border-radius:9px;margin:12px 0;padding:10px 13px;font-size:13px}.mapping-message.success{color:#22633a;background:#eef8f1;border:1px solid #cfe8d5}.mapping-message.error{color:#9f1d1d;background:#fff2f2;border:1px solid #f0caca}.mapping-grid{grid-template-columns:1fr 1.5fr;gap:16px;margin-top:16px;display:grid}.mapping-card{border:1px solid #00000014;border-radius:12px;overflow:hidden}.mapping-card-head{border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.mapping-card-head h3{margin:0;font-size:15px}.mapping-card-head span{opacity:.55;font-size:12px}.module-status-row,.mapping-row{border-bottom:1px solid #0000000e;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.module-status-row:last-child,.mapping-row:last-child{border-bottom:0}.module-status-row strong,.mapping-row strong{font-size:13px;display:block}.module-status-row small,.mapping-row span,.mapping-row small{opacity:.6;margin-top:4px;font-size:11px;display:block}.mapping-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.mapping-row-actions button{cursor:pointer;border:0;border-radius:7px;padding:6px 8px;font-size:11px}.mapping-empty{text-align:center;opacity:.6;padding:28px;font-size:13px}@media (width<=1100px){.mapping-form{grid-template-columns:1fr 1fr 1fr}.mapping-save{width:max-content}.mapping-grid{grid-template-columns:1fr}}@media (width<=900px){.regulatory-center{padding:18px}.regulatory-cards{grid-template-columns:repeat(2,1fr)}.regulatory-workspace{grid-template-columns:1fr}.regulatory-detail-panel,.detail-placeholder{min-height:350px}.list-toolbar{flex-direction:column;align-items:flex-start}.toolbar-controls{width:100%}.toolbar-controls input{flex:1;min-width:0}.mapping-form{grid-template-columns:1fr 1fr}.mapping-intro{flex-direction:column}}@media (width<=560px){.regulatory-header{flex-direction:column}.regulatory-cards{grid-template-columns:1fr 1fr}.summary-card{padding:13px}.summary-card strong{font-size:21px}.toolbar-controls{flex-direction:column}.toolbar-controls input{width:auto}.regulatory-table{min-width:720px}.mapping-form{grid-template-columns:1fr}.mapping-save{width:100%}.module-status-row,.mapping-row{flex-direction:column;align-items:flex-start}.mapping-row-actions{justify-content:flex-start}}.school-activities-page{color:var(--text-primary,#232333);gap:18px;display:grid}.sa-hero{border:1px solid var(--border,#e4e4ee);background:linear-gradient(130deg,#f7f9ff 0%,#f7fcfb 100%);border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.sa-hero h2{letter-spacing:-.03em;color:#20243c;margin:5px 0 8px;font-size:clamp(22px,3vw,29px);line-height:1.2}.sa-hero p:not(.sa-eyebrow){color:#64677c;max-width:760px;margin:0;font-size:14px;line-height:1.55}.sa-hero-icon{color:#385ecb;background:#e6ecff;border-radius:17px;flex:none;place-items:center;width:56px;height:56px;font-size:35px;font-weight:500;display:grid}.sa-eyebrow{letter-spacing:.13em;color:#5268a2;margin:0;font-size:11px;font-weight:800}.sa-coordinator-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.sa-card{border:1px solid var(--border,#e4e4ee);background:var(--surface,#fff);border-radius:18px;min-width:0;padding:19px;box-shadow:0 3px 14px #23265009}.sa-section-heading{align-items:flex-start;gap:11px;margin-bottom:17px;display:flex}.sa-section-heading h3{color:#25263c;margin:0 0 4px;font-size:17px;line-height:1.3}.sa-section-heading p{color:#797b8b;margin:0;font-size:12.5px;line-height:1.45}.sa-step{color:#3658bc;background:#e9eeff;border-radius:10px;flex:none;place-items:center;width:29px;height:29px;font-size:13px;font-weight:800;display:grid}.sa-form{gap:12px;display:grid}.sa-form label,.sa-team-form label{color:#44465f;gap:6px;font-size:12.5px;font-weight:700;display:grid}.sa-form input,.sa-form select,.sa-form textarea,.sa-team-form input,.sa-team-form select{box-sizing:border-box;color:#27283b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dfe1eb;border-radius:10px;outline:none;padding:10px 11px;font-weight:400}.sa-form input:focus,.sa-form select:focus,.sa-form textarea:focus,.sa-team-form select:focus{border-color:#748be5;box-shadow:0 0 0 3px #5d77dc1f}.sa-form textarea{resize:vertical;line-height:1.45}.sa-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sa-optional{color:#8b8b9c;font-size:11px;font-weight:400}.sa-required{color:#cf4444}.sa-button{min-height:39px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:12.5px;font-weight:750;line-height:1.2;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.sa-button:disabled{opacity:.55;cursor:not-allowed}.sa-button:not(:disabled):active{transform:translateY(1px)}.sa-button-primary{color:#fff;background:#3757c5;border-color:#3757c5}.sa-button-primary:not(:disabled):hover{background:#2948ae}.sa-button-secondary{color:#2d4ba9;background:#eef1ff;border-color:#dce3ff}.sa-button-secondary:not(:disabled):hover{background:#e2e8ff}.sa-button-quiet{color:#5b5e75;background:#fff;border-color:#e2e3eb}.sa-button-quiet:not(:disabled):hover{background:#f7f8fc}.sa-button-danger-outline{color:#b34048;background:#fff;border-color:#f0d0d2}.sa-template-list{border-top:1px solid #eeeef4;gap:7px;margin-top:17px;padding-top:14px;display:grid}.sa-template-list>strong{color:#54566c;margin-bottom:2px;font-size:12px}.sa-template-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e6ef;border-radius:10px;gap:3px;padding:10px 11px;display:grid}.sa-template-option span{color:#30324b;font-size:12.5px;font-weight:750}.sa-template-option small{color:#8b8c9a;font-size:11px;line-height:1.4}.sa-template-option.is-selected{background:#f6f7ff;border-color:#8999e7}.sa-workspace{grid-template-columns:minmax(235px,.72fr) minmax(0,1.7fr);align-items:start;gap:16px;display:grid}.sa-event-list-card{max-height:calc(100vh - 118px);position:sticky;top:96px;overflow:auto}.sa-list-heading{justify-content:space-between;align-items:center;gap:9px;margin-bottom:13px;display:flex}.sa-list-heading h3,.sa-list-heading h4{color:#2f3047;margin:0 0 4px;font-size:15px}.sa-list-heading p{color:#828395;margin:0;font-size:11px}.sa-event-list{gap:8px;display:grid}.sa-event-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7e8f0;border-radius:12px;gap:5px;width:100%;padding:12px;display:grid}.sa-event-option.is-selected{background:#f5f7ff;border-color:#8192e3;box-shadow:inset 3px 0 #4564ce}.sa-event-title{color:#2d3047;font-size:13px;font-weight:800;line-height:1.4}.sa-event-date{color:#77798e;font-size:11px}.sa-status-pill{white-space:normal;border-radius:100px;align-self:flex-start;align-items:center;width:max-content;max-width:100%;padding:4px 8px;font-size:10px;font-weight:800;line-height:1.2;display:inline-flex}.sa-status-draft{color:#606478;background:#f1f2f6}.sa-status-active{color:#267347;background:#e6f6ec}.sa-status-report_pending{color:#98621b;background:#fff2dd}.sa-status-completed{color:#3555b9;background:#e9efff}.sa-status-cancelled{color:#a43f49;background:#fceced}.sa-detail-column{gap:16px;min-width:0;display:grid}.sa-event-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.sa-event-heading h3{letter-spacing:-.02em;color:#272942;margin:5px 0 7px;font-size:21px;line-height:1.25}.sa-event-heading p:not(.sa-eyebrow){color:#77798e;margin:0;font-size:12px;line-height:1.5}.sa-event-description{white-space:pre-wrap;margin-top:8px!important}.sa-action-row{border-top:1px solid #eeeef4;flex-wrap:wrap;gap:8px;margin-top:17px;padding-top:14px;display:flex}.sa-team-section{border-top:1px solid #eeeef4;margin-top:21px;padding-top:19px}.sa-team-form{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.sa-team-form label{font-size:11.5px}.sa-assignment-section{margin-top:18px}.sa-assignment-section .sa-list-heading{margin-bottom:9px}.sa-assignment-list{gap:7px;display:grid}.sa-assignment-row{border:1px solid #e9eaf2;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.sa-assignment-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:2px;display:flex}.sa-assignment-select:disabled{cursor:default}.sa-class-icon{color:#4b63be;background:#f0f3ff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.sa-assignment-select span:last-child{gap:3px;min-width:0;display:grid}.sa-assignment-select strong{overflow-wrap:anywhere;color:#303149;font-size:12.5px}.sa-assignment-select small{color:#808295;font-size:11px}.sa-remove{color:#b0454d;cursor:pointer;background:#fff;border:1px solid #f1d7d9;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:750}.sa-attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.sa-attendance-summary>div{background:#f7f8fc;border-radius:12px;padding:11px}.sa-attendance-summary span{color:#7b7e91;margin-bottom:5px;font-size:11px;display:block}.sa-attendance-summary strong{color:#30334d;font-size:20px;line-height:1.2}.sa-attendance-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:11px;display:flex}.sa-roster-list{gap:7px;display:grid}.sa-roster-row{border:1px solid #e9eaf2;border-radius:11px;grid-template-columns:29px minmax(110px,1fr) minmax(118px,.7fr) minmax(120px,.8fr);align-items:center;gap:9px;padding:8px 9px;display:grid}.sa-roster-number{color:#777a90;background:#f2f3f9;border-radius:8px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:800;display:grid}.sa-roster-student{gap:3px;min-width:0;display:grid}.sa-roster-student strong{color:#34364d;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.sa-roster-student small{color:#898b9b;font-size:10.5px}.sa-roster-row select,.sa-student-note{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#42445b;background:#fff;border:1px solid #e0e2eb;border-radius:8px;padding:8px;font-size:11.5px}.sa-save-attendance{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.sa-save-attendance span,.sa-footnote{color:#8a7180;font-size:11px;line-height:1.5}.sa-footnote{color:#858799;margin:12px 0 0}.sa-report-view{gap:6px;display:grid}.sa-report-view h4{color:#54566b;margin:8px 0 0;font-size:12px}.sa-report-view p{color:#41435a;white-space:pre-wrap;margin:0 0 4px;font-size:13px;line-height:1.65}.sa-alert{border-radius:11px;padding:11px 13px;font-size:12.5px;line-height:1.45}.sa-alert-error{color:#a6323e;background:#fff5f5;border:1px solid #f1d0d3}.sa-alert-success{color:#286c43;background:#f2fbf5;border:1px solid #d3ecdc}.sa-empty,.sa-empty-inline{text-align:center;color:#838598;padding:18px 12px;font-size:12px;line-height:1.5}.sa-empty-inline{border:1px dashed #e1e2eb;border-radius:11px;padding:15px 11px}.sa-muted{color:#898b9b;margin:3px 0;font-size:12px;line-height:1.5}@media (width<=1100px){.sa-workspace{grid-template-columns:minmax(210px,.7fr) minmax(0,1.5fr)}.sa-team-form{grid-template-columns:1fr 1fr}.sa-team-form .sa-button{grid-column:1/-1}.sa-roster-row{grid-template-columns:26px minmax(100px,1fr) minmax(112px,.7fr)}.sa-student-note{grid-column:2/-1}}@media (width<=820px){.sa-coordinator-grid,.sa-workspace{grid-template-columns:1fr}.sa-event-list-card{max-height:unset;position:static}.sa-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-roster-row{grid-template-columns:27px minmax(115px,1fr) minmax(116px,.8fr)}.sa-student-note{grid-column:2/-1}}@media (width<=540px){.school-activities-page{gap:12px}.sa-hero{border-radius:16px;padding:17px}.sa-hero-icon{border-radius:13px;width:43px;height:43px;font-size:26px}.sa-card{border-radius:15px;padding:14px}.sa-form-row,.sa-team-form{grid-template-columns:1fr}.sa-team-form .sa-button{grid-column:auto}.sa-event-list{grid-template-columns:1fr}.sa-event-heading{display:grid}.sa-status-pill{font-size:10px}.sa-roster-row{grid-template-columns:25px minmax(0,1fr) minmax(105px,.7fr);gap:7px;padding:8px}.sa-roster-student strong{font-size:11.5px}.sa-roster-row select{padding:7px 5px;font-size:11px}.sa-student-note{grid-column:2/-1}.sa-attendance-summary{gap:5px}.sa-attendance-summary>div{padding:9px}.sa-attendance-summary span{font-size:10px}.sa-attendance-summary strong{font-size:18px}.sa-save-attendance{flex-direction:column;align-items:stretch}.sa-save-attendance .sa-button{width:100%}}.sa-team-attendance{gap:12px;display:grid}.sa-team-attendance-list{gap:8px;display:grid}.sa-team-attendance-row{border:1px solid #e9eaf2;border-radius:11px;grid-template-columns:minmax(130px,1fr) minmax(130px,.7fr) minmax(140px,.8fr);align-items:center;gap:9px;padding:10px;display:grid}.sa-team-attendance-row select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#42445b;background:#fff;border:1px solid #e0e2eb;border-radius:8px;padding:8px;font-size:11.5px}@media (width<=820px){.sa-team-attendance-row{grid-template-columns:minmax(0,1fr) minmax(125px,.8fr)}.sa-team-attendance-row .sa-student-note{grid-column:1/-1}}@media (width<=540px){.sa-team-attendance-row{grid-template-columns:1fr}.sa-team-attendance-row .sa-student-note{grid-column:auto}}.mbg-page{gap:16px;display:grid}.mbg-hero{border:1px solid var(--line);background:linear-gradient(135deg,#f5fbff,#fff);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.mbg-hero h2{margin:2px 0 6px;font-size:28px}.mbg-hero p{color:var(--muted);margin:0;line-height:1.5}.mbg-session-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mbg-session-actions>button:not(.login-button){border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:42px;padding:9px 14px;font-weight:800}.mbg-live{color:#16804c;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.mbg-live i{background:#22a66b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #dff7e9}.mbg-message{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.mbg-message.success{color:#17683f;background:#effbf4;border-color:#bfe8cf}.mbg-message.duplicate{color:#805f13;background:#fff9eb;border-color:#ecd79d}.mbg-message.error{color:#9a4040;background:#fff7f7;border-color:#efd0d0}.mbg-message span{font-weight:700}.mbg-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;display:grid}.mbg-scanner-card,.mbg-summary-card,.mbg-list-card,.mbg-empty{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.mbg-scanner-card{min-width:0}.mbg-card-heading,.mbg-list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mbg-card-heading h3,.mbg-list-head h3{margin:0 0 4px}.mbg-card-heading p,.mbg-list-head span{color:var(--muted);margin:0;font-size:13px}.mbg-scanner-frame{background:#10131a;border:1px solid #2a2e38;border-radius:14px;min-height:360px;margin-top:14px;position:relative;overflow:hidden}.mbg-scanner-frame video{object-fit:cover;width:100%;height:100%;min-height:360px;display:block}.mbg-scanner-frame>span{color:#fff;white-space:nowrap;background:#0000008c;border-radius:999px;padding:8px 12px;font-size:12px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.mbg-scanner-frame .scan-corner{z-index:2;border-style:solid;border-color:#fff;width:32px;height:32px;position:absolute}.mbg-scanner-frame .tl{border-width:3px 0 0 3px;top:25%;left:28%}.mbg-scanner-frame .tr{border-width:3px 3px 0 0;top:25%;right:28%}.mbg-scanner-frame .bl{border-width:0 0 3px 3px;bottom:25%;left:28%}.mbg-scanner-frame .br{border-width:0 3px 3px 0;bottom:25%;right:28%}.mbg-scanner-frame .scan-line{background:#24b67a;height:2px;position:absolute;top:50%;left:29%;right:29%;box-shadow:0 0 12px #24b67acc}.mbg-camera-error{color:#934747;background:#fff8f8;border-radius:9px;margin-top:10px;padding:10px 12px;font-size:13px}.mbg-fallback{gap:8px;margin-top:12px;display:flex}.mbg-fallback input{border:1px solid var(--line);border-radius:9px;flex:1;min-width:0;min-height:42px;padding:8px 12px;font-size:15px}.mbg-fallback button{min-height:42px;color:var(--purple-dark);background:#fff;border:1px solid #d8d0ef;border-radius:9px;padding:8px 16px;font-weight:800}.mbg-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mbg-stat-grid>div{border:1px solid var(--line);background:#faf9fc;border-radius:12px;padding:14px}.mbg-stat-grid .taken{background:#effbf4;border-color:#bfe8cf}.mbg-stat-grid .pending{background:#fffaf0;border-color:#ecd79d}.mbg-stat-grid small{color:var(--muted);font-size:12px;font-weight:700;display:block}.mbg-stat-grid strong{color:#302a40;margin-top:5px;font-size:28px;display:block}.mbg-progress{background:#ece9f2;border-radius:999px;height:10px;margin-top:16px;overflow:hidden}.mbg-progress span{background:#24a96f;border-radius:999px;height:100%;transition:width .2s;display:block}.mbg-summary-note{color:var(--muted);margin-top:12px;font-size:12px}.mbg-list-card{grid-column:1/-1}.mbg-list-head{margin-bottom:12px}.mbg-list-head input{border:1px solid var(--line);border-radius:9px;width:min(320px,100%);min-height:40px;padding:8px 12px;font-size:15px}.mbg-table-wrap{overflow:auto}.mbg-table-wrap table{border-collapse:collapse;width:100%;min-width:760px}.mbg-table-wrap th,.mbg-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #efedf3;padding:11px 12px;font-size:13px}.mbg-table-wrap th{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#fcfbfe;font-size:11px}.mbg-table-wrap td strong,.mbg-table-wrap td small{display:block}.mbg-table-wrap td small{color:#9a96a4;margin-top:3px}.mbg-status{border-radius:7px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.mbg-status.done{color:#197447;background:#e9f8ef}.mbg-status.pending{color:#866514;background:#fff5dc}.mbg-manual-button{color:var(--purple-dark);cursor:pointer;background:#fff;border:1px solid #d8d0ef;border-radius:8px;padding:7px 9px;font-weight:800}.mbg-empty{text-align:center;place-items:center;gap:10px;padding:40px;display:grid}.mbg-empty strong{font-size:18px}.mbg-empty span{color:var(--muted);font-size:13px}.mbg-modal-backdrop{z-index:1100;background:#14101c73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.mbg-modal{border:1px solid var(--line);background:#fff;border-radius:14px;gap:14px;width:min(460px,100%);padding:20px;display:grid;box-shadow:0 18px 50px #14101c2e}.mbg-modal h3{margin:0}.mbg-modal p{color:var(--muted);margin:0}.mbg-modal label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.mbg-modal textarea{box-sizing:border-box;border:1px solid var(--line);resize:vertical;border-radius:9px;width:100%;padding:9px;font-size:14px}.mbg-modal>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.mbg-modal>div:last-child>button:not(.login-button){border:1px solid var(--line);background:#fff;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:800}@media (width<=800px){.mbg-hero{flex-direction:column;align-items:stretch}.mbg-grid{grid-template-columns:1fr}.mbg-list-card{grid-column:auto}.mbg-scanner-frame,.mbg-scanner-frame video{min-height:300px}.mbg-list-head{flex-direction:column;align-items:stretch}.mbg-list-head input{width:100%}}@media (width<=520px){.mbg-page{gap:12px}.mbg-hero,.mbg-scanner-card,.mbg-summary-card,.mbg-list-card{padding:14px}.mbg-hero h2{font-size:24px}.mbg-scanner-frame,.mbg-scanner-frame video{min-height:250px}.mbg-fallback{flex-direction:column}.mbg-fallback button{width:100%}.mbg-scanner-frame>span{text-overflow:ellipsis;max-width:90%;font-size:10px;overflow:hidden}.mbg-scanner-frame .tl{left:20%}.mbg-scanner-frame .tr{right:20%}.mbg-scanner-frame .bl{left:20%}.mbg-scanner-frame .br{right:20%}.mbg-scanner-frame .scan-line{left:21%;right:21%}}.mbg-page,.mbg-grid,.mbg-scanner-card,.mbg-scanner-frame{box-sizing:border-box;min-width:0;max-width:100%}.mbg-scanner-card{width:100%;overflow:hidden}.mbg-scanner-frame{box-sizing:border-box;isolation:isolate;width:100%;max-width:100%}.mbg-scanner-frame video{object-fit:cover;width:100%;min-width:0;max-width:100%;height:100%;display:block}.mbg-scanner-frame>span{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;text-align:center;width:min(92%,420px);max-width:92%;line-height:1.35;left:50%;right:auto;transform:translate(-50%)}@media (width<=520px){.mbg-page,.mbg-grid,.mbg-scanner-card{width:100%;min-width:0;max-width:100%}.mbg-scanner-card{padding:14px}.mbg-scanner-frame{aspect-ratio:4/3;width:100%;max-width:100%;height:auto;min-height:250px}.mbg-scanner-frame video{object-fit:cover;width:100%;max-width:100%;height:100%;min-height:0}.mbg-scanner-frame>span{white-space:normal;text-overflow:clip;width:calc(100% - 24px);max-width:calc(100% - 24px);padding:7px 10px;font-size:10px;bottom:12px;overflow:visible}}@media (orientation:landscape) and (width<=900px){.mbg-scanner-frame{aspect-ratio:16/9;min-height:220px;max-height:55vh}.mbg-scanner-frame video{height:100%;min-height:0}}@media (width<=800px){.mbg-page,.mbg-grid,.mbg-scanner-card,.mbg-summary-card,.mbg-list-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.mbg-grid{overflow:hidden;display:block!important}.mbg-scanner-card,.mbg-summary-card,.mbg-list-card{margin:0 0 16px;overflow:hidden}.mbg-scanner-frame{max-height:55vh;position:relative;aspect-ratio:auto!important;width:100%!important;max-width:100%!important;height:300px!important;min-height:0!important;overflow:hidden!important}.mbg-scanner-frame video{object-fit:cover;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important}.mbg-scanner-frame>span{overflow-wrap:anywhere;text-align:center;box-sizing:border-box!important;white-space:normal!important;text-overflow:clip!important;width:auto!important;max-width:none!important;bottom:12px!important;left:12px!important;right:12px!important;overflow:visible!important;transform:none!important}.mbg-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important;max-width:100%!important}.mbg-stat-grid>div{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.mbg-fallback{width:100%;min-width:0;max-width:100%}.mbg-fallback input,.mbg-fallback button{box-sizing:border-box;min-width:0;max-width:100%}.mbg-list-head,.mbg-list-head>div,.mbg-list-head input{min-width:0;max-width:100%}}@media (width<=520px){.mbg-scanner-frame{max-height:60vh;height:280px!important}.mbg-scanner-frame>span{padding:7px 10px;font-size:10px;line-height:1.35}.mbg-summary-card{padding:14px!important}.mbg-stat-grid{gap:8px}.mbg-stat-grid>div{padding:12px}.mbg-stat-grid strong{font-size:26px}}@media (orientation:landscape) and (width<=900px){.mbg-scanner-frame{max-height:300px;height:min(55vh,300px)!important}}.tahfidz-class-picker{position:relative}.tahfidz-class-trigger{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.tahfidz-class-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tahfidz-class-options{z-index:40;background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:14px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #00000024}.tahfidz-class-option{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 10px;display:flex}.tahfidz-class-option:hover{background:#505a7814}.tahfidz-class-option input{flex:none;width:18px;height:18px}.tahfidz-class-option-all{border-bottom:1px solid var(--line,#ddd);margin-bottom:4px}.tahfidz-class-actions{justify-content:space-between;gap:8px;padding:8px 4px 4px;display:flex}.tahfidz-class-actions button{padding:7px 10px;font-size:12px}.tahfidz-page{gap:16px;display:grid}.tahfidz-hero,.tahfidz-start,.tahfidz-scanner,.tahfidz-list{border:1px solid var(--line);background:#fff;border-radius:14px}.tahfidz-hero{justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.tahfidz-hero h2,.tahfidz-start h3,.tahfidz-heading h3{margin:0 0 5px}.tahfidz-hero p{color:var(--muted);margin:0;font-size:13px}.tahfidz-hero button,.tahfidz-list button,.tahfidz-scanner form button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:9px 13px;font-weight:800}.tahfidz-hero button.primary,.tahfidz-actions .primary{background:var(--purple-dark);color:#fff;border-color:var(--purple-dark)}.tahfidz-error,.tahfidz-message{border-radius:9px;padding:12px 16px;font-size:13px}.tahfidz-error{color:#a04a4a;background:#fff7f7;border:1px solid #edd4d4}.tahfidz-message{color:#28734e;background:#f2fff7;border:1px solid #c8ead8}.tahfidz-start{padding:20px}.tahfidz-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.tahfidz-form label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.tahfidz-form input,.tahfidz-form select,.tahfidz-form textarea,.tahfidz-scanner form input,.tahfidz-list-head input{box-sizing:border-box;border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px;font-size:15px}.tahfidz-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:16px;display:grid}.tahfidz-scanner,.tahfidz-list{padding:16px}.tahfidz-heading,.tahfidz-list-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tahfidz-heading span,.tahfidz-list-head span{color:var(--muted);font-size:12px}.tahfidz-heading b{color:#27875a;font-size:11px}.tahfidz-camera{aspect-ratio:4/3;color:#fff;background:#15131b;border-radius:12px;place-items:center;font-size:12px;display:grid;position:relative;overflow:hidden}.tahfidz-camera video{object-fit:cover;width:100%;height:100%}.tahfidz-camera span{text-align:center;background:#0008;border-radius:7px;padding:6px;position:absolute;bottom:10px;left:10px;right:10px}.tahfidz-scanner>small{color:#9a5b25;margin-top:8px;display:block}.tahfidz-scanner form{gap:7px;margin-top:10px;display:flex}.tahfidz-scanner form input{flex:1}.tahfidz-table-wrap{overflow:auto}.tahfidz-table-wrap table{border-collapse:collapse;width:100%}.tahfidz-table-wrap th,.tahfidz-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0eef4;padding:10px;font-size:13px}.tahfidz-table-wrap th{color:var(--muted);text-transform:uppercase;font-size:11px}.tahfidz-table-wrap td strong,.tahfidz-table-wrap td small{display:block}.tahfidz-table-wrap td small{color:#aaa5b2;margin-top:3px;font-size:11px}.tahfidz-table-wrap .ok{color:#27875a;font-weight:800}.tahfidz-modal-backdrop{z-index:1200;background:#18131f73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.tahfidz-modal{background:#fff;border-radius:14px;width:min(560px,100%);max-height:90vh;padding:20px;overflow:auto}.tahfidz-modal p{color:var(--muted);font-size:13px}.tahfidz-modal .tahfidz-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tahfidz-modal .tahfidz-form label:last-child{grid-column:1/-1}.tahfidz-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.tahfidz-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 13px;font-weight:800}@media (width<=800px){.tahfidz-grid{grid-template-columns:1fr}.tahfidz-form{grid-template-columns:1fr 1fr}.tahfidz-hero{flex-direction:column;align-items:stretch}.tahfidz-hero button{width:100%}}@media (width<=520px){.tahfidz-form,.tahfidz-modal .tahfidz-form{grid-template-columns:1fr}.tahfidz-modal .tahfidz-form label:last-child{grid-column:auto}.tahfidz-list-head{flex-direction:column;align-items:stretch}.tahfidz-list-head input{width:100%}}.tahfidz-page,.tahfidz-page>*,.tahfidz-grid,.tahfidz-scanner,.tahfidz-list,.tahfidz-hero,.tahfidz-start{box-sizing:border-box;min-width:0;max-width:100%}.tahfidz-camera{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.tahfidz-camera video{width:100%;min-width:0;max-width:100%;display:block}.tahfidz-scanner form,.tahfidz-list-head{box-sizing:border-box;min-width:0;max-width:100%}@media (width<=800px){.tahfidz-page{width:100%;overflow-x:hidden}.tahfidz-grid,.tahfidz-scanner,.tahfidz-list{width:100%}}@media (width<=520px){.tahfidz-page{gap:12px;width:100%}.tahfidz-hero,.tahfidz-scanner,.tahfidz-list,.tahfidz-start{padding-left:14px;padding-right:14px}}.panitia-ujian-page{gap:16px;display:grid}.panitia-hero,.panitia-card{background:var(--surface,#fff);border:1px solid #4a37751f;border-radius:20px;box-shadow:0 8px 24px #22193e0f}.panitia-hero{justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.panitia-hero h2{margin:4px 0 8px}.panitia-hero p:not(.eyebrow){color:#686274;max-width:760px;margin:0;line-height:1.55}.panitia-badge,.panitia-count{color:#6044a5;white-space:nowrap;background:#f0ebff;border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.panitia-alert{border-radius:12px;padding:12px 14px;font-size:13px}.panitia-alert.error{color:#a52c2c;background:#fff0f0}.panitia-alert.success{color:#23764a;background:#edf9f2}.panitia-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;display:grid}.panitia-card{padding:20px}.panitia-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panitia-card-heading h3{margin:4px 0 0}.panitia-form{gap:12px;display:grid}.panitia-form label{color:#4d4858;gap:6px;font-size:13px;font-weight:700;display:grid}.panitia-form input,.panitia-form select,.panitia-form textarea{box-sizing:border-box;color:#292532;width:100%;font:inherit;background:#fff;border:1px solid #ddd8e8;border-radius:11px;padding:11px 12px;font-weight:500}.panitia-form input:focus,.panitia-form select:focus,.panitia-form textarea:focus{border-color:#8a70c5;outline:2px solid #6449ae29}.panitia-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.panitia-primary{color:#fff;cursor:pointer;background:#6547a8;border:0;border-radius:11px;padding:12px 15px;font-weight:800}.panitia-primary:disabled{opacity:.6;cursor:default}.panitia-list{gap:10px;display:grid}.panitia-item{border:1px solid #e7e2ee;border-radius:14px;gap:10px;padding:13px;display:grid}.panitia-item-main{gap:4px;display:grid}.panitia-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.panitia-item-main>span,.panitia-item-main>small{color:#716b7b;font-size:12px}.panitia-status{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.status-draft{color:#6b6475;background:#f2eff6}.status-active{color:#287b50;background:#eaf8f0}.status-completed{color:#3c6391;background:#e9f1fb}.status-cancelled{color:#9a3b3b;background:#fff0f0}.panitia-item-actions{flex-wrap:wrap;gap:7px;display:flex}.panitia-item-actions button,.panitia-card-heading button{cursor:pointer;background:#fff;border:1px solid #ddd8e8;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:700}.panitia-item-actions .danger{color:#a33b3b}.panitia-empty{color:#756f7f;gap:5px;padding:24px 8px;font-size:13px;display:grid}.panitia-roadmap{gap:16px;display:grid}.panitia-roadmap h3{margin:4px 0}.panitia-roadmap p{color:#716b7b;margin:0;line-height:1.55}.panitia-roadmap-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.panitia-roadmap-grid span{color:#554b67;background:#f7f4fb;border-radius:10px;padding:11px;font-size:12px;font-weight:700}@media (width<=800px){.panitia-layout{grid-template-columns:1fr}.panitia-hero{display:block}.panitia-badge{margin-top:12px}.panitia-roadmap-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.panitia-hero,.panitia-card{border-radius:16px;padding:16px}.panitia-form-grid,.panitia-roadmap-grid{grid-template-columns:1fr}.panitia-item-top{display:grid}.panitia-item-actions button{flex:auto}.panitia-hero h2{font-size:22px}}.participant-tools{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.participant-tools button{cursor:pointer;background:#fff;border:1px solid #d6dce8;border-radius:10px;padding:10px 14px;font-weight:700}.participant-tools .panitia-primary{border:0}.panitia-alert.info{color:#334155;background:#f5f8ff;border:1px solid #dbe5f5}.panitia-participant-table{margin-top:14px;overflow:auto}.panitia-participant-table table{border-collapse:collapse;width:100%;min-width:900px}.panitia-participant-table th,.panitia-participant-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e8ebf1;padding:9px 10px}.panitia-participant-table th{text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.panitia-item.selected{outline:2px solid #2563eb2e}@media (width<=640px){.participant-tools{grid-template-columns:1fr;display:grid}.participant-tools button{width:100%}.panitia-participant-table{margin-left:-8px;margin-right:-8px}}.participant-download-button{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;width:auto;min-height:44px;padding:11px 15px;font-weight:800;color:#fff!important;visibility:visible!important;opacity:1!important;background:#6547a8!important;border:1px solid #6547a8!important;display:flex!important}.participant-download-button:hover{filter:brightness(.96)}@media (width<=640px){.participant-download-button{width:100%;display:flex!important}}.schedule-submit-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.schedule-submit-button{width:100%;min-height:46px;font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;padding:12px 16px;font-weight:800;color:#fff!important;visibility:visible!important;opacity:1!important;background:#6547a8!important;border:0!important;display:flex!important}.schedule-submit-button:disabled{cursor:default;opacity:.6!important}.schedule-cancel-button{min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d6dce8;border-radius:11px;padding:12px 16px;font-weight:700}.room-desk-grid{background:#f7f4fb;border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:12px;display:grid}.room-desk-grid span{text-align:center;color:#554b67;background:#fff;border:1px solid #e4deef;border-radius:9px;padding:8px 6px;font-size:11px;font-weight:700}@media (width<=520px){.room-desk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.placement-summary{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.placement-summary span{color:#5b5367;background:#f5f2fa;border-radius:10px;padding:9px 12px;font-size:13px}.placement-rooms{gap:9px;margin:14px 0;display:grid}.placement-room{cursor:pointer;background:#fff;border:1px solid #e1dce9;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.placement-room.selected{background:#faf8ff;border-color:#7655b8}.placement-room input{width:18px;height:18px;margin-top:3px}.placement-room div{gap:3px;display:grid}.placement-room span,.placement-room small{color:#6d6875;font-size:12px}.placement-capacity{color:#686171;border:1px solid #e1dce9;border-radius:11px;justify-content:center;align-items:center;padding:12px;display:flex}.placement-preview{gap:6px;max-height:420px;margin-top:14px;display:grid;overflow:auto}.placement-row{border:1px solid #ece8f0;border-radius:10px;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.placement-row>div{display:grid}.placement-row small{color:#777;font-size:12px}.placement-no{font-weight:800}.placement-row>span:last-child{color:#5e5669;font-size:12px;font-weight:700}@media (width<=520px){.placement-summary span{flex:100%}.placement-row{grid-template-columns:52px 1fr}.placement-row>span:last-child{grid-column:2}}@media (width<=680px){.panitia-participant-table{width:100%!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}.panitia-participant-table table,.panitia-participant-table tbody,.panitia-participant-table tr,.panitia-participant-table td{box-sizing:border-box;width:100%!important;min-width:0!important;display:block!important}.panitia-participant-table thead{display:none!important}.panitia-participant-table tbody tr{box-shadow:0 6px 18px #22193e0a;background:#fff!important;border:1px solid #e7e2ee!important;border-radius:16px!important;margin:0 0 14px!important;padding:16px!important}.panitia-participant-table tbody td{white-space:normal!important;color:#595465!important;border:0!important;border-bottom:1px solid #efedf3!important;margin:0!important;padding:0 0 10px!important;font-size:13px!important;line-height:1.45!important}.panitia-participant-table tbody td+td{padding-top:10px!important}.panitia-participant-table tbody td:before{color:#8b8693!important;letter-spacing:.7px!important;width:auto!important;min-width:0!important;margin:0 0 5px!important;font-size:9px!important;font-weight:800!important;line-height:1.2!important;display:block!important;position:static!important}.panitia-participant-table tbody td:first-child:before{content:"NO. UJIAN"!important}.panitia-participant-table tbody td:nth-child(2):before{content:"NAMA"!important}.panitia-participant-table tbody td:nth-child(3):before{content:"NISN"!important}.panitia-participant-table tbody td:nth-child(4):before{content:"NIS"!important}.panitia-participant-table tbody td:nth-child(5):before{content:"KELAS"!important}.panitia-participant-table tbody td:nth-child(6):before{content:"RUANG"!important}.panitia-participant-table tbody td:nth-child(7):before{content:"MEJA"!important}.panitia-participant-table tbody td:nth-child(8):before{content:"MATA UJIAN"!important}.panitia-participant-table tbody td:nth-child(9):before{content:"SESI"!important}.panitia-participant-table tbody td:first-child strong{color:#292532!important;font-size:16px!important;font-weight:800!important;display:block!important}.panitia-participant-table tbody td:last-child{border-bottom:0!important;padding-bottom:0!important}}.participant-list-window{background:#fbfafc;border:1px solid #e3deea;border-radius:16px;margin-top:14px;overflow:hidden}.participant-list-toolbar{background:#fff;border-bottom:1px solid #e7e2ed;align-items:center;gap:10px;padding:12px;display:flex}.participant-list-toolbar input{min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #dcd6e5;border-radius:11px;outline:none;flex:1;padding:10px 13px;font-size:13px}.participant-list-toolbar input:focus{border-color:#7655b8;box-shadow:0 0 0 3px #7655b81f}.participant-list-toolbar span{white-space:nowrap;color:#777180;font-size:11px;font-weight:700}.participant-list-window .panitia-participant-table{border:0;border-radius:0;max-height:560px;overflow:auto}.participant-list-window .panitia-participant-table thead th{z-index:2;background:#f8f5fc;position:sticky;top:0;box-shadow:0 1px #e6e0ec}.participant-search-empty{text-align:center;color:#777180;padding:24px;font-size:13px}@media (width<=680px){.participant-list-toolbar{gap:8px;padding:10px;display:grid}.participant-list-toolbar input{width:100%;min-height:46px}.participant-list-toolbar span{padding:0 3px}.participant-list-window .panitia-participant-table{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:540px;overflow-y:auto}.participant-list-window .panitia-participant-table tbody tr{margin-bottom:10px}}.placement-preview-title{letter-spacing:.5px;text-transform:uppercase;color:#777080;margin:4px 0 8px;font-size:12px;font-weight:800}.placement-desk-card{background:#fff;border:1px solid #e6e1eb;border-radius:12px;padding:10px 12px}.placement-desk-heading{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.placement-desk-heading span{color:#7655b8;font-size:12px;font-weight:800}.placement-student{border-top:1px solid #efedf2;align-items:center;gap:10px;padding:8px 0;display:flex}.placement-student .placement-no{min-width:64px;font-size:12px}.placement-student div{display:grid}.placement-student small{color:#777180;font-size:11px}.placement-student strong{font-size:13px}.room-list-window{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fbfafc;border:1px solid #e6e1eb;border-radius:14px;max-height:58vh;padding:10px;overflow:hidden auto}.room-list-window .panitia-list{margin-top:0!important}.room-list-window::-webkit-scrollbar{width:7px}.placement-rooms-window::-webkit-scrollbar{width:7px}.participant-list-window .panitia-participant-table::-webkit-scrollbar{width:7px}.room-list-window::-webkit-scrollbar-thumb{background:#c9c1d7;border-radius:99px}.placement-rooms-window::-webkit-scrollbar-thumb{background:#c9c1d7;border-radius:99px}.participant-list-window .panitia-participant-table::-webkit-scrollbar-thumb{background:#c9c1d7;border-radius:99px}.placement-rooms-window{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fbfafc;border:1px solid #e6e1eb;border-radius:14px;max-height:52vh;padding:10px;overflow:hidden auto}.placement-rooms-window .placement-rooms{margin:0}.participant-list-window{height:60vh;min-height:320px;max-height:600px}.participant-list-window .panitia-participant-table{height:calc(60vh - 78px);min-height:240px;max-height:none}@media (width<=680px){.room-list-window{height:52vh;min-height:280px;max-height:520px;padding:8px}.placement-rooms-window{height:44vh;min-height:240px;max-height:460px;padding:8px}.participant-list-window{height:58vh;min-height:360px;max-height:560px}.participant-list-window .panitia-participant-table{height:calc(58vh - 82px);min-height:280px;max-height:none}.participant-list-window{height:65vh!important;min-height:360px!important;max-height:600px!important;overflow:hidden!important}.participant-list-window .panitia-participant-table{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;height:calc(65vh - 88px)!important;min-height:260px!important;max-height:none!important;overflow:hidden scroll!important}.participant-list-window .panitia-participant-table table{height:auto!important}.participant-list-window .panitia-participant-table tbody{height:auto!important;min-height:0!important}}.placement-controls{margin-top:14px}.panitia-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.panitia-form-grid>label{color:#625b6e;letter-spacing:.15px;background:linear-gradient(#fff 0%,#faf8fd 100%);border:1px solid #e3ddea;border-radius:14px;gap:7px;min-width:0;padding:12px 13px 13px;font-size:12px;font-weight:800;display:grid;position:relative;box-shadow:0 2px 8px #2d20480a}.panitia-form-grid>label select{box-sizing:border-box;color:#292532;width:100%;min-height:44px;font:inherit;cursor:pointer;appearance:auto;background:#fff;border:1px solid #d8d1e3;border-radius:11px;outline:none;padding:9px 38px 9px 12px;font-size:14px;font-weight:700}.panitia-form-grid>label select:focus{border-color:#7655b8;box-shadow:0 0 0 3px #7655b81f}.panitia-capacity,.placement-capacity{box-sizing:border-box;color:#756d80;text-align:center;background:#f7f4fb;border:1px solid #e1d9ec;border-radius:14px;justify-content:center;align-items:center;min-height:70px;padding:12px 14px;font-size:13px;line-height:1.35;display:flex}.placement-capacity strong{color:#5f439f;margin-left:4px;font-size:18px}@media (width<=520px){.panitia-form-grid{grid-template-columns:1fr;gap:10px}.panitia-form-grid>label{padding:11px 12px 12px}.panitia-form-grid>label select{min-height:46px;font-size:15px}.placement-capacity{min-height:52px}}.participant-cards-section p:not(.eyebrow){color:#716b7b;margin:5px 0 0;font-size:13px;line-height:1.5}.participant-card-actions{background:#faf8fd;border:1px solid #e4deeb;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.participant-card-actions>div{color:#655d70;font-size:13px}.participant-card-actions strong{color:#6044a5;font-size:18px}.participant-card-actions .schedule-submit-button{width:auto;min-width:270px}.participant-card-spec{color:#655c72;text-align:center;background:#f3eff9;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:11px;font-weight:700}.participant-card-preview{background:#f8f6fb;border:1px dashed #d9d1e4;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px;display:grid}.participant-card-preview-item{box-sizing:border-box;background:#fff;border:1px solid #8f8799;border-radius:8px;min-height:165px;padding:13px;position:relative;overflow:hidden;box-shadow:0 3px 10px #281e3a0f}.participant-card-preview-item>img{object-fit:contain;width:34px;height:34px;position:absolute;top:12px;left:12px}.participant-card-preview-head{border-bottom:1px solid #e6e1e9;gap:2px;min-height:38px;padding-bottom:7px;padding-left:45px;display:grid}.participant-card-preview-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.participant-card-preview-head span{color:#6044a5;font-size:9px;font-weight:800}.participant-card-preview-main{border-bottom:1px solid #eeeaf1;grid-template-columns:34% 1fr;gap:8px;padding:9px 0;display:grid}.participant-card-preview-main div,.participant-card-preview-meta span{gap:2px;display:grid}.participant-card-preview small,.participant-card-preview-meta span{color:#777080;font-size:8px;font-weight:700}.participant-card-preview-main b{font-size:12px;line-height:1.15}.participant-card-preview-meta{grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:8px;display:grid}.participant-card-preview-meta b{color:#2d2835;font-size:10px}.participant-card-preview-note{text-align:center;color:#716b7b;margin:10px 0 0;font-size:12px}@media (width<=700px){.participant-card-actions{display:grid}.participant-card-actions .schedule-submit-button{width:100%;min-width:0}.participant-card-preview{grid-template-columns:1fr}.participant-card-preview-item{min-height:175px}}.participant-card-preview-head em{color:#51495f;white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;font-style:normal;font-weight:800;overflow:hidden}.participant-card-preview-head{line-height:1.2;gap:4px!important;min-height:50px!important;padding-bottom:9px!important}.participant-card-preview-head strong{font-size:10px!important}.participant-card-preview-head em{font-size:8.5px!important;line-height:1.25!important}.participant-card-preview-head span{font-size:9px!important;line-height:1.2!important}.participant-card-preview-item{position:relative}.participant-card-preview-qr{background:#fff;border:1px solid #ddd8e8;border-radius:5px;justify-content:center;align-items:center;width:62px;height:62px;padding:2px;display:flex;position:absolute;top:10px;right:10px}.participant-card-preview-qr canvas{display:block;width:58px!important;height:58px!important}.participant-card-preview-head{padding-right:72px!important}.desk-cards-section p:not(.eyebrow){color:#716b7b;margin:5px 0 0;font-size:13px;line-height:1.5}.desk-card-preview{background:#f8f6fb;border:1px dashed #d9d1e4;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px;display:grid}.desk-card-preview-item{aspect-ratio:85.6/53.98;box-sizing:border-box;text-align:center;background:#fff;border:1px solid #8f8799;border-radius:8px;padding:12px;position:relative;overflow:hidden;box-shadow:0 3px 10px #281e3a0f}.desk-card-preview-item>img{object-fit:contain;width:42px;height:42px;position:absolute;top:15px;left:15px}.desk-card-preview-head{border-bottom:1px solid #e6e1e9;gap:3px;padding:0 46px 11px;display:grid}.desk-card-preview-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.desk-card-preview-head em{color:#51495f;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:normal;font-weight:800;overflow:hidden}.desk-card-preview-head span{color:#6044a5;font-size:10px;font-weight:800}.desk-card-preview-room{color:#403947;margin-top:14px;font-size:14px;font-weight:800}.desk-card-preview-number{color:#6044a5;margin:12px 0;font-size:32px;font-weight:900;line-height:1}.desk-card-preview-students{text-align:left;gap:6px;margin-top:12px;display:grid}.desk-card-preview-students>div{background:#f7f4fb;border-radius:8px;grid-template-columns:54px 1fr auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.desk-card-preview-students b{color:#6044a5;font-size:10px}.desk-card-preview-students span{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;overflow:hidden}.desk-card-preview-students small{color:#777180;font-size:9px}@media (width<=700px){.desk-card-preview{grid-template-columns:1fr}.desk-card-preview-item{aspect-ratio:85.6/53.98}}.invigilator-controls,.invigilator-generate{background:#faf9fc;border:1px solid #e3ddec;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px 16px;display:flex}.invigilator-controls div,.invigilator-generate div{gap:3px;display:grid}.invigilator-controls span,.invigilator-generate span{color:#777080;font-size:12px;line-height:1.45}.invigilator-controls select{min-width:150px}.invigilator-pool{border:1px solid #e3ddec;border-radius:12px;margin-top:14px;padding:14px}.invigilator-pool-head,.invigilator-results-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.invigilator-pool-head div{gap:3px;display:grid}.invigilator-pool-head span,.invigilator-results-head span{color:#777080;font-size:12px}.invigilator-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.invigilator-teacher-option{cursor:pointer;background:#fff;border:1px solid #e5e0ea;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 11px;display:flex}.invigilator-teacher-option:has(input:checked){background:#f7f3fc;border-color:#7657b7}.invigilator-teacher-option input{margin-top:3px}.invigilator-teacher-option span{gap:2px;display:grid}.invigilator-teacher-option small{color:#7b7482;font-size:11px}.invigilator-load{background:#f7f5fa;border-radius:12px;margin-top:14px;padding:13px 15px}.invigilator-load>strong{margin-bottom:9px;display:block}.invigilator-load>div{flex-wrap:wrap;gap:7px;display:flex}.invigilator-load span{background:#fff;border:1px solid #e2dce9;border-radius:999px;padding:6px 9px;font-size:11px}.invigilator-load b{color:#6547a6}.invigilator-results{margin-top:18px}.invigilator-results-head{margin-bottom:10px}.invigilator-day{border:1px solid #e3ddec;border-radius:12px;margin-top:10px;overflow:hidden}.invigilator-day-head{background:#f7f4fb;border-bottom:1px solid #e3ddec;justify-content:space-between;gap:10px;padding:11px 13px;display:flex}.invigilator-day-head span{color:#665f70;font-size:12px}.invigilator-room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px;display:grid}.invigilator-room{background:#fff;border:1px solid #e5e0ea;border-radius:9px;padding:10px}.invigilator-room>strong{margin-bottom:7px;font-size:12px;display:block}.invigilator-room>div{grid-template-columns:70px 1fr;gap:7px;margin-top:5px;font-size:11px;display:grid}.invigilator-room>div span{color:#7b7482}.invigilator-room>div b{font-weight:700}@media (width<=800px){.invigilator-teacher-grid,.invigilator-room-grid{grid-template-columns:1fr}.invigilator-controls,.invigilator-generate{flex-direction:column;align-items:stretch}.invigilator-controls select,.invigilator-generate button{width:100%}}.panitia-committee-workspace{margin-top:18px}.panitia-selected-head{background:#fff;border:1px solid #e4ddec;border-radius:14px;align-items:flex-start;gap:16px;margin-bottom:14px;padding:16px 18px;display:flex}.panitia-selected-head>div{flex:1}.panitia-selected-head h3{margin:2px 0 4px}.panitia-selected-head span{color:#766f80;font-size:12px}.panitia-module-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.panitia-module-choice{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3ddec;border-radius:14px;grid-template-columns:46px 1fr 22px;align-items:center;gap:12px;padding:15px 16px;transition:all .15s;display:grid}.panitia-module-choice:hover{border-color:#8a70bd;transform:translateY(-1px);box-shadow:0 5px 16px #37235514}.panitia-module-choice>span{background:#f2edf9;border-radius:11px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.panitia-module-choice>div{gap:4px;min-width:0;display:grid}.panitia-module-choice strong{font-size:14px}.panitia-module-choice small{color:#777080;font-size:11px;line-height:1.4}.panitia-module-choice>b{color:#7a62a8;text-align:right;font-size:24px}@media (width<=720px){.panitia-module-launcher{grid-template-columns:1fr}.panitia-selected-head{display:block}.panitia-selected-head .module-back{margin-bottom:12px}}.minutes-toolbar{background:#faf9fc;border:1px solid #e3ddec;border-radius:14px;grid-template-columns:1.5fr 1fr auto auto;align-items:end;gap:10px;margin-top:14px;padding:14px;display:grid}.minutes-toolbar label{color:#756e7d;gap:5px;font-size:11px;display:grid}.minutes-toolbar select{min-height:40px}.minutes-toolbar button{cursor:pointer;background:#fff;border:1px solid #ddd5e7;border-radius:9px;min-height:40px;padding:0 14px;font-weight:700}.minutes-toolbar button:first-of-type{color:#fff;background:#7657b7;border-color:#7657b7}.minutes-sheet{background:#fff;border:1px solid #ddd7e4;border-radius:14px;margin-top:16px;padding:24px}.minutes-page{width:100%}.minutes-head{text-align:center;border-bottom:1px solid #333;gap:4px;padding-bottom:16px;display:grid}.minutes-head strong{font-size:16px}.minutes-head span{font-size:14px;font-weight:800}.minutes-head small{font-size:11px}.minutes-meta{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.minutes-meta span{border:1px solid #e5e0e9;border-radius:8px;padding:9px 10px;font-size:11px}.minutes-meta b{color:#777080;margin-bottom:3px;display:block}.minutes-table{border-collapse:collapse;width:100%;font-size:11px}.minutes-table th,.minutes-table td{text-align:left;border:1px solid #d8d2df;padding:7px 8px}.minutes-table th{background:#f5f2f8}.minutes-table td:first-child,.minutes-table td:nth-child(2){text-align:center}.minutes-table select{min-height:30px}.minutes-signatures{grid-template-columns:1fr 1fr;gap:90px;margin-top:28px;display:grid}.minutes-signatures>div{text-align:center;align-content:start;gap:5px;min-height:105px;display:grid}.minutes-signatures p{margin:0;font-weight:700}.minutes-signatures strong{margin-top:48px}.minutes-signatures span{color:#777080;font-size:10px}@media (width<=850px){.minutes-toolbar,.minutes-meta{grid-template-columns:1fr 1fr}}@media (width<=560px){.minutes-toolbar,.minutes-meta{grid-template-columns:1fr}.minutes-sheet{padding:14px;overflow-x:auto}.minutes-table{min-width:620px}.minutes-signatures{gap:20px}}@media print{html,body{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body *{visibility:hidden!important}.panitia-ujian-page{visibility:visible!important;width:100%!important;position:static!important}.panitia-ujian-page>*{display:none!important}.panitia-ujian-page .panitia-committee-workspace{visibility:visible!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.panitia-ujian-page .panitia-committee-workspace>*{display:none!important}.panitia-ujian-page .panitia-committee-workspace .minutes-module{visibility:visible!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.minutes-module *{visibility:visible!important}.minutes-sheet{border:0;border-radius:0;box-sizing:border-box!important;width:100%!important;margin:0!important;padding:0!important;position:static!important;top:auto!important;left:auto!important}.no-print,.minutes-toolbar,.panitia-selected-head{display:none!important}@page{size:A4 portrait;margin:0}}.print-attendance{display:none}@media print{.screen-attendance{display:none!important}.print-attendance{display:inline!important}}.official-letterhead{text-align:center;border-bottom:2px solid #222;justify-content:center;align-items:center;min-height:62px;padding:0 70px 12px;display:flex;position:relative}.official-letterhead img{object-fit:contain;width:58px;height:58px;position:absolute;top:0;left:0}.official-letterhead div{gap:3px;display:grid}.official-letterhead strong{font-size:17px}.official-letterhead span{color:#555;font-size:10px}.minutes-opening{text-align:justify;padding:18px 4px 10px;font-size:12px;line-height:1.65}.minutes-opening h1{text-align:center;margin:0 0 18px;font-size:15px;text-decoration:underline}.minutes-opening p{text-indent:28px;margin:0 0 10px}.attendance-section{margin-top:16px}.attendance-section h2{text-align:center;margin:0 0 12px;font-size:14px}.attendance-meta{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px;display:grid}.attendance-meta span{border:1px solid #ddd7e4;border-radius:6px;padding:6px 8px;font-size:10px}.attendance-meta b{color:#777080;margin-bottom:2px;display:block}.signature-cell{min-height:24px;display:block}.screen-only{display:inline}.print-only{display:none}@media print{.screen-only{display:none!important}.print-only{display:inline!important}.minutes-opening{padding:1px 2px;font-size:7.2pt;line-height:1.15}.minutes-opening h1{margin:5px 0 10px;padding-bottom:2px;font-size:10pt;line-height:1.15}.minutes-opening p{text-indent:12px;margin:0 0 2px}.minutes-sheet{background:#fff;border:0;border-radius:0;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.minutes-page{box-sizing:border-box;position:relative;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0 2.5cm 1.5cm!important;overflow:visible!important}.minutes-opening-page{break-after:auto;page-break-after:auto}.attendance-page{break-before:auto;page-break-before:auto}.official-letterhead{min-height:32px;padding-bottom:2px}.official-letterhead img{width:32px;height:32px}.official-letterhead strong{font-size:11pt}.official-letterhead span{font-size:6.5pt}.official-letterhead .letterhead-exam{font-size:6.9pt}.attendance-section{margin-top:1px}.attendance-section h2{margin:0 0 3px;font-size:9.5pt}.attendance-meta{grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:2px}.attendance-meta span{padding:1.5px 3px;font-size:6.2pt}.minutes-table{break-inside:auto;page-break-inside:auto;width:100%;font-size:6.2pt}.minutes-table thead{display:table-header-group}.minutes-table tbody{display:table-row-group}.minutes-table tr{break-inside:avoid;page-break-inside:avoid}.minutes-table th,.minutes-table td{padding:1.1px 2.5px;line-height:1.15}.minutes-table tbody tr{height:15.75px}.signature-cell{min-height:15px}.minutes-signatures{break-inside:avoid;page-break-inside:avoid;gap:28px;visibility:visible!important;color:#111!important;background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;margin:3px 0 0!important;display:grid!important;position:static!important;overflow:visible!important}.minutes-signatures>div{visibility:visible!important;align-content:start!important;gap:0!important;height:auto!important;min-height:28px!important;display:grid!important}.minutes-signatures p{visibility:visible!important;margin:0!important;font-size:7pt!important;font-weight:700!important;display:block!important}.minutes-signatures strong{visibility:visible!important;margin-top:12px!important;font-size:7pt!important;display:block!important}.minutes-signatures span{visibility:hidden!important;display:none!important}}@media (width<=680px){.panitia-ujian-page,.panitia-committee-workspace,.minutes-module{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.minutes-toolbar{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.minutes-toolbar label,.minutes-toolbar select,.minutes-toolbar button{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.minutes-sheet{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:10px!important;overflow-x:hidden!important}.minutes-page{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}.official-letterhead{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding-left:44px!important;padding-right:44px!important}.official-letterhead strong,.official-letterhead span{overflow-wrap:anywhere!important;max-width:100%!important}.attendance-meta{grid-template-columns:1fr 1fr!important;min-width:0!important}.minutes-table{table-layout:fixed!important;width:100%!important;min-width:0!important;font-size:10px!important}.minutes-table th,.minutes-table td{white-space:normal!important;overflow-wrap:anywhere!important;min-width:0!important;padding:5px 4px!important}.minutes-table th:first-child,.minutes-table td:first-child{width:8%!important}.minutes-table th:nth-child(2),.minutes-table td:nth-child(2){width:18%!important}.minutes-table th:nth-child(3),.minutes-table td:nth-child(3){width:34%!important}.minutes-table th:nth-child(4),.minutes-table td:nth-child(4){width:12%!important}.minutes-table th:nth-child(5),.minutes-table td:nth-child(5){width:28%!important}.minutes-signatures{gap:12px!important;width:100%!important;min-width:0!important}}.minutes-toolbar{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) auto auto!important;align-items:stretch!important}.minutes-toolbar label{min-width:0}.minutes-toolbar select{color:#302a3b;font:inherit;box-sizing:border-box;background:linear-gradient(#fff,#faf8fd);border:1px solid #d8d0e6;border-radius:12px;padding:10px 12px;font-weight:700;width:100%!important;min-width:0!important}.minutes-toolbar select:focus{border-color:#7657b7;outline:2px solid #7657b72e}.minutes-print-button,.minutes-pdf-button{white-space:nowrap;border-radius:12px!important;min-height:42px!important;padding:0 15px!important;font-weight:800!important}.minutes-print-button{color:#5f4a88!important;background:#fff!important;border:1px solid #d8d0e6!important}.minutes-pdf-button{box-shadow:0 5px 14px #6044a52e;color:#fff!important;background:linear-gradient(135deg,#7657b7,#6044a5)!important;border:0!important}.minutes-pdf-button:disabled{cursor:default;opacity:.55!important}.minutes-pdf-rooms{background:#fbf9fe;border:1px solid #e1d9ec;border-radius:13px;grid-column:1/-1;padding:11px 12px}.minutes-pdf-rooms-title{color:#65547e;letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.minutes-room-chips{flex-wrap:wrap;gap:8px;display:flex}.minutes-room-chips label{cursor:pointer;background:#fff;border:1px solid #ddd5e8;border-radius:10px;align-items:center;gap:7px;min-width:92px;padding:8px 10px;display:inline-flex}.minutes-room-chips label.selected{background:#f3effb;border-color:#7657b7;box-shadow:0 2px 7px #6044a514}.minutes-room-chips input{accent-color:#7657b7}.minutes-room-chips span{color:#302a3b;font-size:12px;font-weight:900}.minutes-room-chips small{color:#777080;font-size:10px}@media (width<=900px){.minutes-toolbar{grid-template-columns:1fr 1fr!important}.minutes-pdf-rooms{grid-column:1/-1}.minutes-print-button,.minutes-pdf-button{width:100%}}@media (width<=560px){.minutes-toolbar{grid-template-columns:1fr!important}.minutes-pdf-rooms{grid-column:auto}.minutes-room-chips{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.minutes-room-chips label{min-width:0}}.minutes-print-batch{display:none}@media print{.minutes-module.is-printing-batch>.minutes-sheet{display:none!important}.minutes-module.is-printing-batch>.minutes-print-batch{width:100%!important;margin:0!important;padding:0!important;display:block!important}.minutes-print-batch .minutes-sheet{break-after:page;page-break-after:always;width:100%!important;margin:0!important;padding:0!important;display:block!important}.minutes-print-batch .minutes-sheet:last-child{break-after:auto;page-break-after:auto}}.pid-today-card{background:#fff;border:1px solid #dce7f0;border-radius:20px;min-width:0;margin:22px 0 26px;padding:22px;box-shadow:0 8px 24px #203b590b}.pid-today-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.pid-today-eyebrow{color:#277db1;letter-spacing:1.35px;margin:0 0 6px;font-size:9px;font-weight:850}.pid-today-head h2{color:#1d3657;letter-spacing:-.45px;margin:0;font-size:clamp(19px,2.5vw,24px)}.pid-today-date{color:#718096;margin:6px 0 0;font-size:12px}.pid-today-refresh{color:#244e75;white-space:nowrap;cursor:pointer;background:#f7fbff;border:1px solid #d9e4ef;border-radius:10px;align-items:center;gap:6px;padding:9px 11px;font-size:11px;font-weight:800;display:flex}.pid-today-refresh:disabled{opacity:.65;cursor:wait}.pid-today-refresh span{font-size:16px;line-height:1}.pid-today-summary{color:#607086;flex-wrap:wrap;gap:8px;margin:2px 0 12px;font-size:10px;display:flex}.pid-today-summary>span{background:#f3f7fb;border-radius:8px;padding:6px 9px}.pid-today-summary strong{color:#244e75}.pid-today-summary .pid-today-unallocated-count{color:#975a20;background:#fff5e8}.pid-today-summary .pid-today-unallocated-count strong{color:#975a20}.pid-today-list{flex-direction:column;gap:9px;display:flex}.pid-today-row{background:#fbfcfe;border:1px solid #e3e9ef;border-radius:13px;grid-template-columns:minmax(100px,132px) minmax(0,1fr);gap:13px;min-width:0;padding:13px;display:grid}.pid-today-row.current{background:#f3fbf6;border-color:#b7e5c8}.pid-today-row.unallocated{background:#fffaf3;border-color:#f0ddc3}.pid-today-time{color:#263b55;flex-direction:column;gap:4px;display:flex}.pid-today-time strong{font-size:12px}.pid-today-time span{color:#68798e;font-size:11px;line-height:1.45}.pid-today-details{flex-direction:column;gap:5px;min-width:0;display:flex}.pid-today-row-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.pid-today-row-top>strong{color:#253954;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.pid-today-status{color:#667487;background:#edf2f7;border-radius:20px;flex-shrink:0;align-items:center;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.pid-today-status.current{color:#1b7547;background:#def6e7}.pid-today-status.next{color:#255e9a;background:#e8f2ff}.pid-today-status.unallocated{color:#95581c;background:#ffedcf}.pid-today-status.finished{color:#7c8794;background:#f0f2f5}.pid-today-teacher,.pid-today-device,.pid-today-note{overflow-wrap:anywhere;font-size:11px;line-height:1.45}.pid-today-teacher{color:#69798d}.pid-today-device{color:#245f88;font-weight:700}.pid-today-note{color:#985b25}.pid-today-empty{text-align:center;background:#f9fbfd;border:1px dashed #d9e4ee;border-radius:13px;flex-direction:column;align-items:center;gap:8px;padding:25px 16px;display:flex}.pid-today-empty-icon{color:#2b6c98;background:#eaf4fb;border-radius:13px;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.pid-today-empty strong{color:#30445e;font-size:13px}.pid-today-empty span:last-child{color:#76869a;max-width:400px;font-size:11px;line-height:1.5}.pid-today-message{color:#66798e;background:#f3f7fb;border-radius:10px;margin:10px 0;padding:12px;font-size:12px;line-height:1.5}.pid-today-message.error{color:#a13f3f;background:#fff1f1}.pid-today-footer{color:#8490a0;border-top:1px solid #eef1f5;align-items:flex-start;gap:8px;margin-top:14px;padding-top:12px;display:flex}.pid-today-footer>span{color:#3d789e;font-size:14px;line-height:1.3}.pid-today-footer p{margin:0;font-size:10px;line-height:1.55}@media (width<=560px){.pid-today-card{border-radius:16px;margin:18px 0 22px;padding:15px}.pid-today-head{gap:8px}.pid-today-refresh{padding:8px 9px;font-size:10px}.pid-today-row{grid-template-columns:1fr;gap:8px;padding:11px}.pid-today-time{flex-direction:row;align-items:baseline;gap:8px}.pid-today-time span{font-size:10px}.pid-today-row-top{flex-direction:column;gap:5px}.pid-today-row-top>strong{font-size:12px}.pid-today-status{align-self:flex-start}.pid-today-teacher,.pid-today-device,.pid-today-note{font-size:10px}}.pid-today-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pid-today-expand{color:#fff;white-space:nowrap;cursor:pointer;background:#1d5278;border:1px solid #cfe0ee;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:11px;font-weight:800;display:flex}.pid-today-expand:hover{background:#174566}.pid-today-expand:focus-visible,.pid-today-refresh:focus-visible{outline-offset:2px;outline:3px solid #8dc4ea}.pid-today-expand span{font-size:15px;line-height:1}.pid-today-list-title{color:#30465f;margin:6px 0 10px;font-size:13px}@media (width<=560px){.pid-today-head{flex-direction:column;align-items:stretch}.pid-today-head>div:first-child{min-width:0}.pid-today-head h2{font-size:22px}.pid-today-actions{justify-content:stretch;gap:7px;width:100%}.pid-today-expand{white-space:nowrap;text-align:center;flex:1;min-width:0;padding:10px 9px;font-size:11px}.pid-today-refresh{flex-shrink:0;padding:10px 9px}.pid-today-summary>span{font-size:10px}}@media (width<=800px){.scanner-frame.video-frame{border-radius:12px;height:min(72vw,360px)!important;min-height:300px!important;max-height:360px!important;margin-top:12px!important}.scanner-frame.video-frame video{object-fit:cover;width:100%;height:100%}.scanner-card{padding:12px!important}.scanner-head{gap:8px}.scanner-head h2{font-size:15px!important}.scanner-head p{font-size:10px!important}.attendance-mode{margin-top:10px!important}.attendance-mode button{padding:9px 8px!important;font-size:10px!important}.subject-controls{gap:8px!important;margin-top:10px!important;padding:10px!important}.today-schedule{padding:9px!important}.today-schedule-list{gap:6px!important;padding:7px 0 2px!important}.today-schedule-list button{min-width:112px!important;padding:8px!important}.scanner-note{margin-top:9px!important;padding:8px 9px!important;font-size:9px!important}.barcode-fallback{margin-top:9px!important}}@media (width<=480px){.scanner-frame.video-frame{height:68vw!important;min-height:250px!important;max-height:310px!important}.content{padding-top:16px!important}.page-heading{margin-bottom:12px!important}}@media (width<=768px){.menu-strip{width:100%;max-width:100%;padding:0;overflow:hidden}.menu-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:2px;width:100%;max-width:none;margin:0;padding:0 10px;scroll-padding-inline:10px;overflow:auto hidden}.menu-item{letter-spacing:.2px;border-bottom-width:3px;gap:5px;min-height:48px;padding:0 11px;font-size:10px}.menu-item svg{flex:none;width:17px;height:17px}.menu-item:first-child{margin-left:2px}.menu-item:last-child{margin-right:2px}}@media (width<=420px){.menu-scroll{padding-inline:7px;scroll-padding-inline:7px}.menu-item{min-height:46px;padding-inline:9px;font-size:9.5px}}:root{--font-body:14px;--font-small:12px;--font-label:13px;--font-nav:13px;--font-h1:clamp(28px, 3vw, 34px);--font-h2:20px;--font-h3:17px}h1{line-height:1.2;font-size:var(--font-h1)!important}h2{line-height:1.3;font-size:var(--font-h2)!important}h3{line-height:1.35;font-size:var(--font-h3)!important}.subtitle,.page-heading .subtitle,.tool-intro p,.settings-section>div>p,.security-card p,.card-title p,.scanner-head p,.welcome-card p:last-child,.step span,.audit-main p{line-height:1.55;font-size:var(--font-body)!important}label,.settings-grid label,.login-form label,.password-toggle{font-size:var(--font-label)!important}input,select,textarea,button,.tool-toolbar input,.tool-toolbar select,.settings-grid input,.settings-grid select,.settings-grid textarea{font-size:var(--font-body)!important}small,.login-brand span,.login-footer,.login-note,.eyebrow,.date-card small,.profile-text small,.role-pill,.live-badge,.scanner-frame small,.scanner-note,.step em,.prototype-bar,.audit-top span,.audit-top small,.audit-main>small,.settings-footer span,.security-card strong,.tool-empty,.tool-note,.attendance-total span,.stat-row,.mini-card small,.mini-card span:last-child{line-height:1.5;font-size:var(--font-small)!important}.attendance-total strong{font-size:40px!important}.mini-card strong{font-size:22px!important}.audit-summary strong{font-size:25px!important}.brand-name,.login-brand strong{font-size:20px!important}.login-heading h1{font-size:28px!important}.scanner-head h2,.card-title h2{font-size:19px!important}.welcome-card h2{font-size:21px!important}.next-card h2,.settings-section h3,.security-card h3{font-size:18px!important}@media (width<=700px){:root{--font-body:14px;--font-small:12px;--font-label:13px;--font-nav:13px;--font-h1:28px;--font-h2:20px;--font-h3:17px}.content{width:min(100% - 28px,1240px)}.menu-item{min-height:52px;padding-left:14px;padding-right:14px}}@media (width<=800px){.mobile-header-shell .brand-name{white-space:nowrap!important;font-size:40px!important;line-height:1!important}.mobile-header-shell .topbar-school{top:64px!important;bottom:auto!important}}@media (width<=520px){.mobile-header-shell .brand-name{font-size:40px!important;line-height:1!important}.mobile-header-shell .topbar-school{top:64px!important;bottom:auto!important}}:root{--ui-body:14px;--ui-heading:24px;--ui-section:18px;--ui-card-title:16px;--ui-secondary:12px;--ui-nav:14px;--ui-input-mobile:16px;--ui-button-sm:32px;--ui-button-md:36px;--ui-button-lg:40px;--ui-icon-sm:16px;--ui-icon-md:18px;--ui-icon-lg:20px;--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:12px;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;--ui-page-padding:16px;--ui-card-padding:24px}html,body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{font-size:var(--ui-body);line-height:1.5}h1{font-size:var(--ui-heading);line-height:1.2}h2{font-size:var(--ui-section);line-height:1.3}h3{font-size:var(--ui-card-title);line-height:1.35}.menu-item{font-size:var(--ui-nav)}small,.secondary,.helper-text,.meta-text{font-size:var(--ui-secondary);line-height:1.5}button{min-height:var(--ui-button-md)}button.btn-sm,.button-sm{min-height:var(--ui-button-sm)}button.btn-lg,.button-lg{min-height:var(--ui-button-lg)}input,select,textarea{min-height:var(--ui-button-lg);border-radius:var(--ui-radius-md)}.table-responsive,table{font-size:var(--ui-body)}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (width<=700px){:root{--ui-page-padding:12px;--ui-card-padding:16px}body{font-size:14px}h1{font-size:24px}h2{font-size:18px}h3{font-size:16px}.menu-item{font-size:14px}input,select,textarea{font-size:var(--ui-input-mobile)!important}.content{width:calc(100% - 24px)}}@media (width>=701px){.table-responsive{overflow-x:auto}}.subjects-module-schedule{font-size:14px}.subjects-module-schedule h2{font-size:24px;line-height:1.25}.subjects-module-schedule h3{font-size:18px;line-height:1.3}.subjects-module-schedule p{font-size:13px;line-height:1.5}.subjects-module-schedule .schedule-add{font-size:14px}.subjects-module-schedule .schedule-add h3,.subjects-module-schedule .schedule-add strong{font-size:18px}.subjects-module-schedule .schedule-add p{font-size:13px}.subjects-module-schedule .schedule-picker-summary strong{font-size:14px}.subjects-module-schedule .schedule-picker-summary button,.subjects-module-schedule .assignment-filter-row button{min-height:40px;padding:8px 14px;font-size:14px}.subjects-module-schedule .assignment-filter-row select,.subjects-module-schedule .assignment-filter-row input{min-height:40px;font-size:16px}.subjects-module-schedule .schedule-assignment-option{min-height:52px;padding:10px 16px}.subjects-module-schedule .schedule-assignment-option strong{font-size:14px}.subjects-module-schedule .schedule-assignment-option small{font-size:13px}.subjects-module-schedule .schedule-assignment-option em{font-size:12px}.subjects-module-schedule .schedule-form-grid input,.subjects-module-schedule .schedule-form-grid select,.subjects-module-schedule .schedule-filters input,.subjects-module-schedule .schedule-filters select{min-height:40px;font-size:16px}.subjects-module-schedule .master-time-note{min-height:40px;padding:8px 12px;font-size:13px}.subjects-module-schedule .schedule-save{min-height:40px;padding:8px 16px;font-size:14px}.subjects-module-schedule .schedule-toolbar{background:#fafbfe;padding:16px}.subjects-module-schedule .schedule-picker-list{font-size:14px}.subjects-module-schedule .schedule-item{min-height:96px;padding:12px 16px}.subjects-module-schedule .schedule-day b{font-size:14px}.subjects-module-schedule .schedule-day span{font-size:12px}.subjects-module-schedule .schedule-main strong{font-size:14px;line-height:1.35}.subjects-module-schedule .schedule-main span{font-size:13px;line-height:1.4}.subjects-module-schedule .schedule-main small{font-size:12px;line-height:1.4}.subjects-module-schedule .schedule-item>button{min-width:96px;height:40px;font-size:14px}.subjects-module-schedule .schedule-filters input,.subjects-module-schedule .schedule-filters select{font-size:16px}@media (width<=600px){.subjects-module-schedule{padding:0 12px}.subjects-module-schedule h2{font-size:22px}.subjects-module-schedule h3{font-size:18px}.subjects-module-schedule .schedule-picker-summary{padding:12px}.subjects-module-schedule .assignment-filter-row{padding:10px 12px}.subjects-module-schedule .schedule-assignment-option{min-height:56px;padding:10px 12px}.subjects-module-schedule .schedule-assignment-option strong{font-size:14px}.subjects-module-schedule .schedule-assignment-option small{font-size:13px}.subjects-module-schedule .schedule-assignment-option em{font-size:12px}.subjects-module-schedule .schedule-form-grid{padding:12px}.subjects-module-schedule .schedule-save{width:calc(100% - 24px);min-height:40px}.subjects-module-schedule .schedule-item{grid-template:"check day action""check main action"/28px minmax(0,1fr) auto;align-items:center;gap:5px 10px;height:auto;min-height:116px;padding:14px 12px;display:grid;overflow:visible}.subjects-module-schedule .schedule-item>input{grid-area:check;justify-self:center;width:22px;height:22px;margin:0}.subjects-module-schedule .schedule-day{white-space:nowrap;flex-direction:row;grid-area:day;align-items:baseline;gap:8px;min-width:0;display:flex}.subjects-module-schedule .schedule-day b{font-size:14px;line-height:1.3}.subjects-module-schedule .schedule-day span{font-size:12px;line-height:1.3}.subjects-module-schedule .schedule-main{flex-direction:column;grid-area:main;min-width:0;display:flex;overflow:visible}.subjects-module-schedule .schedule-main strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.subjects-module-schedule .schedule-main span{overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:1.4}.subjects-module-schedule .schedule-main small{white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.4}.subjects-module-schedule .schedule-item>button{white-space:nowrap;grid-area:action;align-self:center;min-width:108px;height:40px;min-height:40px;padding:8px 10px;font-size:14px}}@media (width<=360px){.subjects-module-schedule .schedule-item{grid-template-columns:26px minmax(0,1fr) auto;column-gap:8px;min-height:120px;padding:13px 10px}.subjects-module-schedule .schedule-item>button{min-width:100px;padding:8px;font-size:13px}.subjects-module-schedule .schedule-main strong{font-size:14px}.subjects-module-schedule .schedule-main span{font-size:12px}.subjects-module-schedule .schedule-main small{font-size:11px}}
