.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:var(--bg-main);overflow-x:hidden}.app-shell{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-main)}.app-content{flex:1;display:flex;flex-direction:column;width:100%}.splash-container{flex:1;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;background:linear-gradient(145deg,#0f172a,#1e3a8a,#2563eb);color:#fff;padding:48px 24px;text-align:center;position:relative;overflow:hidden}.splash-ambient-circle{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,#3b82f64d,#fff0 70%);top:20%;pointer-events:none}.splash-center{display:flex;flex-direction:column;align-items:center;margin:auto 0;z-index:2}.splash-logo-box{width:96px;height:96px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.25);border-radius:28px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 12px 30px #00000040}.splash-title{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px;color:#fff}.splash-subtitle{font-size:15px;font-weight:500;color:#ffffffd9;max-width:280px;line-height:1.4}.splash-footer{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2}.splash-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.splash-loading-text{font-size:13px;font-weight:500;color:#ffffffb3;letter-spacing:.5px}.login-screen-wrapper{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:#e2e8f0;padding:16px 12px;box-sizing:border-box}@media(max-width:480px){.login-screen-wrapper{padding:0;background-color:#fff;align-items:stretch}}.login-phone-frame{width:100%;max-width:470px;background-color:#fff;border-radius:22px;box-shadow:0 20px 40px -10px #0f172a38;display:flex;flex-direction:column;overflow:hidden;position:relative;margin:auto}@media(max-width:480px){.login-phone-frame{max-width:100%;min-height:100vh;border-radius:0;box-shadow:none;justify-content:space-between}}.login-top-hero{background:linear-gradient(145deg,#1e3a8a,#1d4ed8 55%,#2563eb);padding:26px 24px 34px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;position:relative}.hero-shield-box{width:52px;height:52px;background:#ffffff29;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.3);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;box-shadow:0 4px 12px #0000001f}.hero-app-title{font-size:21px;font-weight:800;letter-spacing:-.3px;margin-bottom:3px;color:#fff}.hero-app-subtitle{font-size:13.5px;font-weight:500;color:#ffffffd9;letter-spacing:.1px}.hero-wave-svg{position:absolute;bottom:0;left:0;right:0;height:20px;pointer-events:none}.login-card-container{padding:22px 28px 28px;display:flex;flex-direction:column}.login-role-switch-container{margin-bottom:14px}.login-role-switch{display:flex;background-color:#f1f5f9;border-radius:12px;padding:4px;gap:6px;border:1.5px solid #E2E8F0}.login-role-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:600;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:all .2s ease}.login-role-btn:hover{color:#1e293b}.login-role-btn.active{background-color:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb47}.login-header-group{margin-bottom:14px}.login-form-title{font-size:18.5px;font-weight:800;color:#0f172a;margin-bottom:2px}.login-form-sub{font-size:13px;color:#64748b;font-weight:500}.form-group-item{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.input-title-label{font-size:12px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.reference-input-box{display:flex;align-items:center;background-color:#fff;border:1.5px solid #E2E8F0;border-radius:11px;padding:0 14px;height:46px;transition:all .2s ease}.reference-input-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.reference-input-box.input-error{border-color:#dc2626;background-color:#fef2f2}.input-leading-icon{color:#94a3b8;margin-right:10px;flex-shrink:0}.clean-input{flex:1;border:none;background:transparent;outline:none;font-size:15px;font-weight:600;color:#0f172a}.field-error-msg{font-size:12px;color:#dc2626;font-weight:600;display:inline-flex;align-items:center;gap:4px;margin-top:1px}.reference-login-btn{width:100%;height:48px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;box-shadow:0 6px 14px #2563eb40;transition:all .2s ease}.reference-login-btn:hover{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);box-shadow:0 8px 18px #2563eb52;transform:translateY(-1px)}.login-bottom-illustration{margin-top:auto;padding:8px 16px 12px;display:flex;flex-direction:column;align-items:center;text-align:center}.illustration-graphic-badge{width:44px;height:44px;background-color:#eff6ff;border:1px solid #DBEAFE;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:4px;position:relative}.workforce-icon-bg{position:absolute;right:-4px;bottom:-3px;opacity:.75}.illustration-headline{font-size:12.5px;font-weight:700;color:#1e3a8a;margin-bottom:2px}.illustration-sub{font-size:11px;color:#94a3b8;font-weight:500}.desktop-layout-wrapper{display:none}@media(min-width:1024px){.desktop-layout-wrapper{display:flex;flex-direction:column;width:100%;min-height:100vh;background-color:#f8fafc}}.desktop-top-header{height:70px;background-color:#fff;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:100}.top-nav-left{display:flex;align-items:center;gap:14px}.top-nav-logo-box{width:42px;height:42px;background:#eff6ff;border:1px solid #DBEAFE;border-radius:12px;display:flex;align-items:center;justify-content:center}.top-nav-brand-text{display:flex;flex-direction:column}.top-brand-title{font-size:20px;font-weight:800;color:#0f172a;line-height:1.2}.top-brand-sub{font-size:13px;color:#64748b;font-weight:500}.top-nav-hamburger{display:none!important}.top-nav-right{display:flex;align-items:center;gap:20px}.top-nav-bell-wrapper{position:relative;cursor:pointer;padding:6px}.bell-red-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background-color:#ef4444;border-radius:50%;border:1.5px solid #FFFFFF}.top-nav-user-profile{display:flex;align-items:center;gap:12px}.user-avatar-circle{width:42px;height:42px;background-color:#1d4ed8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.user-avatar-circle.small{width:40px;height:40px;font-size:14px;border-radius:10px;background:linear-gradient(135deg,#1d4ed8,#2563eb);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px #2563eb33}.user-text-meta{display:flex;flex-direction:column}.user-display-name{font-size:15px;font-weight:700;color:#0f172a}.user-resource-id{font-size:13px;color:#64748b;font-weight:600}.desktop-main-row{display:flex;flex:1;min-height:calc(100vh - 70px)}.desktop-sidebar{width:235px;background-color:#1351d8;display:flex;flex-direction:column;justify-content:space-between;padding:24px 12px;flex-shrink:0}.sidebar-nav-list{display:flex;flex-direction:column;gap:8px}.sidebar-nav-item{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:12px;color:#ffffffd9;font-size:15.5px;font-weight:600;transition:all .2s ease;width:100%;text-align:left}.sidebar-nav-item:hover{background-color:#ffffff1f;color:#fff}.sidebar-nav-item.active{background-color:#fff3;color:#fff;font-weight:700;box-shadow:0 4px 12px #0000001a}.sidebar-bottom{display:flex;flex-direction:column;gap:12px}.sidebar-divider{height:1px;background-color:#ffffff26;margin:0 6px}.sidebar-logout-btn{color:#fffc}.sidebar-logout-btn:hover{color:#fca5a5;background-color:#ef444426}.desktop-content-panel{flex:1;background-color:#f8fafc;padding:28px 36px 40px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.desktop-welcome-banner{background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#2563eb);border-radius:16px;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 10px 25px -5px #1e3a8a33;position:relative;overflow:hidden;gap:20px}.welcome-banner-left{display:flex;flex-direction:column;gap:10px;z-index:2}.banner-title-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.banner-greeting{font-size:18px;font-weight:500;color:#ffffffe6}.banner-name{font-size:26px;font-weight:800;letter-spacing:-.4px;margin:0;color:#fff}.banner-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.banner-resource-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:#fff;width:fit-content}.welcome-banner-right{display:flex;align-items:center;z-index:2;flex-shrink:0}.banner-filter-box{display:inline-flex;align-items:center;gap:8px;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.32);transition:all .2s ease}.banner-filter-box:hover{background:#ffffff3d;border-color:#ffffff73}.banner-filter-label{font-size:13px;color:#e2e8f0;font-weight:700;letter-spacing:.5px}.banner-filter-select{background:transparent;color:#fff;border:none;font-size:14px;font-weight:600;outline:none;cursor:pointer;font-family:inherit}.desktop-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%}.stat-card{background:#fff;border-radius:16px;padding:20px 22px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.stat-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-content{display:flex;flex-direction:column}.stat-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}.stat-value{font-size:30px;font-weight:800;color:#0f172a;line-height:1.1}.stat-subtext{font-size:13px;color:#64748b;font-weight:500;margin-top:3px}.overview-chart-card{background:#fff;border-radius:16px;padding:24px 28px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:20px;width:100%}.chart-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.chart-title-box{display:flex;align-items:center;gap:10px}.chart-icon-wrap{width:32px;height:32px;background-color:#eff6ff;border-radius:8px;display:flex;align-items:center;justify-content:center}.chart-main-title{font-size:20px;font-weight:800;color:#0f172a}.chart-controls-box{display:flex;align-items:center;gap:16px}.chart-dropdown{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #CBD5E1;border-radius:8px;font-size:13.5px;font-weight:600;color:#334155;background-color:#fff;cursor:pointer}.dropdown-caret{font-size:12px;color:#94a3b8}.chart-legend-row{display:flex;align-items:center;gap:16px;font-size:13.5px;font-weight:600;color:#475569}.legend-item{display:inline-flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%}.dot-blue{background-color:#2563eb}.dot-orange{background-color:#f59e0b}.dot-lightblue{background-color:#0284c7}.legend-item{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;transition:all .15s ease}.legend-item:hover{background-color:#f8fafc}.legend-active{background-color:#eff6ff!important}.line-chart-svg-container{width:100%;position:relative;min-height:220px}.line-chart-svg{width:100%;height:auto;overflow:visible}.mobile-only-legend{display:none}@media(max-width:768px){.chart-controls-box{gap:8px}.desktop-only-legend,.desktop-only-dropdown{display:none!important}.mobile-only-legend{display:flex!important}}.recent-duties-card{background:#fff;border-radius:16px;padding:24px 28px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:16px;width:100%}.recent-duties-header{display:flex;align-items:center;justify-content:space-between}.recent-title-wrap{display:flex;align-items:center;gap:10px}.recent-icon-box{width:32px;height:32px;background-color:#eff6ff;border-radius:8px;display:flex;align-items:center;justify-content:center}.recent-main-title{font-size:20px;font-weight:800;color:#0f172a}.view-all-btn{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:700;color:#2563eb;cursor:pointer;padding:4px 8px;border-radius:6px}.view-all-btn:hover{background-color:#eff6ff}.desktop-table-container{width:100%;overflow-x:auto;border-radius:10px;background:#fff;border:1px solid #E2E8F0}.duties-table,.recent-table{width:100%;min-width:980px;border-collapse:collapse;text-align:left;background:#fff}.duties-table thead th,.recent-table thead th{font-size:13px;font-weight:700;color:#1e293b;text-transform:uppercase;padding:13px 16px;background-color:#f1f5f9;border:1px solid #CBD5E1;letter-spacing:.4px;white-space:nowrap}.duties-table tbody tr,.recent-table tbody tr{transition:background-color .15s ease}.duties-table tbody tr:hover,.recent-table tbody tr:hover{background-color:#f8fafc}.duties-table tbody td,.recent-table tbody td{padding:13px 16px;font-size:14.5px;color:#1e293b;border:1px solid #CBD5E1;vertical-align:middle;white-space:nowrap}.col-num{font-weight:700;color:#94a3b8;width:60px;text-align:center}.col-exam strong{font-size:15px;font-weight:700;color:#0f172a}.col-employee,.col-member{min-width:180px}.col-date{font-weight:500;min-width:110px;color:#475569}.col-center{font-weight:500;min-width:190px;color:#334155}.col-city{min-width:100px;font-weight:500}.col-role{min-width:120px;font-weight:500}.col-shift{min-width:160px;font-weight:500}.col-status{min-width:105px}.col-action{width:130px;min-width:130px;text-align:center}.table-status-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.3px}.table-status-pill.status-approved{background-color:#dcfce7;color:#15803d;border:1px solid #86EFAC}.table-status-pill.status-pending{background-color:#fef3c7;color:#b45309;border:1px solid #FCD34D}.table-status-pill.status-rejected{background-color:#fee2e2;color:#b91c1c;border:1px solid #FCA5A5}.action-eye-btn{color:#64748b;padding:6px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.action-eye-btn:hover{color:#2563eb;background-color:#eff6ff}.mobile-cards-container{display:none}.desktop-portal-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #E2E8F0;font-size:13.5px;color:#94a3b8}.footer-credits{color:#64748b;font-weight:500}.mobile-layout-wrapper{display:flex;flex-direction:column;width:100%;min-height:100vh;background-color:#f1f5f9;padding-bottom:74px}@media(min-width:1024px){.mobile-layout-wrapper{display:none!important}}.mobile-top-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#fff;border-bottom:1px solid #E2E8F0;min-height:58px;box-sizing:border-box}.mobile-menu-btn{width:40px;height:40px;border-radius:10px;background:#f8fafc;border:1.5px solid #E2E8F0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#0f172a;padding:0;transition:all .2s ease;box-shadow:0 1px 2px #0000000a;flex-shrink:0}.mobile-menu-btn:hover,.mobile-menu-btn:active{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.mobile-top-right{display:flex;align-items:center;gap:10px}.mobile-bell-wrapper{width:40px;height:40px;border-radius:10px;background:#f8fafc;border:1.5px solid #E2E8F0;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;color:#0f172a;transition:all .2s ease;box-shadow:0 1px 2px #0000000a;flex-shrink:0}.mobile-bell-wrapper:hover,.mobile-bell-wrapper:active{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.mobile-blue-banner{background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#2563eb);color:#fff;padding:18px 20px 20px;border-bottom-left-radius:22px;border-bottom-right-radius:22px;box-shadow:0 8px 20px #1e3a8a2e;display:flex;flex-direction:column}.mobile-banner-header-row{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:4px}.welcome-label{font-size:13.5px;color:#ffffffe0;font-weight:500;letter-spacing:.2px}.mobile-banner-badge{flex-shrink:0}.mobile-banner-badge .health-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:#10b98133;color:#d1fae5;border:1px solid rgba(167,243,208,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-sizing:border-box}.mobile-banner-badge .health-badge.badge-offline{background:#ef444440;color:#fee2e2;border-color:#fca5a573}.user-name{font-size:23px;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.25;letter-spacing:-.3px}.mobile-banner-pills-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resource-id-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.32);height:30px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .15s ease}.resource-id-pill:hover{background:#ffffff47}.mobile-role-badge{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 11px;font-size:11.5px;font-weight:800;letter-spacing:.5px;border-radius:999px;white-space:nowrap}.mobile-role-badge.badge-admin{background:#fef3c7;color:#92400e;border:1px solid #FCD34D}.mobile-role-badge.badge-staff{background:#ffffff38;color:#fff;border:1px solid rgba(255,255,255,.35)}.mobile-content-body{padding:16px 16px 84px;display:flex;flex-direction:column;gap:16px}.mobile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mobile-stats-grid .stat-card{padding:16px 14px;gap:12px}.mobile-stats-grid .stat-icon-wrapper{width:40px;height:40px}.mobile-stats-grid .stat-value{font-size:22px}@media(max-width:1023px){.desktop-only-dropdown,.desktop-only-legend,.desktop-bars-container{display:none!important}.mobile-bars-container{display:flex;width:100%;height:100%;padding-bottom:24px;align-items:flex-end;justify-content:space-around}.mobile-bar-col{display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.mobile-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.mobile-bar-wrapper .bar-rect{width:22px}.bar-mobile-current{background:linear-gradient(180deg,#1d4ed8,#2563eb);box-shadow:0 4px 10px #2563eb4d}.bar-mobile-tall{background-color:#bfdbfe}.bar-mobile-normal{background-color:#dbeafe}.mobile-only-legend{display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;font-weight:600;color:#475569;padding-top:4px}.desktop-table-container,.recent-table-container{display:block!important;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #CBD5E1;border-radius:10px;background:#fff}.mobile-cards-container{display:none!important}.recent-duties-card{padding:16px 14px;border-radius:14px;overflow:hidden}.mobile-duty-item-card{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px #0000000a}.mobile-duty-top{display:flex;align-items:center;justify-content:space-between}.mobile-exam-left{display:flex;align-items:center;gap:8px}.mobile-exam-title{font-size:16px;font-weight:800;color:#1e3a8a}.mobile-status-badge{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.5px}.mobile-status-badge.status-approved{background-color:#dcfce7;color:#15803d;border:1px solid #86EFAC}.mobile-status-badge.status-pending{background-color:#fef3c7;color:#b45309;border:1px solid #FCD34D}.mobile-status-badge.status-rejected{background-color:#fee2e2;color:#b91c1c;border:1px solid #FCA5A5}.mobile-date-tag{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#64748b}.mobile-duty-meta{display:flex;flex-direction:column;gap:5px;font-size:14px;color:#475569}.meta-row{display:flex;align-items:center;gap:6px}.meta-icon{color:#94a3b8;flex-shrink:0}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-around;z-index:100;box-shadow:0 -3px 12px #0000000d;padding:0 4px;box-sizing:border-box}@media(min-width:1024px){.bottom-nav{display:none!important}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;height:100%;color:#64748b;background:none;border:none;cursor:pointer;padding:4px 2px;min-width:0;transition:all .15s ease}.nav-item.active{color:#2563eb}.nav-item-label{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;line-height:1.15}.health-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700;background-color:#ecfdf5;color:#059669;border:1px solid #A7F3D0;white-space:nowrap;box-sizing:border-box}.health-badge.badge-offline{background-color:#fef2f2;color:#dc2626;border-color:#fecaca}.health-dot{width:8px;height:8px;border-radius:50%}.health-dot.connected{background-color:#10b981;box-shadow:0 0 6px #10b981}.health-dot.offline{background-color:#ef4444;box-shadow:0 0 6px #ef4444}.placeholder-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;min-height:60vh}.placeholder-icon-box{width:72px;height:72px;background-color:#eff6ff;border:1px solid #DBEAFE;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#2563eb;margin-bottom:16px}.placeholder-title{font-size:24px;font-weight:800;color:#0f172a;margin-bottom:6px}.placeholder-subtitle{font-size:15px;color:#64748b;max-width:360px;margin-bottom:20px}.placeholder-badge{background:#dbeafe;color:#1d4ed8;font-size:13.5px;font-weight:700;padding:6px 16px;border-radius:999px}.placeholder-back-btn{margin-top:28px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#2563eb;padding:10px 18px;border-radius:8px;background-color:#eff6ff}.page-section-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.page-header-icon-box{width:48px;height:48px;background-color:#eff6ff;border:1px solid #DBEAFE;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-main-heading{font-size:25px;font-weight:800;color:#0f172a;margin:0}.page-sub-heading{font-size:15px;color:#64748b;margin-top:2px;margin-bottom:0}.btn-primary{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;border:none;border-radius:10px;padding:11px 22px;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #2563eb40;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e3a8a,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#475569;border:1px solid #CBD5E1;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.btn-secondary:hover{background-color:#f8fafc;border-color:#94a3b8;color:#0f172a}.btn-danger{background-color:#ef4444;color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.btn-danger:hover{background-color:#dc2626}.alert-banner{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:10px;font-size:14.5px;font-weight:600;margin-bottom:14px}.alert-success{background-color:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.alert-error{background-color:#fef2f2;color:#991b1b;border:1px solid #FECACA}.alert-warning{background-color:#fffbeb;color:#92400e;border:1px solid #FDE68A}.duty-form-card{background:#fff;border-radius:16px;padding:28px 32px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a}.form-grid-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.form-field-wrapper{display:flex;flex-direction:column;gap:6px}.form-field-wrapper.span-two{grid-column:span 2}.add-employee-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 18px;align-items:start}@media(max-width:1200px){.add-employee-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.add-employee-form-grid{grid-template-columns:1fr}}.employee-field-wrapper{display:flex;flex-direction:column;gap:6px;min-width:0}.employee-field-label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.3px;height:22px;min-height:22px;line-height:22px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-action-wrapper{display:flex;flex-direction:column;gap:6px;min-width:0}.employee-action-wrapper .employee-field-label{visibility:hidden}@media(max-width:640px){.employee-action-wrapper .employee-field-label{display:none}}.employee-save-btn{height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:600;border-radius:10px;background:#2563eb;color:#fff;border:none;cursor:pointer;box-shadow:0 2px 6px #2563eb40;transition:all .2s ease;white-space:nowrap}.employee-save-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.employee-save-btn:disabled{opacity:.7;cursor:not-allowed}.field-validation-msg{display:flex;align-items:center;gap:4px;color:#dc2626;font-size:12px;font-weight:600;margin-top:4px}.field-label{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.4px}.form-input-control,.form-select-control{display:block;width:100%;box-sizing:border-box;height:48px;padding:0 16px;border:1.5px solid #CBD5E1;border-radius:10px;background-color:#fff;font-size:15px;color:#0f172a;transition:all .2s ease;font-family:inherit;outline:none}.form-input-control:focus,.form-select-control:focus{outline:none;border-color:#2563eb;background-color:#fff;box-shadow:0 0 0 3px #2563eb1f}select.form-select-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:38px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.attendance-upload-container{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.upload-dropzone{border:2px dashed #CBD5E1;border-radius:14px;background-color:#f8fafc;padding:24px;text-align:center;transition:all .2s ease;position:relative}.upload-dropzone:hover{border-color:#2563eb;background-color:#eff6ff}.hidden-file-input{display:none}.dropzone-label{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.upload-icon-circle{width:52px;height:52px;background-color:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center}.upload-main-text{font-size:15.5px;font-weight:700;color:#1e293b}.upload-sub-text{font-size:13.5px;color:#64748b}.upload-loading-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px}.upload-success-state{display:flex;align-items:center;justify-content:center;gap:16px;background-color:#ecfdf5;border:1px solid #A7F3D0;border-radius:10px;padding:16px 20px}.uploaded-file-meta{display:flex;flex-direction:column;text-align:left}.file-name-bold{font-size:15px;font-weight:700;color:#065f46}.file-size-tag{font-size:13.5px;color:#059669}.remove-file-btn{background-color:#fee2e2;color:#dc2626;border:none;border-radius:6px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-file-btn:hover{background-color:#fca5a5}.form-action-row{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:16px;border-top:1px solid #E2E8F0}.duties-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:12px 18px}.scope-toggle-group{display:flex;align-items:center;gap:4px;background-color:#f8fafc;padding:3px;border-radius:9px;border:1px solid #CBD5E1}.scope-toggle-btn{display:flex;align-items:center;gap:6px;border:none;background:transparent;padding:7px 14px;border-radius:7px;font-size:13.5px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease}.scope-toggle-btn:hover{color:#1e293b}.scope-toggle-btn.active{background-color:#2563eb;color:#fff;box-shadow:0 1px 4px #2563eb40}.exam-type-filter-group{display:flex;align-items:center;gap:6px}.filter-group-title{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.type-filter-pill{border:1px solid #E2E8F0;background-color:#fff;padding:6px 14px;border-radius:20px;font-size:13.5px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease}.type-filter-pill:hover{border-color:#93c5fd;color:#2563eb}.type-filter-pill.active{background-color:#eff6ff;border-color:#2563eb;color:#2563eb;font-weight:700}.filter-tabs-group{display:flex;align-items:center;gap:6px;background-color:#f1f5f9;padding:4px;border-radius:10px}.tab-filter-btn{border:none;background:transparent;padding:7px 16px;border-radius:8px;font-size:13.5px;font-weight:700;color:#64748b;cursor:pointer;transition:all .15s ease}.tab-filter-btn.active{background-color:#fff;color:#2563eb;box-shadow:0 1px 3px #00000014}.search-input-wrapper{display:flex;align-items:center;gap:8px;background-color:#f8fafc;border:1px solid #CBD5E1;border-radius:10px;padding:0 14px;width:320px;height:42px}.search-leading-icon{color:#94a3b8;flex-shrink:0}.search-input-field{border:none;background:transparent;width:100%;font-size:14.5px;color:#0f172a;outline:none}.clear-search-btn{border:none;background:transparent;color:#94a3b8;cursor:pointer;padding:2px}.duties-table-container-card{background:#fff;border-radius:10px;border:1.5px solid #CBD5E1;overflow:hidden;box-shadow:0 2px 8px #0000000d}.exam-type-pill{display:inline-block;font-size:13px;font-weight:700;background-color:#eff6ff;color:#2563eb;border-radius:4px;padding:2px 8px;margin-left:6px}.center-code-tag{display:block;font-size:12.5px;color:#64748b;font-weight:600}.status-badge-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700}.status-badge-chip.approved{background-color:#dcfce7;color:#15803d;border:1px solid #86EFAC}.status-badge-chip.pending{background-color:#fef3c7;color:#b45309;border:1px solid #FCD34D}.status-badge-chip.rejected{background-color:#fee2e2;color:#b91c1c;border:1px solid #FCA5A5}.action-button-group{display:inline-flex;align-items:center;gap:6px}.action-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;background-color:#f8fafc}.action-icon-btn.view{color:#2563eb}.action-icon-btn.view:hover{background-color:#eff6ff;border-color:#bfdbfe}.action-icon-btn.edit{color:#d97706}.action-icon-btn.edit:hover:not(:disabled){background-color:#fffbeb;border-color:#fde68a}.action-icon-btn.delete{color:#dc2626}.action-icon-btn.delete:hover:not(:disabled){background-color:#fef2f2;border-color:#fecaca}.action-icon-btn.disabled,.action-icon-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.empty-state-card{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b}.empty-state-card h3{font-size:16px;font-weight:700;color:#1e293b;margin:4px 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content-card{background:#fff;border-radius:18px;width:100%;max-width:520px;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a;overflow:hidden;animation:modalScale .2s ease-out}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header-row{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #E2E8F0;background-color:#f8fafc}.modal-title{font-size:19px;font-weight:800;color:#0f172a;margin:0}.modal-close-btn{border:none;background:transparent;color:#64748b;cursor:pointer;padding:4px;border-radius:6px}.modal-close-btn:hover{background-color:#e2e8f0;color:#0f172a}.modal-body-details{padding:20px 22px;display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow-y:auto}.detail-field{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #F1F5F9;font-size:15px}.detail-label{color:#64748b;font-weight:600;font-size:14.5px}.detail-value{color:#0f172a;font-weight:600;text-align:right;font-size:16px}.detail-value.bold{font-weight:800;color:#1e3a8a}.modal-footer-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 22px;border-top:1px solid #E2E8F0;background-color:#f8fafc}.profile-hero-card{background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#2563eb);border-radius:16px;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 10px 25px -5px #1e3a8a33}.profile-hero-left{display:flex;align-items:center;gap:20px}.profile-avatar-large{width:76px;height:76px;border-radius:50%;background:#fff3;border:3px solid #FFFFFF;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:#fff}.profile-hero-names{display:flex;flex-direction:column;gap:6px}.profile-fullname{font-size:26px;font-weight:800;margin:0}.profile-badge-row{display:flex;align-items:center;gap:10px}.profile-res-pill{display:inline-flex;align-items:center;gap:6px;background:#fff3;border:1px solid rgba(255,255,255,.35);padding:5px 14px;border-radius:999px;font-size:13.5px;font-weight:600}.profile-status-pill{display:inline-flex;align-items:center;gap:4px;background-color:#dcfce7;color:#15803d;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px}.profile-hero-actions{display:flex;align-items:center;gap:12px}.profile-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.profile-info-card{background:#fff;border-radius:16px;padding:24px 28px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a}.card-subhead{font-size:18px;font-weight:800;color:#0f172a;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #F1F5F9}.info-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #F8FAFC;font-size:15px}.info-label{display:inline-flex;align-items:center;gap:8px;color:#64748b;font-weight:600;font-size:14.5px}.info-val{color:#0f172a;font-weight:600;font-size:16px}.info-val.bold{font-weight:800;color:#1e3a8a}.quick-action-list{display:flex;flex-direction:column;gap:10px}.quick-action-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #E2E8F0;border-radius:12px;background-color:#f8fafc;cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.quick-action-row:hover{background-color:#eff6ff;border-color:#bfdbfe}.action-row-left{display:flex;align-items:center;gap:14px}.action-row-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.action-row-icon.blue{background-color:#eff6ff;color:#2563eb}.action-row-icon.green{background-color:#ecfdf5;color:#059669}.action-row-icon.red{background-color:#fef2f2;color:#dc2626}.action-row-title{display:block;font-size:15.5px;font-weight:700;color:#0f172a}.action-row-sub{display:block;font-size:13.5px;color:#64748b}.help-box-item{display:flex;align-items:flex-start;gap:14px;background-color:#f8fafc;border:1px solid #E2E8F0;border-radius:12px;padding:14px}.help-box-title{display:block;font-size:14.5px;font-weight:700;color:#1e293b;margin-bottom:2px}.help-box-val{display:block;font-size:14.5px;font-weight:600;color:#2563eb;margin-bottom:4px}.help-box-desc{display:block;font-size:13.5px;color:#64748b;line-height:1.4}.mobile-page-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-page-heading{font-size:20px;font-weight:800;color:#0f172a;margin:0}.mobile-page-sub{font-size:14px;color:#64748b}.mobile-add-btn{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:14.5px;font-weight:700;cursor:pointer}.mobile-form-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:18px;box-shadow:0 1px 2px #0000000a}.mobile-form-group,.mobile-form-card form>div>div{display:flex!important;flex-direction:column!important;gap:6px;width:100%!important;box-sizing:border-box!important;margin-bottom:12px}.mobile-input-label{display:block!important;width:100%!important;box-sizing:border-box!important;font-size:13px!important;font-weight:700!important;color:#334155!important;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.mobile-form-input,.mobile-form-select{display:block!important;width:100%!important;box-sizing:border-box!important;height:48px!important;padding:0 14px!important;border:1.5px solid #CBD5E1!important;border-radius:10px!important;background-color:#fff!important;font-size:15px!important;color:#0f172a!important;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.mobile-form-input:focus,.mobile-form-select:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb26!important;background-color:#fff!important}select.mobile-form-select,select.mobile-form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:36px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.mobile-upload-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed #3B82F6;border-radius:8px;background-color:#eff6ff;padding:14px;color:#2563eb;font-size:14.5px;font-weight:700;cursor:pointer}.mobile-submit-btn{width:100%;height:48px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:800;letter-spacing:.5px;margin-top:12px;cursor:pointer}.mobile-filter-pills{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px}.mobile-tab-btn{border:1px solid #CBD5E1;background-color:#fff;padding:7px 16px;border-radius:999px;font-size:13.5px;font-weight:700;color:#64748b;white-space:nowrap}.mobile-tab-btn.active{background-color:#2563eb;border-color:#2563eb;color:#fff}.mobile-search-box{display:flex;align-items:center;gap:8px;background-color:#fff;border:1px solid #CBD5E1;border-radius:10px;padding:0 14px;height:44px;margin-bottom:14px}.mobile-search-box input{border:none;background:transparent;width:100%;font-size:14.5px;outline:none}.mobile-duties-list{display:flex;flex-direction:column;gap:14px}.mobile-duty-card-elevated{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px #0000000a}.mobile-card-head{display:flex;align-items:center;justify-content:space-between}.card-exam-title{font-size:17px;font-weight:800;color:#0f172a}.mobile-card-meta-list{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#475569}.meta-line{display:flex;align-items:center;gap:8px}.meta-divider{color:#cbd5e1}.mobile-card-actions{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid #F1F5F9}.mobile-card-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 0;border-radius:8px;font-size:14px;font-weight:700;border:1px solid #E2E8F0;background-color:#f8fafc;cursor:pointer}.mobile-card-btn.view{color:#2563eb}.mobile-card-btn.edit{color:#d97706}.mobile-card-btn.delete{color:#dc2626}.mobile-card-btn:disabled{opacity:.35;cursor:not-allowed}.mobile-profile-card{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 1px 3px #0000000a}.mobile-avatar-big{width:68px;height:68px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin-bottom:12px}.mobile-profile-name{font-size:21px;font-weight:800;color:#0f172a;margin:0}.mobile-profile-id{font-size:14.5px;color:#64748b;font-weight:600;margin-top:2px}.mobile-profile-info-list{width:100%;display:flex;flex-direction:column;gap:10px;margin:20px 0;padding:16px 0;border-top:1px solid #F1F5F9;border-bottom:1px solid #F1F5F9}.mobile-info-line{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#334155;font-weight:500}.mobile-profile-btn-stack{width:100%;display:flex;flex-direction:column;gap:10px}.mobile-btn-outline{width:100%;height:46px;border:1.5px solid #E2E8F0;border-radius:10px;background-color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:700;color:#334155;cursor:pointer}.mobile-btn-logout{width:100%;height:46px;border:none;border-radius:10px;background-color:#fee2e2;color:#dc2626;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:700;cursor:pointer}.export-jobs-card{background:#fff;border:1.5px solid #CBD5E1;border-radius:10px;padding:20px 24px;margin-top:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.export-jobs-title{font-size:15.5px;font-weight:700;color:#1e293b;margin-bottom:16px}.export-success-notice{background-color:#dcfce7;border:1px solid #86EFAC;color:#15803d;border-radius:8px;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:14px}.export-jobs-controls-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.export-input-col{flex:1;min-width:170px}.export-input-label{display:block;font-size:13px;font-style:italic;font-weight:600;color:#64748b;margin-bottom:6px}.export-input-wrapper{position:relative;display:flex;align-items:center}.export-native-input,.export-native-select{width:100%;height:42px;padding:0 12px;border:1.5px solid #CBD5E1;border-radius:8px;background-color:#fff;font-size:14px;color:#1e293b;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.export-native-input:focus,.export-native-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.export-btn-col{display:flex;align-items:flex-end}.trackclock-export-btn{height:42px;padding:0 20px;background-color:#fff;border:1.5px solid #10B981;border-radius:8px;color:#059669;font-size:14.5px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #10b9811a}.trackclock-export-btn:hover{background-color:#ecfdf5;border-color:#059669;color:#047857;transform:translateY(-1px);box-shadow:0 3px 6px #10b98133}.trackclock-export-btn:active{transform:translateY(0)}.trackclock-pagination-wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #E2E8F0;background:#fff;flex-wrap:wrap;gap:12px}.trackclock-pagination-info{font-size:13.5px;color:#64748b;font-weight:500}.trackclock-page-controls{display:inline-flex;align-items:center;gap:6px}.trackclock-page-btn{min-width:36px;height:36px;padding:0 12px;border-radius:4px;border:1.5px solid #CBD5E1;background:#fff;color:#2563eb;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #0000000a}.trackclock-page-btn:hover{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.trackclock-page-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;font-weight:700!important;box-shadow:0 2px 4px #2563eb40}.trackclock-page-btn.nav-btn{padding:0 14px;font-weight:600;color:#2563eb}.trackclock-page-btn.nav-btn.back-btn{color:#64748b}.trackclock-page-btn.nav-btn.back-btn:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.trackclock-page-btn.nav-btn.next-btn{color:#2563eb}.trackclock-page-btn.disabled,.trackclock-page-btn:disabled{background:#fff;border:1.5px solid #CBD5E1;color:#94a3b8;cursor:pointer}.trackclock-page-ellipsis{min-width:36px;height:36px;padding:0 8px;border-radius:4px;border:1.5px solid #CBD5E1;background:#fff;color:#2563eb;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #0000000a}.id-verify-page-root{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.id-verify-header-bar{background:#0f172a;color:#fff;padding:16px 24px;border-bottom:3px solid #2563EB;box-shadow:0 4px 12px #00000026}.id-verify-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.id-verify-brand{display:flex;align-items:center;gap:14px}.id-verify-brand-icon{width:44px;height:44px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #2563eb66}.id-verify-brand-title{font-size:18px;font-weight:700;color:#fff;margin:0;line-height:1.2}.id-verify-brand-sub{font-size:12px;color:#94a3b8;margin:2px 0 0;font-weight:400}.id-verify-user-pill{display:flex;align-items:center;gap:10px;background:#1e293b;padding:8px 16px;border-radius:30px;border:1px solid #334155;font-size:13px}.id-badge-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981}.id-user-name{font-weight:600;color:#f8fafc}.id-user-res{color:#94a3b8;font-size:12px}.id-logout-link{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:#ef4444;cursor:pointer;padding:2px 6px;font-size:12px;font-weight:600;border-radius:4px;transition:all .2s;margin-left:6px}.id-logout-link:hover{background:#ef444426}.id-verify-main-content{max-width:1200px;width:100%;margin:28px auto;padding:0 24px 48px}.id-verify-step-banner{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 4px 14px #0000000d;border:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:24px;position:relative;overflow:hidden}.id-verify-step-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(to bottom,#2563eb,#10b981)}.step-banner-left{flex:1;min-width:280px}.step-badge{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#2563eb;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.step-title{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 6px;line-height:1.25}.step-desc{font-size:14px;color:#64748b;margin:0;max-width:640px;line-height:1.5}.step-status-pills{display:flex;flex-direction:column;gap:8px}.step-check-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600}.step-check-item.done{background:#ecfdf5;color:#047857;border:1px solid #A7F3D0}.step-check-item.pending{background:#fffbeb;color:#b45309;border:1px solid #FDE68A}.id-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}@media(max-width:900px){.id-cards-grid{grid-template-columns:1fr}}.digital-card{border-radius:16px;background:#fff;box-shadow:0 10px 25px #00000014;border:1px solid #CBD5E1;overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.digital-card:hover{box-shadow:0 14px 30px #0000001c}.aadhaar-card{border-top:none;background:linear-gradient(180deg,#fff,#fafcff)}.aadhaar-tricolor-band{display:flex;width:100%;height:8px}.band-orange{flex:1;background:#f93}.band-white{flex:1;background:#fff;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0}.band-green{flex:1;background:#138808}.aadhaar-card-inner{padding:20px 24px 22px;display:flex;flex-direction:column;gap:16px;flex:1}.aadhaar-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.emblem-group{display:flex;align-items:center;gap:10px}.govt-emblem-img{width:28px;height:40px;object-fit:contain}.emblem-text{display:flex;flex-direction:column}.gov-hindi{font-size:13px;font-weight:700;color:#1e293b;line-height:1.1}.gov-eng{font-size:11px;color:#475569;font-weight:600}.uidai-logo-group{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.uidai-title{font-size:18px;font-weight:900;color:#dc2626;letter-spacing:.5px;line-height:1}.uidai-sub{font-size:10px;color:#64748b;font-weight:500;max-width:140px;line-height:1.1;margin-top:2px}.card-divider-line{height:1px;background:linear-gradient(to right,#cbd5e1,#e2e8f0);width:100%}.aadhaar-body-row{display:flex;align-items:flex-start;gap:16px}.aadhaar-photo-box{display:flex;flex-direction:column;align-items:center;gap:6px}.photo-avatar{width:74px;height:90px;background:#eff6ff;border:1.5px solid #3B82F6;border-radius:6px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px #3b82f61a}.photo-caption{font-size:9px;font-weight:700;color:#2563eb;letter-spacing:.5px}.aadhaar-details-col{flex:1;display:flex;flex-direction:column;gap:8px}.id-detail-item{display:flex;flex-direction:column}.id-detail-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.id-field-label{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.id-field-val{font-size:13px;color:#0f172a;font-weight:500}.id-field-val.strong{font-size:15px;font-weight:700;color:#0f172a}.id-field-val.uppercase{text-transform:uppercase}.aadhaar-qr-col{display:flex;flex-direction:column;align-items:center;gap:4px}.qr-box{padding:4px;background:#fff;border:1px solid #CBD5E1;border-radius:6px;box-shadow:0 1px 3px #0000000d}.qr-label{font-size:8px;font-weight:700;color:#047857;letter-spacing:.5px}.aadhaar-number-section{background:#f8fafc;border:1.5px solid #E2E8F0;border-radius:12px;padding:14px 16px;margin-top:4px}.card-input-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:#334155;margin-bottom:8px}.valid-pill{font-size:11px;font-weight:700;color:#047857;background:#d1fae5;padding:2px 8px;border-radius:12px}.aadhaar-input-box{width:100%}.aadhaar-input-field{width:100%;font-size:20px;font-weight:800;letter-spacing:3px;color:#0f172a;text-align:center;padding:10px 14px;background:#fff;border:2px solid #CBD5E1;border-radius:8px;outline:none;font-family:Courier New,Courier,monospace;transition:all .2s;box-sizing:border-box}.aadhaar-input-field:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.aadhaar-input-field.valid{border-color:#10b981;background:#f0fdf4;color:#065f46}.aadhaar-footer-slogan{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:600;color:#dc2626;margin-top:10px}.dot-sep{color:#94a3b8}.pan-card{background:linear-gradient(145deg,#f0f9ff,#e0f2fe 40%,#bae6fd);border:1px solid #7DD3FC}.pan-card-inner{padding:20px 24px 22px;display:flex;flex-direction:column;gap:16px;flex:1}.pan-header-row{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #0369A1;padding-bottom:8px}.pan-gov-header,.pan-india-header{display:flex;flex-direction:column}.pan-india-header{text-align:right}.pan-hindi{font-size:12px;font-weight:700;color:#0369a1;line-height:1.1}.pan-eng{font-size:11px;font-weight:800;color:#0c4a6e;letter-spacing:.3px}.pan-card-subtitle{text-align:center;font-size:11px;font-weight:800;color:#0369a1;letter-spacing:1px;margin-top:-6px}.pan-body-row{display:flex;align-items:flex-start;gap:16px}.pan-photo-col{display:flex;flex-direction:column;align-items:center;gap:8px}.pan-avatar-box{width:72px;height:84px;background:#fff;border:1.5px solid #0284C7;border-radius:6px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0284c726}.pan-hologram-chip{width:32px;height:24px;background:linear-gradient(135deg,#fde68a,#d97706);border-radius:4px;border:1px solid #B45309;display:flex;flex-direction:column;justify-content:space-around;padding:3px 4px}.chip-line{height:1.5px;background:#ffffffb3;border-radius:1px}.pan-details-col{flex:1;display:flex;flex-direction:column;gap:10px}.pan-qr-col{display:flex;flex-direction:column;align-items:center;gap:8px}.pan-qr-box{padding:4px;background:#fff;border:1px solid #38BDF8;border-radius:6px}.pan-sign-box{width:90px;height:26px;background:#fff;border:1px dashed #0284C7;border-radius:4px;display:flex;align-items:center;justify-content:center}.sign-text{font-family:Brush Script MT,cursive,sans-serif;font-size:13px;color:#0369a1;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.pan-number-section{background:#ffffffd9;border:1.5px solid #7DD3FC;border-radius:12px;padding:14px 16px;margin-top:4px}.pan-input-box{width:100%}.pan-input-field{width:100%;font-size:20px;font-weight:800;letter-spacing:4px;color:#0c4a6e;text-align:center;padding:10px 14px;background:#fff;border:2px solid #7DD3FC;border-radius:8px;outline:none;font-family:Courier New,Courier,monospace;transition:all .2s;box-sizing:border-box}.pan-input-field:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c733}.pan-input-field.valid{border-color:#0284c7;background:#f0f9ff;color:#0369a1}.pan-card-footer-info{text-align:center;font-size:10px;font-weight:700;color:#0369a1;letter-spacing:.8px;margin-top:10px}.id-verify-action-card{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 6px 18px #0000000f;border:1px solid #E2E8F0;display:flex;flex-direction:column;gap:20px}.confirmation-checkbox-row{background:#f8fafc;border:1.5px solid #CBD5E1;border-radius:10px;padding:14px 18px}.verify-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.verify-checkbox-input{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#2563EB}.verify-checkbox-text{font-size:14px;color:#334155;line-height:1.5}.verify-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.btn-verify-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#f1f5f9;border:1.5px solid #CBD5E1;color:#475569;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.btn-verify-secondary:hover{background:#e2e8f0;color:#1e293b}.btn-verify-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;color:#fff;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #2563eb59;transition:all .2s}.btn-verify-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 16px #2563eb73;transform:translateY(-1px)}.btn-verify-primary.disabled,.btn-verify-primary:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none;opacity:.7}.spinner-icon{animation:spin 1s linear infinite}.id-verify-loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#f8fafc;color:#475569;font-size:15px;font-weight:600}.id-verify-spinner{width:44px;height:44px;border:4px solid #E2E8F0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:640px){.id-verify-header-bar{padding:12px 16px}.id-verify-main-content{padding:0 14px 32px;margin:16px auto}.id-verify-step-banner{padding:18px 16px}.aadhaar-card-inner,.pan-card-inner{padding:16px 14px}.aadhaar-input-field,.pan-input-field{font-size:16px;letter-spacing:2px}.verify-action-buttons{flex-direction:column;width:100%}.btn-verify-primary,.btn-verify-secondary{width:100%;justify-content:center}}.mobile-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;display:flex;animation:drawerFadeIn .2s ease}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.mobile-drawer-panel{width:310px;max-width:84vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:6px 0 28px #00000040;animation:drawerSlideIn .28s cubic-bezier(.16,1,.3,1);overflow-y:auto}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header-bar{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15)}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand-logo{width:38px;height:38px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.drawer-app-title{font-size:16px;font-weight:800;display:block;line-height:1.15;color:#fff}.drawer-app-sub{font-size:11px;color:#ffffffd9;font-weight:500;display:block}.drawer-close-btn{width:34px;height:34px;border-radius:8px;background:#ffffff2e;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.drawer-close-btn:hover,.drawer-close-btn:active{background:#ffffff4d}.drawer-user-card{background:#f8fafc;border-bottom:1px solid #E2E8F0;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .15s ease}.drawer-user-card:hover{background:#f1f5f9}.drawer-user-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #2563eb40}.drawer-user-info{flex:1;min-width:0}.drawer-user-name{font-size:14.5px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.drawer-user-role-row{display:flex;align-items:center;gap:6px;margin-top:4px}.drawer-id-badge{font-size:11.5px;color:#64748b;font-weight:600}.drawer-role-pill{font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:4px;letter-spacing:.3px}.drawer-role-pill.admin{background:#fef3c7;color:#b45309;border:1px solid #FCD34D}.drawer-role-pill.staff{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE}.drawer-nav-section{padding:16px 12px;flex:1;overflow-y:auto}.drawer-section-label{font-size:11px;font-weight:700;color:#94a3b8;letter-spacing:.6px;padding:0 8px 8px;display:block}.drawer-nav-list{display:flex;flex-direction:column;gap:4px}.drawer-nav-item{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:10px;border:none;background:transparent;color:#334155;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.drawer-nav-item:hover,.drawer-nav-item:active{background:#f1f5f9;color:#0f172a}.drawer-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:700}.drawer-item-left{display:flex;align-items:center;gap:12px}.drawer-item-icon{display:flex;align-items:center;justify-content:center;color:inherit}.drawer-item-label{font-size:14px;color:inherit}.drawer-chevron{color:#94a3b8;transition:transform .15s ease}.drawer-nav-item:hover .drawer-chevron,.drawer-nav-item.active .drawer-chevron{color:#2563eb;transform:translate(2px)}.drawer-footer{padding:14px 16px;border-top:1px solid #E2E8F0;background:#fafafa;display:flex;flex-direction:column;gap:8px}.drawer-logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:8px;border:1.5px solid #CBD5E1;background:#fff;color:#334155;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s ease}.drawer-logout-btn:hover,.drawer-logout-btn:active{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.drawer-version-tag{font-size:11px;color:#94a3b8;text-align:center;font-weight:500}:root{--primary-900: #0F172A;--primary-800: #1E293B;--primary-700: #1E3A8A;--primary-600: #1D4ED8;--primary-500: #2563EB;--primary-400: #3B82F6;--primary-100: #DBEAFE;--primary-50: #EFF6FF;--bg-main: #F1F5F9;--bg-card: #FFFFFF;--bg-input: #F8FAFC;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border-light: #E2E8F0;--border-focus: #3B82F6;--status-approved-text: #15803D;--status-approved-bg: #DCFCE7;--status-approved-border: #86EFAC;--status-pending-text: #B45309;--status-pending-bg: #FEF3C7;--status-pending-border: #FCD34D;--status-rejected-text: #B91C1C;--status-rejected-bg: #FEE2E2;--status-rejected-border: #FCA5A5;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}html,body{width:100%;height:100%;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;font-family:inherit}input{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:1;filter:drop-shadow(0 0 20px rgba(59,130,246,.5))}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .35s ease-out forwards}.animate-pulse-glow{animation:pulseGlow 2.5s infinite ease-in-out}
