.sidebar{background:#000;border-right:1px solid #1a1a1a;box-shadow:2px 0 12px #0000004d;display:flex;flex-direction:column;gap:var(--space-sm);height:100vh;left:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-md) 0;position:fixed;scrollbar-color:#333 #000;scrollbar-width:thin;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--sidebar-width);z-index:1000}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#000}.sidebar::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#444}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-brand{align-items:center;border-bottom:1px solid #1a1a1a;cursor:pointer;display:flex;justify-content:center;margin-bottom:var(--space-sm);min-height:56px;padding:var(--space-sm) var(--space-sm);position:relative;transition:background .2s ease}.sidebar-brand:hover{background:#8b5cf61a}.sidebar.expanded .sidebar-brand{justify-content:space-between;padding-left:16px;padding-right:16px}.brand-left{align-items:center;display:flex;gap:12px}.brand-icon{color:#fff;flex-shrink:0;font-size:28px;transition:opacity .2s ease}.brand-logo{background:#fff;border-radius:8px;flex-shrink:0;height:40px;object-fit:contain;padding:4px;width:40px}.brand-name{color:#fff;font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-toggle{border-radius:6px;color:#888;cursor:pointer;flex-shrink:0;font-size:22px;padding:6px;transition:all .2s ease}.brand-toggle:hover{background:#ffffff1a;color:#fff}.brand-expand-icon{background:#8b5cf633;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:24px;opacity:1;padding:8px;transition:all .2s ease}.brand-expand-icon:hover{background:#8b5cf666;color:#fff;transform:scale(1.05)}.brand-collapsed{align-items:center;cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;width:44px}.brand-icon-small{color:#fff;font-size:28px;transition:all .2s ease}.brand-logo-small{background:#fff;border-radius:8px;height:36px;object-fit:contain;padding:3px;transition:all .2s ease;width:36px}.hamburger-icon{color:#fff;font-size:24px;position:absolute;transition:all .2s ease}.brand-collapsed:hover .brand-icon-small,.brand-collapsed:hover .brand-logo-small,.hamburger-icon{opacity:0;transform:scale(.8)}.brand-collapsed:hover .hamburger-icon{opacity:1;transform:scale(1)}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-sm)}.nav-icon{align-items:center;border-radius:var(--radius-md);color:#888;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;margin:0 auto;position:relative;text-decoration:none;transition:var(--transition-smooth);width:40px}.nav-icon:hover{background:#1a1a1a;color:#fff}.nav-icon.active{background:var(--accent-primary);color:#fff}.nav-icon.expanded{gap:12px;justify-content:flex-start;margin:0 12px;padding-left:16px;width:calc(100% - 24px)}.nav-divider{background:#1a1a1a;height:1px;margin:var(--space-sm) var(--space-sm)}.nav-text{color:inherit;font-size:14px;font-weight:500;max-width:160px;opacity:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease;white-space:nowrap}.nav-tooltip{background:#1f2937;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:13px;font-weight:500;left:100%;margin-left:12px;opacity:0;padding:8px 12px;pointer-events:none;transition:all .2s ease;visibility:hidden;white-space:nowrap;z-index:1000}.nav-tooltip,.nav-tooltip:before{position:absolute;top:50%;transform:translateY(-50%)}.nav-tooltip:before{border:6px solid #0000;border-right-color:#1f2937;content:"";right:100%}.nav-icon:hover .nav-tooltip{margin-left:16px;opacity:1;visibility:visible}.nav-icon.expanded .nav-tooltip{display:none}.sidebar-footer{border-top:1px solid #1a1a1a;flex-direction:column;flex-shrink:0;gap:var(--space-sm);margin-bottom:16px;margin-top:auto;padding:0 var(--space-sm);padding-top:var(--space-md)}.logout-btn,.sidebar-footer{align-items:center;display:flex}.logout-btn{background:#0000;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:20px;height:40px;justify-content:center;transition:var(--transition-smooth);width:40px}.logout-btn:hover{background:#dc2626;color:#fff}.logout-btn.expanded{background:#1a1a1a;border:1px solid #333;gap:12px;justify-content:flex-start;margin:0 12px;padding-left:16px;width:calc(100% - 24px)}.logout-btn.expanded:hover{background:#dc2626;border-color:#dc2626}.logout-text{color:#fff;font-size:14px;font-weight:500;white-space:nowrap}.user-mini{align-items:center;background:#fff;border-radius:50%;display:flex;height:40px;justify-content:center;text-decoration:none;transition:var(--transition-smooth);width:40px}.user-mini.expanded{border-radius:var(--radius-md);gap:12px;justify-content:flex-start;margin:0 12px;padding:8px 12px;width:calc(100% - 24px)}.user-name{color:#000;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}@media (max-width:768px){.sidebar{flex-direction:row;height:auto;width:100%}}.topbar-container{background:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000a;height:70px;justify-content:space-between;padding:0 var(--space-lg);position:-webkit-sticky;position:sticky;top:0;transition:var(--transition-smooth);z-index:100}.topbar-container,.topbar-left{align-items:center;display:flex}.topbar-left{gap:var(--space-md)}.breadcrumb-text{color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold)}.topbar-right{align-items:center;display:flex;gap:var(--space-lg)}.search-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size-sm);height:40px;outline:none;padding:0 var(--space-md);transition:var(--transition-fast);width:300px}.search-box:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0000000d}.user-avatar{align-items:center;background:var(--accent-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--bg-surface);cursor:pointer;display:flex;font-weight:var(--body-weight-semibold);height:44px;justify-content:center;transition:var(--transition-smooth);width:44px}.user-avatar:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.welcome-text{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--heading-size-sm);font-weight:700}.topbar-welcome{display:flex;flex-direction:column;gap:2px}.tenant-name{color:var(--text-secondary);font-size:var(--body-size-xs)}.topbar-logo{height:40px;max-width:120px;object-fit:contain;width:auto}.notify-icon{color:var(--text-secondary);cursor:pointer;position:relative;transition:var(--transition-fast)}.notify-icon:hover{color:var(--text-primary)}.notify-dot{background:#dc2626;border:2px solid var(--bg-surface);border-radius:50%;height:8px;position:absolute;right:-2px;top:-2px;width:8px}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{color:var(--text-primary);font-size:var(--body-size-sm);font-weight:var(--body-weight-semibold)}.user-email,.user-role{color:var(--text-secondary);font-size:var(--body-size-xs)}@media (max-width:768px){.topbar-container{padding:0 var(--space-md)}.search-box{width:200px}.user-details{display:none}.topbar-logo{height:32px}.welcome-text{font-size:18px}}@media (max-width:600px){.search-box,.tenant-name{display:none}}.main-wrapper{max-width:calc(100vw - var(--sidebar-width));overflow-x:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.app-layout.sidebar-expanded .main-wrapper{margin-left:var(--sidebar-width-expanded);max-width:calc(100vw - var(--sidebar-width-expanded))}@media (max-width:768px){.main-wrapper{margin-bottom:70px;margin-left:0}.main-content{padding:var(--space-lg)}}@media (max-width:600px){.main-content{padding:var(--space-md)}}.auth-wrapper{background-color:#e8ecf0;background-position:0;background-repeat:no-repeat;background-size:auto 100%;display:flex;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;position:relative}.auth-wrapper:before{background:linear-gradient(90deg,#0000 0,#0000 50%,#e8ecf066 58%,#e8ecf0b3 63%,#e8ecf0e6 68%,#e8ecf0 73%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.auth-form-section{align-items:center;background:#0000;display:flex;justify-content:center;margin-left:auto;margin-right:5%;min-width:340px;padding:40px;position:relative;width:30%;z-index:1}.auth-container{max-width:340px;width:100%}.auth-header{margin-bottom:32px}.admin-badge-header{align-items:center;background:#1e293b;border-radius:20px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:16px;padding:6px 14px}.auth-title{color:#1e293b;font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0}.auth-form{display:flex;flex-direction:column;gap:24px}.form-group label{margin-bottom:8px}.form-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;font-size:15px;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{border-color:#3b4f74;box-shadow:0 0 0 3px #3b4f741a}.form-input::placeholder{color:#94a3b8}.input-hint{color:#64748b;font-size:12px;margin-top:6px}.password-input-wrapper .form-input{padding-right:44px}.password-toggle-btn{background:#0000!important;box-shadow:none;color:#94a3b8;outline:none;right:12px;transition:none}.password-toggle-btn:active,.password-toggle-btn:focus,.password-toggle-btn:hover{background:#0000!important;border:none;box-shadow:none;color:#64748b;outline:none;transform:translateY(-50%)}.error-message{border:1px solid #fecaca;padding:12px}.error-message p{color:#dc2626;font-size:13px;margin:0}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px}.success-message p{color:#16a34a;font-size:13px;margin:0}.success-container{padding:20px 0;text-align:center}.success-icon{color:#16a34a;margin-bottom:16px}.success-title{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 12px}.success-text{color:#475569;font-size:14px;line-height:1.5;margin:0 0 8px}.success-hint{color:#64748b;font-size:13px;margin:0}.auth-subtitle{color:#64748b;font-size:14px;line-height:1.5;margin:-16px 0 24px}.resend-btn{background:#0000;border:1px solid #3b4f74;border-radius:6px;color:#3b4f74;cursor:pointer;font-size:14px;font-weight:500;padding:10px;transition:background .2s,color .2s;width:100%}.auth-btn,.resend-btn:hover{background:#3b4f74;color:#fff}.auth-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px;transition:background .2s;width:100%}.auth-btn:hover{background:#2d3d5a}.auth-btn:disabled{cursor:not-allowed;opacity:.6}.btn-spinner{animation:spin 1s linear infinite;height:18px;width:18px}.auth-links{margin-top:20px;text-align:center}.forgot-link{color:#64748b;font-size:14px;text-decoration:none}.forgot-link:hover{color:#3b4f74;text-decoration:underline}.auth-divider{align-items:center;display:flex;margin:24px 0}.auth-divider:after,.auth-divider:before{background:#e2e8f0;content:"";flex:1 1;height:1px}.auth-divider span{color:#94a3b8;font-size:13px;padding:0 16px}.admin-login-link{font-size:14px;margin:0;text-align:center}.admin-login-link a{color:#64748b;text-decoration:none}.admin-login-link a:hover{color:#3b4f74}.auth-footer{margin-top:32px;text-align:center}.auth-footer p{color:#94a3b8;font-size:12px;margin:0}.auth-footer strong{color:#3b4f74}@media (max-width:1200px){.auth-wrapper{background-size:auto 100%}.auth-wrapper:before{background:linear-gradient(90deg,#0000 0,#0000 40%,#e8ecf080 50%,#e8ecf0cc 58%,#e8ecf0 65%)}.auth-form-section{padding:40px 30px;width:38%}}@media (max-width:1024px){.auth-wrapper:before{background:linear-gradient(90deg,#0000 0,#0000 30%,#e8ecf080 42%,#e8ecf0cc 52%,#e8ecf0 60%)}.auth-form-section{padding:40px 24px;width:42%}}@media (max-width:768px){.auth-wrapper{background-position:top;background-size:100% auto}.auth-wrapper:before{background:linear-gradient(180deg,#0000 0,#0000 25%,#e8ecf080 35%,#e8ecf0d9 45%,#e8ecf0 55%)}.auth-form-section{align-items:flex-start;min-width:auto;padding:48vh 24px 40px;width:100%}.auth-container{max-width:100%}}@media (max-width:480px){.auth-form-section{padding:45vh 20px 32px}.auth-title{font-size:24px}.form-input{padding:11px 12px}.auth-btn{padding:12px}}.confirmation-modal-backdrop{align-items:center;animation:fadeIn .15s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.confirmation-modal{animation:slideUp .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:440px;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:12px}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.modal-header{align-items:flex-start;gap:16px;padding:24px 24px 0}.modal-icon{border-radius:50%;flex-shrink:0;padding:8px}.modal-icon.info{background:#dbeafe;color:#2563eb}.modal-icon.warning{background:#fef3c7;color:#d97706}.modal-icon.danger{background:#fee2e2;color:#dc2626}.modal-header h3{color:#111827;padding-top:4px}.modal-body{padding:16px 24px 24px}.modal-message{color:#4b5563;font-size:14px;line-height:1.6;margin:0 0 12px}.modal-hint{align-items:flex-start;background:#f0f9ff;border-radius:6px;color:#0369a1;display:flex;font-size:13px;gap:8px;margin:12px 0;padding:10px 12px}.modal-hint svg{flex-shrink:0;margin-top:1px}.modal-warning{align-items:flex-start;background:#fef3c7;border-radius:6px;color:#92400e;display:flex;font-size:13px;gap:8px;margin:12px 0 0;padding:10px 12px}.modal-warning svg{flex-shrink:0;margin-top:1px}.confirmation-input-wrap{margin-top:16px}.confirmation-input-wrap label{color:#374151;display:block;font-size:13px;margin-bottom:8px}.confirmation-input-wrap input{border:1px solid #d1d5db;border-radius:6px;font-family:monospace;font-size:14px;letter-spacing:1px;padding:10px 12px;width:100%}.confirmation-input-wrap input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-footer{border-radius:0 0 12px 12px}.modal-footer button{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .15s ease}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-confirm{border:none;color:#fff}.btn-confirm.default{background:#2563eb}.btn-confirm.default:hover:not(:disabled){background:#1d4ed8}.btn-confirm.warning{background:#d97706}.btn-confirm.warning:hover:not(:disabled){background:#b45309}.btn-confirm.danger{background:#dc2626}.btn-confirm.danger:hover:not(:disabled){background:#b91c1c}.btn-cancel:disabled,.btn-confirm:disabled{cursor:not-allowed;opacity:.5}.btn-loading{align-items:center;display:flex;gap:8px}@media (max-width:480px){.confirmation-modal{border-radius:12px 12px 0 0;bottom:0;left:0;margin:0;max-width:none;position:fixed;right:0}.modal-footer{flex-direction:column-reverse}.modal-footer button{justify-content:center;width:100%}}.user-management-page{background:#f5f7fa;min-height:calc(100vh - 120px);padding:24px}.user-management-page .page-header{border-bottom:2px solid #e5e7eb;margin-bottom:24px;padding-bottom:16px}.user-management-page .page-header h2{color:#1e1b4b;font-size:26px;font-weight:700;margin:0 0 6px}.user-management-page .page-header p{color:#6b7280;font-size:14px;margin:0}.user-management-page .tabs-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014}.user-management-page .tabs-header{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;overflow-x:auto;padding:0}.user-management-page .tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:-2px;padding:16px 24px;transition:all .2s ease;white-space:nowrap}.user-management-page .tab-btn:hover{background:#7c3aed14;color:#7c3aed}.user-management-page .tab-btn.active{background:#fff;border-bottom-color:#7c3aed;color:#7c3aed;font-weight:600}.user-management-page .tab-btn svg{flex-shrink:0;height:18px;width:18px}.user-management-page .tab-content{min-height:400px}.user-management-page .tab-panel{padding:24px}.user-management-page .filters-bar{background:linear-gradient(135deg,#fafafa,#f3f4f6);border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px;padding:16px 20px}.user-management-page .filters-row{align-items:flex-end;display:flex;flex-direction:row;gap:16px}.user-management-page .filter-group{display:inline-flex;flex-direction:column;gap:6px}.user-management-page .filter-group label{color:#4b5563;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.user-management-page .filter-group input,.user-management-page .filter-group select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;height:40px;padding:10px 12px;transition:all .2s ease;width:170px}.user-management-page .filter-group input:focus,.user-management-page .filter-group select:focus{background:#fafafa;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26;outline:none}.user-management-page .input-with-icon{position:relative}.user-management-page .input-with-icon svg{color:#9ca3af;height:16px;left:10px;position:absolute;top:50%;transform:translateY(-50%);width:16px}.user-management-page .input-with-icon input{padding-left:34px}.user-management-page .filter-actions{align-items:center;display:flex;gap:8px}.user-management-page .btn-primary{align-items:center;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;box-shadow:0 2px 4px #7c3aed4d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;height:40px;justify-content:center;padding:10px 20px;transition:all .2s ease}.user-management-page .btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 4px 8px #7c3aed66;transform:translateY(-1px)}.user-management-page .btn-primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.user-management-page .btn-secondary{align-items:center;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:8px;box-shadow:0 2px 4px #4b55634d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;height:40px;justify-content:center;padding:10px 20px;transition:all .2s ease}.user-management-page .btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 8px #4b556366;transform:translateY(-1px)}.user-management-page .btn-icon{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#7c3aed;cursor:pointer;display:flex;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.user-management-page .btn-icon:hover{background:#f5f3ff;border-color:#7c3aed;color:#6d28d9}.user-management-page .loading-container{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px}.user-management-page .loading-spinner{animation:spin .8s linear infinite;border-color:#7c3aed #a78bfa #e5e7eb #e5e7eb;border-radius:50%;border-style:solid;border-width:4px;height:48px;margin-bottom:16px;width:48px}.user-management-page .error-banner{align-items:center;background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;border-radius:10px;color:#991b1b;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:20px;padding:14px 18px}.user-management-page .error-banner:before{align-items:center;background:#dc2626;border-radius:50%;color:#fff;content:"!";display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.user-management-page .success-banner{align-items:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;border-radius:10px;color:#166534;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:20px;padding:14px 18px}.user-management-page .success-banner:before{align-items:center;background:#16a34a;border-radius:50%;color:#fff;content:"\2713";display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.user-management-page .form-container .error-banner,.user-management-page .form-container .success-banner{margin:0 20px}.user-management-page .data-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.user-management-page .data-table{border-collapse:collapse;width:100%}.user-management-page .data-table td,.user-management-page .data-table th{border-bottom:1px solid #e5e7eb;padding:14px 16px;text-align:left}.user-management-page .data-table th{background:#1f2937;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.user-management-page .data-table th:first-child{border-radius:8px 0 0 0}.user-management-page .data-table th:last-child{border-radius:0 8px 0 0}.user-management-page .data-table td{background:#fff;color:#1f2937;font-size:14px}.user-management-page .data-table tbody tr:hover td{background:#f5f3ff}.user-management-page .data-table tbody tr:nth-child(2n) td{background:#fafafa}.user-management-page .data-table tbody tr:nth-child(2n):hover td{background:#f5f3ff}.user-management-page .data-table .inactive-row td{opacity:.6}.user-management-page .data-table .empty-state{background:#fff;color:#9ca3af;padding:40px;text-align:center}.user-management-page .status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px}.user-management-page .status-badge.active{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#166534}.user-management-page .status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.user-management-page .role-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:700;gap:4px;letter-spacing:.3px;padding:6px 12px;text-transform:uppercase}.user-management-page .role-badge.superadmin{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.user-management-page .role-badge.admin{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;color:#1e40af}.user-management-page .role-badge.support{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc;color:#4338ca}.user-management-page .action-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:5px 10px;text-transform:uppercase}.user-management-page .action-badge.activated,.user-management-page .action-badge.created{background:#dcfce7;color:#166534}.user-management-page .action-badge.updated{background:#dbeafe;color:#1e40af}.user-management-page .action-badge.deleted{background:#fee2e2;color:#991b1b}.user-management-page .action-badge.deactivated{background:#fef3c7;color:#92400e}.user-management-page .action-badge.login{background:#e0e7ff;color:#4338ca}.user-management-page .logs-table td:nth-child(3) span{background:#f3e8ff;border-radius:4px;color:#7c3aed;display:inline-block;font-size:11px;font-weight:600;padding:5px 10px}.user-management-page .action-buttons{display:flex;gap:8px}.user-management-page .btn-action{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px 10px;transition:all .2s ease}.user-management-page .btn-action.activate{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#166534}.user-management-page .btn-action.activate:hover{background:linear-gradient(135deg,#bbf7d0,#86efac);transform:translateY(-1px)}.user-management-page .btn-action.deactivate{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.user-management-page .btn-action.deactivate:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);transform:translateY(-1px)}.user-management-page .btn-action.delete{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.user-management-page .btn-action.delete:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:translateY(-1px)}.user-management-page .btn-action:disabled{cursor:not-allowed;opacity:.4;transform:none}.user-management-page .pagination{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:16px;justify-content:center;margin-top:24px;padding-top:20px}.user-management-page .pagination button{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.user-management-page .pagination button:hover:not(:disabled){background:#f5f3ff;border-color:#7c3aed;color:#7c3aed}.user-management-page .pagination button:disabled{cursor:not-allowed;opacity:.4}.user-management-page .pagination span{background:#f3f4f6;border-radius:8px;color:#4b5563;font-size:14px;font-weight:600;padding:8px 16px}.user-management-page .create-admin-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.user-management-page .form-container{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0;padding:0;width:100%}.user-management-page .info-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.user-management-page .info-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:16px}.user-management-page .info-card-icon{align-items:center;border-radius:8px;display:flex;height:36px;justify-content:center;margin-bottom:12px;width:36px}.user-management-page .info-card-icon.blue{background:#dbeafe;color:#2563eb}.user-management-page .info-card-icon.purple{background:#ede9fe;color:#7c3aed}.user-management-page .info-card-icon.green{background:#dcfce7;color:#16a34a}.user-management-page .info-card-icon.orange{background:#fef3c7;color:#d97706}.user-management-page .info-card h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 6px}.user-management-page .info-card p{color:#6b7280;font-size:12px;line-height:1.4;margin:0}.user-management-page .form-header{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:7px 7px 0 0;display:flex;flex-direction:column;padding:16px 20px}.user-management-page .form-header h3{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 4px}.user-management-page .form-header h3:before{background:#fff3;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-radius:4px;content:"";display:inline-block;height:24px;width:24px}.user-management-page .form-header p{color:#ffffffd9;font-size:12px;margin:0;padding-left:32px}.user-management-page .admin-form{display:flex;flex-direction:column;gap:16px;padding:20px}.user-management-page .form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.user-management-page .form-group{display:flex;flex-direction:column;gap:6px}.user-management-page .form-group label{color:#374151;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.user-management-page .form-group label:after{content:""}.user-management-page .form-group input,.user-management-page .form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.user-management-page .form-group input:hover{border-color:#9ca3af}.user-management-page .form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.user-management-page .form-group select:hover{border-color:#9ca3af}.user-management-page .form-group input:focus,.user-management-page .form-group select:focus{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed1f;outline:none}.user-management-page .form-group input::placeholder{color:#9ca3af}.user-management-page .form-group select option{background:#fff;color:#1f2937;font-size:14px;padding:12px 16px}.user-management-page .form-group select option:checked,.user-management-page .form-group select option:hover{background:#f5f3ff;color:#7c3aed}.user-management-page .filter-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.user-management-page .password-input{position:relative}.user-management-page .password-input input{padding-right:48px;width:100%}.user-management-page .toggle-password{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:all .2s ease}.user-management-page .toggle-password:hover{background:#f5f3ff;color:#7c3aed}.user-management-page .form-actions{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-start;margin-top:8px;padding-top:16px}.user-management-page .form-actions .btn-primary{font-size:13px;min-width:120px;padding:10px 24px}.user-management-page .form-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;box-shadow:none;color:#6b7280;font-size:13px;padding:10px 18px}.user-management-page .form-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;color:#374151;transform:none}.user-management-page .access-denied{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px;text-align:center}.user-management-page .access-denied svg{color:#9ca3af;margin-bottom:16px}.user-management-page .access-denied h3{color:#374151;margin:0 0 8px}.user-management-page .access-denied p{margin:0}.user-management-page .roles-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.user-management-page .role-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.user-management-page .role-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0}.user-management-page .role-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.user-management-page .role-card.superadmin{border-top:none}.user-management-page .role-card.superadmin:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.user-management-page .role-card.admin{border-top:none}.user-management-page .role-card.admin:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.user-management-page .role-card.support{border-top:none}.user-management-page .role-card.support:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.user-management-page .role-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.user-management-page .role-icon{font-size:28px}.user-management-page .role-info h4{color:#1f2937;font-size:16px;margin:0 0 2px}.user-management-page .role-count{color:#6b7280;font-size:12px}.user-management-page .role-description{color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 16px}.user-management-page .permissions-list h5{color:#374151;font-size:12px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.user-management-page .permissions-list ul{list-style:none;margin:0;padding:0}.user-management-page .permissions-list li{align-items:center;color:#4b5563;display:flex;font-size:13px;gap:8px;padding:4px 0}.user-management-page .perm-icon{color:#10b981}.user-management-page .roles-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px}.user-management-page .roles-info h4{color:#374151;font-size:14px;margin:0 0 12px}.user-management-page .roles-info ul{margin:0;padding-left:20px}.user-management-page .roles-info li{color:#6b7280;font-size:13px;line-height:1.5;margin-bottom:6px}.user-management-page .logs-table .details-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-management-page .logs-table .details-cell span{cursor:help}@media (max-width:1024px){.user-management-page .create-admin-layout{grid-template-columns:1fr}.user-management-page .info-cards-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.user-management-page .filters-row{flex-wrap:wrap}.user-management-page .info-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.user-management-page{padding:16px}.user-management-page .tabs-header{-webkit-overflow-scrolling:touch;overflow-x:auto}.user-management-page .tab-btn{font-size:13px;padding:12px 14px}.user-management-page .filters-row{align-items:stretch;flex-direction:column}.user-management-page .filter-group,.user-management-page .filter-group input,.user-management-page .filter-group select{width:100%}.user-management-page .filter-actions{justify-content:flex-start;width:100%}.user-management-page .form-row,.user-management-page .roles-grid{grid-template-columns:1fr}}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-xl)}.profile-card{animation:fadeIn .3s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-xl)}.profile-field{margin-bottom:var(--space-lg)}.profile-field label{color:var(--text-secondary);display:block;font-size:var(--body-size-sm);font-weight:var(--body-weight-semibold);margin-bottom:var(--space-xs)}.profile-field p{color:var(--text-primary);font-size:var(--body-size);margin:0}.profile-form{display:flex;flex-direction:column}.profile-form label{color:var(--text-primary);font-size:var(--body-size-sm);font-weight:var(--body-weight-semibold);margin-bottom:var(--space-xs)}.profile-form input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size);margin-bottom:var(--space-lg);outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast)}.profile-form input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0000000d}.message{border-radius:var(--radius-sm);font-size:var(--body-size-sm);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md)}.message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#059669}.message.error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}@media (max-width:768px){.profile-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.profile-card{padding:var(--space-lg)}}.dash-wrapper{background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;box-sizing:border-box;margin:-32px;margin:calc(var(--space-xl, 32px)*-1);min-height:calc(100vh + 64px);min-height:calc(100vh + var(--space-xl, 32px)*2);overflow-x:hidden;padding:56px;padding:calc(var(--space-xl, 32px) + 24px);position:relative;width:calc(100% + 64px);width:calc(100% + var(--space-xl, 32px)*2)}.dash-wrapper:before{background:#fff6;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.dash-wrapper>*{position:relative;z-index:1}.dash-topbar-wrapper{background:#f4f5f7;width:100%}.dash-topbar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:12px 20px}.dash-topbar,.top-left{align-items:center;display:flex}.top-left{gap:20px}.company-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111;font-size:14px;padding:6px 28px 6px 10px}.top-nav-link{color:#6b7280;font-size:14px}.top-right{gap:14px}.search-box,.top-right{align-items:center;display:flex}.search-box{background:#f3f4f6;border-radius:8px;gap:6px;padding:6px 10px}.search-box input{background:none;border:none;font-size:14px;outline:none}.top-icon-btn{border-radius:8px;height:34px;justify-content:center;width:34px}.date-picker,.top-icon-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;display:flex}.date-picker{border-radius:8px;font-size:14px;gap:6px;padding:6px 12px}.download-btn{align-items:center;background:#111827;border:none;border-radius:8px;color:#fff;display:flex;gap:8px;padding:7px 14px}.dash-header h1{font-size:26px;margin:0}.dash-header p{color:#6b7280;margin:4px 0 20px}.card-grid-2{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px;min-width:0}.big-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 4px 12px #0000000d;min-width:0;overflow:visible;padding:28px;position:relative}.big-card.quick-access-card{background:linear-gradient(135deg,#faf5ff,#f3e8ff 50%,#ede9fe);border-color:#ddd6fe}.big-card.quick-access-card:before{background:radial-gradient(circle,#8b5cf614 0,#0000 70%);content:"";height:300px;pointer-events:none;position:absolute;right:-20%;top:-50%;width:300px}.big-card.quick-access-card:after{background:radial-gradient(circle,#a78bfa1a 0,#0000 70%);bottom:-30%;content:"";height:200px;left:-10%;pointer-events:none;position:absolute;width:200px}.big-card.admin-card{background:linear-gradient(135deg,#f0fdfa,#e0f2fe 50%,#ecfeff);border-color:#a5f3fc}.big-card.admin-card:before{background:radial-gradient(circle,#22d3ee1a 0,#0000 70%);content:"";height:280px;pointer-events:none;position:absolute;right:-15%;top:-40%;width:280px}.big-card.admin-card:after{background:radial-gradient(circle,#38bdf814 0,#0000 70%);bottom:-25%;content:"";height:180px;left:-10%;pointer-events:none;position:absolute;width:180px}.card-title{color:#111827;font-size:20px;font-weight:700;margin:0;position:relative;z-index:1}.big-card.quick-access-card .card-title{color:#5b21b6}.big-card.admin-card .card-title{color:#0f766e}.card-sub{color:#6b7280;font-size:14px;margin:6px 0 20px;position:relative;z-index:1}.grid-4{grid-gap:18px;display:grid;gap:18px}.icon-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;font-size:26px;height:68px;justify-content:center}.yellow{background:#fefce8;color:#ca8a04}.blue{background:#eef2ff;color:#6366f1}.green{background:#ecfdf5;color:#10b981}.purple{background:#f3e8ff;color:#9333ea}.pink{background:#fce7f3;color:#db2777}.sky{background:#e0f2fe;color:#0284c7}.orange{background:#fff7ed;color:#f97316}.red{background:#fee2e2;color:#b91c1c}.gray{background:#f3f4f6;color:#4b5563}.slate{background:#f1f5f9;color:#475569}.stats-row{grid-gap:22px;gap:22px;grid-template-columns:repeat(4,1fr);min-width:0}.stat-card{border-radius:16px;min-width:0;overflow:hidden}.stat-card p{font-size:13px;margin:0 0 6px}.stat-card h2{font-size:32px;font-weight:700;margin:0}.trend{color:#6b7280;font-size:12px}.trend.up{color:#10b981}.trend.down{color:#dc2626}.tx-grid{grid-gap:28px 20px;display:grid;gap:28px 20px;grid-template-columns:repeat(4,1fr);margin-top:16px;z-index:1}.tx-grid,.tx-item{min-width:0;position:relative}.tx-item{align-items:center;border-radius:16px;display:flex;flex-direction:column;max-width:100%;padding:16px 12px;text-align:center;text-decoration:none;transition:all .25s ease}.tx-item:hover{background:#fffc;box-shadow:0 8px 24px #0000001f;transform:translateY(-6px)}.tx-item[data-tooltip]:hover:before{animation:tooltipFadeIn .2s ease;background:linear-gradient(135deg,#1f2937,#374151);border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 8px 24px #00000040;color:#fff;content:attr(data-tooltip);font-size:13px;font-weight:500;left:50%;padding:10px 16px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;z-index:200}.tx-item[data-tooltip]:hover:after{border:8px solid;border-color:#0000 #0000 #374151;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%);z-index:200}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.tx-icon{align-items:center;border-radius:20px;box-shadow:0 4px 12px #00000014;display:flex;font-size:36px;height:80px;justify-content:center;margin-bottom:12px;position:relative;transition:all .25s ease;width:80px}.tx-icon:has(img){background:#0000!important;box-shadow:none;height:100px;margin-bottom:0;width:110px}.tx-icon img{height:100px;object-fit:contain;width:110px}.tx-item:hover .tx-icon{box-shadow:0 8px 24px #00000026;transform:scale(1.08)}.tx-item:hover .tx-icon:has(img){box-shadow:none}.tx-item:has(.tx-icon img):hover{background:#0000;box-shadow:none}.tx-label{color:#1f2937;font-size:14px;font-weight:600;margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-icon.yellow{background:#fef3c7;color:#d97706}.tx-icon.blue{background:#dbeafe;color:#2563eb}.tx-icon.green{background:#d1fae5;color:#059669}.tx-icon.indigo{background:#e0e7ff;color:#6366f1}.tx-icon.purple{background:#ede9fe;color:#8b5cf6}.tx-icon.pink{background:#fce7f3;color:#db2777}.tx-icon.sky{background:#e0f2fe;color:#0284c7}.tx-icon.orange{background:#ffedd5;color:#ea580c}.tx-icon.gray{background:#f3f4f6;color:#4b5563}.tx-icon.slate{background:#e2e8f0;color:#475569}.tx-icon.red{background:#fee2e2;color:#dc2626}.tx-icon.teal{background:#ccfbf1;color:#0d9488}.tx-icon.cyan{background:#cffafe;color:#0891b2}.tx-icon.amber{background:#fef3c7;color:#d97706}.tx-icon.lime{background:#ecfccb;color:#65a30d}.tx-icon.rose{background:#ffe4e6;color:#e11d48}.tx-icon.fuchsia{background:#fae8ff;color:#c026d3}.tx-icon.emerald{background:#d1fae5;color:#059669}.tx-icon.violet{background:#ede9fe;color:#7c3aed}@media (max-width:1024px){.tx-grid{gap:20px 16px;grid-template-columns:repeat(3,1fr)}.tx-icon{font-size:32px;height:70px;width:70px}.tx-icon img{height:48px;width:48px}}@media (max-width:768px){.tx-grid{gap:16px 12px;grid-template-columns:repeat(2,1fr)}.tx-icon{border-radius:16px;font-size:28px;height:64px;width:64px}.tx-icon img{height:44px;width:44px}.tx-label{font-size:13px}.tx-item{padding:12px 8px}.tx-item[data-tooltip]:hover:after,.tx-item[data-tooltip]:hover:before{display:none}}@media (max-width:480px){.tx-grid{gap:12px 10px;grid-template-columns:repeat(2,1fr)}.tx-icon{border-radius:14px;font-size:24px;height:56px;width:56px}.tx-icon img{height:38px;width:38px}.tx-label{font-size:12px}.tx-item{padding:10px 6px}}.empty-state{margin:0 auto;max-width:400px}.empty-state.small{padding:32px 16px}.empty-state.large{max-width:480px;padding:64px 32px}.empty-icon-wrap{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:50%;display:flex;height:80px;justify-content:center;margin-bottom:20px;width:80px}.empty-state.small .empty-icon-wrap{height:60px;margin-bottom:16px;width:60px}.empty-state.large .empty-icon-wrap{height:100px;margin-bottom:24px;width:100px}.empty-icon{color:#0369a1}.empty-title{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.empty-state.small .empty-title{font-size:16px}.empty-state.large .empty-title{font-size:20px}.empty-description{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 20px}.empty-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.empty-actions button,.empty-hint{align-items:center;display:flex;gap:6px}.empty-hint{background:#f9fafb;border-radius:8px;color:#6b7280;font-size:13px;margin-top:20px;padding:10px 16px}.empty-hint svg{color:#9ca3af;flex-shrink:0}.empty-state-inline{padding:32px 16px;text-align:center}.empty-state-inline.small{gap:8px;padding:20px 12px}.empty-state-inline .empty-icon{color:#9ca3af}.empty-state-inline .empty-content{align-items:center;display:flex;flex-direction:column;gap:8px}.empty-state-inline .empty-title{color:#6b7280;font-size:15px;font-weight:500;margin:0}.empty-state-inline .empty-description{color:#9ca3af;font-size:13px;margin:0}.empty-state-inline button{margin-top:4px}td.empty-cell .empty-state-inline{padding:40px 20px}.employee-screen{background:var(--bg);box-sizing:border-box;min-height:calc(100vh - 120px);padding:30px}.page-header-actions{gap:10px}.filter-select{background:var(--white);border:1px solid #ccc;border-radius:var(--border-radius);min-width:150px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.filter-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.tpq-btn-primary{display:flex;transition:background .2s}.tpq-btn-primary:hover{opacity:.9}.tpq-btn-secondary{color:var(--white);display:flex}.tpq-btn-danger{color:var(--white)}.btn-icon.success{background:#d1fae5;color:#065f46}.btn-icon.danger{background:#fee2e2;color:#991b1b}.btn-icon.danger:hover{background:#fecaca}.emp-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.emp-data-table{border-collapse:collapse;width:100%}.emp-data-table td,.emp-data-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.emp-data-table td:last-child,.emp-data-table th:last-child{border-right:none}.emp-data-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.emp-data-table th:first-child{border-top-left-radius:12px}.emp-data-table th:last-child{border-right:none;border-top-right-radius:12px}.emp-data-table tbody tr{background:#fff}.emp-data-table tbody tr:hover{background:#f9fafb}.emp-data-table tbody tr:last-child td{border-bottom:none}.emp-cell{gap:10px}.emp-avatar,.emp-cell{align-items:center;display:flex}.emp-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;overflow:hidden;width:36px}.emp-avatar img{height:100%;object-fit:cover;width:100%}.emp-info{display:flex;flex-direction:column;gap:1px}.emp-name{color:#1f2937;font-size:14px;font-weight:600}.emp-code{color:#6b7280}.emp-actions{align-items:center;display:flex;gap:4px;justify-content:center}.emp-data-table td:last-child{text-align:center}.emp-actions .btn-icon{align-items:center;border-radius:6px;display:flex;font-size:15px;height:32px;justify-content:center;padding:0;width:32px}.badge-muted{background:#e5e7eb;color:#4b5563}.empty-state{padding:40px}.success-banner{margin-bottom:16px}.empty-cell{padding:0!important}.form-container{background:#f8fafc;border-radius:16px;box-shadow:0 2px 8px var(--shadow)}.form-embedded{display:flex;flex-direction:column;gap:0}.form-header{border-bottom:1px solid #eee;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.form-header,.form-header h2{align-items:center;display:flex}.form-header h2{gap:8px;margin:0}.form-section{box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:20px 24px}.form-section-title{align-items:center;color:#1f2937;display:flex;font-size:15px;gap:8px;margin-bottom:20px}.form-section-title .icon{color:#1f2937;font-size:18px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ccc}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #8b5cf626}.form-group .error{color:#ef4444;font-size:12px}.form-buttons{border-top:1px solid #eee}.form-row-full{grid-column:1/-1}.address-grid{grid-gap:12px;background:#f9fafb;border:1px solid #eee;border-radius:var(--border-radius);display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:16px}.generate-code-btn{align-items:center;border:1px solid #ddd;border-radius:var(--border-radius);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:10px 12px;white-space:nowrap}.generate-code-btn:hover{background:#e5e7eb}.input-with-button{display:flex;gap:8px}.input-with-button input{flex:1 1}.employee-details{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr}.employee-profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px;text-align:center}.employee-profile-photo{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;display:flex;font-size:36px;font-weight:600;height:100px;justify-content:center;margin:0 auto 16px;overflow:hidden;width:100px}.employee-profile-photo img{height:100%;object-fit:cover;width:100%}.employee-profile-photo.clickable{cursor:pointer;position:relative}.employee-profile-photo .photo-overlay{align-items:center;background:#00000080;border-radius:50%;color:#fff;display:flex;font-size:24px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease}.employee-profile-photo.clickable:hover .photo-overlay{opacity:1}.employee-profile-photo.new-employee{background:linear-gradient(135deg,#d1d5db,#9ca3af)}.employee-profile-photo .placeholder-icon{color:#fff;font-size:42px}.employee-profile-name{font-size:20px;font-weight:600;margin-bottom:4px}.employee-profile-code{color:#666;font-size:14px;margin-bottom:8px}.employee-profile-designation{color:#666;font-size:14px;margin-bottom:16px}.employee-profile-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.employee-profile-actions button{justify-content:center;width:100%}.employee-details-content{display:flex;flex-direction:column;gap:24px}.employee-details-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px 24px}.employee-details-card h3{align-items:center;border-bottom:1px solid #e5e7eb;color:#1f2937;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 20px;padding-bottom:12px}.employee-details-card h3 svg{color:#1f2937;font-size:18px}.details-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .label{color:#6b7280;font-size:12px;text-transform:uppercase}.detail-item .value{color:var(--text);font-weight:500}.stats-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{background:#f9fafb}.stat-card .value{color:var(--primary);font-size:24px;font-weight:600}.stat-card .label{color:#666;font-size:12px;margin-top:4px}.device-list{display:flex;flex-direction:column;gap:8px}.device-item{background:#f9fafb;border-radius:var(--border-radius);justify-content:space-between;padding:10px 12px}.device-info,.device-item{align-items:center;display:flex}.device-info{gap:10px}.device-name{font-weight:500}.device-id{color:#666;font-size:12px}.leave-balance-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.leave-balance-item{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:var(--border-radius);padding:12px;text-align:center}.leave-balance-item .type{color:#0369a1;font-weight:500;margin-bottom:8px}.leave-balance-item .balance{color:#0369a1;font-size:24px;font-weight:600}.leave-balance-item .used{color:#666;font-size:12px}.photo-upload-container{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);margin:0 auto;max-width:500px;padding:24px}.photo-upload-header{margin-bottom:24px;text-align:center}.photo-upload-header h2{margin:0 0 8px}.photo-upload-header p{color:#666;font-size:14px;margin:0}.photo-preview{align-items:center;background:#f3f4f6;border:3px dashed #ddd;border-radius:50%;display:flex;height:200px;justify-content:center;margin:0 auto 24px;overflow:hidden;width:200px}.photo-preview img{height:100%;object-fit:cover;width:100%}.photo-preview .placeholder{color:#999;font-size:48px}.photo-upload-drop{border:2px dashed #ddd;border-radius:var(--border-radius);cursor:pointer;padding:40px;text-align:center;transition:border-color .2s,background .2s}.photo-upload-drop:hover{background:#f9fafb;border-color:var(--primary)}.photo-upload-drop.dragging{background:#f0f9ff;border-color:var(--primary)}.photo-upload-drop .icon{color:#999;font-size:48px;margin-bottom:16px}.photo-upload-drop p{color:#666;margin:0 0 8px}.photo-upload-drop .hint{color:#999;font-size:12px}.photo-upload-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.role-selector{background:var(--white);border:1px solid #eee;border-radius:var(--border-radius);padding:16px}.role-selector h4{color:var(--text);font-size:14px;margin:0 0 12px}.role-options{display:flex;flex-direction:column;gap:8px}.role-option{align-items:center;border:1px solid #eee;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:border-color .2s}.role-option.selected,.role-option:hover{border-color:var(--primary)}.role-option.selected{background:#f0f9ff}.role-option.disabled{cursor:not-allowed;opacity:.5}.role-option input{margin:0}.role-option .role-name{font-weight:500}.role-option .role-desc{color:#666;font-size:12px}.custom-fields-section{background:#f9fafb;border:1px solid #eee;border-radius:var(--border-radius);padding:16px}.custom-fields-section h4{align-items:center;color:var(--text);display:flex;font-size:14px;gap:8px;margin:0 0 16px}.custom-fields-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.employee-dashboard{background:var(--bg);min-height:calc(100vh - 120px);padding:30px}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:24px}.dashboard-card{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);padding:20px}.dashboard-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.dashboard-card-header h3{color:#666;font-size:14px;margin:0;text-transform:uppercase}.dashboard-card-header .icon{color:var(--primary);font-size:24px}.dashboard-card-value{color:var(--text);font-size:32px;font-weight:700}.dashboard-card-subtitle{color:#666;font-size:13px;margin-top:4px}.employee-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.employee-card{align-items:center;background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);cursor:pointer;display:flex;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s}.employee-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.employee-card-avatar{align-items:center;background:var(--primary);border-radius:50%;color:var(--white);display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:50px;justify-content:center;overflow:hidden;width:50px}.employee-card-avatar img{height:100%;object-fit:cover;width:100%}.employee-card-content{flex:1 1;min-width:0}.employee-card-name{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-card-details{color:#666;font-size:13px;margin-top:2px}.employee-card-status{flex-shrink:0}.modal-content.photo-modal{max-width:500px}.photo-modal .photo-upload-header h4{font-size:18px;font-weight:600;margin:0 0 4px}.photo-modal .photo-preview{height:150px;margin:0 auto 20px;width:150px}.photo-modal .photo-upload-drop{padding:30px}.photo-modal .photo-upload-drop .icon{font-size:36px;margin-bottom:12px}@media (max-width:1024px){.employee-details{grid-template-columns:1fr}.employee-profile-card{margin:0 auto;max-width:400px}}@media (max-width:768px){.employee-screen{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{flex-wrap:wrap}.search-input{min-width:100%}.form-grid,.form-row{grid-template-columns:1fr}.dashboard-grid,.details-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.dashboard-grid,.details-grid,.employee-cards-grid{grid-template-columns:1fr}}.import-steps{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);justify-content:center;margin-bottom:32px;padding:16px}.import-steps,.step{align-items:center;display:flex;gap:8px}.step{background:#f3f4f6;border-radius:20px;color:#6b7280;padding:8px 16px;transition:background .2s,color .2s}.step.active{background:var(--primary);color:var(--white)}.step-number{background:currentColor;color:var(--white)}.step.active .step-number{background:var(--white);color:var(--primary)}.step-connector{background:#e5e7eb;height:2px;width:40px}.import-complete-section,.import-preview-section,.import-processing-section,.import-upload-section{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);padding:32px}.upload-instructions{margin-bottom:32px;text-align:center}.upload-instructions h3{margin:0 0 8px}.upload-instructions p{color:#6b7280;margin:0 0 16px}.upload-dropzone{margin-bottom:24px;position:relative}.file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.dropzone-label{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;transition:border-color .2s,background .2s}.dropzone-label:hover{background:#f0f9ff;border-color:var(--primary)}.dropzone-icon{color:#9ca3af;font-size:48px;margin-bottom:16px}.file-name{color:var(--primary)}.file-hint{color:#9ca3af;font-size:12px;margin-top:8px}.upload-actions{display:flex;justify-content:center}.preview-summary{background:#f9fafb;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px}.preview-summary,.summary-item{border-radius:var(--border-radius);display:flex}.summary-item{align-items:center;background:var(--white);border:1px solid #e5e7eb;flex-direction:column;padding:12px 24px}.summary-item.success{background:#f0fdf4;border-color:#22c55e}.summary-item.error{background:#fef2f2;border-color:#ef4444}.summary-item.warn{background:#fffbeb;border-color:#f59e0b}.summary-item.info{background:#eff6ff;border-color:#3b82f6}.summary-label{color:#6b7280;font-size:12px;text-transform:uppercase}.summary-value{font-size:24px}.preview-errors-section,.preview-table-section,.preview-warnings-section{margin-bottom:24px}.preview-errors-section h4,.preview-table-section h4,.preview-warnings-section h4{align-items:center;display:flex;font-size:14px;gap:8px;margin:0 0 12px}.preview-table{font-size:13px}.error-table{background:#fef2f2}.error-cell{font-size:12px}.error-cell,.error-icon{color:#dc2626}.warn-icon{color:#f59e0b}.warning-list{color:#92400e;font-size:13px;margin:0;padding-left:20px}.preview-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-top:24px}.import-processing-section{padding:64px 32px;text-align:center}.processing-icon{margin-bottom:24px}.processing-icon .large{color:var(--primary);font-size:64px}.processing-status{color:#6b7280;display:flex;font-size:14px;gap:24px;justify-content:center;margin-top:24px}.import-complete-section{padding:64px 32px;text-align:center}.complete-icon{align-items:center;border-radius:50%;display:flex;font-size:40px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.complete-icon.success{background:#dcfce7;color:#16a34a}.complete-icon.error{background:#fee2e2;color:#dc2626}.complete-summary{display:flex;gap:24px;justify-content:center;margin:24px 0}.error-message{background:#fef2f2;border-radius:var(--border-radius);color:#dc2626;display:inline-block}.complete-actions{margin-top:32px}@media (max-width:768px){.import-steps{flex-direction:column}.step-connector{height:20px;width:2px}.preview-actions,.preview-summary{flex-direction:column}.preview-actions{gap:12px}.complete-summary{align-items:center}.complete-actions,.complete-summary{flex-direction:column}}.login-access-section{padding:8px 0}.login-status-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:12px 0}.login-status-info{align-items:center;display:flex;gap:12px}.login-status-info .label{color:var(--text-muted);font-weight:500}.login-actions-row{align-items:center;display:flex;gap:12px}.reset-password-form{align-items:center;display:flex;flex:1 1;gap:8px}.reset-password-form input{border:1px solid var(--border);border-radius:var(--border-radius);flex:1 1;font-size:14px;padding:8px 12px}.tpq-btn-success{background:#28a745}.tpq-btn-success:hover{background:#218838}.tpq-btn-danger{background:#dc3545}.tpq-btn-danger:hover{background:#c82333}.emp-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.role-badge{font-size:10px;padding:2px 6px}.role-badge.role-tenant-admin{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.role-badge.role-hr{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.role-badge.role-manager{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.role-badge.role-employee{background:#e5e7eb;color:#4b5563}.attendance-admin-nav{background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;gap:4px;margin-bottom:20px;padding:6px}.attendance-nav-tab{align-items:center;border-radius:6px;border-radius:var(--border-radius,6px);color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s}.attendance-nav-tab:hover{background:#f3f0ff;color:#8b5cf6}.attendance-nav-tab.active{background:#8b5cf6;color:#fff}.attendance-nav-tab.active:hover{background:#7c3aed}.attendance-screen{background:var(--bg);min-height:calc(100vh - 120px);padding:30px}.page-header-left{align-items:center;display:flex;gap:12px}.page-header h2{font-weight:600}.page-header h2 .icon,.page-header-left .icon{color:#8b5cf6;font-size:24px}.page-header-actions{display:flex;gap:12px}.btn-back{background:#ede9fe;background:var(--accent-light,#ede9fe);border-radius:8px;border-radius:var(--border-radius,8px);color:#8b5cf6;color:var(--primary,#8b5cf6);height:36px;width:36px}.btn-back:hover{background:#8b5cf6;background:var(--primary,#8b5cf6);color:#fff}.toolbar-left{flex-wrap:wrap}.filter-card{background:#f9fafc;border:1px solid #e5e7eb;border-radius:var(--border-radius);margin-bottom:20px;padding:16px}.filter-card h4{color:#6b7280;font-size:14px;font-weight:500;margin:0 0 12px}.filter-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-group input,.filter-group select{background:#fff;border:1px solid #d1d5db;font-size:14px}.filter-group input:focus,.filter-group select:focus{border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);box-shadow:0 0 0 2px #8b5cf626;outline:none}.filter-group select{accent-color:#8b5cf6;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.filter-group select option:checked,.filter-group select option:hover{background-color:#8b5cf6;color:#fff}.filter-group select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%238B5CF6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}.filter-actions{flex-wrap:nowrap;gap:8px;min-width:-webkit-fit-content;min-width:fit-content}.filter-actions .btn-sm{align-items:center;display:inline-flex;justify-content:center;padding:8px 14px;white-space:nowrap}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:var(--border-radius)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary,#8b5cf6);box-shadow:0 0 0 2px #8b5cf626}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:36px}.form-group select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%238B5CF6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}.form-buttons{margin-top:16px;padding-top:16px}.att-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.att-data-table{border-collapse:collapse;width:100%}.att-data-table td,.att-data-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.att-data-table td:last-child,.att-data-table th:last-child{border-right:none}.att-data-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.att-data-table th:first-child{border-top-left-radius:12px}.att-data-table th:last-child{border-right:none;border-top-right-radius:12px}.att-data-table tbody tr{background:#fff}.att-data-table tbody tr:hover{background:#f9fafb}.att-data-table tbody tr:last-child td{border-bottom:none}.att-cell{gap:10px}.att-avatar,.att-cell{align-items:center;display:flex}.att-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;overflow:hidden;width:36px}.att-avatar img{height:100%;object-fit:cover;width:100%}.att-info{display:flex;flex-direction:column;gap:1px}.att-name{color:#1f2937;font-size:14px;font-weight:600}.att-code{color:#6b7280;font-size:12px}.att-actions{align-items:center;display:flex;gap:4px;justify-content:center}.att-data-table td:last-child{text-align:center}.att-actions .btn-icon{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;padding:0;text-decoration:none;transition:all .2s;width:32px}.att-actions .btn-icon:hover{background:#e5e7eb}.att-empty-state,.att-loading-state{color:#6b7280;padding:40px;text-align:center}.badge-success{background:#d1fae5;color:#065f46}.badge-muted{background:#f3f4f6;color:#6b7280}.badge-device{background:#dbeafe;color:#1e40af}.badge-file{background:#ede9fe;color:#5b21b6}.badge-manual{background:#ffedd5;color:#c2410c}.badge-primary{background:#e0e7ff;color:#3730a3}.btn-primary:hover{background:var(--primary-hover,#7c3aed)}.btn-danger{transition:background .2s}.btn-danger:hover{background:#dc2626}.btn-success{background:#10b981;border-radius:var(--border-radius);font-size:14px;transition:background .2s}.btn-success:hover{background:#059669}.btn-outline{font-size:14px;font-weight:500;transition:all .2s}.btn-outline:hover{background:#8b5cf6;background:var(--primary,#8b5cf6);color:#fff}.btn-outline:focus{box-shadow:0 0 0 2px #8b5cf64d}.btn-icon{color:#374151;gap:6px;padding:8px 10px}.reason-input{border:1px solid #d1d5db;border-radius:var(--border-radius);font-family:inherit;font-size:14px;height:80px;padding:10px;resize:vertical;width:100%}.reason-input:focus{border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);box-shadow:0 0 0 2px #8b5cf626;outline:none}.correction-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.correction-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.correction-card-employee{align-items:center;display:flex;gap:12px}.correction-card-body{grid-gap:12px;border-bottom:1px solid #f3f4f6;border-top:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px 0}.correction-card-item{display:flex;flex-direction:column;gap:4px}.correction-card-item label{color:#6b7280;font-size:11px;font-weight:500;text-transform:uppercase}.correction-card-item span{color:#111827;font-size:14px;font-weight:500}.correction-card-reason{padding:12px 0}.correction-card-reason label{color:#6b7280;font-size:11px;font-weight:500;text-transform:uppercase}.correction-card-reason p{color:#374151;font-size:14px;margin:4px 0 0}.correction-card-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.device-mapping-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.device-mapping-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius);box-shadow:var(--shadow);padding:16px}.device-mapping-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.device-mapping-title{color:#111827;font-size:16px;font-weight:600;margin:0}.device-mapping-id{color:#6b7280;font-size:12px;margin-top:4px}.device-mapping-stats{grid-gap:12px;border-top:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);padding:12px 0}.device-mapping-stat{display:flex;flex-direction:column;gap:2px}.device-mapping-stat label{color:#6b7280;font-size:11px;text-transform:uppercase}.device-mapping-stat span{color:#111827;font-size:18px;font-weight:600}.device-mapping-status{align-items:center;display:flex;font-size:12px;gap:6px}.device-mapping-status.online{color:#059669}.device-mapping-status.offline{color:#dc2626}.device-mapping-sync{border-top:1px solid #f3f4f6;color:#6b7280;font-size:12px;margin-top:12px;padding-top:12px}.employee-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius);margin-bottom:20px;padding:16px}.employee-summary-header{align-items:center;display:flex;gap:16px}.employee-summary-photo{align-items:center;background:#ede9fe;background:var(--accent-light,#ede9fe);border-radius:50%;color:#8b5cf6;color:var(--primary,#8b5cf6);display:flex;font-size:24px;font-weight:600;height:64px;justify-content:center;width:64px}.employee-summary-photo img{border-radius:50%;height:100%;object-fit:cover;width:100%}.employee-summary-info h3{color:#111827;font-size:18px;margin:0 0 4px}.employee-summary-info p{color:#6b7280;font-size:14px;margin:0}.employee-summary-details{grid-gap:12px;border-top:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:16px;padding-top:16px}.employee-summary-detail{display:flex;flex-direction:column;gap:2px}.employee-summary-detail label{color:#6b7280;font-size:11px;text-transform:uppercase}.employee-summary-detail span{color:#111827;font-size:14px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{border-radius:var(--border-radius);box-shadow:var(--shadow)}.stat-card h3{color:var(--primary,#8b5cf6);font-size:28px;font-weight:600;margin:0}.stat-card p{color:#6b7280;font-size:14px;margin:4px 0 0}.loading-spinner{border-top:3px solid var(--primary,#8b5cf6)}.empty-state svg{height:48px;margin-bottom:12px;width:48px}.error-banner button{border:1px solid #991b1b}.pagination{gap:8px}.pagination button{border:1px solid #d1d5db;padding:8px 14px;transition:all .2s}.pagination button.active{background:#8b5cf6;background:var(--primary,#8b5cf6);border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);color:#fff}.pagination button:hover:not(:disabled):not(.active){border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);color:#8b5cf6;color:var(--primary,#8b5cf6)}.pagination-info{color:#6b7280;margin:0 12px}@media (max-width:768px){.attendance-screen{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{justify-content:flex-start;width:100%}.filter-grid{grid-template-columns:1fr}.correction-card-body{grid-template-columns:1fr 1fr}.device-mapping-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.correction-card-body,.stats-row{grid-template-columns:1fr}.form-buttons{flex-direction:column}.form-buttons button{width:100%}}.punch-type-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.punch-type-badge.in{background:#dcfce7;color:#166534}.punch-type-badge.out{background:#fef3c7;color:#92400e}.punch-type-badge.break_start{background:#e0e7ff;color:#3730a3}.punch-type-badge.break_end{background:#fce7f3;color:#9d174d}.tenant-container{animation:fadeIn .3s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-height:70vh;padding:var(--space-xl)}.tenant-container h2{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--heading-size-md);font-weight:700;letter-spacing:var(--letter-spacing-heading);margin-bottom:var(--space-lg)}.tenant-actions{flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg)}.form-inline{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md) 0}@media (max-width:768px){.tenant-container{padding:var(--space-lg)}.tenant-actions{align-items:stretch;flex-direction:column}}@media (max-width:600px){.tenant-container{padding:var(--space-md)}.tenant-container h2{font-size:var(--heading-size-sm)}}.um-container{animation:fadeIn .25s ease;background:var(--bg);min-height:calc(100vh - 120px);padding:32px}.um-container h2{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:24px}.um-add-bar{grid-gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000f;display:grid;gap:16px;grid-template-columns:1fr 250px 150px;margin-bottom:26px;padding:18px 22px}.um-add-bar input,.um-add-bar select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:15px;height:46px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.um-add-bar input::placeholder{color:#9ca3af}.um-add-bar input:focus,.um-add-bar select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626;outline:none}.um-add-btn{background:#8b5cf6;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;height:46px;transition:all .2s ease}.um-add-btn:hover{background:#7c3aed}.um-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;width:100%}.um-table th{background:#1f2937;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.um-table th:first-child{border-top-left-radius:12px}.um-table th:last-child{border-top-right-radius:12px}.um-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:14px;padding:14px 16px;vertical-align:middle}.um-table tr:hover{background:#f9fafb}.um-table tr:last-child td{border-bottom:none}.um-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.um-btn.grey{background:#6b7280;color:#fff}.um-btn.grey:hover{background:#4b5563}.um-btn.red{background:#ef4444;color:#fff}.um-btn.red:hover{background:#dc2626}.um-btn.green{background:#10b981;color:#fff}.um-btn.green:hover{background:#059669}.um-btn.purple{background:#8b5cf6;color:#fff}.um-btn.purple:hover{background:#7c3aed}.um-table td>*{margin-right:8px}.um-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:99999}.um-popup{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;padding:0;width:460px}.um-popup h3{background:#1f2937;color:#fff;font-size:16px;font-weight:600;margin:0;padding:16px 24px}.um-popup-content{padding:24px}.um-popup.small{width:380px}.um-popup label{color:#374151;font-size:14px;font-weight:500}.um-popup input,.um-popup select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;margin-bottom:16px;margin-top:6px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.um-popup input:focus,.um-popup select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626;outline:none}.um-check-row{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;display:flex;gap:12px;margin-bottom:8px;padding:10px 12px;transition:background .2s}.um-check-row:hover{background:#f3f4f6}.um-check-row input[type=checkbox]{accent-color:#8b5cf6;height:18px;width:18px}.um-priv-list{max-height:280px;overflow-y:auto;padding-right:8px}.um-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px}.um-actions .um-btn{padding:10px 20px}.um-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.um-status.active{background:#d1fae5;color:#065f46}.um-status.inactive{background:#fee2e2;color:#991b1b}@media (max-width:768px){.um-container{padding:16px}.um-add-bar{gap:12px;grid-template-columns:1fr}.um-table{display:block;overflow-x:auto}.um-table td,.um-table th{font-size:13px;padding:12px}.um-popup{max-width:460px;width:95%}}.departments-page{padding:24px}.departments-page .page-icon{color:#8b5cf6!important}.dept-back-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.dept-back-btn:hover{background:#e2e8f0;color:#1e293b}.dept-view-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:20px;padding:6px;transition:all .2s}.dept-view-btn.active{color:#8b5cf6}.department-filters,.dept-view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a}.department-filters{border-radius:12px;margin-bottom:24px;padding:16px}.search-form{display:flex;gap:12px}.search-input-wrapper{flex:1 1;position:relative}.search-input{padding-left:40px!important;padding-right:40px!important}.clear-search-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px}.clear-search-btn:hover{background:#f1f5f9;color:#64748b}.search-btn{white-space:nowrap}.filter-controls{align-items:center;display:flex;gap:12px;margin-top:12px}.filter-toggle-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;position:relative;transition:all .2s}.filter-toggle-btn.active,.filter-toggle-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.clear-filters-btn{background:#0000;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:8px 16px}.clear-filters-btn:hover{text-decoration:underline}.filters-panel{border-top:1px solid #e2e8f0;display:flex;gap:16px;margin-top:16px;padding-top:16px}.filter-group{min-width:180px}.filter-group label{color:#64748b;display:block;font-size:12px;margin-bottom:6px}.departments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.department-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;min-height:280px;overflow:hidden;transition:all .2s}.department-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.department-card .card-header{align-items:center;background:#1f2937;border-bottom:none;display:flex;justify-content:space-between;padding:16px}.dept-icon{align-items:center;background:#ede9fe;border-radius:10px;color:#8b5cf6;display:flex;font-size:20px;height:44px;justify-content:center;width:44px}.card-actions{display:flex;gap:4px}.card-actions .action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#ffffffb3;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:50px}.card-actions .action-btn:hover{background:#ffffff1a;color:#fff}.card-actions .action-btn.view:hover{color:#a78bfa}.card-actions .action-btn.edit:hover{color:#fbbf24}.card-actions .action-btn.delete:hover{color:#f87171}.department-card .card-body{cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:16px}.dept-code{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-block;font-size:12px;font-weight:600;margin-bottom:8px;padding:4px 10px}.dept-name{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.dept-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:14px;margin:0 0 12px;overflow:hidden}.dept-stats{display:flex;gap:16px;margin-bottom:12px}.dept-stats .stat{align-items:center;color:#64748b;display:flex;font-size:13px;gap:6px}.dept-stats .stat-icon{color:#94a3b8}.dept-manager{align-items:center;background:#f8fafc;border-radius:8px;color:#475569;display:flex;font-size:13px;gap:8px;margin-top:auto;padding:8px 12px}.dept-manager .manager-icon{color:#8b5cf6}.department-card .card-footer{background:#f8fafc;background:#1f2937;border-top:1px solid #f1f5f9;padding:12px 16px}.departments-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;padding:0}table.departments-table{border-collapse:collapse;width:100%}table.departments-table td,table.departments-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:12px 16px;text-align:left;vertical-align:middle}table.departments-table td:last-child,table.departments-table th:last-child{border-right:none}table.departments-table th{background:#1f2937;border-bottom:none;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}table.departments-table th:last-child{border-right:none}table.departments-table tbody tr{background:#fff}table.departments-table tbody tr:hover{background:#f9fafb}table.departments-table tbody tr:last-child td{border-bottom:none}.departments-table td:first-child,.departments-table th:first-child{width:100px}.departments-table td:nth-child(2),.departments-table th:nth-child(2){width:25%}.departments-table td:nth-child(3),.departments-table th:nth-child(3){width:20%}.departments-table td:nth-child(4),.departments-table td:nth-child(5),.departments-table th:nth-child(4),.departments-table th:nth-child(5){text-align:center;width:100px}.departments-table td:nth-child(6),.departments-table th:nth-child(6){text-align:center;width:120px}.departments-table .dept-code{background:#0000;border-radius:0;color:#1e293b;display:inline;font-size:14px;font-weight:500;margin:0;padding:0}.dept-actions{gap:4px}.departments-table .btn-icon,.dept-actions{align-items:center;display:flex;justify-content:center}.departments-table .btn-icon{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:15px;height:32px;padding:0;transition:all .2s;width:32px}.departments-table .btn-icon:hover{background:#e5e7eb}.departments-table .btn-icon.danger{background:#fee2e2;color:#dc2626}.departments-table .btn-icon.danger:hover{background:#fecaca}.departments-table .dept-name-link{color:#8b5cf6;cursor:pointer;font-weight:500}.departments-table .dept-name-link:hover{text-decoration:underline}.departments-table .manager-name{color:#1e293b}.departments-table .no-manager{color:#94a3b8;font-style:italic}.departments-table .employee-count{color:#1e293b;font-weight:500;text-align:center}.departments-table .actions-cell{display:flex;gap:8px;justify-content:center}.departments-table .action-btn{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.departments-table .action-btn:hover{background:#e5e7eb}.departments-table .action-btn.view{background:#f3f0ff;color:#8b5cf6}.departments-table .action-btn.view:hover{background:#ede9fe;color:#7c3aed}.departments-table .action-btn.edit{background:#fef3c7;color:#d97706}.departments-table .action-btn.edit:hover{background:#fde68a;color:#b45309}.departments-table .action-btn.delete{background:#fee2e2;color:#dc2626}.departments-table .action-btn.delete:hover{background:#fecaca;color:#b91c1c}.status-badge{font-weight:500}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fee2e2;color:#dc2626}.dept-code-badge{background:#e2e8f0;border-radius:4px;color:#475569;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.department-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:800px}.form-section{border-bottom:1px solid #f1f5f9}.form-section:last-of-type{border-bottom:none}.section-title{color:#1e293b;font-size:16px;margin:0 0 20px}.form-group .tpq-input,.form-group .tpq-select{width:100%}.form-group .tpq-input.error{border-color:#ef4444}.error-text,.help-text{display:block}.help-text{margin-top:4px}.checkbox-group{display:flex;flex-direction:column;gap:4px}.checkbox-label input[type=checkbox]{cursor:pointer}.form-actions{background:#f8fafc;border-radius:0 0 12px 12px;padding:20px 24px}.department-details-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr;margin-top:24px}@media (max-width:900px){.department-details-layout{grid-template-columns:1fr}}.department-profile-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;padding:24px;position:-webkit-sticky;position:sticky;text-align:center;top:24px}.department-profile-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:20px;color:#fff;display:flex;font-size:36px;height:80px;justify-content:center;margin-bottom:16px;width:80px}.department-profile-icon.new-department{background:linear-gradient(135deg,#d1d5db,#9ca3af)}.department-profile-name{color:#1e293b;font-size:20px;font-weight:600;margin-bottom:4px}.department-profile-code{background:#f1f5f9;border-radius:6px;color:#64748b;font-size:14px;font-weight:500;margin-bottom:12px;padding:4px 12px}.department-profile-stat{align-items:center;color:#64748b;font-size:14px;justify-content:center;margin-top:12px;padding-top:12px}.department-profile-actions,.department-profile-stat{border-top:1px solid #f1f5f9;display:flex;gap:8px;width:100%}.department-profile-actions{flex-direction:column;margin-top:20px;padding-top:20px}.department-profile-actions .tpq-btn-danger,.department-profile-actions .tpq-btn-primary,.department-profile-actions .tpq-btn-secondary{justify-content:center;width:100%}.department-details-content,.department-form-embedded{display:flex;flex-direction:column;gap:20px}.department-form-embedded .details-card{margin-bottom:0}.form-actions-inline{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;justify-content:flex-end;padding:20px}@media (max-width:640px){.info-grid{grid-template-columns:1fr}}.description-block{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:16px}.description-block .info-label{display:block;margin-bottom:8px}.card-header-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.card-header-row .card-title{border:none;margin:0;padding:0}.btn-sm{font-size:13px;padding:6px 12px}.employees-card{overflow:hidden}.employees-card .card-header-row{padding:0 0 12px}.details-grid{grid-template-columns:repeat(2,1fr);margin-bottom:32px}@media (max-width:900px){.details-grid{grid-template-columns:1fr}}.details-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.details-card.full-width{grid-column:1/-1}.details-card .card-title{align-items:center;border-bottom:1px solid #f1f5f9;color:#1e293b;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px;padding-bottom:12px}.department-info{display:flex;flex-direction:column;gap:16px}.info-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.info-item{gap:12px}.info-icon{color:#8b5cf6;flex-shrink:0;font-size:18px;margin-top:2px}.info-content{display:flex;flex-direction:column;gap:2px}.manager-info{gap:16px}.manager-avatar,.manager-info{align-items:center;display:flex}.manager-avatar{background:#8b5cf6;border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:48px;justify-content:center;width:48px}.manager-details{display:flex;flex-direction:column;gap:2px}.manager-details .manager-name{color:#1e293b;font-size:16px;font-weight:600}.manager-details .manager-email{color:#8b5cf6;font-size:13px}.manager-details .manager-designation{color:#64748b;font-size:13px}.contact-info{display:flex;flex-direction:column;gap:12px}.contact-item{align-items:center;display:flex;gap:12px}.contact-icon{color:#8b5cf6;font-size:18px}.contact-item a{color:#8b5cf6;text-decoration:none}.contact-item a:hover{text-decoration:underline}.description-text{color:#475569;font-size:14px;line-height:1.6;margin:0}.no-data{color:#64748b;padding:16px;text-align:center}.no-data p{margin:0 0 12px}.employees-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.section-header{justify-content:space-between;margin-bottom:16px}.section-header h3{align-items:center;color:#1e293b;display:flex;font-size:16px;font-weight:600;gap:8px}.employees-table-container{overflow-x:auto}.employees-table{width:100%}.employees-table .emp-code{color:#8b5cf6;font-weight:500}.employees-table .emp-name{color:#1e293b;font-weight:500}.error-banner button{padding:4px}.empty-state.small{background:#f8fafc;box-shadow:none;padding:40px 20px}.pagination{margin-top:24px}.pagination-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#64748b;font-size:14px}.tpq-btn-primary{background:#8b5cf6}.tpq-btn-primary:hover:not(:disabled){background:#7c3aed}.tpq-btn-danger{border-radius:8px;display:inline-flex;font-size:14px;font-weight:500;gap:8px;transition:all .2s}.tpq-btn-link{background:none;border:none;color:#8b5cf6;cursor:pointer;font-size:14px;padding:0}.tpq-btn-link:hover{text-decoration:underline}.tpq-input:focus,.tpq-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.tpq-table td,.tpq-table th{border-bottom:1px solid #f1f5f9;padding:12px 16px}.tpq-table th{background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase}.tpq-table td{color:#475569;font-size:14px}.tpq-table tbody tr:hover{background:#f8fafc}.manager-select-error,.manager-select-loading{align-items:center;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;display:flex;font-size:14px;gap:8px;padding:10px 14px}.manager-select-error{background:#fef2f2;border-color:#fecaca;color:#ef4444}.manager-select-error button{background:#0000;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:12px;margin-left:auto;padding:4px 8px}.dept-view-btn svg{display:block;height:20px;width:20px}.dept-view-btn:hover{background:#0000!important;box-shadow:none!important;color:inherit!important}.datetime-widget{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px 16px}.datetime-date,.datetime-time{align-items:center;display:flex;gap:8px}.datetime-icon{color:#8b5cf6;flex-shrink:0;font-size:16px}.time-value{color:#111827;font-size:15px;letter-spacing:-.01em}.date-value{color:#6b7280;font-size:13px;font-weight:500}.datetime-widget.compact{flex-direction:row;gap:16px;padding:10px 14px}.datetime-widget.compact .time-value{font-size:14px}.datetime-widget.compact .date-value{font-size:12px}@media (max-width:640px){.datetime-widget{flex-direction:row;gap:12px;justify-content:space-between;padding:10px 12px}.time-value{font-size:14px}.date-value{font-size:12px}}.donut-chart-container{align-items:center;display:flex;flex-direction:column;gap:16px}.donut-chart-wrapper{display:inline-flex;position:relative}.donut-chart{display:block}.donut-segment{transition:stroke-dashoffset .5s ease}.donut-center{align-items:center;display:flex;flex-direction:column;justify-content:center;left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.donut-value{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1}.donut-label{color:var(--text-secondary);font-size:11px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.donut-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.legend-text{color:var(--text-secondary)}.legend-value{color:var(--text-primary);font-weight:600}.donut-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:16px;padding:20px}.donut-card-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.donut-chart-container.horizontal{flex-direction:row;gap:24px}.donut-chart-container.horizontal .donut-legend{align-items:flex-start;flex-direction:column;gap:8px}@media (max-width:640px){.donut-chart-container.horizontal{flex-direction:column}.donut-chart-container.horizontal .donut-legend{flex-direction:row;flex-wrap:wrap;justify-content:center}}.alert-panel{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:400px;overflow:hidden}.alert-panel-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 16px}.alert-panel-title{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:8px}.alert-panel-icon{color:var(--accent-primary);font-size:18px}.alert-count{background:var(--accent-primary);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:2px 8px}.dismiss-all-btn{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 8px;transition:var(--transition-fast)}.dismiss-all-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.alert-panel-body{flex:1 1;overflow-y:auto}.alert-item{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:12px 16px;position:relative;transition:background .15s ease}.alert-item:last-child{border-bottom:none}.alert-item:hover{background:var(--bg-primary)}.alert-item-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.alert-item.alert-danger .alert-item-icon{background:#fee2e2;color:#dc2626}.alert-item.alert-warning .alert-item-icon{background:#fef3c7;color:#d97706}.alert-item.alert-info .alert-item-icon{background:#dbeafe;color:#2563eb}.alert-item.alert-default .alert-item-icon{background:#f3f4f6;color:#6b7280}.alert-item-content{flex:1 1;min-width:0}.alert-item-title{color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:2px}.alert-item-message{color:var(--text-secondary);font-size:12px;line-height:1.4}.alert-item-time{color:var(--text-secondary);font-size:11px;margin-top:4px}.alert-item-action{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;height:28px;justify-content:center;transition:var(--transition-fast);width:28px}.alert-item-action:hover{background:var(--accent-light);color:var(--accent-primary)}.alert-dismiss-btn{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;opacity:0;padding:4px;position:absolute;right:8px;top:8px;transition:var(--transition-fast)}.alert-item:hover .alert-dismiss-btn{opacity:1}.alert-dismiss-btn:hover{background:#fee2e2;color:#dc2626}.device-alert-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.device-alert-content{align-items:center;color:#dc2626;display:flex;flex:1 1;font-size:14px;gap:8px}.device-alert-icon{font-size:18px}.device-alert-action{background:#fff;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:var(--transition-fast)}.device-alert-action:hover{background:#dc2626;border-color:#dc2626;color:#fff}.device-alert-dismiss{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;padding:4px}.device-alert-dismiss:hover{background:#fecaca}.attendance-alerts{display:flex;flex-wrap:wrap;gap:12px}.attendance-alert-item{align-items:center;border-radius:var(--radius-sm);display:flex;font-size:14px;gap:8px;padding:10px 16px}.attendance-alert-item.warning{background:#fef3c7;color:#92400e}.attendance-alert-item.danger{background:#fee2e2;color:#991b1b}.attendance-alert-item .alert-icon{font-size:18px}.attendance-alert-item .alert-count{background:#0000;color:inherit;font-size:20px;font-weight:700;line-height:1;padding:0}.attendance-alert-item .alert-label{font-weight:500}@media (max-width:640px){.alert-panel{max-height:300px}.attendance-alerts{flex-direction:column}.attendance-alert-item{width:100%}}.global-search-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;font-family:inherit;gap:12px;height:44px;min-width:200px;padding:10px 16px;transition:all .2s ease}.global-search-trigger:hover{background:#faf5ff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.global-search-trigger:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626;outline:none}.global-search-trigger .search-icon{align-items:center;color:#8b5cf6;display:flex;flex-shrink:0;font-size:18px;justify-content:center;left:auto!important;line-height:1;position:static!important;top:auto!important;transform:none!important}.global-search-trigger .search-text{color:#6b7280;flex:1 1;font-size:14px;text-align:left}.global-search-trigger .search-shortcut{align-items:center;background:#ede9fe;border:1px solid #c4b5fd;border-radius:6px;color:#7c3aed;display:flex;font-family:inherit;font-size:12px;font-weight:600;gap:2px;padding:4px 10px}.global-search-trigger .search-shortcut span{color:#7c3aed;font-size:12px}.global-search-overlay{align-items:flex-start;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182799;display:flex;inset:0;justify-content:center;padding-top:80px;position:fixed;z-index:100000}.global-search-modal{animation:slideDown .2s ease;background:#fff;border-radius:16px;box-shadow:0 0 0 1px #8b5cf61a,0 20px 60px #00000040,0 8px 24px #8b5cf61a;max-width:580px;overflow:hidden;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-header{align-items:center;background:#faf5ff;border-bottom:1px solid #e5e7eb;display:flex;gap:14px;padding:18px 20px}.search-input-icon{color:#8b5cf6;flex-shrink:0;font-size:22px}.search-header .search-input{background:#0000;border:none;color:#111827;flex:1 1;font-size:17px;font-weight:500;outline:none}.search-header .search-input::placeholder{color:#9ca3af;font-weight:400}.search-results{max-height:380px;overflow-y:auto;padding:12px}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:#f3f4f6}.search-results::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.search-results::-webkit-scrollbar-thumb:hover{background:#9ca3af}.search-category{margin-bottom:12px}.search-category:last-child{margin-bottom:0}.category-label{align-items:center;color:#8b5cf6;display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.8px;padding:10px 14px 8px;text-transform:uppercase}.category-label:after{background:linear-gradient(90deg,#e5e7eb,#0000);content:"";flex:1 1;height:1px}.search-result-item{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:flex;font-family:inherit;gap:14px;margin-bottom:4px;padding:12px 14px;text-align:left;transition:all .15s ease;width:100%}.search-result-item:last-child{margin-bottom:0}.search-result-item:hover{background:#f5f3ff}.search-result-item.selected{background:#8b5cf6}.search-result-item.selected .result-icon,.search-result-item.selected .result-title{color:#fff}.search-result-item.selected .result-hint{color:#fffc}.search-result-item .result-icon{align-items:center;background:#ede9fe;border-radius:8px;color:#8b5cf6;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.search-result-item.selected .result-icon{background:#fff3}.search-result-item .result-title{color:#1f2937;flex:1 1;font-size:14px;font-weight:500}.search-result-item .result-hint{background:#ede9fe;border-radius:4px;color:#8b5cf6;font-size:12px;font-weight:500;padding:4px 10px}.search-result-item.selected .result-hint{background:#fff3}.search-empty{align-items:center;display:flex;flex-direction:column;gap:12px;padding:48px 32px;text-align:center}.search-empty-icon{color:#d1d5db;font-size:48px}.search-empty p{color:#4b5563;font-size:15px;margin:0}.search-empty p strong{color:#8b5cf6}.search-empty-hint{color:#9ca3af;font-size:13px}.search-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:20px;justify-content:center;padding:14px 20px}.search-footer span{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:500;gap:8px}.search-footer kbd{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#4b5563;display:inline-flex;font-family:inherit;font-size:11px;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 8px}@media (max-width:640px){.global-search-overlay{align-items:flex-start;padding:60px 16px 16px}.global-search-modal{border-radius:12px;max-width:100%}.search-header{padding:14px 16px}.search-header .search-input{font-size:16px}.search-results{max-height:320px;padding:8px}.search-result-item{gap:12px;padding:10px 12px}.search-result-item .result-icon{font-size:16px;height:32px;width:32px}.global-search-trigger{height:44px;justify-content:center;min-width:auto;padding:10px;width:44px}.global-search-trigger .search-shortcut,.global-search-trigger .search-text{display:none}.search-footer{flex-wrap:wrap;gap:10px;padding:12px 16px}.search-footer span{font-size:11px}.search-footer kbd{font-size:10px;height:20px;min-width:20px;padding:0 6px}}.dash-header{align-items:center;background:#fffffff2;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;min-width:0;overflow:visible;padding:20px 24px;position:relative;z-index:100}.dash-header h1{color:#111827;font-size:24px;font-weight:700;margin:0 0 4px}.dash-header-content{flex:1 1;min-width:0;overflow:visible}.dash-header-right{align-items:center;display:flex;gap:16px}.tenant-logo{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;width:56px}.tenant-logo img{max-height:100%;max-width:100%;object-fit:contain}.welcome-section{position:relative}.welcome-dropdown-trigger{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:8px;padding:8px 12px;transition:background .2s ease}.welcome-dropdown-trigger:hover{background:#8b5cf614}.welcome-dropdown-trigger strong{color:#111827;font-weight:600}.dropdown-arrow{color:#9ca3af;font-size:14px;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.welcome-dropdown-menu{animation:dropdownFadeIn .15s ease;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;left:0;min-width:200px;overflow:visible;position:absolute;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;text-decoration:none;transition:background .15s ease;width:100%}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.danger{color:#dc2626}.dropdown-item.danger:hover{background:#fef2f2}.dropdown-icon{font-size:18px}.role-badge{align-items:center;border-radius:6px;display:inline-flex;letter-spacing:.3px;padding:4px 10px}.plan-badge{border-radius:6px;font-weight:700;letter-spacing:.5px;margin-left:8px}.plan-badge.plan-starter{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff}.plan-badge.plan-business{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.plan-badge.plan-enterprise{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.subscription-info.sidebar{align-items:center;background:#fffffff2;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:8px;margin-top:16px;padding:12px 16px}.subscription-label{font-size:12px;font-weight:500}.subscription-badge{border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px}.subscription-badge.plan-starter{background:#f1f5f9;color:#64748b}.subscription-badge.plan-business{background:#dbeafe;color:#1d4ed8}.subscription-badge.plan-enterprise{background:#fef3c7;color:#d97706}.section-title{color:#111827;font-size:18px;font-weight:600;margin:32px 0 16px}.chart-stats-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:32px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.chart-card .card-title{color:#111827;font-size:16px;font-weight:600;margin:0 0 20px}.attendance-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:32px;min-width:0}.attendance-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;min-width:0;overflow:hidden;padding:20px;transition:box-shadow .2s ease}.attendance-card:hover{box-shadow:0 4px 12px #00000014}.attendance-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.attendance-card.present .attendance-icon{background:#d1fae5;color:#059669}.attendance-card.absent .attendance-icon{background:#fee2e2;color:#dc2626}.attendance-card.leave .attendance-icon{background:#fef3c7;color:#d97706}.attendance-card.holiday .attendance-icon{background:#e0f2fe;color:#0284c7}.attendance-info{display:flex;flex-direction:column}.attendance-count{color:#111827;font-size:28px;font-weight:700;line-height:1}.attendance-label{color:#6b7280;font-size:13px;margin-top:4px}.subscription-info{background:#f9fafb;border:1px solid #e5e7eb;gap:12px;margin-top:32px;padding:16px 20px}.subscription-label{color:#6b7280;font-size:14px}.subscription-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 16px;text-transform:uppercase}.subscription-badge.plan-starter{background:#f3f4f6;color:#4b5563}.subscription-badge.plan-professional{background:#dbeafe;color:#1d4ed8}.subscription-badge.plan-enterprise{background:#fae8ff;color:#9333ea}.subscription-badge.plan-premium{background:#fef3c7;color:#b45309}.error-banner button{border-radius:6px}.error-banner button:hover{background:#b91c1c}.loading-container{gap:16px;min-height:400px}.loading-spinner{border-top-color:#000}.loading-container p{color:#6b7280;font-size:14px}.table-wrap{margin-bottom:24px}.data-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:13px;padding:12px 16px;text-align:left}.data-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:12px 16px}.data-table tr:hover td{background:#f9fafb}.tx-item.highlight-urgent{animation:pulse-urgent 2s ease-in-out infinite;background:#fffbeb;border:2px solid #f59e0b;position:relative}.tx-item.highlight-urgent:hover{background:#fef3c7}@keyframes pulse-urgent{0%,to{box-shadow:0 0 0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}.urgent-badge{align-items:center;animation:bounce 1s ease-in-out infinite;background:#f59e0b;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-6px;top:-6px;width:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width:1024px){.card-grid-2{grid-template-columns:1fr}.attendance-summary-grid,.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.attendance-summary-grid,.stats-row{grid-template-columns:1fr}.dash-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px}.dash-header h1{font-size:20px}.dash-header-right{flex-wrap:wrap;gap:12px;width:100%}.tenant-logo{height:48px;width:48px}.welcome-dropdown-trigger{font-size:13px;padding:6px 10px}.role-badge{font-size:10px;padding:3px 8px}.tx-grid{grid-template-columns:repeat(2,1fr)}}.tx-item.prominent{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981;box-shadow:0 4px 12px #10b98126;position:relative}.tx-item.prominent:hover{background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 12px 28px #10b98140;transform:translateY(-6px)}.tx-item.prominent .tx-icon{background:#0000!important;border-radius:20px;box-shadow:none!important;height:100px!important;width:100px!important}.tx-item.prominent .tx-icon img{filter:none;height:100px!important;object-fit:contain;width:100px!important}.prominent-badge{align-items:center;animation:pulse-badge 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 8px #f59e0b66;color:#fff;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;position:absolute;right:-8px;top:-8px;width:28px}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stat-card.device-stat{position:relative}.device-status-indicators{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.status-indicator{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.status-indicator.online{background:#d1fae5;color:#059669}.status-indicator.offline{background:#fee2e2;color:#dc2626}.status-dot{height:8px;width:8px}.status-indicator.online .status-dot{animation:pulse-online 2s ease-in-out infinite;background:#10b981}.status-indicator.offline .status-dot{animation:pulse-offline 1.5s ease-in-out infinite;background:#ef4444}@keyframes pulse-online{0%,to{box-shadow:0 0 0 0 #10b98166}50%{box-shadow:0 0 0 6px #10b98100}}@keyframes pulse-offline{0%,to{opacity:1}50%{opacity:.5}}.tx-icon.blue{background:#3b82f61a}.tx-icon.green{background:#10b9811a}.tx-icon.teal{background:#14b8a61a}.tx-icon.indigo{background:#6366f11a}.tx-icon.purple{background:#8b5cf61a}.tx-icon.pink{background:#ec48991a}.tx-icon.slate{background:#64748b1a}.tx-icon.sky{background:#0ea5e91a}.tx-item:hover .tx-icon.blue{background:#3b82f633}.tx-item:hover .tx-icon.green{background:#10b98133}.tx-item:hover .tx-icon.teal{background:#14b8a633}.tx-item:hover .tx-icon.indigo{background:#6366f133}.tx-item:hover .tx-icon.purple{background:#8b5cf633}.tx-item:hover .tx-icon.pink{background:#ec489933}.tx-item:hover .tx-icon.slate{background:#64748b33}.tx-item:hover .tx-icon.sky{background:#0ea5e933}.alerts-top-section{margin-bottom:20px}.alerts-top-section .alert-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a}.platform-dashboard{background:#f5f7fa;background:var(--bg,#f5f7fa);box-sizing:border-box;min-height:100vh;padding:30px}.loading-container{color:#666;color:var(--text-muted,#666);min-height:50vh}.loading-spinner{border:3px solid #eee;border-top:3px solid var(--accent-primary,#8b5cf6)}.dashboard-header{flex-wrap:wrap;gap:16px;margin-bottom:24px}.header-left h1{color:#333;color:var(--text,#333);font-size:24px;margin:0 0 8px}.welcome-text{color:#666;color:var(--text-muted,#666);font-size:14px;margin:0}.role-badge{background:#8b5cf6;background:var(--accent-primary,#8b5cf6);border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px;text-transform:uppercase}.header-right{display:flex;gap:12px}.btn{padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn-outline{background:#0000;border:1px solid #ddd;border:1px solid var(--border,#ddd);color:#333;color:var(--text,#333)}.btn-outline:hover{background:#f5f5f5}.error-banner button{background:#b91c1c}.platform-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-card h3{color:#8b5cf6;color:var(--accent-primary,#8b5cf6);font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-card p{color:#333;color:var(--text,#333);font-size:28px;font-weight:700;margin:0 0 4px}.stat-detail{color:#888;color:var(--text-muted,#888);font-size:12px}.quick-actions{margin-bottom:24px}.quick-actions h3{color:#333;color:var(--text,#333);font-size:16px;margin:0 0 16px}.actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-card{align-items:center;background:#fff;background:var(--white,#fff);border-radius:8px;box-shadow:0 2px 8px #00000014;color:#333;color:var(--text,#333);display:flex;flex-direction:column;gap:8px;justify-content:center;padding:20px 16px;text-decoration:none;transition:all .2s ease}.action-card:hover{background:#8b5cf6;background:var(--accent-primary,#8b5cf6);box-shadow:0 4px 12px #0000001f;color:#fff;transform:translateY(-2px)}.action-icon{font-size:24px;opacity:.8}.mt{color:#333;color:var(--text,#333);font-size:16px;margin-bottom:12px;margin-top:24px}.table-wrap{background:var(--white,#fff);box-shadow:0 2px 8px #00000014}.data-table td,.data-table th{border-bottom:1px solid #eee}.data-table tbody tr:hover{background:#f9f9f9}.data-table code{background:#f0f0f0;border-radius:4px;font-size:12px;padding:2px 6px}.status-active{background:#dcfce7;color:#166534}.status-inactive,.status-suspended{background:#fee2e2;color:#b91c1c}.plan-distribution{margin-top:24px}.plan-distribution h3{color:#333;color:var(--text,#333);font-size:16px;margin:0 0 16px}.plan-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.plan-card{padding:16px;text-align:center}.plan-card h4{color:#8b5cf6;color:var(--accent-primary,#8b5cf6);font-size:14px;margin:0 0 8px;text-transform:uppercase}.plan-count{color:#333;color:var(--text,#333);font-size:32px;font-weight:700;margin:0}.plan-label{color:#888;color:var(--text-muted,#888);font-size:12px}@media (max-width:768px){.platform-dashboard{padding:16px}.dashboard-header{flex-direction:column}.header-right{justify-content:flex-end;width:100%}.actions-grid,.platform-stats{grid-template-columns:1fr 1fr}}.platform-subscriptions{background:#f5f7fa;background:var(--bg,#f5f7fa);box-sizing:border-box;min-height:calc(100vh - 120px);padding:30px}.header-left{align-items:flex-start;display:flex;gap:16px}.header-left h2{align-items:center;color:#1a1a2e;display:flex;flex-wrap:wrap;gap:10px;margin:0}.header-left p{color:#666;font-size:14px;margin:4px 0 0}.header-actions{flex-wrap:wrap;gap:10px}.btn-back{background:#0000;border:1px solid #ddd;border-radius:var(--border-radius,6px);color:#666;padding:8px 12px}.btn-back:hover{background:#f0f0f0;color:#333}.badge{border-radius:12px;font-size:11px}.badge.archived{background:#ffebee;color:#c62828}.badge.public{background:#e8f5e9;color:#2e7d32}.badge.private{background:#fff3e0;color:#e65100}.plan-code{color:#888;font-family:monospace;font-size:13px}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-card{background:var(--white,#fff);border-radius:var(--border-radius,8px);box-shadow:0 2px 8px #00000014;text-align:center}.stat-value{color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.stat-label{color:#666;font-size:13px}.filter-tabs{border-bottom:2px solid #eee;gap:8px;margin-bottom:20px;padding-bottom:0}.filter-tab{border-bottom:2px solid #0000;color:#666;font-size:14px;margin-bottom:-2px;padding:10px 16px;transition:all .2s}.filter-tab.active,.filter-tab:hover{color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.filter-tab.active{border-bottom-color:#8b5cf6;border-bottom-color:var(--accent-primary,#8b5cf6);font-weight:600}.plans-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:24px}.grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:16px}.plan-card{background:#fff;background:var(--white,#fff);border:1px solid #eee;border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 2px 8px #00000014;padding:20px;transition:all .2s}.plan-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.plan-card.archived{background:#fafafa;opacity:.7}.plan-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.plan-card-header h3{color:#8b5cf6;color:var(--accent-primary,#8b5cf6);font-size:18px;margin:0}.plan-card .plan-code{color:#888;font-family:monospace;font-size:12px;margin-top:4px}.plan-card .description{color:#666;font-size:13px;line-height:1.4;margin:8px 0 16px}.plan-card .price{color:#1a1a2e;font-size:24px;font-weight:700;margin:6px 0 10px}.plan-card .price-period{color:#888;font-size:13px;font-weight:400}.plan-card ul{margin:0 0 10px 16px;padding:0}.plan-card-stats{border-bottom:1px solid #eee;border-top:1px solid #eee;display:flex;justify-content:space-between;margin:12px 0;padding:12px 0}.plan-card-stat{text-align:center}.plan-card-stat .value{color:#333;display:block;font-size:16px;font-weight:600}.plan-card-stat .label{color:#888;font-size:11px}.plan-card-actions{display:flex;gap:8px;margin-top:16px}.plan-card-actions button{flex:1 1;font-size:13px;padding:8px 12px}.btn-primary{color:var(--white,#fff);padding:10px 18px;transition:all .2s}.btn-primary,.btn-secondary{border-radius:var(--border-radius,6px)}.btn-danger{background:#dc3545;border-radius:6px;border-radius:var(--border-radius,6px);color:var(--white,#fff);transition:all .2s}.btn-danger:hover{background:#c82333}.btn-success{background:#28a745;border:none;border-radius:6px;border-radius:var(--border-radius,6px);color:#fff;color:var(--white,#fff);cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s}.btn-success:hover{background:#218838}.btn-link{background:#0000;border:none;color:#8b5cf6;color:var(--accent-primary,#8b5cf6);cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.btn-link:hover{color:#7c3aed}.empty-state{background:var(--white,#fff);border-radius:8px;border-radius:var(--border-radius,8px);grid-column:1/-1}.note{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;border-radius:var(--border-radius,6px);color:#5d4e00;font-size:13px;padding:12px 16px}.error-message{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;border-radius:var(--border-radius,6px);color:#c62828;padding:12px 16px}.loading{color:#666}.form-container{background:#fff;background:var(--white,#fff);border:1px solid #e0e0e0;border-radius:8px;border-radius:var(--border-radius,8px);margin:16px 0;padding:24px}.form-container h3{color:#1a1a2e;font-size:18px;margin:0 0 20px}.form-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;color:#c62828;margin-bottom:16px;padding:10px 14px}.form-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-group{margin-bottom:16px}.form-group label{display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:var(--border-radius,6px);box-sizing:border-box;transition:border-color .2s;width:100%}.form-group input.disabled,.form-group input:disabled{background:#f5f5f5;color:#888;cursor:not-allowed}.form-group .hint{color:#888;display:block;margin-top:4px}.checkbox-label{display:flex!important}.checkbox-label input[type=checkbox]{margin:0;width:auto}.form-actions,.form-buttons{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.form-tabs{background:#f5f5f5;border-radius:8px 8px 0 0;border-radius:var(--border-radius,8px) var(--border-radius,8px) 0 0;display:flex;gap:0;margin-bottom:0;overflow:hidden}.form-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:14px 24px;transition:all .2s}.form-tab:hover{background:#eee}.form-tab.active{background:#fff;background:var(--white,#fff);border-bottom-color:#8b5cf6;border-bottom-color:var(--accent-primary,#8b5cf6);color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.feature-form{padding:0}.form-section{margin-bottom:32px}.form-section h4{color:#1a1a2e;font-size:16px;margin:0 0 8px}.section-desc{color:#666;font-size:13px;margin:0 0 16px}.feature-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.feature-toggle{align-items:flex-start;background:#f9fafc;border:1px solid #e0e0e0;border-radius:6px;border-radius:var(--border-radius,6px);cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.feature-toggle:hover{background:#f3f0ff;border-color:#8b5cf6;border-color:var(--accent-primary,#8b5cf6)}.feature-toggle.checked{background:#e8f5e9;border-color:#81c784}.feature-toggle input[type=checkbox]{margin-top:2px}.feature-toggle-content{flex:1 1}.feature-toggle-label{color:#333;display:block;font-size:14px;font-weight:500}.feature-toggle-desc{color:#888;display:block;font-size:12px;margin-top:2px}.limits-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.limit-input{background:#f9fafc;border:1px solid #e0e0e0;border-radius:6px;border-radius:var(--border-radius,6px);padding:12px}.limit-input label{color:#333;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.limit-input input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 10px;width:100%}.limit-input .hint{color:#888;display:block;font-size:11px;margin-top:4px}.price-input-group{position:relative}.price-input-wrapper{align-items:stretch;display:flex}.price-input-wrapper .currency-select{background:#f5f5f5;border-radius:6px 0 0 6px;border-radius:var(--border-radius,6px) 0 0 var(--border-radius,6px);border-right:none;padding:10px;width:auto}.price-input-wrapper input{border-radius:0 6px 6px 0;border-radius:0 var(--border-radius,6px) var(--border-radius,6px) 0;flex:1 1}.pricing-tip{background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;border-radius:var(--border-radius,6px);color:#1565c0;font-size:13px;margin-top:16px;padding:12px 16px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.detail-card{background:#fff;background:var(--white,#fff);border:1px solid #eee;border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 2px 8px #00000014}.detail-card.full-width{grid-column:1/-1}.detail-card h3{border-bottom:1px solid #eee;color:#1a1a2e;font-size:16px;margin:0 0 16px;padding-bottom:12px}.overview-content .description{color:#666;line-height:1.5;margin:0 0 16px}.overview-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-item{background:#f9fafc;border-radius:6px;border-radius:var(--border-radius,6px);padding:12px;text-align:center}.stat-item .stat-label{color:#888;display:block;font-size:12px;margin-bottom:4px}.stat-item .stat-value{color:#333;display:block;font-size:16px;font-weight:600}.stat-item .stat-value.active{color:#28a745}.stat-item .stat-value.inactive{color:#dc3545}.stat-item .stat-value.tenant-count{color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.pricing-content{text-align:center}.price-item{background:#f9fafc;border-radius:6px;border-radius:var(--border-radius,6px);margin-bottom:12px;padding:16px}.price-item .price-period{color:#888;display:block;font-size:13px;margin-bottom:4px}.price-item .price-amount{color:#1a1a2e;display:block;font-size:28px;font-weight:700}.savings-note{background:#e8f5e9;border-radius:4px;color:#2e7d32;font-size:13px;font-weight:500;padding:8px 12px}.modules-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.modules-group h4{color:#666;font-size:14px;margin:0 0 12px}.module-tags{display:flex;flex-wrap:wrap;gap:8px}.module-tag{align-items:center;border-radius:16px;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px}.module-tag.enabled{background:#e8f5e9;color:#2e7d32}.module-tag.disabled{background:#ffebee;color:#c62828}.all-enabled,.no-modules{color:#888;font-size:13px;font-style:italic}.features-list{padding:0}.feature-tags{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{align-items:center;background:#e3f2fd;border-radius:16px;color:#1565c0;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px}.no-features{color:#888;font-style:italic}.limits-table{overflow-x:auto}.limits-table table{border-collapse:collapse;width:100%}.limits-table td,.limits-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.limits-table th{background:#f9fafc;color:#333;font-size:13px;font-weight:600}.limits-table td{color:#444;font-size:14px}.limits-table td.unlimited{color:#2e7d32;font-weight:500}.tenants-note{padding:20px;text-align:center}.tenants-note p{color:#666;margin:0 0 12px}.danger-zone{background:#ffebee;border:1px solid #ffcdd2}.danger-zone h3{border-bottom-color:#ffcdd2;color:#c62828}.danger-zone p{color:#b71c1c;margin:0 0 16px}@media (max-width:768px){.platform-subscriptions{padding:16px}.header-left,.page-header{flex-direction:column}.stats-row{grid-template-columns:repeat(2,1fr)}.plans-grid{grid-template-columns:1fr}.filter-tabs,.form-tabs{flex-wrap:wrap}.form-tab{flex:1 1;min-width:100px;text-align:center}.details-grid,.modules-section{grid-template-columns:1fr}}.platform-settings{background:var(--bg);box-sizing:border-box;min-height:calc(100vh - 120px);padding:30px}.toast-success{background:#e8fff1;border:1px solid #b9f0ce;border-radius:var(--border-radius);color:#137a3c;display:inline-block;margin-bottom:10px;padding:8px 12px}.form-container{background:#f9fafc;border:1px solid #ddd;border-radius:var(--border-radius);padding:18px}.form-container h3{color:var(--primary);margin-top:10px}.form-container label{color:#333;font-weight:500}.form-container input,.form-container select{border:1px solid #ccc;border-radius:var(--border-radius);margin-bottom:12px;margin-top:6px;padding:10px;width:95%}.form-buttons{margin-top:8px}.note{color:#555;margin-top:14px}.tenants-wrapper{animation:fadeIn .3s ease}.tenants-header{margin-bottom:24px}.tenants-header h1{font-size:26px;font-weight:700;margin:0}.tenants-header p{color:#6b7280;font-size:14px;margin:4px 0 0}.tenants-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.tenants-search{gap:12px}.search-box-lg,.tenants-search{align-items:center;display:flex;flex:1 1}.search-box-lg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:10px;max-width:400px;min-width:280px;padding:10px 14px}.search-box-lg input{background:none;border:none;flex:1 1;font-size:14px;outline:none}.filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;min-width:140px;padding:10px 14px}.filter-select:focus{border-color:#6366f1;outline:none}.action-buttons{display:flex;gap:10px}.btn-primary{padding:10px 16px;transition:background .2s ease}.btn-primary:disabled{opacity:.5}.btn-danger,.btn-secondary{font-weight:500}.btn-danger{display:flex;gap:6px;padding:10px 16px;transition:background .2s ease}.btn-small{font-size:13px;padding:6px 12px}.tenant-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.tenant-table{border-collapse:collapse;width:100%}.tenant-table td,.tenant-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.tenant-table td:last-child,.tenant-table th:last-child{border-right:none}.tenant-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.tenant-table th:first-child{border-top-left-radius:12px}.tenant-table th:last-child{border-right:none;border-top-right-radius:12px}.tenant-table tbody tr{background:#fff}.tenant-table tbody tr:hover{background:#f9fafb}.tenant-table tbody tr:last-child td{border-bottom:none}.tenant-empty-cell{color:#666;padding:48px!important;text-align:center}.tenant-actions{align-items:center;display:flex;gap:4px;justify-content:center}.table-wrap{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 4px #0000000f}.data-table td,.data-table th{padding:14px 16px}.data-table th{background:#111827;color:#fff}.data-table td{border-bottom:1px solid #e5e7eb}.data-table tr:hover{background:#f9fafb}.status-badge{border-radius:12px;font-size:11px;padding:4px 10px;text-transform:uppercase}.status-badge.status-active{background:#dcfce7;color:#16a34a}.status-badge.status-suspended{background:#fee2e2;color:#dc2626}.status-badge.status-pending{background:#fef3c7;color:#d97706}.status-badge.status-trial{background:#dbeafe;color:#2563eb}.status-badge.status-inactive{background:#f3f4f6;color:#6b7280}.plan-badge{background:#e0e7ff;border-radius:12px;color:#4338ca;display:inline-block;font-size:11px;padding:4px 10px}.action-icons{display:flex;gap:6px}.icon-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.icon-btn:hover{background:#e5e7eb;color:#111827}.icon-btn.danger:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.icon-btn.success:hover{background:#dcfce7;border-color:#bbf7d0;color:#16a34a}.icon-btn.primary:hover{background:#dbeafe;border-color:#bfdbfe;color:#2563eb}.pagination button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination span{color:#6b7280;font-size:14px}.tenant-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.tenant-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:-1px;padding:12px 16px;transition:all .2s ease}.tenant-tab.active,.tenant-tab:hover{color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.tenant-tab.active{background-color:initial;border-bottom-color:#8b5cf6;border-bottom-color:var(--accent-primary,#8b5cf6);font-weight:600}.tenant-tab svg{height:16px;width:16px}.tenant-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:20px}.tenant-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.tenant-card-title{color:#111827;font-size:16px;font-weight:600;margin:0}.tenant-card-subtitle{color:#6b7280;font-size:13px;margin:4px 0 0}.info-grid{grid-template-columns:repeat(2,1fr)}.info-label{color:#6b7280;font-weight:600;text-transform:uppercase}.info-value{color:#111827}.stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{border:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f}.stat-card-icon{align-items:center;border-radius:10px;display:flex;font-size:20px;height:40px;justify-content:center;margin-bottom:12px;width:40px}.stat-card-icon.blue{background:#dbeafe;color:#2563eb}.stat-card-icon.green{background:#dcfce7;color:#16a34a}.stat-card-icon.purple{background:#ede9fe;color:#8b5cf6}.stat-card-icon.orange{background:#ffedd5;color:#ea580c}.stat-card-icon.yellow{background:#fef3c7;color:#d97706}.stat-card-icon.pink{background:#fce7f3;color:#db2777}.stat-card-icon.sky{background:#e0f2fe;color:#0284c7}.stat-card-icon.red{background:#fee2e2;color:#dc2626}.stat-card-label{color:#6b7280;font-size:13px;margin-bottom:4px}.stat-card-value{color:#111827;font-size:28px;font-weight:700}.stat-card-trend{color:#6b7280;font-size:12px;margin-top:4px}.stat-card-trend.up{color:#16a34a}.stat-card-trend.down{color:#dc2626}.form-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 4px #0000000f;margin-bottom:20px;padding:24px}.form-section-title{border-bottom:1px solid #e5e7eb;color:#111827;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.form-grid{grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:span 2}.form-group label{font-weight:600}.form-group label .required{color:#dc2626}.form-group input,.form-group select,.form-group textarea{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled,.form-group select:disabled{background:#f3f4f6;cursor:not-allowed}.form-group .input-with-button{display:flex;gap:8px}.form-group .input-with-button input{flex:1 1}.form-buttons{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px}.error-banner button{background:#dc2626}.loading-spinner{border-top-color:#111827;margin-bottom:12px}.subscription-card{background:linear-gradient(135deg,#111827,#1f2937);border-radius:16px;color:#fff;margin-bottom:24px;padding:24px}.subscription-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.subscription-plan-name{color:#fff;font-size:24px;font-weight:700;margin:0}.subscription-status{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.subscription-status.active{background:#22c55e33;color:#22c55e}.subscription-status.trial{background:#3b82f633;color:#60a5fa}.subscription-status.expired{background:#ef444433;color:#f87171}.subscription-details{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.subscription-detail-item{display:flex;flex-direction:column;gap:4px}.subscription-detail-label{color:#9ca3af;font-size:12px;text-transform:uppercase}.subscription-detail-value{font-size:16px;font-weight:600}.subscription-features{border-top:1px solid #ffffff1a;padding-top:16px}.subscription-features-title{color:#9ca3af;font-size:13px;margin-bottom:12px;text-transform:uppercase}.features-list{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{background:#ffffff1a;border-radius:4px;font-size:12px;padding:4px 10px}.backup-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:24px}.backup-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.backup-info{grid-gap:20px;border-top:1px solid #e5e7eb;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:16px;padding-top:16px}.backup-info-item{display:flex;flex-direction:column;gap:4px}.backup-info-label{color:#6b7280;font-size:12px;text-transform:uppercase}.backup-info-value{color:#111827;font-size:14px;font-weight:500}.settings-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.settings-card{border:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f;padding:20px}.settings-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;margin-bottom:16px;padding-bottom:12px}.settings-card-icon{align-items:center;border-radius:8px;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.settings-card-icon.blue{background:#dbeafe;color:#2563eb}.settings-card-icon.green{background:#dcfce7;color:#16a34a}.settings-card-icon.purple{background:#ede9fe;color:#8b5cf6}.settings-card-icon.orange{background:#ffedd5;color:#ea580c}.settings-card-title{color:#111827;font-size:15px;font-weight:600;margin:0}.logo-upload-area{border:2px dashed #e5e7eb;border-radius:8px;cursor:pointer;padding:24px;text-align:center;transition:all .2s ease}.logo-upload-area:hover{background:#f9fafb;border-color:#6366f1}.logo-preview{background:#f3f4f6;border-radius:8px;height:80px;margin-bottom:12px;object-fit:contain;width:80px}.logo-upload-text{color:#6b7280;font-size:14px}.modules-list{display:flex;flex-direction:column;gap:8px}.module-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.module-item:last-child{border-bottom:none}.module-name{color:#374151;font-size:14px}.module-status{border-radius:4px;font-size:12px;padding:2px 8px}.module-status.enabled{background:#dcfce7;color:#16a34a}.module-status.disabled{background:#f3f4f6;color:#6b7280}.detail-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.detail-header-left{align-items:center;display:flex;gap:16px}.back-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.back-button:hover{background:#f9fafb;color:#111827}.detail-title-section h1{align-items:center;display:flex;font-size:24px;font-weight:700;gap:12px;margin:0}.detail-title-section p{color:#6b7280;font-size:14px;margin:4px 0 0}.tenant-code{background:#f3f4f6;border-radius:4px;color:#6b7280;font-family:monospace;font-size:12px;padding:2px 8px}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.settings-grid,.subscription-details{grid-template-columns:1fr}.subscription-details{gap:16px}}@media (max-width:768px){.tenants-actions{align-items:stretch}.tenants-actions,.tenants-search{flex-direction:column}.search-box-lg{max-width:100%}.action-buttons{justify-content:flex-end}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.backup-info,.info-grid,.stats-grid{grid-template-columns:1fr}.tenant-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tenant-tab{white-space:nowrap}}.subscription-limits{border-top:1px solid #ffffff1a;margin-bottom:20px;padding-top:20px}.subscription-limits-title{color:#9ca3af;font-size:13px;font-weight:600;margin-bottom:16px;text-transform:uppercase}.limits-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.limit-item{background:#ffffff0d;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:14px}.limit-header{gap:8px}.limit-header,.limit-icon{align-items:center;display:flex}.limit-icon{justify-content:center}.limit-label{color:#9ca3af;font-size:12px;font-weight:500}.limit-values{align-items:baseline;display:flex;gap:4px}.limit-current{color:#fff;font-size:20px;font-weight:700}.limit-separator{color:#6b7280;font-size:14px}.limit-max{color:#9ca3af;font-size:14px}.limit-progress{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.limit-progress-bar{border-radius:2px;height:100%;transition:width .3s ease}.limit-unlimited-badge{background:#22c55e33;border-radius:10px;color:#22c55e;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.features-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.feature-item{align-items:center;border-radius:6px;display:flex;font-size:12px;gap:8px;padding:8px 12px}.feature-item.enabled{background:#22c55e1a;color:#22c55e}.feature-item.disabled{background:#ffffff0d;color:#6b7280}.feature-icon{align-items:center;border-radius:50%;display:flex;height:18px;justify-content:center;width:18px}.feature-icon.enabled{background:#22c55e33;color:#22c55e}.feature-icon.disabled{background:#ffffff1a;color:#6b7280}.feature-label{flex:1 1}@media (max-width:1200px){.features-grid,.limits-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.features-grid,.limits-grid{grid-template-columns:1fr}}.modules-config-page{background:#f5f7fa;background:var(--bg,#f5f7fa);min-height:calc(100vh - 120px);padding:24px}.page-header h2{margin:0 0 8px}.toast-success{background:#dcfce7;border:1px solid #86efac;border-radius:6px;color:#166534;margin-bottom:16px;padding:12px 16px}.tabs-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap}.tab{background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:12px 20px;position:relative;transition:all .2s}.tab:hover{background:#f3f4f6;color:#374151}.tab.active{color:#8b5cf6;color:var(--accent-primary,#8b5cf6);font-weight:600}.tab.active:after{background:#8b5cf6;background:var(--accent-primary,#8b5cf6);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{padding:24px}.loading{color:#6b7280;padding:40px;text-align:center}.config-section{max-width:100%}.section-header{flex-wrap:wrap;gap:16px;margin-bottom:24px}.section-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);flex:1 1;margin:0}.section-header p{color:#666;color:var(--text-secondary,#666);flex:100% 1;font-size:14px;margin:0}.modules-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:24px}.module-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.module-header{gap:12px;margin-bottom:12px}.module-icon{align-items:center;background:#8b5cf6;background:var(--accent-primary,#8b5cf6);border-radius:8px;color:#fff;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.module-info h4{color:#1f2937;font-size:14px;margin:0}.module-code{color:#9ca3af;font-size:11px;text-transform:uppercase}.module-toggles{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.toggle-row{align-items:center;color:#4b5563;cursor:pointer;display:flex;font-size:13px;gap:8px}.toggle-row input[type=checkbox]{accent-color:#8b5cf6;accent-color:var(--accent-primary,#8b5cf6);height:16px;width:16px}.module-plan{align-items:center;display:flex;gap:8px;margin-bottom:12px}.module-plan label{color:#6b7280;font-size:12px}.module-plan select{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:12px;padding:4px 8px}.module-subscriptions{border-top:1px solid #e5e7eb;margin-bottom:12px;padding-top:12px}.subscriptions-label{align-items:center;color:#374151;display:flex;font-size:12px;font-weight:500;gap:8px;margin-bottom:8px}.subscriptions-hint{color:#9ca3af;font-size:11px;font-weight:400}.subscriptions-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.subscription-checkbox{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:16px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:12px;gap:6px;padding:4px 10px;transition:all .2s}.subscription-checkbox:hover{color:#8b5cf6;color:var(--accent-primary,#8b5cf6)}.subscription-checkbox.checked,.subscription-checkbox:hover{border-color:#8b5cf6;border-color:var(--accent-primary,#8b5cf6)}.subscription-checkbox.checked{background:#8b5cf6;background:var(--accent-primary,#8b5cf6);color:#fff}.subscription-checkbox input[type=checkbox]{display:none}.subscription-checkbox input[type=checkbox]:disabled+span{opacity:.5}.subscriptions-note{color:#9ca3af;font-size:11px;font-style:italic;margin-top:6px}.module-category{margin-top:8px}.category-badge{border-radius:12px;display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.category-badge.core{background:#dbeafe;color:#1e40af}.category-badge.hr{background:#dcfce7;color:#166534}.category-badge.reports{background:#fef3c7;color:#92400e}.category-badge.admin{background:#fae8ff;color:#86198f}.templates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.template-card{border:1px solid #e5e7eb;border-left:4px solid #8b5cf6;border-left:4px solid var(--accent-primary,#8b5cf6);border-radius:8px;padding:16px}.template-header{margin-bottom:12px}.template-header h4{color:#1f2937;font-size:15px;margin:0}.type-code{background:#f3f4f6;border-radius:4px;color:#9ca3af;font-size:11px;padding:2px 6px}.template-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.detail-row{font-size:13px}.detail-row span{color:#6b7280}.detail-row strong{color:#1f2937}.template-actions{border-top:1px solid #e5e7eb;gap:8px;padding-top:12px}.policies-table{overflow-x:auto}.tpq-table{border-collapse:collapse;font-size:14px;width:100%}.tpq-table td,.tpq-table th{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.tpq-table th{color:#374151;font-weight:600}.tpq-table th,.tpq-table tr:hover{background:#f9fafb}.btn-primary{background:#111827;border-radius:6px;font-weight:500}.btn-primary:hover{background:#1f2937}.btn-primary:disabled{background:#6b7280}.btn-secondary{padding:10px 20px}.btn-sm{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 10px}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca}.form-actions{border-top:1px solid #e5e7eb;padding-top:24px}.settings-form{max-width:800px}.form-group{gap:4px}.form-group label{font-size:13px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b5cf6;border-color:var(--accent-primary,#8b5cf6);box-shadow:0 0 0 3px #8b5cf61a;outline:none}.form-group input[type=checkbox]{margin-right:6px;width:auto}.form-group input[type=color]{cursor:pointer;height:36px;padding:2px;width:60px}.modal-header h3{color:#1f2937}.modal-close{color:#6b7280;font-size:24px;line-height:1;padding:0}.modal-close:hover{color:#374151}.modal-body .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.modal-body .form-group{margin-bottom:0}.modal-body textarea{min-height:60px;resize:vertical}.modal-footer{background:#f9fafb}@media (max-width:768px){.modules-config-page{padding:16px}.tabs{flex-wrap:nowrap;overflow-x:auto}.tab{padding:10px 16px;white-space:nowrap}.form-grid,.modal-body .form-row,.modules-grid,.templates-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column}.section-header .btn-primary{width:100%}}.monitoring-page{background:#f5f7fa;background:var(--bg,#f5f7fa);min-height:calc(100vh - 120px);padding:24px}.page-header h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:24px;margin:0 0 4px}.page-header p{color:#666;color:var(--text-secondary,#666);margin:0}.header-actions{gap:16px}.auto-refresh-toggle{align-items:center;color:#4b5563;cursor:pointer;display:flex;font-size:13px;gap:6px}.auto-refresh-toggle input{accent-color:#667eea;accent-color:var(--primary,#667eea)}.btn-refresh{background:#667eea;background:var(--primary,#667eea);border:none;color:#fff;font-size:13px;padding:8px 16px}.btn-refresh:hover{background:#5a67d8}.last-refresh{color:#9ca3af;font-size:12px}.loading-container{color:#6b7280;padding:80px}.loading-spinner{border:3px solid #e5e7eb;border-top:3px solid var(--primary,#667eea)}.toast-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;margin-bottom:16px;padding:12px 16px}.health-banner{background:#fff;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.health-banner,.health-status{align-items:center;display:flex}.health-status{gap:10px}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#1f2937;font-size:16px;font-weight:600}.health-metrics{display:flex;flex-wrap:wrap;gap:24px}.health-metrics .metric{align-items:center;display:flex;flex-direction:column}.health-metrics .label{color:#6b7280;font-size:11px;text-transform:uppercase}.health-metrics .value{color:#1f2937;font-size:18px;font-weight:600}.monitoring-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.monitoring-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.card-header h3{color:#1f2937;font-size:15px;font-weight:600}.card-body{padding:20px}.stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.stat-box{background:#f9fafb;border-radius:8px;flex:1 1;min-width:80px;padding:12px;text-align:center}.stat-box.success{background:#dcfce7}.stat-box.warning{background:#fef3c7}.stat-box.error{background:#fee2e2}.stat-box.info{background:#dbeafe}.stat-label,.stat-value{display:block}.stat-label{margin-top:4px}.plan-distribution{margin-top:16px}.daily-trend h4,.email-queue h4,.plan-distribution h4,.sync-activity h4,.system-load h4,.table-counts h4,.table-stats h4,.top-endpoints h4{color:#374151;font-size:13px;font-weight:600;margin:0 0 12px}.plan-bars{display:flex;flex-direction:column;gap:8px}.plan-bar{align-items:center;display:flex;gap:12px}.plan-name{color:#4b5563;font-size:13px;width:100px}.bar-container{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.bar-fill{background:#667eea;background:var(--primary,#667eea);border-radius:4px;height:100%;transition:width .3s ease}.plan-count{color:#1f2937;font-size:13px;font-weight:600;text-align:right;width:40px}.load-meters{display:flex;flex-direction:column;gap:10px}.load-meter{align-items:center;display:flex;gap:12px}.load-label{color:#6b7280;font-size:12px;width:50px}.meter-bar{background:#e5e7eb;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.meter-fill{background:#10b981;border-radius:6px;height:100%;transition:width .3s ease}.load-value{color:#1f2937;font-size:13px;font-weight:600;text-align:right;width:40px}.cpu-info{color:#6b7280;font-size:12px;margin:12px 0 0}.config-info{border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:16px;padding-top:12px}.config-badge{background:#fee2e2;border-radius:12px;color:#991b1b;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.config-badge.active{background:#dcfce7;color:#166534}.config-schedule{color:#6b7280;font-size:12px}.storage-summary{display:flex;gap:24px;margin-bottom:20px}.storage-records,.storage-total{text-align:center}.storage-records .value,.storage-total .value{color:#667eea;color:var(--primary,#667eea);display:block;font-size:28px;font-weight:700}.storage-records .label,.storage-total .label{color:#6b7280;font-size:12px}.table-list{display:flex;flex-direction:column;gap:8px}.table-row{background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.table-name{color:#4b5563;font-size:13px}.table-count{color:#1f2937;font-size:13px;font-weight:600}.sync-count{margin-bottom:16px;text-align:center}.sync-count .value{color:#667eea;color:var(--primary,#667eea);display:block;font-size:32px;font-weight:700}.sync-count .label{color:#6b7280;font-size:12px}.hourly-chart{align-items:flex-end;display:flex;gap:3px;height:60px;padding-top:10px}.hour-bar{background:#667eea;background:var(--primary,#667eea);border-radius:2px 2px 0 0;flex:1 1;min-height:3px;transition:height .3s ease}.hour-bar:hover{background:#5a67d8}.trend-chart{align-items:flex-end;display:flex;gap:8px;height:100px}.trend-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.trend-bar{background:#667eea;background:var(--primary,#667eea);border-radius:4px 4px 0 0;margin-top:auto;width:100%}.trend-label{color:#9ca3af;font-size:10px;margin-top:6px}.performance-status{margin-bottom:16px;text-align:center}.status-badge{border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:6px 16px}.counts-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.count-item{background:#f9fafb;border-radius:6px;display:flex;flex-direction:column;padding:10px;text-align:center}.count-item .table-name{color:#6b7280;font-size:11px;text-transform:capitalize}.count-item .count{color:#1f2937;font-size:16px;font-weight:600}.queue-stats{display:flex;gap:16px}.queue-stat{border-radius:8px;flex:1 1;padding:12px;text-align:center}.queue-stat.pending{background:#fef3c7}.queue-stat.sent{background:#dcfce7}.queue-stat.failed{background:#fee2e2}.queue-stat .value{color:#1f2937;display:block;font-size:20px;font-weight:700}.queue-stat .label{color:#6b7280;font-size:11px}.endpoints-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.endpoint-row{background:#f9fafb;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.endpoint-name{color:#4b5563}.endpoint-count{color:#1f2937;font-weight:600}@media (max-width:768px){.monitoring-page{padding:16px}.page-header{flex-direction:column}.header-actions{justify-content:space-between;width:100%}.health-banner{flex-direction:column;text-align:center}.health-metrics{justify-content:center}.monitoring-grid{grid-template-columns:1fr}.stats-row{flex-wrap:wrap}.stat-box{min-width:calc(50% - 6px)}}.leave-screen{background:var(--bg);box-sizing:border-box;min-height:calc(100vh - 120px);padding:30px}.filter,.search-input{background:var(--white);border:1px solid #ccc;border-radius:var(--border-radius);padding:10px}.form-grid .span-2{grid-column:span 2}.form-field{display:flex;flex-direction:column}.form-title{color:var(--primary);font-size:16px;margin:0 0 16px}.form-card label{color:#333;font-weight:500}.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{border:1px solid #ccc;border-radius:var(--border-radius);margin-bottom:12px;margin-top:6px;padding:10px;width:90%}.checkbox-grid{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:16px 24px;margin:16px 0;padding:12px 0}.checkbox-field{align-items:center;display:flex;gap:8px;min-width:160px}.checkbox-field input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.checkbox-field label{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-primary{padding:10px 20px;transition:background .2s}.btn-danger:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.leave-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.leave-table{border-collapse:collapse;width:100%}.leave-table td,.leave-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.leave-table td:last-child,.leave-table th:last-child{border-right:none}.leave-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.leave-table th:first-child{border-top-left-radius:12px}.leave-table th:last-child{border-right:none;border-top-right-radius:12px}.leave-table tbody tr{background:#fff}.leave-table tbody tr:hover{background:#f9fafb}.leave-table tbody tr:last-child td{border-bottom:none}.badge{padding:4px 8px}.badge-danger{background:#e74c3c;color:#fff}.badge-warn{background:#f39c12;color:#fff}.page-header{margin-bottom:20px}.page-header h2{color:var(--text)}.btn-refresh{background:var(--white);border:1px solid #ddd;border-radius:var(--border-radius);padding:8px 12px}.btn-refresh:disabled{opacity:.6}.search-wrap .search-input{min-width:250px;padding-left:36px}.error-banner{border:1px solid #ef4444}.error-banner button{background:#991b1b;border-radius:var(--border-radius);color:#fff;padding:6px 12px}.loading-state{color:#666;padding:40px;text-align:center}.empty-state{color:#666;padding:30px}.employee-cell{display:flex;flex-direction:column;gap:2px}.employee-cell .name{font-weight:500}.employee-cell .code{color:#666;font-size:12px}.type-badge{background:#8b5cf6;color:#fff;font-size:11px;margin-right:6px;padding:2px 6px}.code-badge,.type-badge{border-radius:4px;display:inline-block;font-weight:600}.code-badge{background:#e0e7ff;color:#3730a3;font-size:12px;padding:4px 8px}.half-day-tag{background:#fef3c7;border-radius:4px;color:#92400e;display:inline-block;font-size:10px;margin-left:6px;padding:2px 6px}.leave-actions{align-items:center;display:flex;gap:4px;justify-content:center}.leave-table td:last-child{text-align:center}.leave-actions .btn-icon{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;padding:0;text-decoration:none;transition:all .2s;width:32px}.leave-actions .btn-icon:hover{background:#e5e7eb}.leave-actions .btn-icon.success{background:#d1fae5;color:#065f46}.leave-actions .btn-icon.success:hover{background:#a7f3d0}.leave-actions .btn-icon.danger{background:#fee2e2;color:#991b1b}.leave-actions .btn-icon.danger:hover{background:#fecaca}.btn-icon{background:#f3f4f6;padding:6px 10px}.btn-icon:hover{background:#e5e7eb}.pagination{margin-top:20px}.pagination button{background:var(--white);border:1px solid #ddd;border-radius:var(--border-radius);cursor:pointer;padding:8px 16px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#666}.modal-content{box-shadow:0 4px 20px #0003;width:90%}.modal-header.approve-header{background:#d1fae5;color:#065f46}.modal-header.reject-header{background:#fee2e2;color:#991b1b}.modal-close{background:none;border:none;cursor:pointer;font-size:20px;padding:4px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.approval-section{margin-bottom:20px}.approval-section h4{align-items:center;color:#374151;display:flex;font-size:14px;gap:8px;margin:0 0 12px;text-transform:uppercase}.approval-section h4 .icon{font-size:16px}.info-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.info-item .label{color:#6b7280;font-size:12px}.info-item .value{color:#111827;font-weight:500}.reason-box{background:#f9fafb;border-radius:var(--border-radius);margin-top:12px;padding:12px}.reason-box .label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px}.reason-text{color:#374151;margin:0}.workflow-steps{display:flex;flex-direction:column;gap:12px}.workflow-step{background:#f9fafb;border-left:3px solid #ddd;border-radius:var(--border-radius);display:flex;gap:12px;padding:12px}.workflow-step.approved{border-left-color:#10b981}.workflow-step.rejected{border-left-color:#ef4444}.workflow-step.pending{border-left-color:#f59e0b}.step-indicator{flex-direction:column;gap:4px}.step-indicator,.step-number{align-items:center;display:flex}.step-number{background:#e5e7eb;border-radius:50%;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.step-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.step-level{font-weight:500}.step-approver{color:#6b7280;font-size:13px}.step-remarks{color:#374151;font-size:13px;font-style:italic}.step-date{color:#9ca3af;font-size:12px}.remarks-textarea{min-height:80px;resize:vertical;width:100%}.calendar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.calendar-nav{align-items:center;display:flex;gap:12px}.current-month{margin:0;min-width:180px;text-align:center}.btn-today{background:var(--white);border:1px solid #ddd;border-radius:var(--border-radius);font-size:13px;padding:6px 12px}.btn-today:hover{background:#f3f4f6}.calendar-filters{align-items:center;display:flex;gap:12px}.department-select{min-width:180px}.calendar-grid-container{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);overflow-x:auto;padding:16px}.calendar-grid{grid-gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);min-width:700px}.calendar-header-cell{background:#1f2937;color:#fff;font-size:13px;font-weight:600;padding:10px;text-align:center}.calendar-cell{background:var(--white);min-height:100px;padding:8px;position:relative}.calendar-cell.other-month{background:#f9fafb;color:#9ca3af}.calendar-cell.weekend{background:#fef3c7}.calendar-cell.holiday{background:#fee2e2}.calendar-cell.today{outline:2px solid #8b5cf6;outline-offset:-2px}.day-number{font-size:14px;font-weight:600;margin-bottom:4px}.holiday-badge{background:#ef4444;border-radius:4px;color:#fff;font-size:10px;margin-bottom:4px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.leaves-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.leave-entry-badge{align-items:center;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:600;height:24px;justify-content:center;width:24px}.more-leaves{align-items:center;color:#6b7280;display:flex;font-size:11px}.calendar-legend{background:#f9fafb;border-radius:var(--border-radius);display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding:12px}.legend-item{font-size:13px;gap:6px}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.holiday-color{background:#fee2e2;border:1px solid #ef4444}.legend-color.weekend-color{background:#fef3c7;border:1px solid #fbbf24}.leave-request-form{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);padding:24px}.leave-request-form h2{align-items:center;display:flex;gap:8px;margin:0 0 20px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group label .required{color:#ef4444;margin-left:2px}.form-group .hint{color:#6b7280;font-size:12px;margin-top:2px}.checkbox-label{gap:8px}.balance-card{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:var(--border-radius);margin-bottom:20px;padding:16px}.balance-card h4{color:#0369a1;margin:0 0 12px}.balance-info{display:flex;flex-wrap:wrap;gap:20px}.balance-item{display:flex;flex-direction:column;gap:2px}.balance-item .label{color:#6b7280;font-size:12px}.balance-item .value{color:#0369a1;font-size:20px;font-weight:600}.leave-card{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);overflow:hidden}.leave-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 16px}.employee-info{align-items:center;gap:10px}.employee-info .icon{color:#6b7280;font-size:20px}.employee-name{display:block}.employee-code{color:#6b7280;display:block}.leave-card-body{padding:16px}.leave-type{align-items:center;display:flex;gap:8px;margin-bottom:12px}.type-name{font-weight:500}.leave-dates{align-items:center;color:#374151;display:flex;font-size:14px;gap:8px;margin-bottom:8px}.days-count,.leave-dates .icon{color:#6b7280}.half-day-indicator{align-items:center;background:#fef3c7;border-radius:4px;color:#92400e;display:flex;font-size:13px;gap:8px;margin-bottom:8px;padding:4px 8px}.leave-reason{margin-bottom:8px}.leave-reason .label{color:#6b7280;font-size:12px}.leave-reason .text{color:#374151;font-size:14px}.leave-meta{color:#6b7280;font-size:12px;justify-content:space-between;margin-top:8px;padding-top:8px}.leave-card-actions,.leave-meta{border-top:1px solid #eee;display:flex}.leave-card-actions{background:#f9fafb;gap:8px;padding:12px 16px}.btn-approve{align-items:center;background:#10b981;border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;flex:1 1;gap:6px;justify-content:center;padding:8px 16px}.btn-approve:hover{background:#059669}.btn-reject{align-items:center;background:#ef4444;border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;flex:1 1;gap:6px;justify-content:center;padding:8px 16px}.btn-reject:hover{background:#dc2626}.leave-card-footer{border-top:1px solid #eee;padding:12px 16px}.btn-view{background:var(--white);border:1px solid #ddd;border-radius:var(--border-radius);cursor:pointer;padding:8px 16px;width:100%}.btn-view:hover{background:#f3f4f6}.leave-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-group{gap:4px}.filter-group label{color:#6b7280;font-size:11px}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:var(--border-radius);min-width:140px;padding:8px 12px}.filter-actions{align-items:flex-end;display:flex}.btn-clear-filters{background:#f3f4f6;border:1px solid #ddd;border-radius:var(--border-radius);font-size:13px;padding:8px 12px}.btn-clear-filters:hover{background:#e5e7eb}.tpq-btn-success{color:#fff;display:flex;padding:10px 20px}.tpq-btn-success:hover{background:#059669}.tpq-btn-danger{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:6px;padding:10px 20px}.tpq-btn-danger:hover{background:#dc2626}.tpq-btn-danger:disabled{cursor:not-allowed;opacity:.6}.tpq-btn-secondary{background:#6b7280;border:none;color:#fff}.tpq-btn-secondary:hover{background:#4b5563}.badge-muted{background:#9ca3af;color:#fff}@media (max-width:768px){.leave-screen{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.toolbar{align-items:stretch}.calendar-controls,.toolbar{flex-direction:column}.calendar-filters,.calendar-nav{justify-content:center}.form-row{grid-template-columns:1fr}.leave-filters{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{width:100%}}.leave-form-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.leave-back-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.leave-back-btn:hover{background:#f9fafb;border-color:#111827}.leave-form-title{color:#111827;font-size:24px;font-weight:700;margin:0}.leave-form-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.leave-alert{align-items:center;border-radius:10px;display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.leave-alert button{background:none;border:none;cursor:pointer;display:flex;font-size:16px;line-height:1;padding:2px}.leave-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.leave-alert-error button{color:#991b1b}.leave-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.leave-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000000f;padding:32px}.leave-form-section{margin-bottom:20px}.leave-form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.leave-form-label .required{color:#ef4444;margin-left:2px}.leave-form-input,.leave-form-select{background:#fff;border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;color:#111827;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.leave-form-input:focus,.leave-form-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.leave-form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:14px;padding:12px 14px;resize:vertical;transition:all .2s ease;width:100%}.leave-form-textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.leave-form-textarea::placeholder{color:#9ca3af}.leave-form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.leave-balance-banner{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;color:#0c4a6e;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}.leave-balance-icon{color:#0284c7;flex-shrink:0;font-size:18px}.leave-requires-tag{background:#fef3c7;border-radius:4px;color:#92400e;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.leave-checkbox-row{align-items:center;display:flex;gap:10px}.leave-checkbox{accent-color:#8b5cf6;cursor:pointer;height:18px;width:18px}.leave-checkbox-label{color:#374151;cursor:pointer;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none}.leave-half-day-select{max-width:300px}.leave-summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px}.leave-summary-card.leave-summary-error{background:#fef2f2;border-color:#fecaca}.leave-summary-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.leave-summary-row+.leave-summary-row{border-top:1px solid #e5e7eb}.leave-summary-error .leave-summary-row+.leave-summary-row{border-top-color:#fecaca}.leave-summary-label{color:#6b7280;font-size:14px;font-weight:500}.leave-summary-value{color:#111827;font-size:20px;font-weight:700}.leave-summary-value.error{color:#dc2626}.leave-summary-warning{background:#fee2e2;border-radius:8px;color:#991b1b;font-size:13px;font-weight:500;margin-top:12px;padding:8px 12px;text-align:center}.leave-form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.leave-btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.leave-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.leave-btn-cancel:disabled{cursor:not-allowed;opacity:.5}.leave-btn-submit{align-items:center;background:#8b5cf6;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 28px;transition:all .2s ease}.leave-btn-submit:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.leave-btn-submit:active{transform:translateY(0)}.leave-btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:640px){.leave-form-card{padding:20px}.leave-form-row{gap:0;grid-template-columns:1fr}.leave-form-actions{flex-direction:column-reverse}.leave-btn-cancel,.leave-btn-submit{justify-content:center;width:100%}.leave-form-title{font-size:20px}}.leave-templates-section{border-top:2px solid #e5e7eb;margin-top:40px;padding-top:30px}.leave-templates-header{margin-bottom:20px}.leave-templates-header h2{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:10px;margin:0 0 6px}.leave-templates-header h2 svg{color:#7c3aed}.leave-templates-header p{color:#6b7280;font-size:14px;margin:0}.leave-templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.leave-template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease}.leave-template-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed1a}.leave-template-card.adopted{background:#f9fafb;border-color:#d1d5db}.leave-template-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.leave-template-badges{display:flex;gap:6px}.leave-template-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.leave-template-description{color:#6b7280;font-size:13px;line-height:1.4;margin:0 0 16px}.leave-template-details{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px}.leave-template-detail{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.leave-template-detail span{color:#6b7280}.leave-template-detail strong{color:#1f2937}.leave-template-actions{display:flex;justify-content:center}.leave-template-actions .tpq-btn-primary{align-items:center;display:flex;font-size:13px;gap:6px;padding:8px 16px}.leave-template-actions .tpq-btn-primary:disabled{cursor:not-allowed;opacity:.6}.leave-template-uptodate{align-items:center;color:#16a34a;display:flex;font-size:13px;font-weight:500;gap:6px}.holiday-screen{margin:0 auto;max-width:1400px;padding:1.5rem}.holiday-screen .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.holiday-screen .page-header h2{align-items:center;color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:flex;font-size:1.5rem;gap:.5rem;margin:0}.holiday-screen .page-header .icon{color:#8b5cf6}.header-actions{align-items:center;display:flex;gap:.75rem}.btn-back,.btn-calendar-view,.btn-list-view{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-back:hover,.btn-calendar-view:hover,.btn-list-view:hover{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.btn-refresh{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-refresh:hover{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);color:#4f46e5;color:var(--primary,#4f46e5)}.btn-refresh:disabled{cursor:not-allowed;opacity:.5}.filters-bar{align-items:flex-end;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:1rem 1.25rem}.filter-group{gap:.5rem}.filter-group label{color:#8b5cf6;font-size:.7rem;font-weight:600;letter-spacing:.5px}.filter-group .tpq-select,.filter-group select,.filters-bar .tpq-select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right .75rem center!important;background-repeat:no-repeat!important;background-size:12px!important;border:1px solid #e2e8f0;border-radius:6px;color:#1f2937;cursor:pointer;font-size:.875rem;font-weight:500;height:40px;line-height:1.5;min-width:150px;padding:0 2.5rem 0 .875rem;transition:border-color .2s,box-shadow .2s}.filter-group .tpq-select:hover,.filter-group select:hover,.filters-bar .tpq-select:hover{border-color:#8b5cf6}.filter-group .tpq-select:focus,.filter-group select:focus,.filters-bar .tpq-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.btn-clear-filters{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem .75rem}.btn-clear-filters:hover{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9)}.toolbar{gap:1rem;margin-bottom:1rem}.search-wrap{max-width:320px}.search-icon{color:#94a3b8;color:var(--text-muted,#94a3b8);left:.75rem}.search-input{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;font-size:.875rem;padding:.5rem 2.5rem .5rem 2.25rem}.search-input:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px #4f46e51a}.clear-search{color:#94a3b8;color:var(--text-muted,#94a3b8);padding:.25rem;right:.5rem}.clear-search:hover{color:#64748b;color:var(--text-secondary,#64748b)}.hol-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.hol-table{border-collapse:collapse;width:100%}.hol-table td,.hol-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.hol-table td:last-child,.hol-table th:last-child{border-right:none}.hol-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.hol-table th:first-child{border-top-left-radius:12px}.hol-table th:last-child{border-right:none;border-top-right-radius:12px}.hol-table tbody tr{background:#fff}.hol-table tbody tr:hover{background:#f9fafb}.hol-table tbody tr:last-child td{border-bottom:none}.hol-table .date-cell{font-weight:500;white-space:nowrap}.hol-table .name-cell strong{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.hol-table .description-cell{color:#94a3b8;color:var(--text-muted,#94a3b8);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hol-empty-cell{color:#666;padding:48px!important;text-align:center}.hol-actions{align-items:center;display:flex;gap:4px;justify-content:center}.table-wrap{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;overflow:hidden}.row-actions{display:flex;gap:.5rem}.btn-icon{border:1px solid var(--border,#e2e8f0);border-radius:6px;color:var(--text-secondary,#64748b)}.btn-icon:hover{background:var(--bg-secondary,#f8fafc);color:#4f46e5;color:var(--primary,#4f46e5)}.btn-icon.danger:hover{color:#dc2626}.btn-icon.danger.confirm{background:#dc2626;border-color:#dc2626;color:#fff}.badge{border-radius:4px;font-size:.75rem}.badge-danger{background:#fef2f2}.badge-warn{background:#fffbeb}.badge-success{background:#f0fdf4}.badge-muted{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.badge-muted,.empty-state,.loading-state{color:#94a3b8;color:var(--text-muted,#94a3b8)}.empty-state,.loading-state{padding:3rem}.error-banner{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.error-banner button{background:#fff;border:1px solid #fecaca;color:#dc2626;padding:.25rem .5rem}.holiday-form{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:1.5rem}.form-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.form-group{gap:.5rem}.form-group label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.875rem}.form-group .required{color:#dc2626}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626}.field-error{color:#dc2626;font-size:.75rem}.checkbox-group{justify-content:center}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{accent-color:#4f46e5;accent-color:var(--primary,#4f46e5);height:18px;width:18px}.form-actions{border-top:1px solid var(--border,#e2e8f0);gap:1rem;padding-top:1rem}.btn-secondary{font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.calendar-view .calendar-nav{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.btn-nav{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.btn-nav:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.current-month{display:flex;font-size:1.25rem;font-weight:600;gap:.5rem}.current-month .year{color:#94a3b8;color:var(--text-muted,#94a3b8)}.btn-today{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:6px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.btn-today:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.calendar-container{display:flex;gap:1.5rem}.calendar-grid{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;flex:1 1;overflow:hidden}.calendar-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);display:grid;grid-template-columns:repeat(7,1fr)}.day-name{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:.75rem;font-weight:600;padding:.75rem;text-align:center;text-transform:uppercase}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);border-right:1px solid #e2e8f0;border-right:1px solid var(--border,#e2e8f0);cursor:pointer;min-height:80px;padding:.5rem;transition:background .2s}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty,.calendar-day:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.calendar-day.empty{cursor:default}.calendar-day.today{background:#4f46e50d}.calendar-day.today .day-number{align-items:center;background:#4f46e5;background:var(--primary,#4f46e5);border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.calendar-day.selected{background:#4f46e51a}.calendar-day.has-holiday{background:#4f46e505}.day-number{font-weight:500;margin-bottom:.25rem}.holiday-dots{display:flex;flex-wrap:wrap;gap:4px}.holiday-dots .dot{border-radius:50%;height:8px;width:8px}.holiday-dots .dot.badge-danger{background:#dc2626}.holiday-dots .dot.badge-warn{background:#d97706}.holiday-dots .dot.badge-success{background:#16a34a}.more-count{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:.625rem}.selected-date-panel{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:1rem;width:300px}.selected-date-panel h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 1rem}.selected-date-panel .no-holidays{color:#94a3b8;color:var(--text-muted,#94a3b8);padding:2rem 0;text-align:center}.holiday-cards{display:flex;flex-direction:column;gap:.75rem}.holiday-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-left:3px solid;border-radius:6px;padding:.75rem}.holiday-card.badge-danger{border-left-color:#dc2626}.holiday-card.badge-warn{border-left-color:#d97706}.holiday-card.badge-success{border-left-color:#16a34a}.holiday-card .card-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.holiday-card .holiday-name{font-size:.875rem;font-weight:600;margin:0}.holiday-card .card-info{align-items:center;color:#94a3b8;color:var(--text-muted,#94a3b8);display:flex;font-size:.75rem;gap:.5rem;margin-bottom:.25rem}.holiday-card .card-info .icon{height:14px;width:14px}.holiday-card .card-info.recurring{color:#4f46e5;color:var(--primary,#4f46e5)}.holiday-card .card-description{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:.75rem;margin:.5rem 0 0}.legend{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem;padding-top:1rem}.legend-item{align-items:center;color:#94a3b8;color:var(--text-muted,#94a3b8);display:flex;font-size:.875rem;gap:.5rem}.legend-item .dot{border-radius:50%;height:10px;width:10px}@media (max-width:768px){.holiday-screen{padding:1rem}.page-header{align-items:flex-start;flex-direction:column}.filters-bar{align-items:stretch;flex-direction:column}.filter-group,.filter-group select{width:100%}.calendar-container{flex-direction:column}.selected-date-panel{width:100%}.calendar-day{min-height:60px;padding:.25rem}.form-grid{grid-template-columns:1fr}}.device-screen{background:var(--bg);box-sizing:border-box;min-height:calc(100vh - 120px);padding:30px}.page-title{gap:12px}.page-title .icon{color:#8b5cf6;font-size:24px}.page-title h2{color:var(--text);font-size:1.5rem}.page-title svg{color:#8b5cf6}.page-subtitle{color:var(--text-light);font-size:.875rem}.page-actions{gap:10px}.btn-back{background:none;border:none;border-radius:var(--border-radius);color:var(--text-light);padding:8px;transition:all .2s}.btn-back:hover{background:var(--bg-hover);color:var(--primary)}.row-between{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:8px 0 12px}.section{margin-bottom:24px}.section h3{color:var(--text);font-size:1.1rem;margin:0 0 12px}.toolbar{gap:12px}.search-wrap{flex:1 1;max-width:400px;min-width:200px}.search-icon{color:var(--text-light);left:12px;top:50%;transform:translateY(-50%)}.search-input{background:var(--white);border:1px solid #ccc;border-radius:var(--border-radius);font-size:14px;padding:10px 10px 10px 36px;width:100%}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.clear-search{color:var(--text-light);padding:4px;top:50%;transform:translateY(-50%)}.form-card{margin:10px 0 24px}.form-card h3{color:var(--primary);font-size:1.1rem}.form-error-banner{align-items:flex-start;background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:6px;display:flex;gap:12px;margin-bottom:20px;padding:14px 16px}.form-error-banner .error-icon{color:#ef4444;flex-shrink:0;margin-top:2px}.form-error-banner .error-content{flex:1 1}.form-error-banner .error-content strong{color:#991b1b;display:block;font-size:.95rem;margin-bottom:4px}.form-error-banner .error-content p{color:#b91c1c;font-size:.875rem;line-height:1.4;margin:0}.form-error-banner .close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#991b1b;cursor:pointer;display:flex;justify-content:center;padding:4px}.form-error-banner .close-btn:hover{background:#fee2e2}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-group label{color:#333}.form-group .required{color:#e74c3c}.form-group .field-hint{color:#6b7280;display:block;font-size:11px;margin-top:4px}.form-row{display:flex;flex-wrap:wrap}.form-row .form-group{flex:1 1;min-width:200px}.tpq-input,.tpq-select{background:var(--white);border:1px solid #ccc;border-radius:var(--border-radius);padding:10px 12px;transition:border-color .2s,box-shadow .2s}.tpq-input:focus,.tpq-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.tpq-input.error,.tpq-select.error{border-color:#e74c3c}.tpq-input:disabled,.tpq-select:disabled{background:#f5f5f5;cursor:not-allowed}.error-text{margin-top:4px}.form-actions{border-top:1px solid #eee;gap:10px;margin-top:24px}.form-buttons{gap:10px}.form-buttons.left{gap:10px;justify-content:flex-start}.connection-test-section{align-items:center;border-top:1px solid #eee;display:flex;gap:12px;margin-top:16px;padding-top:16px}.test-result{align-items:center;display:flex;font-size:14px;gap:6px}.test-result.success{color:#1ab394}.test-result.error{color:#e74c3c}.inline-note{font-size:14px;margin-left:10px}.inline-note.ok{color:#1ab394}.inline-note.warn{color:#e67e22}.tpq-btn-primary{background:var(--primary);border-radius:var(--border-radius);color:var(--white);gap:6px;padding:10px 16px;transition:background .2s,transform .1s}.tpq-btn-primary:hover:not(:disabled){background:var(--primary-dark)}.tpq-btn-primary:disabled{opacity:.6}.tpq-btn-secondary{background:var(--white);border-radius:var(--border-radius);color:var(--text)}.tpq-btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tpq-btn-icon-outline{background:var(--white);border-radius:var(--border-radius);color:var(--text-light);transition:all .2s}.tpq-btn-icon-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tpq-btn-success{align-items:center;background:#10b981;border:none;border-radius:var(--border-radius);color:var(--white);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:background .2s}.tpq-btn-success:hover:not(:disabled){background:#059669}.tpq-btn-success:disabled{cursor:not-allowed;opacity:.6}.btn-primary{color:var(--white)}.btn-secondary{padding:8px 12px}.btn-icon{border:none;color:var(--text-light);display:inline-flex;padding:6px;transition:all .2s}.btn-icon:hover{background:var(--bg-hover);color:var(--primary)}.btn-icon.danger:hover{background:#e74c3c1a}.dev-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.dev-table{border-collapse:collapse;width:100%}.dev-table td,.dev-table th{border-bottom:1px solid #e5e7eb;border-right:2px solid #e5e7eb;font-size:14px;padding:14px 16px;text-align:left;vertical-align:middle}.dev-table td:last-child,.dev-table th:last-child{border-right:none}.dev-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}.dev-table th:first-child{border-top-left-radius:12px}.dev-table th:last-child{border-right:none;border-top-right-radius:12px}.dev-table tbody tr{background:#fff}.dev-table tbody tr:hover{background:#f9fafb}.dev-table tbody tr:last-child td{border-bottom:none}.dev-cell{align-items:center;display:flex;gap:10px}.serial-number-cell{color:#374151;font-family:Consolas,Monaco,monospace;font-size:12px}.serial-number-cell .not-set{color:#9ca3af;font-family:inherit;font-style:italic}.dev-info{display:flex;flex-direction:column;gap:1px}.dev-name{color:#1f2937;font-size:14px;font-weight:600}.dev-code{color:#6b7280;font-size:12px}.dev-actions{align-items:center;display:flex;gap:4px;justify-content:center}.dev-table td:last-child{text-align:center}.dev-actions .btn-icon{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;padding:0;text-decoration:none;transition:all .2s;width:32px}.dev-actions .btn-icon:hover{background:#e5e7eb}.dev-empty-cell{padding:40px 20px!important;text-align:center}.dev-empty-state,.dev-loading-state{color:#6b7280;padding:40px;text-align:center}.badge-success{background:#d4edda;color:#155724}.badge-warn{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-info{background:#d1ecf1;color:#0c5460}.status-online{color:#1ab394}.status-offline{color:#e74c3c}.status-maintenance{color:#f39c12}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);gap:16px;padding:20px}.summary-card,.summary-icon{align-items:center;display:flex}.summary-icon{border-radius:12px;color:var(--white);height:48px;justify-content:center;width:48px}.summary-icon.success{background:linear-gradient(135deg,#1ab394,#16a085)}.summary-icon.danger{background:linear-gradient(135deg,#e74c3c,#c0392b)}.summary-icon.warn{background:linear-gradient(135deg,#f39c12,#e67e22)}.summary-icon.info{background:linear-gradient(135deg,#3498db,#2980b9)}.summary-content h4{color:var(--text-light);font-size:.875rem;font-weight:500;margin:0}.summary-value{color:var(--text);font-size:1.5rem;font-weight:700;margin-top:4px}.device-info-card{background:var(--white);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow);margin-bottom:24px;padding:20px}.device-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.device-info-item{display:flex;flex-direction:column}.device-info-item label{color:var(--text-light);font-size:12px;margin-bottom:4px;text-transform:uppercase}.device-info-item span{color:var(--text);font-size:14px;font-weight:500}.empty-state,.loading-state{align-items:center;color:var(--text-light);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg,.loading-state svg{margin-bottom:16px;opacity:.5}.empty-state-inline{color:var(--text-light);gap:12px;padding:20px}.empty-state-inline svg{opacity:.4}.success-banner{color:#16a34a;justify-content:space-between}.success-banner p{flex:1 1;margin:0}.link-card.disabled{cursor:not-allowed;opacity:.6}.link-card.disabled:hover{box-shadow:none;transform:none}.result-banner{align-items:center;border-radius:var(--border-radius);display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.result-banner.success{background:#d4edda;border:1px solid #c3e6cb}.result-banner.error{background:#f8d7da;border:1px solid #f5c6cb}.result-icon{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.result-banner.success .result-icon{background:#1ab394;color:#fff}.result-banner.error .result-icon{background:#e74c3c;color:#fff}.result-content{flex:1 1}.result-content h4{font-size:1rem;margin:0 0 8px}.result-stats{display:flex;flex-wrap:wrap}.result-stats .stat{align-items:center;display:flex;font-size:13px;gap:4px}.result-stats .stat.success{color:#1ab394}.result-stats .stat.warn{color:#f39c12}.result-stats .stat.error{color:#e74c3c}.file-upload-zone{background:#fafafa;border:2px dashed #ccc;border-radius:var(--border-radius);cursor:pointer;padding:40px 20px;text-align:center;transition:all .2s}.file-upload-zone:hover{background:#f0f7ff;border-color:var(--primary)}.file-upload-zone.has-file{background:#f0f7ff;border-color:var(--primary);border-style:solid}.upload-placeholder{align-items:center;color:var(--text-light);display:flex;flex-direction:column;gap:12px}.upload-placeholder svg{opacity:.4}.file-input-label{cursor:pointer}.supported-formats{color:var(--text-light);font-size:12px}.file-info{align-items:center;display:flex;flex-direction:column;gap:8px}.file-name{color:var(--text);font-weight:600}.btn-clear,.file-size{color:var(--text-light);font-size:13px}.btn-clear{align-items:center;background:#0000;border:1px solid #ccc;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;gap:4px;margin-top:8px;padding:6px 12px}.btn-clear:hover{border-color:#e74c3c;color:#e74c3c}.card-header{margin-bottom:16px}.card-header,.card-header h3{align-items:center;display:flex;gap:8px}.card-header h3{margin:0}.help-text{color:var(--text-light);margin-bottom:16px}.mapping-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mapped-col{background:#1ab3941a!important}.help-section{background:#f8f9fa;border-radius:var(--border-radius);margin-top:24px;padding:20px}.help-section h4{color:var(--text);margin:0 0 12px}.help-section ul{margin:0;padding-left:20px}.help-section li{color:var(--text-light);font-size:13px;margin-bottom:6px}.modal-content{background:var(--white);border-radius:var(--border-radius);box-shadow:0 10px 40px #0003;max-height:80vh}.modal-header{border-bottom:1px solid #eee}.modal-footer{align-items:center;background:#f9fafc;border-top:1px solid #eee;justify-content:space-between}.modal-buttons{display:flex;gap:10px}.selected-count{color:var(--text-light);font-size:13px}.employee-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.employee-item{align-items:center;border:1px solid #eee;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.employee-item:hover{background:#f0f7ff;border-color:var(--primary)}.employee-item.selected{background:rgba(var(--primary-rgb),.1);border-color:var(--primary)}.employee-checkbox{align-items:center;border:2px solid #ccc;border-radius:4px;display:flex;height:20px;justify-content:center;width:20px}.employee-item.selected .employee-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.employee-info{gap:2px}.employee-name{color:var(--text)}.employee-code,.employee-dept{color:var(--text-light)}.employee-dept{font-size:12px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.quick-links{border-top:1px solid #eee;margin-top:32px;padding-top:24px}.quick-links h4{color:var(--text);font-size:1rem;font-weight:600;margin:0 0 16px}.link-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.link-card{background:var(--white);border:1px solid #e5e7eb;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;transition:all .2s ease}.link-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.link-card svg{color:var(--primary);margin-bottom:4px}.link-card span{color:var(--text);font-size:1rem;font-weight:600}.link-card p{color:var(--text-light);font-size:.875rem;margin:0}.quick-action-btn{align-items:center;background:var(--white);border:1px solid #ddd;border-radius:var(--border-radius);color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:8px 12px;text-decoration:none;transition:all .2s}.quick-action-btn:hover{border-color:var(--primary);color:var(--primary)}.muted{color:#667;font-size:13px;margin-top:8px}.device-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.3px;padding:5px 12px;text-transform:uppercase;white-space:nowrap}.device-status-badge.online{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #b1dfbb;box-shadow:0 1px 3px #1557241a;color:#155724}.device-status-badge.offline{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;box-shadow:0 1px 3px #8564041a;color:#856404}.device-status-badge.error{animation:pulse-error 2s infinite;background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;box-shadow:0 1px 3px #721c241a;color:#721c24}.device-status-badge.suspended{background:linear-gradient(135deg,#e2e3e5,#d6d8db);border:1px solid #c6c8ca;box-shadow:0 1px 3px #383d411a;color:#383d41}.enrollment-badge{align-items:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #a5b4fc;border-radius:12px;color:#3730a3;display:inline-flex;font-size:11px;font-weight:600;gap:4px;margin-left:8px;padding:3px 8px;white-space:nowrap}.enrollment-badge svg{font-size:12px}.device-name-cell{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.device-row.enrollment-device{background:linear-gradient(90deg,#6366f10a,#0000)}.device-row.enrollment-device:hover{background:linear-gradient(90deg,#6366f114 0,var(--bg-hover) 100%)}.btn-icon.active{background:#6366f11a;color:#6366f1}.btn-icon.active:hover{background:#6366f133;color:#4f46e5}.metadata-alert.enrollment{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;color:#3730a3}.metadata-alert.enrollment svg{color:#6366f1}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.85}}.last-seen{align-items:center;color:var(--text-light);display:inline-flex;font-size:13px;gap:5px}.last-seen svg{opacity:.6}.last-seen.recent{color:#155724;font-weight:500}.last-seen.recent svg{color:#1ab394;opacity:1}.last-seen.never{color:#999;font-style:italic}.dev-table .device-row{transition:background-color .15s ease}.dev-table .device-row:hover{background:#f8f9fa}.dev-table .device-row.expanded{background:#f0f7ff;border-bottom:none}.dev-table .device-row.expanded td{border-bottom-color:#0000}.expand-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-light);cursor:pointer;display:inline-flex;justify-content:center;margin-right:8px;padding:4px;transition:all .15s ease}.expand-btn:hover{background:var(--bg-hover);color:var(--primary)}.device-details-row td{background:#f8f9fa;border-top:1px dashed #ddd;padding:0!important}.device-metadata{border-left:3px solid var(--primary);margin-left:30px;padding:16px 20px}.metadata-status-summary{align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--border-radius);display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.metadata-status-summary .status-text{color:var(--text);flex:1 1;font-size:14px}.metadata-status-summary .tpq-btn-sm{align-items:center;display:flex;font-size:12px;gap:6px;padding:6px 12px;white-space:nowrap}.metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item label{color:var(--text-light);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.metadata-item span{color:var(--text);font-size:14px}.metadata-alert{align-items:flex-start;border-radius:var(--border-radius);display:flex;gap:12px;margin-top:16px;padding:12px 16px}.metadata-alert svg{flex-shrink:0;margin-top:2px}.metadata-alert strong{display:block;font-size:13px;margin-bottom:4px}.metadata-alert p{font-size:13px;line-height:1.4;margin:0}.metadata-alert .alert-time{display:block;font-size:11px;margin-top:6px;opacity:.7}.metadata-alert.suspended{background:#fff3cd;border:1px solid #ffc107;color:#856404}.metadata-alert.suspended svg{color:#e67e22}.metadata-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.metadata-alert.error svg{color:#dc2626}.btn-icon:disabled{cursor:not-allowed;opacity:.4}.btn-icon:disabled:hover{background:#0000;color:var(--text-light)}@media (max-width:768px){.device-screen{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.page-actions{justify-content:flex-end;width:100%}.toolbar{align-items:stretch;flex-direction:column}.search-wrap{max-width:none}.form-grid,.summary-cards{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.modal-content{max-height:90vh}.tpq-table{display:block;overflow-x:auto}}.activity-list-container{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:0}.activity-item{border-bottom:1px solid var(--border);gap:16px;padding:16px 20px;transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#8b5cf608}.activity-icon{border-radius:10px;height:40px;width:40px}.activity-icon.success{background:#22c55e1a;color:#22c55e}.activity-icon.info{background:#3b82f61a;color:#3b82f6}.activity-icon.warning{background:#f59e0b1a;color:#f59e0b}.activity-icon.error{background:#ef44441a;color:#ef4444}.activity-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.activity-message{color:var(--text);font-weight:500;line-height:1.4}.activity-badge{border-radius:4px;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.activity-badge.success{background:#22c55e1a;color:#22c55e}.activity-badge.info{background:#3b82f61a;color:#3b82f6}.activity-badge.warning{background:#f59e0b1a;color:#f59e0b}.activity-badge.error{background:#ef44441a;color:#ef4444}.severity-badge{border-radius:3px;flex-shrink:0;font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase;white-space:nowrap}.severity-badge.severity-success{background:#22c55e1a;color:#22c55e}.severity-badge.severity-info{background:#3b82f61a;color:#3b82f6}.severity-badge.severity-warning{background:#f59e0b1a;color:#f59e0b}.severity-badge.severity-error{background:#ef44441a;color:#ef4444}.activity-type-badge{border-radius:4px;font-size:.7rem;font-weight:500;padding:2px 8px}.activity-type-badge.success{background:#22c55e14;color:#22c55e}.activity-type-badge.info{background:#3b82f614;color:#3b82f6}.activity-type-badge.warning{background:#f59e0b14;color:#f59e0b}.activity-type-badge.error{background:#ef444414;color:#ef4444}.activity-meta{align-items:center;color:var(--text-light);display:flex;font-size:.8rem;gap:12px}.activity-device,.activity-time{align-items:center;display:flex;gap:4px}.activity-summary{background:var(--bg);border-top:1px solid var(--border);color:var(--text-light);font-size:.8rem;padding:12px 20px;text-align:center}.filters-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px 20px}.filters-row{align-items:flex-end;display:flex;flex-wrap:wrap}.filter-group{min-width:150px}.filter-group label{color:var(--text-light);font-size:.8rem}.filter-group select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:.875rem;padding:8px 12px}.filter-group select:focus{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a;outline:none}.filter-badge{background:#8b5cf6;border-radius:50%;height:8px;position:absolute;right:-4px;top:-4px;width:8px}.btn-icon{border:1px solid var(--border);color:var(--text);position:relative;transition:all .15s}.btn-icon:hover{background:var(--bg);border-color:#8b5cf6}.btn-text{align-items:center;background:#0000;border:none;color:var(--text-light);cursor:pointer;display:flex;font-size:.8rem;gap:4px;padding:8px 12px;transition:color .15s}.btn-text:hover{color:#8b5cf6}.pagination{border-top:1px solid var(--border);gap:12px;padding:16px}.pagination-info{color:var(--text-light);font-size:.875rem}.loading-state{color:var(--text-light);gap:12px}.error-banner{background:#ef44441a;border:1px solid #ef444433;font-size:.875rem}.error-banner button{background:#0000;border:1px solid;border-radius:4px;color:inherit;font-size:.8rem;margin-left:auto;padding:4px 12px}.error-banner button:hover{background:#ef44441a}@media (max-width:640px){.activity-item{padding:12px 16px}.activity-header{flex-direction:column;gap:8px}.activity-meta{flex-wrap:wrap}.filters-row{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}}.device-user-import-page{margin:0 auto;max-width:1200px;padding:24px}.device-user-import-page .page-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:24px}.device-user-import-page .back-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--text);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.device-user-import-page .back-btn:hover{border-color:var(--primary);color:var(--primary)}.device-user-import-page .header-content h1{color:var(--text);font-size:1.5rem;margin:0 0 4px}.device-user-import-page .header-content p{color:var(--text-light);margin:0}.import-section{margin-top:24px}.import-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.import-card-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.import-card-header .import-icon{color:var(--primary)}.import-card-header h3{color:var(--text);font-size:1.1rem;margin:0}.import-card-body{padding:24px}.device-info-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.device-info-row{align-items:center;display:flex;gap:12px;padding:8px 0}.device-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.device-info-row .info-label{color:var(--text-light);font-weight:500;min-width:120px}.device-info-row .info-value{color:var(--text)}.device-info-row .status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.device-info-row .status-online{background:#d4edda;color:#155724}.device-info-row .status-offline{background:#fff3cd;color:#856404}.import-description{color:var(--text-light);line-height:1.6;margin-bottom:20px}.import-btn{align-items:center;display:inline-flex;font-size:1rem;gap:8px;padding:12px 24px}.import-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,1fr);margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center}.summary-card .summary-value{display:block;font-size:2rem;font-weight:700;line-height:1;margin-bottom:4px}.summary-card .summary-label{color:var(--text-light);font-size:.875rem}.summary-total .summary-value{color:var(--text)}.summary-create .summary-value{color:#22c55e}.summary-link .summary-value{color:#3b82f6}.summary-update .summary-value{color:#f59e0b}.summary-conflict .summary-value{color:#ef4444}.summary-synced .summary-value{color:#6b7280}.import-options{background:#f8fafc;border-radius:8px;display:flex;gap:20px;margin-bottom:24px;padding:16px}.import-options .option-group{display:flex;flex-direction:column;gap:6px}.import-options .option-group label{color:var(--text);font-size:.875rem;font-weight:500}.import-options .option-group input,.import-options .option-group select{border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;padding:8px 12px}.import-table-container{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;overflow-x:auto}.import-table{border-collapse:collapse;width:100%}.import-table td,.import-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.import-table th{color:var(--text);font-size:.875rem;font-weight:600}.import-table tbody tr:hover,.import-table th{background:#f8fafc}.import-table tbody tr.row-disabled{background:#f3f4f6;opacity:.7}.action-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;text-transform:uppercase}.action-badge.badge-success{background:#d4edda;color:#155724}.action-badge.badge-info{background:#cce5ff;color:#004085}.action-badge.badge-danger{background:#f8d7da;color:#721c24}.action-badge.badge-neutral{background:#e9ecef;color:#495057}.action-badge.badge-warning{background:#fff3cd;color:#856404}.notes-cell{max-width:300px}.notes-cell .warning-text{color:#dc3545;font-size:12px}.notes-cell .existing-info{color:var(--text-light);font-size:12px}.import-actions{display:flex;gap:16px;justify-content:space-between}.importing-card{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 24px;text-align:center}.importing-card h3{color:var(--text);margin:20px 0 8px}.importing-card p{color:var(--text-light);margin:0}.complete-card{padding:40px 24px;text-align:center}.complete-card .complete-icon{margin-bottom:16px}.complete-card .complete-icon .success-icon{color:#22c55e}.complete-card .complete-icon .warning-icon{color:#f59e0b}.complete-card h3{color:var(--text);margin:0 0 24px}.results-summary{display:flex;gap:32px;justify-content:center;margin-bottom:24px}.result-item{text-align:center}.result-item .result-value{display:block;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:4px}.result-item .result-label{color:var(--text-light);font-size:.875rem}.result-created .result-value{color:#22c55e}.result-linked .result-value{color:#3b82f6}.result-updated .result-value{color:#f59e0b}.result-failed .result-value{color:#ef4444}.failed-items{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:24px;padding:16px;text-align:left}.failed-items h4{color:#991b1b;margin:0 0 8px}.failed-items ul{color:#7f1d1d;margin:0;padding-left:20px}.failed-items li{margin-bottom:4px}.complete-actions{display:flex;gap:16px;justify-content:center}@media (max-width:768px){.import-summary-grid{grid-template-columns:repeat(2,1fr)}.import-actions,.import-options,.results-summary{flex-direction:column}.results-summary{gap:16px}}.live-status-indicator{align-items:center;border-radius:16px;display:flex;font-size:11px;font-weight:500;gap:6px;padding:5px 10px;transition:all .3s ease}.live-status-indicator.connected{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.live-status-indicator.disconnected{background:#f9fafb;border:1px solid #e5e7eb;color:#9ca3af}.live-status-indicator .live-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.live-status-indicator.connected .live-dot{animation:pulse-live 2s infinite;background:#22c55e}.live-status-indicator.disconnected .live-dot{background:#d1d5db}.live-status-indicator .live-text{font-weight:500;letter-spacing:.2px}.live-status-indicator .live-time{font-size:10px;margin-left:2px;opacity:.7}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 #22c55e66;opacity:1}50%{box-shadow:0 0 0 4px #22c55e00;opacity:.8}}.compute-screen{background:var(--bg);min-height:calc(100vh - 120px);padding:30px}.form-card{background:#f9fafc;border:1px solid #ddd;border-radius:var(--border-radius);margin:10px 0 16px;padding:18px}.form-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.data-table td,.data-table th{border:1px solid #eee;font-size:14px;padding:10px}.data-table th{background:var(--primary);color:var(--white)}.btn-primary{background:var(--primary);border-radius:var(--border-radius)}.badge-success{background:#1ab394;border-radius:8px;color:#fff;padding:4px 8px}.worktime-page{background:#f8fafc;min-height:100vh;padding:24px}.page-title-section{align-items:center;display:flex;gap:16px}.page-icon{color:#8b5cf6!important;font-size:32px}.page-title{color:#1e293b;font-size:24px;font-weight:600;margin:0}.page-subtitle{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px;margin:4px 0 0}.worktime-back-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.worktime-back-btn:hover{background:#e2e8f0;color:#1e293b}.emp-code{background:#e2e8f0;color:#475569;font-weight:600}.date-badge,.emp-code{border-radius:4px;font-size:12px;padding:2px 8px}.date-badge{align-items:center;background:#eef2ff;color:#6366f1;display:inline-flex;gap:4px}.compute-section{display:flex;flex-direction:column;gap:24px}.form-card{box-shadow:0 1px 3px #0000001a}.section-header{align-items:center;border-bottom:1px solid #f1f5f9;color:#1e293b;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 20px;padding-bottom:12px}.form-grid{margin-bottom:20px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.form-group{gap:6px}.form-group label{color:#374151}.form-group label.required:after{color:#ef4444;content:" *"}.form-actions{padding-top:12px}.compute-btn{min-width:180px}.result-card{background:#fff;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.result-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.result-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.success-icon{color:#10b981;font-size:28px}.result-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.stat-card{background:#f8fafc;border-radius:8px;gap:12px;padding:16px}.stat-card.success{background:#f0fdf4}.stat-card.info{background:#eff6ff}.stat-card.danger{background:#fef2f2}.stat-card .stat-icon{color:#6366f1;font-size:24px}.stat-card.success .stat-icon{color:#10b981}.stat-card.info .stat-icon{color:#3b82f6}.stat-card.danger .stat-icon{color:#ef4444}.stat-content{display:flex;flex-direction:column}.stat-value{color:#1e293b;font-weight:700}.stat-label{color:#64748b;font-size:12px}.result-actions{border-top:1px solid #f1f5f9;display:flex;gap:12px;padding-top:16px}.error-details{background:#fef2f2;border-radius:8px;margin-top:16px;padding:16px}.error-details h4{color:#dc2626;font-size:14px;font-weight:600;margin:0 0 8px}.error-details ul{margin:0;padding-left:20px}.error-details li{color:#7f1d1d;font-size:13px;margin-bottom:4px}.info-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:20px}.info-card h4{color:#1e40af;font-size:14px;font-weight:600;margin:0 0 12px}.info-card ul{margin:0;padding-left:20px}.info-card li{color:#1e3a8a;font-size:13px;margin-bottom:6px}.wt-filters{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:24px}.wt-filters-grid{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:160px 160px 1fr 1fr auto}.wt-filter-field{display:flex;flex-direction:column;gap:6px}.wt-filter-label{color:#374151;font-size:13px;font-weight:600;white-space:nowrap}.wt-filter-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;height:40px;padding:0 12px;transition:border-color .2s;width:100%}.wt-filter-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}select.wt-filter-input{-webkit-appearance:auto;appearance:auto;cursor:pointer}.wt-filter-actions{display:flex;flex-shrink:0;gap:8px}.wt-filter-apply-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;height:40px;padding:0 20px;transition:background .2s;white-space:nowrap}.wt-filter-apply-btn:hover{background:#7c3aed}.wt-filter-reset-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;height:40px;padding:0 16px;transition:all .2s;white-space:nowrap}.wt-filter-reset-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:900px){.wt-filters-grid{gap:14px;grid-template-columns:1fr 1fr}.wt-filter-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:480px){.wt-filters-grid{grid-template-columns:1fr}}.wt-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.wt-table{border-collapse:collapse;width:100%}.wt-table td,.wt-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.wt-table td:last-child,.wt-table th:last-child{border-right:none}.wt-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.wt-table th:first-child{border-top-left-radius:12px}.wt-table th:last-child{border-right:none;border-top-right-radius:12px}.wt-table tbody tr{background:#fff}.wt-table tbody tr:hover{background:#f9fafb}.wt-table tbody tr:last-child td{border-bottom:none}.wt-empty-cell{color:#666;padding:48px!important;text-align:center}.wt-actions{align-items:center;display:flex;gap:4px;justify-content:center}.summary-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table{border-collapse:collapse}.data-table td,.data-table th{border-bottom:1px solid #f1f5f9;padding:12px 16px}.data-table th{background:#f8fafc;color:#64748b;font-size:12px;font-weight:600}.data-table td{color:#475569;font-size:14px}.data-table tbody tr:hover{background:#f8fafc}.clickable-row{cursor:pointer;transition:background .2s}.clickable-row:hover{background:#f1f5f9!important}.date-cell{align-items:center;color:#1e293b;display:flex;font-weight:500;gap:8px}.cell-icon{color:#6366f1;font-size:16px}.hours-cell{align-items:center;display:flex;gap:6px}.ot-cell .ot-value{color:#f59e0b;font-weight:600}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.worktime-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;overflow:hidden;transition:all .2s}.worktime-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.worktime-card .card-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px}.card-date{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:8px}.date-icon{color:#6366f1}.worktime-card .card-body{padding:16px}.card-stats{display:flex;gap:20px;margin-bottom:16px}.card-stats .stat{align-items:center;display:flex;gap:10px}.card-stats .stat-icon{color:#6366f1;font-size:20px}.card-stats .stat-icon.ot{color:#f59e0b}.card-stats .stat-content{display:flex;flex-direction:column}.card-stats .stat-value{color:#1e293b;font-size:18px;font-weight:700}.card-stats .stat-label{color:#64748b;font-size:11px}.card-attendance{display:flex;gap:16px}.attendance-item{align-items:center;color:#64748b;display:flex;font-size:13px;gap:6px}.attendance-item.success{color:#10b981}.attendance-item.danger{color:#ef4444}.worktime-card .card-footer{background:#f8fafc;border-top:1px solid #f1f5f9;padding:12px 16px}.view-details{align-items:center;color:#6366f1;display:flex;font-size:13px;font-weight:500;gap:4px}.totals-row{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:32px;justify-content:center;margin-top:24px;padding:20px}.total-item{align-items:center;display:flex;gap:8px}.total-icon{color:#6366f1;font-size:20px}.total-label{color:#64748b;font-size:14px}.total-value{color:#1e293b;font-size:16px;font-weight:700}.details-content{display:flex;flex-direction:column;gap:24px}.status-cards{display:flex;flex-wrap:wrap;gap:16px}.status-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:8px;padding:16px 20px}.status-card .card-label{color:#64748b;font-size:12px;font-weight:500}.time-details-card{background:#fff}.time-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.time-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;padding:12px}.time-icon{color:#6366f1;font-size:24px}.time-icon.in{color:#10b981}.time-icon.out{color:#ef4444}.time-icon.break{color:#8b5cf6}.time-icon.worked{color:#3b82f6}.time-icon.ot{color:#f59e0b}.time-icon.late{color:#ef4444}.time-content{display:flex;flex-direction:column}.time-label{color:#64748b;font-size:11px;text-transform:uppercase}.time-value{color:#1e293b;font-size:18px;font-weight:600}.time-value.highlight{color:#3b82f6}.remarks-section{background:#fef3c7;border-radius:8px;margin-top:16px;padding:12px}.remarks-label{color:#92400e;font-size:12px;font-weight:600}.remarks-text{color:#78350f;font-size:14px;margin:4px 0 0}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#64748b;font-size:12px}.info-value{color:#1e293b;font-size:14px;font-weight:500}.modal-content{display:flex;flex-direction:column;max-width:500px;overflow:hidden}.modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:16px 20px}.modal-header,.modal-header h3{align-items:center;display:flex}.modal-header h3{color:#1e293b;gap:8px;margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.close-btn:hover{background:#f1f5f9;color:#1e293b}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-footer{background:#f8fafc;border-top:1px solid #f1f5f9;padding:16px 20px}.worktime-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.worktime-table .employee-cell{align-items:center;display:flex;gap:10px}.employee-info{display:flex;flex-direction:column}.employee-name{color:#1e293b;font-weight:500}.employee-code{color:#64748b;font-size:12px}.time-cell{font-family:monospace}.worked-cell{align-items:center;display:flex;font-weight:500;gap:6px}.actions-cell{display:flex;gap:4px}.action-btn{align-items:center;background:#0000;border-radius:6px;color:#64748b;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.action-btn:hover{background:#f1f5f9}.action-btn.view:hover{color:#6366f1}.action-btn.edit:hover{color:#f59e0b}.badge{border-radius:20px}.badge-sm{font-size:11px;padding:2px 8px}.badge-icon{font-size:12px}.badge-default{background:#f1f5f9;color:#64748b}.badge-success{color:#16a34a}.badge-danger{color:#dc2626}.badge-warn{color:#d97706}.badge-info{background:#dbeafe;color:#2563eb}.badge-primary{background:#eef2ff;color:#6366f1}.view-toggle{background:#f1f5f9;border-radius:8px;display:flex;padding:4px}.view-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.view-btn:hover{color:#1e293b}.view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#6366f1}.loading-container{color:#64748b;padding:60px 20px}.spinner{font-size:32px;margin-bottom:16px}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.error-message{color:#ef4444;margin-bottom:16px}.error-banner{gap:8px;margin-bottom:16px}.empty-state{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.empty-icon{color:#cbd5e1;font-size:48px;margin-bottom:16px}.empty-state h3{color:#1e293b;font-size:18px}.empty-state p{color:#64748b;margin:0 0 20px}.access-denied{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.alert-icon{color:#ef4444;font-size:48px;margin-bottom:16px}.access-denied h2{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 8px}.access-denied p{color:#64748b;margin:0}.tpq-btn-primary{padding:10px 20px;transition:all .2s}.tpq-btn-primary:disabled{opacity:.7}.tpq-btn-secondary{border:1px solid #e2e8f0;color:#475569;padding:10px 20px;transition:all .2s}.tpq-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.tpq-input{border:1px solid #e2e8f0;color:#1e293b;padding:10px 14px;transition:all .2s}.tpq-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.tpq-input.error{border-color:#ef4444}.tpq-input::placeholder{color:#94a3b8}.tpq-select{border:1px solid #e2e8f0;color:#1e293b;padding:10px 14px}.tpq-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}textarea.tpq-input{min-height:80px;resize:vertical}.error-text{color:#ef4444;font-size:12px}.help-text{color:#64748b;font-size:12px}.reports-screen{background:#fafafa;background:var(--bg-primary,#fafafa);min-height:calc(100vh - 120px);padding:32px;padding:var(--space-xl,32px)}.page-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-lg,24px)}.page-header,.page-title{gap:16px;gap:var(--space-md,16px)}.page-title{align-items:center;display:flex}.page-title h2{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:24px;font-size:var(--heading-sm,24px);font-weight:600;margin:0}.page-title .icon,.page-title svg{color:#8b5cf6;font-size:24px}.page-actions{align-items:center;display:flex;gap:12px;gap:var(--space-sm,12px)}.btn-back{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:12px;border-radius:var(--radius-md,12px);display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.btn-back:hover{background:#fafafa;background:var(--bg-primary,#fafafa);border-color:#000;border-color:var(--accent-primary,#000)}.reports-subtitle{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px);margin:8px 0 0;margin:var(--space-xs,8px) 0 0 0}.report-grid{grid-gap:24px;grid-gap:var(--space-lg,24px);display:grid;gap:24px;gap:var(--space-lg,24px);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:32px;margin-bottom:var(--space-xl,32px)}.report-card{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:16px;border-radius:var(--radius-lg,16px);cursor:pointer;padding:24px;padding:var(--space-lg,24px);position:relative;text-align:center;transition:all .2s ease}.report-card:hover{border-color:#000;border-color:var(--accent-primary,#000);box-shadow:0 8px 20px #00000026;box-shadow:var(--shadow-hover,0 8px 20px #00000026);transform:translateY(-4px)}.report-card.disabled{cursor:not-allowed;opacity:.6}.report-card.disabled:hover{border-color:#e5e5e5;border-color:var(--border-color,#e5e5e5);box-shadow:none;transform:none}.report-icon{align-items:center;background:#fafafa;background:var(--bg-primary,#fafafa);border-radius:12px;border-radius:var(--radius-md,12px);color:#000;color:var(--accent-primary,#000);display:flex;height:64px;justify-content:center;margin:0 auto 16px;margin:0 auto var(--space-md,16px);width:64px}.report-name{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:15px;font-size:var(--body-regular,15px);font-weight:600;margin-bottom:8px;margin-bottom:var(--space-xs,8px)}.report-description{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px);line-height:1.4}.report-disabled-badge{background:#666;background:var(--text-secondary,#666);border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;font-size:11px;padding:4px 8px;position:absolute;right:12px;right:var(--space-sm,12px);top:12px;top:var(--space-sm,12px)}.schedule-banner{align-items:center;background:#000;background:var(--accent-primary,#000);border-radius:16px;border-radius:var(--radius-lg,16px);color:#fff;cursor:pointer;display:flex;gap:16px;gap:var(--space-md,16px);justify-content:center;margin-top:32px;margin-top:var(--space-xl,32px);padding:24px;padding:var(--space-lg,24px);transition:all .2s ease}.schedule-banner:hover{background:#1a1a1a;background:var(--accent-hover,#1a1a1a);transform:translateY(-2px)}.schedule-banner span{font-weight:500}.schedule-hint{font-size:14px;font-size:var(--body-sm,14px);opacity:.8}.subscription-info{align-items:center;background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:12px;border-radius:var(--radius-md,12px);display:flex;gap:16px;gap:var(--space-md,16px);margin-top:24px;margin-top:var(--space-lg,24px);padding:16px;padding:var(--space-md,16px)}.plan-badge{background:#fafafa;background:var(--bg-primary,#fafafa);border-radius:9999px;border-radius:var(--radius-full,9999px);padding:8px 16px;padding:var(--space-xs,8px) var(--space-md,16px)}.feature-note,.plan-badge{font-size:14px;font-size:var(--body-sm,14px)}.feature-note{color:#666;color:var(--text-secondary,#666)}.report-filters{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:12px;border-radius:var(--radius-md,12px);margin-bottom:24px;margin-bottom:var(--space-lg,24px);overflow:hidden}.filters-header{border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--border-color,#e5e5e5);padding:16px;padding:var(--space-md,16px)}.btn-filter-toggle{align-items:center;background:#fafafa;background:var(--bg-primary,#fafafa);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;display:flex;font-size:14px;font-size:var(--body-sm,14px);font-weight:500;gap:8px;gap:var(--space-xs,8px);padding:8px 16px;padding:var(--space-xs,8px) var(--space-md,16px);transition:all .2s ease}.btn-filter-toggle:hover{background:#fff;background:var(--bg-surface,#fff);border-color:#000;border-color:var(--accent-primary,#000)}.filters-body{display:none;padding:24px;padding:var(--space-lg,24px)}.filters-body.expanded{display:block}.filters-row{grid-gap:16px;grid-gap:var(--space-md,16px);display:grid;gap:16px;gap:var(--space-md,16px);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:24px;margin-bottom:var(--space-lg,24px)}.filter-group{gap:8px;gap:var(--space-xs,8px)}.filter-group label{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:14px;font-size:var(--body-sm,14px);font-weight:500}.filters-actions{display:flex;gap:12px;gap:var(--space-sm,12px);justify-content:flex-start}.filters-summary{display:flex;flex-wrap:wrap;gap:8px;gap:var(--space-xs,8px);padding:12px 16px;padding:var(--space-sm,12px) var(--space-md,16px)}.filter-tag{background:#fafafa;background:var(--bg-primary,#fafafa);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#666;color:var(--text-secondary,#666);font-size:13px;font-size:var(--body-xsm,13px);padding:4px 12px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.filter-bar input,.filter-bar select{border:1px solid #ccc;border-radius:8px;border-radius:var(--border-radius,8px);padding:8px}.export-buttons{display:flex;gap:8px;gap:var(--space-xs,8px)}.export-buttons.disabled{opacity:.6}.rpt-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.rpt-table{border-collapse:collapse;width:100%}.rpt-table td,.rpt-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.rpt-table td:last-child,.rpt-table th:last-child{border-right:none}.rpt-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.rpt-table th:first-child{border-top-left-radius:12px}.rpt-table th:last-child{border-right:none;border-top-right-radius:12px}.rpt-table tbody tr{background:#fff}.rpt-table tbody tr:hover{background:#f9fafb}.rpt-table tbody tr:last-child td{border-bottom:none}.rpt-empty-cell{color:#666;padding:48px!important;text-align:center}.sort-indicator{margin-left:4px;opacity:.7}.pagination{border-top:1px solid #e5e5e5;border-top:1px solid var(--border-color,#e5e5e5);gap:16px;gap:var(--space-md,16px);padding:24px;padding:var(--space-lg,24px)}.btn-page,.pagination{align-items:center;background:#fff;background:var(--bg-surface,#fff);display:flex;justify-content:center}.btn-page{border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;height:36px;transition:all .2s ease;width:36px}.btn-page:hover:not(:disabled){background:#fafafa;background:var(--bg-primary,#fafafa);border-color:#000;border-color:var(--accent-primary,#000)}.btn-page:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px)}.total-info{font-size:13px;font-size:var(--body-xsm,13px);margin-left:8px;margin-left:var(--space-xs,8px);opacity:.7}.report-summary{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px);padding:16px;padding:var(--space-md,16px);text-align:center}.schedule-form{margin-bottom:24px;margin-bottom:var(--space-lg,24px)}.form-card{background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:var(--radius-md,12px);padding:var(--space-lg,24px)}.form-card h3{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:24px;font-size:var(--heading-sm,24px);margin:0 0 24px;margin:0 0 var(--space-lg,24px) 0}.form-grid{grid-gap:16px;grid-gap:var(--space-md,16px);gap:16px;gap:var(--space-md,16px);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:24px;margin-bottom:var(--space-lg,24px)}.form-group{gap:var(--space-xs,8px)}.form-group label{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:var(--body-sm,14px)}.form-buttons{gap:12px;gap:var(--space-sm,12px)}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px;gap:var(--space-xs,8px)}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.error-text{color:#e74c3c}.error-text,.help-text{font-size:13px;font-size:var(--body-xsm,13px)}.help-text{color:#666;color:var(--text-secondary,#666)}.scheduler-info{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:12px;border-radius:var(--radius-md,12px);margin-top:32px;margin-top:var(--space-xl,32px);padding:24px;padding:var(--space-lg,24px)}.scheduler-info h4{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:15px;font-size:var(--body-regular,15px);margin:0 0 16px;margin:0 0 var(--space-md,16px) 0}.scheduler-info ul{margin:0;padding-left:24px;padding-left:var(--space-lg,24px)}.scheduler-info li{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px);margin-bottom:8px;margin-bottom:var(--space-xs,8px)}.email-cell,.report-type-cell,.row-actions,.rpt-actions,.time-cell{align-items:center;display:flex;gap:8px;gap:var(--space-xs,8px)}.row-actions,.rpt-actions{justify-content:center}.btn-icon{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;border-radius:var(--radius-sm,8px);height:32px;width:32px}.btn-icon:hover{background:#fafafa;background:var(--bg-primary,#fafafa);border-color:#000;border-color:var(--accent-primary,#000)}.btn-icon.danger:hover{background:#fee2e2;border-color:#e74c3c;color:#e74c3c}.empty-state{padding:48px;padding:var(--space-2xl,48px)}.empty-state svg{color:#666;color:var(--text-secondary,#666);margin-bottom:var(--space-md,16px);opacity:.5}.empty-state h3{color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:15px;font-size:var(--body-regular,15px);margin:0 0 var(--space-xs,8px) 0}.empty-state p{color:#666;color:var(--text-secondary,#666);font-size:var(--body-sm,14px)}.empty-state-inline{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--space-md,16px);padding:24px;padding:var(--space-lg,24px)}.loading-state{gap:16px;gap:var(--space-md,16px);padding:48px;padding:var(--space-2xl,48px)}.loading-state p{color:#666;color:var(--text-secondary,#666);font-size:14px;font-size:var(--body-sm,14px)}.error-banner{background:#fee2e2;border-radius:12px;border-radius:var(--radius-md,12px);gap:16px;gap:var(--space-md,16px);justify-content:space-between;margin-bottom:var(--space-lg,24px);padding:16px;padding:var(--space-md,16px)}.error-banner p{color:#991b1b;font-size:14px;font-size:var(--body-sm,14px)}.badge{border-radius:var(--radius-full,9999px);display:inline-block;font-size:13px;font-size:var(--body-xsm,13px);padding:4px 12px}.badge-success{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-muted{background:#fafafa;background:var(--bg-primary,#fafafa);color:#666;color:var(--text-secondary,#666)}.tpq-btn-primary{align-items:center;background:#000;background:var(--accent-primary,#000);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;display:inline-flex;font-size:14px;font-size:var(--body-sm,14px);font-weight:500;gap:8px;gap:var(--space-xs,8px);padding:12px 24px;padding:var(--space-sm,12px) var(--space-lg,24px);transition:all .2s ease}.tpq-btn-primary:hover:not(:disabled){background:#1a1a1a;background:var(--accent-hover,#1a1a1a)}.tpq-btn-primary:disabled{cursor:not-allowed;opacity:.5}.tpq-btn-secondary{background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);color:#0a0a0a;color:var(--text-primary,#0a0a0a);font-size:var(--body-sm,14px);gap:8px;gap:var(--space-xs,8px);padding:12px 24px;padding:var(--space-sm,12px) var(--space-lg,24px)}.tpq-btn-secondary:hover:not(:disabled){background:#fafafa;background:var(--bg-primary,#fafafa);border-color:#000;border-color:var(--accent-primary,#000)}.tpq-btn-secondary:disabled{opacity:.5}.btn-secondary{border-radius:var(--radius-sm,8px);gap:var(--space-xs,8px);padding:8px 16px;padding:var(--space-xs,8px) var(--space-md,16px);transition:background .2s ease}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-primary{background:#000;background:var(--accent-primary,#000);color:var(--bg-surface,#fff);padding:8px 14px}.btn-danger,.btn-primary{border-radius:var(--border-radius,8px)}.btn-danger{background:#e74c3c}.tpq-input{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;border-radius:var(--radius-sm,8px);font-size:14px;font-size:var(--body-sm,14px);padding:12px;padding:var(--space-sm,12px);transition:all .2s ease;width:100%}.tpq-input:focus{border-color:#000;border-color:var(--accent-primary,#000);outline:none}.tpq-input.error{border-color:#e74c3c}.tpq-select{background:#fff;background:var(--bg-surface,#fff);border:1px solid #e5e5e5;border:1px solid var(--border-color,#e5e5e5);border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;font-size:14px;font-size:var(--body-sm,14px);padding:12px;padding:var(--space-sm,12px);transition:all .2s ease;width:100%}.tpq-select:focus{border-color:#000;border-color:var(--accent-primary,#000);outline:none}@media (max-width:768px){.reports-screen{padding:16px;padding:var(--space-md,16px)}.page-header{align-items:stretch;flex-direction:column}.page-actions{justify-content:flex-start}.report-grid{gap:16px;gap:var(--space-md,16px);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.filters-row,.form-grid{grid-template-columns:1fr}.form-buttons,.schedule-banner{flex-direction:column}.schedule-banner{text-align:center}}.security-screen{background:var(--bg);min-height:calc(100vh - 120px);padding:30px}.privileges-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.priv-card{background:#fff;border:1px solid #ddd;border-radius:var(--border-radius);box-shadow:0 2px 6px var(--shadow);padding:15px}.priv-table{border-collapse:collapse;width:100%}.priv-table td,.priv-table th{border:1px solid #eee;padding:6px;text-align:center}.btn-secondary{border-radius:6px;padding:6px 10px}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:42px;width:100%}.password-toggle-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.password-toggle-btn:focus{outline:none}.sec-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.sec-table{border-collapse:collapse;width:100%}.sec-table td,.sec-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.sec-table td:last-child,.sec-table th:last-child{border-right:none}.sec-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.sec-table th:first-child{border-top-left-radius:12px}.sec-table th:last-child{border-right:none;border-top-right-radius:12px}.sec-table tbody tr{background:#fff}.sec-table tbody tr:hover{background:#f9fafb}.sec-table tbody tr:last-child td{border-bottom:none}.sec-empty-cell{color:#666;padding:48px!important;text-align:center}.sec-actions{align-items:center;display:flex;gap:4px;justify-content:center}.roles-screen{animation:fadeIn .25s ease;background:var(--bg);box-sizing:border-box;min-height:calc(100vh - 120px);padding:32px}.page-header{justify-content:space-between;margin-bottom:24px}.page-header,.page-header h2{align-items:center;display:flex}.page-header h2{color:#1f2937;font-size:28px;font-weight:700;gap:8px;margin:0}.page-header h2 .icon{color:#8b5cf6;font-size:24px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.toolbar-left,.toolbar-right{align-items:center;display:flex;gap:12px}.search-wrap{align-items:center;display:flex;position:relative}.search-icon{color:#999;left:10px;position:absolute}.search-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:15px;min-width:250px;padding:12px 14px 12px 36px;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:#8b5cf6;outline:none}.clear-search{background:none;border:none;color:#999;cursor:pointer;position:absolute;right:8px}.filter-tabs{background:#f1f5f9;border-radius:var(--border-radius);display:flex;gap:4px;padding:4px}.filter-tab{background:#0000;border:none;border-radius:var(--border-radius);color:#64748b;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s ease}.filter-tab:hover{background:#ffffff80}.filter-tab.active{background:var(--white);box-shadow:0 1px 3px #0000001a;color:var(--primary)}.btn-primary{align-items:center;border-radius:10px;display:flex;font-size:15px;gap:6px;transition:all .2s ease}.btn-secondary{background:#64748b;border-radius:var(--border-radius);color:var(--white)}.btn-outline,.btn-secondary{display:flex;gap:6px;padding:10px 16px}.btn-outline{align-items:center;background:var(--white);border:1px solid var(--primary);color:var(--primary);cursor:pointer}.btn-danger,.btn-outline{border-radius:var(--border-radius)}.btn-danger{background:#ef4444;color:var(--white);padding:8px 12px}.btn-icon{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:var(--border-radius);color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.btn-icon:hover{background:#f8fafc;border-color:#cbd5e1}.btn-icon.danger:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.role-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;padding:0}.role-table{border-collapse:collapse;width:100%}.role-table td,.role-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:14px;padding:10px 14px;text-align:left;vertical-align:middle}.role-table td:last-child,.role-table th:last-child{border-right:none}.role-table th{background:#1f2937;border-right:1px solid #ffffff26;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-transform:uppercase}.role-table th:first-child{border-top-left-radius:12px}.role-table th:last-child{border-right:none;border-top-right-radius:12px}.role-table tbody tr{background:#fff}.role-table tbody tr:hover{background:#f9fafb}.role-table tbody tr:last-child td{border-bottom:none}.role-info{display:flex;flex-direction:column;gap:4px}.role-name{color:#1e293b;font-weight:600}.role-code{color:#64748b;font-family:monospace;font-size:12px}.role-description{color:#64748b;font-size:13px;max-width:300px}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px}.badge-system{background:#eef2ff;color:#6366f1}.badge-active,.badge-custom{background:#ecfdf5;color:#10b981}.badge-inactive{background:#fef2f2;color:#ef4444}.badge-count{background:#f1f5f9;color:#475569}.plan-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:600;gap:4px;padding:2px 8px;text-transform:uppercase}.plan-badge-starter{background:#f1f5f9;color:#64748b}.plan-badge-business{background:#dbeafe;color:#2563eb}.plan-badge-enterprise{background:#ede9fe;color:#7c3aed}.role-actions{align-items:center;display:flex;gap:4px;justify-content:center}.role-table td:last-child{text-align:center}.role-actions .btn-icon{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;padding:0;text-decoration:none;transition:all .2s;width:32px}.role-actions .btn-icon:hover{background:#e5e7eb}.empty-state{color:#64748b;padding:60px 20px}.empty-state svg{color:#cbd5e1;font-size:48px;margin-bottom:16px}.empty-state h3{color:#475569;margin:0 0 8px}.role-edit-screen{background:var(--bg);min-height:calc(100vh - 120px);padding:30px}.back-link{align-items:center;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;gap:6px;margin-bottom:20px;text-decoration:none}.back-link:hover{color:var(--primary)}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.form-card h3{align-items:center;color:#1f2937;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 20px}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:16px}.form-group label{color:#475569;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626;outline:none}.form-group input:disabled{background:#f8fafc;color:#64748b}.form-group textarea{min-height:80px;resize:vertical}.form-hint{color:#94a3b8;font-size:12px;margin-top:4px}.form-actions{border-top:1px solid #f1f5f9;margin-top:20px;padding-top:20px}.permission-matrix{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f}.permission-matrix-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 24px}.permission-matrix-header h3{align-items:center;color:#1e293b;display:flex;font-size:16px;gap:8px;margin:0}.permission-matrix-header .plan-info{align-items:center;color:#64748b;display:flex;font-size:13px;gap:8px}.module-group{border-bottom:1px solid #f1f5f9}.module-group:last-child{border-bottom:none}.module-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 24px;transition:background .2s ease}.module-header:hover{background:#f8fafc}.module-title{align-items:center;display:flex;gap:12px}.module-name{color:#1e293b;font-weight:600}.module-description{color:#64748b;font-size:13px}.module-toggle{align-items:center;color:#64748b;display:flex;gap:8px}.module-toggle svg{transition:transform .2s ease}.module-toggle.expanded svg{transform:rotate(180deg)}.module-content{display:none;padding:0 24px 16px 48px}.module-content.expanded{display:block}.permissions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.permission-item{align-items:flex-start;background:#f8fafc;border-radius:var(--border-radius);display:flex;gap:10px;padding:12px;transition:all .2s ease}.permission-item:hover{background:#f1f5f9}.permission-item.disabled{cursor:not-allowed;opacity:.6}.permission-item.disabled:hover{background:#f8fafc}.permission-checkbox{accent-color:#8b5cf6;margin:0}.permission-checkbox:disabled{cursor:not-allowed}.permission-info{flex:1 1;min-width:0}.permission-action{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:500;gap:6px}.permission-desc{color:#64748b;font-size:12px;line-height:1.4;margin-top:2px}.permission-lock{align-items:center;color:#f59e0b;display:flex;font-size:10px;gap:4px;margin-top:4px}.permission-lock svg{font-size:12px}.select-all-row{align-items:center;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:8px;color:#8b5cf6;display:flex;font-size:13px;gap:8px;margin-bottom:12px;padding:10px 12px}.select-all-row input{accent-color:#8b5cf6}.permission-count{background:#f1f5f9;border-radius:999px;color:#64748b;font-size:12px;padding:2px 8px}.loading-state{color:#64748b;padding:60px 20px}.spinner{animation:spin 1s linear infinite;border-top-color:#8b5cf6}.error-banner{border-radius:var(--border-radius);color:#dc2626;margin-bottom:20px}.error-banner svg{flex-shrink:0}.success-banner{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--border-radius);color:#059669;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}@media (max-width:768px){.role-edit-screen,.roles-screen{padding:16px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{justify-content:space-between;width:100%}.search-input{min-width:0;min-width:auto;width:100%}.form-row,.permissions-grid{grid-template-columns:1fr}.module-content{padding-left:24px}}.shift-container{padding:20px}.shift-title{font-size:26px;margin-bottom:18px}.shift-card{border-radius:12px;padding:25px}.shift-grid-2{grid-gap:40px;align-items:flex-start;display:grid;gap:40px;grid-template-columns:1fr auto}.shift-card label{display:block;font-weight:500;margin-top:12px}.shift-card input,.shift-card select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-top:4px;padding:10px;width:100%}.shift-checkbox-panel{background:#f9fafc;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:18px;gap:22px;padding:25px;padding:22px;position:-webkit-sticky;position:sticky;top:20px;width:300px}.shift-checkbox-row{align-items:center;display:flex;gap:12px;padding:8px 0}.shift-checkbox-row input[type=checkbox]{accent-color:#7c3aed;cursor:pointer;height:20px;width:20px}.shift-checkbox-row span{color:#1f2937;font-size:15px;font-weight:500}.shift-save-btn{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:25px;padding:14px;width:100%}.shift-save-btn:hover{background:#7c3aed}.shift-page{padding:20px}.shift-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:4px}.shift-subtext{color:#6b7280;font-size:15px;margin-bottom:20px}.shift-grid{display:flex;flex-direction:column;gap:18px}.shift-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 10px #0000000f;cursor:pointer;padding:28px;transition:.2s ease}.shift-card:hover{box-shadow:0 6px 18px #00000014;transform:translateY(-4px)}.shift-card h3{color:#1f2937;font-size:20px;font-weight:700;margin:8px 0 4px}.shift-card p{color:#374151;font-size:15px;margin-top:4px}.shift-icon{color:#8b5cf6;font-size:32px;margin-bottom:10px}.shift-schedule-page{padding:22px}.ssp-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:4px}.ssp-subtext{color:#6b7280;font-size:15px;margin-bottom:20px}.ssp-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 10px #0000000f;padding:28px}.ssp-card label{color:#374151;display:block;font-weight:600;margin-top:14px}.ssp-card input,.ssp-card select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:15px;margin-top:6px;padding:11px;width:100%}.ssp-card input:focus,.ssp-card select:focus{border-color:#8b5cf6;box-shadow:0 0 4px #8b5cf647;outline:none}.ssp-btn{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:24px;padding:14px;width:100%}.ssp-btn:hover{background:#7c3aed}.shift-master-page{padding:24px}.shift-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.shift-add-btn{align-items:center;display:flex;gap:8px}.shift-toolbar{margin-bottom:20px}.shift-search-form{max-width:400px}.shift-search-wrapper{align-items:center;display:flex;position:relative}.shift-search-icon{color:#6b7280;font-size:18px;left:14px;position:absolute}.shift-search-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:15px;padding:12px 40px 12px 44px;width:100%}.shift-search-input:focus{border-color:#8b5cf6;box-shadow:0 0 4px #8b5cf647;outline:none}.shift-search-clear{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;position:absolute;right:12px}.shift-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:10px;margin-bottom:20px;padding:14px 18px}.shift-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto}.shift-loading{color:#6b7280;font-size:16px}.shift-empty,.shift-loading{padding:60px;text-align:center}.shift-empty{background:#fff;border:1px solid #e5e7eb;border-radius:16px}.shift-empty-icon{color:#d1d5db;font-size:48px;margin-bottom:16px}.shift-empty h3{color:#374151;margin-bottom:8px}.shift-empty p{color:#6b7280;margin-bottom:20px}.shift-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.shift-table{border-collapse:collapse;width:100%}.shift-table thead tr{background:#1f2937;color:#fff}.shift-table th{font-size:14px;font-weight:600;padding:14px 16px;text-align:left}.shift-table td{border-bottom:1px solid #eef1f6;padding:14px 16px;vertical-align:middle}.shift-table tbody tr:hover{background:#f8fafc}.shift-table tbody tr.expanded{background:#f0f7ff}.shift-expand-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px}.shift-expand-btn:hover{background:#e5e7eb;color:#374151}.shift-code-badge{background:#e0e7ff;border-radius:6px;color:#3730a3;display:inline-block;font-size:13px;font-weight:600;padding:4px 10px}.shift-name-cell{display:flex;flex-direction:column}.shift-name-cell strong{color:#1f2937}.shift-name-cell small{color:#6b7280;font-size:13px;margin-top:2px}.shift-timing-cell{align-items:center;display:flex;font-size:14px;gap:6px}.shift-timing-arrow{color:#9ca3af}.shift-next-day-badge{background:#fef3c7;border-radius:4px;color:#92400e;display:inline-block;font-size:11px;font-weight:600;margin-left:4px;padding:2px 6px}.shift-break-info{color:#374151;font-size:14px}.shift-weeklyoff-dots{display:flex;gap:4px}.shift-day-dot{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-size:10px;font-weight:600;height:22px;justify-content:center;width:22px}.shift-day-dot.off{background:#fecaca;color:#dc2626}.shift-version-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-size:12px;font-weight:500;padding:3px 8px}.shift-actions{display:flex;gap:6px}.shift-action-btn{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;padding:8px;transition:.2s}.shift-action-btn:hover{background:#e5e7eb}.shift-action-btn.edit:hover{background:#dbeafe;color:#1d4ed8}.shift-action-btn.delete:hover{background:#fee2e2;color:#dc2626}.shift-expanded-row td{background:#f8fafc;padding:0!important}.shift-expanded-content{border-top:1px solid #e5e7eb;padding:24px}.shift-expanded-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.shift-expanded-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.shift-expanded-section h4{align-items:center;border-bottom:1px solid #e5e7eb;color:#8b5cf6;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px;padding-bottom:10px}.shift-detail-row{display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.shift-detail-row span{color:#6b7280}.shift-detail-row strong{color:#1f2937}.shift-weeklyoff-full{display:flex;flex-wrap:wrap;gap:6px}.shift-day-full{background:#e5e7eb;border-radius:6px;color:#6b7280;font-size:12px;font-weight:500;padding:6px 10px}.shift-day-full.off{background:#fecaca;color:#dc2626}.shift-expanded-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;padding-top:16px}.shift-expanded-actions button{align-items:center;display:flex;gap:6px}.shift-pagination{align-items:center;display:flex;gap:16px;justify-content:center;padding:20px}.shift-pagination button{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 18px}.shift-pagination button:hover:not(:disabled){background:#f3f4f6}.shift-pagination button:disabled{cursor:not-allowed;opacity:.5}.shift-pagination span{color:#6b7280;font-size:14px}.shift-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:99999}.shift-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.shift-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.shift-modal-header h2{color:#1f2937;font-size:20px;font-weight:700;margin:0}.shift-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:20px;padding:4px}.shift-modal-close:hover{color:#374151}.shift-modal-form{padding:24px}.shift-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.shift-form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:18px}.shift-form-section h3{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;margin-bottom:14px;padding-bottom:10px}.shift-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.shift-form-section label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.shift-form-section input,.shift-form-section select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-top:4px;padding:10px 12px;width:100%}.shift-form-section input:focus,.shift-form-section select:focus{border-color:#8b5cf6;box-shadow:0 0 4px #8b5cf647;outline:none}.shift-form-section input:disabled{background:#e5e7eb;cursor:not-allowed}.shift-form-hint{color:#6b7280;font-size:12px;margin-bottom:10px}.shift-checkbox-inline{align-items:center;display:flex;gap:10px;margin-top:12px}.shift-checkbox-inline input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer;height:18px;margin:0;width:18px}.shift-checkbox-inline label{color:#374151;cursor:pointer;font-size:14px;margin:0}.shift-weeklyoff-selector{display:flex;flex-wrap:wrap;gap:8px}.shift-day-btn{background:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:10px 14px;transition:.2s}.shift-day-btn:hover{border-color:#8b5cf6}.shift-day-btn.selected{background:#dc2626;border-color:#dc2626;color:#fff}.shift-modal-footer{background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin:0 -24px -24px;padding:20px 24px}.shift-confirm-modal{background:#fff;border-radius:16px;max-width:420px;padding:28px;text-align:center}.shift-confirm-modal h3{color:#dc2626;margin-bottom:12px}.shift-confirm-modal p{color:#6b7280;margin-bottom:20px}.shift-confirm-warning{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px}.shift-confirm-actions{display:flex;gap:12px;justify-content:center}.btn-primary{background:#8b5cf6;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:.2s}.btn-primary:hover{background:#7c3aed}.btn-secondary{transition:background .2s}.btn-danger,.btn-secondary{border-radius:8px;font-size:14px;font-weight:600;padding:12px 20px}.btn-danger{color:#fff;transition:.2s}.btn-danger:disabled{opacity:.6}@media (max-width:1024px){.shift-expanded-grid{grid-template-columns:repeat(2,1fr)}.shift-form-grid{grid-template-columns:1fr}}@media (max-width:768px){.shift-header{flex-direction:column;gap:16px}.shift-expanded-grid{grid-template-columns:1fr}.shift-table-wrap{overflow-x:auto}.shift-modal{margin:10px;max-width:100%}.shift-form-row{grid-template-columns:1fr}}.schedule-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.schedule-layout{grid-template-columns:1fr}}.ssp-toggle-group{border:1px solid #d1d5db;border-radius:8px;display:flex;gap:0;margin-bottom:20px;overflow:hidden}.ssp-toggle-btn{align-items:center;background:#f9fafb;border:none;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:.2s}.ssp-toggle-btn:first-child{border-right:1px solid #d1d5db}.ssp-toggle-btn.active{background:#8b5cf6;color:#fff}.ssp-toggle-btn:hover:not(.active){background:#e5e7eb}.ssp-card-title{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:20px}.ssp-selection-box{border:1px solid #e5e7eb;border-radius:10px;margin-top:16px;overflow:hidden}.ssp-selection-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.ssp-selection-header span{color:#374151;font-weight:500}.ssp-select-all{background:#8b5cf6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px}.ssp-select-all:hover{background:#7c3aed}.ssp-selection-list{max-height:300px;overflow-y:auto;padding:12px}.ssp-checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:.15s}.ssp-checkbox-item:hover{background:#f3f4f6}.ssp-checkbox-item input[type=checkbox]{accent-color:#8b5cf6;height:18px;margin:0;width:18px}.ssp-checkbox-item span{color:#374151;font-size:14px}.ssp-no-data{color:#6b7280;padding:30px;text-align:center}.ssp-date-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:16px}.ssp-checkbox-row{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:10px;margin-top:16px;padding:12px}.ssp-checkbox-row input[type=checkbox]{accent-color:#8b5cf6;height:18px;margin:0;width:18px}.ssp-checkbox-row label{color:#374151;cursor:pointer;font-size:14px;margin:0}.ssp-no-schedules{color:#6b7280;padding:50px 20px;text-align:center}.ssp-empty-icon{color:#d1d5db;font-size:48px;margin-bottom:12px}.ssp-schedules-list{max-height:500px;overflow-y:auto}.ssp-schedule-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px}.ssp-schedule-item:last-child{border-bottom:none}.ssp-schedule-item:hover{background:#f9fafb}.ssp-schedule-info{flex:1 1}.ssp-schedule-target{align-items:center;color:#1f2937;display:flex;font-weight:500;gap:8px;margin-bottom:4px}.ssp-schedule-target svg{color:#8b5cf6}.ssp-schedule-shift strong{color:#374151;display:block;font-size:14px}.ssp-schedule-shift small{color:#6b7280;font-size:13px}.ssp-schedule-delete{background:#fef2f2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;padding:8px}.ssp-schedule-delete:hover{background:#fee2e2}.shift-success{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;display:flex;gap:10px;margin-bottom:20px;padding:14px 18px}.shift-success button{background:none;border:none;color:#16a34a;cursor:pointer;margin-left:auto}.btn-back{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:16px;padding:8px 14px}.btn-back:hover{background:#e5e7eb}.shift-version-page{padding:24px}.svh-title{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:700;gap:12px;margin-bottom:4px}.svh-subtext{color:#6b7280;font-size:15px;margin-bottom:20px}.svh-current-card,.svh-timeline-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 10px #0000000f;margin-bottom:24px;padding:24px}.svh-card-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin-bottom:20px;padding-bottom:12px}.svh-current-info{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.svh-info-row{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.svh-info-label{color:#6b7280;font-size:14px}.svh-info-value{color:#1f2937;font-weight:600}.svh-version-badge{background:#8b5cf6;color:#fff}.svh-status,.svh-version-badge{border-radius:20px;font-size:13px;padding:4px 12px}.svh-status{font-weight:500}.svh-status.active{background:#dcfce7;color:#16a34a}.svh-status.inactive{background:#fee2e2;color:#dc2626}.svh-no-versions{color:#6b7280;padding:50px 20px;text-align:center}.svh-empty-icon{color:#d1d5db;font-size:48px;margin-bottom:12px}.svh-timeline{position:relative}.svh-timeline-item{display:flex;gap:20px;padding-bottom:24px}.svh-timeline-item.current .svh-timeline-dot{background:#8b5cf6;border-color:#8b5cf6}.svh-timeline-marker{align-items:center;display:flex;flex-direction:column}.svh-timeline-dot{background:#d1d5db;border:3px solid #e5e7eb;border-radius:50%;height:14px;width:14px;z-index:1}.svh-timeline-line{background:#e5e7eb;flex:1 1;margin-top:8px;width:2px}.svh-timeline-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex:1 1;overflow:hidden}.svh-timeline-header{align-items:center;cursor:pointer;display:flex;padding:16px;transition:.15s}.svh-timeline-header:hover{background:#f3f4f6}.svh-timeline-title{align-items:center;display:flex;flex:1 1;gap:10px}.svh-version-num{color:#1f2937;font-size:16px;font-weight:600}.svh-current-tag{background:#8b5cf6;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px}.svh-timeline-meta{display:flex;gap:16px;margin-right:12px}.svh-meta-item{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px}.svh-expand-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px}.svh-timeline-details{border-top:1px solid #e5e7eb;padding:0 16px 16px}.svh-details-section{margin-top:16px}.svh-details-section h4{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.svh-details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.svh-detail-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.svh-detail-label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px}.svh-detail-value{color:#1f2937;font-size:14px;font-weight:600}.svh-detail-value.active{color:#16a34a}.svh-detail-value.inactive{color:#dc2626}.svh-changes-section{margin-top:16px}.svh-changes-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.svh-changes-table th{background:#f3f4f6;color:#374151;font-size:13px;font-weight:600;padding:10px 14px;text-align:left}.svh-changes-table td{border-top:1px solid #e5e7eb;font-size:13px;padding:10px 14px}.svh-old-value{color:#dc2626;text-decoration:line-through}.svh-new-value{color:#16a34a;font-weight:500}.svh-description-section{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-top:16px;padding:12px}.svh-description-section h4{color:#9a3412}.svh-description-section p{color:#374151;font-size:14px}.break-rules-page{padding:24px}.brp-title{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:700;gap:12px;margin-bottom:4px}.brp-subtext{color:#6b7280;font-size:15px;margin-bottom:20px}.brp-shift-info{background:#f5f3ff;border-radius:10px;display:flex;gap:20px;margin-bottom:24px;padding:16px}.brp-info-item{align-items:center;color:#8b5cf6;display:flex;font-weight:500;gap:8px}.brp-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 10px #0000000f;padding:24px}.brp-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.brp-card-title{color:#1f2937;font-size:18px;font-weight:700;margin:0}.brp-add-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:10px 16px}.brp-add-btn:hover{background:#7c3aed}.brp-global-settings{background:#f9fafb;border-radius:10px;margin-bottom:20px;padding:16px}.brp-checkbox-item{align-items:center;cursor:pointer;display:flex;gap:10px}.brp-checkbox-item input[type=checkbox]{accent-color:#8b5cf6;height:18px;width:18px}.brp-checkbox-item span{color:#374151;font-size:14px}.brp-no-breaks{color:#6b7280;padding:50px 20px;text-align:center}.brp-empty-icon{color:#d1d5db;font-size:48px;margin-bottom:12px}.brp-rules-list{display:flex;flex-direction:column;gap:16px}.brp-rule-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.brp-rule-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.brp-rule-number{color:#8b5cf6;font-size:14px;font-weight:600}.brp-delete-btn{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;padding:6px}.brp-delete-btn:hover{background:#fecaca}.brp-rule-form{padding:16px}.brp-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.brp-form-field{display:flex;flex-direction:column}.brp-form-field>span{color:#374151;font-size:13px;font-weight:500;margin-bottom:6px}.brp-form-field input,.brp-form-field select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px}.brp-form-field input:focus,.brp-form-field select:focus{border-color:#8b5cf6;outline:none}.brp-checkbox-field{align-items:center;flex-direction:row;gap:10px;padding-top:26px}.brp-checkbox-field input[type=checkbox]{accent-color:#8b5cf6;height:18px;width:18px}.brp-summary{grid-gap:16px;background:#f5f3ff;border-radius:10px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:20px;padding:20px}.brp-summary-item{text-align:center}.brp-summary-label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px}.brp-summary-value{color:#8b5cf6;font-size:20px;font-weight:700}.brp-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.brp-cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:12px 24px}.brp-cancel-btn:hover{background:#e5e7eb}.brp-save-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px}.brp-save-btn:hover{background:#7c3aed}.brp-save-btn:disabled{cursor:not-allowed;opacity:.6}.weekly-off-page{padding:24px}.wop-title{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:700;gap:12px;margin-bottom:4px}.wop-subtext{color:#6b7280;font-size:15px;margin-bottom:20px}.wop-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}@media (max-width:1024px){.wop-layout{grid-template-columns:1fr}}.wop-card,.wop-templates-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 10px #0000000f;padding:24px}.wop-card-title{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:20px}.wop-section-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.wop-type-section{margin-bottom:24px}.wop-type-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.wop-type-card{border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;padding:14px;transition:.2s}.wop-type-card:hover{border-color:#8b5cf6}.wop-type-card.active{background:#f5f3ff;border-color:#8b5cf6}.wop-type-label{color:#1f2937;display:block;font-weight:600;margin-bottom:4px}.wop-type-desc{color:#6b7280;display:block;font-size:12px}.wop-days-section{margin-bottom:24px}.wop-days-grid{display:flex;flex-wrap:wrap;gap:10px}.wop-day-card{border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;padding:16px 12px;text-align:center;transition:.2s;width:80px}.wop-day-card:hover{border-color:#dc2626}.wop-day-card.selected{background:#fef2f2;border-color:#dc2626}.wop-day-short{color:#374151;display:block;font-size:20px;font-weight:700;margin-bottom:4px}.wop-day-card.selected .wop-day-short{color:#dc2626}.wop-day-label{color:#6b7280;display:block;font-size:11px}.wop-rotational-section{margin-bottom:24px}.wop-rotational-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.wop-weeks-select{align-items:center;display:flex;gap:10px}.wop-weeks-select span{color:#6b7280;font-size:14px}.wop-weeks-select select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.wop-rotational-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.wop-week-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.wop-week-card h4{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.wop-week-days{display:flex;gap:6px;margin-bottom:8px}.wop-mini-day{align-items:center;border:1px solid #d1d5db;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:11px;font-weight:600;height:28px;justify-content:center;transition:.15s;width:28px}.wop-mini-day:hover{border-color:#dc2626}.wop-mini-day.selected{background:#dc2626;border-color:#dc2626;color:#fff}.wop-week-selected{color:#6b7280;font-size:12px}.wop-effective-section{margin-bottom:24px}.wop-date-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;max-width:250px;padding:10px 12px;width:100%}.wop-help-text{color:#6b7280;display:block;font-size:12px;margin-top:6px}.wop-validation-result{border-radius:10px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.wop-validation-result.valid{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.wop-validation-result.invalid{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.wop-validation-result strong{display:block;margin-bottom:4px}.wop-validation-result p{font-size:14px;margin:0}.wop-conflicts-list{font-size:13px;margin:8px 0 0;padding-left:20px}.wop-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.wop-validate-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:12px 20px}.wop-validate-btn:hover:not(:disabled){background:#e5e7eb}.wop-validate-btn:disabled{cursor:not-allowed;opacity:.5}.wop-cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:12px 20px}.wop-cancel-btn:hover{background:#e5e7eb}.wop-save-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px}.wop-save-btn:hover{background:#7c3aed}.wop-save-btn:disabled{cursor:not-allowed;opacity:.6}.wop-templates-desc{color:#6b7280;font-size:14px;margin-bottom:16px}.wop-no-templates{color:#6b7280;padding:20px;text-align:center}.wop-templates-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.wop-template-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:14px;transition:.15s}.wop-template-item:hover{background:#f5f3ff;border-color:#8b5cf6}.wop-template-item strong{color:#1f2937;display:block;margin-bottom:4px}.wop-template-item small{color:#6b7280;font-size:12px}.wop-common-templates{border-top:1px solid #e5e7eb;padding-top:16px}.wop-common-templates h4{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.wop-quick-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:block;font-size:13px;margin-bottom:8px;padding:10px;transition:.15s;width:100%}.wop-quick-btn:hover{border-color:#8b5cf6;color:#8b5cf6}@media (max-width:768px){.brp-form-row{grid-template-columns:1fr}.brp-summary{grid-template-columns:repeat(2,1fr)}.wop-days-grid{justify-content:center}.wop-day-card{padding:12px 8px;width:60px}.wop-day-short{font-size:16px}.svh-timeline-meta{flex-direction:column;gap:4px}.svh-details-grid{grid-template-columns:1fr 1fr}}.shift-templates-section{border-top:2px solid #e5e7eb;margin-top:40px;padding-top:30px}.shift-templates-header{margin-bottom:20px}.shift-templates-header h2{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:10px;margin:0 0 6px}.shift-templates-header h2 svg{color:#7c3aed}.shift-templates-header p{color:#6b7280;font-size:14px;margin:0}.shift-templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.shift-template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease}.shift-template-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed1a}.shift-template-card.adopted{background:#f9fafb;border-color:#d1d5db}.shift-template-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.shift-template-badges{display:flex;gap:6px}.badge-default{background:#eef2ff;color:#4f46e5}.badge-adopted,.badge-default{border-radius:4px;font-size:11px;font-weight:500;padding:3px 8px}.badge-adopted{background:#dcfce7;color:#16a34a}.shift-template-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.shift-template-description{color:#6b7280;font-size:13px;line-height:1.4;margin:0 0 16px}.shift-template-details{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px}.shift-template-detail{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.shift-template-detail span{color:#6b7280}.shift-template-detail strong{color:#1f2937}.shift-template-detail.update-available,.shift-template-detail.update-available span,.shift-template-detail.update-available strong{color:#ea580c}.shift-template-actions{display:flex;justify-content:center}.shift-template-actions .btn-primary,.shift-template-actions .btn-secondary{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 16px;transition:all .2s ease}.shift-template-actions .btn-primary{background:#7c3aed;border:none;color:#fff}.shift-template-actions .btn-primary:hover:not(:disabled){background:#6d28d9}.shift-template-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.shift-template-actions .btn-secondary:hover:not(:disabled){background:#f3f4f6}.shift-template-actions button:disabled{cursor:not-allowed;opacity:.6}.shift-template-uptodate{align-items:center;color:#16a34a;display:flex;font-size:13px;font-weight:500;gap:6px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.shift-template-actions .btn-secondary .spinner-small{border:2px solid #3741514d;border-top-color:#374151}.dash-wrapper.hr-dashboard{margin:-32px;margin:calc(var(--space-xl, 32px)*-1);max-width:none;padding:56px;padding:calc(var(--space-xl, 32px) + 24px);width:calc(100% + 64px);width:calc(100% + var(--space-xl, 32px)*2)}.hr-dashboard{margin:0 auto;max-width:1400px;padding:24px}.hr-dashboard.loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border-top-color:#667eea}.dashboard-header{align-items:flex-start;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.dashboard-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.header-subtitle{color:#666;font-size:15px;margin:0}.header-date{color:#666;font-size:14px;text-align:right}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.stat-card.blue .stat-icon{background:#e8f0fe;color:#1a73e8}.stat-card.green .stat-icon{background:#e6f4ea;color:#1e8e3e}.stat-card.red .stat-icon{background:#fce8e6;color:#d93025}.stat-card.purple .stat-icon{background:#f3e8fd;color:#9334e6}.stat-card.orange .stat-icon{background:#fef3e2;color:#e37400}.stat-card.teal .stat-icon{background:#e0f7fa;color:#00897b}.stat-content{flex:1 1}.stat-value{color:#1a1a1a;font-size:28px;line-height:1.2}.stat-title{color:#666;font-size:14px;margin-top:2px}.stat-subtitle{color:#999;font-size:12px;margin-top:2px}.stat-arrow{color:#999;font-size:18px;opacity:0;transition:opacity .2s}.stat-card.clickable:hover .stat-arrow{opacity:1}.pending-section{margin-bottom:32px}.pending-section h2{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}.section-icon{color:#e37400}.pending-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.pending-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;padding:24px;transition:all .2s ease}.pending-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.pending-card.leave{border-left:4px solid #9334e6}.pending-card.correction{border-left:4px solid #e37400}.pending-count{color:#1a1a1a;font-size:36px;font-weight:700;line-height:1}.pending-label{color:#1a1a1a;font-size:16px;font-weight:600;margin-top:8px}.pending-card p{color:#666;font-size:13px;margin:8px 0 16px}.btn-review{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-review:hover{background:#5a67d8}.quick-actions-section{margin-bottom:32px}.quick-actions-section h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.quick-action{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.quick-action:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.quick-action-icon{align-items:center;background:#f0f4ff;border-radius:10px;color:#667eea;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.quick-action-content{flex:1 1;min-width:0}.quick-action-title{color:#1a1a1a;font-size:15px;font-weight:600}.quick-action-desc{color:#666;font-size:13px;margin-top:2px}.quick-action-arrow{color:#999;flex-shrink:0;font-size:18px;opacity:0;transition:opacity .2s}.quick-action:hover .quick-action-arrow{opacity:1}.activity-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.activity-section h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:flex-start;background:#f9fafb;gap:12px;padding:12px}.activity-icon,.activity-item{border-radius:8px;display:flex}.activity-icon{align-items:center;background:#e5e5e5;flex-shrink:0;font-size:14px;height:32px;justify-content:center;width:32px}.activity-content{flex:1 1;min-width:0}.activity-message{color:#1a1a1a;font-size:14px}.activity-time{color:#999;font-size:12px;margin-top:2px}@media (max-width:768px){.hr-dashboard{padding:16px}.dashboard-header{flex-direction:column;gap:16px}.header-date{text-align:left}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:24px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.dash-wrapper.manager-dashboard{margin:-32px;margin:calc(var(--space-xl, 32px)*-1);max-width:none;padding:56px;padding:calc(var(--space-xl, 32px) + 24px);width:calc(100% + 64px);width:calc(100% + var(--space-xl, 32px)*2)}.manager-dashboard{margin:0 auto;max-width:1400px;padding:24px}.manager-dashboard.loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e5e5;border-top-color:#f59e0b;margin-bottom:16px}.manager-dashboard-header{align-items:flex-start;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.manager-dashboard-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.manager-header-subtitle{color:#666;font-size:15px;margin:0 0 12px}.manager-department-badge{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.manager-header-date{color:#666;font-size:14px;text-align:right}.manager-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.manager-stat-card{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.manager-stat-card.clickable{cursor:pointer}.manager-stat-card.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.manager-stat-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.manager-stat-card.blue .manager-stat-icon{background:#e8f0fe;color:#1a73e8}.manager-stat-card.green .manager-stat-icon{background:#e6f4ea;color:#1e8e3e}.manager-stat-card.red .manager-stat-icon{background:#fce8e6;color:#d93025}.manager-stat-card.purple .manager-stat-icon{background:#f3e8fd;color:#9334e6}.manager-stat-card.orange .manager-stat-icon{background:#fef3e2;color:#e37400}.manager-stat-card.teal .manager-stat-icon{background:#e0f7fa;color:#00897b}.manager-stat-content{flex:1 1}.manager-stat-value{color:#1a1a1a;font-size:28px;font-weight:600;line-height:1.2}.manager-stat-title{color:#666;font-size:14px;margin-top:2px}.manager-stat-subtitle{color:#999;font-size:12px;margin-top:2px}.manager-stat-arrow{color:#999;font-size:18px;opacity:0;transition:opacity .2s}.manager-stat-card.clickable:hover .manager-stat-arrow{opacity:1}.manager-pending-section{margin-bottom:32px}.manager-pending-section h2{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}.manager-section-icon{color:#e37400}.manager-pending-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.manager-pending-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;padding:24px;transition:all .2s ease}.manager-pending-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.manager-pending-card.leave{border-left:4px solid #9334e6}.manager-pending-card.correction{border-left:4px solid #e37400}.manager-pending-count{color:#1a1a1a;font-size:36px;font-weight:700;line-height:1}.manager-pending-label{color:#1a1a1a;font-size:16px;font-weight:600;margin-top:8px}.manager-pending-card p{color:#666;font-size:13px;margin:8px 0 16px}.manager-btn-review{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:opacity .2s}.manager-btn-review:hover{opacity:.9}.manager-team-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:32px;padding:24px}.manager-team-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.manager-team-header h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0}.manager-view-all-btn{align-items:center;background:none;border:none;color:#f59e0b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;transition:color .2s}.manager-view-all-btn:hover{color:#d97706}.manager-team-grid{display:flex;flex-direction:column;gap:12px}.manager-team-card{align-items:center;background:#f9fafb;border-radius:10px;cursor:pointer;display:flex;gap:16px;padding:12px 16px;transition:all .2s ease}.manager-team-card:hover{background:#f0f4ff}.manager-team-avatar{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:600;height:44px;justify-content:center;overflow:hidden;width:44px}.manager-team-avatar img{height:100%;object-fit:cover;width:100%}.manager-team-info{flex:1 1;min-width:0}.manager-team-name{color:#1a1a1a;font-size:15px;font-weight:600}.manager-team-role{color:#666;font-size:13px;margin-top:2px}.manager-team-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 10px;text-transform:uppercase}.manager-team-status.active{background:#e6f4ea;color:#1e8e3e}.manager-team-status.resigned,.manager-team-status.terminated{background:#fce8e6;color:#d93025}.manager-team-status.suspended{background:#fef3e2;color:#e37400}.manager-quick-actions-section{margin-bottom:32px}.manager-quick-actions-section h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.manager-quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.manager-quick-action{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.manager-quick-action:hover{border-color:#f59e0b;box-shadow:0 4px 12px #0000001a}.manager-quick-action-icon{align-items:center;background:#fef3e2;border-radius:10px;color:#f59e0b;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.manager-quick-action-content{flex:1 1;min-width:0}.manager-quick-action-title{color:#1a1a1a;font-size:15px;font-weight:600}.manager-quick-action-desc{color:#666;font-size:13px;margin-top:2px}.manager-quick-action-arrow{color:#999;flex-shrink:0;font-size:18px;opacity:0;transition:opacity .2s}.manager-quick-action:hover .manager-quick-action-arrow{opacity:1}@media (max-width:768px){.manager-dashboard{padding:16px}.manager-dashboard-header{flex-direction:column;gap:16px}.manager-header-date{text-align:left}.manager-stats-grid{grid-template-columns:repeat(2,1fr)}.manager-stat-card{padding:16px}.manager-stat-value{font-size:24px}}@media (max-width:480px){.manager-stats-grid{grid-template-columns:1fr}}.dash-wrapper.employee-self-dashboard{margin:-32px;margin:calc(var(--space-xl, 32px)*-1);max-width:none;padding:56px;padding:calc(var(--space-xl, 32px) + 24px);width:calc(100% + 64px);width:calc(100% + var(--space-xl, 32px)*2)}.employee-self-dashboard{margin:0 auto;max-width:1400px;padding:24px}.employee-self-dashboard.loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.employee-self-dashboard .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e5e5;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.employee-dashboard-header{align-items:flex-start;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.employee-dashboard-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.employee-header-subtitle{color:#666;font-size:15px;margin:0}.employee-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.employee-stat-card{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.employee-stat-card.clickable{cursor:pointer}.employee-stat-card.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.employee-stat-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.employee-stat-card.blue .employee-stat-icon{background:#e8f0fe;color:#1a73e8}.employee-stat-card.green .employee-stat-icon{background:#e6f4ea;color:#1e8e3e}.employee-stat-card.red .employee-stat-icon{background:#fce8e6;color:#d93025}.employee-stat-card.orange .employee-stat-icon{background:#fef3e2;color:#e37400}.employee-stat-card.purple .employee-stat-icon{background:#f3e8fd;color:#9334e6}.employee-stat-content{flex:1 1}.employee-stat-value{color:#1a1a1a;font-size:28px;font-weight:600;line-height:1.2}.employee-stat-title{color:#666;font-size:14px;margin-top:2px}.employee-stat-subtitle{color:#999;font-size:12px;margin-top:2px}.employee-stat-arrow{color:#999;font-size:18px;opacity:0;transition:opacity .2s}.employee-stat-card.clickable:hover .employee-stat-arrow{opacity:1}.employee-quick-actions-section{margin-bottom:32px}.employee-quick-actions-section h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.employee-quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.employee-quick-action{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.employee-quick-action:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.employee-quick-action-icon{align-items:center;background:#eef2ff;border-radius:10px;color:#667eea;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.employee-quick-action-content{flex:1 1;min-width:0}.employee-quick-action-title{color:#1a1a1a;font-size:15px;font-weight:600}.employee-quick-action-desc{color:#666;font-size:13px;margin-top:2px}.employee-quick-action-arrow{color:#999;flex-shrink:0;font-size:18px;opacity:0;transition:opacity .2s}.employee-quick-action:hover .employee-quick-action-arrow{opacity:1}.employee-holidays-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:32px;padding:24px}.employee-holidays-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.employee-holidays-header h2{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.employee-holidays-list{display:flex;flex-direction:column;gap:12px}.employee-holiday-item{align-items:center;background:#f9fafb;border-radius:10px;display:flex;gap:16px;padding:12px 16px}.employee-holiday-date{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:13px;font-weight:600;min-width:70px;padding:8px 12px;text-align:center}.employee-holiday-info{flex:1 1}.employee-holiday-name{color:#1a1a1a;font-size:15px;font-weight:600}.employee-holiday-type{color:#666;font-size:13px;margin-top:2px}.employee-activity-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.employee-activity-section h2{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 20px}.employee-activity-list{display:flex;flex-direction:column;gap:12px}.employee-activity-item{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px}.employee-activity-item .activity-icon{font-size:20px;margin-top:2px}.employee-activity-item .activity-icon.success{color:#1e8e3e}.employee-activity-item .activity-icon.warning{color:#e37400}.employee-activity-item .activity-content{flex:1 1}.employee-activity-item .activity-title{color:#1a1a1a;font-size:14px;font-weight:500}.employee-activity-item .activity-time{color:#666;font-size:12px;margin-top:2px}@media (max-width:768px){.employee-self-dashboard{padding:16px}.employee-dashboard-header{flex-direction:column;gap:16px}.employee-stats-grid{grid-template-columns:repeat(2,1fr)}.employee-stat-card{padding:16px}.employee-stat-value{font-size:24px}}@media (max-width:480px){.employee-stats-grid{grid-template-columns:1fr}}.enterprise-screen{margin:0 auto;max-width:1400px;padding:24px}.enterprise-screen .page-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.enterprise-screen .header-content h1{align-items:center;color:#1f2937;color:var(--text,#1f2937);display:flex;font-size:24px;font-weight:600;gap:12px;margin:0 0 8px}.enterprise-screen .header-content p{color:#6b7280;color:var(--text-light,#6b7280);margin:0}.enterprise-screen .header-actions{align-items:center;display:flex;gap:12px}.period-select{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.feature-gate{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:80px 40px;text-align:center}.feature-gate svg{color:#9ca3af;margin-bottom:24px}.feature-gate h2{color:#1f2937;font-size:24px;margin:0 0 12px}.feature-gate p{color:#6b7280;margin:0;max-width:400px}.feature-gate .upgrade-hint{color:#9ca3af;font-size:13px;margin-top:16px}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px}.loading-state.small{padding:40px}.loading-state p{margin-top:16px}.error-banner{align-items:center;border-radius:8px;color:#991b1b;display:flex;gap:12px;margin-bottom:24px;padding:12px 16px}.error-banner p{flex:1 1;margin:0}.error-banner button{background:none;border:none;color:#991b1b;cursor:pointer;font-size:13px;text-decoration:underline}.enterprise-section{margin-bottom:40px}.enterprise-section h2{align-items:center;color:#1f2937;color:var(--text,#1f2937);display:flex;font-size:18px;font-weight:600;gap:10px;margin:0 0 8px}.section-desc{color:#6b7280;color:var(--text-light,#6b7280);margin:0 0 24px}.metrics-overview{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr;margin-bottom:24px}.health-score-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center}.health-score-card h3{color:#6b7280;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.health-gauge{height:140px;margin:0 auto 16px;position:relative;width:140px}.gauge-svg{height:100%;width:100%}.gauge-progress{transition:stroke-dasharray .5s ease-out}.gauge-value{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.gauge-value .score{color:#1f2937;display:block;font-size:32px;font-weight:700}.gauge-value .label{color:#6b7280;display:block;font-size:12px;margin-top:2px}.generated-at{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:6px;justify-content:center;margin:0}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.metric-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:16px;padding:20px;transition:box-shadow .15s ease}.metric-card:hover{box-shadow:0 2px 8px #0000000d}.metric-card.status-excellent{border-left:4px solid #22c55e}.metric-card.status-good{border-left:4px solid #eab308}.metric-card.status-warning{border-left:4px solid #ef4444}.metric-icon{align-items:center;background:#f3f4f6;border-radius:10px;color:#4b5563;display:flex;height:48px;justify-content:center;width:48px}.metric-content{flex:1 1}.metric-content h4{color:#6b7280;font-size:13px;font-weight:500;margin:0 0 4px}.metric-value{color:#1f2937;font-size:24px;font-weight:600;margin:0}.metric-desc{color:#9ca3af;font-size:12px}.metric-status{align-items:center;border-radius:50%;display:flex;height:28px;justify-content:center;width:28px}.metric-status.status-excellent{background:#dcfce7;color:#22c55e}.metric-status.status-good{background:#fef9c3;color:#eab308}.metric-status.status-warning{background:#fee2e2;color:#ef4444}.metrics-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.detail-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.detail-card h4{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.detail-stats{display:flex;gap:24px}.stat{align-items:center;display:flex;flex-direction:column}.stat-value{color:#1f2937;font-size:24px;font-weight:600}.stat-label{color:#6b7280;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.export-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.export-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:16px;padding:20px}.export-card,.export-icon{align-items:center;display:flex}.export-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;color:#fff;height:56px;justify-content:center;width:56px}.export-content{flex:1 1}.export-content h4{color:#1f2937;font-size:15px;font-weight:600;margin:0 0 4px}.export-content p{color:#6b7280;font-size:13px;margin:0}.export-actions{align-items:center;display:flex;gap:8px}.export-actions select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;padding:8px 12px}.export-actions .btn{align-items:center;display:flex;gap:6px}.compliance-grid{display:flex;flex-direction:column;gap:12px}.compliance-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.compliance-header{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:16px 20px;text-align:left;transition:background .15s ease;width:100%}.compliance-header:hover{background:#f9fafb}.compliance-header .expand-icon{color:#9ca3af;margin-left:auto;transition:transform .2s ease}.compliance-header.expanded .expand-icon{transform:rotate(90deg)}.compliance-content{border-top:1px solid #f3f4f6;padding:0 20px 20px}.compliance-content p{color:#6b7280;font-size:14px;line-height:1.6;margin:16px 0}.compliance-content h5{color:#374151;font-size:13px;font-weight:600;margin:20px 0 12px}.compliance-content ul{margin:0;padding-left:20px}.compliance-content li{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:6px}.compliance-table{border-collapse:collapse;font-size:13px;margin:16px 0;width:100%}.compliance-table td,.compliance-table th{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left}.compliance-table th{background:#f9fafb;color:#374151;font-weight:600}.compliance-table td{color:#6b7280}.control-category,.mechanism-item,.phase-item{margin-bottom:16px}.control-category h5,.mechanism-item strong,.phase-item h5{color:#374151}.mechanism-item p{margin:4px 0 0}.contact-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;margin-top:16px;padding:12px 16px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-primary{background:#4f46e5;background:var(--primary,#4f46e5)}.btn-primary:hover{background:#4338ca;background:var(--primary-dark,#4338ca)}.btn-primary:disabled{background:#9ca3af}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}@media (max-width:1024px){.metrics-overview{grid-template-columns:1fr}.health-score-card{align-items:center;display:flex;gap:24px;text-align:left}.health-score-card h3{display:none}.health-gauge{flex-shrink:0;margin:0}.export-grid,.metrics-details,.metrics-grid{grid-template-columns:1fr}}@media (max-width:768px){.enterprise-screen{padding:16px}.enterprise-screen .page-header{flex-direction:column;gap:16px}.enterprise-screen .header-actions{justify-content:flex-start;width:100%}.export-card{align-items:flex-start;flex-direction:column;gap:12px}.export-actions{width:100%}.export-actions select{flex:1 1}.export-actions .btn{flex:1 1;justify-content:center}.detail-stats{justify-content:space-around}}.company-settings-container{margin:0 auto;max-width:1400px;padding:24px}.company-settings-header{margin-bottom:32px}.company-settings-header h1{color:#1a202c;font-size:28px;font-weight:600;margin-bottom:8px}.company-settings-header p{color:#718096;font-size:14px}.settings-nav{background:#f1f5f9;border-radius:10px;display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;padding:6px}.settings-nav-item{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s;white-space:nowrap}.settings-nav-item:hover{background:#e2e8f0;color:#334155}.settings-nav-item.active{background:#8b5cf6;color:#fff;font-weight:600}.settings-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:32px}.settings-card-header{border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding-bottom:16px}.settings-card-header h2{color:#1a202c;font-size:20px;font-weight:600;margin-bottom:4px}.settings-card-header p{color:#64748b;font-size:14px;margin:0}.settings-card-body{padding-top:8px}.settings-form{display:flex;flex-direction:column;gap:24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1/-1}.form-label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:4px}.form-label.required:after{color:#ef4444;content:"*";margin-left:2px}.form-help-text{color:#6b7280}.form-error,.form-help-text{font-size:12px;margin-top:4px}.form-error{color:#ef4444}.tpq-input,.tpq-select{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.tpq-input:focus,.tpq-select:focus{border-color:#6366f1;border-color:var(--primary,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.tpq-input.error,.tpq-select.error{border-color:#ef4444}.tpq-input.error:focus,.tpq-select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px}.tpq-btn-danger,.tpq-btn-primary,.tpq-btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.tpq-btn-primary{background:#6366f1;background:var(--primary,#6366f1);color:#fff}.tpq-btn-primary:hover:not(:disabled){background:#4f46e5;background:var(--primary-dark,#4f46e5)}.tpq-btn-danger{background:#ef4444;color:#fff}.tpq-btn-danger:hover:not(:disabled){background:#dc2626}.tpq-btn-danger:disabled,.tpq-btn-primary:disabled,.tpq-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.logo-upload-section{align-items:flex-start;display:flex;gap:24px}.logo-preview{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;width:120px}.logo-preview img{max-height:100%;max-width:100%;object-fit:contain}.logo-placeholder{color:#9ca3af;font-size:48px}.logo-upload-controls{flex:1 1}.logo-upload-controls h3{color:#1a202c;font-size:16px;font-weight:600;margin-bottom:8px}.logo-upload-controls p{color:#6b7280;font-size:13px;margin-bottom:16px}.file-input-wrapper{display:inline-block;position:relative}.file-input-wrapper input[type=file]{left:-9999px;position:absolute}.color-picker-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.color-picker-item{display:flex;flex-direction:column;gap:8px}.color-input-wrapper{align-items:center;display:flex;gap:12px}.color-preview{border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;flex-shrink:0;height:48px;transition:all .2s;width:48px}.color-preview:hover{border-color:#cbd5e0;transform:scale(1.05)}.color-value-input{flex:1 1}input[type=color]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.custom-fields-list{display:flex;flex-direction:column;gap:12px}.custom-field-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s}.custom-field-item:hover{background:#f3f4f6;border-color:#d1d5db}.custom-field-drag-handle{color:#9ca3af;cursor:grab;font-size:18px}.custom-field-drag-handle:active{cursor:grabbing}.custom-field-info{flex:1 1}.custom-field-name{color:#1f2937;font-size:14px;font-weight:500;margin-bottom:2px}.custom-field-meta{color:#6b7280;font-size:12px}.custom-field-type-badge{background:#e0e7ff;border-radius:4px;color:#4f46e5;font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.custom-field-actions{display:flex;gap:8px}.custom-field-action-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.custom-field-action-btn:hover{background:#f9fafb;border-color:#9ca3af}.custom-field-action-btn.delete{border-color:#fecaca;color:#ef4444}.custom-field-action-btn.delete:hover{background:#fef2f2;border-color:#ef4444}.empty-state{color:#6b7280;padding:48px 24px}.empty-state-icon{color:#d1d5db;font-size:48px;margin-bottom:16px}.empty-state h3{color:#374151;font-size:16px;font-weight:600;margin-bottom:8px}.empty-state p{color:#6b7280;font-size:14px;margin-bottom:20px}.permission-matrix{overflow-x:auto}.permission-table{border-collapse:collapse;font-size:13px;width:100%}.permission-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.permission-table th{color:#374151;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.permission-table th:first-child{background:#f9fafb;left:0;min-width:180px;position:-webkit-sticky;position:sticky;z-index:1}.permission-table td{border-bottom:1px solid #e5e7eb;padding:12px 16px}.permission-table td:first-child{background:#fff;color:#1f2937;font-weight:500;left:0;position:-webkit-sticky;position:sticky}.permission-checkbox{accent-color:#6366f1;accent-color:var(--primary,#6366f1);cursor:pointer;height:18px;width:18px}.permission-module-row{background:#fafbfc;font-weight:600}.permission-module-row td{color:#1a202c;padding-bottom:8px;padding-top:16px}.limit-warning{align-items:center;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;display:flex;font-size:14px;gap:12px;margin-bottom:20px;padding:12px 16px}.limit-warning-icon{color:#f59e0b;font-size:20px}.settings-loading{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:60px}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top:3px solid var(--primary,#6366f1);height:40px;width:40px}.alert{align-items:center;border-radius:8px;display:flex;font-size:14px;gap:12px;margin-bottom:20px;padding:12px 16px}.alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.roles-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.role-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:20px;transition:all .2s}.role-card:hover{border-color:#6366f1;border-color:var(--primary,#6366f1);box-shadow:0 4px 6px #6366f11a}.role-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.role-card-title{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:4px}.role-card-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:11px;font-weight:500;padding:4px 8px}.role-card-badge.system{background:#dbeafe;color:#1e40af}.role-card-description{color:#6b7280;font-size:13px;margin-bottom:16px}.role-card-stats{color:#6b7280;display:flex;font-size:12px;gap:16px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e5e7eb;padding:24px 24px 16px}.modal-header h3{color:#1a202c;font-size:18px;font-weight:600}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.template-page{margin:0 auto;max-width:1400px;padding:1.5rem}.template-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.template-header h1{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.template-header p{color:var(--text-secondary);flex-basis:100%;margin:.25rem 0 0}.error-banner,.success-banner,.updates-banner{align-items:center;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.success-banner{background:#f0fdf4;background:var(--green-50,#f0fdf4);border:1px solid #bbf7d0;border:1px solid var(--green-200,#bbf7d0);color:#15803d;color:var(--green-700,#15803d)}.error-banner{background:#fef2f2;background:var(--red-50,#fef2f2);border:1px solid #fecaca;border:1px solid var(--red-200,#fecaca);color:#b91c1c;color:var(--red-700,#b91c1c)}.updates-banner{background:#eff6ff;background:var(--blue-50,#eff6ff);border:1px solid #bfdbfe;border:1px solid var(--blue-200,#bfdbfe);color:#1d4ed8;color:var(--blue-700,#1d4ed8)}.template-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.tab-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .2s ease}.tab-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.tab-btn.active{background:var(--primary-color);color:#fff}.template-section{margin-bottom:2rem}.template-section h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem}.template-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.template-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;transition:all .2s ease}.template-card:hover{box-shadow:0 4px 12px #00000014}.template-card.adopted{background:linear-gradient(135deg,#fff,#f0fdf4);background:linear-gradient(135deg,#fff 0,var(--green-50,#f0fdf4) 100%);border-color:#bbf7d0;border-color:var(--green-200,#bbf7d0)}.template-card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.template-card-header h3{color:var(--text-primary);flex:1 1;font-size:1rem;font-weight:600;margin:0}.badge{border-radius:9999px;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.badge.default{background:#dbeafe;background:var(--blue-100,#dbeafe);color:#1d4ed8;color:var(--blue-700,#1d4ed8)}.badge.adopted{background:#dcfce7;background:var(--green-100,#dcfce7);color:#15803d;color:var(--green-700,#15803d)}.template-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.template-details{background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;padding:.75rem}.detail-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.375rem 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--text-secondary);font-size:.8125rem}.detail-row .value{color:var(--text-primary);font-size:.8125rem;font-weight:500}.detail-row.update-available{background:#fefce8;background:var(--yellow-50,#fefce8);border-radius:0 0 8px 8px;margin:.5rem -.75rem -.75rem;padding:.5rem .75rem}.detail-row.update-available .label,.detail-row.update-available .value{color:#a16207;color:var(--yellow-700,#a16207)}.template-actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem 1rem;transition:all .2s ease}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--hover-bg)}.btn-secondary:disabled{opacity:.6}.up-to-date{align-items:center;color:#16a34a;color:var(--green-600,#16a34a);display:flex;font-size:.8125rem;font-weight:500;gap:.375rem}.spinner{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;display:inline-block;height:14px;width:14px}.empty-state{background:var(--bg-secondary);border-radius:12px;padding:3rem 2rem;text-align:center}.empty-icon{color:var(--text-muted);font-size:3rem;margin-bottom:1rem}.empty-state p{color:var(--text-secondary);margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:1rem;width:40px}@media (max-width:768px){.template-page{padding:1rem}.template-header{align-items:stretch;flex-direction:column}.template-tabs{flex-wrap:wrap}.template-grid{grid-template-columns:1fr}}:root{--bg-primary:#fafafa;--bg-surface:#fff;--text-primary:#0a0a0a;--text-secondary:#666;--border-color:#e5e5e5;--accent-primary:#8b5cf6;--accent-hover:#7c3aed;--accent-light:#ede9fe;--accent-muted:#c4b5fd;--status-success:#10b981;--status-danger:#ef4444;--status-warning:#f59e0b;--status-neutral:#6b7280;--primary:#8b5cf6;--primary-hover:#7c3aed;--font-heading:"Darker Grotesque",sans-serif;--font-body:"DM Sans",sans-serif;--heading-size-xl:48px;--heading-size-lg:42px;--heading-size-md:32px;--heading-size-sm:24px;--body-size:15px;--body-size-sm:14px;--body-size-xs:13px;--heading-weight:800;--body-weight:400;--body-weight-medium:500;--body-weight-semibold:600;--letter-spacing-heading:-0.02em;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--shadow-sm:0 2px 6px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-hover:0 8px 20px #00000026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition-smooth:all 0.2s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1);--sidebar-width:70px;--sidebar-width-expanded:240px;--card-padding:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-container h2{font-size:var(--heading-size-md);margin-bottom:var(--space-lg)}.page-container h2,.page-container h3{color:var(--text-primary);font-family:var(--font-heading);font-weight:700;letter-spacing:var(--letter-spacing-heading)}.page-container h3{font-size:var(--heading-size-sm);margin-bottom:var(--space-md)}.form-container{animation:fadeIn .3s ease;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:var(--space-lg) 0;padding:var(--card-padding)}.form-container h3{color:var(--text-primary);font-family:var(--font-heading);margin-bottom:var(--space-md);margin-top:0}.form-container label{color:var(--text-primary);display:block;font-size:var(--body-size-sm);font-weight:var(--body-weight-semibold);margin-bottom:var(--space-xs)}.form-container input,.form-container select,.form-container textarea{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size);margin-bottom:var(--space-md);outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast);width:100%}.form-container input:focus,.form-container select:focus,.form-container textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}.form-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-buttons{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.form-error{background:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#dc2626;font-size:var(--body-size-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md)}.btn-cancel{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold);gap:8px;justify-content:center;padding:10px 20px;transition:var(--transition-smooth)}.btn-cancel:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.btn-danger{background:#dc2626;color:var(--bg-surface);font-size:var(--body-size-sm);padding:var(--space-xs) var(--space-md);transition:var(--transition-smooth)}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px)}.action-group{display:flex;gap:var(--space-sm)}.action-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:var(--body-size-xs);font-weight:var(--body-weight-semibold);padding:var(--space-xs) var(--space-md);transition:var(--transition-smooth)}.action-btn.grey{background:#6b7280;color:var(--bg-surface)}.action-btn.red{background:#dc2626;color:var(--bg-surface)}.action-btn.grey:hover{background:#4b5563;transform:translateY(-1px)}.action-btn.red:hover{background:#b91c1c;transform:translateY(-1px)}.data-table{border:1px solid var(--border-color);border-collapse:initial;border-radius:var(--radius-md);border-spacing:0;box-shadow:var(--shadow-sm);margin-top:var(--space-md);overflow:hidden;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border-color);font-size:var(--body-size-sm);padding:var(--space-md);text-align:left}.data-table th{background:#1f2937;color:var(--bg-surface);font-family:var(--font-body);font-size:var(--body-size-xs);font-weight:var(--body-weight-semibold);letter-spacing:.5px;text-transform:uppercase}.data-table tr:last-child td{border-bottom:none}.data-table tr:nth-child(2n){background:var(--bg-primary)}.data-table tr:hover{background:#f5f5f5}.data-table td{color:var(--text-primary);vertical-align:middle}.actions-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg)}.search-input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-family:var(--font-body);font-size:var(--body-size);max-width:400px;outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast)}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}.popup-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.popup{animation:fadeInScale .2s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;padding:var(--space-xl);width:90%}.popup.large{max-width:700px}.popup h3{color:var(--text-primary);font-family:var(--font-heading);margin-bottom:var(--space-lg);margin-top:0}.popup input,.popup select,.popup textarea{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size);margin-bottom:var(--space-md);margin-top:var(--space-xs);outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast);width:100%}.popup input:focus,.popup select:focus,.popup textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}.popup-actions{justify-content:flex-end;margin-top:var(--space-xl)}.checkbox-row,.popup-actions{display:flex;gap:var(--space-sm)}.checkbox-row{align-items:center;font-size:var(--body-size-sm);padding:var(--space-xs) 0}.checkbox-row input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.employee-form-layout{align-items:flex-start;display:flex;gap:var(--space-2xl);margin-bottom:var(--space-lg)}.employee-left{flex:1 1}.employee-left .form-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.employee-right{display:flex;flex-direction:column;gap:var(--space-md);width:280px}.employee-right .checkbox-row{align-items:center;display:flex;font-size:var(--body-size-sm);gap:var(--space-sm)}.user-form-bar{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.user-form-bar input,.user-form-bar select{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-family:var(--font-body);font-size:var(--body-size);min-width:200px;outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast)}.btn-add-user{background:var(--accent-primary);border:none;border-radius:var(--radius-sm);color:var(--bg-surface);cursor:pointer;font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold);padding:var(--space-sm) var(--space-xl);transition:var(--transition-smooth)}.btn-add-user:hover{background:var(--accent-hover);transform:translateY(-2px)}.filter-select,.tpq-select,select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.filter-select:focus,.tpq-select:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626;outline:none}.tpq-select option:checked,select option:checked{background:var(--accent-light)}.filter-btn,.filter-toggle-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--body-size-sm);gap:8px;padding:8px 16px;transition:var(--transition-fast)}.filter-btn.active,.filter-btn:hover,.filter-toggle-btn.active,.filter-toggle-btn:hover{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:var(--text-secondary);font-size:var(--body-size-xs);font-weight:var(--body-weight-medium);text-transform:uppercase}.tab-list{background:#f3f4f6;border-radius:var(--radius-sm);display:flex;gap:4px;margin-bottom:var(--space-lg);padding:4px}.tab-item{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--body-size-sm);font-weight:var(--body-weight-medium);padding:8px 16px;transition:var(--transition-fast)}.tab-item:hover{background:#ffffff80;color:var(--text-primary)}.tab-item.active{background:var(--accent-primary);box-shadow:var(--shadow-sm);color:#fff}@media (max-width:768px){.employee-form-layout{flex-direction:column}.employee-right{width:100%}.employee-left .form-grid{grid-template-columns:1fr}.user-form-bar{align-items:stretch;flex-direction:column}.user-form-bar input,.user-form-bar select{width:100%}.actions-bar{align-items:stretch;flex-direction:column}.search-input{max-width:100%}}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.data-table{font-size:var(--body-size-xs)}.data-table td,.data-table th{padding:var(--space-sm)}}*{box-sizing:border-box}*,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight);line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:var(--letter-spacing-heading);line-height:1.2;margin:0}h1{font-size:var(--heading-size-lg);font-weight:800}h2{font-size:var(--heading-size-md)}h2,h3{font-weight:700}h3{font-size:var(--heading-size-sm)}h4{font-size:18px;font-weight:600}p{line-height:1.6;margin:0}.page-header .icon,.page-header h2 .icon,.page-header svg,.page-icon,.page-title .icon,.page-title svg{color:#8b5cf6!important}button{background:#0000;border:none;color:inherit;cursor:pointer;font-family:var(--font-body);font-size:inherit;padding:0}button:disabled{cursor:not-allowed;opacity:.5}.btn-primary,.tpq-btn-primary{align-items:center;background:#8b5cf6!important;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#fff!important;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold);gap:8px;padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.btn-primary:hover,.tpq-btn-primary:hover{background:#7c3aed!important;box-shadow:var(--shadow-md);color:#fff!important;transform:translateY(-2px)}.btn-primary:active,.tpq-btn-primary:active{background:#6d28d9!important;color:#fff!important;transform:translateY(0)}.btn-primary:disabled,.tpq-btn-primary:disabled{background:#8b5cf6!important;color:#fff!important;cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{align-items:center;background:#6b7280!important;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#fff!important;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold);gap:8px;padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.btn-secondary:hover{background:#4b5563!important;color:#fff!important}.btn-secondary:disabled{background:#6b7280!important;color:#fff!important;cursor:not-allowed;opacity:.5}.tpq-btn-secondary{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border-radius:8px;border-radius:var(--radius-sm,8px);color:#374151;color:var(--text-primary,#374151);cursor:pointer;display:inline-flex;font-size:14px;font-size:var(--body-size,14px);font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease}.tpq-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);color:#8b5cf6;color:var(--primary,#8b5cf6)}.tpq-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.tpq-btn-icon-outline{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border-radius:8px;border-radius:var(--radius-sm,8px);color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.tpq-btn-icon-outline:hover:not(:disabled){background:#f9fafb;border-color:#8b5cf6;border-color:var(--primary,#8b5cf6);color:#8b5cf6;color:var(--primary,#8b5cf6)}.tpq-btn-icon-outline:disabled{cursor:not-allowed;opacity:.5}.btn-danger{align-items:center;background:#dc2626!important;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#fff!important;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-weight-semibold);gap:8px;padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.btn-danger:hover{background:#b91c1c!important;color:#fff!important}.btn-danger:disabled{background:#dc2626!important;color:#fff!important;cursor:not-allowed;opacity:.5}input,select,textarea{accent-color:#8b5cf6;accent-color:var(--accent-primary,#8b5cf6);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--body-size);outline:none;padding:var(--space-sm) var(--space-md);transition:var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}select option:checked,select option:hover{background:linear-gradient(0deg,#8b5cf6,#8b5cf6);color:#fff}.app-layout{background:var(--bg-primary)}.app-layout,.main-wrapper{display:flex;min-height:100vh}.main-wrapper{flex:1 1;flex-direction:column;margin-left:var(--sidebar-width)}.main-content{animation:fadeIn .3s ease;flex:1 1;overflow-y:auto;padding:var(--space-xl)}.container{margin:0 auto;max-width:1400px;width:100%}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--card-padding);transition:var(--transition-smooth)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.text-primary{color:var(--text-primary)}.text-muted,.text-secondary{color:var(--text-secondary)}.text-muted{font-size:var(--body-size-sm)}.text-center{text-align:center}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-xs)}.mb-2{margin-bottom:var(--space-sm)}.mb-3{margin-bottom:var(--space-md)}.mb-4{margin-bottom:var(--space-lg)}.mb-5{margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mt-3{margin-top:var(--space-md)}.mt-4{margin-top:var(--space-lg)}.mt-5{margin-top:var(--space-xl)}.grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}.main-content{padding:var(--space-lg)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.main-content{padding:var(--space-md)}h1{font-size:var(--heading-size-md)}h2{font-size:var(--heading-size-sm)}}@media (max-width:600px){.main-wrapper{margin-left:0}.main-content{padding:var(--space-sm)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes tpq-spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}.spin,.spinning{animation:spin 1s linear infinite}.tpq-spinner{animation:tpq-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top:3px solid var(--accent-primary,#8b5cf6);flex-shrink:0}.tpq-spinner-lg{height:40px;width:40px}.tpq-spinner-md{height:32px;width:32px}.tpq-spinner-sm{border-width:2px;height:20px;width:20px}.tpq-loading-page{height:100vh}.tpq-loading-page,.tpq-loading-section{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center}.tpq-loading-section{min-height:200px;padding:60px 20px}.tpq-loading-inline{align-items:center;display:inline-flex;gap:8px;justify-content:center;padding:12px}.tpq-loading-text{color:#666;color:var(--text-secondary,#666);font-size:14px;margin:0}
/*# sourceMappingURL=main.9604ebc6.css.map*/