:root{--font-family:"Inter", "Outfit", "Roboto", sans-serif;--bg-main:#f1f5f9;--bg-card:#fff;--border-color:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-secondary:#8b5cf6;--status-success:#10b981;--status-warning:#f59e0b;--status-danger:#ef4444;--status-info:#0ea5e9;--risk-high:#ef4444;--risk-high-bg:#ef44441a;--risk-med:#f59e0b;--risk-med-bg:#f59e0b1a;--risk-low:#10b981;--risk-low-bg:#10b9811a;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-sm:.375rem;--radius-md:10px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000a, 0 2px 4px -1px #00000003;--shadow-lg:0 10px 15px -3px #00000008, 0 4px 6px -2px #00000003;--glass-bg:#fffc;--glass-border:#e2e8f0cc}.light-theme{--bg-main:#f1f5f9;--bg-card:#fff;--border-color:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b}body:not(.light-theme){--bg-main:#0b0f19;--bg-card:#131a2a;--border-color:#ffffff14;--text-main:#e2e8f0;--text-muted:#94a3b8;--glass-bg:#131a2ad9;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-weight:600}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-primary-hover)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:var(--space-lg);transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.badge{border-radius:var(--radius-full);align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-high{background-color:var(--risk-high-bg);color:var(--risk-high)}.badge-med{background-color:var(--risk-med-bg);color:var(--risk-med)}.badge-low{background-color:var(--risk-low-bg);color:var(--risk-low)}.form-grid{grid-template-columns:repeat(4,1fr)!important;gap:1.5rem 1.75rem!important;margin-bottom:2rem!important;display:grid!important}@media (width<=1024px){.form-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=640px){.form-grid{grid-template-columns:1fr!important}.form-group[style*=grid-column],.form-group[style*=gridColumn]{grid-column:span 1!important}}.form-group{flex-direction:column!important;gap:6px!important;display:flex!important}.form-group label{transition:color .2s;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--text-muted)!important;margin-bottom:2px!important;font-size:.72rem!important;font-weight:700!important}.form-group:focus-within label{color:var(--accent-primary)!important}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-card)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important;border-radius:8px!important;outline:none!important;width:100%!important;padding:12px 16px!important;font-family:inherit!important;font-size:.92rem!important;transition:border-color .2s,box-shadow .2s,background-color .2s!important;box-shadow:inset 0 1px 2px #00000005!important}body:not(.light-theme) .form-group input,body:not(.light-theme) .form-group select,body:not(.light-theme) .form-group textarea{background-color:#ffffff04!important;box-shadow:inset 0 1px 2px #00000026!important}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#2563eb66!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary)!important;background-color:var(--bg-card)!important;box-shadow:0 0 0 4px #2563eb1f!important}.form-group textarea{resize:vertical!important;min-height:90px!important;line-height:1.5!important}.findings-section-divider,.section-divider{border-top:1px solid var(--border-color)!important;margin-top:2rem!important;margin-bottom:2rem!important;padding-top:2rem!important}.finding-card,.agenda-card,.step-card{border:1px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important;background-color:#ffffff04!important;border-radius:12px!important;margin-bottom:1.5rem!important;padding:1.75rem!important;transition:border-color .2s,box-shadow .2s!important}.finding-card:hover,.agenda-card:hover,.step-card:hover{box-shadow:var(--shadow-md)!important;border-color:#2563eb4d!important}.finding-fields-grid{grid-template-columns:repeat(4,1fr)!important;gap:1.25rem!important;display:grid!important}.step-card-grid{grid-template-columns:repeat(3,1fr)!important;gap:1.25rem!important;display:grid!important}@media (width<=1024px){.finding-fields-grid,.step-card-grid{grid-template-columns:repeat(2,1fr)!important}.risk-matrix-picker{grid-column:span 2!important}}@media (width<=768px){.finding-fields-grid,.step-card-grid{grid-template-columns:1fr!important}.finding-fields-grid>div,.step-card-grid>div,.risk-matrix-picker{grid-column:span 1!important}}.risk-picker-card{border:1px solid var(--border-color)!important;background-color:#ffffff03!important;border-radius:12px!important;padding:1.5rem!important}.risk-picker-card h4{color:var(--text-main)!important;margin-bottom:.75rem!important;font-size:.95rem!important;font-weight:600!important}.matrix-btn{border:1px solid var(--border-color)!important;width:36px!important;height:36px!important;color:var(--text-muted)!important;background:0 0!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;font-size:.9rem!important;font-weight:700!important;transition:all .2s!important;display:inline-flex!important}.matrix-btn:hover{border-color:var(--text-main)!important;color:var(--text-main)!important;background-color:#ffffff08!important}.form-footer{border-top:1px solid var(--border-color)!important;justify-content:flex-end!important;gap:1rem!important;margin-top:2rem!important;padding-top:1.5rem!important;display:flex!important}.form-header{border-bottom:1px solid var(--border-color)!important;background:#ffffff03!important;padding:1.5rem 2rem!important}.form-header h2{letter-spacing:-.02em!important;color:var(--text-main)!important;font-size:1.35rem!important;font-weight:700!important}.sidebar{border-right:1px solid var(--border-color);z-index:10;background-color:#fff;flex-direction:column;width:260px;height:100%;transition:all .3s;display:flex}body:not(.light-theme) .sidebar{background-color:#131a2a}.sidebar-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-color)}.logo-box{align-items:center;gap:var(--space-sm);color:var(--accent-primary);display:flex}.logo-icon{filter:drop-shadow(0 0 8px #2563eb4d)}.sidebar-nav{padding:var(--space-md) var(--space-sm);flex:1;overflow-y:auto}.nav-item-container{margin-bottom:var(--space-xs)}.nav-item{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;margin:2px 8px;padding:10px 16px;transition:all .2s;display:flex}.nav-item:hover{color:var(--text-main);background-color:#f8fafc}body:not(.light-theme) .nav-item:hover{background-color:#ffffff05}.nav-item.active{color:#0f172a;background-color:#f1f5f9;font-weight:600}body:not(.light-theme) .nav-item.active{color:#fff;background-color:#ffffff14}.nav-icon{align-items:center;margin-right:12px;display:flex}.nav-title{flex:1;font-size:.9rem;font-weight:500}.nav-chevron{opacity:.6;align-items:center;display:flex}.sub-nav{padding:var(--space-xs) 0 var(--space-sm) 44px;flex-direction:column;display:flex}.sub-nav-item{color:var(--text-muted);padding:6px 0;font-size:.825rem;transition:color .2s;position:relative}.sub-nav-item:before{content:"";background-color:var(--text-muted);opacity:.4;border-radius:50%;width:5px;height:5px;transition:background-color .2s;position:absolute;top:14px;left:-16px}.sub-nav-item:hover{color:var(--text-main)}.sub-nav-item.active{color:var(--accent-primary);font-weight:600}.sub-nav-item.active:before{background-color:var(--accent-primary);opacity:1}.logo-box.custom-logo-active{width:100%;display:block}.logo-img-custom{object-fit:contain;max-width:100%;max-height:48px;display:block}.topbar{padding:0 var(--space-xl);border-bottom:1px solid var(--border-color);z-index:50;border-radius:0;justify-content:space-between;align-items:center;height:70px;display:flex;position:relative}.search-bar{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);align-items:center;width:350px;padding:8px 16px;transition:border-color .2s,box-shadow .2s;display:flex}.search-bar:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633}.search-bar input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;margin-left:8px;font-family:inherit;font-size:.9rem}.topbar-actions{align-items:center;gap:var(--space-md);display:flex}.icon-btn{color:var(--text-muted);border-radius:var(--radius-md);justify-content:center;align-items:center;padding:8px;transition:color .2s;display:flex;position:relative}.icon-btn:hover{color:var(--text-main);background-color:#ffffff0d}.notification-dot{border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.topbar-profile-container{position:relative}.user-profile-trigger{cursor:pointer;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);align-items:center;gap:.75rem;padding:4px 10px 4px 4px;transition:all .2s;display:flex}.user-profile-trigger:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #0000000d}.avatar-badge-circle{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 2px 4px #00000026}.user-meta-header{text-align:left;flex-direction:column;display:flex}.user-name-text{color:var(--text-main);white-space:nowrap;font-size:.88rem;font-weight:600;line-height:1.2}.user-role-text{color:var(--text-muted);font-size:.72rem;font-weight:500}.topbar-dropdown-menu{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-lg);z-index:100;padding:.5rem;animation:.15s ease-out dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0}.dropdown-user-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;margin-bottom:.35rem;padding:.85rem;display:flex}.dropdown-user-info{flex-direction:column;display:flex;overflow:hidden}.dropdown-user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.dropdown-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.dropdown-links{flex-direction:column;gap:.2rem;display:flex}.dropdown-item{border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.dropdown-item:hover{background-color:var(--bg-main);color:var(--accent-primary)}.dropdown-item.danger:hover{color:var(--status-danger);background-color:#ef44441a}.dropdown-divider{background-color:var(--border-color);height:1px;margin:.35rem 0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.layout-container{background-color:var(--bg-card);width:100vw;height:100vh;transition:all .3s;display:flex;overflow:hidden}.main-wrapper{background-color:var(--bg-card);flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content{padding:var(--space-xl);background-color:var(--bg-card);flex:1;position:relative;overflow-y:auto}@media (width<=768px){.main-content{padding:var(--space-md)}}.dashboard-home{max-width:1400px;margin:0 auto}.dashboard-cards-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.dashboard-card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.dashboard-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-primary);transform:translateY(-2px)}.dashboard-card-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dashboard-charts-grid{grid-template-columns:2fr 1fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=1200px){.dashboard-charts-grid{grid-template-columns:1.2fr 1fr}}@media (width<=768px){.dashboard-cards-grid{grid-template-columns:repeat(2,1fr)}.dashboard-charts-grid{grid-template-columns:1fr}}@media (width<=480px){.dashboard-cards-grid{grid-template-columns:1fr}}.recent-actions-card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:2rem;padding:1.75rem}.actions-table-container{margin-top:1.25rem;overflow-x:auto}.actions-table{border-collapse:collapse;text-align:left;width:100%}.actions-table th{border-bottom:2px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:.75rem;font-weight:700}.actions-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:16px;font-size:.88rem}.actions-tr{transition:background-color .2s}.actions-tr:hover{background-color:#ffffff04}.actions-tr:last-child td{border-bottom:none}.jsa-module{max-width:1200px;margin:0 auto}.btn{border-radius:var(--radius-md);justify-content:center;align-items:center;padding:8px 16px;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-primary-hover)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-main);background-color:#0000}.btn-secondary:hover{background-color:#ffffff0d}.btn-back{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:.9rem;transition:background-color .2s}.btn-back:hover{background-color:#ffffff0d}.select-filter{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);outline:none;padding:8px 12px;font-family:inherit;font-size:.9rem}.jsa-table{border-collapse:collapse;text-align:left;width:100%}.jsa-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.jsa-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.jsa-tr{transition:background-color .2s}.jsa-tr:hover{background-color:#ffffff05}.jsa-tr:last-child td{border-bottom:none}.jsa-form-container,.jsa-details-container{border-radius:var(--radius-lg);overflow:hidden}.form-header{padding:var(--space-lg);background-color:#ffffff05}.jsa-form{padding:var(--space-xl)}.form-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{color:var(--text-muted);font-size:.85rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633}.form-group textarea{resize:vertical}.steps-section{border-top:1px solid var(--border-color);padding-top:var(--space-xl);margin-bottom:var(--space-xl)}.step-card{border:1px solid var(--border-color);margin-bottom:var(--space-lg);background-color:#ffffff03}.step-card-header{margin-bottom:var(--space-md)}.btn-delete{color:var(--status-danger);opacity:.7;align-items:center;transition:opacity .2s;display:flex}.btn-delete:hover{opacity:1}.step-card-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=768px){.step-card-grid{grid-template-columns:repeat(3,1fr)}.risk-matrix-picker{grid-column:span 3}}.label-sub{color:var(--text-muted);margin-bottom:2px;font-size:.75rem;display:block}.matrix-row{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:4px;display:inline-flex}.matrix-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.matrix-btn.selected{background-color:var(--accent-primary);color:#fff;box-shadow:0 0 8px #3b82f666}.calculated-score-box{margin-left:var(--space-md);flex-direction:column;justify-content:center;display:flex}.score-display{text-align:center;min-width:90px;margin-top:.25rem;padding:6px 12px;font-size:.85rem;font-weight:700}.form-footer{border-top:1px solid var(--border-color);padding-top:var(--space-lg)}.baseline-module{width:100%}.projects-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem;margin-bottom:2rem;display:grid}.project-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-height:240px;padding:var(--space-lg);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md), 0 4px 20px #2563eb0a;transform:translateY(-2px)}.project-card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.project-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700;line-height:1.4}.project-desc{color:var(--text-muted);margin-bottom:var(--space-lg);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex-grow:1;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-meta-row{gap:var(--space-xs);color:var(--text-muted);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid #ffffff08;grid-template-columns:1.1fr 1fr;font-size:.78rem;display:grid}body.light-theme .project-meta-row{border-bottom-color:#00000008}.project-meta-item{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.project-progress-wrapper{margin-top:auto;margin-bottom:var(--space-md)}.progress-header{justify-content:space-between;margin-bottom:6px;font-size:.75rem;font-weight:600;display:flex}.progress-label{color:var(--text-muted)}.progress-percent{color:var(--accent-primary)}.progress-bar-track{border-radius:var(--radius-sm);background-color:#ffffff0d;width:100%;height:8px;position:relative;overflow:hidden}body.light-theme .progress-bar-track{background-color:#0000000d}.progress-bar-fill{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--accent-primary) 0%, #3b82f6 100%);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill.completed{background:linear-gradient(90deg, var(--status-success) 0%, #10b981 100%)}.project-card-actions{margin-top:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.milestones-count-badge{color:var(--text-muted);border:1px solid var(--border-color);background-color:#ffffff0a;border-radius:12px;padding:3px 8px;font-size:.72rem;font-weight:600}body.light-theme .milestones-count-badge{background-color:#00000005}.project-detail-hero{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-lg);margin-bottom:2rem}.project-detail-meta-grid{gap:var(--space-md);border-top:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem;padding-top:1.5rem;display:grid}.detail-meta-card{flex-direction:column;gap:4px;display:flex}.detail-meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.detail-meta-value{color:var(--text-main);font-size:.95rem;font-weight:600}.milestones-section-header{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:1.25rem;display:flex}.milestones-section-header h3{margin:0;font-size:1.2rem;font-weight:700}.risk-score-indicator{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #00000026}.risk-score-indicator.risk-high{background-color:var(--risk-high)}.risk-score-indicator.risk-med{background-color:var(--risk-med)}.risk-score-indicator.risk-low{background-color:var(--risk-low)}.matrix-row{gap:var(--space-xs);margin-top:var(--space-xs);display:flex}.matrix-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background-color:#ffffff01;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.matrix-btn:hover{color:var(--text-main);background-color:#ffffff08}.matrix-btn.selected{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 4px 10px #2563eb33}.baseline-form-container{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-lg);background-color:var(--bg-card);border:1px solid var(--border-color)}.form-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.risk-picker-card{border:1px solid var(--border-color);padding:var(--space-lg);border-radius:var(--radius-md);background-color:#ffffff01}@media (width<=768px){.project-detail-hero{padding:var(--space-md)}}.meetings-module{max-width:1200px;margin:0 auto}.meetings-table{border-collapse:collapse;text-align:left;width:100%}.meetings-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.meetings-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.meetings-tr{transition:background-color .2s}.meetings-tr:hover{background-color:#ffffff05}.meetings-tr:last-child td{border-bottom:none}.meetings-form-container{border-radius:var(--radius-lg);overflow:hidden}.meetings-form{padding:var(--space-xl)}.section-divider{border-top:1px solid var(--border-color);padding-top:var(--space-xl);margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.agenda-card{border:1px solid var(--border-color);background-color:#ffffff01}.action-fields-grid{gap:var(--space-md);flex-wrap:wrap;display:flex}@media (width<=600px){.action-fields-grid{flex-direction:column}.action-fields-grid .form-group{width:100%!important}}.minutes-paper{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#15181e;max-width:900px;margin:2rem auto;padding:3rem 2.5rem;position:relative;box-shadow:0 10px 30px #00000080}.paper-header{border-bottom:3px double var(--border-color);padding-bottom:var(--space-lg)}.paper-label{text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600;display:block}.paper-val{color:#fff;margin-top:2px;font-size:1rem;font-weight:500}.paper-sec-title{border-bottom:1px solid var(--border-color);color:var(--accent-primary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;font-size:1.1rem}.paper-table th{text-transform:uppercase;letter-spacing:.5px;font-weight:600}.paper-table td{border-bottom:1px solid #ffffff0d}.paper-table tr:last-child td{border-bottom:none}.documents-module{max-width:1200px;margin:0 auto}.tab-btn{padding:12px var(--space-xl);color:var(--text-muted);background:0 0;border-bottom:2px solid #0000;font-size:.95rem;transition:all .2s}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.doc-table{border-collapse:collapse;text-align:left;width:100%}.doc-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.doc-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.doc-tr{transition:background-color .2s}.doc-tr:hover{background-color:#ffffff05}.doc-tr:last-child td{border-bottom:none}.icon-btn-download{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:color .2s,transform .1s;display:inline-flex}.icon-btn-download:hover{color:var(--accent-primary);background-color:#3b82f60d;transform:translateY(-1px)}.icon-btn-download:active{transform:translateY(0)}.doc-form-container{border-radius:var(--radius-lg);overflow:hidden}.file-drop-zone{transition:background-color .2s,border-color .2s}.file-drop-zone:hover{border-color:var(--accent-primary)!important;background-color:#ffffff05!important}.inspections-module{max-width:1200px;margin:0 auto}.inspections-tabs-row{margin-bottom:2rem}.inspections-table{border-collapse:collapse;text-align:left;width:100%}.inspections-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.inspections-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.inspections-tr{transition:background-color .2s}.inspections-tr:hover{background-color:#ffffff05}.inspections-tr:last-child td{border-bottom:none}.inspect-form-container,.inspect-details-container{border-radius:var(--radius-lg);overflow:hidden}.checklist-question-row{border:1px solid var(--border-color);background-color:#ffffff01}.status-select-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-muted);background-color:#0000;justify-content:center;align-items:center;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.status-select-btn:hover{color:var(--text-main);background-color:#ffffff08}.status-select-btn.yes.active{background-color:var(--status-success);border-color:var(--status-success);color:#fff;box-shadow:0 0 10px #10b9814d}.status-select-btn.no.active{background-color:var(--status-danger);border-color:var(--status-danger);color:#fff;box-shadow:0 0 10px #ef44444d}.status-select-btn.na.active{background-color:var(--text-muted);border-color:var(--text-muted);color:#fff}.corrective-action-input{border-left:3px solid var(--status-danger);padding-left:var(--space-md)}.corrective-action-input textarea{border-color:var(--status-danger)!important}.corrective-action-input textarea:focus{box-shadow:0 0 0 2px #ef444433!important}.vfl-module{max-width:1200px;margin:0 auto}.vfl-table{border-collapse:collapse;text-align:left;width:100%}.vfl-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.vfl-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.vfl-tr{transition:background-color .2s}.vfl-tr:hover{background-color:#ffffff05}.vfl-tr:last-child td{border-bottom:none}.vfl-form-container,.vfl-details-container{border-radius:var(--radius-lg);overflow:hidden}.vfl-form{padding:var(--space-xl)}.auditing-module{max-width:1200px;margin:0 auto}.audit-table{border-collapse:collapse;text-align:left;width:100%}.audit-table th{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.audit-table td{padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.95rem}.audit-tr{transition:background-color .2s}.audit-tr:hover{background-color:#ffffff05}.audit-tr:last-child td{border-bottom:none}.audit-form-container,.audit-details-container{border-radius:var(--radius-lg);overflow:hidden}.audit-form{padding:var(--space-xl)}.findings-section-divider{border-top:1px solid var(--border-color);padding-top:var(--space-xl);margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.finding-card{border:1px solid var(--border-color);background-color:#ffffff01}.sharepoint-module{padding:var(--space-md);max-width:1400px}.sp-status-banner{border-radius:var(--radius-md);margin-bottom:var(--space-lg);border:1px solid;align-items:center;gap:.75rem;padding:.75rem 1.1rem;font-size:.875rem;font-weight:500;animation:.4s fadeIn;display:flex}.sp-status-banner.connected{color:var(--status-success);background:#10b98114;border-color:#10b9814d}.sp-status-banner.disconnected{color:var(--status-danger);background:#ef444414;border-color:#ef44444d}.sp-status-banner.loading{border-color:var(--border-color);background:var(--bg-card);color:var(--text-muted)}.sp-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.sp-status-banner.connected .sp-status-dot{animation:2s infinite pulse-green;box-shadow:0 0 0 3px #10b98140}@keyframes pulse-green{0%,to{box-shadow:0 0 0 3px #10b98140}50%{box-shadow:0 0 0 6px #10b9811a}}.sp-stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sp-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1.25rem 1.4rem;transition:transform .2s,box-shadow .2s;display:flex}.sp-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.sp-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sp-stat-icon.blue{color:var(--accent-primary);background:#2563eb1f}.sp-stat-icon.green{color:var(--status-success);background:#10b9811f}.sp-stat-icon.purple{color:var(--accent-secondary);background:#8b5cf61f}.sp-stat-icon.orange{color:var(--status-warning);background:#f59e0b1f}.sp-stat-value{color:var(--text-main);font-size:1.7rem;font-weight:700;line-height:1.1}.sp-stat-label{color:var(--text-muted);margin-top:2px;font-size:.78rem}.sp-content-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.sp-content-grid{grid-template-columns:1fr}}.sp-lists-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sp-panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.sp-panel-header h3{color:var(--text-main);font-size:.95rem;font-weight:600}.sp-panel-header span{color:var(--text-muted);background:var(--bg-main);border-radius:var(--radius-full);border:1px solid var(--border-color);padding:2px 8px;font-size:.75rem}.sp-list-item{border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;transition:background .15s;display:flex}.sp-list-item:last-child{border-bottom:none}.sp-list-item:hover{background:var(--bg-main)}.sp-list-item.selected{border-left:3px solid var(--accent-primary);background:#2563eb0f}.sp-list-name{color:var(--text-main);font-size:.88rem;font-weight:600}.sp-list-desc{color:var(--text-muted);margin-top:2px;font-size:.75rem}.sp-list-badge{color:var(--accent-primary);border-radius:var(--radius-full);white-space:nowrap;background:#2563eb1a;padding:3px 10px;font-size:.78rem;font-weight:700}.sp-chart-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.sp-chart-inner{flex:1;padding:1rem .5rem}.sp-items-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);overflow:hidden}.sp-table-wrapper{overflow-x:auto}.sp-table{border-collapse:collapse;width:100%;font-size:.84rem}.sp-table th{background:var(--bg-main);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.7rem 1rem;font-size:.75rem;font-weight:600}.sp-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:top;padding:.75rem 1rem}.sp-table tr:last-child td{border-bottom:none}.sp-table tr:hover td{background:var(--bg-main)}.sp-pill{border-radius:var(--radius-full);padding:2px 9px;font-size:.72rem;font-weight:600;display:inline-block}.sp-pill.green{color:var(--status-success);background:#10b9811f}.sp-pill.red{color:var(--status-danger);background:#ef44441f}.sp-pill.yellow{color:var(--status-warning);background:#f59e0b1f}.sp-pill.blue{color:var(--accent-primary);background:#2563eb1f}.sp-pill.default{background:var(--bg-main);color:var(--text-muted);border:1px solid var(--border-color)}.sp-skeleton{background:linear-gradient(90deg, var(--border-color) 25%, var(--bg-main) 50%, var(--border-color) 75%);border-radius:var(--radius-sm);background-size:200% 100%;height:16px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sp-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.88rem}.sp-search{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);outline:none;width:220px;padding:.5rem .85rem;font-size:.85rem;transition:border-color .2s}.sp-search:focus{border-color:var(--accent-primary)}.sp-refresh-btn{background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:6px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:background .2s,transform .15s;display:flex}.sp-refresh-btn:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.sp-refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.animate-fade-in{animation:.4s fadeIn}.sp-last-updated{color:var(--text-muted);margin-top:.25rem;font-size:.72rem}.sp-tabs{border-bottom:2px solid var(--border-color);gap:.5rem;padding-bottom:0;display:flex}.sp-tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-2px;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.sp-tab-btn:hover{color:var(--text-main);background:var(--bg-main)}.sp-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:0 0}.sp-tab-header{margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.sp-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sp-date-input{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);outline:none;padding:.4rem .7rem;font-size:.84rem;transition:border-color .2s}.sp-date-input:focus{border-color:var(--accent-primary)}.sp-nav-btn{border:1px solid var(--border-color);background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.sp-nav-btn:hover{background:var(--bg-main);color:var(--text-main)}.sp-nav-btn:disabled{opacity:.4;cursor:not-allowed}.sp-filter-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius-full);cursor:pointer;padding:.35rem .8rem;font-size:.78rem;font-weight:600;transition:all .15s}.sp-filter-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.sp-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.sp-count-badge{background:var(--bg-main);color:var(--text-muted);border:1px solid var(--border-color);border-radius:var(--radius-full);vertical-align:middle;justify-content:center;align-items:center;margin-left:.5rem;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.reports-module{max-width:1000px;margin:0 auto}.report-paper-container{margin-top:var(--space-xl)}.report-sheet-page{border-radius:var(--radius-lg);border:1px solid #d1d5db;color:#1f2937!important;background-color:#fff!important;padding:3rem!important;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008!important}.report-header-title{letter-spacing:.5px;font-size:1.4rem;font-weight:800;color:#111827!important}.report-section-heading{margin-bottom:var(--space-xl);border-bottom:2px solid #e5e7eb;padding-bottom:6px;font-size:1.15rem;font-weight:700;color:#111827!important}.report-sheet-table{border-collapse:collapse;width:100%;margin-top:1rem;margin-bottom:2.5rem}.report-sheet-table th{padding:12px var(--space-md);text-transform:uppercase;text-align:left;border-bottom:2px solid #e5e7eb;font-size:.8rem;font-weight:700;color:#4b5563!important;background-color:#f9fafb!important}.report-sheet-table td{padding:14px var(--space-md);border-bottom:1px solid #e5e7eb;font-size:.9rem;color:#374151!important}.report-sheet-table tr:hover{background-color:#f9fafb!important}.report-sheet-page h4{font-weight:700;color:#111827!important}.report-sheet-page .card{background-color:#f9fafb!important;border-color:#e5e7eb!important}.report-sheet-page .text-main{color:#111827!important}@media print{.sidebar,.topbar,.print-hide,header,footer{display:none!important}body,#root,.dashboard-layout,.dashboard-content,.reports-module{color:#000!important;width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;margin:0!important;padding:0!important;transform:none!important}.report-sheet-page{box-shadow:none!important;border:none!important;width:100%!important;margin:0!important;padding:2cm!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.settings-module{max-width:1100px;margin:0 auto;padding-bottom:3rem}.settings-tabs-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex;overflow-x:auto}.settings-tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.settings-tab-btn:hover{color:var(--text-main)}.settings-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.settings-card{border:1px solid var(--border-color);background-color:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem}.settings-logo-preview{border:1px solid var(--border-color);background-color:#ffffff05}.theme-card{border-radius:var(--radius-md);border:2px solid #0000;transition:all .2s}.theme-card:hover{border-color:var(--border-color);transform:translateY(-2px)}.theme-card.selected{border-color:var(--accent-primary);box-shadow:0 0 15px #3b82f633}.theme-card.selected .text-primary{color:var(--accent-primary);filter:drop-shadow(0 0 4px #3b82f680)}.settings-users-table-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:1rem;overflow-x:auto}.settings-users-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.settings-users-table th{background:var(--bg-main);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:.85rem 1rem;font-size:.75rem;font-weight:600}.settings-users-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.85rem 1rem}.settings-users-table tbody tr:hover{background-color:#2563eb05}.table-user-cell{align-items:center;gap:.75rem;display:flex}.table-user-avatar{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex}.table-user-info{flex-direction:column;display:flex}.table-user-name{color:var(--text-main);font-weight:600}.table-user-handle{color:var(--text-muted);font-size:.75rem}.role-badge-pill{border-radius:var(--radius-full);align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.role-badge-pill.root_admin{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.role-badge-pill.admin{color:#2563eb;background:#2563eb1f;border:1px solid #2563eb4d}.role-badge-pill.supervisor{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b4d}.role-badge-pill.safety_officer{color:#059669;background:#10b9811f;border:1px solid #10b9814d}.role-badge-pill.employee{color:var(--text-muted);background:#64748b1f;border:1px solid #64748b40}.table-actions-row{align-items:center;gap:.35rem;display:flex}.table-action-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.35rem;transition:all .15s;display:inline-flex}.table-action-btn:hover{background-color:var(--bg-main);color:var(--text-main);border-color:var(--border-color)}.table-action-btn.danger:hover{color:var(--status-danger);background-color:#ef44441a}.table-action-btn:disabled{opacity:.3;cursor:not-allowed}.settings-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.settings-modal-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:580px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) scaleIn;position:relative;overflow-y:auto}.settings-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.settings-modal-header h3{color:var(--text-main);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.settings-modal-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.settings-modal-full{grid-column:1/-1}.settings-modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.75rem;padding-top:1rem;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.users-module{padding-bottom:3rem}.users-kpi-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.user-kpi-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:1.25rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex}.user-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.user-kpi-info h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem}.user-kpi-info .kpi-num{color:var(--text-main);font-size:1.6rem;font-weight:700}.users-filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.users-search-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);flex:1;align-items:center;gap:.5rem;min-width:280px;padding:.5rem .85rem;display:flex}.users-search-box input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.users-dropdowns{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.users-dropdowns select{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-main);color:var(--text-main);cursor:pointer;outline:none;padding:.5rem .85rem;font-size:.85rem}.users-dropdowns select:focus{border-color:var(--accent-primary)}.users-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.users-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.users-table th{background:var(--bg-main);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:1rem 1.25rem;font-size:.8rem;font-weight:600}.users-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:1.1rem 1.25rem}.users-table tbody tr:hover{background-color:#2563eb05}.user-identity-cell{align-items:center;gap:.85rem;display:flex}.user-avatar-badge{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 2px 6px #00000026}.user-names{flex-direction:column;display:flex}.user-display-name{color:var(--text-main);align-items:center;gap:.4rem;font-weight:600;display:flex}.user-handle{color:var(--text-muted);font-size:.8rem}.role-pill{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.role-pill.root_admin{color:#8b5cf6;background:linear-gradient(135deg,#8b5cf62e,#d946ef2e);border:1px solid #8b5cf659}.role-pill.admin{color:#2563eb;background:#2563eb1f;border:1px solid #2563eb4d}.role-pill.supervisor{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b4d}.role-pill.safety_officer{color:#059669;background:#10b9811f;border:1px solid #10b9814d}.role-pill.employee{color:var(--text-muted);background:#64748b1f;border:1px solid #64748b40}.status-pill{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.status-pill.active{color:var(--status-success);background-color:#10b9811a;border:1px solid #10b98140}.status-pill.inactive{color:var(--status-danger);background-color:#ef44441a;border:1px solid #ef444440}.status-dot-pulse{background-color:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.user-actions-row{align-items:center;gap:.4rem;display:flex}.action-icon-btn{border-radius:var(--radius-md);color:var(--text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.45rem;transition:all .15s;display:inline-flex}.action-icon-btn:hover{background-color:var(--bg-main);color:var(--text-main);border-color:var(--border-color)}.action-icon-btn.danger:hover{color:var(--status-danger);background-color:#ef44441a;border-color:#ef444440}.action-icon-btn:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) scaleIn;position:relative;overflow-y:auto}.modal-header-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.modal-header-row h3{color:var(--text-main);align-items:center;gap:.5rem;font-size:1.3rem;font-weight:700;display:flex}.modal-form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.modal-form-full{grid-column:1/-1}.modal-footer-row{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.25rem;display:flex}.role-info-banner{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);margin-top:.5rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.4}@media (width<=640px){.modal-form-grid{grid-template-columns:1fr}}.attendance-module{padding:var(--space-lg);max-width:1400px;animation:.4s ease-out forwards fadeIn}.att-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.att-header-left h1{letter-spacing:-.03em;color:var(--text-main);margin-bottom:.25rem;font-size:1.8rem;font-weight:800}.att-header-left p{color:var(--text-muted);font-size:.9rem}.att-drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-card);margin-bottom:1.75rem;padding:3.5rem 2rem;transition:border-color .25s,background-color .25s,box-shadow .25s;position:relative;overflow:hidden}.att-drop-zone:before{content:"";opacity:0;background:radial-gradient(#2563eb0a 0%,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.att-drop-zone:hover,.att-drop-zone.dragging{border-color:var(--accent-primary);background-color:#2563eb08;box-shadow:0 0 0 4px #2563eb1a}.att-drop-zone:hover:before,.att-drop-zone.dragging:before{opacity:1}.att-drop-zone.dragging{border-color:var(--accent-secondary);box-shadow:0 0 0 4px #8b5cf626}.att-drop-icon{background:linear-gradient(135deg,#2563eb26,#8b5cf626);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;transition:transform .3s;display:flex}.att-drop-zone:hover .att-drop-icon{transform:translateY(-4px)}.att-drop-zone h3{color:var(--text-main);margin-bottom:.4rem;font-size:1.1rem;font-weight:700}.att-drop-zone p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.85rem}.att-drop-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.att-upload-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:var(--radius-full);cursor:pointer;pointer-events:none;border:none;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:.875rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #2563eb4d}.att-drop-zone:hover .att-upload-btn{transform:translateY(-2px);box-shadow:0 8px 20px #2563eb66}.att-formats{color:var(--text-muted);justify-content:center;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.78rem;display:flex}.att-format-tag{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);padding:1px 7px;font-family:monospace;font-size:.72rem;font-weight:600}.att-file-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding:.75rem 1rem;display:flex}.att-file-bar-left{align-items:center;gap:.75rem;display:flex}.att-file-icon-wrap{background:#10b9811f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.att-file-name{color:var(--text-main);font-size:.9rem;font-weight:600}.att-file-meta{color:var(--text-muted);font-size:.78rem}.att-clear-btn{color:var(--status-danger);border-radius:var(--radius-sm);cursor:pointer;background:#ef44440f;border:1px solid #ef44444d;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.att-clear-btn:hover{background:#ef444424;border-color:#ef444480}.att-kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem;display:grid}@media (width<=1100px){.att-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.att-kpi-grid{grid-template-columns:1fr}}.att-kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.att-kpi-card:after{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--kpi-accent,var(--accent-primary));height:3px;position:absolute;top:0;left:0;right:0}.att-kpi-card:hover{box-shadow:var(--shadow-lg);border-color:var(--kpi-accent,var(--accent-primary));transform:translateY(-3px)}.att-kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.att-kpi-body{flex:1}.att-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.25rem;font-size:.72rem;font-weight:700}.att-kpi-value{color:var(--text-main);letter-spacing:-.04em;font-size:1.8rem;font-weight:800;line-height:1}.att-kpi-sub{color:var(--text-muted);margin-top:.25rem;font-size:.78rem}.att-kpi-sub strong{color:var(--kpi-accent,var(--accent-primary))}.att-tabs{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding:.35rem;display:flex}.att-tab-btn{min-width:130px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:background .2s,color .2s;display:flex}.att-tab-btn:hover{background:var(--bg-main);color:var(--text-main)}.att-tab-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 10px #2563eb4d}.att-tab-badge{background:#ffffff40;border-radius:99px;padding:1px 6px;font-size:.7rem;font-weight:700}.att-tab-btn:not(.active) .att-tab-badge{background:var(--bg-main);color:var(--text-muted)}.att-charts-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.75rem;display:grid}@media (width<=900px){.att-charts-grid{grid-template-columns:1fr}}.att-chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem}.att-chart-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.att-chart-title{color:var(--text-main);font-size:.9rem;font-weight:700}.att-chart-sub{color:var(--text-muted);font-size:.75rem}.att-chart-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.att-chart-card.full-width{grid-column:1/-1}.att-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.att-section-title{color:var(--text-main);font-size:1rem;font-weight:700}.att-search-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.45rem .85rem;transition:border-color .2s,box-shadow .2s;display:flex}.att-search-box:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.att-search-box input{width:200px;color:var(--text-main)!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important;font-size:.85rem!important}.att-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto}.att-table{border-collapse:collapse;width:100%;font-size:.85rem}.att-table thead tr{background:var(--bg-main);border-bottom:1px solid var(--border-color)}.att-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;font-size:.72rem;font-weight:700;transition:color .2s}.att-table thead th:hover{color:var(--text-main)}.att-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .15s}.att-table tbody tr:last-child{border-bottom:none}.att-table tbody tr:hover{background:var(--bg-main)}.att-table tbody td{color:var(--text-main);padding:.8rem 1rem}.att-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:.3rem;padding:3px 9px;font-size:.73rem;font-weight:700;display:inline-flex}.att-badge-danger{color:var(--status-danger);background:#ef44441f}.att-badge-warning{color:var(--status-warning);background:#f59e0b1f}.att-badge-success{color:var(--status-success);background:#10b9811f}.att-badge-info{color:var(--status-info);background:#0ea5e91f}.att-badge-purple{color:var(--accent-secondary);background:#8b5cf61f}.att-severity-bar{align-items:center;gap:.5rem;display:flex}.att-bar-bg{background:var(--bg-main);border-radius:var(--radius-full);flex:1;min-width:60px;height:6px;overflow:hidden}.att-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .6s}.att-bar-label{color:var(--text-muted);text-align:right;min-width:28px;font-size:.75rem;font-weight:600}.att-empty{text-align:center;color:var(--text-muted);padding:4rem 2rem}.att-empty-icon{background:var(--bg-main);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.att-empty h3{color:var(--text-main);margin-bottom:.35rem;font-size:1rem;font-weight:700}.att-row-late{border-left:3px solid var(--status-warning)}.att-row-overwork{border-left:3px solid var(--accent-secondary)}.att-row-absent{border-left:3px solid var(--status-danger)}.att-pagination{border-top:1px solid var(--border-color);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.att-page-btns{gap:.25rem;display:flex}.att-page-btn{border:1px solid var(--border-color);background:var(--bg-card);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.att-page-btn:hover{background:var(--bg-main);border-color:var(--accent-primary);color:var(--accent-primary)}.att-page-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.att-page-btn:disabled{opacity:.4;cursor:not-allowed}.att-threshold-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:.65rem 1.1rem;font-size:.82rem;display:flex}.att-threshold-bar label{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.att-threshold-input{text-align:center;width:62px;border:1px solid var(--border-color)!important;background:var(--bg-main)!important;color:var(--text-main)!important;border-radius:6px!important;padding:3px 8px!important;font-size:.82rem!important}.att-threshold-input:focus{border-color:var(--accent-primary)!important;outline:none!important;box-shadow:0 0 0 3px #2563eb1a!important}.att-date-filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.6rem 1rem;display:flex}.att-preset-btn{border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 12px;font-size:.78rem;font-weight:600;transition:all .18s}.att-preset-btn:hover{background:var(--bg-main);color:var(--text-main);border-color:var(--accent-primary)}.att-preset-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 2px 8px #2563eb4d}.att-date-input{border:1px solid var(--border-color)!important;background:var(--bg-main)!important;color:var(--text-main)!important;border-radius:6px!important;outline:none!important;padding:4px 10px!important;font-size:.8rem!important;transition:border-color .2s,box-shadow .2s!important}.att-date-input:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px #2563eb1a!important}.att-colmap-select{border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-main);border-radius:6px;outline:none;width:100%;padding:5px 8px;font-size:.8rem;transition:border-color .2s,box-shadow .2s}.att-colmap-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.att-dashboard-switch-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;padding:.35rem;display:flex}.att-dashboard-switch-btn{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.6rem 1.15rem;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.att-dashboard-switch-btn:hover{background:var(--bg-main);color:var(--text-main)}.att-dashboard-switch-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 14px #2563eb4d}.att-dashboard-switch-btn.active.hours-mode{background:linear-gradient(135deg,#1e40af 0%,#6d28d9 100%);border-color:#6d28d9;box-shadow:0 4px 14px #6d28d959}.switch-text{flex-direction:column;display:flex}.switch-title{font-size:.88rem;font-weight:700;line-height:1.2}.switch-sub{opacity:.8;font-size:.7rem;font-weight:500}.att-pill-badge{color:#fff;background:#ffffff40;border-radius:99px;padding:2px 7px;font-size:.7rem;font-weight:800;line-height:1}.att-pill-badge.amber{color:#fff;background:#f59e0b}.att-config-strip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.55rem 1rem;display:flex}.att-config-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;display:flex}.att-config-items{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.att-config-items label{color:var(--text-main);cursor:pointer;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.att-callout-feed-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;padding:1.25rem}.att-callout-feed-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.att-callout-header-left{align-items:center;gap:.75rem;display:flex}.att-pulse-indicator{background:#ef4444;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:2s infinite pulseRed;box-shadow:0 0 #ef4444b3}@keyframes pulseRed{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.att-callout-header-left h3{color:var(--text-main);margin-bottom:.15rem;font-size:1.05rem;font-weight:700}.att-callout-header-left p{color:var(--text-muted);font-size:.8rem}.att-callout-filter-strip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.att-mini-search{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.4rem;padding:.35rem .65rem;display:flex}.att-mini-search input{width:160px;color:var(--text-main)!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important;font-size:.78rem!important}.att-pill-filters{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.att-pill-filter-btn{border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border-color);background:var(--bg-main);cursor:pointer;white-space:nowrap;padding:3px 9px;font-size:.73rem;font-weight:600;transition:all .15s}.att-pill-filter-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.att-pill-filter-btn.active{background:var(--text-main);color:var(--bg-card);border-color:var(--text-main);box-shadow:0 1px 4px #00000026}.att-callout-cards-grid{grid-template-columns:repeat(3,1fr);gap:.9rem;display:grid}@media (width<=1200px){.att-callout-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.att-callout-cards-grid{grid-template-columns:1fr}}.att-anomaly-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;gap:.65rem;padding:.9rem 1rem;transition:transform .2s,box-shadow .2s;display:flex}.att-anomaly-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.att-anomaly-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.att-anomaly-user{align-items:center;gap:.5rem;display:flex}.att-user-avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:800;display:flex}.att-user-name{color:var(--text-main);font-size:.88rem;font-weight:700;line-height:1.2;display:block}.att-user-dept{color:var(--text-muted);font-size:.72rem;display:block}.att-anomaly-timing{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.att-anomaly-date{color:var(--text-muted);font-size:.74rem;font-weight:600}.att-anomaly-hours-badge{border-radius:4px;margin-top:2px;padding:1px 6px;font-size:.72rem;font-weight:800;display:inline-block}.att-anomaly-message{color:var(--text-main);background:#00000005;border-radius:6px;padding:.5rem .65rem;font-size:.83rem;font-weight:500;line-height:1.45}.att-anomaly-footer{border-top:1px dashed var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.4rem;font-size:.76rem;display:flex}.att-shift-times{color:var(--text-muted);align-items:center;gap:.35rem;display:flex}.att-shift-times strong{color:var(--text-main)}.att-empty-callout{text-align:center;color:var(--text-muted);flex-direction:column;grid-column:1/-1;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.9rem;display:flex}.att-callout-footer-notice{color:var(--text-muted);text-align:center;margin-top:.85rem;font-size:.78rem}.att-global-filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1.15rem;display:flex}.att-filter-group{align-items:center;gap:.65rem;display:flex}.att-filter-group.employee-group{flex:1;min-width:260px}.att-filter-group.date-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.att-filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.att-employee-select-wrap{align-items:center;width:100%;max-width:380px;display:flex;position:relative}.att-employee-select{cursor:pointer;width:100%;border:1px solid var(--border-color)!important;background:var(--bg-main)!important;color:var(--text-main)!important;border-radius:var(--radius-md)!important;outline:none!important;padding:.45rem 2rem .45rem .75rem!important;font-size:.84rem!important;font-weight:600!important;transition:all .2s!important}.att-employee-select:hover,.att-employee-select:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px #2563eb1f!important}.att-employee-select.active-filter{border-color:var(--accent-primary)!important;color:var(--accent-primary)!important;background:#2563eb0f!important}.att-clear-filter-mini{color:var(--status-danger);cursor:pointer;background:#ef44441f;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex;position:absolute;right:8px}.att-clear-filter-mini:hover{background:var(--status-danger);color:#fff}.att-filter-divider{background:var(--border-color);width:1px;height:28px}@media (width<=900px){.att-filter-divider{display:none}}.att-preset-pills{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.att-date-inputs-wrap{align-items:center;gap:.4rem;display:flex}.att-employee-spotlight-dossier{border:2px solid var(--accent-primary);border-radius:var(--radius-lg);background:linear-gradient(135deg,#2563eb0d 0%,#8b5cf60f 100%);margin-bottom:1.75rem;padding:1.5rem;box-shadow:0 8px 24px #2563eb1f}.att-spotlight-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.att-spotlight-left{align-items:center;gap:1rem;display:flex}.att-spotlight-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.25rem;font-weight:800;display:flex;box-shadow:0 4px 12px #2563eb59}.att-spotlight-details h2{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:800;display:inline-block}.att-spotlight-name-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.att-spotlight-dept-badge{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);border-radius:6px;padding:2px 8px;font-size:.76rem;font-weight:700}.att-spotlight-id{color:var(--text-muted);font-family:monospace;font-size:.76rem;font-weight:600}.att-spotlight-subtext{color:var(--text-muted);margin-top:.2rem;font-size:.82rem}.att-spotlight-actions{align-items:center;gap:.5rem;display:flex}.att-spotlight-close-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.att-spotlight-close-btn:hover{background:var(--bg-main);border-color:var(--accent-primary);color:var(--accent-primary)}.att-spotlight-metrics-grid{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);background:#0f172a99;border:1px solid #ffffff14;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.75rem;padding:.9rem;display:grid}@media (width<=1200px){.att-spotlight-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (width<=680px){.att-spotlight-metrics-grid{grid-template-columns:repeat(2,1fr)}}.att-spotlight-metric-item{border-right:1px solid #ffffff0f;flex-direction:column;min-width:0;padding:.5rem .75rem;display:flex}.att-spotlight-metric-item:last-child{border-right:none}.metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem;font-weight:700}.metric-val{color:var(--text-main);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.2rem 0;font-size:1.35rem;font-weight:800;line-height:1.2}.metric-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.clickable-user,.clickable-user-cell{cursor:pointer;transition:opacity .15s}.clickable-user:hover,.clickable-user-cell:hover{opacity:.85}.user-link{-webkit-text-decoration:underline dotted #0000;text-decoration:underline dotted #0000;transition:all .15s;color:var(--accent-primary)!important}.clickable-user:hover .user-link,.clickable-user-cell:hover .user-link{text-decoration:underline;color:var(--accent-primary-hover)!important}.att-table-wrap::-webkit-scrollbar{width:6px;height:6px}.att-table-wrap::-webkit-scrollbar-track{background:#0000001f;border-radius:4px}.att-table-wrap::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.att-table-wrap::-webkit-scrollbar-thumb:hover{background:#ffffff47}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.fatigue-kpi-ribbon{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.fatigue-ribbon-card{border-radius:var(--radius-md,10px);background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff14);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:1rem;padding:.9rem 1.1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.fatigue-ribbon-card:hover{border-color:#fff3;transform:translateY(-2px)}.fatigue-ribbon-card.active{box-shadow:0 0 0 2px var(--accent-primary,#2563eb);border-color:var(--accent-primary,#2563eb)}.fatigue-ribbon-card .ribbon-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.fatigue-ribbon-card.danger .ribbon-icon{color:var(--status-danger,#ef4444);background:#ef444426}.fatigue-ribbon-card.warning .ribbon-icon{color:var(--status-warning,#f59e0b);background:#f59e0b26}.fatigue-ribbon-card.success .ribbon-icon{color:var(--status-success,#10b981);background:#10b98126}.fatigue-ribbon-card.neutral .ribbon-icon{color:var(--accent-primary,#2563eb);background:#2563eb26}.fatigue-ribbon-card .ribbon-body{flex-direction:column;display:flex}.fatigue-ribbon-card .ribbon-num{color:var(--text-main,#f8fafc);font-size:1.45rem;font-weight:800;line-height:1.1}.fatigue-ribbon-card.danger .ribbon-num{color:var(--status-danger,#ef4444)}.fatigue-ribbon-card.warning .ribbon-num{color:var(--status-warning,#f59e0b)}.fatigue-ribbon-card.success .ribbon-num{color:var(--status-success,#10b981)}.fatigue-ribbon-card .ribbon-label{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:.74rem;font-weight:600}.fatigue-week-select-wrap{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-md,8px);align-items:center;padding:.35rem .75rem;display:inline-flex}.att-week-select{color:var(--text-main,#f8fafc);cursor:pointer;background:0 0;border:none;outline:none;font-size:.82rem;font-weight:600}.att-week-select option{background:var(--bg-card,#1e293b);color:var(--text-main,#f8fafc)}.fatigue-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.fatigue-pills{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fatigue-pill{border:1px solid var(--border-color,#ffffff1a);background:var(--bg-card,#1e293b);color:var(--text-muted,#94a3b8);border-radius:var(--radius-full,9999px);cursor:pointer;padding:.35rem .8rem;font-size:.78rem;font-weight:600;transition:all .2s}.fatigue-pill:hover{color:var(--text-main,#f8fafc);border-color:#ffffff4d}.fatigue-pill.active{background:var(--accent-primary,#2563eb);border-color:var(--accent-primary,#2563eb);color:#fff}.fatigue-pill.pill-flagged.active{color:#fff;background:#dc2626;border-color:#dc2626}.fatigue-pill.pill-severe.active{background:var(--status-danger,#ef4444);border-color:var(--status-danger,#ef4444);color:#fff}.fatigue-pill.pill-warning.active{background:var(--status-warning,#f59e0b);border-color:var(--status-warning,#f59e0b);color:#fff}.fatigue-pill.pill-normal.active{background:var(--status-success,#10b981);border-color:var(--status-success,#10b981);color:#fff}.fatigue-daily-chips{gap:4px;display:inline-flex}.fatigue-day-chip{border:1px solid var(--border-color,#ffffff14);background:#ffffff0a;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:25px;height:33px;font-size:.62rem;transition:all .15s;display:inline-flex}.fatigue-day-chip .chip-day{color:var(--text-muted,#94a3b8);font-size:.52rem;font-weight:700;line-height:1}.fatigue-day-chip .chip-hrs{color:var(--text-main,#f8fafc);font-weight:700;line-height:1.2}.fatigue-day-chip.zero{opacity:.3}.fatigue-day-chip.long{background:#ef444426;border-color:#ef444466}.fatigue-day-chip.long .chip-hrs{color:var(--status-danger,#ef4444)}.fatigue-day-chip.wknd:not(.zero){background:#8b5cf614;border-color:#8b5cf673}.att-table.fatigue-table{table-layout:auto;width:100%}.att-table.fatigue-table thead th{letter-spacing:.04em;white-space:nowrap;padding:.65rem .55rem;font-size:.69rem}.att-table.fatigue-table tbody td{padding:.55rem;font-size:.8rem}.att-week-tag{border:1px solid var(--border-color,#ffffff1a);color:var(--text-muted,#94a3b8);white-space:nowrap;background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:.73rem;font-weight:600;display:inline-block}.fatigue-hours-cell{flex-direction:column;gap:4px;display:flex}.fatigue-hours-val{color:var(--text-main,#f8fafc);font-size:.82rem}.fatigue-meter-track{background:#ffffff14;border-radius:9999px;width:100%;height:6px;position:relative;overflow:visible}.fatigue-meter-fill{border-radius:9999px;height:100%;transition:width .3s}.fatigue-meter-fill.normal{background:var(--status-success,#10b981)}.fatigue-meter-fill.elevated{background:var(--accent-secondary,#8b5cf6)}.fatigue-meter-fill.warning,.fatigue-meter-fill.high_warning{background:var(--status-warning,#f59e0b)}.fatigue-meter-fill.severe{background:var(--status-danger,#ef4444)}.fatigue-meter-fill.underwork{background:var(--text-muted,#94a3b8)}.fatigue-meter-marker{z-index:2;border-radius:1px;width:2px;position:absolute;top:-2px;bottom:-2px}.fatigue-meter-marker.normal-limit{background:#10b981b3}.fatigue-meter-marker.severe-limit{background:#ef4444d9}.att-micro-badge{border-radius:4px;padding:1px 4px;font-size:.65rem;font-weight:700}.att-micro-badge.weekend{color:var(--accent-secondary,#a78bfa);background:#8b5cf62e}@keyframes fatiguePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.02)}}.fatigue-badge-pulse{animation:2s ease-in-out infinite fatiguePulse}.row-severe-burnout{background:#ef44440a}.row-burnout-warning{background:#f59e0b08}.fatigue-action-btns{white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.att-action-link-btn{border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-md,6px);color:var(--accent-primary,#3b82f6);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:3px;padding:3px 8px;font-size:.73rem;font-weight:600;transition:all .2s;display:inline-flex}.att-action-link-btn:hover{border-color:var(--accent-primary,#3b82f6);background:#2563eb1f}.att-action-link-btn.secondary{color:var(--text-muted,#94a3b8);border-color:#ffffff1f}.att-action-link-btn.secondary:hover{color:var(--text-main,#f8fafc);background:#ffffff0f;border-color:#ffffff40}.att-action-link-btn.whatsapp{color:#25d366;background:#25d36614;border-color:#25d36659}.att-action-link-btn.whatsapp:hover{background:#25d3662e;border-color:#25d366}.fatigue-export-btn{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);color:var(--text-main,#f8fafc);border-radius:var(--radius-md,8px);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:.38rem .75rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.fatigue-export-btn:hover{background:#ffffff14;border-color:#ffffff40}.fatigue-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.fatigue-modal-card{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-lg,12px);flex-direction:column;width:100%;max-width:840px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px -10px #0009}.fatigue-modal-header{border-bottom:1px solid var(--border-color,#ffffff14);background:#ffffff05;justify-content:space-between;align-items:center;padding:1.15rem 1.5rem;display:flex}.fatigue-modal-title{color:var(--text-main,#f8fafc);align-items:center;font-size:1.12rem;font-weight:800;display:flex}.fatigue-modal-sub{color:var(--text-muted,#94a3b8);margin-top:3px;font-size:.8rem}.att-modal-close{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s}.att-modal-close:hover{color:var(--text-main,#f8fafc);background:#ffffff1a}.fatigue-modal-summary-ribbon{background:var(--bg-main,#0f172a);border-bottom:1px solid var(--border-color,#ffffff14);grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.9rem 1.5rem;display:grid}.fatigue-modal-summary-ribbon .ribbon-item{flex-direction:column;display:flex}.fatigue-modal-summary-ribbon .ribbon-item .lbl{color:var(--text-muted,#94a3b8);text-transform:uppercase;margin-bottom:2px;font-size:.68rem;font-weight:600}.fatigue-modal-summary-ribbon .ribbon-item .val{color:var(--text-main,#f8fafc);font-size:1.1rem;font-weight:800}.fatigue-advisory-alert{border-radius:8px;align-items:flex-start;gap:.85rem;margin:1rem 1.5rem .5rem;padding:.85rem 1rem;display:flex}.fatigue-advisory-alert.severe{color:var(--status-danger,#ef4444);background:#ef44441f;border:1px solid #ef444459}.fatigue-advisory-alert.warning{color:var(--status-warning,#f59e0b);background:#f59e0b1f;border:1px solid #f59e0b59}.fatigue-advisory-alert p{color:var(--text-main,#f8fafc);margin-top:3px;font-size:.8rem;line-height:1.4}.fatigue-modal-table-wrap{flex:1;padding:.75rem 1.5rem;overflow-y:auto}.fatigue-modal-footer{border-top:1px solid var(--border-color,#ffffff14);background:#ffffff05;justify-content:flex-end;align-items:center;gap:.75rem;padding:.9rem 1.5rem;display:flex}.att-modal-close-btn{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff26);color:var(--text-main,#f8fafc);border-radius:var(--radius-md,6px);cursor:pointer;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s}.att-modal-close-btn:hover{background:#ffffff1a}.login-page-container{background-color:var(--bg-main);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1.25rem;display:flex;position:relative;overflow:hidden}.login-bg-glow-1{filter:blur(50px);pointer-events:none;background:radial-gradient(circle,#2563eb2e 0%,#2563eb00 70%);border-radius:50%;width:440px;height:440px;animation:10s ease-in-out infinite alternate floatGlow;position:absolute;top:-100px;right:-80px}.login-bg-glow-2{filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#8b5cf626 0%,#8b5cf600 70%);border-radius:50%;width:500px;height:500px;animation:12s ease-in-out infinite alternate-reverse floatGlow;position:absolute;bottom:-120px;left:-90px}.login-bg-grid{pointer-events:none;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(#ffffff06 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.light-theme .login-bg-grid{background-image:linear-gradient(90deg,#00000008 1px,#0000 1px),linear-gradient(#00000008 1px,#0000 1px)}@keyframes floatGlow{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.08)}}.login-theme-toggle{z-index:10;position:absolute;top:1.25rem;right:1.25rem}.login-theme-btn{border:1px solid var(--border-color);background:var(--bg-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.login-theme-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.login-card{background:var(--bg-card);border:1px solid var(--border-color);z-index:2;border-radius:20px;width:100%;max-width:365px;padding:2.25rem 2rem 1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 20px 45px -12px #00000040,0 0 0 1px #ffffff0a}.login-card-top-glow{background:linear-gradient(90deg, transparent, var(--accent-primary), var(--accent-secondary), transparent);border-radius:99px;height:2px;position:absolute;top:0;left:15%;right:15%}.login-header{justify-content:center;align-items:center;margin-bottom:2rem;padding-top:.25rem;display:flex}.login-logo-container{justify-content:center;align-items:center;width:100%;max-width:220px;min-height:52px;transition:transform .2s;display:flex}.login-logo-container:hover{transform:scale(1.02)}.login-brand-logo{object-fit:contain;filter:drop-shadow(0 2px 8px #00000026);width:auto;max-width:220px;height:auto;max-height:52px}.login-logo-fallback{justify-content:center;align-items:center;padding:.5rem;display:flex}.login-error-alert{color:#ef4444;border-radius:var(--radius-sm);background:#ef444414;border:1px solid #ef444440;align-items:center;gap:.5rem;margin-bottom:1.15rem;padding:.55rem .8rem;font-size:.78rem;font-weight:600;animation:.3s ease-in-out shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.login-form{flex-direction:column;gap:1.1rem;display:flex}.login-input-group{flex-direction:column;gap:.38rem;display:flex;position:relative}.login-input-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.74rem;font-weight:700}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);pointer-events:none;transition:color .2s;position:absolute;left:.85rem}.login-input{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);padding:.68rem .85rem .68rem 2.45rem;font-size:.88rem;font-weight:500;transition:all .2s}.login-input:focus{border-color:var(--accent-primary);background-color:var(--bg-card);outline:none;box-shadow:0 0 0 3px #2563eb1f}.login-input:focus+.login-input-icon,.login-input-wrapper:focus-within .login-input-icon{color:var(--accent-primary)}.login-input.has-error{background-color:#ef444405;border-color:#ef4444}.login-toggle-pw{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:color .18s;display:flex;position:absolute;right:.7rem}.login-toggle-pw:hover{color:var(--text-main)}.login-remember-row{justify-content:space-between;align-items:center;margin-top:-.15rem;font-size:.78rem;display:flex}.login-remember-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.78rem;font-weight:500;display:flex}.login-remember-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-primary);width:14px;height:14px}.login-submit-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.35rem;padding:.74rem 1rem;font-size:.9rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 14px #2563eb52}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 6px 18px #2563eb66}.login-submit-btn:hover:not(:disabled) .login-arrow-icon{transform:translate(3px)}.login-arrow-icon{transition:transform .2s}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-spinner-text{font-size:.85rem;font-weight:600}.login-footer-info{border-top:1px solid var(--border-color);color:var(--text-muted);justify-content:center;align-items:center;gap:.4rem;margin-top:1.4rem;padding-top:.9rem;font-size:.72rem;font-weight:600;display:flex}
