.confirm-overlay[data-v-1e3802d8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9998;display:flex;align-items:flex-end;justify-content:center;padding:0}.confirm-sheet[data-v-1e3802d8]{background:#fff;border-radius:var(--radius) var(--radius) 0 0;padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0));width:100%;max-width:var(--max-w);box-shadow:0 -8px 32px #00000026}.confirm-handle[data-v-1e3802d8]{width:40px;height:4px;background:var(--gray-200);border-radius:2px;margin:0 auto 20px}.confirm-title[data-v-1e3802d8]{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:8px}.confirm-message[data-v-1e3802d8]{font-size:.95rem;color:var(--gray-600);line-height:1.5;margin-bottom:24px}.confirm-actions[data-v-1e3802d8]{display:flex;gap:12px}.confirm-btn-cancel[data-v-1e3802d8],.confirm-btn-ok[data-v-1e3802d8]{flex:1}.confirm-fade-enter-active,.confirm-fade-leave-active{transition:opacity .2s ease}.confirm-fade-enter-active .confirm-sheet,.confirm-fade-leave-active .confirm-sheet{transition:transform .25s ease}.confirm-fade-enter-from,.confirm-fade-leave-to{opacity:0}.confirm-fade-enter-from .confirm-sheet,.confirm-fade-leave-to .confirm-sheet{transform:translateY(100%)}.mobile-app{min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%236069ff' fill-opacity='0.1' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");background-size:304px 304px;background-repeat:repeat}.offline-bar{position:sticky;top:0;z-index:999;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:.875rem;font-weight:600;text-align:center;border-bottom:1px solid #fcd34d;box-shadow:0 1px 3px #0000000f}.offline-bar-icon{flex-shrink:0;opacity:.9}.offline-bar-enter-active,.offline-bar-leave-active{transition:transform .25s ease,opacity .25s ease}.offline-bar-enter-from,.offline-bar-leave-to{transform:translateY(-100%);opacity:0}.toast-fade-enter-active,.toast-fade-leave-active{transition:all .3s var(--spring)}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%) translateY(24px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #e0e7ff;--secondary: #0ea5e9;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-400: #94a3b8;--gray-600: #475569;--gray-800: #1e293b;--text: #0f172a;--radius: 16px;--radius-sm: 12px;--radius-lg: 24px;--radius-xl: 28px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0);--safe-left: env(safe-area-inset-left, 0);--safe-right: env(safe-area-inset-right, 0);--shadow: 0 4px 20px rgba(0,0,0,.08);--shadow-sm: 0 2px 12px rgba(0,0,0,.05);--shadow-lg: 0 12px 40px rgba(99,102,241,.2);--transition: .3s cubic-bezier(.25, .46, .45, .94);--spring: .4s cubic-bezier(.34, 1.56, .64, 1);--touch-target: 44px;--scroll-track: transparent;--scroll-thumb: rgba(15, 23, 42, .2);--scroll-thumb-strong: rgba(15, 23, 42, .35)}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;min-height:100dvh}html,body{font-family:Cairo,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;color:var(--text);direction:rtl;min-height:100dvh;min-height:-webkit-fill-available;height:100%;width:100%;max-width:100vw;overflow-x:hidden;overscroll-behavior-y:contain;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;touch-action:manipulation;user-select:none;-webkit-user-select:none;background:var(--gray-100);-webkit-font-smoothing:antialiased}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}html,body{-ms-overflow-style:none;scrollbar-width:none}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text}@supports (padding: env(safe-area-inset-top)){body{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}}@media(display-mode:standalone){body{background:var(--gray-100)}}#app{display:flex;flex-direction:column;min-height:100%;max-width:100vw;overflow-x:hidden;background:var(--gray-100)}#app>div:has(.bottom-nav),#app>div:has(.page-wrapper){display:flex;flex-direction:column;flex:1;min-height:100dvh;max-height:100dvh;overflow:hidden}.mobile-app>div:has(.page-wrapper){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}h1{font-size:1.75rem;font-weight:900}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch-target);padding:0 24px;border-radius:var(--radius-sm);border:none;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:transform var(--transition),opacity var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 16px #6366f159}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;box-shadow:0 4px 16px #22c55e4d}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-sm{min-height:36px;padding:0 16px;font-size:.875rem}.btn-block{width:100%}.card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);border:none;transition:transform var(--transition),box-shadow var(--transition);min-width:0}.card:active{transform:scale(.995);box-shadow:0 1px 8px #0000000f}.card-section{margin-bottom:18px}.input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.input-group label{font-size:.875rem;font-weight:600;color:var(--gray-600)}.input{width:100%;min-height:var(--touch-target);padding:0 16px;border:2px solid var(--gray-200);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;color:var(--text);background:#fff;transition:border-color var(--transition);outline:none;direction:rtl;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:var(--primary)}.input.error{border-color:var(--danger)}select.input{cursor:pointer}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:700}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-secondary{background:#f3f4f6;color:#4b5563}.emp-status-active{--emp-accent: #059669;--emp-accent-soft: rgba(5, 150, 105, .1);--emp-avatar-bg: #d1fae5;--emp-avatar-text: #047857}.emp-status-probation{--emp-accent: #0284c7;--emp-accent-soft: rgba(2, 132, 199, .1);--emp-avatar-bg: #dbeafe;--emp-avatar-text: #1d4ed8}.emp-status-suspended{--emp-accent: #d97706;--emp-accent-soft: rgba(217, 119, 6, .12);--emp-avatar-bg: #fef3c7;--emp-avatar-text: #b45309}.emp-status-terminated{--emp-accent: #dc2626;--emp-accent-soft: rgba(220, 38, 38, .1);--emp-avatar-bg: #fee2e2;--emp-avatar-text: #b91c1c}.emp-status-deceased{--emp-accent: #6b7280;--emp-accent-soft: rgba(107, 114, 128, .12);--emp-avatar-bg: #f3f4f6;--emp-avatar-text: #4b5563}.employee-card[class*=emp-status-]{border-inline-start:4px solid var(--emp-accent);background:linear-gradient(135deg,var(--emp-accent-soft) 0%,#fff 48%)}.employee-card[class*=emp-status-] .employee-card-avatar:not(.has-image){background:var(--emp-avatar-bg);color:var(--emp-avatar-text)}.detail-card[class*=emp-status-]{border-inline-start:4px solid var(--emp-accent);background:linear-gradient(135deg,var(--emp-accent-soft) 0%,#fff 55%)}.detail-card[class*=emp-status-] .detail-avatar:not(.has-image){background:var(--emp-avatar-bg);color:var(--emp-avatar-text)}.native-mobile-scroll,.page-wrapper,.modal-sheet,.mobile-sheet-select-list,.searchable-select-list,.face-capture-sheet,.login-page,.modal-sheet-tall,.modal-sheet-location,.location-detail-sheet,.leave-list{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;scroll-behavior:auto}.native-mobile-scroll::-webkit-scrollbar,.page-wrapper::-webkit-scrollbar,.modal-sheet::-webkit-scrollbar,.mobile-sheet-select-list::-webkit-scrollbar,.searchable-select-list::-webkit-scrollbar,.face-capture-sheet::-webkit-scrollbar,.login-page::-webkit-scrollbar,.modal-sheet-tall::-webkit-scrollbar,.modal-sheet-location::-webkit-scrollbar,.location-detail-sheet::-webkit-scrollbar,.leave-list::-webkit-scrollbar{width:5px;height:5px}.native-mobile-scroll::-webkit-scrollbar-thumb,.page-wrapper::-webkit-scrollbar-thumb,.modal-sheet::-webkit-scrollbar-thumb,.mobile-sheet-select-list::-webkit-scrollbar-thumb,.searchable-select-list::-webkit-scrollbar-thumb,.face-capture-sheet::-webkit-scrollbar-thumb,.login-page::-webkit-scrollbar-thumb,.modal-sheet-tall::-webkit-scrollbar-thumb,.modal-sheet-location::-webkit-scrollbar-thumb,.location-detail-sheet::-webkit-scrollbar-thumb,.leave-list::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:100px;border:2px solid transparent;background-clip:content-box}.native-mobile-scroll::-webkit-scrollbar-thumb:hover,.page-wrapper::-webkit-scrollbar-thumb:hover,.modal-sheet::-webkit-scrollbar-thumb:hover,.mobile-sheet-select-list::-webkit-scrollbar-thumb:hover,.searchable-select-list::-webkit-scrollbar-thumb:hover,.face-capture-sheet::-webkit-scrollbar-thumb:hover,.login-page::-webkit-scrollbar-thumb:hover,.modal-sheet-tall::-webkit-scrollbar-thumb:hover,.modal-sheet-location::-webkit-scrollbar-thumb:hover,.location-detail-sheet::-webkit-scrollbar-thumb:hover,.leave-list::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-strong);background-clip:content-box}.native-mobile-scroll::-webkit-scrollbar-track,.page-wrapper::-webkit-scrollbar-track,.modal-sheet::-webkit-scrollbar-track,.mobile-sheet-select-list::-webkit-scrollbar-track,.searchable-select-list::-webkit-scrollbar-track,.face-capture-sheet::-webkit-scrollbar-track,.login-page::-webkit-scrollbar-track,.modal-sheet-tall::-webkit-scrollbar-track,.modal-sheet-location::-webkit-scrollbar-track,.location-detail-sheet::-webkit-scrollbar-track,.leave-list::-webkit-scrollbar-track{background:var(--scroll-track)}.native-mobile-scroll,.page-wrapper,.modal-sheet,.mobile-sheet-select-list,.searchable-select-list,.face-capture-sheet,.login-page,.modal-sheet-tall,.modal-sheet-location,.location-detail-sheet,.leave-list{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.page-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;width:100%;max-width:100vw;padding:0 16px;padding-bottom:calc(72px + var(--safe-bottom))}.page-wrapper>*{flex-shrink:0;min-width:0}.page-wrapper:after{content:"";display:block;height:16px;flex-shrink:0}.page-wrapper.no-bottom-nav{padding-bottom:24px}.page-wrapper.no-bottom-nav:after{display:none}.section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-header h3{flex:1 1 auto;min-width:0;font-size:1.05rem;font-weight:700;line-height:1.3}.toast-wrap{position:fixed;bottom:calc(84px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:9999;width:calc(100% - 32px);max-width:340px;padding:0 16px}.toast{padding:16px 24px;border-radius:var(--radius);font-weight:600;font-size:.95rem;text-align:center;box-shadow:0 8px 32px #0003;animation:toastSlideUp .35s var(--spring)}.toast-success{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff}.toast-error{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff}.toast-info{background:linear-gradient(135deg,var(--secondary) 0%,#0891b2 100%);color:#fff}@keyframes toastSlideUp{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fffffffa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-around;padding:8px 8px calc(8px + var(--safe-bottom));z-index:100;box-shadow:0 -4px 24px #0000000f}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-size:.65rem;font-weight:600;color:var(--gray-400);flex:1;padding:8px 4px;min-height:54px;justify-content:center;text-align:center;white-space:normal;overflow:visible;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;border-radius:12px;margin:0 2px;transition:color var(--transition),transform var(--transition)}.bottom-nav a.router-link-active,.bottom-nav a.active{color:var(--primary);font-weight:700}.bottom-nav a:active{transform:scale(.92)}.bottom-nav a svg{width:24px!important;height:24px!important;max-width:24px;max-height:24px;flex-shrink:0}.bottom-nav button.employee-bottom-nav-more{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.65rem;font-weight:600;color:var(--gray-400);flex:1;padding:8px 4px;min-height:54px;justify-content:center;text-align:center;white-space:normal;overflow:visible;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;border-radius:12px;margin:0 2px;transition:color var(--transition),transform var(--transition);background:transparent;border:none;font-family:inherit;cursor:pointer}.bottom-nav button.employee-bottom-nav-more.active{color:var(--primary);font-weight:700}.bottom-nav button.employee-bottom-nav-more:active{transform:scale(.92)}.bottom-nav button.employee-bottom-nav-more svg{width:24px!important;height:24px!important;max-width:24px;max-height:24px;flex-shrink:0}.app-bar{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:calc(12px + var(--safe-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 2px 24px #6366f14d}.app-bar h2{color:#fff;font-size:1.15rem}.app-bar .app-bar-logo{width:36px;height:36px;object-fit:contain;border-radius:8px}.app-bar .back-btn{min-width:var(--touch-target);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;color:#fff}.app-bar .back-btn svg{width:20px;height:20px}.app-bar-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fffffff2;font-size:.9rem;font-weight:600;text-decoration:none;padding:8px 14px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);border-radius:10px;box-shadow:0 1px 2px #00000014;transition:background .15s ease,border-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.app-bar-link:hover,.app-bar-link:focus-visible{background:#ffffff42;border-color:#ffffff61;color:#fff;outline:none}.app-bar-link.router-link-active{background:#ffffff52;border-color:#ffffff80}.app-bar-links{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-bar-link-icon{flex-shrink:0;opacity:.95}@media(max-width:380px){.app-bar-link{font-size:.8rem;padding:6px 10px;border-radius:8px}}.app-bar .avatar{width:36px;height:36px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;border:2px solid rgba(255,255,255,.4)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-card{background:#fff;border-radius:var(--radius);padding:16px 14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;border:none;transition:transform var(--transition);min-width:0}.stat-card:active{transform:scale(.98)}.stat-card .stat-value{font-size:1.15rem;font-weight:800;color:var(--primary);line-height:1.2}.stat-card .stat-label{font-size:.75rem;color:var(--gray-600);font-weight:600;line-height:1.35}.stat-card .stat-icon{display:flex;align-items:center;justify-content:center}.list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--gray-100);gap:12px;min-height:var(--touch-target)}.list-item:last-child{border-bottom:none}.list-item .item-main{flex:1;min-width:0}.list-item .item-title{font-weight:700;font-size:.95rem}.list-item .item-sub{font-size:.8rem;color:var(--gray-400);margin-top:2px}.item-actions{display:flex;gap:10px;align-items:center}.icon-btn{min-width:var(--touch-target);min-height:var(--touch-target);border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition);flex-shrink:0;-webkit-tap-highlight-color:transparent}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:18px;height:18px}.icon-btn-primary{background:var(--primary);color:#fff}.icon-btn-ghost{background:var(--gray-100);color:var(--primary)}.icon-btn-danger{background:#fee2e2;color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease}.modal-sheet{background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:16px 16px calc(16px + var(--safe-bottom));width:100%;max-height:92dvh;overflow-y:auto;animation:sheetUp .35s var(--spring);box-shadow:0 -12px 48px #00000026}.modal-handle{width:36px;height:5px;background:var(--gray-200);border-radius:3px;margin:0 auto 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.avatar-lg{width:64px;height:64px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.page-wrapper>.loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px;padding:48px 24px;flex:1}.page-wrapper>.loading-wrap .spinner{margin:0;width:44px;height:44px;border-width:3px}.page-wrapper>.loading-wrap .spinner-dark{border-color:var(--gray-200);border-top-color:var(--primary)}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner-dark{border:3px solid var(--gray-200);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;padding:56px 24px;color:var(--gray-400);text-align:center;gap:16px}.empty-state svg{width:72px;height:72px;opacity:.35}.empty-state p{font-size:1rem;font-weight:500}.fab{position:fixed;bottom:calc(96px + var(--safe-bottom));right:16px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4f46e580;cursor:pointer;transition:transform var(--transition);z-index:90;-webkit-tap-highlight-color:transparent}.fab:active{transform:scale(.93)}.p-page{padding-top:14px;gap:16px}.divider{height:1px;background:var(--gray-100);margin:16px 0}.checkin-card{background:linear-gradient(160deg,#6366f1,#4f46e5 40%,#4338ca);color:#fff;border-radius:20px;padding:18px 16px;text-align:center;box-shadow:0 8px 32px #6366f138,0 2px 8px #0000000f,inset 0 1px #ffffff26;margin-bottom:16px;position:relative;overflow:hidden;flex-shrink:0;min-width:0;width:100%;max-width:100%;border:1px solid rgba(255,255,255,.2)}.checkin-card:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:100%;background:radial-gradient(ellipse,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.checkin-fingerprint-pattern{position:absolute;bottom:-25px;left:-20px;opacity:.08;pointer-events:none;color:#fff}.checkin-card-inner{position:relative;z-index:1}.checkin-clock{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}.checkin-card .time-display{font-size:2.15rem;font-weight:800;letter-spacing:-.03em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.1);font-variant-numeric:tabular-nums}.checkin-card .date-display{font-size:.82rem;opacity:.88;margin-top:4px;font-weight:500;letter-spacing:.02em}.checkin-loading{text-align:center;padding:8px 0}.checkin-loading .spinner{margin:0 auto}.checkin-location-wrap{margin-bottom:12px;text-align:right}.checkin-label{display:block;font-size:.72rem;font-weight:600;opacity:.88;margin-bottom:6px;letter-spacing:.03em}.checkin-label .required-star{color:#fde68a}.checkin-warning{font-size:.76rem;color:#fde68a;margin-top:8px;font-weight:500}.no-locations-message p{color:#ffffffe6;font-size:.9rem;margin:0;line-height:1.5}.no-locations-message .no-locations-hint{color:#ffffffb3;font-size:.8rem;margin-top:6px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}@media(max-width:400px){html{font-size:15px}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}.app-bar h2{font-size:1.05rem}.bottom-nav a,.bottom-nav button.employee-bottom-nav-more{font-size:.65rem}.stat-card .stat-value{font-size:1.05rem}.stat-card .stat-label{font-size:.7rem}.list-item .item-title{font-size:.9rem}.list-item .item-sub{font-size:.75rem}.input-group label{font-size:.8rem}.input{font-size:.95rem}.btn{font-size:.95rem;min-height:40px}.btn-sm{font-size:.8rem;min-height:34px}.badge{font-size:.7rem}.empty-state p{font-size:.95rem}.fab{font-size:1.35rem;width:50px;height:50px}.checkin-card .time-display{font-size:1.95rem}.checkin-card .date-display{font-size:.8rem}.checkin-fingerprint-pattern{transform:scale(.85);bottom:-18px;left:-12px}.toast{font-size:.9rem;padding:14px 20px}.modal-sheet h3{font-size:1.05rem}}@media(max-width:360px){html{font-size:14px}h1{font-size:1.4rem}h2{font-size:1.05rem}h3{font-size:.95rem}.app-bar h2{font-size:1rem}.bottom-nav a,.bottom-nav button.employee-bottom-nav-more{font-size:.6rem}.stat-card .stat-value{font-size:1rem}.stat-card .stat-label{font-size:.65rem}.list-item .item-title{font-size:.85rem}.list-item .item-sub{font-size:.7rem}.input-group label{font-size:.75rem}.input{font-size:.9rem}.btn{font-size:.9rem;min-height:38px}.btn-sm{font-size:.75rem;min-height:32px}.badge{font-size:.65rem}.empty-state p{font-size:.9rem}.fab{font-size:1.25rem;width:48px;height:48px}.checkin-card .time-display{font-size:1.75rem}.checkin-card .date-display{font-size:.76rem}.checkin-fingerprint-pattern{transform:scale(.75);bottom:-16px;left:-10px}.toast{font-size:.85rem;padding:12px 18px}.modal-sheet h3{font-size:.95rem}}
