@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif)}::selection{color:var(--color-text-primary)}code{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono,"JetBrains Mono","Fira Code",monospace)}.loading{height:100vh}.loading,.loading-container{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-lg);justify-content:center}.loading-container{padding:var(--space-12)}.permission-gate-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.permission-gate-card{animation:scaleSpring .35s var(--ease-spring) both;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--elevation-5);max-width:440px;padding:var(--space-9) var(--space-8);width:100%}.permission-gate-header{margin-bottom:var(--space-7);text-align:center}.permission-gate-icon{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.permission-gate-header h2{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-1-5)}.permission-gate-header p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-normal);margin:0}.permission-gate-rows{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.permission-row{align-items:center;background:var(--stone-50);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:background var(--duration-normal) var(--ease-default)}.permission-row:hover{background:var(--stone-100)}.permission-row-icon{flex-shrink:0;font-size:var(--text-3xl)}.permission-row-info{flex:1 1;min-width:0}.permission-row-info h4{color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--font-semibold);margin:0 0 var(--space-0-5)}.permission-row-info p{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-tight);margin:0}.permission-row-status{flex-shrink:0}.permission-grant-btn{background:var(--color-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1-5) var(--space-4);transition:filter var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.permission-grant-btn:hover{box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.25);filter:brightness(1.08)}.permission-grant-btn:disabled{cursor:not-allowed;opacity:.6}.permission-status-granted{color:var(--color-success)}.permission-status-denied,.permission-status-granted{font-size:var(--text-2xl);font-weight:var(--font-bold)}.permission-status-denied{color:var(--color-danger)}.permission-gate-cta{background:var(--color-primary);border:none;border-radius:var(--radius-pill);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.25);color:#fff;cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-bold);padding:var(--space-3);transition:filter var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-fast) var(--ease-default);width:100%}.permission-gate-cta:hover{box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.35);filter:brightness(1.08)}.permission-gate-cta:active{transform:scale(.98)}.permission-gate-cta:disabled{cursor:not-allowed;opacity:.6}.permission-denied-notice{background:var(--color-danger-50);border:1px solid #fecaca;border-radius:var(--radius-sm);margin-top:var(--space-4);padding:var(--space-3) var(--space-3);text-align:center}.permission-denied-notice p{color:#b91c1c;font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}@media (max-width:480px){.permission-gate-card{padding:var(--space-7) var(--space-5)}.permission-row{flex-direction:column;gap:var(--space-2-5);text-align:center}.permission-row-info h4{font-size:var(--text-base)}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--color-primary:#f7931a;--color-primary-light:#ffb347;--color-primary-dark:#e07d00;--color-primary-50:#fff7ed;--color-primary-100:#ffedd5;--color-primary-200:#fed7aa;--color-primary-rgb:247,147,26;--color-success:#10b981;--color-success-light:#34d399;--color-success-50:#ecfdf5;--color-warning:#f59e0b;--color-warning-light:#fbbf24;--color-warning-50:#fffbeb;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-50:#fef2f2;--color-info:#3b82f6;--color-info-light:#60a5fa;--color-info-50:#eff6ff;--color-purple:#8b5cf6;--color-purple-50:#f5f3ff;--color-pink:#ec4899;--stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--stone-950:#0c0a09;--color-bg-page:#fafaf9;--color-bg-card:#fff;--color-bg-sidebar:#1c1917;--color-bg-input:#fff;--color-bg-hover:#0000000a;--surface-0:var(--color-bg-page);--surface-1:#fff;--surface-2:#fff;--surface-3:#fafaf9;--surface-4:#f5f5f4;--surface-5:#1c1917;--color-text-primary:#1c1917;--color-text-secondary:#57534e;--color-text-muted:#78716c;--color-text-placeholder:#a8a29e;--color-text-inverse:#fff;--color-border:#e7e5e4;--color-border-light:#f5f5f4;--color-border-dark:#d6d3d1;--elevation-0:none;--elevation-1:0 1px 3px #0000000f,0 1px 2px #0000000a;--elevation-2:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--elevation-3:0 10px 20px -3px #00000014,0 4px 8px -4px #0000000a;--elevation-4:0 20px 40px -5px #0000001a,0 8px 16px -8px #0000000f;--elevation-5:0 32px 64px -8px #00000024,0 16px 32px -12px #00000014;--shadow-xs:var(--elevation-0);--shadow-sm:var(--elevation-1);--shadow:var(--elevation-1);--shadow-md:var(--elevation-2);--shadow-lg:var(--elevation-3);--shadow-xl:var(--elevation-4);--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:28px;--radius-pill:100px;--radius-full:9999px;--space-0:0;--space-px:1px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.6875rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:0.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-bounce:cubic-bezier(0.68,-0.6,0.32,1.6);--duration-fast:120ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:500ms;--transition:all var(--duration-normal) var(--ease-default);--transition-fast:all var(--duration-fast) var(--ease-default);--transition-slow:all var(--duration-slow) var(--ease-default);--transition-colors:color var(--duration-normal) var(--ease-default),background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-drawer:300;--z-modal-backdrop:400;--z-modal:410;--z-toast:500;--z-tooltip:600;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--mobile-nav-height:64px;--content-max-width:1400px;--bg-primary:var(--color-bg-page);--bg-secondary:var(--stone-50);--bg-card:var(--color-bg-card);--bg-input:var(--color-bg-input);--bg-hover:var(--color-bg-hover);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--border-color:var(--color-border);--shadow-color:#0000001a;--bg-announcement:#fffbeb;--bg-announcement-urgent:#fef2f2;--primary:var(--color-primary);--primary-light:var(--color-primary-light);--primary-dark:var(--color-primary-dark);--success:var(--color-success);--success-light:var(--color-success-light);--warning:var(--color-warning);--warning-light:var(--color-warning-light);--danger:var(--color-danger);--info:var(--color-info);--purple:var(--color-purple);--pink:var(--color-pink);--gray-50:var(--stone-50);--gray-100:var(--stone-100);--gray-200:var(--stone-200);--gray-300:var(--stone-300);--gray-400:var(--stone-400);--gray-500:var(--stone-500);--gray-600:var(--stone-600);--gray-700:var(--stone-700);--gray-800:var(--stone-800);--gray-900:var(--stone-900);--radius:var(--radius-md);--emp-primary:var(--color-primary);--emp-primary-light:var(--color-primary-light);--emp-primary-dark:var(--color-primary-dark);--emp-success:var(--color-success);--emp-warning:var(--color-warning);--emp-danger:var(--color-danger);--emp-info:var(--color-info);--emp-purple:var(--color-purple);--emp-gray-50:var(--stone-50);--emp-gray-100:var(--stone-100);--emp-gray-200:var(--stone-200);--emp-gray-300:var(--stone-300);--emp-gray-400:var(--stone-400);--emp-gray-500:var(--stone-500);--emp-gray-600:var(--stone-600);--emp-gray-700:var(--stone-700);--emp-gray-800:var(--stone-800);--emp-gray-900:var(--stone-900);--emp-shadow-sm:var(--shadow-sm);--emp-shadow:var(--shadow);--emp-shadow-md:var(--shadow-md);--emp-shadow-lg:var(--shadow-lg);--emp-radius:var(--radius-md);--emp-radius-md:var(--radius-lg);--emp-radius-lg:var(--radius-xl)}html[data-theme=dark]{--color-bg-page:#0c0c0f;--color-bg-card:#18181b;--color-bg-sidebar:#111113;--color-bg-input:#27272a;--color-bg-hover:#ffffff0f;--surface-0:#0c0c0f;--surface-1:#18181b;--surface-2:#1f1f23;--surface-3:#27272a;--surface-4:#303033;--surface-5:#111113;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-placeholder:#52525b;--color-text-inverse:#0c0c0f;--color-border:#27272a;--color-border-light:#1f1f23;--color-border-dark:#3f3f46;--elevation-1:0 1px 3px #0000004d,0 1px 2px #0003;--elevation-2:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d;--elevation-3:0 10px 20px -3px #00000080,0 4px 8px -4px #0000004d;--elevation-4:0 20px 40px -5px #0009,0 8px 16px -8px #0006;--elevation-5:0 32px 64px -8px #000000b3,0 16px 32px -12px #00000080;--stone-50:#18181b;--stone-100:#27272a;--stone-200:#3f3f46;--stone-300:#52525b;--stone-400:#71717a;--stone-500:#a1a1aa;--stone-600:#d4d4d8;--stone-700:#e4e4e7;--stone-800:#fafafa;--stone-900:#fff;--stone-950:#fff;--bg-primary:var(--color-bg-page);--bg-secondary:var(--surface-1);--bg-card:var(--color-bg-card);--bg-input:var(--color-bg-input);--bg-hover:var(--color-bg-hover);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--border-color:var(--color-border);--shadow-color:#00000080;--bg-announcement:#1a1700;--bg-announcement-urgent:#1f0c0c}*{font-family:var(--font-family)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--color-bg-page);color:var(--color-text-primary);font-size:var(--text-base);line-height:var(--leading-normal)}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:rgba(var(--color-primary-rgb),.15);color:inherit}.App{min-height:100vh}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--stone-300);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--stone-400)}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--stone-200)}.page-transition-loader{background:#0000;height:3px;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:var(--z-toast)}.transition-spinner{animation:slideLoader .8s ease-in-out infinite;background:linear-gradient(90deg,#0000,var(--color-primary),#0000);height:100%;width:40%}@keyframes slideLoader{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.Toastify__toast-container{z-index:var(--z-toast)!important}.Toastify__toast{border-radius:var(--radius-md)!important;box-shadow:var(--elevation-3)!important;font-family:var(--font-family)!important;font-size:var(--text-sm)!important}.btn-ghost,.btn-outline,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;letter-spacing:var(--tracking-wide);line-height:1.5;overflow:hidden;padding:var(--space-2-5) var(--space-5);position:relative;text-decoration:none;transition:var(--transition-colors),transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);white-space:nowrap}.btn-outline:after,.btn-primary:after,.btn-secondary:after{background:radial-gradient(circle at 50% 50%,#ffffff4d 0,#0000 60%);background:radial-gradient(circle at var(--ripple-x,50%) var(--ripple-y,50%),#ffffff4d 0,#0000 60%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease}.btn-outline:active:after,.btn-primary:active:after,.btn-secondary:active:after{opacity:1;transition:opacity 0s}.btn-ghost:active,.btn-outline:active,.btn-primary:active,.btn-secondary:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}.btn-primary:disabled{background:var(--stone-300);box-shadow:none;color:var(--stone-500);cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface-4);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--stone-200)}.btn-outline{background:#0000;border:1.5px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary-50)}.btn-ghost{background:#0000;color:var(--color-text-secondary);font-weight:var(--font-medium)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-icon{align-items:center;background:#0000;border:none;border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:1.125rem;justify-content:center;min-height:36px;min-width:36px;padding:var(--space-2);transition:var(--transition-colors)}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-icon.delete{color:var(--color-danger)}.btn-icon.delete:hover{background:var(--color-danger-50)}.btn-sm{font-size:var(--text-xs);padding:var(--space-1-5) var(--space-3)}.btn-lg{font-size:var(--text-md);padding:var(--space-3) var(--space-6)}.btn-primary.danger{background:var(--color-danger)}.btn-primary.danger:hover{background:var(--color-danger-dark);box-shadow:0 4px 16px #ef44444d}.status{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:var(--space-1);letter-spacing:var(--tracking-wide);padding:var(--space-1) var(--space-3);text-transform:capitalize}.status.active,.status.present{background:var(--color-success-50);color:#065f46}.status.absent,.status.inactive{background:var(--color-danger-50);color:#991b1b}.status.late{background:var(--color-warning-50);color:#92400e}.status.half-day{background:var(--color-info-50);color:#1e40af}.modal-overlay{align-items:center;animation:overlayFadeIn var(--duration-normal) var(--ease-default);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0006;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal-backdrop)}.modal{animation:modalSpringIn var(--duration-slow) var(--ease-spring);background:var(--color-bg-card);border-radius:var(--radius-2xl);box-shadow:var(--elevation-5);max-height:90vh;max-width:520px;overflow-y:auto;width:100%;z-index:var(--z-modal)}.modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.modal-header h2{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.modal-header .close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;display:flex;padding:var(--space-2);transition:var(--transition-colors)}.modal-header .close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-form{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6)}.modal-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSpringIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog{animation:modalSpringIn var(--duration-slow) var(--ease-spring);max-width:400px;padding:var(--space-6);width:90%}.confirm-dialog-body{margin-bottom:var(--space-6);text-align:center}.confirm-dialog-icon{align-items:center;border-radius:var(--radius-pill);display:flex;height:52px;justify-content:center;margin:0 auto var(--space-4);width:52px}.confirm-dialog-icon.danger{background:var(--color-danger-50);color:var(--color-danger)}.confirm-dialog-body h3{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.confirm-dialog-body p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.confirm-dialog-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.confirm-dialog-actions .btn-primary,.confirm-dialog-actions .btn-secondary{flex:1 1;justify-content:center}.form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-group label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.form-group input,.form-group select,.form-group textarea{background:var(--color-bg-input);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--text-base);min-height:42px;padding:var(--space-2-5) var(--space-3);transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-placeholder)}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.skeleton{animation:skeletonShimmer 1.8s ease-in-out infinite}.skeleton-text{border-radius:var(--radius-sm)}.skeleton-text:last-child{width:70%}.skeleton-card{border-radius:var(--radius-lg);height:120px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.content-wrapper{animation:contentFadeIn var(--duration-slow) var(--ease-out-expo)}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state,.no-data{color:var(--color-text-muted);padding:var(--space-12) var(--space-6);text-align:center}.empty-state .empty-icon{align-items:center;background:var(--stone-100);border-radius:var(--radius-pill);color:var(--stone-400);display:flex;height:64px;justify-content:center;margin:0 auto var(--space-4);width:64px}.empty-state .empty-icon svg{height:28px;width:28px}.empty-state h3{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.empty-state p{font-size:var(--text-base);margin:0 0 var(--space-5);margin-left:auto;margin-right:auto;max-width:320px}.empty-action-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-2-5) var(--space-5);transition:var(--transition-colors)}.empty-action-btn:hover{background:var(--color-primary-dark);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.25)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary-color{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}@media (max-width:768px){.modal{border-radius:var(--radius-xl);margin:var(--space-4);max-width:calc(100% - 32px)}.modal-form{padding:var(--space-4)}}@media (max-width:480px){.modal{border-radius:var(--radius-lg);margin:var(--space-2);max-width:calc(100% - 16px)}.modal-header{padding:var(--space-3) var(--space-4)}.modal-header h2{font-size:var(--text-lg)}.modal-form{padding:var(--space-3)}.modal-actions{flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.modal-actions button{width:100%}.form-grid,.form-row{grid-template-columns:1fr}.btn-icon{min-height:44px;min-width:44px}.confirm-dialog{padding:var(--space-4);width:calc(100% - 24px)}.confirm-dialog h3{font-size:var(--text-lg)}.confirm-actions{flex-direction:column;gap:var(--space-2)}.confirm-actions button{width:100%}.toast-container{left:8px!important;right:8px!important;width:calc(100% - 16px)!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes scaleSpring{0%{opacity:0;transform:scale(.88)}60%{opacity:1;transform:scale(1.03)}to{transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gentlePulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb),.2)}50%{box-shadow:0 0 0 8px rgba(var(--color-primary-rgb),0)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:40ms}.stagger-2{animation-delay:80ms}.stagger-3{animation-delay:.12s}.stagger-4{animation-delay:.16s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.24s}.stagger-7{animation-delay:.28s}.stagger-8{animation-delay:.32s}.stagger-9{animation-delay:.36s}.stagger-10{animation-delay:.4s}.stagger-11{animation-delay:.44s}.stagger-12{animation-delay:.48s}.animate-fadeIn{animation:fadeIn .3s var(--ease-out-expo) both}.animate-fadeInUp{animation:fadeInUp .4s var(--ease-out-expo) both}.animate-fadeInDown{animation:fadeInDown .4s var(--ease-out-expo) both}.animate-scaleIn{animation:scaleIn .3s var(--ease-out-expo) both}.animate-scaleSpring{animation:scaleSpring .5s var(--ease-out-expo) both}.animate-slideInRight{animation:slideInRight .4s var(--ease-out-expo) both}.animate-slideDown{animation:slideDown .3s var(--ease-out-expo) both}.animate-slideUp{animation:slideUp .3s var(--ease-out-expo) both}.animate-cardEnter{animation:cardEnter .4s var(--ease-out-expo) both}.page-enter{animation:fadeInUp .35s var(--ease-out-expo) both}.card-hover{transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.card-hover:hover{box-shadow:var(--elevation-2);transform:translateY(-2px)}.btn-animated{transition:box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.btn-animated:hover{box-shadow:var(--elevation-2)}.btn-animated:active{box-shadow:var(--elevation-1);transform:scale(.97)}.modal-animate{animation:scaleSpring .4s var(--ease-out-expo) both}.modal-overlay-animate{animation:fadeIn .2s var(--ease-out) both}.skeleton{animation:shimmer 1.8s ease-in-out infinite;background:linear-gradient(90deg,var(--stone-100) 25%,var(--stone-50) 50%,var(--stone-100) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:var(--space-2);width:80%}.skeleton-title{height:20px;margin-bottom:var(--space-3);width:60%}.skeleton-circle{border-radius:var(--radius-full);height:40px;width:40px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html[data-theme=dark] #root,html[data-theme=dark] body{background-color:var(--color-bg-page);color:var(--color-text-primary)}html[data-theme=dark] .loading{color:var(--color-text-muted)}html[data-theme=dark] .content-wrapper,html[data-theme=dark] .main-content{background-color:var(--color-bg-page)}html[data-theme=dark] .sidebar{background:linear-gradient(180deg,var(--color-bg-page) 0,var(--color-bg-card) 100%)}html[data-theme=dark] .top-header{background-color:var(--color-bg-card);border-bottom-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .header-page-title{color:var(--color-text-primary)}html[data-theme=dark] .header-greeting,html[data-theme=dark] .header-logout-btn,html[data-theme=dark] .notification-bell,html[data-theme=dark] .theme-toggle-btn{color:var(--color-text-muted)}html[data-theme=dark] .header-logout-btn:hover{background:#ef444433;color:var(--color-danger)}html[data-theme=dark] .notification-bell:hover,html[data-theme=dark] .theme-toggle-btn:hover{background:var(--surface-3);color:var(--color-primary)}html[data-theme=dark] .employee-dept{color:var(--color-text-muted)}html[data-theme=dark] .device-indicator.status-good{color:var(--color-success-light)}html[data-theme=dark] .device-indicator.status-warn{color:var(--color-warning-light)}html[data-theme=dark] .device-indicator.status-bad{color:var(--color-danger)}html[data-theme=dark] .notification-dropdown{background-color:var(--color-bg-card);box-shadow:var(--elevation-4)}html[data-theme=dark] .notification-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .notification-header h4{color:var(--color-text-primary)}html[data-theme=dark] .mark-all-read:hover{background:rgba(var(--color-primary-rgb),.1)}html[data-theme=dark] .no-notifications{color:var(--color-text-placeholder)}html[data-theme=dark] .notification-item{border-bottom-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] .notification-item:hover{background-color:var(--surface-3)}html[data-theme=dark] .notification-item.unread{background:rgba(var(--color-primary-rgb),.08)}html[data-theme=dark] .notification-content strong{color:var(--color-text-primary)}html[data-theme=dark] .notification-content p{color:var(--color-text-muted)}html[data-theme=dark] .notification-time{color:var(--color-text-placeholder)}html[data-theme=dark] .global-search-trigger{border-color:var(--color-border-dark);color:var(--color-text-muted)}html[data-theme=dark] .global-search-trigger:hover{border-color:var(--color-primary);color:var(--color-text-secondary)}html[data-theme=dark] .global-search-trigger kbd{background:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-muted)}html[data-theme=dark] .search-modal{background:var(--color-bg-card);box-shadow:var(--elevation-5)}html[data-theme=dark] .search-input-wrapper{border-bottom-color:var(--color-border)}html[data-theme=dark] .search-input-wrapper svg{color:var(--color-text-placeholder)}html[data-theme=dark] .search-input-wrapper input{color:var(--color-text-primary)}html[data-theme=dark] .search-group-title,html[data-theme=dark] .search-input-wrapper input::placeholder{color:var(--color-text-placeholder)}html[data-theme=dark] .search-result-item:hover{background:var(--surface-3)}html[data-theme=dark] .search-no-results{color:var(--color-text-placeholder)}html[data-theme=dark] .mobile-bottom-nav{background:linear-gradient(180deg,var(--color-bg-page) 0,var(--color-bg-card) 100%)}html[data-theme=dark] .mobile-nav-item{color:var(--color-text-muted)}html[data-theme=dark] .mobile-nav-item.active{color:var(--color-primary)}html[data-theme=dark] .mobile-drawer{background:linear-gradient(180deg,var(--color-bg-page) 0,var(--color-bg-card) 100%)}html[data-theme=dark] .mobile-drawer-header{border-bottom-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .mobile-drawer-item{color:var(--color-text-secondary)}html[data-theme=dark] .mobile-drawer-item.active,html[data-theme=dark] .mobile-drawer-item:hover{background-color:rgba(var(--color-primary-rgb),.1)}html[data-theme=dark] .card,html[data-theme=dark] .dashboard-card,html[data-theme=dark] .kpi-card,html[data-theme=dark] .stat-card{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .kpi-card h3,html[data-theme=dark] .kpi-card p,html[data-theme=dark] .stat-card h3,html[data-theme=dark] .stat-card p{color:var(--color-text-primary)}html[data-theme=dark] .stat-card .stat-label,html[data-theme=dark] .stat-card .stat-sublabel{color:var(--color-text-muted)}html[data-theme=dark] .table-container{background-color:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] table{color:var(--color-text-primary)}html[data-theme=dark] thead th{background-color:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] tbody tr{border-color:var(--color-border)}html[data-theme=dark] tbody tr:nth-child(2n){background-color:var(--color-bg-card)}html[data-theme=dark] tbody tr:nth-child(odd){background-color:var(--color-bg-page)}html[data-theme=dark] tbody tr:hover{background-color:var(--surface-3)}html[data-theme=dark] td{border-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background-color:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:var(--color-text-placeholder)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2)}html[data-theme=dark] .form-section h3,html[data-theme=dark] label{color:var(--color-text-secondary)}html[data-theme=dark] small{color:var(--color-text-placeholder)}html[data-theme=dark] .modal-overlay{background-color:#000000b3}html[data-theme=dark] .modal,html[data-theme=dark] .modal-content{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .modal h2,html[data-theme=dark] .modal-content h2{color:var(--color-text-primary)}html[data-theme=dark] .modal-header{border-bottom-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .btn-secondary{background-color:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] .btn-secondary:hover{background-color:var(--surface-4)}html[data-theme=dark] .management-page,html[data-theme=dark] .page-header h1,html[data-theme=dark] .page-header h2{color:var(--color-text-primary)}html[data-theme=dark] .filters-panel{background-color:var(--color-bg-card);border-color:var(--color-border);box-shadow:var(--elevation-1)}html[data-theme=dark] .filter-group input,html[data-theme=dark] .filter-group select{background-color:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .filter-group label{color:var(--color-text-secondary)}html[data-theme=dark] .search-bar input,html[data-theme=dark] .search-input{background-color:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .employee-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .employee-card:hover{border-color:var(--color-border-dark)}html[data-theme=dark] .employee-name-row .name{color:var(--color-text-primary)}html[data-theme=dark] .employee-name-row .emp-id{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .employee-meta-row{color:var(--color-text-muted)}html[data-theme=dark] .employee-meta-row .dot{color:var(--color-border-dark)}html[data-theme=dark] .employees-header h1{color:var(--color-text-primary)}html[data-theme=dark] .employees-header .record-count{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .filter-dropdown{background:var(--color-bg-card);border-color:var(--color-border-dark)}html[data-theme=dark] .filter-dropdown .filter-icon{color:var(--color-text-muted)}html[data-theme=dark] .filter-select{background:#0000;color:var(--color-text-primary)}html[data-theme=dark] .filter-label{color:var(--color-text-secondary)}html[data-theme=dark] .filter-label svg{color:var(--color-text-muted)}html[data-theme=dark] .reports-page{color:var(--color-text-primary)}html[data-theme=dark] .filters-section,html[data-theme=dark] .stats-summary{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .stat-item{background:var(--color-bg-page)}html[data-theme=dark] .stat-item .label{color:var(--color-text-muted)}html[data-theme=dark] .stat-item .value{color:var(--color-text-primary)}html[data-theme=dark] tr.deleted-employee{background-color:var(--color-bg-card);color:var(--color-text-placeholder)}html[data-theme=dark] tr.deleted-employee td{color:var(--color-text-placeholder)}html[data-theme=dark] tr.deleted-employee:hover{background-color:var(--surface-3)}html[data-theme=dark] .deleted-badge{background:var(--color-danger-50);color:var(--color-danger)}html[data-theme=dark] .filter-dropdown-section{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .filter-date-input{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .filter-date-separator{color:var(--color-text-muted)}html[data-theme=dark] .filter-options{background:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .checkbox-text{color:var(--color-text-secondary)}html[data-theme=dark] .compact-filters{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .filter-item input,html[data-theme=dark] .filter-item select{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .filter-separator{color:var(--color-text-placeholder)}html[data-theme=dark] .history-header h1{color:var(--color-text-primary)}html[data-theme=dark] .record-count{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .drawer{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .drawer-header{border-bottom-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .drawer-footer{background-color:var(--color-bg-card);border-top-color:var(--color-border)}html[data-theme=dark] .drawer-overlay{background-color:#0009}html[data-theme=dark] .report-modal{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .report-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .report-body,html[data-theme=dark] .report-header{background-color:var(--color-bg-card)}html[data-theme=dark] .report-details-card{background-color:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .detail-label,html[data-theme=dark] .report-section-label{color:var(--color-text-muted)}html[data-theme=dark] .detail-value{color:var(--color-text-primary)}html[data-theme=dark] .daily-report-content{background-color:var(--color-bg-card);color:var(--color-text-primary)}html[data-theme=dark] .employee-info-card,html[data-theme=dark] .wages-summary{background-color:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .wage-item label{color:var(--color-text-muted)}html[data-theme=dark] .wage-item span{color:var(--color-text-primary)}html[data-theme=dark] .mark-employee-item{border-color:var(--color-border)}html[data-theme=dark] .mark-employee-name{color:var(--color-text-primary)}html[data-theme=dark] .mark-employee-meta{color:var(--color-text-muted)}html[data-theme=dark] .mark-selected-employee{background-color:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .dashboard,html[data-theme=dark] .dashboard h1,html[data-theme=dark] .dashboard h2,html[data-theme=dark] .dashboard h3{color:var(--color-text-primary)}html[data-theme=dark] .dashboard p{color:var(--color-text-muted)}html[data-theme=dark] .quick-action-btn{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] .quick-action-btn:hover{background-color:var(--surface-3)}html[data-theme=dark] .card-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .card-header h2{color:var(--color-text-primary)}html[data-theme=dark] .status{border:1px solid #0000}html[data-theme=dark] .login-page{background:var(--color-bg-page)}html[data-theme=dark] .login-card{background:var(--surface-1);box-shadow:var(--elevation-5)}html[data-theme=dark] .login-header h1{color:var(--color-text-primary)}html[data-theme=dark] .login-header p{color:var(--color-text-muted)}html[data-theme=dark] .input-group input{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .input-group input::placeholder{color:var(--color-text-placeholder)}html[data-theme=dark] .input-group input:focus{background:var(--color-bg-card);border-color:var(--color-primary)}html[data-theme=dark] .forgot-password-hint{color:var(--color-text-placeholder)}html[data-theme=dark] .messages-container{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .messages-sidebar{background:var(--color-bg-page);border-right-color:var(--color-border)}html[data-theme=dark] .sidebar-btn{color:var(--color-text-muted)}html[data-theme=dark] .sidebar-btn:hover{background:var(--surface-3)}html[data-theme=dark] .sidebar-btn.compose{background:var(--surface-3);color:var(--color-text-primary)}html[data-theme=dark] .sidebar-btn.compose:hover{background:var(--surface-4)}html[data-theme=dark] .compose-view h2,html[data-theme=dark] .messages-list h2{color:var(--color-text-primary)}html[data-theme=dark] .compose-info{color:var(--color-text-muted)}html[data-theme=dark] .compose-view label{color:var(--color-text-secondary)}html[data-theme=dark] .no-messages{color:var(--color-text-placeholder)}html[data-theme=dark] .message-item:hover{background:var(--surface-3)}html[data-theme=dark] .message-item.unread{background:rgba(var(--color-primary-rgb),.08);border-color:rgba(var(--color-primary-rgb),.3)}html[data-theme=dark] .message-from{color:var(--color-text-primary)}html[data-theme=dark] .message-time{color:var(--color-text-placeholder)}html[data-theme=dark] .message-subject{color:var(--color-text-secondary)}html[data-theme=dark] .message-snippet{color:var(--color-text-muted)}html[data-theme=dark] .message-list-item{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .message-list-item:hover{background-color:var(--surface-3)}html[data-theme=dark] .message-list-item.unread{background-color:rgba(var(--color-primary-rgb),.12)}html[data-theme=dark] .message-content{color:var(--color-text-muted)}html[data-theme=dark] .message-detail{background-color:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .message-detail-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .compose-form{background-color:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .back-btn{background:var(--surface-3);color:var(--color-text-secondary)}html[data-theme=dark] .back-btn:hover{background:var(--surface-4)}html[data-theme=dark] .thread-message.received{background:var(--color-bg-page)}html[data-theme=dark] .thread-message.sent{background:rgba(var(--color-primary-rgb),.12)}html[data-theme=dark] .thread-header strong{color:var(--color-text-primary)}html[data-theme=dark] .thread-header span{color:var(--color-text-placeholder)}html[data-theme=dark] .thread-content,html[data-theme=dark] .thread-subject{color:var(--color-text-secondary)}html[data-theme=dark] .reply-box{background:var(--color-bg-page);border-top-color:var(--color-border)}html[data-theme=dark] .reply-box h3{color:var(--color-text-primary)}html[data-theme=dark] .attendance-container{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .camera-selector-bar{background:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .camera-select{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .camera-switch-btn{background:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-muted)}html[data-theme=dark] .camera-switch-btn:hover{background:var(--surface-4)}html[data-theme=dark] .camera-placeholder{background:linear-gradient(135deg,var(--color-bg-card) 0,var(--color-bg-page) 100%);border-color:var(--color-border-dark);color:var(--color-text-placeholder)}html[data-theme=dark] .camera-placeholder p{color:var(--color-text-muted)}html[data-theme=dark] .instructions-section{background:var(--color-bg-card)}html[data-theme=dark] .instructions-section summary{color:var(--color-text-secondary)}html[data-theme=dark] .instructions-section ul{color:var(--color-text-muted)}html[data-theme=dark] .attendance-card{background-color:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .attendance-status,html[data-theme=dark] .camera-container,html[data-theme=dark] .location-info{background-color:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .location-info{color:var(--color-text-muted)}html[data-theme=dark] .location-badge.loading{background:var(--color-warning-50);color:var(--color-warning-light)}html[data-theme=dark] .location-badge.success{background:var(--color-success-50);color:var(--color-success-light)}html[data-theme=dark] .location-badge.error{background:var(--color-danger-50);color:var(--color-danger)}html[data-theme=dark] .spinner{border-color:var(--color-border);border-top-color:var(--color-primary)}html[data-theme=dark] .calendar-container{background-color:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .calendar-header{color:var(--color-text-primary)}html[data-theme=dark] .calendar-day{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .calendar-day:hover{background-color:var(--surface-3)}html[data-theme=dark] .calendar-day.today{border-color:var(--color-primary)}html[data-theme=dark] .calendar-day.other-month{color:var(--color-text-placeholder)}html[data-theme=dark] .payslip-container{background-color:var(--color-bg-card);color:var(--color-text-primary)}html[data-theme=dark] .payslip-modal .modal-header{background:var(--color-bg-page);border-bottom-color:var(--color-border)}html[data-theme=dark] .payslip-container .payslip-title{background:var(--color-bg-page);color:var(--color-text-primary)}html[data-theme=dark] .payslip-container .payslip-section{border-bottom-color:var(--color-border)}html[data-theme=dark] .payslip-container .payslip-section h3{border-bottom-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] .payslip-container .info-item .label{color:var(--color-text-muted)}html[data-theme=dark] .payslip-container .info-item .value{color:var(--color-text-primary)}html[data-theme=dark] .payslip-container .payslip-table td:first-child{color:var(--color-text-muted)}html[data-theme=dark] .payslip-container .payslip-table td:last-child{color:var(--color-text-primary)}html[data-theme=dark] .payslip-container .payslip-table td{border-bottom-color:var(--color-border)}html[data-theme=dark] .payslip-container .payslip-footer{background:var(--color-bg-page);border-top-color:var(--color-border);color:var(--color-text-muted)}html[data-theme=dark] .payslip-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .payslip-section{border-color:var(--color-border)}html[data-theme=dark] .permission-gate-card{background:var(--color-bg-card);box-shadow:var(--elevation-4)}html[data-theme=dark] .permission-gate-header h2{color:var(--color-text-primary)}html[data-theme=dark] .permission-gate-header p{color:var(--color-text-muted)}html[data-theme=dark] .permission-row{background:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .permission-row-info h4{color:var(--color-text-primary)}html[data-theme=dark] .permission-row-info p{color:var(--color-text-muted)}html[data-theme=dark] .permission-denied-notice{background:var(--color-danger-50);border-color:var(--color-danger-dark)}html[data-theme=dark] .permission-denied-notice p{color:var(--color-danger)}html[data-theme=dark] .employee-layout{background-color:var(--color-bg-page)}html[data-theme=dark] .employee-sidebar{background:linear-gradient(180deg,var(--color-bg-page) 0,var(--color-bg-card) 100%)}html[data-theme=dark] .employee-dashboard,html[data-theme=dark] .employee-dashboard .page-header h1{color:var(--color-text-primary)}html[data-theme=dark] .employee-dashboard .page-header p{color:var(--color-text-muted)}html[data-theme=dark] .stats-grid .stat-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .stat-content h3{color:var(--color-text-primary)}html[data-theme=dark] .stat-content p{color:var(--color-text-muted)}html[data-theme=dark] .stat-detail{color:var(--color-text-placeholder)}html[data-theme=dark] .info-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .info-card h2{color:var(--color-text-primary)}html[data-theme=dark] .info-item label{color:var(--color-text-muted)}html[data-theme=dark] .info-item span{color:var(--color-text-primary)}html[data-theme=dark] .status-banner.checked-out{background:var(--color-bg-card);color:var(--color-text-muted)}html[data-theme=dark] .leave-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .leave-card-header{border-bottom-color:var(--color-border)}html[data-theme=dark] .leave-card-footer{border-top-color:var(--color-border)}html[data-theme=dark] .profile-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .leaflet-popup-content-wrapper{background:var(--color-bg-card);box-shadow:var(--elevation-3);color:var(--color-text-primary)}html[data-theme=dark] .leaflet-popup-tip{background:var(--color-bg-card)}html[data-theme=dark] .leaflet-popup-content{color:var(--color-text-primary)}html[data-theme=dark] .leaflet-popup-content a{color:var(--color-info-light)}html[data-theme=dark] .leaflet-control-zoom a{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .leaflet-control-zoom a:hover{background-color:var(--surface-3)}html[data-theme=dark] .leaflet-control-attribution{background:#0009;color:var(--color-text-muted)}html[data-theme=dark] .leaflet-control-attribution a{color:var(--color-info-light)}html[data-theme=dark] .leaflet-bar{border-color:var(--color-border);box-shadow:var(--elevation-2)}html[data-theme=dark] .overview-map-container{background:var(--color-bg-card);border-color:var(--color-border);box-shadow:var(--elevation-1)}html[data-theme=dark] .attendance-map-container{box-shadow:var(--elevation-2)}html[data-theme=dark] .map-title{color:var(--color-text-primary)}html[data-theme=dark] .no-location-data{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .map-filter-bar,html[data-theme=dark] .map-stats-bar{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .map-filter-icon{color:var(--color-text-muted)}html[data-theme=dark] .map-filter-group input,html[data-theme=dark] .map-filter-group select{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .map-filter-group input option,html[data-theme=dark] .map-filter-group select option{background:var(--color-bg-card);color:var(--color-text-primary)}html[data-theme=dark] .map-refresh-btn{background:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] .map-refresh-btn:hover{background:var(--surface-4)}html[data-theme=dark] .map-stat-value{color:var(--color-text-primary)}html[data-theme=dark] .map-stat,html[data-theme=dark] .map-stat-label{color:var(--color-text-muted)}html[data-theme=dark] .location-section{background:var(--color-bg-card)}html[data-theme=dark] .location-section h4{color:var(--color-text-primary)}html[data-theme=dark] .office-marker{background:var(--color-purple);border-color:var(--color-border)}html[data-theme=dark] .photo-marker{border-color:var(--color-info-light);box-shadow:var(--elevation-2)}html[data-theme=dark] .photo-marker.active{border-color:var(--color-warning)}html[data-theme=dark] .photo-marker.completed{border-color:var(--color-info-light)}html[data-theme=dark] .photo-marker.photo-marker-initials{background:var(--surface-4)}html[data-theme=dark] .cluster-badge{background:var(--color-warning);box-shadow:var(--elevation-2)}html[data-theme=dark] .cluster-popup-item{border-bottom-color:var(--color-border)}html[data-theme=dark] .cluster-popup-info strong{color:var(--color-text-primary)}html[data-theme=dark] .cluster-popup-info .popup-time{color:var(--color-text-muted)}html[data-theme=dark] .popup-employee-initials{background:var(--surface-4)}html[data-theme=dark] .cluster-popup-status.active{background:rgba(var(--color-primary-rgb),.15);color:var(--color-warning)}html[data-theme=dark] .cluster-popup-status.completed{background:#60a5fa26;color:var(--color-info-light)}html[data-theme=dark] .geofence-editor{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .geofence-controls{background:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .geofence-controls label{color:var(--color-text-secondary)}html[data-theme=dark] .pagination button{background-color:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] .pagination button:hover{background-color:var(--surface-4)}html[data-theme=dark] .pagination button.active{background-color:var(--color-primary);color:var(--color-text-inverse)}html[data-theme=dark] .pagination span{color:var(--color-text-muted)}html[data-theme=dark] .footer{background-color:var(--color-bg-page);border-top-color:var(--color-border);color:var(--color-text-placeholder)}html[data-theme=dark] ::-webkit-scrollbar{width:var(--space-2)}html[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-bg-card)}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:var(--radius-xs)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--stone-400)}html[data-theme=dark] .skeleton,html[data-theme=dark] .skeleton-row{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-4) 50%,var(--surface-3) 75%);background-size:200% 100%}html[data-theme=dark] .empty-state{color:var(--color-text-muted)}html[data-theme=dark] .tooltip{background-color:var(--surface-4);color:var(--color-text-primary)}html[data-theme=dark] hr{border-color:var(--color-border)}html[data-theme=dark] a{color:var(--color-primary)}html[data-theme=dark] a:hover{color:var(--color-primary-light)}html[data-theme=dark] .no-data{color:var(--color-text-placeholder)}html[data-theme=dark] .loading-container{color:var(--color-text-muted)}html[data-theme=dark] .image-preview-container{border-color:var(--color-border)}html[data-theme=dark] .subtitle{color:var(--color-text-muted)}html[data-theme=dark] .text-muted{color:var(--color-text-placeholder)}html[data-theme=dark] .photo-mode-selector .mode-btn{background-color:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] .photo-mode-selector .mode-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}html[data-theme=dark] .confirm-dialog{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-primary)}html[data-theme=dark] .holiday-type-badge.mandatory{background:var(--color-info-50);color:var(--color-info-light)}html[data-theme=dark] .holiday-type-badge.optional{background:var(--color-warning-50);color:var(--color-warning-light)}html[data-theme=dark] .announcement-banner-item{background:var(--bg-announcement)}html[data-theme=dark] .announcement-banner-item.urgent{background:var(--bg-announcement-urgent)}html[data-theme=dark] .fnf-paid-box{background:var(--color-success-50)}html[data-theme=dark] .fnf-paid-detail,html[data-theme=dark] .fnf-paid-main{color:var(--color-success-light)}html[data-theme=dark] .exit-reason-card{background:var(--color-bg-page)}html[data-theme=dark] .exit-reason-text{color:var(--color-text-muted)}html[data-theme=dark] .fnf-section{border-color:var(--color-border)}html[data-theme=dark] .fnf-table{color:var(--color-text-primary)}html[data-theme=dark] .fnf-row{border-bottom-color:var(--color-border)}html[data-theme=dark] .fnf-label{color:var(--color-text-muted)}html[data-theme=dark] .fnf-subtotal,html[data-theme=dark] .fnf-total{border-top-color:var(--color-border)}html[data-theme=dark] .leave-status-pending{background-color:var(--color-warning-50);color:var(--color-warning-light)}html[data-theme=dark] .leave-status-approved{background-color:var(--color-success-50);color:var(--color-success-light)}html[data-theme=dark] .leave-status-rejected{background-color:var(--color-danger-50);color:var(--color-danger)}html[data-theme=dark] .audit-log-page{color:var(--color-text-primary)}html[data-theme=dark] .late-count-badge{background:var(--color-warning-50);color:var(--color-warning-light)}html[data-theme=dark] .late-avatar{background:var(--color-warning)}html[data-theme=dark] .late-time{color:var(--color-warning-light)}html[data-theme=dark] .late-item{border-bottom-color:var(--color-border)}html[data-theme=dark] .contractor-card,html[data-theme=dark] .reimbursement-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .management-page h2,html[data-theme=dark] .management-page h3,html[data-theme=dark] .management-page h4,html[data-theme=dark] .management-page strong{color:var(--color-text-primary)}html[data-theme=dark] .management-page p{color:var(--color-text-secondary)}html[data-theme=dark] .modal-content h2,html[data-theme=dark] .modal-content h3,html[data-theme=dark] .modal-content p{color:var(--color-text-primary)}html[data-theme=dark] .modal-description{color:var(--color-text-muted)}html[data-theme=dark] .grouped-row{background:var(--color-bg-card)}html[data-theme=dark] .office-card{background:var(--color-bg-card);border-color:var(--color-border);box-shadow:var(--elevation-1)}html[data-theme=dark] .office-card h3{color:var(--color-text-primary)}html[data-theme=dark] .office-actions .btn-icon{background:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-muted)}html[data-theme=dark] .image-modal{background:var(--color-bg-card)}html[data-theme=dark] .image-modal .close-btn{background:var(--surface-3);color:var(--color-text-secondary)}html[data-theme=dark] .shift-selection{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .shift-selection label{color:var(--color-text-secondary)}html[data-theme=dark] .shift-select{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .form-section{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .logo-preview{background:var(--color-bg-page);border-color:var(--color-border-dark)}html[data-theme=dark] .form-actions{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .modal-footer{background:var(--color-bg-card);border-top-color:var(--color-border)}html[data-theme=dark] .report-stat-card{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .report-stat-card h4{color:var(--color-text-primary)}html[data-theme=dark] .report-status-breakdown{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .report-status-breakdown h3{color:var(--color-text-primary)}html[data-theme=dark] .profile-details-card,html[data-theme=dark] .report-attendance{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .profile-details-card h3{color:var(--color-text-primary)}html[data-theme=dark] .office-dropdown{background:var(--color-bg-card);border-color:var(--color-border-dark);box-shadow:var(--elevation-3)}html[data-theme=dark] .profile-logout-section,html[data-theme=dark] .stat-box{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .stat-box .stat-value,html[data-theme=dark] .stat-box h3{color:var(--color-text-primary)}html[data-theme=dark] .stat-box .stat-label,html[data-theme=dark] .stat-box p{color:var(--color-text-muted)}html[data-theme=dark] .pagination-btn{background:var(--surface-3);border-color:var(--color-border-dark);color:var(--color-text-secondary)}html[data-theme=dark] .pagination-btn:hover{background:var(--surface-4)}html[data-theme=dark] .pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}html[data-theme=dark] .report-section-header,html[data-theme=dark] .report-section-header h3{color:var(--color-text-primary)}html[data-theme=dark] .status-banner{color:var(--color-text-secondary)}html[data-theme=dark] .employee-dashboard .quick-actions,html[data-theme=dark] .quick-actions,html[data-theme=dark] .status-banner{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .quick-actions h2{color:var(--color-text-primary)}html[data-theme=dark] .detail-icon{background:var(--surface-3)}html[data-theme=dark] .attendance-history-filters{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .sidebar-btn.active{background:var(--color-bg-card);box-shadow:var(--elevation-1);color:var(--color-primary)}html[data-theme=dark] .camera-section,html[data-theme=dark] .summary-section{background:var(--color-bg-card)}html[data-theme=dark] .summary-section h2,html[data-theme=dark] .summary-section h3{color:var(--color-text-primary)}html[data-theme=dark] .calendar-modal{background:var(--color-bg-card)}html[data-theme=dark] .session-item{background:var(--color-bg-page);border-color:var(--color-border)}html[data-theme=dark] .no-data-container{background:var(--color-bg-card);color:var(--color-text-muted)}html[data-theme=dark] .profile-photo-placeholder{background:var(--surface-3)}html[data-theme=dark] .manager-dashboard{background:var(--color-bg-page)}html[data-theme=dark] .quick-action-card{background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] .quick-action-card:hover{background:var(--surface-3);border-color:var(--color-border-dark)}html[data-theme=dark] .attendance-section,html[data-theme=dark] .stat-card.glass-card{background:var(--color-bg-card)}html[data-theme=dark] .attendance-section .section-header h2{color:var(--color-text-primary)}html[data-theme=dark] .attendance-item{background:var(--color-bg-page);color:var(--color-text-secondary)}html[data-theme=dark] .attendance-item.checked-out{background:var(--color-bg-page)}html[data-theme=dark] .history-item{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .history-item:hover{background:var(--surface-3)}html[data-theme=dark] .filter-select-compact{background:var(--color-bg-input);border-color:var(--color-border-dark);color:var(--color-text-primary)}html[data-theme=dark] .payslip-item{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .payslip-item:hover{background:var(--surface-3)}html[data-theme=dark] .summary-card{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .show-deleted-toggle{background:#0000;color:var(--color-text-muted)}html[data-theme=dark] .filter-item input:focus,html[data-theme=dark] .filter-item select:focus{background:var(--color-bg-input);border-color:var(--color-primary)}html[data-theme=dark] .calendar-tabs{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .calendar-tabs button{background:var(--color-bg-card);color:var(--color-text-muted)}html[data-theme=dark] .calendar-tabs button:hover{background:var(--surface-3);color:var(--color-primary)}html[data-theme=dark] .calendar-tabs button.active{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}html[data-theme=dark] .calendar-nav{background:var(--color-bg-card);box-shadow:var(--elevation-1)}html[data-theme=dark] .calendar-nav .btn-icon{background:var(--surface-3);color:var(--color-text-secondary)}html[data-theme=dark] .calendar-nav .btn-icon:hover{background:var(--surface-4)}html[data-theme=dark] .calendar-cell{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .calendar-cell:hover{background:var(--surface-3)}html[data-theme=dark] .calendar-day-header{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .calendar-legend{background:var(--color-bg-card);box-shadow:var(--elevation-1);color:var(--color-text-muted)}html[data-theme=dark] .plugin-card{background:var(--color-bg-card);border-color:var(--color-border)}html[data-theme=dark] .plugin-card:hover{box-shadow:var(--elevation-2)}html[data-theme=dark] .plugin-card.disabled{border-left-color:var(--stone-500)}html[data-theme=dark] .plugin-icon{background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary-light)}html[data-theme=dark] .plugin-version{background:var(--surface-3);color:var(--color-text-muted)}html[data-theme=dark] .plugin-card-footer{border-top-color:var(--color-border)}html[data-theme=dark] .plugin-author{color:var(--color-text-muted)}html[data-theme=dark] .plugin-status.active{background:var(--color-success-50);color:var(--color-success-light)}html[data-theme=dark] .plugin-status.inactive{background:var(--surface-3);color:var(--color-text-placeholder)}html[data-theme=dark] .toggle-slider{background-color:var(--surface-4)}@media (max-width:480px){html[data-theme=dark] .modal,html[data-theme=dark] .modal-content{border-color:var(--color-border-dark);box-shadow:var(--elevation-5)}html[data-theme=dark] .drawer{box-shadow:var(--elevation-5)}html[data-theme=dark] .notification-dropdown{border-color:var(--color-border-dark)}}.login-page{align-items:center;background:var(--stone-950);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-4);position:relative}.login-page:before{animation:loginGradientShift 12s ease-in-out infinite alternate;background:radial-gradient(ellipse 80% 60% at 20% 80%,rgba(var(--color-primary-rgb),.25) 0,#0000 60%),radial-gradient(ellipse 60% 80% at 80% 20%,#8b5cf633 0,#0000 60%),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(var(--color-primary-rgb),.08) 0,#0000 70%);content:"";inset:0;position:absolute}.login-page:after{animation:loginOrb1 16s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(var(--color-primary-rgb),.18) 0,#0000 70%);border-radius:var(--radius-full);content:"";filter:blur(60px);height:500px;position:absolute;right:-8%;top:-10%;width:500px}.login-container{align-items:center;animation:loginCardReveal .8s var(--ease-out-expo) both;display:flex;flex-direction:column;max-width:440px;position:relative;width:100%;z-index:2}.login-container:before{animation:loginOrb2 14s ease-in-out infinite alternate-reverse;background:radial-gradient(circle,#8b5cf626 0,#0000 70%);bottom:-5%;filter:blur(50px);height:350px;left:-5%;width:350px}.login-container:after,.login-container:before{border-radius:var(--radius-full);content:"";pointer-events:none;position:fixed}.login-container:after{animation:loginOrb3 10s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(var(--color-primary-rgb),.12) 0,#0000 70%);filter:blur(40px);height:200px;left:15%;top:20%;width:200px}.login-card{animation:loginGlassIn .6s var(--ease-out-expo) .15s both;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#ffffff12;border:1px solid #ffffff1a;border-radius:var(--radius-2xl);box-shadow:0 25px 60px -12px #00000080,0 0 1px 0 #ffffff1a,inset 0 1px 0 0 #ffffff14;padding:var(--space-10) var(--space-8);width:100%}.login-logo{margin-bottom:var(--space-6)}.login-logo,.logo-icon{display:flex;justify-content:center}.logo-icon{align-items:center;animation:logoPulse 3s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-xl);box-shadow:0 8px 32px rgba(var(--color-primary-rgb),.35),0 0 0 1px rgba(var(--color-primary-rgb),.1);color:#fff;height:72px;width:72px}.login-header{margin-bottom:var(--space-8);text-align:center}.login-header h1{color:#fff;font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2) 0}.login-header p{color:#ffffff80;font-size:var(--text-md);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.input-group{position:relative}.input-group,.input-icon{align-items:center;display:flex}.input-icon{color:#ffffff59;justify-content:center;left:var(--space-4);pointer-events:none;position:absolute;transition:color var(--duration-normal) var(--ease-default);z-index:1}.input-group input{background:#ffffff0f;border:1.5px solid #ffffff1a;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-base);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);transition:border-color var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);width:100%}.input-group input::placeholder{color:#ffffff4d}.input-group input:focus{background:#ffffff1a;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15);outline:none}.input-group:focus-within .input-icon{color:var(--color-primary)}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:#ffffff59;cursor:pointer;display:flex;justify-content:center;padding:var(--space-2);position:absolute;right:var(--space-3);transition:color var(--duration-normal) var(--ease-default)}.password-toggle-btn:hover{color:#ffffffb3}.login-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border:none;border-radius:var(--radius-pill);box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.35);color:#fff;cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;margin-top:var(--space-2);overflow:hidden;padding:var(--space-4);position:relative;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);width:100%}.login-btn:before{background:linear-gradient(135deg,#0000,#ffffff26 50%,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--duration-normal) var(--ease-default)}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:hover:not(:disabled){box-shadow:0 8px 30px rgba(var(--color-primary-rgb),.45);transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:scale(.98) translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.btn-loading{align-items:center;display:flex;gap:var(--space-2)}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:var(--radius-full);border-top-color:#fff;height:18px;width:18px}.forgot-password-hint{align-items:center;color:#ffffff4d;display:flex;font-size:var(--text-sm);gap:var(--space-1);justify-content:center;margin:var(--space-2) 0 0;text-align:center}.login-footer{border-top:1px solid #ffffff14;margin-top:var(--space-6);padding-top:var(--space-6);text-align:center}.login-note{color:#fff6;font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.login-note strong{color:var(--color-primary);font-weight:var(--font-semibold)}.login-copyright{color:#ffffff40;font-size:var(--text-sm);margin-top:var(--space-8);text-align:center}@keyframes loginGradientShift{0%{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.85;transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1.05) rotate(-1deg)}}@keyframes loginOrb1{0%{transform:translate(0) scale(1)}33%{transform:translate(-30px,40px) scale(1.1)}66%{transform:translate(20px,-20px) scale(.95)}to{transform:translate(-10px,30px) scale(1.05)}}@keyframes loginOrb2{0%{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.15)}to{transform:translate(-20px,20px) scale(.9)}}@keyframes loginOrb3{0%{opacity:.5;transform:translate(0) scale(1)}50%{opacity:.8;transform:translate(25px,25px) scale(1.2)}to{opacity:.5;transform:translate(-15px,-10px) scale(.85)}}@keyframes loginCardReveal{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginGlassIn{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:1}}@keyframes logoPulse{0%,to{box-shadow:0 8px 32px rgba(var(--color-primary-rgb),.35),0 0 0 0 rgba(var(--color-primary-rgb),.2)}50%{box-shadow:0 8px 32px rgba(var(--color-primary-rgb),.35),0 0 0 12px rgba(var(--color-primary-rgb),0)}}@media (max-width:768px){.login-card{max-width:400px;padding:var(--space-10) var(--space-8)}}@media (max-width:480px){.login-page:after{filter:blur(40px);height:250px;width:250px}.login-container:before{height:180px;width:180px}.login-container:after{height:120px;width:120px}.login-card{border-radius:var(--radius-xl);padding:var(--space-6) var(--space-4)}.login-header h1{font-size:var(--text-xl)}.login-header p{font-size:var(--text-sm)}.logo-icon{height:56px;width:56px}.input-group input{font-size:var(--text-sm);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10)}.login-btn{font-size:var(--text-sm);padding:var(--space-3)}}@media (prefers-reduced-motion:reduce){.login-container:after,.login-container:before,.login-page:after,.login-page:before{animation:none}.login-card,.login-container{animation:none;opacity:1}.logo-icon{animation:none}}
/*# sourceMappingURL=main.46b3f7bc.css.map*/