.App header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:row;justify-content:space-between;padding:.5rem 1rem}ul.menu{list-style:none}ul.menu li{display:inline;padding:12px}ul.menu a{color:#fff}.page{text-align:center}button{background-color:#6200ee;border:none;color:#fff;cursor:pointer;font-weight:700;padding:12px 16px;text-transform:uppercase}button:hover{background-color:#3700b3}.warning{border:5px solid red;border-radius:15px;margin:24px auto;width:800px}.warning h1{background-color:red;color:#fff;font-size:48px;line-height:96px;margin-top:0}.warning h1,.warning h2{text-transform:uppercase}.warning h2{font-size:36px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f9fafb;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-container{display:flex;min-height:100vh}.sidebar{background:#222;border-right:1px solid #e5e7eb;height:100vh;left:0;overflow-x:hidden;padding:1rem;position:fixed;top:0;transition:width .3s ease;width:256px}.sidebar.collapsed{width:80px}.sidebar-toggle{align-items:center;background:#ffffff1a;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-bottom:1rem;padding:.5rem;transition:all .2s;width:100%}.sidebar-toggle:hover{background:#fff3}.logo{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem;transition:all .3s ease}.logo-icon,.sidebar.collapsed .logo{justify-content:center}.logo-icon{align-items:center;background:#fff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:48px;overflow:hidden;width:48px}.logo-image{border-radius:50%;height:100%;object-fit:contain;width:100%}.logo-text{color:#fff;font-weight:600}.menu-header{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.menu-item{align-items:center;border-radius:.375rem;color:#d1d5db;cursor:pointer;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;position:relative;text-decoration:none;transition:all .2s;white-space:nowrap}.sidebar.collapsed .menu-item{justify-content:center;padding:.75rem}.sidebar.collapsed .menu-item span{display:none}.menu-item.active{background:#ce2028;color:#fff}.menu-item:hover:not(.active){background:#1f2937;color:#fff}.menu-icon{flex-shrink:0;height:20px;width:20px}.main-content{flex:1 1;margin-left:256px;margin-top:-90px;padding:1rem 2rem;transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:80px}.header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.header-text h1{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.header-text p{color:#6b7280}.header-actions{align-items:center;gap:.75rem}.download-btn{background:#ce2028;border-radius:.5rem;color:#fff;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.download-btn:hover{background:#a01a20;box-shadow:0 4px 6px -1px #ce20284d}.team-dashboard-btn{align-items:center;background:#000;border-radius:.5rem;color:#fff;display:flex;font-size:14px;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.team-dashboard-btn:hover{background:#1f2937}.search-filters{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.search-icon{color:#9ca3af;height:20px;width:20px}.search-input{border-radius:.5rem}.search-input:focus{border-color:#ce2028;box-shadow:0 0 0 3px #ce20281a}.filter-select{border:1px solid #d1d5db;border-radius:.5rem;padding:12px 16px}.filter-select:focus{border-color:#ce2028;box-shadow:0 0 0 3px #ce20281a}.department-section{margin-bottom:2rem}.department-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.department-info{align-items:center;display:flex;gap:.75rem}.department-icon{align-items:center;background:#fee2e2;border-radius:.25rem;display:flex;height:32px;justify-content:center;width:32px}.department-icon-inner{background:#ce2028;border-radius:.125rem;height:16px;width:16px}.department-title{color:#000;font-size:1.25rem;font-weight:600}.manager-info{color:#6b7280;font-size:14px;gap:.25rem}.member-count{color:#4b5563;font-size:14px;font-weight:500}.member-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.member-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.member-card:hover{border-color:#ce2028;box-shadow:0 4px 6px -1px #ce20281a}.member-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.member-info{gap:.75rem}.avatar,.member-info{align-items:center;display:flex}.avatar{background:#ce2028;border-radius:50%;color:#fff;font-size:18px;height:48px;justify-content:center;width:48px}.member-details h3{color:#000;font-weight:600;margin-bottom:.25rem}.member-details p{color:#6b7280;font-size:14px;margin:0}.status-badge{border-radius:9999px;padding:.25rem .5rem}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#fee2e2;color:#991b1b}.status-away{background:#fef3c7;color:#92400e}.member-metadata{display:flex;flex-direction:column;font-size:14px;gap:.5rem}.metadata-row{display:flex;justify-content:space-between}.metadata-label{color:#6b7280}.metadata-value{color:#111827}.manager-section{margin-bottom:3rem}.manager-header{background:#f8fafc;border-left:4px solid #ce2028;border-radius:.5rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.manager-header,.manager-info{align-items:center;display:flex}.manager-info{gap:.75rem}.manager-icon{align-items:center;background:#ce2028;border-radius:.5rem;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.manager-title{color:#000;font-size:1.5rem;font-weight:700}.department-count{background:#fff;border:1px solid #e5e7eb;border-radius:9999px;color:#6b7280;font-size:14px;font-weight:500;padding:.5rem 1rem}.departments-container{margin-left:2rem}.view-toggle{background:#fff;border:1px solid #d1d5db;border-radius:.5rem}.view-toggle-btn{background:#fff;color:#6b7280;gap:.5rem;padding:12px 16px}.view-toggle-btn:hover{background:#f9fafb}.view-toggle-btn.active{background:#ce2028}.member-list{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.member-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#000;font-size:14px;padding:1rem}.member-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:1rem}.member-table tr:hover{background:#fef7f7}.list-member-info{gap:.75rem}.avatar-small{background:#ce2028;flex-shrink:0}.list-member-name{color:#000;margin-bottom:.25rem}.list-member-email{color:#6b7280}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.main-content{margin-left:0;padding:1rem}.search-filters{align-items:stretch;flex-direction:column}.header{flex-direction:column;gap:1rem}.header-actions{flex-direction:column;gap:.5rem;width:100%}.download-btn,.team-dashboard-btn{justify-content:center;width:100%}.departments-container{margin-left:0}.manager-header{align-items:flex-start;flex-direction:column;gap:1rem}.member-table{font-size:12px}.member-table td,.member-table th{padding:.5rem}.view-toggle{width:100%}.view-toggle-btn{flex:1 1;justify-content:center}}.modal-content{border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a}.modal-header{background:#ce2028;border-radius:.5rem .5rem 0 0;color:#fff;padding:1.5rem}.modal-header h3{color:#fff;font-size:1.125rem}.modal-close{background:none;border:none;border-radius:.25rem;color:#fff;cursor:pointer;padding:.5rem;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#000;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:.375rem;font-size:14px;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#ce2028;box-shadow:0 0 0 3px #ce20281a;outline:none}.modal-actions{gap:.75rem;padding-top:1rem}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:14px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-save{background:#ce2028;border:none;border-radius:.375rem;cursor:pointer;font-size:14px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-save:hover:not(:disabled){background:#a01a20}.btn-save:disabled{cursor:not-allowed;opacity:.5}.editable-field{align-items:center;border-radius:.25rem;cursor:pointer;display:inline-flex;gap:.5rem;padding:.25rem .5rem;position:relative;transition:all .2s}.editable-field:hover{background:#fef7f7}.edit-icon{color:#ce2028;opacity:0;transition:opacity .2s}.editable-field:hover .edit-icon{opacity:1}.delete-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#dc2626;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.delete-btn:hover{background:#fee2e2;color:#991b1b}.delete-modal{max-width:400px}.delete-warning{padding:1rem 0;text-align:center}.delete-icon{color:#dc2626;display:block;margin:0 auto 1rem}.delete-warning p{color:#374151;margin-bottom:.5rem}.delete-subtitle{color:#6b7280;font-size:14px}.btn-delete{border-radius:.375rem;padding:.75rem 1.5rem;transition:all .2s}.btn-delete:hover:not(:disabled){background:#b91c1c}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.analytics-container{padding:2rem 0}.analytics-header{margin-bottom:2rem}.analytics-header h2{color:#000;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.analytics-header p{color:#6b7280;font-size:1rem}.analytics-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.analytics-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1rem;padding:1.5rem;transition:all .2s}.summary-card:hover{border-color:#ce2028;box-shadow:0 4px 6px -1px #ce20281a}.summary-icon{align-items:center;background:#ce2028;border-radius:.75rem;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.summary-content h3{color:#000;font-size:1.875rem;font-weight:700;margin:0 0 .25rem}.summary-content p{color:#6b7280;font-size:.875rem;margin:0}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.chart-container h3{color:#000;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.bar-chart{align-items:end;display:flex;gap:1rem;height:200px;padding:1rem 0}.bar-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.bar-container{align-items:end;height:160px;width:100%}.bar,.bar-container{display:flex;justify-content:center}.bar{align-items:start;background:linear-gradient(0deg,#ce2028,#ff4757);border-radius:.25rem .25rem 0 0;min-height:20px;padding-top:.5rem;position:relative;transition:all .3s ease;width:60%}.bar:hover{background:linear-gradient(0deg,#a01a20,#e63946);transform:translateY(-2px)}.bar-value{color:#fff;font-size:.875rem;font-weight:600}.bar-label{color:#6b7280;font-size:.75rem;max-width:80px;text-align:center;word-break:break-word}.team-details{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.team-details h3{color:#000;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.team-table{display:flex;flex-direction:column;gap:1rem}.team-row{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.team-row:hover{background:#fef7f7;border-left:4px solid #ce2028}.team-name{color:#000;min-width:120px}.team-progress{align-items:center;display:flex;flex:1 1;gap:1rem;max-width:300px}.progress-bar{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#ce2028,#ff4757);border-radius:4px;height:100%;transition:width .3s ease}.team-count{color:#6b7280;font-size:.875rem;font-weight:500;min-width:80px;text-align:right}.team-section{margin-bottom:.5rem}.team-row.expanded{background:#fef7f7;border-left:4px solid #ce2028}.expand-icon{color:#ce2028;font-size:.75rem;margin-left:.5rem;transition:transform .2s}.team-members{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;border-top:2px solid #ce2028;margin-top:1rem;padding:1rem}.members-header{border-bottom:1px solid #f3f4f6;margin-bottom:1rem;padding-bottom:.5rem}.members-header h4{color:#000;font-size:1rem;font-weight:600;margin:0}.members-list{display:flex;flex-direction:column;gap:.75rem}.member-item{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;gap:1rem;padding:.75rem;transition:all .2s}.member-item:hover{background:#fef7f7;border-left:3px solid #ce2028}.member-avatar{align-items:center;background:#ce2028;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.member-item .member-info{flex:1 1;min-width:0}.member-name{color:#000;font-weight:600;margin-bottom:.25rem}.member-role{color:#6b7280;font-size:.875rem}.member-item .member-details{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem;min-width:150px}.member-manager{align-items:center;display:flex;font-size:.75rem;gap:.5rem}.detail-label{color:#9ca3af;font-weight:500}.detail-value{color:#374151;font-weight:600}.member-status{margin-top:.25rem}.member-status .status-badge{font-size:.75rem;padding:.125rem .375rem}@media (max-width:1024px){.analytics-grid{gap:1.5rem}.analytics-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bar-chart{gap:.5rem}.bar{width:80%}.team-row{align-items:flex-start;flex-direction:column;gap:.75rem}.team-progress{max-width:none;width:100%}}@media (max-width:768px){.analytics-container{padding:1rem 0}.analytics-summary{grid-template-columns:1fr}.summary-card{padding:1rem}.summary-icon{height:40px;width:40px}.summary-content h3{font-size:1.5rem}.chart-container,.team-details{padding:1rem}.bar-chart{gap:.25rem;height:150px}.bar-container{height:120px}.bar{width:100%}.bar-label{font-size:.625rem;max-width:60px}}.access-badge{background:#00b894;border-radius:.5rem;color:#fff;gap:.5rem;padding:.5rem 1rem}.edit-role-container{align-items:center;display:flex;gap:8px;width:100%}.edit-role-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:12px;padding:4px 8px}.save-button{background-color:#00b894;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;font-weight:600;padding:4px 8px;transition:background-color .2s}.save-button:hover{background-color:#00a085}.action-buttons-row{display:flex;gap:8px;width:100%}.edit-button,.remove-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:10px;font-weight:600;padding:4px 8px;transition:all .2s}.edit-button{background-color:#6c5ce7;color:#fff}.edit-button:hover{background-color:#5a4fcf}.remove-button{background-color:#e17055;color:#fff}.remove-button:hover{background-color:#d63031}.view-toggle{border:1px solid #ddd;border-radius:8px;display:flex;overflow:hidden}.view-toggle-btn{align-items:center;background-color:#fff;border:none;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.view-toggle-btn:hover{background-color:#f8f9fa}.view-toggle-btn.active{background-color:#6c5ce7;color:#fff}.view-icon{height:16px;width:16px}.member-table{background-color:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.member-table th{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;font-weight:600;padding:16px;text-align:left}.member-table td{border-bottom:1px solid #f0f0f0;padding:16px;vertical-align:middle}.member-table tr:last-child td{border-bottom:none}.member-table tr:hover{background-color:#f8f9fa}.list-member-info{align-items:center;display:flex;gap:12px}.avatar-small{align-items:center;background-color:#6c5ce7;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.list-member-name{color:#333;font-weight:600;margin-bottom:2px}.list-member-email{color:#666;font-size:12px}.loader{color:#666;font-style:italic;padding:20px;text-align:center}.access-badge{align-items:center;background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:20px;color:#1976d2;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px}.access-requests-container{padding:0}.header-stats{align-items:center;display:flex;gap:1rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:80px;padding:1rem;text-align:center}.stat-number{font-size:1.5rem}.stat-label{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;transition:all .2s}.request-card:hover{border-color:#ce2028;box-shadow:0 4px 6px -1px #ce20281a}.request-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.request-info{gap:1rem}.employee-avatar,.request-info{align-items:center;display:flex}.employee-avatar{background:#ce2028;border-radius:50%;color:#fff;font-size:18px;font-weight:600;height:48px;justify-content:center;width:48px}.request-details h3{color:#000;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.request-details p{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.request-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.request-type{background:#dbeafe;color:#1e40af}.priority-badge,.request-type{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.priority-high{background:#fee2e2;color:#991b1b}.priority-medium{background:#fef3c7;color:#92400e}.priority-low{background:#dcfce7;color:#166534}.request-date{color:#9ca3af;font-size:.75rem}.request-status{align-items:center;display:flex;gap:.5rem}.status-icon.approved{color:#059669}.status-icon.rejected{color:#dc2626}.status-icon.pending{color:#d97706}.status-approved{background:#dcfce7;color:#166534}.status-rejected{background:#fee2e2;color:#991b1b}.status-pending{background:#fef3c7;color:#92400e}.request-content{padding:1rem}.request-description h4{color:#000;font-size:1rem;font-weight:600;margin:0 0 .5rem}.request-description p{color:#374151;line-height:1.5;margin:0 0 1rem}.role-change-details,.team-change-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1rem}.role-change-item,.team-change-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.role-change-item:last-child,.team-change-item:last-child{margin-bottom:0}.role-change-item .label,.team-change-item .label{color:#6b7280;font-size:.875rem;font-weight:500}.role-change-item .value,.team-change-item .value{background:#fff;border:1px solid #d1d5db;border-radius:.25rem;color:#000;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.request-actions{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem}.approve-btn{align-items:center;background:#6b7280;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.approve-btn:hover{background:#4b5563;transform:translateY(-1px)}.reject-btn{align-items:center;background:#6b7280;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.reject-btn:hover{background:#4b5563;transform:translateY(-1px)}.change-details{margin-top:.75rem}.change-details p{color:#374151;font-size:.875rem;margin:.25rem 0}.change-details strong{color:#000;margin-right:.5rem}.approval-info{align-items:center;background:#f9fafb;border-radius:.5rem;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;margin-top:1rem;padding:.75rem}.pending-resources-notification{background:linear-gradient(135deg,#fef7f7,#fee2e2);border:1px solid #fecaca;border-left:4px solid #ce2028;border-radius:.75rem;box-shadow:0 2px 4px #ce20281a;margin-bottom:2rem;overflow:hidden;position:relative;transition:all .3s ease}.pending-resources-notification:hover{border-color:#ce2028;box-shadow:0 8px 25px #ce202826;transform:translateY(-2px)}.notification-content{gap:1rem;padding:1.5rem;position:relative;z-index:2}.notification-icon{animation:pulse 2s infinite;background:#ce2028;height:48px;width:48px}.clock-icon{color:#fff}.notification-text{flex:1 1}.notification-text h3{color:#991b1b;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.notification-text p{color:#7c2d12;font-size:.875rem;margin:0;opacity:.9}.notification-arrow{align-items:center;background:#ce20281a;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .3s ease;width:32px}.notification-arrow span{color:#ce2028;font-size:1.25rem;font-weight:700;transition:transform .3s ease}.pending-resources-notification:hover .notification-arrow{background:#ce202833}.pending-resources-notification:hover .notification-arrow span{transform:translateX(2px)}.dashboard-tabs{border-bottom:1px solid #e5e7eb;gap:.5rem;margin-bottom:2rem;padding-bottom:0}.tab-button{border-bottom:2px solid #0000;color:#6b7280;font-size:.875rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.tab-button.active,.tab-button:hover{background:#fef7f7;color:#ce2028}.tab-button.active{border-bottom-color:#ce2028}.tab-content{min-height:400px}.sub-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem}.sub-tab-button{align-items:center;background:#0000;border:1px solid #d1d5db;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.sub-tab-button:hover{background:#fef7f7;border-color:#ce2028;color:#ce2028}.sub-tab-button.active{background:#ce2028;border-color:#ce2028;color:#fff}.welcome-header-box{background:linear-gradient(135deg,#fef7f7,#fff);border:1px solid #e5e7eb;border-left:4px solid #ce2028;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;padding:1.5rem}.welcome-content h1{color:#000;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.welcome-message{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:1rem;gap:1rem;margin:0}.review-link{background:#ce2028;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.review-link:hover{background:#a01a20;transform:translateY(-1px)}.overview-box-fullwidth{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;overflow:hidden;transition:all .2s;width:100%}.overview-box-fullwidth:hover{border-color:#ce2028;box-shadow:0 4px 6px -1px #ce20281a}.stats-actions-container{align-items:center;display:flex;gap:2rem;padding:1.5rem}.overview-box{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;overflow:hidden;transition:all .2s}.overview-box:hover{border-color:#ce2028;box-shadow:0 4px 6px -1px #ce20281a}.box-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.box-header h3{color:#000;font-size:1.125rem;font-weight:600;margin:0}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);padding:1.5rem}.stats-grid-inline{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:repeat(4,1fr)}.stat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;text-align:center;transition:all .2s}.stat-item:hover{background:#fef7f7;border-color:#ce2028}.stat-item.clickable{cursor:pointer}.stat-item.clickable:hover{background:#fef7f7;border-color:#ce2028;box-shadow:0 4px 8px #ce202833;transform:translateY(-2px)}.stat-item.clickable:active{transform:translateY(0)}.stat-number{color:#ce2028;display:block;font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500}.actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);padding:1.5rem}.action-btn{border-radius:.5rem;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:1rem;transition:all .2s}.action-btn:hover{background:#ce2028;border-color:#ce2028;color:#fff;transform:translateY(-1px)}.quick-actions-inline{border-left:1px solid #e5e7eb;gap:.75rem;padding-left:2rem}.icon-action-btn,.quick-actions-inline{align-items:center;display:flex;flex-shrink:0}.icon-action-btn{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;color:#6b7280;cursor:pointer;height:48px;justify-content:center;position:relative;transition:all .2s ease;width:48px}.icon-action-btn:hover{background:#ce2028;border-color:#ce2028;box-shadow:0 4px 12px #ce20284d;color:#fff;transform:translateY(-2px)}.icon-action-btn .action-tooltip{background:#1f2937;border-radius:6px;bottom:-40px;color:#fff;font-size:12px;font-weight:500;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;white-space:nowrap;z-index:100}.icon-action-btn .action-tooltip:before{border-bottom:6px solid #1f2937;border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;left:50%;position:absolute;top:-4px;transform:translateX(-50%);width:0}.icon-action-btn:hover .action-tooltip{opacity:1}.filters-box{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;overflow:hidden}.filters-content{padding:1.5rem}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.content-box{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;overflow:hidden}.content-box .tab-content{padding:1.5rem}.debug-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.debug-toggle{align-items:center;background:#6b72801a;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.debug-toggle:hover{background:#6b728033;border-color:#9ca3af}.debug-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f9fafbcc;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1rem}.debug-info h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.debug-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.debug-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem}.debug-label{color:#6b7280;font-weight:500}.debug-value{color:#374151;font-weight:600;max-width:120px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.loading-container{color:#6b7280;font-size:1.125rem;min-height:400px}@media (max-width:768px){.request-header{align-items:flex-start;flex-direction:column;gap:1rem}.request-meta{gap:.5rem}.request-actions{flex-direction:column}.approve-btn,.reject-btn{justify-content:center}.header-stats{flex-wrap:wrap;gap:.5rem}.stat-card{flex:1 1;min-width:70px}.dashboard-tabs{flex-wrap:wrap;gap:.25rem}.tab-button{font-size:.8rem;padding:.5rem 1rem}.sub-tabs{flex-wrap:wrap;gap:.25rem}.sub-tab-button{font-size:.8rem;padding:.5rem .75rem}.dashboard-overview{gap:1rem;grid-template-columns:1fr}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);padding:1rem}.actions-grid{gap:.75rem;grid-template-columns:1fr;padding:1rem}.filters-row{align-items:stretch;flex-direction:column;gap:.75rem}.debug-grid{gap:.5rem;grid-template-columns:1fr}.debug-item{align-items:flex-start;flex-direction:column;gap:.25rem}.debug-value{max-width:none;text-align:left}.welcome-message{align-items:flex-start;flex-direction:column;gap:.75rem}.stats-actions-container{flex-direction:column;gap:1.5rem;padding:1rem}.stats-grid-inline{gap:.75rem;grid-template-columns:repeat(2,1fr)}.quick-actions-inline{border-left:none;border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:center;padding-left:0;padding-top:1rem;width:100%}.icon-action-btn .action-tooltip{bottom:-35px;font-size:11px}}.stats-grid{gap:.75rem!important;padding:1rem!important}.stat-item{padding:.75rem!important}.stat-number{font-size:1.5rem!important}.stat-label{font-size:.75rem!important}.actions-grid{gap:.75rem!important;padding:1rem!important}.action-btn{font-size:.8rem!important;padding:.75rem!important}.box-header{padding:.75rem 1rem!important}.box-header h3{font-size:1rem!important}.welcome-row{gap:1rem}.review-arrow,.welcome-row{align-items:center;display:flex}.review-arrow{animation:pulse 2s infinite;background:#ce2028;border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;transition:all .3s ease;width:48px}.review-arrow:hover{background:#a01a20;transform:scale(1.1)}.welcome-text{flex:1 1}.welcome-text h1{color:#000;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.welcome-text .welcome-message{color:#6b7280;font-size:1rem;margin:0}.dashboard-overview{gap:10px!important}.overview-box{padding:0!important}.box-header{padding:8px 12px!important}.box-header h3{font-size:12px!important;margin:0!important}.stats-grid{gap:6px!important;padding:8px!important}.stat-item{padding:4px!important}.stat-number{font-size:16px!important}.stat-label{font-size:10px!important}.actions-grid{gap:6px!important;padding:8px!important}.action-btn{font-size:10px!important;padding:4px 8px!important}.action-btn svg{height:12px!important;width:12px!important}.searchable-dropdown{position:relative;width:100%}.dropdown-input-container{align-items:center;display:flex;position:relative}.dropdown-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.dropdown-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.dropdown-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.dropdown-input::placeholder{color:#9ca3af}.dropdown-icons{gap:4px;pointer-events:none;position:absolute;right:8px}.clear-button,.dropdown-icons{align-items:center;display:flex}.clear-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;height:20px;justify-content:center;pointer-events:auto;transition:all .2s ease;width:20px}.clear-button:hover{background-color:#f3f4f6;color:#374151}.dropdown-arrow{align-items:center;color:#6b7280;display:flex;transition:transform .2s ease}.dropdown-arrow.rotated{transform:rotate(180deg)}.searchable-dropdown.disabled .dropdown-arrow{color:#d1d5db}.dropdown-menu{animation:dropdownFadeIn .15s ease-out;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;max-height:250px;overflow:hidden;position:absolute;right:0;top:100%;z-index:9999}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-list{list-style:none;margin:0;max-height:192px;padding:4px}.dropdown-option{align-items:center;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:all .15s ease}.dropdown-option.highlighted,.dropdown-option:hover{background-color:#f3f4f6;color:#111827}.dropdown-option.selected{background-color:#6366f1;color:#fff}.dropdown-option.selected.highlighted,.dropdown-option.selected:hover{background-color:#5855eb}.dropdown-option.custom-option{border-top:1px solid #e5e7eb;color:#6366f1;font-weight:500;margin-top:4px;padding-top:12px}.dropdown-option.custom-option.highlighted,.dropdown-option.custom-option:hover{background-color:#eef2ff;color:#5855eb}.dropdown-no-options{padding:4px}.no-results{color:#6b7280;font-size:14px;font-style:italic;padding:12px;text-align:center}.dropdown-list::-webkit-scrollbar{width:6px}.dropdown-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.dropdown-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dropdown-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.searchable-dropdown:focus-within .dropdown-input{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.searchable-dropdown.open .dropdown-input{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-color:#6366f1}@media (max-width:640px){.dropdown-menu{max-height:160px}.dropdown-list{max-height:152px}.dropdown-option{padding:10px 12px}}@media (prefers-contrast:high){.dropdown-input{border-width:2px}.dropdown-option.highlighted{background-color:#000;color:#fff}}@media (prefers-reduced-motion:reduce){.dropdown-arrow,.dropdown-menu,.dropdown-option{transition:none}.dropdown-menu{animation:none}}.rbac-management{background-color:#f8f9fa;min-height:100vh;padding:24px}.rbac-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.rbac-header h2{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.rbac-header p{color:#666;font-size:16px;margin:0}.add-rbac-btn{align-items:center;background:#6c5ce7;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.add-rbac-btn:hover{background:#5a4fcf;box-shadow:0 4px 12px #6c5ce74d;transform:translateY(-1px)}.rbac-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px}.search-icon{color:#666;height:18px;width:18px}.search-input{background:#f8f9fa;border:1px solid #ddd;padding:12px 12px 12px 40px;transition:all .2s ease}.search-input:focus{background:#fff;box-shadow:0 0 0 3px #6c5ce71a}.search-input::placeholder{color:#999}.filter-controls{flex-wrap:wrap;gap:12px}.filter-controls,.filter-group{align-items:center;display:flex}.filter-group{gap:8px}.filter-icon{color:#666;height:16px;width:16px}.filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;min-width:140px;padding:8px 12px;transition:all .2s ease}.filter-select:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce71a;outline:none}.filter-select:hover{border-color:#bbb}.clear-filters-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:8px 12px;transition:all .2s ease}.clear-filters-btn:hover{background:#e9ecef;border-color:#bbb;color:#333}.rbac-form-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}.rbac-form-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:800px;overflow:visible;width:100%}.form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.form-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.rbac-form{max-height:calc(90vh - 120px);overflow-y:auto;padding:0 24px 24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.checkbox-group{align-items:center;justify-content:center}.checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{height:18px;margin:0;width:18px}.checkmark{font-weight:500}.form-hint{color:#666;font-size:12px;font-style:italic;margin-top:4px}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.rbac-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.table-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px}.table-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.table-wrapper{overflow-x:auto}.rbac-table{border-collapse:collapse;font-size:14px;width:100%}.rbac-table th{background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;font-weight:600;padding:16px 12px;text-align:left;white-space:nowrap}.rbac-table td{border-bottom:1px solid #f0f0f0;padding:16px 12px;vertical-align:middle}.rbac-table tr:hover{background:#f8f9fa}.resource-cell{color:#333;font-weight:500;max-width:200px;word-break:break-word}.date-cell{color:#666;font-size:13px}.actions-cell,.status-badge{white-space:nowrap}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.status-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-approved{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-rejected{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-icon{flex-shrink:0}.status-icon.pending{color:#856404}.status-icon.approved{color:#155724}.status-icon.rejected{color:#721c24}.action-btn{background:none;border:1px solid #ddd;margin-right:4px;transition:all .2s ease}.action-btn:last-child{margin-right:0}.approve-btn{border-color:#28a745;color:#28a745}.approve-btn:hover{background:#28a745;color:#fff}.reject-btn{border-color:#dc3545;color:#dc3545}.reject-btn:hover{background:#dc3545;color:#fff}.delete-btn{border-color:#6c757d;color:#6c757d}.delete-btn:hover{background:#6c757d;color:#fff}@media (max-width:768px){.rbac-management{padding:16px}.rbac-header{align-items:stretch;flex-direction:column;gap:16px}.rbac-filters{padding:16px}.filter-controls{align-items:stretch;flex-direction:column}.filter-select{min-width:auto;width:100%}.table-header{align-items:stretch;flex-direction:column;gap:12px}.form-row{gap:16px;grid-template-columns:1fr}.rbac-form-overlay{padding:10px}.rbac-form-container{max-height:95vh}.form-header{padding:16px 16px 0}.rbac-form{padding:0 16px 16px}.table-wrapper{font-size:12px}.rbac-table td,.rbac-table th{padding:12px 8px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}.dashboard-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:4px;margin-bottom:24px;padding:8px}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.tab-button:hover{background:#f8f9fa;color:#333}.tab-button.active{background:#6c5ce7;box-shadow:0 2px 8px #6c5ce74d;color:#fff}.dashboard-content,.tab-content{background:#0000}.dashboard-header{margin-bottom:32px;text-align:center}.dashboard-header h1{color:#333;font-size:32px;font-weight:600;margin:0 0 8px}.dashboard-header p{color:#666;font-size:16px;margin:0}.functional-roles-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:24px;overflow:hidden}.functional-roles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));padding:24px}.functional-role-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.functional-role-card:hover{border-color:#6c5ce7;box-shadow:0 4px 12px #6c5ce71a}.functional-role-header{margin-bottom:16px}.functional-role-name{color:#333;font-size:18px}.functional-role-description{color:#666;line-height:1.4}.parent-role-info{font-size:12px;gap:6px}.parent-role-label{color:#666}.parent-role-name{color:#333}.parent-team-name{color:#666;font-style:italic}.resource-count-badge{background:#6c5ce7;border-radius:16px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px;white-space:nowrap}.functional-role-resources{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:16px}.functional-role-resources h5{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.resource-item{background:#fff;border:1px solid #e0e0e0;padding:12px}.resource-item:hover{border-color:#6c5ce7;box-shadow:0 2px 6px #6c5ce71a}.resource-details{display:flex;flex-direction:column;gap:4px}.resource-name{color:#333;font-size:14px}.resource-system{color:#6c5ce7}.resource-environment{color:#28a745}.resource-separator{color:#ccc}.resource-risk.risk-low{background:#d4edda;color:#155724}.resource-risk.risk-medium{background:#fff3cd;color:#856404}.resource-risk.risk-high{background:#f8d7da;color:#721c24}.no-resources{background:#f8f9fa;border:1px dashed #ddd;border-radius:6px;color:#666;font-style:italic}@media (max-width:768px){.functional-roles-grid{gap:16px;grid-template-columns:1fr;padding:16px}.functional-role-card{padding:16px}.functional-role-header{align-items:stretch;flex-direction:column;gap:12px}.resource-count-badge{align-self:flex-start}}.managers-management{padding:24px}.managers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.managers-header h2{color:#333;font-size:28px;margin:0 0 8px}.managers-header p{color:#666;font-size:14px;margin:0}.managers-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.manager-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.manager-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.manager-card-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:16px;padding:20px}.manager-avatar{align-items:center;background:#fff3;border:3px solid #ffffff4d;border-radius:50%;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.manager-info h3{font-size:20px;font-weight:600;margin:0 0 8px}.manager-stats{display:flex;font-size:13px;gap:16px;opacity:.95}.manager-stats .stat{align-items:center;display:flex;gap:6px}.manager-card-body{padding:20px}.info-section{margin-bottom:16px}.info-section:last-child{margin-bottom:0}.info-section label{color:#666;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:16px;font-size:12px;font-weight:500;padding:4px 12px}.dept-tag{background:#e3f2fd;color:#1976d2}.team-tag{background:#f3e5f5;color:#7b1fa2}.no-data{color:#999;font-size:13px;font-style:italic;margin:0}.manager-card-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:16px 20px}.btn-edit-visibility{align-items:center;background:#6c5ce7;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:background .2s;width:100%}.btn-edit-visibility:hover{background:#5f4dd1}.modal-content{border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden}.modal-header{padding:24px}.close-btn{padding:4px;transition:color .2s}.modal-form{overflow-y:auto;padding:24px}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-group label{font-weight:600}.help-text{color:#666;font-size:13px;margin:4px 0 12px}.teams-checklist{border:1px solid #e0e0e0;border-radius:8px;max-height:300px;overflow-y:auto}.team-checkbox-item{border-bottom:1px solid #f0f0f0;padding:12px 16px;transition:background .2s}.team-checkbox-item:last-child{border-bottom:none}.team-checkbox-item:hover{background:#f8f9fa}.team-checkbox-item label{align-items:center;cursor:pointer;display:flex;gap:12px;margin:0}.team-checkbox-item input[type=checkbox]{accent-color:#6c5ce7;cursor:pointer;height:18px;width:18px}.team-label{color:#333;flex:1 1;font-size:14px}.team-manager{color:#666;font-size:13px;font-weight:400}.modal-actions{margin-top:24px}.btn-cancel,.btn-save{align-items:center;display:flex;gap:6px;padding:10px 20px;transition:all .2s}.btn-cancel{background:#f0f0f0}.btn-save:hover{background:#5f4dd1}.search-container{margin-bottom:24px;position:relative}.search-icon{color:#999;left:16px;top:50%;transform:translateY(-50%)}.search-input{border:1px solid #e0e0e0;padding:12px 16px 12px 48px;transition:border-color .2s}.search-input:focus{border-color:#6c5ce7}.clear-search-btn{color:#999;right:12px;top:50%;transform:translateY(-50%);transition:color .2s}.clear-search-btn:hover{color:#333}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:80px 40px}.empty-icon{color:#ccc}.empty-state h3{font-size:20px}.empty-state p{color:#666}.empty-state-small{color:#666;padding:40px 20px;text-align:center}.empty-state-small svg{color:#ccc;margin-bottom:12px}.success-notification{background:#fff;box-shadow:0 4px 16px #0003}.success-notification.fade-out{animation:slideOut .3s ease-out}.notification-content{padding:16px 20px}.notification-icon{background:#4caf50;font-size:16px}@media (max-width:768px){.managers-grid{grid-template-columns:1fr}.modal-content{max-width:95%}.manager-stats{flex-direction:column;gap:8px}}.bulk-upload-management{background-color:#f8f9fa;min-height:100vh;padding:24px}.bulk-upload-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.bulk-upload-header h2{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.bulk-upload-header p{color:#666;font-size:16px;margin:0}.info-toggle-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;position:relative}.info-toggle-btn{align-items:center;background:#fff;border:2px solid #ce2028;border-radius:50%;color:#ce2028;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;transition:background .2s ease,color .2s ease;width:24px}.info-toggle-btn:hover,.info-toggle-btn[aria-expanded=true]{background:#ce2028;color:#fff}.info-toggle-label{color:#888;font-size:13px;-webkit-user-select:none;user-select:none}.info-panel{animation:expandDown .2s ease;background:linear-gradient(135deg,#fef7f7,#fff);border:1px solid #fee2e2;border-left:4px solid #ce2028;border-radius:8px;padding:16px 20px;width:100%}.info-panel ol{margin:0;padding-left:20px}.info-panel li{color:#555;font-size:13px;line-height:1.6;margin:6px 0}@keyframes expandDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.template-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:32px}.template-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .3s ease}.template-card:hover{border-color:#ce2028;box-shadow:0 4px 16px #ce202826;transform:translateY(-2px)}.template-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:20px}.template-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.template-icon.role-icon{background:linear-gradient(135deg,#ce2028,#a01a20);color:#fff}.template-icon.resource-icon{background:linear-gradient(135deg,#ce2028,#ff4757);color:#fff}.template-icon.reference-icon{background:linear-gradient(135deg,#222,#4a4a4a);color:#fff}.template-card-header h3{color:#333;font-size:18px;font-weight:600;margin:0 0 6px}.template-card-header p{color:#666;font-size:13px;line-height:1.4;margin:0}.template-details{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.detail-item{align-items:center;color:#555;display:flex;font-size:13px;gap:8px;margin:8px 0}.check-icon{color:#10b981;flex-shrink:0}.template-fields{margin-bottom:20px}.template-fields strong{color:#333;display:block;font-size:14px;margin-bottom:12px}.field-tags{display:flex;flex-wrap:wrap;gap:8px}.field-tag{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;color:#374151;cursor:help;font-size:11px;font-weight:500;padding:4px 10px;transition:all .2s ease}.field-tag:hover{background:#fef7f7;border-color:#ce2028;transform:translateY(-1px)}.field-tag.required{background:#fee2e2;border-color:#fecaca;color:#991b1b;position:relative}.field-tag.required:after{content:" *";font-weight:700}.field-tag.auto-fill{background:#dcfce7;border-color:#bbf7d0;color:#166534}.field-tag.auto-fill:after{content:" ⚡";font-size:10px}.field-tag.info{background:#f0f0f0;border-color:#e0e0e0;color:#666}.template-actions{display:flex;gap:12px}.download-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease}.download-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.csv-btn{background:#222;color:#fff}.csv-btn:hover{background:#1a1a1a}.xlsx-btn{background:#ce2028;color:#fff}.xlsx-btn:hover{background:#a01a20}.upload-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px;padding:24px}.upload-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.upload-header h3{color:#333;font-size:20px;margin:0 0 4px}.upload-header p{color:#666;font-size:13px;margin:0}.upload-area{background:linear-gradient(135deg,#fef7f7,#fff);border:3px dashed #ce2028;border-radius:12px;cursor:pointer;padding:48px 24px;text-align:center;transition:all .3s ease}.upload-area:hover{background:linear-gradient(135deg,#fee2e2,#fef7f7);border-color:#a01a20;box-shadow:0 4px 12px #ce202833}.upload-icon{color:#ce2028;margin-bottom:16px}.upload-area h4{color:#222;font-size:18px;font-weight:600;margin:0 0 12px}.upload-area p{color:#666;font-size:14px;margin:0 0 16px}.upload-note{align-items:center;background:#ce20281a;border:1px solid #ce202833;border-radius:8px;color:#991b1b;display:flex;font-size:13px;gap:8px;justify-content:center;margin:0 auto;max-width:600px;padding:12px 20px}.upload-note svg{color:#ce2028;flex-shrink:0}.upload-status-area{align-items:center;animation:fadeIn .3s ease;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:48px 24px;text-align:center}.upload-status-area.uploading{background:linear-gradient(135deg,#dcfce7,#f0fdf4);border:2px solid #059669}.upload-status-area.uploading .status-icon{animation:pulse 1.2s ease-in-out infinite;color:#059669}.upload-status-area.uploading h4{color:#166534;font-size:16px;font-weight:600;margin:0}.upload-status-area.uploading p{color:#15803d;font-size:14px;margin:0}.upload-status-area.done{background:#f3f4f6;border:2px solid #d1d5db}.upload-status-area.done .status-icon{color:#9ca3af}.upload-status-area.done h4{color:#6b7280;font-size:16px;font-weight:600;margin:0}.upload-status-area.done p{color:#9ca3af;font-size:13px;margin:0}.upload-status-area.error{background:linear-gradient(135deg,#fef2f2,#fff5f5);border:2px solid #ce2028}.upload-status-area.error .status-icon{color:#ce2028}.upload-status-area.error h4{color:#991b1b;font-size:16px;font-weight:600;margin:0}.upload-status-area.error p{color:#ce2028;font-size:13px;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.instructions-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.instructions-section h3{color:#333;font-size:20px;margin:0 0 20px}.instructions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.instruction-card{background:#f8f9fa;border-left:4px solid #ce2028;border-radius:8px;padding:16px;transition:all .2s ease}.instruction-card:hover{background:#fef7f7;box-shadow:0 2px 8px #ce20281a;transform:translateX(4px)}.instruction-icon{margin-bottom:12px}.instruction-icon.warning{color:#ce2028}.instruction-icon.info{color:#222}.instruction-icon.success{color:#059669}.instruction-card h4{color:#333;font-size:15px;font-weight:600;margin:0 0 8px}.instruction-card p{color:#666;font-size:13px;line-height:1.5;margin:0}.bulk-notification{animation:slideInRight .3s ease;background:#fff;border-left:4px solid #059669;border-radius:8px;box-shadow:0 4px 16px #ce202833;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:10000}.bulk-notification.success{border-left-color:#059669}.bulk-notification.warning{border-left-color:#ce2028}.notification-icon{align-items:center;background:#059669;border-radius:50%;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.bulk-notification.warning .notification-icon{background:#ce2028}.notification-message{color:#333}.bulk-notification.fade-out{animation:slideOutRight .3s ease}@media (max-width:768px){.bulk-upload-management{padding:16px}.instructions-grid,.template-cards-grid{grid-template-columns:1fr}.template-actions{flex-direction:column}.info-panel{padding:12px 16px}}.teams-management{background-color:#f8f9fa;min-height:100vh;padding:24px}.teams-management .search-container{margin:0 auto;max-width:600px;position:relative;width:100%}.teams-management .search-icon{color:#9ca3af;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.teams-management .search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 48px;transition:all .2s ease;width:100%}.teams-management .search-input:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce71a;outline:none}.teams-management .search-input::placeholder{color:#9ca3af}.teams-management .clear-search-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease}.teams-management .clear-search-btn:hover{background:#f3f4f6;color:#374151}.teams-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.teams-header h2{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.teams-header p{color:#666;font-size:16px;margin:0}.add-role-btn,.add-team-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.add-team-btn{background:#6c5ce7;color:#fff}.add-team-btn:hover{background:#5a4fcf;box-shadow:0 4px 12px #6c5ce74d;transform:translateY(-1px)}.add-role-btn{background:#00b894;color:#fff}.add-role-btn:hover{background:#00a085;box-shadow:0 4px 12px #00b8944d;transform:translateY(-1px)}.teams-accordion-container{display:flex;justify-content:center;padding:0;width:100%}.teams-accordion{gap:16px;max-width:900px;width:100%}.team-card,.teams-accordion{display:flex;flex-direction:column}.team-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden;transition:all .2s ease-out}.team-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.team-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;text-align:left;transition:background-color .15s ease-out;width:100%}.team-header:hover{background:#f3f4f6}.team-card.expanded .team-header{background:#eef2ff}.header-left{flex:1 1}.chevron{flex-shrink:0;transition:transform .2s ease-out}.team-name{font-size:16px}.header-right{flex-shrink:0}.resource-count{color:#6b7280;font-size:14px;font-weight:500}.team-content{animation:expandContent .2s ease-out;border-top:1px solid #e5e7eb}@keyframes expandContent{0%{max-height:0;opacity:0}to{max-height:240px;opacity:1}}.content-scrollable{max-height:240px;overflow-y:auto;padding:12px}.content-scrollable::-webkit-scrollbar{width:6px}.content-scrollable::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.content-scrollable::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.content-scrollable::-webkit-scrollbar-thumb:hover{background:#9ca3af}.no-resources-message{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px;justify-content:center;padding:24px}.no-resources-message svg{color:#d1d5db}.resources-list{gap:8px}.resource-item{border-radius:6px;justify-content:space-between;transition:background-color .15s ease-out}.resource-item:hover{background:#f9fafb}.resource-pill{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.green-dot{background:#10b981;border-radius:50%;flex-shrink:0;height:8px;width:8px}.resource-label{color:#374151;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.granted-info{color:#6b7280;flex-shrink:0;font-size:12px;margin-left:12px;white-space:nowrap}.roles-list{display:flex;flex-direction:column;gap:6px}.role-accordion-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.role-header{background:#0000;padding:10px 12px;transition:background-color .15s ease-out}.role-header:hover{background:#f1f5f9}.role-header-left{align-items:center;display:flex;flex:1 1;gap:8px}.role-chevron{color:#6b7280;flex-shrink:0;transition:transform .2s ease-out}.role-chevron.rotated{transform:rotate(90deg)}.role-name{color:#374151;margin:0}.role-header-right{flex-shrink:0}.role-resource-count{color:#6b7280;font-size:12px;font-weight:400}.role-content{animation:expandRoleContent .15s ease-out;background:#fff;border-top:1px solid #e2e8f0;padding:8px 12px}@keyframes expandRoleContent{0%{max-height:0;opacity:0}to{max-height:200px;opacity:1}}.no-role-resources{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px;justify-content:center;padding:16px}.no-role-resources svg{color:#d1d5db}.role-resources-list{display:flex;flex-direction:column;gap:6px}.role-resources-list .resource-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;margin:0;padding:8px 12px;transition:background-color .15s ease-out}.role-resources-list .resource-item:hover{background:#f3f4f6}.role-resources-list .resource-pill{align-items:center;display:flex;flex:1 1;gap:8px}.role-resources-list .resource-label{color:#374151;font-size:14px;font-weight:500}.role-resources-list .green-dot{background:#10b981;border-radius:50%;flex-shrink:0;height:8px;width:8px}@media (max-width:768px){.teams-management{padding:16px}.teams-header{align-items:stretch;gap:16px}.header-actions,.team-header,.teams-header{flex-direction:column}.team-header{align-items:stretch;gap:16px}.team-info{align-items:flex-start;flex-direction:column;gap:12px}.team-actions{justify-content:flex-end}.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:16px 16px 0}.modal-form{padding:0 16px 16px}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}.role-item{align-items:stretch;flex-direction:column;gap:12px}.role-delete-btn{align-self:flex-end;margin-left:0}}.teams-list.grouped{background:#fff;border:1px solid #e8e8ef;border-radius:12px;overflow:hidden}.team-item{background:#0000;border-bottom:1px solid #f0f0f5}.team-item:last-child{border-bottom:none}.team-header.row{justify-content:space-between;padding:12px 16px}.team-header.row,.team-info{align-items:center;display:flex}.team-info{gap:10px}.expand-btn{background:#0000;border:none;border-radius:8px;cursor:pointer;padding:6px}.expand-btn:hover{background:#f6f6fb}.team-details,.team-name{background:#0000!important;box-shadow:none!important;padding:0!important}.team-name{font-size:1rem;line-height:1.2;margin:0}.team-meta{color:#6b7280;display:flex;font-size:.85rem;gap:10px;margin-top:2px}.role-count{background:#f9f9ff;border:1px solid #ececf3;border-radius:999px;color:#444;font-weight:500;padding:2px 8px}.team-actions{display:flex;gap:8px}.action-btn{border:1px solid #ececf3;border-radius:8px;padding:6px 8px}.action-btn:hover{background:#f7f7fb}.delete-btn:hover{background:#fff5f6;border-color:#ffd9de}.team-item.expanded .roles-section{background:#fafaff;border-top:1px solid #f0f0f5;padding:10px 16px 14px 44px}.roles-header h4{color:#111827;font-size:.9rem;margin:0 0 8px}.roles-list{grid-gap:8px;display:grid;gap:8px}.role-item{align-items:center;background:#fff;border:1px solid #ececf3;border-radius:8px;display:flex;justify-content:space-between;padding:8px 10px}.role-info{align-items:baseline;display:flex;gap:10px}.role-created{color:#6b7280;font-size:.8rem}.role-delete-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;padding:4px 6px}.role-delete-btn:hover{background:#f6f6fb}.empty-state .empty-icon{opacity:.6}.teams-management .teams-list .team-details,.teams-management .teams-list .team-details *,.teams-management .teams-list .team-name{background:#0000!important;border:0!important;box-shadow:none!important;padding:0!important}.teams-management .teams-list .team-item{background:#0000!important;border:none!important;border-bottom:1px solid #f0f0f5!important;border-radius:0!important;margin:0!important}.teams-management .teams-list .team-header{background:#0000!important}.teams-management .teams-list.grouped{background:#0000!important;border:1px solid #e8e8ef!important;border-radius:12px!important;overflow:hidden}.teams-management .teams-list .team-item:last-child{border-bottom:none!important}.teams-management .team-item.expanded .roles-section{background:#fafaff!important}.teams-management .role-count{background:#f6f6fd!important;border:1px solid #ececf3!important;color:#444!important}.teams-management .action-btn,.teams-management .expand-btn,.teams-management .role-delete-btn{background:#0000!important;border:1px solid #ececf3!important}.teams-management .action-btn:hover,.teams-management .expand-btn:hover,.teams-management .role-delete-btn:hover{background:#f7f7fb!important}@media (max-width:768px){.success-notification{left:10px;max-width:none;min-width:auto;right:10px;top:10px}}.delete-team-name{color:#374151;font-size:16px;line-height:1.5;margin:0 0 16px}.roles-impact{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.roles-impact p{color:#374151;font-size:14px;margin:0 0 8px}.roles-impact ul{list-style-type:disc;margin:0;padding-left:20px}.roles-impact li{color:#6b7280;font-size:13px;margin-bottom:4px}.roles-impact li:last-child{margin-bottom:0}.role-resources-modal{max-width:900px;width:100%}.role-info-header{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.role-details{display:flex;gap:24px}.role-details p{color:#374151;font-size:14px;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:40px 20px}.loading-container p{color:#6b7280;font-size:14px;margin:0}.empty-resources{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-resources .empty-icon{color:#d1d5db;margin-bottom:16px}.empty-resources h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.empty-resources p{color:#6b7280;font-size:14px;line-height:1.5;margin:0;max-width:400px}.resources-table-container{border:1px solid #e5e7eb;border-radius:8px}.resources-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.resources-header h4{color:#374151;font-size:16px;font-weight:600;margin:0}.resources-table-wrapper{max-height:400px;overflow-y:auto}.resources-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.resources-table th{padding:12px 16px}.resources-table td{padding:12px 16px;vertical-align:top}.date-cell{white-space:nowrap}@media (max-width:768px){.role-resources-modal{margin:10px;max-width:none}.role-details{flex-direction:column;gap:12px}.resources-table-wrapper{max-height:300px}.resources-table{font-size:12px}.resources-table td,.resources-table th{padding:8px 12px}.resources-table th{font-size:11px;letter-spacing:.5px;text-transform:uppercase}}.role-header{gap:8px}.role-header svg{color:#6b7280;transition:transform .2s ease}.role-info.clickable-role:hover .role-header svg{color:#374151}.role-resources-dropdown{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 2px 4px #0000000d;margin-left:22px;margin-top:8px;max-height:300px;overflow-y:auto;padding:8px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-resources{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;justify-content:center;padding:12px}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#6c5ce7;height:14px;width:14px}.resources-list{display:flex;flex-direction:column;gap:4px}.resources-header{border-bottom:1px solid #e2e8f0;margin-bottom:6px;padding:4px 0 6px}.resources-count{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.resource-item{grid-gap:8px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;display:grid;grid-template-columns:1fr auto auto;padding:6px 8px;transition:all .2s ease}.resource-item:hover{background:#f1f5f9;border-color:#cbd5e1}.resource-info{min-width:0}.resource-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-type{background:#e5e7eb;border-radius:2px;color:#6b7280;font-size:10px;padding:1px 4px;width:-webkit-fit-content;width:fit-content}.resource-meta{align-items:flex-end;flex-direction:column;gap:2px}.access-level{background:#d1fae5;border-radius:2px;color:#059669;font-size:10px;font-weight:500;padding:1px 4px;white-space:nowrap}.granted-date{color:#9ca3af;font-size:9px;white-space:nowrap}.no-resources{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px;justify-content:center;padding:20px;text-align:center}.no-resources svg{color:#d1d5db}@media (max-width:768px){.role-resources-dropdown{margin-top:8px;padding:8px}.resource-item{padding:6px 8px}.resource-info{gap:4px}.resource-info,.resource-meta{align-items:flex-start;flex-direction:column}.resource-meta{gap:2px}.resource-name{font-size:13px}.access-level,.resource-type{font-size:11px}.delete-confirm-modal{max-width:none}.delete-icon-header{flex-direction:column;gap:8px;text-align:center}.delete-icon-circle{align-self:center}}.view-filter-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:4px;margin-bottom:24px;margin-left:auto;margin-right:auto;padding:6px;width:-webkit-fit-content;width:fit-content}.filter-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.filter-tab:hover{background:#f3f4f6;color:#374151}.filter-tab.active{background:#6c5ce7;box-shadow:0 2px 4px #6c5ce733;color:#fff}.filter-tab.active:hover{background:#5a4fcf}.role-employees-list{display:flex;flex-direction:column;gap:6px}.employee-item{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;display:flex;margin:0;padding:8px 12px;transition:background-color .15s ease-out}.employee-item:hover{background:#e0f2fe}.employee-pill{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.blue-dot{background:#0ea5e9;border-radius:50%;flex-shrink:0;height:8px;width:8px}.employee-label{color:#0c4a6e;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-department{background:#dbeafe;border-radius:4px;flex-shrink:0;font-size:12px;margin-left:auto;padding:2px 6px;white-space:nowrap}@media (max-width:768px){.view-filter-tabs{justify-content:center;margin-left:0;margin-right:0;width:100%}.filter-tab{flex:1 1;text-align:center}.employee-pill{align-items:flex-start;flex-direction:column;gap:4px}.employee-department{align-self:flex-start;margin-left:0}}.resource-item.functional-role{background:#fef3c7;border-color:#fbbf24}.resource-item.functional-role:hover{background:#fde68a;border-color:#f59e0b}.resource-item.functional-role .resource-label{color:#92400e}.resource-item.functional-role .green-dot{background:#f59e0b}.functional-role-badge{background:#f59e0b;border-radius:8px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:2px 6px;text-transform:uppercase}.excel-grid-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.excel-table-wrapper{border:1px solid #d1d5db;max-height:70vh;overflow-x:auto;overflow-y:auto}.excel-table{background:#fff;border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.excel-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.excel-table thead th{background:#f8fafc;border:1px solid #d1d5db;border-top:2px solid #6b7280;color:#374151;font-size:13px;font-weight:600;padding:12px 8px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.excel-table thead th:first-child{border-left:2px solid #6b7280}.excel-table thead th:last-child{border-right:2px solid #6b7280}.col-team{min-width:120px;width:140px}.col-director,.col-manager{min-width:100px;width:120px}.col-role{min-width:140px;width:160px}.col-resources{min-width:180px;width:200px}.col-employees{min-width:160px;width:180px}.col-actions{min-width:70px;width:80px}.excel-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .1s ease}.excel-table tbody tr:hover{background:#f8fafc}.excel-table tbody tr.team-row.no-roles{background:#fef9e7}.excel-table tbody tr.team-row.no-roles:hover{background:#fef3cd}.excel-table tbody tr.first-role{border-top:2px solid #9ca3af}.excel-table td{background:#fff;border:1px solid #e5e7eb;padding:8px;position:relative;vertical-align:middle}.excel-table td:first-child{border-left:2px solid #d1d5db}.excel-table td:last-child{border-right:2px solid #d1d5db}.excel-table .team-cell{background:#f9fafb;border-right:2px solid #d1d5db;color:#111827;font-weight:600;vertical-align:top}.excel-table .director-cell,.excel-table .manager-cell{background:#f9fafb;color:#374151;vertical-align:top}.excel-table .role-cell{color:#1f2937;font-weight:500}.excel-table .role-cell.empty{background:#fef9e7;color:#92400e;font-style:italic;text-align:center}.excel-table .employees-cell,.excel-table .resources-cell{padding:6px 8px}.excel-table .employees-cell.empty,.excel-table .resources-cell.empty{background:#fef9e7;color:#6b7280;font-style:italic;text-align:center}.editable-cell{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:32px;padding:4px;transition:all .15s ease;width:100%}.editable-cell:hover{background:#3b82f61a;border:1px solid #3b82f6}.editable-cell .cell-content{flex:1 1;padding:2px 4px}.editable-cell .edit-icon{color:#6b7280;flex-shrink:0;opacity:0;transition:opacity .15s ease}.editable-cell:hover .edit-icon{opacity:1}.inline-edit-input{background:#fff;border:2px solid #3b82f6;border-radius:4px;box-shadow:0 0 0 3px #3b82f61a;font-family:inherit;font-size:14px;outline:none;padding:6px 8px;width:100%}.inline-edit-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed826}.count-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-bottom:6px;padding:4px 8px}.resources-badge{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.employees-badge{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.count-badge .count{font-size:13px;font-weight:700}.count-badge .label{font-size:11px;font-weight:500}.employee-preview,.resource-preview{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.employee-tag,.resource-tag{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;display:inline-flex;font-size:10px;font-weight:500;gap:4px;max-width:100px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.resource-tag{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.employee-tag{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.functional-badge{background:#f59e0b;border-radius:2px;color:#fff;font-size:8px;font-weight:700;margin-left:2px;padding:1px 3px}.more-count{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;font-size:10px;font-weight:600;padding:2px 6px}.expand-toggle-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;margin-top:2px;padding:3px 8px;transition:all .15s ease}.expand-toggle-btn:hover{background:#dbeafe;border-color:#93c5fd;color:#1e40af;transform:translateY(-1px)}.expand-toggle-btn:active{transform:translateY(0)}.actions-cell{text-align:center}.action-buttons{gap:4px}.action-btn,.action-buttons{align-items:center;justify-content:center}.action-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;display:inline-flex;height:24px;transition:all .15s ease;width:24px}.action-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.action-btn.add-role-btn{border-color:#10b981;color:#059669}.action-btn.add-role-btn:hover{background:#ecfdf5;border-color:#059669;color:#047857}.action-btn.delete-btn{border-color:#f87171;color:#dc2626}.action-btn.delete-btn:hover{background:#fef2f2;border-color:#dc2626;color:#b91c1c}.action-btn.delete-team-btn{border-color:#fdba74;color:#7c2d12}.action-btn.delete-team-btn:hover{background:#fff7ed;border-color:#ea580c;color:#c2410c}.no-roles-text{color:#9ca3af;font-size:13px;font-style:italic}.team-name{color:#111827;font-size:14px;font-weight:600}.role-name{font-size:14px;font-weight:500}.excel-table td:focus-within{outline:2px solid #3b82f6;outline-offset:-2px;z-index:5}.excel-table .editable-cell:active{background:#3b82f626}.excel-table-wrapper::-webkit-scrollbar{height:12px;width:12px}.excel-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0}.excel-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border:1px solid #94a3b8;border-radius:0}.excel-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.excel-table-wrapper::-webkit-scrollbar-corner{background:#f1f5f9}@media (max-width:1200px){.col-resources{min-width:160px;width:180px}.col-employees{min-width:140px;width:160px}}@media (max-width:900px){.excel-table-wrapper{max-height:60vh}.excel-table{font-size:13px}.excel-table thead th{font-size:12px;padding:8px 6px}.excel-table td{padding:6px}.col-team{min-width:100px;width:120px}.col-director,.col-manager{min-width:80px;width:100px}.col-role{min-width:120px;width:140px}.col-resources{min-width:140px;width:160px}.col-employees{min-width:120px;width:140px}.col-actions{min-width:60px;width:70px}.employee-preview,.resource-preview{flex-direction:column;gap:2px}.employee-tag,.resource-tag{font-size:9px;max-width:80px}.count-badge{font-size:11px;padding:2px 6px}.more-count{font-size:9px}}@media (max-width:600px){.excel-table-wrapper{max-height:50vh}.excel-table{font-size:12px}.excel-table thead th{font-size:11px;padding:6px 4px}.excel-table td{padding:4px}.col-director,.col-manager{display:none}.action-buttons{flex-direction:column;gap:2px}.action-btn{height:20px;width:20px}}.resource-management{background-color:#f8f9fa;min-height:100vh;padding:24px}.resource-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.resource-header h2{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.resource-header p{color:#666;font-size:16px;margin:0}.add-resource-btn{align-items:center;background:#6c5ce7;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.add-resource-btn:hover{background:#5a4fcf;box-shadow:0 4px 12px #6c5ce74d;transform:translateY(-1px)}.modal-overlay{background:#00000080;padding:20px}.modal-content{box-shadow:0 20px 60px #0003;width:100%}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h3{color:#333}.close-btn{border-radius:4px;color:#666}.close-btn:hover{background:#f5f5f5;color:#333}.form-group{display:flex;flex-direction:column}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:6px;padding:12px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce71a}.modal-actions{border-top:1px solid #e0e0e0;padding-top:24px}.btn-cancel,.btn-save{border-radius:6px}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0;color:#333}.btn-save{background:#6c5ce7}.btn-save:hover{background:#5a4fcf;box-shadow:0 4px 12px #6c5ce74d;transform:translateY(-1px)}.resources-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.resources-table-wrapper{overflow-x:auto}.resources-table{border-collapse:collapse;font-size:14px;width:100%}.resources-table thead{background:#f8fafc}.resources-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 20px;text-align:left;white-space:nowrap}.resources-table td{border-bottom:1px solid #f3f4f6;color:#6b7280;padding:16px 20px;vertical-align:middle}.resources-table tbody tr:hover{background:#f9fafb}.resources-table tbody tr:last-child td{border-bottom:none}.resource-name,.system-name{color:#374151;font-weight:500}.environment-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.environment-dev{background:#dbeafe;color:#1e40af}.environment-qa{background:#fef3c7;color:#d97706}.environment-prod{background:#fee2e2;color:#dc2626}.environment-staging{background:#e0e7ff;color:#6366f1}.risk-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.risk-low{background:#d1fae5;color:#065f46}.risk-medium{background:#fef3c7;color:#d97706}.risk-high{background:#fed7aa;color:#ea580c}.risk-critical{background:#fee2e2;color:#dc2626}.action-buttons{display:flex;gap:8px}.delete-btn,.edit-btn{align-items:center;background:none;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.edit-btn{color:#6b7280}.edit-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.delete-btn{color:#ef4444}.delete-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.empty-state{color:#666;padding:60px 20px}.empty-icon{opacity:.3}.empty-state h3{color:#333}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#6c5ce7}.delete-confirm-modal{max-width:480px}.delete-icon-header{align-items:center;display:flex;gap:12px}.delete-icon-circle{align-items:center;background:#fef2f2;border:2px solid #fecaca;border-radius:50%;color:#dc2626;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.delete-content{margin-bottom:24px}.delete-resource-name{color:#374151;font-size:16px;line-height:1.5;margin:0 0 16px}.delete-warning{align-items:flex-start;background:#fef3cd;border:1px solid #fde68a;border-radius:6px;display:flex;gap:8px;margin-bottom:16px;padding:12px}.delete-warning svg{color:#d97706;flex-shrink:0;margin-top:2px}.delete-warning span{color:#92400e;font-size:14px;line-height:1.4}.btn-delete{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-delete:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.btn-delete:active{transform:translateY(0)}.success-notification{animation:slideInRight .3s ease-out;background:#10b981;box-shadow:0 4px 12px #10b9814d;max-width:400px;min-width:300px;z-index:10000}.success-notification.delete-notification{background:#ef4444;box-shadow:0 4px 12px #ef44444d}.notification-icon{flex-shrink:0}.notification-message{line-height:1.4}.success-notification.fade-out{animation:slideOutRight .3s ease-in forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:768px){.resource-management{padding:16px}.resource-header{align-items:stretch;gap:16px}.header-actions,.resource-header{flex-direction:column}.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:16px 16px 0}.modal-form{padding:0 16px 16px}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}.resources-table{font-size:12px}.resources-table td,.resources-table th{padding:12px 16px}.resources-table th{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.action-buttons{flex-direction:column;gap:4px}.success-notification{left:10px;max-width:none;min-width:auto;right:10px;top:10px}@keyframes slideInRight{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.delete-confirm-modal{max-width:none}.delete-icon-header{flex-direction:column;gap:8px;text-align:center}.delete-icon-circle{align-self:center}}.functional-role-management{background-color:#f8fafc;min-height:100vh;padding:24px}.functional-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.functional-header h2{color:#1f2937;font-size:28px;font-weight:600;margin:0 0 8px}.functional-header p{color:#6b7280;font-size:16px;margin:0}.header-actions{display:flex;gap:12px}.controls-section{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.search-container{flex:1 1;max-width:400px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#6b7280;left:12px;position:absolute;z-index:1}.search-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px 12px 40px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.clear-search-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px;transition:all .2s ease}.clear-search-btn:hover{background-color:#f3f4f6;color:#374151}.sort-btn,.sort-controls{display:flex;gap:8px}.sort-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.sort-btn:hover{background-color:#f8fafc;border-color:#6366f1;color:#6366f1}.sort-btn.active{background-color:#6366f1;border-color:#6366f1;color:#fff}.sort-btn.active:hover{background-color:#5856eb;border-color:#5856eb}.searchable-dropdown-container{position:relative}.dropdown-list{background:#fff;border:1px solid #d1d5db;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f9fafb}.dropdown-item:last-child{border-bottom:none}.dropdown-item.no-results{color:#6b7280;cursor:default;font-style:italic}.dropdown-item.no-results:hover{background-color:initial}.add-subrole-btn,.assign-subrole-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.add-subrole-btn{background-color:#6366f1;color:#fff}.add-subrole-btn:hover{background-color:#5856eb;transform:translateY(-1px)}.assign-subrole-btn{background-color:#10b981;color:#fff}.assign-subrole-btn:hover{background-color:#059669;transform:translateY(-1px)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.modal-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:8px;transition:all .2s ease}.close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-form{padding:0 24px 24px}.form-group label{color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group input:disabled,.form-group select:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover{background-color:#e5e7eb}.btn-save{background-color:#6366f1;color:#fff}.btn-save:hover{background-color:#5856eb}.roles-accordion-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.roles-accordion{display:flex;flex-direction:column}.role-card{border-bottom:1px solid #e5e7eb}.role-card:last-child{border-bottom:none}.role-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;text-align:left;transition:background-color .2s ease;width:100%}.role-header:hover{background-color:#f9fafb}.role-card.expanded .role-header{background-color:#f8fafc;border-bottom:1px solid #e5e7eb}.header-left{align-items:center;display:flex;gap:12px}.chevron{color:#6b7280;transition:transform .2s ease}.chevron.rotated{transform:rotate(90deg)}.role-name{color:#1f2937;font-size:18px;font-weight:600}.team-badge{background-color:#e0e7ff;border-radius:16px;color:#3730a3;font-size:12px;font-weight:500;padding:4px 12px}.header-right{align-items:center;display:flex;gap:16px}.subrole-count{color:#6b7280;font-size:14px}.add-subrole-inline-btn{align-items:center;background-color:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;height:32px;justify-content:center;min-width:32px;padding:0 8px;transition:all .2s ease}.add-subrole-inline-btn:hover{background-color:#5856eb;transform:scale(1.05)}.add-subrole-inline-btn svg{color:#fff}.add-btn-text{color:#fff;font-size:14px;font-weight:600}.assign-resource-btn{align-items:center;background-color:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.assign-resource-btn:hover{background-color:#059669;transform:scale(1.05)}.resources-list{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.resources-list h5{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.resources-grid{display:flex;flex-wrap:wrap;gap:8px}.resource-item{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;display:flex;font-size:12px;gap:8px;min-width:200px;padding:8px 12px}.resource-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.resource-name{color:#065f46;font-size:13px;font-weight:600}.resource-system{color:#047857;font-size:11px}.resource-risk{font-weight:500;padding:2px 6px}.remove-resource-btn{align-items:center;background-color:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all .2s ease;width:16px}.remove-resource-btn:hover{background-color:#dc2626;transform:scale(1.1)}.role-content{background-color:#fafbfc;padding:0 24px 24px}.no-subroles-message{align-items:center;background-color:#fff;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;display:flex;gap:12px;padding:32px;text-align:center}.add-first-subrole-btn{align-items:center;background-color:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:8px 16px;transition:all .2s ease}.add-first-subrole-btn:hover{background-color:#5856eb}.subroles-list{display:flex;flex-direction:column;gap:16px}.subrole-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.subrole-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.subrole-info{flex:1 1}.subrole-name{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.subrole-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.subrole-actions{align-items:center;display:flex;gap:12px}.assignment-count{color:#6b7280;font-size:12px;font-weight:500}.delete-subrole-btn{align-items:center;background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.delete-subrole-btn:hover{background-color:#dc2626;transform:scale(1.05)}.assignments-list{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.assignments-list h5{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.assignments-grid{display:flex;flex-wrap:wrap;gap:8px}.assignment-item{align-items:center;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:20px;display:flex;font-size:12px;gap:8px;padding:6px 12px}.employee-info{display:flex;flex-direction:column;gap:2px}.employee-name{color:#0c4a6e;font-weight:500}.employee-department{color:#0369a1;font-size:10px}.remove-assignment-btn{align-items:center;background-color:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:16px;justify-content:center;transition:all .2s ease;width:16px}.remove-assignment-btn:hover{background-color:#dc2626;transform:scale(1.1)}.empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 32px;text-align:center}.empty-icon{color:#d1d5db;margin-bottom:16px}.empty-state h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-notification{animation:slideIn .3s ease-out;background-color:#10b981;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1001}.success-notification.error-notification{background-color:#ef4444}.notification-content{align-items:center;display:flex;gap:12px}.notification-icon{font-size:18px;font-weight:700}.notification-message{font-size:14px;font-weight:500}.success-notification.fade-out{animation:slideOut .3s ease-in}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.functional-roles-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.functional-roles-list{display:flex;flex-direction:column;gap:16px;padding:24px}.functional-role-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .2s ease}.functional-role-card:hover{border-color:#6366f1;box-shadow:0 4px 6px #0000000d}.functional-role-header{align-items:flex-start;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:0;text-align:left;transition:background-color .2s ease;width:100%}.functional-role-header:hover{background-color:#f3f4f6}.functional-role-header:disabled{cursor:default}.functional-role-header:disabled:hover{background-color:initial}.functional-role-card.expanded .functional-role-header{border-bottom:1px solid #e5e7eb;margin-bottom:0;padding-bottom:20px}.functional-role-title-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.functional-role-content{padding:20px 0 0}.functional-role-info{flex:1 1}.functional-role-name{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px}.functional-role-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 12px}.parent-role-info{align-items:center;display:flex;gap:8px;margin-top:8px}.parent-role-label{color:#6b7280;font-size:12px;font-weight:500}.parent-role-name{color:#374151;font-size:12px;font-weight:600}.parent-team-badge{background-color:#e0e7ff;border-radius:12px;color:#3730a3;font-size:11px;font-weight:500;padding:2px 8px}.functional-role-actions{align-items:center;display:flex;gap:12px}.assignments-section,.resources-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.assignments-section h4,.resources-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.resources-list-view{display:flex;flex-direction:column;gap:8px}.resource-list-item{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.resource-list-item:hover{border-color:#6366f1;box-shadow:0 2px 4px #0000000d}.resource-details{flex:1 1}.resource-details .resource-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:4px}.resource-meta{align-items:center;display:flex;font-size:12px;gap:8px}.resource-system{color:#6366f1;font-weight:500}.resource-environment{color:#059669;font-weight:500}.resource-separator{color:#d1d5db}.resource-risk{border-radius:12px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.resource-risk.risk-low{background-color:#dcfce7;color:#166534}.resource-risk.risk-medium{background-color:#fef3c7;color:#92400e}.resource-risk.risk-high{background-color:#fee2e2;color:#991b1b}.resources-compact-list{display:flex;flex-direction:column;gap:6px}.resource-compact-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px;transition:all .2s ease}.resource-compact-item:hover{border-color:#6366f1;box-shadow:0 1px 3px #0000000d}.resource-compact-info{align-items:center;display:flex;flex:1 1;gap:12px}.resource-compact-info .resource-name{color:#1f2937;font-size:13px;font-weight:600;min-width:120px}.resource-compact-info .resource-system{color:#6366f1;font-size:11px;font-weight:500;min-width:80px}.resource-compact-info .resource-risk{border-radius:8px;font-size:9px;font-weight:600;min-width:40px;padding:2px 6px;text-align:center;text-transform:uppercase}@media (max-width:768px){.functional-role-management{padding:16px}.functional-header{align-items:stretch;flex-direction:column;gap:16px}.header-actions{justify-content:stretch}.add-subrole-btn,.assign-subrole-btn{flex:1 1;justify-content:center}.controls-section{align-items:stretch;flex-direction:column;gap:16px}.search-container{max-width:none}.sort-controls{justify-content:center}.modal-content{margin:20px;width:95%}.role-header{padding:16px}.role-content{padding:0 16px 16px}.assignments-grid{flex-direction:column}.assignment-item{justify-content:space-between}.functional-role-card,.functional-roles-list{padding:16px}.functional-role-header{align-items:stretch;flex-direction:column;gap:16px}.functional-role-actions{justify-content:space-between}.resource-list-item{align-items:stretch;flex-direction:column;gap:12px}.resource-meta{flex-wrap:wrap}}.signin-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.signin-container:before{-webkit-clip-path:polygon(100% 0,0 100%,100% 100%);clip-path:polygon(100% 0,0 100%,100% 100%);height:60%;opacity:.95;right:-5%;top:-10%;width:60%}.signin-container:after,.signin-container:before{background:#c8102e;content:"";position:absolute;z-index:0}.signin-container:after{bottom:-10%;-webkit-clip-path:polygon(0 0,0 100%,100% 0);clip-path:polygon(0 0,0 100%,100% 0);height:45%;left:-5%;opacity:.85;width:45%}.signin-card{border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:500px;overflow:hidden;width:100%;z-index:1}.signin-card,.signin-header{background:#fff;position:relative}.signin-header{padding:40px 40px 20px;text-align:center}.signin-header:before{background:#c8102e;-webkit-clip-path:polygon(100% 0,0 0,100% 100%);clip-path:polygon(100% 0,0 0,100% 100%);content:"";height:80px;opacity:.1;position:absolute;right:0;top:0;width:80px}.signin-logo{height:60px;margin-bottom:20px}.signin-header h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 10px}.signin-header p{color:#666;font-size:14px;margin:0}.signin-methods{padding:30px 40px}.signin-form{margin-bottom:30px}.okta-signin h2,.signin-form h2{color:#333;font-size:18px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#c8102e;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px 16px}.signin-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;transition:all .3s ease;width:100%}.signin-button:disabled{cursor:not-allowed;opacity:.6}.signin-button.primary{background:#c8102e;color:#fff}.signin-button.primary:hover:not(:disabled){background:#a00d24;box-shadow:0 10px 25px #c8102e66;transform:translateY(-2px)}.signin-button.okta{background:#fff;border:2px solid #e0e0e0;color:#333}.signin-button.okta:hover:not(:disabled){background:#f8f9fa;border-color:#c8102e;box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.okta-icon{flex-shrink:0}.demo-credentials{margin-top:12px;text-align:center}.demo-credentials small{background:#f0f0f0;border-radius:4px;color:#666;display:inline-block;font-size:12px;padding:6px 12px}.signin-divider{margin:30px 0;position:relative;text-align:center}.signin-divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.signin-divider span{background:#fff;color:#999;font-size:14px;font-weight:500;padding:0 16px;position:relative}.okta-signin{text-align:center}.okta-description{color:#666;font-size:14px;margin:0 0 20px}.signin-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:20px;text-align:center}.signin-footer p{color:#999;font-size:12px;margin:0}@media (max-width:600px){.signin-container{padding:10px}.signin-card{border-radius:12px}.signin-header{padding:30px 20px 15px}.signin-logo{height:50px}.signin-header h1{font-size:24px}.signin-methods{padding:20px}.okta-signin h2,.signin-form h2{font-size:16px}}
/*# sourceMappingURL=main.60bf2576.css.map*/