@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f1;--bg-2:#dfeae4;--surface:#fff;--ink:#17302a;--muted:#5d726b;--line:#c9d7d0;--accent:#0f6b56;--accent-2:#148567;--danger:#b42318;--ok:#067647;--shadow:0 10px 30px #17302a14;--radius:16px;color:var(--ink);background:radial-gradient(circle at 10% 10%, #d7ebe3 0%, transparent 40%), radial-gradient(circle at 90% 0%, #cfe0f2 0%, transparent 35%), linear-gradient(180deg, var(--bg), var(--bg-2));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Vazirmatn,Tahoma,sans-serif;font-weight:400;line-height:1.7}*{box-sizing:border-box}html,body,#root{min-height:100%}body{direction:rtl;min-width:320px;margin:0}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:.7rem 1.1rem}button:hover{background:var(--accent-2)}button.secondary{background:#245f7a}button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.panel button.ghost,.wb-panel button.ghost,.share-panel button.ghost,.cm-modal button.ghost{color:#edf6f2;background:#ffffff14;border-color:#ffffff47}.panel button.ghost:hover,.wb-panel button.ghost:hover,.share-panel button.ghost:hover,.cm-modal button.ghost:hover{color:#fff;background:#ffffff29}.panel button:not(.ghost),.wb-panel button:not(.ghost),.share-panel button:not(.ghost){color:#fff}button.danger,.ghost.danger{color:var(--danger)}.panel .ghost.danger,.share-panel .ghost.danger,.cm-modal .ghost.danger{color:#ffb4b0}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:.7rem .9rem}label{gap:.35rem;font-weight:500;display:grid}textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:12px;padding:.7rem .9rem;font-family:Consolas,Courier New,monospace;font-size:.85rem}.check{align-items:center;gap:.45rem;font-weight:400;display:flex}.check input{width:auto}.muted{color:var(--muted)}.small{font-size:.9rem}.center{place-items:center;min-height:100vh;padding:1rem;display:grid}.alert,.ok{border-radius:12px;margin:.75rem 0;padding:.75rem 1rem}.alert{color:var(--danger);background:#fee4e2}.ok{color:var(--ok);background:#dcfae6}.auth-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:24px;gap:.85rem;padding:1.5rem;display:grid}.auth-card h1{margin:0;font-size:1.6rem}.brand-logo{object-fit:contain;aspect-ratio:686/330;width:min(160px,42vw);height:auto;display:block}.brand-mark{background:linear-gradient(145deg, var(--accent), #1f8f8a);color:#fff;border-radius:20px;place-items:center;width:72px;height:72px;font-size:2rem;font-weight:700;display:grid}.stack{gap:.7rem;margin-top:.5rem;display:grid}.shell,.admin-main{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.home-topbar{z-index:30;padding-top:max(.85rem, env(safe-area-inset-top,0px));position:sticky;top:0}.home-topbar-title{flex-direction:column;gap:.05rem;min-width:0;line-height:1.3;display:flex}.home-topbar-title strong{font-size:1.05rem}.home-topbar-title .muted{font-size:.82rem}.user-menu{flex:none;position:relative}.user-menu-btn{align-items:center;gap:.45rem;box-shadow:0 4px 14px #17302a0f;border:1px solid var(--line)!important;height:2.45rem!important;color:var(--ink)!important;background:#fff!important;border-radius:999px!important;padding:.2rem .65rem .2rem .25rem!important;font-weight:600!important;display:inline-flex!important}.user-menu-btn.open{box-shadow:0 0 0 3px #0f6b561f;border-color:#0f6b5666!important}.user-menu-avatar{background:linear-gradient(145deg, var(--accent), #1f8f8a);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:1.95rem;height:1.95rem;font-size:.85rem;font-weight:700;display:grid}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;font-size:.86rem;overflow:hidden}.user-menu-caret{color:var(--muted);font-size:.75rem}.user-menu-dropdown{z-index:40;border:1px solid var(--line);top:calc(100% + .4rem);background:#fff;border-radius:14px;gap:.15rem;width:min(16rem,100vw - 1.5rem);padding:.4rem;display:grid;position:absolute;inset-inline-end:0;box-shadow:0 16px 40px #14282224}.user-menu-meta{border-bottom:1px solid var(--line);gap:.1rem;margin-bottom:.2rem;padding:.55rem .7rem .65rem;display:grid}.user-menu-meta strong{font-size:.92rem}.user-menu-meta span{color:var(--muted);font-size:.78rem}.user-menu-dropdown button{cursor:pointer;justify-content:flex-start;align-items:center;width:100%;height:2.35rem!important;color:var(--ink)!important;background:0 0!important;border:none!important;border-radius:10px!important;padding:0 .75rem!important;font-size:.88rem!important;font-weight:600!important;text-decoration:none!important;display:flex!important}.user-menu-dropdown a[role=menuitem]{width:100%;height:2.35rem;color:var(--ink);box-sizing:border-box;background:0 0;border:none;border-radius:10px;justify-content:flex-start;align-items:center;padding:0 .75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.user-menu-dropdown a[role=menuitem]:hover{background:#0f6b5614}.user-menu-dropdown button:hover{background:#0f6b5614!important}.user-menu-dropdown button.danger{color:var(--danger)!important}.user-menu-dropdown button.danger:hover{background:#b4231814!important}.user-pass-modal{color:var(--ink)!important;border-color:var(--line)!important;background:#fff!important}.user-pass-modal .cm-modal-head button.ghost{color:var(--ink)!important;border-color:var(--line)!important;background:#f4f8f6!important}.user-pass-modal label{color:var(--ink)}.user-pass-modal input{color:var(--ink);border-color:var(--line);background:#fff}@media (width<=560px){.user-menu-name{display:none}.user-menu-btn{padding-inline-end:.35rem!important}}.content{padding:1.25rem}.card-list{gap:.8rem;display:grid}.list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.list-card h3{margin:0 0 .25rem}.badge{color:var(--muted);white-space:nowrap;background:#e8eef0;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.badge.on{color:var(--ok);background:#d1fadf}.badge.off{color:var(--danger);background:#fee4e2}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;padding:2rem}.home-content{width:100%;max-width:720px;margin:0 auto}.home-class-list{gap:.9rem}.home-class-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:.9rem;padding:1rem;display:grid}.home-class-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.home-class-title{flex:1;min-width:0}.home-class-title h3{overflow-wrap:anywhere;margin:0 0 .15rem;font-size:1.05rem;line-height:1.35}.home-class-title .muted{margin:0;font-size:.85rem}.home-class-actions{grid-template-columns:1fr;gap:.5rem;display:grid}.home-btn{text-align:center;cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:2.6rem;padding:.55rem .9rem;font-size:.95rem;text-decoration:none;display:inline-flex}.home-btn.primary{background:var(--accent);color:#fff}.home-btn.primary:hover{background:var(--accent-2)}.home-btn.secondary{color:var(--ink);border-color:var(--line);background:#fff}.home-btn.secondary:hover{background:#f3f8f6}.home-btn.disabled{color:var(--muted);cursor:not-allowed;pointer-events:none;background:#e8eef0}@media (width>=560px){.home-class-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.rec-modal-backdrop{align-items:end}@media (width>=640px){.rec-modal-backdrop{place-items:center}}.rec-modal{width:min(560px,100%);max-height:min(92vh,720px);color:var(--ink);border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:#f7fbf9;border-radius:18px 18px 0 0;gap:.85rem;padding:1rem 1rem 1.25rem;display:grid;overflow:auto;box-shadow:0 20px 50px #00000059}@media (width>=640px){.rec-modal{border-radius:18px;max-height:min(80vh,720px)}}.rec-modal-head{z-index:1;background:#f7fbf9;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.25rem;display:flex;position:sticky;top:0}.rec-modal-head strong{font-size:1.05rem;display:block}.rec-modal-head .muted{margin:.2rem 0 0}.rec-modal .ghost{color:var(--ink);border-color:var(--line);flex-shrink:0}.rec-list{gap:.7rem;display:grid}.rec-empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:12px;padding:1.5rem .75rem}.rec-item{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.55rem;padding:.85rem;display:grid}.rec-item-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.rec-item-top h4{overflow-wrap:anywhere;margin:0;font-size:.98rem;line-height:1.35}.rec-status{color:var(--muted);white-space:nowrap;background:#e8eef0;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.78rem}.rec-status-ready{color:var(--ok);background:#d1fadf}.rec-status-recording,.rec-status-processing{color:#b54708;background:#fef0c7}.rec-status-failed,.rec-status-error{color:var(--danger);background:#fee4e2}.rec-meta{flex-wrap:wrap;gap:.35rem .75rem;display:flex}.rec-item-actions{grid-template-columns:1fr;gap:.45rem;display:grid}@media (width>=420px){.rec-item-actions{grid-template-columns:1fr auto}}.rec-btn{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:2.5rem;padding:.5rem .85rem;font-size:.92rem;text-decoration:none;display:inline-flex}.rec-btn.primary{background:var(--accent);color:#fff}.rec-btn.danger{color:var(--danger);background:#fff;border-color:#f3b4ae}.rec-btn.muted-btn{color:var(--muted);cursor:default;pointer-events:none;background:#f1f5f4}.admin-shell{--admin-ink:#142821;--admin-muted:#5d726b;--admin-line:#d5e2db;--admin-surface:#fff;--admin-bg:#eef3f1;--admin-accent:#0f6b56;--admin-accent-soft:#0f6b561f;--admin-side:#0f2f28;--admin-side-2:#164038;--admin-danger:#b42318;--admin-radius:14px;--admin-topbar-h:3.4rem;min-height:100dvh;color:var(--admin-ink);background:radial-gradient(circle at 0 0,#d9ebe4 0%,#0000 42%),linear-gradient(#f4f8f6,#e8f0ec);grid-template-columns:1fr;display:grid}.admin-topbar{z-index:40;height:var(--admin-topbar-h);padding:0 .85rem;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--admin-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;align-items:center;gap:.65rem;display:flex;position:sticky;top:0}.admin-menu-btn{justify-content:center;align-items:center;background:var(--admin-accent-soft)!important;width:2.4rem!important;min-width:2.4rem!important;height:2.4rem!important;color:var(--admin-accent)!important;border:1px solid #0000!important;border-radius:11px!important;padding:0!important;display:inline-flex!important}.admin-menu-btn svg{width:1.2rem;height:1.2rem;display:block}.admin-topbar-brand{flex-direction:column;flex:1;gap:.05rem;min-width:0;line-height:1.25;display:flex}.admin-topbar-brand strong{font-size:.95rem}.admin-topbar-user{color:var(--admin-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.admin-topbar-logout{border:1px solid var(--admin-line)!important;height:2.1rem!important;color:var(--admin-ink)!important;background:0 0!important;border-radius:10px!important;padding:0 .75rem!important;font-size:.8rem!important;font-weight:600!important}.admin-drawer-backdrop{z-index:45;background:#0a1c1873;position:fixed;inset:0}.admin-drawer-backdrop[hidden]{display:none!important}.admin-drawer{z-index:50;background:linear-gradient(180deg, var(--admin-side), var(--admin-side-2));color:#e8f5f0;width:min(18.5rem,86vw);padding:.85rem .75rem calc(1rem + env(safe-area-inset-bottom,0px));top:0;bottom:0;flex-direction:column;gap:.65rem;transition:transform .22s;display:flex;position:fixed;inset-inline-start:0;transform:translate(110%);box-shadow:-8px 0 30px #0003}.admin-shell.menu-open .admin-drawer{transform:translate(0)}.admin-drawer-head{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:.55rem .45rem .75rem;display:flex}.admin-drawer-close{color:#fff!important;background:#ffffff1a!important;border:none!important;border-radius:999px!important;width:2rem!important;min-width:2rem!important;height:2rem!important;padding:0!important;font-size:1.25rem!important;line-height:1!important}.admin-nav{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.25rem;display:flex;overflow:auto}.admin-nav-link{border-radius:12px;align-items:center;gap:.65rem;font-size:.92rem;font-weight:600;text-decoration:none;color:#cfe4dc!important;padding:.72rem .8rem!important;display:flex!important}.admin-nav-link:hover{background:#ffffff14;color:#fff!important}.admin-nav-link.active{background:#14856766;color:#fff!important}.admin-nav-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.admin-side-footer{flex-direction:column;gap:.45rem;margin-top:auto;display:flex}.admin-drawer-logout,.admin-sidebar-logout{box-sizing:border-box;cursor:pointer;justify-content:flex-start;align-items:center;width:100%;min-height:2.4rem;text-decoration:none;color:#fff!important;text-align:start!important;background:#ffffff14!important;border:1px solid #ffffff2e!important;border-radius:11px!important;height:auto!important;padding:.55rem .8rem!important;font-size:.9rem!important;font-weight:600!important;display:flex!important}.admin-sidebar{display:none}.admin-content{min-width:0;padding:1rem .9rem calc(1.4rem + env(safe-area-inset-bottom,0px))}.admin-page{gap:1rem;width:min(1100px,100%);margin:0 auto;display:grid}.admin-page-head{gap:.25rem;display:grid}.admin-page-head h1{margin:0;font-size:1.35rem;line-height:1.3}.admin-page-head p{color:var(--admin-muted);margin:0;font-size:.9rem}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);padding:.95rem;box-shadow:0 8px 24px #1428220d}.admin-card h2{margin:0 0 .65rem;font-size:1.05rem}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.admin-stat{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);gap:.2rem;padding:.95rem 1rem;display:grid}.reports-live-stats{margin-bottom:1.1rem}.admin-stat span{color:var(--admin-muted);font-size:.82rem}.admin-stat strong{color:var(--admin-accent);font-size:1.7rem;line-height:1.1}.admin-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-actions .btn,.admin-page .btn{border-radius:12px;min-height:2.55rem;padding:.65rem 1rem;font-weight:700}.admin-list{gap:.65rem;display:grid}.admin-item{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);gap:.55rem;padding:.85rem .9rem;display:grid}.admin-item.selected{box-shadow:0 0 0 2px var(--admin-accent-soft);border-color:#0f6b5673}.admin-item-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.admin-item-title{gap:.1rem;min-width:0;display:grid}.admin-item-title strong{overflow-wrap:anywhere;font-size:.98rem}.admin-item-title span,.admin-meta{color:var(--admin-muted);font-size:.8rem}.admin-meta{flex-wrap:wrap;gap:.35rem .75rem;display:flex}.admin-badge{height:1.45rem;color:var(--admin-muted);white-space:nowrap;background:#eef4f1;border-radius:999px;align-items:center;padding:0 .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-badge.ok{color:#067647;background:#dcfae6}.admin-badge.warn{color:#9a6700;background:#fff4d6}.admin-badge.danger{color:var(--admin-danger);background:#fee4e2}.admin-badge.accent{background:var(--admin-accent-soft);color:var(--admin-accent)}.admin-item-actions{flex-wrap:wrap;gap:.35rem;display:flex}.admin-item-actions .ghost,.admin-item-actions button,.admin-item-actions a{min-height:2.1rem;text-decoration:none;border-radius:10px!important;padding:.4rem .7rem!important;font-size:.8rem!important}.admin-toolbar{gap:.55rem;display:grid}.admin-toolbar label{gap:.3rem;font-size:.85rem}.admin-toolbar-actions{flex-wrap:wrap;gap:.4rem;display:flex}.admin-toolbar-actions button{min-height:2.35rem;border-radius:10px!important;padding:.45rem .75rem!important;font-size:.82rem!important}.admin-empty{text-align:center;color:var(--admin-muted);padding:1.25rem .5rem;font-size:.9rem}.actions{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.btn,.actions .btn{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;padding:.7rem 1.1rem;text-decoration:none;display:inline-flex}.btn.secondary{background:#245f7a}.admin-content .form-grid{border-radius:var(--admin-radius);margin:0;box-shadow:0 8px 24px #1428220d}.admin-content .form-grid.inline{grid-template-columns:1fr}.admin-content .table-wrap{-webkit-overflow-scrolling:touch;overflow:auto}.admin-content .split-2{grid-template-columns:1fr;gap:.85rem}.admin-content .member-row{grid-template-columns:1fr}.admin-content .actions{z-index:5;border:1px solid var(--admin-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4f8f6f0;border-radius:12px;padding:.55rem;position:sticky;bottom:.4rem}.admin-content .actions button{flex:auto;min-height:2.5rem}@media (width>=901px){.admin-shell{grid-template-columns:240px 1fr}.admin-topbar,.admin-drawer,.admin-drawer-backdrop{display:none!important}.admin-sidebar{background:linear-gradient(180deg, var(--admin-side), var(--admin-side-2));color:#e8f5f0;flex-direction:column;gap:.85rem;height:100dvh;padding:1.15rem .85rem;display:flex;position:sticky;top:0}.admin-sidebar-brand{border-bottom:1px solid #ffffff1f;gap:.15rem;padding:.35rem .55rem .95rem;display:grid}.admin-sidebar-brand strong{font-size:1.05rem}.admin-sidebar-brand span{color:#9fc4b8;font-size:.8rem}.admin-content{padding:1.35rem 1.5rem 2rem}.admin-page-head h1{font-size:1.6rem}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-content .form-grid.inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.admin-content .split-2{grid-template-columns:1fr 1.1fr}.admin-content .member-row{grid-template-columns:1fr 140px auto}.admin-content .actions{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0;position:static}.admin-content .actions button{flex:none}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.admin-toolbar label{min-width:180px}}.admin-layout{display:contents}.admin-side{display:none}.admin-main,.stats,.stat{display:contents}.form-grid{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:.85rem;margin:1rem 0;padding:1rem;display:grid}.form-grid.inline{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}.logo-preview{object-fit:contain;border:1px solid var(--line);aspect-ratio:686/330;background:#fff;border-radius:12px;width:min(220px,100%);height:auto;display:block}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:right;border-bottom:1px solid var(--line);padding:.75rem .9rem}th{background:#f3f8f5}.member-list{gap:.5rem;display:grid}.class-picker-block{gap:.35rem;display:grid}.class-picker-block .search-select-pop{min-width:min(28rem,92vw)}.member-row{grid-template-columns:1fr 140px auto;align-items:center;gap:.5rem;display:grid}.classroom{color:#edf6f2;background:#102822;flex-direction:column;min-height:100vh;display:flex}.class-top{background:#00000040;border-bottom:1px solid #ffffff14;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:0;padding:.4rem .8rem;display:flex}.class-brand{flex:0 auto;align-items:center;gap:.55rem;min-width:0;display:flex}.class-brand img{object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:36px;height:36px}.class-brand-text{flex-direction:column;gap:.05rem;min-width:0;line-height:1.25;display:flex}.class-brand-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.class-user-row{flex-wrap:nowrap;align-items:center;gap:.45rem;min-width:0;display:flex}.class-user-row .muted{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.conn-close-group{flex:none;align-self:center;align-items:center;gap:.3rem;display:inline-flex}.class-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.av-shortcuts{align-items:center;gap:.3rem;display:inline-flex}.av-btn{min-width:3.2rem;color:#d7ebe3!important;background:#ffffff1a!important;border:1px solid #ffffff26!important;padding:.4rem .65rem!important;font-size:.82rem!important}.av-btn.icon-btn{justify-content:center;align-items:center;width:2.35rem;min-width:2.35rem;height:2.35rem;display:inline-flex;border-radius:10px!important;padding:0!important}.av-btn.icon-btn svg{width:1.2rem;height:1.2rem;display:block}.av-btn.on{background:var(--accent)!important;color:#fff!important;border-color:#0000!important}.av-btn.off{opacity:.9;color:#9aa8a2!important}.mgr-menu-wrap{position:relative}.mgr-actions-cluster{align-items:center;gap:.35rem;display:inline-flex}.layout-menu{position:relative}.layout-menu-btn{align-items:center;gap:.35rem;display:inline-flex!important}.layout-menu-dropdown{z-index:80;top:calc(100% + .35rem);background:#10201cfa;border:1px solid #ffffff1f;border-radius:12px;width:min(360px,100vw - 1.5rem);max-height:min(70vh,420px);padding:.75rem;position:absolute;inset-inline-end:0;overflow:auto;box-shadow:0 12px 28px #00000059}.layout-menu-section{flex-direction:column;gap:.45rem;display:flex}.layout-menu-title{font-size:.88rem;font-weight:700}.layout-menu-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.layout-menu-more-wrap{position:relative}.layout-menu-sep{background:#ffffff1a;height:1px;margin:.65rem 0}.layout-more-menu.in-dropdown{z-index:2;top:calc(100% + 4px);position:absolute;inset-inline-start:0}.panel-chips.in-menu{flex-wrap:wrap;gap:.35rem;display:flex}.mgr-menu-btn{box-sizing:border-box;justify-content:center;align-items:center;gap:.35rem;border-radius:10px!important;height:2.15rem!important;min-height:2.15rem!important;padding:0 .75rem!important;font-size:.85rem!important;line-height:1!important;display:inline-flex!important}.mgr-menu{z-index:90;background:#14352d;border:1px solid #ffffff24;border-radius:12px;gap:.15rem;min-width:220px;padding:.35rem;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000059}.mgr-menu button{text-align:right;border-radius:8px;color:#edf6f2!important;background:0 0!important;padding:.55rem .7rem!important;font-size:.88rem!important}.mgr-menu button:hover{background:#ffffff1a!important}.mgr-menu-sep{background:#ffffff1a;height:1px;margin:.25rem .35rem}.ctx-menu{z-index:120;border:1px solid #fff3;border-radius:12px;gap:.2rem;min-width:190px;padding:.45rem;display:grid;position:fixed;box-shadow:0 12px 30px #0006;color:#edf6f2!important;background:#0f2a23!important}.ctx-menu-title{border-bottom:1px solid #ffffff1a;margin-bottom:.2rem;padding:.25rem .4rem .45rem;font-size:.9rem;font-weight:700;color:#edf6f2!important}.ctx-menu .ui-check,.ctx-menu .ctx-check{cursor:pointer;align-items:center;gap:.45rem;font-size:.88rem;color:#edf6f2!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:8px!important;padding:.4rem .45rem!important;display:flex!important}.ctx-menu .ui-check-label{font-weight:600;color:#edf6f2!important}.ctx-menu .ui-check:hover,.ctx-menu .ctx-check:hover{background:#ffffff1a!important}.ctx-menu .ui-check input,.ctx-check input{accent-color:#2bb892;flex-shrink:0;width:auto}.perm-trigger{line-height:1;padding:.2rem .45rem!important;font-size:1.1rem!important}.participant-row.menu-open{outline:1px solid #1485678c}.tiny-hint{opacity:.8;font-size:.78rem}.layout-bar{background:#00000038;border-bottom:1px solid #ffffff12;flex-direction:column;gap:.45rem;padding:.45rem .75rem .55rem;display:flex}.panels-bar{background:#00000038;border-bottom:1px solid #ffffff12;flex-direction:column;gap:.35rem;padding:.4rem .75rem .5rem;display:flex}.layout-bar-row{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.layout-bar-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex;position:relative}.layout-bar-actions{margin-inline-start:auto}.layout-bar-label{color:#8fb5a8;margin-inline-end:.15rem;font-size:.78rem;font-weight:600}.template-select{color:#edf6f2;background:#00000059;border:1px solid #ffffff24;border-radius:8px;width:auto;min-width:150px;max-width:220px;height:2rem;padding:0 .55rem;font-size:.82rem}.layout-btn{white-space:nowrap;height:2rem;color:#d7ebe3!important;background:#ffffff14!important;border:1px solid #ffffff1f!important;border-radius:8px!important;padding:0 .7rem!important;font-size:.8rem!important}.layout-btn:hover:not(:disabled){background:#ffffff24!important}.layout-btn.primary{background:var(--accent)!important;color:#fff!important;border-color:#0000!important}.layout-btn:disabled{opacity:.4;cursor:not-allowed}.layout-btn.danger{color:#ffb4b4!important;border-color:#ff8c8c59!important}.layout-btn.danger:hover:not(:disabled){background:#8c282859!important}.layout-btn.more{min-width:4.5rem}.layout-lock-hint{color:#e6b85c;background:#e6b85c1f;border:1px solid #e6b85c4d;border-radius:999px;padding:.1rem .45rem;font-size:.72rem}.layout-more-menu{z-index:80;background:#142822;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;min-width:200px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 28px #00000059}.layout-more-menu button{text-align:right;color:#edf6f2!important;background:0 0!important;border:none!important;border-radius:8px!important;padding:.5rem .65rem!important;font-size:.85rem!important}.layout-more-menu button:hover:not(:disabled){background:#ffffff14!important}.layout-more-menu button:disabled{opacity:.4}.layout-more-menu button.danger{color:#ffb4b4!important}.layout-save-status{color:#9fd0c0;font-size:.78rem}.panel-chips{flex-wrap:wrap;flex:1;gap:.3rem;min-width:0;display:flex}.panel-chip{height:1.75rem;color:#9aa8a2!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important;border-radius:999px!important;padding:0 .65rem!important;font-size:.78rem!important}.panel-chip.on{color:#e8fff6!important;background:#14856747!important;border-color:#14856773!important}.recording-badge{color:#ffb0b0;background:#8c1e1e73;border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.rec-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.close-class-btn{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:.3rem;color:#ffd0d0!important;background:#8c23238c!important;border:1px solid #ff8c8c66!important;border-radius:9px!important;height:2rem!important;min-height:2rem!important;padding:0 .55rem!important;font-size:.78rem!important;font-weight:700!important;display:inline-flex!important}.close-class-btn:hover{color:#fff!important;background:#aa2828bf!important}.close-class-btn svg{flex-shrink:0;width:1.05rem;height:1.05rem;display:block}.rec-quality{width:auto;min-width:7rem;height:2rem;font-size:.8rem}.settings-fieldset{border:1px solid #ffffff1f;border-radius:10px;margin:.5rem 0;padding:.75rem 1rem}.settings-fieldset legend{padding:0 .35rem;font-weight:700}.form-row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.stream-quality-hint{margin:0 0 .85rem}.stream-quality-table{gap:.55rem;display:grid}.stream-quality-head,.stream-quality-row{grid-template-columns:6.5rem repeat(3,minmax(0,1fr));align-items:center;gap:.55rem;display:grid}.stream-quality-head{color:var(--muted);border-bottom:1px solid var(--line,#0000001f);padding-bottom:.25rem;font-size:.82rem;font-weight:600}.stream-quality-head span{text-align:center}.stream-quality-head span:first-child{text-align:start}.stream-quality-label{gap:.1rem;font-size:.92rem;font-weight:600;display:grid}.stream-quality-label small{color:var(--muted);font-size:.75rem;font-weight:400}.stream-quality-row label{margin:0;display:block}.stream-quality-row input{text-align:center;direction:ltr;width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.stream-quality-head,.stream-quality-row{grid-template-columns:5rem repeat(3,minmax(0,1fr));gap:.35rem}.stream-quality-head{font-size:.72rem}}.toolbar-row{flex-wrap:wrap;align-items:end;gap:.5rem;margin-bottom:.75rem;display:flex}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.breakout-badge{color:#ffe8b0;background:#e6b85c2e;border:1px solid #e6b85c66;border-radius:999px;padding:.12rem .55rem;font-size:.75rem;font-weight:700}.breakout-panel{background:#142822d9;border-bottom:1px solid #ffffff14;padding:.55rem .75rem}.breakout-panel.active{background:#1e3228eb}.breakout-menu{position:relative}.breakout-menu-btn{align-items:center;gap:.35rem;display:inline-flex!important}.breakout-menu-caret{opacity:.85;font-size:.75rem;transition:transform .15s}.breakout-menu-btn.open .breakout-menu-caret{transform:rotate(180deg)}.breakout-menu-dropdown{z-index:80;top:calc(100% + .35rem);background:linear-gradient(165deg,#1c342cfa,#0e1c18fc);border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:.75rem;width:min(300px,100vw - 1.5rem);padding:.85rem;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 16px 36px #0006}.bo-menu-head{flex-direction:column;gap:.2rem;display:flex}.bo-menu-kicker{letter-spacing:.02em;color:#8fb5a8;font-size:.72rem;font-weight:600}.bo-menu-title{color:#f2faf6;font-size:1rem;font-weight:800}.bo-menu-desc{color:#a7c0b6;margin:.15rem 0 0;font-size:.8rem;line-height:1.55}.bo-menu-block{background:#00000038;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:.55rem;padding:.65rem;display:flex}.bo-menu-label{color:#c5ddd3;font-size:.78rem;font-weight:700}.bo-count-row{grid-template-columns:2.4rem 1fr 2.4rem;align-items:center;gap:.45rem;display:grid}.bo-count-step{color:#e8f5f0!important;background:#ffffff14!important;border:1px solid #ffffff24!important;border-radius:10px!important;width:2.4rem!important;min-width:2.4rem!important;height:2.4rem!important;padding:0!important;font-size:1.25rem!important;line-height:1!important}.bo-count-step:hover:not(:disabled){background:#ffffff24!important}.bo-count-step:disabled{opacity:.35;cursor:not-allowed}.bo-count-value{background:#0f6b5638;border:1px solid #14856759;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:2.4rem;display:flex}.bo-count-value strong{color:#fff;font-size:1.25rem;line-height:1.1}.bo-count-value span{color:#9fd0c0;font-size:.72rem}.bo-preset-row{grid-template-columns:repeat(6,1fr);gap:.3rem;display:grid}.bo-preset{color:#d7ebe3!important;background:#ffffff0f!important;border:1px solid #ffffff1a!important;border-radius:8px!important;min-width:0!important;height:2rem!important;padding:0!important;font-size:.82rem!important;font-weight:700!important}.bo-preset:hover:not(:disabled){background:#ffffff1f!important}.bo-preset.on{color:#fff!important;background:#14856766!important;border-color:#78d2b473!important}.bo-start-btn{width:100%;background:var(--accent)!important;color:#fff!important;border:none!important;border-radius:11px!important;height:2.45rem!important;font-size:.9rem!important;font-weight:800!important}.bo-start-btn:hover:not(:disabled){background:var(--accent-2)!important}.bo-start-btn:disabled{opacity:.55;cursor:not-allowed}.breakout-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.breakout-head-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.breakout-start-row{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.breakout-start-row label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.breakout-start-row input{width:5rem;height:2rem}.breakout-rooms{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;margin-bottom:.55rem;display:grid}.breakout-room-card{background:#00000040;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.breakout-room-title{justify-content:space-between;gap:.35rem;font-size:.88rem;font-weight:700;display:flex}.breakout-here{color:#9fd0c0;font-size:.75rem}.breakout-members{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breakout-members li{justify-content:space-between;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.breakout-members select{width:auto;min-width:5.5rem;height:1.7rem;padding:0 .3rem;font-size:.75rem}.breakout-broadcast{gap:.4rem;display:flex}.breakout-broadcast input{flex:1;height:2rem}.danger-btn{height:2rem;color:#fff!important;background:#8b2e2e!important;border-color:#0000!important;border-radius:8px!important;padding:0 .7rem!important;font-size:.8rem!important}.chat-item.system{background:#e6b85c1f;border-radius:8px;padding:.35rem .45rem}.layout-editor-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.layout-editor-top{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.layout-editor-top label{flex:220px}.layout-editor-grid{grid-template-columns:minmax(220px,280px) 1fr;gap:1rem;display:grid}@media (width<=900px){.layout-editor-grid{grid-template-columns:1fr}}.layout-editor-side h3,.layout-editor-preview-wrap h3{margin:0 0 .5rem;font-size:.95rem}.layout-panel-list{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.layout-panel-item{border-radius:8px;align-items:center;gap:.35rem;padding:.2rem .35rem;display:flex}.layout-panel-item.active{background:#14856733}.layout-panel-item input{width:auto}.layout-panel-item .ghost{text-align:right;flex:1;padding:.25rem .4rem!important}.layout-geom-fields .geom-row{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.layout-preview{aspect-ratio:16/10;background:#0e1a16;border:1px solid #ffffff1f;border-radius:12px;width:100%;position:relative;overflow:hidden}.layout-preview-panel{color:#fff;opacity:.88;cursor:pointer;border:1px solid #ffffff59;border-radius:6px;padding:.2rem;font-size:.72rem;font-weight:700;position:absolute;overflow:hidden}.layout-preview-panel.selected{opacity:1;outline:2px solid #fff}.layout-preview-panel span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.layout-json-details{border-top:1px solid #ffffff14;padding-top:.75rem}.layout-json-details summary{cursor:pointer;color:#9fd0c0;margin-bottom:.5rem}.layout-json-details textarea{width:100%;margin-bottom:.5rem;font-family:ui-monospace,monospace}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#081411b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{width:min(440px,100%);color:var(--ink);border:1px solid var(--line);background:#f7fbf9;border-radius:20px;gap:.85rem;padding:1.25rem 1.35rem;display:grid;box-shadow:0 20px 50px #00000059}.modal-card h2{margin:0;font-size:1.2rem}.modal-card .ghost{color:var(--ink);border-color:var(--line)}.class-desktop{background:#00000026;border:1px solid #ffffff14;border-radius:14px;flex:1;min-height:70vh;margin:.7rem;display:grid;position:relative;overflow:hidden}.class-desktop.editable{touch-action:none}.panel{background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;min-height:120px;display:flex;overflow:hidden}.panel.floating{min-width:160px;min-height:120px;position:absolute;box-shadow:0 8px 24px #00000040}.panel header{-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.35rem;padding:.4rem .55rem .4rem .8rem;font-weight:700;display:flex}.panel header.draggable{cursor:move}.panel-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel-order-btns{flex-shrink:0;gap:.1rem;display:inline-flex}.panel-order-btn{opacity:.85;min-width:0!important;padding:.1rem .35rem!important;font-size:.7rem!important;line-height:1!important}.panel-order-btn:hover{opacity:1}.panel-body{flex-direction:column;flex:1;min-height:0;padding:.8rem;display:flex;overflow:hidden}.panel-body>*{flex:1;min-height:0}.resize-handle{cursor:nwse-resize;background:linear-gradient(135deg,#0000 45%,#ffffff73 46% 54%,#0000 55%) 100% 100%/12px 12px no-repeat,linear-gradient(135deg,#0000 45%,#ffffff73 46% 54%,#0000 55%) 100% 100%/8px 8px no-repeat,linear-gradient(135deg,#0000 45%,#ffffff8c 46% 54%,#0000 55%) 100% 100%/4px 4px no-repeat;border-radius:4px;width:16px;height:16px;position:absolute;bottom:4px;right:4px}.placeholder{text-align:center;color:#b7ccc4;border:1px dashed #ffffff26;border-radius:12px;place-items:center;height:100%;min-height:120px;padding:1rem;display:grid}.chat-panel,.media-panel{color:#edf6f2;flex-direction:column;gap:.55rem;height:100%;min-height:180px;display:flex}.chat-messages{flex:1;align-content:start;gap:.45rem;padding:.2rem;display:grid;overflow:auto}.chat-item{background:#ffffff0f;border-radius:10px;padding:.45rem .6rem}.chat-item.private{border:1px solid #ffc87859}.chat-meta{align-items:center;gap:.45rem;margin-bottom:.2rem;font-size:.85rem;display:flex}.chat-meta .tag{color:#ffd59a;background:#ffc87833;border-radius:999px;padding:0 .45rem;font-size:.75rem}.chat-form{gap:.45rem;display:grid}.chat-modes{flex-wrap:wrap;gap:.7rem;display:flex}.chat-input-row{grid-template-columns:1fr auto;gap:.4rem;display:grid}.chat-seg{background:#00000047;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.15rem;width:fit-content;max-width:100%;padding:.18rem;display:inline-flex}.chat-seg-btn{color:#9fb3ab!important;background:0 0!important;border:none!important;border-radius:8px!important;height:1.85rem!important;min-height:1.85rem!important;padding:0 .85rem!important;font-size:.8rem!important;font-weight:600!important}.chat-seg-btn.on{color:#e8fff6!important;background:#14856773!important}.chat-seg-btn:hover:not(.on){color:#edf6f2!important;background:#ffffff0f!important}.chat-select{height:2.15rem;color:#edf6f2!important;background:#0000004d!important;border:1px solid #ffffff24!important;border-radius:10px!important;padding:0 .7rem!important;font-size:.85rem!important}.chat-compose{grid-template-columns:1fr auto;align-items:stretch;gap:.4rem;display:grid}.chat-compose input{height:2.35rem;color:#edf6f2!important;background:#0000004d!important;border:1px solid #ffffff24!important;border-radius:11px!important;padding:0 .85rem!important;font-size:.9rem!important}.chat-compose input::placeholder{color:#7f948c}.chat-compose input:focus{outline:none;box-shadow:0 0 0 2px #14856733;border-color:#148567a6!important}.chat-send{white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;background:var(--accent)!important;color:#fff!important;border:1px solid #0000!important;border-radius:11px!important;height:2.35rem!important;min-height:2.35rem!important;padding:0 .9rem!important;font-size:.85rem!important;font-weight:700!important;display:inline-flex!important}.chat-send svg{width:1.05rem;height:1.05rem;display:block;transform:scaleX(-1)}.chat-send:hover:not(:disabled){background:var(--accent-2,#12856a)!important}.chat-send:disabled{opacity:.45}.media-controls{flex-wrap:wrap;gap:.4rem;display:flex}.webcam-panel{min-height:0}.video-grid{flex:1;align-content:stretch;gap:.4rem;height:100%;min-height:0;display:grid;overflow:hidden}.video-grid.cols-1,.screen-grid{grid-template-columns:1fr}.screen-tile{aspect-ratio:16/9;min-height:160px}.video-tile{cursor:pointer;background:#0a1a16;border:1px solid #ffffff1a;border-radius:10px;min-height:0;position:relative;overflow:hidden}:is(.video-tile:fullscreen,.video-tile:fullscreen){background:#000;border-radius:0;width:100vw;height:100vh}.video-tile video{object-fit:contain;background:#000;width:100%;height:100%}.fs-close-btn{top:max(.75rem, env(safe-area-inset-top,0px));z-index:5;cursor:pointer;width:2.6rem;min-width:2.6rem;height:2.6rem;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:max(.75rem, env(safe-area-inset-right,0px));color:#fff!important;background:#000000a6!important;border:1px solid #ffffff40!important;border-radius:999px!important;padding:0!important;font-size:1.6rem!important;line-height:1!important}.fs-close-btn:hover{background:#b42318d9!important}.media-max-btn{z-index:3;cursor:pointer;opacity:.85;top:.55rem;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;display:inline-flex;position:absolute;inset-inline-end:.55rem;color:#fff!important;background:#0000008c!important;border:1px solid #ffffff38!important;border-radius:8px!important;padding:0!important}.media-max-btn svg{width:1.05rem;height:1.05rem;display:block}.media-max-btn:hover{opacity:1;background:#000000bf!important}:is(.shared-media-wrap:fullscreen,.shared-media-wrap:fullscreen){background:#000;border-radius:0;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}:is(.shared-media-wrap:fullscreen .shared-video,.shared-media-wrap:fullscreen .shared-video){border-radius:0;width:100%;height:100%;min-height:0;max-height:100%}.video-label{background:#0000008c;padding:.25rem .45rem;font-size:.8rem;position:absolute;bottom:0;left:0;right:0}.participants-box{border-top:1px solid #ffffff14;margin-top:.3rem;padding-top:.45rem}.participants-box h4,.screen-area h4{margin:0 0 .4rem}.participants-panel{min-height:0}.participants-panel .participant-list{flex:1;align-content:start;gap:.35rem;min-height:0;max-height:none;display:grid;overflow:auto}.participant-list{gap:.4rem;max-height:160px;display:grid;overflow:auto}.participant-group{gap:.3rem;display:grid}.participant-group+.participant-group{border-top:1px solid #ffffff14;margin-top:.35rem;padding-top:.4rem}.participant-group-title{color:#9fd0c0;letter-spacing:.01em;opacity:.95;padding:0 .15rem .1rem;font-size:.72rem;font-weight:700}.participant-row{background:#ffffff0a;border-radius:8px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.participant-row.is-offline{opacity:.62;background:#b45a4614}.part-offline{color:#e8a090;flex-shrink:0;align-items:center;gap:.2rem;display:inline-flex}.part-offline-icon{width:14px;height:14px;display:block}.part-offline-label{letter-spacing:.01em;font-size:.68rem;font-weight:700}.participant-main{flex:auto;align-items:center;gap:.45rem;min-width:0;display:flex}.participant-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.part-role-tag{color:#9fd0c0;white-space:nowrap;background:#14856733;border:1px solid #14856759;border-radius:999px;flex:none;padding:.05rem .4rem;font-size:.68rem;font-weight:700}.part-av-status{flex:none;align-items:center;gap:.2rem;display:inline-flex}.part-av{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;display:inline-flex}.part-av.on{color:#6ee7b7;background:#14856738}.part-av.off{color:#8a9691;opacity:.75;background:#ffffff0d}.part-av-icon{width:.9rem;height:.9rem;display:block}.perm-checks{flex-wrap:wrap;gap:.45rem;display:flex}.chat-panel input,.chat-panel select,.media-panel input,.media-panel select{color:#edf6f2;background:#00000040;border-color:#fff3}.class-mobile{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.mobile-tabs{touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid #ffffff14;flex:none;gap:.4rem;padding:.45rem .65rem;display:flex;overflow:auto hidden}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tabs button{color:#dcece6;white-space:nowrap;touch-action:manipulation;background:#ffffff14;border-radius:999px;flex:none;min-height:2.65rem;padding:.65rem .95rem;font-size:.88rem}.mobile-tabs button.active{background:var(--accent);color:#fff}.mobile-panel{touch-action:pan-y;flex-direction:column;flex:1;min-height:0;padding:.45rem .5rem .25rem;display:flex;overflow:hidden}.mobile-panel.slide-next .panel-body{animation:.16s ease-out mobile-tab-in-next}.mobile-panel.slide-prev .panel-body{animation:.16s ease-out mobile-tab-in-prev}@keyframes mobile-tab-in-next{0%{opacity:.55;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes mobile-tab-in-prev{0%{opacity:.55;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.mobile-panel .panel-body{flex:1;height:100%;min-height:0;padding:.35rem}.mobile-swipe-hint{text-align:center;color:#b9d2c88c;-webkit-user-select:none;user-select:none;flex:none;margin:0;padding:.15rem .75rem .35rem;font-size:.72rem}.layout-bar-toggle{width:100%;min-height:2.5rem;color:#dcece6!important;background:#ffffff14!important;border:1px solid #ffffff1f!important;border-radius:10px!important;padding:.55rem .75rem!important;font-size:.88rem!important}.wb-panel,.share-panel{color:#edf6f2;flex-direction:column;gap:.35rem;height:100%;min-height:0;display:flex}.wb-toolbar,.share-controls,.panel-tools{flex-wrap:wrap;flex:none;align-items:center;gap:.4rem;display:flex}.panel-tools{padding:.15rem .05rem .2rem}.ptool-group{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.ptool-group.page-nav{background:#00000038;border:1px solid #ffffff1a;border-radius:10px;gap:.15rem;margin-inline-start:auto;padding:.15rem}.ptool{white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.35rem;margin:0;line-height:1;color:#d7ebe3!important;background:#ffffff12!important;border:1px solid #ffffff1f!important;border-radius:9px!important;height:2rem!important;min-height:2rem!important;padding:0 .65rem!important;font-size:.78rem!important;font-weight:600!important;display:inline-flex!important}.ptool svg{flex-shrink:0;width:.95rem;height:.95rem;display:block}.ptool:hover:not(:disabled){color:#fff!important;background:#ffffff24!important}.ptool.primary{color:#e8fff6!important;background:#1485678c!important;border-color:#148567a6!important}.ptool.primary:hover:not(:disabled){background:#148567bf!important}.ptool.danger{color:#ffc9c5!important;background:#8c282838!important;border-color:#ff8c8c47!important}.ptool.danger:hover:not(:disabled){color:#fff!important;background:#a02d2d66!important}.ptool.playing{color:#ffe0c2!important;background:#b45a2866!important;border-color:#ffaa6459!important}.ptool.icon-only{width:1.85rem!important;min-width:1.85rem!important;padding:0!important}.ptool-page{text-align:center;color:#cfe6dc;font-variant-numeric:tabular-nums;min-width:3.2rem;font-size:.78rem;font-weight:700}.ptool-hint{color:#8fa59c;font-size:.75rem}.ptool-hint.warn{color:#fbbf24}label.ptool{margin:0;font-weight:600}.wb-toolbar button.active{background:var(--accent);color:#fff}.wb-width{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.wb-colors{gap:.25rem;display:flex}.wb-swatch{border:2px solid #0000;border-radius:6px;width:22px;height:22px;padding:0}.wb-swatch.active{border-color:#fff}.wb-canvas-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#f7faf8;border-radius:10px;flex:auto;min-height:160px;position:relative;overflow:hidden}.wb-canvas-wrap canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;min-height:160px;display:block}.panel-whiteboard .panel-body{padding:.45rem}.panel-whiteboard{min-width:280px;min-height:220px}.conn-meter{box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:.3rem;height:2rem;padding:0 .5rem;font-size:.78rem;display:inline-flex}.conn-bars{align-items:flex-end;gap:2px;height:16px;display:flex}.conn-bar{background:#fff3;border-radius:2px;width:3px}.conn-bar.on{background:currentColor}.conn-meter.ok{color:#6ee7b7}.conn-meter.mid{color:#fbbf24}.conn-meter.weak{color:#fb923c}.conn-meter.bad{color:#fca5a5}.conn-label{white-space:nowrap}.conn-retry{padding:.2rem .45rem!important;font-size:.75rem!important}.share-panel{flex-direction:column;gap:.45rem}.share-panel.stacked{flex-direction:column}.share-main{flex-direction:column;flex:1;gap:.4rem;min-width:0;min-height:0;display:flex}.file-btn{background:var(--accent);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:.4rem .75rem;font-size:.85rem;display:inline-flex}.file-list{flex:1;align-content:start;gap:.35rem;display:grid;overflow:auto}.modal-file-list{max-height:50vh}.file-row{background:#ffffff0d;border-radius:8px;gap:.2rem;padding:.3rem;display:grid}.file-row.active{outline:1px solid #148567b3}.file-row button.ghost{text-align:right;gap:.1rem;width:100%;padding:.25rem .35rem;display:grid}.file-row .danger{color:#ffb4b0}.pdf-scroll{text-align:center;-webkit-overflow-scrolling:touch;background:#111;border-radius:10px;flex:1;min-height:160px;overflow:auto}.pdf-scroll canvas,.pdf-page-img{max-width:100%;height:auto;margin:0 auto;display:block}.pdf-page-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff}.pdf-frame{background:#111;border:0;border-radius:10px;flex:1;width:100%;min-height:180px}.btn-label-short,.top-menu-backdrop{display:none}.mgr-mobile{position:relative}.mgr-mobile-trigger{white-space:nowrap}.mgr-mobile-layer{z-index:120;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mgr-mobile-scrim{cursor:pointer;margin:0;position:absolute;inset:0;box-shadow:none!important;opacity:1!important;background:#0000009e!important;border:none!important;border-radius:0!important;padding:0!important}.mgr-mobile-sheet{z-index:1;width:100%;max-width:560px;max-height:min(78dvh,640px);padding:.35rem .85rem calc(.85rem + env(safe-area-inset-bottom,0px));padding-bottom:calc(.85rem + 4.2rem + env(safe-area-inset-bottom,0px));background:linear-gradient(#1a3530 0%,#102822 100%);border:1px solid #ffffff1f;border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;display:flex;position:relative;box-shadow:0 -12px 40px #00000073}.mgr-mobile-handle{background:#ffffff47;border-radius:999px;width:2.4rem;height:.28rem;margin:.25rem auto .55rem}.mgr-mobile-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.mgr-mobile-head strong{color:#f2faf6;font-size:1.05rem}.mgr-mobile-close{color:#d7ebe3!important;background:#ffffff1a!important;border:1px solid #ffffff38!important;border-radius:999px!important;padding:.3rem .7rem!important;font-size:.85rem!important;font-weight:700!important}.mgr-mobile-close:hover{color:#fff!important;background:#ffffff2e!important}.mgr-mobile-tabs{background:#00000047;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:.3rem;margin-bottom:.75rem;padding:.25rem;display:grid}.mgr-mobile-tabs:has(button:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.mgr-mobile-tabs button{min-height:2.45rem;color:#b7ccc4!important;background:0 0!important;border:none!important;border-radius:10px!important;font-size:.88rem!important;font-weight:700!important}.mgr-mobile-tabs button.on{color:#fff!important;background:#14856773!important}.mgr-mobile-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.mgr-mobile-section{flex-direction:column;gap:.7rem;display:flex}.mgr-mobile-hint{color:#a7c0b6;margin:0;font-size:.86rem;line-height:1.55}.mgr-mobile-field{color:#c5ddd3;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:700;display:flex}.mgr-mobile-field .template-select{color:#edf6f2;background:#00000059;border:1px solid #ffffff24;border-radius:9px;width:100%;max-width:none;height:2.1rem;padding:0 .55rem;font-size:.84rem}.mgr-mobile-actions{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.mgr-mobile-actions .layout-btn{height:auto;min-height:2.55rem;font-size:.88rem!important}.mgr-mobile-manage{gap:.4rem}.mgr-mobile-item{width:100%;min-height:2.85rem;text-align:right!important;color:#edf6f2!important;background:#ffffff12!important;border:1px solid #ffffff1a!important;border-radius:12px!important;justify-content:flex-start!important;padding:.7rem .9rem!important;font-size:.95rem!important}.mgr-mobile-item.danger{color:#ffb4b4!important;background:#78232347!important;border-color:#ff8c8c47!important}.mgr-mobile-sep{background:#ffffff1a;height:1px;margin:.2rem 0}@media (width<=900px){.classroom{height:100dvh;max-height:100dvh;padding-bottom:calc(3.85rem + env(safe-area-inset-bottom,0px));overflow:hidden}.class-top{padding:.4rem .55rem;padding-top:max(.4rem, env(safe-area-inset-top,0px));z-index:60;flex-flow:wrap;flex:none;align-items:center;gap:.35rem .55rem;position:relative}.class-brand{flex:auto;min-width:0}.class-brand img{width:32px;height:32px}.class-brand strong{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.25;display:-webkit-box;overflow:hidden}.class-user-row{gap:.35rem}.class-user-row .muted{font-size:.75rem}.class-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;width:100%;overflow:visible}.mgr-menu-btn{height:2rem!important;min-height:2rem!important;padding:0 .65rem!important;font-size:.8rem!important}.close-class-btn{border-radius:9px!important;height:2rem!important;min-height:2rem!important;padding:0 .55rem!important;font-size:.75rem!important}.close-class-btn svg{width:.95rem;height:.95rem}.rec-controls{flex-wrap:nowrap;flex:none;align-items:center;gap:.3rem;display:flex}.av-shortcuts{z-index:70;order:unset;padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);background:#081612f0;border-top:1px solid #ffffff1a;justify-content:center;align-items:center;gap:.85rem;display:flex;position:fixed;bottom:0;left:0;right:0}.av-btn{flex:none;padding:.45rem .55rem!important}.av-btn.icon-btn{width:3.05rem;min-width:3.05rem;height:3.05rem;border-radius:14px!important}.av-btn.icon-btn svg{width:1.35rem;height:1.35rem}.conn-meter{order:unset;flex-shrink:0}.bo-preset-row{grid-template-columns:repeat(3,1fr)}.bo-start-btn,.bo-count-step,.bo-count-value{min-height:2.55rem}.panels-bar.collapsed{padding-bottom:.4rem}.layout-bar{flex:none;gap:.4rem;padding:.4rem .55rem .5rem}.panels-bar{flex:none;gap:.35rem;padding:.35rem .55rem .45rem}.layout-bar.collapsed,.panels-bar.collapsed{padding-bottom:.4rem}.layout-bar-actions{width:100%;margin-inline-start:0}.layout-more-menu{left:auto;right:0}.template-select{flex:140px;min-width:0;max-width:none}.panel-chips{overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:.15rem;overflow-x:auto}.panel-chip{flex:none;min-height:2.2rem}.breakout-panel{-webkit-overflow-scrolling:touch;max-height:28dvh;overflow:auto}.class-mobile{min-height:0}.video-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.3rem}.participants-panel{height:100%;max-height:none}.participants-panel .participant-list{-webkit-overflow-scrolling:touch;flex:1;max-height:none;overflow:auto}.participant-row{min-height:2.6rem;padding:.45rem .5rem;font-size:.92rem}.chat-readonly{text-align:center;padding:.35rem .2rem}.chat-panel{height:100%;min-height:0}.chat-messages{-webkit-overflow-scrolling:touch}.chat-form{gap:.4rem;padding-bottom:.15rem}.chat-input-row input,.chat-input-row button{min-height:2.55rem}.share-panel,.wb-panel,.chat-panel,.media-panel{height:100%;min-height:0}.share-main,.pdf-scroll,.wb-canvas-wrap,.shared-video{flex:1;min-height:0}.share-controls,.wb-toolbar,.panel-tools{gap:.35rem;max-height:none;padding:.35rem .2rem}.share-controls button,.share-controls .file-btn,.wb-toolbar button,.ptool{min-height:2.35rem;padding:.5rem .7rem;font-size:.84rem}.ptool{height:2.2rem!important;min-height:2.2rem!important}.ptool.icon-only{width:2.2rem!important;min-width:2.2rem!important;padding:0!important}.wb-swatch{width:28px;height:28px}.media-seek input[type=range]{min-height:1.5rem}}@media (width<=900px) and (orientation:landscape){.classroom{padding-bottom:calc(2.25rem + env(safe-area-inset-bottom,0px))}.class-top{padding:.12rem .35rem;padding-top:max(.12rem, env(safe-area-inset-top,0px));flex-wrap:nowrap;gap:.2rem .4rem;padding-inline-start:max(.35rem, env(safe-area-inset-left,0px));padding-inline-end:max(.35rem, env(safe-area-inset-right,0px))}.class-brand{flex:0 auto;gap:.3rem;max-width:42%}.class-brand img{display:none}.class-brand strong{-webkit-line-clamp:1;font-size:.75rem}.class-user-row{display:none}.class-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;gap:.2rem;width:auto;min-width:0}.mgr-mobile-sheet{padding-bottom:calc(.65rem + 2.6rem + env(safe-area-inset-bottom,0px));max-height:min(85dvh,420px)}.av-shortcuts{padding:.15rem .55rem calc(.15rem + env(safe-area-inset-bottom,0px));gap:.4rem}.av-btn.icon-btn{width:2.05rem;min-width:2.05rem;height:2.05rem;border-radius:8px!important}.av-btn.icon-btn svg{width:1rem;height:1rem}.conn-meter{gap:.2rem;padding:.08rem .3rem;font-size:.68rem}.conn-bars{height:11px}.conn-bar{width:2px}.conn-label{display:none}.conn-retry{padding:.08rem .28rem!important;font-size:.65rem!important}.rec-controls{gap:.15rem}.rec-quality{display:none}.mgr-menu-btn{height:1.7rem!important;min-height:1.7rem!important;padding:0 .45rem!important;font-size:.72rem!important}.recording-badge,.breakout-badge{padding:.02rem .3rem;font-size:.62rem}.layout-bar{gap:.2rem;padding:.15rem .35rem .2rem}.layout-bar-toggle{min-height:1.5rem;padding:.1rem .4rem!important;font-size:.7rem!important}.layout-bar-row{gap:.25rem .35rem}.layout-btn,.template-select{height:1.5rem;padding:0 .4rem!important;font-size:.7rem!important}.panel-chip{height:1.4rem;min-height:1.4rem;padding:0 .4rem!important;font-size:.68rem!important}.breakout-panel{max-height:16dvh;padding:.2rem .4rem}.breakout-head{gap:.25rem;margin-bottom:.15rem}.breakout-head-actions button,.breakout-start-row button,.breakout-start-row input{height:1.5rem;padding:0 .35rem;font-size:.7rem}.mobile-tabs{gap:.2rem;padding:.1rem .35rem}.mobile-tabs button{min-height:1.55rem;padding:.18rem .5rem;font-size:.72rem}.mobile-panel{padding:.1rem .25rem 0}.mobile-panel .panel-body{padding:.1rem}.mobile-swipe-hint{display:none}.share-controls,.wb-toolbar,.panel-tools{gap:.15rem;padding:.05rem 0}.share-controls button,.share-controls .file-btn,.wb-toolbar button,.ptool{min-height:1.5rem;padding:.15rem .35rem;font-size:.7rem}.ptool{gap:.2rem;height:1.65rem!important;min-height:1.65rem!important}.ptool svg{width:.8rem;height:.8rem}.ptool.icon-only{width:1.65rem!important;min-width:1.65rem!important;padding:0!important}.ptool-page{min-width:2.6rem;font-size:.7rem}.chat-send{height:2rem!important;min-height:2rem!important;padding:0 .65rem!important;font-size:.78rem!important}.chat-compose input{height:2rem;font-size:.82rem!important}.chat-seg-btn{height:1.65rem!important;min-height:1.65rem!important;padding:0 .65rem!important;font-size:.72rem!important}.wb-swatch{width:18px;height:18px}.wb-width{max-width:64px}.media-seek{gap:.25rem;font-size:.7rem}.media-seek input[type=range]{min-height:1rem}.chat-input-row input,.chat-input-row button{min-height:1.75rem;font-size:.8rem}.participant-row{min-height:1.75rem;padding:.2rem .35rem;font-size:.8rem}.alert{margin:0;padding:.25rem .4rem;font-size:.74rem}}.shared-media-wrap{flex:1;justify-content:center;align-items:center;width:100%;min-height:140px;display:flex;position:relative}.shared-video{object-fit:contain;pointer-events:auto;backface-visibility:hidden;background:#000;border-radius:10px;flex:1;width:100%;min-height:140px;max-height:100%;transform:translateZ(0)}.media-gesture-btn{z-index:2;color:#e8fff6;width:max-content;max-width:90%;height:max-content;font:inherit;cursor:pointer;background:#0c2820e0;border:0;border-radius:10px;margin:auto;padding:.75rem 1.1rem;position:absolute;inset:0}.shared-video.audio-only{object-fit:none;background:#0d1814;flex:none;height:52px;min-height:52px}.share-panel audio{pointer-events:none;width:100%}.media-seek{grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;font-size:.85rem;display:grid}.media-seek input[type=range]{width:100%}.cm-modal-backdrop{z-index:80;background:#0a18148c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cm-modal{color:#edf6f2;width:min(420px,100%);max-height:min(70vh,560px);box-shadow:var(--shadow);background:#14352d;border:1px solid #ffffff1f;border-radius:14px;gap:.65rem;padding:.85rem;display:grid;overflow:auto}.cm-modal-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}@media (width>=901px){.classroom{padding-bottom:0}.mobile-swipe-hint{display:none}}.split-2{grid-template-columns:1fr 1.1fr;align-items:start;gap:1rem;display:grid}.selected-row{background:#eef8f3}button.linkish{color:var(--accent);text-align:right;background:0 0;border:0;padding:0}button.linkish:hover{background:0 0;text-decoration:underline}@media (width<=900px){.member-row,.split-2{grid-template-columns:1fr}}.reg-shell{flex-direction:column;min-height:100vh;display:flex}.reg-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#ffffffd1;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.reg-top-meta{flex-wrap:wrap;align-items:baseline;gap:.25rem .65rem;min-width:0;display:flex}.reg-top-meta strong{font-size:.98rem;line-height:1.3;display:inline}.reg-top-meta .small{margin:0;line-height:1.3}.reg-top-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.ghost-link{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:12px;padding:.45rem .75rem}.reg-main{flex:1;width:100%;min-width:0;max-width:720px;margin:0 auto;padding:1rem;overflow-x:clip}.reg-stack{gap:.85rem;min-width:0;display:grid}.reg-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:.65rem;min-width:0;max-width:100%;padding:1rem;display:grid;overflow-x:clip}.reg-card h2,.reg-card h3{margin:0}.reg-card-link{background:var(--surface);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow);border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.reg-card-link:hover{border-color:var(--accent)}.reg-tabs{border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#ffffffeb;gap:.35rem;padding:.55rem .75rem;display:flex;overflow-x:auto}.reg-tabs::-webkit-scrollbar{display:none}.reg-tabs a,.reg-tabs button{flex:1 0 auto;min-width:4.6rem}.reg-tabs.sticky{z-index:15;position:sticky;top:64px}.reg-tabs button,.reg-tabs a{text-align:center;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:.55rem .4rem;font-weight:500;text-decoration:none}.reg-tabs button.active,.reg-tabs a.active{background:var(--accent);color:#fff}.reg-list{gap:.55rem;display:grid}.reg-list.tight{gap:.4rem}.reg-row,.reg-student-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.reg-student-row{flex-wrap:wrap}.reg-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.reg-inline{align-items:center;gap:.5rem;display:flex}.reg-inline.between{justify-content:space-between}.reg-inline input[type=date],.reg-inline input:not([type]){flex:1}.reg-inline select{flex:1;min-width:9rem}.subject-teacher-field{gap:.25rem;margin-top:.55rem;display:grid}.subject-teacher-field select{max-width:18rem}.subject-row{align-items:flex-start}.reg-chips{flex-wrap:wrap;gap:.4rem;display:flex}.reg-chips .active-chip,button.active-chip{border-color:var(--accent);color:var(--accent);background:#e8f6f1}.reg-chip{background:#eef3f1;border-radius:999px;padding:.25rem .65rem;font-size:.85rem}.reg-chip.status-1{color:var(--ok);background:#dcfae6}.reg-chip.status-2{color:var(--danger);background:#fee4e2}.reg-chip.status-3{color:#b54708;background:#fef0c7}.reg-chip.status-4{color:#026aa2;background:#e0f2fe}.reg-status-btns{flex-wrap:wrap;gap:.3rem;display:flex}.status-btn{color:var(--ink);background:#f3f6f5;border-radius:10px;padding:.35rem .55rem;font-size:.8rem}.status-btn.on.status-1{color:#fff;background:#067647}.status-btn.on.status-2{color:#fff;background:#b42318}.status-btn.on.status-3{color:#fff;background:#b54708}.status-btn.on.status-4{color:#fff;background:#026aa2}.grade-input{text-align:center;max-width:110px}.home-topbar-actions{align-items:center;gap:.5rem;display:flex}.home-staff-link{white-space:nowrap;padding:.45rem .8rem;font-size:.9rem}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.admin-toolbar .file-btn,.admin-page .file-btn{border:1px solid var(--admin-line,var(--line));cursor:pointer;color:#fff;background:#245f7a;border-radius:12px;justify-content:center;align-items:center;padding:.55rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.admin-toolbar .file-btn:hover,.admin-page .file-btn:hover{filter:brightness(1.05)}.admin-users-search{width:min(100%,22rem);margin-bottom:.15rem}.user-pass-modal.cm-modal{flex-direction:column;gap:.65rem;width:min(440px,100%);max-height:min(90vh,640px);display:flex;overflow:auto}.user-pass-modal.cm-modal:has(.cm-modal-body){overflow:hidden}.user-pass-modal .cm-modal-head{flex-shrink:0}.user-pass-modal .cm-modal-body{flex:1;gap:.65rem;min-height:0;padding-inline-end:.15rem;display:grid;overflow:auto}.user-pass-modal .cm-modal-body .actions{background:#fff;padding-top:.35rem;position:sticky;bottom:0}.reg-search{width:100%}.discipline-page .reg-card>.reg-inline.between{align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.discipline-page .reg-card>.reg-inline.between h3{margin:0}.discipline-page .reg-card>.reg-inline.between .muted{margin:.2rem 0 0}.discipline-filters{grid-template-columns:minmax(10rem,1.4fr) minmax(9rem,1fr) minmax(9rem,1fr) auto;align-items:end;gap:.65rem .75rem;display:grid}.discipline-filter-field{gap:.35rem;min-width:0;display:grid}.discipline-filter-field>span,.discipline-filter-field .jdate-label,.discipline-filter-field .search-select-label{color:var(--muted);font-size:.88rem}.discipline-filter-field select,.discipline-filter-field .search-select-trigger{width:100%;min-width:0}.discipline-filter-actions{align-items:end;padding-bottom:.1rem;display:flex}.discipline-form-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.65rem .75rem;display:grid}.discipline-item{align-items:flex-start}.discipline-item-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.discipline-item-note{color:var(--text,inherit);white-space:pre-wrap;margin:.35rem 0 0;font-size:.9rem}@media (width<=720px){.discipline-filters{grid-template-columns:1fr 1fr}.discipline-filter-actions{grid-column:1/-1}.discipline-form-row{grid-template-columns:1fr}.discipline-item{flex-direction:column}}@media (width<=420px){.discipline-filters{grid-template-columns:1fr}}.reg-student-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem;display:flex}.reg-student-card-main{gap:.15rem;min-width:0;display:grid}.reg-student-card-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reg-touch-btn{white-space:nowrap;border-radius:12px;min-width:44px;min-height:44px;padding:.65rem .95rem}.reg-touch-btn.primary{background:var(--accent);color:#fff}.reg-touch-btn.secondary{color:#fff;background:#245f7a}.reg-sheet-backdrop{z-index:80;background:#0f1e1a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.reg-sheet{background:var(--surface);border-radius:20px 20px 0 0;width:min(560px,100%);max-height:min(92vh,760px);padding:.5rem 1rem 1.25rem;overflow:auto;box-shadow:0 -8px 30px #0000002e}.reg-sheet-handle{background:#c9d7d0;border-radius:99px;width:42px;height:4px;margin:.35rem auto .65rem}.reg-sheet-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.reg-sheet-form{gap:.75rem;display:grid}.reg-sheet-actions{padding-bottom:env(safe-area-inset-bottom,0);gap:.55rem;margin-top:.25rem;display:grid}@media (width>=720px){.reg-sheet-backdrop{align-items:center;padding:1rem}.reg-sheet{border-radius:20px;max-height:85vh}.reg-sheet-handle{display:none}}@media (width<=520px){.reg-tabs{grid-template-columns:unset}.home-topbar{flex-wrap:wrap}.reg-main{padding:.75rem}.reg-inline{flex-wrap:wrap}.reg-status-btns{width:100%}.status-btn{flex:calc(50% - .3rem)}}.teach-shell{background:radial-gradient(circle at 12% 0,#d9eee6 0%,#0000 42%),radial-gradient(circle at 90% 8%,#d7e4f4 0%,#0000 38%),linear-gradient(#eef3f1,#e4ebe7);flex-direction:column;min-height:100vh;display:flex}.teach-top{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef3f1eb;border-bottom:1px solid #c9d7d0b3;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:1rem 1rem .75rem;display:flex;position:sticky;top:0}.teach-top.compact{align-items:center}.teach-top.sticky-top{box-shadow:0 4px 16px #17302a0a}.teach-top-text{flex:1;min-width:0}.teach-top h1{margin:0;font-size:clamp(1.25rem,4.5vw,1.65rem);line-height:1.35}.teach-hello{color:var(--muted);margin:0 0 .15rem;font-size:.92rem}.teach-back{display:none}.app-page-header{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef4f2f5;border-bottom:1px solid #c9d7d0bf;position:sticky;top:0;box-shadow:0 2px 12px #17302a0a}.app-page-header.staff{background:#eef3f1f5}.app-text-link{cursor:pointer;text-underline-offset:3px;border:none;align-items:center;gap:.35rem;padding:0;font-size:.92rem;font-weight:600;text-decoration:underline;display:inline-flex;color:var(--accent)!important;background:0 0!important}.app-text-link:hover{color:var(--accent-2)!important}.app-bottom-nav{z-index:50;padding:.6rem 1rem calc(.65rem + env(safe-area-inset-bottom));bottom:0;background:#fff;border-top:2px solid #d4e3dc;grid-auto-columns:1fr;grid-auto-flow:column;gap:.5rem;display:grid;position:fixed;inset-inline:0;box-shadow:0 -10px 28px #17302a1a}.app-bottom-nav-item{min-height:56px;color:var(--muted);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.45rem .5rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-bottom-nav-item:hover{color:var(--accent);background:#f3faf7}.app-bottom-nav-item.active{color:var(--accent);background:#e8f5ef;box-shadow:inset 0 0 0 1px #b7d9c8}.app-bottom-nav-icon{font-size:1.4rem;line-height:1}.staff-app{background:radial-gradient(circle at 12% 0,#d9eee6 0%,#0000 42%),radial-gradient(circle at 90% 8%,#d7e4f4 0%,#0000 38%),linear-gradient(#eef3f1,#e4ebe7);flex-direction:column;min-height:100vh;display:flex}.staff-app-main{flex:1;align-content:start;gap:.85rem;width:min(720px,100%);margin:0 auto;padding:.85rem 1rem 6.5rem;display:grid}.staff-hub-role{margin:0 0 .75rem}.app-page-header-main{align-items:flex-start;gap:.65rem;padding:.8rem 1rem .85rem;display:flex}.app-page-header-leading,.app-page-header-trailing{flex-shrink:0}.app-page-header-text{flex:1;min-width:0}.app-page-header-text h1{color:var(--ink);margin:0;font-size:clamp(1.12rem,4vw,1.48rem);line-height:1.35}.app-page-header-text p{color:var(--muted);margin:.22rem 0 0;font-size:.86rem;line-height:1.5}.page-back-link{display:contents}.page-back{max-width:100%;box-shadow:none;color:#007aff;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;direction:ltr;border:none;border-radius:0;align-items:center;gap:.18rem;margin:0;padding:.35rem .2rem;font-size:17px;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex;background:0 0!important}.page-back:hover{color:#007aff;opacity:.7;background:0 0!important}.page-back:active{opacity:.35;color:#007aff;background:0 0!important}.page-back-chevron{flex-shrink:0;width:12px;height:20px;margin-inline-end:.05rem;display:block}.page-back-label{text-align:start;text-overflow:ellipsis;white-space:nowrap;direction:rtl;font-size:17px;font-weight:400;line-height:1.25;overflow:hidden}.app-page-header.has-back .app-page-header-main{min-height:3.1rem;position:relative}.app-page-header-back{z-index:2;max-width:min(62vw,15.5rem);position:absolute;top:50%;left:.55rem;transform:translateY(-50%)}.app-page-header.has-back .app-page-header-text{padding-left:min(62vw,15.5rem)}.app-page-header.has-back.staff .app-page-header-leading{display:none}.stu-hw-detail>.page-back,.reg-card>.page-back{align-self:start;margin-bottom:.75rem}.teach-main{flex:1;width:min(720px,100%);margin:0 auto;padding:1rem 1rem 2rem}.teach-main.tool{padding-top:.75rem}.teach-section{margin-bottom:1.4rem}.teach-section-title{margin:0 0 .75rem;font-size:1.05rem}.teach-class-list,.teach-hub-grid{gap:.85rem;display:grid}.teach-class-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;gap:.9rem;padding:1rem;display:grid}.teach-class-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.teach-class-card h3{margin:0;font-size:1.2rem}.teach-status{border-radius:999px;flex-shrink:0;padding:.28rem .7rem;font-size:.82rem;font-weight:600}.teach-status.on{color:var(--ok);background:#dcfae6}.teach-status.off{color:var(--muted);background:#eef2f0}.teach-class-actions{gap:.55rem;display:grid}.teach-class-actions-row{grid-template-columns:1fr;gap:.55rem;display:grid}.teach-class-actions-row.dual{grid-template-columns:1fr 1fr}@media (width<=420px){.teach-class-actions-row.dual{grid-template-columns:1fr}}.teach-btn{text-align:center;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.teach-btn.primary{background:var(--accent);color:#fff}.teach-btn.primary:hover{background:var(--accent-2)}.teach-btn.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.teach-btn.secondary:hover{color:var(--ink);background:#eef8f4}.teach-btn.live{color:#fff;background:#1f6f8b}.teach-btn.ghost{color:var(--ink);border:1px solid var(--line);background:#fff}.teach-btn.ghost:hover{color:var(--ink);background:#eef8f4}.teach-btn.disabled{color:var(--muted);cursor:default;background:#eef2f0}.teach-btn.full{width:100%}.teach-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:18px;padding:2rem 1rem}.teach-live-banner{background:linear-gradient(135deg,#e8f6f1,#e7f1f7);border:1px solid #c7ddd5;border-radius:18px;gap:.75rem;margin-bottom:1.1rem;padding:1rem;display:grid}.teach-hub-grid{grid-template-columns:1fr}.teach-hub-tile{min-height:96px;color:inherit;box-shadow:var(--shadow);border:1px solid #0000;border-radius:18px;gap:.35rem;padding:1.1rem 1rem;text-decoration:none;display:grid}.teach-hub-tile strong{font-size:1.15rem}.teach-hub-tile span{color:var(--muted);font-size:.92rem;line-height:1.5}.teach-hub-tile.tone-green{background:#eaf8f1;border-color:#c6e6d5}.teach-hub-tile.tone-blue{background:#eaf3fb;border-color:#c7daf0}.teach-hub-tile.tone-amber{background:#fff6e8;border-color:#f0d9b0}.teach-hub-tile.tone-teal{background:#e8f7f6;border-color:#bee6e2}.teach-hub-tile.tone-slate{background:#f2f4f3;border-color:#d5ddd9}.teach-hub-tile.tone-violet{background:#f4f0ff;border-color:#d9cdf7}.teach-hub-tile:active{transform:scale(.99)}.sms-credit-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.sms-credit-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sms-credit-head h2{margin:0;font-size:1.05rem}.sms-credit-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.sms-credit-stat{background:#f6faf8;border:1px solid #dce8e2;border-radius:12px;gap:.25rem;padding:.75rem .85rem;display:grid}.sms-credit-stat strong{font-size:1.05rem}.sms-credit-details{gap:.25rem;margin:0;padding-inline-start:1.1rem;display:grid}.sms-credit-charge{border-top:1px dashed var(--line);gap:.55rem;padding-top:.75rem;display:grid}.sms-credit-presets{flex-wrap:wrap;gap:.35rem;display:flex}.staff-sms-page{gap:.75rem;display:grid}@media (width>=640px){.teach-hub-grid{grid-template-columns:1fr 1fr}.teach-live-banner{grid-template-columns:1fr auto;align-items:center}}.sms-page .sms-form label+label{margin-top:.75rem}.sms-line-row{align-items:end}.sms-inline-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.sms-section{margin-top:1.25rem}.sms-section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.sms-pattern-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.sms-pattern-item{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.sms-badge{color:#3730a3;background:#eef2ff;border-radius:999px;margin-inline-start:.5rem;padding:.1rem .45rem;font-size:.78rem;display:inline-block}.sms-recipient-picker{gap:.75rem;margin:.75rem 0;display:grid}.sms-default-preview{width:100%;max-width:640px;max-height:90vh;overflow-y:auto}.sms-default-item{margin-top:1rem}.sms-default-item legend{padding-inline:.35rem}.sms-default-item legend .ui-check{background:0 0;border:0;gap:.5rem;padding:.15rem 0}.sms-default-item-off{opacity:.72;background:#f8faf9}.sms-default-item textarea{width:100%;min-height:5rem}.reg-form-grid{grid-template-columns:1fr 1fr;gap:.65rem;margin:.75rem 0;display:grid}.reg-form-grid .full{grid-column:1/-1}.reg-form-grid label{gap:.25rem;font-size:.92rem;display:grid}.reg-form-grid input,.reg-form-grid select,.reg-form-grid textarea{width:100%}.check-row{align-items:center;gap:.5rem;display:flex}.reg-inline.spread{justify-content:space-between;align-items:center}.reg-card.nested{background:#f8fbfa;margin-top:.75rem}.hw-row{text-align:start;cursor:pointer;width:100%}button.reg-row,button.reg-row.hw-row,button.hw-row{box-shadow:none;border-radius:14px;padding:.75rem .9rem;color:var(--ink)!important;background:var(--surface)!important;border:1px solid var(--line)!important}button.reg-row:hover,button.reg-row.hw-row:hover,button.hw-row:hover{color:var(--ink)!important;background:#f3faf7!important;border-color:#9fd4b6!important}button.reg-row strong,button.hw-row strong{color:var(--ink)}.hw-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.hw-attach-list{gap:.75rem;min-width:0;max-width:100%;margin:.75rem 0;padding:0;list-style:none;display:grid}.hw-attach-item{justify-content:space-between;align-items:flex-start;gap:.5rem;min-width:0;max-width:100%;display:flex}.hw-attach-item-body{flex:1;min-width:0;max-width:100%;overflow:hidden}.hw-attach-item img,.hw-attach-item video,.hw-attach-item audio{border-radius:10px;width:100%;min-width:0;max-width:100%;height:auto;display:block}.hw-attach-item figure{min-width:0;max-width:100%;margin:0}.hw-attach-item figcaption,.hw-media-player .muted,.hw-text-block p,.hw-text-block strong{overflow-wrap:anywhere;word-break:break-word}.hw-media-player{gap:.4rem;min-width:0;max-width:100%;display:grid;overflow:hidden}.hw-media-frame{border-radius:10px;min-width:0;max-width:100%;overflow:hidden}.hw-media-player audio,.hw-media-player video{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.hw-media-name{overflow-wrap:anywhere;word-break:break-word;margin:0}.hw-media-player .teach-btn{justify-self:start;max-width:100%}.hw-text-block{background:#f4f8f6;border-radius:10px;min-width:0;padding:.65rem}.hw-student-row select{min-width:7rem}.hw-submit-box{gap:.5rem;margin-top:1rem;display:grid}.teach-btn.small{padding:.35rem .65rem;font-size:.85rem}.teach-btn.danger{color:#fff;background:#b42318;border-color:#b42318}@media (width<=520px){.reg-form-grid{grid-template-columns:1fr}}.ui-check{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.ui-check.disabled{opacity:.6;cursor:not-allowed}.ui-check input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--accent);flex-shrink:0;margin-top:.15rem}.ui-check-body{gap:.15rem;display:grid}.ui-check-label{font-weight:500}.ui-check-hint{color:var(--muted);font-size:.82rem;line-height:1.5}.ui-check-stack{gap:.55rem;margin:.75rem 0;display:grid}.ui-check-compact{gap:0;margin:0;padding:0}.ui-check-compact .ui-check-body:empty{display:none}.jdate-field{gap:.35rem;display:grid;position:relative}.jdate-label{font-size:.92rem}.jdate-row{grid-template-columns:1fr 1.4fr 1fr;gap:.4rem;display:grid}.jdate-row.jdate-row-dt{grid-template-columns:.8fr 1.2fr .9fr .7fr auto .7fr}.jdate-datetime-controls{grid-template-columns:minmax(0,1.4fr) auto;align-items:end;gap:.5rem;display:grid}.jdate-datetime-controls .jdate-field{gap:0}.jdate-time-controls{flex-shrink:0;grid-template-columns:4.2rem auto 4.2rem;align-items:center;gap:.35rem;display:grid}@media (width<=520px){.jdate-datetime-controls{grid-template-columns:1fr;align-items:stretch}.jdate-time-controls{max-width:14rem}}.jdate-time-select{text-align:center;text-align-last:center;cursor:pointer;appearance:auto;direction:ltr;justify-content:center;padding-inline:.45rem}.jdate-hint{margin:0}.jdate-colon{text-align:center;color:var(--muted);align-self:center;font-weight:700}.jdate-trigger{border:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:right;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .85rem;display:flex}.jdate-trigger:hover{border-color:#9bb8ae}.jdate-trigger.is-empty{color:var(--muted)}.jdate-trigger-icon{opacity:.55;font-size:.95rem}.search-select{gap:.35rem;min-width:0;display:grid;position:relative}.search-select-label{font-size:.92rem}.search-select-trigger{border:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:right;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .85rem;display:flex}.search-select-trigger:hover:not(:disabled){border-color:#9bb8ae}.search-select-trigger:disabled{opacity:.6;cursor:not-allowed}.search-select-trigger.is-empty{color:var(--muted)}.search-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-select-caret{opacity:.55;flex-shrink:0}.search-select-pop{z-index:45;border:1px solid var(--line);top:calc(100% + .35rem);background:#fff;border-radius:12px;gap:.45rem;min-width:min(22rem,92vw);max-width:92vw;padding:.55rem;display:grid;position:absolute;inset-inline:0;box-shadow:0 10px 28px #14281e24}.search-select-query{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:.55rem .7rem}.search-select-list{gap:.15rem;max-height:14rem;display:grid;overflow:auto}.search-select-option{width:100%;color:inherit;font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.55rem .65rem;display:block}.search-select-option:hover,.search-select-option.selected{background:#eef6f2}.search-select-empty{color:var(--muted);text-align:center;padding:.7rem .5rem;font-size:.9rem}.jdate-pop{z-index:40;border:1px solid var(--line);top:calc(100% + .35rem);background:#fff;border-radius:14px;width:min(19.5rem,92vw);padding:.75rem;position:absolute;inset-inline-start:0;box-shadow:0 12px 28px #14281e1f}.jdate-pop-nav{justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.55rem;display:flex}.jdate-pop-title{flex:1;gap:.35rem;display:flex}.jdate-pop-title select{flex:1;min-width:0;padding:.35rem .4rem;font-size:.88rem}.jdate-weekdays,.jdate-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.jdate-weekdays{color:var(--muted);margin-bottom:.25rem;font-size:.78rem}.jdate-cell{aspect-ratio:1;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;font-size:.9rem;display:grid}.jdate-cell:not(.empty):hover{background:#eef6f2}.jdate-cell.empty{cursor:default}.jdate-cell.today{box-shadow:inset 0 0 0 1px #7aa89a}.jdate-cell.selected{color:#fff;background:#2f6f5e;font-weight:600}.jdate-cell.selected.today{box-shadow:none}.jdate-pop-foot{border-top:1px solid var(--line);justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.55rem;display:flex}.month-cal{gap:.55rem;display:grid}.month-cal-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.month-cal-title{text-align:center;flex-direction:column;align-items:center;gap:.15rem;display:flex}.month-cal-title strong{font-size:1.02rem}.month-cal-weekdays,.month-cal-grid{text-align:center;direction:rtl;grid-template-columns:repeat(7,1fr);gap:.28rem;display:grid}.month-cal-weekdays{color:var(--muted);font-size:.78rem}.month-cal-cell{min-height:3.1rem;color:inherit;font:inherit;cursor:pointer;background:#f7faf8;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:.12rem;padding:.28rem .15rem .2rem;display:flex;position:relative}.month-cal-cell.empty{cursor:default;background:0 0;border:0;min-height:0;padding:0}.month-cal-cell:not(.empty):hover{background:#eef6f2}.month-cal-cell.today{border-color:#7aa89a}.month-cal-cell.selected{color:#fff;background:#2f6f5e;border-color:#2f6f5e}.month-cal-cell.has-events:not(.selected){background:#eef7f2}.month-cal-daynum{font-size:.92rem;line-height:1.1}.month-cal-badge{opacity:.9;font-size:.68rem;line-height:1}.month-cal-dots{gap:.15rem;min-height:.35rem;margin-top:auto;display:flex}.month-cal-dots .dot{background:#5b8a7a;border-radius:50%;width:.35rem;height:.35rem}.month-cal-cell.selected .month-cal-dots .dot{background:#d7efe6}.month-cal-dots .dot.tone-ok{background:#067647}.month-cal-dots .dot.tone-warn{background:#b54708}.month-cal-dots .dot.tone-danger{background:#b42318}.month-cal-dots .dot.tone-info{background:#026aa2}.month-cal-dots .dot.tone-neutral{background:#667085}.month-cal-cell.selected .month-cal-dots .dot.tone-ok,.month-cal-cell.selected .month-cal-dots .dot.tone-warn,.month-cal-cell.selected .month-cal-dots .dot.tone-danger,.month-cal-cell.selected .month-cal-dots .dot.tone-info,.month-cal-cell.selected .month-cal-dots .dot.tone-neutral{background:#fff}.month-cal-marks{flex-wrap:wrap;justify-content:center;align-items:center;gap:.12rem;min-height:.85rem;margin-top:auto;display:flex}.month-cal-mark{flex-shrink:0;justify-content:center;align-items:center;width:.92rem;height:.92rem;line-height:1;display:inline-flex}.month-cal-mark.mark-done{color:#067647}.month-cal-mark.mark-not-done{color:#dc6803}.month-cal-mark.mark-unseen{background:#d92d20;border-radius:50%;width:.55rem;height:.55rem}.month-cal-mark.mark-unseen-online{color:#fff;background:#d92d20;border-radius:50%;width:.92rem;height:.92rem;font-size:.62rem;font-weight:800}.month-cal-mark.mark-needs-reply{color:#fff;background:#b54708;border-radius:50%;width:.92rem;height:.92rem;font-size:.62rem;font-weight:800}.month-cal-mark.mark-pending{box-sizing:border-box;background:0 0;border:2px solid #f79009;border-radius:50%;width:.52rem;height:.52rem}.month-cal-mark.mark-att-present{color:#067647}.month-cal-mark.mark-att-absent{color:#d92d20;background:#fee4e2;border-radius:50%;width:.92rem;height:.92rem}.month-cal-mark.mark-att-late{color:#b54708}.month-cal-mark.mark-att-excused{color:#fff;background:#026aa2;border-radius:50%;width:.92rem;height:.92rem;font-size:.58rem;font-weight:800}.month-cal-cell.selected .month-cal-mark.mark-done{color:#b7f0cf}.month-cal-cell.selected .month-cal-mark.mark-not-done{color:#ffd6a8}.month-cal-cell.selected .month-cal-mark.mark-unseen,.month-cal-cell.selected .month-cal-mark.mark-unseen-online{color:#7a1f16;background:#ffb4ab}.month-cal-cell.selected .month-cal-mark.mark-needs-reply{color:#7a2e0e;background:#ffd6a8}.month-cal-cell.selected .month-cal-mark.mark-pending{border-color:#ffd6a8}.month-cal-cell.selected .month-cal-mark.mark-att-present{color:#b7f0cf}.month-cal-cell.selected .month-cal-mark.mark-att-absent{color:#7a1f16;background:#ffb4ab}.month-cal-cell.selected .month-cal-mark.mark-att-late{color:#ffd6a8}.month-cal-cell.selected .month-cal-mark.mark-att-excused{color:#0b4a6f;background:#b2ddff}.month-cal-cell.has-marks:not(.selected){background:#f5faf7}.month-cal-legend{border:1px solid var(--line);background:#f7faf8;border-radius:12px;grid-template-columns:1fr 1fr;gap:.4rem .75rem;margin:.65rem 0 0;padding:.65rem .75rem;list-style:none;display:grid}.month-cal-legend li{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;line-height:1.35;display:flex}.month-cal-legend .month-cal-mark{flex-shrink:0}@media (width<=420px){.month-cal-legend{grid-template-columns:1fr}}.month-cal-selected{margin:.45rem 0 0}.month-cal-day-panel{margin-top:.75rem}.reg-day-heading{margin:0 0 .55rem;font-size:1rem;font-weight:700}@media (width<=520px){.month-cal-cell{min-height:2.7rem;padding:.2rem .1rem}.month-cal-daynum{font-size:.84rem}}.grade-subject-block{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.grade-subject-block:first-of-type{border-top:0;margin-top:.35rem;padding-top:0}.grade-subject-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.grade-subject-head h4{margin:0;font-size:1.02rem}.grade-matrix-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.grade-matrix-head h3{margin:0 0 .25rem}.grade-matrix-head .muted{margin:0}.grade-matrix-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.grade-matrix{border-collapse:collapse;width:100%;min-width:420px}.grade-matrix th,.grade-matrix td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;border-inline-end:1px solid #eef2f0;padding:.45rem .4rem}.grade-matrix thead th{z-index:1;white-space:nowrap;text-overflow:ellipsis;background:#f3f7f5;max-width:7.5rem;padding:.65rem .45rem;font-size:.86rem;font-weight:700;position:sticky;top:0;overflow:hidden}.grade-matrix-student{z-index:2;background:#f8fbfa;min-width:8.5rem;max-width:12rem;font-size:.9rem;font-weight:600;position:sticky;inset-inline-start:0;text-align:start!important}.grade-matrix thead .grade-matrix-student{z-index:3;background:#eef5f1}.grade-matrix tbody tr:hover .grade-matrix-student,.grade-matrix tbody tr:hover td{background:#f3faf6}.grade-matrix-input{width:100%;min-width:3.2rem;max-width:4.5rem;margin:0 auto;padding:.35rem .3rem;font-size:.9rem;display:block}.hw-pending-box,.hw-attach-zone{border:1px dashed var(--line);background:#f8fbfa;border-radius:12px;margin-top:.85rem;padding:.85rem}.hw-pending-list{margin:.5rem 0 0;padding-inline-start:1.1rem;font-size:.88rem}.hw-top-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hw-student-shell{background:var(--bg);min-height:100vh}.hw-student-header{border-bottom:1px solid var(--line);background:#fff;gap:.5rem;padding:1rem;display:grid}.hw-student-header h1{margin:0;font-size:1.25rem}.hw-student-main{gap:.75rem;max-width:640px;margin:0 auto;padding:1rem;display:grid}.hw-student-list{gap:.65rem;display:grid}.hw-student-card{text-align:start;border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:14px;padding:.9rem 1rem}.hw-student-card:hover{border-color:var(--accent)}.hw-student-card h2{margin:.35rem 0;font-size:1.05rem}.hw-student-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hw-status{border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.hw-status-pending{color:#b54708;background:#fff4e5}.hw-status-done{color:#067647;background:#e8f8ef}.hw-status-closed{color:#667085;background:#f2f4f7}.hw-student-empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:14px;padding:2rem 1rem}.hw-student-detail{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:.85rem;padding:1rem;display:grid}.hw-back-list{justify-self:start}.hw-student-detail-head h2{margin:0}.hw-student-desc{margin:0;line-height:1.7}.hw-student-section h3{margin:0 0 .5rem;font-size:1rem}.hw-student-submit{border-top:1px solid var(--line);gap:.65rem;padding-top:.85rem;display:grid}.hw-student-submit textarea{width:100%;min-height:6rem}.hw-file-pick{gap:.45rem;display:grid}.hw-submit-btn{width:100%;min-height:2.8rem}.hw-student-banner{border-radius:10px;padding:.75rem .9rem;font-weight:500}.hw-student-banner.done{color:#067647;background:#e8f8ef}.hw-student-banner.closed{color:#b42318;background:#fef3f2}.stu-app{background:radial-gradient(circle at 10% 0,#dcefe6 0%,#0000 40%),radial-gradient(circle at 95% 5%,#dbe7f8 0%,#0000 35%),linear-gradient(#eef4f2,#e6eeea);flex-direction:column;min-height:100vh;display:flex}.stu-app .app-page-header{flex-shrink:0}.stu-app-menu-btn{border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--ink);background:#fff;border-radius:12px;font-size:1.2rem;line-height:1}.stu-app-avatar{border:1px solid var(--line);width:40px;height:40px;color:var(--accent);background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #17302a0d}.stu-app-main{flex:1;align-content:start;gap:.85rem;width:min(640px,100%);min-width:0;max-width:100%;margin:0 auto;padding:.85rem 1rem 6.5rem;display:grid;overflow-x:clip}.stu-hw-detail,.stu-panel{min-width:0;max-width:100%}.stu-quick-card{border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;background:#fff;border-radius:18px;align-items:center;gap:.75rem;padding:.95rem 1rem;text-decoration:none;display:flex}.stu-quick-card.accent{background:linear-gradient(135deg,#f3fbf7,#fff);border-color:#b7d9c8}.stu-quick-card strong{margin-bottom:.15rem;display:block}.stu-quick-card p{color:var(--muted);margin:0;font-size:.84rem}.stu-quick-icon{background:#eef8f3;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex}.stu-section-title{margin:0 0 .65rem;font-size:1rem}.stu-class-list{gap:.65rem;display:grid}.stu-class-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;gap:.75rem;padding:1rem;display:grid}.stu-class-card.live{border-color:#9fd4b6}.stu-class-card-top{justify-content:space-between;gap:.65rem;display:flex}.stu-class-card h3{margin:0;font-size:1.1rem}.stu-class-actions{gap:.5rem;display:grid}.stu-hw-action-btn{flex-direction:column;gap:.35rem;min-height:52px;padding:.65rem .85rem}.stu-hw-action-title{font-size:1rem;font-weight:700}.stu-hw-action-badges{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.stu-hw-action-badge{border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;line-height:1.35}.stu-hw-action-badge.new{color:#b54708;background:#fff4e5}.stu-hw-action-badge.view{color:#5925dc;background:#f4f3ff}.stu-hw-action-badge.reply{color:#175cd3;background:#eff8ff}.stu-pill{border-radius:999px;flex-shrink:0;padding:.22rem .6rem;font-size:.76rem;font-weight:700}.stu-pill-pending{color:#b54708;background:#fff4e5}.stu-pill-done{color:#067647;background:#e8f8ef}.stu-pill-closed{color:#667085;background:#f2f4f7}.stu-pill-live{color:var(--ok);background:#dcfae6}.stu-pill-muted{color:var(--muted);background:#eef2f0}.stu-empty-card{text-align:center;border:1px dashed var(--line);color:var(--muted);background:#fff;border-radius:18px;padding:2rem 1rem}.stu-empty-icon{width:48px;height:48px;color:var(--ok);background:#e8f5ef;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:1.25rem;display:inline-flex}.stu-hw-list{gap:.55rem;display:grid}.stu-hw-item,a.stu-hw-item{border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem .9rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s,background .15s;display:grid;color:var(--ink)!important}.stu-hw-item *,.stu-hw-item h2,.stu-hw-item p{color:inherit}.stu-hw-item .stu-hw-item-meta,.stu-hw-item .stu-hw-item-chevron{color:var(--muted)!important}.stu-hw-item .stu-pill-pending{color:#b54708!important}.stu-hw-item .stu-pill-done{color:#067647!important}.stu-hw-item .stu-pill-closed{color:#667085!important}.stu-hw-item:hover,.stu-hw-item:focus-visible{border-color:#9fd4b6;outline:none;box-shadow:0 8px 22px #17302a14;color:var(--ink)!important;background:#f7fbf9!important}.stu-hw-item:active{transform:scale(.995)}.stu-hw-item-noicon{grid-template-columns:1fr auto}.stu-hw-item.needs-review{background:linear-gradient(135deg,#fff8f7,#fff);border-color:#f0b4b0}.hw-list-badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.hw-student-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stu-hw-item.is-new{background:linear-gradient(135deg,#fffaf3,#fff);border-color:#f0d9b0}.stu-hw-item-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;display:flex}.stu-hw-item-icon-pending{background:#fff4e5}.stu-hw-item-icon-done{background:#e8f8ef}.stu-hw-item-icon-closed{background:#f2f4f7}.stu-hw-item-body{min-width:0}.stu-hw-item-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.2rem;display:flex}.stu-hw-item-top h2{margin:0;font-size:1rem;line-height:1.45;color:var(--ink)!important}.stu-hw-item-meta{color:var(--muted);margin:0;font-size:.82rem}.stu-hw-item-chevron{color:var(--muted);flex-shrink:0;font-size:1.25rem;line-height:1}.stu-hw-detail{gap:.75rem;display:grid}.stu-hw-desc{margin:0;line-height:1.75}.stu-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:.65rem;min-width:0;max-width:100%;padding:.95rem 1rem;display:grid;overflow-x:clip}.stu-panel h3{margin:0;font-size:1rem}.stu-panel-success{background:linear-gradient(#f6fcf9,#fff);border-color:#b7e4c8}.stu-panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stu-hw-answer-text{white-space:pre-wrap;margin:0;line-height:1.75}.stu-hw-answer-files,.stu-file-pick{gap:.45rem;display:grid}.stu-submit-btn{width:100%;min-height:2.8rem}.stu-banner{text-align:center;border-radius:12px;padding:.8rem .95rem;font-weight:500}.stu-banner-closed{color:#b42318;background:#fef3f2}.hw-submission-view{gap:.55rem;margin-top:.75rem;display:grid}.hw-submission-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.hw-attach-del{flex-shrink:0}.hw-student-actions{flex-wrap:wrap;gap:.45rem;display:flex}.hw-thread{gap:.65rem;margin-top:.5rem;display:grid}.hw-thread-list{gap:.55rem;display:grid}.hw-thread-msg{border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem}.hw-thread-staff{background:#f3f8ff;border-color:#c7d9f5}.hw-thread-student{background:#f3fbf7;border-color:#c5e6d4}.hw-thread-msg-head{justify-content:space-between;gap:.5rem;margin-bottom:.35rem;display:flex}.hw-thread-text{white-space:pre-wrap;margin:0;line-height:1.65}.hw-thread-reply{border-top:1px dashed var(--line);gap:.5rem;padding-top:.65rem;display:grid}.hw-thread-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.hw-thread-closed{background:#f4f6f5;border-radius:10px;margin:0;padding:.55rem .65rem}.stu-app .stu-app-menu-btn:hover{color:var(--accent);background:#eef8f4}.stu-app .teach-btn.ghost:hover,.stu-app .teach-btn.secondary:hover{color:var(--ink);background:#eef8f4}.stu-app .hw-thread-reply .teach-btn.primary{color:#fff}.stu-app .user-menu-dropdown button{color:var(--ink);background:#fff}.stu-app .user-menu-dropdown button:hover{color:var(--ink);background:#f3f6f5}.stu-app .user-menu-dropdown button.danger{color:var(--danger)}.stu-app .user-menu-dropdown button.danger:hover{color:var(--danger);background:#fef3f2}.exam-staff{gap:.85rem;display:grid}.exam-staff-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.exam-staff-toolbar h2{margin:0;font-size:1.1rem}.exam-panel{background:#fff;border:1px solid #e4ebe7;border-radius:14px;gap:.65rem;padding:.9rem 1rem;display:grid}.exam-panel h2,.exam-panel h3{margin:0}.exam-panel label{gap:.3rem;font-size:.92rem;display:grid}.exam-panel input,.exam-panel textarea,.exam-panel select{font:inherit;border:1px solid #d0d9d4;border-radius:10px;padding:.55rem .7rem}.exam-checks{gap:.35rem;display:grid}.exam-entrance-validity{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.reg-entrance-pick{gap:.4rem;margin-top:.35rem;display:grid}.exam-actions{flex-wrap:wrap;gap:.45rem;display:flex}.exam-list,.exam-attempt-list{gap:.55rem;display:grid}.exam-list-item{text-align:right;cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #e4ebe7;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.exam-list-meta{text-align:left;justify-items:end;gap:.25rem;display:grid}.exam-badge{color:#344054;background:#f2f4f3;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.78rem;display:inline-flex}.exam-badge.ok{color:#067647;background:#eaf8f1}.exam-badge.draft{color:#667085;background:#f2f4f3}.exam-badge.status-available,.exam-badge.status-in_progress,.exam-badge.status-open{color:#175cd3;background:#eff8ff}.exam-badge.status-submitted{color:#067647;background:#eaf8f1}.exam-badge.status-expired,.exam-badge.status-missed{color:#b42318;background:#fef3f2}.exam-badge.status-upcoming{color:#b54708;background:#fff6e8}.exam-tabs{gap:.35rem;display:flex}.exam-tabs button{font:inherit;cursor:pointer;color:var(--ink);background:#f7f9f8;border:1px solid #d5ddd9;border-radius:10px;flex:1;padding:.55rem}.exam-tabs button.active{color:#fff;background:#0f6b4c;border-color:#0f6b4c}.exam-attempt-item{text-align:right;width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #e4ebe7;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.exam-attempt-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.exam-reactivate-modal h3{color:var(--ink);margin:0 0 .5rem}.exam-reactivate-modal p{color:var(--ink);margin:0 0 .85rem}.exam-reactivate-choices{gap:.55rem;display:grid}.exam-reactivate-choices .teach-btn{text-align:right;white-space:normal;justify-items:stretch;gap:.25rem;height:auto;padding:.75rem .9rem;display:grid}.exam-reactivate-choices .teach-btn .muted{color:inherit;opacity:.85;font-weight:400}.exam-reactivate-choices .teach-btn.secondary .muted{color:var(--muted);opacity:1}.exam-q-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.exam-q-card{background:#fafcfb;border:1px solid #e4ebe7;border-radius:12px;overflow:hidden}.exam-q-card img,.exam-review-q img,.exam-stu-q-img,.exam-stu-ans-img{background:#f2f4f3;border-radius:10px;width:100%;display:block}.exam-stu-ans-wrap{justify-items:start;gap:.45rem;display:grid}.exam-stu-ans-wrap .exam-stu-ans-img{width:100%}.exam-q-card footer{justify-content:space-between;align-items:center;padding:.4rem .5rem;font-size:.85rem;display:flex}.exam-review{position:relative}.exam-review-sticky-bar{top:var(--exam-review-sticky-top,5.25rem);z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-bottom:1px solid #e4ebe7;align-items:center;margin:-.9rem -1rem .65rem;padding:.45rem .85rem;display:flex;position:sticky;box-shadow:0 2px 10px #17302a0a}.exam-review-q{border-top:1px solid #eef2f0;gap:.45rem;padding:.75rem 0;display:grid}.exam-review-q header{font-weight:700}.exam-answer-text p{white-space:pre-wrap;margin:.25rem 0 0}.exam-grade{gap:.55rem;margin-top:.5rem;display:grid}.exam-timer{color:#fff;background:#102a23;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.7rem .9rem;display:flex}.exam-timer strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.exam-timer strong.danger{color:#fda29b}.exam-stu-list{gap:.65rem;display:grid}.exam-stu-item{background:#fff;border:1px solid #e4ebe7;border-radius:14px;gap:.65rem;padding:.85rem;display:grid}.exam-stu-item h2{margin:0;font-size:1.05rem}.exam-stu-item-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.exam-stu-q{gap:.7rem;display:grid}.exam-stu-progress{color:#0f6b4c;font-weight:600}.exam-stu-progress-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exam-stu-save-hint{white-space:nowrap}.exam-stu-field{gap:.35rem;display:grid}.exam-stu-field textarea{font:inherit;box-sizing:border-box;border:1px solid #d0d9d4;border-radius:10px;width:100%;padding:.6rem}.exam-stu-nav{flex-wrap:wrap;gap:.4rem;display:flex}.exam-stu-nav .teach-btn{flex:1;min-width:5.5rem}.exam-stu-footer{gap:.5rem;margin-top:1rem;padding-bottom:.5rem;display:grid}.exam-stu-done{text-align:center;background:#fff;border:1px solid #e4ebe7;border-radius:14px;justify-items:center;gap:.6rem;padding:1.25rem;display:grid}.news-editor{width:100%;margin:.35rem 0 .75rem;overflow:hidden;box-shadow:none!important;background:#fff!important;border:1px solid #c9d7d0!important;border-radius:12px!important}.news-editor-toolbar{align-items:center;background:#f3f7f5!important;border-bottom:1px solid #e4ebe7!important;flex-wrap:wrap!important;gap:.35rem!important;padding:.5rem!important;display:flex!important}.news-editor-toolbar .news-tb-btn,.admin-content .news-editor-toolbar .news-tb-btn,.admin-page .news-editor-toolbar button.news-tb-btn{color:#17302a!important;width:auto!important;min-width:2.2rem!important;height:2.1rem!important;min-height:2.1rem!important;max-height:2.1rem!important;font:inherit!important;cursor:pointer!important;box-shadow:none!important;white-space:nowrap!important;background:#fff!important;border:1px solid #c9d7d0!important;border-radius:8px!important;flex:none!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:.25rem .55rem!important;font-size:.82rem!important;font-weight:600!important;line-height:1!important;display:inline-flex!important}.news-editor-toolbar .news-tb-btn.on,.admin-content .news-editor-toolbar .news-tb-btn.on{color:#0f6b56!important;background:#e3f4ec!important;border-color:#7fba9d!important}.news-editor-toolbar .news-tb-btn:hover{background:#eef6f2!important}.news-editor .tiptap,.news-editor .ProseMirror,.news-editor-surface{text-align:right;color:#17302a;white-space:pre-wrap;word-break:break-word;direction:rtl;min-height:200px!important;font:inherit!important;background:#fff!important;outline:none!important;padding:.85rem 1rem!important;line-height:1.75!important}.news-editor .ProseMirror mark,.news-editor-surface mark{border-radius:.2em;padding:.05em .12em}.news-editor .ProseMirror p{margin:0 0 .55rem!important}.news-editor .ProseMirror ul,.news-editor .ProseMirror ol{margin:.35rem 0 .65rem!important;padding-right:1.25rem!important}.news-editor .ProseMirror a{color:#0f6b56;text-decoration:underline}.news-editor .ProseMirror:focus{box-shadow:inset 0 0 0 2px #cfe8dc}.news-editor .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:right;color:#8a9e96;pointer-events:none;height:0}.news-editor-wrap{margin:.5rem 0 .85rem}.news-field-label{margin-bottom:.35rem;font-weight:600;display:block}.nf{--nf-ink:#17302a;--nf-muted:#5d726b;--nf-line:#d5e2db;--nf-accent:#0f6b56;--nf-soft:#e8f4ee;gap:.85rem;margin:0 0 1rem;display:grid}.nf-head{justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.nf-kicker{letter-spacing:.04em;color:var(--nf-muted);margin:0;font-size:.72rem;font-weight:600}.nf-title{color:var(--nf-ink);letter-spacing:-.02em;margin:.1rem 0 0;font-size:1.35rem;font-weight:700}.nf-unread-count{color:#fff;background:linear-gradient(135deg,#0f6b56,#148567);border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 6px 14px #0f6b5633}.nf-all-read{color:var(--nf-muted);font-size:.8rem;font-weight:600}.nf-empty{text-align:center;color:var(--nf-muted);border:1px dashed var(--nf-line);background:linear-gradient(#f7fbf9,#eef5f1);border-radius:18px;place-items:center;gap:.45rem;padding:1.6rem 1rem;display:grid}.nf-empty-icon{color:#7fa896;border:1px solid var(--nf-line);background:#fff;border-radius:14px;place-items:center;width:3rem;height:3rem;display:grid}.nf-empty p{margin:0;font-size:.92rem}.nf-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.nf-list>li{animation:.35s both nf-in}@keyframes nf-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nf-item{text-align:right;width:100%;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--nf-line);background:#fff;border-radius:16px;grid-template-columns:4px 1fr auto;align-items:stretch;gap:.75rem;padding:.85rem .9rem;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;display:grid}.nf-item:hover{border-color:#b7d0c4;transform:translateY(-1px);box-shadow:0 10px 24px #17302a0f}.nf-item:active{transform:translateY(0)}.nf-item.is-unread{background:linear-gradient(105deg,#f3faf7 0%,#fff 42%);border-color:#b7dccb}.nf-item-rail{background:0 0;border-radius:99px;align-self:stretch;min-height:100%}.nf-item.is-unread .nf-item-rail{background:linear-gradient(#0f6b56,#3a9b7c)}.nf-item-body{gap:.35rem;min-width:0;display:grid}.nf-item-top{justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.nf-item-title{color:var(--nf-ink);font-size:1.02rem;font-weight:700;line-height:1.45}.nf-new-tag{color:#0f6b56;background:var(--nf-soft);border:1px solid #c5e4d5;border-radius:999px;flex-shrink:0;margin-top:.15rem;padding:.18rem .5rem;font-size:.68rem;font-weight:700}.nf-item-excerpt{color:var(--nf-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.nf-item-meta{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem;display:flex}.nf-chip{color:#3d5c52;background:#f1f6f3;border:1px solid #dde8e2;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.nf-chip-file{color:#0f6b56;background:#e8f4ee;border-color:#c5e4d5}.nf-date{color:var(--nf-muted);margin-inline-start:.15rem;font-size:.75rem}.nf-item-chevron{color:#9bb0a7;opacity:.7;align-self:center;font-size:1.35rem;line-height:1}.nf-sheet-backdrop{z-index:80;background:#0a1c18a6;align-items:end;padding:0;animation:.2s nf-fade;display:grid;position:fixed;inset:0}@keyframes nf-fade{0%{opacity:0}to{opacity:1}}.nf-sheet{background:#fff;border-radius:22px 22px 0 0;grid-template-rows:auto 1fr;width:min(100%,720px);max-height:min(92vh,860px);margin:0 auto;animation:.28s cubic-bezier(.22,1,.36,1) nf-up;display:grid;overflow:hidden;box-shadow:0 -12px 40px #0003}@keyframes nf-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width>=720px){.nf-sheet-backdrop{align-items:center;padding:1.25rem}.nf-sheet{border-radius:20px;max-height:min(88vh,820px)}}.nf-sheet-head{background:linear-gradient(#f7fbf9,#fff);border-bottom:1px solid #e8efeb;gap:.55rem;padding:.85rem 1rem .95rem;display:grid}.nf-sheet-close{cursor:pointer;justify-self:start;color:#17302a!important;background:#fff!important;border:1px solid #d5e2db!important;border-radius:999px!important;width:auto!important;height:2rem!important;min-height:2rem!important;padding:0 .85rem!important;font-size:.82rem!important;font-weight:600!important}.nf-sheet-meta{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.nf-sheet-title{color:var(--nf-ink);margin:0;font-size:1.25rem;font-weight:700;line-height:1.45}.nf-sheet-content{-webkit-overflow-scrolling:touch;padding:1rem 1.05rem 1.4rem;overflow:auto}.nf-sheet-body{color:#243832;overflow-wrap:anywhere;font-size:1.02rem;line-height:1.85}.nf-sheet-body p{margin:0 0 .75rem}.nf-sheet-body ul,.nf-sheet-body ol{margin:0 0 .85rem;padding-right:1.2rem}.nf-sheet-body a{color:#0f6b56}.nf-sheet-body img{border-radius:12px;max-width:100%}.nf-sheet-body mark,.news-body mark,.rich-html mark{border-radius:.2em;padding:.05em .15em}.nf-sheet-body [data-text-color],.news-body [data-text-color],.rich-html [data-text-color]{color:var(--rich-text-color)!important}.nf-sheet-body [data-text-color=\#17302a],.news-body [data-text-color=\#17302a],.rich-html [data-text-color=\#17302a]{--rich-text-color:#17302a}.nf-sheet-body [data-text-color=\#0f6b56],.news-body [data-text-color=\#0f6b56],.rich-html [data-text-color=\#0f6b56]{--rich-text-color:#0f6b56}.nf-sheet-body [data-text-color=\#b42318],.news-body [data-text-color=\#b42318],.rich-html [data-text-color=\#b42318]{--rich-text-color:#b42318}.nf-sheet-body [data-text-color=\#b54708],.news-body [data-text-color=\#b54708],.rich-html [data-text-color=\#b54708]{--rich-text-color:#b54708}.nf-sheet-body [data-text-color=\#175cd3],.news-body [data-text-color=\#175cd3],.rich-html [data-text-color=\#175cd3]{--rich-text-color:#175cd3}.nf-sheet-body [data-text-color=\#6941c6],.news-body [data-text-color=\#6941c6],.rich-html [data-text-color=\#6941c6]{--rich-text-color:#6941c6}.nf-sheet-body [data-color],.news-body [data-color],.rich-html [data-color]{background-color:var(--rich-hl-color,#fef3c7)!important}.nf-sheet-body [data-color=\#fef3c7],.news-body [data-color=\#fef3c7],.rich-html [data-color=\#fef3c7]{--rich-hl-color:#fef3c7}.nf-sheet-body [data-color=\#d1fae5],.news-body [data-color=\#d1fae5],.rich-html [data-color=\#d1fae5]{--rich-hl-color:#d1fae5}.nf-sheet-body [data-color=\#fee4e2],.news-body [data-color=\#fee4e2],.rich-html [data-color=\#fee4e2]{--rich-hl-color:#fee4e2}.nf-sheet-body [data-color=\#dbeafe],.news-body [data-color=\#dbeafe],.rich-html [data-color=\#dbeafe]{--rich-hl-color:#dbeafe}.nf-sheet-files{border-top:1px solid #e8efeb;margin-top:1.25rem;padding-top:1rem}.nf-sheet-files-label{color:var(--nf-muted);margin:0 0 .55rem;font-size:.82rem;font-weight:700}.nf-attach-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.nf-attach-item{min-width:0}.nf-attach-media{margin:0}.nf-attach-media img{object-fit:contain;background:#0f1f1a;border-radius:12px;width:100%;max-height:420px;display:block}.nf-attach-media figcaption{color:var(--nf-muted);margin-top:.35rem;font-size:.82rem}.nf-sheet-files .hw-media-player video{background:#0f1f1a;border-radius:12px;width:100%;max-height:420px}.nf-sheet-files ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.nf-file-link{color:#17302a;background:#f7fbf9;border:1px solid #d5e2db;border-radius:12px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.nf-file-link:hover{background:#eef7f2;border-color:#b7d0c4}.nf-file-icon{color:#0f6b56;background:#e3f4ec;border-radius:8px;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;display:grid}.nf-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.news-feed-block,.news-feed-head,.news-feed-list,.news-feed-card{display:contents}.nf-tabs{background:#eef5f1;border:1px solid #d5e2db;border-radius:12px;gap:.35rem;width:fit-content;max-width:100%;padding:.2rem;display:flex}.nf-tab{cursor:pointer;color:#5d726b!important;height:auto!important;min-height:2rem!important;font:inherit!important;width:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:9px!important;padding:.35rem .75rem!important;font-size:.82rem!important;font-weight:700!important}.nf-tab.on{color:#0f6b56!important;background:#fff!important;box-shadow:0 1px 4px #17302a14!important}.nf-list-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(42vh,360px);padding-inline-end:.15rem;overflow:auto}.nf-list-scroll .nf-item{border-radius:12px;gap:.55rem;padding:.65rem .75rem}.nf-list-scroll .nf-item-title{font-size:.95rem}.nf-list-scroll .nf-item-excerpt{-webkit-line-clamp:1;font-size:.82rem}.nf-empty-compact{padding:1rem}.nf-more{cursor:pointer;color:#0f6b56!important;width:100%!important;min-height:2.35rem!important;font:inherit!important;box-shadow:none!important;background:#f7fbf9!important;border:1px dashed #b7d0c4!important;border-radius:12px!important;font-size:.88rem!important;font-weight:700!important}.nf-more:hover{background:#eef7f2!important;border-style:solid!important}.nf-sheet-body h2{color:#0f6b56;margin:0 0 .55rem;font-size:1.2rem}.nf-sheet-body h3{color:#17302a;margin:.85rem 0 .4rem;font-size:1.05rem}.nf-sheet-body blockquote{color:#3d5c52;background:#f3faf7;border-right:3px solid #0f6b56;margin:.5rem 0 .85rem;padding:.35rem .85rem}.nf-sheet-body mark{border-radius:3px;padding:0 .15em}.news-tb-sep{background:#d5e2db;align-self:stretch;width:1px;margin:0 .15rem}.news-tb-label{color:#5d726b;margin-inline-end:.15rem;font-size:.72rem;font-weight:700}.news-color-row{align-items:center;gap:.28rem;display:inline-flex}.news-swatch{cursor:pointer;border:2px solid #fff!important;border-radius:999px!important;flex:none!important;width:1.35rem!important;min-width:1.35rem!important;height:1.35rem!important;min-height:1.35rem!important;max-height:1.35rem!important;padding:0!important;box-shadow:0 0 0 1px #c9d7d0!important}.news-swatch.on{box-shadow:0 0 0 2px #0f6b56!important}.news-swatch-hl{border-radius:5px!important}.news-tb-mini{width:1.6rem!important;min-width:1.6rem!important;padding:0!important;font-size:1rem!important}.news-editor .ProseMirror h2{color:#0f6b56!important;margin:0 0 .55rem!important;font-size:1.25rem!important}.news-editor .ProseMirror h3{margin:.7rem 0 .4rem!important;font-size:1.08rem!important}.news-editor .ProseMirror blockquote{color:#3d5c52!important;background:#f3faf7!important;border-right:3px solid #0f6b56!important;margin:.45rem 0 .7rem!important;padding:.3rem .75rem!important}.news-editor .ProseMirror mark{border-radius:3px;padding:0 .12em}.news-report-modal{color:#17302a;background:#fff;border:1px solid #d5e2db;border-radius:18px;grid-template-rows:auto auto 1fr;gap:.85rem;width:min(560px,100%);max-height:min(88vh,720px);padding:1rem 1.1rem 1.1rem;display:grid;overflow:hidden;box-shadow:0 24px 60px #00000040}.news-report-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.news-report-kicker{color:#5d726b;margin:0;font-size:.72rem;font-weight:700}.news-report-head h2{color:#17302a;margin:.15rem 0 0;font-size:1.1rem;line-height:1.4}.news-report-close{cursor:pointer;flex-shrink:0;color:#17302a!important;height:auto!important;min-height:2rem!important;font:inherit!important;width:auto!important;box-shadow:none!important;background:#f7fbf9!important;border:1px solid #d5e2db!important;border-radius:999px!important;padding:.3rem .85rem!important;font-size:.82rem!important;font-weight:700!important}.news-report-stats{flex-wrap:wrap;gap:.5rem;display:flex}.news-report-stat{background:#f3faf7;border:1px solid #d5e2db;border-radius:12px;gap:.1rem;min-width:7.5rem;padding:.55rem .75rem;display:grid}.news-report-stat-label{color:#5d726b;font-size:.75rem;font-weight:600}.news-report-stat strong{color:#0f6b56;font-size:1.05rem}.news-report-body{overscroll-behavior:contain;gap:1rem;padding-inline-end:.15rem;display:grid;overflow:auto}.news-report-section h3{color:#17302a;margin:0 0 .45rem;font-size:.92rem}.news-reader-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.news-reader-list li{color:#17302a;background:#fafcfb;border:1px solid #e4ebe7;border-radius:11px;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .7rem;display:flex}.news-reader-list li.is-unread{background:#fff8f3;border-color:#f0d7c2}.news-reader-list li.is-read{background:#f3faf7;border-color:#d5e8de}.news-reader-name{color:#17302a;gap:.05rem;min-width:0;font-size:.9rem;font-weight:600;display:grid}.news-reader-name small{color:#5d726b;font-size:.75rem;font-weight:500}.news-reader-badge{color:#9a3412;white-space:nowrap;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.news-reader-badge.ok{color:#067647;background:#e8f8ef;border-color:#a6e3c2}.parent-student-bar{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.65rem;padding:.55rem .85rem!important;display:flex!important}.parent-student-main{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;min-width:0;display:inline-flex}.parent-student-main strong{font-size:.98rem;line-height:1.3}.parent-student-user{color:#5d726b;direction:ltr;font-size:.78rem}.parent-student-classes{color:#5d726b;flex:100%;margin:0;font-size:.78rem;line-height:1.35}.parent-student-classes-label{color:#3d5c52;font-weight:600}.nf-title{margin:0!important;font-size:1.15rem!important}.nf-head{margin-bottom:.15rem;align-items:center!important}.authx{--authx-ink:#0a1f1a;--authx-forest:#0f6b56;--authx-forest-2:#148567;--authx-mist:#e8f2ed;--authx-cream:#f7faf8;--authx-line:#c9d9d1;--authx-muted:#5a7168;min-height:100dvh;color:var(--authx-ink);isolation:isolate;background:#071612;flex-direction:column;display:flex;position:relative;overflow:hidden}.authx-atmosphere{z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 15% 20%,#1a5c4a88 0%,#0000 55%),radial-gradient(70% 50% at 85% 80%,#0d3d3488 0%,#0000 50%),linear-gradient(145deg,#061410 0%,#0a241c 42%,#0c2e24 100%);animation:14s ease-in-out infinite alternate authx-ambience;position:absolute;inset:0}@keyframes authx-ambience{0%{filter:hue-rotate()brightness()}to{filter:hue-rotate(-6deg)brightness(1.06)}}.authx-glow{filter:blur(60px);opacity:.45;border-radius:50%;position:absolute}.authx-glow-a{background:#1f8f7288;width:min(48vw,420px);height:min(48vw,420px);animation:18s ease-in-out infinite alternate authx-drift;top:-8%;right:-6%}.authx-glow-b{background:#0a4a3c77;width:min(40vw,340px);height:min(40vw,340px);animation:22s ease-in-out infinite alternate-reverse authx-drift;bottom:5%;left:-8%}@keyframes authx-drift{0%{transform:translate(0)scale(1)}to{transform:translate(18px,-24px)scale(1.08)}}.authx-grain{opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.authx-ornament{opacity:.7;background:linear-gradient(90deg,#0000 0 48%,#ffffff08 49%,#0000 50%),repeating-linear-gradient(-18deg,#0000 0 28px,#ffffff05 28px 29px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000 20%,#0000 70%);mask-image:radial-gradient(70% 60% at 30% 40%,#000 20%,#0000 70%)}.authx-stage{z-index:1;flex:auto;grid-template-columns:1fr;align-items:stretch;min-height:0;display:grid;position:relative}.authx-brand-panel{color:#eef7f3;align-content:end;padding:1.75rem 1.35rem 1.1rem;display:grid}.authx-brand-inner{max-width:28rem;animation:.7s cubic-bezier(.22,1,.36,1) both authx-rise}@keyframes authx-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.authx-logo{aspect-ratio:686/330;object-fit:contain;object-position:center;width:min(13.5rem,88%);height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:1rem;display:block}.authx-mark{color:#f4fbf8;background:linear-gradient(145deg,#1a7a62,#0d4f40);border:1px solid #ffffff28;border-radius:14px;place-items:center;width:4.25rem;height:4.25rem;margin-bottom:1rem;font-family:Vazirmatn,Tahoma,sans-serif;font-size:2.35rem;font-weight:700;display:grid;box-shadow:0 12px 30px #0003}.authx-kicker{letter-spacing:.06em;color:#a8cfc2;margin:0 0 .35rem;font-size:.78rem;font-weight:600}.authx-brand-name{letter-spacing:-.02em;color:#f5fbf8;text-shadow:0 10px 40px #0005;margin:0;font-family:Vazirmatn,Tahoma,sans-serif;font-size:clamp(2.35rem,8vw,3.4rem);font-weight:700;line-height:1.15}.authx-brand-tag{color:#c5ddd4;max-width:22rem;margin:.55rem 0 0;font-size:.95rem;line-height:1.65}.authx-panel{align-items:start;padding:.35rem 1rem 1.5rem;display:grid}.authx-panel-inner{background:linear-gradient(180deg, #fff, var(--authx-cream));border:1px solid #fff5;border-radius:22px 22px 18px 18px;width:min(440px,100%);margin:0 auto;padding:1.35rem 1.25rem 1.4rem;animation:.75s cubic-bezier(.22,1,.36,1) .12s both authx-panel-in;box-shadow:0 -8px 40px #00000040}@keyframes authx-panel-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.authx-headline{color:var(--authx-ink);margin:0 0 1rem;font-family:Vazirmatn,Tahoma,sans-serif;font-size:1.85rem;font-weight:700;line-height:1.25}.authx-form{gap:.85rem;display:grid}.authx-field{color:#2c453c;gap:.35rem;font-size:.86rem;font-weight:600;display:grid}.authx-field input{box-sizing:border-box;border:1px solid var(--authx-line);width:100%;min-height:2.75rem;color:var(--authx-ink);font:inherit;background:#fff;border-radius:12px;padding:.65rem .85rem;font-weight:500;transition:border-color .18s,box-shadow .18s}.authx-field input:focus{border-color:#7fba9d;outline:none;box-shadow:0 0 0 3px #0f6b5622}.authx-field input::placeholder{color:#8aa097;font-weight:400}.authx-btn-primary{background:linear-gradient(135deg, var(--authx-forest), var(--authx-forest-2));color:#fff;min-height:2.85rem;font:inherit;cursor:pointer;border:none;border-radius:12px;margin-top:.15rem;font-size:.98rem;font-weight:700;transition:transform .15s,filter .15s,opacity .15s}.authx-btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.authx-btn-primary:disabled{opacity:.65;cursor:wait}.authx-btn-ghost{border:1px solid var(--authx-line);min-height:2.5rem;color:var(--authx-forest);font:inherit;cursor:pointer;background:0 0;border-radius:12px;font-size:.88rem;font-weight:700}.authx-btn-ghost:hover:not(:disabled){background:var(--authx-mist)}.authx-btn-ghost:disabled{opacity:.45;cursor:not-allowed}.authx-btn-secondary{min-height:2.55rem;color:var(--authx-forest);background:#fff;border:1px solid #0f6b5640;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem 1.05rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.authx-btn-secondary:hover{background:var(--authx-mist);border-color:var(--authx-forest)}.authx-hint{color:var(--authx-muted);margin:0;font-size:.78rem;line-height:1.55}.authx-alert,.authx-ok{border-radius:11px;padding:.65rem .8rem;font-size:.86rem;line-height:1.5}.authx-alert{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.authx-ok{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.authx-footer{border-top:1px solid #e4ebe7;margin-top:1.15rem;padding-top:1.05rem}.authx-legal{z-index:2;text-align:center;letter-spacing:.01em;color:#a8c4ba;direction:ltr;margin:auto 1rem 1rem;padding:.55rem .85rem;font-size:.78rem;line-height:1.55;position:relative}.authx-legal a{color:#d7efe6;text-underline-offset:2px;text-decoration:underline}.authx-legal a:hover{color:#fff}.authx-parent-cta{background:linear-gradient(135deg,#eef7f3,#f7fbf9);border:1px solid #c5e0d4;border-radius:14px;gap:.75rem;padding:.95rem 1rem;display:grid}.authx-parent-cta-copy{gap:.2rem;display:grid}.authx-parent-cta-copy strong{color:var(--authx-ink);font-size:.95rem}.authx-parent-cta-copy span{color:var(--authx-muted);font-size:.82rem;line-height:1.5}.authx-text-link{color:var(--authx-forest);font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.authx-text-link:hover{text-decoration:underline}.authx-parent .authx-brand-panel{align-content:end}@media (width>=880px){.authx-stage{grid-template-columns:minmax(0,1.15fr) minmax(380px,.95fr);align-items:stretch}.authx-brand-panel{align-content:center;padding:3rem 3.5rem 3rem 2.5rem}.authx-brand-name{font-size:clamp(3rem,4.5vw,4.1rem)}.authx-brand-tag{font-size:1.05rem}.authx-panel{place-items:center;padding:2rem 2.25rem}.authx-panel-inner{border-radius:20px;width:min(420px,100%);margin:0;padding:1.75rem 1.6rem 1.65rem;box-shadow:0 24px 60px #00000045}.authx-parent-cta{grid-template-columns:1fr auto;align-items:center}}.authx .authx-btn-primary{color:#fff!important;width:100%!important;height:auto!important;min-height:2.85rem!important;font:inherit!important;box-shadow:none!important;background:linear-gradient(135deg,#0f6b56,#148567)!important;border:none!important;border-radius:12px!important;padding:.7rem 1.1rem!important;font-size:.98rem!important;font-weight:700!important}.authx .authx-btn-ghost{color:#0f6b56!important;width:100%!important;height:auto!important;min-height:2.5rem!important;font:inherit!important;box-shadow:none!important;background:0 0!important;border:1px solid #c9d9d1!important;border-radius:12px!important;padding:.55rem 1rem!important;font-size:.88rem!important;font-weight:700!important}.authx .authx-field input{color:#0a1f1a!important;width:100%!important;height:auto!important;min-height:2.75rem!important;box-shadow:none!important;background:#fff!important;border:1px solid #c9d9d1!important;border-radius:12px!important}.authx a.authx-btn-secondary{color:#0f6b56!important;background:#fff!important;width:auto!important;text-decoration:none!important}.table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:top;padding:.55rem .65rem}.admin-table th{color:var(--muted);white-space:nowrap;font-weight:600}.modal,.modal.sheet-up,.admin-light-modal{color:#17302a;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #d5e2db;border-radius:16px;max-height:min(90vh,820px);padding:1rem 1.15rem 1.15rem;overflow:auto;box-shadow:0 22px 55px #00000045}.modal h2,.modal h3,.admin-light-modal h2,.admin-light-modal h3{color:#142821;margin:0}.modal .muted,.admin-light-modal .muted{color:#5d726b!important}.modal button.ghost,.modal .ghost,.admin-light-modal button.ghost,.admin-light-modal .ghost{color:#17302a!important;background:#f4f8f6!important;border:1px solid #c9d7d0!important}.modal button.ghost:hover,.admin-light-modal button.ghost:hover{color:#0f2f28!important;background:#e7f0eb!important}.modal .admin-table,.modal .admin-table td,.admin-light-modal .admin-table,.admin-light-modal .admin-table td{color:#17302a}.modal .admin-table th,.admin-light-modal .admin-table th{color:#5d726b}.modal .table-wrap,.admin-light-modal .table-wrap{background:#fff;border:1px solid #d5e2db;border-radius:12px;display:block;overflow:auto}.modal .ok,.admin-light-modal .ok{color:#067647;background:#dcfae6;border-radius:8px;padding:.1rem .4rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.85rem;display:flex}.classroom .muted,.cm-modal .muted,.panel .muted,.wb-panel .muted,.share-panel .muted,.mgr-menu .muted,.ctx-menu .muted,.layout-menu-dropdown .muted,.layout-more-menu .muted,.breakout-panel .muted{color:#a8c4ba!important}.cm-modal{color:#edf6f2;background:#14352d}.cm-modal h2,.cm-modal h3,.cm-modal strong,.cm-modal label{color:#edf6f2}.user-pass-modal.cm-modal,.user-pass-modal{color:#17302a!important;background:#fff!important;border-color:#d5e2db!important}.user-pass-modal .muted{color:#5d726b!important}.user-pass-modal h2,.user-pass-modal h3,.user-pass-modal strong,.user-pass-modal label,.user-pass-modal .cm-modal-head,.user-pass-modal .cm-modal-head strong{color:#17302a!important}.user-pass-modal input,.user-pass-modal select,.user-pass-modal textarea{color:#17302a!important;background:#fff!important;border-color:#c9d7d0!important}.user-pass-modal .cm-modal-head button.ghost,.user-pass-modal button.ghost{color:#17302a!important;background:#f4f8f6!important;border-color:#c9d7d0!important}.admin-shell .admin-table,.admin-shell .admin-table td{color:var(--admin-ink,#142821)}.admin-shell .admin-table th{color:var(--admin-muted,#5d726b)}.admin-shell .admin-card{color:var(--admin-ink,#142821);background:var(--admin-surface,#fff)}.admin-shell select,.admin-page select,.admin-card select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17302a!important;background-color:#fff!important}.admin-shell select option,.admin-page select option,.admin-card select option{color:#17302a!important;background-color:#fff!important}.reports-page{gap:.85rem;width:min(1100px,100%);padding-inline:0}.reports-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.reports-page-head h1{margin:0}.reports-page-head p{margin:.2rem 0 0}.reports-refresh-btn{flex-shrink:0;min-height:2.4rem;padding-inline:.9rem!important}.reports-section{margin:0!important}.reports-section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.reports-section-head h2,.reports-section>h2{margin:0 0 .65rem;font-size:clamp(1rem,3.5vw,1.1rem)}.reports-section-head h2{margin-bottom:0}.reports-count{margin-inline-start:.4rem;font-weight:400}.reports-usage-grid{grid-template-columns:1fr;gap:.65rem;display:grid}.reports-meter{border:1px solid var(--admin-line,#d5e2db);background:#f7faf8;border-radius:12px;padding:.75rem .85rem}.reports-meter-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem;display:flex}.reports-meter-track{background:var(--line,#c9d7d0);border-radius:999px;height:10px;overflow:hidden}.reports-meter-fill{background:var(--accent,#0f6b56);height:100%;transition:width .4s}.reports-meter-fill.is-hot{background:var(--danger,#b42318)}.reports-meter-detail{margin:.4rem 0 0}.reports-net-rates{margin:.15rem 0;font-size:1.05rem}.reports-footnote{margin:.75rem 0 0}.reports-class-list{grid-template-columns:1fr;gap:.65rem;display:grid}.reports-class-card{border:1px solid var(--admin-line,#d5e2db);background:#f7faf8;border-radius:12px;gap:.7rem;padding:.8rem .85rem;display:grid}.reports-class-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.reports-class-title{gap:.1rem;min-width:0;display:grid}.reports-class-title strong{word-break:break-word}.reports-badge{border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.75rem;font-weight:700;line-height:1.3}.reports-badge.is-open{color:#067647;background:#dcfae6}.reports-badge.is-closed{color:#5d726b;background:#e8eeeb}.reports-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;display:grid}.reports-stats>div{text-align:center;background:#fff;border:1px solid #e2ebe6;border-radius:10px;padding:.4rem .45rem}.reports-stats dt{color:var(--admin-muted,#5d726b);margin:0;font-size:.72rem;font-weight:600}.reports-stats dd{color:var(--admin-ink,#142821);margin:.1rem 0 0;font-size:1rem;font-weight:700}.reports-stats-ice{grid-column:1/-1}.reports-stats-ice dd{letter-spacing:.02em;font-size:.88rem;font-weight:600}.reports-class-actions{flex-wrap:wrap;gap:.45rem;display:flex}.reports-class-actions .ghost,.reports-class-actions a.ghost{text-align:center;flex:auto;justify-content:center;min-height:2.35rem;text-decoration:none;padding:.45rem .7rem!important}.reports-help{margin:.35rem 0 0;padding-inline-start:1.15rem;line-height:1.85}.reports-help li+li{margin-top:.35rem}.reports-modal{max-height:min(88vh,820px);width:min(720px,100vw - 1.25rem)!important;max-width:none!important;padding:.9rem!important}.reports-modal-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.reports-modal-head h3{word-break:break-word;font-size:clamp(.95rem,3.8vw,1.1rem);line-height:1.35}.reports-conn-list{-webkit-overflow-scrolling:touch;gap:.55rem;max-height:min(55vh,480px);margin-top:.75rem;display:grid;overflow:auto}.reports-conn-card{background:#f7faf8;border:1px solid #d5e2db;border-radius:12px;gap:.4rem;padding:.7rem .75rem;display:grid}.reports-conn-top{justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.reports-conn-meta{flex-wrap:wrap;gap:.35rem .75rem;display:flex}@media (width>=560px){.reports-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-net{grid-column:1/-1}.reports-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-stats-ice{grid-column:auto}}@media (width>=820px){.reports-usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-net{grid-column:auto}.reports-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.reports-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=479px){.reports-page .admin-card{border-radius:12px;padding:.8rem}.reports-class-actions .ghost,.reports-class-actions a.ghost{flex:100%}.modal-backdrop{align-items:end;padding:.5rem}.reports-modal.sheet-up{border-radius:16px 16px 0 0;max-height:min(92vh,900px);width:100%!important}}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.admin-page-head .btn{flex-shrink:0}tr.row-active td{background:#e8f5ef}.admin-form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.election-cand-list{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.election-cand-item{border:1px solid var(--line);background:#f8fbf9;border-radius:12px;padding:.85rem}.election-cand-item.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.election-cand-head{align-items:flex-start;gap:.75rem;display:flex}.election-cand-photo{object-fit:cover;background:#dfeae4;border-radius:10px;flex-shrink:0;width:72px;height:72px}.election-cand-photo.placeholder{border:1px dashed var(--line)}.election-cand-meta{flex:1;min-width:0}.election-cand-actions{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.election-cand-resume{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.election-parent-list{gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.election-parent-row{text-align:right;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.election-parent-row:hover{border-color:var(--accent)}.election-vote-hint{background:#e8f5ef;border-radius:10px;margin-top:.75rem;padding:.65rem .8rem}.election-submit-bar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex;position:sticky;bottom:.5rem}.election-result-counts{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.election-result-counts li{background:#f3f7f5;border-radius:8px;justify-content:space-between;padding:.45rem .6rem;display:flex}.parent-election-entry{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.poll-home-entry{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;text-decoration:none;display:flex;box-shadow:0 4px 14px #17302a0a}.poll-home-entry:hover{border-color:var(--accent)}.poll-home-entry-text{flex-direction:column;flex:1;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.poll-home-pending-line{color:var(--danger);font-size:.82rem;font-weight:700;line-height:1.3}.poll-home-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.45rem;height:1.45rem;padding:0 .4rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.poll-home-pending{color:var(--danger);white-space:nowrap;background:#fee4e2;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.78rem;font-weight:700;line-height:1.3}.poll-home-chevron{color:var(--muted);font-size:1.25rem;line-height:1}.poll-page-title{margin:.35rem 0 .5rem;font-size:1.25rem}.poll-list{gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.poll-list-item{text-align:right;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.poll-list-item:hover{border-color:var(--accent)}.poll-list-main{gap:.25rem;min-width:0;display:grid}.poll-list-title{font-size:1rem}.poll-list-side{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.poll-status{color:#334155;background:#eef2f6;border-radius:999px;width:fit-content;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.poll-status-open{color:var(--ok);background:#e8f5ef}.poll-status-upcoming{color:#9a3412;background:#fff7ed}.poll-dot-new{color:var(--danger);font-size:.72rem;font-weight:700}.poll-done{color:var(--ok);font-size:.72rem}.poll-chevron{color:var(--muted);font-size:1.2rem}.poll-empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#f8fbf9;border-radius:12px;padding:1.25rem}.poll-detail-hero{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:.85rem;padding:1rem 1.1rem}.poll-desc{margin-top:.65rem}.poll-pick-hint{background:#e8f5ef;border-radius:10px;margin:0 0 .75rem;padding:.55rem .75rem;font-size:.9rem}.poll-options{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.poll-option{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.poll-option.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.poll-option-row{align-items:center;gap:.35rem;padding:.55rem .55rem .55rem .35rem;display:flex}.poll-option-pick{text-align:right;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.65rem;padding:.25rem;display:flex}.poll-option-pick.readonly{cursor:default}.poll-option-pick:disabled{opacity:.55;cursor:not-allowed}.poll-check{border:2px solid var(--line);background:#fff;border-radius:6px;flex-shrink:0;width:1.15rem;height:1.15rem}.poll-check.on{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px #fff}.poll-option-photo{object-fit:cover;background:#dfeae4;border-radius:10px;flex-shrink:0;width:52px;height:52px}.poll-option-photo.placeholder{border:1px dashed var(--line);display:inline-block}.poll-option-name{font-size:.98rem;font-weight:600}.poll-option-more{flex-shrink:0}.poll-option-body{border-top:1px solid var(--line);margin-top:.15rem;padding:.75rem .9rem .85rem}.poll-submit-bar{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:stretch;margin-top:1rem;padding:.75rem;display:flex;position:sticky;bottom:.65rem;box-shadow:0 8px 24px #17302a18}.poll-submit-bar button{width:100%}.news-body,.rich-html{color:#243832;overflow-wrap:anywhere;word-break:break-word;font-size:1.02rem;line-height:1.85}.news-body p,.rich-html p{margin:0 0 .75rem}.news-body h2,.rich-html h2{color:#17302a;margin:0 0 .55rem;font-size:1.15rem}.news-body h3,.rich-html h3{color:#17302a;margin:0 0 .45rem;font-size:1.05rem}.news-body ul,.news-body ol,.rich-html ul,.rich-html ol{margin:0 0 .85rem;padding-right:1.2rem}.news-body blockquote,.rich-html blockquote{color:#3d5c52;background:#f3faf6;border-right:3px solid #7fba9d;margin:0 0 .85rem;padding:.35rem .75rem}.news-body a,.rich-html a{color:#0f6b56;text-decoration:underline}.news-body img,.rich-html img{border-radius:12px;max-width:100%}.news-body mark,.rich-html mark{background-color:#fef3c7;border-radius:.2em;padding:.05em .15em}.news-body u,.rich-html u{text-decoration:underline}.news-body s,.rich-html s{text-decoration:line-through}.file-list{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.file-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-actions.wrap{flex-wrap:wrap}label.file-btn{cursor:pointer;align-items:center;display:inline-flex}.election-results-modal{width:min(920px,100%);max-height:min(90vh,900px);color:var(--ink);background:#fff;overflow:auto}.chip.warn{color:#9a3412;background:#fff7ed}.upload-progress{grid-column:1/-1;gap:.35rem;margin:.5rem 0 .75rem;display:grid}.upload-progress-track{background:#d5e4de;border-radius:999px;height:.55rem;overflow:hidden}.upload-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .15s ease-out}.upload-progress-fill.is-processing{background-size:200% 100%;animation:1.1s linear infinite upload-progress-pulse}@keyframes upload-progress-pulse{0%{opacity:.75}50%{opacity:1}to{opacity:.75}}.upload-progress-label{color:var(--muted);font-size:.82rem}.admin-content .settings-fieldset{border:1px solid var(--line);background:#fff;grid-column:1/-1}.gallery-staff-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=960px){.gallery-staff-grid{grid-template-columns:1.1fr .9fr}}.gallery-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.gallery-panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.gallery-panel h2,.gallery-panel h3{margin:0 0 .75rem}.gallery-class-pick{grid-column:1/-1}.gallery-class-pick-label{margin-bottom:.35rem;font-weight:500;display:block}.gallery-class-checks{flex-wrap:wrap;gap:.5rem .9rem;display:flex}.gallery-upload-block{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.gallery-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem;margin-top:.75rem;display:grid}.gallery-thumb-grid.large{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.gallery-thumb{flex-direction:column;gap:.35rem;margin:0;display:flex}.gallery-thumb-img{border:1px solid var(--line);cursor:zoom-in;aspect-ratio:1;background:#e8efeb;border-radius:12px;width:100%;padding:0;display:block;overflow:hidden}.gallery-thumb-img img,.gallery-thumb-img .gallery-media-thumb,.gallery-thumb-img video{object-fit:cover;width:100%;height:100%;display:block}.gallery-media-thumb{width:100%;height:100%;display:block;position:relative}.gallery-media-thumb.is-video video{object-fit:cover;background:#122;width:100%;height:100%;display:block}.gallery-media-play{color:#fff;pointer-events:none;background:#0009;border-radius:999px;place-items:center;width:1.6rem;height:1.6rem;font-size:.7rem;display:grid;position:absolute;inset:auto auto .4rem .4rem}.gallery-album-cover.gallery-media-thumb,.gallery-album-cover.gallery-media-thumb video,.gallery-viewer-card .gallery-media-thumb,.gallery-viewer-card .gallery-media-thumb video{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumb-del{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.gallery-album-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.gallery-album-list li{border:1px solid #0000;border-radius:12px;align-items:center;gap:.5rem;padding:.35rem;display:flex}.gallery-album-list li.active{border-color:var(--accent);background:#f2faf7}.gallery-album-row{text-align:right;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.25rem;display:flex}.gallery-album-cover{object-fit:cover;background:#dfeae4;border-radius:10px;flex-shrink:0;width:56px;height:56px}.gallery-album-cover.empty{display:inline-block}.gallery-album-meta{flex-direction:column;gap:.15rem;min-width:0;display:flex}.gallery-album-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gallery-viewer-list{gap:.75rem;display:grid}.gallery-viewer-card{text-align:right;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:.85rem;width:100%;padding:.65rem .75rem;display:flex}.gallery-viewer-card img,.gallery-viewer-card .gallery-media-thumb,.gallery-viewer-card-empty{object-fit:cover;width:72px;height:72px;color:var(--muted);background:#dfeae4;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:relative;overflow:hidden}.gallery-viewer-card .gallery-media-thumb video{object-fit:cover;width:100%;height:100%}.gallery-viewer-card span{flex-direction:column;gap:.2rem;min-width:0;display:flex}.gallery-viewer-detail{flex-direction:column;gap:.75rem;display:flex}.gallery-lightbox img,.gallery-lightbox video{cursor:default;border-radius:12px;max-width:min(96vw,1100px);max-height:90vh;box-shadow:0 20px 60px #0006}.weekly-schedule{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.weekly-schedule-print-head{text-align:center;border-bottom:1px solid var(--line);padding:.75rem 1rem;display:none}.weekly-schedule-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.weekly-schedule-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.weekly-schedule-table th{color:var(--ink);border:1px solid var(--line);text-align:center;background:#e8f2ee;padding:.55rem .4rem;font-size:.9rem;font-weight:700}.weekly-schedule-day-cell{vertical-align:top;border:1px solid var(--line);background:#fff;min-height:8rem;padding:.4rem}.weekly-schedule-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.weekly-schedule-block{background:#f3f8f6;border:1px solid #d5e4de;border-radius:10px;flex-direction:column;gap:.1rem;padding:.4rem .45rem;display:flex}.weekly-schedule-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.weekly-schedule-subject{font-size:.88rem;line-height:1.35}.weekly-schedule-teacher{font-style:normal}.weekly-schedule-note{color:var(--muted)}.weekly-schedule-empty{text-align:center;padding:.5rem;display:block}.weekly-schedule-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.weekly-schedule-add{border:1px dashed var(--line);width:100%;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border-radius:8px;margin-top:.45rem;padding:.35rem;font-size:.8rem}.weekly-schedule-add:hover{background:#f2faf7}@media print{body{background:#fff!important}.no-print,.staff-app>header,.staff-app>nav,.bottom-nav,.teach-top,.app-page-header,.cs-tabs,.PageBackLink,button.teach-btn,a.teach-btn,.stu-shell-header,.portal-top{display:none!important}.weekly-schedule{box-shadow:none;border:none;border-radius:0}.weekly-schedule-print-head{display:block}.weekly-schedule-table{width:100%;min-width:0}.weekly-schedule-day-cell{background:#fff}.weekly-schedule-block{break-inside:avoid;background:#fff;border:1px solid #999}}.app-bottom-nav-icon{place-items:center;width:1.5rem;height:1.5rem;line-height:0;display:grid}.app-bottom-nav-icon svg{fill:currentColor;width:1.35rem;height:1.35rem;display:block}.lunch-panel .radio-row{cursor:pointer;align-items:center;gap:.5rem;display:flex}.lunch-panel .plain-list{margin:.5rem 0;padding-inline-start:1.2rem}.lunch-report .data-table,.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.lunch-report .data-table th,.lunch-report .data-table td,.data-table th,.data-table td{border:1px solid var(--line,#ddd);text-align:right;padding:.35rem .5rem}.data-table th{background:#eef5f2;font-weight:600}@media print{.lunch-report .no-print{display:none!important}}.lunch-page{box-sizing:border-box;flex-direction:column;gap:1.15rem;width:100%;min-width:0;max-width:min(920px,100%);margin:0 auto;padding:0 .85rem 2rem;display:flex;overflow-x:clip}.lunch-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:1.05rem 1.1rem 1.2rem;overflow:visible}.lunch-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;min-width:0;margin-bottom:.9rem;display:flex}.lunch-panel-head-text{flex:12rem;min-width:0}.lunch-panel-head h2{overflow-wrap:anywhere;margin:0;font-size:1.12rem;font-weight:700}.lunch-panel-meta{overflow-wrap:anywhere;margin:.25rem 0 0}.lunch-empty{color:var(--muted);text-align:center;margin:0;padding:1.5rem .5rem}.lunch-form{flex-direction:column;gap:1rem;min-width:0;max-width:100%;display:flex}.lunch-form-title{margin:0;font-size:1.05rem;font-weight:700}.lunch-field{color:var(--muted);flex-direction:column;gap:.35rem;min-width:0;font-size:.9rem;display:flex}.lunch-field>span{color:var(--ink);font-weight:500}.lunch-field input{border:1px solid var(--line);width:100%;max-width:100%;font:inherit;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:10px;padding:.55rem .75rem}.lunch-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;min-width:0;display:grid}@media (width<=640px){.lunch-form-row{grid-template-columns:minmax(0,1fr)}}.lunch-block{border:1px solid var(--line);background:linear-gradient(#fbfcfb,#f4f8f6);border-radius:12px;min-width:0;padding:.75rem .9rem}.lunch-block-title{margin-bottom:.65rem;font-size:.92rem;font-weight:700}.lunch-class-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.lunch-class-row{flex-wrap:wrap;align-items:center;gap:.55rem 1rem;min-width:0;display:flex}.lunch-check{cursor:pointer;color:var(--ink);align-items:center;gap:.45rem;min-width:0;margin:0;font-size:.92rem;display:inline-flex}.lunch-check span{overflow-wrap:anywhere}.lunch-check input{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex-shrink:0}.lunch-check-free{margin-inline-start:auto}.lunch-check-free.dim{opacity:.45}.lunch-actions{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.lunch-actions-mid{margin-top:.15rem}.lunch-actions .teach-btn{flex:none}.lunch-days{flex-direction:column;gap:.75rem;min-width:0;display:flex}.lunch-day-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:.75rem .85rem}.lunch-day-card.holiday{opacity:.92;background:#f7f7f7}.lunch-day-card.nearest{outline:2px solid color-mix(in srgb, var(--accent,#0f6b56) 55%, transparent);outline-offset:1px}.lunch-day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;margin-bottom:.55rem;display:flex}.lunch-day-head strong{overflow-wrap:anywhere}.lunch-menus{flex-direction:column;gap:.5rem;min-width:0;display:flex}.lunch-menu-row{grid-template-columns:minmax(0,1fr) 7.5rem auto auto;align-items:center;gap:.45rem;min-width:0;display:grid}.lunch-menu-name,.lunch-menu-price{border:1px solid var(--line);width:100%;max-width:100%;font:inherit;box-sizing:border-box;border-radius:9px;min-width:0;padding:.45rem .6rem}.lunch-menu-price{text-align:left;direction:ltr}.lunch-menu-unit{color:var(--muted);white-space:nowrap;font-size:.82rem}.lunch-menu-del{color:var(--danger);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;padding:.15rem .2rem;font-size:.82rem}.lunch-menu-del:hover{text-decoration:underline}.lunch-menu-price:disabled{opacity:.65;cursor:not-allowed;background:#f3f6f5}.lunch-price-lock-hint{margin:0 0 .15rem}@media (width<=560px){.lunch-menu-row{grid-template-columns:minmax(0,1fr) auto}}.lunch-campaign-list{flex-direction:column;gap:.7rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.lunch-campaign-item{border:1px solid var(--line);background:linear-gradient(#fff,#f7faf8);border-radius:12px;flex-direction:column;gap:.7rem;min-width:0;padding:.85rem .95rem;display:flex}.lunch-campaign-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.lunch-campaign-title-row{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;min-width:0;display:flex}.lunch-campaign-title-row strong{overflow-wrap:anywhere;font-size:1rem}.lunch-campaign-actions{flex-wrap:wrap;gap:.45rem;min-width:0;display:flex}.lunch-badge{border-radius:999px;flex-shrink:0;align-items:center;padding:.12rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.lunch-badge.open{color:#067647;background:#e6f6ee}.lunch-badge.closed{color:var(--muted);background:#f1f3f2}.lunch-detail-classes{overflow-wrap:anywhere;margin:0 0 .75rem}.lunch-detail-days{min-width:0;margin:0;padding:0;list-style:none}.lunch-detail-day{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;min-width:0;padding:.75rem 0;display:flex}.lunch-detail-day:first-child{border-top:none;padding-top:0}.lunch-detail-day p{overflow-wrap:anywhere;margin:.2rem 0 0}.lunch-detail-day>div{flex:12rem;min-width:0}.lunch-report{min-width:0;max-width:100%}.lunch-report-group{min-width:0;margin-top:.85rem}.lunch-report-day{border-bottom:1px solid var(--line);margin:0 0 .55rem;padding-bottom:.35rem;font-size:1rem}.lunch-report-tabs{background:#eef4f1;border-radius:12px;flex-wrap:wrap;gap:.4rem;width:fit-content;max-width:100%;margin:0 0 1rem;padding:.3rem;display:flex}.lunch-seg{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.4rem .85rem;font-size:.88rem;font-weight:600}.lunch-seg.active{color:var(--accent);background:#fff;box-shadow:0 1px 4px #17302a14}.lunch-report-class{min-width:0;margin:0 0 .85rem}.lunch-report-class-title{color:var(--muted);justify-content:space-between;gap:.5rem;margin:0 0 .4rem;font-size:.88rem;font-weight:600;display:flex}.lunch-order-list{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin:0;padding:0;list-style:none;overflow:hidden}.lunch-order-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;min-width:0;padding:.55rem .75rem;display:grid}.lunch-order-row:last-child{border-bottom:none}.lunch-order-name,.lunch-order-menu{overflow-wrap:anywhere;min-width:0}.lunch-order-menu{color:var(--muted);font-size:.9rem}.lunch-order-price{white-space:nowrap;justify-self:end;font-weight:600}@media (width<=560px){.lunch-order-row{grid-template-columns:minmax(0,1fr) auto}}.lunch-daily-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.lunch-daily-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:.75rem .85rem}.lunch-daily-head{flex-wrap:wrap;justify-content:space-between;gap:.4rem .75rem;margin-bottom:.45rem;display:flex}.lunch-daily-head strong,.lunch-daily-head span{overflow-wrap:anywhere}.lunch-daily-head span{color:var(--accent);font-weight:700}.lunch-daily-stats{color:var(--muted);flex-wrap:wrap;gap:.4rem .85rem;font-size:.88rem;display:flex}.lunch-daily-stats b{color:var(--ink);font-weight:700}.lunch-daily-menus{color:var(--muted);overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.84rem;line-height:1.55}.lunch-daily-total{background:#e8f0ec;border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:.4rem .75rem;min-width:0;margin-top:.9rem;padding:.75rem .85rem;font-size:.95rem;display:flex}.lunch-daily-total strong{overflow-wrap:anywhere}.lunch-revenue-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.75rem 1rem;min-width:0;margin:0 0 1rem;display:grid}@media (width<=700px){.lunch-revenue-filters{grid-template-columns:minmax(0,1fr)}}.lunch-revenue-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.lunch-revenue-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;min-width:0;padding:.8rem .9rem;display:flex}.lunch-revenue-main{flex-direction:column;flex:14rem;gap:.2rem;min-width:0;display:flex}.lunch-revenue-main strong{overflow-wrap:anywhere}.lunch-revenue-stats{color:var(--muted);flex-wrap:wrap;gap:.35rem .75rem;margin-top:.35rem;font-size:.88rem;display:flex}.lunch-revenue-amount{color:var(--accent);font-weight:700}.wallet-page{max-width:640px;margin:0 auto}.wallet-balance-card{border:1px solid var(--line);background:linear-gradient(#f7fbf9,#eef6f2);border-radius:14px;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:1.1rem 1.2rem;display:flex}.wallet-balance-value{font-size:1.45rem;font-weight:700}.wallet-charge-row{flex-wrap:nowrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.wallet-charge-row .input{flex:auto;min-width:0}.wallet-txn-title{margin:0 0 .65rem;font-size:1.05rem}.wallet-txn-list{flex-direction:column;gap:.55rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.wallet-txn-item{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;padding:.75rem .85rem;display:flex}.wallet-txn-main{overflow-wrap:anywhere;word-break:break-word;flex:auto;min-width:0}.wallet-txn-meta{text-align:left;white-space:nowrap;flex-direction:column;flex:none;align-items:flex-end;gap:.15rem;display:flex}.ok-text{color:var(--ok)}.danger-text{color:var(--danger)}.user-menu-wallet{border-bottom:1px solid var(--line);margin-bottom:.25rem;padding:.35rem .85rem .15rem}.parent-wallet-chip{white-space:nowrap}.staff-shell-back{margin-bottom:.75rem}.staff-shell-content.has-bottom-nav{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.staff-shell .staff-nav-action{cursor:pointer;text-align:start;appearance:none;width:100%;font:inherit;background:0 0;border:0}.staff-shell .staff-nav-action:hover{background:#ffffff14;color:#fff!important}@media print{.staff-shell .admin-topbar,.staff-shell .admin-sidebar,.staff-shell .admin-drawer,.staff-shell .admin-drawer-backdrop,.staff-shell .admin-menu-btn,.staff-shell .admin-topbar-logout,.staff-shell .staff-shell-back,.staff-shell .app-bottom-nav{display:none!important}}.user-pass-backdrop.cm-modal-backdrop{z-index:200;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1rem, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;align-content:center;justify-items:center;overflow:auto}.user-pass-backdrop .user-pass-modal.cm-modal{align-self:center;width:min(420px,100%);max-height:min(85dvh,560px);margin:auto}.teach-dashboard-bar{width:100%;margin:0 0 1rem;display:block}.teach-dashboard-bar .teach-btn{box-sizing:border-box;text-align:center;justify-content:center;width:100%;max-width:100%;min-height:2.75rem;display:flex}.staff-app{max-width:100vw;overflow-x:clip}.staff-app-main{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:clip}.wallets-staff{max-width:100vw;overflow-x:clip}.wallets-page{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;min-width:0;max-width:100%;display:flex}.wallets-tabs{flex-wrap:wrap;gap:.45rem;min-width:0;display:flex}.wallets-tab{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .9rem}.wallets-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.wallets-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:.85rem;min-width:0;max-width:100%;padding:1rem;display:flex;overflow-x:clip}.wallets-panel h2{margin:0;font-size:1.1rem}.wallets-filters{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:.65rem;min-width:0;display:grid}.wallets-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.wallets-field span{color:var(--muted);font-size:.85rem}.wallets-field input,.wallets-field select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;font:inherit;background:#fff;border-radius:10px;padding:.55rem .7rem}.wallets-field-grow{min-width:0}.wallets-summary{margin:0}.wallets-student-list,.wallets-credit-list{flex-direction:column;gap:.55rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.wallets-student-item,.wallets-credit-item{border:1px solid var(--line);background:#f8fbfa;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.75rem .85rem;display:flex}.wallets-student-info,.wallets-credit-body{overflow-wrap:anywhere;flex:auto;min-width:0}.wallets-student-info{flex-direction:column;gap:.15rem;display:flex}.wallets-student-side{flex-direction:column;flex:none;align-items:flex-end;gap:.4rem;display:flex}.wallets-student-balance{white-space:nowrap;font-size:.95rem}.wallets-credit-top{justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;min-width:0;display:flex}.wallets-credit-item{flex-direction:column;align-items:stretch}.wallets-credit-body{flex-direction:column;gap:.35rem;display:flex}.wallets-credit-form{flex-direction:column;gap:.7rem;min-width:0;margin:0;display:flex}.wallets-credit-form h3,.wallets-section-title{margin:0;font-size:1rem}.wallets-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.wallets-txn-actions{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.wallets-back{align-self:start}.wallets-detail-head h2{overflow-wrap:anywhere;margin:0;font-size:1.15rem}@media (width<=560px){.wallets-filters{grid-template-columns:1fr}.wallets-student-item{flex-wrap:wrap}.wallets-student-side{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.wallet-txn-item{flex-wrap:wrap}.wallet-txn-meta{text-align:right;white-space:normal;align-items:flex-start}}.site-select-wrap{width:100%;min-width:0;position:relative}.site-select-native{opacity:0!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;position:absolute!important;overflow:hidden!important}.site-select-trigger{cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;min-height:2.6rem;width:100%!important;font:inherit!important;text-align:right!important;color:#17302a!important;border:1px solid var(--line,#c9d7d0)!important;box-shadow:none!important;background:#fff!important;border-radius:10px!important;margin:0!important;padding:.55rem .75rem!important;font-size:.95rem!important;font-weight:500!important;display:flex!important}.site-select-trigger:hover:not(:disabled){border-color:#9bb8ae!important}.site-select-trigger:disabled{opacity:.6;cursor:not-allowed}.site-select-wrap.is-open .site-select-trigger{border-color:var(--accent,#0f6b56)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#0f6b56) 18%, transparent)!important}.site-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;color:#17302a!important}.site-select-caret{flex-shrink:0;font-size:.75rem;line-height:1;color:#5d726b!important}.site-select-pop{border:1px solid #c9d7d0;border-radius:12px;gap:.15rem;padding:.4rem;font-family:Vazirmatn,Tahoma,sans-serif;display:grid;overflow:auto;box-shadow:0 12px 28px #14282122;color:#17302a!important;background:#fff!important}.site-select-option{cursor:pointer;width:100%!important;font:inherit!important;text-align:right!important;color:#17302a!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:8px!important;margin:0!important;padding:.55rem .7rem!important;font-size:.95rem!important;font-weight:500!important;display:block!important}.site-select-option:hover{color:#17302a!important;background:#eef6f2!important}.site-select-option.is-active{color:#0f6b56!important;background:#e3f2ec!important;font-weight:700!important}select,select.input,select.site-select,.jdate-time-select,.jdate-pop-title select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--line,#c9d7d0);box-sizing:border-box;border-radius:10px;min-width:0;max-width:100%;padding:.55rem .75rem;font-size:.95rem;line-height:1.5;color:#17302a!important;background-color:#fff!important;font-family:Vazirmatn,Tahoma,sans-serif!important}.template-select,.chat-select,.search-select-trigger,.search-select-query,.search-select-option{font-family:Vazirmatn,Tahoma,sans-serif!important}option,select option,.site-select option,.template-select option,.chat-select option,.jdate-time-select option,.jdate-pop-title select option,.admin-page select option,.admin-card select option,.admin-shell select option,.pp-shell select option,.cs-portal select option{font-size:.95rem;color:#17302a!important;background-color:#fff!important;font-family:Vazirmatn,Tahoma,sans-serif!important}.template-select,.mgr-mobile-field .template-select,.chat-select,.chat-panel select,.media-panel select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf6f2!important;background-color:#00000059!important;border:1px solid #ffffff24!important}.search-select-pop-fixed,.jdate-pop-fixed{box-sizing:border-box;font-family:Vazirmatn,Tahoma,sans-serif;inset-inline:auto!important}.search-select-pop-fixed{flex-direction:column;gap:.45rem;display:flex;overflow:hidden}.search-select-pop-fixed .search-select-list{flex:auto;min-height:0;max-height:none;overflow:auto}.jdate-pop-fixed{max-width:calc(100vw - 16px)}.jdate-pop-title select.site-select{flex:1;min-width:0;padding:.4rem .5rem;font-size:.9rem}.panel button.focus-btn,button.focus-btn,.mobile-focus-bar .focus-btn{cursor:pointer;flex:none;min-width:1.7rem;height:1.55rem;margin-inline-start:.35rem;font-weight:700;line-height:1;color:#0a2e26!important;background:#e8f5f0!important;border:1px solid #0f6b56!important;border-radius:8px!important;padding:0 .45rem!important;font-size:.75rem!important}.panel button.focus-btn:hover,button.focus-btn:hover,.mobile-focus-bar .focus-btn:hover{color:#062019!important;background:#d0ebe1!important;border-color:#0c5a49!important}.panel button.focus-btn.active,button.focus-btn.active,.mobile-focus-bar .focus-btn.active{color:#fff!important;background:#c62828!important;border-color:#8e0000!important}.panel button.focus-btn.blink,button.focus-btn.blink,.video-tile button.fm-btn.blink,button.fm-btn.blink{animation:1s ease-in-out infinite focus-blink}@keyframes focus-blink{0%,to{opacity:1;box-shadow:0 0 #c628288c;background:#c62828!important}50%{opacity:.55;box-shadow:0 0 0 5px #c6282840;background:#ef5350!important}}.video-tile button.fm-btn,button.fm-btn{z-index:3;min-width:2rem;height:1.45rem;position:absolute;top:.35rem;left:.35rem;color:#3d2e00!important;background:#ffe8a3!important;border-color:#c9a227!important;font-size:.7rem!important}.video-tile button.fm-btn:hover,button.fm-btn:hover{color:#2a1f00!important;background:#ffd866!important}.video-tile button.fm-btn.active,button.fm-btn.active{color:#fff!important;background:#c62828!important;border-color:#8e0000!important}.video-tile{position:relative}.video-tile.focus-member-active{outline-offset:-2px;outline:2px solid #c62828}.class-desktop.student-focus-mode{min-height:calc(100vh - 7rem);position:relative}.class-desktop.student-focus-mode .panel.focus-fullscreen{box-shadow:none;border-radius:0}.class-desktop.student-focus-mode .panel.focus-fullscreen>header{display:none}.class-mobile.student-focus-mode .mobile-panel.focus-fullscreen{min-height:calc(100vh - 5.5rem)}.mobile-focus-bar{justify-content:flex-end;gap:.4rem;padding:.35rem .6rem 0;display:flex}.panel header{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.panel-title{flex:auto;min-width:0}.sms-logs-filters{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.75rem;margin-bottom:.85rem;display:grid}.sms-logs-filters label{gap:.3rem;font-size:.88rem;display:grid}.sms-logs-stats{flex-wrap:wrap;gap:.85rem;margin-bottom:.85rem;font-size:.9rem;font-weight:600;display:flex}.sms-logs-stats .danger{color:var(--admin-danger,#b42318)}.sms-logs-table-wrap{overflow:auto}.sms-logs-table td,.sms-logs-table th{vertical-align:top;white-space:nowrap}.sms-logs-table td:last-child{white-space:normal;min-width:14rem}.sms-logs-table tr.is-fail{background:#fff5f4}.sms-log-badge{border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700;display:inline-block}.sms-log-badge.ok{color:#067647;background:#e8f7ef}.sms-log-badge.fail{color:#b42318;background:#fdecea}.sms-log-detail{gap:.2rem;display:grid}.sms-logs-pager{justify-content:center;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.wr-form-backdrop{z-index:80;justify-content:flex-start;align-items:stretch;padding:0}.wr-form-panel{color:#17302a;border:0;background:#fff;border-inline-start:1px solid #d5e2db;flex-direction:column;width:min(720px,100%);max-width:100%;height:100%;max-height:100dvh;margin-inline-start:auto;animation:.2s ease-out wr-form-in;display:flex;box-shadow:-16px 0 48px #0003}@keyframes wr-form-in{0%{opacity:.6;transform:translate(-1.25rem)}to{opacity:1;transform:translate(0)}}.wr-form-panel-inner{flex-direction:column;gap:0;height:100%;min-height:0;margin:0;display:flex}.wr-form-panel-head{border-bottom:1px solid #e4eee9;flex:none;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem .85rem;display:flex}.wr-form-panel-kicker{color:#5d726b;margin:0;font-size:.72rem;font-weight:700}.wr-form-panel-head h3{margin:.2rem 0 .15rem;font-size:1.15rem;line-height:1.35}.wr-form-panel-body{flex:auto;align-content:start;gap:.85rem;min-height:0;padding:1rem 1.1rem 1.25rem;display:grid;overflow:auto}.wr-form-panel-foot{background:#f7fbf9;border-top:1px solid #e4eee9;flex:none;justify-content:flex-end;gap:.55rem;padding:.85rem 1.1rem;display:flex}.wr-form-panel .news-editor{flex-direction:column;min-height:14rem;display:flex;overflow:visible}.wr-form-panel .news-editor-toolbar{flex:none}.wr-form-panel .news-editor .tiptap,.wr-form-panel .news-editor .ProseMirror,.wr-form-panel .news-editor-surface,.wr-form-panel .news-editor>div:not(.news-editor-toolbar){flex:auto;height:auto!important;min-height:16rem!important}.wr-form-panel .news-editor>div:not(.news-editor-toolbar){flex-direction:column;min-height:16rem;display:flex}@media (width<=720px){.wr-form-panel{border-inline-start:0;width:100%}.wr-form-panel .news-editor{min-height:18rem}.wr-form-panel .news-editor .tiptap,.wr-form-panel .news-editor .ProseMirror,.wr-form-panel .news-editor-surface,.wr-form-panel .news-editor>div:not(.news-editor-toolbar){-webkit-overflow-scrolling:touch;max-height:22rem;height:42vh!important;min-height:12rem!important;overflow-y:auto!important}}.app-page-header-trailing{z-index:40;flex:none;position:relative}.app-page-header .user-menu.compact .user-menu-btn{gap:.2rem;min-height:2.4rem;padding:.25rem .45rem}.app-page-header .user-menu-dropdown{z-index:50;min-width:13rem;inset-inline:auto 0}.exam-list-item{text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:0;padding:.85rem 1rem;display:flex}.exam-list-actions{flex-wrap:wrap;flex:none;gap:.4rem;display:flex}.exam-list-actions .teach-btn.small{min-height:auto;padding:.45rem .75rem;font-size:.85rem}.hw-list-card{cursor:default}.hw-list-card .stu-hw-item-body{width:100%}.hw-list-actions{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.hw-list-actions .teach-btn.small{min-height:auto;padding:.45rem .75rem;font-size:.85rem}.hw-detail-tabs{margin-top:.75rem}.wr-form-panel.admin-class-form{width:min(960px,100%)}.wr-form-panel.admin-class-form .form-grid{gap:.85rem;display:grid}.cs-portal,.stu-app.cs-portal{--cs-color-background-layout:#f2f3f3;--cs-color-background-container:#fff;--cs-color-background-top:#fff;--cs-color-border:#e9ebed;--cs-color-border-input:#9ba7b6;--cs-color-text-body:#16191f;--cs-color-text-body-secondary:#5f6b7a;--cs-color-text-heading:#000716;--cs-color-text-link:#0972d3;--cs-color-text-accent:#0972d3;--cs-color-background-primary:#0972d3;--cs-color-background-primary-hover:#033160;--cs-color-background-button-normal:#fff;--cs-color-background-control:#fbfbfb;--cs-color-background-status-success:#f2fcf3;--cs-color-background-status-error:#fff7f7;--cs-color-text-status-success:#037f0c;--cs-color-text-status-error:#d91515;--cs-color-text-status-info:#0972d3;--cs-color-background-item-selected:#f2f8fd;--cs-color-border-item-selected:#0972d3;--cs-space-xxs:4px;--cs-space-xs:8px;--cs-space-s:12px;--cs-space-m:16px;--cs-space-l:20px;--cs-space-xl:24px;--cs-space-xxl:32px;--cs-radius-container:16px;--cs-radius-button:8px;--cs-radius-badge:4px;--cs-shadow-container:0 1px 1px 1px #0000000f, 0 1px 4px 2px #0000000a;--cs-font:Vazirmatn, Tahoma, sans-serif;--ink:var(--cs-color-text-body);--muted:var(--cs-color-text-body-secondary);--line:var(--cs-color-border);--surface:var(--cs-color-background-container);--bg:var(--cs-color-background-layout);--accent:var(--cs-color-background-primary);--accent-2:#033160;--danger:var(--cs-color-text-status-error);--ok:var(--cs-color-text-status-success);--radius:var(--cs-radius-container);--shadow:var(--cs-shadow-container);background:var(--cs-color-background-layout);min-height:100dvh;color:var(--cs-color-text-body);font-family:var(--cs-font)}.cs-portal .cs-top-nav,.cs-portal .reg-top,.cs-portal .app-page-header{background:var(--cs-color-background-top);border-bottom:1px solid var(--cs-color-border);box-shadow:none;z-index:40;position:sticky;top:0}.cs-portal .cs-top-nav,.cs-portal .reg-top{justify-content:space-between;align-items:center;gap:var(--cs-space-m);min-height:48px;padding:0 var(--cs-space-l);display:flex}.cs-portal .cs-top-nav-identity,.cs-portal .reg-top-meta{flex-direction:column;gap:0;min-width:0;display:flex}.cs-portal .cs-top-nav-identity strong,.cs-portal .reg-top-meta strong,.cs-portal .app-page-header h1{color:var(--cs-color-text-heading);margin:0;font-size:16px;font-weight:700;line-height:1.3}.cs-portal .cs-top-nav-identity span,.cs-portal .reg-top-meta .muted,.cs-portal .app-page-header p{color:var(--cs-color-text-body-secondary);margin:0;font-size:12px}.cs-portal .cs-top-nav-utils,.cs-portal .reg-top-actions{align-items:center;gap:var(--cs-space-xs);display:flex}.cs-portal .app-page-header-main{width:100%;max-width:1280px;padding:var(--cs-space-s) var(--cs-space-l);box-sizing:border-box;margin:0 auto}.cs-portal .cs-content,.cs-portal .reg-main,.cs-portal .stu-app-main{max-width:1280px;padding:var(--cs-space-l) var(--cs-space-l) 5.5rem;box-sizing:border-box;gap:var(--cs-space-l);flex-direction:column;width:100%;margin:0 auto;display:flex}.cs-portal .cs-content-header{margin-bottom:var(--cs-space-xs)}.cs-portal .cs-content-header h1{color:var(--cs-color-text-heading);margin:0 0 var(--cs-space-xxs);font-size:28px;font-weight:700;line-height:1.25}.cs-portal .cs-content-header p{color:var(--cs-color-text-body-secondary);margin:0;font-size:14px}.cs-portal .cs-container,.cs-portal .reg-card,.cs-portal .stu-empty-card,.cs-portal .stu-class-card,.cs-portal .stu-hw-detail,.cs-portal .stu-panel,.cs-portal .exam-stu-item,.cs-portal .exam-stu-q,.cs-portal .parent-student-bar,.cs-portal .poll-home-entry,.cs-portal .news-feed{background:var(--cs-color-background-container);border:1px solid var(--cs-color-border);border-radius:var(--cs-radius-container);box-shadow:none;padding:0;overflow:hidden}.cs-portal .cs-container-header,.cs-portal .cs-section-head{justify-content:space-between;align-items:flex-start;gap:var(--cs-space-m);padding:var(--cs-space-m) var(--cs-space-l);border-bottom:1px solid var(--cs-color-border);background:var(--cs-color-background-container);display:flex}.cs-portal .cs-container-header h2,.cs-portal .cs-section-head h2{color:var(--cs-color-text-heading);margin:0;font-size:18px;font-weight:700}.cs-portal .cs-container-header p,.cs-portal .cs-section-head p{color:var(--cs-color-text-body-secondary);margin:2px 0 0;font-size:12px}.cs-portal .cs-container-body,.cs-portal .stu-class-card,.cs-portal .stu-panel,.cs-portal .stu-hw-detail,.cs-portal .exam-stu-q,.cs-portal .exam-stu-item,.cs-portal .stu-empty-card,.cs-portal .news-feed{padding:var(--cs-space-l)}.cs-portal .parent-student-bar{gap:var(--cs-space-xs);flex-direction:column;display:flex}.cs-portal .parent-student-main strong{color:var(--cs-color-text-heading);font-size:18px;font-weight:700}.cs-portal .reg-card.nested,.cs-portal .stu-panel{border-radius:12px}.cs-portal .reg-card.nested{background:var(--cs-color-background-control)}.cs-portal .cs-tabs,.cs-portal .reg-tabs{padding:0 var(--cs-space-s);border-bottom:1px solid var(--cs-color-border);background:var(--cs-color-background-container);scrollbar-width:none;gap:0;margin:0;display:flex;overflow-x:auto}.cs-portal .cs-tabs::-webkit-scrollbar{display:none}.cs-portal .reg-tabs::-webkit-scrollbar{display:none}.cs-portal .cs-tabs button,.cs-portal .reg-tabs button{color:var(--cs-color-text-body-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;flex:none;margin:0;padding:12px 16px;font-size:14px;font-weight:700;position:relative}.cs-portal .cs-tabs button:hover,.cs-portal .reg-tabs button:hover{color:var(--cs-color-text-body);background:#00000008}.cs-portal .cs-tabs button.active,.cs-portal .reg-tabs button.active{color:var(--cs-color-text-accent);box-shadow:none;background:0 0}.cs-portal .cs-tabs button.active:after,.cs-portal .reg-tabs button.active:after{content:"";background:var(--cs-color-background-primary);border-radius:4px 4px 0 0;height:4px;position:absolute;bottom:0;left:8px;right:8px}.cs-portal .teach-btn,.cs-portal .cs-btn{border-radius:var(--cs-radius-button);min-height:32px;box-shadow:none;cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:6px;padding:4px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.cs-portal .teach-btn.primary,.cs-portal .cs-btn-primary{background:var(--cs-color-background-primary);color:#fff;border-color:var(--cs-color-background-primary)}.cs-portal .teach-btn.primary:hover,.cs-portal .cs-btn-primary:hover{background:var(--cs-color-background-primary-hover);border-color:var(--cs-color-background-primary-hover)}.cs-portal .teach-btn.secondary,.cs-portal .cs-btn-normal{background:var(--cs-color-background-button-normal);color:var(--cs-color-text-body);border-color:var(--cs-color-border-input)}.cs-portal .teach-btn.secondary:hover,.cs-portal .cs-btn-normal:hover{background:#f0f1f2;border-color:#7d8998}.cs-portal .teach-btn.ghost,.cs-portal .cs-btn-link,.cs-portal .reg-top-actions .ghost{color:var(--cs-color-text-link);border-radius:var(--cs-radius-button);background:0 0;border-color:#0000;min-height:32px;padding:4px 12px;font-weight:700}.cs-portal .teach-btn.ghost:hover,.cs-portal .reg-top-actions .ghost:hover,.cs-portal .stu-app-menu-btn:hover,.cs-portal .stu-app-menu-btn.open{color:var(--cs-color-text-link);background:#0972d314}.cs-portal .stu-app-menu-btn{border-radius:var(--cs-radius-button);min-width:32px;min-height:32px;color:var(--cs-color-text-body);cursor:pointer;background:0 0;border:none;font-size:18px}.cs-portal .reg-list,.cs-portal .stu-hw-list,.cs-portal .stu-class-list,.cs-portal .exam-stu-list,.cs-portal .gallery-viewer-list{gap:var(--cs-space-s);flex-direction:column;display:flex}.cs-portal .reg-row,.cs-portal .stu-hw-item,.cs-portal .stu-class-card,.cs-portal .exam-stu-item,.cs-portal .gallery-viewer-card,.cs-portal .poll-list-item{background:var(--cs-color-background-container);border:1px solid var(--cs-color-border);box-shadow:none;border-radius:12px;transition:border-color .12s,background .12s}.cs-portal .stu-hw-item:hover,.cs-portal .gallery-viewer-card:hover,.cs-portal .poll-list-item:hover,.cs-portal .stu-class-card:hover{background:var(--cs-color-background-item-selected);border-color:#7d8998}.cs-portal .reg-row{justify-content:space-between;align-items:center;gap:var(--cs-space-m);padding:var(--cs-space-m);display:flex}.cs-portal .stu-hw-item{align-items:center;gap:var(--cs-space-m);text-align:right;width:100%;padding:var(--cs-space-m);cursor:pointer;color:inherit;font:inherit;display:flex}.cs-portal .stu-class-actions{gap:var(--cs-space-xs);margin-top:var(--cs-space-m);flex-wrap:wrap;display:flex}.cs-portal .stu-section-title{color:var(--cs-color-text-heading);margin:0 0 var(--cs-space-s);text-transform:none;letter-spacing:0;font-size:18px;font-weight:700}.cs-portal .stu-app-avatar{width:32px;height:32px;color:var(--cs-color-text-accent);background:#0972d31f;border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.cs-portal .reg-chip,.cs-portal .stu-pill{border-radius:var(--cs-radius-badge);padding:2px 8px;font-size:12px;font-weight:700}.cs-portal .alert{background:var(--cs-color-background-status-error);color:var(--cs-color-text-status-error);padding:var(--cs-space-m);border:1px solid #f7dbdb;border-radius:12px}.cs-portal .ok{background:var(--cs-color-background-status-success);color:var(--cs-color-text-status-success);padding:var(--cs-space-m);border:1px solid #c6ebd0;border-radius:12px}.cs-portal .empty,.cs-portal .stu-empty-card{color:var(--cs-color-text-body-secondary);text-align:center;padding:var(--cs-space-xxl) var(--cs-space-l)!important}.cs-portal .poll-home-entry{color:inherit;justify-content:space-between;align-items:center;text-decoration:none;display:flex;padding:var(--cs-space-l)!important}.cs-portal .poll-home-entry:hover{background:var(--cs-color-background-item-selected);border-color:var(--cs-color-border-item-selected)}.cs-portal .poll-home-pending-line{color:var(--cs-color-text-accent);margin-top:4px;font-size:12px;font-weight:700;display:inline-block}.cs-portal .poll-page-title{color:var(--cs-color-text-heading);margin:0 0 var(--cs-space-m);font-size:28px;font-weight:700}.cs-portal .poll-list{gap:var(--cs-space-s);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cs-portal .poll-list-item{text-align:right;width:100%;padding:var(--cs-space-l);cursor:pointer;font:inherit;color:inherit}.cs-portal .gallery-viewer-card{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:right;grid-template-columns:120px 1fr;align-items:stretch;gap:0;padding:0;display:grid;overflow:hidden}.cs-portal .gallery-viewer-card img,.cs-portal .gallery-viewer-card-empty{object-fit:cover;width:120px;height:120px;color:var(--cs-color-text-body-secondary);background:#e9ebed;justify-content:center;align-items:center;font-size:12px;display:flex}.cs-portal .gallery-viewer-card>span{padding:var(--cs-space-m) var(--cs-space-l);flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.cs-portal .gallery-viewer-card strong{color:var(--cs-color-text-heading);font-size:16px;font-weight:700}.cs-portal .gallery-thumb-grid{gap:var(--cs-space-s);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.cs-portal .gallery-thumb-grid.large{grid-template-columns:repeat(4,minmax(0,1fr))}}.cs-portal .gallery-thumb-img{aspect-ratio:1;border:1px solid var(--cs-color-border);cursor:zoom-in;background:#e9ebed;border-radius:12px;padding:0;overflow:hidden}.cs-portal .gallery-thumb-img img,.cs-portal .gallery-thumb-img video,.cs-portal .gallery-thumb-img .gallery-media-thumb{object-fit:cover;width:100%;height:100%;display:block}.cs-portal .gallery-lightbox{z-index:80;padding:var(--cs-space-l);cursor:zoom-out;background:#000716cc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cs-portal .gallery-lightbox img,.cs-portal .gallery-lightbox video{cursor:default;border-radius:8px;max-width:min(96vw,1100px);max-height:90vh}.cs-portal .app-bottom-nav{bottom:0;z-index:30;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--cs-color-background-container);border-top:1px solid var(--cs-color-border);box-shadow:none;justify-content:center;gap:4px;display:flex;position:fixed;inset-inline:0}.cs-portal .app-bottom-nav-item{max-width:110px;color:var(--cs-color-text-body-secondary);border-radius:8px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:6px 4px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.cs-portal .app-bottom-nav-item.active{color:var(--cs-color-text-accent);background:#0972d314}.cs-portal .app-bottom-nav-icon{place-items:center;width:40px;height:28px;display:grid}.cs-portal .app-bottom-nav-icon svg{fill:currentColor;width:20px;height:20px}.cs-portal .user-menu-dropdown{border:1px solid var(--cs-color-border);box-shadow:var(--cs-shadow-container);background:#fff;border-radius:12px;overflow:hidden}.cs-portal .exam-stu-footer{background:var(--cs-color-background-container);border:1px solid var(--cs-color-border);padding:var(--cs-space-m);margin-top:var(--cs-space-m);border-radius:12px;position:sticky;bottom:4.5rem}.cs-portal .month-cal{border:1px solid var(--cs-color-border);border-radius:12px;overflow:hidden}.cs-portal.rec-modal-backdrop,.cs-portal .rec-modal-backdrop{background:#0f172a73}.cs-portal .rec-modal{background:var(--cs-color-background-container,#fff);border:1px solid var(--cs-color-border,#b6bec9);box-shadow:var(--cs-shadow-container,0 12px 40px #0f172a2e);color:var(--cs-color-text-body,#16191f);border-radius:12px}.cs-portal .rec-modal-head{background:var(--cs-color-background-container,#fff);border-bottom:1px solid var(--cs-color-border,#e9ebed);margin-bottom:.15rem;padding-bottom:.65rem}.cs-portal .rec-modal-head strong{color:var(--cs-color-text-heading,#16191f);font-size:1.05rem}.cs-portal .rec-empty{border:1px dashed var(--cs-color-border,#b6bec9);color:var(--cs-color-text-body-secondary,#5f6b7a);background:#f9fafb;border-radius:8px}.cs-portal .rec-item{border:1px solid var(--cs-color-border,#b6bec9);background:#fff;border-radius:8px}.cs-portal .rec-item-top h4{color:var(--cs-color-text-heading,#16191f)}.cs-portal .rec-status{border-radius:4px;font-weight:700}.cs-portal .rec-btn{border-radius:var(--cs-radius-button,8px);min-height:32px;font-weight:700}.cs-portal .rec-btn.primary{background:var(--cs-color-background-primary,#0972d3);border-color:var(--cs-color-background-primary,#0972d3);color:#fff}.cs-portal .rec-btn.primary:hover{background:var(--cs-color-background-primary-hover,#033160);border-color:var(--cs-color-background-primary-hover,#033160)}.cs-portal .rec-btn.muted-btn{border:1px solid var(--cs-color-border-input,#7d8998);color:var(--cs-color-text-body-secondary,#5f6b7a);background:#f0f1f2}.cs-portal .rec-btn.danger{color:#d91515;background:#fff;border:1px solid #d91515}.cs-portal .teach-btn.disabled,.cs-portal span.teach-btn.disabled{color:#9ba4ae;cursor:default;pointer-events:none;background:#f0f1f2;border-color:#d5dbdb}.cs-portal select,.cs-portal option{color:#17302a!important;background-color:#fff!important;font-family:Vazirmatn,Tahoma,sans-serif!important}.cs-portal select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.stu-app.cs-portal{flex-direction:column;min-height:100dvh;display:flex}.stu-top-nav{z-index:40;border-bottom:1px solid var(--cs-color-border);background:#fff;flex:none;min-height:48px;position:sticky;top:0}.stu-top-nav-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--cs-space-m);width:100%;max-width:1280px;padding:0 var(--cs-space-l);min-height:48px;margin:0 auto;display:flex}.stu-top-nav-start{align-items:center;gap:var(--cs-space-s);flex:auto;min-width:0;display:flex}.stu-top-nav-back{flex:none;max-width:min(42vw,11rem)}.stu-top-nav-back .page-back,.stu-top-nav-back .teach-btn{max-width:100%}.stu-top-nav-identity{flex-direction:column;gap:0;min-width:0;display:flex}.stu-top-nav-identity strong{color:var(--cs-color-text-heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;line-height:1.25;overflow:hidden}.stu-top-nav-identity span{color:var(--cs-color-text-body-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.stu-top-nav-utils{align-items:center;gap:var(--cs-space-xs);flex:none;display:flex}.stu-top-nav-avatar{width:32px;height:32px;color:var(--cs-color-text-accent);background:#0972d31f;border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.cs-portal .cs-btn-icon{cursor:pointer;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;border-radius:var(--cs-radius-button)!important;color:var(--cs-color-text-body)!important;background:0 0!important;border:1px solid #0000!important;padding:0!important;display:inline-grid!important}.cs-portal .cs-btn-icon:hover,.cs-portal .cs-btn-icon.open{color:var(--cs-color-text-link)!important;background:#0972d314!important;border-color:#0000!important}.cs-drawer-root{z-index:80;pointer-events:none;position:fixed;inset:0}.cs-drawer-backdrop{cursor:pointer;pointer-events:auto;background:#0f172a73;border:0;margin:0;padding:0;position:absolute;inset:0}.cs-drawer{top:0;bottom:0;border-inline-end:1px solid var(--cs-color-border);pointer-events:auto;background:#fff;flex-direction:column;width:min(20rem,88vw);max-width:100%;animation:.18s ease-out cs-drawer-in;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 4px 20px #0007162e}@keyframes cs-drawer-in{0%{opacity:0}to{opacity:1}}.cs-drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--cs-space-m);padding:var(--cs-space-l);border-bottom:1px solid var(--cs-color-border);display:flex}.cs-drawer-head strong{color:var(--cs-color-text-heading);font-size:16px;display:block}.cs-drawer-head span{color:var(--cs-color-text-body-secondary);margin-top:2px;font-size:12px;display:block}.cs-drawer-balance{margin:var(--cs-space-m) var(--cs-space-l);padding:var(--cs-space-m);background:var(--cs-color-background-item-selected);border:1px solid #b5d6f4;border-radius:12px;flex-direction:column;gap:2px;display:flex}.cs-drawer-balance span{color:var(--cs-color-text-body-secondary);font-size:12px}.cs-drawer-balance strong{color:var(--cs-color-text-heading);font-size:16px}.cs-drawer-nav{padding:var(--cs-space-s);flex-direction:column;gap:2px;display:flex;overflow:auto}.cs-drawer-nav a,.cs-drawer-nav button{width:100%;min-height:40px;font:inherit;text-align:right;cursor:pointer;align-items:center;text-decoration:none;padding:0 var(--cs-space-m)!important;color:var(--cs-color-text-body)!important;background:0 0!important;border:0!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;display:flex!important}.cs-drawer-nav a:hover,.cs-drawer-nav button:hover{color:var(--cs-color-text-link)!important;background:#0972d314!important}.cs-drawer-nav button.danger{color:var(--cs-color-text-status-error)!important}.cs-drawer-nav button.danger:hover{background:#fff7f7!important}.cs-portal .stu-section{gap:var(--cs-space-m);flex-direction:column;display:flex}.cs-portal .stu-class-list{gap:var(--cs-space-m);grid-template-columns:1fr;display:grid}@media (width>=720px){.cs-portal .stu-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.cs-portal .stu-class-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.cs-portal .stu-class-card-top{justify-content:space-between;align-items:flex-start;gap:var(--cs-space-m);padding:var(--cs-space-l);border-bottom:1px solid var(--cs-color-border);display:flex}.cs-portal .stu-class-card-top h3{color:var(--cs-color-text-heading);margin:0;font-size:16px;font-weight:700}.cs-portal .stu-class-card-top .muted{margin:4px 0 0}.cs-portal .stu-status{border-radius:var(--cs-radius-badge);border:1px solid #0000;flex:none;padding:2px 8px;font-size:12px;font-weight:700}.cs-portal .stu-status.on{color:var(--cs-color-text-status-success);background:var(--cs-color-background-status-success);border-color:#c6ebd0}.cs-portal .stu-status.off{color:var(--cs-color-text-body-secondary);border-color:var(--cs-color-border);background:#f4f4f4}.cs-portal .stu-class-card .stu-class-actions{padding:var(--cs-space-m) var(--cs-space-l) var(--cs-space-l);margin-top:0}.cs-portal .stu-class-card.live{border-color:#7aa8d9;box-shadow:inset 0 0 0 1px #0972d333}.cs-portal .stu-hw-action-btn{flex-direction:column;gap:4px;min-height:36px;align-items:flex-start!important;height:auto!important;padding:8px 12px!important;display:flex!important}.cs-portal .stu-hw-action-badges{flex-wrap:wrap;gap:4px;display:flex}.cs-portal .stu-hw-action-badge{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.cs-portal .stu-hw-action-badge.new{color:#0972d3;background:#0972d31f}.cs-portal .stu-hw-action-badge.view{color:#8d6600;background:#fff4ce}.cs-portal .stu-hw-action-badge.reply{color:#d91515;background:#fff7f7}.cs-portal .stu-top-nav-back .page-back{color:var(--cs-color-text-link);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:4px 0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.cs-portal .stu-top-nav-back .page-back:hover{text-decoration:underline}.pp-shell{--pp-ink:#142821;--pp-muted:#5a6f67;--pp-line:#c5d5cd;--pp-surface:#f7fbf8;--pp-surface-2:#fff;--pp-accent:#0c5c4a;--pp-accent-soft:#d8f0e6;--pp-accent-hot:#12866a;--pp-warn:#9a5b12;--pp-danger:#b42318;--pp-ok:#0a7a4b;--pp-radius:18px;--pp-shadow:0 18px 40px #14282114;--pp-font:Vazirmatn, Tahoma, sans-serif;--ink:var(--pp-ink);--muted:var(--pp-muted);--line:var(--pp-line);--surface:var(--pp-surface-2);--accent:var(--pp-accent);--accent-2:var(--pp-accent-hot);--danger:#b42318;--ok:var(--pp-ok);--radius:var(--pp-radius);--shadow:var(--pp-shadow);min-height:100dvh;color:var(--pp-ink);font-family:var(--pp-font);background:var(--pp-surface);isolation:isolate;position:relative;overflow-x:hidden}.pp-atmosphere{pointer-events:none;z-index:-1;background:radial-gradient(90% 55% at 100% -10%,#b8e0d299 0%,#0000 55%),radial-gradient(70% 45% at -10% 20%,#e8d9b866 0%,#0000 50%),radial-gradient(60% 40% at 70% 110%,#9bc4b655 0%,#0000 45%),linear-gradient(165deg,#eef6f2 0%,#f7fbf8 42%,#e8f1ec 100%);position:fixed;inset:0}.pp-atmosphere:after{content:"";opacity:.35;background-image:linear-gradient(#0c5c4a08 1px,#0000 1px),linear-gradient(90deg,#0c5c4a08 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}.pp-top{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb, var(--pp-surface) 78%, transparent);border-bottom:1px solid color-mix(in srgb, var(--pp-line) 70%, transparent);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}.pp-top-brand{align-items:baseline;gap:.65rem;min-width:0;display:flex}.pp-mark{letter-spacing:-.03em;color:var(--pp-accent);font-size:1.35rem;font-weight:700;line-height:1;animation:.5s both pp-fade-in}.pp-back{color:var(--pp-accent);font-size:.92rem;font-weight:600;text-decoration:none}.pp-back:hover{color:var(--pp-accent-hot)}.pp-top-user{color:var(--pp-muted);white-space:nowrap;text-overflow:ellipsis;max-width:40vw;font-size:.82rem;overflow:hidden}.pp-top-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.pp-ghost-btn{color:var(--pp-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem .55rem;font-size:.86rem;font-weight:600}.pp-ghost-btn:hover{color:var(--pp-accent);background:var(--pp-accent-soft)}.pp-wallet-pill{color:var(--pp-ink);background:linear-gradient(135deg, #fff 0%, var(--pp-accent-soft) 100%);border:1px solid color-mix(in srgb, var(--pp-accent) 22%, transparent);border-radius:999px;align-items:baseline;gap:.25rem;padding:.35rem .7rem;font-size:.84rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.pp-wallet-pill:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0c5c4a1f}.pp-wallet-label{color:var(--pp-muted);font-size:.75rem}.pp-wallet-pill strong{font-variant-numeric:tabular-nums}.pp-wallet-unit{color:var(--pp-muted);font-size:.75rem}.pp-hero{padding:1.35rem 1.1rem .35rem;animation:.55s both pp-rise}.pp-hero-simple{padding-bottom:.75rem}.pp-brand-kicker{letter-spacing:.08em;color:var(--pp-accent-hot);text-transform:none;margin:0 0 .35rem;font-size:.78rem;font-weight:700}.pp-hero h1{letter-spacing:-.03em;color:var(--pp-accent);margin:0;font-size:clamp(1.55rem,4.5vw,2.1rem);font-weight:700;line-height:1.25}.pp-hero-sub{color:var(--pp-muted);max-width:36rem;margin:.45rem 0 0;font-size:.95rem}.pp-hero-home{gap:.35rem;display:grid}.pp-hero-home .pp-mark-lg{letter-spacing:-.04em;color:var(--pp-accent);margin:0;font-size:clamp(2rem,7vw,2.75rem);font-weight:700;line-height:1.1}.pp-hero-home h1{color:var(--pp-ink);letter-spacing:-.01em;font-size:clamp(1.05rem,3vw,1.25rem);font-weight:600}.pp-main{gap:1rem;width:min(920px,100%);margin:0 auto;padding:.75rem 1rem 2.5rem;animation:.65s 60ms both pp-rise;display:grid}.pp-alert{color:#8f1d18;background:#fff1f0;border:1px solid #f0c4c0;border-radius:12px;padding:.75rem 1rem}.pp-ok{color:var(--pp-ok);background:#eaf8f0;border:1px solid #b7e4c7;border-radius:12px;padding:.75rem 1rem}.pp-student{border-bottom:1px solid color-mix(in srgb, var(--pp-line) 80%, transparent);padding:.35rem 0 .15rem;display:block}.pp-student-classes{color:var(--pp-muted);margin:0;font-size:.9rem}.pp-student-classes strong{color:var(--pp-ink);font-weight:600}.pp-quick{grid-template-columns:1fr;gap:.55rem;display:grid}@media (width>=640px){.pp-quick{grid-template-columns:1fr 1fr}}.pp-quick-link{color:inherit;background:linear-gradient(120deg, #fff 0%, color-mix(in srgb, var(--pp-accent-soft) 55%, #fff) 100%);border:1px solid color-mix(in srgb, var(--pp-accent) 14%, var(--pp-line));border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;text-decoration:none;transition:transform .18s,border-color .18s;display:flex}.pp-quick-link:hover{border-color:color-mix(in srgb, var(--pp-accent) 35%, var(--pp-line));transform:translateY(-2px)}.pp-quick-link strong{font-size:.98rem;display:block}.pp-quick-link span{color:var(--pp-muted);font-size:.82rem}.pp-quick-chevron{color:var(--pp-accent);font-size:1.25rem;line-height:1}.pp-badge-dot{background:var(--pp-accent);color:#fff;border-radius:999px;margin-inline-start:.35rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.pp-section{gap:.75rem;padding-top:.35rem;display:grid}.pp-section-head h2{letter-spacing:-.02em;margin:0;font-size:1.15rem}.pp-section-head p{color:var(--pp-muted);margin:.2rem 0 0;font-size:.88rem}.pp-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.15rem 0 .35rem;display:grid}.pp-tabs button{border:1px solid color-mix(in srgb, var(--pp-line) 90%, transparent);background:color-mix(in srgb, #fff 82%, var(--pp-accent-soft));color:var(--pp-muted);font:inherit;cursor:pointer;text-align:center;border-radius:12px;padding:.5rem .25rem;font-size:.78rem;font-weight:600;line-height:1.25;transition:background .18s,color .18s,border-color .18s,transform .15s}.pp-tabs button:hover{color:var(--pp-accent);border-color:color-mix(in srgb, var(--pp-accent) 35%, var(--pp-line));background:var(--pp-accent-soft)}.pp-tabs button.active{color:#fff;background:linear-gradient(135deg, var(--pp-accent) 0%, var(--pp-accent-hot) 100%);border-color:#0000;box-shadow:0 8px 18px #0c5c4a33}.pp-tabs button:active{transform:scale(.97)}@media (width>=640px){.pp-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=900px){.pp-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.pp-tabs button{padding:.5rem .2rem;font-size:.74rem}}.pp-tab-badge{min-width:1.1rem;color:var(--pp-accent);vertical-align:middle;background:#fff;border-radius:999px;margin-inline-start:.2rem;padding:0 .28rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-block}.pp-tabs button.active .pp-tab-badge{color:var(--pp-accent);background:#ffffffe0}.pp-panel{gap:.85rem;padding:.25rem 0 .5rem;animation:.35s both pp-fade-in;display:grid}.pp-shell .reg-card,.pp-shell .reg-list,.pp-shell .lunch-panel,.pp-shell .cs-container{background:color-mix(in srgb, #fff 88%, var(--pp-accent-soft));border:1px solid color-mix(in srgb, var(--pp-line) 85%, transparent);border-radius:var(--pp-radius);box-shadow:none}.pp-shell .reg-card,.pp-shell .reg-list{padding:.85rem}.pp-shell .reg-row,.pp-shell .reg-list article{background:#fff;border:1px solid #0000;border-radius:12px;padding:.75rem .85rem}.pp-shell .reg-list article.wr-row{cursor:pointer;border:1px solid color-mix(in srgb, var(--pp-line) 90%, transparent);justify-content:space-between;align-items:center;gap:.75rem;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;display:flex}.pp-shell .reg-list article.wr-row:hover{box-shadow:0 8px 20px color-mix(in srgb, var(--pp-ink) 8%, transparent);transform:translateY(-1px)}.pp-shell .reg-list article.wr-row:active{transform:translateY(0)}.pp-shell .reg-list article.wr-row.is-unread{border-color:color-mix(in srgb, var(--pp-accent) 38%, var(--pp-line));box-shadow:inset 3px 0 0 var(--pp-accent);background:linear-gradient(105deg,#eef8f3 0%,#fff 48%)}.pp-shell .reg-list article.wr-row.is-unread:hover{border-color:color-mix(in srgb, var(--pp-accent) 55%, var(--pp-line));background:linear-gradient(105deg,#e6f5ee 0%,#fff 52%)}.pp-shell .reg-list article.wr-row.is-read{background:color-mix(in srgb, #fff 92%, var(--pp-line));border-color:color-mix(in srgb, var(--pp-line) 80%, transparent);opacity:.92}.pp-shell .reg-list article.wr-row.is-read:hover{opacity:1;border-color:color-mix(in srgb, var(--pp-accent) 28%, var(--pp-line));background:#fff}.pp-shell .wr-row-side{flex-shrink:0;align-items:center;gap:.45rem;display:inline-flex}.pp-shell .wr-unread-tag{color:var(--pp-accent);background:color-mix(in srgb, var(--pp-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--pp-accent) 28%, transparent);border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.pp-shell .wr-row-chevron{color:var(--pp-muted);font-size:1.1rem;line-height:1}.pp-shell .reg-list article.wr-row.is-unread .wr-row-chevron{color:var(--pp-accent)}.pp-shell .reg-day-heading{color:var(--pp-accent);margin:.25rem 0 .5rem;font-size:.95rem}.pp-shell .reg-chip{border-radius:999px;font-size:.78rem;font-weight:700}.pp-shell .empty{text-align:center;color:var(--pp-muted);border:1px dashed var(--pp-line);background:#ffffffb3;border-radius:12px;padding:1.1rem}.pp-shell .news-feed,.pp-shell .news-block{border-radius:var(--pp-radius)}.pp-shell .input,.pp-shell select.input,.pp-shell textarea,.pp-shell input:not([type=checkbox]):not([type=radio]):not([type=file]){border-color:var(--pp-line);background:#fff;border-radius:12px}.pp-shell .teach-btn.primary,.pp-shell button.primary,.pp-shell .poll-submit-bar button{background:linear-gradient(135deg, var(--pp-accent), var(--pp-accent-hot));color:#fff;border:0;border-radius:12px;font-weight:700;box-shadow:0 10px 22px #0c5c4a33}.pp-shell .teach-btn.secondary,.pp-shell .ghost{border-radius:12px}.pp-page-block{gap:.85rem;display:grid}@keyframes pp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pp-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.pp-top{padding-inline:.75rem}.pp-hero,.pp-main{padding-inline:.85rem}}.authx-parent{--authx-forest:#0c5c4a;--authx-ink:#142821}.authx-parent .authx-atmosphere{background:radial-gradient(80% 50% at 90% 0,#b8e0d2aa 0%,#0000 50%),radial-gradient(60% 40% at 0 80%,#e8d9b855 0%,#0000 45%),linear-gradient(160deg,#0c5c4a 0%,#0a4036 55%,#12352e 100%)}.authx-parent .authx-brand-name{letter-spacing:-.04em}.authx-parent .authx-kicker{color:#9fd9c4;letter-spacing:.12em;font-weight:700}.authx-parent .authx-panel-inner{background:#f7fbf8;border:1px solid #c5d5cd}.authx-parent .authx-btn-primary{background:linear-gradient(135deg,#0c5c4a,#12866a)!important}.pp-shell .poll-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.pp-shell .poll-list-item{text-align:right;border:1px solid color-mix(in srgb, var(--pp-line) 85%, transparent);cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;text-decoration:none;transition:transform .18s,border-color .18s;display:flex}.pp-shell .poll-list-item:hover{border-color:color-mix(in srgb, var(--pp-accent) 35%, var(--pp-line));transform:translateY(-2px)}.pp-shell .poll-options{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.pp-shell .poll-option{border:1px solid var(--pp-line);background:#fff;border-radius:14px;padding:.55rem}.pp-shell .poll-option.is-on{border-color:color-mix(in srgb, var(--pp-accent) 45%, var(--pp-line));background:color-mix(in srgb, var(--pp-accent-soft) 55%, #fff)}.pp-shell .poll-submit-bar{padding-top:.5rem;position:sticky;bottom:.75rem}.pp-shell .poll-submit-bar button{cursor:pointer;width:100%;font:inherit;padding:.85rem 1rem}.pp-shell .poll-submit-bar button:disabled{opacity:.55;cursor:not-allowed}.pp-profile-backdrop{place-items:center;overflow:auto;z-index:200!important}.pp-profile-modal{overflow:auto;width:min(440px,100%)!important;max-height:min(85dvh,640px)!important}.pp-shell select,.pp-shell select.input,.pp-shell option{color:#17302a!important;background-color:#fff!important;font-family:Vazirmatn,Tahoma,sans-serif!important}.pp-shell select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.pp-shell.stu-app .pp-main.stu-pp-main{padding-bottom:5.5rem}.pp-shell.stu-app .stu-top-back-slot{align-items:center;min-width:0;display:flex}.pp-shell.stu-app .stu-top-back-slot .page-back,.pp-shell.stu-app .stu-top-back-slot .teach-btn{color:var(--pp-accent);cursor:pointer;background:0 0;border:0;max-width:min(42vw,12rem);padding:0;font-size:.92rem;font-weight:600;text-decoration:none}.pp-shell.stu-app .stu-top-back-slot .page-back:hover{color:var(--pp-accent-hot)}.pp-shell.stu-app .app-bottom-nav{background:color-mix(in srgb, var(--pp-surface) 88%, transparent);border-top:1px solid color-mix(in srgb, var(--pp-line) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pp-shell.stu-app .app-bottom-nav-item.active{color:var(--pp-accent)}.pp-shell.stu-app .app-bottom-nav-icon{position:relative}.pp-shell.stu-app .app-bottom-nav-badge{top:-.35rem;background:var(--pp-danger,#b42318);color:#fff;text-align:center;pointer-events:none;border-radius:999px;min-width:1.05rem;height:1.05rem;padding:0 .22rem;font-size:.62rem;font-weight:700;line-height:1.05rem;position:absolute;inset-inline-end:-.55rem}.pp-shell.stu-app .cs-container,.pp-shell.stu-app .stu-class-card,.pp-shell.stu-app .stu-empty-card,.pp-shell.stu-app .news-feed,.pp-shell.stu-app .reg-card,.pp-shell.stu-app .stu-hw-detail,.pp-shell.stu-app .exam-stu-item{background:var(--pp-surface-2);border:1px solid color-mix(in srgb, var(--pp-line) 85%, transparent);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow)}.pp-shell.stu-app .teach-btn.primary{background:var(--pp-accent)!important;border-color:var(--pp-accent)!important;color:#fff!important}.pp-shell.stu-app .teach-btn.primary:hover{background:var(--pp-accent-hot)!important}.pp-shell.stu-app .teach-btn.secondary{color:var(--pp-ink)!important;border:1px solid var(--pp-line)!important;background:#fff!important}.pp-shell.stu-app .teach-btn .pp-tab-badge,.teach-class-card.student .teach-btn .pp-tab-badge{color:#fff;background:#dc2626;margin-inline-start:.35rem}.pp-shell.stu-app .cs-content-header h1{color:var(--pp-ink);margin:0 0 .2rem;font-size:1.35rem}.pp-shell.stu-app .cs-content-header p{color:var(--pp-muted);margin:0;font-size:.9rem}@media (width<=640px){.pp-shell.stu-app .pp-wallet-label{display:none}}.gallery-lightbox{z-index:80;cursor:zoom-out;background:#000716cc;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gallery-lightbox-stage{cursor:default;flex-direction:column;align-items:center;gap:.5rem;max-width:min(96vw,1100px);max-height:90vh;display:flex;position:relative}.gallery-lightbox-stage img,.gallery-lightbox-stage video,.cs-portal .gallery-lightbox img,.cs-portal .gallery-lightbox video{cursor:default;object-fit:contain;border-radius:8px;max-width:min(92vw,1100px);max-height:calc(90vh - 2.5rem);box-shadow:0 12px 40px #0008}.gallery-lightbox-meta{color:#f2f3f3;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;font-size:.85rem;font-weight:600;display:flex}.gallery-lightbox-caption{opacity:.85;text-overflow:ellipsis;white-space:nowrap;max-width:70vw;font-weight:500;overflow:hidden}.gallery-lightbox-close{top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left));z-index:2;color:#fff;cursor:pointer;background:#fff2;border:none;border-radius:999px;place-items:center;width:44px;height:44px;font-size:1.75rem;line-height:1;display:grid;position:absolute}.gallery-lightbox-close:hover{background:#fff4}.gallery-lightbox-nav{z-index:2;color:#fff;cursor:pointer;background:#fff2;border:none;border-radius:999px;place-items:center;width:48px;height:48px;font-size:2rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-lightbox-nav:hover{background:#fff4}.gallery-lightbox-nav.prev{right:max(.5rem, env(safe-area-inset-right))}.gallery-lightbox-nav.next{left:max(.5rem, env(safe-area-inset-left))}@media (width<=640px){.gallery-lightbox-nav{width:40px;height:40px;font-size:1.6rem}}
