:root{font-family:Manrope,Segoe UI,sans-serif;color:#163055;--page-bg: radial-gradient(circle at top left, rgba(96, 165, 250, .2), transparent 28%), radial-gradient(circle at bottom right, rgba(191, 219, 254, .32), transparent 30%), linear-gradient(135deg, #f7fbff 0%, #edf5ff 50%, #f8fbff 100%);--text-main: #163055;--text-soft: #58708f;--panel-bg: rgba(255, 255, 255, .88);--panel-border: rgba(30, 64, 175, .1);--shadow-soft: 0 18px 42px rgba(24, 58, 117, .09);--primary: #2563eb;--primary-strong: #1d4ed8;--primary-soft: #dbeafe;--secondary-soft: #eaf3ff;--success-soft: rgba(219, 234, 254, .92);--warning-soft: rgba(219, 234, 254, .92);--danger-soft: rgba(37, 99, 235, .08);background:var(--page-bg);line-height:1.5;font-weight:500}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}.app-shell{min-height:100vh;position:relative;overflow:hidden}.background-orb{position:absolute;border-radius:999px;filter:blur(26px);opacity:.35}.background-orb-one{width:280px;height:280px;background:#e76f5124;top:-120px;right:-60px}.background-orb-two{width:320px;height:320px;background:#2a9d8f24;left:-100px;bottom:-120px}.login-layout,.workspace{position:relative;z-index:1;padding:32px}.workspace{display:block}.login-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;min-height:100vh}.login-card{width:100%}.hero-panel,.login-card,.panel,.metric-card{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;box-shadow:var(--shadow-soft)}.hero-panel,.login-card,.panel{padding:28px}.hero-panel p,.muted{color:var(--text-soft)}.field-hint{color:#6881a4;font-size:.88rem}.section-intro{margin:0 0 16px;max-width:56ch}.eyebrow{display:inline-flex;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--primary);font-weight:800}.brand-logo{display:block;width:min(100%,220px);height:auto}.brand-logo-compact{width:96px;flex-shrink:0;filter:drop-shadow(0 10px 22px rgba(29,78,216,.12))}.workspace-brand-lockup{display:flex;align-items:center;gap:16px}.login-card h2,.panel h3,.topbar h2{margin:0 0 8px}.login-card form,label{display:grid;gap:8px}.login-card form{margin-top:18px;gap:18px}input,select{width:100%;border:1px solid rgba(37,99,235,.14);border-radius:14px;padding:14px 16px;background:#fffffff0;color:var(--text-main)}input[type=date],input[type=month],input[type=time]{min-width:0;max-width:100%}.profile-avatar{width:52px;height:52px;border-radius:999px;object-fit:cover;border:1px solid rgba(37,99,235,.12);background:#eff6fff0;flex-shrink:0}.profile-avatar-fallback{display:grid;place-items:center;color:var(--primary-strong);font-weight:800}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:14px;padding:14px 18px;font-weight:700;cursor:pointer;transition:transform .14s ease,opacity .14s ease;white-space:normal}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.primary-button{background:linear-gradient(180deg,#3b82f6 0%,var(--primary) 100%);color:#fff;box-shadow:inset 0 -1px #14213d1f}.secondary-button{background:var(--primary-soft);color:var(--primary-strong)}.ghost-button{background:#2563eb14;color:var(--text-main)}.topbar,.stat-row,.action-row,.branch-item{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar,.metric-grid,.grid,.panel{margin-bottom:24px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{padding:18px;display:grid;gap:8px}.metric-card span,.label{color:var(--text-soft);font-size:.92rem}.metric-card strong{font-size:1.7rem}.grid.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.compact-grid{gap:14px}.stat-row{margin-top:18px}.stat-row>div{display:grid;gap:6px;min-width:180px}.stat-row strong{line-height:1.2}.branch-list{display:grid;gap:14px}.branch-item{align-items:center;padding:16px;border-radius:16px;background:var(--secondary-soft)}.branch-item span{color:var(--text-soft)}.pill{background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700}.info-card,.empty-state,.action-item,.status-chip{padding:16px;border-radius:16px;background:#eff6fff2}.info-card,.empty-state{display:grid;gap:6px}.center-message,.status-text,.error-text{padding:32px}.status-text{color:var(--primary-strong);font-weight:700}.error-text{color:#b42318;font-weight:700;padding:0}.required-mark{color:#b42318;font-weight:800}.empty-state{color:var(--text-soft)}.empty-state strong{color:var(--text-main)}.loading-stack{display:grid;gap:12px}.loading-skeleton{height:18px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0f2,#fffffff2,#e2e8f0f2);background-size:220px 100%;animation:shimmer 1.3s infinite linear}@media (max-width: 1024px){.login-layout,.grid.two-column,.grid.three-column,.metric-grid{grid-template-columns:1fr}.login-layout{min-height:auto;align-items:stretch}}@media (max-width: 720px){.login-layout,.workspace{padding:18px}.hero-panel,.login-card,.panel,.metric-card{border-radius:20px}.hero-panel,.login-card,.panel{padding:20px}.topbar,.stat-row,.action-row,.branch-item{flex-direction:column;align-items:flex-start}.workspace-brand-lockup{align-items:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.primary-button,.secondary-button,.ghost-button{width:100%;justify-content:center}}@media (max-width: 560px){.login-layout,.workspace{padding:14px}.login-layout{gap:18px}.hero-panel,.login-card,.panel{padding:16px}.metric-grid{grid-template-columns:1fr}.brand-logo-compact{width:82px}input,select{padding:13px 14px}.status-text,.error-text,.center-message{padding-left:0;padding-right:0}}@keyframes shimmer{0%{background-position:-220px 0}to{background-position:220px 0}}.employee-seed-list,.employee-seed-card,.admin-form-grid{display:grid}.employee-seed-list,.admin-form-grid{gap:14px}.auth-panel{display:grid;gap:22px}.auth-panel-header{display:grid;gap:14px}.auth-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:18px;background:#2563eb14}.auth-toggle-button{border:none;border-radius:14px;padding:12px 14px;background:transparent;color:var(--text-soft);font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.auth-toggle-button.active{background:#fff;color:var(--primary-strong);box-shadow:0 10px 24px #2563eb1f}.auth-section-intro{margin-bottom:0}.auth-form-note{margin:-6px 0 0}.auth-inline-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.auth-text-button{border:none;padding:0;background:transparent;color:var(--primary-strong);font-weight:700;cursor:pointer}.auth-section{display:grid;gap:16px;padding:18px;border-radius:20px;background:#eff6ffe0;border:1px solid rgba(37,99,235,.08)}.auth-section-title{display:grid;gap:4px}.auth-section-heading{align-items:center}.auth-inline-note{font-size:.92rem}.auth-brand-panel{display:grid;gap:18px;align-content:start;min-height:auto;position:relative;overflow:hidden;background:radial-gradient(circle at top,rgba(191,219,254,.35),transparent 42%),linear-gradient(180deg,#fffffff5,#f7fbfff0)}.auth-brand-stack{display:grid;gap:10px;justify-items:center}.auth-brand-logo{width:min(100%,240px);filter:drop-shadow(0 18px 36px rgba(29,78,216,.14))}.auth-brand-fullform{margin:0;color:#4f6789;font-size:.92rem;font-weight:700;line-height:1.35;text-align:center;max-width:30ch}.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.auth-feature-card{display:grid;justify-items:center;gap:8px;padding:14px 10px 12px;border-radius:18px;background:#ffffffd1;border:1px solid rgba(37,99,235,.1);box-shadow:0 10px 24px #2563eb0f;min-height:108px}.auth-feature-card strong{font-size:.94rem;line-height:1.1}.auth-feature-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--primary);background:#dbeafee6}.auth-feature-icon svg{width:22px;height:22px}.auth-feature-icon svg path{stroke:currentColor}.employee-seed-card{gap:12px;padding:16px;border-radius:16px;background:#eff6ffeb}@media (max-width: 1024px){.login-layout{grid-template-columns:1fr;gap:20px}.auth-brand-panel{order:1;max-width:760px;width:100%;margin:0 auto}.auth-panel{order:2;max-width:760px;width:100%;margin:0 auto}}@media (max-width: 720px){.auth-panel{gap:18px}.auth-inline-actions{flex-direction:column;align-items:stretch}.auth-toggle{gap:6px;padding:5px}.auth-toggle-button{padding:11px 12px;font-size:.94rem}.auth-section{padding:16px;gap:14px}.auth-brand-panel{gap:12px;padding-top:18px;padding-bottom:18px}.auth-brand-logo{width:min(100%,170px)}.auth-brand-fullform{font-size:.76rem;max-width:34ch}.auth-feature-grid{gap:8px;max-width:100%}.auth-feature-card{min-height:92px;padding:12px 8px 10px}}@media (max-width: 560px){.login-card.auth-panel{padding-top:18px}.auth-panel-header{gap:12px}.auth-toggle-button{min-height:46px}.auth-section{padding:14px;border-radius:18px}.auth-brand-panel{padding-top:14px;padding-bottom:14px;gap:10px}.auth-brand-logo{width:min(100%,152px)}.auth-brand-fullform{font-size:.72rem;max-width:30ch}.auth-feature-card{min-height:84px;border-radius:16px;gap:7px}.employee-seed-card{padding:14px}}.employee-header-actions{display:flex;align-items:center;gap:12px}.employee-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.employee-sidebar{position:sticky;top:20px;display:grid;gap:16px;padding:20px;border-radius:24px;background:#fffffff5;border:1px solid rgba(37,99,235,.1);box-shadow:0 20px 45px #2563eb14}.employee-sidebar-header{display:grid;gap:6px}.employee-nav{display:grid;gap:10px}.employee-nav-button{width:100%;border:1px solid transparent;background:#eff6fff2;color:var(--text-main);border-radius:16px;padding:12px 14px;text-align:left;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.employee-nav-button:hover{border-color:#2563eb2e;transform:translateY(-1px)}.employee-nav-button.active{background:linear-gradient(135deg,#2563eb2e,#3b82f61a);border-color:#2563eb42;color:var(--primary-strong)}.employee-content{min-width:0;display:grid;gap:24px}.employee-drawer-button{display:none}.employee-metric-grid{margin-bottom:0}.mark-attendance-panel{display:grid;gap:18px}.mark-attendance-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.compact-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.single-camera-panel{grid-template-columns:1fr}.camera-panel video,.camera-panel img,.evidence-stack img{width:100%;border-radius:18px;background:#eaf2fb;min-height:220px;object-fit:cover}.step-list{display:grid;gap:14px}.step-card{padding:16px;border-radius:16px;background:#eff6ffeb;display:grid;gap:12px;grid-template-columns:auto 1fr;align-items:start}.step-card strong,.step-card span,.tutorial-step strong,.tutorial-step span{display:block}.step-card span,.tutorial-step span{color:var(--text-soft)}.step-card.complete{background:#dbeafef5;border:1px solid rgba(37,99,235,.14)}.step-index,.tutorial-step-number{border-radius:999px;display:grid;place-items:center;background:#14213d;color:#fff;font-weight:800}.step-index{width:32px;height:32px}.success-card{margin-top:18px;border:1px solid rgba(37,99,235,.16);background:#eff6fff5}.summary-image{width:min(180px,100%);border-radius:16px;border:1px solid rgba(37,99,235,.1)}.status-card-row{display:grid;gap:12px;margin-top:14px}.status-chip{color:#14213d;font-weight:700}.status-chip.success,.status-chip.warning{background:#dbeafefa;color:var(--primary-strong)}.attendance-action-row{justify-content:flex-start;align-items:stretch;gap:12px}.attendance-action-row .primary-button,.attendance-action-row .secondary-button,.attendance-action-row .ghost-button{width:auto;min-width:170px}.tutorial-toolbar{justify-content:flex-end;margin-bottom:18px}.tutorial-button{width:auto}.prep-card-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.prep-card{padding:16px;border-radius:18px;background:#eff6ffeb;border:1px solid rgba(37,99,235,.1);display:grid;gap:10px}.prep-button{width:100%}.gps-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;border-radius:999px;background:#dbeafeb3;color:var(--text-soft);font-size:.82rem;font-weight:700}.gps-badge.inside{background:#dbeafef5;color:var(--primary-strong)}.gps-badge.outside{background:#fee2e2f5;color:#b91c1c}.gps-lock-button{border:1px solid rgba(37,99,235,.12);background:#eff6fff5;color:var(--primary-strong)}.gps-lock-button.inside{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-color:#2563eb38}.gps-lock-button.outside{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc262642}.prep-value{color:var(--text-soft);font-size:.92rem;line-height:1.45;word-break:break-word}.prep-subvalue{color:var(--text-soft);font-size:.84rem;line-height:1.5}.attendance-insight-row{grid-template-columns:repeat(2,minmax(0,1fr))}.highlight-chip{border:1px solid rgba(37,99,235,.08);background:#eff6ffeb}.submit-attendance-card{padding:18px;border-radius:20px;background:#eff6fff0;border:1px solid rgba(37,99,235,.1);display:grid;gap:14px}.employee-help-steps{margin-top:0}.empty-media{width:100%;min-height:220px;border-radius:18px;background:linear-gradient(135deg,#dbeafeeb,#eff6fff7);display:grid;place-items:center;padding:18px;color:var(--text-soft);text-align:center}.tutorial-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:#16305570;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tutorial-modal{width:min(92vw,640px);padding:24px;border-radius:24px;background:#fffffff7;box-shadow:0 24px 60px #1118272e;display:grid;gap:14px}.profile-setup-backdrop{z-index:40}.profile-setup-modal{width:min(92vw,720px)}.profile-setup-header{display:flex;align-items:center;gap:16px}.profile-setup-header .profile-avatar{width:72px;height:72px}.profile-setup-camera{margin-top:4px}.profile-setup-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.leave-form-grid .grid,.leave-form-grid label{min-width:0}.leave-form-grid input[type=date],.leave-form-grid input[type=month],.leave-form-grid input[type=time],.leave-form-grid select,.leave-form-grid input{width:100%;min-width:0;max-width:100%}.tutorial-modal h3{margin:0}.tutorial-steps{display:grid;gap:12px;margin-top:4px}.tutorial-step{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border-radius:18px;background:#eff6fff5;border:1px solid transparent;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.tutorial-step.active{background:#dbeafef2;border-color:#2563eb38;box-shadow:0 10px 24px #2563eb24;transform:translateY(-1px)}.tutorial-step-number{width:38px;height:38px}.tutorial-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;flex-wrap:wrap}@media (max-width: 1024px){.employee-shell{grid-template-columns:1fr}.employee-sidebar{display:none;position:static;margin-top:-8px}.employee-sidebar.open{display:grid}.employee-drawer-button{display:inline-flex}.compact-step-list,.prep-card-grid,.attendance-insight-row{grid-template-columns:1fr}.profile-setup-header{align-items:flex-start}.profile-setup-actions,.camera-panel{grid-template-columns:1fr}}@media (max-width: 720px){.leave-form-grid .grid.two-column,.leave-form-grid .grid.three-column{grid-template-columns:1fr}.employee-header-actions{width:100%}.employee-header-actions .ghost-button{flex:1}.mark-attendance-header{flex-direction:column;align-items:stretch}.camera-panel video,.camera-panel img,.evidence-stack img{min-height:180px}.attendance-action-row .primary-button,.attendance-action-row .secondary-button,.attendance-action-row .ghost-button{width:100%;min-width:0}.tutorial-actions{flex-direction:column}.tutorial-step{grid-template-columns:1fr}.tutorial-modal{width:100%;max-height:88vh;overflow-y:auto;padding:20px;border-radius:20px}.tutorial-step-number{width:34px;height:34px}}@media (max-width: 560px){.employee-shell{gap:16px}.employee-sidebar{padding:16px;border-radius:20px}.tutorial-backdrop{padding:12px}.tutorial-modal{padding:16px;gap:12px;border-radius:18px}.tutorial-steps{gap:10px}.tutorial-step{padding:14px;gap:10px}.tutorial-step strong{font-size:1rem}.tutorial-step span{font-size:.92rem}.tutorial-step-number{width:32px;height:32px;font-size:.92rem}.step-card{grid-template-columns:1fr}.prep-card,.submit-attendance-card{padding:14px}}.data-table{width:100%;border-collapse:collapse}.admin-header-actions{display:flex;align-items:center;gap:12px}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.admin-sidebar{position:sticky;top:20px;display:grid;gap:16px;padding:20px;border-radius:24px;background:#fffffff5;border:1px solid rgba(37,99,235,.1);box-shadow:0 20px 45px #2563eb14}.admin-sidebar-header{display:grid;gap:6px}.admin-nav{display:grid;gap:10px}.admin-nav-button{width:100%;border:1px solid transparent;background:#eff6fff2;color:var(--text-main);border-radius:16px;padding:12px 14px;text-align:left;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.admin-nav-button:hover{border-color:#2563eb2e;transform:translateY(-1px)}.admin-nav-button.active{background:linear-gradient(135deg,#2563eb2e,#3b82f61a);border-color:#2563eb42;color:var(--primary-strong)}.admin-content{min-width:0;display:grid;gap:24px}.tab-transition{animation-duration:.22s;animation-timing-function:ease}.tab-transition-left{animation-name:tab-slide-left}.tab-transition-right{animation-name:tab-slide-right}@keyframes tab-slide-left{0%{opacity:.5;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes tab-slide-right{0%{opacity:.5;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.admin-drawer-button{display:none}.desktop-table{display:table}.responsive-table-shell{width:100%;overflow-x:auto}.responsive-table-shell .data-table{min-width:860px}.employee-attendance-table-shell .data-table{min-width:560px}.data-table th,.data-table td{text-align:left;padding:14px 12px;border-bottom:1px solid rgba(20,33,61,.08);vertical-align:top}.data-table th{color:var(--text-soft);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.table-subtext{color:var(--text-soft);font-size:.85rem;margin-top:4px}.table-action-row{display:flex;flex-wrap:wrap;gap:8px}.compact-button{padding:10px 12px;border-radius:12px;font-size:.88rem}.danger-button{color:var(--primary-strong);background:#2563eb1a}.evidence-stack{display:grid;gap:10px;min-width:120px}.evidence-item{display:grid;gap:6px}.evidence-item span{color:var(--text-soft);font-size:.8rem}.evidence-thumbnail-stack{grid-template-columns:repeat(2,minmax(56px,72px))}.evidence-thumb-button{border:none;padding:0;background:transparent;cursor:pointer}.evidence-thumb-button img{width:68px;height:68px;min-height:68px;object-fit:cover;border-radius:14px;border:1px solid rgba(37,99,235,.1)}.attendance-card-list{display:none;gap:12px}.attendance-card{padding:16px;border-radius:16px;background:#eff6fff0;display:grid;gap:14px}.attendance-card-header,.attendance-card-grid{display:grid;gap:10px}.attendance-card-header{grid-template-columns:1fr auto;align-items:start}.attendance-card-grid{grid-template-columns:1fr 1fr}.attendance-card-grid span{color:var(--text-soft)}.attendance-card-grid strong{word-break:break-word}.attendance-card-evidence{display:grid;gap:10px}.tracking-card-list,.tracking-point-list{display:grid;gap:14px}.tracking-card{padding:16px;border-radius:16px;background:#eff6fff0;display:grid;gap:14px}.tracking-card-header,.tracking-card-summary,.tracking-point{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.tracking-card-summary{color:var(--text-soft)}.tracking-point{text-decoration:none;color:inherit;padding:14px;border-radius:16px;background:#fffffff5;border:1px solid rgba(37,99,235,.1)}.tracking-point div{display:grid;gap:4px}.tracking-point span{color:var(--text-soft)}.tracking-point-order{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#14213d;color:#fff!important;font-weight:800;flex-shrink:0}.date-filter{display:grid;gap:8px;min-width:180px;width:min(100%,260px)}.date-filter input{width:100%;min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.payroll-period-filter{min-width:0;width:min(100%,260px)}.action-list{display:grid;gap:12px;margin-top:8px}.action-item{font-weight:600}.payroll-summary-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.employee-card-list,.payroll-card-list{gap:14px}.payroll-card-identity{display:grid;gap:4px}.payroll-card-highlight{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#2563eb1f,#bfdbfe6b)}.payroll-card-highlight span{color:var(--text-soft);font-size:.84rem}.payroll-card-highlight strong{font-size:1.15rem}.payroll-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-action-grid{align-items:start}.grid.two-column.payroll-action-grid{grid-template-columns:minmax(0,1fr)}.payroll-action-grid>.panel{min-width:0}.payroll-advance-form label{min-width:0}.payroll-date-input,.payroll-period-input{min-width:0;max-width:100%;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.card-action-row{margin-top:6px}.image-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16305580;display:grid;place-items:center;padding:18px;z-index:20}.image-modal-card{width:min(92vw,720px);background:#fffffff2;border-radius:24px;padding:18px;display:grid;gap:12px;box-shadow:0 24px 60px #1118272e}.image-modal-card img{width:100%;max-height:78vh;object-fit:contain;border-radius:18px;background:#eef6ff}.image-modal-close{justify-self:end}@media (max-width: 1440px){.payroll-summary-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:none;position:static;margin-top:-8px}.admin-sidebar.open{display:grid}.admin-drawer-button{display:inline-flex}.payroll-summary-grid{grid-template-columns:1fr}}@media (max-width: 720px){.admin-header-actions{width:100%}.admin-header-actions .ghost-button{flex:1}.topbar,.table-action-row,.tracking-card-header,.tracking-card-summary,.tracking-point{flex-direction:column;align-items:flex-start}.data-table{display:block;overflow-x:auto}.payroll-card-list{display:grid}.evidence-thumb-button img{width:60px;height:60px;min-height:60px}}@media (max-width: 560px){.admin-shell{gap:16px}.admin-sidebar{padding:16px;border-radius:20px}.desktop-table{display:none}.attendance-card-list{display:grid}.data-table th,.data-table td{padding:12px 10px;font-size:.92rem}.attendance-card-grid{grid-template-columns:1fr}.responsive-table-shell.force-table-view .desktop-table{display:table}.employee-attendance-table-shell .data-table th,.employee-attendance-table-shell .data-table td{padding:10px 8px;font-size:.84rem}.payroll-card-grid{grid-template-columns:1fr}.payroll-card-highlight{padding:12px 14px}.date-filter,.date-filter input{min-width:100%;width:100%}.payroll-period-filter{max-width:100%}}.attendance-overview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.attendance-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;align-items:end}.attendance-filter-bar label{display:grid;gap:8px;min-width:0}.attendance-filter-bar input,.attendance-filter-bar select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.attendance-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.attendance-day-panel,.attendance-detail-panel{display:grid;gap:16px;margin-top:20px;padding:18px;border-radius:20px;background:#eff6ff80;border:1px solid rgba(37,99,235,.12)}.attendance-day-panel-head,.attendance-detail-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.attendance-day-panel-head div,.attendance-detail-panel-head div{display:grid;gap:4px}.attendance-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.attendance-day-card{display:grid;gap:12px;padding:16px;border-radius:18px;background:#fffffff5;border:1px solid rgba(37,99,235,.1)}.attendance-day-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.attendance-day-card-head div{display:grid;gap:4px}.attendance-day-card-head span:not(.pill),.attendance-day-card-meta,.attendance-absence-card span,.attendance-detail-summary span{color:var(--text-soft)}.attendance-day-card-meta{display:grid;gap:6px;font-size:.92rem}.attendance-day-card-hours{font-size:1rem}.attendance-absence-card{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:#fffffff5;border:1px dashed rgba(37,99,235,.18)}.attendance-detail-summary{display:grid;gap:4px;min-width:110px;padding:12px 14px;border-radius:14px;background:#ffffffe6;text-align:right}.detailed-attendance-filter-bar{grid-template-columns:minmax(0,1.5fr) minmax(180px,260px) minmax(180px,1fr)}.employee-attendance-panel{gap:18px}.employee-attendance-header{margin-bottom:0}.attendance-inline-summary{display:grid;gap:8px;align-self:stretch;padding:14px 16px;border-radius:16px;background:#eff6ffb8;border:1px solid rgba(37,99,235,.1)}.attendance-inline-summary .label{font-size:.84rem}.employee-attendance-table-card{display:grid;gap:12px;padding:14px;border-radius:20px;background:#eff6ff9e;border:1px solid rgba(37,99,235,.1)}.employee-attendance-table-note{font-size:.9rem}.detailed-attendance-metric-grid{margin-top:0}@media (max-width: 1100px){.attendance-metric-grid,.attendance-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 840px){.attendance-filter-bar,.detailed-attendance-filter-bar,.attendance-metric-grid,.attendance-day-grid{grid-template-columns:1fr}.attendance-overview-header,.attendance-day-panel-head,.attendance-detail-panel-head{flex-direction:column;align-items:flex-start}.attendance-detail-summary{text-align:left;min-width:0}}@media (max-width: 560px){.employee-attendance-panel{padding:18px}.employee-attendance-header h3{font-size:1.25rem}.employee-attendance-table-card{padding:12px;border-radius:16px}.employee-attendance-table-note{font-size:.84rem}}.leave-balance-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.leave-card-list{gap:14px}.leave-form-grid{display:grid;gap:16px}.holiday-list,.holiday-item{gap:12px}.spacer-sm{height:12px}.correction-card-list{gap:14px}.audit-trail{display:grid;gap:10px}.audit-item{display:grid;gap:4px;padding-top:10px;border-top:1px solid rgba(37,99,235,.08)}@media (max-width: 1024px){.leave-balance-grid{grid-template-columns:1fr}}.employee-import-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.file-picker{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px dashed rgba(37,99,235,.24);background:#eff6ffcc;cursor:pointer;font-weight:700}.file-picker input{display:none}.employee-import-textarea{display:grid;gap:10px}.employee-import-textarea textarea{min-height:180px;resize:vertical}.employee-import-preview,.employee-import-results{display:grid;gap:14px}.employee-import-summary{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-soft);font-weight:700}.import-preview-list{display:grid}.employee-inline-panel{display:grid;gap:16px;padding:18px;border-radius:18px;background:#eff6ffc7;border:1px solid rgba(37,99,235,.12)}.employee-directory-layout{display:grid;gap:20px}.employee-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee-summary-card{border:1px solid rgba(37,99,235,.12);background:#eff6ffc7;border-radius:18px;padding:18px;display:grid;gap:16px;text-align:left;color:inherit}.employee-summary-card.active{background:#dbeafeeb;border-color:#2563eb42;box-shadow:0 16px 30px #2563eb14}.employee-summary-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.employee-summary-card-person{display:flex;align-items:center;gap:12px;min-width:0}.employee-summary-card-person div{display:grid;gap:4px;min-width:0}.employee-card-avatar{width:46px;height:46px}.employee-summary-card-head div{display:grid;gap:4px}.employee-summary-card-head span:not(.pill){color:var(--text-soft)}.employee-summary-pay{display:grid;gap:6px}.employee-summary-pay span{color:var(--text-soft);font-size:.88rem}.employee-summary-pay strong{font-size:1.25rem}.employee-detail-card{display:grid;gap:18px;padding:22px;border-radius:20px;background:#fffffff5;border:1px solid rgba(37,99,235,.12)}.employee-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-detail-stat{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:#eff6ffb8}.employee-detail-stat span{color:var(--text-soft);font-size:.84rem}.employee-detail-stat strong{line-height:1.3}.employee-detail-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.employee-detail-person{display:flex;align-items:center;gap:14px}.employee-detail-header div{display:grid;gap:6px}.employee-detail-avatar{width:60px;height:60px}.employee-detail-header h4{margin:0;font-size:1.45rem}.employee-detail-header .muted{margin:0}.employee-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.employee-detail-grid-compact{align-items:start}.employee-detail-grid span{color:var(--text-soft)}.employee-detail-grid strong{word-break:break-word}.employee-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.employee-mini-panel{display:grid;gap:12px;padding:16px;border-radius:16px;background:#eff6ff9e}.employee-collapsible-list{display:grid;gap:12px}.employee-collapsible{border-radius:18px;border:1px solid rgba(37,99,235,.12);background:#eff6ff94;overflow:hidden}.employee-collapsible-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.employee-collapsible-summary::-webkit-details-marker{display:none}.employee-collapsible-summary div{display:grid;gap:4px}.employee-collapsible-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#ffffffe6;color:var(--primary-strong);font-size:1.1rem;font-weight:700;flex-shrink:0}.employee-collapsible[open] .employee-collapsible-icon{transform:rotate(45deg)}.employee-collapsible-content{display:grid;gap:14px;padding:0 18px 18px}.employee-mini-panel-head{display:grid;gap:4px}.employee-mini-list{display:grid;gap:10px}.employee-mini-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.employee-mini-item div{display:grid;gap:4px}.employee-mini-item span{color:var(--text-soft);font-size:.88rem}.pill-success{background:#2563eb24;color:var(--primary-strong)}.pill-warning{background:#bfdbfead;color:var(--text-main)}.branch-management-grid{align-items:start}.branch-card-list{gap:14px}.branch-policy-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.branch-management-grid label,.branch-policy-grid label,.branch-management-grid input,.branch-management-grid select{min-width:0}.branch-management-grid input[type=time],.branch-management-grid input[type=date],.branch-management-grid input[type=month],.branch-management-grid input[type=number],.branch-management-grid input[type=text],.branch-management-grid select{width:100%;max-width:100%;box-sizing:border-box}.form-helper-text{margin:-4px 0 0;font-size:.92rem}@media (max-width: 840px){.employee-summary-grid,.employee-detail-summary,.employee-detail-grid{grid-template-columns:1fr}.employee-detail-header{flex-direction:column;align-items:flex-start}.employee-detail-person{align-items:flex-start}.employee-detail-actions,.employee-mini-item{flex-direction:column}.employee-import-actions{flex-direction:column;align-items:stretch}.file-picker{justify-content:center}.branch-management-grid{grid-template-columns:1fr}}.workspace-with-dock{padding-bottom:132px}.workspace-with-dock .admin-shell,.workspace-with-dock .employee-shell{grid-template-columns:minmax(0,1fr)}.workspace-with-dock .admin-sidebar,.workspace-with-dock .employee-sidebar{display:none!important}.workspace-with-dock .admin-drawer-button,.workspace-with-dock .employee-drawer-button{display:inline-flex!important}.workspace-with-dock .admin-sidebar.open,.workspace-with-dock .employee-sidebar.open{position:fixed;top:88px;left:24px;right:24px;z-index:28;display:grid!important;max-height:calc(100vh - 132px);overflow-y:auto;border-radius:28px;background:#fffffff5;box-shadow:0 24px 60px #0f172a38;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:27;border:0;padding:0;background:#0f172a3d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.floating-tab-dock{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(calc(100vw - 28px),1080px);z-index:26;pointer-events:none}.floating-tab-dock-track{display:flex;align-items:center;gap:10px;width:100%;padding:10px;overflow-x:auto;border-radius:999px;background:linear-gradient(135deg,#0f172aa8,#2563eb42);border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 42px #0f172a38;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);pointer-events:auto;scrollbar-width:none;transition:padding .18s ease,border-radius .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.floating-tab-dock-track::-webkit-scrollbar{display:none}.floating-tab-dock-button{flex:0 0 auto;border:1px solid transparent;border-radius:999px;padding:14px 20px;background:#ffffff14;color:#ffffffe0;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:padding .18s ease,transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;white-space:nowrap}.floating-tab-dock-button:hover{transform:translateY(-1px);background:#ffffff1f}.floating-tab-dock-button.active{background:#ffffff2e;color:#fff;border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff2e}.floating-tab-dock-label,.floating-tab-dock-compact-label{display:block}.floating-tab-dock-compact-label{display:none}.floating-tab-dock-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.floating-tab-dock-icon svg{width:20px;height:20px;stroke:currentColor}.floating-tab-dock.compact .floating-tab-dock-track{padding:7px 8px;background:linear-gradient(135deg,#0f172a8a,#2563eb2e);box-shadow:0 14px 34px #0f172a2e}.floating-tab-dock.compact .floating-tab-dock-button{padding:10px 14px;font-size:.86rem}.floating-tab-dock.compact .floating-tab-dock-label{display:none}.floating-tab-dock.compact .floating-tab-dock-compact-label{display:inline-flex;align-items:center;justify-content:center}@media (max-width: 720px){.workspace-with-dock{padding-bottom:120px}.floating-tab-dock{width:calc(100vw - 20px);bottom:12px}.floating-tab-dock-track{gap:8px;padding:8px}.floating-tab-dock-button{padding:12px 16px;font-size:.9rem}.workspace-with-dock .admin-sidebar.open,.workspace-with-dock .employee-sidebar.open{top:68px;left:0;right:0;bottom:88px;max-height:none;padding:18px 16px 24px;border-radius:24px 24px 0 0}.workspace-with-dock .admin-nav,.workspace-with-dock .employee-nav{gap:8px}.workspace-with-dock .admin-nav-button,.workspace-with-dock .employee-nav-button{padding:14px 16px;border-radius:14px;font-size:.96rem}}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}.splash-screen.is-visible{opacity:1;visibility:visible}.splash-screen.is-hidden{opacity:0;visibility:hidden}.splash-screen__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(37,99,235,.34),transparent 34%),radial-gradient(circle at top right,rgba(96,165,250,.25),transparent 36%),radial-gradient(circle at bottom,#bfdbfeb8,#fffffffa 56%),linear-gradient(180deg,#f3f8ff,#fff)}.splash-screen__card{position:relative;width:min(900px,100%);display:grid;gap:30px;animation:splash-card-rise .56s ease}.splash-screen__hero{display:grid;justify-items:center;gap:10px}.splash-screen__monogram{position:relative;width:220px;height:220px;animation:splash-logo-float 2.4s ease-in-out infinite}.splash-screen__monogram-ring{position:absolute;top:8px;right:8px;bottom:8px;left:30px;border-radius:999px;border:18px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#1363df,#2563eb 38%,#4338ca) border-box;box-shadow:0 22px 44px #1d4ed824}.splash-screen__monogram-stem{position:absolute;left:32px;bottom:16px;width:32px;height:126px;border-radius:999px;background:linear-gradient(180deg,#0f5ee0,#153f9b);box-shadow:0 18px 34px #153f9b2e}.splash-screen__monogram-person{position:absolute;bottom:52px;border-radius:999px 999px 28px 28px}.splash-screen__monogram-person:before{content:"";position:absolute;left:50%;transform:translate(-50%);border-radius:999px}.splash-screen__monogram-person--center{left:92px;width:44px;height:86px;background:linear-gradient(180deg,#2563eb,#1d3fc0)}.splash-screen__monogram-person--center:before{bottom:94px;width:38px;height:38px;background:#2563eb}.splash-screen__monogram-person--left{left:58px;width:28px;height:58px;background:linear-gradient(180deg,#34c759,#16a34a)}.splash-screen__monogram-person--left:before{bottom:64px;width:24px;height:24px;background:#22c55e}.splash-screen__monogram-person--right{right:42px;width:28px;height:58px;background:linear-gradient(180deg,#fb923c,#f97316)}.splash-screen__monogram-person--right:before{bottom:64px;width:24px;height:24px;background:#fb923c}.splash-screen__wordmark{margin:0;position:relative;font-size:clamp(3.4rem,10vw,7rem);line-height:.95;font-weight:800;letter-spacing:-.06em;color:#133e96;overflow:hidden;animation:splash-fade-up .62s ease .12s both}.splash-screen__wordmark:after{content:"";position:absolute;top:-10%;right:-30%;bottom:-10%;left:-30%;background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.12) 40%,rgba(255,255,255,.86) 50%,rgba(255,255,255,.12) 60%,transparent 72%);transform:translate(-155%) skew(-18deg);animation:splash-wordmark-sweep 2.4s ease-in-out .9s infinite;pointer-events:none}.splash-screen__tagline{display:flex;align-items:center;gap:18px;color:#243b61;animation:splash-fade-up .62s ease .22s both}.splash-screen__tagline span{width:72px;height:2px;border-radius:999px;background:#243b6147}.splash-screen__tagline p{margin:0;font-size:clamp(1rem,2.2vw,1.8rem);font-weight:600;text-align:center}.splash-screen__features{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.splash-screen__feature{display:grid;justify-items:center;gap:10px;text-align:center;color:#19315a;animation:splash-fade-up .62s ease both}.splash-screen__feature:nth-child(1){animation-delay:.26s}.splash-screen__feature:nth-child(2){animation-delay:.34s}.splash-screen__feature:nth-child(3){animation-delay:.42s}.splash-screen__feature:nth-child(4){animation-delay:.5s}.splash-screen__feature:nth-child(5){animation-delay:.58s}.splash-screen__feature strong{font-size:1rem;line-height:1.2}.splash-screen__feature-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:#ffffffe6;box-shadow:0 14px 34px #1d4ed814}.splash-screen__feature-icon svg{width:42px;height:42px}.splash-screen__feature-icon--green{color:#22c55e}.splash-screen__feature-icon--blue{color:#2563eb}.splash-screen__feature-icon--violet{color:#7c3aed}.splash-screen__feature-icon--orange{color:#f97316}.splash-screen__feature-icon--teal{color:#14b8a6}.splash-screen__feature-icon svg path{stroke:currentColor}.splash-screen__loader{display:flex;justify-content:center;gap:10px;animation:splash-fade-up .62s ease .42s both}.splash-screen__loader span{width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);animation:splash-dot-bounce 1s ease-in-out infinite}.splash-screen__loader span:nth-child(2){animation-delay:.14s}.splash-screen__loader span:nth-child(3){animation-delay:.28s}@keyframes splash-dot-bounce{0%,80%,to{opacity:.35;transform:translateY(0) scale(.9)}40%{opacity:1;transform:translateY(-6px) scale(1)}}@keyframes splash-logo-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.015)}}@keyframes splash-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-card-rise{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes splash-wordmark-sweep{0%,62%,to{transform:translate(-155%) skew(-18deg)}22%,38%{transform:translate(155%) skew(-18deg)}}@media (max-width: 640px){.splash-screen{padding:18px}.splash-screen__card{width:min(520px,100%);gap:22px}.splash-screen__logo{width:min(100%,200px)}.splash-screen__monogram{width:168px;height:168px}.splash-screen__monogram-ring{top:6px;right:6px;bottom:6px;left:22px;border-width:14px}.splash-screen__monogram-stem{left:24px;bottom:14px;width:24px;height:98px}.splash-screen__monogram-person--center{left:69px;width:34px;height:66px}.splash-screen__monogram-person--center:before{bottom:74px;width:28px;height:28px}.splash-screen__monogram-person--left{left:44px;width:22px;height:44px}.splash-screen__monogram-person--left:before,.splash-screen__monogram-person--right:before{bottom:50px;width:18px;height:18px}.splash-screen__monogram-person--right{right:31px;width:22px;height:44px}.splash-screen__tagline{gap:10px}.splash-screen__tagline span{width:34px}.splash-screen__features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.splash-screen__feature:last-child{grid-column:1 / -1}.splash-screen__feature-icon{width:66px;height:66px;border-radius:20px}.splash-screen__feature-icon svg{width:36px;height:36px}}
