.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:var(--space-4);padding-top:max(var(--space-4),var(--safe-top))}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:clamp(20px,5vw,var(--space-8));width:100%;max-width:420px;box-shadow:var(--shadow-md)}.auth-brand{text-align:center;margin-bottom:var(--space-6)}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--space-5)}.auth-logo img{width:240px;height:auto;max-height:70px;object-fit:contain}@media (max-width: 480px){.auth-logo img{width:190px}}.auth-title{font-size:clamp(22px,5vw,26px);font-weight:700;color:var(--ink);margin:0}.auth-subtitle{font-size:12px;color:var(--slate);text-transform:uppercase;letter-spacing:1px;margin-top:var(--space-1)}.auth-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);background:var(--paper);border-radius:var(--radius-md);padding:var(--space-1)}.auth-tab{flex:1;padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--slate);transition:all var(--transition-fast)}.auth-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--space-1)}.auth-field label{font-size:11.5px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}.auth-error{background:var(--rose-50);color:var(--rose-500);border:1px solid var(--rose-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:12.5px}.auth-submit{width:100%;padding:var(--space-3) var(--space-4);background:var(--teal);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:background var(--transition-fast);min-height:44px}.auth-submit:hover:not(:disabled){background:var(--teal-dark)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-note{text-align:center;font-size:12.5px;color:var(--slate);margin-top:var(--space-5)}.auth-link{background:none;border:none;color:var(--teal);font-weight:600;font-size:12.5px;cursor:pointer;padding:0}.auth-link:hover{text-decoration:underline}.hrms-title-divider{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0 18px}.hrms-line{width:110px;height:1px;background:linear-gradient(90deg,transparent,rgba(23,59,114,.75))}.hrms-line:last-child{background:linear-gradient(90deg,rgba(23,59,114,.75),transparent)}.hrms-badge{min-width:110px;padding:7px 22px;border:1px solid rgba(23,59,114,.75);border-radius:999px;color:#173b72;background:#fff;font-size:22px;font-weight:600;line-height:1;letter-spacing:2px;text-align:center}@media (max-width: 480px){.auth-logo img{width:190px}.hrms-title-divider{gap:10px;margin:16px 0}.hrms-line{width:55px}.hrms-badge{min-width:90px;padding:6px 16px;font-size:18px}}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:6px var(--space-4);background:linear-gradient(90deg,#7c4f00,#a36000);color:#fff;font-size:12px;font-weight:500;position:sticky;top:0;z-index:200;flex-wrap:wrap;min-height:36px;box-shadow:0 1px 3px #00000040}.demo-banner-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.demo-banner-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;animation:demo-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes demo-pulse{0%,to{opacity:1}50%{opacity:.4}}.demo-banner-label{font-weight:700;letter-spacing:.5px;font-size:11px;text-transform:uppercase;color:#fbbf24}.demo-banner-persona{color:#ffffffe6;font-size:12px}.demo-banner-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.demo-banner-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius-sm);padding:4px 10px;font-size:11.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background var(--transition-fast);min-height:28px}.demo-banner-btn:hover:not(:disabled){background:#ffffff40}.demo-banner-btn:disabled{opacity:.6;cursor:not-allowed}.demo-banner-btn-exit{background:#ff505033;border-color:#ff969666}.demo-banner-btn-exit:hover{background:#ff505059!important}.demo-switch-wrapper{position:relative}.demo-switch-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:240px;z-index:300;overflow:hidden;animation:demo-dropdown-in .12s ease}@keyframes demo-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.demo-switch-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);color:var(--ink-text)}.demo-switch-option:hover{background:var(--paper)}.demo-switch-option.active{background:var(--teal-50)}.demo-switch-emoji{font-size:18px;flex-shrink:0;width:28px;text-align:center}.demo-switch-info{display:flex;flex-direction:column;flex:1;min-width:0}.demo-switch-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-switch-role{font-size:11px;color:var(--slate)}.demo-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1219bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:demo-fade-in .18s ease}@keyframes demo-fade-in{0%{opacity:0}to{opacity:1}}.demo-picker-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:620px;max-height:90dvh;overflow-y:auto;animation:demo-slide-up .2s ease}@keyframes demo-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.demo-picker-header{padding:var(--space-6) var(--space-6) var(--space-4);text-align:center;border-bottom:1px solid var(--border)}.demo-picker-badge{display:inline-block;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;border-radius:var(--radius-full);margin-bottom:var(--space-3)}.demo-picker-title{font-size:clamp(18px,3vw,22px);font-weight:700;color:var(--ink);margin-bottom:var(--space-2)}.demo-picker-subtitle{font-size:13px;color:var(--slate);line-height:1.5}.demo-picker-grid{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.demo-persona-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all var(--transition-fast);width:100%;position:relative}.demo-persona-card:hover{border-color:var(--teal);background:var(--teal-50);transform:translate(3px);box-shadow:var(--shadow-sm)}.demo-persona-avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.demo-persona-emoji{font-size:20px;line-height:1}.demo-avatar-teal{background:linear-gradient(135deg,#0e6e63,#14b8a6)}.demo-avatar-rose{background:linear-gradient(135deg,#be123c,#f43f5e)}.demo-avatar-amber{background:linear-gradient(135deg,#b45309,#f59e0b)}.demo-avatar-blue{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.demo-avatar-purple{background:linear-gradient(135deg,#6d28d9,#a855f7)}.demo-persona-info{flex:1;min-width:0}.demo-persona-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}.demo-persona-role{font-size:11.5px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px}.demo-persona-desc{font-size:12px;color:var(--slate);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-persona-arrow{color:var(--slate-300);flex-shrink:0;transition:color var(--transition-fast)}.demo-persona-card:hover .demo-persona-arrow{color:var(--teal)}.demo-picker-footer{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.demo-picker-disclaimer{font-size:11.5px;color:var(--slate)}.demo-picker-close{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 16px;font-size:13px;font-weight:500;color:var(--slate);cursor:pointer;transition:all var(--transition-fast)}.demo-picker-close:hover{background:var(--surface);color:var(--ink)}.demo-login-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4)}.demo-login-line{flex:1;height:1px;background:var(--border)}.demo-login-or{font-size:11.5px;color:var(--slate);font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.demo-login-btn{width:100%;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#0e6e63,#0a544b);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;transition:all var(--transition-fast);box-shadow:0 2px 8px #0e6e634d;position:relative;overflow:hidden}.demo-login-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#14b8a6,#0e6e63);opacity:0;transition:opacity var(--transition-fast)}.demo-login-btn:hover:before{opacity:1}.demo-login-btn span,.demo-login-btn svg{position:relative;z-index:1}.demo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e121999;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:demo-fade-in .15s ease}.demo-modal-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);width:100%;max-width:400px;animation:demo-slide-up .15s ease}.demo-modal-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:var(--space-3)}.demo-modal-body{font-size:13.5px;color:var(--slate);line-height:1.6;margin-bottom:var(--space-2)}.demo-modal-note{font-size:12px;color:var(--teal);font-weight:500;margin-bottom:var(--space-5)}.demo-modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.demo-modal-cancel{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 18px;font-size:13px;font-weight:500;color:var(--slate);cursor:pointer;transition:all var(--transition-fast)}.demo-modal-cancel:hover{background:var(--surface);color:var(--ink)}.demo-modal-confirm{background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:var(--radius-sm);padding:8px 18px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:opacity var(--transition-fast)}.demo-modal-confirm:hover{opacity:.9}@media (max-width: 640px){.demo-banner{padding:6px var(--space-3);font-size:11px}.demo-banner-persona{display:none}.demo-picker-grid{padding:var(--space-3)}.demo-persona-desc{display:none}.demo-picker-header{padding:var(--space-4) var(--space-4) var(--space-3)}.demo-picker-footer{flex-direction:column;align-items:stretch}.demo-picker-close{text-align:center}}.avatar-lightbox-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;background:#0f172acc!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important;margin:0!important}.avatar-lightbox-modal{background:#fff!important;border-radius:20px!important;padding:28px 20px 24px!important;max-width:360px!important;width:calc(100vw - 32px)!important;box-sizing:border-box!important;box-shadow:0 25px 50px -12px #0006!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;position:relative!important;max-height:85vh!important;max-height:85dvh!important;overflow-y:auto!important;margin:auto!important;animation:avatarModalScaleIn .2s cubic-bezier(.16,1,.3,1)!important}@keyframes avatarModalScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.avatar-lightbox-close{position:absolute!important;top:12px!important;right:12px!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;cursor:pointer!important;font-size:16px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#64748b!important;transition:all .15s ease!important;z-index:10!important}.avatar-lightbox-close:hover{background:#e2e8f0!important;color:#0f172a!important}.avatar-lightbox-image-wrap{width:min(220px,55vw)!important;height:min(220px,55vw)!important;border-radius:50%!important;overflow:hidden!important;box-shadow:0 10px 25px -5px #0003!important;border:4px solid #f8fafc!important;background-color:#e2e8f0!important;flex-shrink:0!important;margin-top:4px!important}.avatar-lightbox-image-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.avatar-lightbox-meta{text-align:center!important;width:100%!important}.avatar-lightbox-name{margin:0 0 4px!important;font-size:1.25rem!important;font-weight:700!important;color:#0f172a!important;word-break:break-word!important}.avatar-lightbox-id{margin:0 0 8px!important;font-size:.85rem!important;color:#64748b!important;font-family:monospace!important;font-weight:600!important}.avatar-lightbox-desig{margin:0!important;font-size:.88rem!important;color:#475569!important;line-height:1.4!important}.app-layout{display:flex;min-height:100vh}@keyframes rt-pulse{0%,to{opacity:1}50%{opacity:.3}}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:#0b132b;color:#f1f5f9;display:flex;flex-direction:column;padding:0;position:fixed;top:0;left:0;bottom:0;height:100vh;z-index:100;transition:transform var(--transition-normal),width var(--transition-normal);box-shadow:4px 0 20px #00000040;border-right:1px solid rgba(255,255,255,.07)}.sidebar-header-fixed{flex-shrink:0;background:#0b132b;z-index:2}.sidebar-brand{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px;text-align:center;background:#fff;flex-shrink:0}.sidebar-brand-logo{display:flex;align-items:center;justify-content:center}.sidebar-brand-logo img{width:195px;height:auto;max-height:75px;object-fit:contain}.sidebar-brand-name{font-family:var(--font-heading);font-size:19px;font-weight:600;letter-spacing:.2px;color:#fff;margin:0}.sidebar-brand-sub{font-size:11px;color:var(--rail-dim);margin-top:3px;text-transform:uppercase;letter-spacing:1px}.sidebar-hrms-label{min-height:48px;margin:8px 12px 10px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;background:linear-gradient(135deg,#148bcd29,#071d35b3);border:1px solid rgba(20,139,205,.35);border-radius:12px;font-size:18px;font-weight:700;letter-spacing:4px;line-height:1;flex-shrink:0}.sidebar-hrms-line{width:44px;height:1px;background:linear-gradient(90deg,transparent,#148BCD)}.sidebar-hrms-line:last-child{background:linear-gradient(90deg,#148BCD,transparent)}.sidebar-nav{padding:4px 10px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:99px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;font-size:13.5px;font-weight:500;color:#cbd5e1;border-left:3px solid transparent;transition:all .18s cubic-bezier(.4,0,.2,1);min-height:44px;text-decoration:none;position:relative;-webkit-user-select:none;user-select:none}.sidebar-item:hover{background:#14b8a61f;color:#fff}.sidebar-item:focus-visible{outline:2px solid #2dd4bf;outline-offset:-2px}.sidebar-item.active{background:#14b8a638;border-left:3px solid #2dd4bf;color:#fff;font-weight:600;box-shadow:0 2px 8px #0d948840}.sidebar-item.active .sidebar-item-icon{opacity:1;color:#2dd4bf;stroke:#2dd4bf}.sidebar-item-icon{flex-shrink:0;opacity:.85;color:#94a3b8;transition:opacity .18s ease,color .18s ease,transform .18s ease}.sidebar-item:hover .sidebar-item-icon{opacity:1;color:#2dd4bf;transform:scale(1.05)}.sidebar-group{display:flex;flex-direction:column}.sidebar-group-toggle{background:transparent;width:100%;cursor:pointer;text-align:left;border-left:3px solid transparent}.sidebar-group-toggle.active-group{background:#14b8a626;border-left:3px solid #0d9488;color:#fff;font-weight:600}.sidebar-group-toggle.active-group .sidebar-item-icon{opacity:1;color:#2dd4bf}.sidebar-group-toggle.open:not(.active-group){background:#ffffff0f;color:#fff}.sidebar-group-chevron{margin-left:auto;color:#94a3b8;transition:transform .2s cubic-bezier(.4,0,.2,1)}.sidebar-badge{background:#0d9488;color:#fff;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700;margin-left:auto;line-height:1;box-shadow:0 1px 4px #0d948866}.sidebar-badge-crm{background:#3b82f6;box-shadow:0 1px 4px #3b82f666}.accordion-expanded{padding-left:20px;display:flex;flex-direction:column;gap:3px;margin-top:4px;margin-bottom:6px;animation:slideDownSmooth .2s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideDownSmooth{0%{opacity:0;max-height:0;transform:translateY(-6px)}to{opacity:1;max-height:800px;transform:translateY(0)}}.sidebar-subitem{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;color:#cbd5e1;text-decoration:none;border-left:3px solid transparent;transition:all .18s cubic-bezier(.4,0,.2,1);min-height:38px}.sidebar-subitem:hover{background:#14b8a61f;color:#fff}.sidebar-subitem:focus-visible{outline:2px solid #2dd4bf;outline-offset:-2px}.sidebar-subitem.active{background:#14b8a638;border-left:3px solid #2dd4bf;color:#fff;font-weight:600}.sidebar-subitem-icon{opacity:.75;color:#94a3b8;flex-shrink:0;transition:opacity .18s ease,color .18s ease}.sidebar-subitem:hover .sidebar-subitem-icon,.sidebar-subitem.active .sidebar-subitem-icon{opacity:1;color:#2dd4bf}.sidebar-footer-fixed{flex-shrink:0;background:#0b132b;border-top:1px solid rgba(255,255,255,.08);padding:10px 12px;z-index:10;position:relative}.sidebar-foot{margin-top:0;font-size:11px;color:var(--rail-dim);position:relative}.sidebar-user-btn{display:flex;align-items:center;gap:10px;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:8px 10px;border-radius:10px;cursor:pointer;text-align:left;transition:all .18s cubic-bezier(.4,0,.2,1);min-height:44px}.sidebar-user-btn:hover{background:#ffffff17;border-color:#14b8a64d}.sidebar-user-btn:focus-visible{outline:2px solid #2dd4bf}.sidebar-user-details{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-user-name{color:#fff;font-weight:600;font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:#94a3b8;font-size:11px;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-chevron{flex-shrink:0;color:#94a3b8;transition:transform .2s cubic-bezier(.4,0,.2,1)}.sidebar-user-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:150;display:flex;flex-direction:column;gap:2px;padding:6px;background:#0f172a;border:1px solid rgba(255,255,255,.14);border-radius:10px;animation:slideUpSmooth .18s cubic-bezier(.4,0,.2,1);box-shadow:0 -10px 30px #00000080}@keyframes slideUpSmooth{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar-user-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;color:#cbd5e1;text-decoration:none;background:transparent;border:none;border-radius:6px;cursor:pointer;width:100%;text-align:left;transition:all .15s ease;min-height:38px}.sidebar-user-menu-item:hover{background:#ffffff14;color:#fff}.sidebar-user-menu-item.text-danger:hover{background:#ef444426;color:#fca5a5}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;animation:fadeIn .2s ease;box-sizing:border-box}.help-modal-card{background:#fff;border-radius:16px;width:100%;max-width:460px;box-shadow:0 20px 40px #00000040;overflow:hidden;box-sizing:border-box;margin:auto}.help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-subtle, #f8fafc)}.help-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--slate-900)}.help-modal-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--slate-400);transition:color .15s ease}.help-modal-close:hover{color:var(--slate-700)}.help-modal-body{padding:20px;font-size:.9rem;color:var(--slate-700);line-height:1.5}.help-contact-box{margin-top:16px;padding:12px 16px;background:#f0fdfa;border:1px solid #5eead4;border-radius:8px;font-size:.85rem;color:#115e59;display:flex;flex-direction:column;gap:6px}.help-modal-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;background:var(--surface-subtle, #f8fafc)}width: 100%; text-align: left; padding: 8px 10px; border-radius: 6px; background: transparent; border: none; color: #e2e8f0; font-size: 13px; font-weight: 500; text-decoration: none; cursor: pointer; transition: background .15s ease,color .15s ease; } .sidebar-user-menu-item:hover{background:#ffffff14;color:#fff}.sidebar-user-menu-item.text-danger{color:#f87171}.sidebar-user-menu-item.text-danger:hover{background:#ef444426;color:#ef4444}.sidebar-diagnostics{flex-shrink:0;padding:0 10px 4px}.sidebar-diagnostics-toggle{background:none;border:1px solid rgba(255,255,255,.12);color:var(--rail-dim);padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;width:100%;cursor:pointer;transition:all var(--transition-fast)}.sidebar-diagnostics-toggle:hover{background:#ffffff0f;color:#fff}.sidebar-diagnostics-panel{padding:8px 10px;font-size:11px;color:var(--rail-dim);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);margin-top:4px;line-height:1.6}.sidebar-diagnostics-title{font-weight:600;margin-bottom:2px}.sidebar-diagnostics-hidden{margin-top:4px}.sidebar-diagnostics-hidden-item{padding-left:8px;word-break:break-word}.sidebar-diagnostics-reload{margin-top:6px;padding:3px 8px;font-size:11px;cursor:pointer;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);background:transparent;color:var(--rail-dim);width:100%}.sidebar-diagnostics-reload:hover{background:#ffffff0f;color:#fff}.sidebar-toggle{display:none;position:fixed;top:10px;left:10px;z-index:101;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;color:#000;box-shadow:var(--shadow-sm);min-width:var(--touch-target);min-height:var(--touch-target);align-items:center;justify-content:center}.sidebar-overlay{display:none}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--sidebar-width)}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--page-pad-x);flex-shrink:0;position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.topbar-mobile-logo{display:none}.topbar-mobile-logo img{width:95px;height:auto;max-height:32px;object-fit:contain;display:block}.topbar-title{font-family:var(--font-heading);font-size:var(--fs-page-title);font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.topbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-bell{position:relative;background:none;border:none;padding:6px 8px;border-radius:var(--radius-sm);color:var(--ink-text);transition:background var(--transition-fast);min-width:var(--touch-target);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;cursor:pointer}.topbar-bell:hover{background:var(--paper)}.topbar-user{display:flex;flex-direction:column;align-items:flex-end;max-width:160px}.topbar-user-name{font-size:12.5px;font-weight:600;color:var(--ink-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.topbar-user-role{font-size:10.5px;color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.topbar-attendance{display:flex;align-items:center;gap:8px}.topbar-checkin-btn{background:var(--teal);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;min-height:var(--touch-target)}.topbar-checkin-btn:hover:not(:disabled){background:var(--teal-dark, #0d9488)}.topbar-checkin-btn:disabled{opacity:.6;cursor:default}.topbar-checkout-btn{background:var(--accent, #ea580c);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;min-height:var(--touch-target)}.topbar-checkout-btn:hover{background:var(--accent-dark, #c2410c)}.topbar-timer{font-size:12px;font-weight:700;color:var(--ink-text);font-variant-numeric:tabular-nums;white-space:nowrap}.topbar-attendance-done{font-size:11.5px;font-weight:600;color:var(--slate);white-space:nowrap}.topbar-attendance-error{color:var(--error, #dc2626);font-weight:700;cursor:help}.app-content{flex:1;overflow-y:auto;padding:var(--page-pad-y) var(--page-pad-x);-webkit-overflow-scrolling:touch}.ai-copilot-trigger-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;background:linear-gradient(135deg,#0d9488,#2563eb);color:#fff;border:1px solid rgba(255,255,255,.2);font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 2px 10px #0d948840;transition:all .2s ease-in-out;flex-shrink:0}.ai-copilot-trigger-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0d948859}.ai-copilot-trigger-btn:active{transform:translateY(0)}.ai-copilot-icon{font-size:15px;line-height:1}.ai-copilot-shortcut{font-size:10px;opacity:.85;background:#fff3;padding:1px 5px;border-radius:4px;margin-left:2px}@media (max-width: 1023px){.sidebar{width:var(--drawer-width, 280px);transform:translate(-100%);box-shadow:none;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar.open{transform:translate(0);box-shadow:0 20px 50px #0006}.sidebar-toggle{display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s ease;top:8px;left:8px;width:42px;height:42px}.sidebar-toggle:hover{background:#0000000d}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:99;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.app-main{margin-left:0}.topbar{padding-left:56px;padding-right:12px;gap:8px}.topbar-mobile-logo{display:none!important}.topbar-title{display:block;font-size:15px}.topbar-user{display:none}.realtime-label{display:none!important}}@media (max-width: 640px){.topbar{padding-left:54px;padding-right:8px;gap:6px}.topbar-right{gap:6px}.ai-copilot-shortcut{display:none!important}.ai-copilot-trigger-btn{padding:6px 10px;font-size:12px}}@media (max-width: 479px){.topbar-title{display:none}.topbar-timer{font-size:11px;font-weight:700}.topbar-checkin-btn,.topbar-checkout-btn{padding:5px 10px;font-size:11.5px;border-radius:6px}.topbar-attendance-done{font-size:10.5px}.topbar-bell{min-width:36px;min-height:36px;padding:4px}}@media (max-width: 420px){.ai-copilot-label{display:none!important}.ai-copilot-trigger-btn{padding:6px;min-width:34px;min-height:34px;border-radius:50%;justify-content:center}.ai-copilot-icon{font-size:16px}.sidebar-hrms-label{min-height:52px;margin:10px 12px 14px;padding:10px 14px;font-size:17px;letter-spacing:4px}.sidebar-hrms-line{width:38px}}@media (max-width: 359px){.topbar-attendance{gap:3px}.topbar-timer{display:none}.topbar-checkin-btn,.topbar-checkout-btn{padding:5px 7px;font-size:11px}}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.sidebar-item:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.task-review-card{border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:20px;background:var(--surface, #ffffff);box-shadow:0 4px 12px #00000008;transition:box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;gap:16px}.task-review-card:hover{box-shadow:0 8px 24px #0000000f;border-color:#0d94884d}.review-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.review-employee-block{display:flex;align-items:center;gap:12px}.review-employee-details{display:flex;flex-direction:column;gap:2px}.review-employee-name{font-weight:700;font-size:1.05rem;color:var(--slate-900);line-height:1.2}.review-employee-code-role{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--slate-600)}.mono-code{font-family:var(--font-mono, monospace);font-weight:600;background:var(--slate-100, #f1f5f9);color:var(--slate-800, #1e293b);padding:1px 6px;border-radius:4px;font-size:11.5px}.dept-tag{color:var(--teal-700, #0f766e);font-weight:500}.review-assigner-block{display:flex;flex-direction:column;align-items:flex-end;gap:4px;background:var(--surface-subtle, #f8fafc);padding:8px 12px;border-radius:8px;border:1px solid var(--border)}.assigner-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--slate-500)}.assigner-user{display:flex;align-items:center;gap:8px}.assigner-details{display:flex;flex-direction:column;text-align:right}.assigner-name{font-weight:600;font-size:12.5px;color:var(--slate-800);line-height:1.2}.assigner-role{font-size:11px;color:var(--slate-500)}.review-divider{border:none;border-top:1px solid var(--border);margin:0}.review-task-section{display:flex;flex-direction:column;gap:12px}.review-task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.task-title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-code-badge{font-family:var(--font-mono, monospace);font-size:11.5px;font-weight:700;color:var(--slate-700);background:#e2e8f0;padding:3px 8px;border-radius:4px}.task-title-heading{margin:0;font-size:1.1rem;font-weight:700;color:var(--slate-900);line-height:1.3}.task-badges-group{display:flex;align-items:center;gap:6px}.task-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:.3px}.task-badge.priority-critical{background:#fee2e2;color:#991b1b}.task-badge.priority-high{background:#ffedd5;color:#c2410c}.task-badge.priority-medium{background:#e0f2fe;color:#0369a1}.task-badge.priority-low{background:#f1f5f9;color:#475569}.task-badge.status-submitted,.task-badge.status-review_required{background:#fef3c7;color:#92400e}.task-badge.status-approved,.task-badge.status-completed{background:#dcfce7;color:#166534}.task-badge.status-revision_required{background:#ffedd5;color:#9a3412}.task-badge.status-rejected,.task-badge.status-cancelled{background:#fee2e2;color:#991b1b}.review-metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;background:var(--surface-subtle, #f8fafc);padding:12px 14px;border-radius:8px;border:1px solid var(--border)}.meta-label{font-size:11px;font-weight:600;color:var(--slate-500);text-transform:uppercase;margin-bottom:2px}.meta-value{font-size:13px;font-weight:600;color:var(--slate-800)}.task-deadline-pill{font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;display:inline-block}.task-deadline-pill.danger{background:#fee2e2;color:#b91c1c}.task-deadline-pill.warning{background:#fef3c7;color:#b45309}.task-deadline-pill.info{background:#e0f2fe;color:#0369a1}.task-deadline-pill.success{background:#dcfce7;color:#15803d}.task-deadline-pill.slate{background:#f1f5f9;color:#475569}.review-content-section{display:flex;flex-direction:column;gap:8px}.section-subheading{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--slate-500);letter-spacing:.5px;margin-bottom:4px}.submission-time{font-size:11.5px;color:var(--slate-600)}.submission-body-text{font-size:13.5px;color:var(--slate-800);line-height:1.5;background:var(--surface-subtle, #f8fafc);padding:12px 14px;border-radius:8px;border:1px solid var(--border)}.submission-note-text{font-size:12.5px;color:var(--slate-600);font-style:italic;margin-top:6px}.submitter-info-bar{font-size:12.5px;color:var(--slate-700);background:#f0fdf4;border:1px solid #bbf7d0;padding:6px 10px;border-radius:6px;margin-bottom:8px}.submission-attachments-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.attachment-label{font-size:12px;font-weight:600;color:var(--slate-600)}.attachment-link-btn{font-size:12px;color:var(--teal-700, #0f766e);background:#f0fdfa;border:1px solid #99f6e4;padding:4px 10px;border-radius:6px;text-decoration:none;font-weight:500;transition:all .15s ease}.attachment-link-btn:hover{background:#ccfbf1;color:#0d9488}.no-attachments-text{font-size:12px;color:var(--slate-400);font-style:italic;margin-top:6px}.review-action-section{display:flex;flex-direction:column;gap:12px}.review-buttons-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.btn-warning{background:#f59e0b;color:#fff;border:none}.btn-warning:hover{background:#d97706}.btn-danger{background:#ef4444;color:#fff;border:none}.btn-danger:hover{background:#dc2626}.review-context-card{background:var(--surface-subtle, #f8fafc);border:1px solid var(--border);border-radius:8px;padding:12px}.review-context-label{font-size:10.5px;font-weight:700;color:var(--slate-500);letter-spacing:.5px}.review-section-title{font-size:11px;font-weight:700;color:var(--slate-500);letter-spacing:.5px;margin-bottom:4px}.task-timeline{display:flex;flex-direction:column;gap:12px;position:relative;padding-left:16px;border-left:2px solid var(--border)}.timeline-item{position:relative}.timeline-dot{position:absolute;left:-21px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--teal, #0d9488);border:2px solid #ffffff}.timeline-content{display:flex;flex-direction:column;gap:2px}@media (max-width: 767px){.review-card-header{flex-direction:column;align-items:flex-start}.review-assigner-block{align-items:flex-start;width:100%}.assigner-details{text-align:left}.review-buttons-row{flex-direction:column;width:100%}.review-buttons-row .btn{width:100%;margin-left:0!important}}.attendance-tabs{display:flex;gap:4px;margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.attendance-tab{padding:8px 16px;border:none;cursor:pointer;font-size:13px;font-weight:600;border-radius:6px 6px 0 0;background:transparent;color:var(--slate);transition:all var(--transition-fast)}.attendance-tab.active{background:var(--teal);color:#fff}.attendance-tab:hover:not(.active){background:var(--paper);color:var(--ink)}.attendance-date-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.attendance-date-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--slate);font-weight:600}.attendance-date-value{font-size:18px;font-weight:600;color:var(--ink-text);margin-top:4px}.attendance-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center}.attendance-no-record{font-size:14px;color:var(--slate);margin-bottom:var(--space-4)}.attendance-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.attendance-status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.attendance-status-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);font-weight:600;margin-bottom:4px}.attendance-status-value{font-size:15px;font-weight:600;color:var(--ink-text)}.attendance-timer-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;margin-bottom:var(--space-4)}.attendance-timer-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--slate);font-weight:600;margin-bottom:var(--space-2)}.attendance-timer{font-size:var(--fs-timer);font-weight:700;color:var(--ink-text);font-variant-numeric:tabular-nums;letter-spacing:2px}.attendance-timer-note{font-size:13px;color:var(--slate);margin:var(--space-3) 0;line-height:1.5}.attendance-result-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.attendance-result-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:13px}.attendance-result-row:last-child{border-bottom:none}.attendance-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600}.attendance-badge.pending_checkout{background:#fef3c7;color:#92400e}.attendance-badge.full_day{background:#d1fae5;color:#065f46}.attendance-badge.half_day{background:#fed7aa;color:#9a3412}.attendance-badge.pending{background:#fef3c7;color:#92400e}.attendance-badge.approved{background:#d1fae5;color:#065f46}.attendance-badge.rejected{background:#fee2e2;color:#991b1b}.attendance-badge.cancelled{background:#f3f4f6;color:#6b7280}.attendance-badge.evidence-yes{background:#d1fae5;color:#065f46}.attendance-badge.evidence-no{background:#fee2e2;color:#991b1b}.btn-checkin{background:var(--teal);color:#fff;padding:12px 32px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.btn-checkin:hover:not(:disabled){background:var(--teal-dark)}.btn-checkin:disabled{opacity:.5;cursor:not-allowed}.btn-checkout{background:var(--ink);color:#fff;padding:12px 32px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.btn-checkout:hover:not(:disabled){background:var(--ink-text)}.checkout-modal,.checkin-modal{max-width:460px;width:100%;box-sizing:border-box}.checkout-intro{text-align:center;padding:var(--space-2) 0;box-sizing:border-box}.checkout-warning{font-size:13.5px;color:var(--ink-text);line-height:1.6;margin-bottom:var(--space-4);word-break:break-word}.btn-checkout-enable{background:var(--teal);color:#fff;padding:12px 20px;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);min-height:44px;width:100%;box-sizing:border-box}.btn-checkout-enable:hover{background:var(--teal-dark)}.checkout-camera{text-align:center}.checkout-video{width:100%;max-width:400px;max-height:50dvh;border-radius:var(--radius-md);margin-bottom:var(--space-3);background:#000;transform:scaleX(-1);object-fit:cover}.btn-capture{background:var(--ink);color:#fff;padding:10px 24px;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;min-height:44px}.checkout-captured{text-align:center}.checkout-photo-preview{margin-bottom:var(--space-3)}.checkout-photo-preview img{width:100%;max-width:360px;border-radius:var(--radius-md);border:1px solid var(--border)}.checkout-status-list{margin-bottom:var(--space-3)}.checkout-status-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:13px}.checkout-check{color:var(--teal-dark);font-weight:600}.checkout-loading{text-align:center;padding:var(--space-6) 0}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.checkout-done{text-align:center;padding:var(--space-6) 0}.checkout-done-icon{font-size:48px;color:var(--teal);margin-bottom:var(--space-2)}.notif-bell{position:relative;cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:background var(--transition-fast);display:flex;align-items:center;color:var(--ink-text)}.notif-bell:hover{background:var(--paper)}.notif-badge{position:absolute;top:0;right:0;background:var(--rose-500);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px}.notif-dot{position:absolute;bottom:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--slate)}.notif-dot.connected{background:var(--teal)}.notif-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.notif-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:360px;max-width:calc(100vw - 24px);max-height:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;overflow:hidden;display:flex;flex-direction:column}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.notif-mark-all{background:none;border:none;color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;padding:0}.notif-list{overflow-y:auto;flex:1}.notif-empty{padding:var(--space-6);text-align:center;color:var(--slate);font-size:13px}.notif-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);position:relative}.notif-item:hover{background:var(--paper)}.notif-high{border-left:3px solid var(--rose-500)}.notif-item-title{font-size:13px;font-weight:600;color:var(--ink-text);margin-bottom:2px}.notif-item-msg{font-size:12px;color:var(--slate);line-height:1.5}.notif-item-time{font-size:11px;color:var(--slate);margin-top:4px}.notif-dismiss{background:none;border:none;color:var(--teal);font-size:11px;font-weight:600;cursor:pointer;padding:0;margin-top:4px}.notif-toast{position:fixed;bottom:max(24px,var(--safe-bottom));right:16px;left:16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);z-index:200;display:flex;align-items:center;gap:var(--space-3);max-width:400px;margin-left:auto;cursor:pointer;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notif-toast-icon{color:var(--teal);flex-shrink:0}.notif-toast-title{font-size:13px;font-weight:600;color:var(--ink-text)}.notif-toast-msg{font-size:12px;color:var(--slate);line-height:1.5;margin-top:2px}@media (max-width: 900px){.attendance-status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.attendance-status-grid{grid-template-columns:1fr}.attendance-timer{font-size:28px}.notif-dropdown{width:calc(100vw - 32px);right:-8px;max-height:70dvh}.notif-toast{left:8px;right:8px;max-width:none}}.notif-critical-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:notif-fade-in .2s ease}.notif-critical-card{background:var(--surface);border-radius:12px;padding:32px;max-width:420px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;border:2px solid var(--error);animation:notif-shake .4s ease}.notif-critical-icon{color:var(--error);margin-bottom:16px;display:flex;justify-content:center}.notif-critical-title{font-size:18px;font-weight:700;color:var(--ink-text);margin-bottom:8px}.notif-critical-msg{font-size:14px;color:var(--slate);line-height:1.5;margin-bottom:24px}.notif-critical-ack{padding:10px 28px;background:var(--error);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.notif-critical-ack:hover{opacity:.9}@keyframes notif-fade-in{0%{opacity:0}to{opacity:1}}@keyframes notif-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width: 479px){.checkout-video{max-height:40dvh}.checkout-photo-preview img{max-width:100%}}:root{--navi-teal: #0e6e63;--navi-teal-light: #e1f0ec;--navi-teal-dark: #0a544b;--navi-teal-glow: rgba(14, 110, 99, .25);--navi-surface: #ffffff;--navi-surface-subtle: #f8fafc;--navi-border: #e2e8f0;--navi-border-focus: #0e6e63;--navi-text-main: #0f172a;--navi-text-muted: #64748b;--navi-text-subtle: #94a3b8;--navi-amber: #d97706;--navi-amber-light: #fef3c7;--navi-shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--navi-shadow-md: 0 8px 24px -4px rgba(15, 23, 42, .12), 0 2px 6px -1px rgba(15, 23, 42, .06);--navi-shadow-lg: 0 20px 32px -8px rgba(15, 23, 42, .18), 0 4px 12px -2px rgba(15, 23, 42, .08);--navi-radius-sm: 6px;--navi-radius-md: 10px;--navi-radius-lg: 14px;--navi-radius-full: 9999px;--navi-timing: .18s ease-out}.navi-fab-wrapper{position:fixed;bottom:24px;right:24px;z-index:9990;display:flex;flex-direction:column;align-items:flex-end}.navi-fab-tooltip{position:absolute;bottom:calc(100% + 12px);right:0;background:#1e293b;color:#f8fafc;font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--navi-radius-sm);box-shadow:var(--navi-shadow-md);white-space:nowrap;pointer-events:none;animation:naviFadeIn .14s ease-out}.navi-fab-btn{display:flex;align-items:center;gap:8px;height:56px;padding:0 10px 0 8px;background:var(--navi-surface);border:1px solid var(--navi-border);border-radius:var(--navi-radius-full);box-shadow:var(--navi-shadow-md);cursor:pointer;outline:none;transition:all var(--navi-timing);-webkit-user-select:none;user-select:none}.navi-fab-btn:hover,.navi-fab-btn.hovered{border-color:var(--navi-teal);box-shadow:var(--navi-shadow-lg),0 0 0 3px var(--navi-teal-glow);transform:translateY(-2px)}.navi-fab-btn.active{background:#0f172a;border-color:#0f172a;color:#fff}.navi-fab-btn.tour-active{border-color:#0284c7;box-shadow:0 0 0 4px #0284c759;animation:naviPulseRing 2.5s infinite}.navi-fab-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--navi-radius-full);background:var(--navi-teal-light);flex-shrink:0}.navi-fab-status-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:#10b981;border:2px solid var(--navi-surface)}.navi-fab-label{font-size:13px;font-weight:600;color:var(--navi-text-main);padding-right:6px;letter-spacing:-.01em}.navi-fab-btn.active .navi-fab-label{color:#fff}@keyframes naviIdleBounce{0%,88%,to{transform:translateY(0)}92%{transform:translateY(-4px)}96%{transform:translateY(1px)}}.navi-idle-bounce{animation:naviIdleBounce 6s ease-in-out infinite}.navi-bubble-container{position:fixed;bottom:92px;right:24px;z-index:9989;max-width:320px;width:calc(100vw - 48px);animation:naviSlideUp .18s ease-out}.navi-speech-bubble{background:var(--navi-surface);border:1px solid var(--navi-border);border-radius:var(--navi-radius-lg);padding:16px;box-shadow:var(--navi-shadow-lg);position:relative}.navi-speech-bubble:after{content:"";position:absolute;bottom:-8px;right:24px;width:14px;height:14px;background:var(--navi-surface);border-right:1px solid var(--navi-border);border-bottom:1px solid var(--navi-border);transform:rotate(45deg)}.navi-bubble-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.navi-bubble-badge{display:flex;align-items:center;gap:6px}.navi-bubble-title{font-size:14px;font-weight:700;color:var(--navi-text-main)}.navi-bubble-close-btn{background:transparent;border:none;font-size:12px;color:var(--navi-text-muted);cursor:pointer;padding:4px;border-radius:var(--navi-radius-sm)}.navi-bubble-close-btn:hover{background:#f1f5f9;color:var(--navi-text-main)}.navi-bubble-body{font-size:13px;line-height:1.45;color:var(--navi-text-muted);margin-bottom:14px}.navi-bubble-actions{display:flex;align-items:center;gap:8px}.navi-mini-tip-bubble{display:flex;align-items:flex-start;gap:10px;background:#0f172a;color:#fff;border-radius:var(--navi-radius-md);padding:12px 14px;box-shadow:var(--navi-shadow-lg)}.navi-tip-avatar{flex-shrink:0;margin-top:2px}.navi-tip-content{flex:1}.navi-tip-label{font-size:11px;font-weight:700;text-transform:uppercase;color:#38bdf8;letter-spacing:.04em;display:block;margin-bottom:2px}.navi-tip-text{font-size:12px;line-height:1.4;color:#e2e8f0;margin-bottom:8px}.navi-tip-actions{display:flex;align-items:center;justify-content:space-between}.navi-tip-btn-explain{background:#0284c7;color:#fff;border:none;border-radius:var(--navi-radius-sm);font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;transition:background var(--navi-timing)}.navi-tip-btn-explain:hover{background:#0369a1}.navi-tip-btn-dismiss{background:transparent;border:none;color:#94a3b8;font-size:11px;cursor:pointer;padding:4px}.navi-tip-btn-dismiss:hover{color:#fff}.navi-toast-card{display:flex;align-items:center;gap:10px;background:#1e293b;border-left:4px solid var(--navi-amber);border-radius:var(--navi-radius-md);padding:12px 14px;box-shadow:var(--navi-shadow-lg)}.navi-toast-avatar{flex-shrink:0}.navi-toast-title{font-size:12px;font-weight:700;color:var(--navi-amber-light);display:block;margin-bottom:2px}.navi-toast-text{font-size:12px;line-height:1.35;color:#f1f5f9;margin:0}.navi-panel-container{position:fixed;bottom:92px;right:24px;width:380px;max-width:calc(100vw - 32px);max-height:72vh;background:var(--navi-surface);border:1px solid var(--navi-border);border-radius:var(--navi-radius-lg);box-shadow:var(--navi-shadow-lg);z-index:9988;display:flex;flex-direction:column;overflow:hidden;animation:naviSlideUp .18s ease-out}.navi-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0f172a;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.navi-header-left{display:flex;align-items:center;gap:10px}.navi-header-avatar{width:34px;height:34px;background:var(--navi-teal-light);border-radius:var(--navi-radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.navi-header-title-row{display:flex;align-items:center;gap:6px}.navi-header-name{font-size:15px;font-weight:700;color:#fff}.navi-header-badge{font-size:10px;font-weight:600;text-transform:uppercase;background:#0e6e634d;color:#5eead4;border:1px solid rgba(94,234,212,.3);padding:1px 6px;border-radius:var(--navi-radius-full);letter-spacing:.03em}.navi-header-sub-row{display:flex;align-items:center;gap:6px;margin-top:1px}.navi-header-role{font-size:11px;font-weight:500;color:#94a3b8}.navi-header-status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.navi-header-actions{display:flex;align-items:center;gap:4px}.navi-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:none;border-radius:var(--navi-radius-sm);color:#cbd5e1;font-size:12px;cursor:pointer;transition:all var(--navi-timing)}.navi-icon-btn:hover{background:#fff3;color:#fff}.navi-nav-tabs{display:flex;background:#f8fafc;border-bottom:1px solid var(--navi-border);padding:4px 8px;gap:4px;flex-shrink:0}.navi-nav-tab{flex:1;background:transparent;border:none;border-radius:var(--navi-radius-sm);padding:6px 4px;font-size:12px;font-weight:600;color:var(--navi-text-muted);cursor:pointer;transition:all var(--navi-timing);text-align:center}.navi-nav-tab:hover{color:var(--navi-text-main);background:#e2e8f0}.navi-nav-tab.active{background:var(--navi-surface);color:var(--navi-teal);box-shadow:0 1px 3px #0000000f}.navi-panel-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.navi-panel-divider{height:1px;background:var(--navi-border);margin:0}.navi-welcome-section{display:flex;flex-direction:column;gap:14px}.navi-welcome-card{background:linear-gradient(135deg,#f0fdf4,#e0f2fe);border:1px solid #bae6fd;border-radius:var(--navi-radius-md);padding:14px}.navi-welcome-badge{font-size:11px;font-weight:600;color:#0369a1;margin-bottom:4px}.navi-welcome-title{font-size:14px;font-weight:700;color:#0f172a;margin:0 0 4px;line-height:1.35}.navi-highlight-role{color:#0284c7}.navi-welcome-subtitle{font-size:12px;color:#475569;line-height:1.4;margin:0 0 10px}.navi-feature-tags{display:flex;flex-wrap:wrap;gap:6px}.navi-feature-tag{font-size:11px;font-weight:600;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:var(--navi-radius-sm);padding:2px 6px}.navi-tour-promo-card{background:#0f172a;border-radius:var(--navi-radius-md);padding:14px;color:#fff}.navi-tour-promo-content{display:flex;flex-direction:column;gap:10px}.navi-tour-promo-header{display:flex;align-items:flex-start;gap:10px}.navi-tour-sparkle{font-size:18px}.navi-tour-promo-title{font-size:13px;font-weight:700;color:#fff;margin:0 0 2px}.navi-tour-promo-desc{font-size:12px;color:#94a3b8;margin:0;line-height:1.35}.navi-tour-start-btn{width:100%}.navi-welcome-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.navi-welcome-link-btn{background:#f8fafc;border:1px solid var(--navi-border);border-radius:var(--navi-radius-sm);padding:8px;font-size:11px;font-weight:600;color:var(--navi-text-main);cursor:pointer;text-align:center;transition:all var(--navi-timing)}.navi-welcome-link-btn:hover{background:#f1f5f9;border-color:var(--navi-teal);color:var(--navi-teal)}.navi-topics-section{display:flex;flex-direction:column;gap:10px}.navi-section-header{display:flex;flex-direction:column;gap:1px}.navi-section-title{font-size:12px;font-weight:700;color:var(--navi-text-main);text-transform:uppercase;letter-spacing:.04em}.navi-section-subtitle{font-size:11px;color:var(--navi-text-muted)}.navi-topics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.navi-topic-card{display:flex;align-items:flex-start;gap:8px;background:var(--navi-surface);border:1px solid var(--navi-border);border-radius:var(--navi-radius-md);padding:10px;cursor:pointer;text-align:left;transition:all var(--navi-timing)}.navi-topic-card:hover{border-color:var(--navi-teal);background:#f0fdfa;transform:translateY(-1px);box-shadow:var(--navi-shadow-sm)}.navi-topic-icon{font-size:18px;line-height:1;flex-shrink:0;margin-top:1px}.navi-topic-content{display:flex;flex-direction:column}.navi-topic-title{font-size:13px;font-weight:700;color:var(--navi-text-main);line-height:1.2}.navi-topic-desc{font-size:11px;color:var(--navi-text-muted);line-height:1.3;margin-top:2px}.navi-context-help{display:flex;flex-direction:column;gap:12px}.navi-page-indicator{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid var(--navi-border);border-radius:var(--navi-radius-sm);padding:6px 10px}.navi-page-breadcrumb{font-size:11px;font-weight:600;color:var(--navi-text-muted)}.navi-page-badge{font-size:10px;font-weight:700;background:var(--navi-teal-light);color:var(--navi-teal);border-radius:var(--navi-radius-sm);padding:2px 6px}.navi-purpose-card{background:#f8fafc;border-left:3px solid var(--navi-teal);padding:10px 12px;border-radius:0 var(--navi-radius-sm) var(--navi-radius-sm) 0}.navi-purpose-title{font-size:13px;font-weight:700;color:var(--navi-text-main);margin:0 0 4px}.navi-purpose-text{font-size:12px;line-height:1.45;color:var(--navi-text-muted);margin:0}.navi-key-features{display:flex;flex-direction:column;gap:6px}.navi-features-header{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--navi-text-muted);letter-spacing:.04em}.navi-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.navi-feature-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;color:var(--navi-text-main);background:#fff;border:1px solid var(--navi-border);border-radius:var(--navi-radius-sm);padding:8px 10px}.navi-check-bullet{color:#10b981;font-weight:700;flex-shrink:0}.navi-recommended-action-card{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--navi-radius-md);padding:10px 12px}.navi-recommended-info{display:flex;flex-direction:column}.navi-recommended-label{font-size:10px;font-weight:700;text-transform:uppercase;color:#15803d;letter-spacing:.04em}.navi-recommended-target{font-size:12px;font-weight:600;color:#14532d}.navi-insight-tip-card{display:flex;align-items:flex-start;gap:8px;background:#fefce8;border:1px solid #fef08a;border-radius:var(--navi-radius-md);padding:10px 12px}.navi-insight-icon{font-size:16px;flex-shrink:0}.navi-insight-title{font-size:11px;font-weight:700;color:#854d0e;display:block}.navi-insight-text{font-size:12px;line-height:1.35;color:#713f12;margin:2px 0 0}.navi-page-tour-footer{margin-top:4px}.navi-role-capabilities{display:flex;flex-direction:column;gap:14px}.navi-role-banner{background:#f8fafc;border:1px solid var(--navi-border);border-radius:var(--navi-radius-md);padding:12px}.navi-role-banner-badge{font-size:10px;font-weight:700;text-transform:uppercase;background:#0284c7;color:#fff;padding:2px 6px;border-radius:var(--navi-radius-sm);letter-spacing:.04em;display:inline-block;margin-bottom:6px}.navi-role-banner-headline{font-size:13px;font-weight:700;color:var(--navi-text-main);margin:0;line-height:1.35}.navi-perm-group{display:flex;flex-direction:column;gap:8px}.navi-perm-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.navi-perm-header.allowed{color:#15803d}.navi-perm-header.restricted{color:#64748b}.navi-perm-dot{width:6px;height:6px;border-radius:50%}.navi-perm-dot.green{background:#10b981}.navi-perm-dot.gray{background:#94a3b8}.navi-perm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.navi-perm-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;padding:8px 10px;border-radius:var(--navi-radius-sm)}.navi-perm-item.allowed{background:#f0fdf4;border:1px solid #dcfce7;color:#14532d}.navi-perm-item.restricted{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b}.navi-perm-icon{font-size:12px;flex-shrink:0;margin-top:1px}.navi-tour-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9995;pointer-events:none}.navi-tour-dimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172ab8;pointer-events:auto;animation:naviFadeIn .2s ease-out}.navi-tour-cutout{position:absolute;border:3px solid #38bdf8;border-radius:var(--navi-radius-md);box-shadow:0 0 0 9999px #0f172ab8,0 0 24px #38bdf880;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.navi-tour-card{position:fixed;pointer-events:auto;width:360px;max-width:calc(100vw - 32px);background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:var(--navi-radius-lg);box-shadow:var(--navi-shadow-lg);padding:16px;z-index:10000;animation:naviSlideUp .2s ease-out}.navi-tour-card.centered{top:50%;left:50%;transform:translate(-50%,-50%)}.navi-tour-card.positioned{bottom:32px;right:32px}.navi-tour-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.navi-tour-card-badge{display:flex;align-items:center;gap:8px}.navi-tour-card-guide-name{font-size:13px;font-weight:700;color:#38bdf8}.navi-tour-card-step-label{font-size:11px;font-weight:600;color:#94a3b8}.navi-tour-progress-track{width:100%;height:4px;background:#ffffff1f;border-radius:var(--navi-radius-full);overflow:hidden;margin-bottom:12px}.navi-tour-progress-fill{height:100%;background:#38bdf8;border-radius:var(--navi-radius-full);transition:width .2s ease-out}.navi-tour-card-title{font-size:14px;font-weight:700;color:#fff;margin:0 0 6px}.navi-tour-card-desc{font-size:13px;line-height:1.45;color:#cbd5e1;margin:0 0 16px}.navi-tour-card-footer{display:flex;align-items:center;justify-content:space-between}.navi-tour-skip-btn{background:transparent;border:none;font-size:12px;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:var(--navi-radius-sm)}.navi-tour-skip-btn:hover{color:#fff}.navi-tour-nav-btns{display:flex;align-items:center;gap:8px}.navi-btn{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-radius:var(--navi-radius-md);padding:8px 14px;cursor:pointer;transition:all var(--navi-timing);border:none;text-decoration:none}.navi-btn-sm{font-size:12px;padding:6px 12px;border-radius:var(--navi-radius-sm)}.navi-btn-full{width:100%}.navi-btn-primary{background:var(--navi-teal);color:#fff}.navi-btn-primary:hover{background:var(--navi-teal-dark)}.navi-btn-subtle{background:#f1f5f9;color:var(--navi-text-main)}.navi-btn-subtle:hover{background:#e2e8f0}.navi-btn-outline{background:transparent;border:1px solid var(--navi-teal);color:var(--navi-teal)}.navi-btn-outline:hover{background:var(--navi-teal-light)}@keyframes naviSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes naviFadeIn{0%{opacity:0}to{opacity:1}}@keyframes naviPulseRing{0%{box-shadow:0 0 #0284c780}70%{box-shadow:0 0 0 10px #0284c700}to{box-shadow:0 0 #0284c700}}@media (max-width: 640px){.navi-fab-wrapper{bottom:16px;right:16px}.navi-fab-btn{height:48px;padding:0 8px}.navi-fab-label{display:none}.navi-bubble-container{right:16px;bottom:76px;width:calc(100vw - 32px)}.navi-panel-container{bottom:0;right:0;left:0;width:100vw;max-width:100vw;max-height:60vh;border-radius:var(--navi-radius-lg) var(--navi-radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,16px)}.navi-tour-card{left:16px!important;right:16px!important;bottom:16px!important;width:auto!important;transform:none!important}}@media (min-width: 641px) and (max-width: 1024px){.navi-panel-container{width:350px;max-height:68vh}}@media (prefers-reduced-motion: reduce){.navi-idle-bounce,.navi-fab-btn.tour-active,.navi-panel-container,.navi-speech-bubble,.navi-tour-card{animation:none!important;transition:none!important}}.skl{background:var(--slate-100);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skl:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:skl-shimmer 1.5s infinite}@keyframes skl-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skl:after{animation:none}.skl{background:var(--slate-100)}}.skl-text{height:14px;margin-bottom:6px;border-radius:var(--radius-sm)}.skl-text-group{width:100%}.skl-heading{height:22px;width:200px;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.skl-avatar{border-radius:var(--radius-full)}.skl-button,.skl-input{height:var(--field-height);border-radius:var(--radius-sm)}.skl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad);box-shadow:var(--shadow-sm)}.skl-card:after{border-radius:var(--radius-lg)}.skl-card-title{height:18px;width:60%;margin-bottom:var(--space-3);border-radius:var(--radius-sm)}.skl-card-line{height:14px;margin-bottom:8px;border-radius:var(--radius-sm)}.skl-metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad);box-shadow:var(--shadow-sm)}.skl-metric-card:after{border-radius:var(--radius-lg)}.skl-metric-label{height:12px;width:80px;margin-bottom:var(--space-2);border-radius:var(--radius-sm)}.skl-metric-value{height:28px;width:60px;margin-bottom:var(--space-2);border-radius:var(--radius-md)}.skl-metric-sub{height:12px;border-radius:var(--radius-sm)}.skl-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4);margin-bottom:var(--section-gap)}.skl-list{display:flex;flex-direction:column;gap:var(--space-3)}.skl-list-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.skl-list-content{flex:1}.skl-list-title{height:16px;width:80%;margin-bottom:6px;border-radius:var(--radius-sm)}.skl-list-sub{height:13px;border-radius:var(--radius-sm)}.skl-table{width:100%}.skl-table-head{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.skl-table-th{flex:1;height:36px;border-radius:var(--radius-sm);background:var(--slate-50)}.skl-table-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.skl-table-td{flex:1;height:40px;border-radius:var(--radius-sm)}.skl-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:600px}.skl-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.skl-form-label{height:14px;border-radius:var(--radius-sm)}.skl-detail-page{display:flex;flex-direction:column;gap:var(--section-gap)}.skl-detail-header{display:flex;flex-direction:column;gap:var(--space-2)}.skl-detail-meta{display:flex;gap:var(--space-2)}.skl-badge{height:24px;width:80px;border-radius:var(--radius-full)}.skl-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4)}.skl-dashboard{display:flex;flex-direction:column;gap:var(--section-gap)}.skl-dashboard-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4)}.skl-calendar{display:flex;flex-direction:column;gap:var(--space-4)}.skl-cal-header{display:flex;justify-content:space-between;align-items:center}.skl-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.skl-cal-cell{height:80px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}@media (max-width: 600px){.skl-cal-cell{height:48px}}.skl-timeline{display:flex;flex-direction:column;gap:var(--space-4)}.skl-timeline-item{display:flex;gap:var(--space-3);align-items:flex-start}.skl-timeline-dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0;margin-top:4px}.skl-timeline-content{flex:1}.skl-notifications{display:flex;flex-direction:column;gap:var(--space-2)}.skl-notif-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.skl-notif-content{flex:1}.skl-modal{padding:var(--space-5)}.skl-profile{display:flex;flex-direction:column;gap:var(--section-gap)}.skl-profile-header{display:flex;gap:var(--space-4);align-items:center}.skl-profile-info{flex:1}.skl-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--space-4)}.skl-attendance,.skl-tasks,.skl-tickets,.skl-daily-report{display:flex;flex-direction:column;gap:var(--section-gap)}.ewc-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;margin-bottom:20px}.ewc-header{padding:16px 20px;background:linear-gradient(135deg,#25d36614,#128c7e0a);border-bottom:1px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ewc-header-left{display:flex;align-items:center;gap:12px}.ewc-icon-badge{width:38px;height:38px;border-radius:10px;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 6px #25d36659;flex-shrink:0}.ewc-title-wrap h3{margin:0;font-size:15px;font-weight:700;color:var(--text-primary, #0f172a)}.ewc-title-wrap p{margin:2px 0 0;font-size:12px;color:var(--text-muted, #64748b)}.ewc-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600}.ewc-status-badge.verified{background:#25d36626;color:#0f766e;border:1px solid rgba(37,211,102,.3)}.ewc-status-badge.unverified{background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.25)}.ewc-status-badge.disconnected{background:#94a3b81f;color:#64748b;border:1px solid rgba(148,163,184,.25)}.ewc-status-dot{width:7px;height:7px;border-radius:50%}.ewc-status-badge.verified .ewc-status-dot{background:#25d366;box-shadow:0 0 6px #25d366}.ewc-status-badge.unverified .ewc-status-dot{background:#f59e0b}.ewc-status-badge.disconnected .ewc-status-dot{background:#94a3b8}.ewc-body{padding:20px}.ewc-form-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.ewc-country-select{padding:9px 12px;border:1px solid var(--border, #cbd5e1);border-radius:8px;background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);font-size:13.5px;font-weight:500;outline:none;min-width:140px;cursor:pointer}.ewc-phone-input{flex:1;min-width:180px;padding:9px 14px;border:1px solid var(--border, #cbd5e1);border-radius:8px;background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);font-size:14px;font-family:monospace;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ewc-phone-input:focus,.ewc-country-select:focus{border-color:#25d366;box-shadow:0 0 0 3px #25d36626}.ewc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.ewc-btn-whatsapp{background:#25d366;color:#fff}.ewc-btn-whatsapp:hover:not(:disabled){background:#20ba5a;transform:translateY(-1px)}.ewc-btn-outline{background:transparent;border:1px solid var(--border, #cbd5e1);color:var(--text-primary, #334155)}.ewc-btn-outline:hover:not(:disabled){background:var(--surface-secondary, #f8fafc);border-color:var(--text-muted, #94a3b8)}.ewc-btn-danger{background:transparent;border:1px solid rgba(239,68,68,.3);color:#dc2626}.ewc-btn-danger:hover:not(:disabled){background:#ef444414}.ewc-btn:disabled{opacity:.55;cursor:not-allowed}.ewc-prefs-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--border, #e2e8f0)}.ewc-prefs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ewc-prefs-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #0f172a)}.ewc-prefs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ewc-pref-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;transition:border-color .15s ease}.ewc-pref-item:hover{border-color:#cbd5e1}.ewc-pref-label{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);display:flex;align-items:center;gap:8px}.ewc-switch{position:relative;display:inline-block;width:38px;height:20px}.ewc-switch input{opacity:0;width:0;height:0}.ewc-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;transition:.2s;border-radius:20px}.ewc-slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.ewc-switch input:checked+.ewc-slider{background-color:#25d366}.ewc-switch input:checked+.ewc-slider:before{transform:translate(18px)}.ewc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;animation:ewcFadeIn .2s ease-out;box-sizing:border-box}@keyframes ewcFadeIn{0%{opacity:0}to{opacity:1}}.ewc-modal-card{width:100%;max-width:440px;background:var(--surface, #ffffff);border-radius:16px;box-shadow:0 20px 25px -5px #00000040;overflow:hidden;animation:ewcPopIn .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box;margin:auto}@keyframes ewcPopIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.ewc-modal-header{padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);display:flex;justify-content:space-between;align-items:center}.ewc-modal-body{padding:20px;text-align:center}.ewc-otp-boxes{display:flex;justify-content:center;gap:8px;margin:16px 0;max-width:100%}.ewc-otp-box{width:min(44px,12vw);height:min(52px,14vw);border:1.5px solid var(--border, #cbd5e1);border-radius:8px;text-align:center;font-size:min(22px,6vw);font-weight:700;font-family:monospace;background:var(--surface, #ffffff);color:var(--text-primary, #0f172a);outline:none;transition:all .15s ease;padding:0;box-sizing:border-box}.ewc-otp-box:focus{border-color:#25d366;box-shadow:0 0 0 3px #25d36633;transform:translateY(-2px)}.ewc-timer-text{font-size:12.5px;color:var(--text-muted, #64748b);margin-bottom:16px}.ewc-resend-btn{background:none;border:none;color:#0d9488;font-weight:600;font-size:13px;cursor:pointer;padding:4px;text-decoration:underline}.ewc-resend-btn:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}@media (max-width: 600px){.ewc-form-row{flex-direction:column;align-items:stretch;gap:8px}.ewc-country-select,.ewc-phone-input,.ewc-btn{width:100%;min-width:0;box-sizing:border-box}.ewc-otp-boxes{gap:6px}.ewc-prefs-grid{grid-template-columns:1fr}}.pcc-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:20px;overflow:hidden;transition:all .2s ease}.pcc-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.pcc-header{padding:16px 20px;background:linear-gradient(135deg,#0d94880f,#25d3660f);border-bottom:1px solid var(--border, #e2e8f0);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.pcc-header-left{display:flex;align-items:center;gap:12px}.pcc-avatar-badge{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#0d9488,#25d366);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 2px 6px #0d948840}.pcc-title-wrap h3{margin:0;font-size:15.5px;font-weight:700;color:var(--text-primary, #0f172a)}.pcc-title-wrap p{margin:2px 0 0;font-size:12.5px;color:var(--text-muted, #64748b)}.pcc-percentage-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;font-size:13px;font-weight:700;background:#0d94881f;color:#0f766e;border:1px solid rgba(13,148,136,.25)}.pcc-percentage-badge.complete{background:#25d36626;color:#047857;border-color:#25d3664d}.pcc-progress-wrap{height:6px;background:var(--surface-secondary, #f1f5f9);width:100%}.pcc-progress-bar{height:100%;background:linear-gradient(90deg,#0d9488,#25d366);transition:width .4s cubic-bezier(.16,1,.3,1)}.pcc-body{padding:18px 20px}.pcc-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.pcc-section-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface-secondary, #f8fafc);transition:all .15s ease}.pcc-section-item.complete{background:#10b9810a;border-color:#10b98133}.pcc-section-item.pending{background:#f59e0b0a;border-color:#f59e0b40}.pcc-section-info{display:flex;align-items:center;gap:10px}.pcc-status-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.pcc-section-item.complete .pcc-status-icon{background:#10b981;color:#fff}.pcc-section-item.pending .pcc-status-icon{background:#f59e0b;color:#fff}.pcc-section-text h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary, #0f172a)}.pcc-section-text p{margin:2px 0 0;font-size:11.5px;color:var(--text-muted, #64748b)}.pcc-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:14px;border-top:1px solid var(--border, #e2e8f0)}.pcc-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:#25d366;color:#fff;transition:all .15s ease;box-shadow:0 2px 6px #25d36640;text-decoration:none}.pcc-action-btn:hover{background:#20ba5a;transform:translateY(-1px)}.pcc-link-btn{font-size:12.5px;font-weight:600;color:#0d9488;text-decoration:none;background:none;border:none;cursor:pointer}.pcc-link-btn:hover{text-decoration:underline}.pcc-cancel-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);color:var(--text-muted, #64748b);transition:all .15s ease}.pcc-cancel-btn:hover{background:var(--surface-secondary, #f8fafc);color:var(--text-primary, #0f172a);border-color:#cbd5e1}.pcc-close-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:none;color:var(--text-muted, #64748b);font-size:14px;cursor:pointer;transition:all .15s ease}.pcc-close-btn:hover{background:#0000000d;color:var(--text-primary, #0f172a)}@media (max-width: 640px){.pcc-header{padding:12px 14px;gap:10px}.pcc-header-left{gap:10px}.pcc-avatar-badge{width:34px;height:34px;font-size:17px}.pcc-title-wrap h3{font-size:14px}.pcc-title-wrap p{font-size:11.5px}.pcc-percentage-badge{font-size:11.5px;padding:3px 10px}.pcc-body{padding:14px}.pcc-sections-grid{grid-template-columns:1fr;gap:8px;margin-bottom:12px}.pcc-footer{flex-direction:column;align-items:stretch;gap:10px;padding-top:12px}.pcc-footer>div{display:flex;flex-wrap:wrap;gap:8px;width:100%}.pcc-action-btn,.pcc-cancel-btn{flex:1;justify-content:center;text-align:center;padding:8px 12px;font-size:12.5px}}.dashboard{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-6)}.dash-error-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-lg);color:#991b1b;font-size:14px}.btn-retry{background:#dc2626;color:#fff;border:none;padding:6px 16px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s}.btn-retry:hover{background:#b91c1c}.dash-section-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-md);color:#92400e;font-size:13px}.dash-section-error-msg{flex:1}.btn-section-retry{background:#d97706;color:#fff;border:none;padding:4px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.btn-section-retry:hover{background:#b45309}.dash-section-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md);min-height:80px}.dash-empty-state{padding:var(--space-6) var(--space-4);text-align:center;color:var(--slate-400);font-size:14px}.perf-no-deadline{color:var(--slate-500);background:var(--slate-100)}.dash-greeting{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:linear-gradient(135deg,#fff,#f0f9ff);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a}.dash-greeting-text{display:flex;flex-direction:column;gap:2px}.dash-greeting-title{font-size:20px;font-weight:700;color:var(--ink-text);margin:0}.dash-greeting-sub{font-size:14px;color:var(--slate);margin:0}.dash-greeting-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px}.dash-greeting-role{font-weight:700;color:var(--teal-dark);background:var(--teal-50);padding:2px 10px;border-radius:var(--radius-full);font-size:12px}.dash-greeting-sep{color:var(--slate-400)}.dash-greeting-desig,.dash-greeting-dept{color:var(--slate-600);font-weight:500}.dash-greeting-date{font-size:13px;color:var(--slate-500);margin:2px 0 0}.emp-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--slate-100)}.emp-avatar img{border-radius:50%;object-fit:cover}.emp-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;color:#fff;font-weight:700;font-size:14px;letter-spacing:.5px}.emp-avatar-sm .emp-avatar-initials{font-size:11px}.emp-avatar-md .emp-avatar-initials{font-size:14px}.emp-avatar-lg .emp-avatar-initials{font-size:20px}.emp-avatar-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.emp-avatar-status{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.emp-avatar-status.online{background:#22c55e}.emp-avatar-status.offline{background:#94a3b8}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dash-attendance-widget{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a}.dash-att-grid{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.dash-att-item{display:flex;flex-direction:column;gap:2px}.dash-att-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--slate-500);font-weight:600}.dash-att-value{font-size:14px;color:var(--ink-text)}.dash-att-btn{margin-left:auto}.dash-att-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.btn-checkin{background:var(--dash-green-start);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.btn-checkin:hover{background:var(--dash-green-end)}.btn-checkin:active{transform:scale(.97)}.btn-checkout{background:var(--dash-coral-start);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.btn-checkout:hover{background:var(--dash-coral-end)}.btn-checkout:active{transform:scale(.97)}.dash-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-3)}.dash-kpi-card{position:relative;padding:var(--space-4);border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease}.dash-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:16px 16px 0 0}.dash-kpi-green:before{background:linear-gradient(90deg,var(--dash-green-start),var(--dash-green-end))}.dash-kpi-blue:before{background:linear-gradient(90deg,var(--dash-blue-start),var(--dash-blue-end))}.dash-kpi-purple:before{background:linear-gradient(90deg,var(--dash-purple-start),var(--dash-purple-end))}.dash-kpi-orange:before{background:linear-gradient(90deg,var(--dash-orange-start),var(--dash-orange-end))}.dash-kpi-indigo:before{background:linear-gradient(90deg,var(--dash-indigo-start),var(--dash-indigo-end))}.dash-kpi-cyan:before{background:linear-gradient(90deg,var(--dash-cyan-start),var(--dash-cyan-end))}.dash-kpi-coral:before{background:linear-gradient(90deg,var(--dash-coral-start),var(--dash-coral-end))}.dash-kpi-violet:before{background:linear-gradient(90deg,var(--dash-violet-start),var(--dash-violet-end))}.dash-kpi-teal:before{background:linear-gradient(90deg,var(--dash-teal-start),var(--dash-teal-end))}.dash-kpi-clickable{cursor:pointer}.dash-kpi-clickable:hover,.dash-kpi-card[style*="cursor: pointer"]:hover,.dash-kpi-card[style*="cursor:pointer"]:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.dash-kpi-clickable:active{transform:scale(.98)}.dash-kpi-clickable:focus-visible{outline:3px solid var(--teal-200, #99f6e4);outline-offset:2px}.dash-kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dash-kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--slate-500);font-weight:700}.dash-kpi-value{font-size:32px;font-weight:700;color:var(--ink-text);line-height:1.2;margin-bottom:8px}.dash-kpi-subs{display:flex;flex-wrap:wrap;gap:6px 12px;padding-top:8px;border-top:1px solid var(--border)}.dash-kpi-sub{display:flex;align-items:center;gap:4px}.dash-kpi-sub-val{font-weight:700;font-size:13px;color:var(--ink-text)}.dash-kpi-sub-lbl{font-size:11px;color:var(--slate-500)}.dash-cal-sched{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.dash-calendar{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a}.dash-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.dash-cal-month{font-size:16px;font-weight:700;color:var(--ink-text)}.dash-cal-nav{background:var(--slate-100);border:none;width:28px;height:28px;border-radius:var(--radius-md);font-size:18px;cursor:pointer;color:var(--slate-600);transition:background .2s}.dash-cal-nav:hover{background:var(--slate-200)}.dash-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dash-cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--slate-400);padding:4px 0}.dash-cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background .15s;position:relative}.dash-cal-cell.empty{cursor:default}.dash-cal-cell:hover:not(.empty){background:var(--slate-100)}.dash-cal-cell.today{background:var(--teal-50);font-weight:700}.dash-cal-cell.selected{background:var(--teal);color:#fff}.dash-cal-cell.selected .dash-cal-day{color:#fff}.dash-cal-day{font-size:13px;color:var(--ink-text)}.dash-cal-dots{display:flex;gap:2px;margin-top:2px}.dash-cal-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.dash-cal-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.dash-cal-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--slate-600)}.dash-schedule{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;max-height:360px;overflow-y:auto}.dash-sched-title{font-size:16px;font-weight:700;color:var(--ink-text);margin:0 0 var(--space-3)}.dash-sched-empty{color:var(--slate-400);font-size:14px;text-align:center;padding:var(--space-6) 0}.dash-sched-timeline{display:flex;flex-direction:column;gap:0}.dash-sched-item{display:flex;align-items:center;gap:var(--space-3);border-left:3px solid var(--border);padding:10px 0 10px 12px;margin-left:8px;cursor:pointer;transition:background .15s;border-radius:0 6px 6px 0}.dash-sched-item:hover{background:var(--slate-50)}.dash-sched-time{font-size:12px;font-weight:700;color:var(--slate-600);min-width:50px;font-variant-numeric:tabular-nums}.dash-sched-content{flex:1}.dash-sched-name{font-size:14px;font-weight:600;color:var(--ink-text)}.dash-sched-cat{font-size:11px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.4px}.dash-sched-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-sched-status.status-accepted{background:#22c55e}.dash-sched-status.status-in-progress{background:#3b82f6}.dash-sched-status.status-submitted{background:#8b5cf6}.dash-sched-status.status-assigned{background:#f59e0b}.dash-sched-status.status-completed{background:#10b981}.dash-sched-status.status-draft{background:#94a3b8}.dash-sched-status.status-meeting{background:#6366f1}.dash-sched-status.status-public-holiday{background:#ef4444}.dash-section{display:flex;flex-direction:column;gap:var(--space-3)}.dash-section-header{display:flex;align-items:center;justify-content:space-between}.dash-section-title{font-size:16px;font-weight:700;color:var(--ink-text);margin:0}.btn-view-all{background:linear-gradient(135deg,var(--dash-blue-start),var(--dash-blue-end));color:#fff;border:none;padding:6px 16px;border-radius:var(--radius-full);font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s}.btn-view-all:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.btn-view-all:active{transform:scale(.97)}.dash-emp-scroll{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.dash-emp-scroll::-webkit-scrollbar{height:5px}.dash-emp-scroll::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}.dash-emp-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3);min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:box-shadow .2s,transform .15s,border-color .2s;text-align:center}.dash-emp-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--teal);transform:translateY(-2px)}.dash-emp-card:active{transform:scale(.98)}.dash-emp-info{width:100%}.dash-emp-name{font-size:13px;font-weight:700;color:var(--ink-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-emp-desig{font-size:11px;color:var(--slate-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-emp-dept{font-size:11px;color:var(--slate-500)}.dash-emp-state{font-size:10px;font-weight:600;color:#dc2626;background:#fef2f2;padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.4px}.dash-perf-list{display:flex;flex-direction:column;gap:8px}.dash-perf-row{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .2s,border-color .2s}.dash-perf-row:hover{box-shadow:0 2px 8px #0000000f;border-color:var(--teal)}.dash-perf-name{font-size:14px;font-weight:600;color:var(--ink-text);min-width:120px}.dash-perf-stats{display:flex;gap:12px;margin-left:auto}.dash-perf-stat{font-size:12px;font-weight:600;padding:2px 10px;border-radius:var(--radius-full)}.perf-on-track{color:#166534;background:#dcfce7}.perf-overdue{color:#7f1d1d;background:#fee2e2}.perf-met{color:#166534;background:#dcfce7}.dash-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:var(--space-3)}.dash-action-card{display:flex;align-items:center;gap:12px;padding:var(--space-3);border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 3px #0000000a;cursor:pointer;transition:box-shadow .2s,transform .15s,border-color .2s}.dash-action-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.dash-action-card:active{transform:scale(.98)}.dash-action-card:focus-visible{outline:3px solid var(--teal-200, #99f6e4);outline-offset:2px}.dash-action-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dash-action-green .dash-action-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.dash-action-blue .dash-action-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.dash-action-purple .dash-action-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.dash-action-orange .dash-action-icon{background:linear-gradient(135deg,#fed7aa,#fdba74)}.dash-action-indigo .dash-action-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.dash-action-cyan .dash-action-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.dash-action-coral .dash-action-icon{background:linear-gradient(135deg,#fecaca,#fca5a5)}.dash-action-violet .dash-action-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.dash-action-teal .dash-action-icon{background:linear-gradient(135deg,#ccfbf1,#99f6e4)}.dash-action-text{flex:1;min-width:0}.dash-action-name{font-size:14px;font-weight:700;color:var(--ink-text)}.dash-action-desc{font-size:12px;color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-action-count{font-size:11px;font-weight:600;color:var(--teal-dark);margin-top:2px}.dash-activity-list{display:flex;flex-direction:column;gap:2px}.dash-activity-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.dash-activity-item:hover{background:var(--slate-50)}.dash-activity-icon{width:32px;height:32px;border-radius:50%;background:var(--slate-100);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.dash-activity-content{flex:1}.dash-activity-title{font-size:13px;font-weight:600;color:var(--ink-text);text-transform:capitalize}.dash-activity-meta{font-size:11px;color:var(--slate-500)}@media (max-width: 1100px){.dash-kpi-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.dash-cal-sched{grid-template-columns:1fr}.dash-actions-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}}@media (max-width: 768px){.dash-greeting{flex-direction:row;gap:var(--space-3);padding:var(--space-3)}.dash-greeting-title{font-size:16px}.dash-kpi-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.dash-att-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-att-btn{grid-column:1 / -1;margin-left:0;width:100%;min-height:42px;font-size:14px;font-weight:600}.dash-actions-grid{grid-template-columns:1fr 1fr}.dash-perf-stats{flex-wrap:wrap;gap:6px}.dash-perf-name{min-width:80px}}@media (max-width: 480px){.dash-greeting{padding:12px;gap:10px}.dash-greeting-title{font-size:15px;line-height:1.3}.dash-greeting-sub{font-size:12px}.dash-greeting-meta{flex-wrap:wrap;gap:4px;font-size:11.5px}.dash-greeting-role{font-size:11px;padding:2px 8px}.dash-greeting-desig,.dash-greeting-dept{font-size:11.5px}.dash-greeting-date{font-size:11px}.dash-emp-card{min-width:120px}.dash-kpi-row{grid-template-columns:repeat(2,1fr);gap:8px}.dash-kpi-card{padding:10px 12px}.dash-kpi-label{font-size:11.5px}.dash-kpi-value{font-size:22px;margin:2px 0}.dash-kpi-subs{margin-top:4px;gap:4px}.dash-kpi-sub-val{font-size:11.5px}.dash-kpi-sub-lbl{font-size:10px}.dash-att-grid{grid-template-columns:1fr 1fr;gap:10px}.dash-att-label{font-size:10px}.dash-att-value{font-size:12.5px}.dash-actions-grid{grid-template-columns:1fr}}@media (max-width: 350px){.dash-kpi-row,.dash-att-grid{grid-template-columns:1fr}}.dashboard-welcome{margin-bottom:var(--space-2)}.dashboard-greeting{font-size:var(--fs-page-title);font-weight:600;margin:0 0 var(--space-1)}.dashboard-role{font-size:13px;color:var(--slate);margin:0}.dashboard-role-badge{display:inline-block;background:var(--teal-50);color:var(--teal-dark);padding:2px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4)}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad)}.dashboard-card-num{font-family:var(--font-heading);font-size:var(--fs-kpi-num);font-weight:700;color:var(--ink-text)}.dashboard-card-lbl{font-size:11.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.6px;margin-top:var(--space-1)}.dashboard-section{margin-top:var(--space-2)}.dashboard-section-title{font-family:var(--font-heading);font-size:var(--fs-section-title);font-weight:600;margin:0 0 var(--space-3)}.dashboard-status-card{display:flex;flex-direction:column;gap:0;padding:0}.dashboard-status-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);font-size:13px}.dashboard-status-row:last-child{border-bottom:none}.dashboard-status-label{color:var(--slate);font-weight:600}.dashboard-status-value{color:var(--ink-text)}.dashboard-status-excluded{color:var(--rose);font-weight:600}.dashboard-next-text{font-size:13.5px;color:var(--ink-text);line-height:1.6;margin:0}.dashboard-card-interactive{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease;position:relative;outline:none}.dashboard-card-interactive:hover{box-shadow:0 4px 12px #14181f14;border-color:var(--teal)}.dashboard-card-interactive:focus-visible{box-shadow:0 0 0 3px var(--teal-50);border-color:var(--teal)}.dashboard-card-interactive:active{transform:scale(.98)}.dashboard-card-details{display:flex;align-items:center;gap:4px;margin-top:var(--space-2);font-size:11px;color:var(--teal-dark);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.dashboard-card-details svg{width:12px;height:12px}.page-summary{font-size:13px;color:var(--slate);font-weight:600;margin-top:4px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--teal-50, #e6f7f7);color:var(--teal-dark, #0d6b6b);font-size:12px;font-weight:600;border:1px solid var(--teal, #14b8a6)}.filter-chip button{background:none;border:none;cursor:pointer;color:inherit;font-size:14px;font-weight:700;padding:0;line-height:1}.filter-chip button:hover{color:var(--error, #dc2626)}@media (max-width: 700px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{border:1px solid var(--border);border-radius:8px;margin-bottom:var(--space-3);padding:var(--space-2);background:var(--surface)}.data-table td{display:flex;justify-content:space-between;padding:4px 0;border:none;text-align:right}.data-table td:before{content:attr(data-label);font-weight:600;text-align:left;padding-right:var(--space-2);white-space:nowrap}}@media (max-width: 600px){.drilldown-panel{max-width:100%}}.demo-landing-root{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:var(--ink-text, #0f172a);font-family:var(--font-body, system-ui, sans-serif);display:flex;flex-direction:column}.demo-landing-navbar{display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:#fff;border-bottom:1px solid #e2e8f0}.demo-brand-link{display:flex;align-items:center;gap:12px;text-decoration:none}.demo-brand-logo{height:38px;width:auto;object-fit:contain}.demo-brand-badge{font-size:11px;font-weight:700;text-transform:uppercase;background:#e0f2fe;color:#0369a1;padding:2px 8px;border-radius:9999px;letter-spacing:.04em;border:1px solid #bae6fd}.demo-nav-actions{display:flex;align-items:center;gap:16px}.demo-nav-login-link{font-size:14px;font-weight:600;color:#475569;text-decoration:none;padding:8px 14px;border-radius:8px;transition:all .18s ease-out}.demo-nav-login-link:hover{color:#0e6e63;background:#f1f5f9}.demo-landing-container{max-width:1240px;width:100%;margin:0 auto;padding:48px 24px 64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:flex-start;flex:1}.demo-left-column{display:flex;flex-direction:column;gap:32px}.demo-hero-header{display:flex;flex-direction:column;gap:12px}.demo-tagline{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;color:#0e6e63;letter-spacing:.05em;background:#e1f0ec;padding:4px 10px;border-radius:9999px;width:fit-content}.demo-main-title{font-size:38px;font-weight:800;line-height:1.15;color:#0f172a;letter-spacing:-.02em;margin:0}.demo-main-title span{color:#0e6e63}.demo-main-subtitle{font-size:16px;line-height:1.55;color:#475569;margin:0}.demo-benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demo-benefit-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #0000000a}.demo-benefit-icon{font-size:20px;line-height:1}.demo-benefit-title{font-size:14px;font-weight:700;color:#0f172a;margin:0}.demo-benefit-desc{font-size:12px;color:#64748b;line-height:1.4;margin:0}.demo-synthetic-preview{background:#0f172a;color:#fff;border-radius:16px;padding:20px;box-shadow:0 12px 28px -4px #0f172a33;border:1px solid rgba(255,255,255,.1)}.demo-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.demo-preview-title{font-size:13px;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:6px}.demo-preview-pill{font-size:10px;font-weight:700;text-transform:uppercase;background:#10b98133;color:#34d399;border:1px solid rgba(52,211,153,.3);padding:2px 6px;border-radius:9999px}.demo-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.demo-preview-stat-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 8px;text-align:center}.demo-preview-stat-val{font-size:18px;font-weight:800;color:#38bdf8;display:block}.demo-preview-stat-label{font-size:10px;color:#94a3b8;margin-top:2px;display:block}.demo-preview-footnote{font-size:11px;color:#64748b;margin-top:12px;text-align:center}.demo-expired-banner{background:#fef3c7;color:#92400e;border-bottom:1px solid #fde68a;padding:10px 24px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.demo-privacy-callout{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}.demo-privacy-callout-icon{font-size:16px;margin-top:1px}.demo-privacy-callout-text{font-size:11.5px;color:#166534;line-height:1.45;margin:0}.demo-privacy-callout-text strong{color:#14532d}.demo-right-column{position:relative}.demo-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 16px 36px -6px #0f172a1f,0 4px 12px #0f172a0a;padding:32px 28px}.demo-form-header{margin-bottom:20px}.demo-form-title{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 6px}.demo-form-subtitle{font-size:13px;color:#64748b;margin:0;line-height:1.45}.demo-form{display:flex;flex-direction:column;gap:16px}.demo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.demo-field-group{display:flex;flex-direction:column;gap:6px}.demo-label{font-size:12px;font-weight:600;color:#1e293b}.demo-label .required{color:#dc2626;margin-left:2px}.demo-input,.demo-select{height:42px;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px;font-size:13px;color:#0f172a;background:#fff;outline:none;transition:all .16s ease-out}.demo-input:focus,.demo-select:focus{border-color:#0e6e63;box-shadow:0 0 0 3px #0e6e632e}.demo-input.error,.demo-select.error{border-color:#ef4444;background:#fef2f2}.demo-error-msg{font-size:11px;color:#dc2626;font-weight:500}.demo-modules-group{display:flex;flex-direction:column;gap:8px}.demo-modules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-module-chip{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:12px;font-weight:600;color:#334155;transition:all .16s ease-out}.demo-module-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.demo-module-chip.selected{background:#e1f0ec;border-color:#0e6e63;color:#0e6e63}.demo-module-checkbox{accent-color:#0e6e63}.demo-consent-group{display:flex;align-items:flex-start;gap:10px;margin-top:4px}.demo-consent-checkbox{margin-top:3px;accent-color:#0e6e63;width:16px;height:16px;cursor:pointer}.demo-consent-text{font-size:12px;color:#475569;line-height:1.4}.demo-submit-btn{height:46px;background:#0e6e63;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #0e6e6359;transition:all .18s ease-out;margin-top:6px}.demo-submit-btn:hover:not(:disabled){background:#0a544b;transform:translateY(-1px);box-shadow:0 6px 18px #0e6e6373}.demo-submit-btn:disabled{opacity:.7;cursor:not-allowed}.demo-disclaimer{font-size:11px;color:#94a3b8;text-align:center;line-height:1.4;margin:4px 0 0}.demo-exp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:demoFadeIn .2s ease-out}.demo-exp-modal{background:#fff;border-radius:20px;box-shadow:0 24px 48px -12px #0f172a4d;max-width:820px;width:100%;padding:36px 32px;animation:demoScaleUp .22s ease-out}.demo-exp-header{text-align:center;margin-bottom:28px}.demo-exp-badge{font-size:11px;font-weight:700;text-transform:uppercase;color:#0e6e63;background:#e1f0ec;padding:4px 12px;border-radius:9999px;letter-spacing:.05em;display:inline-block;margin-bottom:8px}.demo-exp-title{font-size:26px;font-weight:800;color:#0f172a;margin:0 0 6px}.demo-exp-subtitle{font-size:14px;color:#64748b;margin:0}.demo-exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.demo-exp-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:all .18s ease-out;text-align:left}.demo-exp-card:hover{border-color:#0e6e63;background:#f0fdfa;transform:translateY(-2px);box-shadow:0 8px 20px -4px #0e6e6326}.demo-exp-card.selected{border-color:#0e6e63;background:#e1f0ec;box-shadow:0 0 0 2px #0e6e63}.demo-exp-card-header{display:flex;align-items:center;justify-content:space-between}.demo-exp-icon{font-size:24px}.demo-exp-card-badge{font-size:10px;font-weight:700;text-transform:uppercase;background:#fff;color:#0e6e63;border:1px solid #0e6e63;padding:2px 6px;border-radius:6px}.demo-exp-card-title{font-size:16px;font-weight:700;color:#0f172a;margin:0}.demo-exp-card-desc{font-size:12px;color:#475569;line-height:1.45;margin:0;flex:1}.demo-exp-highlights{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:4px}.demo-exp-highlight-item{font-size:11px;color:#334155;display:flex;align-items:center;gap:6px}.demo-exp-highlight-check{color:#10b981;font-weight:700}.demo-exp-launch-btn{width:100%;height:48px;background:#0e6e63;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px #0e6e6359;transition:all .18s ease-out}.demo-exp-launch-btn:hover{background:#0a544b;transform:translateY(-1px)}@keyframes demoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes demoScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 900px){.demo-landing-navbar{padding:14px 20px}.demo-landing-container{grid-template-columns:1fr;gap:36px;padding:24px 16px 48px}.demo-main-title{font-size:28px}.demo-form-row,.demo-exp-grid{grid-template-columns:1fr}.demo-exp-modal{padding:24px 18px}}.page{display:flex;flex-direction:column;gap:var(--section-gap)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.page-title{font-family:var(--font-heading);font-size:var(--fs-page-title);font-weight:600;margin:0}.page-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-body{padding:var(--card-pad)}.card-header{padding:var(--space-4) var(--card-pad);border-bottom:1px solid var(--border);font-family:var(--font-heading);font-size:var(--fs-card-title);font-weight:600}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.data-table{width:100%;border-collapse:collapse;font-size:var(--table-density)}table.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;color:var(--slate);text-transform:uppercase;font-size:11px;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}table.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr:hover{background:var(--paper)}.tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;white-space:nowrap}.tag-teal{background:var(--teal-50);color:var(--teal-dark)}.tag-amber{background:var(--amber-50);color:var(--amber-500)}.tag-rose{background:var(--rose-50);color:var(--rose-500)}.tag-gray{background:var(--slate-100);color:var(--slate-600)}.tag-ink{background:var(--ink);color:#fff}.priority-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.priority-low{background:#dcfce7;color:#166534;border-color:#86efac}.priority-medium{background:#fef3c7;color:#92400e;border-color:#fcd34d}.priority-high{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.priority-critical{background:#7f1d1d;color:#fff;border-color:#450a0a}.perf-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.perf-met{background:#dcfce7;color:#166534;border-color:#86efac}.perf-missed{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.perf-overdue{background:#7f1d1d;color:#fff;border-color:#450a0a}.perf-ontrack{background:var(--slate-100);color:var(--slate-600);border-color:var(--slate-300)}.perf-nodata{background:var(--slate-100);color:var(--slate-600);border-color:var(--border)}.perf-accent-met{border-left:3px solid #166534!important}.perf-accent-overdue{border-left:3px solid #7F1D1D!important}.status-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.status-acceptance-pending{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-accepted{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.status-in-progress{background:#ccfbf1;color:#115e59;border-color:#5eead4}.status-submitted{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.status-revision-required{background:#ffedd5;color:#9a3412;border-color:#fdba74}.status-completed{background:#dcfce7;color:#166534;border-color:#86efac}.status-reassignment-requested{background:#fef3c7;color:#b45309;border-color:#fbbf24}.status-rejected{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.status-cancelled{background:var(--slate-100);color:var(--slate-500);border-color:var(--slate-300)}.btn-accept{background:#16a34a;border-color:#16a34a;color:#fff}.btn-accept:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-start{background:#2563eb;border-color:#2563eb;color:#fff}.btn-start:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.btn-progress{background:#2563eb;border-color:#2563eb;color:#fff}.btn-progress:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.btn-submit{background:#7c3aed;border-color:#7c3aed;color:#fff}.btn-submit:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.btn-review{background:#4f46e5;border-color:#4f46e5;color:#fff}.btn-review:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.btn-reassign{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn-reassign:hover:not(:disabled){background:#d97706;border-color:#d97706}.btn-revision{background:#ea580c;border-color:#ea580c;color:#fff}.btn-revision:hover:not(:disabled){background:#c2410c;border-color:#c2410c}.btn-complete{background:#16a34a;border-color:#16a34a;color:#fff}.btn-complete:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-cancel-action{background:#dc2626;border-color:#dc2626;color:#fff}.btn-cancel-action:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-delete{background:#7f1d1d;border-color:#7f1d1d;color:#fff}.btn-delete:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.btn-back{background:var(--surface);color:var(--slate-600);border-color:var(--border)}.btn-back:hover:not(:disabled){background:var(--paper);border-color:var(--slate-300)}.employee-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.employee-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.employee-card-header{display:flex;align-items:center;gap:var(--space-2)}.employee-card-name{font-weight:700;font-size:15px}.employee-card-meta{font-size:12.5px;color:var(--slate)}.employee-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.employee-stat{text-align:center;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--paper)}.employee-stat-num{font-size:18px;font-weight:700}.employee-stat-lbl{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}.timeline-section{margin-bottom:var(--space-5)}.timeline-section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--border)}.timeline-section-title{font-size:15px;font-weight:700}.timeline-section-count{font-size:13px;font-weight:600;color:var(--slate);background:var(--paper);padding:2px 10px;border-radius:var(--radius-full)}.task-card-mobile{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;background:var(--surface)}.task-card-mobile:hover{border-color:var(--teal)}.task-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-2)}.tab-bar{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.tab-btn{padding:var(--space-2) var(--space-4);font-size:13px;font-weight:600;background:none;border:none;border-bottom:2px solid transparent;color:var(--slate);cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--ink-text)}.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal)}.calls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (max-width: 600px){.calls-grid{grid-template-columns:1fr}}.photo-proof-note{display:flex;align-items:center;gap:6px;color:#b42318;font-weight:600;font-size:13px;margin-top:var(--space-2);margin-bottom:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:var(--radius-sm);font-size:13px;font-weight:600;min-height:var(--field-height);transition:all var(--transition-fast);cursor:pointer}.btn:hover:not(:disabled){background:var(--teal-dark);border-color:var(--teal-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--ink-text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--paper);border-color:var(--slate-300)}.btn-danger{background:var(--rose);border-color:var(--rose);color:#fff}.btn-danger:hover:not(:disabled){background:var(--rose-500);border-color:var(--rose-500)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:12px;min-height:36px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field label{font-size:var(--fs-label);font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}.form-field input,.form-field select,.form-field textarea{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-body);font-family:inherit;width:100%;min-height:var(--field-height);box-sizing:border-box}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--teal);outline-offset:-1px;border-color:var(--teal)}.form-field-full{grid-column:1 / -1}.form-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4);flex-wrap:wrap}.form-error{background:var(--rose-50);color:var(--rose-500);border:1px solid var(--rose-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:12.5px}.form-success{background:var(--teal-50);color:var(--teal-dark);border:1px solid var(--teal-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:12.5px}.empty-state{padding:var(--space-8);text-align:center;color:var(--slate)}.empty-state-icon{font-size:28px;margin-bottom:var(--space-2)}.empty-state-text{font-size:13.5px}.loading-state{padding:var(--space-8);text-align:center;color:var(--slate);font-size:13.5px}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-6)}.error-boundary-content{max-width:480px;text-align:center}.error-boundary-content h2{font-size:var(--fs-section-title);margin-bottom:var(--space-3);color:var(--ink-text)}.error-boundary-help{color:var(--slate);font-size:var(--fs-body);margin-bottom:var(--space-5)}.error-boundary-details{text-align:left;margin-bottom:var(--space-4);background:var(--slate-50);border-radius:var(--radius-md);padding:var(--space-3)}.error-boundary-details summary{cursor:pointer;font-size:var(--fs-label);color:var(--slate)}.error-boundary-details pre{font-family:var(--font-mono);font-size:11px;margin-top:var(--space-2);white-space:pre-wrap;word-break:break-all;color:var(--rose-500)}.error-boundary-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.error-boundary-actions .btn-primary,.error-boundary-actions .btn-secondary{min-height:var(--field-height);padding:0 var(--space-5);border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.error-boundary-actions .btn-primary{background:var(--teal);color:#fff;border:1px solid var(--teal)}.error-boundary-actions .btn-secondary{background:var(--surface);color:var(--ink-text);border:1px solid var(--border)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4)}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad)}.kpi-num{font-family:var(--font-heading);font-size:var(--fs-kpi-num);font-weight:700}.kpi-lbl{font-size:var(--fs-label);color:var(--slate);text-transform:uppercase;letter-spacing:.6px;margin-top:var(--space-1)}.info-list{display:flex;flex-direction:column}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--card-pad);border-bottom:1px solid var(--border);font-size:var(--fs-body);gap:var(--space-3)}.info-row:last-child{border-bottom:none}.info-label{color:var(--slate);font-weight:600;flex-shrink:0}.info-value{color:var(--ink-text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;padding-bottom:max(16px,var(--safe-bottom));box-sizing:border-box}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:var(--modal-width);width:100%;max-height:min(90vh,90dvh);overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;margin:auto}.modal-header{padding:16px 20px;font-family:var(--font-heading);font-size:var(--fs-section-title);font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:2;box-sizing:border-box}.modal-body{padding:20px;box-sizing:border-box}.modal-footer{padding:0 20px 20px;display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:0;background:var(--surface);box-sizing:border-box}.modal-close{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;font-size:16px;font-weight:700;color:var(--slate);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;margin-left:auto;flex-shrink:0}.modal-close:hover{background:#e2e8f0;color:var(--ink-text)}@media (max-width: 1023px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 769px){.team-tasks-desktop{display:block}.team-tasks-mobile{display:none}}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.team-tasks-desktop{display:none}.team-tasks-mobile{display:flex;flex-direction:column;gap:var(--space-3)}.task-card-mobile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:box-shadow var(--transition-fast)}.task-card-mobile:hover{box-shadow:var(--shadow-sm)}.task-card-mobile:active{box-shadow:var(--shadow-md)}.modal-overlay{padding:12px;align-items:center;justify-content:center}.modal{max-width:calc(100vw - 24px);width:100%;max-height:88dvh;border-radius:16px;margin:auto}.modal-header,.modal-body{padding:14px 16px}.modal-footer{padding:0 16px 14px;padding-bottom:max(14px,var(--safe-bottom))}.page-header{flex-direction:column;align-items:stretch;gap:10px}.page-title{font-size:18px}.page-actions{width:100%;justify-content:flex-start;gap:8px}.page-actions .btn{flex:1;min-width:120px;justify-content:center;text-align:center}.dash-metric-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:10px}.card-body{padding:var(--space-3)}.card-header{padding:var(--space-3);font-size:14px}.tabs-container,.tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.tabs-container::-webkit-scrollbar,.tab-nav::-webkit-scrollbar{display:none}}.leave-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-sm);font-size:11.5px;font-weight:600;white-space:nowrap}.leave-badge.draft{background:var(--border);color:var(--slate)}.leave-badge.pending_manager{background:#fef3c7;color:#92400e}.leave-badge.pending_hr{background:#dbeafe;color:#1e40af}.leave-badge.approved{background:#d1fae5;color:#065f46}.leave-badge.rejected{background:#fee2e2;color:#991b1b}.leave-badge.cancelled{background:#e5e7eb;color:#4b5563}.leave-badge.withdrawn{background:#f3f4f6;color:#6b7280}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--space-4)}.calendar-grid-header{text-align:center;font-size:11px;font-weight:700;color:var(--slate);padding:6px 0;text-transform:uppercase;letter-spacing:.05em}.calendar-cell{min-height:80px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);display:flex;flex-direction:column;gap:2px}.calendar-cell:hover{border-color:var(--teal);background:var(--paper)}.calendar-cell-sunday{background:#fafaf8}.calendar-cell-out{opacity:.35;cursor:default}.calendar-cell-out:hover{border-color:var(--border);background:transparent}.calendar-cell-today{border-color:var(--teal);border-width:2px}.calendar-date-num{font-size:12px;font-weight:600;color:var(--ink-text)}.calendar-event-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:2px}.calendar-event-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.calendar-event-item{font-size:10px;padding:2px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-balance-card{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.leave-balance-label{font-size:12px;color:var(--slate);margin-bottom:4px}.leave-balance-value{font-size:var(--fs-kpi-num);font-weight:700;color:var(--ink-text)}.leave-balance-detail{font-size:11px;color:var(--slate);margin-top:4px}@media (max-width: 600px){.calendar-cell{min-height:48px;padding:2px 3px}.calendar-event-item{display:none}.calendar-cell.has-events:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-top:2px}}.eah-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;justify-content:flex-end;animation:eahFadeIn .2s ease-out}@keyframes eahFadeIn{0%{opacity:0}to{opacity:1}}.eah-drawer-panel{width:100%;max-width:680px;height:100%;background-color:var(--surface, #ffffff);color:var(--text-primary, #0f172a);box-shadow:-10px 0 40px #0000002e;display:flex;flex-direction:column;z-index:1000;animation:eahSlideIn .25s cubic-bezier(.16,1,.3,1)}@keyframes eahSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.eah-header{padding:18px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:linear-gradient(135deg,#0d94880f,#0284c70f);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.eah-profile-wrap{display:flex;align-items:center;gap:14px}.eah-profile-info{display:flex;flex-direction:column;gap:2px}.eah-emp-name{font-size:17px;font-weight:700;color:var(--text-primary, #0f172a)}.eah-emp-meta{font-size:12px;color:var(--text-muted, #64748b);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.eah-emp-code-badge{font-family:monospace;font-size:11px;font-weight:700;background:#0d94881a;color:#0d9488;padding:2px 6px;border-radius:4px}.eah-close-btn{background:none;border:none;font-size:20px;color:var(--text-muted, #64748b);cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s ease}.eah-close-btn:hover{background:#0000000d;color:var(--text-primary, #0f172a)}.eah-controls-bar{padding:12px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-secondary, #f8fafc);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;flex-wrap:wrap}.eah-month-nav{display:flex;align-items:center;gap:8px}.eah-nav-arrow-btn{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600;color:var(--text-secondary, #475569);cursor:pointer;transition:all .15s}.eah-nav-arrow-btn:hover{background:var(--surface-secondary, #f1f5f9);border-color:#cbd5e1}.eah-month-select{padding:6px 10px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);font-weight:600;font-size:13px;color:var(--text-primary, #0f172a);cursor:pointer}.eah-view-toggles{display:flex;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:2px}.eah-toggle-btn{padding:5px 12px;font-size:12.5px;font-weight:600;border:none;background:none;color:var(--text-muted, #64748b);border-radius:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:5px}.eah-toggle-btn.active{background:#0d9488;color:#fff;box-shadow:0 1px 3px #0d94884d}.eah-content-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:18px}.eah-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 600px){.eah-kpi-grid{grid-template-columns:repeat(2,1fr)}}.eah-kpi-card{padding:10px 12px;border-radius:10px;background:var(--surface-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:4px}.eah-kpi-label{font-size:11px;font-weight:600;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.3px}.eah-kpi-val{font-size:18px;font-weight:800;color:var(--text-primary, #0f172a)}.eah-kpi-card.present{background:#10b98114;border-color:#10b98140}.eah-kpi-card.present .eah-kpi-val{color:#059669}.eah-kpi-card.absent{background:#ef444414;border-color:#ef444440}.eah-kpi-card.absent .eah-kpi-val{color:#dc2626}.eah-kpi-card.half-day{background:#f59e0b14;border-color:#f59e0b40}.eah-kpi-card.half-day .eah-kpi-val{color:#d97706}.eah-kpi-card.pct{background:linear-gradient(135deg,#0d94881f,#0284c71f);border-color:#0d94884d}.eah-kpi-card.pct .eah-kpi-val{color:#0d9488}.eah-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--surface, #ffffff)}.eah-table{width:100%;border-collapse:collapse;font-size:12.5px;text-align:left}.eah-table th{padding:10px 12px;background:var(--surface-secondary, #f8fafc);color:var(--text-secondary, #475569);font-weight:700;border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.eah-table td{padding:10px 12px;border-bottom:1px solid var(--border, #f1f5f9);color:var(--text-primary, #0f172a);white-space:nowrap}.eah-table tr:hover td{background:#0d948808}.eah-table tr.today-row td{background:#0284c70a}.eah-status-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.eah-status-pill.success{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.eah-status-pill.warning{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.3)}.eah-status-pill.danger{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.eah-status-pill.info{background:#0284c71f;color:#0284c7;border:1px solid rgba(2,132,199,.3)}.eah-status-pill.neutral{background:#64748b1a;color:#64748b;border:1px solid rgba(100,116,139,.2)}.eah-cal-wrap{border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--surface, #ffffff);padding:14px}.eah-cal-header-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:11.5px;font-weight:700;color:var(--text-muted, #64748b);margin-bottom:8px}.eah-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.eah-cal-day-cell{min-height:64px;padding:6px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface-secondary, #f8fafc);display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .15s ease}.eah-cal-day-cell:hover{border-color:#0d9488;box-shadow:0 2px 8px #0d94881f;transform:translateY(-1px)}.eah-cal-day-cell.selected{border-color:#0d9488;background:#0d948814;box-shadow:0 0 0 2px #0d94884d}.eah-cal-day-cell.empty{background:none;border-color:transparent;cursor:default}.eah-cal-day-cell.is-today{border-color:#0284c7;box-shadow:0 0 0 1px #0284c7}.eah-cal-day-top{display:flex;justify-content:space-between;align-items:center}.eah-cal-day-num{font-size:12px;font-weight:700;color:var(--text-primary, #0f172a)}.eah-cal-dot{width:7px;height:7px;border-radius:50%}.eah-cal-dot.success{background:#10b981}.eah-cal-dot.warning{background:#f59e0b}.eah-cal-dot.danger{background:#ef4444}.eah-cal-dot.info{background:#0284c7}.eah-cal-dot.neutral{background:#94a3b8}.eah-cal-status-text{font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eah-day-detail-box{padding:12px 14px;border-radius:8px;background:var(--surface-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:6px}.eah-footer{padding:14px 24px;border-top:1px solid var(--border, #e2e8f0);background:var(--surface-secondary, #f8fafc);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.eah-history-link-btn{background:none;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:600;color:#0d9488;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.eah-history-link-btn:hover{background:#0d948814;border-color:#0d9488}.atm-emp-name-interactive{font-weight:600;color:var(--text-primary, #0f172a);cursor:pointer;transition:color .15s;display:inline-flex;align-items:center;gap:4px}.atm-emp-name-interactive:hover{color:#0d9488;text-decoration:underline}.atm-history-action-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(13,148,136,.3);background:#0d948814;color:#0d9488;font-size:11.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s}.atm-history-action-btn:hover{background:#0d9488;color:#fff}.att-mgmt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;position:relative}.att-mgmt-table{width:100%;border-collapse:collapse;font-size:var(--table-density, 13px);min-width:960px}.att-mgmt-table th,.att-mgmt-table td{padding:var(--space-3, 10px) var(--space-4, 16px);border-bottom:1px solid var(--border, #e5e7eb);vertical-align:middle;background:var(--surface, #fff);white-space:nowrap}.att-mgmt-table th{text-align:left;font-weight:600;color:var(--slate, #64748b);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.att-mgmt-table tbody tr:last-child td{border-bottom:none}.att-mgmt-table tbody tr:hover td{background:var(--paper, #f8fafc)}.att-mgmt-table thead th{position:sticky;top:0;z-index:3;background:var(--surface, #fff);box-shadow:0 1px 0 var(--border, #e5e7eb)}.att-mgmt-table th.sticky-right,.att-mgmt-table td.sticky-right{position:sticky;right:0;z-index:2;background:var(--surface, #fff)}.att-mgmt-table th.sticky-evidence,.att-mgmt-table td.sticky-evidence{position:sticky;z-index:2;background:var(--surface, #fff)}.att-mgmt-table th.sticky-divider,.att-mgmt-table td.sticky-divider{box-shadow:-4px 0 8px -2px #0000001a;border-left:1px solid var(--border, #e5e7eb)}.att-mgmt-table thead th.sticky-right,.att-mgmt-table thead th.sticky-evidence{z-index:4}.att-mgmt-table tbody tr:hover td.sticky-right,.att-mgmt-table tbody tr:hover td.sticky-evidence{background:var(--paper, #f8fafc)}.att-mgmt-evidence-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.att-mgmt-no-evidence{color:var(--slate, #94a3b8);font-size:12px;font-style:italic}.att-mgmt-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}@media (min-width: 768px) and (max-width: 1199px){.att-mgmt-table{min-width:820px}.att-mgmt-table th,.att-mgmt-table td{padding:8px 10px;font-size:12px}}@media (max-width: 767px){.att-mgmt-table-wrap{display:none}.att-mgmt-cards{display:flex;flex-direction:column;gap:12px}.att-mgmt-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.att-mgmt-card-top{display:flex;align-items:center;gap:12px}.att-mgmt-card-identity{flex:1;min-width:0}.att-mgmt-card-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-mgmt-card-code{font-size:11px;color:var(--slate, #64748b);font-family:var(--font-mono, monospace);margin-top:2px}.att-mgmt-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.att-mgmt-card-row{display:flex;flex-direction:column;gap:1px}.att-mgmt-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--slate, #94a3b8);font-weight:600}.att-mgmt-card-value{font-size:13px;font-family:var(--font-mono, monospace)}.att-mgmt-card-actions{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border, #e5e7eb)}.att-mgmt-card-actions .btn{flex:1;justify-content:center;font-size:12px;padding:7px 10px}}@media (min-width: 768px){.att-mgmt-cards{display:none}}.mas-float-scroll-wrap{position:sticky;bottom:0;z-index:10;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px #00000014;overflow-x:auto;overflow-y:hidden;display:none}.mas-float-scroll-wrap.visible{display:block}.mas-float-scroll-inner{height:1px}.mas-page{display:flex;flex-direction:column;gap:var(--section-gap)}.mas-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-3)}.mas-title{font-family:var(--font-heading);font-size:var(--fs-page-title);font-weight:700;color:var(--ink);margin:0}.mas-subtitle{font-size:13px;color:var(--slate);margin-top:2px}.mas-filter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--card-pad);display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.mas-filter-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.mas-filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--slate)}.mas-filter-field select,.mas-filter-field input{height:38px;font-size:13px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--ink-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.mas-filter-field select:focus,.mas-filter-field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-50)}.mas-filter-field input[type=number]{width:96px}.mas-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.mas-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.mas-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1060px}.mas-table thead th{background:#1a2437;color:#c8d2e0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px;white-space:nowrap;border-bottom:2px solid #0e1929;position:sticky;top:0;z-index:3}.mas-table thead th.sticky-left-1,.mas-table thead th.sticky-left-2{z-index:5}.mas-table thead th.col-center{text-align:center}.mas-table thead th.col-left{text-align:left}.mas-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;background:var(--surface);color:var(--ink-text);font-size:13px}.mas-table tbody tr:last-child td{border-bottom:none}.mas-table tbody tr:hover td{background:#f8fafc}.mas-table th.sticky-left-1,.mas-table td.sticky-left-1{position:sticky;left:0;z-index:2;background:var(--surface)}.mas-table thead th.sticky-left-1{background:#1a2437}.mas-table th.sticky-left-2,.mas-table td.sticky-left-2{position:sticky;left:108px;z-index:2;background:var(--surface)}.mas-table thead th.sticky-left-2{background:#1a2437}.mas-table td.sticky-left-2,.mas-table th.sticky-left-2{box-shadow:4px 0 8px -2px #0000001a;border-right:1px solid var(--border)}.mas-table tbody tr:hover td.sticky-left-1,.mas-table tbody tr:hover td.sticky-left-2,.mas-table tbody tr:hover td.sticky-right{background:#f8fafc}.mas-table th.sticky-right,.mas-table td.sticky-right{position:sticky;right:0;z-index:2;background:var(--surface);box-shadow:-4px 0 8px -2px #0000001a;border-left:1px solid var(--border)}.mas-table thead th.sticky-right{background:#1a2437;z-index:5}.mas-emp-code{display:inline-block;background:var(--slate-100);color:var(--slate-600);font-family:var(--font-mono);font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.3px}.mas-emp-cell{display:flex;align-items:center;gap:9px;min-width:160px;max-width:210px}.mas-emp-name{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mas-branch-text{font-size:12px;color:var(--slate);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.mas-dept-text{font-size:12px;color:var(--slate-500);white-space:nowrap}.mas-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap;min-width:36px}.mas-badge-neutral{background:var(--slate-50);color:var(--slate-600)}.mas-badge-green{background:#dcfce7;color:#15803d}.mas-badge-amber{background:#fef9c3;color:#92400e}.mas-badge-red{background:#fee2e2;color:#b91c1c}.mas-badge-blue{background:#dbeafe;color:#1d4ed8}.mas-badge-purple{background:#ede9fe;color:#6d28d9}.mas-badge-gray{background:var(--slate-100);color:var(--slate-600)}.mas-badge-warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.mas-badge-zero{background:transparent;color:var(--slate-300);font-weight:400}.mas-pct-cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:90px}.mas-pct-bar-wrap{width:72px;height:6px;background:var(--slate-100);border-radius:var(--radius-full);overflow:hidden}.mas-pct-bar{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.mas-pct-bar-green{background:#16a34a}.mas-pct-bar-teal{background:var(--teal)}.mas-pct-bar-amber{background:var(--amber)}.mas-pct-bar-red{background:var(--rose)}.mas-pct-label{font-size:12px;font-weight:700}.mas-pct-label-green{color:#15803d}.mas-pct-label-teal{color:var(--teal-dark)}.mas-pct-label-amber{color:#92400e}.mas-pct-label-red{color:#b91c1c}.mas-empty{text-align:center;padding:var(--space-8);color:var(--slate);font-size:14px}.mas-form-error{background:var(--rose-50);color:var(--rose-400);border:1px solid var(--rose-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:13px}.mas-row-count{font-size:12px;color:var(--slate);padding:var(--space-2) var(--card-pad);border-top:1px solid var(--border);background:var(--slate-50)}@media (max-width: 767px){.mas-table-wrap{display:none}.mas-mobile-cards{display:flex;flex-direction:column;gap:12px;padding:var(--space-3)}.mas-mobile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.mas-mobile-card-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#1a2437;color:#e8edf5}.mas-mobile-card-identity{flex:1;min-width:0}.mas-mobile-emp-name{font-weight:700;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mas-mobile-emp-code{font-family:var(--font-mono);font-size:11px;color:#8ea4c0;margin-top:1px}.mas-mobile-meta{font-size:11px;color:#8ea4c0;padding:6px 14px;border-bottom:1px solid var(--border);background:#f8fafc;display:flex;gap:var(--space-4);flex-wrap:wrap}.mas-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.mas-mobile-stat{display:flex;flex-direction:column;align-items:center;padding:10px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.mas-mobile-stat:nth-child(2n){border-right:none}.mas-mobile-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--slate);margin-bottom:4px}.mas-mobile-pct{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--slate-50)}.mas-mobile-pct-label{font-size:11px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}.mas-mobile-pct-right{display:flex;align-items:center;gap:8px}.mas-mobile-bar-wrap{width:80px;height:6px;background:var(--slate-200);border-radius:var(--radius-full);overflow:hidden}.mas-mobile-bar{height:100%;border-radius:var(--radius-full)}}@media (min-width: 768px){.mas-mobile-cards{display:none}}@media (min-width: 768px) and (max-width: 1199px){.mas-table{font-size:12px;min-width:900px}.mas-table tbody td,.mas-table thead th{padding:9px}.mas-emp-cell{min-width:130px;max-width:170px}.mas-badge{font-size:11px;padding:3px 7px;min-width:28px}}.ec-subtitle{font-size:.85rem;color:var(--text-secondary, #64748b);margin-top:2px}.ec-panel{margin-bottom:var(--space-4, 1.5rem)}.ec-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border-color, #e2e8f0)}.ec-panel-header h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.ec-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3, 1rem);margin-bottom:var(--space-4, 1.5rem)}.ec-emp-field{grid-column:1 / -1}@media (min-width: 900px){.ec-emp-field{grid-column:auto}}.ec-required{color:#ef4444;margin-left:2px}.ec-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-3, 1rem)}.ec-download-btn{display:flex;align-items:center;gap:8px;font-size:.9rem;padding:10px 20px}.ec-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ec-spin .6s linear infinite}@keyframes ec-spin{to{transform:rotate(360deg)}}.ec-tip{font-size:.8rem;color:var(--text-secondary, #64748b);background:var(--surface-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-left:3px solid var(--accent, #2563eb);border-radius:6px;padding:10px 14px;line-height:1.6}.ec-tip code{background:#e0e7ff;color:#3730a3;padding:1px 5px;border-radius:3px;font-size:.78rem}.ec-alert{padding:10px 14px;border-radius:6px;font-size:.85rem;margin-bottom:14px;border-left-width:3px;border-left-style:solid}.ec-alert-error{background:#fef2f2;color:#991b1b;border-left-color:#ef4444}.ec-alert-success{background:#f0fdf4;color:#166534;border-left-color:#22c55e}.ec-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ec-badge-completed{background:#dcfce7;color:#166534}.ec-badge-failed{background:#fee2e2;color:#991b1b}.ec-badge-processing{background:#dbeafe;color:#1d4ed8}.ec-badge-queued{background:#fef9c3;color:#854d0e}.ec-history-table th,.ec-history-table td{font-size:.82rem;padding:8px 10px}.ec-tbl-btn{font-size:.72rem!important;padding:4px 10px!important}.ec-tbl-btn-danger{color:#dc2626!important;border-color:#fca5a5!important}.ec-emp-picker{position:relative;width:100%}.ec-emp-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--input-bg, #ffffff);border:1px solid var(--border-color, #cbd5e1);border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--text-primary, #1e293b);text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.ec-emp-trigger:hover{border-color:var(--accent, #2563eb)}.ec-emp-trigger:focus-visible,.ec-emp-trigger[aria-expanded=true]{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 3px #2563eb26}.ec-emp-arrow{margin-left:auto;font-size:.65rem;color:var(--text-secondary, #64748b);transition:transform .2s ease;display:inline-block}.ec-emp-trigger[aria-expanded=true] .ec-emp-arrow{transform:rotate(180deg)}.ec-emp-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:310px;min-width:290px;max-width:320px;z-index:1000;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #cbd5e1);border-radius:8px;box-shadow:0 10px 32px #0f172a29,0 2px 6px #0f172a14;max-height:370px;display:flex;flex-direction:column;overflow:hidden;animation:ec-dropdown-in .15s ease-out}@keyframes ec-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ec-emp-search-wrap{position:sticky;top:0;z-index:2;background:var(--surface-secondary, #f8fafc);padding:6px 8px;border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center}.ec-emp-search{width:100%;padding:6px 10px;border:1px solid var(--border-color, #cbd5e1);border-radius:6px;font-size:.83rem;color:var(--text-primary, #1e293b);background:var(--input-bg, #ffffff);outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.ec-emp-search:focus{border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px #2563eb26}.ec-emp-list{list-style:none;margin:0;padding:2px 0;max-height:285px;overflow-y:auto;overflow-x:hidden;flex:1}.ec-emp-item{padding:0}.ec-emp-item label{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:.82rem;color:var(--text-primary, #1e293b);transition:background .1s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-emp-item label:hover{background:var(--surface-secondary, #f1f5f9)}.ec-emp-item.is-selected label{background:#2563eb14}.ec-emp-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent, #2563eb);flex-shrink:0}.ec-emp-all{border-bottom:1px solid var(--border-color, #e2e8f0);margin-bottom:2px}.ec-emp-all label{font-weight:600;color:var(--text-primary, #0f172a)}.ec-emp-loading{padding:14px;font-size:.82rem;color:var(--text-secondary, #64748b);text-align:center}.ec-emp-footer{padding:6px 10px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--surface-secondary, #f8fafc);display:flex;align-items:center;justify-content:space-between}.ec-emp-summary{font-size:.76rem;color:var(--text-secondary, #64748b);font-weight:500}:root{--erp-primary: #0F766E;--erp-success: #22C55E;--erp-danger: #EF4444;--erp-warning: #F59E0B;--erp-info: #3B82F6;--erp-bg: #F8FAFC;--erp-card: #FFFFFF;--erp-text-main: #1E293B;--erp-text-muted: #64748B;--erp-border: #E2E8F0;--erp-radius: 14px;--erp-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .03);--erp-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04)}.erp-dashboard{display:flex;flex-direction:column;gap:32px;padding:24px 32px;background-color:var(--erp-bg);min-height:100vh;font-family:Inter,system-ui,sans-serif;color:var(--erp-text-main)}.erp-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--erp-border);padding-bottom:16px}.erp-page-title{font-size:28px;font-weight:700;margin:0 0 4px;letter-spacing:-.5px;color:var(--erp-text-main)}.erp-page-subtitle{font-size:14px;color:var(--erp-text-muted);margin:0}.erp-section{display:flex;flex-direction:column;gap:16px}.erp-section-title{font-size:18px;font-weight:600;color:var(--erp-text-main);margin:0;display:flex;align-items:center;gap:8px}.erp-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.erp-layout-main{display:grid;grid-template-columns:2fr 1fr;gap:24px}.erp-card{background:var(--erp-card);border-radius:var(--erp-radius);border:1px solid rgba(255,255,255,.5);box-shadow:var(--erp-shadow);padding:20px;transition:all .3s ease;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.erp-card:hover{box-shadow:var(--erp-shadow-hover);transform:translateY(-2px)}.erp-kpi{display:flex;flex-direction:column;gap:12px}.erp-kpi-header{display:flex;justify-content:space-between;align-items:center}.erp-kpi-label{font-size:13px;font-weight:600;color:var(--erp-text-muted);text-transform:uppercase;letter-spacing:.5px}.erp-kpi-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--erp-bg)}.erp-kpi-value{font-size:32px;font-weight:700;color:var(--erp-text-main);line-height:1}.erp-kpi-footer{display:flex;align-items:center;gap:8px;font-size:13px}.erp-kpi-trend.up{color:var(--erp-success)}.erp-kpi-trend.down{color:var(--erp-danger)}.erp-kpi-trend.neutral{color:var(--erp-text-muted)}.erp-progress-tracker{display:flex;justify-content:space-between;align-items:center;position:relative;padding:20px 10px}.erp-progress-tracker:before{content:"";position:absolute;top:50%;left:30px;right:30px;height:2px;background:var(--erp-border);z-index:1}.erp-step{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;position:relative}.erp-step-circle{width:32px;height:32px;border-radius:50%;background:var(--erp-card);border:2px solid var(--erp-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--erp-text-muted);transition:all .3s ease}.erp-step.active .erp-step-circle{border-color:var(--erp-primary);background:var(--erp-primary);color:#fff;box-shadow:0 0 0 4px #0f766e33}.erp-step.completed .erp-step-circle{border-color:var(--erp-success);background:var(--erp-success);color:#fff}.erp-step-label{font-size:13px;font-weight:600;color:var(--erp-text-muted)}.erp-step.active .erp-step-label{color:var(--erp-primary)}.erp-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.erp-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;background:var(--erp-card);border:1px solid var(--erp-border);border-radius:var(--erp-radius);cursor:pointer;transition:all .2s ease;color:var(--erp-text-main);text-decoration:none}.erp-action-btn:hover{background:var(--erp-primary);color:#fff;border-color:var(--erp-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0f766e33}.erp-action-btn-icon{font-size:28px}.erp-action-btn-label{font-size:14px;font-weight:600;text-align:center}.erp-timeline{display:flex;flex-direction:column;gap:16px}.erp-timeline-item{display:flex;gap:16px}.erp-timeline-icon{width:36px;height:36px;border-radius:50%;background:var(--erp-bg);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid var(--erp-border)}.erp-timeline-content{display:flex;flex-direction:column;gap:4px}.erp-timeline-title{font-size:14px;font-weight:600;color:var(--erp-text-main)}.erp-timeline-time{font-size:12px;color:var(--erp-text-muted)}.erp-compliance-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--erp-border);border-radius:12px;margin-bottom:12px}.erp-comp-info{display:flex;flex-direction:column;gap:4px}.erp-comp-title{font-size:15px;font-weight:600}.erp-comp-due{font-size:12px;color:var(--erp-text-muted)}.erp-comp-amount{font-size:16px;font-weight:700}.erp-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.erp-badge.success{background:#dcfce7;color:#166534}.erp-badge.warning{background:#fef3c7;color:#92400e}.erp-badge.danger{background:#fee2e2;color:#991b1b}.erp-badge.info{background:#dbeafe;color:#1e40af}.erp-chart-container{margin-top:16px}.erp-bar-chart{display:flex;flex-direction:column;gap:12px}.erp-bar-row{display:flex;align-items:center;gap:12px}.erp-bar-label{width:80px;font-size:13px;font-weight:500;color:var(--erp-text-muted)}.erp-bar-track{flex:1;height:12px;background:var(--erp-bg);border-radius:6px;overflow:hidden}.erp-bar-fill{height:100%;border-radius:6px;transition:width 1s ease-out}.erp-bar-value{width:80px;text-align:right;font-size:13px;font-weight:600}.erp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:16px;background:var(--erp-card);border:1px dashed var(--erp-border);border-radius:var(--erp-radius)}.erp-empty-icon{font-size:48px;opacity:.5}.erp-empty-title{font-size:16px;font-weight:600;color:var(--erp-text-main);margin:0}.erp-empty-desc{font-size:14px;color:var(--erp-text-muted);margin:0;max-width:300px}.erp-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:erp-shimmer 1.5s infinite;border-radius:6px}.erp-skel-title{height:24px;width:40%;margin-bottom:16px}.erp-skel-kpi{height:120px;width:100%;border-radius:var(--erp-radius)}.erp-skel-chart{height:200px;width:100%;border-radius:var(--erp-radius)}@keyframes erp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1024px){.erp-layout-main{grid-template-columns:1fr}}@media (max-width: 768px){.erp-dashboard{padding:16px}.erp-progress-tracker:before{display:none}.erp-progress-tracker{flex-direction:column;gap:16px;align-items:flex-start}.erp-step{flex-direction:row}}.crm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.crm-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);transition:box-shadow .2s,transform .2s}.crm-kpi-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.crm-kpi-card.highlight{border-left:4px solid var(--indigo-500, #6366f1);background:linear-gradient(135deg,#fafafa,#f0f1ff)}.crm-kpi-card.alert{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fafafa,#fff0f0)}.crm-kpi-card.success{border-left:4px solid #22c55e;background:linear-gradient(135deg,#fafafa,#f0fdf4)}.crm-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--slate, #64748b)}.crm-kpi-value{font-size:28px;font-weight:700;color:var(--ink, #1e293b);line-height:1.1}.crm-kpi-sub{font-size:12px;color:var(--slate, #64748b)}.crm-kanban{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-4);min-height:600px}.crm-kanban-column{flex:0 0 280px;display:flex;flex-direction:column;gap:var(--space-3)}.crm-kanban-header{padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between}.crm-kanban-stage-name{font-weight:600;font-size:14px;color:var(--ink)}.crm-kanban-count{background:var(--slate-100, #f1f5f9);color:var(--slate, #64748b);font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.crm-kanban-cards{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-height:100px}.crm-kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:grab;transition:box-shadow .15s,transform .15s;-webkit-user-select:none;user-select:none}.crm-kanban-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.crm-kanban-card.dragging{opacity:.5;cursor:grabbing}.crm-kanban-card-title{font-weight:600;font-size:13px;color:var(--ink);margin-bottom:var(--space-1)}.crm-kanban-card-company{font-size:12px;color:var(--slate);margin-bottom:var(--space-2)}.crm-kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.crm-kanban-card-value{font-weight:700;font-size:13px;color:var(--teal-dark, #0f766e)}.crm-kanban-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-md);min-height:60px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--slate);background:var(--paper, #f8fafc);transition:border-color .2s,background .2s}.crm-kanban-drop-zone.drag-over{border-color:var(--indigo-500, #6366f1);background:#eef2ff}.crm-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:99px;font-size:11.5px;font-weight:600;white-space:nowrap}.crm-status-new{background:#dbeafe;color:#1d4ed8}.crm-status-contacted{background:#e0f2fe;color:#0369a1}.crm-status-qualified{background:#dcfce7;color:#15803d}.crm-status-hot{background:#fee2e2;color:#dc2626}.crm-status-lost{background:#f1f5f9;color:#64748b}.crm-status-converted{background:#d1fae5;color:#065f46}.crm-status-draft{background:#f3f4f6;color:#4b5563}.crm-status-sent{background:#dbeafe;color:#1d4ed8}.crm-status-won{background:#d1fae5;color:#065f46}.crm-status-active{background:#dcfce7;color:#15803d}.crm-status-paused{background:#fef9c3;color:#92400e}.crm-priority-low{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.crm-priority-medium{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.crm-priority-high{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.crm-priority-hot{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.crm-priority-critical{background:#fdf2f8;color:#701a75;border:1px solid #f5d0fe}.crm-timeline{display:flex;flex-direction:column;gap:0;position:relative}.crm-timeline-item{display:flex;gap:var(--space-3);padding-bottom:var(--space-4);position:relative}.crm-timeline-item:before{content:"";position:absolute;left:15px;top:28px;bottom:0;width:2px;background:var(--border)}.crm-timeline-item:last-child:before{display:none}.crm-timeline-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:2px solid var(--border);background:var(--surface);z-index:1}.crm-timeline-dot.lead{background:#dbeafe;border-color:#93c5fd}.crm-timeline-dot.note{background:#fef9c3;border-color:#fde68a}.crm-timeline-dot.call{background:#dcfce7;border-color:#86efac}.crm-timeline-dot.email{background:#e0f2fe;border-color:#7dd3fc}.crm-timeline-dot.meeting{background:#f5d0fe;border-color:#d8b4fe}.crm-timeline-dot.deal{background:#d1fae5;border-color:#6ee7b7}.crm-timeline-dot.stage{background:#fed7aa;border-color:#fb923c}.crm-timeline-content{flex:1;padding-top:4px}.crm-timeline-event{font-size:13px;font-weight:600;color:var(--ink)}.crm-timeline-meta{font-size:11.5px;color:var(--slate);margin-top:2px}.crm-lead-score{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px}.crm-lead-score.hot{background:#fee2e2;color:#dc2626}.crm-lead-score.warm{background:#fef3c7;color:#d97706}.crm-lead-score.cold{background:#dbeafe;color:#2563eb}.crm-bar-chart{display:flex;flex-direction:column;gap:var(--space-3)}.crm-bar-row{display:flex;flex-direction:column;gap:4px}.crm-bar-label-row{display:flex;justify-content:space-between;font-size:13px}.crm-bar-track{height:8px;background:var(--slate-100, #f1f5f9);border-radius:99px;overflow:hidden}.crm-bar-fill{height:100%;border-radius:99px;background:var(--indigo-500, #6366f1);transition:width .4s ease}.crm-bar-fill.teal{background:#14b8a6}.crm-bar-fill.violet{background:#8b5cf6}.crm-bar-fill.amber{background:#f59e0b}.crm-bar-fill.rose{background:#f43f5e}.crm-funnel{display:flex;flex-direction:column;gap:var(--space-2);align-items:center}.crm-funnel-stage{display:flex;align-items:center;gap:var(--space-3);width:100%}.crm-funnel-bar{height:36px;border-radius:var(--radius-md);display:flex;align-items:center;padding:0 var(--space-3);font-size:13px;font-weight:600;color:#fff;transition:width .5s ease}.crm-funnel-label{font-size:12px;color:var(--slate);white-space:nowrap;min-width:80px}.crm-funnel-count{font-size:12px;color:var(--ink);font-weight:600;min-width:40px;text-align:right}.crm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);gap:var(--space-3);text-align:center}.crm-empty-icon{font-size:48px;opacity:.4}.crm-empty-title{font-size:16px;font-weight:600;color:var(--ink)}.crm-empty-sub{font-size:13px;color:var(--slate);max-width:300px}.crm-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.crm-search-input{flex:1;min-width:200px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:var(--surface);color:var(--ink)}.crm-search-input:focus{outline:none;border-color:var(--indigo-500, #6366f1);box-shadow:0 0 0 3px #6366f126}.crm-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer}.crm-detail-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-5);align-items:start}@media (max-width: 1024px){.crm-detail-layout{grid-template-columns:1fr}}.crm-detail-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.crm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;box-sizing:border-box}.crm-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;width:100%;max-width:560px;max-height:90vh;max-height:90dvh;overflow-y:auto;display:flex;flex-direction:column;box-sizing:border-box;margin:auto}.crm-modal-lg{max-width:800px}.crm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.crm-modal-title{font-size:16px;font-weight:600;color:var(--ink)}.crm-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.crm-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 640px){.crm-form-grid{grid-template-columns:1fr}}.crm-form-field{display:flex;flex-direction:column;gap:var(--space-1)}.crm-form-field.span-2{grid-column:span 2}.crm-form-label{font-size:12px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}.crm-form-label.required:after{content:" *";color:#ef4444}.crm-form-input,.crm-form-select,.crm-form-textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:var(--surface);color:var(--ink);transition:border-color .15s}.crm-form-input:focus,.crm-form-select:focus,.crm-form-textarea:focus{outline:none;border-color:var(--indigo-500, #6366f1);box-shadow:0 0 0 3px #6366f11f}.crm-form-textarea{resize:vertical;min-height:80px}.crm-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.crm-action-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.crm-action-btn:hover{background:var(--paper);border-color:var(--slate-300, #cbd5e1)}.crm-action-btn.primary{background:var(--indigo-500, #6366f1);color:#fff;border-color:transparent}.crm-action-btn.primary:hover{background:#4f46e5}.crm-action-btn.danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.crm-action-btn.danger:hover{background:#fee2e2}.crm-pagination{display:flex;align-items:center;justify-content:between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.crm-pagination-info{font-size:13px;color:var(--slate);flex:1}.crm-page-btn{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer}.crm-page-btn:hover:not(:disabled){background:var(--paper)}.crm-page-btn:disabled{opacity:.4;cursor:not-allowed}.crm-page-btn.active{background:var(--indigo-500, #6366f1);color:#fff;border-color:transparent}.crm-tabs{display:flex;gap:0;border-bottom:2px solid var(--border)}.crm-tab{padding:var(--space-2) var(--space-4);font-size:14px;font-weight:500;color:var(--slate);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;background:none;border-top:none;border-left:none;border-right:none}.crm-tab:hover{color:var(--ink)}.crm-tab.active{color:var(--indigo-500, #6366f1);border-bottom-color:var(--indigo-500, #6366f1)}@media (max-width: 768px){.crm-kpi-grid{grid-template-columns:1fr 1fr}.crm-kanban{min-height:unset}}:root{--ink: #14181f;--ink-secondary: #1d2330;--paper: #f7f5f0;--surface: #ffffff;--border: #e4e0d6;--teal: #0e6e63;--teal-dark: #0a544b;--amber: #c17817;--rose: #b3413a;--slate: #5b6472;--teal-50: #e1f0ec;--teal-100: #c4e3da;--teal-200: #8fcdbd;--teal-300: #5ab69d;--teal-400: #2e9a80;--teal-500: #0e6e63;--teal-600: #0a544b;--teal-700: #083f38;--amber-50: #f7ebd8;--amber-100: #efd6b0;--amber-200: #e5bd84;--amber-300: #d99f53;--amber-400: #c17817;--amber-500: #a5650f;--amber-600: #7d4d0a;--rose-50: #f6e4e2;--rose-100: #ecc9c6;--rose-200: #dfa39e;--rose-300: #cf746c;--rose-400: #b3413a;--rose-500: #8f3530;--rose-600: #6b2723;--slate-50: #f4f5f7;--slate-100: #e8eaee;--slate-200: #d1d5dc;--slate-300: #aab1bd;--slate-400: #7a8394;--slate-500: #5b6472;--slate-600: #475059;--slate-700: #353c43;--ink-text: #1f242d;--rail-dim: #7a8394;--font-heading: "Zilla Slab", serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(20, 24, 31, .08);--shadow-md: 0 4px 12px rgba(20, 24, 31, .1);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .25);--transition-fast: .12s ease;--transition-normal: .2s ease;--sidebar-width: 260px;--sidebar-rail-width: 68px;--topbar-height: 60px;--drawer-width: 280px;--page-pad-x: clamp(16px, 3vw, 32px);--page-pad-y: clamp(20px, 3vw, 28px);--section-gap: clamp(16px, 3vw, 24px);--card-pad: clamp(16px, 2.5vw, 24px);--field-height: 44px;--touch-target: 44px;--modal-width: min(560px, calc(100vw - 24px) );--modal-max-height: 90dvh;--table-density: 13px;--fs-page-title: clamp(17px, 2.5vw, 22px);--fs-section-title: clamp(15px, 2vw, 18px);--fs-card-title: clamp(14px, 1.8vw, 16px);--fs-body: clamp(13px, 1.5vw, 14px);--fs-label: clamp(11px, 1.3vw, 12px);--fs-helper: clamp(11px, 1.3vw, 12px);--fs-mono: clamp(11px, 1.3vw, 13px);--fs-kpi-num: clamp(22px, 3vw, 30px);--fs-timer: clamp(28px, 5vw, 40px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--dash-green-start: #10b981;--dash-green-end: #059669;--dash-blue-start: #3b82f6;--dash-blue-end: #0ea5e9;--dash-purple-start: #8b5cf6;--dash-purple-end: #ec4899;--dash-orange-start: #f97316;--dash-orange-end: #eab308;--dash-indigo-start: #6366f1;--dash-indigo-end: #3b82f6;--dash-cyan-start: #06b6d4;--dash-cyan-end: #0891b2;--dash-coral-start: #ef4444;--dash-coral-end: #f97316;--dash-violet-start: #7c3aed;--dash-violet-end: #a855f7;--dash-teal-start: #14b8a6;--dash-teal-end: #0d9488}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);background:var(--paper);color:var(--ink-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2}.mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:var(--font-body);font-size:13px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;background:var(--surface);color:var(--ink-text);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-50)}textarea{resize:vertical;min-height:64px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#d8d3c6;border-radius:var(--radius-sm)}::-webkit-scrollbar-track{background:transparent}
