@import url("https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700;800&display=swap");:root{--primary:#7367f0;--primary-dark:#5e50ee;--heading:#2f2b3d;--body:#6d6b77;--muted:#a5a3ae;--border:#dedde3;--surface:#ffffff;--soft:#f8f7fa;--success:#28c76f}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Public Sans,Arial,sans-serif;color:var(--body);background:var(--surface)}button,input{font:inherit}a{color:var(--primary);text-decoration:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(430px,.85fr);position:relative;overflow:hidden}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--heading)}.brand-floating{position:absolute;z-index:5;top:30px;left:34px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:linear-gradient(135deg,#8b80f9,var(--primary-dark));color:white;font-weight:800;font-size:15px;box-shadow:0 10px 24px rgba(115,103,240,.28)}.brand strong{display:block;font-size:22px;letter-spacing:-.6px;line-height:1.05}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1.15px;text-transform:uppercase;margin-top:4px}.mobile-brand{display:none}.auth-visual{min-height:100vh;position:relative;display:flex;align-items:center;padding:120px 7% 70px;overflow:hidden;background:linear-gradient(145deg,#f6f5ff,#eeecff 54%,#f8f7ff)}.visual-copy{position:relative;z-index:2;width:46%;max-width:520px;margin-top:-80px}.visual-label{display:inline-block;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:18px}.visual-copy h1{margin:0;color:var(--heading);font-size:clamp(38px,4vw,64px);line-height:1.06;letter-spacing:-2.6px}.visual-copy p{max-width:465px;font-size:16px;line-height:1.75;margin:23px 0 0;color:#77738b}.illustration-stage{position:absolute;z-index:2;right:-1%;bottom:3%;width:56%;max-width:690px}.illustration-stage img{display:block;width:100%;height:auto;filter:drop-shadow(0 28px 40px rgba(47,43,61,.13))}.metric-card{position:absolute;z-index:3;padding:15px 18px;width:185px;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:rgba(255,255,255,.88);box-shadow:0 16px 40px rgba(47,43,61,.13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-card small,.metric-card span{display:block;font-size:10px;color:var(--muted)}.metric-card strong{display:block;color:var(--heading);font-size:25px;margin:5px 0 3px}.metric-card small{color:var(--success)}.metric-top{top:18%;left:0}.metric-bottom{bottom:9%;right:1%}.visual-footer{position:absolute;left:7%;bottom:28px;margin:0;font-size:11px;color:#a3a0b2}.visual-orb{position:absolute;border-radius:999px;filter:blur(2px)}.visual-orb-one{width:420px;height:420px;right:4%;top:14%;background:rgba(115,103,240,.08)}.visual-orb-two{width:220px;height:220px;left:-80px;bottom:2%;background:rgba(0,207,232,.07)}.auth-panel{min-height:100vh;display:grid;align-items:center;padding:60px clamp(38px,5vw,82px);background:var(--surface);box-shadow:-20px 0 55px rgba(47,43,61,.04);z-index:3}.login-wrap{width:100%;max-width:410px;margin:0 auto}.login-heading{margin-bottom:34px}.secure-label{display:inline-block;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:1.3px;margin-bottom:11px}.login-heading h2{color:var(--heading);margin:0;font-size:31px;line-height:1.2;letter-spacing:-.8px}.login-heading p{margin:10px 0 0;line-height:1.6;font-size:14px}.login-form{display:grid;grid-gap:20px;gap:20px}.field label{display:block;color:var(--heading);font-size:13px;font-weight:600;margin-bottom:8px}.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-label-row a{font-size:12px;font-weight:600}.input-wrap{height:50px;display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:8px;padding:0 14px;color:var(--muted);transition:border .2s,box-shadow .2s}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(115,103,240,.12);color:var(--primary)}.input-wrap input{min-width:0;flex:1 1;height:100%;border:0;outline:0;color:var(--heading);background:transparent;font-size:14px}.input-wrap input::placeholder{color:#b4b2bc}.password-toggle{display:grid;place-items:center;border:0;padding:3px;color:var(--muted);background:none;cursor:pointer}.remember{display:flex;align-items:center;gap:9px;color:var(--body);font-size:13px;cursor:pointer;margin-top:-3px}.remember input{width:17px;height:17px;accent-color:var(--primary)}.login-button{height:49px;border:0;border-radius:8px;color:white;background:linear-gradient(135deg,#8378f5,var(--primary-dark));font-weight:700;font-size:14px;box-shadow:0 9px 20px rgba(115,103,240,.32);cursor:pointer;display:flex;justify-content:center;align-items:center;gap:9px;transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(115,103,240,.38)}.login-button:disabled{cursor:wait;opacity:.8}.form-error{margin:-7px 0 -4px;color:#ea5455;font-size:12px}.demo-hint{margin:-7px 0 0;padding:10px 12px;text-align:center;font-size:11px;color:#77738b;background:var(--soft);border-radius:7px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.security-note{display:flex;gap:11px;align-items:center;margin-top:30px;padding-top:23px;border-top:1px solid #ebeaf0}.security-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;color:var(--success);background:rgba(40,199,111,.12);font-weight:800}.security-note p{margin:0;font-size:11px;line-height:1.55;color:var(--muted)}.security-note strong{color:#74717f}.support-copy{text-align:center;font-size:12px;color:var(--muted);margin:24px 0 0}.support-copy a{font-weight:600}.dashboard-loading,.dashboard-placeholder{min-height:100vh;display:grid;place-items:center;background:var(--soft)}.dashboard-card{width:min(92%,520px);text-align:center;background:white;border-radius:18px;padding:48px;box-shadow:0 20px 60px rgba(47,43,61,.1)}.dashboard-card .brand-mark{margin:0 auto 22px}.dashboard-card h1{color:var(--heading);margin:0 0 10px}.dashboard-card p{line-height:1.6}.dashboard-card button{margin-top:16px;border:0;border-radius:8px;padding:12px 25px;color:white;background:var(--primary);cursor:pointer}@media (max-width:1180px){.auth-shell{grid-template-columns:1fr 470px}.visual-copy{width:53%}.illustration-stage{opacity:.62;right:-10%}.metric-card{display:none}}@media (max-width:860px){.auth-shell{display:block}.auth-visual,.brand-floating{display:none}.auth-panel{padding:34px 24px}.mobile-brand{display:inline-flex;margin-bottom:65px}.login-wrap{max-width:430px}}@media (max-width:480px){.auth-panel{align-items:start}.mobile-brand{margin-bottom:48px}.login-heading h2{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-frame{--side:240px;min-height:100vh;background:#f4f7fb}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:30;display:flex;flex-direction:column;background:#101f3d;color:#fff;transition:.25s;box-shadow:8px 0 28px rgba(16,31,61,.12)}.app-logo{height:70px;display:flex;align-items:center;gap:11px;padding:0 17px;border-bottom:1px solid rgba(255,255,255,.08)}.app-logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#5a9bff,#3168db);font-size:13px;font-weight:800;box-shadow:0 8px 18px rgba(49,104,219,.32)}.app-logo-copy strong{display:block;font-size:18px;letter-spacing:-.4px}.app-logo-copy small{display:block;margin-top:2px;color:#7f91b2;font-size:7px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;white-space:nowrap}.sidebar-user{margin:12px 10px 6px;padding:10px;border:0;border-radius:10px;display:flex;align-items:center;gap:9px;color:#fff;background:rgba(255,255,255,.055);text-align:left}.header-avatar,.sidebar-avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#4f8ef7,#7c3aed);font-size:11px;font-weight:800}.sidebar-user-copy{min-width:0;flex:1 1}.sidebar-user-copy strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy small{display:block;margin-top:3px;color:#8294b7;font-size:9px;text-transform:capitalize}.dynamic-nav{flex:1 1;overflow-y:auto;padding:3px 8px 15px;scrollbar-width:thin;scrollbar-color:#344362 transparent}.nav-group{padding-top:9px}.nav-group>p{margin:0;padding:5px 9px;color:#61769d;font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.dynamic-nav-item{position:relative;display:flex;align-items:center;gap:10px;min-height:37px;padding:0 10px;border-radius:7px;color:#9babca;font-size:11px;font-weight:500;transition:.15s}.dynamic-nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}.dynamic-nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(79,142,247,.28),rgba(79,142,247,.08))}.dynamic-nav-item.active:before{content:"";position:absolute;left:-8px;width:3px;height:20px;border-radius:0 4px 4px 0;background:#4f8ef7}.dynamic-nav-item span{flex:1 1}.menu-badge{margin:0;font-style:normal;font-size:8px;font-weight:800;line-height:17px;min-width:17px;text-align:center;border-radius:8px;color:#fff;background:#4f8ef7}.menu-badge.danger{background:#ea5455}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:13px 18px;border:0;border-top:1px solid rgba(255,255,255,.07);color:#8fa0bf;background:transparent;font-size:11px;cursor:pointer}.sidebar-logout:hover{color:#fff}.app-main{min-height:100vh;margin-left:var(--side);transition:.25s}.app-header{height:70px;position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5eaf1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-left,.header-tools{display:flex;align-items:center;gap:14px}.header-left button{border:0;background:transparent;color:#71809a;cursor:pointer}.header-left h1{margin:0;color:#1d2942;font-size:16px}.header-left p{margin:3px 0 0;color:#9aa5b7;font-size:9px}.mobile-close,.mobile-menu{display:none}.header-search{width:235px;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #e1e6ed;border-radius:9px;color:#9aa5b7;background:#f8fafc}.header-search input{width:100%;border:0;outline:0;background:transparent;font-size:10px}.header-icon{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid #e2e7ed;border-radius:9px;color:#64738c;background:#fff}.header-icon i{position:absolute;right:-3px;top:-4px;width:15px;height:15px;border:2px solid #fff;border-radius:50%;background:#ea5455;color:#fff;font:700 7px/11px Arial}.app-content{padding:24px}.welcome-strip{display:flex;align-items:center;justify-content:space-between;padding:24px 27px;border-radius:14px;color:#fff;background:linear-gradient(110deg,#172c53,#254a85);box-shadow:0 12px 30px rgba(23,44,83,.16)}.welcome-strip p{margin:0 0 7px;color:#9fb8df;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.welcome-strip h2{margin:0;font-size:20px}.welcome-strip span{display:block;margin-top:7px;color:#bdcae0;font-size:11px}.card-heading button,.welcome-strip button{display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;background:rgba(255,255,255,.09);font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;margin-top:18px}.stat-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #e4e9f0;border-radius:12px;background:#fff}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px}.stat-icon.blue{color:#4f8ef7;background:#eaf2ff}.stat-icon.green{color:#28c76f;background:#e9f9f0}.stat-icon.orange{color:#ff9f43;background:#fff3e7}.stat-icon.purple{color:#7367f0;background:#efedff}.stat-card p{margin:0;color:#7e8a9f;font-size:9px}.stat-card strong{display:block;margin:3px 0;color:#1f2a40;font-size:21px}.stat-card span{font-size:8px;color:#9aa5b7}.dashboard-columns{display:grid;grid-template-columns:1fr 1.15fr;grid-gap:17px;gap:17px;margin-top:18px}.content-card{min-height:310px;padding:20px;border:1px solid #e4e9f0;border-radius:12px;background:#fff}.card-heading{display:flex;justify-content:space-between}.card-heading h3{margin:0;color:#253149;font-size:13px}.card-heading p{margin:4px 0 0;color:#9aa5b7;font-size:9px}.card-heading button{border-color:#dde3eb;color:#61708a;background:#fff}.attendance-ring{width:142px;height:142px;margin:25px auto 18px;padding:12px;border-radius:50%;background:conic-gradient(#4f8ef7 0 94.6%,#eaf0f7 94.6%)}.attendance-ring>div{height:100%;display:grid;place-content:center;text-align:center;border-radius:50%;background:#fff}.attendance-ring strong{color:#23304a;font-size:25px}.attendance-ring span{font-size:8px;color:#9ba6b8}.legend-list{display:flex;justify-content:center;gap:18px;font-size:9px}.legend-list span{display:flex;align-items:center;gap:5px;color:#8490a4}.legend-list i{width:7px;height:7px;border-radius:50%}.legend-list i.green{background:#28c76f}.legend-list i.orange{background:#ff9f43}.legend-list i.red{background:#ea5455}.approval-list{margin-top:15px}.approval-list>div{display:flex;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid #edf0f4}.approval-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#3d6fc6;background:#eaf2ff;font-size:9px;font-weight:800}.approval-list p{flex:1 1;margin:0}.approval-list small,.approval-list strong{display:block;font-size:9px}.approval-list strong{color:#364157}.approval-list small{margin-top:3px;color:#9aa5b7}.approval-list em{padding:4px 7px;border-radius:7px;color:#ff8b24;background:#fff2e7;font-size:8px;font-style:normal}.module-placeholder{min-height:calc(100vh - 118px)}.module-hero{padding:25px 28px;border-radius:14px;color:#fff;background:linear-gradient(120deg,#15294d,#285493)}.module-hero span{font-size:8px;font-weight:800;letter-spacing:1px;color:#91b5ed}.module-hero h2{margin:8px 0 5px;font-size:22px}.module-hero p{margin:0;color:#c1cde0;font-size:11px}.module-workspace{display:grid;place-items:center;text-align:center;margin-top:18px;min-height:340px;padding:40px;border:1px solid #e3e8ef;border-radius:13px;background:#fff}.workspace-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#4f8ef7,#7367f0);font-weight:800}.module-workspace h3{margin:15px 0 7px;color:#28344b}.module-workspace p{max-width:490px;margin:0;font-size:11px;line-height:1.7}.is-collapsed{--side:70px}.is-collapsed .app-logo-copy,.is-collapsed .dynamic-nav-item span,.is-collapsed .menu-badge,.is-collapsed .nav-group>p,.is-collapsed .sidebar-logout span,.is-collapsed .sidebar-user-copy,.is-collapsed .sidebar-user>svg{display:none}.is-collapsed .app-logo,.is-collapsed .dynamic-nav-item,.is-collapsed .sidebar-logout,.is-collapsed .sidebar-user{justify-content:center}.is-collapsed .app-logo{padding:0}.sidebar-scrim{display:none}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.header-search{display:none}}@media(max-width:720px){.app-frame{--side:0}.app-sidebar{width:245px;transform:translateX(-100%)}.app-sidebar.mobile-open{transform:none}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:25;border:0;background:rgba(7,17,35,.5)}.app-main{margin-left:0}.desktop-collapse{display:none}.mobile-close,.mobile-menu{display:grid}.mobile-close{margin-left:auto;border:0;color:#fff;background:transparent}.app-header{padding:0 14px}.app-content{padding:14px}.header-tools{gap:8px}.welcome-strip{align-items:flex-start;gap:18px}.welcome-strip button{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:13px;gap:9px}.stat-icon{width:35px;height:35px}.stat-card strong{font-size:17px}.dashboard-columns{gap:10px}}@media(max-width:460px){.stats-grid{grid-template-columns:1fr}.welcome-strip h2{font-size:17px}.header-left p{display:none}}.vuexy-shell{--side:260px;--vx-primary:#7367f0;--vx-text:#2f2b3d;--vx-muted:#6d6b77;--vx-paper:#fff;--vx-bg:#f8f7fa;--vx-divider:#e6e6e8;--vx-shadow:0 2px 8px rgba(47,43,61,.12);background:var(--vx-bg);color:var(--vx-muted)}.vuexy-shell .app-sidebar{width:var(--side);background:var(--vx-paper);color:var(--vx-text);box-shadow:var(--vx-shadow)}.vuexy-brand{height:74px;border:0;padding:0 22px}.vuexy-logo-mark{position:relative;width:34px;height:28px;border-radius:0;background:none;box-shadow:none}.vuexy-logo-mark i{position:absolute;inset:2px auto 2px 0;width:20px;background:var(--vx-primary);-webkit-clip-path:polygon(0 0,100% 0,70% 100%,0 100%);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}.vuexy-logo-mark i+i{inset:2px 0 2px auto;-webkit-clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);opacity:.72}.vuexy-brand .app-logo-copy strong{font-size:22px;font-weight:700;letter-spacing:-.7px}.vuexy-brand .app-logo-copy small{display:none}.nav-pin{margin-left:auto;width:18px;height:18px;padding:0;border:2px solid var(--vx-primary)!important;border-radius:50%;display:grid;place-items:center}.nav-pin span{width:6px;height:6px;border-radius:50%;background:var(--vx-primary)}.vuexy-shell .dynamic-nav{padding:2px 14px 18px;scrollbar-color:#c7c4cf transparent}.vuexy-shell .nav-group{padding-top:12px}.vuexy-shell .nav-group>p{padding:7px 10px;color:#a5a3ae;font-size:10px;letter-spacing:.55px}.vuexy-shell .dynamic-nav-item{min-height:40px;margin-top:5px;padding:0 12px;border-radius:6px;color:#5d596c;font-size:13px;font-weight:400}.vuexy-shell .dynamic-nav-item:hover{color:var(--vx-text);background:rgba(47,43,61,.06)}.vuexy-shell .dynamic-nav-item.active{color:#fff;background:linear-gradient(270deg,rgba(115,103,240,.7),#7367f0);box-shadow:0 2px 6px rgba(115,103,240,.3)}.vuexy-shell .dynamic-nav-item.active:before{display:none}.vuexy-shell .menu-badge{background:#7367f0}.vuexy-shell .menu-badge.danger{background:#ff4c51}.sidebar-version{padding:13px 22px;border-top:1px solid var(--vx-divider)}.sidebar-version small,.sidebar-version span{display:block}.sidebar-version span{color:var(--vx-text);font-size:11px;font-weight:600}.sidebar-version small{margin-top:2px;color:#a5a3ae;font-size:9px}.vuexy-shell .app-main{margin-left:var(--side);padding:16px 24px 0}.vuexy-shell .app-header{height:64px;top:16px;max-width:1440px;margin:0 auto;padding:0 18px;border:0;border-radius:6px;background:rgba(255,255,255,.94);box-shadow:var(--vx-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vuexy-shell .header-search{width:310px;border:0;background:transparent;padding:0;color:#6d6b77}.vuexy-shell .header-search input{font-size:14px}.vuexy-shell .header-icon{border:0;background:transparent;color:#444050}.vuexy-shell .header-icon:hover{background:rgba(47,43,61,.06)}.theme-toggle{cursor:pointer}.header-user-button{display:flex;align-items:center;border:0;background:transparent;cursor:pointer;position:relative}.header-user-button b{position:absolute;right:3px;bottom:1px;width:9px;height:9px;border:2px solid var(--vx-paper);border-radius:50%;background:#28c76f}.vuexy-shell .header-avatar{width:38px;height:38px;flex-basis:38px;border-radius:50%;background:linear-gradient(135deg,#8f85f4,#7367f0)}.vuexy-popover-wrap{position:relative}.vuexy-dropdown{position:absolute;right:0;top:50px;z-index:80;width:260px;padding:8px;border-radius:6px;background:var(--vx-paper);box-shadow:0 5px 25px rgba(47,43,61,.18);border:1px solid rgba(47,43,61,.08)}.notification-dropdown{width:360px;padding:0}.dropdown-title{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--vx-divider)}.dropdown-title strong{color:var(--vx-text);font-size:15px}.dropdown-title span{padding:3px 8px;border-radius:10px;color:var(--vx-primary);background:rgba(115,103,240,.12);font-size:10px;font-weight:600}.notice-row{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--vx-divider)}.notice-row>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--vx-primary);background:rgba(115,103,240,.12);font-size:10px;font-weight:700}.notice-row p{flex:1 1;margin:0}.notice-row small,.notice-row strong{display:block}.notice-row strong{color:var(--vx-text);font-size:11px;font-weight:500}.notice-row small{margin-top:3px;color:#a5a3ae;font-size:9px}.notice-row i{width:7px;height:7px;border-radius:50%;background:var(--vx-primary)}.dropdown-action{width:calc(100% - 24px);margin:12px;padding:9px;border:0;border-radius:5px;color:#fff;background:var(--vx-primary);font-size:11px}.dropdown-user{display:flex;align-items:center;gap:10px;padding:8px}.dropdown-user p{margin:0}.dropdown-user small,.dropdown-user strong{display:block}.dropdown-user strong{color:var(--vx-text);font-size:12px}.dropdown-user small{margin-top:3px;text-transform:capitalize;font-size:10px}.dropdown-divider{height:1px;margin:6px -8px;background:var(--vx-divider)}.user-dropdown>a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:5px;color:var(--vx-muted);font-size:11px}.user-dropdown>a:hover{background:rgba(47,43,61,.06)}.logout-action{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;border:0;border-radius:5px;color:#fff;background:#ff4c51;font-size:11px}.page-context{max-width:1440px;margin:36px auto 0}.page-context h1{margin:0;color:var(--vx-text);font-size:20px;font-weight:600}.page-context p{margin:5px 0 0;color:#a5a3ae;font-size:11px}.vuexy-shell .app-content{max-width:1440px;margin:0 auto;padding:18px 0 24px}.vuexy-footer{max-width:1440px;margin:0 auto;padding:16px 0 20px;display:flex;justify-content:space-between;color:#a5a3ae;font-size:10px}.vuexy-footer a,.vuexy-footer strong{color:var(--vx-primary)}.vuexy-footer div{display:flex;gap:18px}.vuexy-shell .welcome-strip{color:var(--vx-text);background:var(--vx-paper);border:0;box-shadow:var(--vx-shadow)}.vuexy-shell .welcome-strip p{color:var(--vx-primary)}.vuexy-shell .welcome-strip span{color:var(--vx-muted)}.vuexy-shell .welcome-strip button{color:#fff;border:0;background:var(--vx-primary)}.vuexy-shell .content-card,.vuexy-shell .module-workspace,.vuexy-shell .stat-card{border:0;border-radius:6px;box-shadow:var(--vx-shadow)}.vuexy-shell .module-hero{border-radius:6px;background:linear-gradient(135deg,#7367f0,#9e95f5)}.vuexy-dark{--vx-text:#e7e3fc;--vx-muted:#b0acc4;--vx-paper:#2f3349;--vx-bg:#25293c;--vx-divider:#44485f;--vx-shadow:0 2px 8px rgba(0,0,0,.28)}.vuexy-dark .content-card,.vuexy-dark .module-workspace,.vuexy-dark .stat-card{background:var(--vx-paper)}.vuexy-dark .card-heading h3,.vuexy-dark .module-workspace h3,.vuexy-dark .stat-card strong{color:var(--vx-text)}.vuexy-dark .attendance-ring>div{background:var(--vx-paper)}.vuexy-dark .app-header{background:rgba(47,51,73,.94)}.vuexy-dark .header-search input{color:var(--vx-text)}.is-collapsed.vuexy-shell{--side:82px}.is-collapsed .vuexy-brand{justify-content:center;padding:0}.is-collapsed .nav-pin{display:none}@media(max-width:720px){.vuexy-shell{--side:0}.vuexy-shell .app-main{margin-left:0;padding:10px 14px 0}.vuexy-shell .app-sidebar{width:260px}.vuexy-shell .app-header{top:10px}.vuexy-shell .header-search{width:160px}.vuexy-footer div{display:none}.notification-dropdown{right:-55px;width:320px}.page-context{margin-top:28px}}.foundation-tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.foundation-tabs button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 12px;border:1px solid var(--vx-divider);border-radius:6px;color:var(--vx-muted);background:var(--vx-paper);font-size:11px;cursor:pointer}.foundation-tabs button.active{border-color:var(--vx-primary);color:#fff;background:var(--vx-primary);box-shadow:0 2px 6px rgba(115,103,240,.28)}.foundation-card{border-radius:6px;background:var(--vx-paper);box-shadow:var(--vx-shadow);overflow:hidden}.foundation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--vx-divider)}.foundation-toolbar h2{margin:0;color:var(--vx-text);font-size:17px}.foundation-toolbar p{margin:5px 0 0;color:#a5a3ae;font-size:10px}.foundation-actions{display:flex;align-items:center;gap:9px}.foundation-actions label{height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--vx-divider);border-radius:5px}.foundation-actions input{width:180px;border:0;outline:0;color:var(--vx-text);background:transparent;font-size:11px}.foundation-actions>button,.foundation-modal-actions button:last-child{display:flex;align-items:center;gap:6px;height:36px;padding:0 13px;border:0;border-radius:5px;color:#fff;background:var(--vx-primary);font-size:11px;cursor:pointer}.foundation-table-wrap{overflow:auto}.foundation-table{width:100%;border-collapse:collapse;font-size:11px}.foundation-table th{padding:11px 16px;text-align:left;color:#a5a3ae;background:rgba(47,43,61,.025);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.foundation-table td{padding:13px 16px;border-top:1px solid var(--vx-divider);color:var(--vx-muted)}.foundation-table tbody tr:hover{background:rgba(115,103,240,.035)}.status-pill{display:inline-block;padding:4px 8px;border-radius:12px;color:#28c76f;background:rgba(40,199,111,.12);font-size:9px;text-transform:capitalize}.foundation-error{margin:12px 20px;padding:9px 11px;border-radius:5px;color:#ea5455;background:rgba(234,84,85,.1);font-size:11px}.foundation-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(20,18,30,.55)}.foundation-modal{width:min(94vw,520px);max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;padding:22px;border-radius:8px;background:var(--vx-paper);box-shadow:0 20px 70px rgba(0,0,0,.3)}.foundation-modal label:has(textarea),.foundation-modal-actions,.foundation-modal>div:first-child{grid-column:1/-1}.foundation-modal h3{margin:0;color:var(--vx-text);font-size:17px}.foundation-modal p{margin:5px 0 3px;font-size:10px}.foundation-modal label{display:grid;grid-gap:6px;gap:6px;color:var(--vx-text);font-size:10px;font-weight:600}.foundation-modal input,.foundation-modal select,.foundation-modal textarea{width:100%;padding:9px 10px;border:1px solid var(--vx-divider);border-radius:5px;outline:0;color:var(--vx-text);background:var(--vx-paper);font:inherit}.foundation-modal input:focus,.foundation-modal select:focus,.foundation-modal textarea:focus{border-color:var(--vx-primary);box-shadow:0 0 0 2px rgba(115,103,240,.12)}.foundation-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.foundation-modal-actions button{height:36px;padding:0 14px;border:1px solid var(--vx-divider);border-radius:5px;color:var(--vx-muted);background:transparent;font-size:11px;cursor:pointer}@media(max-width:760px){.foundation-actions,.foundation-toolbar{align-items:stretch;flex-direction:column}.foundation-actions input,.foundation-actions label{width:100%}.foundation-actions>button{justify-content:center}.foundation-modal{grid-template-columns:1fr}.foundation-modal>label{grid-column:1}.foundation-table{min-width:720px}}.database-card{margin-top:16px}.empty-database{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#a5a3ae}.empty-database strong{color:var(--vx-text);font-size:12px}.empty-database span{font-size:10px}.employee-identity{display:flex;align-items:center;gap:13px}.employee-avatar,.employee-identity img{width:48px;height:48px;border-radius:50%;object-fit:cover}.employee-avatar{display:grid;place-items:center;color:#fff;background:var(--vx-primary);font-size:20px;font-weight:700}.photo-upload{display:flex;align-items:flex-end;gap:10px;margin-top:18px;padding:14px;border:1px dashed var(--vx-divider);border-radius:6px}.photo-upload label{display:grid;grid-gap:7px;gap:7px;color:var(--vx-text);font-size:10px}.photo-upload button{padding:9px 13px;border:0;border-radius:5px;color:#fff;background:var(--vx-primary);cursor:pointer}.ess-page{display:grid;grid-gap:16px;gap:16px}.ess-hero{display:flex;justify-content:space-between;align-items:center;padding:24px;border-radius:9px;color:#fff;background:linear-gradient(125deg,#7367f0,#4b45b2)}.ess-hero span{font-size:9px;letter-spacing:1px}.ess-hero h2{margin:7px 0 4px}.ess-hero p{margin:0;color:rgba(255,255,255,.72);font-size:11px}.ess-hero>div:last-child{text-align:center}.ess-hero>div:last-child b,.ess-hero>div:last-child small{display:block}.ess-hero>div:last-child b{font-size:30px}.ess-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.ess-summary>div{padding:14px;border-radius:7px;background:var(--vx-paper);box-shadow:var(--vx-shadow)}.ess-summary small,.ess-summary strong{display:block}.ess-summary small{color:#a5a3ae;font-size:9px}.ess-summary strong{margin-top:6px;color:var(--vx-text);font-size:12px}.ess-services{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:9px;gap:9px}.ess-services button{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid var(--vx-divider);border-radius:7px;text-align:left;color:var(--vx-muted);background:var(--vx-paper);cursor:pointer}.ess-services button.active{border-color:var(--vx-primary);color:var(--vx-primary);background:rgba(115,103,240,.06)}.ess-services b{font-size:9px}.ess-panel{min-height:260px}.ess-form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px;padding:20px}.ess-form label{display:grid;grid-gap:6px;gap:6px;color:var(--vx-text);font-size:10px;font-weight:600}.ess-form input,.ess-form select,.ess-form textarea{padding:9px;border:1px solid var(--vx-divider);border-radius:5px;color:var(--vx-text);background:var(--vx-paper)}.ess-form .wide{grid-column:1/-1}.ess-form button{grid-column:1/-1;justify-self:end;padding:9px 14px;border:0;border-radius:5px;color:#fff;background:var(--vx-primary)}.ess-rows{padding:14px 20px}.ess-rows>div{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px;padding:11px 0;border-bottom:1px solid var(--vx-divider)}.ess-rows span b,.ess-rows span small{display:block}.ess-rows span small{color:#a5a3ae;font-size:8px;text-transform:capitalize}.ess-rows span b{margin-top:3px;color:var(--vx-text);font-size:9px}@media(max-width:900px){.ess-services,.ess-summary{grid-template-columns:repeat(2,1fr)}.ess-form{grid-template-columns:1fr}.ess-form .wide{grid-column:1}.ess-rows>div{grid-template-columns:repeat(2,1fr)}}.row-actions{display:flex;gap:5px}.row-actions button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--vx-divider);border-radius:5px;color:var(--vx-primary);background:transparent;cursor:pointer}.row-actions button.danger{color:#ea5455}.employee-detail-backdrop{position:fixed;inset:0;z-index:100;background:rgba(20,18,30,.6);padding:24px;overflow:auto}.employee-detail{width:min(1100px,96vw);min-height:80vh;margin:auto;border-radius:8px;background:var(--vx-paper);box-shadow:0 20px 70px rgba(0,0,0,.3)}.employee-detail header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--vx-divider)}.employee-detail h2{margin:0;color:var(--vx-text)}.employee-detail header p{margin:5px 0 0;font-size:11px}.employee-detail header button{border:0;background:transparent;color:var(--vx-muted);cursor:pointer}.employee-detail nav{display:flex;gap:3px;padding:0 20px;border-bottom:1px solid var(--vx-divider);overflow:auto}.employee-detail nav button{padding:14px 13px;border:0;border-bottom:2px solid transparent;color:var(--vx-muted);background:transparent;white-space:nowrap;cursor:pointer;font-size:11px}.employee-detail nav button.active{border-color:var(--vx-primary);color:var(--vx-primary)}.employee-tab{padding:22px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.detail-grid>div{padding:13px;border:1px solid var(--vx-divider);border-radius:6px}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:#a5a3ae;font-size:9px;text-transform:uppercase}.detail-grid strong{margin-top:5px;color:var(--vx-text);font-size:11px}.detail-list{margin-top:20px}.detail-list h3{color:var(--vx-text);font-size:13px}.detail-list>div{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;padding:12px;border-top:1px solid var(--vx-divider)}.detail-list small,.detail-list span{display:block}.detail-list small{color:#a5a3ae;text-transform:capitalize;font-size:8px}.detail-list span{color:var(--vx-text);font-size:10px}.detail-list p{padding:18px;border-radius:6px;background:rgba(47,43,61,.03);font-size:10px}.foundation-modal>input[type=hidden]{display:none}@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-list>div{grid-template-columns:1fr 1fr}.employee-detail-backdrop{padding:8px}}.tab-action-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.tab-action-bar span,.tab-action-bar strong{display:block}.tab-action-bar strong{color:var(--vx-text);font-size:13px}.tab-action-bar span{margin-top:3px;color:#a5a3ae;font-size:9px}.tab-action-bar button,.tab-save button{display:flex;align-items:center;gap:6px;padding:8px 13px;border:0;border-radius:5px;color:#fff;background:var(--vx-primary);font-size:10px;cursor:pointer}.tab-edit-form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px}.tab-edit-form label{display:grid;grid-gap:6px;gap:6px;color:var(--vx-text);font-size:10px;font-weight:600}.tab-edit-form input,.tab-edit-form select,.tab-edit-form textarea{width:100%;padding:9px;border:1px solid var(--vx-divider);border-radius:5px;color:var(--vx-text);background:var(--vx-paper);font:inherit}.tab-edit-form .wide,.tab-edit-form h3{grid-column:1/-1}.tab-edit-form h3{margin:9px 0 0;padding-top:13px;border-top:1px solid var(--vx-divider);color:var(--vx-text);font-size:12px}.tab-edit-form .check-field{display:flex;align-items:center;grid-template-columns:auto 1fr}.tab-edit-form .check-field input{width:auto}.tab-save{display:flex;justify-content:flex-end;margin-top:5px}@media(max-width:760px){.tab-edit-form{grid-template-columns:1fr}.tab-edit-form .wide,.tab-edit-form h3{grid-column:1}}.document-requirements{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:9px;gap:9px}.document-requirements article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--vx-divider);border-radius:6px}.document-requirements span,.document-requirements strong{display:block}.document-requirements strong{color:var(--vx-text);font-size:11px}.document-requirements span{margin-top:3px;color:#a5a3ae;font-size:9px}.doc-status{display:inline-block;padding:4px 7px;border-radius:10px;font-size:8px;font-style:normal;white-space:nowrap}.doc-status.pending{color:#ff9f43;background:rgba(255,159,67,.13)}.doc-status.verified{color:#28c76f;background:rgba(40,199,111,.13)}.doc-status.rejected{color:#ea5455;background:rgba(234,84,85,.13)}.doc-status.missing{color:#6d6b77;background:rgba(109,107,119,.1)}.verify-actions{display:flex!important;gap:5px}.verify-actions button{padding:5px 7px;border:0;border-radius:4px;color:#fff;background:#28c76f;font-size:8px;cursor:pointer}.verify-actions button+button{background:#ea5455}.tab-edit-form label small{color:#a5a3ae;font-weight:400}@media(max-width:760px){.document-requirements{grid-template-columns:1fr}}.mock-time-page{display:grid;grid-gap:18px;gap:18px}.clock-message{padding:11px 14px;border-radius:7px;color:#7367f0;background:#7367f018;font-size:11px}.mock-clock{display:flex;align-items:center;gap:25px;padding:27px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#101f3d,#254a85)}.mock-clock>div:first-child{min-width:240px}.mock-clock>div>strong{font-size:42px}.mock-clock p{margin:4px 0 12px;color:#ffffff99;font-size:11px}.mock-clock>div>span{font-size:11px;color:#ffffffb3}.mock-clock>div>span i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#28c76f}.clock-facts{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;padding:0 24px;border-left:1px solid #ffffff22;border-right:1px solid #ffffff22}.clock-facts small,.clock-facts span,.clock-facts strong{display:block}.clock-facts span{font-size:9px;text-transform:uppercase;color:#ffffff80}.clock-facts strong{margin-top:4px;font-size:17px}.clock-facts small{font-size:9px;color:#ffffff80}.clock-buttons{display:grid;grid-gap:9px;gap:9px}.clock-buttons button{padding:11px 25px;border:0;border-radius:9px;color:#fff;background:#28c76f;font-weight:700;cursor:pointer}.clock-buttons button+button{border:1px solid #ffffff44;background:#ffffff18}.clock-buttons button:disabled{cursor:not-allowed;opacity:.42}.mock-two{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:18px;gap:18px}.mock-card{overflow:hidden;border-radius:7px;background:var(--vx-paper);box-shadow:var(--vx-shadow)}.mock-card header{display:flex;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--vx-divider);color:var(--vx-text);font-size:12px}.summary-six{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;padding:17px}.summary-six div{text-align:center;padding:12px;border-radius:9px;background:var(--vx-bg)}.summary-six span,.summary-six strong{display:block}.summary-six strong{font-size:19px}.summary-six .green{color:#28c76f}.summary-six .amber{color:#ff9f43}.summary-six .red{color:#ea5455}.summary-six .blue{color:#7367f0}.summary-six span{font-size:9px}.mock-card table{width:100%;border-collapse:collapse;font-size:10px}.mock-card td,.mock-card th{padding:11px 13px;border-bottom:1px solid var(--vx-divider)}.mock-card th{color:#a5a3ae;font-size:8px;text-transform:uppercase}.time-badge{padding:4px 7px;border-radius:9px;color:#28c76f;background:#28c76f20;font-size:8px;font-style:normal}.shift-top{display:flex;justify-content:space-between}.mock-tabs{display:flex;padding:4px;border-radius:9px;background:#ebe9ee}.mock-tabs button{padding:8px 13px;border:0;border-radius:7px;background:transparent}.mock-tabs button.active{background:#fff;box-shadow:0 1px 3px #0002}.assign-btn{padding:9px 13px;border:0;border-radius:6px;color:#fff;background:#7367f0}.roster-wrap{overflow:auto}.roster-wrap table{min-width:880px}.roster-wrap td:not(:first-child),.roster-wrap th:not(:first-child){text-align:center}.roster-wrap td b,.roster-wrap td small{display:block}.shift-chip{display:inline-block;padding:3px 8px;border-radius:6px;color:#7367f0;background:#eef3ff;font-size:9px;font-style:normal}.shift-chip.off{color:#a5a3ae;background:#f9fafb}@media(max-width:900px){.mock-clock{flex-direction:column;align-items:stretch}.mock-two{grid-template-columns:1fr}}