:root{--bg:#0f1117;--bg-subtle:#161922;--bg-card:#ffffff08;--bg-elevated:#ffffff0d;--glass-bg:#ffffff0a;--glass-bg-hover:#ffffff12;--glass-border:#ffffff14;--glass-border-hover:#ffffff24;--glass-shadow:0 8px 32px #0000004d;--glass-blur:16px;--ink:#f0f0f5;--ink-secondary:#a0a3b1;--ink-muted:#6b6f80;--ink-faint:#3e4152;--accent:#6c5ce7;--accent-light:#a29bfe;--accent-glow:#6c5ce759;--accent-gradient:linear-gradient(135deg, #6c5ce7, #a29bfe);--ok:#00cec9;--ok-soft:#00cec91f;--ok-glow:#00cec94d;--danger:#ff6b6b;--danger-soft:#ff6b6b1f;--danger-glow:#ff6b6b4d;--warn:#ffc048;--warn-soft:#ffc0481f;--info:#74b9ff;--info-soft:#74b9ff1f;--sidebar-bg:#0f1117eb;--sidebar-glass:#ffffff08;--sidebar-border:#ffffff0f;--sidebar-text:#b0b3c2;--sidebar-text-active:#fff;--sidebar-active-bg:#6c5ce71f;--sidebar-hover-bg:#ffffff0a;--sidebar-w:250px;--sidebar-rail-w:68px;--font-display:"Plus Jakarta Sans", "Inter", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--topbar-h:3.75rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f6fa;--bg-subtle:#fff;--bg-card:#00000005;--bg-elevated:#00000008;--glass-bg:#ffffffb3;--glass-bg-hover:#ffffffd9;--glass-border:#00000014;--glass-border-hover:#00000024;--glass-shadow:0 8px 32px #00000014;--ink:#1a1c2e;--ink-secondary:#4a4d63;--ink-muted:#8b8fa3;--ink-faint:#c5c8d6;--accent:#5f4dd0;--accent-light:#6c5ce7;--accent-glow:#6c5ce72e;--ok:#00a89d;--ok-soft:#00a89d1a;--ok-glow:#00a89d33;--danger:#e74c3c;--danger-soft:#e74c3c14;--danger-glow:#e74c3c33;--warn:#e0a800;--warn-soft:#e0a8001a;--info:#2980b9;--info-soft:#2980b91a;--sidebar-bg:#ffffffeb;--sidebar-glass:#00000005;--sidebar-border:#00000014;--sidebar-text:#5a5d72;--sidebar-text-active:#1a1c2e;--sidebar-active-bg:#6c5ce71a;--sidebar-hover-bg:#0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-toggle{cursor:pointer;background:0 0;border:none;align-items:center;margin:.25rem 0;padding:.4rem;display:flex}.theme-toggle-track{width:52px;height:28px;transition:all .35s var(--ease-smooth);background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;justify-content:space-between;align-items:center;padding:0 6px;display:flex;position:relative}[data-theme=light] .theme-toggle-track{background:#0000000f;border-color:#0000001a}.theme-toggle-thumb{background:var(--accent-gradient);width:20px;height:20px;box-shadow:0 0 10px var(--accent-glow);transition:transform .35s var(--ease-bounce);border-radius:50%;position:absolute;top:3px;left:3px}[data-theme=light] .theme-toggle-thumb{background:linear-gradient(135deg,#f39c12,#f1c40f);transform:translate(24px);box-shadow:0 0 10px #f1c40f59}.theme-toggle-icon{z-index:1;justify-content:center;align-items:center;transition:opacity .25s,color .25s;display:flex}.theme-toggle-sun{color:#ffffff4d}.theme-toggle-moon{color:#ffffffb3}[data-theme=light] .theme-toggle-sun{color:#f39c12}[data-theme=light] .theme-toggle-moon{color:#00000040}.theme-toggle:hover .theme-toggle-track{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);min-height:100dvh;margin:0;font-size:14px;line-height:1.6}body.nav-open{overflow:hidden}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,.brand strong{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}.mobile-topbar,.sidebar-backdrop{display:none}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--bg);align-items:stretch;min-height:100dvh;display:grid}.sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);padding:1.5rem .85rem;padding-left:calc(.85rem + var(--safe-left));z-index:100;flex-direction:column;gap:.5rem;height:100dvh;display:flex;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.25rem .5rem 1.25rem;display:flex}.brand-mark{width:132px;height:44px;box-shadow:none;background:#7063e1;border-radius:0;flex-shrink:0;padding:0;display:block;overflow:visible;-webkit-mask-image:url(/wave-logo.png);mask-image:url(/wave-logo.png);-webkit-mask-position:0;mask-position:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand-mark img{object-fit:contain;object-position:left center;opacity:0;pointer-events:none;width:100%;height:100%;display:block}.brand>div:not(.sidebar-collapse-toggle),.emp-sidebar-brand>div:not(.sidebar-collapse-toggle),.mobile-topbar-brand strong,.emp-topbar-brand strong{display:none}.brand strong{color:#fff;letter-spacing:-.01em;font-size:.9rem;display:block}.brand small{color:var(--ink-muted);letter-spacing:.03em;text-transform:uppercase;margin-top:1px;font-size:.7rem;display:block}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding-right:2px;display:flex;overflow:auto}.sidebar a{border-radius:var(--radius-sm);color:var(--sidebar-text);transition:all var(--duration-normal) var(--ease-smooth);align-items:center;gap:.7rem;padding:.6rem .75rem;font-size:.82rem;font-weight:500;display:flex;position:relative}.sidebar a:hover{background:var(--sidebar-hover-bg);color:var(--ink)}.sidebar a.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);font-weight:600}.sidebar a.active:before{content:"";background:var(--accent-gradient);width:3px;height:60%;box-shadow:0 0 12px var(--accent-glow);border-radius:0 4px 4px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar a svg{opacity:.65;transition:opacity var(--duration-fast);flex-shrink:0;display:block;overflow:visible}.sidebar a:hover svg,.sidebar a.active svg{opacity:1}.logout{border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-body);transition:all var(--duration-normal) var(--ease-smooth);border:1px solid #0000;border-top:1px solid var(--sidebar-border);background:0 0;align-items:center;gap:.7rem;margin-top:auto;padding:1rem .75rem .6rem;display:flex}.logout:hover{color:var(--danger);background:var(--danger-soft)}.sidebar-collapse-toggle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.sidebar-collapse-toggle:hover{color:var(--ink);background:var(--sidebar-hover-bg);border-color:var(--sidebar-border)}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.brand>div,.emp-sidebar-brand>div{min-width:0}.theme-toggle-compact{border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--sidebar-text);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);background:0 0;justify-content:center;align-self:center;align-items:center;padding:0;display:none}.theme-toggle-compact:hover{color:var(--ink);background:var(--sidebar-hover-bg)}@media (width>=769px){.app-shell.sidebar-collapsed,.emp-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-rail-w) minmax(0, 1fr)}.sidebar-collapsed .sidebar,.sidebar-collapsed .emp-sidebar{padding:.85rem .55rem;padding-left:calc(.55rem + var(--safe-left))}.sidebar-collapsed .brand,.sidebar-collapsed .emp-sidebar-brand{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.15rem 0 .75rem}.sidebar-collapsed .brand>:not(.sidebar-collapse-toggle):not(.brand-mark),.sidebar-collapsed .emp-sidebar-brand>:not(.sidebar-collapse-toggle):not(.brand-mark){display:none}.sidebar-collapsed .brand-mark{background:#7063e1;width:44px;height:44px;margin:0;display:block;-webkit-mask-image:url(/favicon.png);mask-image:url(/favicon.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.sidebar-collapsed .sidebar-collapse-toggle{margin:0}.sidebar-collapsed .sidebar a,.sidebar-collapsed .emp-sidebar-nav a,.sidebar-collapsed .logout,.sidebar-collapsed .emp-signout{justify-content:center;gap:0;padding-left:0;padding-right:0}.sidebar-collapsed .nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-collapsed .theme-toggle{display:none}.sidebar-collapsed .theme-toggle-compact{display:inline-flex}}@media (width<=768px){.sidebar-collapse-toggle{display:none}}.main-wrap{background:radial-gradient(ellipse 80% 50% at 50% -20%, #6c5ce70f, transparent), var(--bg);flex-direction:column;min-width:0;min-height:100dvh;display:flex;overflow-x:hidden}.main{box-sizing:border-box;width:100%;min-width:0;max-width:1920px;animation:fadeIn var(--duration-slow) var(--ease-smooth);flex:1;margin:0 auto;padding:2rem 2.5rem}.app-footer{text-align:center;color:var(--ink-muted);letter-spacing:.03em;border-top:1px solid var(--glass-border);padding:1.5rem;font-size:.72rem}.page{min-width:0;max-width:100%;animation:fadeIn var(--duration-slow) var(--ease-smooth)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{color:var(--ink);margin:0;font-size:1.75rem;line-height:1.2}.page-header .actions{align-items:center;gap:.5rem;display:flex}.muted,.hint{color:var(--ink-muted);font-size:.82rem}.btn{border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.15rem;display:inline-flex}.btn svg{flex-shrink:0;display:block;overflow:visible}.btn.primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px var(--accent-glow);border:none}.btn.primary:hover:not(:disabled){box-shadow:0 6px 25px var(--accent-glow), 0 0 40px #6c5ce726;filter:brightness(1.1);transform:translateY(-1px)}.btn.primary:active:not(:disabled){box-shadow:0 2px 10px var(--accent-glow);transform:translateY(0)scale(.98)}.btn.danger{background:var(--danger);color:#fff;box-shadow:0 4px 15px var(--danger-glow);border:none}.btn.danger:hover:not(:disabled){box-shadow:0 6px 25px var(--danger-glow);filter:brightness(1.1);transform:translateY(-1px)}.btn.ghost{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink-secondary);-webkit-backdrop-filter:blur(8px)}.btn.ghost:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.alert{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(12px);border:1px solid #0000;margin-bottom:1rem;padding:.75rem 1rem;font-size:.82rem;font-weight:500}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:#ff6b6b33}.alert.ok{background:var(--ok-soft);color:var(--ok);border-color:#00cec933}.form-panel,.panel-link,.stat,.modal,.table-wrap{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.form-panel{padding:1.25rem}.password-rules{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:.5rem;padding:.75rem 1rem;font-size:.78rem}.password-rules p{color:var(--ink-secondary);margin:0 0 .4rem;font-weight:600}.password-rules ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.password-rules li{color:var(--ink-muted);padding-left:1.25rem;position:relative}.password-rules li:before{content:"â—‹";position:absolute;left:0}.password-rules li.ok{color:var(--ok)}.password-rules li.ok:before{content:"â—"}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.form-row>*{flex:1;min-width:140px}.table-wrap{padding:0;overflow-x:auto}.table-wrap table{width:100%}.pagination-bar{border-top:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.pagination-actions{align-items:center;gap:.5rem;display:flex}.page-indicator{color:var(--ink-muted);padding:0 .5rem;font-size:.78rem;font-weight:500}.list-filters{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.list-filters input,.list-filters select,.list-filters .ui-dropdown{flex:1;min-width:120px}.card-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.panel-link{transition:all var(--duration-normal) var(--ease-smooth);cursor:pointer;padding:1.5rem;position:relative;overflow:hidden}.panel-link:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;transition:background var(--duration-normal);pointer-events:none;background:linear-gradient(135deg,#6c5ce700,#6c5ce700);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel-link:hover:before{background:linear-gradient(135deg,#6c5ce766,#a29bfe33)}.panel-link h3{color:var(--ink);margin:0 0 .5rem;font-size:1.05rem}.panel-link p{color:var(--ink-muted);margin:0;font-size:.82rem;line-height:1.5}.panel-link:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow), 0 0 30px #6c5ce714;transform:translateY(-3px)}.dash-page .page-header h1{font-size:1.75rem}.dash-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.dash-stat-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-smooth);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon info""icon sub";align-items:start;gap:.35rem .85rem;min-width:0;padding:1.1rem 1.15rem;display:grid;position:relative;overflow:hidden}.dash-stat-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow);transform:translateY(-2px)}.dash-stat-icon{border-radius:var(--radius-md);flex-shrink:0;grid-area:icon;justify-content:center;align-self:center;align-items:center;width:44px;height:44px;display:flex}.dash-stat-info{flex-direction:column;grid-area:info;gap:.15rem;min-width:0;display:flex}.dash-stat-value{font-size:clamp(1.05rem,1.8vw,1.55rem);font-weight:700;font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;line-height:1.15}.dash-stat-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500;line-height:1.3}.dash-stat-sub{color:var(--ink-faint);overflow-wrap:anywhere;word-break:break-word;grid-area:sub;min-width:0;font-size:.68rem;line-height:1.35}.dash-analytics-row{grid-template-columns:1.4fr 1fr;gap:1.25rem;margin-bottom:2rem;display:grid}.dash-analytics-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:1.5rem}.dash-analytics-head{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.dash-analytics-head h2{color:var(--ink);margin:0;font-size:1rem}.dash-analytics-link{color:var(--accent-light);transition:color var(--duration-fast);font-size:.78rem;font-weight:600;text-decoration:none}.dash-analytics-link:hover{color:var(--accent)}.dash-cost-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.dash-cost-item{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast);align-items:center;gap:.75rem;padding:.85rem;display:flex}.dash-cost-item:hover{border-color:var(--glass-border-hover)}.dash-cost-icon{color:var(--accent-light);opacity:.7;flex-shrink:0}.dash-cost-value{color:var(--ink);font-size:1.1rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums;display:block}.dash-cost-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;display:block}.dash-empty-state{color:var(--ink-muted);text-align:center;margin:0;padding:2rem 1rem;font-size:.85rem}.dash-leave-breakdown{flex-direction:column;gap:1rem;display:flex}.dash-leave-bar{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:7px;gap:2px;height:14px;display:flex;overflow:hidden}.dash-leave-segment{transition:width .6s var(--ease-smooth);border-radius:7px;min-width:4px}.dash-leave-segment.approved{background:linear-gradient(135deg,#00cec9,#55efc4)}.dash-leave-segment.pending{background:linear-gradient(135deg,#ffc048,#fdcb6e)}.dash-leave-segment.rejected{background:linear-gradient(135deg,#ff6b6b,#fab1a0)}.dash-leave-segment.empty{background:var(--glass-bg)}.dash-leave-legend{flex-wrap:wrap;gap:1.25rem;display:flex}.dash-leave-legend-item{color:var(--ink-secondary);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.dash-leave-legend-item strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:.15rem}.dash-leave-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-leave-dot.approved{background:#00cec9}.dash-leave-dot.pending{background:#ffc048}.dash-leave-dot.rejected{background:#ff6b6b}.dash-section-title{color:var(--ink);margin:0 0 1rem;font-size:1.1rem}.dash-quick-card{flex-direction:column;gap:.5rem;display:flex}.dash-quick-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:.25rem;display:flex}@media (width<=1100px){.dash-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.dash-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dash-stat-card{column-gap:.7rem;padding:1rem}.dash-stat-icon{width:40px;height:40px}.dash-stat-icon svg{width:18px;height:18px}.dash-stat-value{font-size:clamp(1rem,3.5vw,1.35rem)}.dash-analytics-row,.dash-cost-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.dash-stats-row{grid-template-columns:1fr;gap:.65rem}.dash-stat-card{padding:.9rem 1rem}.dash-stat-sub{max-width:none}.card-grid{grid-template-columns:1fr}}.chips{flex-wrap:wrap;gap:.5rem;padding:.25rem 0;display:flex}.chip{border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.78rem;font-weight:500;display:inline-flex}.skill-chips{gap:.4rem}.skill-chip{border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);white-space:nowrap;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.78rem;font-weight:500;display:inline-flex}.skill-chip input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skill-chip:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--ink)}.skill-chip:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.skill-chip.is-selected{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);font-weight:600}.skill-chip.is-selected:hover{background:#6c5ce74d}.employee-skills-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.employee-skills-row>.btn{flex-shrink:0}.color-swatch{border:2px solid var(--glass-border);vertical-align:middle;border-radius:50%;width:18px;height:18px;display:inline-block}.login-page{--login-purple:#6c5ce7;--login-purple-deep:#5a4bd1;--login-purple-soft:#f0edff;--login-purple-mist:#6c5ce71f;--login-ink:#2d2a4a;--login-muted:#6b6f80;--login-label:#4a4d63;--login-card:#fff;--login-border:#e6e8f0;--login-input-bg:#fff;--login-placeholder:#b0b4c4;--login-icon:#9aa0b4;--login-page-bg:#eef0f7;--login-heading:#0f172a;--login-tagline:#5b6bcf;--login-tagline-line:linear-gradient(90deg, #7b8ef0, transparent);--login-or:#a0a5b8;--login-or-line:#e4e7f0;--login-secure-bg:#eef4ff;--login-secure-border:#e0e9ff;--login-secure-icon-bg:#dde8ff;--login-secure-icon:#4f6fd8;--login-form-shadow:0 18px 50px #463c8c1f, 0 2px 8px #463c8c0a;--login-form-border:#fffc;--login-bg-overlay:linear-gradient(105deg, #f8f9ffeb 0%, #f8f9ffc7 42%, #f8f9ff8c 62%, #edecffb8 100%);--login-bg-mobile:#f8fafc;--login-pad-y:clamp(1rem, 3vh, 1.5rem);--login-pad-x:clamp(1rem, 3vw, 2.5rem);--login-shell-gap:clamp(1rem, 2.5vh, 1.25rem) clamp(1.25rem, 4vw, 3.5rem);--login-brand:clamp(1rem, .4vw + .9rem, 1.15rem);--login-title:clamp(1.75rem, 2vw + 1.2rem, 2.75rem);--login-sub:clamp(.88rem, .3vw + .8rem, 1rem);--login-form-pad:clamp(1.5rem, 2vw + 1rem, 2.35rem) clamp(1.25rem, 1.5vw + .9rem, 2.15rem);--login-form-gap:clamp(.85rem, 1.2vh, 1.15rem);--login-form-title:clamp(1.25rem, .5vw + 1.1rem, 1.55rem);--login-input-pad:clamp(.65rem, 1vh, .82rem);min-height:100dvh;padding:var(--login-pad-y) var(--login-pad-x);background:var(--login-page-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--login-ink);transition:background-color .35s var(--ease-smooth), color .35s var(--ease-smooth);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}[data-theme=dark] .login-page{--login-purple:#a29bfe;--login-purple-deep:#6c5ce7;--login-purple-soft:#6c5ce738;--login-purple-mist:#6c5ce747;--login-ink:#f0f0f5;--login-muted:#a0a3b1;--login-label:#b0b3c2;--login-card:#161922f0;--login-border:#ffffff1f;--login-input-bg:#ffffff0d;--login-placeholder:#6b6f80;--login-icon:#8b90a5;--login-page-bg:#0f1117;--login-heading:#f0f0f5;--login-tagline:#a29bfe;--login-tagline-line:linear-gradient(90deg, #a29bfe, transparent);--login-or:#6b6f80;--login-or-line:#ffffff1a;--login-secure-bg:#6c5ce724;--login-secure-border:#6c5ce747;--login-secure-icon-bg:#6c5ce738;--login-secure-icon:#a29bfe;--login-form-shadow:0 18px 50px #00000080, 0 2px 8px #00000040;--login-form-border:#ffffff1a;--login-bg-overlay:linear-gradient(105deg, #0f1117f0 0%, #0f1117d1 42%, #141228b3 62%, #161230c7 100%);--login-bg-mobile:#0f1117;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.login-bg{background:var(--login-bg-overlay), url(/login-hero.jpg) center / cover no-repeat;filter:blur(1.5px);pointer-events:none;transition:opacity .35s var(--ease-smooth);position:absolute;inset:0;transform:scale(1.03)}.login-theme-toggle{z-index:20;position:absolute;top:1rem;left:1rem}.login-shell{z-index:1;align-items:stretch;gap:var(--login-shell-gap);width:100%;max-width:min(1120px,100%);min-height:min(640px,100dvh - 3rem);animation:slideUp var(--duration-slow) var(--ease-smooth);grid-template-columns:minmax(0,1.15fr) minmax(min(100%,300px),min(36vw,420px));grid-template-areas:"top top""hero form";display:grid;position:relative}.login-topbar{grid-area:top;justify-content:space-between;align-items:center;gap:1rem;padding-right:.25rem;display:flex}.login-hero{background:0 0;flex-direction:column;grid-area:hero;justify-content:space-between;gap:2rem;padding:.25rem .25rem .75rem;display:flex;position:relative;overflow:visible}.login-hero:before{display:none}.login-form-pane{grid-area:form}.login-hero-brand{align-items:center;gap:.75rem;display:flex}.login-hero-brand>div{display:none}.login-hero-logo{color:#fff;width:auto;max-width:min(220px,28vw);height:clamp(44px,4.5vw,56px);box-shadow:none;background:0 0;border-radius:0;flex-shrink:0;justify-content:flex-start;align-items:center;padding:0;display:flex;overflow:visible}.login-hero-logo-img{object-fit:contain;object-position:left center;mix-blend-mode:multiply;filter:contrast(1.15)saturate(1.1)brightness(.95);width:auto;max-width:100%;height:100%;display:block}[data-theme=dark] .login-hero-logo-img{mix-blend-mode:screen;filter:contrast(1.35)saturate(1.25)brightness(1.15)}.login-hero-logo svg{display:block}.login-hero-brand strong{color:var(--login-purple);font-size:var(--login-brand);font-family:var(--font-display);letter-spacing:-.02em;font-weight:800;line-height:1.15;display:block}.login-hero-brand small{color:var(--login-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.15rem;font-size:.68rem;font-weight:600;display:block}.login-hero-pill{background:var(--login-purple-soft);color:var(--login-purple);letter-spacing:0;text-transform:none;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.78rem;font-weight:600;display:inline-flex}.login-hero-body{flex-direction:column;flex:1;justify-content:center;gap:1.75rem;display:flex}.login-hero-intro{align-items:center;gap:1rem;display:flex}.login-hero-art{flex-shrink:0;display:none}.login-hero-art-img,.login-hero-art-svg{object-fit:contain;width:100%;height:auto;display:block}.attendance-mark-page{--att-grad-violet:linear-gradient(135deg, #6c5ce7 0%, #a29bfe 55%, #74b9ff 100%);--att-grad-teal:linear-gradient(135deg, #00a89d 0%, #00cec9 50%, #55efc4 100%);--att-grad-panel:linear-gradient(165deg, #6c5ce71a 0%, #ffffff0a 38%, #00cec912 100%);--att-grad-chip:linear-gradient(135deg, #6c5ce72e, #a29bfe1f);--att-grad-chip-out:linear-gradient(135deg, #00a89d2e, #00cec91f);--att-grad-identity:linear-gradient(120deg, #6c5ce71f 0%, #ffffff0a 45%, #00cec91a 100%);--att-grad-steps:linear-gradient(90deg, #6c5ce71a, #ffffff08, #00cec914);--att-grad-page:radial-gradient(ellipse 80% 60% at 8% 12%, #6c5ce747, transparent 52%), radial-gradient(ellipse 70% 55% at 92% 88%, #00cec92e, transparent 48%), radial-gradient(ellipse 50% 40% at 70% 20%, #74b9ff1f, transparent 55%), linear-gradient(160deg, #12141c 0%, #0f1117 45%, #101820 100%);background:var(--att-grad-page);color-scheme:inherit;padding:1.5rem}.attendance-mark-page .login-shell{grid-template-columns:1fr;grid-template-areas:"form";gap:0;width:100%;max-width:920px;min-height:auto}.attendance-mark-page .login-form-pane{background:linear-gradient(135deg, #ffffff12, #ffffff05), var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--ink);border-radius:var(--radius-xl);background-clip:padding-box;border:1px solid #0000;justify-content:flex-start;gap:0;padding:0;position:relative;overflow:hidden;box-shadow:0 28px 64px #00000059,0 0 0 1px #a29bfe2e,inset 0 1px #ffffff0f}.attendance-mark-page .login-form-pane:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:2;background:linear-gradient(135deg,#a29bfe8c,#ffffff14 40%,#00cec966);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.attendance-mark-page .login-form-header h2{color:var(--ink)}.attendance-mark-page .login-form-header p,.attendance-mark-page .login-field-label{color:var(--ink-secondary)}.attendance-mark-page .login-input-wrap{background:var(--glass-bg);border-color:var(--glass-border)}.attendance-mark-page .login-input-wrap input{color:var(--ink)}.attendance-mark-page .login-submit{box-shadow:0 12px 28px #6c5ce766;background:var(--att-grad-violet)!important;border-color:#0000!important}.attendance-mark-page .login-submit.is-checkout{box-shadow:0 12px 28px #00cec959;background:var(--att-grad-teal)!important}.attendance-mark-page .login-submit:not(:disabled):hover{filter:brightness(1.06)}.attendance-mark-form{flex-direction:column;gap:0;display:flex}.attendance-mark-form>.alert{margin:1.25rem 1.75rem 0}.attendance-mark-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);align-items:stretch;gap:0;min-height:440px;display:grid}.attendance-selfie-block{border-right:1px solid var(--glass-border);background:#0a0b10;flex-direction:column;margin:0;padding:0;display:flex}.attendance-selfie-frame{aspect-ratio:auto;width:100%;max-width:none;height:100%;min-height:440px;box-shadow:none;background:#0a0b10;border:none;border-radius:0;flex:auto;position:relative;overflow:hidden}.attendance-selfie-frame.is-captured{border-color:#00cec959}.attendance-selfie-frame .selfie-video{object-fit:cover;width:100%;height:100%;display:block}.attendance-selfie-frame video.selfie-video{transform:scaleX(-1)}.attendance-camera-empty{z-index:1;text-align:center;color:#f8fafc;background:linear-gradient(#1216288c 0%,#0c0e1cd1 100%),url(/hotel.png) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1.25rem 1.5rem 2.75rem;display:flex;position:absolute;inset:0}.attendance-camera-empty svg{opacity:.95;margin-bottom:.35rem}.attendance-camera-empty strong{letter-spacing:-.01em;font-size:.98rem;font-weight:700}.attendance-camera-empty p{color:#f8fafcc7;max-width:22ch;margin:0;font-size:.78rem;line-height:1.45}.attendance-camera-close{z-index:3;color:#334155;background:#fffffff0;border-radius:50%;place-items:center;width:32px;height:32px;text-decoration:none;display:none;position:absolute;top:.75rem;right:.75rem;box-shadow:0 4px 12px #0f172a2e}.attendance-camera-close:hover{color:#0f172a;background:#fff}.attendance-selfie-frame .selfie-badge{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);color:#f5f5f8;letter-spacing:.02em;z-index:2;background:#0a0b10b8;border:1px solid #ffffff1f;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.attendance-selfie-frame .selfie-badge.is-captured{background:#00a89dd9;border-color:#ffffff2e}.selfie-badge-dot{width:7px;height:7px;animation:attendanceLivePulse 1.6s var(--ease-smooth) infinite;background:#ff6b6b;border-radius:50%;box-shadow:0 0 0 3px #ff6b6b40}.selfie-badge.is-captured .selfie-badge-dot{box-shadow:none;background:#fff;animation:none}@keyframes attendanceLivePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.attendance-mark-details{background:var(--att-grad-panel);flex-direction:column;justify-content:space-between;gap:1.25rem;min-height:440px;padding:1.5rem 1.5rem 1.35rem;display:flex;position:relative}.attendance-mark-details:before{content:"";opacity:.9;pointer-events:none;background:linear-gradient(90deg,#6c5ce7,#a29bfe 45%,#00cec9);height:3px;position:absolute;top:0;left:0;right:0}.attendance-mark-top{flex-direction:column;gap:1rem;display:flex}.attendance-mark-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon title chip""icon hint hint";align-items:start;gap:.28rem .75rem;display:grid}.attendance-mark-title-icon{color:#6c5ce7;background:#6c5ce71f;border-radius:12px;flex-shrink:0;grid-area:icon;place-items:center;width:42px;height:42px;display:grid}.attendance-mark-heading{display:contents}.attendance-mark-heading h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;grid-area:title;min-width:0;margin:0;font-size:clamp(1.15rem,1.05rem + .6vw,1.55rem);font-weight:800;line-height:1.2}.attendance-mark-hint{color:var(--ink-secondary);grid-area:hint;max-width:none;margin:0;font-size:.84rem;line-height:1.45}.attendance-punch-chip{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;color:#efeaff;background:var(--att-grad-violet);white-space:nowrap;border:none;flex-shrink:0;grid-area:chip;align-items:center;gap:.3rem;margin-top:.15rem;padding:.35rem .7rem;font-size:.68rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #6c5ce747}.attendance-punch-chip.is-out{color:#e8fffb;background:var(--att-grad-teal);box-shadow:0 6px 16px #00cec947}.attendance-identity{border-radius:var(--radius-md);background:var(--att-grad-identity);border:1px solid #a29bfe38;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.attendance-identity-avatar{width:36px;height:36px;font-family:var(--font-display);color:#fff;background:var(--att-grad-violet);border-radius:50%;flex-shrink:0;place-items:center;font-size:.88rem;font-weight:700;display:grid;box-shadow:0 6px 14px #6c5ce759}.attendance-identity-copy{flex-direction:column;gap:.05rem;min-width:0;display:flex}.attendance-identity-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);font-size:.65rem;font-weight:650}.attendance-identity-copy strong{color:var(--ink);word-break:break-word;font-size:.9rem;font-weight:650;line-height:1.3}.attendance-identity-code{color:var(--ink-secondary);font-weight:550}.attendance-mark-steps{border-radius:var(--radius-md);background:var(--att-grad-steps);border:1px solid #a29bfe2e;grid-template-columns:1fr 1fr;grid-template-areas:"one two""bar bar";align-items:center;gap:.65rem .5rem;margin:0;padding:.7rem .75rem .65rem;list-style:none;display:grid}.attendance-mark-steps>li:not(.attendance-step-progress){color:var(--ink-muted);align-items:center;gap:.4rem;min-width:0;font-size:.78rem;font-weight:600;display:flex}.attendance-mark-steps>li:first-child{grid-area:one}.attendance-mark-steps>li:nth-child(2){grid-area:two;justify-self:end}.attendance-step-glyph{color:inherit;opacity:.9;display:inline-flex}.attendance-step-progress{border-radius:var(--radius-full);background:#94a3b847;grid-area:bar;height:4px;list-style:none;overflow:hidden}.attendance-step-progress-fill{border-radius:inherit;width:46%;height:100%;transition:width var(--duration-normal) var(--ease-smooth);background:linear-gradient(90deg,#6c5ce7,#a29bfe);display:block}.attendance-step-progress-fill.is-complete{background:var(--att-grad-teal);width:100%}.attendance-mark-steps>li.is-active{color:var(--ink)}.attendance-mark-steps>li.is-done{color:var(--ok)}.attendance-step-index{background:var(--bg-subtle);border:1px solid var(--glass-border);width:22px;height:22px;color:var(--ink-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:700;display:grid}.attendance-mark-steps>li.is-active .attendance-step-index{background:var(--att-grad-violet);color:#fff;border-color:#0000;box-shadow:0 4px 10px #6c5ce759}.attendance-mark-steps>li.is-done .attendance-step-index{background:var(--att-grad-teal);color:#fff;border-color:#0000}.attendance-step-label{white-space:nowrap}.attendance-mark-actions{border-top:1px solid #0000;border-image:linear-gradient(90deg,#6c5ce759,#ffffff14,#00cec94d) 1;flex-direction:column;gap:.65rem;margin-top:auto;padding-top:.85rem;display:flex}.attendance-capture-btn{border-radius:var(--radius-md);justify-content:center;gap:.5rem;width:100%;min-height:2.75rem;font-weight:600;background:linear-gradient(#ffffff14,#ffffff05)!important;border-color:#a29bfe47!important}.attendance-capture-btn:hover:not(:disabled){background:linear-gradient(#a29bfe24,#ffffff0a)!important;border-color:#a29bfe80!important}.attendance-gps-line{text-align:center;font-variant-numeric:tabular-nums;margin:0}.attendance-submit{border-radius:var(--radius-md);letter-spacing:.01em;justify-content:center;gap:.5rem;width:100%;min-height:3rem;font-weight:700}.attendance-submit:disabled{opacity:.45;filter:grayscale(.2);box-shadow:none!important}.attendance-mark-footer{text-align:center;background:linear-gradient(#6c5ce70f,#00cec90d);border-top:1px solid #0000;border-image:linear-gradient(90deg,#6c5ce740,#ffffff0f,#00cec938) 1;padding:1rem 1.5rem 1.25rem}.attendance-back-link{color:var(--ink-muted);transition:color var(--duration-fast), gap var(--duration-fast);align-items:center;gap:.4rem;font-size:.84rem;font-weight:550;display:inline-flex}.attendance-back-link:hover{color:var(--accent-light);gap:.55rem}[data-theme=light] .attendance-mark-page{--att-grad-panel:linear-gradient(165deg, #6c5ce714 0%, #fffffff2 42%, #00a89d12 100%);--att-grad-identity:linear-gradient(120deg, #6c5ce71a 0%, #ffffffe6 48%, #00a89d14 100%);--att-grad-steps:linear-gradient(90deg, #6c5ce714, #ffffffbf, #00a89d12);--att-grad-page:radial-gradient(ellipse 80% 60% at 8% 12%, #6c5ce729, transparent 52%), radial-gradient(ellipse 70% 55% at 92% 88%, #00a89d1f, transparent 48%), radial-gradient(ellipse 50% 40% at 70% 20%, #74b9ff1a, transparent 55%), linear-gradient(160deg, #eef0f8 0%, #f5f6fa 50%, #e8f7f5 100%);background:var(--att-grad-page)}[data-theme=light] .attendance-mark-page .login-form-pane{background:linear-gradient(145deg,#fffffffa,#f8f9fff0);box-shadow:0 28px 64px #4f46e51f,0 2px 8px #0f172a0a,0 0 0 1px #6c5ce71a}[data-theme=light] .attendance-selfie-block{background:#0a0b10}[data-theme=light] .attendance-mark-footer{background:linear-gradient(#6c5ce70a,#00a89d0d)}[data-theme=light] .attendance-mark-title-icon{color:#6d5efc;background:#ede9fe}[data-theme=light] .attendance-capture-btn{background:linear-gradient(#fff,#f6f5ff)!important;border-color:#6c5ce738!important}[data-theme=light] .attendance-capture-btn:hover:not(:disabled){background:linear-gradient(#f8f6ff,#eefaf8)!important;border-color:#6c5ce766!important}@media (width<=768px){.login-page.attendance-mark-page{padding:max(.85rem, env(safe-area-inset-top)) .85rem max(.9rem, env(safe-area-inset-bottom));justify-content:center;align-items:safe center;min-height:100dvh;overflow:hidden auto}.attendance-mark-page .login-shell{gap:0;width:100%;max-width:420px;min-height:0;padding-bottom:0}.attendance-mark-page .login-form-pane{border-radius:24px;overflow:hidden}.attendance-mark-form>.alert{margin:.85rem 1rem 0}.attendance-mark-page .attendance-mark-layout{grid-template-columns:minmax(0,1fr);min-height:0}.attendance-mark-page .attendance-selfie-block{border-bottom:none;border-right:none;padding:0}.attendance-mark-page .selfie-frame.attendance-selfie-frame{aspect-ratio:16/10;flex:none;align-self:stretch;width:100%;max-width:none;height:auto;min-height:0;max-height:none}.attendance-camera-close{display:grid}.attendance-mark-page .attendance-mark-details{gap:.95rem;min-height:0;padding:1.15rem 1.1rem .35rem}.attendance-mark-page .attendance-mark-details:before{display:none}.attendance-mark-page .attendance-mark-header{grid-template-columns:auto minmax(0,1fr) auto;column-gap:.6rem}.attendance-mark-page .attendance-mark-title-icon{color:#6d5efc;background:#ede9fe;border-radius:12px;width:40px;height:40px}.attendance-mark-page .attendance-mark-heading h2{white-space:nowrap;font-size:1.12rem}.attendance-mark-page .attendance-mark-hint{color:#7b8194;max-width:none;font-size:.8rem;line-height:1.4}.attendance-mark-page .attendance-punch-chip{background:linear-gradient(90deg,#7c6cf7,#8b7dff);grid-area:chip;margin-top:0;padding:.32rem .6rem .32rem .5rem;box-shadow:0 8px 16px #6c5ce738}.attendance-mark-page .attendance-identity{background:linear-gradient(90deg,#eef2ff 0%,#f4f7ff 48%,#e8fbf7 100%);border-color:#a5b4fc59;border-radius:16px;padding:.7rem .85rem}.attendance-mark-page .attendance-identity-avatar{width:40px;height:40px}.attendance-mark-page .attendance-identity-copy strong{overflow-wrap:anywhere;text-transform:uppercase;letter-spacing:.02em;font-size:.82rem}.attendance-mark-page .attendance-mark-steps{background:#fff;border-color:#e2e8f0f2;border-radius:16px;padding:.75rem .8rem .7rem}.attendance-mark-page .attendance-step-label{white-space:nowrap}.attendance-mark-page .attendance-mark-actions{border-top:none;border-image:;padding-top:.35rem}.attendance-mark-page .attendance-capture-btn:not(.is-retake){border-radius:999px;min-height:3.15rem;font-size:.98rem;font-weight:700;box-shadow:0 12px 24px #6d5efc52;color:#fff!important;background:linear-gradient(90deg,#6d5efc 0%,#7b6cff 42%,#74b0ff 100%)!important;border:none!important}.attendance-mark-page .attendance-capture-btn:not(.is-retake):hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(90deg,#6d5efc 0%,#7b6cff 42%,#74b0ff 100%)!important;border:none!important}.attendance-mark-page .attendance-capture-btn:not(.is-retake):disabled{opacity:.55}.attendance-mark-page .attendance-submit:disabled{display:none}.attendance-mark-page .attendance-submit{border-radius:999px;min-height:3.15rem}.attendance-mark-page .attendance-mark-footer{background:0 0;border:none;border-image:;padding:.35rem 1.1rem 1.2rem}.attendance-mark-page .attendance-back-link{color:#8b90a5}.attendance-mark-page .attendance-toast{top:max(.65rem, env(safe-area-inset-top));min-width:0;max-width:none;left:.65rem;right:.65rem}}@media (width<=480px){.login-page.attendance-mark-page{padding:max(.55rem, env(safe-area-inset-top)) .65rem max(.7rem, env(safe-area-inset-bottom));justify-content:center;align-items:center}.attendance-mark-page .login-form-pane{border-radius:22px}.attendance-mark-page .selfie-frame.attendance-selfie-frame{aspect-ratio:16/10;max-height:none}.attendance-mark-page .attendance-mark-details{gap:.85rem;padding:1.05rem 1rem .25rem}.attendance-mark-page .attendance-mark-heading h2{font-size:1.08rem}.attendance-mark-page .attendance-mark-steps{padding:.65rem .7rem .6rem}.attendance-mark-page .attendance-mark-steps>li:not(.attendance-step-progress){font-size:.74rem}.attendance-mark-page .attendance-capture-btn,.attendance-mark-page .attendance-submit{min-height:3rem}}.app-toast,.attendance-toast{z-index:9999;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);min-width:280px;max-width:min(420px,100vw - 2rem);animation:slideInRight .4s var(--ease-smooth);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.app-toast.ok,.attendance-toast{border-color:#00cec940}.app-toast.info{border-color:#74b9ff40}.app-toast.error{border-color:#ff6b6b4d}.app-toast.error .app-toast-icon{background:var(--danger-soft);color:var(--danger)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.app-toast-icon,.attendance-toast-icon{background:var(--ok-soft);width:36px;height:36px;color:var(--ok);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-toast.info .app-toast-icon{background:var(--info-soft);color:var(--info)}.app-toast-body,.attendance-toast-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.app-toast-body strong,.attendance-toast-body strong{color:var(--ink);font-size:.88rem;font-weight:600}.app-toast-body span,.attendance-toast-body span{color:var(--ink-muted);font-size:.78rem}.app-toast-close,.attendance-toast-close{color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1.1rem;line-height:1}.app-toast-close:hover,.attendance-toast-close:hover{color:var(--ink);background:var(--glass-bg-hover)}.attendance-result-media{margin-top:.75rem}.attendance-result-media img{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--glass-border);max-width:100%;max-height:200px}.login-hero-copy{z-index:1;max-width:34rem;position:relative}.login-hero-copy h1{font-size:var(--login-title);color:var(--login-heading);line-height:1.15;font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .85rem;font-weight:800}.login-hero-copy h1 span{color:var(--login-heading);display:inline}.login-hero-copy p{color:var(--login-muted);font-size:var(--login-sub);max-width:28rem;margin:0;line-height:1.55}.login-hero-features{z-index:1;flex-direction:column;gap:.95rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.login-hero-features li{color:var(--login-ink);align-items:flex-start;gap:.85rem;font-size:.92rem;font-weight:500;display:flex}.login-feature-icon{background:var(--login-purple-soft);width:40px;height:40px;color:var(--login-purple);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex;overflow:hidden}.login-feature-icon svg{flex-shrink:0;width:18px;height:18px;display:block;overflow:visible}.login-feature-text{flex-direction:column;gap:.15rem;padding-top:.1rem;display:flex}.login-feature-text strong{color:var(--login-ink);font-size:.95rem;font-weight:700}.login-feature-text span{color:var(--login-muted);font-size:.84rem;font-weight:400}.login-hero-tagline{color:var(--login-tagline);letter-spacing:.01em;width:fit-content;margin:0;font-family:Caveat,cursive;font-size:1.55rem;font-weight:600;display:inline-block;position:relative}.login-hero-tagline:after{content:"";background:var(--login-tagline-line);opacity:.7;border-radius:2px;width:72%;height:2px;margin-top:.15rem;display:block}.login-form-pane{padding:var(--login-form-pad);justify-content:center;gap:var(--login-form-gap);background:var(--login-card);box-shadow:var(--login-form-shadow);border:1px solid var(--login-form-border);-webkit-backdrop-filter:blur(16px);width:100%;min-width:0;transition:background-color .35s var(--ease-smooth), border-color .35s var(--ease-smooth), box-shadow .35s var(--ease-smooth);border-radius:clamp(16px,2.5vw,22px);flex-direction:column;grid-area:form;align-self:center;display:flex}.login-form-header{text-align:center;margin-bottom:.25rem}.login-form-icon{width:clamp(48px,5vw,56px);height:clamp(48px,5vw,56px);box-shadow:none;background:#7063e1;border-radius:0;margin:0 auto .9rem;padding:0;display:block;overflow:visible;-webkit-mask-image:url(/favicon.png);mask-image:url(/favicon.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.login-form-icon-img{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;display:block}.login-form-header h2{font-size:var(--login-form-title);color:var(--login-ink);font-family:var(--font-display);margin:0 0 .4rem;font-weight:800}.login-form-header p{color:var(--login-muted);margin:0;font-size:clamp(.78rem,.2vw + .72rem,.86rem);line-height:1.45}.login-field{flex-direction:column;gap:.45rem;display:flex}.login-field-label{color:var(--login-label);letter-spacing:.01em;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.login-field-label svg{color:var(--login-purple);opacity:.85;flex-shrink:0;width:14px;height:14px;display:block;overflow:visible}.login-input-wrap{background:var(--login-input-bg);border:1px solid var(--login-border);transition:border-color var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) var(--ease-smooth), background-color var(--duration-normal) var(--ease-smooth);border-radius:12px;align-items:center;gap:.55rem;padding:0 .85rem;display:flex;overflow:visible}.login-input-wrap>svg{color:var(--login-icon);opacity:1;flex-shrink:0;width:18px;height:18px;display:block;overflow:visible}.login-input-wrap input{padding:var(--login-input-pad) 0;color:var(--login-ink);font-size:clamp(.84rem,.2vw + .78rem,.9rem);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;min-width:0}.login-input-wrap input::placeholder{color:var(--login-placeholder)}.login-input-wrap:focus-within{border-color:var(--login-purple);box-shadow:0 0 0 3px var(--login-purple-mist);background:var(--login-input-bg)}.login-input-wrap .password-toggle{color:var(--login-icon);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex;overflow:visible}.login-input-wrap .password-toggle svg{flex-shrink:0;width:20px;height:20px;display:block;overflow:visible}.login-input-wrap .password-toggle:hover{color:var(--login-purple)}.login-submit{border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.35rem;padding:clamp(.7rem,1.2vh,.85rem) 1rem;font-size:clamp(.88rem,.2vw + .8rem,.95rem);font-weight:700;display:inline-flex;overflow:visible;box-shadow:0 10px 24px #6c5ce747;background:linear-gradient(90deg,#6c5ce7,#8b7cf7)!important;border-color:#0000!important}.login-submit svg{flex-shrink:0;width:18px;height:18px;display:block;overflow:visible}.login-submit:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(90deg,#5a4bd1,#7b6cf0)!important;border-color:#0000!important}.login-or{color:var(--login-or);letter-spacing:.08em;align-items:center;gap:.85rem;margin:.15rem 0;font-size:.72rem;font-weight:600;display:flex}.login-or:before,.login-or:after{content:"";background:var(--login-or-line);flex:1;height:1px}.login-secure{background:var(--login-secure-bg);border:1px solid var(--login-secure-border);transition:background-color .35s var(--ease-smooth), border-color .35s var(--ease-smooth);border-radius:12px;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.login-secure-icon{background:var(--login-secure-icon-bg);width:34px;height:34px;color:var(--login-secure-icon);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex;overflow:hidden}.login-secure-icon svg{flex-shrink:0;width:18px;height:18px;display:block;overflow:visible}.login-secure strong{color:var(--login-ink);margin-bottom:.1rem;font-size:.86rem;font-weight:700;display:block}.login-secure>div span{color:var(--login-muted);font-size:.78rem;line-height:1.4;display:block}.login-eyebrow{color:var(--ink-muted);text-align:center;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem}.attendance-page.login-page{background:var(--bg)}.attendance-shell{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-width:960px;box-shadow:var(--glass-shadow);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.attendance-camera-pane,.attendance-form-pane{flex-direction:column;gap:1rem;padding:2rem;display:flex}.attendance-camera-pane{background:#0003;justify-content:center;align-items:center}.attendance-form-pane h1{font-size:1.3rem}.selfie-frame{aspect-ratio:1;border-radius:var(--radius-lg);border:2px solid var(--glass-border);background:var(--bg-subtle);width:100%;max-width:320px;position:relative;overflow:hidden}@media (width>=769px){.attendance-mark-page .selfie-frame.attendance-selfie-frame{width:100%;max-width:none;aspect-ratio:unset;height:100%;min-height:440px;box-shadow:none;background:#0a0b10;border:none;border-radius:0;flex:auto;align-self:stretch}}.attendance-mark-page .attendance-selfie-block{justify-content:stretch;align-items:stretch}.attendance-mark-page .attendance-selfie-frame .selfie-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.selfie-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.selfie-badge{-webkit-backdrop-filter:blur(10px);color:#fff;border-radius:var(--radius-full);background:#0009;padding:.3rem .8rem;font-size:.72rem;font-weight:600;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.attendance-camera-pane .btn.primary,.attendance-camera-pane .btn.ghost{width:100%;max-width:320px}.attendance-camera-pane .btn.ghost{border-color:var(--glass-border)}.attendance-camera-pane .btn.ghost:hover{border-color:var(--glass-border-hover)}.gps-line,.manager-link{color:var(--ink-muted);font-size:.78rem}.manager-link{color:var(--accent-light)}.selfie-thumb-btn{border:2px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:0;overflow:hidden}.selfie-thumb{object-fit:cover;width:48px;height:48px;display:block}.selfie-preview-lg{border-radius:var(--radius-md);border:1px solid var(--glass-border);width:100%;max-width:200px}.panel-block{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:1rem}.gm-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.gm-header h1{color:var(--ink);margin:0;font-size:1.75rem}.gm-header p{margin:.25rem 0 0}.gm-add-btn{flex-shrink:0}.gm-table-wrap{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden}.gm-table{border-collapse:collapse;width:100%;font-size:.85rem}.gm-table thead{z-index:2;position:sticky;top:0}.gm-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);white-space:nowrap;background:#0f1117d9;padding:.85rem 1.25rem;font-size:.7rem;font-weight:600}.gm-table td{color:var(--ink-secondary);vertical-align:middle;border-bottom:1px solid #ffffff08;padding:.85rem 1.25rem}.gm-table tbody tr{transition:background var(--duration-fast) var(--ease-smooth);position:relative}.gm-table tbody tr:hover{background:#ffffff08}.gm-table tbody tr:last-child td{border-bottom:none}.gm-name-cell{align-items:center;gap:.75rem;display:flex}.gm-avatar{background:var(--accent-gradient);color:#fff;width:36px;height:36px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.gm-name{color:var(--ink);font-weight:600}.gm-email{color:var(--ink-muted);font-size:.82rem}.gm-status{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.gm-status:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.gm-status.is-active{background:var(--ok-soft);color:var(--ok)}.gm-status.is-active:before{background:var(--ok);box-shadow:0 0 6px var(--ok-glow)}.gm-status.is-inactive{color:var(--ink-muted);background:#ffffff0d}.gm-status.is-inactive:before{background:var(--ink-muted)}.gm-actions{justify-content:flex-end;gap:.35rem;display:flex}.gm-icon-btn{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;width:34px;height:34px;color:var(--ink-muted);transition:all var(--duration-fast) var(--ease-smooth);justify-content:center;align-items:center;display:flex}.gm-icon-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--ink)}.gm-icon-btn.is-danger:hover{background:var(--danger-soft);color:var(--danger);border-color:#ff6b6b33}.gm-empty-cell{text-align:center;color:var(--ink-muted)!important;padding:3rem 1rem!important}.gm-hint{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--ink-muted);align-items:center;gap:.65rem;margin-top:1.25rem;padding:1rem;font-size:.82rem;display:flex}.gm-hint-icon{color:var(--accent-light);flex-shrink:0}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;animation:fadeIn var(--duration-fast);background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:520px;max-height:90vh;animation:slideUp var(--duration-normal) var(--ease-smooth);overflow-y:auto}.gm-modal{background:var(--bg-subtle);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);max-width:520px;box-shadow:var(--glass-shadow), 0 0 60px #0006;padding:0}.emp-modal{box-sizing:border-box;flex-direction:column;width:min(600px,100%);max-width:min(600px,100vw - 2rem);max-height:min(90vh,100dvh - 2rem);display:flex;overflow:hidden}.emp-modal:has(.ui-dropdown.is-open){overflow:visible}:is(.emp-avail-slots:has(.ui-dropdown.is-open),.gm-modal-form:has(.ui-dropdown.is-open)){overflow:visible}:is(.emp-filters:has(.ui-dropdown.is-open),.schedule-filters:has(.ui-dropdown.is-open),.list-filters:has(.ui-dropdown.is-open),.version-bar:has(.ui-dropdown.is-open)){z-index:35;position:relative}.emp-modal .gm-modal-header{flex-shrink:0}.emp-modal .gm-modal-form{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.gm-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.75rem 1.75rem 0;display:flex}.gm-modal-header h2{color:var(--ink);margin:0;font-size:1.25rem}.gm-modal-sub{color:var(--ink-muted);margin:.25rem 0 0;font-size:.82rem}.gm-modal-close{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;width:34px;height:34px;color:var(--ink-muted);transition:all var(--duration-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-modal-close:hover{background:var(--glass-bg-hover);color:var(--ink);border-color:var(--glass-border-hover)}.gm-modal-form{flex-direction:column;gap:1rem;padding:1.5rem 1.75rem 1.75rem;display:flex}.gm-field{flex-direction:column;gap:.35rem;display:flex}.gm-field>span{color:var(--ink-secondary);letter-spacing:.02em;font-size:.78rem;font-weight:600}.gm-field input,.gm-field select,.gm-field textarea{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink);font-size:.85rem;font-family:var(--font-body);transition:all var(--duration-normal) var(--ease-smooth);outline:none;width:100%;padding:.6rem .75rem}.gm-field input::placeholder,.gm-field textarea::placeholder{color:var(--ink-faint)}.gm-field input:focus,.gm-field select:focus,.gm-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff0f}.gm-field textarea{resize:vertical;min-height:7rem;line-height:1.45}.gm-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b6f80'%3E%3Cpath d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.gm-field-hint{color:var(--ink-muted);margin-top:.15rem;font-size:.72rem}.gm-active-toggle{margin-top:.25rem}.gm-modal-callout{background:var(--info-soft);border-radius:var(--radius-sm);color:var(--info);border:1px solid #74b9ff26;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.78rem;line-height:1.5;display:flex}.gm-modal-callout svg{flex-shrink:0;margin-top:.1rem}.gm-modal-callout p{margin:0}.gm-modal-actions{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:.6rem;margin-top:.25rem;padding-top:.5rem;display:flex}.emp-filters{flex-wrap:nowrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.emp-filter-input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);min-width:0;color:var(--ink);font-size:.85rem;font-family:var(--font-body);transition:all var(--duration-normal) var(--ease-smooth);outline:none;flex:auto;padding:.6rem .85rem}.emp-filter-input::placeholder{color:var(--ink-faint)}.emp-filter-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff0f}.emp-filter-select{flex:0 11rem;width:11rem;min-width:8.5rem;max-width:14rem}.emp-name-meta{flex-direction:column;gap:.1rem;display:flex}.emp-code{color:var(--ink-muted);letter-spacing:.02em;font-size:.72rem}.emp-wage{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.emp-skills-cell{font-size:.82rem}.emp-table-panel{flex-direction:column;display:flex}.emp-table-scroll{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.emp-pagination{border:none;border-top:1px solid var(--glass-border);box-sizing:border-box;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;margin-top:0;padding:.85rem 1.25rem;display:flex}.emp-modal-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.emp-field-span{grid-column:1/-1}.emp-password-hint{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.75rem}.emp-password-checks{color:var(--ink-muted);flex-wrap:wrap;gap:.35rem 0;width:100%;margin:.5rem 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.emp-password-checks li{box-sizing:border-box;flex:0 0 50%;max-width:50%;padding:.1rem .75rem .1rem 1rem;position:relative}.emp-password-checks li:before{content:"â—‹";font-size:.65rem;position:absolute;left:0}.emp-password-checks li.ok{color:var(--ok)}.emp-password-checks li.ok:before{content:"â—"}.emp-avail-slots{flex-direction:column;gap:.5rem;max-height:300px;padding:0 1.75rem;display:flex;overflow-y:auto}.emp-avail-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.emp-avail-row input[type=time]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink);font-size:.82rem;font-family:var(--font-body);transition:all var(--duration-normal);outline:none;padding:.5rem .65rem}.emp-avail-row input[type=time]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.emp-avail-actions{justify-content:space-between;padding:.75rem 1.75rem 1.75rem}.emp-avail-end{gap:.5rem;display:flex}.emp-confirm-modal{width:min(420px,100%);max-width:min(420px,100vw - 2rem)}.emp-confirm-text{color:var(--ink);margin:0 0 .25rem;font-size:.95rem;line-height:1.5}.emp-confirm-text strong{font-weight:600}.dept-modal{max-width:min(480px,100vw - 2rem)}.dept-code-input{text-transform:uppercase;letter-spacing:.05em}.dept-modal-active{justify-content:flex-end}.dept-modal-active .dept-toggle{min-height:2.5rem}.dept-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex}.dept-toggle input{opacity:0;width:0;height:0;position:absolute}.dept-toggle-track{background:var(--ink-faint);width:38px;height:22px;transition:background var(--duration-normal) var(--ease-smooth);border-radius:11px;flex-shrink:0;position:relative}.dept-toggle-track:after{content:"";width:16px;height:16px;transition:transform var(--duration-normal) var(--ease-smooth);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.dept-toggle input:checked~.dept-toggle-track{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.dept-toggle input:checked~.dept-toggle-track:after{transform:translate(16px)}.dept-toggle-label{color:var(--ink-secondary);font-size:.82rem;font-weight:500}.dept-table-wrap{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden}.dept-table{border-collapse:collapse;width:100%;font-size:.85rem}.dept-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);background:#0f1117d9;padding:.85rem 1.25rem;font-size:.7rem;font-weight:600}.dept-table td{color:var(--ink-secondary);border-bottom:1px solid #ffffff08;padding:.85rem 1.25rem}.dept-table tbody tr{transition:background var(--duration-fast)}.dept-table tbody tr:hover{background:#ffffff08}.dept-table tbody tr:last-child td{border-bottom:none}.dept-name{color:var(--ink);font-weight:600}.dept-code{color:var(--ink-muted);letter-spacing:.04em;font-family:SF Mono,Fira Code,monospace;font-size:.78rem}.dept-status{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.dept-status:before{content:"";border-radius:50%;width:6px;height:6px}.dept-status.is-active{background:var(--ok-soft);color:var(--ok)}.dept-status.is-active:before{background:var(--ok);box-shadow:0 0 6px var(--ok-glow)}.dept-status.is-inactive{color:var(--ink-muted);background:#ffffff0d}.dept-status.is-inactive:before{background:var(--ink-muted)}.dept-actions{justify-content:flex-end;gap:.35rem;display:flex}.dept-icon-btn{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;width:34px;height:34px;color:var(--ink-muted);transition:all var(--duration-fast);justify-content:center;align-items:center;display:flex}.dept-icon-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--ink)}.dept-icon-btn.is-danger:hover{background:var(--danger-soft);color:var(--danger);border-color:#ff6b6b33}.leaves-header{margin-bottom:.75rem}.leaves-header h1{color:var(--ink);margin:0;font-size:1.75rem;line-height:1.2}.leaves-header p{margin:.15rem 0 0}.leaves-form{z-index:2;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:visible}.leaves-form:has(.leaves-emp-picker.is-open){z-index:50}.leaves-page .gm-table-wrap{z-index:0;position:relative}.leaves-form input:not([type=search]),.leaves-emp-picker{flex:1;min-width:120px}.leaves-form input:not([type=search]){background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink);font-size:.85rem;font-family:var(--font-body);transition:all var(--duration-normal);outline:none;padding:.6rem .85rem}.leaves-form input:not([type=search])::placeholder{color:var(--ink-faint)}.leaves-form input:not([type=search]):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.leaves-emp-picker{z-index:4;position:relative}.leaves-emp-picker.is-open{z-index:30}.leaves-emp-trigger{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--ink);font-size:.85rem;font-family:var(--font-body);text-align:left;cursor:pointer;transition:all var(--duration-normal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b6f80'%3E%3Cpath d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 2rem .6rem .85rem;display:flex}.leaves-emp-trigger.is-placeholder{color:var(--ink-faint)}.leaves-emp-trigger:focus,.leaves-emp-picker.is-open .leaves-emp-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.leaves-emp-menu{z-index:60;background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);max-height:min(16rem,100dvh - 8rem);box-shadow:var(--glass-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden}.leaves-emp-search{box-sizing:border-box;border:none;border-bottom:1px solid var(--glass-border);width:100%;color:var(--ink);font-size:.85rem;font-family:var(--font-body);background:0 0;border-radius:0;outline:none;flex-shrink:0;padding:.65rem .85rem}.leaves-emp-search::placeholder{color:var(--ink-faint)}.leaves-emp-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(12.5rem,100dvh - 12rem);padding:.35rem;overflow-y:auto}.leaves-emp-option{width:100%;color:var(--ink);font-family:var(--font-body);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:.55rem .7rem;font-size:.85rem;display:block}.leaves-emp-option:hover,.leaves-emp-option:focus-visible{background:var(--glass-bg-hover,#ffffff12);outline:none}.leaves-emp-option.is-active{background:var(--accent-glow);color:var(--accent-light,var(--accent));font-weight:600}.leaves-emp-empty{text-align:center;margin:0;padding:.85rem .7rem;font-size:.82rem}.leave-status{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:.3rem;width:fit-content;max-width:100%;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.leave-status-pending{background:var(--warn-soft);color:var(--warn)}.leave-status-approved{background:var(--ok-soft);color:var(--ok)}.leave-status-rejected{background:var(--danger-soft);color:var(--danger)}.leave-status-completed{background:var(--info-soft);color:var(--info)}.leaves-row-actions{gap:.35rem;display:flex}.leaves-reason{overflow-wrap:anywhere;word-break:break-word;max-width:18rem}.leaves-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.leaves-status-filters{flex-wrap:wrap;gap:.4rem;display:flex}.leaves-status-filter{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--ink-muted);font-family:var(--font-body);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);padding:.35rem .75rem;font-size:.78rem;font-weight:600}.leaves-status-filter:hover{color:var(--ink);border-color:var(--glass-border-hover)}.leaves-status-filter.is-pending{color:var(--warn);background:var(--warn-soft);border-color:#ffc04873}.leaves-status-filter.is-approved{color:var(--ok);background:var(--ok-soft);border-color:#00cec973}.leaves-status-filter.is-rejected{color:var(--danger);background:var(--danger-soft);border-color:#ff6b6b73}.leaves-status-filter.is-active{color:var(--ink);border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 2px var(--accent-glow)}.leaves-status-filter.is-pending.is-active{color:var(--warn);border-color:var(--warn);background:var(--warn-soft);box-shadow:0 0 0 2px #ffc04847}.leaves-status-filter.is-approved.is-active{color:var(--ok);border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 2px #00cec947}.leaves-status-filter.is-rejected.is-active{color:var(--danger);border-color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 2px #ff6b6b47}.shift-modal{max-width:min(520px,100vw - 2rem)}.shift-color-modal-row{align-items:center;gap:.75rem;min-height:2.5rem;display:flex}.shift-color-modal-row input[type=color]{border:2px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;width:42px;height:38px;padding:2px}.shift-hours{font-variant-numeric:tabular-nums;white-space:nowrap}.shift-color-swatch{border:2px solid #ffffff1a;border-radius:50%;width:22px;height:22px;display:inline-block;box-shadow:0 0 8px #0003}.skill-modal{max-width:min(480px,100vw - 2rem)}.costing-page .gm-header{margin-bottom:.75rem}.costing-week{flex-direction:column;gap:.25rem;min-width:0;display:flex}.costing-week span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.costing-week .date-picker{width:100%;max-width:220px}.costing-standard-form{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.costing-standard-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.72rem;font-weight:600}.costing-standard-controls{flex-wrap:nowrap;align-items:center;gap:.75rem;min-width:0;display:flex}.costing-standard-controls input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink);font-size:.85rem;font-family:var(--font-body);width:100%;min-width:0;max-width:160px;transition:all var(--duration-normal);outline:none;flex:0 160px;padding:.5rem .75rem}.costing-standard-controls .btn{flex-shrink:0}.costing-standard-controls input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.costing-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.costing-stat{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:0;transition:all var(--duration-normal);flex-direction:column;gap:.35rem;padding:1rem;display:flex;position:relative;overflow:hidden}.costing-stat:before{content:"";background:var(--accent-gradient);opacity:.6;height:3px;position:absolute;top:0;left:0;right:0}.costing-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.72rem;font-weight:600}.costing-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(1.15rem,4vw,1.5rem);font-weight:700;font-family:var(--font-display);word-break:break-word}.costing-stat:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow);transform:translateY(-2px)}.costing-stat.is-over:before{background:linear-gradient(135deg, var(--danger), #f99)}.costing-stat.is-over strong{color:var(--danger)}.costing-stat.is-under:before{background:linear-gradient(135deg, var(--ok), #66e0dd)}.costing-stat.is-under strong{color:var(--ok)}.costing-stat.is-even:before{background:linear-gradient(135deg, var(--info), #a3d4ff)}.costing-num{font-variant-numeric:tabular-nums;font-weight:500}@media (width>=900px){.costing-stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.costing-stat{padding:1.25rem}}.demand-page{min-width:0;overflow-x:clip}.demand-form{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;min-width:0;max-width:100%;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.demand-field{flex-direction:column;flex:12rem;gap:.3rem;min-width:0;display:flex}.demand-field>span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.demand-field .date-picker{width:100%;min-width:0;max-width:100%}.demand-file-field{flex:2 16rem;position:relative}.demand-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.demand-file-picker{box-sizing:border-box;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;width:100%;min-width:0;max-width:100%;transition:border-color var(--duration-normal), box-shadow var(--duration-normal);align-items:center;gap:.65rem;padding:.35rem .45rem .35rem .35rem;display:flex}.demand-file-picker:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--glass-border))}.demand-file-input:focus-visible+.demand-file-picker{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.demand-file-btn{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;pointer-events:none;border:none;flex:none;padding:.4rem .85rem;line-height:1.2}.demand-file-name{min-width:0;color:var(--ink-muted);text-transform:none;letter-spacing:normal;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.82rem;font-weight:500;overflow:hidden}.demand-submit{flex:none;align-self:flex-end}.demand-stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.demand-stat{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;gap:.35rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.demand-stat:before{content:"";background:var(--accent-gradient);opacity:.6;height:3px;position:absolute;top:0;left:0;right:0}.demand-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.72rem;font-weight:600}.demand-stat strong{color:var(--ink);font-size:1.35rem;font-weight:700;font-family:var(--font-display);word-break:break-all}.demand-num{font-variant-numeric:tabular-nums}.schedule-page-header{flex-wrap:wrap;place-content:flex-start space-between;gap:1rem}.schedule-page-header-title{flex:12rem;min-width:0}.schedule-page-header-title h1{margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem)}.schedule-page-header-title p{max-width:42rem;margin:.25rem 0 0}.schedule-page-header-actions{flex-wrap:nowrap;flex:none;align-items:center;margin-left:auto;display:flex;gap:.5rem!important}.schedule-page-header-actions .btn{white-space:nowrap;flex-shrink:0}.schedule-page-header-actions .date-picker{flex:0 14rem;min-width:0;max-width:14rem}.list-filters.form-panel{box-sizing:border-box;width:100%;margin-bottom:1rem}.schedule-page .form-panel,.schedule-page .schedule-grid{box-shadow:none}.list-filters .form-row{width:100%}.list-filters .form-row>.btn,.list-filters .form-row>.schedule-filter-chip{flex:none;min-width:0}.schedule-filter-chip{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);color:var(--ink-secondary);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.78rem;display:inline-flex}.schedule-filter-chip:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.schedule-pagination{border-radius:var(--radius-md);box-sizing:border-box;width:100%;margin-top:.75rem}.version-bar{z-index:5;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex;position:relative;overflow:visible}.version-bar.is-open{z-index:40}.version-bar:has(.ui-dropdown.is-open){z-index:40}.version-bar-field{flex-direction:column;flex:14rem;gap:.35rem;min-width:0;max-width:22rem;display:flex}.version-bar-caption{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:.72rem;font-weight:600}.version-bar .ui-dropdown{width:100%}.ui-dropdown{z-index:1;width:100%;min-width:0;position:relative}.ui-dropdown.is-open{z-index:50}.ui-dropdown.is-disabled{opacity:.65;pointer-events:none}.ui-dropdown-trigger{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;min-height:2.45rem;color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);outline:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;display:flex}.ui-dropdown-trigger.is-placeholder{color:var(--ink-faint);font-weight:400}.ui-dropdown-trigger:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.ui-dropdown-trigger:focus,.ui-dropdown.is-open .ui-dropdown-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.ui-dropdown-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-dropdown-caret{color:var(--ink-muted);transition:transform var(--duration-fast);flex-shrink:0;display:inline-flex}.ui-dropdown.is-open .ui-dropdown-caret{color:var(--accent);transform:rotate(180deg)}.ui-dropdown-menu{z-index:60;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);max-height:min(14rem,50dvh);box-shadow:var(--glass-shadow), 0 12px 28px #0f111724;flex-direction:column;gap:.2rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto}.ui-dropdown-empty{text-align:center;margin:0;padding:.75rem;font-size:.82rem}.ui-dropdown-option{width:100%;color:var(--ink);font-family:var(--font-body);text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.84rem;display:flex}.ui-dropdown-option:hover{background:var(--glass-bg-hover)}.ui-dropdown-option.is-active{color:var(--accent);background:#6c5ce724;font-weight:600}.ui-dropdown-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-dropdown-option-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-radius:var(--radius-full);background:#6c5ce71f;flex-shrink:0;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.gm-field .ui-dropdown-trigger,.emp-filters .ui-dropdown-trigger,.emp-avail-row .ui-dropdown-trigger{border-radius:var(--radius-sm)}.emp-avail-row .ui-dropdown{flex:7rem;min-width:0}.date-picker{z-index:1;width:100%;min-width:0;position:relative}.date-picker.is-open{z-index:60}.date-picker.is-disabled{opacity:.65;pointer-events:none}.date-picker-trigger{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;min-height:2.45rem;color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);outline:none;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;display:flex}.date-picker-trigger.is-placeholder{color:var(--ink-faint);font-weight:400}.date-picker-trigger:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.date-picker-trigger:focus,.date-picker.is-open .date-picker-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.date-picker-icon{color:var(--ink-muted);flex-shrink:0;display:inline-flex}.date-picker.is-open .date-picker-icon{color:var(--accent-light)}.date-picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.date-picker-caret{color:var(--ink-muted);transition:transform var(--duration-fast);flex-shrink:0;display:inline-flex}.date-picker.is-open .date-picker-caret{color:var(--accent);transform:rotate(180deg)}.date-picker-panel{z-index:70;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:min(18.5rem,100vw - 2rem);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(var(--glass-blur));animation:date-picker-in .18s var(--ease-smooth);box-sizing:border-box;padding:.85rem;position:absolute;top:calc(100% + .4rem);left:0;overflow:auto}.date-picker-panel.is-portal{z-index:1200;position:fixed;inset:0 auto auto 0}.date-picker-panel.is-portal.is-above{transform-origin:bottom}@keyframes date-picker-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.date-picker-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;padding:0 .15rem;display:flex}.date-picker-month{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.date-picker-nav{align-items:center;gap:.15rem;display:flex}.date-picker-nav-btn{border-radius:var(--radius-full);width:2rem;height:2rem;color:var(--ink-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-picker-nav-btn:hover{background:var(--glass-bg-hover);color:var(--ink)}.date-picker-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:.2rem;display:grid}.date-picker-weekday{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:.3rem 0;font-size:.68rem;font-weight:600}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.date-picker-day{aspect-ratio:1;border-radius:var(--radius-full);color:var(--ink);font-family:var(--font-body);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:500;display:inline-flex}.date-picker-day:hover:not(:disabled):not(.is-selected):not(.is-in-range):not(.is-range-start):not(.is-range-end){background:var(--glass-bg-hover)}.date-picker-day.is-outside{color:var(--ink-faint);font-weight:400}.date-picker-day.is-today:not(.is-selected):not(.is-in-range):not(.is-range-start):not(.is-range-end){color:var(--accent-light);box-shadow:inset 0 0 0 1.5px var(--accent-glow);font-weight:700}.date-picker-day.is-selected{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 12px var(--accent-glow);font-weight:700}.date-picker-hint{color:var(--ink-muted);letter-spacing:.01em;margin:0 0 .45rem;padding:0 .15rem;font-size:.72rem;font-weight:600}.date-picker-day.is-in-range{background:var(--accent-glow);color:var(--ink);border-radius:0;font-weight:600}.date-picker-day.is-in-range:hover:not(:disabled){background:color-mix(in srgb, var(--accent-glow) 85%, var(--accent) 15%)}.date-picker-day.is-range-start,.date-picker-day.is-range-end{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 12px var(--accent-glow);z-index:1;font-weight:700;position:relative}.date-picker-day.is-range-start:not(.is-range-end){border-radius:var(--radius-full) 0 0 var(--radius-full)}.date-picker-day.is-range-end:not(.is-range-start){border-radius:0 var(--radius-full) var(--radius-full) 0}.date-picker-day.is-range-start.is-range-end{border-radius:var(--radius-full)}.date-picker-day.is-disabled,.date-picker-day:disabled{opacity:.35;cursor:not-allowed}.date-picker-footer{border-top:1px solid var(--glass-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.55rem;padding-top:.55rem;padding-bottom:.15rem;display:flex}.date-picker-action{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--ink-secondary);cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;padding:.35rem .55rem;font-size:.8rem;font-weight:600}.date-picker-action:hover{color:var(--ink);background:var(--glass-bg-hover)}.date-picker-action.is-accent{color:var(--accent-light)}.date-picker-action.is-accent:hover{color:var(--accent);background:var(--accent-glow)}.leaves-form .date-picker{flex:1;min-width:120px}.emp-leave-dates .date-picker-trigger,.demand-field .date-picker-trigger,.costing-week .date-picker-trigger,.leaves-form .date-picker-trigger,.schedule-page-header-actions .date-picker-trigger{border-radius:var(--radius-sm)}.leaves-form:has(.date-picker.is-open){z-index:40;position:relative}.demand-form:has(.date-picker.is-open){z-index:40;position:relative}.costing-page .gm-header:has(.date-picker.is-open){z-index:40;position:relative}.schedule-page-header-actions:has(.date-picker.is-open){z-index:40;position:relative}.employee-leave-form:has(.date-picker.is-open){z-index:40;position:relative}.emp-week-controls:has(.date-picker.is-open){z-index:40;position:relative}.date-picker.is-overlay{z-index:2;width:auto;position:absolute;inset:0}.date-picker.is-overlay .date-picker-trigger{opacity:0;border-radius:inherit;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;position:absolute;inset:0}.date-picker.is-overlay .date-picker-icon,.date-picker.is-overlay .date-picker-value,.date-picker.is-overlay .date-picker-caret{display:none}.date-picker.is-overlay .date-picker-panel{width:min(18.5rem,100vw - 2rem);left:0;right:auto}.date-picker.is-overlay.is-open{z-index:80}.time-input{align-items:stretch;gap:.4rem;width:100%;min-width:0;display:flex}.time-input.is-disabled{opacity:.65;pointer-events:none}.time-input-clock{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex:auto;align-items:center;gap:.15rem;min-width:0;padding:.15rem;display:flex}.time-input-sep{color:var(--ink-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 .05rem;font-weight:700;line-height:1}.time-input .ui-dropdown{flex:1 1 0;min-width:0}.time-input-hour,.time-input-minute{flex:1 1 0;min-width:2.5rem}.time-input .ui-dropdown-trigger{min-height:2.15rem;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:none;justify-content:center;gap:0;padding:.35rem .25rem;font-size:.92rem;font-weight:600}.time-input .ui-dropdown-trigger:hover:not(:disabled),.time-input .ui-dropdown-trigger:focus,.time-input .ui-dropdown.is-open .ui-dropdown-trigger{background:var(--glass-bg-hover);box-shadow:none;border-radius:calc(var(--radius-sm) - 2px);border:none}.time-input .ui-dropdown.is-open .ui-dropdown-trigger{color:var(--accent)}.time-input .ui-dropdown-caret{display:none}.time-input .ui-dropdown-menu{min-width:4.5rem;max-height:14rem}.time-input-period{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex:none;grid-template-columns:1fr 1fr;gap:.15rem;min-width:4.75rem;padding:.15rem;display:inline-grid}.time-input-period-btn{appearance:none;border-radius:calc(var(--radius-sm) - 2px);min-width:0;color:var(--ink-muted);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);background:0 0;border:none;margin:0;padding:.35rem .45rem;font-size:.72rem;font-weight:700;line-height:1.2}.time-input-period-btn:hover:not(:disabled):not(.is-active){color:var(--ink);background:var(--glass-bg-hover)}.time-input-period-btn.is-active{background:var(--accent);color:#fff;box-shadow:0 0 0 1px #ffffff0f}.time-input-period-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.schedule-shift-time-row{grid-template-columns:1fr 1fr;align-items:start;gap:.75rem;margin:0;display:grid}.schedule-shift-time-row>.gm-field{flex:none;min-width:0}.emp-avail-row .time-input{flex:10.5rem;min-width:min(100%,10.5rem)}@media (width<=640px){.time-input{flex-wrap:wrap}.time-input-clock{flex:calc(100% - 5.4rem)}.time-input-period{flex:none;align-self:stretch}}@media (width<=520px){.schedule-shift-time-row{grid-template-columns:1fr}.emp-avail-row .time-input{flex:100%;width:100%}.time-input-clock{flex:auto}.time-input-period{min-width:5.25rem}.time-input-period-btn{padding:.45rem .5rem;font-size:.75rem}}@media (width<=380px){.time-input{flex-direction:column;align-items:stretch}.time-input-clock,.time-input-period{width:100%;min-width:0}.time-input-period{grid-template-columns:1fr 1fr}}.schedule-scroll-hint{display:none}.schedule-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;margin-bottom:.5rem;overflow:auto hidden;container:schedule/inline-size}.schedule-grid{--schedule-emp-col:minmax(9rem, 11.25rem);--schedule-day-col:minmax(6.75rem, 1fr);grid-template-columns:var(--schedule-emp-col) repeat(calc(var(--cols,8) - 1), var(--schedule-day-col));width:max(100%, calc(9rem + (var(--cols,8) - 1) * 6.75rem));border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:none;display:grid}.schedule-corner{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);z-index:2;background:#0f1117d9;align-items:center;padding:.75rem;font-size:.7rem;font-weight:600;display:flex;position:sticky;left:0}.schedule-day-head{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);text-align:center;background:#0f1117d9;min-width:0;padding:.75rem .5rem;font-size:.72rem;font-weight:600}.schedule-day-head:last-child{border-right:none}.schedule-row{display:contents}.schedule-emp{color:var(--ink-secondary);border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);z-index:1;background:#0f111766;flex-direction:column;justify-content:center;align-items:flex-start;gap:.15rem;min-width:0;padding:.6rem .75rem;font-size:.82rem;font-weight:500;display:flex;position:sticky;left:0}.schedule-emp strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink);font-weight:600;display:block;overflow:hidden}.schedule-emp small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink-muted);font-size:.72rem;display:block;overflow:hidden}.schedule-cell{border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);cursor:pointer;min-width:0;min-height:3.25rem;transition:background var(--duration-fast);background:var(--bg-subtle);flex-direction:column;gap:.2rem;padding:.4rem;display:flex;position:relative}.schedule-cell:last-child{border-right:none}.schedule-cell:hover,.schedule-emp:hover{background:var(--glass-bg-hover)}.schedule-cell.drag-over{background:var(--accent-glow);outline:1px dashed var(--accent-light);outline-offset:-2px}.schedule-empty{color:var(--ink-faint);text-align:center;background:var(--bg-subtle);justify-content:flex-start;align-items:center;min-height:4.5rem;padding:1.25rem 0;font-size:.82rem;display:flex}.schedule-empty p{box-sizing:border-box;text-align:center;width:min(100%,100vw);max-width:100%;margin:0;padding:0 1rem;position:sticky;left:0}@supports (width:100cqi){.schedule-empty p{width:100cqi;max-width:100cqi}}.cell-hint{color:var(--ink-faint);opacity:0;transition:opacity var(--duration-fast);pointer-events:none;font-size:.68rem;position:absolute;bottom:2px;right:4px}.schedule-cell:hover .cell-hint{opacity:1}.shift-block{border-radius:var(--radius-sm);cursor:grab;background:var(--glass-bg);transition:all var(--duration-fast);border-left:3px solid #ffffff59;min-width:0;max-width:100%;margin-bottom:0;padding:.3rem .5rem;font-size:.72rem;position:relative;overflow:hidden}.shift-block.shift-chip{color:#fff;border-left-color:#ffffff73;flex-direction:column;gap:.1rem;display:flex}.shift-block:hover{filter:brightness(1.08);transform:translateY(-1px)}.shift-chip-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.shift-chip-time{color:#ffffffe6;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.shift-chip-notes{color:#fffc;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-style:italic;overflow:hidden}.resize-handle{cursor:ns-resize;height:6px;transition:background var(--duration-fast);background:0 0;position:absolute;bottom:0;left:0;right:0}.resize-handle:hover{background:#ffffff59}.schedule-shift-modal{max-width:520px;padding:0;overflow:visible}.schedule-shift-modal .gm-modal-form{gap:1.1rem;overflow:visible}.schedule-shift-modal .gm-field input:disabled,.schedule-shift-modal .gm-field select:disabled,.schedule-shift-modal .time-input.is-disabled{opacity:.7;cursor:not-allowed}.schedule-shift-actions.gm-modal-actions{grid-template-columns:1fr 1fr;justify-content:stretch;align-items:stretch;gap:.6rem;display:grid!important}.schedule-shift-actions.gm-modal-actions:has(.btn.danger){grid-template-columns:1fr 1fr 1fr}.schedule-shift-actions.gm-modal-actions:not(:has(.btn.primary)){grid-template-columns:1fr}.schedule-shift-actions .btn{width:100%;min-width:0;margin:0!important}.schedule-mobile-only{display:none}.schedule-page{width:100%;min-width:0;max-width:100%;overflow-x:clip}.schedule-filters.list-filters{align-items:stretch}.schedule-filters .form-row{align-items:center;gap:.65rem}.schedule-filters .form-row>.schedule-search-wrap{flex:14rem;min-width:12rem}.schedule-filters .form-row>.ui-dropdown{flex:0 12rem;width:auto;min-width:10rem;max-width:16rem}.schedule-filters .form-row>.schedule-filter-chip,.schedule-filters .form-row>.btn{box-sizing:border-box;flex:none;align-self:center;min-width:0;min-height:2.45rem}.schedule-filters .schedule-filter-chip{border-radius:var(--radius-md);gap:.5rem;padding:0 .85rem;font-size:.85rem}.schedule-filters .schedule-filter-chip input[type=checkbox]{flex:none;width:.95rem;min-width:0;height:.95rem;margin:0}.schedule-filters .form-row>.btn{border-radius:var(--radius-md);padding:.55rem 1.1rem}.schedule-search-wrap{flex:12rem;align-items:center;min-width:0;display:flex;position:relative}.schedule-search-wrap input{box-sizing:border-box;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;min-height:2.45rem;color:var(--ink);font-family:var(--font-body);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);outline:none;padding:.55rem .75rem;font-size:.85rem;font-weight:500}.schedule-search-wrap input::placeholder{color:var(--ink-faint);font-weight:400}.schedule-search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.schedule-mobile-toolbar,.schedule-week-picker,.schedule-day-strip,.schedule-mobile-cards,.schedule-emp-card,.schedule-day-pill,.schedule-day-chip{box-sizing:border-box}.schedule-mobile-post-short{display:none}.att-header{flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;display:flex}.att-header h1{margin:0;font-size:1.75rem;line-height:1.2}.att-header p{margin:0}.att-header-actions{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;margin-top:.75rem;display:grid}.att-import-toggle,.att-export-toggle{box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.55rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.att-import-toggle{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), 0 6px 18px color-mix(in srgb, var(--accent) 28%, transparent)}.att-import-toggle svg,.att-export-toggle svg{flex-shrink:0}.att-import-toggle:hover:not(:disabled){box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent), 0 8px 22px color-mix(in srgb, var(--accent) 38%, transparent)}.att-export-toggle{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--glass-border));color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.att-export-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:var(--accent)}.att-export-modal{width:min(520px,100vw - 1.5rem);max-width:min(520px,100vw - 1.5rem);height:auto;min-height:auto;max-height:min(92dvh,100dvh - 1rem)}.att-export-form{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding-bottom:1.25rem;display:flex}.att-export-body{flex-direction:column;flex:auto;gap:1rem;min-height:0;display:flex;position:relative}.att-export-actions{border-top:1px solid var(--glass-border);flex-shrink:0;margin-top:auto;padding-top:.75rem}.att-export-mode{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);flex-shrink:0;grid-template-columns:1fr 1fr;gap:.4rem;padding:.3rem;display:grid}.att-export-mode-btn{color:var(--ink-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:.55rem .65rem;font-size:.8rem;font-weight:600}.att-export-mode-btn.is-active{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}@media (width<=640px){.att-export-modal{width:min(100%,100vw - 1rem);max-width:min(100%,100vw - 1rem);min-height:auto;max-height:calc(100dvh - 1rem)}.att-export-actions{flex-direction:column-reverse}.att-export-actions .btn{width:100%}}@media (width<=400px){.att-export-mode-btn{padding:.45rem .4rem;font-size:.75rem}}.att-import-modal{width:min(640px,100%);max-width:min(640px,100vw - 2rem)}.att-import-hint{margin:0 0 .85rem;font-size:.82rem;line-height:1.45}.att-import-hint code{font-size:.75rem}.att-import-form{flex-direction:column;gap:.85rem;display:flex}.att-import-file{position:relative}.att-import-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.att-import-picker{box-sizing:border-box;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--glass-bg);width:100%;transition:border-color var(--duration-normal), box-shadow var(--duration-normal);align-items:center;gap:.65rem;padding:.45rem .5rem;display:flex}.att-import-picker:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--glass-border))}.att-import-input:focus-visible+.att-import-picker{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.att-import-btn{border-radius:var(--radius-sm);background:var(--accent-soft,#7f7f7f26);color:var(--ink);flex-shrink:0;padding:.4rem .75rem;font-size:.78rem;font-weight:600}.att-import-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-muted);font-size:.8rem;overflow:hidden}.att-import-result{flex-direction:column;gap:1rem;display:flex}.att-import-result p{margin:0;font-size:.9rem}.att-import-preview{flex-direction:column;gap:.85rem;min-height:0;display:flex}.att-import-preview-summary p{margin:0;font-size:.85rem}.att-import-preview-summary .muted{margin-top:.3rem;font-size:.78rem}.att-import-preview-table-wrap{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);max-height:min(40vh,18rem);overflow:auto}.att-import-preview-table{border-collapse:collapse;width:100%;font-size:.78rem}.att-import-preview-table th,.att-import-preview-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--glass-border);padding:.5rem .65rem}.att-import-preview-table th{background:var(--bg-subtle);color:var(--ink-muted);z-index:1;font-weight:600;position:sticky;top:0}.att-import-preview-table tbody tr:last-child td{border-bottom:none}.att-import-preview-more{margin:.45rem .65rem;font-size:.72rem}.att-import-errors{margin:0}.att-import-errors summary{cursor:pointer;color:var(--warn);font-size:.8rem;font-weight:600}.att-import-errors ul{color:var(--ink-muted);margin:.4rem 0 0;padding-left:1.1rem;font-size:.75rem}.att-import-modal .gm-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}@media (width<=600px){.att-import-modal{max-height:min(92vh,100dvh - 1rem)}.att-import-preview-table-wrap{max-height:min(36vh,14rem)}}.att-cal-brand{opacity:1;min-height:2.25rem;max-height:2.5rem;transition:max-height .4s var(--ease-smooth), opacity .3s var(--ease-smooth), min-height .4s var(--ease-smooth), margin .4s var(--ease-smooth);align-items:center;gap:.65rem;margin:0;display:flex;overflow:hidden}.att-cal-sticky{flex-direction:column;gap:.85rem;display:flex}.att-cal-icon{width:2.15rem;height:2.15rem;font-size:1.05rem;font-weight:600;font-family:var(--font-body);color:#fff;background:linear-gradient(#4285f4 0%,#1a73e8 100%);border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex;box-shadow:0 1px 2px #1a73e859}.att-cal-brand-label{font-size:1.35rem;font-weight:500;font-family:var(--font-body);color:var(--ink);letter-spacing:-.01em;line-height:1}.att-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:stretch;gap:1.25rem;display:grid}.att-sidebar{flex-direction:column;gap:1rem;display:flex;position:sticky;top:1rem}.att-stats{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.att-stat{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-direction:column;gap:.2rem;padding:.85rem .9rem;display:flex}.att-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.65rem;font-weight:600}.att-stat strong{color:var(--ink);font-size:1.15rem;font-weight:700;font-family:var(--font-display)}.att-mini-cal{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:none;transition:padding .4s var(--ease-smooth);padding:1.25rem .75rem 1.35rem;overflow:hidden}.att-mini-cal-toolbar{opacity:1;max-height:2.5rem;transition:max-height .4s var(--ease-smooth), opacity .3s var(--ease-smooth), margin .4s var(--ease-smooth);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;padding:0 .25rem;display:flex;overflow:hidden}.att-mini-cal-toolbar h2{color:var(--ink);font-size:.92rem;font-weight:600;font-family:var(--font-body);margin:0}.att-calendar-controls{align-items:center;gap:.15rem;display:flex}.att-nav-btn{width:28px;height:28px;color:var(--ink-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.att-nav-btn:hover{background:var(--glass-bg-hover);color:var(--ink)}.att-emp-picker{z-index:5;flex-shrink:0;min-width:0;max-width:220px;position:relative}.att-emp-picker.is-open{z-index:80}.att-emp-trigger{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--ink);font-size:.82rem;font-family:var(--font-body);cursor:pointer;text-align:left;transition:border-color var(--duration-normal), box-shadow var(--duration-normal);outline:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;display:flex}.att-emp-trigger:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ink-muted);flex-shrink:0;width:0;height:0}.att-emp-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.att-emp-trigger.is-placeholder{color:var(--ink-secondary)}.att-emp-trigger:focus,.att-emp-picker.is-open .att-emp-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.att-emp-backdrop{z-index:400;cursor:pointer;background:#0006;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.att-emp-menu{left:1rem;right:1rem;bottom:calc(1rem + var(--safe-bottom));z-index:410;background:var(--bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:auto;max-width:28rem;max-height:min(55dvh,22rem);box-shadow:var(--glass-shadow);flex-direction:column;margin-inline:auto;display:flex;position:fixed;top:auto;overflow:hidden}@media (width>=901px){.att-emp-menu{width:20rem;max-width:20rem;max-height:min(60vh,24rem);inset:18vh auto auto 50%;transform:translate(-50%)}}.att-emp-search{box-sizing:border-box;border:none;border-bottom:1px solid var(--glass-border);width:100%;color:var(--ink);font-size:.85rem;font-family:var(--font-body);background:0 0;border-radius:0;outline:none;flex-shrink:0;padding:.65rem .85rem}.att-emp-search::placeholder{color:var(--ink-faint)}.att-emp-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(12rem,100dvh - 12rem);padding:.25rem;overflow-y:auto}.att-emp-option{text-align:left;border-radius:var(--radius-sm);width:100%;font-size:.82rem;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:.55rem .7rem;display:block}.att-emp-option:hover,.att-emp-option:focus-visible{background:var(--glass-bg-hover);outline:none}.att-emp-option.is-active{background:var(--accent-glow);color:var(--accent-light);font-weight:600}.att-emp-empty{text-align:center;margin:0;padding:.75rem;font-size:.8rem}.att-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:.15rem;display:grid}.att-weekday{text-align:center;color:var(--ink-muted);padding:.35rem 0;font-size:.68rem;font-weight:600}.att-grid{flex-direction:column;gap:1px;display:flex}.att-week-row{opacity:1;max-height:2.5rem;transition:max-height .4s var(--ease-smooth), opacity .28s var(--ease-smooth), transform .4s var(--ease-smooth);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden;transform:translateY(0)}.att-cell{cursor:pointer;min-height:34px;font-family:var(--font-body);border-radius:var(--radius-sm);transition:background var(--duration-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:.15rem;display:flex;position:relative}.att-cell:hover{background:var(--glass-bg-hover)}.att-cell.outside .att-day-num{color:var(--ink-faint)}.att-day-num{width:28px;height:28px;color:var(--ink-secondary);transition:background var(--duration-fast), color var(--duration-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:500;line-height:1;display:inline-flex}.att-cell.today .att-day-num{color:var(--accent-light);font-weight:700}.att-cell.selected .att-day-num{background:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--accent-glow);font-weight:700}.att-cell.selected.today .att-day-num{background:var(--accent);color:#fff}.att-day-dot{background:0 0;border-radius:50%;width:4px;height:4px}.att-cell.has-attendance .att-day-dot{background:var(--ok)}.att-cell.selected.has-attendance .att-day-dot{background:#ffffffd9}.att-mini-cal .att-loading{text-align:center;margin:0;padding:.5rem 0 0;font-size:.75rem}.att-day{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:none;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:visible}.att-day:has(.att-emp-picker.is-open){z-index:25}@media (width>=901px){.att-cal-sticky{gap:1.15rem}.att-day{min-height:calc(100vh - 5.5rem)}.att-empty{flex:1;justify-content:center;align-items:center;padding:2.5rem 1rem;display:flex}.att-table-wrap{flex:1}}.att-day-header{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.att-day-header h3{color:var(--ink);margin:0;font-size:1rem}.att-day-header .muted{margin:.2rem 0 0;font-size:.78rem}.att-table-wrap{-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow-x:auto}.att-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:.85rem}.att-table.is-loading{opacity:.5;pointer-events:none}.att-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap;background:#0f111759;padding:.55rem 1rem;font-size:.68rem;font-weight:600}[data-theme=light] .att-table thead th{background:#00000005}.att-table tbody td{color:var(--ink-secondary);vertical-align:middle;border-bottom:1px solid #ffffff08;padding:.55rem 1rem}[data-theme=light] .att-table tbody td{border-bottom-color:#0000000d}.att-table tbody tr:last-child td{border-bottom:none}.att-table-row{cursor:pointer;transition:background var(--duration-fast)}.att-table-row:hover{background:var(--glass-bg-hover)}.att-table-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.att-employee-cell{align-items:center;gap:.55rem;min-width:0;max-width:220px;display:flex}.att-avatar{background:var(--accent-gradient);color:#fff;width:30px;height:30px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex}.att-employee-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.att-employee-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.att-employee-meta .muted{font-size:.7rem}.att-time{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;white-space:nowrap;padding:.2rem .5rem;font-size:.7rem;font-weight:500;display:inline-block}.att-time.in{background:var(--ok-soft);color:var(--ok)}.att-time.out{background:var(--danger-soft);color:var(--danger)}.att-time.out.pending{background:var(--warn-soft);color:var(--warn)}.att-hours{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-size:.75rem;font-weight:600}.att-hours.pending{color:var(--ink-muted);font-weight:500}.att-status{border-radius:var(--radius-full);white-space:nowrap;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.att-status-present{background:var(--ok-soft);color:var(--ok)}.att-status-leave{background:var(--warn-soft);color:var(--warn)}.att-status-absent{background:var(--danger-soft);color:var(--danger)}.att-table-row.is-status-only{cursor:default}.att-table-row.is-status-only:hover{background:0 0}.att-empty{text-align:center;color:var(--ink-muted);margin:0;padding:1.5rem 1rem}.att-pagination{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--glass-border);margin-top:0}@media (width<=1100px){.att-table thead th,.att-table tbody td{padding:.5rem .75rem}.att-employee-cell{max-width:160px}}@media (width<=900px){.main-wrap:has(.attendance-log-page){overflow-x:clip}.att-layout{grid-template-columns:1fr;gap:.85rem}.att-sidebar{display:contents}.att-header{order:1}.att-cal-sticky{top:calc(var(--topbar-h) + var(--safe-top));z-index:40;background:var(--bg);transition:gap .4s var(--ease-smooth);flex-direction:column;order:2;gap:.65rem;margin:0;padding:.35rem 0 .55rem;display:flex;position:sticky}.attendance-log-page.cal-collapsed .att-cal-sticky{border-bottom:1px solid var(--glass-border);gap:0}.att-stats{opacity:1;max-height:12rem;transition:max-height .4s var(--ease-smooth), opacity .3s var(--ease-smooth), margin .4s var(--ease-smooth);order:3;grid-template-columns:repeat(4,1fr);overflow:hidden}.att-day{order:4}.att-mini-cal.is-collapsed{cursor:pointer;padding:.45rem .5rem .55rem}.att-mini-cal.is-collapsed .att-mini-cal-toolbar{opacity:0;pointer-events:none;max-height:0;margin-bottom:0}.att-mini-cal.is-collapsed .att-week-row:not(.is-selected-week){opacity:0;pointer-events:none;max-height:0;transform:translateY(-4px)}.att-mini-cal.is-collapsed .att-loading{opacity:0;max-height:0;padding:0;overflow:hidden}.att-mini-cal.is-collapsed .att-weekdays{margin-bottom:0}.att-stats.is-cal-collapsed{opacity:0;pointer-events:none;max-height:0;margin:0}.attendance-log-page.cal-collapsed .att-cal-brand{opacity:0;pointer-events:none;min-height:0;max-height:0;margin:0}.att-employee-cell{max-width:none}.att-header p{display:none}.att-emp-picker{width:100%;max-width:none}body.att-emp-open{overflow:hidden}}@media (width<=700px){.att-table-wrap{overflow-x:visible}.att-table{width:100%;min-width:0}.att-table thead{display:none}.att-table tbody{width:100%;display:block}.att-table-row{box-sizing:border-box;border-bottom:1px solid #ffffff0d;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"emp status hours""dept in out";align-items:center;gap:.25rem .5rem;width:100%;padding:.7rem .75rem;display:grid}[data-theme=light] .att-table-row{border-bottom-color:#0000000f}.att-table tbody tr:last-child{border-bottom:none}.att-table tbody td{border:none;width:auto;min-width:0;padding:0;display:block;overflow:hidden}.att-table-row td:first-child{grid-area:emp}.att-table-row td:nth-child(2){color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;grid-area:dept;padding-left:calc(28px + .5rem);font-size:.72rem}.att-table-row td:nth-child(3){grid-area:status;justify-self:end}.att-table-row td:nth-child(4){grid-area:in;justify-self:end}.att-table-row td:nth-child(5){grid-area:out;justify-self:end}.att-table-row td:nth-child(6){grid-area:hours;place-self:center end}.att-employee-cell{gap:.5rem;max-width:100%}.att-employee-meta strong{font-size:.8rem}.att-employee-meta .muted{font-size:.68rem}.att-time{padding:.15rem .4rem;font-size:.65rem}.att-pagination{flex-wrap:wrap;gap:.5rem;padding:.65rem .75rem}.att-pagination .pagination-actions{flex-wrap:wrap}}@media (width<=600px){.att-stats{grid-template-columns:1fr 1fr}.att-day-header{flex-direction:column;align-items:stretch;padding:.75rem;overflow:visible}.att-avatar{width:28px;height:28px}}.att-preview-backdrop{padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left))}.att-preview-modal{--att-preview-pad-x:clamp(.85rem, 3vw, 1.15rem);--att-preview-pad-y:clamp(.8rem, 2.5vw, 1rem);--att-preview-thumb:clamp(60px, 16vw, 72px);background:var(--bg-subtle);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:min(400px,100%);max-height:min(85vh,100dvh - 1rem);box-shadow:var(--glass-shadow), 0 0 60px #0006;flex-direction:column;display:flex;overflow:hidden}.att-preview-header{padding:var(--att-preview-pad-y) var(--att-preview-pad-x);border-bottom:1px solid var(--glass-border);flex-shrink:0}.att-preview-identity{flex-direction:column;gap:.1rem;min-width:0;display:flex}.att-preview-header h3{color:var(--ink);font-size:clamp(.95rem,3vw,1.05rem);line-height:1.3;font-family:var(--font-display);margin:0}.att-preview-header .muted{overflow-wrap:anywhere;margin:0;font-size:clamp(.74rem,2.4vw,.8rem);line-height:1.35}.att-preview-body{padding:var(--att-preview-pad-y) var(--att-preview-pad-x);flex-direction:column;flex:1;gap:.65rem;min-height:0;display:flex;overflow-y:auto}.att-preview-punch{grid-template-columns:minmax(0, 1fr) var(--att-preview-thumb);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast);align-items:center;gap:clamp(.6rem,2.2vw,.8rem);padding:clamp(.7rem,2.2vw,.85rem);display:grid}.att-preview-punch:hover{border-color:var(--glass-border-hover)}.att-preview-punch.is-in{border-left:2px solid var(--ok)}.att-preview-punch.is-out{border-left:2px solid var(--accent-light)}.att-preview-details{flex-direction:column;gap:.28rem;min-width:0;display:flex}.att-preview-topline{justify-content:space-between;align-items:baseline;gap:.45rem;display:flex}.att-preview-type{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-light);font-size:clamp(.66rem,2.2vw,.72rem);font-weight:700}.att-preview-clock{color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:clamp(.88rem,2.8vw,.95rem);font-weight:600}.att-preview-when{color:var(--ink-secondary);font-size:clamp(.76rem,2.4vw,.82rem);line-height:1.35}.att-preview-media{width:var(--att-preview-thumb);height:var(--att-preview-thumb);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);flex-shrink:0;overflow:hidden}.att-preview-selfie{object-fit:cover;width:100%;height:100%;display:block}.att-preview-selfie.placeholder{background:var(--glass-bg);color:var(--ink-muted);justify-content:center;align-items:center;font-size:.66rem;font-weight:500;display:flex}.att-preview-gps{color:var(--ink-muted);transition:color var(--duration-fast);overflow-wrap:anywhere;word-break:break-word;min-width:0;margin-top:.05rem;font-size:clamp(.7rem,2.2vw,.76rem);line-height:1.35;text-decoration:none;display:block}.att-preview-gps:not(.muted):hover{color:var(--accent)}.att-preview-footer{padding:.55rem var(--att-preview-pad-x) calc(.55rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--glass-border);flex-shrink:0;justify-content:stretch;display:flex}.att-preview-footer .btn{width:100%;min-height:2.4rem;padding:.5rem .9rem;font-size:.85rem}@media (width>=480px){.att-preview-footer{justify-content:flex-end;padding-bottom:.75rem}.att-preview-footer .btn{width:auto;min-width:5.75rem}}@media (width<=380px){.att-preview-modal{--att-preview-thumb:56px;border-radius:var(--radius-md)}.att-preview-punch{gap:.55rem;padding:.65rem}}.emp-shell{--emp-bg:#f4f6fb;--emp-bg-wash:#eef1f8;--emp-card:#fff;--emp-ink:#1a1a37;--emp-ink-soft:#3d3d5c;--emp-muted:#70708c;--emp-faint:#a0a3b8;--emp-line:#1a1a3712;--emp-accent:#6366f1;--emp-accent-soft:#e0e7ff;--emp-accent-sky:#dbeafe;--emp-accent-sky-ink:#3b82f6;--emp-ok:#10b981;--emp-ok-soft:#d1fae5;--emp-gold:linear-gradient(135deg, #ffb75e 0%, #ed8f03 100%);--emp-shadow:0 8px 28px #1a1a370f;--emp-shadow-sm:0 2px 10px #1a1a370a;--emp-radius:20px;--emp-radius-sm:12px;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--emp-bg);min-height:100dvh;color:var(--emp-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;display:grid}[data-theme=dark] .emp-shell{--emp-bg:#0f1117;--emp-bg-wash:#161922;--emp-card:#161922;--emp-ink:#f0f0f5;--emp-ink-soft:#c8cad6;--emp-muted:#a0a3b1;--emp-faint:#6b6f80;--emp-line:#ffffff14;--emp-accent:#a29bfe;--emp-accent-soft:#6c5ce72e;--emp-accent-sky:#74b9ff29;--emp-accent-sky-ink:#74b9ff;--emp-ok:#00cec9;--emp-ok-soft:#00cec924;--emp-shadow:0 8px 28px #00000059;--emp-shadow-sm:0 2px 10px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.emp-topbar,.emp-sidebar-backdrop{display:none}.emp-sidebar{background:var(--emp-card);border-right:1px solid var(--emp-line);color:var(--emp-muted);height:100dvh;box-shadow:var(--emp-shadow-sm);flex-direction:column;gap:.5rem;padding:1.35rem .9rem;display:flex;position:sticky;top:0;overflow:auto}.emp-sidebar-brand{border-bottom:1px solid var(--emp-line);align-items:center;gap:.75rem;margin-bottom:.55rem;padding:.25rem .5rem 1.15rem;display:flex}.emp-sidebar-brand strong{color:var(--emp-ink);font-size:.9rem;font-family:var(--font-display);display:block}.emp-sidebar-brand small{color:var(--emp-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;display:block}.emp-sidebar-nav{flex-direction:column;flex:1;gap:3px;display:flex}.emp-sidebar-nav a{border-radius:var(--emp-radius-sm);color:var(--emp-muted);transition:all var(--duration-normal) var(--ease-smooth);align-items:center;gap:.7rem;padding:.65rem .8rem;font-size:.84rem;font-weight:500;display:flex;position:relative}.emp-sidebar-nav a:hover{color:var(--emp-ink);background:#6366f10f}.emp-sidebar-nav a.active{color:var(--emp-accent);background:#6366f11a;font-weight:600}.emp-sidebar-nav a.active:before{content:"";background:var(--emp-accent);border-radius:0 4px 4px 0;width:3px;height:55%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.emp-sidebar-nav a svg{opacity:.7;flex-shrink:0;display:block;overflow:visible}.emp-sidebar-nav a:hover svg,.emp-sidebar-nav a.active svg{opacity:1}.emp-signout{border-radius:var(--emp-radius-sm);color:var(--emp-muted);cursor:pointer;font-size:.84rem;font-weight:500;font-family:var(--font-body);transition:all var(--duration-normal);border:none;border-top:1px solid var(--emp-line);background:0 0;align-items:center;gap:.7rem;margin-top:auto;padding:1rem .8rem .65rem;display:flex}.emp-signout:hover{color:#e11d48;background:#e11d480f}.emp-main-wrap{background:var(--emp-bg);flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.emp-chrome{box-sizing:border-box;width:100%;max-width:none;animation:fadeIn var(--duration-normal) var(--ease-smooth);justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:1.15rem 1.5rem .35rem;display:flex}.emp-search{background:var(--emp-card);border:1px solid var(--emp-line);max-width:420px;box-shadow:var(--emp-shadow-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:999px;flex:1;align-items:center;gap:.55rem;padding:.55rem .9rem;display:flex}.emp-search:focus-within{border-color:#6366f159;box-shadow:0 0 0 3px #6366f11a}.emp-search-icon{color:var(--emp-faint);flex-shrink:0;display:flex}.emp-search input{font:inherit;color:var(--emp-ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.88rem}.emp-search input::placeholder{color:var(--emp-faint)}.emp-search-kbd{color:var(--emp-faint);background:var(--emp-bg);border:1px solid var(--emp-line);border-radius:6px;padding:.15rem .4rem;font-family:inherit;font-size:.68rem;font-weight:600}.emp-chrome-actions{align-items:center;gap:.65rem;display:flex}.emp-chrome-bell{border:1px solid var(--emp-line);background:var(--emp-card);width:42px;height:42px;color:var(--emp-muted);cursor:pointer;box-shadow:var(--emp-shadow-sm);transition:color var(--duration-fast), background var(--duration-fast);border-radius:50%;place-items:center;display:grid;position:relative}.emp-chrome-bell:hover{color:var(--emp-ink);background:#fafbff}.emp-chrome-dot{border:1.5px solid var(--emp-card);background:#ef4444;border-radius:50%;width:7px;height:7px;position:absolute;top:10px;right:11px}.emp-chrome-avatar{width:42px;height:42px;color:var(--emp-ink);box-shadow:var(--emp-shadow-sm);transition:transform var(--duration-fast);background:linear-gradient(145deg,#e2e8f0,#cbd5e1);border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;text-decoration:none;display:grid}.emp-chrome-avatar:hover{transform:scale(1.04)}.emp-main{box-sizing:border-box;width:100%;max-width:none;animation:fadeIn var(--duration-slow) var(--ease-smooth);flex:1;margin:0;padding:1.25rem 1.5rem 2rem}.emp-footer{text-align:center;color:var(--emp-faint);padding:1.35rem 1.5rem 1.75rem;font-size:.72rem}.emp-topbar-role{color:var(--emp-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.emp-topbar-initials{background:var(--emp-gold,linear-gradient(135deg, #ffb75e, #ed8f03));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:700;display:grid;box-shadow:0 4px 12px #ed8f0347}.emp-profile-signout{display:none}.emp-shell .sidebar-collapse-toggle{border-color:var(--emp-line);color:var(--emp-muted)}.emp-shell .sidebar-collapse-toggle:hover{color:var(--emp-ink);background:#6366f10f}.emp-page-hero{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.emp-page-hero-copy h1{font-size:clamp(1.45rem,2.4vw,1.85rem);font-family:var(--font-display);color:var(--emp-ink);letter-spacing:-.02em;margin:0;padding-left:.75rem;font-weight:800;position:relative}.emp-page-hero-copy h1:before{content:"";background:var(--emp-accent);border-radius:4px;width:4px;position:absolute;top:.2em;bottom:.2em;left:0}.emp-page-hero-copy p{color:var(--emp-muted);margin:.4rem 0 0 .75rem;font-size:.9rem}.emp-page-slogan{color:#8b8fc7;white-space:nowrap;margin:.15rem 0 0;padding-bottom:.15rem;font-family:Caveat,cursive;font-size:1.35rem;font-weight:600;position:relative}.emp-page-slogan:after{content:"";opacity:.7;background:linear-gradient(90deg,#0000,#a5b4fc 40%,#818cf8);border-radius:2px;height:2px;position:absolute;bottom:0;left:55%;right:0}.emp-dashboard{animation:fadeIn var(--duration-slow) var(--ease-smooth);min-width:0;max-width:100%}.emp-page-title{font-size:1.5rem;font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem}.emp-breadcrumb{color:var(--ink-muted);margin-bottom:1.5rem;font-size:.78rem}.emp-user-chip{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.82rem;display:inline-flex}.emp-status-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.emp-live-clock{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.82rem}.emp-action-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.emp-feature-card{background:var(--glass-bg);min-width:200px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--duration-normal);cursor:pointer;color:var(--ink);flex-direction:column;flex:1;gap:.75rem;padding:1.5rem;text-decoration:none;display:flex}.emp-feature-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow);transform:translateY(-3px)}.emp-feature-checkin{border-top:3px solid var(--ok)}.emp-feature-leave{border-top:3px solid var(--accent)}.emp-feature-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.emp-feature-cta{color:var(--accent-light);margin-top:auto;font-size:.78rem;font-weight:600}.emp-content-bar{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.emp-content-bar-right{align-items:center;gap:.5rem;display:flex}.emp-panel-card{background:var(--emp-card,var(--glass-bg));border:1px solid var(--emp-line,var(--glass-border));border-radius:var(--emp-radius,var(--radius-lg));box-shadow:var(--emp-shadow-sm,none);margin-bottom:1.25rem;overflow:hidden}.emp-panel-head{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.emp-panel-head h2{color:var(--ink);margin:0;font-size:1rem}.emp-panel-link{color:var(--accent-light);transition:color var(--duration-fast);font-size:.78rem;font-weight:600;text-decoration:none}.emp-panel-link:hover{color:var(--accent)}.emp-panel-link-inline{font-size:.78rem}.emp-text-link{color:var(--accent-light);font-size:.82rem;font-weight:600;text-decoration:none}.emp-text-link:hover{color:var(--accent)}.emp-dashboard .dash-stats-row,.emp-dashboard .dash-analytics-row,.emp-dashboard .card-grid,.emp-dashboard .dash-stat-card,.emp-dashboard .dash-analytics-card{min-width:0}@media (width<=900px){.emp-dashboard .dash-analytics-row{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.emp-dashboard .emp-page-hero{flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:1.15rem}.emp-dashboard .emp-page-hero-copy{min-width:0;max-width:100%}.emp-dashboard .emp-page-hero-copy h1{font-size:clamp(1.2rem,5.6vw,1.5rem)}.emp-dashboard .emp-page-hero-copy p{overflow-wrap:anywhere;font-size:.78rem;line-height:1.4}.emp-dashboard .emp-page-slogan{white-space:normal;max-width:100%;font-size:1.05rem;line-height:1.3}.emp-dashboard .dash-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1.15rem}.emp-dashboard .dash-stat-card{gap:.25rem .6rem;padding:.85rem .8rem}.emp-dashboard .dash-stat-label{white-space:normal}.emp-dashboard .dash-analytics-row{gap:1rem;margin-bottom:1.35rem}.emp-dashboard .dash-analytics-card{padding:1.05rem}.emp-dashboard .dash-analytics-head{gap:.5rem;margin-bottom:.85rem}.emp-dashboard .emp-mini-week-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.emp-dashboard .emp-mini-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem;width:100%;min-width:0}.emp-dashboard .emp-mini-day{padding:.5rem .12rem}.emp-dashboard .emp-mini-dow{letter-spacing:.02em;font-size:.58rem}.emp-dashboard .emp-mini-day strong{font-size:.88rem}.emp-dashboard .emp-mini-day small{font-size:.54rem;line-height:1.15}.emp-dashboard .emp-checkin-top{flex-direction:row;align-items:flex-start}.emp-dashboard .emp-checkin-copy{padding-top:0;padding-right:4.75rem}.emp-dashboard .emp-checkin-desc{max-width:none}.emp-dashboard .emp-checkin-reqs{gap:.45rem .75rem}.emp-dashboard .card-grid{grid-template-columns:minmax(0,1fr);gap:.85rem}.emp-dashboard .dash-quick-card,.emp-dashboard .panel-link.dash-quick-card{padding:1.1rem}.emp-dashboard .dash-section-title{margin-bottom:.85rem}}@media (width<=480px){.emp-dashboard .dash-stats-row{grid-template-columns:minmax(0,1fr);gap:.6rem}.emp-dashboard .dash-stat-card{padding:.85rem .9rem}.emp-dashboard .dash-stat-icon{width:38px;height:38px}.emp-dashboard .emp-checkin-card>.emp-checkin-badge{order:-1;align-self:flex-start;position:static}.emp-dashboard .emp-checkin-top{flex-direction:column;gap:.75rem}.emp-dashboard .emp-checkin-icon{width:44px;height:44px}.emp-dashboard .emp-checkin-copy{padding-top:0;padding-right:0}.emp-dashboard .emp-checkin-copy h2{font-size:1.05rem}.emp-dashboard .emp-checkin-reqs{flex-direction:column;gap:.4rem;padding:.6rem .75rem}.emp-dashboard .emp-checkin-cta{min-height:2.75rem}}.emp-week-board-head{flex-wrap:wrap;gap:.5rem}.emp-week-nav{align-items:center;gap:.35rem;display:flex}.emp-week-controls{align-items:center;gap:.5rem;display:flex}.emp-week-picker{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.45rem;min-height:2.2rem;padding:.4rem .7rem;display:inline-flex;position:relative}.emp-week-picker-label{color:var(--ink-secondary);font-size:.82rem;font-weight:600}.emp-week-picker .date-picker.is-overlay .date-picker-panel{left:auto;right:0}.emp-week-change{align-items:center;gap:.5rem;display:flex}.emp-week-change-text{color:var(--ink-secondary);font-size:.82rem;font-weight:500}.emp-week-change-text-short{display:none}.emp-cal-page{--cal-bg:#f4f6fb;--cal-card:#fff;--cal-ink:#1e293b;--cal-muted:#64748b;--cal-faint:#94a3b8;--cal-line:#e8ecf4;--cal-purple:#6366f1;--cal-purple-soft:#eef0ff;--cal-purple-mid:#c7c9f8;--cal-green:#16a34a;--cal-green-soft:#ecfdf5;--cal-green-border:#22c55e;--cal-blue:#2563eb;--cal-blue-soft:#eff6ff;--cal-orange:#d97706;--cal-orange-soft:#fff7ed;--cal-pink:#dc2626;--cal-pink-soft:#fef2f2;--cal-weekend:#fff5f5;--cal-shadow:0 8px 24px #0f172a0f;--cal-shadow-sm:0 2px 8px #0f172a0a;width:100%;max-width:100%;height:auto;min-height:0;max-height:calc(100dvh - 8.75rem);color:var(--cal-ink);flex-direction:column;flex:auto;gap:.85rem;display:flex}[data-theme=dark] .emp-cal-page{--cal-bg:#141822;--cal-card:#1b2030;--cal-ink:#e8eaf2;--cal-muted:#9aa3b8;--cal-faint:#6b738a;--cal-line:#ffffff14;--cal-purple:#818cf8;--cal-purple-soft:#6366f12e;--cal-purple-mid:#6366f159;--cal-green:#4ade80;--cal-green-soft:#22c55e29;--cal-green-border:#22c55e;--cal-blue:#60a5fa;--cal-blue-soft:#3b82f629;--cal-orange:#fbbf24;--cal-orange-soft:#f59e0b29;--cal-pink:#f87171;--cal-pink-soft:#f8717124;--cal-weekend:#f8717114;--cal-shadow:0 8px 24px #00000047;--cal-shadow-sm:0 2px 8px #0003}:is(.main:has(.emp-cal-page),.emp-main:has(.emp-cal-page)){background:radial-gradient(70% 40% at 10% 0,#6366f114,#0000 55%),radial-gradient(50% 35% at 90% 10%,#22c55e0d,#0000 50%),#f4f6fb;flex-direction:column;width:100%;min-width:0;min-height:0;display:flex}@media (width>=769px){:is(.main:has(.emp-cal-page),.emp-main:has(.emp-cal-page)){padding-bottom:.75rem}.emp-main-wrap:has(.emp-cal-page){min-height:100dvh;max-height:100dvh;overflow:hidden}.emp-main:has(.emp-cal-page){flex:auto;min-height:0;overflow:hidden}.emp-main-wrap:has(.emp-cal-page) .emp-footer{flex-shrink:0;padding-block:.55rem .85rem}.emp-cal-page{flex:auto;min-height:0;max-height:none}}:is([data-theme=dark] .main:has(.emp-cal-page),[data-theme=dark] .emp-main:has(.emp-cal-page)){background:radial-gradient(70% 40% at 10% 0,#6366f124,#0000 55%),radial-gradient(50% 35% at 90% 10%,#22c55e14,#0000 50%),#12151f}.emp-cal-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.emp-cal-toolbar-left{flex-wrap:wrap;align-items:center;gap:.85rem;min-width:0;display:flex}.emp-cal-title-icon{background:var(--cal-purple-soft);width:2.5rem;height:2.5rem;color:var(--cal-purple);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.emp-cal-title-block{flex-direction:column;gap:.1rem;min-width:0;display:flex}.emp-cal-toolbar-left h1{font-size:1.4rem;font-family:var(--font-display);letter-spacing:-.02em;color:var(--cal-ink);white-space:nowrap;margin:0}.emp-cal-subtitle{color:var(--cal-muted);margin:0;font-size:.78rem}.emp-cal-nav{flex-wrap:nowrap;align-items:center;gap:.45rem;display:flex}.emp-cal-today-btn{appearance:none;border:1px solid var(--cal-line);background:var(--cal-card);color:var(--cal-ink);font:inherit;cursor:pointer;box-shadow:var(--cal-shadow-sm);transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);border-radius:999px;padding:.45rem .9rem;font-size:.8rem;font-weight:600}.emp-cal-today-btn:hover{border-color:var(--cal-purple-mid);color:var(--cal-purple);background:var(--cal-purple-soft)}.emp-cal-arrow-group{align-items:center;gap:.1rem;display:inline-flex}.emp-cal-icon-btn{appearance:none;width:2rem;height:2rem;color:var(--cal-muted);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.emp-cal-icon-btn:hover{background:var(--cal-purple-soft);color:var(--cal-purple)}.emp-cal-icon-btn.is-sm{width:1.65rem;height:1.65rem}.emp-cal-month-title{color:var(--cal-ink);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}.emp-cal-toolbar-right{align-items:center;gap:.75rem;display:flex}.emp-cal-range-chip{color:var(--cal-muted);background:var(--cal-card);border:1px solid var(--cal-line);box-shadow:var(--cal-shadow-sm);border-radius:999px;padding:.4rem .8rem;font-size:.78rem;font-weight:600}.emp-cal-leave-link{color:var(--cal-purple);background:var(--cal-purple-soft);border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.emp-cal-leave-link:hover{border-color:var(--cal-purple-mid)}.emp-cal-sticky{min-width:0}.emp-cal-shell{flex:1;grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:stretch;gap:1rem;min-height:0;display:grid}.emp-cal-aside{flex-direction:column;gap:.75rem;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.emp-cal-mini,.emp-cal-aside-card,.emp-cal-main{background:var(--cal-card);border:1px solid var(--cal-line);box-shadow:var(--cal-shadow-sm);border-radius:16px}.emp-cal-mini{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding:.9rem .75rem 1rem;transition:padding .55s cubic-bezier(.22,1,.36,1);overflow:hidden}.emp-cal-mini-head{opacity:1;justify-content:space-between;align-items:center;gap:.35rem;min-width:0;max-height:2.5rem;margin-bottom:.75rem;padding:0 .15rem;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .28s cubic-bezier(.4,0,.2,1),margin .5s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.emp-cal-mini-head strong{color:var(--cal-ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:650;overflow:hidden}.emp-cal-mini-dows{grid-template-columns:repeat(7,minmax(0,1fr));gap:.1rem;width:100%;margin-bottom:.3rem;transition:margin .5s cubic-bezier(.22,1,.36,1);display:grid}.emp-cal-mini-dows span{text-align:center;color:var(--cal-faint);letter-spacing:.04em;min-width:0;padding:.3rem 0;font-size:clamp(.62rem,1.6vw,.78rem);font-weight:700}.emp-cal-mini-grid{flex-direction:column;gap:.2rem;width:100%;transition:gap .5s cubic-bezier(.22,1,.36,1);display:flex}.emp-cal-week-row{opacity:1;transform-origin:top;max-height:3.75rem;transition:max-height .55s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--collapse-delay,0s);grid-template-columns:repeat(7,minmax(0,1fr));gap:.1rem;display:grid;overflow:hidden;transform:translateY(0)scaleY(1)}.emp-cal-mini-cell{appearance:none;color:var(--cal-muted);font:inherit;font-variant-numeric:tabular-nums;aspect-ratio:1;cursor:pointer;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:0;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;font-size:clamp(.72rem,1.9vw,.95rem);font-weight:550;display:grid;position:relative}.emp-cal-mini-cell.is-empty{pointer-events:none}.emp-cal-mini-cell:hover:not(.is-empty){background:var(--cal-purple-soft);color:var(--cal-purple)}.emp-cal-mini-cell.in-week{background:var(--cal-purple-soft);color:var(--cal-ink)}.emp-cal-mini-cell.is-selected{box-shadow:inset 0 0 0 1.5px var(--cal-purple);color:var(--cal-ink)}.emp-cal-mini-cell.is-today{background:var(--cal-purple);color:#fff;box-shadow:none;font-weight:700}.emp-cal-mini-cell.is-today.is-selected{box-shadow:inset 0 0 0 2px #ffffffd9}.emp-cal-mini-cell.has-shift:after{content:"";background:var(--cal-green-border);border-radius:50%;width:4px;height:4px;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.emp-cal-mini-cell.is-today.has-shift:after{background:#fff}.emp-cal-aside-card{padding:.85rem .9rem}.emp-cal-day-detail{background:linear-gradient(160deg, var(--cal-purple-soft), var(--cal-card) 70%);border-color:color-mix(in srgb, var(--cal-purple) 18%, var(--cal-line));flex-shrink:0}.emp-cal-status-card{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden;container:emp-status/size}.emp-cal-aside-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.65rem;display:flex}.emp-cal-aside-card-head h3,.emp-cal-status-card h3{color:var(--cal-ink);margin:0;font-size:.84rem;font-weight:650}.emp-cal-aside-card-head time{color:var(--cal-muted);font-size:.72rem;font-weight:550}.emp-cal-aside-empty{color:var(--cal-muted);margin:0;font-size:.8rem;line-height:1.4}.emp-cal-off-note{align-items:center;gap:.55rem;display:flex}.emp-cal-off-note p{color:var(--cal-muted);margin:0;font-size:.82rem}.emp-cal-off-badge,.emp-cal-day-tag{font-size:var(--emp-cal-tag-size,clamp(.4rem, .85cqi, .52rem));letter-spacing:.03em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;max-width:100%;padding:.1rem clamp(.18rem,.55cqi,.32rem);font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.emp-cal-off-badge,.emp-cal-day-tag.is-off{background:var(--cal-pink-soft);color:var(--cal-pink)}.emp-cal-day-tag.is-work{background:var(--cal-green-soft);color:var(--cal-green)}.emp-cal-aside-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.emp-cal-aside-shift{appearance:none;text-align:left;width:100%;font:inherit;cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border:1px solid #0000;border-left-width:3px;border-radius:10px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.emp-cal-aside-shift.is-work{background:var(--cal-green-soft);border-left-color:var(--cal-green-border);color:var(--cal-green)}.emp-cal-aside-shift.is-half{background:var(--cal-blue-soft);border-left-color:var(--cal-blue);color:var(--cal-blue)}.emp-cal-aside-shift:hover,.emp-cal-aside-shift.is-active{box-shadow:var(--cal-shadow-sm)}.emp-cal-aside-shift strong{font-size:.8rem}.emp-cal-aside-shift span,.emp-cal-aside-shift small{opacity:.85;font-size:.72rem}.emp-cal-status-card h3{letter-spacing:-.01em;flex-shrink:0;margin-bottom:clamp(.45rem,1.8vw,.7rem);font-size:clamp(.78rem,2.4vw,.84rem)}.emp-cal-status-list{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;align-items:stretch;gap:clamp(.25rem,2cqi,.5rem);width:100%;min-width:0;min-height:0;margin:0;padding:0;list-style:none;display:grid}.emp-cal-status-list li{text-align:center;box-sizing:border-box;border:1px solid #0000;border-radius:clamp(8px,2.5cqi,14px);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:0;height:100%;min-height:0;max-height:min(5.25rem,100%);margin:0;padding:0;display:flex}.emp-cal-status-list li.is-work{background:linear-gradient(#ecfdf5 0%,#f0fdf4 100%);border-color:#22c55e2e}.emp-cal-status-list li.is-half{background:linear-gradient(#eff6ff 0%,#f8fbff 100%);border-color:#3b82f62e}.emp-cal-status-list li.is-leave{background:linear-gradient(#fffbeb 0%,#fffdf5 100%);border-color:#f59e0b33}.emp-cal-status-list li.is-off{background:linear-gradient(#fef2f2 0%,#fff7f7 100%);border-color:#f8717133}.emp-cal-status-list strong{color:var(--cal-ink);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:0;font-size:clamp(.82rem,min(4.2cqi,18cqh),1.25rem);font-weight:750;line-height:1}.emp-cal-status-list li.is-work strong{color:#15803d}.emp-cal-status-list li.is-half strong{color:#1d4ed8}.emp-cal-status-list li.is-leave strong{color:#b45309}.emp-cal-status-list li.is-off strong{color:#dc2626}.emp-cal-status-label{letter-spacing:.01em;color:var(--cal-muted);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:clamp(.12rem,1.2cqi,.28rem);max-width:100%;font-size:clamp(.52rem,min(2.4cqi,9cqh),.7rem);font-weight:650;line-height:1;display:inline-flex;overflow:hidden}.emp-cal-status-dot{border-radius:50%;flex-shrink:0;width:clamp(4px,1.6cqi,7px);height:clamp(4px,1.6cqi,7px);box-shadow:0 0 0 2px #ffffffb3}.emp-cal-status-list li.is-work .emp-cal-status-dot{background:#22c55e}.emp-cal-status-list li.is-half .emp-cal-status-dot{background:#3b82f6}.emp-cal-status-list li.is-leave .emp-cal-status-dot{background:#f59e0b}.emp-cal-status-list li.is-off .emp-cal-status-dot{background:#f87171}@media (width<=640px){.emp-cal-status-card{padding:.7rem .7rem .75rem;container-type:inline-size}.emp-cal-status-list{flex:none;grid-auto-rows:auto}.emp-cal-status-list li{height:auto;min-height:clamp(3.2rem,20cqi,4.5rem);max-height:none}}@media (width>=641px) and (width<=1100px){.emp-cal-status-list li{max-height:min(4.75rem,100%)}}[data-theme=dark] .emp-cal-status-list li.is-work{background:#22c55e1f;border-color:#22c55e38}[data-theme=dark] .emp-cal-status-list li.is-half{background:#3b82f61f;border-color:#3b82f638}[data-theme=dark] .emp-cal-status-list li.is-leave{background:#f59e0b1f;border-color:#f59e0b38}[data-theme=dark] .emp-cal-status-list li.is-off{background:#f871711f;border-color:#f8717138}[data-theme=dark] .emp-cal-status-list li.is-work strong{color:#4ade80}[data-theme=dark] .emp-cal-status-list li.is-half strong{color:#60a5fa}[data-theme=dark] .emp-cal-status-list li.is-leave strong{color:#fbbf24}[data-theme=dark] .emp-cal-status-list li.is-off strong{color:#f87171}.emp-cal-main{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.emp-cal-main-head{border-bottom:1px solid var(--cal-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem .65rem;display:flex}.emp-cal-main-head h2{color:var(--cal-ink);margin:0;font-size:1rem;font-weight:700}.emp-cal-main-head p{color:var(--cal-muted);margin:.15rem 0 0;font-size:.75rem}.emp-cal-view-pill{color:#fff;background:var(--cal-purple);border-radius:999px;padding:.4rem .85rem;font-size:.75rem;font-weight:700;box-shadow:0 4px 12px #6366f147}.emp-cal-scroll{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;overscroll-behavior-x:contain;flex:auto;width:100%;min-width:0;min-height:0;position:relative;overflow:auto;container:emp-cal/inline-size}.emp-cal-board{--emp-cal-time-w:clamp(2.35rem, 5.5cqi, 4rem);--hour-h:56px;--emp-cal-line:var(--cal-line);--emp-cal-surface:var(--cal-card);--emp-cal-event-pad-x:clamp(.1rem, .75cqi, .4rem);--emp-cal-event-pad-y:clamp(.06rem, .45cqi, .28rem);--emp-cal-event-name-size:clamp(.5rem, calc(.95cqi + .14rem), .74rem);--emp-cal-event-time-size:clamp(.42rem, calc(.75cqi + .1rem), .62rem);--emp-cal-dow-size:clamp(.42rem, 1.05cqi, .6rem);--emp-cal-dom-size:clamp(.68rem, 1.65cqi, .92rem);--emp-cal-dom-box:clamp(1.05rem, 2.5cqi, 1.4rem);--emp-cal-tag-size:clamp(.4rem, .85cqi, .52rem);--emp-cal-head-min-h:clamp(2.15rem, 6.5cqi, 3.1rem);box-sizing:border-box;width:100%;min-width:0;max-width:100%}.emp-cal-week-head,.emp-cal-grid{grid-template-columns:var(--emp-cal-time-w) repeat(7, minmax(0, 1fr));box-sizing:border-box;width:100%;min-width:0;display:grid}.emp-cal-week-head{z-index:6;border-bottom:1px solid var(--cal-line);background:var(--cal-card);box-shadow:0 1px 0 var(--cal-line);position:sticky;top:0}.emp-cal-tz{color:var(--cal-faint);letter-spacing:.02em;text-align:center;border-right:1px solid var(--emp-cal-line);flex-direction:column;justify-content:flex-end;align-items:center;gap:.1rem;min-width:0;padding:.4rem .25rem .45rem;font-size:.62rem;font-weight:650;line-height:1.15;display:flex;overflow:hidden}.emp-cal-tz span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.emp-cal-day-head{appearance:none;border:none;border-right:1px solid var(--emp-cal-line);color:var(--cal-muted);font:inherit;cursor:pointer;width:auto;min-width:0;max-width:100%;min-height:var(--emp-cal-head-min-h,2.6rem);transition:background var(--duration-fast);box-sizing:border-box;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.04rem,.25cqi,.14rem);padding:clamp(.14rem,.5cqi,.32rem) .08rem clamp(.16rem,.55cqi,.36rem);display:flex;overflow:hidden}.emp-cal-day-head:last-child{border-right:none}.emp-cal-day-head.is-weekend{background:var(--cal-weekend)}.emp-cal-day-head:hover{background:var(--cal-purple-soft)}.emp-cal-day-head.is-selected{background:color-mix(in srgb, var(--cal-purple-soft) 80%, transparent)}.emp-cal-dow{font-size:var(--emp-cal-dow-size,clamp(.42rem, 1.05cqi, .6rem));letter-spacing:.04em;text-transform:capitalize;text-overflow:ellipsis;max-width:100%;font-weight:700;line-height:1;overflow:hidden}.emp-cal-dom{font-size:var(--emp-cal-dom-size,clamp(.68rem, 1.65cqi, .92rem));font-variant-numeric:tabular-nums;color:var(--cal-ink);width:var(--emp-cal-dom-box,clamp(1.05rem, 2.5cqi, 1.4rem));height:var(--emp-cal-dom-box,clamp(1.05rem, 2.5cqi, 1.4rem));border-radius:50%;flex-shrink:0;place-items:center;font-weight:650;line-height:1;display:grid}.emp-cal-day-head.is-today .emp-cal-dow{color:var(--cal-purple)}.emp-cal-day-head.is-today .emp-cal-dom{background:var(--cal-purple);color:#fff}.emp-cal-grid{background:var(--emp-cal-surface);align-items:stretch;position:relative}.emp-cal-time-col{border-right:1px solid var(--emp-cal-line);background-color:var(--emp-cal-surface);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hour-h) - 1px), var(--emp-cal-line) calc(var(--hour-h) - 1px), var(--emp-cal-line) var(--hour-h));grid-column:1;position:relative;overflow:hidden}.emp-cal-time-label{color:var(--cal-faint);text-align:right;white-space:nowrap;pointer-events:none;z-index:1;text-overflow:ellipsis;padding:0 .1rem;font-size:clamp(.55rem,1.45cqi,.72rem);font-weight:550;line-height:1.2;position:absolute;left:0;right:.3rem;overflow:hidden;transform:none}.emp-cal-days{display:contents}.emp-cal-day-col{border-right:1px solid var(--emp-cal-line);cursor:pointer;background-color:#0000;background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hour-h) - 1px), var(--emp-cal-line) calc(var(--hour-h) - 1px), var(--emp-cal-line) var(--hour-h));box-sizing:border-box;width:auto;min-width:0;max-width:100%;position:relative;overflow:hidden}.emp-cal-day-col:last-child{border-right:none}.emp-cal-day-col.is-weekend{background-color:var(--cal-weekend)}.emp-cal-day-col.is-today{background-color:color-mix(in srgb, var(--cal-purple-soft) 55%, transparent)}.emp-cal-day-col.is-selected:not(.is-today):not(.is-weekend){background-color:color-mix(in srgb, var(--cal-purple-soft) 35%, transparent)}.emp-cal-weekend-empty{pointer-events:none;opacity:.7;place-items:center;display:grid;position:absolute;inset:20% 8%}.emp-cal-weekend-empty span{color:var(--cal-pink);background:var(--cal-pink-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:.3rem .5rem;font-size:clamp(.58rem,1.4cqi,.72rem);font-weight:600;overflow:hidden}.emp-cal-event{appearance:none;z-index:2;width:auto;padding:var(--emp-cal-event-pad-y) var(--emp-cal-event-pad-x);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--cal-shadow-sm);transition:filter var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);box-sizing:border-box;border:none;border-left:3px solid;border-radius:clamp(5px,1.1cqi,10px);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.05rem;min-width:0;max-width:100%;display:flex;position:absolute;left:clamp(1px,.4cqi,4px);right:clamp(1px,.4cqi,4px);overflow:hidden;container:emp-cal-event/size}.emp-cal-event.is-work{background:var(--cal-green-soft);border-left-color:var(--cal-green-border);color:var(--cal-green)}.emp-cal-event.is-half{background:var(--cal-blue-soft);border-left-color:var(--cal-blue);color:var(--cal-blue)}.emp-cal-event:hover,.emp-cal-event.is-active{filter:brightness(.98);box-shadow:var(--cal-shadow);z-index:3;transform:translateY(-1px)}.emp-cal-event-name{font-size:var(--emp-cal-event-name-size);white-space:normal;-webkit-line-clamp:2;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;width:100%;max-width:100%;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.emp-cal-event-time{font-size:var(--emp-cal-event-time-size);opacity:.9;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:100%;line-height:1.15;overflow:hidden}.emp-cal-event-time-full{display:block}.emp-cal-event-time-mid,.emp-cal-event-time-compact{display:none}.emp-cal-event strong{font-size:var(--emp-cal-event-name-size);white-space:normal;-webkit-line-clamp:2;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;width:100%;max-width:100%;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.emp-cal-event span{font-size:var(--emp-cal-event-time-size);opacity:.9;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@container emp-cal (width<=1100px){.emp-cal-board{--emp-cal-event-name-size:clamp(.48rem, calc(.9cqi + .12rem), .66rem);--emp-cal-event-time-size:clamp(.4rem, calc(.7cqi + .08rem), .54rem);--emp-cal-dow-size:clamp(.4rem, .95cqi, .54rem);--emp-cal-dom-size:clamp(.64rem, 1.45cqi, .82rem);--emp-cal-dom-box:clamp(1rem, 2.2cqi, 1.28rem);--emp-cal-tag-size:clamp(.38rem, .75cqi, .48rem);--emp-cal-head-min-h:clamp(2rem, 5.8cqi, 2.7rem)}}@container emp-cal (width<=900px){.emp-cal-event-time-full{display:none}.emp-cal-event-time-mid{display:block}.emp-cal-board{--emp-cal-time-w:clamp(2.2rem, 5cqi, 3.2rem);--emp-cal-event-pad-x:clamp(.08rem, .55cqi, .26rem);--emp-cal-event-name-size:clamp(.46rem, 1.05cqi, .62rem);--emp-cal-dow-size:clamp(.38rem, .9cqi, .5rem);--emp-cal-dom-size:clamp(.6rem, 1.35cqi, .76rem);--emp-cal-dom-box:clamp(.95rem, 2.05cqi, 1.2rem);--emp-cal-tag-size:clamp(.36rem, .7cqi, .46rem);--emp-cal-head-min-h:clamp(1.9rem, 5.2cqi, 2.45rem)}}@container emp-cal (width<=720px){.emp-cal-board{--emp-cal-time-w:clamp(2.1rem, 5cqi, 2.9rem);--emp-cal-event-name-size:clamp(.44rem, 1.15cqi, .58rem);--emp-cal-dow-size:.4rem;--emp-cal-dom-size:.64rem;--emp-cal-dom-box:1.05rem;--emp-cal-tag-size:.38rem;--emp-cal-head-min-h:2rem}.emp-cal-event{border-left-width:2px}}@container emp-cal-event (height<=44px){.emp-cal-event-name,.emp-cal-event strong{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block}.emp-cal-event-time-full,.emp-cal-event-time-mid{display:none}.emp-cal-event-time-compact{display:block}}@container emp-cal (width<=560px){.emp-cal-board{--emp-cal-time-w:2.55rem;--emp-cal-head-min-h:2.2rem}.emp-cal-event{border-left-width:0;border-radius:6px;align-items:center;padding:.14rem .08rem}.emp-cal-event.is-work{background:color-mix(in srgb, var(--cal-green-border) 88%, #fff);color:#fff;box-shadow:0 1px 3px #16a34a47}.emp-cal-event.is-half{background:color-mix(in srgb, var(--cal-blue) 88%, #fff);color:#fff;box-shadow:0 1px 3px #2563eb47}.emp-cal-event-name,.emp-cal-event-time-full,.emp-cal-event-time-mid{display:none}.emp-cal-event-time-compact{opacity:1;color:inherit;text-overflow:clip;font-size:clamp(.46rem,2cqi,.58rem);font-weight:700;line-height:1.1;display:block}.emp-cal-event strong,.emp-cal-event span:not(.emp-cal-event-time-compact){display:none}}@media (width>=769px){.emp-cal-main-head{padding:.45rem .75rem .35rem}.emp-cal-main-head h2{font-size:clamp(.78rem,1.4cqi,.92rem)}.emp-cal-main-head p{font-size:clamp(.62rem,1.1cqi,.72rem)}.emp-cal-view-pill{padding:.24rem .58rem;font-size:.62rem}.emp-cal-board{--emp-cal-time-w:clamp(2.15rem, 4.6cqi, 3.15rem);--emp-cal-event-pad-x:clamp(.08rem, .55cqi, .22rem);--emp-cal-event-pad-y:clamp(.04rem, .3cqi, .12rem);--emp-cal-event-name-size:clamp(.46rem, calc(.8cqi + .1rem), .62rem);--emp-cal-event-time-size:clamp(.4rem, calc(.6cqi + .08rem), .52rem);--emp-cal-dow-size:clamp(.4rem, .9cqi, .52rem);--emp-cal-dom-size:clamp(.62rem, 1.35cqi, .78rem);--emp-cal-dom-box:clamp(.98rem, 2.1cqi, 1.22rem);--emp-cal-tag-size:clamp(.36rem, .7cqi, .46rem);--emp-cal-head-min-h:clamp(1.85rem, 5cqi, 2.35rem)}.emp-cal-tz{padding:.14rem .08rem .16rem;font-size:clamp(.4rem,.85cqi,.5rem)}.emp-cal-time-label{font-size:clamp(.42rem,.95cqi,.54rem)}.emp-cal-event{border-left-width:2px;border-radius:clamp(3px,.7cqi,6px);left:clamp(3px,.65cqi,7px);right:clamp(3px,.65cqi,7px)}.emp-cal-event-name,.emp-cal-event strong{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block}.emp-cal-event-time-full,.emp-cal-event-time-mid{display:none}.emp-cal-event-time-compact{display:block}.emp-cal-weekend-empty span{padding:.1rem .28rem;font-size:clamp(.42rem,.9cqi,.52rem)}}.emp-cal-now{z-index:4;pointer-events:none;border-top:2px solid #ef4444;height:0;position:absolute;left:0;right:0;transform:translateY(-1px)}.emp-cal-now-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.emp-cal-detail-bar{display:none}.emp-cal-shift-backdrop{z-index:1200;background:#0f172a73;align-items:flex-end;padding:0}.emp-cal-shift-modal{background:var(--cal-card,#fff);border:1px solid var(--cal-line,#e8ecf4);width:100%;max-width:420px;color:var(--cal-ink,#1e293b);border-radius:20px 20px 0 0;max-height:min(88vh,640px);margin:0 auto;animation:.32s cubic-bezier(.22,1,.36,1) emp-cal-sheet-up;overflow:auto;box-shadow:0 -12px 40px #0f172a2e}.emp-cal-shift-modal-head{border-bottom:1px solid var(--cal-line,#e8ecf4);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.15rem 1.15rem .85rem;display:flex}.emp-cal-shift-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--cal-muted,#64748b);margin:0 0 .2rem;font-size:.72rem;font-weight:650}.emp-cal-shift-modal-head h2{letter-spacing:-.02em;color:var(--cal-ink,#1e293b);margin:0;font-size:1.2rem;font-weight:700}.emp-cal-shift-close{appearance:none;background:var(--cal-purple-soft,#eef0ff);width:2.25rem;height:2.25rem;color:var(--cal-muted,#64748b);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.emp-cal-shift-close:hover{color:var(--cal-purple,#6366f1)}.emp-cal-shift-modal-body{flex-direction:column;gap:1rem;padding:1rem 1.15rem .5rem;display:flex}.emp-cal-shift-badge{border-radius:999px;align-self:flex-start;padding:.35rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.emp-cal-shift-badge.is-work{background:var(--cal-green-soft,#ecfdf5);color:var(--cal-green,#16a34a)}.emp-cal-shift-badge.is-half{background:var(--cal-blue-soft,#eff6ff);color:var(--cal-blue,#2563eb)}.emp-cal-shift-meta{gap:.75rem;margin:0;display:grid}.emp-cal-shift-meta>div{gap:.15rem;display:grid}.emp-cal-shift-meta dt{color:var(--cal-muted,#64748b);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:650}.emp-cal-shift-meta dd{color:var(--cal-ink,#1e293b);margin:0;font-size:.95rem;font-weight:600}.emp-cal-shift-notes{background:color-mix(in srgb, var(--cal-purple-soft,#eef0ff) 70%, transparent);border:1px solid color-mix(in srgb, var(--cal-purple,#6366f1) 12%, transparent);border-radius:14px;padding:.85rem .9rem}.emp-cal-shift-notes h3{color:var(--cal-ink,#1e293b);margin:0 0 .45rem;font-size:.78rem;font-weight:700}.emp-cal-shift-notes p{color:var(--cal-muted,#64748b);margin:0;font-size:.86rem}.emp-cal-shift-notes ul{gap:.3rem;margin:0;padding-left:1.1rem;display:grid}.emp-cal-shift-notes li{color:var(--cal-ink,#1e293b);font-size:.88rem}.emp-cal-shift-modal-actions{padding:.85rem 1.15rem 1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom,0px))}.emp-cal-shift-modal-actions .btn{width:100%}@keyframes emp-cal-sheet-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width>=641px){.emp-cal-shift-backdrop{align-items:center;padding:1.5rem}.emp-cal-shift-modal{box-shadow:var(--cal-shadow,0 8px 24px #0f172a0f);border-radius:18px}}@keyframes emp-cal-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.emp-cal-page{height:auto;max-height:none}.emp-cal-shell{grid-template-columns:minmax(0,1fr)}.emp-cal-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem;height:auto;display:grid;overflow:visible}.emp-cal-status-card{flex:none;grid-column:1/-1;min-height:auto;overflow:hidden;container-type:inline-size}.emp-cal-status-list{flex:none;grid-auto-rows:auto}.emp-cal-status-list li{height:auto;min-height:clamp(3.4rem,18cqi,4.75rem);max-height:none}.emp-cal-main{height:auto;min-height:340px;max-height:min(68vh,620px)}}@media (width<=640px){.emp-main-wrap:has(.emp-cal-page){overflow-x:clip}.emp-cal-toolbar-left{gap:.65rem}.emp-cal-toolbar-left h1{font-size:1.2rem}.emp-cal-subtitle,.emp-cal-nav{display:none}.emp-cal-aside{display:contents}.emp-cal-sticky{top:calc(var(--topbar-h) + var(--safe-top));z-index:40;background:var(--cal-bg);order:2;margin:0;padding:.25rem 0 .55rem;transition:padding .55s cubic-bezier(.22,1,.36,1),border-color .4s;position:sticky}.emp-cal-page.cal-collapsed .emp-cal-sticky{border-bottom:1px solid var(--cal-line);margin-bottom:.85rem;padding-bottom:.65rem}.emp-cal-day-detail{order:3;display:none}.emp-cal-status-card{z-index:1;flex:none;order:4;min-height:auto;position:relative;overflow:visible}.emp-cal-page.cal-collapsed .emp-cal-status-card{margin-top:.35rem}.emp-cal-main{z-index:1;order:5;min-height:320px;max-height:min(62vh,560px);position:relative}.emp-cal-mini.is-collapsed{cursor:pointer;padding:.45rem .5rem .55rem}.emp-cal-mini.is-collapsed .emp-cal-mini-head{opacity:0;pointer-events:none;max-height:0;margin-bottom:0;transform:translateY(-4px)}.emp-cal-mini.is-collapsed .emp-cal-mini-grid{gap:0}.emp-cal-mini.is-collapsed .emp-cal-week-row:not(.is-selected-week){opacity:0;pointer-events:none;max-height:0;transform:translateY(-8px)scaleY(.72)}.emp-cal-mini.is-collapsed .emp-cal-week-row:not(.is-selected-week) .emp-cal-mini-cell{aspect-ratio:auto;height:0;min-height:0;overflow:hidden}.emp-cal-mini.is-collapsed .emp-cal-week-row.is-selected-week{transform:translateY(0)scaleY(1)}.emp-cal-mini.is-collapsed .emp-cal-mini-dows{margin-bottom:.1rem}.emp-cal-day-head{min-height:3.6rem;padding:.3rem .1rem .35rem}.emp-cal-day-tag{padding:.12rem .35rem;font-size:.55rem}.emp-cal-event{border-left-width:0;border-radius:7px;justify-content:flex-start;align-items:center;min-height:22px;padding:.16rem .1rem;left:2px;right:2px}.emp-cal-event.is-work{background:color-mix(in srgb, var(--cal-green-border) 88%, #fff);color:#fff;box-shadow:0 1px 3px #16a34a47}.emp-cal-event.is-half{background:color-mix(in srgb, var(--cal-blue) 88%, #fff);color:#fff;box-shadow:0 1px 3px #2563eb47}.emp-cal-event.is-active{outline:2px solid var(--cal-purple);outline-offset:1px}.emp-cal-event-name,.emp-cal-event-time-full,.emp-cal-event-time-mid{display:none}.emp-cal-event-time-compact{opacity:1;color:inherit;text-overflow:clip;max-width:100%;font-size:.58rem;font-weight:700;line-height:1.1;display:block}.emp-cal-event strong,.emp-cal-event span:not(.emp-cal-event-time-compact),.emp-cal-range-chip{display:none}}@media (width>=641px){.emp-cal-sticky{display:contents}}@media (width>=1100px){.emp-cal-shell{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}@media (width>=1400px){.emp-cal-shell{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1.25rem}}.emp-mini-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.emp-mini-week-scroll{padding:.15rem 0 .75rem;overflow-x:auto}.emp-mini-day{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);text-align:center;flex-direction:column;align-items:center;gap:.2rem;min-width:0;padding:.65rem .35rem;display:flex}.emp-mini-day strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.emp-mini-day small{color:var(--ink-secondary);word-break:break-word;font-size:.65rem;line-height:1.2}.emp-mini-day.today{border-color:var(--accent-light);background:#6c5ce71f;box-shadow:0 0 0 1px #6c5ce733}.emp-mini-dow{text-transform:uppercase;color:var(--ink-muted);letter-spacing:.04em;font-size:.68rem;font-weight:600}.dash-analytics-card .emp-announcements{padding:0}.dash-analytics-card>.dash-analytics-link{margin-top:.75rem;display:inline-block}.emp-checkin-card{background:radial-gradient(ellipse 90% 70% at 100% 0%, #6c5ce724, transparent 55%), var(--glass-bg);border-color:#6c5ce738;flex-direction:column;gap:1.15rem;display:flex;position:relative;overflow:hidden}.emp-checkin-card>.emp-checkin-badge{z-index:1;position:absolute;top:1.15rem;right:1.15rem}.emp-checkin-card.is-checkout{background:radial-gradient(ellipse 90% 70% at 100% 0%, #ffc0481f, transparent 55%), var(--glass-bg);border-color:#ffc04838}.emp-checkin-card:before{content:"";background:var(--accent-gradient);border-radius:3px 0 0 3px;width:3px;position:absolute;inset:0 auto 0 0}.emp-checkin-card.is-checkout:before{background:linear-gradient(#ffc048,#ff9f43)}.emp-checkin-top{align-items:flex-start;gap:1rem;display:flex}.emp-checkin-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--accent-light);background:#6c5ce724;border:1px solid #6c5ce738;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff0f}.emp-checkin-card.is-checkout .emp-checkin-icon{color:#ffc048;background:#ffc04824;border-color:#ffc04847}.emp-checkin-copy{flex:1;min-width:0;padding-right:5.5rem}.emp-checkin-copy h2{font-size:1.15rem;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 .35rem}.emp-checkin-badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;border:1px solid #0000;align-items:center;padding:.2rem .55rem;font-size:.68rem;font-weight:650;display:inline-flex}.emp-checkin-badge.tone-idle{color:var(--ink-secondary);border-color:var(--glass-border);background:#ffffff0d}.emp-checkin-badge.tone-active{color:#00cec9;background:#00cec91f;border-color:#00cec947}.emp-checkin-badge.tone-done{color:var(--accent-light);background:#6c5ce71f;border-color:#6c5ce747}.emp-checkin-detail{color:var(--ink-secondary);margin:0 0 .35rem;font-size:.8rem;font-weight:560}.emp-checkin-desc{color:var(--ink-muted);max-width:32ch;margin:0;font-size:.84rem;line-height:1.45}.emp-checkin-reqs{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff08;flex-wrap:wrap;gap:.55rem 1rem;margin:0;padding:.7rem .85rem;list-style:none;display:flex}.emp-checkin-reqs li{color:var(--ink-secondary);align-items:center;gap:.4rem;font-size:.74rem;font-weight:550;display:inline-flex}.emp-checkin-req-dot{background:var(--accent-light);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex-shrink:0}.emp-checkin-card.is-checkout .emp-checkin-req-dot{background:#ffc048;box-shadow:0 0 8px #ffc04866}.emp-checkin-cta{letter-spacing:.01em;justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:auto;padding:.8rem 1.1rem;font-weight:650;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #6c5ce747}.emp-checkin-cta:hover{transform:translateY(-1px)}.emp-checkin-card.is-checkout .emp-checkin-cta{color:#1a1208;background:linear-gradient(135deg,#ff9f43,#ffc048);box-shadow:0 8px 20px #ff9f4347}@media (width<=520px){.emp-checkin-top{flex-direction:column;gap:.85rem}.emp-checkin-copy{padding-top:1.75rem;padding-right:0}.emp-checkin-desc{max-width:none}}.emp-day-board{display:contents}.emp-day-card{text-align:left;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;min-width:0;padding:0;font-family:inherit;display:flex}.emp-day-card:hover{border-color:var(--glass-border-hover)}.emp-day-card.is-selected,.emp-day-card.is-today{border-color:var(--accent-light);box-shadow:0 0 0 1px #6c5ce740}.emp-day-board-scroll{grid-template-columns:repeat(7,minmax(110px,1fr));gap:.5rem;padding:.75rem 1rem 1rem;display:grid;overflow-x:auto}.emp-day-card-head{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #ffffff08;padding:.5rem .75rem;font-size:.72rem;font-weight:600}.emp-day-card-body{flex-direction:column;gap:.35rem;min-height:60px;padding:.5rem .75rem;display:flex}.emp-day-shift{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);border-left:3px solid var(--accent);padding:.4rem .6rem;font-size:.75rem}.emp-day-shift-top{justify-content:space-between;align-items:center;display:flex}.emp-day-pill{border-radius:var(--radius-full);background:var(--accent-glow);color:var(--accent-light);padding:.15rem .4rem;font-size:.65rem;font-weight:600}.emp-day-tasks{color:var(--ink-muted);font-size:.72rem}.emp-day-off{color:var(--ink-muted);text-align:center;padding:1rem .5rem;font-size:.78rem}.emp-day-sun{font-size:1.25rem}.emp-day-empty-note{text-align:center;padding:.75rem .5rem;font-size:.72rem}.emp-schedule-grid{flex-direction:column;gap:1.25rem;display:flex}.emp-announcements{padding:1rem 1.25rem}.emp-announce-item{border-bottom:1px solid #ffffff08;padding:.75rem 0}.emp-announce-item:last-child{border-bottom:none}.emp-announce-item h4{color:var(--ink);margin:0 0 .25rem;font-size:.88rem}.emp-announce-item p{color:var(--ink-secondary);margin:0;font-size:.82rem;line-height:1.45}.emp-notes-list{flex-direction:column;gap:.25rem;padding:.75rem 1.25rem;display:flex}.emp-notes-item{border-bottom:1px solid #ffffff08;gap:.5rem;padding:.5rem 0;display:flex}.emp-notes-item:last-child{border-bottom:none}.emp-notes-icon{color:var(--ink-muted);flex-shrink:0;margin-top:.15rem}.emp-notes-text{color:var(--ink-secondary);font-size:.82rem}.emp-notes-when{color:var(--ink-muted);margin-top:.15rem;font-size:.72rem}.emp-leave-page{position:relative}.emp-leave-page .leaves-header,.emp-leave-hero{flex-direction:column;align-items:stretch;gap:.45rem;margin-bottom:1.15rem;display:flex}.emp-leave-hero-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.emp-leave-hero-top .emp-leave-eyebrow{margin:0}.emp-leave-hero-top .actions{flex-shrink:0;margin-left:auto}.emp-leave-hero-copy{min-width:0}.emp-leave-hero-copy h1{margin:0;font-size:clamp(1.35rem,4.5vw,1.75rem);line-height:1.2}.emp-leave-hero-copy .muted{margin:.25rem 0 0;font-size:clamp(.78rem,2.4vw,.85rem)}.emp-leave-hero-cta{margin-top:.25rem;display:flex}.emp-leave-hero-cta .emp-leave-apply-trigger{width:auto}@media (width>=721px){.emp-leave-page .emp-leave-hero,.emp-leave-hero{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top top""copy cta";align-items:end;gap:.35rem 1rem;display:grid}.emp-leave-hero-top{grid-area:top}.emp-leave-hero-copy{grid-area:copy}.emp-leave-hero-cta{grid-area:cta;align-self:end;margin-top:0;padding-bottom:.15rem}}.emp-leave-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.emp-leave-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.45rem,1.5vw,.85rem);margin-bottom:1.25rem;display:grid}.emp-leave-stat{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;min-height:4.75rem;box-shadow:var(--glass-shadow);transition:transform var(--duration-normal) var(--ease-smooth), border-color var(--duration-fast);grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;align-items:start;gap:.45rem clamp(.4rem,1.2vw,.75rem);padding:clamp(.65rem,2vw,.9rem) clamp(.55rem,1.8vw,1rem);display:grid;position:relative;overflow:hidden}.emp-leave-stat:before{content:"";border-radius:0 2px 2px 0;width:3px;position:absolute;inset:0 auto 0 0}.emp-leave-stat:hover{border-color:var(--glass-border-hover);transform:translateY(-2px)}.emp-leave-stat-icon{border-radius:var(--radius-md);flex-shrink:0;grid-area:1/1;justify-content:center;align-items:center;width:clamp(1.75rem,5vw,2.4rem);height:clamp(1.75rem,5vw,2.4rem);display:inline-flex}.emp-leave-stat-icon svg{width:clamp(.9rem,2.8vw,1.15rem);height:clamp(.9rem,2.8vw,1.15rem)}.emp-leave-stat-label{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;align-self:center;font-size:clamp(.58rem,1.8vw,.72rem);font-weight:600;overflow:hidden}.emp-leave-stat-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;grid-area:2/1/auto/-1;place-self:end;margin:0;font-size:clamp(1.15rem,3.4vw,1.45rem);font-weight:700;line-height:1}.emp-leave-stat-pending:before{background:var(--warn)}.emp-leave-stat-pending .emp-leave-stat-icon{color:var(--warn);background:var(--warn-soft)}.emp-leave-stat-approved:before{background:var(--ok)}.emp-leave-stat-approved .emp-leave-stat-icon{color:var(--ok);background:var(--ok-soft)}.emp-leave-stat-total:before{background:var(--accent)}.emp-leave-stat-total .emp-leave-stat-icon{color:var(--accent);background:var(--accent-glow)}.emp-leave-grid{grid-template-columns:1fr;align-items:stretch;gap:1.25rem;display:grid}.emp-leave-hero-top .actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.emp-leave-apply-trigger{align-items:center;gap:.4rem;display:inline-flex}.emp-leave-apply-trigger-icon{justify-content:center;align-items:center;display:inline-flex}.emp-leave-back-btn{white-space:nowrap}.emp-leave-apply-modal{width:min(520px,100%);max-width:min(520px,100vw - 2rem)}.emp-leave-apply-modal .employee-leave-form{padding:1.5rem 1.75rem 1.75rem}.emp-leave-apply-modal .emp-leave-dates{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.emp-leave-apply-modal .emp-leave-reason{position:relative}.emp-leave-apply-modal .emp-leave-counter,.emp-leave-apply-modal .gm-modal-actions{margin-top:.35rem}.emp-leave-empty .btn{margin-top:.85rem}.emp-leave-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);height:auto;min-height:100%;box-shadow:var(--glass-shadow);flex-direction:column;display:flex;position:relative;overflow:hidden}.emp-leave-card-head{border-bottom:1px solid var(--glass-border);background:var(--bg-elevated);align-items:flex-start;gap:.85rem;padding:1.2rem 1.35rem 1.05rem;display:flex}.emp-leave-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:2.55rem;height:2.55rem;display:inline-flex}.emp-leave-card-icon-apply{color:#fff;background:var(--accent)}.emp-leave-card-icon-history{color:#fff;background:var(--ok)}.emp-leave-card-head h2{color:var(--ink);letter-spacing:-.02em;font-size:1.08rem;font-weight:700;font-family:var(--font-display);margin:0}.emp-leave-card-head p{color:var(--ink-muted);margin:.3rem 0 0;font-size:.78rem;line-height:1.4}.emp-leave-counter{color:var(--ink-muted);background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--glass-border);align-self:flex-end;padding:.22rem .6rem;font-size:.72rem;font-weight:600}.employee-leave-form{flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1.35rem 1.35rem;display:flex}.emp-leave-apply .emp-leave-actions{margin-top:auto}.employee-leave-form label{flex-direction:column;gap:.4rem;display:flex}.employee-leave-form label>span:first-child{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.employee-leave-form input,.employee-leave-form textarea{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--ink);font-size:.85rem;font-family:var(--font-body);transition:border-color var(--duration-normal), box-shadow var(--duration-normal), background var(--duration-normal);outline:none;padding:.7rem .9rem}.employee-leave-form textarea{resize:vertical;min-height:7rem;line-height:1.45}.employee-leave-form input::placeholder,.employee-leave-form textarea::placeholder{color:var(--ink-faint)}.employee-leave-form input:focus,.employee-leave-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--glass-bg-hover)}.emp-leave-dates{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.emp-leave-reason{flex-direction:column;gap:.4rem;display:flex;position:relative}.emp-leave-actions{align-items:center;gap:.5rem;margin-top:.15rem;padding-top:.35rem;display:flex}.emp-leave-submit-btn{min-width:10.5rem;padding:.7rem 1.35rem;background:var(--accent)!important;box-shadow:0 6px 18px var(--accent-glow)!important}.emp-leave-submit-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 8px 22px var(--accent-glow)!important}.employee-leave-list{flex-direction:column;flex:1;gap:clamp(.35rem,1.2vw,.45rem);min-height:0;margin:0;padding:clamp(.45rem,1.5vw,.55rem) clamp(.55rem,2vw,.75rem) clamp(.65rem,2vw,.85rem);list-style:none;display:flex;overflow-y:auto}.emp-leave-history .emp-leave-filters{flex-shrink:0}.emp-leave-filters{border-bottom:1px solid var(--glass-border);background:var(--bg-elevated);flex-wrap:wrap;gap:clamp(.3rem,1vw,.4rem);padding:clamp(.65rem,2vw,.85rem) clamp(.75rem,2.5vw,1.15rem);display:flex}.emp-leave-item{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--bg-elevated);min-width:0;transition:background var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.2rem clamp(.5rem,2vw,.85rem);padding:clamp(.65rem,2vw,.85rem) clamp(.7rem,2.2vw,1rem);display:grid;position:relative;overflow:hidden}.emp-leave-item:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:.55rem;bottom:.55rem;left:0}.emp-leave-item-pending:before{background:var(--warn)}.emp-leave-item-approved:before{background:var(--ok)}.emp-leave-item-rejected:before{background:var(--danger)}.emp-leave-item-completed:before{background:var(--info)}.emp-leave-item:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translate(2px)}.emp-leave-item-main{flex-direction:column;grid-area:1/1/span 2;gap:.22rem;min-width:0;padding-left:.45rem;padding-right:.25rem;display:flex}.emp-leave-item-main strong{color:var(--ink);letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word;font-size:clamp(.8rem,2.6vw,.9rem);font-weight:650}.emp-leave-item-reason{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.7rem,2.2vw,.78rem);overflow:hidden}.emp-leave-item .leave-status{flex-shrink:0;grid-area:1/2;place-self:start end;max-width:100%;padding:.18rem .55rem;font-size:clamp(.65rem,2vw,.72rem)}.emp-leave-empty{text-align:center;color:var(--ink-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2.5rem 1.25rem;display:flex}.emp-leave-empty strong{color:var(--ink-secondary);margin-top:.75rem;font-size:.95rem;display:block}.emp-leave-empty p{max-width:16rem;margin:.35rem 0 0;font-size:.8rem}.emp-leave-empty-icon{background:var(--accent-glow);width:3.5rem;height:3.5rem;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@media (width<=720px){.emp-leave-hero{gap:.55rem;margin-bottom:1rem}.emp-leave-hero-cta .emp-leave-apply-trigger{justify-content:center;width:100%;min-height:2.65rem}.emp-leave-back-btn{padding:.4rem .7rem;font-size:.78rem}.emp-leave-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.emp-leave-stat{row-gap:.4rem;min-height:4.35rem;padding:.65rem .55rem .7rem .7rem}.emp-leave-stat-icon{width:1.7rem;height:1.7rem}.emp-leave-stat-icon svg{width:.9rem;height:.9rem}.emp-leave-stat-label{letter-spacing:.03em;font-size:.6rem}.emp-leave-stat-value{font-size:1.2rem}.emp-leave-card{border-radius:var(--radius-lg)}.emp-leave-card-head{gap:.65rem;padding:.9rem .9rem .8rem}.emp-leave-card-icon{width:2.05rem;height:2.05rem}.emp-leave-card-icon svg{width:1.05rem;height:1.05rem}.emp-leave-card-head h2{font-size:clamp(.95rem,3.5vw,1.02rem)}.emp-leave-card-head p{font-size:clamp(.7rem,2.4vw,.74rem)}.emp-leave-filters{gap:.3rem;padding:.6rem .75rem}.emp-leave-filters .leaves-status-filter{text-align:center;flex:1 1 0;min-width:0;padding:.38rem .4rem;font-size:clamp(.68rem,2.4vw,.74rem)}.employee-leave-list{gap:.35rem;padding:.45rem .55rem .7rem}.emp-leave-item{column-gap:.55rem;padding:.7rem .7rem .7rem .85rem}.emp-leave-item-main{padding-left:.25rem}.emp-leave-item-main strong{font-size:clamp(.78rem,3.2vw,.86rem);line-height:1.3}.emp-leave-item-reason{white-space:normal;text-overflow:unset;word-break:break-word;font-size:clamp(.68rem,2.6vw,.76rem);line-height:1.35;overflow:visible}.emp-leave-item .leave-status{padding:.16rem .5rem;font-size:clamp(.62rem,2.2vw,.7rem)}.emp-leave-empty{padding:1.5rem .9rem}.emp-leave-empty strong{font-size:.9rem}.emp-leave-empty p{font-size:.76rem}.emp-leave-apply-modal .emp-leave-dates{grid-template-columns:1fr}.emp-leave-apply-modal .gm-modal-actions{flex-direction:column-reverse}.emp-leave-apply-modal .gm-modal-actions .btn{width:100%}}.emp-profile-page{color:var(--emp-ink,var(--ink))}.emp-profile-header-main{flex:1;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.emp-profile-mobile-only{display:none}.emp-info-card-head-copy{flex:1;min-width:0}.emp-profile-hero{border:1px solid var(--emp-line,#1a1a3712);border-radius:var(--emp-radius,20px);box-shadow:var(--emp-shadow,0 8px 28px #1a1a370f);background:radial-gradient(at 18% 40%,#93c5fd47,#0000 52%),radial-gradient(at 72% 55%,#a78bfa38,#0000 55%),linear-gradient(118deg,#eef4ff 0%,#f3efff 48%,#e8f0fe 100%);align-items:center;gap:1.35rem;margin-bottom:1.25rem;padding:1.6rem 1.75rem;display:flex;position:relative;overflow:hidden}.emp-profile-avatar-wrap{z-index:1;flex-shrink:0;position:relative}.emp-profile-online{background:var(--emp-ok,#10b981);border:2.5px solid var(--emp-card,#fff);border-radius:50%;width:14px;height:14px;position:absolute;bottom:4px;right:4px;box-shadow:0 0 0 1px #10b98140}.emp-profile-hero-top{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.emp-avatar{background:var(--emp-gold,linear-gradient(135deg, #ffb75e, #ed8f03));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.emp-avatar-lg{width:84px;height:84px;font-size:1.55rem;box-shadow:0 8px 22px #ed8f0347}.emp-avatar-sm{width:28px;height:28px;font-size:.65rem}.emp-avatar-gold{background:var(--emp-gold,linear-gradient(135deg, #ffb75e, #ed8f03))}.emp-profile-hero-copy{z-index:1;flex:1;min-width:0}.emp-profile-hero-copy h2{font-size:clamp(1.2rem,2vw,1.55rem);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--emp-ink,#1a1a37);margin:0;font-weight:800}.emp-profile-status{color:var(--emp-muted,#70708c);background:#f1f5f9;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:.72rem;font-weight:600;display:inline-flex}.emp-profile-status.is-active{background:var(--emp-ok-soft,#d1fae5);color:#047857}.emp-profile-status.is-inactive{color:#b91c1c;background:#fee2e2}.emp-profile-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.emp-profile-meta{color:var(--emp-muted,#70708c);align-items:center;gap:.45rem;margin:.55rem 0 0;font-size:.86rem;display:flex}.emp-profile-meta-icon{color:var(--emp-faint,#a0a3b8);flex-shrink:0;display:flex}.emp-profile-grid{grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:1.15rem;display:grid}.emp-info-card{background:var(--emp-card,#fff);border:1px solid var(--emp-line,#1a1a3712);border-radius:var(--emp-radius,20px);box-shadow:var(--emp-shadow,0 8px 28px #1a1a370f);padding:1.35rem 1.4rem}.emp-skills-card{margin-bottom:.5rem}.emp-info-card-head{align-items:flex-start;gap:.85rem;margin-bottom:1.15rem;display:flex}.emp-info-card-head h3{color:var(--emp-ink,#1a1a37);margin:0;font-size:1.05rem;font-weight:700}.emp-info-card-head p{color:var(--emp-muted,#70708c);margin:.2rem 0 0;font-size:.78rem}.emp-info-card-icon{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.emp-info-card-icon.is-lavender{background:var(--emp-accent-soft,#e0e7ff);color:var(--emp-accent,#6366f1)}.emp-info-card-icon.is-sky{background:var(--emp-accent-sky,#dbeafe);color:var(--emp-accent-sky-ink,#3b82f6)}.emp-info-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.emp-info-row{transition:background var(--duration-fast);border-radius:12px;align-items:center;gap:.75rem;padding:.7rem .35rem;display:flex}.emp-info-row.is-nav:hover{background:#6366f10a}.emp-info-row-icon{background:var(--emp-bg,#f4f6fb);width:34px;height:34px;color:var(--emp-muted,#70708c);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.emp-info-row-body{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.emp-info-label{color:var(--emp-faint,#a0a3b8);font-size:.72rem;font-weight:500}.emp-info-row-body strong{color:var(--emp-ink,#1a1a37);letter-spacing:.01em;word-break:break-word;font-size:.9rem;font-weight:650}.emp-info-row-body strong.is-muted{color:var(--emp-faint,#a0a3b8);font-weight:500}.emp-info-copy,.emp-info-chevron{color:var(--emp-faint,#a0a3b8);flex-shrink:0}.emp-info-copy{cursor:pointer;width:32px;height:32px;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.emp-info-copy:hover{background:var(--emp-bg,#f4f6fb);color:var(--emp-accent,#6366f1)}.emp-skills-count{color:var(--emp-muted,#70708c);margin-left:auto;padding-top:.2rem;font-size:.78rem;font-weight:600}.emp-profile-skills{flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.emp-profile-skills li{background:var(--emp-accent-soft,#e0e7ff);color:#4338ca;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.emp-skill-dot{background:#6366f1;border-radius:50%;width:6px;height:6px}.emp-profile-empty{color:var(--emp-muted,#70708c);margin:0;padding:.35rem 0 .25rem;font-size:.88rem}.emp-profile-skeleton{animation:1.5s ease-in-out infinite pulse}.emp-profile-skeleton-hero{border-radius:var(--emp-radius,20px);background:#e8ebf5;height:120px;margin-bottom:1.25rem}.emp-profile-skeleton-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.emp-profile-skeleton-card{border-radius:var(--emp-radius,20px);background:#e8ebf5;height:200px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.emp-shell .dash-stat-card,.emp-shell .dash-analytics-card,.emp-shell .dash-quick-card,.emp-shell .panel-link.dash-quick-card{background:var(--emp-card);border:1px solid var(--emp-line);box-shadow:var(--emp-shadow-sm);color:var(--emp-ink)}.emp-shell .dash-stat-card:hover,.emp-shell .dash-analytics-card:hover,.emp-shell .dash-quick-card:hover{box-shadow:var(--emp-shadow);border-color:#6366f133}.emp-shell .page-header h1,.emp-shell .dash-page .page-header h1,.emp-shell .dash-section-title,.emp-shell .dash-analytics-head h2,.emp-shell .dash-stat-value{color:var(--emp-ink)}.emp-shell .muted,.emp-shell .dash-stat-label,.emp-shell .dash-stat-sub,.emp-shell .dash-analytics-link{color:var(--emp-muted)}.emp-shell .emp-leave-card,.emp-shell .emp-cal-aside-card,.emp-shell .emp-cal-main,.emp-shell .emp-cal-mini{background:var(--emp-card);border-color:var(--emp-line);box-shadow:var(--emp-shadow-sm)}.emp-shell .emp-leave-card{background:var(--emp-card);border:1px solid var(--emp-line);box-shadow:var(--emp-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.emp-shell .emp-leave-hero h1,.emp-shell .emp-leave-card-head h2{color:var(--emp-ink)}.emp-shell .emp-checkin-card{background:var(--emp-card);border-color:var(--emp-line)}.owner-page .page-header h1{font-size:1.75rem}@media (width<=768px){.app-shell{grid-template-columns:1fr}.mobile-topbar{height:var(--topbar-h);padding:0 1rem;padding-top:var(--safe-top);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--sidebar-border);z-index:200;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-topbar-brand{left:50%;top:calc(var(--safe-top) + (var(--topbar-h) - var(--safe-top)) / 2);color:#fff;pointer-events:none;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.mobile-topbar-brand strong{font-family:var(--font-display);font-size:.9rem}.mobile-topbar-brand .brand-mark{width:112px;height:36px;box-shadow:none;background:#7063e1;padding:0}.mobile-topbar-role{color:var(--ink-muted);background:var(--glass-bg);border-radius:var(--radius-full);border:1px solid var(--glass-border);margin-left:auto;padding:.2rem .5rem;font-size:.72rem}.nav-toggle{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;width:40px;height:40px;transition:background var(--duration-fast), transform var(--duration-fast);-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;padding:8px;display:flex}.nav-toggle:hover{background:var(--glass-bg-hover)}.nav-toggle:active{transform:scale(.96)}.nav-toggle-bars{width:100%;height:2px;transition:all var(--duration-normal);background:#fff;border-radius:1px;display:block;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";width:100%;height:2px;transition:all var(--duration-normal);background:#fff;border-radius:1px;position:absolute;left:0}.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{bottom:-6px}.nav-drawer-open .nav-toggle-bars{background:0 0}.nav-drawer-open .nav-toggle-bars:before{top:0;transform:rotate(45deg)}.nav-drawer-open .nav-toggle-bars:after{bottom:0;transform:rotate(-45deg)}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:299;background:#00000080;display:block;position:fixed;inset:0}.sidebar-backdrop[hidden]{display:none}.sidebar{width:var(--sidebar-w);z-index:300;transition:transform var(--duration-normal) var(--ease-smooth);padding-top:calc(1.5rem + var(--safe-top));position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-drawer-open .sidebar{transform:translate(0)}.sidebar .sidebar-collapse-toggle{display:none}.main{padding:1.25rem}.emp-shell{grid-template-columns:1fr}.emp-topbar{height:var(--topbar-h);padding:0 1rem;padding-top:var(--safe-top);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--emp-line,#1a1a3714);z-index:200;background:#ffffffeb;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.emp-topbar-brand{left:50%;top:calc(var(--safe-top) + (var(--topbar-h) - var(--safe-top)) / 2);min-width:0;color:var(--emp-ink,#1a1a37);pointer-events:none;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.emp-topbar-brand strong{font-family:var(--font-display);font-size:.9rem}.emp-topbar-brand .brand-mark{width:112px;height:36px;box-shadow:none;background:#7063e1;padding:0}a.emp-topbar-initials{transition:transform var(--duration-fast);-webkit-tap-highlight-color:transparent;margin-left:auto;text-decoration:none}a.emp-topbar-initials:active{transform:scale(.94)}.emp-nav-toggle{border:1px solid var(--emp-line,#1a1a3714);cursor:pointer;width:40px;height:40px;transition:background var(--duration-fast), transform var(--duration-fast);-webkit-tap-highlight-color:transparent;background:#1a1a370a;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:8px;display:flex}.emp-nav-toggle:hover{background:#1a1a3712}.emp-nav-toggle:active{transform:scale(.96)}.emp-nav-toggle .nav-toggle-bars,.emp-nav-toggle .nav-toggle-bars:before,.emp-nav-toggle .nav-toggle-bars:after{background:var(--emp-ink,#1a1a37)}.emp-nav-open .emp-nav-toggle .nav-toggle-bars{background:0 0}.emp-nav-open .emp-nav-toggle .nav-toggle-bars:before{top:0;transform:rotate(45deg)}.emp-nav-open .emp-nav-toggle .nav-toggle-bars:after{bottom:0;transform:rotate(-45deg)}.emp-sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:299;background:#00000059;display:block;position:fixed;inset:0}.emp-sidebar-backdrop[hidden]{display:none}.emp-sidebar{width:var(--sidebar-w);z-index:300;transition:transform var(--duration-normal) var(--ease-smooth);padding-top:calc(1.35rem + var(--safe-top));height:100dvh;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.emp-nav-open .emp-sidebar{transform:translate(0)}.emp-sidebar .sidebar-collapse-toggle{display:none}.emp-main{padding:1.1rem 1.1rem 1.5rem}.emp-profile-signout{color:#e11d48;width:100%;font-family:var(--font-body);cursor:pointer;transition:background var(--duration-fast), transform var(--duration-fast);-webkit-tap-highlight-color:transparent;background:#e11d480d;border:1px solid #e11d482e;border-radius:16px;justify-content:center;align-items:center;gap:.55rem;margin-top:.35rem;margin-bottom:.25rem;padding:.9rem 1rem;font-size:.9rem;font-weight:600;display:flex}.emp-profile-signout:active{background:#e11d481a;transform:scale(.98)}.login-page{--login-pad-y:1rem;--login-pad-x:1.1rem;--login-shell-gap:1rem;--login-brand:.95rem;--login-title:1.35rem;--login-sub:.8rem;--login-form-pad:.85rem 1.1rem 1.1rem;--login-form-gap:.85rem;--login-form-title:1.28rem;--login-input-pad:.72rem;--login-logo:38px;--login-art:96px;padding:var(--login-pad-y) var(--login-pad-x) calc(1.35rem + var(--safe-bottom));align-items:flex-start;overflow:hidden auto}.login-bg{filter:none;background:radial-gradient(ellipse 80% 50% at 8% -5%, #a78bfa47, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 8%, #60a5fa38, transparent 50%), radial-gradient(ellipse 55% 35% at 90% 100%, #818cf824, transparent 55%), var(--login-bg-mobile);transform:none}.login-shell{gap:var(--login-shell-gap);grid-template-columns:1fr;grid-template-areas:"top""intro""form""features""tagline";width:100%;max-width:min(420px,100%);min-height:auto;padding-bottom:.35rem}.login-hero{display:contents}.login-hero-intro{grid-area:intro;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.2rem 0 .1rem;display:flex}.login-hero-copy{flex:1;min-width:0;max-width:none}.login-hero-copy h1{color:var(--login-heading);line-height:1.22;font-size:var(--login-title);margin-bottom:.45rem}.login-hero-copy h1 span{color:var(--login-heading)}.login-hero-copy p{max-width:min(15.5rem,56vw);line-height:1.45;font-size:var(--login-sub);color:var(--login-muted)}.login-hero-art{width:var(--login-art);flex-shrink:0;margin-top:-.15rem;display:block}.login-hero-art-img{object-fit:contain;width:100%;height:auto;display:block}.login-hero-features{grid-area:features;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.15rem 0 0;padding:.15rem 0 0;display:grid}.login-hero-features li{text-align:center;flex-direction:column;align-items:center;gap:.4rem;min-width:0}.login-feature-icon{color:#6366f1;background:#eef2ff;border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;line-height:0;display:inline-flex;overflow:hidden}.login-feature-icon svg{flex-shrink:0;width:18px;height:18px;display:block;overflow:visible}.login-feature-text{align-items:center;gap:0;width:100%;padding-top:0}.login-feature-text strong{color:#334155;white-space:normal;overflow-wrap:anywhere;font-size:.62rem;font-weight:600;line-height:1.25}.login-feature-text span{display:none}.login-hero-tagline{text-align:center;color:var(--login-tagline);grid-area:tagline;width:100%;margin:.1rem auto .2rem;font-size:1.15rem;display:block}.login-hero-tagline:after{background:var(--login-tagline-line);width:55%;margin-left:auto;margin-right:auto}.login-topbar{gap:.65rem;padding-right:0}.login-hero-brand{gap:0;min-width:0}.login-hero-brand>div{display:none}.login-hero-logo{width:auto;max-width:min(200px,58vw);height:clamp(40px,11vw,52px);box-shadow:none;background:0 0;border-radius:0;padding:0;overflow:visible}.login-hero-logo-img{object-fit:contain;object-position:left center;opacity:1;width:auto;max-width:100%;height:100%}.login-form-icon{width:48px;height:48px;box-shadow:none;background:#7063e1;border-radius:0;margin-bottom:.35rem;padding:0;-webkit-mask-image:url(/favicon.png);mask-image:url(/favicon.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.login-form-icon-img{opacity:0;object-fit:contain;width:100%;height:100%}.login-form-pane{border-radius:24px;box-shadow:0 18px 44px #4f46e51a,0 2px 8px #0f172a0a}.login-form-header{margin-bottom:.2rem}.login-form-header h2{color:#1e293b;margin:0 0 .25rem}.login-form-header p{color:#94a3b8;max-width:17rem;margin-left:auto;margin-right:auto;line-height:1.45}.login-field{gap:.45rem}.login-field-label{color:#475569;font-size:.78rem}.login-submit{box-shadow:0 10px 24px #6366f14d;background:linear-gradient(90deg,#6366f1,#8b5cf6)!important}.login-or,.login-secure,.login-theme-toggle{display:none}.gm-table-wrap:not(.emp-table-panel){overflow-x:auto}.dept-table-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;overflow:visible}.dept-table{font-size:.82rem}.dept-table thead{display:none}.dept-table,.dept-table tbody{width:100%;display:block}.dept-table tbody tr{box-sizing:border-box;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:.75rem;padding:.85rem 1rem;display:block}.dept-table tbody tr:hover{background:var(--glass-bg)}.dept-table tbody tr:last-child{margin-bottom:0}.dept-table td{box-sizing:border-box;border-bottom:1px solid var(--glass-border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;grid-template-columns:minmax(4.5rem,34%) minmax(0,1fr);align-items:start;gap:.65rem .75rem;width:100%;padding:.4rem 0;display:grid}.dept-table td:last-child{border-bottom:none;padding-bottom:0}.dept-table td:first-child{padding-top:0}.dept-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding-top:.15rem;font-size:.68rem;font-weight:600}.dept-table .dept-status{justify-self:start}.dept-table td.dept-actions{justify-content:flex-end;gap:.5rem;padding-top:.65rem;display:flex}.dept-table td.dept-actions:before{display:none}.dept-table .dept-empty-cell{text-align:center;border-bottom:none;padding:1rem .25rem;display:block}.dept-table .dept-empty-cell:before{display:none}.main:has(.leaves-page){padding-top:.75rem}.leaves-header{margin-bottom:.55rem}.leaves-header h1{font-size:1.45rem}.leaves-form{flex-direction:column;align-items:stretch;padding:1rem}.leaves-form input:not([type=search]),.leaves-emp-picker,.leaves-form .btn{flex:none;width:100%;min-width:0}.leaves-emp-menu{max-height:min(50dvh,18rem)}.leaves-emp-list{max-height:min(40dvh,14rem)}.leaves-page .gm-table-wrap{z-index:0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;position:relative;overflow:visible}.leaves-table{font-size:.82rem}.leaves-table thead{display:none}.leaves-table,.leaves-table tbody{width:100%;display:block}.leaves-table tbody tr{z-index:0;box-sizing:border-box;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:.75rem;padding:.85rem 1rem;display:block;position:relative}.leaves-table tbody tr:hover{background:var(--glass-bg)}.leaves-table tbody tr:last-child{margin-bottom:0}.leaves-table td{box-sizing:border-box;border-bottom:1px solid var(--glass-border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;grid-template-columns:minmax(4.5rem,34%) minmax(0,1fr);align-items:start;gap:.65rem .75rem;width:100%;padding:.4rem 0;display:grid}.leaves-table td:last-child{border-bottom:none;padding-bottom:0}.leaves-table td:first-child{padding-top:0}.leaves-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding-top:.15rem;font-size:.68rem;font-weight:600}.leaves-table td.gm-name,.leaves-table td.gm-email,.leaves-table .leaves-reason{max-width:none;font-size:inherit}.leaves-table .leave-status{justify-self:start}.leaves-table td.gm-actions{justify-content:stretch;padding-top:.65rem;display:flex}.leaves-table td.gm-actions:empty,.leaves-table td.gm-actions:before{display:none}.leaves-row-actions{gap:.5rem;width:100%}.leaves-row-actions .btn{flex:1;min-width:0}.leaves-table .gm-empty-cell{text-align:center;border-bottom:none;justify-content:center;padding:1rem .25rem}.leaves-table .gm-empty-cell:before{display:none}.shift-types-page .gm-table-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;overflow:visible}.shift-types-table{font-size:.82rem}.shift-types-table thead{display:none}.shift-types-table,.shift-types-table tbody{width:100%;display:block}.shift-types-table tbody tr{box-sizing:border-box;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:.75rem;padding:.85rem 1rem;display:block}.shift-types-table tbody tr:hover{background:var(--glass-bg)}.shift-types-table tbody tr:last-child{margin-bottom:0}.shift-types-table td{box-sizing:border-box;border-bottom:1px solid var(--glass-border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;grid-template-columns:minmax(4.5rem,34%) minmax(0,1fr);align-items:start;gap:.65rem .75rem;width:100%;padding:.4rem 0;display:grid}.shift-types-table td:last-child{border-bottom:none;padding-bottom:0}.shift-types-table td:first-child{padding-top:0}.shift-types-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding-top:.15rem;font-size:.68rem;font-weight:600}.shift-types-table .shift-hours{white-space:normal}.shift-types-table .shift-color-swatch{justify-self:start}.shift-types-table .gm-empty-cell{text-align:center;border-bottom:none;padding:1rem .25rem;display:block}.shift-types-table .gm-empty-cell:before{display:none}.skills-page .gm-table-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;overflow:visible}.skills-table{font-size:.82rem}.skills-table thead{display:none}.skills-table,.skills-table tbody{width:100%;display:block}.skills-table tbody tr{box-sizing:border-box;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:.75rem;padding:.85rem 1rem;display:block}.skills-table tbody tr:hover{background:var(--glass-bg)}.skills-table tbody tr:last-child{margin-bottom:0}.skills-table td{box-sizing:border-box;border-bottom:1px solid var(--glass-border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;grid-template-columns:minmax(4.5rem,34%) minmax(0,1fr);align-items:start;gap:.65rem .75rem;width:100%;padding:.4rem 0;display:grid}.skills-table td:last-child{border-bottom:none;padding-bottom:0}.skills-table td:first-child{padding-top:0}.skills-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding-top:.15rem;font-size:.68rem;font-weight:600}.skills-table td.gm-actions{justify-content:flex-end;gap:.5rem;padding-top:.65rem;display:flex}.skills-table td.gm-actions:before{display:none}.skills-table .gm-empty-cell{text-align:center;border-bottom:none;padding:1rem .25rem;display:block}.skills-table .gm-empty-cell:before{display:none}.emp-leave-grid,.emp-leave-dates{grid-template-columns:1fr}.emp-leave-actions .btn.primary{width:100%}.emp-profile-grid,.emp-profile-skeleton-grid{grid-template-columns:1fr}.emp-page-hero{flex-direction:column}.emp-page-slogan{font-size:1.15rem}.emp-profile-page .emp-profile-mobile-only{display:grid}.emp-profile-page .emp-profile-desktop-slogan{display:none}.emp-profile-page .emp-profile-header{flex-direction:row;align-items:flex-start;gap:0;margin-bottom:1.1rem}.emp-profile-page .emp-profile-header-main{align-items:flex-start;gap:.85rem}.emp-profile-page .emp-profile-back{color:#6366f1;width:40px;height:40px;transition:background var(--duration-fast), color var(--duration-fast);background:#ede9fe;border-radius:50%;flex-shrink:0;place-items:center;margin-top:.1rem;text-decoration:none}.emp-profile-page .emp-profile-back:active{background:#ddd6fe}.emp-profile-page .emp-page-hero-copy h1{letter-spacing:-.025em;padding-left:0;font-size:1.35rem}.emp-profile-page .emp-page-hero-copy h1:before{display:none}.emp-profile-page .emp-page-hero-copy p{margin:.3rem 0 0;font-size:.82rem;line-height:1.4}.emp-profile-page .emp-profile-hero{border-radius:18px;flex-wrap:nowrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.15rem 1.1rem}.emp-profile-page .emp-avatar-lg{width:72px;height:72px;font-size:1.3rem}.emp-profile-page .emp-profile-online{width:13px;height:13px;bottom:3px;right:3px}.emp-profile-page .emp-profile-hero-top{flex-direction:row;align-items:flex-start;gap:0}.emp-profile-page .emp-profile-hero-copy h2{letter-spacing:.03em;padding-right:4.5rem;font-size:1.05rem}.emp-profile-page .emp-profile-status{z-index:2;padding:.22rem .6rem;font-size:.68rem;position:absolute;top:.85rem;right:.85rem}.emp-profile-page .emp-profile-meta{margin-top:.45rem;font-size:.78rem;line-height:1.35}.emp-profile-page .emp-profile-grid{gap:.9rem;margin-bottom:.9rem}.emp-profile-page .emp-info-card{border-radius:18px;padding:1.15rem 1.1rem}.emp-profile-page .emp-info-card-head{gap:.75rem;margin-bottom:.95rem}.emp-profile-page .emp-info-card-head h3{font-size:1rem}.emp-profile-page .emp-info-card-head p{font-size:.74rem}.emp-profile-page .emp-info-card-icon{border-radius:11px;width:38px;height:38px}.emp-profile-page .emp-info-row{gap:.65rem;padding:.65rem .2rem}.emp-profile-page .emp-info-row-icon{border-radius:9px;width:32px;height:32px}.emp-profile-page .emp-info-label{font-size:.68rem}.emp-profile-page .emp-info-row-body strong{font-size:.86rem}.emp-profile-page .emp-profile-email{text-transform:uppercase;letter-spacing:.02em}.emp-profile-page .emp-skills-count{color:#6366f1;background:#ede9fe;border-radius:999px;flex-shrink:0;align-self:flex-start;margin-left:auto;padding:.28rem .7rem;font-size:.7rem;font-weight:650}.emp-profile-page .emp-profile-skills li{color:#1e40af;background:#dbeafe;padding:.4rem .8rem;font-size:.78rem}.emp-profile-page .emp-skill-dot{background:#1d4ed8}.emp-profile-page .emp-profile-skeleton-hero{border-radius:18px;height:108px}.emp-profile-page .emp-profile-skeleton-card{border-radius:18px;height:170px}.emp-chrome{padding:.85rem 1.15rem .15rem}.emp-search{max-width:none}.emp-search-kbd{display:none}:is(.emp-main,.emp-main:has(.emp-cal-page),.emp-main:has(.emp-leave-page),.emp-main:has(.emp-profile-page),.emp-main:has(.emp-dashboard)){padding:1rem 1.15rem 1.5rem}.emp-modal-grid{grid-template-columns:1fr}.gm-modal-backdrop:has(.emp-modal){-webkit-overflow-scrolling:touch;align-items:center;padding:.75rem;overflow-y:auto}.emp-modal{width:100%;max-width:100%;max-height:calc(100dvh - 1.5rem);margin-block:auto}.emp-modal .gm-modal-header{gap:.75rem;padding:1.15rem 1.15rem 0}.emp-modal .gm-modal-header h2{font-size:1.1rem}.emp-modal .gm-modal-sub{font-size:.78rem}.emp-modal .gm-modal-form{gap:.85rem;padding:1rem 1.15rem 1.15rem}.emp-password-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.emp-modal .gm-modal-actions{flex-wrap:wrap}.emp-modal .gm-modal-actions .btn{flex:auto;min-width:0}.emp-modal .skill-chips{flex-wrap:wrap}.emp-modal .skill-chip{white-space:normal}.costing-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.costing-stat{padding:1.25rem}.demand-form{flex-direction:column;align-items:stretch;gap:.9rem;padding:1rem 1.1rem}.demand-field,.demand-file-field{flex:auto;width:100%}.demand-submit{align-self:stretch;width:100%}.demand-stats{grid-template-columns:1fr}.demand-stat strong{font-size:1.15rem}.emp-day-board-scroll{grid-template-columns:repeat(7,120px)}.emp-mini-week{grid-template-columns:repeat(7,minmax(72px,1fr));width:max-content;min-width:100%}.schedule-mobile-only{display:block}span.schedule-mobile-only{display:inline}.schedule-mobile-toolbar,.schedule-day-strip,.schedule-mobile-cards{display:flex}.schedule-search-icon.schedule-mobile-only{display:inline-flex}.schedule-desktop-only{display:none!important}.main:has(.schedule-page){box-sizing:border-box;width:100%;max-width:100%;padding:clamp(.7rem,3.2vw,1.15rem)}.schedule-page .schedule-page-header{flex-direction:column;place-content:flex-start;align-items:stretch;gap:.15rem;width:100%;height:auto;min-height:0;margin-bottom:clamp(.45rem,2vw,.7rem)}.schedule-page .schedule-page-header-title{flex:none;width:100%;min-width:0;min-height:0}.schedule-page .schedule-page-header-title h1{font-size:clamp(1.2rem,5.2vw,1.45rem);line-height:1.2}.schedule-page .schedule-page-header-title p{max-width:100%;margin-top:.15rem;font-size:clamp(.68rem,2.8vw,.75rem);line-height:1.35}.schedule-mobile-toolbar{flex-wrap:nowrap;align-items:stretch;gap:.5rem;width:100%;margin-bottom:clamp(.45rem,2vw,.7rem);display:flex}.schedule-week-picker{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:0;min-height:2.45rem;color:var(--ink);cursor:pointer;flex:auto;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:clamp(.72rem,2.8vw,.82rem);font-weight:600;display:inline-flex;position:relative}.schedule-week-picker-icon{color:var(--ink-muted);flex-shrink:0;display:inline-flex}.schedule-week-picker-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-week-picker .date-picker.is-overlay{width:auto;height:auto;position:absolute;inset:0}.schedule-mobile-post{white-space:nowrap;flex:none;gap:.3rem;min-height:2.45rem;padding:.5rem .75rem;font-size:clamp(.72rem,2.6vw,.78rem)}.schedule-mobile-post-full{display:none}.schedule-mobile-post-short{display:inline}@media (width>=420px){.schedule-mobile-post-full{display:inline}.schedule-mobile-post-short{display:none}}.schedule-page .version-bar{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.5rem;width:100%;margin-bottom:clamp(.45rem,2vw,.7rem);padding:.65rem .75rem;overflow:visible}.schedule-page .version-bar-field{flex:none;width:100%;max-width:none}.schedule-page .version-bar .btn{width:100%}.schedule-page .version-bar .ui-dropdown-menu{max-height:min(12rem,45dvh)}.schedule-page .schedule-filters.form-panel{box-sizing:border-box;width:100%;margin-bottom:clamp(.45rem,2vw,.7rem);padding:.6rem}.schedule-page .schedule-filters .form-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch;gap:.45rem;width:100%;display:grid}.schedule-page .schedule-filters .schedule-search-wrap,.schedule-page .schedule-filters .ui-dropdown{flex:none;width:100%;min-width:0;max-width:none}.schedule-page .schedule-filters .schedule-search-wrap input{box-sizing:border-box;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;max-width:100%;min-height:2.4rem;color:var(--ink);font-family:var(--font-body);outline:none;padding:.5rem .65rem .5rem 2.05rem;font-size:clamp(.72rem,2.8vw,.82rem)}.schedule-search-icon{color:var(--ink-muted);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.schedule-day-strip{align-items:center;gap:.15rem;width:100%;min-width:0;margin-bottom:clamp(.55rem,2.2vw,.75rem);display:flex}.schedule-day-nav{width:clamp(1.75rem,8vw,2rem);height:clamp(1.75rem,8vw,2rem);color:var(--ink-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.schedule-day-nav:hover{background:var(--glass-bg);color:var(--ink)}.schedule-day-strip-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:auto;gap:.35rem;min-width:0;padding:.1rem 0;display:flex;overflow-x:auto}.schedule-day-strip-scroll::-webkit-scrollbar{display:none}.schedule-day-pill{border-radius:var(--radius-md);min-width:clamp(3.25rem,15vw,4.1rem);color:var(--ink-muted);cursor:pointer;font-family:var(--font-body);background:0 0;border:1px solid #0000;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.08rem;padding:.4rem .45rem;display:flex}.schedule-day-pill-week{letter-spacing:.04em;font-size:clamp(.58rem,2.4vw,.62rem);font-weight:700}.schedule-day-pill-date{color:var(--ink-secondary);font-size:clamp(.66rem,2.6vw,.72rem);font-weight:600}.schedule-day-pill.is-active{color:var(--accent);background:#6c5ce71f;border-color:#6c5ce738}.schedule-day-pill.is-active .schedule-day-pill-date{color:var(--accent)}.schedule-mobile-cards{flex-direction:column;gap:clamp(.55rem,2.2vw,.75rem);width:100%;min-width:0;margin-bottom:.75rem;display:flex}.schedule-mobile-empty{text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem .85rem}.schedule-emp-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);width:100%;min-width:0;max-width:100%;padding:clamp(.7rem,2.8vw,.85rem);overflow:hidden}.schedule-emp-card-head{align-items:center;gap:.6rem;min-width:0;margin-bottom:.65rem;display:flex}.schedule-emp-avatar{width:clamp(2rem,9vw,2.35rem);height:clamp(2rem,9vw,2.35rem);color:var(--accent);background:#6c5ce71f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(.75rem,3vw,.85rem);font-weight:700;display:inline-flex}.schedule-emp-card-meta{flex-direction:column;flex:auto;gap:.05rem;min-width:0;display:flex}.schedule-emp-card-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,3.2vw,.92rem);overflow:hidden}.schedule-emp-card-meta small{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.66rem,2.6vw,.72rem);overflow:hidden}.schedule-emp-card-chevron{color:var(--ink-faint);flex-shrink:0;display:inline-flex}.schedule-emp-card-days{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem;width:100%;min-width:0;padding-bottom:.1rem;display:flex;overflow-x:auto}.schedule-emp-card-days::-webkit-scrollbar{display:none}.schedule-day-chip{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:clamp(5.4rem,30vw,6.85rem);min-height:clamp(3.85rem,18vw,4.5rem);color:var(--ink-muted);text-align:left;cursor:pointer;font-family:var(--font-body);background:#0f11170b;flex-direction:column;flex:none;align-items:flex-start;gap:.12rem;padding:.5rem .55rem;display:flex}.schedule-day-chip-date{color:var(--ink-secondary);font-size:clamp(.62rem,2.5vw,.68rem);font-weight:600}.schedule-day-chip-empty{color:var(--ink-faint);margin-top:.3rem;font-size:.95rem}.schedule-day-chip-time{color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(.66rem,2.6vw,.72rem);font-weight:700}.schedule-day-chip-name,.schedule-day-chip-more{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(.62rem,2.4vw,.68rem);overflow:hidden}.schedule-day-chip.has-shift{background:#6c5ce71a;border-color:#6c5ce738}.schedule-day-chip.is-selected{outline-offset:1px;outline:1px solid #6c5ce773}.schedule-shift-modal{width:min(100%,520px);max-width:calc(100vw - 1.5rem)}.schedule-shift-modal .schedule-shift-actions.gm-modal-actions{flex-direction:unset;grid-template-columns:1fr 1fr;gap:.5rem;display:grid!important}.schedule-shift-modal .schedule-shift-actions.gm-modal-actions:has(.btn.danger){grid-template-columns:1fr 1fr 1fr}.schedule-shift-modal .schedule-shift-actions .btn{width:100%;min-width:0;margin:0!important}.schedule-pagination{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.55rem;width:100%;padding:.75rem .85rem}.schedule-pagination .pagination-actions{justify-content:space-between;gap:.4rem;width:100%}.schedule-pagination .pagination-actions .btn{flex:1 1 0;min-width:0;min-height:2.4rem;font-size:.78rem}.emp-pagination{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.65rem}.emp-pagination .pagination-actions{justify-content:center;width:100%}.emp-week-change-text-full{display:none}.emp-week-change-text-short{display:inline}}@media (width<=480px){.card-grid{grid-template-columns:1fr}.page-header{flex-direction:column;place-content:flex-start;align-items:stretch}.emp-leave-page .page-header.emp-leave-hero{flex-direction:column;align-items:stretch;gap:.45rem}.emp-leave-page .emp-leave-hero-top{align-items:center;width:100%}.emp-leave-page .emp-leave-hero-top .actions{width:auto;margin-left:auto}.emp-leave-page .emp-leave-hero-top .actions .btn{white-space:nowrap;flex:none}.emp-leave-page .emp-leave-hero-copy h1{font-size:1.4rem}.emp-leave-page .emp-leave-stat{min-height:4.1rem;padding:.55rem .5rem .6rem .6rem}.emp-leave-page .emp-leave-stat-value{font-size:1.1rem}.emp-leave-page .emp-leave-stat-label{font-size:.56rem}.gm-header{flex-direction:column;align-items:stretch}.costing-page .gm-header{margin-bottom:.65rem}.costing-page .gm-header .costing-week,.costing-page .gm-header .costing-week .date-picker{width:100%;max-width:none}.costing-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.costing-stat{padding:.85rem .75rem}.costing-standard-form{margin-bottom:.85rem;padding:.85rem 1rem}.costing-standard-controls input{flex:auto;max-width:none}.emp-action-row{flex-direction:column}.att-stats{grid-template-columns:1fr 1fr}.gm-modal-backdrop:has(.emp-modal){padding:.5rem}.emp-modal{border-radius:var(--radius-lg);max-height:calc(100dvh - 1rem)}.emp-modal .gm-modal-header{padding:1rem 1rem 0}.emp-modal .gm-modal-form{padding:.85rem 1rem 1rem}.emp-modal .gm-modal-actions{flex-direction:column-reverse}.emp-modal .gm-modal-actions .btn{width:100%}.schedule-page .main{padding:.7rem}.main:has(.schedule-page){padding:.7rem}.schedule-page .schedule-page-header-title h1{font-size:1.25rem}.schedule-mobile-toolbar{flex-wrap:nowrap;gap:.45rem}.schedule-week-picker{flex:auto;min-width:0}.schedule-mobile-post{flex:none}.schedule-page .schedule-filters .form-row{grid-template-columns:1fr}.schedule-day-chip{width:clamp(6.25rem,36vw,7.75rem)}.schedule-grid{--schedule-emp-col:minmax(6.25rem, 7rem);--schedule-day-col:minmax(4.85rem, 1fr);width:max(100%, calc(6.25rem + (var(--cols,8) - 1) * 4.85rem))}.schedule-day-head{letter-spacing:.03em;line-height:1.25}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}[data-theme=light] body{background:var(--bg)}[data-theme=light] .main-wrap{background:radial-gradient(ellipse 80% 50% at 50% -20%, #6c5ce70a, transparent), var(--bg)}.emp-shell .emp-main-wrap,[data-theme=light] .emp-shell .emp-main-wrap,[data-theme=dark] .emp-shell .emp-main-wrap{background:var(--emp-bg)}[data-theme=light] .sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(24px)}.emp-shell .emp-sidebar,[data-theme=light] .emp-shell .emp-sidebar,[data-theme=dark] .emp-shell .emp-sidebar{background:var(--emp-card);-webkit-backdrop-filter:none}[data-theme=light] .brand strong{color:var(--ink)}.emp-shell .emp-sidebar-brand strong,[data-theme=light] .emp-shell .emp-sidebar-brand strong,[data-theme=dark] .emp-shell .emp-sidebar-brand strong{color:var(--emp-ink)}[data-theme=light] .sidebar a.active{color:var(--sidebar-text-active)}.emp-shell .emp-sidebar-nav a.active,[data-theme=light] .emp-shell .emp-sidebar-nav a.active,[data-theme=dark] .emp-shell .emp-sidebar-nav a.active{color:var(--emp-accent)}[data-theme=light] .gm-table th,[data-theme=light] .dept-table th,[data-theme=light] .schedule-corner,[data-theme=light] .schedule-day-head,[data-theme=light] .att-weekdays{background:#f5f6fae6}[data-theme=light] .ui-dropdown-menu{background:#fff;box-shadow:0 8px 24px #0f11171a,0 2px 6px #0f11170f}[data-theme=light] .ui-dropdown-option.is-active{background:#5f4dd01f}[data-theme=light] .ui-dropdown-option-badge{background:#5f4dd01a}[data-theme=light] .schedule-day-chip{background:#f1f2f6}[data-theme=light] .schedule-day-chip.has-shift{background:#5f4dd01a;border-color:#5f4dd038}[data-theme=light] .schedule-day-pill.is-active{background:#5f4dd01f;border-color:#5f4dd038}[data-theme=light] .schedule-emp-avatar{color:var(--accent);background:#5f4dd01f}[data-theme=light] .gm-table tbody tr:hover,[data-theme=light] .dept-table tbody tr:hover{background:#00000005}[data-theme=light] .gm-table td,[data-theme=light] .dept-table td{border-bottom-color:#0000000a}[data-theme=light] .schedule-emp{background:#f0f1f5}[data-theme=light] .schedule-corner{background:#f5f6fafa}[data-theme=light] .schedule-cell{background:#fff}[data-theme=light] .schedule-emp:hover,[data-theme=light] .schedule-cell:hover{background:#6c5ce70f}[data-theme=light] .shift-chip-time,[data-theme=light] .shift-chip-notes{color:#ffffffe6}[data-theme=light] .login-page{background:var(--login-page-bg)}[data-theme=light] .gm-modal,[data-theme=light] .att-preview-modal{background:#fff;border-color:#0000001a}[data-theme=light] .gm-field input,[data-theme=light] .gm-field select{background:#fff;border-color:#0000001f}[data-theme=light] .gm-field input:focus,[data-theme=light] .gm-field select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #6c5ce726}[data-theme=light] .mobile-topbar,[data-theme=light] .emp-topbar{background:#ffffffeb;border-bottom-color:#00000014}[data-theme=light] .mobile-topbar-brand,[data-theme=light] .emp-topbar-brand{color:var(--ink)}[data-theme=light] .nav-toggle-bars,[data-theme=light] .nav-toggle-bars:before,[data-theme=light] .nav-toggle-bars:after{background:var(--ink)}[data-theme=light] .gm-avatar{box-shadow:0 0 12px #6c5ce733}[data-theme=light] .costing-stat strong{color:var(--ink)}[data-theme=light] .emp-avatar{box-shadow:0 8px 22px #ed8f0338}.emp-shell .emp-avatar-gold{box-shadow:0 8px 22px #ed8f0347}[data-theme=light] .brand-mark{box-shadow:none;background:#7063e1}[data-theme=light] .sidebar-backdrop,[data-theme=light] .emp-sidebar-backdrop{background:#0003}[data-theme=light] .modal-backdrop{background:#0000004d}[data-theme=light] .app-toast,[data-theme=light] .attendance-toast{background:#fffffff2;border-color:#00000014}.page-loader{color:var(--ink-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;display:flex}.page-loader--page{width:100%;min-height:min(60vh,28rem);padding:2.5rem 1.25rem}.page-loader--inline{min-height:6rem;padding:1.25rem}.page-loader--overlay{z-index:5;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);min-height:0;padding:1rem;position:absolute;inset:0}.page-loader-spinner{border:2.5px solid color-mix(in srgb, var(--accent) 22%, transparent);border-top-color:var(--accent);border-radius:50%;width:2.25rem;height:2.25rem;animation:.7s linear infinite page-loader-spin}.page-loader--inline .page-loader-spinner{border-width:2px;width:1.5rem;height:1.5rem}.page-loader-label{letter-spacing:.01em;color:var(--ink-secondary);font-size:.875rem;font-weight:500}@keyframes page-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
