.account-menu{position:relative}.account-trigger{display:flex;align-items:center;gap:12px;padding:8px 12px;background-color:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500}.account-trigger:hover{background-color:#ffffff1a;border-color:#ffffff4d}.account-trigger:active{background-color:#ffffff26}.account-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#fff3,#ffffff1a);font-weight:700;font-size:15px;border:2px solid rgba(255,255,255,.3);flex-shrink:0}.account-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.account-name{font-weight:600;font-size:14px;color:#fff}.account-role{font-size:12px;color:#ffffffb3}.account-chevron{margin-left:8px;color:#ffffffb3;transition:transform .3s ease;flex-shrink:0}.account-chevron.open{transform:rotate(180deg)}.account-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:320px;background-color:#fff;border-radius:12px;box-shadow:0 12px 32px #00000026;z-index:1000;animation:dropdownSlideDown .2s ease-out;overflow:hidden}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.account-dropdown-header{display:flex;gap:12px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef}.account-dropdown-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;font-weight:700;font-size:18px;flex-shrink:0;box-shadow:0 4px 12px #003d7a4d}.account-dropdown-name{font-weight:700;font-size:14px;color:#2c3e50;margin-bottom:2px}.account-dropdown-department{font-size:12px;color:var(--primary-navy-hover);font-weight:600;margin-bottom:4px}.account-dropdown-email{font-size:11px;color:#95a5a6}.account-dropdown-role-section{padding:12px 16px}.account-dropdown-role-label{font-size:11px;font-weight:700;color:#95a5a6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.account-dropdown-role-buttons{display:flex;gap:8px;flex-wrap:wrap}.role-button{padding:6px 12px;background-color:#f0f4ff;border:1px solid #d4deff;border-radius:6px;color:var(--primary-navy);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.role-button:hover{background-color:#e8eeff;border-color:#c4ceff}.role-button.active{background-color:var(--primary-navy);color:#fff;border-color:var(--primary-navy)}.account-dropdown-divider{height:1px;background-color:#e9ecef}.account-dropdown-items{padding:8px 0}.account-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background-color:transparent;border:none;color:#2c3e50;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.account-dropdown-item svg{color:var(--primary-navy-hover);flex-shrink:0;transition:color .2s ease}.account-dropdown-item:hover{background-color:#f8f9fa}.account-dropdown-item:hover svg{color:var(--primary-navy)}.account-dropdown-item:active{background-color:#f0f4ff}.account-dropdown-logout{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background-color:transparent;border:none;color:#e74c3c;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.account-dropdown-logout svg{color:#e74c3c;flex-shrink:0}.account-dropdown-logout:hover{background-color:#fadbd8}.account-dropdown-logout:hover svg{color:#c0392b}.account-dropdown-logout:active{background-color:#f5b7b1}@media (max-width: 768px){.account-trigger{padding:8px;gap:8px}.account-avatar{width:32px;height:32px;font-size:13px}.account-info{display:none}.account-chevron{margin-left:0}.account-dropdown{width:280px;right:-10px}.account-dropdown-header{padding:12px}.account-dropdown-avatar{width:40px;height:40px;font-size:16px}.account-dropdown-item,.account-dropdown-logout{padding:10px 12px;font-size:13px}}.navigation{background-color:#2c3e50;color:#fff;padding:0;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;height:60px;gap:20px}.nav-brand{font-size:24px;font-weight:700}.nav-brand a{color:#fff;text-decoration:none;transition:color .3s}.nav-brand a:hover{color:#3498db}.nav-menu-toggle{display:none;flex-direction:column;cursor:pointer;gap:6px}.nav-menu-toggle span{width:25px;height:3px;background-color:#fff;border-radius:2px;transition:all .3s}.nav-menu{display:flex;align-items:center;gap:30px;flex:1}.nav-right{display:flex;align-items:center;gap:20px;margin-left:auto}.nav-reports-btn{background-color:#3498db;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;font-size:14px;text-decoration:none;font-weight:500;transition:background-color .3s;white-space:nowrap;display:inline-block}.nav-reports-btn:hover{background-color:#2980b9}.account-menu{margin-left:0}.nav-user-info{display:flex;flex-direction:column;gap:2px;padding:0 20px;border-right:1px solid rgba(255,255,255,.2)}.user-name{font-size:14px;font-weight:600;margin:0}.user-role{font-size:12px;color:#bdc3c7;margin:0}.nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0}.nav-links a{color:#fff;text-decoration:none;font-size:14px;transition:color .3s;white-space:nowrap}.nav-links a:hover{color:#3498db}.nav-logout-btn{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s;white-space:nowrap}.nav-logout-btn:hover{background-color:#c0392b}@media (max-width: 768px){.nav-menu-toggle{display:flex}.nav-menu{position:absolute;top:60px;left:0;right:0;background-color:#34495e;flex-direction:column;gap:0;padding:20px;max-height:0;overflow:hidden;transition:max-height .3s;flex:none}.nav-menu.open{max-height:500px}.nav-user-info{border-right:none;border-bottom:1px solid rgba(255,255,255,.2);padding:0 0 15px;width:100%}.nav-links{flex-direction:column;gap:15px;padding:15px 0;width:100%}.nav-logout-btn{width:100%}.nav-right{position:absolute;top:60px;right:0;flex-direction:column;gap:0;padding:15px 20px;background-color:#34495e;border-top:1px solid rgba(255,255,255,.2);width:100%;margin-left:0}.nav-reports-btn{width:100%;text-align:center;padding:10px 16px}.account-menu{margin-left:0;width:100%}}.layout{display:flex;flex-direction:column;min-height:100vh;background-color:#f8f9fa}.layout-main{flex:1;padding:20px 0}.layout-container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}.layout-footer{background-color:#2c3e50;color:#fff;text-align:center;padding:20px;margin-top:40px}.layout-footer p{margin:0;font-size:14px}@media (max-width: 768px){.layout-main{padding:15px 0}.layout-container{padding:0 15px}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);padding:20px}.login-container{background-color:#fff;border-radius:8px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px;overflow:hidden}.login-header{background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;padding:40px 30px;text-align:center}.login-header h1{margin:0 0 10px;font-size:32px}.login-header p{margin:0;font-size:14px;opacity:.9}.login-form{padding:40px 30px}.login-form h2{margin:0 0 30px;font-size:24px;color:#2c3e50;text-align:center}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-navy);box-shadow:0 0 0 3px #003d7a1a}.form-group input.input-error{border-color:#e74c3c}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-error-message{background-color:#fadbd8;border:1px solid #f5b7b1;color:#c0392b;padding:12px;border-radius:4px;margin-bottom:20px;font-size:14px}.login-error-message p{margin:0}.login-button{width:100%;padding:12px;background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #003d7a66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{background-color:#f8f9fa;border-top:1px solid #eee;padding:20px 30px;text-align:center}.login-footer p{margin:0;font-size:12px;color:#7f8c8d}@media (max-width: 480px){.login-container{max-width:100%}.login-header{padding:30px 20px}.login-header h1{font-size:28px}.login-form{padding:30px 20px}.login-form h2{font-size:20px;margin-bottom:25px}}.dashboard-page{padding:20px 0}.dashboard-header{margin-bottom:40px;padding:30px;background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;border-radius:8px}.dashboard-header h1{margin:0 0 10px;font-size:28px}.user-info{margin:0;font-size:14px;opacity:.9}.role-badge{background-color:#fff3;padding:4px 12px;border-radius:20px;font-weight:600;display:inline-block;margin-left:5px}.dashboard-section{margin-bottom:40px}.dashboard-section h2{margin:0 0 20px;font-size:22px;color:#2c3e50}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.dashboard-card{background-color:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.card-icon{font-size:48px;margin-bottom:15px}.dashboard-card h3{margin:0 0 10px;font-size:18px;color:#2c3e50}.dashboard-card p{margin:0 0 20px;color:#7f8c8d;font-size:14px;flex-grow:1;display:flex;align-items:center}.card-badge{display:inline-block;padding:8px 16px;background-color:#fff3cd;color:#997404;border-radius:12px;font-size:13px;font-weight:600;margin:10px 0;min-width:50px}.card-stats{display:flex;gap:20px;margin:15px 0;width:100%;justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:12px;color:#7f8c8d;font-weight:500}.stat-value{font-size:20px;font-weight:700;color:#2c3e50}.card-button{background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;white-space:nowrap;width:100%}.card-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #003d7a66}.card-button:active{transform:translateY(0)}.alert{padding:16px 20px;border-radius:8px;border-left:4px solid;margin-bottom:20px}.alert strong{display:block;font-size:16px;margin-bottom:8px}.alert p{margin:0;font-size:14px}.alert-warning{background-color:#fffbeb;border-left-color:var(--warning-orange);color:#92400e}.alert-error{background-color:#fef2f2;border-left-color:var(--error-red);color:#7f1d1d}.alert-success{background-color:#f0fdf4;border-left-color:var(--success-green);color:#166534}.alert-info{background-color:#eff6ff;border-left-color:var(--primary-navy);color:#0c4a6e}.alert-clickable{cursor:pointer;transition:all .15s ease-out}.alert-clickable:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.alert-clickable:active{transform:translate(2px)}.alert-clickable:focus-visible{outline:2px solid var(--primary-navy);outline-offset:2px}@media (max-width: 768px){.dashboard-header{padding:20px}.dashboard-header h1{font-size:22px}.dashboard-grid{grid-template-columns:1fr}.card-button{width:100%}.card-stats{gap:15px}.stat-value{font-size:18px}}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.member-checkbox{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #ddd;border-radius:4px;transition:all .3s}.member-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--primary-navy)}.member-checkbox label{margin:0;font-weight:400;cursor:pointer;flex:1}.member-checkbox:has(input:checked){background-color:var(--navy-light);border-color:var(--primary-navy)}.member-name{display:block;font-weight:600;color:#2c3e50;font-size:14px}.member-email{display:block;color:#95a5a6;font-size:12px;margin-top:4px}.btn{padding:12px 32px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;flex:1}.btn-primary{background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff}@media (max-width: 768px){.form-container{padding:20px}.form-header h1{font-size:22px}.form-section{padding-bottom:20px;margin-bottom:30px}.member-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.form-page{padding:20px 0}.form-container{max-width:800px;margin:0 auto;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.form-header{margin-bottom:30px}.form-header h1{margin:0 0 10px;font-size:28px;color:#2c3e50}.form-header p{margin:0;color:#7f8c8d;font-size:14px}.request-summary{background-color:#f8f9fa;border:1px solid #ecf0f1;border-radius:4px;padding:20px;margin-bottom:30px}.request-summary h3{margin:0 0 15px;font-size:16px;color:#2c3e50}.summary-list{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;margin:0}.summary-list dt{font-weight:600;color:#2c3e50;font-size:14px}.summary-list dd{margin:0;color:#34495e;font-size:14px;word-break:break-word}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #ecf0f1}.form-section:last-of-type{border-bottom:none;margin-bottom:30px}.form-section h2{margin:0 0 20px;font-size:18px;color:#2c3e50}.form-help{margin:0 0 15px;color:#7f8c8d;font-size:14px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=email],.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-navy);box-shadow:0 0 0 3px #003d7a1a}.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{border-color:#e74c3c}.form-group textarea{resize:vertical;font-size:14px}.char-count{display:block;margin-top:6px;font-size:12px;color:#95a5a6;text-align:right}.error-text{display:block;color:#e74c3c;font-size:12px;margin-top:6px}.form-actions{display:flex;gap:12px;justify-content:center;margin:30px 0 20px}.btn{padding:12px 32px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;flex:1}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #003d7a66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#fff;color:var(--primary-navy-hover);border:2px solid var(--primary-navy-hover)}.btn-secondary:hover:not(:disabled){background-color:#f8f9fa;transform:translateY(-2px);box-shadow:0 5px 15px #0056cc33}.btn-secondary:active:not(:disabled){transform:translateY(0)}.form-footer{text-align:center;margin-top:20px}.back-link{color:var(--primary-navy-hover);text-decoration:none;font-size:14px;font-weight:600;transition:color .3s}@media (max-width: 768px){.form-container{padding:20px}.form-header h1{font-size:22px}.summary-list{grid-template-columns:1fr;gap:8px}.form-section{padding-bottom:20px;margin-bottom:30px}.form-actions{flex-direction:column}.btn{width:100%}}.list-page{padding:20px 0}.list-container{max-width:1200px;margin:0 auto;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.list-header h1{margin:0;font-size:28px;color:#2c3e50}.header-info{display:flex;align-items:center;gap:10px}.count-badge{display:inline-block;padding:6px 12px;background-color:#fff3cd;color:#997404;border-radius:12px;font-size:13px;font-weight:600}.alert-success{background-color:#d5f4e6;border:1px solid #a9dfbf;color:#0f6948}.filter-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:30px;padding:20px;background-color:#f8f9fa;border-radius:4px}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:6px;font-weight:600;color:#2c3e50;font-size:13px}.filter-group select,.filter-group input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;transition:border-color .3s;box-sizing:border-box}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-navy)}.btn-reset{align-self:flex-end;padding:8px 16px;background-color:#fff;color:var(--primary-navy-hover);border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s}.btn-reset:hover{background-color:#f8f9fa;border-color:var(--primary-navy-hover)}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--primary-navy-hover) 0%,var(--primary-navy) 100%);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #003d7a66}.btn-primary:active{transform:translateY(0)}.btn-primary.btn-create{padding:8px 16px!important;font-size:13px;flex:none;width:auto}.btn-text{padding:4px 12px;background-color:transparent;color:var(--primary-navy-hover);border:1px solid var(--primary-navy-hover);border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-text:hover{background-color:var(--navy-light);border-color:var(--primary-navy);color:var(--primary-navy)}.btn-primary-text{color:#0c6;border-color:#0c6}.btn-primary-text:hover{background-color:#d5f4e6;border-color:#0f6948;color:#0f6948}.btn-danger-text{color:#c00;border-color:#c00}.btn-danger-text:hover{background-color:#f8d7da;border-color:#721c24;color:#721c24}.btn-success-small{padding:4px 12px;background-color:transparent;color:#27ae60;border:1px solid #27ae60;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-success-small:hover{background-color:#d5f4e6;border-color:#0f6948;color:#0f6948}.btn-danger-small{padding:4px 12px;background-color:transparent;color:#e74c3c;border:1px solid #e74c3c;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-danger-small:hover{background-color:#fadbd8;border-color:#c0392b;color:#c0392b}.btn-success-small:disabled,.btn-danger-small:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 20px;background-color:#fff;color:var(--primary-navy-hover);border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-secondary:hover:not(:disabled){background-color:#f8f9fa;border-color:var(--primary-navy-hover)}.btn-success{padding:10px 20px;background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #27ae6066}.btn-danger{padding:10px 20px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #e74c3c66}.btn-secondary:disabled,.btn-success:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state p{margin:0 0 20px;color:#7f8c8d;font-size:16px}.empty-subtext{font-size:14px!important;color:#95a5a6}.table-container{overflow-x:auto}.requests-table,.reports-table,.unified-table{width:100%;border-collapse:collapse;font-size:14px}.requests-table thead,.reports-table thead,.unified-table thead{background-color:#f8f9fa}.requests-table th,.reports-table th,.unified-table th{padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #ecf0f1}.requests-table td,.reports-table td,.unified-table td{padding:12px 16px;border-bottom:1px solid #ecf0f1;color:#34495e}.requests-table tbody tr,.reports-table tbody tr,.unified-table tbody tr{transition:background-color .2s}.requests-table tbody tr:hover,.reports-table tbody tr:hover,.unified-table tbody tr:hover{background-color:#f8f9fa}.id-cell,.request-id-cell{font-family:monospace;font-size:12px;color:#7f8c8d}.applicant-cell,.reporter-cell{font-weight:500;color:#2c3e50}.project-cell{font-size:13px;color:#34495e}.purpose-cell,.outcome-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-cell{text-align:center;min-width:50px}.comment-button{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;transition:transform .2s}.comment-button:hover{transform:scale(1.2)}.actions-cell{display:flex;gap:8px}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-draft{background-color:#e8e8ff;color:#55a}.badge-pending{background-color:#fff3cd;color:#997404}.badge-approved{background-color:#d5f4e6;color:#0f6948}.badge-rejected{background-color:#f8d7da;color:#721c24}.badge-final-pending{background-color:#ffe5cc;color:#c65f17}.badge-final-approved{background-color:#c8e6c9;color:#1b5e20}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:300px;font-size:16px;color:#7f8c8d}.modal-overlay{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;width:90%;max-width:500px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #ecf0f1}.modal-header h2{margin:0;font-size:20px;color:#2c3e50}.modal-close{background:none;border:none;font-size:28px;color:#7f8c8d;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#2c3e50}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #ecf0f1}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.required{color:#e74c3c;margin-left:4px}.form-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .3s;box-sizing:border-box}.form-textarea:disabled{background-color:#f8f9fa;color:#7f8c8d;cursor:not-allowed}.form-error{display:block;color:#e74c3c;font-size:12px;margin-top:4px}@media (max-width: 768px){.list-container{max-width:100%;padding:20px}.list-header{flex-direction:column;align-items:flex-start}.list-header h1{font-size:22px}.filter-section{grid-template-columns:1fr}.btn-reset{align-self:flex-start;width:100%}.table-container{margin:0 -20px}.requests-table,.reports-table,.unified-table{font-size:12px}.requests-table th,.requests-table td,.reports-table th,.reports-table td,.unified-table th,.unified-table td{padding:8px}.purpose-cell,.outcome-cell{max-width:150px}.actions-cell{flex-direction:column;gap:4px}.btn-text{width:100%}.btn-success-small,.btn-danger-small{width:100%;padding:6px 8px}.modal-content{width:95%;max-width:450px}.modal-footer{flex-direction:column-reverse}.btn-secondary,.btn-success,.btn-danger{width:100%}}.member-role{display:inline-block;padding:2px 6px;background-color:#e8eaf6;color:#3f51b5;border-radius:3px;font-size:12px;font-weight:500}.detail-page{padding:20px 0}.detail-container{max-width:1000px;margin:0 auto;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:20px}.header-content{display:flex;align-items:center;gap:16px}.detail-header h1{margin:0;font-size:28px;color:#2c3e50}.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.alert{padding:12px 16px;border-radius:4px;margin-bottom:20px;font-size:14px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background-color:#fadbd8;border:1px solid #f5b7b1;color:#c0392b}.alert-success{background-color:#d5f4e6;border:1px solid #a3e9d1;color:#27ae60}.badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.badge-draft{background-color:#ecf0f1;color:#34495e}.badge-pending-final{background-color:#fce5e5;color:#c0392b}.badge-final-approved{background-color:#d5f4e6;color:#27ae60}.btn{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.btn-primary{background-color:var(--primary-navy);color:#fff}.btn-primary:hover{background-color:var(--primary-navy-hover)}.btn-secondary:hover{background-color:#7f8c8d}.btn-success:hover{background-color:#229954}.btn-danger:hover{background-color:#a93226}.btn:disabled{opacity:.6;cursor:not-allowed}.detail-content{margin-bottom:30px}.detail-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #ecf0f1}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h2{margin:0 0 20px;font-size:18px;color:#2c3e50;font-weight:600}.section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-item{display:flex;flex-direction:column}.grid-item.full-width{grid-column:1 / -1}.grid-item label{margin-bottom:6px;font-weight:600;color:#2c3e50;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.grid-item p{margin:0;color:#34495e;font-size:14px;line-height:1.5}.grid-item p.text-field{white-space:pre-wrap;word-break:break-word}.members-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.member-item{padding:12px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid var(--primary-navy)}.member-name{font-weight:600;color:#2c3e50;margin-bottom:4px}.member-email{font-size:13px;color:#7f8c8d;margin-bottom:6px}.member-submitted{display:inline-block;padding:2px 6px;background-color:#d5f4e6;color:#27ae60;border-radius:3px;font-size:12px;font-weight:500}.detail-footer{text-align:center;padding-top:20px;border-top:1px solid #ecf0f1}.back-link{color:var(--primary-navy-hover);font-weight:600;text-decoration:none;transition:color .3s}.back-link:hover{color:var(--primary-navy)}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--primary-navy);font-size:16px;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 24px #00000026;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ecf0f1}.modal-header h2{margin:0;font-size:18px;color:#2c3e50}.modal-close{background:none;border:none;font-size:24px;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.modal-close:hover{background-color:#f0f0f0;color:#2c3e50}.modal-body{padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#2c3e50;font-size:14px}.required{color:#c0392b;margin-left:2px}.form-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical;transition:border-color .3s}.form-textarea:focus{outline:none;border-color:var(--primary-navy);box-shadow:0 0 0 3px #003d7a1a}.form-textarea:disabled{background-color:#f8f9fa;cursor:not-allowed}.form-error{display:block;margin-top:4px;color:#c0392b;font-size:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #ecf0f1}.btn-secondary,.btn-success,.btn-danger{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background-color:#229954}.btn-danger{background-color:#c0392b;color:#fff}.btn-danger:hover:not(:disabled){background-color:#a93226}.btn-secondary:disabled,.btn-success:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.approval-history-list{display:flex;flex-direction:column;gap:15px}.approval-history-item{padding:15px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid var(--primary-navy)}.approval-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.approval-approver{display:flex;align-items:center;gap:10px}.approval-approver strong{color:#2c3e50;font-size:14px}.approval-level-badge{display:inline-block;padding:2px 8px;background-color:#e8f4f8;color:#06c;border-radius:3px;font-size:11px;font-weight:500;white-space:nowrap}.approval-comment{margin:10px 0;padding:10px;background-color:#fff;border-radius:3px;border-left:2px solid #ffc107}.approval-comment strong{color:#2c3e50;font-size:13px;display:block;margin-bottom:5px}.approval-comment p{margin:0;color:#34495e;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.approval-date{font-size:12px;color:#7f8c8d;margin-top:8px}.badge-approved{background-color:#d5f4e6;color:#27ae60}.badge-rejected{background-color:#fadbd8;color:#c0392b}.badge-pending{background-color:#fef5e7;color:#d68910}@media (max-width: 768px){.detail-container{padding:20px}.detail-header{flex-direction:column;align-items:stretch}.header-content{width:100%;flex-direction:column}.detail-header h1{font-size:22px}.header-actions{width:100%}.section-grid,.members-list{grid-template-columns:1fr}.modal-content{width:95%}.approval-history-header{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:#f8f9fa;color:#2c3e50}a{color:var(--primary-navy-hover);text-decoration:none;transition:color .3s}a:hover{color:var(--primary-navy)}button{font-family:inherit}.container{display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:40px;border-bottom:2px solid #007bff;padding-bottom:20px}.header h1{font-size:2.5em;margin-bottom:10px;color:#007bff}.header p{font-size:1.1em;color:#666}.main{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}.status-section,.info-section{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.status-section h2,.info-section h2{font-size:1.5em;margin-bottom:20px;color:#333}.loading{color:#666;font-style:italic}.error{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:4px;border:1px solid #f5c6cb}.health-info{display:flex;flex-direction:column;gap:15px}.status-badge{display:inline-block;padding:10px 15px;border-radius:4px;font-weight:700;width:fit-content}.status-badge.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.health-info p{font-size:.95em;line-height:1.6}.info-section ul{list-style:none;padding:0}.info-section li{padding:10px 0;border-bottom:1px solid #eee;font-size:.95em}.info-section li:last-child{border-bottom:none}.footer{text-align:center;padding-top:20px;border-top:1px solid #ddd;color:#666;font-size:.9em}@media (max-width: 768px){.main{grid-template-columns:1fr;gap:20px}.header h1{font-size:2em}.status-section,.info-section{padding:20px}}:root{--primary-navy: #003D7A;--primary-navy-hover: #0056CC;--navy-light: #E8EEFB;--text-dark: #2D3748;--text-gray: #718096;--border-gray: #E2E8F0;--bg-light: #F8FAFC;--success-green: #22863A;--error-red: #CB2431;--warning-orange: #D3541C}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;display:flex;flex-direction:column}.btn-detail{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;font-size:15px;font-weight:500;letter-spacing:.3px;border:none;border-radius:6px;background-color:#f5f5f5;color:#555;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-detail:hover{background-color:#e8e8e8;color:#333;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.btn-detail:active{transform:translateY(0);box-shadow:0 1px 4px #0000000f}.btn-detail-primary{background:linear-gradient(135deg,#0056cc,#003d7a);color:#fff;box-shadow:0 2px 8px #0056cc26}.btn-detail-primary:hover{background:linear-gradient(135deg,#003d7a,#002654);box-shadow:0 4px 12px #0056cc47;transform:translateY(-2px)}.btn-detail-primary:active{transform:translateY(-1px);box-shadow:0 2px 6px #0056cc33}.btn-detail-danger{background:linear-gradient(135deg,#d32f2f,#b71c1c);color:#fff;box-shadow:0 2px 8px #d32f2f26}.btn-detail-danger:hover{background:linear-gradient(135deg,#d32f2f,#8b0000);box-shadow:0 4px 12px #d32f2f47;transform:translateY(-2px)}.btn-detail-danger:active{transform:translateY(-1px);box-shadow:0 2px 6px #d32f2f33}.btn-detail:focus-visible{outline:2px solid #1976D2;outline-offset:2px}
