:root{font-family:Trebuchet MS,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#edf3f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #edf3f8;--surface: rgba(255, 255, 255, .98);--text: #142132;--muted: #58687d;--muted-soft: #77879a;--border: rgba(15, 23, 42, .08);--shadow: 0 14px 30px rgba(15, 23, 42, .06);--primary: #6ea897;--primary-deep: #4f7f72;--primary-hover: #5b9483}:root[data-theme=dark]{color:#e8f0fb;background:#0f1724;--bg: #0f1724;--surface: rgba(18, 27, 40, .94);--text: #e8f0fb;--muted: #9aabc2;--muted-soft: #8091a8;--border: rgba(148, 163, 184, .16);--shadow: 0 18px 34px rgba(0, 0, 0, .28);--primary: #7fb8a8;--primary-deep: #b9ddd3;--primary-hover: #6fa998}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:linear-gradient(180deg,#f8fbfe 0%,var(--bg) 100%)}:root[data-theme=dark] body{background:linear-gradient(180deg,#111b2a 0%,var(--bg) 100%)}a{color:inherit;text-decoration:none}.btn{border:1px solid rgba(110,168,151,.2);background:#6ea8971a;color:var(--primary-deep);border-radius:10px;padding:10px 12px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:hover{background:#6ea89729;border-color:#6ea89747;box-shadow:0 10px 18px #4f7f721a;transform:translateY(-1px)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);color:#fff;border-color:#6ea89773}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:#6ea8970f;border-color:#6ea89729}.btn.secondary:hover{background:#6ea8971f}#root{min-height:100vh}.particlesWrap{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.particlesWrap:before,.particlesWrap:after{content:"";position:absolute;inset:auto;border-radius:999px;filter:blur(88px);opacity:.62;animation:particleGlowFloat 18s ease-in-out infinite}.particlesWrap:before{width:34vw;height:34vw;min-width:220px;min-height:220px;left:-8vw;top:-6vw;background:radial-gradient(circle,#00a77e4d,#00a77e00 72%)}.particlesWrap:after{width:30vw;height:30vw;min-width:220px;min-height:220px;right:-6vw;bottom:-6vw;background:radial-gradient(circle,#6dd3ff47,#6dd3ff00 72%);animation-delay:-9s}.particlesWrap canvas{width:100%!important;height:100%!important;opacity:1}@keyframes particleGlowFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(2vw,1.2vw,0) scale(1.08)}}.authPage{min-height:100vh;position:relative;background:radial-gradient(1000px 560px at 5% 5%,rgba(0,167,126,.12) 0%,transparent 68%),radial-gradient(900px 520px at 95% 12%,rgba(14,165,233,.12) 0%,transparent 68%),linear-gradient(160deg,#f7fbfa 0%,var(--bg) 52%,#edf7f5 100%)}.authContent{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:28px 18px}.authCard{width:100%;max-width:420px;background:#ffffffc7;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loginCard{max-width:1120px;min-height:680px;padding:0;display:grid;grid-template-columns:minmax(320px,420px) minmax(380px,1fr);overflow:hidden;border-radius:28px;background:#ffffffd1;border:1px solid rgba(255,255,255,.7);box-shadow:0 28px 70px #0f172a1f}.loginPanel{position:relative}.loginPanelForm{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fffffff0,#f8fcfbe6)}.loginBrandBlock{display:grid;gap:10px;margin-bottom:28px}.loginLogo{width:132px;height:auto}.authBrand{font-weight:800;letter-spacing:.3px;color:var(--text)}.loginBrandMeta{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.loginHeading{margin-bottom:22px}.authTitle{margin:0 0 8px;font-size:34px;line-height:1.08;color:#0e2231}.authSubtitle{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.loginForm{display:grid;gap:14px}.field{display:grid;gap:7px}.field span{font-size:12px;font-weight:700;letter-spacing:.02em;color:#44606c}.field input{width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fffffff5;color:var(--text);outline:none;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.field input::placeholder{color:#94a3b8}.field input:focus{border-color:#00a77e73;box-shadow:0 0 0 4px #00a77e1f;transform:translateY(-1px)}.password-field .input-container{position:relative}.password-field input{padding-right:56px}.visibility-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:999px}.visibility-btn:hover{color:var(--text);background:#0f172a0d}.visibility-btn svg{width:18px;height:18px;display:block}.loginSubmit{margin-top:6px;min-height:48px;border-radius:14px;font-weight:700;letter-spacing:.01em}.error{padding:10px 12px;border-radius:10px;border:1px solid rgba(220,38,38,.35);background:#dc262614;color:#991b1b}.authRow{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.authRowRight{justify-content:flex-end}.authRowCenter{justify-content:center}.authMuted{color:var(--muted)}.authLink{color:var(--primary-deep);font-weight:700}.authLink:hover{text-decoration:underline}.linkButton{background:none;border:none;padding:0;font:inherit;cursor:pointer}.linkButton:disabled{cursor:not-allowed;color:var(--muted);text-decoration:none}.authMessage{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.1);background:#0f172a0a;color:var(--text);font-size:12px}.authMessage.success{border-color:#22c55e66;background:#22c55e1a;color:#166534}.otpInputs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otpInput{width:100%;height:46px;border-radius:10px;border:1px solid var(--border);text-align:center;font-size:18px;font-weight:700;background:#ffffffe6;color:var(--text);outline:none}.otpInput:focus{border-color:#00a77e73;box-shadow:0 0 0 4px #00a77e1f}.loginPanelVisual{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px;background:radial-gradient(circle at 12% 18%,#ffffff6b 0,#fff0 26%),radial-gradient(circle at 78% 28%,#ffffff52 0,#fff0 22%),linear-gradient(145deg,#dff5ee,#dceffc 34%,#eef6ff)}.loginVisualBackdrop{position:absolute;inset:0;background:linear-gradient(135deg,#ffffff24,#fff0),radial-gradient(circle at 55% 52%,rgba(0,126,103,.12),transparent 38%)}.loginVisualCard{position:relative;z-index:1;width:min(100%,600px);min-height:620px;border-radius:34px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#ffffffe0,#ecf7f3b8);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 60px #20536729}.loginVisualCard:before{content:"";position:absolute;inset:18px;border-radius:24px;background:linear-gradient(130deg,#ffffffe6,#ffffff1f),url(/assets/kusms-logo--BihJvbue.png) center/68% no-repeat;opacity:.08}.loginVisualBadge{width:fit-content;padding:8px 14px;border-radius:999px;background:#007e671f;color:#0d5b4c;font-size:12px;font-weight:800;letter-spacing:.12em}.loginVisualTopRow{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.loginVisualTopBadge{padding:12px 18px;border-radius:18px;background:#ffffffe6;color:#11394c;font-size:13px;font-weight:700;box-shadow:0 10px 24px #0f172a14}.loginVisualMediaWrap{position:relative;z-index:1;height:380px;border-radius:28px;overflow:hidden;box-shadow:0 24px 40px #12344033;background:#d7e8ef}.loginVisualMedia{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.loginVisualMediaOverlay{position:absolute;inset:0;background:linear-gradient(180deg,#07131f0f,#07131f24,#07131f47),linear-gradient(135deg,#00a77e29,#0f172a00)}.loginVisualCaption{position:relative;z-index:1;display:grid;gap:8px;margin-top:18px;max-width:420px}.loginVisualCaption strong{font-size:28px;line-height:1.1;color:#133143}.loginVisualCaption span{font-size:14px;line-height:1.7;color:#44606c}.loginVisualPill{padding:12px 18px;border-radius:16px;background:#ffffffeb;color:#11394c;font-size:13px;font-weight:700;box-shadow:0 16px 28px #0f172a1a}.loginVisualBottomRow{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;margin-top:18px}@media(max-width:960px){.loginCard{grid-template-columns:1fr;min-height:0}.loginPanelForm{padding:34px 24px 28px}.loginPanelVisual{min-height:360px;padding:16px}.loginVisualCard{width:100%;max-width:560px;min-height:360px}.loginVisualTopRow{flex-wrap:wrap}}@media(max-width:640px){.authContent{padding:16px}.loginCard{border-radius:22px}.loginPanelForm{padding:24px 18px}.loginBrandBlock{margin-bottom:22px}.loginLogo{width:112px}.authTitle{font-size:28px}.loginPanelVisual{min-height:300px;padding:12px}.loginVisualCard{min-height:280px;padding:18px;border-radius:24px}.loginVisualMediaWrap{height:240px;border-radius:20px}.loginVisualCaption strong{font-size:22px}.loginVisualTopBadge,.loginVisualPill{font-size:12px;padding:10px 14px}}.page{min-height:100vh;background:radial-gradient(1200px 600px at 10% 0%,rgba(79,70,229,.18) 0%,transparent 65%),radial-gradient(900px 500px at 90% 20%,rgba(14,165,233,.14) 0%,transparent 65%),var(--bg);color:var(--text)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brandTitle{font-weight:700;letter-spacing:.2px}.brandSubtitle{color:var(--muted);font-size:12px;margin-top:2px}.userArea{display:flex;align-items:center;gap:14px}.userMeta{text-align:right;line-height:1.1}.userEmail{font-size:12px;color:var(--muted)}.userRole{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.content{max-width:900px;margin:0 auto;padding:84px 22px 60px}.pageTitle{margin:0 0 14px;font-size:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.codeBlock{margin:0;white-space:pre-wrap;padding:12px;border-radius:10px;border:1px solid var(--border);background:#f8fafc;color:#0f172a;overflow:auto}.profileDropdown{position:relative;display:flex;align-items:center}.profileDropdownTrigger{background:#ffffff47;border:1px solid rgba(255,255,255,.36);padding:4px 6px 4px 4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profileDropdownAvatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(15,172,134,.28);box-shadow:0 8px 16px #0f172a14;transition:transform .2s ease}.profileDropdownTrigger:hover .profileDropdownAvatar{transform:scale(1.05)}.profileDropdownIcon{margin-left:8px;color:var(--text);font-size:14px;transition:transform .2s ease}.profileDropdownTrigger:hover .profileDropdownIcon{transform:translateY(2px)}.profileDropdownMenu{position:absolute;right:0;top:100%;margin-top:8px;width:240px;background:var(--surface);border-radius:16px;box-shadow:0 16px 36px #0f172a24;overflow:hidden;z-index:100;border:1px solid var(--border)}:root[data-theme=dark] .profileDropdownTrigger{background:#ffffff0f;border-color:#6bd9bd29}:root[data-theme=dark] .profileDropdownMenu{background:#101c1cfa}.profileDropdownHeader{padding:16px;background:#0fac860f}.profileDropdownUserEmail{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profileDropdownUserRole{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.profileDropdownDivider{height:1px;background:var(--border);margin:8px 0}.profileDropdownItem{width:100%;background:none;border:none;padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;font-size:14px;color:var(--text);transition:background-color .2s ease}.profileDropdownItem:hover{background:#0fac8614}.profileDropdownItemIcon{font-size:18px}.profileDropdownItemText{flex:1}.sharedNavbar{position:fixed;top:16px;left:24px;right:24px;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border:1px solid var(--border);border-radius:24px;background:#f8fbfee0;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:var(--shadow)}:root[data-theme=dark] .sharedNavbar{background:#121b28e6}.sharedNavbarContent{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px}.sharedNavbarLeft{display:flex;align-items:center;gap:14px;min-width:0}.sharedNavbarLogo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;padding-right:14px;margin-right:2px;border-right:1px solid rgba(15,23,42,.08)}.sharedNavbarLogoImage{display:block;height:42px;width:auto;max-width:132px;object-fit:contain;transition:transform .2s ease}.sharedNavbarLogoImage:hover{transform:scale(1.05)}.sharedNavbarTitle{font-weight:800;color:var(--text);font-size:18px;letter-spacing:-.02em;white-space:nowrap}.sharedNavbarBackButton{background:#0fac8614;border:1px solid rgba(15,172,134,.16);color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 8px 18px #0f172a0f}:root[data-theme=dark] .sharedNavbarBackButton,:root[data-theme=dark] .sharedNavbarIconButton,:root[data-theme=dark] .sharedNavbarProfile{background:#ffffff0f;border-color:#6bd9bd29}.sharedNavbarBackButton:hover{background:#0fac8624;border-color:#0fac863d;transform:translate(-2px);box-shadow:0 12px 22px #0f172a14}.sharedNavbarBackButton:active{transform:translate(0);background:#0fac8633}.sharedNavbarRight{display:flex;align-items:center;gap:12px;flex:0 0 auto}.sharedNavbarIconButton{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.34);border-radius:18px;background:#ffffff42;color:var(--primary-deep);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,border-color .2s ease;font-size:18px}.sharedNavbarIconButton:hover{transform:translateY(-1px);background:#ffffff61;border-color:#ffffff70}:root[data-theme=dark] .sharedNavbarIconButton:hover{background:#ffffff1a;border-color:#6bd9bd38}.sharedNavbarThemeButton{color:var(--text)}.sharedNavbarIconBadge{position:absolute;top:12px;right:12px;width:9px;height:9px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 3px #ffffff8c}.sharedNavbarProfile{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 12px;border-radius:22px;background:#ffffff38;border:1px solid rgba(255,255,255,.34)}.sharedNavbarUserInfo{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;max-width:220px}:root[data-theme=dark] .sharedNavbarIconBadge{box-shadow:0 0 0 3px #0c1515b3}.sharedNavbarUserEmail{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharedNavbarUserRole{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}.sharedDashboardLink{color:var(--primary);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none}.sharedDashboardLink:hover{color:var(--primary-deep);transform:translateY(-1px)}@media(max-width:768px){.sharedNavbar{top:12px;left:16px;right:16px;padding:10px 14px}.sharedNavbarContent{flex-wrap:wrap;gap:12px}.sharedNavbarRight{gap:8px;width:100%;justify-content:space-between}.sharedNavbarTitle{font-size:16px}.sharedNavbarBackButton{font-size:13px}.sharedNavbarUserEmail{font-size:12px}.sharedNavbarUserInfo{max-width:150px}.sharedNavbarLogoImage{height:36px;max-width:110px}}@media(max-width:560px){.sharedNavbar{border-radius:20px}.sharedNavbarContent{gap:10px}.sharedNavbarLeft{width:100%;gap:10px}.sharedNavbarLogo{padding-right:10px}.sharedNavbarTitle{font-size:15px}.sharedNavbarRight{align-items:stretch}.sharedNavbarProfile{flex:1 1 auto;min-width:0;justify-content:space-between}.sharedNavbarUserInfo{max-width:calc(100vw - 180px)}.sharedNavbarIconButton{width:46px;height:46px;border-radius:16px}}.adminLayout{--admin-shell-side-gap: 24px;--admin-shell-top-gap: 24px;--admin-navbar-offset: 16px;--admin-navbar-height: 72px;--admin-shell-top: calc(var(--admin-navbar-offset) + var(--admin-navbar-height) + var(--admin-shell-top-gap));min-height:100vh;display:grid;grid-template-columns:290px minmax(0,1fr);overflow:clip;background:linear-gradient(180deg,#f8fbfe,#eef4fa)}:root[data-theme=dark] .adminLayout{background:radial-gradient(circle at top left,rgba(127,184,168,.12),transparent 24%),linear-gradient(180deg,#101827,#0d1420)}.adminSidebar{position:sticky;top:var(--admin-shell-top);align-self:start;margin:var(--admin-shell-top) 0 var(--admin-shell-side-gap) var(--admin-shell-side-gap);padding:22px 18px 18px;border:1px solid rgba(110,168,151,.16);border-radius:24px;background:#fffffff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 18px 42px #0f172a14;overflow:hidden;display:grid;align-content:start;gap:18px}:root[data-theme=dark] .adminSidebar{background:#121b28e6;border-color:#b9ddd329;box-shadow:0 22px 42px #00000038}.adminBrand{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:8px 8px 0}.adminBrandMark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff;font-size:22px;box-shadow:0 12px 24px #4f7f722e}:root[data-theme=dark] .adminBrandMark{box-shadow:0 12px 24px #7fb8a82e}.adminBrandText{display:grid;gap:2px}.adminBrandText strong{font-size:1.05rem;letter-spacing:.01em}.adminBrandEyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.adminNav{display:grid;gap:8px;position:relative;z-index:1;align-content:start}.adminLink{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;color:var(--text);border:1px solid transparent;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.adminLink:hover{transform:translate(2px);background:#6ea89714;border-color:#6ea89724}:root[data-theme=dark] .adminLink:hover{background:#7fb8a824;border-color:#b9ddd32e}.adminLink.active{background:#6ea8971f;border-color:#6ea8973d;color:var(--primary-deep);box-shadow:none}:root[data-theme=dark] .adminLink.active{background:#7fb8a82e;border-color:#b9ddd338}.adminLinkIcon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#6ea8971a;color:var(--primary-deep);border:1px solid rgba(110,168,151,.12);box-shadow:none}:root[data-theme=dark] .adminLinkIcon{background:#7fb8a824;border-color:#b9ddd329}.adminMain{min-width:0;min-height:100vh;overflow-y:auto;overflow-x:auto}.adminTopbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);background:#f6f7fbbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.adminTopbarTitle{font-weight:700}.adminUser{display:flex;align-items:center;gap:12px}.adminUserMeta{text-align:right;line-height:1.1}.adminUserEmail{font-size:12px;color:var(--muted)}.adminUserRole{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.adminContent{padding:var(--admin-shell-top) var(--admin-shell-side-gap) 40px var(--admin-shell-side-gap);min-width:0}.adminSidebarCard{position:relative;z-index:1;margin-top:0;flex:0 0 auto;display:grid;gap:8px;padding:18px;border-radius:18px;background:linear-gradient(180deg,#6ea89717,#fffffffa);color:var(--text);border:1px solid rgba(110,168,151,.14);box-shadow:none}.adminSidebarCard strong{line-height:1.35}.adminSidebarCard span,.adminSidebarCardEyebrow{font-size:.85rem;line-height:1.5}.adminSidebarCardEyebrow{color:var(--primary-deep);text-transform:uppercase;letter-spacing:.12em}.adminSidebarGlow{position:absolute;border-radius:999px;filter:blur(18px);pointer-events:none}.adminSidebarGlowOne{top:-34px;right:-20px;width:120px;height:120px;background:#6ea8971a}.adminSidebarGlowTwo{bottom:112px;left:-34px;width:96px;height:96px;background:#6ea89714}@media(max-width:1100px){.adminLayout{grid-template-columns:1fr}.adminSidebar{position:relative;top:auto;margin:var(--admin-shell-top) var(--admin-shell-side-gap) 0;overflow:visible}.adminNav{grid-template-columns:repeat(3,minmax(0,1fr))}.adminLink{justify-content:center}.adminContent{padding:var(--admin-shell-top-gap) var(--admin-shell-side-gap) 24px}}@media(max-width:720px){.adminLayout{--admin-shell-side-gap: 16px;--admin-navbar-offset: 12px;--admin-navbar-height: 68px;--admin-shell-top-gap: 18px}.adminSidebar{margin:var(--admin-shell-top) var(--admin-shell-side-gap) 0;padding:16px;border-radius:24px}.adminBrand{padding:0}.adminNav{grid-template-columns:repeat(2,minmax(0,1fr))}.adminLink{justify-content:flex-start;padding:10px 12px;border-radius:16px}.adminLinkIcon{width:34px;height:34px}.adminContent{padding:var(--admin-shell-top-gap) var(--admin-shell-side-gap) 28px}}.sectionTitle{margin:0;font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.05;letter-spacing:-.03em}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gridCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.statCard{display:grid;align-content:start;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.statLabel{font-size:12px;color:var(--muted)}.statValue{margin-top:0;font-size:22px;font-weight:800;line-height:1.1}.statTrend{margin-top:2px;font-size:12px;color:var(--muted-soft)}.statCardAccent{background:linear-gradient(180deg,#00a77e14,#fffffffa);color:var(--text);border-color:#00a77e38;box-shadow:0 18px 36px #00a77e1a}.statCardAccent .statLabel,.statCardAccent .statTrend{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow);min-width:0;max-width:100%}.chartsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chartTitle{font-weight:900;margin-bottom:10px}.chartHint{font-size:12px;color:var(--muted);margin-top:-6px;margin-bottom:10px}.adminDashboard{display:grid;gap:18px}.adminPageIntro{display:grid;gap:18px;padding:22px;border:1px solid rgba(15,172,134,.14);border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f7fdfbfa);box-shadow:0 18px 36px #0f172a14}.adminPageIntroHeader{display:grid;gap:12px}.adminPageIntroText{margin:0;max-width:68ch;color:var(--muted-soft);line-height:1.7}.adminPageIntroStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.adminPageIntroStat{display:grid;gap:8px;padding:16px;border-radius:18px;border:1px solid rgba(15,172,134,.1);background:#ffffffe0}.adminPageIntroLabel{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.adminPageIntroValue{font-size:1.55rem;line-height:1;color:var(--text)}.adminPageIntroNote{font-size:12px;color:var(--muted-soft);line-height:1.55}.adminPageIntro.studentDashboardIntro{gap:14px;padding:18px 20px}.adminPageIntro.studentDashboardIntro .adminPageIntroStats{gap:10px}.adminPageIntro.studentDashboardIntro .adminPageIntroStat{gap:6px;padding:12px 14px;border-radius:16px}.adminPageIntro.studentDashboardIntro .adminPageIntroLabel{font-size:11px}.adminPageIntro.studentDashboardIntro .adminPageIntroValue{font-size:1.1rem}.adminPageIntro.studentDashboardIntro .adminPageIntroNote{font-size:11px}.workspaceToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.workspaceToolbarChips{display:flex;flex-wrap:wrap;gap:10px}.workspaceToolbarChip,.workspaceFilterToggle{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(15,23,42,.08);color:var(--text);font-size:12px;font-weight:700}.workspaceToolbarChip{color:var(--muted)}.workspaceFilterToggle{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.workspaceFilterToggle svg:last-child{transition:transform .2s ease}.workspaceFilterToggle.open svg:last-child{transform:rotate(180deg)}.workspaceFilterToggle:hover{transform:translateY(-1px);border-color:#0fac8633;box-shadow:0 10px 18px #0f172a0f}.workspaceFilterPanel{display:grid;gap:14px;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fffffff5;box-shadow:0 10px 24px #0f172a0a}.workspaceFilterGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboardHero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(440px,1fr);gap:18px;padding:24px;border:1px solid rgba(15,172,134,.14);border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f7fdfbfa);box-shadow:0 18px 36px #0f172a14}.dashboardHeroCopy{display:grid;align-content:start;gap:14px}.dashboardEyebrow{display:inline-flex;width:fit-content;padding:7px 12px;border-radius:999px;background:#0fac8614;border:1px solid rgba(15,172,134,.14);color:var(--primary-deep);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.dashboardHeroTitle{margin:0;max-width:20ch;font-size:clamp(1.8rem,2.7vw,2.65rem);line-height:1.12;letter-spacing:-.03em}.dashboardHeroText{margin:0;max-width:58ch;font-size:.98rem;line-height:1.7;color:var(--muted-soft)}.dashboardHeroMeta{display:flex;flex-wrap:wrap;gap:10px}.dashboardHeroMeta span,.panelBadge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#0fac860f;border:1px solid rgba(15,172,134,.12);font-size:12px;font-weight:700;color:var(--primary-deep)}.dashboardHeroRail{display:grid;gap:10px;align-content:start}.dashboardHeroBadge{display:grid;gap:5px;padding:14px 18px;border-radius:20px;background:linear-gradient(180deg,#0fac861a,#fffffffa);border:1px solid rgba(15,172,134,.16);color:var(--text);box-shadow:none}.dashboardHeroBadge strong{font-size:1.08rem;line-height:1.2}.dashboardHeroBadgeLabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--primary-deep)}.dashboardHeroMiniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboardMiniStat{display:grid;gap:8px;padding:14px;border-radius:18px;border:1px solid rgba(15,172,134,.1);background:#fff;box-shadow:none}.dashboardMiniStatIcon,.dashboardActionIcon,.dashboardRecentAvatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#0fac8614;color:var(--primary-deep);border:1px solid rgba(15,172,134,.1);box-shadow:none}.dashboardMiniStatValue{font-size:1.55rem;font-weight:900;line-height:1;margin-top:2px}.dashboardMiniStatLabel{font-size:.86rem;font-weight:700}.dashboardMiniStatCaption{font-size:12px;color:var(--muted-soft);line-height:1.45}.gridCardsDashboard{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboardMainGrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:14px}.dashboardChartColumn,.dashboardSideColumn{display:grid;gap:18px;align-content:start}.dashboardPanel{border-color:#0fac861a;background:linear-gradient(180deg,#fffffffa,#fbfefdfa)}.dashboardPanelWide{padding:22px}.dashboardPanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboardActionList,.dashboardRecentList{display:grid;gap:12px}.dashboardActionItem{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#fffffff2;border:1px solid rgba(15,172,134,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboardActionItem:hover{transform:translateY(-1px);border-color:#0fac862e;box-shadow:0 12px 20px #0f172a0f}.dashboardActionText{display:grid;gap:3px}.dashboardActionText strong{font-size:.96rem}.dashboardActionText span,.dashboardRecentMeta span,.dashboardInsightItem small{color:var(--muted-soft);font-size:12px;line-height:1.55}.dashboardActionArrow{color:var(--primary-deep);font-size:1rem}.dashboardRecentItem{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.06)}.dashboardRecentItem:last-child{border-bottom:0;padding-bottom:0}.dashboardRecentMeta{display:grid;gap:2px;min-width:0}.dashboardRecentMeta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboardRecentItem time{font-size:11px;color:var(--muted);text-align:right}.dashboardInsightGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chartsGridDashboardBottom{grid-template-columns:1fr}.dashboardInsightItem{display:grid;gap:8px;padding:16px;border-radius:16px;background:#fffffffa;border:1px solid rgba(15,172,134,.08)}.dashboardInsightItem span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.dashboardInsightItem strong{font-size:1.15rem}:root[data-theme=dark] .statCard,:root[data-theme=dark] .panel,:root[data-theme=dark] .dashboardMiniStat,:root[data-theme=dark] .dashboardActionItem,:root[data-theme=dark] .dashboardInsightItem{background:linear-gradient(180deg,#111c1cfa,#0d1515fa);border-color:#6bd9bd1f;box-shadow:0 18px 34px #0000002e}:root[data-theme=dark] .statCardAccent,:root[data-theme=dark] .dashboardHeroBadge{background:linear-gradient(180deg,#0fac8629,#0f201ffa);border-color:#6bd9bd2e}:root[data-theme=dark] .adminPageIntro,:root[data-theme=dark] .dashboardHero,:root[data-theme=dark] .dashboardPanel{background:linear-gradient(180deg,#121f1ffa,#0c1515fa);border-color:#6bd9bd24;box-shadow:0 22px 42px #0000002e}:root[data-theme=dark] .adminPageIntroStat{background:linear-gradient(180deg,#111c1cfa,#0d1515fa);border-color:#6bd9bd1f}:root[data-theme=dark] .dashboardEyebrow,:root[data-theme=dark] .dashboardHeroMeta span,:root[data-theme=dark] .panelBadge,:root[data-theme=dark] .dashboardMiniStatIcon,:root[data-theme=dark] .dashboardActionIcon,:root[data-theme=dark] .dashboardRecentAvatar{background:#0fac861f;border-color:#6bd9bd29;color:var(--primary-deep)}:root[data-theme=dark] .dashboardActionItem:hover{background:linear-gradient(180deg,#152323fa,#0d1515fa);border-color:#6bd9bd2e}:root[data-theme=dark] .dashboardRecentItem{border-bottom-color:#6bd9bd14}:root[data-theme=dark] .chartTitle,:root[data-theme=dark] .dashboardMiniStatValue,:root[data-theme=dark] .dashboardInsightItem strong,:root[data-theme=dark] .dashboardHeroTitle,:root[data-theme=dark] .dashboardMiniStatLabel,:root[data-theme=dark] .dashboardActionText strong,:root[data-theme=dark] .dashboardRecentMeta strong{color:#eef9f5}:root[data-theme=dark] .table th{background:#111c1cfa}:root[data-theme=dark] .table tr:hover td{background:#0fac860f}:root[data-theme=dark] .input,:root[data-theme=dark] .select,:root[data-theme=dark] .attendanceSearchInput,:root[data-theme=dark] .attendanceToggle,:root[data-theme=dark] .attendanceCheckbox,:root[data-theme=dark] .attendanceFilterMeta span{background:#111c1cf5;border-color:#6bd9bd24;color:var(--text)}:root[data-theme=dark] .attendanceFilterShell{background:linear-gradient(180deg,#121f1ffa,#0c1515fa);border-color:#6bd9bd1f}:root[data-theme=dark] .attendanceSummaryWrap,:root[data-theme=dark] .attendanceSummaryTable thead th,:root[data-theme=dark] .attendanceDayHeader,:root[data-theme=dark] .attendanceDataCell,:root[data-theme=dark] .attendanceMonthHeader{background:#132121}:root[data-theme=dark] .attendanceIdentityCell,:root[data-theme=dark] .attendanceIdentityHead{background:#101a1a!important}@media(max-width:1440px){.gridCardsDashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboardMainGrid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr)}.dashboardHeroTitle{max-width:22ch;font-size:clamp(1.7rem,2.4vw,2.35rem)}}@media(max-width:1240px){.adminPageIntroStats,.dashboardHero{grid-template-columns:1fr}.dashboardHeroRail{grid-template-columns:minmax(0,1fr)}.dashboardHeroMiniGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboardMainGrid{grid-template-columns:1fr}.dashboardSideColumn{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardFeedCard{grid-column:1 / -1}}@media(max-width:1100px){.chartsGrid{grid-template-columns:1fr}.gridCards,.gridCardsDashboard,.adminPageIntroStats,.dashboardHeroMiniGrid,.dashboardInsightGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardSideColumn{grid-template-columns:1fr}.dashboardHeroTitle{max-width:20ch}}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#0fac860d,#ffffffa6);border:1px solid rgba(15,172,134,.1)}.search{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.input{width:100%;max-width:420px;min-height:46px;padding:11px 14px;border-radius:14px;border:1px solid var(--border);background:#ffffffe6;color:var(--text);outline:none}.input:focus{border-color:#00a77e57;box-shadow:0 0 0 4px #00a77e1a}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn.small{min-height:40px;padding:8px 12px;border-radius:12px;font-size:12px;border:1px solid var(--border)}.adminContent .btn.primary,.adminContent .btn.small.primary,.adminContent button.btn.primary,.adminContent button.btn.small.primary{background:#00a77e;color:#fff;border-color:#00a77e80;box-shadow:0 10px 20px #00a77e29}.adminContent .btn.primary:hover,.adminContent .btn.small.primary:hover,.adminContent button.btn.primary:hover,.adminContent button.btn.small.primary:hover{background:#008f72;border-color:#00a77e94}.adminContent .btn.primary:disabled,.adminContent .btn.small.primary:disabled,.adminContent button.btn.primary:disabled,.adminContent button.btn.small.primary:disabled{background:#00a77e8c;border-color:#00a77e4d;box-shadow:none}.btn.success{background:#00a77e1f;border-color:#00a77e33;color:var(--primary-deep)}.btn.success:hover{background:#00a77e29}.btn.danger{background:#dc26261f;border-color:#dc262633;color:#991b1b}.btn.danger:hover{background:#dc262629}.formGrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formRow{display:grid;gap:6px}.formRow label{font-size:12px;color:var(--muted)}.select{width:100%;min-height:46px;padding:11px 14px;border-radius:14px;border:1px solid var(--border);background:#ffffffe6;color:var(--text)}.select.narrow{max-width:360px}.table{width:100%;border-collapse:collapse;border:1px solid rgba(0,167,126,.1);border-radius:18px;overflow:hidden;background:#ffffffeb}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:13px}.snCol{width:56px;text-align:right}.table th{background:linear-gradient(180deg,#00a77e0f,#f9fcfbf2);color:var(--muted);font-weight:700}.table tr:hover td{background:#00a77e0a}.truncate{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--muted)}.errorText{color:#991b1b}.panel>.table,.panel>.marksTableWrap,.panel>.attendanceSummaryWrap{margin-top:14px}.panel>.muted+.table,.panel>.errorText+.table{margin-top:12px}.attendanceFilterShell{display:grid;gap:14px;margin-bottom:14px;padding:16px;border:1px solid rgba(0,167,126,.12);border-radius:18px;background:radial-gradient(circle at top left,rgba(0,167,126,.08),transparent 30%),linear-gradient(180deg,#fffffffa,#f7fdfbf0)}.attendanceFilterHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attendanceSearchSpot{display:grid;gap:8px;min-width:min(360px,100%);flex:1 1 320px}.attendanceSearchInput{max-width:none;min-width:260px;background:#fff}.attendanceFilterMeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;font-size:12px;color:var(--muted)}.attendanceFilterMeta span{padding:8px 10px;border-radius:999px;background:#00a77e0f;border:1px solid rgba(0,167,126,.12);color:var(--primary-deep)}.attendanceFilterGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.attendanceFilterBlock{display:grid;gap:8px}.attendanceFilterBlockCompact{align-content:start}.attendanceFilterLabel{font-size:12px;font-weight:700;color:var(--muted)}.attendanceToggleGroup{display:flex;flex-wrap:wrap;gap:8px}.attendanceToggle{padding:10px 12px;border-radius:12px;border:1px solid rgba(0,167,126,.12);background:#ffffffeb;color:var(--text);font-size:12px;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.attendanceToggle:hover{transform:translateY(-1px);border-color:#00a77e4d;background:#00a77e0f}.attendanceToggle.active{background:linear-gradient(135deg,#00a77e,#008f72);border-color:#00a77e47;color:#fff;box-shadow:0 10px 24px #00a77e33}.attendanceCheckbox{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,167,126,.12);background:#ffffffeb}.studentFilterGrid{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(180px,1fr)) minmax(180px,1fr);gap:12px;align-items:start}.studentFilterProgram,.studentFilterYear,.studentFilterStudyYear,.studentFilterSemester,.studentFilterArchive{min-width:0}.studentFilterActions{grid-column:1 / -1}.studentFilterActionsRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.studentRegistryPage{display:grid;gap:18px}.studentRegistryHero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.studentRegistryChips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.studentRegistryChips span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#00a77e14;border:1px solid rgba(0,167,126,.12);color:var(--primary-deep);font-size:12px;font-weight:700}.studentStatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.studentStatCard{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#fffffff5;box-shadow:0 14px 28px #0f172a0f}.studentStatCardAccent{background:linear-gradient(180deg,#eef8f3fa,#fffffffa);border-color:#00a77e29}.studentStatCardTop{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.studentStatIcon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#00a77e14;border:1px solid rgba(0,167,126,.12);color:var(--primary-deep);font-size:.92rem;font-weight:800}.studentStatLabel,.studentStatNote{margin:0}.studentStatLabel{font-size:11px;color:var(--muted)}.studentStatValue{display:block;margin-top:4px;font-size:clamp(1.35rem,2.1vw,1.95rem);line-height:1;letter-spacing:-.04em}.studentStatNote{font-size:11px;color:var(--muted-soft)}.studentRegistryPanel{padding:18px;border-radius:22px}.studentToolbar{display:grid;gap:12px;margin-bottom:16px}.studentToolbarTopRow{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.studentToolbarSearch{display:grid;gap:6px;flex:0 1 420px}.studentSearchField{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:0 12px;min-height:46px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff}.studentFieldIcon{color:var(--muted);font-size:1rem}.studentSearchInput{max-width:none;min-height:44px;padding:0;border:0;background:transparent;font-size:13px}.studentSearchInput:focus{box-shadow:none}.studentToolbarFilters{display:grid;grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(150px,1fr)) minmax(180px,.9fr);gap:12px;align-items:end;padding-top:4px}.studentSelectShell,.studentSelectShell>div{min-width:0}.studentSelect{background:#fff;min-height:46px;font-size:13px}.studentArchiveToggle{min-height:46px;background:#fff;font-size:13px}.studentToolbarActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.studentPrimaryAction{min-width:132px}.studentTableWrap{overflow-x:auto;border:1px solid rgba(15,23,42,.06);border-radius:22px;background:#fff}.studentCleanTable{border:0;border-radius:0;background:transparent}.studentCleanTable th{padding-top:14px;padding-bottom:14px;background:#fcfcfb;color:#667085;font-size:12px;font-weight:700;text-transform:none}.studentCleanTable td{padding-top:16px;padding-bottom:16px;vertical-align:middle}.studentTableRow{cursor:pointer}.studentIdentityCell{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;min-width:220px}.studentAvatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#00a77e2e,#00a77e14);color:var(--primary-deep);font-size:13px;font-weight:800;overflow:hidden}.studentAvatarImage{width:100%;height:100%;object-fit:cover;display:block}.studentIdentityText{display:grid;gap:4px;min-width:0}.studentIdentityText strong{font-size:14px;font-weight:700}.studentIdentityText span,.studentContactCell span{color:var(--muted);font-size:12px;line-height:1.45}.studentIdentityText span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studentContactCell{display:grid;gap:4px;min-width:180px}.studentStatusPill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:32px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700}.studentStatusPill.active{background:#00a77e1f;color:#0b7a5d}.studentStatusPill.inactive{background:#94a3b829;color:#475569}.studentStatusPill.archived{background:#dc26261a;color:#b42318}.studentViewButton{min-width:74px;background:#fff}.studentEmptyState{padding:32px 16px!important;text-align:center}:root[data-theme=dark] .toolbar{background:linear-gradient(180deg,#0fac8614,#101c1ce0);border-color:#6bd9bd1f}:root[data-theme=dark] .table{background:#101c1cf0;border-color:#6bd9bd1f}:root[data-theme=dark] .studentStatCard,:root[data-theme=dark] .studentTableWrap{background:linear-gradient(180deg,#111c1cfa,#0d1515fa);border-color:#6bd9bd1f}:root[data-theme=dark] .studentStatCardAccent,:root[data-theme=dark] .studentRegistryPanel{background:linear-gradient(180deg,#121f1ffa,#0c1515fa);border-color:#6bd9bd24}:root[data-theme=dark] .studentSearchField,:root[data-theme=dark] .studentArchiveToggle,:root[data-theme=dark] .studentSelect,:root[data-theme=dark] .studentViewButton{background:#111c1cf5;border-color:#6bd9bd24}:root[data-theme=dark] .studentRegistryChips span,:root[data-theme=dark] .studentStatIcon,:root[data-theme=dark] .studentAvatar,:root[data-theme=dark] .studentStatusPill.active{background:#0fac8624;border-color:#6bd9bd29}:root[data-theme=dark] .studentCleanTable th{background:#101c1cfa;color:var(--muted)}:root[data-theme=dark] .studentStatusPill.inactive{background:#33415599;color:#cbd5e1}:root[data-theme=dark] .studentStatusPill.archived{background:#7f1d1d80;color:#fecaca}.attendanceSessionDate{font-weight:700;color:var(--text)}.attendanceSessionMeta{display:grid;gap:2px}.attendanceSessionCell{display:grid;gap:6px;justify-items:center}.attendanceSessionDelete{min-height:28px;padding:4px 8px;font-size:11px;border-radius:10px;border:1px solid rgba(239,68,68,.22);background:#fef2f2;color:#b91c1c;font-weight:600}.attendanceSessionDelete:hover:not(:disabled){border-color:#dc262657;background:#fee2e2}.attendanceDialogCopy{display:grid;gap:8px}.attendanceDialogHint{padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#fef2f2eb,#fff7edf5);border:1px solid rgba(248,113,113,.18)}.attendanceSummaryWrap{overflow-x:auto;overflow-y:auto;max-height:70vh;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#f0f9ff;cursor:grab;user-select:none;-webkit-user-select:none}.attendanceSummaryWrap.dragging{cursor:grabbing}.attendanceSummaryTable{min-width:1760px;border-collapse:collapse}.attendanceSummaryTable thead th{position:relative;background:#f0f9ff}.attendanceIdentityHead{background:#fff!important}.attendanceMonthHeader{font-size:12px;font-weight:700;white-space:nowrap;min-width:190px;background:#e0f2fe}.attendanceStudentCell{font-weight:400;white-space:nowrap}.attendanceSessionHead{background:#eaf6ff!important}.attendanceDayHeader{font-size:11px;font-weight:500;color:#475569;white-space:nowrap;min-width:190px;background:#f0f9ff}.attendanceIdentityCell{background:#fff}.attendanceDataCell{background:#f0f9ff}.attendanceStatusPill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:4px 8px;border-radius:8px;font-size:11px;font-weight:500;color:#334155;background:transparent;white-space:nowrap;border:0;box-shadow:none}.attendanceStatusPill.empty,.attendanceStatusPill.noclass{color:#64748b;background:transparent}@media(max-width:1100px){.attendanceFilterHeader{flex-direction:column}.attendanceSearchSpot{width:100%;min-width:0}.attendanceSearchInput{min-width:0}.attendanceFilterMeta{justify-content:flex-start}.studentFilterGrid,.studentStatsGrid,.studentToolbarFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid2{grid-template-columns:1fr}.studentFilterActions{grid-column:1 / -1}}@media(max-width:720px){.adminDashboard{gap:16px}.studentRegistryHero,.studentToolbarActions{justify-content:flex-start}.studentRegistryHero{align-items:flex-start}.studentToolbarTopRow{align-items:stretch}.studentToolbarSearch{flex-basis:100%}.studentStatsGrid,.studentToolbarFilters{grid-template-columns:1fr}.dashboardHero{padding:18px;border-radius:24px}.dashboardHeroTitle{max-width:none}.adminPageIntro{padding:18px}.adminPageIntroStats,.dashboardHeroMiniGrid,.dashboardInsightGrid,.gridCardsDashboard{grid-template-columns:1fr}.dashboardPanelHeader{display:grid}.dashboardActionItem{grid-template-columns:auto 1fr}.dashboardActionArrow{display:none}.dashboardRecentItem time{text-align:left}.dashboardRecentItem{grid-template-columns:auto 1fr}.studentFilterGrid{grid-template-columns:1fr}}@media(max-width:560px){.toolbar{padding:12px;border-radius:16px}.search,.actions{width:100%}.actions{justify-content:flex-start}.input,.select{max-width:none}.table th,.table td{padding:10px;font-size:12px}.gridCards,.gridCardsDashboard,.dashboardHeroMiniGrid,.dashboardInsightGrid{grid-template-columns:1fr}.dashboardHero,.dashboardPanel,.dashboardPanelWide,.panel,.statCard{padding:16px}.dashboardHeroMeta{gap:8px}.dashboardHeroMeta span,.panelBadge{width:100%;justify-content:center}.dashboardActionItem,.dashboardRecentItem{grid-template-columns:1fr}.dashboardActionIcon,.dashboardRecentAvatar{margin-bottom:2px}.workspaceFilterGrid{grid-template-columns:1fr}}.modalOverlay{position:fixed;inset:0;background:#0f172a59;display:grid;place-items:center;padding:18px;z-index:1050}.modal{width:100%;max-width:800px!important;max-height:99vh!important;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modalHeader{padding:14px 14px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.modalTitle{font-weight:900}.modalBody{padding:14px;overflow:auto}.psNativeSelect{max-width:none;background:#fff}.smsToastWrap{position:fixed;top:14px;right:14px;z-index:2000;max-width:min(420px,calc(100vw - 28px));pointer-events:none}.smsToast{--sms-toast-duration: 2.5s;position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);color:var(--text);overflow:hidden;pointer-events:auto;animation:smsToastEnter .18s ease-out}.smsToast.success{border-color:#22c55e59;background:#f0fdf4eb}.smsToast.error{border-color:#ef44444d;background:#fef2f2eb}.smsToastBody{min-width:0;flex:1}.smsToastMessage{font-size:13px;font-weight:600}.smsToastClose{border:1px solid rgba(148,163,184,.35);background:#fffc;color:var(--muted);border-radius:10px;padding:6px 10px;cursor:pointer}.smsToastClose:hover{background:#0f172a0a}.smsToastTimer{position:absolute;left:0;right:0;bottom:0;height:3px;transform-origin:left center;animation:smsToastCountdown var(--sms-toast-duration) linear forwards;background:#0f172a38}.smsToast.success .smsToastTimer{background:linear-gradient(90deg,#16a34ae6,#4ade80e6)}.smsToast.error .smsToastTimer{background:linear-gradient(90deg,#dc2626e0,#f87171e0)}.smsToast.info .smsToastTimer{background:linear-gradient(90deg,#2563ebe0,#60a5fae0)}@keyframes smsToastEnter{0%{opacity:0;transform:translate3d(0,-10px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes smsToastCountdown{0%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:.35}}.smsMulti{display:grid;gap:10px}.smsChips{display:flex;flex-wrap:wrap;gap:8px}.smsChip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:#4f46e514;color:var(--text);cursor:pointer}.smsChip:hover{background:#4f46e51f}.smsChipText{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smsChipX{opacity:.8;font-weight:900}.smsInputRow{display:flex;gap:10px;align-items:center}.smsLoading{font-size:12px;color:var(--muted);white-space:nowrap}.smsDropdown{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.smsEmpty{padding:10px 12px;font-size:12px;color:var(--muted)}.smsList{display:grid}.smsItem{text-align:left;padding:10px 12px;border:none;background:transparent;cursor:pointer}.smsItem:hover{background:#4f46e50f}.smsItem.disabled{opacity:.6;cursor:not-allowed}.smsItemTitle{font-weight:800;font-size:13px}.smsItemMeta{margin-top:3px;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.tmsMulti{position:relative;width:100%}.tmsChips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.tmsChip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border, #d0d5dd);background:#f8fafc;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;width:100%}.tmsChipText{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tmsChipX{opacity:.7}.tmsClear{border:1px solid var(--border, #d0d5dd);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;width:100%}.tmsInputRow{position:relative}.tmsDropdown{position:fixed;z-index:1100;background:#fff;border:1px solid var(--border, #d0d5dd);border-radius:10px;box-shadow:0 8px 20px #1018281f;overflow:hidden}.tmsList{overflow:auto}.tmsItem{width:100%;border:0;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;padding:10px 12px;cursor:pointer}.tmsItem:hover{background:#f8fafc}.tmsItem.disabled{opacity:.6;cursor:not-allowed}.tmsItemTitle{font-weight:600}.tmsItemMeta{font-size:12px;color:#667085}.tmsEmpty{padding:10px 12px;font-size:12px;color:#667085}.marksFiltersGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}.marksPublishToggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.marksEntryTable .input{max-width:none}.marksTableWrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;max-height:62vh;-webkit-overflow-scrolling:touch;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.marksEntryTable{border-collapse:collapse;border:1px solid #cbd5e1;background:#fff;width:max-content;min-width:100%}.marksEntryTable th,.marksEntryTable td{border:1px solid #cbd5e1;padding:6px}.marksEntryTable thead th{background:#f1f5f9;position:sticky;top:0;z-index:1}.marksEntryTable tbody tr:last-child td{border-bottom:1px solid #cbd5e1}.marksEntryTable th:first-child,.marksEntryTable td:first-child{border-left:1px solid #cbd5e1}.marksEntryTable th:last-child,.marksEntryTable td:last-child{border-right:1px solid #cbd5e1}.marksLoadMoreHint{padding:8px 10px;font-size:12px;color:var(--muted);border-top:1px solid #cbd5e1;background:#f8fafc}.marksHeaderCell{display:grid;grid-template-columns:1fr 64px auto;gap:4px;align-items:center}.marksHeaderInput{min-width:72px}.marksHeaderMax{text-align:right}.marksCellInput{min-width:60px;padding:6px 8px}.marksCellInputError{border-color:#dc2626a6;box-shadow:0 0 0 2px #dc262626}@media(max-width:1400px){.marksFiltersGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.marksFiltersGrid,.marksHeaderCell{grid-template-columns:1fr}}.profileSidebar{position:fixed;top:112px;left:24px;height:calc(100vh - 136px);padding:18px 14px;border:1px solid rgba(0,167,126,.12);border-radius:24px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:280px;z-index:900;overflow-y:auto;box-shadow:0 18px 36px #0f172a14}.profileSidebarHeader{font-weight:900;letter-spacing:.2px;padding:10px 10px 14px;border-bottom:1px solid var(--border);margin-bottom:14px}.profileBackButton{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:6px 0;margin-bottom:12px;display:flex;align-items:center;gap:6px;transition:all .2s ease}.profileBackButton:hover{color:var(--primary);transform:translate(-2px)}.profileBackButton:active{transform:translate(0)}.profileSidebarHeader h3{font-size:16px;color:var(--text);margin:0}.profileSidebarNav{display:grid;gap:4px}.profileSidebarItem{padding:10px;border-radius:10px;color:var(--text);border:1px solid transparent;background:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;transition:all .2s ease}.profileSidebarItem:hover{background:#00a77e0f}.profileSidebarItem.active{background:#00a77e1f;border-color:#00a77e2e;font-weight:600}.profileSidebarIcon{font-size:16px;display:inline-flex;align-items:center;justify-content:center}.profileSidebarText{flex:1}@media(max-width:900px){.profileSidebar{position:relative;top:auto;left:auto;height:auto;width:100%;border-bottom:1px solid var(--border)}.profileSidebarNav{grid-template-columns:repeat(2,minmax(0,1fr))}}.adminProfilePageFull{min-height:100vh;background:linear-gradient(180deg,#f8fcfb,#eff7f4)}.profile-main{flex:1;background:#fff;border:1px solid rgba(15,23,42,.05);border-radius:24px;box-shadow:0 12px 28px #0f172a0d;padding:28px;overflow-y:auto;min-height:calc(100vh - 136px)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}.profile-card.profile-card-modern{display:block;padding:0;border-radius:24px;background:#fff;border:1px solid rgba(15,23,42,.05);overflow:hidden}.profile-hero{position:relative;border-bottom:1px solid rgba(15,23,42,.05)}.profile-hero-banner{height:124px;background:linear-gradient(96deg,#b9d7fb,#f3f4f6 54%,#f6edc8)}.profile-hero-content{display:flex;align-items:center;gap:18px;padding:0 28px 24px;margin-top:-40px}.profile-avatar-section{flex:0 0 auto;text-align:center}.avatar-container{position:relative;width:82px;height:82px;margin:0;border-radius:50%;overflow:hidden;border:4px solid #ffffff;box-shadow:0 8px 20px #0f172a1a;background:#fff}.avatar{width:100%;height:100%;object-fit:cover}.profile-identity{min-width:0}.profile-identity h2{margin:0;font-size:26px;font-weight:700;color:#111827}.profile-identity p{margin:4px 0 0;color:#6b7280;font-size:15px}.profile-role-chip{display:inline-flex;align-items:center;margin-top:12px;padding:5px 11px;border-radius:999px;background:#eef4ff;color:#4b6bcb;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.profile-hero-edit{margin-left:auto}.btn-edit{background:#3b82f6;color:#fff;border:none;padding:11px 20px;border-radius:10px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-edit:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 10px 18px #2563eb2e}.profile-section{padding:24px}.profile-section+.profile-section{border-top:1px solid rgba(15,23,42,.06)}.profile-section-personal{margin:0;padding:22px 28px 28px;border-radius:0;background:#fff;border:0;box-shadow:none}.profile-section-personal+.profile-section{border-top:1px solid rgba(15,23,42,.05)}.profile-section-title{margin:0 0 18px;font-size:18px;font-weight:700;color:#111827}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.info-field{display:flex;flex-direction:column;gap:14px;padding:18px 16px 16px;border-radius:18px;background:linear-gradient(180deg,#eef8f7,#fbfdfd);border:1px solid #d7ebe8;border-left:4px solid #06b08b}.info-label{display:block;padding-left:0;font-size:12px;color:#6b7280;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.info-value{display:flex;align-items:center;min-height:50px;padding:13px 16px;border-radius:12px;background:#f5f7fa;border:1px solid #edf2f7;color:#2f3643;font-size:15px;font-weight:500;box-shadow:none}.info-value.multiline{align-items:flex-start;white-space:pre-wrap;line-height:1.5}.profile-contact-card{display:flex;align-items:flex-start;gap:14px;width:min(420px,100%);padding:18px;border-radius:14px;background:#fff;border:1px solid #eef1f4;box-shadow:none}.profile-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e8f0ff;color:#3b82f6;font-size:16px;flex:0 0 auto}.profile-contact-text{min-width:0}.profile-contact-label{margin:0;font-size:15px;color:#111827;font-weight:600;word-break:break-word}.profile-contact-meta{margin:4px 0 0;font-size:13px;color:#9ca3af}@media(max-width:1024px){.profile-container{padding-left:24px}}@media(max-width:768px){.profile-main{padding:18px}.profile-hero-content{flex-wrap:wrap;padding:0 18px 18px}.profile-identity h2{font-size:24px}.profile-hero-edit{margin-left:0;width:100%;justify-content:center}.profile-section,.profile-section-personal{padding:18px}}.studentWorkspaceDashboard{gap:22px}.studentWorkspaceToolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.studentWorkspaceToolbarCounts{display:flex;flex-wrap:wrap;gap:10px}.studentWorkspaceToolbarChip,.studentWorkspaceActionPill,.studentWorkspaceFilterToggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);color:#1f2937;font-size:12px;font-weight:700;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.studentWorkspaceToolbarChip{color:#475569;background:#ffffffeb}.studentWorkspaceFilterToggle{cursor:pointer}.studentWorkspaceFilterToggle svg:last-child{transition:transform .2s ease}.studentWorkspaceFilterToggle.open svg:last-child{transform:rotate(180deg)}.studentWorkspaceActionPill:hover{transform:translateY(-1px);border-color:#3b82f633;box-shadow:0 10px 18px #3b82f614}.studentWorkspaceFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 12px 26px #0f172a0a}.studentWorkspaceFilterField{display:grid;gap:8px}.studentWorkspaceFilterField label{font-size:12px;font-weight:700;color:#6b7280;letter-spacing:.05em;text-transform:uppercase}.studentWorkspaceFilterField select{min-height:44px;padding:10px 12px;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;color:#1f2937}.studentWorkspaceFilterActions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.studentWorkspaceGrid{display:grid;grid-template-columns:minmax(0,1.7fr) 320px;gap:22px;align-items:start}.studentWorkspacePrimary{display:grid;gap:22px}.studentWorkspacePanel,.studentWorkspaceProfileCard,.studentWorkspaceRailPanel{border-radius:24px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 30px #0f172a0d}.studentWorkspacePanel{padding:22px}.studentWorkspacePanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.studentWorkspacePanelHeader h2{margin:0;font-size:1.1rem}.studentWorkspacePanelHeader p{margin:6px 0 0;color:#6b7280;font-size:14px;line-height:1.55}.studentWorkspacePanelMeta,.studentWorkspaceCountBadge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700;white-space:nowrap}.studentWorkspacePanelMeta{flex-direction:column;align-items:flex-end;gap:2px;border-radius:16px;padding:10px 14px}.studentWorkspacePanelMeta strong{font-size:1rem}.studentWorkspaceChartWrap{width:100%;height:310px}.studentWorkspaceAttendanceLegend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.studentWorkspaceLegendItem{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid #edf2f7}.studentWorkspaceLegendDot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.studentWorkspaceLegendItem span{color:#64748b;font-size:14px}.studentWorkspaceLegendItem strong{margin-left:auto;color:#111827}.studentWorkspaceLowerGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}.studentWorkspaceTodayList{display:grid;gap:12px}.studentWorkspaceTodayCard{display:grid;gap:10px;padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #edf2f7}.studentWorkspaceTodayMeta{display:grid;gap:2px}.studentWorkspaceTodayMeta strong{color:#111827}.studentWorkspaceTodayMeta span,.studentWorkspaceTodayCard small{color:#6b7280;line-height:1.5}.studentWorkspaceTodayContext{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:#475569}.studentWorkspaceTodayBadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.studentWorkspaceTableWrap{overflow-x:auto}.studentWorkspaceTable th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.studentWorkspaceTable td{vertical-align:middle}.studentWorkspaceResultGrid{display:grid;gap:12px}.studentWorkspaceResultCard{display:grid;gap:4px;padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #edf2f7}.studentWorkspaceResultCard span{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6b7280}.studentWorkspaceResultCard strong{font-size:1rem;color:#111827}.studentWorkspaceResultCard small{color:#94a3b8;line-height:1.5}.studentWorkspaceQuickList{display:grid;gap:10px;margin-top:16px}.studentWorkspaceQuickItem,.studentWorkspaceRailLink{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #edf2f7;color:#1f2937;transition:transform .2s ease,border-color .2s ease,background .2s ease}.studentWorkspaceQuickItem:hover,.studentWorkspaceRailLink:hover{transform:translate(2px);border-color:#3b82f62e;background:#f8fbff}.studentWorkspaceQuickIcon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:#2563eb;flex:0 0 auto}.studentWorkspaceQuickText{display:grid;gap:2px;min-width:0}.studentWorkspaceQuickText strong{color:#111827}.studentWorkspaceQuickText span{font-size:13px;color:#6b7280}.studentWorkspaceQuickItem svg:last-child{margin-left:auto;color:#94a3b8}.studentWorkspaceRail{display:grid;gap:22px}.studentWorkspaceProfileCard{display:grid;justify-items:center;gap:10px;padding:24px 22px;text-align:center}.studentWorkspaceAvatar{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:24px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;font-size:28px;font-weight:800;box-shadow:0 14px 28px #2563eb33}.studentWorkspaceProfileCard h2{margin:2px 0 0;font-size:1.35rem;color:#111827}.studentWorkspaceProfileCard>p{margin:0;color:#6b7280}.studentWorkspaceIdentityList{width:100%;display:grid;gap:10px;margin-top:10px}.studentWorkspaceIdentityRow{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid #edf2f7;text-align:left}.studentWorkspaceIdentityRow span{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6b7280}.studentWorkspaceIdentityRow strong{color:#111827;word-break:break-word}.studentWorkspaceRailPanel{padding:20px}.studentWorkspaceRailHeading{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;font-weight:700;color:#111827}.studentWorkspaceRailLinks{display:grid;gap:10px}@media(max-width:1280px){.studentWorkspaceGrid{grid-template-columns:1fr}.studentWorkspaceRail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.studentWorkspaceFilters,.studentWorkspaceAttendanceLegend,.studentWorkspaceLowerGrid,.studentWorkspaceRail{grid-template-columns:1fr}}@media(max-width:720px){.studentWorkspaceFilters{padding:16px}.studentWorkspaceToolbar{align-items:stretch}.studentWorkspaceToolbarCounts{width:100%}.studentWorkspaceFilterToggle{justify-content:center}.studentWorkspacePanel,.studentWorkspaceProfileCard,.studentWorkspaceRailPanel{padding:18px}.studentWorkspacePanelHeader{flex-direction:column}}.teacherProfilePageFull{min-height:100vh;background:linear-gradient(180deg,#f8fcfb,#eff7f4)}.studentProfilePageFull{min-height:100vh;background:linear-gradient(180deg,#f8fcfb,#eff7f4)}:root{--primary: #00a77e;--primary-light: #45c7a6;--secondary: #007e67;--success: #c8f4e6;--danger: #f72585;--warning: #f8961e;--light: #f8f9fa;--dark: #212529;--gray: #6c757d;--light-gray: #e9ecef;--border-radius: 12px;--box-shadow: 0 4px 6px rgba(0, 0, 0, .1);--transition: all .3s ease}.parentProfilePageFull{min-height:100vh;background:linear-gradient(180deg,#f8fcfb,#eff7f4)}.profile-container{display:flex;padding:112px 24px 24px 328px;gap:24px;min-height:100vh;align-items:flex-start}.profile-main{flex:1;background:linear-gradient(180deg,#fffffffa,#f7fdfbfa);border:1px solid rgba(0,167,126,.12);border-radius:24px;box-shadow:0 18px 36px #0f172a14;padding:28px;overflow-y:auto;min-height:calc(100vh - 136px)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(15,23,42,.08)}.profile-header h1{font-size:28px;font-weight:700;color:var(--dark);margin:0}.profile-card{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:24px;border-radius:22px;background:#ffffffdb;border:1px solid rgba(0,167,126,.1)}.security-card{max-width:640px;margin:0 auto;border:1px solid rgba(0,167,126,.1);border-radius:22px;padding:24px;background:#ffffffe6;box-shadow:0 14px 28px #0f172a0f}.security-card h3{font-size:20px;margin-bottom:25px;color:var(--dark);border-bottom:2px solid var(--primary);padding-bottom:12px}.profile-avatar-section{text-align:center}.avatar-container{position:relative;width:160px;height:160px;margin:0 auto 20px;border-radius:50%;overflow:hidden;border:4px solid white;box-shadow:var(--box-shadow)}.avatar{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.avatar-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.avatar-container:hover .avatar-overlay{opacity:1}.avatar-input{display:none}.btn-avatar{background:var(--primary);color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-size:18px;transition:var(--transition)}.btn-avatar:hover{background:var(--secondary);transform:scale(1.1)}.camera-icon-button{background:var(--primary);color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-size:18px;transition:var(--transition)}.camera-icon-button:hover{background:var(--secondary);transform:scale(1.1)}.camera-icon-button svg{width:20px;height:20px}.btn-remove-image{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:8px 16px;border-radius:20px;cursor:pointer;font-size:14px;transition:var(--transition)}.btn-remove-image:hover{background:var(--danger);color:#fff}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-field{background:linear-gradient(180deg,#00a77e0a,#fffffff0);padding:16px;border-radius:16px;border:1px solid rgba(0,167,126,.08);border-left:4px solid var(--primary)}.info-label{display:block;font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.info-value{font-size:16px;color:var(--dark);font-weight:500}.info-value.multiline{white-space:pre-wrap;line-height:1.5}.btn-edit{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px;transition:var(--transition)}.btn-edit:hover{background:var(--secondary);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px;transition:var(--transition)}.btn-primary:hover:not(:disabled){background:var(--secondary);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--dark);border:2px solid var(--light-gray);padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px;transition:var(--transition)}.btn-secondary:hover{border-color:var(--gray)}.password-form{display:flex;flex-direction:column;gap:20px;border:1px solid rgba(0,167,126,.1);border-radius:18px;padding:20px;background:linear-gradient(180deg,#00a77e0a,#fffffff0)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark)}.form-input{width:100%;padding:12px 16px;border:1px solid rgba(15,23,42,.1);border-radius:14px;font-size:16px;transition:var(--transition);background:#fffffff0}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00a77e1a}.password-input-group{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;font-size:18px;color:var(--gray)}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}.alert{padding:16px;border-radius:8px;margin-bottom:24px;font-weight:500}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#090;border:1px solid #cfc}.modal-avatar-section{text-align:center;margin-bottom:24px}.modal-avatar-container{position:relative;width:120px;height:120px;margin:0 auto 16px;border-radius:50%;overflow:hidden;border:4px solid white;box-shadow:var(--box-shadow)}.modal-avatar{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.modal-avatar-overlay{position:absolute;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;opacity:1;transition:var(--transition)}.modal-avatar-clickable{position:relative;display:block;cursor:pointer;border-radius:50%;overflow:hidden}.camera-icon-overlay{position:absolute;bottom:8px;right:8px;background:#fff;color:var(--primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--primary);box-shadow:0 2px 6px #00000026;transition:var(--transition)}.camera-icon-overlay:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.camera-icon-overlay svg{width:16px;height:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:linear-gradient(180deg,#fffffffa,#f7fdfbfa);border-radius:24px;box-shadow:0 24px 48px #0f172a2e;border:1px solid rgba(0,167,126,.12);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(15,23,42,.08)}.modal-header h3{margin:0;font-size:20px}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--gray);transition:var(--transition)}.btn-close:hover{color:var(--dark)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid rgba(15,23,42,.08)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.spinner{width:50px;height:50px;border:4px solid var(--light-gray);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.profile-container{flex-direction:column;padding-left:24px}.profile-card{grid-template-columns:1fr;text-align:center}}@media(max-width:768px){.profile-container{padding:100px 16px 20px}.profile-main{padding:20px;min-height:auto}.profile-header{flex-direction:column;gap:16px;text-align:center}.modal{width:95%;margin:10px}.profile-info-grid{grid-template-columns:1fr}}
