@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{--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;width:72px;height:72px}.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{top:calc(100% + .4rem);z-index:40;border:1px solid var(--line);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{top:0;bottom:0;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));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-drawer-logout,.admin-sidebar-logout{margin-top:auto;color:#fff!important;background:#ffffff14!important;border:1px solid #ffffff2e!important;border-radius:11px!important;height:2.4rem!important;font-weight:600!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(2,minmax(0,1fr));gap:.7rem;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}.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{display:none}.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);background:#fff;border-radius:12px;width:96px;height:96px}.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}.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{top:calc(100% + .35rem);z-index:80;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{top:calc(100% + 4px);z-index:2;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;background:#14352d;border:1px solid #ffffff24;border-radius:12px;gap:.2rem;min-width:190px;padding:.45rem;display:grid;position:fixed;box-shadow:0 12px 30px #0006}.ctx-menu-title{border-bottom:1px solid #ffffff1a;margin-bottom:.2rem;padding:.25rem .4rem .45rem;font-size:.9rem;font-weight:700}.ctx-check{cursor:pointer;border-radius:8px;align-items:center;gap:.45rem;padding:.4rem .45rem;font-size:.88rem;display:flex}.ctx-check:hover{background:#ffffff14}.ctx-check input{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{top:calc(100% + .35rem);z-index:80;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}:-webkit-any(.video-tile:fullscreen,.video-tile:-webkit-full-screen){background:#000;border-radius:0;width:100vw;height:100vh}: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;justify-content:center;align-items:center;width:2.6rem;min-width:2.6rem;height:2.6rem;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{top:.55rem;z-index:3;cursor:pointer;opacity:.85;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}:-webkit-any(.shared-media-wrap:fullscreen,.shared-media-wrap:-webkit-full-screen){background:#000;border-radius:0;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}: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}:-webkit-any(.shared-media-wrap:fullscreen .shared-video,.shared-media-wrap:-webkit-full-screen .shared-video){border-radius:0;width:100%;height:100%;min-height:0;max-height:100%}: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:.85rem 1rem;display:flex;position:sticky;top:0}.reg-top strong{display:block}.reg-top-actions{align-items:center;gap:.5rem;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;gap:.5rem;margin-bottom:.75rem;display:flex}.file-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;padding:.55rem .9rem;display:inline-flex}.reg-search{width:100%}.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{bottom:0;z-index:50;padding:.6rem 1rem calc(.65rem + env(safe-area-inset-bottom));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}.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-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}.teach-class-actions{grid-template-columns:1fr 1fr}.teach-class-actions .teach-btn.ghost{grid-column:1/-1}}.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-hint{margin:0}.jdate-colon{text-align:center;align-self:center}.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-icon{opacity:.55;font-size:.95rem}.jdate-pop{z-index:40;top:calc(100% + .35rem);border:1px solid var(--line);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}.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}.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-top-actions .page-back-link{margin:0}.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}
