.dvShell,.dvSub{width:min(100%,430px);min-height:100dvh;margin:auto;background:radial-gradient(circle at 88% 16%,rgba(173,255,37,.07),transparent 24%),#090b09;color:#f7f8f5;padding:18px 18px 100px;overflow-x:hidden}.dvTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:14px}.dvSub h1,.dvTitleRow h1,.dvTop h1{font-size:36px;line-height:1;margin:0 0 7px;letter-spacing:-.045em}.dvSubtext,.dvTop p{color:#9aa097;margin:0;font-size:13px}.dvEyebrow{color:#adff25!important;font-size:10px!important;font-weight:900;letter-spacing:.18em;margin:0 0 7px!important}.dvBell{width:48px;height:48px;border-radius:16px;border:1px solid #30362f;background:#151815;color:#adff25;display:grid;place-items:center;position:relative}.dvBell i{position:absolute;right:7px;top:7px;width:8px;height:8px;background:#adff25;border-radius:50%}.dvCard{background:radial-gradient(circle at 88% 18%,#1f3c0e,transparent 40%),#0f120f;border:1px solid #2d332c;border-radius:24px;padding:16px;margin:12px 0}.dvSummaryTitle{font-size:10px;font-weight:900;color:#adff25;letter-spacing:.12em}.dvStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.dvStats div{text-align:center;border-right:1px solid #384036;min-width:0}.dvStats div:last-child{border:0}.dvStats b{display:block;color:#adff25;font-size:21px}.dvStats small{display:block;color:#aeb4ab;font-size:7px;margin-top:7px}.dvSectionHead{display:flex;justify-content:space-between;align-items:center;margin:15px 2px 8px}.dvSectionHead h3{margin:0;font-size:10px;letter-spacing:.1em;color:#92988f}.dvSectionHead button{border:0;background:transparent;color:#adff25;font-weight:900}.dvQuick{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px}.dvQuick button{height:78px;border:1px solid #30362f;background:#141714;color:#fff;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.dvQuick svg{color:#adff25;width:20px}.dvQuick b{font-size:9px}.dvQuick span{font-size:7px;color:#929890}.dvList,.dvRows{display:grid;grid-gap:7px;gap:7px}.dvRow{width:100%;min-height:66px;border:1px solid #30362f;background:#141714;color:#fff;border-radius:16px;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) 86px minmax(60px,auto) 15px;grid-gap:5px;gap:5px;align-items:center;text-align:left;overflow:hidden}.dvClassMain{display:grid;grid-gap:2px;gap:2px;min-width:0}.dvClassMain b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvClassMain small,.dvClassMain span{font-size:8px;color:#929890}.dvClassOcc{display:grid;grid-gap:2px;gap:2px;align-content:center;min-width:0}.dvClassOcc b{font-size:11px;color:#adff25}.dvClassOcc b,.dvClassOcc span{display:block;line-height:1.15;white-space:nowrap}.dvClassOcc span{font-size:8px;color:#929890}.dvStatus{font-style:normal;font-size:7px;font-weight:900;border-radius:99px;padding:5px 7px;background:#1c2c13;color:#adff25;white-space:nowrap}.dvRow>svg{color:#adff25;width:15px}.dvCenter{margin-top:9px;background:#121512;border:1px solid #30362f;border-radius:15px;padding:10px;display:flex;justify-content:space-between}.dvCenter div{display:grid}.dvCenter span{font-size:8px;color:#929890}.dvToggle{width:42px;height:24px;border-radius:99px;background:#83cf12;position:relative;display:inline-block}.dvToggle:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:20px;top:2px}.dvTitleRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dvAction,.dvPrimary{border:0;background:#adff25;color:#090b09;border-radius:13px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:6px}.dvPrimary{height:42px;padding:0 13px}.wide{width:100%;margin:16px 0}.dvAction{height:48px;width:100%;margin-top:12px}.dvSearch{height:44px;border:1px solid #30362f;background:#141714;border-radius:14px;color:#929890;display:flex;align-items:center;gap:8px;padding:0 12px;margin:10px 0}.dvStudentStats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:12px}.dvAnalytics article,.dvStudentStats div{background:#141714;border:1px solid #30362f;border-radius:16px;padding:12px}.dvStudentStats{text-align:center}.dvStudentStats b{display:block;color:#adff25;font-size:21px}.dvStudentStats span{font-size:8px;color:#929890}.dvListButton,.dvStudent{width:100%;border:1px solid #30362f;background:#141714;color:#fff;border-radius:16px;padding:10px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;grid-gap:9px;gap:9px;text-align:left}.dvAvatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#202420;color:#adff25;font-weight:900}.dvListButton span,.dvStudent div:nth-child(2){display:grid;grid-gap:2px;gap:2px}.dvListButton small,.dvStudent span{font-size:9px;color:#929890}.okIcon{color:#adff25}.badIcon{color:#ff5757}.dvMore{display:grid;grid-gap:7px;gap:7px}.dvMoreRow{min-height:62px;border:1px solid #30362f;background:#141714;color:#fff;border-radius:16px;padding:8px 10px;display:grid;grid-template-columns:40px 1fr 18px;align-items:center;grid-gap:9px;gap:9px;text-align:left}.dvMenu button>svg:first-child,.dvMoreRow>svg:first-child{background:#adff25;color:#090b09;border-radius:10px;padding:8px;width:36px;height:36px}.dvMenu span,.dvMoreRow span{display:grid;grid-gap:3px;gap:3px}.dvMenu small,.dvMoreRow small{font-size:9px;color:#929890}.dvNav{position:fixed;z-index:30;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),402px);height:68px;background:#121512;border:1px solid #2d322c;border-radius:23px;padding:5px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 12px 28px #0008}.dvNav button{border:0;background:transparent;color:#777d75;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:8px;font-weight:700}.dvNav button svg{width:19px}.dvNav .on{background:#202420;color:#fff}.dvBack,.dvNav .on svg{color:#adff25}.dvBack{border:0;background:transparent;padding:0;margin-bottom:20px;display:flex;gap:6px;align-items:center;font-weight:900}.dvFormCard,.dvInfoCard,.dvMenu{background:#141714;border:1px solid #30362f;border-radius:22px;padding:15px;display:grid;grid-gap:12px;gap:12px;margin-top:18px}.dvFormCard label{display:grid;grid-gap:6px;gap:6px;font-size:11px;font-weight:800}.dvFormCard input,.dvFormCard select{width:100%;height:45px;border:1px solid #343a33;border-radius:13px;background:#171a17;color:#fff;padding:0 10px}.dvGrid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dvSwitchRow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2a3028;padding:10px 0}.dvSwitchRow>div{display:grid}.dvSwitchRow small{font-size:8px;color:#929890}.dvMenu{padding:4px 14px;gap:0}.dvMenu button{min-height:70px;border:0;border-top:1px solid #2a3028;background:transparent;color:#fff;display:grid;grid-template-columns:42px 1fr 18px;grid-gap:10px;gap:10px;align-items:center;text-align:left}.dvMenu button:first-child{border:0}.dvSteps,.dvTabs{display:flex;gap:5px;background:#141714;border:1px solid #30362f;border-radius:15px;padding:5px;margin:12px 0;overflow-x:auto}.dvSteps>*,.dvTabs>*{padding:9px 12px;border-radius:10px;white-space:nowrap;font-size:9px;color:#9aa097}.dvSteps b,.dvTabs b{background:#050605;color:#adff25}.dvAnalytics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:10px 0}.dvAnalytics article{display:grid;grid-gap:7px;gap:7px}.dvAnalytics svg{color:#adff25}.dvAnalytics strong{font-size:20px;color:#adff25}.dvAnalytics p{font-size:9px;color:#929890;margin:0;line-height:1.4}.dvInfoCard p{color:#aeb4ab}.dvOverlay{position:fixed;inset:0;z-index:60;background:#000c;display:flex;align-items:flex-end;justify-content:center;padding:14px}.dvSheet{width:min(100%,430px);background:#121512;border:1px solid #30362f;border-radius:26px;padding:18px}.dvSheetHead{display:flex;justify-content:space-between}.dvSheetHead h2{font-size:28px;margin:0}.dvSheetHead button{width:38px;height:38px;border:1px solid #30362f;background:#1b1e1a;color:#adff25;border-radius:12px}.dvQr{display:grid;place-items:center;grid-gap:10px;gap:10px;margin:18px 0;color:#adff25}.dvQr small{font-size:8px;color:#929890;word-break:break-all}.dvSheetActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dvSheetActions button{height:44px;border:1px solid #333;background:#050605;color:#fff;border-radius:13px;font-weight:900}@media(max-width:380px){.dvShell,.dvSub{padding-left:12px;padding-right:12px}.dvRow{grid-template-columns:minmax(0,1fr) 78px minmax(52px,auto) 14px}.dvStats b{font-size:18px}.dvAnalytics{grid-template-columns:1fr}}.dvSystemState{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.dvSystemState>svg{width:42px;height:42px;color:#adff25}.dvAdminSpinner{animation:dvAdminSpin .8s linear infinite}.dvInviteState,.dvNotice,.dvRealBanner{display:flex;align-items:center;gap:10px;border:1px solid #35452e;background:#111811;border-radius:16px;padding:11px 12px;margin:12px 0}.dvInviteState>svg,.dvNotice>svg,.dvRealBanner>svg{color:#adff25;flex:0 0 auto}.dvInviteState span,.dvRealBanner span{display:grid;grid-gap:3px;gap:3px}.dvInviteState small,.dvRealBanner small{color:#929890;font-size:8px;line-height:1.4}.dvNotice{color:#dfffb0;font-size:10px;font-weight:800}.dvEmpty{min-height:132px;border:1px dashed #384036;background:#111411;border-radius:18px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}.dvEmpty>svg{color:#adff25}.dvEmpty>b{font-size:13px}.dvEmpty>span{max-width:270px;color:#929890;font-size:9px;line-height:1.5}.dvEmpty>button{border:0;background:#adff25;color:#090b09;border-radius:11px;padding:9px 12px;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:900;margin-top:4px}.dvEmpty>button svg{width:14px}.dvFormError{margin:10px 0;border:1px solid #633534;background:#251313;color:#ffb4ae;border-radius:12px;padding:10px;font-size:10px;line-height:1.4}.dvToggleButton{width:42px;height:24px;border:0;border-radius:99px;background:#353a34;position:relative;display:inline-block;flex:0 0 auto}.dvToggleButton:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:2px;top:2px;transition:transform .2s}.dvToggleButton.on{background:#83cf12}.dvToggleButton.on:after{transform:translateX(18px)}.dvInfoCard>svg,.dvPendingCard>svg{color:#adff25}.dvPendingCard{min-height:190px;align-content:center;text-align:center;justify-items:center}.dvPendingCard p{margin:0}.dvInviteState{margin:0 0 14px}.dvStatus.cancelled{background:#321717;color:#ff8b85}.dvAction:disabled,.dvPrimary:disabled{opacity:.6;cursor:wait}.dvFormCard select:disabled{opacity:.72}.dvStudent{cursor:default}.dvStudent>svg:last-child{width:17px}.dvInfoCard p{margin:0;font-size:10px;line-height:1.5}.dvInfoCard>b{font-size:13px}.dvClassToggle{width:100%;height:44px;border:1px solid #673936;background:#251313;color:#ffaaa4;border-radius:13px;font-weight:900;margin:10px 0}.dvClassToggle.restore{border-color:#476235;background:#14210e;color:#adff25}.dvClassToggle:disabled{opacity:.6}.dvStats .dvStatText{font-size:9px;line-height:1.15;padding-top:7px;min-height:31px;display:grid;place-items:center}@keyframes dvAdminSpin{to{transform:rotate(1turn)}}.dvInviteSheet{max-height:min(92dvh,760px);overflow-y:auto}.dvInviteForm{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin:15px 0}.dvInviteForm label{display:grid;grid-gap:5px;gap:5px;font-size:9px;font-weight:850;color:#cbd0c8}.dvInviteForm label>span small{color:#7d837b;font-weight:600}.dvInviteForm label>div{height:43px;border:1px solid #343a33;background:#171a17;border-radius:13px;display:flex;align-items:center;gap:7px;padding:0 10px}.dvInviteForm label svg{width:16px;color:#adff25}.dvInviteForm input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:11px}.dvInviteForm>button{align-self:end;height:43px;border:0;border-radius:13px;background:#adff25;color:#090b09;padding:0 11px;font-size:8px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.dvInviteForm>button svg{width:15px}.dvInviteForm>button:disabled{opacity:.65}.dvQrCode{display:grid;place-items:center;background:#fff;border-radius:16px;padding:12px;box-shadow:0 10px 30px #0006}.dvQrCode svg{display:block}.dvSheetActions button{display:flex;align-items:center;justify-content:center;gap:6px}.dvSheetActions button svg{width:16px;color:#adff25}.dvRevokeInvite{width:100%;height:40px;margin-top:8px;border:1px solid #5b3835;background:#221312;color:#ffaaa4;border-radius:12px;font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:6px}.dvRevokeInvite svg{width:15px}.dvInviteClosed{min-height:150px;border:1px dashed #3a4038;background:#101310;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:18px;margin-top:12px}.dvInviteClosed svg{color:#adff25;width:29px}.dvInviteClosed b{font-size:12px}.dvInviteClosed span{color:#929890;font-size:8px}.dvInviteList{display:grid;grid-gap:7px;gap:7px}.dvInviteList>button{width:100%;min-height:62px;border:1px solid #30362f;background:#141714;color:#fff;border-radius:16px;padding:9px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 15px;align-items:center;grid-gap:8px;gap:8px;text-align:left}.dvInviteGlyph{width:36px;height:36px;border-radius:11px;background:#1c2616;color:#adff25;display:grid;place-items:center}.dvInviteGlyph svg{width:18px}.dvInviteList>button>span:nth-child(2){display:grid;grid-gap:3px;gap:3px;min-width:0}.dvInviteList>button>span:nth-child(2) b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvInviteList>button>span:nth-child(2) small{font-size:7px;color:#929890}.dvInviteList>button>svg{width:15px;color:#7f857d}.dvInviteBadge{font-style:normal;font-size:7px;font-weight:950;padding:5px 7px;border-radius:99px;background:#1d2d13;color:#adff25}.dvInviteBadge.accepted{background:#173026;color:#86f4bd}.dvInviteBadge.expired,.dvInviteBadge.revoked{background:#2d1a19;color:#ff9d97}@media(max-width:370px){.dvInviteForm{grid-template-columns:1fr}.dvInviteList>button{grid-template-columns:36px minmax(0,1fr) auto}.dvInviteList>button>svg{display:none}.dvInviteBadge{font-size:6px}}