.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.menu-toggle{background:none;border:none;color:var(--text-primary);padding:.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:background-color .2s}.menu-toggle:hover{background-color:var(--bg-tertiary)}.app-title{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:0}.current-program-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:9999px;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #667eea4d}.current-program-badge svg{flex-shrink:0}.header-right{display:flex;align-items:center;gap:1rem}.main-container{display:flex;flex:1;overflow:hidden}.sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-color);width:250px;transition:transform .3s ease,width .3s ease;overflow-y:auto}.sidebar.closed{transform:translate(-250px);width:0}.sidebar-nav{padding:1rem 0}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .2s;font-weight:500;font-size:.9375rem}.nav-item:hover{background-color:var(--bg-secondary);color:var(--text-primary);text-decoration:none}.nav-item.active{background-color:var(--primary-color);color:#fff;position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--primary-dark)}.nav-label{white-space:nowrap}.content{flex:1;overflow-y:auto;padding:2rem;background-color:var(--bg-secondary)}@media(max-width:768px){.app-title{font-size:1.25rem}.sidebar{position:fixed;top:73px;left:0;bottom:0;z-index:99;box-shadow:var(--shadow-lg)}.sidebar.closed{transform:translate(-100%)}.content{padding:1rem}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;padding:3rem 2.5rem;animation:slideUp .4s ease-out}.login-header{text-align:center;margin-bottom:2.5rem}.login-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.login-header p{color:#6b7280;font-size:.9375rem;margin:0}.login-form{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:600;font-size:.9375rem}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .2s cubic-bezier(.4,0,.2,1);background:#f9fafb}.form-group input:hover:not(:disabled){border-color:#d1d5db;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;color:#dc2626;padding:.875rem 1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.login-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #667eea66}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-footer{text-align:center;padding-top:1.5rem;border-top:2px solid #f3f4f6}.login-footer p{margin:.5rem 0;font-size:.8125rem;color:#6b7280}.warning-text{color:#f59e0b!important;font-weight:500}@media(max-width:480px){.login-card{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}}.meeting-notes-history-modal{max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.meeting-notes-history-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.notes-list{display:flex;flex-direction:column;gap:1.5rem}.note-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.note-card:hover{box-shadow:0 2px 8px #0000001a}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.note-date{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--primary-color);font-size:1rem}.note-meta{font-size:.875rem}.note-content{margin-bottom:1rem;color:var(--text-primary);line-height:1.6}.note-content p{margin:.5rem 0;white-space:pre-wrap;word-wrap:break-word}.note-actions{display:flex;gap:.5rem;flex-wrap:wrap}.note-edit-form{display:flex;flex-direction:column;gap:1rem}.note-edit-form .form-group{margin-bottom:0}.note-edit-form .form-textarea{min-height:150px;resize:vertical}.loading-state,.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.btn-sm{padding:.4rem .75rem;font-size:.875rem;display:inline-flex;align-items:center;gap:.375rem}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-hover);border-color:var(--primary-color)}@media(max-width:768px){.meeting-notes-history-modal{max-width:95vw;margin:1rem}.note-header{flex-direction:column;align-items:flex-start;gap:.5rem}.note-actions{flex-direction:column}.note-actions button{width:100%}}.task-comments{margin-top:2rem}.attachments-section,.comments-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.header-left{display:flex;align-items:center;gap:.5rem}.header-left h4{margin:0;font-size:1rem;font-weight:600;color:#333}.attachments-list{display:flex;flex-direction:column;gap:.75rem}.attachment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;transition:all .2s}.attachment-item:hover{background:#e9ecef;border-color:#dee2e6}.attachment-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.attachment-details{display:flex;flex-direction:column;min-width:0}.attachment-name{font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-meta{font-size:.85rem;color:#666}.attachment-actions{display:flex;gap:.5rem}.new-comment-form{margin-bottom:1.5rem}.comment-input-wrapper{position:relative;margin-bottom:.75rem}.comment-input-wrapper textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;min-height:80px}.comment-input-wrapper textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.mention-list{position:fixed;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:1000;min-width:250px}.mention-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:background .2s}.mention-item:hover{background:#f8f9fa}.mention-name{font-weight:500;color:#333;font-size:.9rem}.mention-email{font-size:.8rem;color:#666}.comments-list{display:flex;flex-direction:column;gap:1rem}.comment-item{padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.comment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.comment-author{display:flex;flex-direction:column}.comment-author strong{color:#333;font-size:.95rem}.comment-email{font-size:.8rem;color:#666}.comment-meta{display:flex;align-items:center;gap:.75rem}.comment-date{font-size:.85rem;color:#999}.comment-actions{display:flex;gap:.5rem}.comment-content{color:#333;line-height:1.6;white-space:pre-wrap;word-break:break-word}.mention-highlight{color:#1976d2;font-weight:500;background:#e3f2fd;padding:.1rem .3rem;border-radius:3px}.comment-mentions{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0;font-size:.85rem;color:#666}.edit-comment-form{margin-top:.5rem}.edit-comment-form textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;margin-bottom:.5rem}.edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.empty-state{text-align:center;padding:3rem 2rem;color:#999}.empty-state p{margin:0;font-size:1rem}.btn-icon{background:none;border:none;padding:.25rem;cursor:pointer;color:#666;transition:color .2s}.btn-icon:hover{color:#333}.btn-icon.btn-danger:hover{color:#d32f2f}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#1976d2;color:#fff}.btn-primary:hover:not(:disabled){background:#1565c0}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-sm{padding:.35rem .75rem;font-size:.85rem}@media(max-width:768px){.attachments-section,.comments-section{padding:1rem}.section-header,.attachment-item{flex-direction:column;align-items:flex-start;gap:.75rem}.attachment-actions{align-self:flex-end}.comment-header{flex-direction:column;gap:.5rem}.mention-list{max-width:calc(100vw - 2rem)}}.actual-periods-manager{margin-top:1.5rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.periods-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.periods-header h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.periods-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.period-form{padding:1.5rem;background:var(--bg-primary);border-radius:6px;border:2px solid var(--primary-color);margin-bottom:1.5rem}.period-form h5{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-hint{margin-bottom:1rem;padding:.5rem;background:var(--info-bg);color:var(--info-color);border-radius:4px;font-size:.875rem}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.periods-list{display:flex;flex-direction:column;gap:.75rem}.period-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);transition:all .2s}.period-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.period-index{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;background:var(--primary-color);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.period-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.period-dates{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:var(--text-primary)}.period-dates svg{color:var(--primary-color)}.period-days{color:var(--text-tertiary);font-size:.875rem;font-weight:400}.period-notes{padding:.5rem;background:var(--bg-secondary);border-left:3px solid var(--primary-color);border-radius:4px;font-size:.875rem;color:var(--text-secondary);font-style:italic}.period-meta{font-size:.75rem;color:var(--text-tertiary)}.period-actions{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.btn-icon:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon-danger:hover:not(:disabled){border-color:var(--error-color);color:var(--error-color)}.periods-empty{text-align:center;padding:2rem;color:var(--text-tertiary)}.periods-empty p{margin:.5rem 0}.text-muted{font-size:.875rem;color:var(--text-tertiary)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.periods-stats{grid-template-columns:1fr 1fr}.period-item{flex-direction:column}.period-actions{width:100%;justify-content:flex-end}}.task-phase-manager{margin-top:1.5rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--card-bg)}.phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.phase-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.phases-list{display:flex;flex-direction:column;gap:.75rem}.phase-item{border:1px solid var(--border-color);border-radius:6px;padding:1rem;background-color:var(--bg-secondary);transition:box-shadow .2s}.phase-item:hover{box-shadow:0 2px 8px #0000001a}.phase-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.phase-info{flex:1}.phase-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.phase-color-indicator{width:12px;height:12px;border-radius:50%;display:inline-block}.phase-actions{display:flex;gap:.25rem;align-items:center}.phase-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.phase-detail-item{display:flex;flex-direction:column;gap:.25rem}.phase-detail-item .label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.btn-icon{padding:.25rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column}@media(max-width:768px){.form-row,.phase-details{grid-template-columns:1fr}.phase-item-header{flex-direction:column;gap:.75rem}.phase-actions{width:100%;justify-content:flex-end}}.task-detail-modal{max-width:900px;max-height:90vh;overflow-y:auto}.task-detail-modal .modal-header{position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #e0e0e0;padding:1.5rem}.task-detail-modal .modal-header h2{margin:0 0 .75rem;font-size:1.5rem;color:#333}.task-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.badge-primary{background:#e3f2fd;color:#1976d2}.badge-secondary{background:#f5f5f5;color:#666}.badge-success{background:#e8f5e9;color:#388e3c}.badge-warning{background:#fff3e0;color:#f57c00}.badge-error{background:#ffebee;color:#d32f2f}.badge-info{background:#e3f2fd;color:#0288d1}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;padding:.5rem;cursor:pointer;color:#666;transition:color .2s}.task-section{margin-bottom:2rem}.task-section h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#333}.task-description,.task-notes{color:#666;line-height:1.6;white-space:pre-wrap}.task-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.detail-item{padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.detail-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:#666}.detail-value{font-weight:500;color:#333;display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1976d2,#42a5f5);transition:width .3s ease}.allocations-list{display:flex;flex-direction:column;gap:.75rem}.allocation-item{padding:.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.allocation-resource{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#333;margin-bottom:.25rem}.allocation-details{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666}.text-separator{color:#ccc}.alert{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem}.alert-warning{background:#fff3e0;color:#f57c00;border:1px solid #ffe0b2}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#999}.spinner{border:3px solid #f3f3f3;border-top:3px solid #1976d2;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}@media(max-width:768px){.task-detail-modal{max-width:100%;max-height:100vh;border-radius:0}.task-details-grid{grid-template-columns:1fr}.modal-header h2{font-size:1.25rem;padding-right:2rem}.task-badges{flex-wrap:wrap}}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h2{margin:0;font-size:1.75rem}.dashboard-header p{font-size:.875rem}@media(max-width:1400px){.stats-grid{grid-template-columns:repeat(3,1fr)}}.stat-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.375rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;min-height:80px}.stat-icon{display:none}.stat-content{flex:1;display:flex;flex-direction:column;gap:.25rem;text-align:left}.stat-title{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin:0;line-height:1.3;text-align:left}.stat-value{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2;text-align:left}.stat-detail{font-size:.7rem;color:var(--text-secondary);margin:0;line-height:1.3;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.project-link{font-weight:500;color:var(--primary-color)}.project-link:hover{text-decoration:underline}.progress-bar-container{position:relative;width:100%;height:1.5rem;background-color:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-md);transition:width .3s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--text-primary)}.custom-tooltip{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;min-width:250px}.tooltip-title{font-weight:600;font-size:.95rem;color:#333;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.tooltip-content{display:flex;flex-direction:column;gap:6px}.tooltip-item{display:flex;justify-content:space-between;align-items:center;margin:0;font-size:.9rem}.tooltip-label{color:#666;font-weight:500}.tooltip-value{color:#333;font-weight:600}.tooltip-value.text-error{color:#d32f2f}.tooltip-value.text-warning{color:#f57c00}.tooltip-value.text-success{color:#388e3c}.timeline-tooltip{min-width:320px;max-width:400px}.timeline-tooltip .tooltip-title{font-size:.9rem;line-height:1.3}.timeline-tooltip .tooltip-item{font-size:.85rem;gap:12px}.timeline-tooltip .tooltip-label{flex-shrink:0;min-width:110px}.timeline-tooltip .tooltip-value{text-align:right;flex:1}.cost-tracking-table-container{overflow-x:auto;font-size:.8125rem}.cost-tracking-table{font-size:.8125rem;white-space:nowrap}.cost-tracking-table thead th{padding:.5rem .4rem;font-size:.75rem;font-weight:600;white-space:normal;line-height:1.2}.cost-tracking-table tbody td{padding:.4rem;font-size:.8125rem;vertical-align:middle}.cost-tracking-table .text-sm{font-size:.75rem}.cost-tracking-table .text-xs{font-size:.7rem}.cost-tracking-table .badge{font-size:.7rem;padding:.15rem .4rem;white-space:nowrap}.cost-tracking-table .font-semibold{font-weight:600}.cost-tracking-table .progress-bar-container{height:1rem;min-width:60px}.cost-tracking-table .progress-text{font-size:.65rem}.cost-tracking-table-container{max-width:100%}.cost-tracking-table tbody tr.totals-row td{padding:.6rem .4rem;font-size:.8125rem}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-grid,.charts-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.custom-tooltip{min-width:200px;padding:10px}.tooltip-title{font-size:.85rem}.tooltip-item{font-size:.8rem}}.table tbody tr.totals-row{background-color:#f5f5f5;font-weight:700;border-top:2px solid #ddd}.table tbody tr.totals-row td{padding:12px;font-size:1rem}.table tbody tr.totals-row:hover{background-color:#f5f5f5!important}.projects-page{max-width:1400px;margin:0 auto}.page-header h2{margin:0}.filters-bar{display:flex;gap:1rem;margin-bottom:2rem}.search-box{flex:1;position:relative;display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.search-box input{border:none;padding:0;background:none}.search-box input:focus{box-shadow:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.project-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s;display:flex;flex-direction:column;gap:1rem;text-decoration:none;color:inherit}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-card-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.project-card-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-stats{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.stat-label{color:var(--text-secondary);min-width:70px}.stat-value{font-weight:600;color:var(--text-primary)}.progress-bar-small{flex:1;height:.5rem;background-color:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-sm);transition:width .3s}.project-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.project-card-actions{display:flex;gap:.5rem;width:100%;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.project-card-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.btn-icon{background:none;border:none;color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.btn-icon:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.gantt-container{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.gantt-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary);display:flex;justify-content:space-between;align-items:center}.gantt-scale-selector{display:flex;gap:.5rem}.scale-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all .2s}.scale-btn:hover{background-color:var(--bg-secondary)}.scale-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.gantt-wrapper{display:flex;overflow-x:auto;overflow-y:auto;max-height:600px}.gantt-sidebar{min-width:250px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);position:sticky;left:0;z-index:10}.gantt-sidebar-header{padding:1rem;font-weight:600;border-bottom:2px solid var(--border-color);background-color:var(--bg-tertiary);height:60px;display:flex;align-items:center}.gantt-sidebar-row{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);height:60px;display:flex;align-items:center;background-color:var(--bg-primary)}.task-name{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.task-assignee{color:var(--primary-color)}.task-progress{color:var(--success-color);font-weight:600}.gantt-chart{flex:1;position:relative;min-width:800px}.gantt-timeline{display:flex;border-bottom:2px solid var(--border-color);background-color:var(--bg-tertiary);position:sticky;top:0;z-index:5}.timeline-column{min-width:60px;border-right:1px solid var(--border-color);flex-shrink:0}.timeline-header{padding:.5rem;text-align:center;height:60px;display:flex;flex-direction:column;justify-content:center}.timeline-month{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.timeline-day{font-size:.875rem;font-weight:700;color:var(--text-primary)}.gantt-grid{position:relative}.gantt-row{position:relative;height:60px;border-bottom:1px solid var(--border-color)}.gantt-row:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 59px,var(--border-color) 59px,var(--border-color) 60px);pointer-events:none}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:32px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;display:flex;align-items:center;padding:0 .75rem;box-shadow:var(--shadow-sm);overflow:hidden}.gantt-bar:hover{transform:translateY(-50%) scale(1.02);box-shadow:var(--shadow-md);z-index:10}.gantt-bar-progress{position:absolute;left:0;top:0;bottom:0;background-color:#ffffff4d;border-right:2px solid rgba(255,255,255,.5);pointer-events:none}.gantt-bar-label{font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;z-index:1}.gantt-bar-actual{height:20px;top:10px;transform:none}.gantt-legend{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-tertiary);display:flex;gap:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.legend-color{width:1.5rem;height:1.5rem;border-radius:var(--radius-sm)}.gantt-empty{padding:3rem;text-align:center;color:var(--text-secondary)}.leave-row-sidebar{background-color:#fef3c7!important;border-left:3px solid #f59e0b}.leave-name{font-size:.875rem;font-weight:500;color:#92400e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-task-ref{font-size:.7rem;color:#78350f;font-style:italic}.leave-days{color:#f59e0b;font-weight:600}.gantt-row.leave-row{background-color:#fef3c7}.gantt-leave-bar{background:repeating-linear-gradient(45deg,#fbbf24,#fbbf24 10px,#fde68a 10px,#fde68a 20px)!important;border:2px solid #f59e0b;opacity:.9!important}.gantt-leave-bar:hover{box-shadow:0 4px 8px #f59e0b80;transform:translateY(-50%) scale(1.03)}.gantt-leave-bar .gantt-bar-label{color:#78350f;text-shadow:0 1px 2px rgba(255,255,255,.9);font-weight:700}@media(max-width:768px){.gantt-sidebar{min-width:200px}.timeline-column{min-width:40px}.gantt-legend{flex-direction:column;gap:.5rem}}.smart-task-insertion-modal{width:90vw;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.smart-task-insertion-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;transition:opacity .3s ease}.step.active{opacity:1}.step.completed{opacity:.8}.step-number{width:32px;height:32px;border-radius:50%;background:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease}.step.active .step-number{background:var(--primary-color);color:#fff}.step.completed .step-number{background:var(--success-color);color:#fff}.step-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.step.active .step-label{color:var(--text-primary)}.step-divider{width:60px;height:2px;background:var(--border-color);margin:0 1rem}.smart-insertion-input{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.section-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.resource-allocation-row{display:grid;grid-template-columns:1fr 150px 40px;gap:.75rem;align-items:end;padding:.75rem;background:var(--bg-primary);border-radius:6px;margin-bottom:.75rem}.allocation-resource,.allocation-percentage{display:flex;flex-direction:column;gap:.25rem}.allocation-percentage{min-width:100px}.allocation-percentage input{width:100%;min-width:100px}.allocation-actions{display:flex;align-items:center;justify-content:center}.no-conflicts{text-align:center;padding:3rem 2rem}.success-icon{color:var(--success-color);margin-bottom:1rem;animation:scaleIn .4s ease-out}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.no-conflicts h3{color:var(--success-color);margin-bottom:.5rem}.no-conflicts p{color:var(--text-secondary);margin-bottom:2rem}.task-summary{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:left}.task-summary h4{margin:0 0 1rem;font-size:1rem}.task-summary ul{list-style:none;padding:0;margin:0}.task-summary li{padding:.5rem 0;border-bottom:1px solid var(--border-color)}.task-summary li:last-child{border-bottom:none}.conflicts-display{display:flex;flex-direction:column;gap:1.5rem}.conflict-header{text-align:center;padding:2rem;background:linear-gradient(135deg,#ef44441a,#ef44440d);border-radius:8px;border:1px solid rgba(239,68,68,.2)}.conflict-icon{color:var(--error-color);margin-bottom:1rem}.conflict-header h3{color:var(--error-color);margin:0 0 .5rem}.conflict-summary{color:var(--text-secondary);margin:0}.conflicts-list{display:flex;flex-direction:column;gap:1.5rem}.conflict-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.conflict-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.conflict-card-header h4{margin:0;font-size:1.125rem;color:var(--text-primary)}.conflict-badges{display:flex;gap:.5rem}.conflict-card-body{padding:1.5rem}.conflict-heatmap{background:var(--bg-primary);padding:1rem;border-radius:6px;margin-bottom:1.5rem}.heatmap-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.heatmap-header h5{margin:0;font-size:1rem;color:var(--text-primary)}.heatmap-legend{display:flex;align-items:center;gap:1rem;font-size:.75rem;flex-wrap:wrap}.legend-label{font-weight:600;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid var(--border-color)}.legend-color.intensity-low{background:#fef3c7}.legend-color.intensity-medium{background:#fed7aa}.legend-color.intensity-high{background:#fecaca}.legend-color.intensity-critical{background:#fca5a5}.heatmap-grid{display:flex;flex-direction:column;gap:1rem}.heatmap-week{display:flex;flex-direction:column;gap:.5rem}.week-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.week-days{display:flex;gap:.5rem;flex-wrap:wrap}.heatmap-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border-radius:6px;min-width:70px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--border-color)}.heatmap-cell:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.heatmap-cell.intensity-low{background:#fef3c7;color:#92400e}.heatmap-cell.intensity-medium{background:#fed7aa;color:#9a3412}.heatmap-cell.intensity-high{background:#fecaca;color:#991b1b}.heatmap-cell.intensity-critical{background:#fca5a5;color:#7f1d1d;font-weight:600}.cell-day{font-size:.75rem;font-weight:600;text-transform:uppercase}.cell-date{font-size:1.25rem;font-weight:700;margin:.25rem 0}.cell-percentage{font-size:.75rem;font-weight:600}.heatmap-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.summary-stat{text-align:center}.summary-stat strong{display:block;font-size:1.5rem;color:var(--primary-color);margin-bottom:.25rem}.summary-stat span{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.conflicting-tasks-section{margin-top:1.5rem}.conflicting-tasks-section h5{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.conflicting-tasks-list{display:flex;flex-direction:column;gap:.5rem}.conflicting-task-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:6px;border-left:3px solid var(--warning-color)}.task-info{display:flex;flex-direction:column;gap:.25rem}.task-info strong{color:var(--text-primary);font-size:.875rem}.task-info .text-secondary{font-size:.75rem}.task-allocation{font-weight:600;color:var(--warning-color);font-size:.875rem}.phase-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;color:var(--info-color);font-size:.875rem}.phase-notice svg{flex-shrink:0}.spinner{animation:spin 1s linear infinite}@media(max-width:768px){.smart-task-insertion-modal{width:95vw;max-height:95vh}.resource-allocation-row{grid-template-columns:1fr;gap:.5rem}.allocation-actions{justify-content:flex-start}.heatmap-summary{grid-template-columns:1fr}.week-days{justify-content:flex-start}.heatmap-cell{min-width:60px}}.smart-insertion-preview{padding:1.5rem}.preview-header{margin-bottom:1.5rem}.preview-header h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.preview-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:var(--info-color);font-size:.875rem}.preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.summary-card{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.summary-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.summary-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.preview-section{margin-bottom:1.5rem}.preview-section h4{margin:0 0 1rem;font-size:1rem;color:var(--text-primary);font-weight:600}.task-details-card{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:var(--text-secondary)}.detail-value{color:var(--text-primary);font-weight:500}.tasks-update-table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color)}.tasks-update-table{width:100%;border-collapse:collapse}.tasks-update-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.tasks-update-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.tasks-update-table tbody tr:hover{background:var(--bg-secondary)}.tasks-update-table .cascaded-row{background:#3b82f60d}.badge-direct{display:inline-block;padding:.25rem .5rem;background:#22c55e1a;color:#16a34a;border-radius:4px;font-size:.75rem;font-weight:600}.badge-cascaded{display:inline-block;padding:.25rem .5rem;background:#3b82f61a;color:var(--info-color);border-radius:4px;font-size:.75rem;font-weight:600}.cascade-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cascade-stat{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.cascade-stat .stat-label{font-size:.75rem;color:var(--text-secondary)}.cascade-stat .stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.preview-success{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#16a34a;font-weight:500;margin-bottom:1.5rem}@media(max-width:768px){.preview-summary{grid-template-columns:repeat(2,1fr)}.cascade-stats{grid-template-columns:1fr}}.strategy-selector{padding:20px;background:#fff;border-radius:8px}.strategy-selector-header{margin-bottom:20px}.strategy-selector-header h3{margin:0 0 5px;font-size:20px;font-weight:600;color:#1a202c}.strategy-count{margin:0;font-size:14px;color:#718096}.strategy-selector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#718096;gap:12px}.strategies-list{display:flex;flex-direction:column;gap:16px}.strategy-card{border:2px solid #e2e8f0;border-radius:8px;background:#fff;transition:all .2s ease}.strategy-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014}.strategy-card.selected{border-color:#4299e1;background:#ebf8ff}.strategy-card.recommended{border-color:#48bb78}.strategy-card.recommended .strategy-header{background:#f0fff4}.strategy-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;cursor:pointer;-webkit-user-select:none;user-select:none}.strategy-header-left{flex:1}.strategy-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.strategy-title-row h4{margin:0;font-size:18px;font-weight:600;color:#2d3748}.strategy-description{margin:0 0 12px;font-size:14px;color:#4a5568;line-height:1.5}.strategy-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.impact-score{font-size:13px;color:#718096}.impact-score strong{color:#2d3748;font-weight:600}.strategy-type-badge{padding:4px 12px;background:#edf2f7;border-radius:12px;font-size:12px;color:#4a5568;text-transform:capitalize}.strategy-header-right{display:flex;align-items:center;color:#718096}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-recommended{background:#c6f6d5;color:#22543d}.badge-moderate{background:#feebc8;color:#7c2d12}.badge-high-impact{background:#fed7d7;color:#742a2a}.badge-flexible{background:#e6fffa;color:#234e52}.strategy-details{padding:0 16px 16px;border-top:1px solid #e2e8f0;margin-top:8px}.pros-cons-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.pros-column h5,.cons-column h5{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:14px;font-weight:600}.pros-title{color:#22543d}.cons-title{color:#742a2a}.icon-pros{color:#48bb78}.icon-cons{color:#f56565}.pros-list,.cons-list{margin:0;padding-left:20px}.pros-list li,.cons-list li{margin-bottom:6px;font-size:13px;line-height:1.5}.pros-list li{color:#2f855a}.cons-list li{color:#c53030}.strategy-specifics{margin:16px 0;padding:16px;background:#f7fafc;border-radius:6px}.strategy-specifics h5{margin:0 0 12px;font-size:15px;font-weight:600;color:#2d3748}.tasks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.summary-stat{display:flex;flex-direction:column;gap:4px;padding:10px;background:#fff;border-radius:4px;border:1px solid #e2e8f0}.stat-label{font-size:12px;color:#718096}.stat-value{font-size:18px;font-weight:600;color:#2d3748}.tasks-table-container,.adjustments-table-container{overflow-x:auto}.tasks-table,.adjustments-table{width:100%;border-collapse:collapse;font-size:13px}.tasks-table th,.adjustments-table th{text-align:left;padding:10px;background:#edf2f7;color:#4a5568;font-weight:600;border-bottom:2px solid #cbd5e0}.tasks-table td,.adjustments-table td{padding:10px;border-bottom:1px solid #e2e8f0;color:#2d3748}.tasks-table tbody tr:hover,.adjustments-table tbody tr:hover{background:#f7fafc}.table-note,.list-note{margin:8px 0 0;font-size:12px;color:#718096;text-align:center}.replacement-group{margin-bottom:16px}.replacement-group:last-child{margin-bottom:0}.replacement-header{margin:0 0 10px;font-size:14px;color:#4a5568}.replacement-header strong{color:#2d3748}.alternatives-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.alternative-card{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;transition:border-color .2s ease}.alternative-card:hover{border-color:#4299e1}.alt-name{font-weight:600;color:#2d3748;margin-bottom:6px}.alt-stats{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#718096}.manual-tasks-list{display:flex;flex-direction:column;gap:10px}.manual-task-card{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:4px}.manual-task-card .task-name{font-weight:600;color:#2d3748;margin-bottom:6px}.manual-task-card .task-info{display:flex;gap:12px;font-size:12px;color:#718096;flex-wrap:wrap}.strategy-actions{margin-top:16px;display:flex;justify-content:flex-end}.btn-select-strategy{padding:10px 24px;background:#4299e1;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-select-strategy:hover{background:#3182ce;transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d}.btn-select-strategy.selected{background:#48bb78}.btn-select-strategy.selected:hover{background:#38a169}@media(max-width:768px){.pros-cons-section,.tasks-summary,.alternatives-list{grid-template-columns:1fr}.strategy-meta{flex-direction:column;align-items:flex-start;gap:8px}}.resource-replacement-modal{max-width:900px;max-height:90vh;overflow-y:auto}.resource-replacement-modal .modal-body{padding:1.5rem}.resource-replacement-modal .section{margin-bottom:2rem}.resource-replacement-modal .section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.resource-replacement-modal .form-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end}.resource-replacement-modal .replacement-arrow{display:flex;align-items:center;justify-content:center;padding-bottom:.5rem;color:var(--primary-color)}.scope-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.radio-card{position:relative;border:2px solid var(--border-color);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;gap:.75rem}.radio-card:hover{border-color:var(--primary-color);background-color:var(--bg-secondary)}.radio-card input[type=radio]{margin-top:.25rem;flex-shrink:0}.radio-card input[type=radio]:checked~.radio-card-content{color:var(--primary-color)}.radio-card input[type=radio]:checked{accent-color:var(--primary-color)}.radio-card:has(input[type=radio]:checked){border-color:var(--primary-color);background-color:var(--primary-light)}.radio-card-content{flex:1}.radio-card-title{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.radio-card-description{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.task-selection{border:1px solid var(--border-color);border-radius:8px;padding:1rem;background-color:var(--bg-secondary)}.task-list{max-height:300px;overflow-y:auto;margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.task-item:hover{border-color:var(--primary-color);background-color:var(--primary-light)}.task-item input[type=checkbox]{margin-top:.25rem;flex-shrink:0;cursor:pointer}.task-info{flex:1}.task-name{font-weight:500;font-size:.9rem;margin-bottom:.25rem}.task-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.task-meta .badge{font-size:.75rem;padding:.15rem .5rem}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary)}.preview-section{display:flex;justify-content:center;margin:2rem 0}.preview-section .btn-lg{min-width:200px}.preview-results{background-color:var(--bg-secondary);border:2px solid var(--primary-color);border-radius:12px;padding:1.5rem;margin-top:2rem}.preview-results .section-title{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.1rem}.impact-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.impact-stat{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;text-align:center}.impact-stat.highlight{border-color:var(--primary-color);background-color:var(--primary-light)}.impact-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.impact-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.impact-value.cost-increase{color:#dc3545}.impact-value.cost-decrease{color:#28a745}.impact-value .percentage{font-size:.9rem;font-weight:600;margin-left:.5rem}.affected-tasks{margin-top:1.5rem}.affected-tasks h5{font-size:.95rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.affected-tasks .table-container{background-color:var(--bg-primary);border-radius:8px;overflow:hidden;margin-bottom:.5rem}.affected-tasks .table{margin:0;font-size:.85rem}.affected-tasks .table th{background-color:var(--bg-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;padding:.75rem}.affected-tasks .table td{padding:.65rem .75rem}.affected-tasks .table tbody tr{border-bottom:1px solid var(--border-color)}.affected-tasks .table tbody tr:last-child{border-bottom:none}.affected-tasks .cost-increase{color:#dc3545;font-weight:600}.affected-tasks .cost-decrease{color:#28a745;font-weight:600}@media(max-width:768px){.resource-replacement-modal{max-width:95%;margin:1rem auto}.resource-replacement-modal .form-row{grid-template-columns:1fr}.resource-replacement-modal .replacement-arrow{transform:rotate(90deg);padding:.5rem 0}.scope-options{grid-template-columns:1fr}.impact-summary{grid-template-columns:repeat(2,1fr)}.affected-tasks .table-container{overflow-x:auto}.affected-tasks .table{min-width:600px}}.resource-replacement-modal .checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;margin-bottom:.5rem}.resource-replacement-modal .checkbox-label input[type=checkbox]{margin-top:.15rem;cursor:pointer}.resource-replacement-modal .checkbox-label span{font-weight:500}.resource-replacement-modal .alert{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.resource-replacement-modal .alert-error{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029}.resource-replacement-modal button:disabled{opacity:.6;cursor:not-allowed}.allocation-matrix-page{margin:-2rem;padding:1rem;width:calc(100% + 4rem);min-height:100vh}@media(max-width:768px){.allocation-matrix-page{margin:-1rem;width:calc(100% + 2rem)}}.page-subtitle{color:var(--color-text-secondary);margin-top:.5rem;font-size:.9375rem}.header-actions{display:flex;gap:.75rem;flex-shrink:0}.filter-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem;color:var(--color-text-primary)}.filter-select{padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.375rem;font-size:1rem;background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all .2s;max-width:400px}.resource-summary{display:flex;gap:1rem;padding:1.25rem;background:var(--color-bg-secondary);border:2px solid var(--color-primary);border-radius:.5rem;margin-top:1rem;align-items:flex-start}.resource-summary svg{flex-shrink:0;color:var(--color-primary)}.resource-summary-content{flex:1}.resource-summary-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.resource-summary-header strong{font-size:1.125rem;color:var(--color-text-primary)}.resource-summary-stats{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;margin-bottom:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;line-height:1}.stat-value.normal{color:#10b981}.stat-value.overallocated{color:#ef4444}.stat-value.optimal{color:#10b981}.stat-value.acceptable{color:#f59e0b}.stat-value.underutilized{color:#ef4444}.stat-value-secondary{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.date-range-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem;background:var(--color-bg-primary);border-radius:.375rem}.overallocation-alert{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.overallocation-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.9375rem;margin-bottom:1rem}.overallocation-warning strong{font-weight:700}.overallocated-periods{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.375rem;padding:1rem}.utilization-summary{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem;width:100%;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.utilization-summary h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.utilization-summary h3:before{content:"📊";font-size:1.5rem}.summary-subtitle{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1rem}.utilization-table{width:100%;min-width:100%;border-collapse:collapse;font-size:.9375rem;table-layout:fixed}.utilization-table thead{background:var(--color-bg-secondary)}.utilization-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border)}.utilization-table th:nth-child(1){width:30%}.utilization-table th:nth-child(2){width:20%}.utilization-table th:nth-child(3){width:20%}.utilization-table th:nth-child(4){width:15%}.utilization-table th:nth-child(5){width:15%}.utilization-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.utilization-table tbody tr:hover{background:var(--color-bg-secondary)}.utilization-table tfoot{background:var(--color-bg-secondary);font-weight:600}.utilization-table tfoot td{border-top:2px solid var(--color-border);border-bottom:none}.utilization-cell.optimal{color:#10b981;font-weight:700}.utilization-cell.acceptable{color:#f59e0b;font-weight:700}.utilization-cell.underutilized{color:#ef4444;font-weight:700}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.status-badge.optimal{background:#d1fae5;color:#065f46}.status-badge.acceptable{background:#fef3c7;color:#92400e}.status-badge.underutilized{background:#fee2e2;color:#991b1b}.utilization-breakdown{margin-top:1.5rem;padding:1rem;background:var(--color-bg-secondary);border-radius:.375rem;border:1px solid var(--color-border)}.breakdown-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.breakdown-header strong{font-size:1rem;color:var(--color-text-primary)}.breakdown-subtitle{font-size:.875rem;color:var(--color-text-secondary)}.breakdown-table{width:100%;border-collapse:collapse;font-size:.875rem}.breakdown-table thead{background:var(--color-bg-primary)}.breakdown-table th{padding:.625rem .75rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.breakdown-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border)}.breakdown-table tbody tr:hover{background:var(--color-bg-primary)}.task-cell{display:flex;flex-direction:column;gap:.125rem}.task-name{font-weight:600;color:var(--color-text-primary)}.project-name{font-size:.8125rem;color:var(--color-text-secondary)}.center-cell{text-align:center}.right-cell{text-align:right}.contribution-value{font-weight:700;color:var(--color-primary)}.breakdown-table tfoot{background:var(--color-bg-primary);font-weight:600}.breakdown-table tfoot td{border-top:2px solid var(--color-border);border-bottom:none;padding:.75rem}.breakdown-table tfoot .optimal{color:#10b981}.breakdown-table tfoot .acceptable{color:#f59e0b}.breakdown-table tfoot .underutilized{color:#ef4444}.impact-input-wrapper{position:relative;display:inline-flex;align-items:center;gap:.25rem}.impact-input{width:70px;padding:.375rem .5rem;border:2px solid var(--color-border);border-radius:.375rem;font-size:.875rem;font-weight:600;text-align:right;transition:all .2s;background:var(--color-bg-primary);color:var(--color-text-primary)}.impact-input:hover{border-color:var(--color-primary);background:#f0f9ff}.impact-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;background:#fff}.impact-input.edited{border-color:#10b981;background:#f0fdf4}.impact-input.error{border-color:#ef4444;background:#fef2f2}.impact-unit{font-weight:600;color:var(--color-text-secondary);font-size:.875rem;-webkit-user-select:none;user-select:none}.breakdown-table .center-cell:has(.impact-input){background:linear-gradient(to right,transparent,rgba(59,130,246,.03),transparent)}.breakdown-table tbody tr:hover .center-cell:has(.impact-input){background:linear-gradient(to right,transparent,rgba(59,130,246,.08),transparent)}.capacity-row{background:#f9fafb!important;font-weight:400!important}.capacity-row td{padding:.625rem .75rem!important;border-top:1px solid var(--color-border)!important}.capacity-label{color:var(--color-text-secondary);font-weight:500}.gap-row{background:#fef3c7!important}.gap-row td{padding:.625rem .75rem!important;border-top:1px solid #f59e0b!important}.gap-label{color:#92400e;font-weight:600}.gap-value{color:#92400e;font-weight:700}.periods-header{font-weight:600;font-size:.875rem;color:var(--color-text-primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.period-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-bg-secondary);border:1px solid #fecaca;border-left:3px solid #ef4444;border-radius:.375rem;margin-bottom:.5rem}.period-item:last-child{margin-bottom:0}.period-dates{font-size:.9375rem;color:var(--color-text-primary);font-weight:500}.period-peak{font-size:.875rem;font-weight:700;color:#ef4444;padding:.25rem .75rem;background:#fef2f2;border-radius:9999px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--color-text-secondary)}.loading-state .spin{animation:spin 1s linear infinite;margin-bottom:1rem;color:var(--color-primary)}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid}.alert-error{background:#fef2f2;border-color:#fecaca;color:#dc2626}.alert-warning{background:#fffbeb;border-color:#fde68a;color:#d97706}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.matrix-container{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.5rem;overflow-x:auto;overflow-y:hidden;margin-bottom:2rem;width:100%;margin-top:2rem;box-shadow:0 1px 3px #0000001a;position:relative}.matrix-container:before{content:"📝 Allocation Matrix - Edit Resource Allocations";display:block;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.125rem;font-weight:700;border-radius:.5rem .5rem 0 0;margin:-1px -1px 0}.matrix-container>*{width:100%}.matrix-header{display:block;width:100%;background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.header-row{display:grid;grid-template-columns:minmax(250px,3fr) minmax(150px,2fr) minmax(120px,1.5fr) minmax(180px,2.5fr) minmax(120px,1.5fr) minmax(80px,1fr);gap:1rem;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);width:100%}.matrix-body{display:block;width:100%;max-height:calc(100vh - 400px);overflow-y:auto}.col-project,.col-resource,.col-role,.col-dates,.col-allocation,.col-subtotal{display:flex;align-items:center}.col-allocation{justify-content:flex-start}.col-subtotal{justify-content:flex-end}.project-section{display:block;width:100%;border-bottom:1px solid var(--color-border)}.project-row{display:grid;grid-template-columns:minmax(250px,3fr) minmax(150px,2fr) minmax(120px,1.5fr) minmax(180px,2.5fr) minmax(120px,1.5fr) minmax(80px,1fr);gap:1rem;padding:1rem 1.5rem;cursor:pointer;transition:background .2s;font-weight:600;border-left:4px solid transparent;width:100%;clear:both}.project-row:hover{background:var(--color-bg-secondary)}.project-name{margin-left:.5rem;font-size:1rem}.task-count{margin-left:.5rem;font-size:.875rem;color:var(--color-text-secondary);font-weight:400}.task-section{display:block;width:100%;background:var(--color-bg-secondary)}.task-row{display:grid;grid-template-columns:minmax(250px,3fr) minmax(150px,2fr) minmax(120px,1.5fr) minmax(180px,2.5fr) minmax(120px,1.5fr) minmax(80px,1fr);gap:1rem;padding:.875rem 1.5rem;cursor:pointer;transition:background .2s;border-left:4px solid transparent;width:100%;clear:both}.task-row:hover{background:var(--color-bg-primary)}.task-row .indent{padding-left:2rem;display:flex;align-items:center;gap:.5rem}.task-name{font-size:.9375rem}.allocation-row{display:grid;grid-template-columns:minmax(250px,3fr) minmax(150px,2fr) minmax(120px,1.5fr) minmax(180px,2.5fr) minmax(120px,1.5fr) minmax(80px,1fr);gap:1rem;padding:.875rem 1.5rem;border-bottom:1px solid var(--color-border);transition:background .2s;width:100%;background:#fafbfc;clear:both;box-sizing:border-box}.allocation-row .col-project{padding-left:3rem}.allocation-row .col-resource{font-weight:500;color:var(--color-text-primary)}.allocation-row:last-child{border-bottom:none}.allocation-row:hover{background:var(--color-bg-secondary)}.allocation-row.edited{background:#f0f9ff}.allocation-row.error{background:#fef2f2}.resource-name{font-weight:500}.role-badge{background:var(--color-bg-secondary);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.date-range{font-size:.875rem;color:var(--color-text-secondary)}.date-range.small{font-size:.8125rem}.allocation-input-group{display:flex;align-items:center;gap:.5rem;position:relative;max-width:120px}.allocation-input{width:80px;padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:.375rem;font-size:.9375rem;font-weight:600;text-align:right;transition:all .2s}.allocation-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.allocation-input.edited{border-color:var(--color-success);background:#f0fdf4}.allocation-input.error{border-color:var(--color-danger);background:#fef2f2}.percent-symbol{font-weight:600;color:var(--color-text-secondary)}.error-message{position:absolute;top:100%;left:0;margin-top:.25rem;font-size:.75rem;color:var(--color-danger);white-space:nowrap}.matrix-footer{display:block;width:100%;background:var(--color-bg-secondary);border-top:2px solid var(--color-border)}.footer-row{display:grid;grid-template-columns:minmax(250px,3fr) minmax(150px,2fr) minmax(120px,1.5fr) minmax(180px,2.5fr) minmax(120px,1.5fr) minmax(80px,1fr);gap:1rem;padding:1rem 1.5rem;font-weight:700;font-size:1rem;width:100%;clear:both}.grand-total{font-size:1.125rem;color:var(--color-primary)}.allocation-normal{border-left-color:#10b981}.allocation-normal .col-subtotal strong,.allocation-normal .allocation-input{color:#10b981}.allocation-underallocated{border-left-color:#fbbf24;background-color:#fbbf240d}.allocation-underallocated .col-subtotal strong,.allocation-underallocated .allocation-input{color:#f59e0b}.allocation-overallocated{border-left-color:#ef4444;background-color:#ef44440d}.allocation-overallocated .col-subtotal strong,.allocation-overallocated .allocation-input{color:#ef4444}.subtotal-display{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.subtotal-display strong{font-size:.9375rem}.subtotal-display .text-muted-sm{font-size:.75rem;color:var(--color-text-secondary);font-weight:400}.matrix-legend{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-top:2rem}.matrix-legend h4{margin:0 0 1rem;font-size:.9375rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.legend-items{display:flex;gap:2rem}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-color{width:32px;height:20px;border-radius:.25rem;border:1px solid rgba(0,0,0,.1)}.legend-color.allocation-normal{background:#10b981}.legend-color.allocation-underallocated{background:#fbbf24}.legend-color.allocation-overallocated{background:#ef4444}.legend-note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem}.badge-sm{padding:.125rem .5rem;font-size:.6875rem}.badge-secondary{background:#e5e7eb;color:#6b7280}.badge-info{background:#dbeafe;color:#2563eb}.text-muted{color:var(--color-text-secondary);font-size:.875rem}.text-success{color:var(--color-success)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.empty-state h3{margin:1rem 0 .5rem;color:var(--color-text-primary)}@media(max-width:1200px){.header-row,.project-row,.task-row,.allocation-row,.footer-row{font-size:.8125rem}.project-name{font-size:.9375rem}.task-name{font-size:.875rem}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:stretch}.header-actions button{flex:1}.filter-select{max-width:100%}.resource-summary{flex-direction:column}.resource-summary-stats{flex-direction:column;align-items:flex-start;gap:1.25rem}.period-item{flex-direction:column;align-items:flex-start;gap:.5rem}.matrix-container{overflow-x:auto;border-radius:.25rem}.legend-items{flex-direction:column;gap:.75rem}}.leaves-management-page{padding:2rem}.leave-calendar{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h3{margin:0;font-size:1.25rem;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day-header{text-align:center;font-weight:600;padding:.5rem;background-color:var(--color-bg-secondary);border-radius:.375rem;font-size:.875rem}.calendar-day{min-height:80px;border:1px solid var(--color-border);border-radius:.375rem;padding:.5rem;background-color:var(--color-bg-primary);position:relative}.calendar-day.empty{background-color:var(--color-bg-secondary);border-color:transparent}.calendar-day.has-leave{background-color:#fef3c7;border-color:#f59e0b}.day-number{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.day-leaves{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.leave-badge{background-color:#3b82f6;color:#fff;font-size:.75rem;padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.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;padding:1rem}.modal-content{background-color:var(--color-bg-primary);border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-secondary);transition:color .2s}.modal-close:hover{color:var(--color-text-primary)}.alert{padding:1rem;border-radius:.375rem;border:1px solid}.alert-success{background-color:#d1fae5;border-color:#10b981;color:#065f46}.alert-warning{background-color:#fef3c7;border-color:#f59e0b;color:#78350f}.alert-info{background-color:#dbeafe;border-color:#3b82f6;color:#1e40af}@media(max-width:768px){.leaves-management-page{padding:1rem}.calendar-grid{gap:.25rem}.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.75rem}.leave-badge{font-size:.625rem;padding:.125rem .25rem}.modal-content{max-height:95vh}}.resource-leveling-page{padding:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.stat-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}.stat-icon{width:48px;height:48px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.5rem}.stat-detail{font-size:.875rem;color:var(--color-text-secondary)}.overallocation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:1.5rem}.overallocation-card{background:var(--color-bg-primary);border:2px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:.5rem;padding:1.25rem;cursor:pointer;transition:all .2s}.overallocation-card.allocation-overallocated{border-left-color:#ef4444;background-color:#ef444408}.overallocation-card.allocation-underallocated{border-left-color:#fbbf24;background-color:#fbbf2408}.overallocation-card.allocation-normal{border-left-color:#10b981;background-color:#10b98108}.overallocation-card:hover{border-color:var(--color-primary);box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.overallocation-card.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 4px 12px #3b82f64d}.utilization-badges{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.resource-metrics{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.metric-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.metric-label{font-weight:500}.metric-value{font-weight:600;color:var(--color-text-primary)}.overallocation-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:.5rem}.overallocation-fill{height:100%;border-radius:4px;transition:width .3s}.overallocation-fill.allocation-overallocated{background:linear-gradient(to right,#ef4444,#dc2626)}.overallocation-fill.allocation-underallocated{background:linear-gradient(to right,#fbbf24,#f59e0b)}.overallocation-fill.allocation-normal{background:linear-gradient(to right,#10b981,#059669)}.conflict-period{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem}.conflict-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.375rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.task-item:hover{border-color:var(--color-primary);box-shadow:0 2px 4px #0000000d}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.suggestion-card{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:.5rem;padding:1.25rem;transition:all .2s}.suggestion-card:hover{border-color:var(--color-primary);box-shadow:0 4px 6px #0000001a}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.suggestion-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.suggestion-type-badge.reschedule{background:#dbeafe;color:#1e40af}.suggestion-type-badge.reassign{background:#d1fae5;color:#065f46}.suggestion-type-badge.extend{background:#fef3c7;color:#78350f}.suggestion-type-badge.split{background:#e0e7ff;color:#3730a3}.impact-score{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.suggestion-reason{font-size:.9375rem;color:var(--color-text-primary);margin-bottom:1rem;line-height:1.6}.suggestion-details{background:var(--color-bg-primary);border-radius:.375rem;padding:.75rem;margin-bottom:.75rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0}.detail-row:not(:last-child){border-bottom:1px solid var(--color-border)}.detail-label{font-weight:600;color:var(--color-text-secondary);font-size:.875rem}.detail-value{font-weight:500;color:var(--color-text-primary);font-size:.875rem}.modal-content.large{max-width:800px;width:100%}.empty-state{text-align:center;padding:3rem 2rem;color:var(--color-text-secondary)}@media(max-width:768px){.resource-leveling-page{padding:1rem}.overallocation-grid,.stats-grid{grid-template-columns:1fr}.task-item{flex-direction:column;align-items:flex-start}.conflict-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.bg-red-100{background-color:#fee2e2}.text-red-600{color:#dc2626}.bg-orange-100{background-color:#ffedd5}.text-orange-600{color:#ea580c}.bg-blue-100{background-color:#dbeafe}.text-blue-600{color:#2563eb}.text-green-500{color:#10b981}.resource-capacity-page{padding:20px}.page-header{margin-bottom:30px}.page-header .header-content h1{margin:0 0 5px;color:#2c3e50;font-size:2rem}.page-header .programme-name{margin:0;color:#7f8c8d;font-size:1rem}.capacity-tabs{display:flex;gap:10px;margin-bottom:25px;border-bottom:2px solid #ecf0f1;padding-bottom:0}.capacity-tabs .tab-button{background:none;border:none;padding:12px 20px;cursor:pointer;color:#7f8c8d;font-size:.95rem;font-weight:500;border-bottom:3px solid transparent;transition:all .2s;display:flex;align-items:center;gap:8px}.capacity-tabs .tab-button:hover{color:#2c3e50;background:#f8f9fa}.capacity-tabs .tab-button.active{color:#3498db;border-bottom-color:#3498db}.capacity-content{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 4px #0000001a}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:15px}.summary-card .card-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.summary-card .card-icon.blue{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-card .card-icon.green{background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card .card-icon.orange{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.summary-card .card-icon.red{background:linear-gradient(135deg,#ff9a9e,#fecfef)}.summary-card .card-content h3{margin:0 0 5px;font-size:2rem;color:#2c3e50;font-weight:600}.summary-card .card-content p{margin:0;color:#7f8c8d;font-size:.9rem}.capacity-timeline{margin-top:30px}.capacity-timeline h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem}.timeline-table{width:100%;border-collapse:collapse;font-size:.9rem}.timeline-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.timeline-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057}.timeline-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.timeline-table tbody tr:hover{background:#f8f9fa}.utilization-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.utilization-badge.over{background:#ffe5e5;color:#e74c3c}.utilization-badge.full{background:#fff3cd;color:#f39c12}.utilization-badge.good{background:#d4edda;color:#27ae60}.utilization-badge.low{background:#e9ecef;color:#95a5a6}.timeline-table .negative{color:#e74c3c;font-weight:600}.timeline-table .positive{color:#27ae60;font-weight:600}.utilization-tab h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem}.utilization-table table{width:100%;border-collapse:collapse;font-size:.9rem}.utilization-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.utilization-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057}.utilization-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.utilization-table tbody tr:hover{background:#f8f9fa}.utilization-table .resource-name{font-weight:600;color:#2c3e50}.utilization-cell{min-width:150px}.utilization-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-bottom:4px}.utilization-fill{height:100%;transition:width .3s}.status-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.status-over{background:#ffe5e5;color:#e74c3c}.status-badge.status-full{background:#fff3cd;color:#f39c12}.status-badge.status-good{background:#d4edda;color:#27ae60}.status-badge.status-under{background:#d1ecf1;color:#0c5460}.status-badge.status-unallocated{background:#e9ecef;color:#95a5a6}.forecast-tab h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem}.forecast-table table{width:100%;border-collapse:collapse;font-size:.9rem}.forecast-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.forecast-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057}.forecast-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.forecast-table tbody tr:hover{background:#f8f9fa}.forecast-table .negative{color:#e74c3c;font-weight:600}.forecast-table .positive{color:#27ae60;font-weight:600}.recommended-hires{background:#ffe5e5;color:#e74c3c;padding:4px 10px;border-radius:12px;font-weight:600}.no-hires{color:#95a5a6}.pools-tab{min-height:400px}.pools-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.pools-header h3{margin:0;color:#2c3e50;font-size:1.3rem}.pool-capacity-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.pool-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000000d}.pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.pool-header h4{margin:0;color:#2c3e50;font-size:1.1rem}.pool-type-badge{background:#3498db;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.pool-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pool-metrics .metric{display:flex;justify-content:space-between;padding:8px 0}.pool-metrics .metric .label{color:#7f8c8d;font-size:.85rem}.pool-metrics .metric .value{font-weight:600;color:#2c3e50;font-family:Courier New,monospace}.pool-metrics .metric .value.alert{color:#e74c3c}.no-data{text-align:center;padding:40px 20px;color:#95a5a6;font-style:italic}.loading{text-align:center;padding:60px 20px}.loading .spinner{width:50px;height:50px;border:4px solid #ecf0f1;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.loading p{color:#7f8c8d;font-size:.95rem}@media(max-width:768px){.summary-cards,.pool-capacity-cards{grid-template-columns:1fr}.timeline-table,.utilization-table table,.forecast-table table{font-size:.8rem}.timeline-table th,.timeline-table td,.utilization-table th,.utilization-table td,.forecast-table th,.forecast-table td{padding:8px 5px}}.pool-card.expanded{box-shadow:0 4px 12px #00000026}.pool-header{display:flex;justify-content:space-between;align-items:center}.pool-header>div{display:flex;align-items:center;gap:10px}.expand-icon{font-size:1rem;color:#666;transition:transform .2s}.pool-members{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.members-header h5{margin:0;font-size:1rem;color:#333}.members-table{width:100%;border-collapse:collapse;font-size:.9rem}.members-table th{background:#f5f5f5;padding:10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0}.members-table td{padding:10px;border-bottom:1px solid #f0f0f0}.members-table tbody tr:hover{background:#fafafa}.no-members{padding:20px;text-align:center;color:#999;font-style:italic}.btn-danger{background:#dc3545;color:#fff;border:none;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-danger:hover{background:#c82333}.resource-selection-list{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;padding:10px;background:#fafafa}.resource-checkbox-item{display:flex;align-items:flex-start;padding:10px;margin-bottom:8px;background:#fff;border:1px solid #e8e8e8;border-radius:4px;cursor:pointer;transition:all .2s}.resource-checkbox-item:hover{background:#f5f5f5;border-color:#2196f3}.resource-checkbox-item input[type=checkbox]{margin-right:12px;margin-top:2px;cursor:pointer;width:18px;height:18px}.resource-info{display:flex;flex-direction:column;gap:4px;flex:1}.resource-info strong{font-size:.95rem;color:#333}.resource-details{font-size:.85rem;color:#777}.over-allocated-row{background-color:#fff3cd!important}.over-allocated{color:#dc3545;font-weight:600}.over-allocated-icon{margin-left:5px;font-size:1rem}.phase-templates-settings{padding:1.5rem}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.settings-header h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.templates-list{display:flex;flex-direction:column;gap:.75rem}.template-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--card-bg);transition:all .2s}.template-item:hover{box-shadow:0 2px 8px #0000001a}.template-item.inactive{opacity:.6;background-color:var(--bg-secondary)}.template-indicator{width:4px;height:40px;border-radius:2px;flex-shrink:0}.template-content{flex:1;min-width:0}.template-name{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.template-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.btn-icon{padding:.5rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover:not(:disabled){background-color:var(--hover-bg);color:var(--primary-color)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon.text-error:hover{color:var(--error-color);background-color:#ef44441a}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.color-picker-group{display:flex;align-items:center;gap:.75rem}.color-input{width:60px;height:40px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.color-preview{width:40px;height:40px;border:1px solid var(--border-color);border-radius:4px}.modal-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.template-item{flex-direction:column;align-items:flex-start}.template-actions{width:100%;justify-content:flex-end}.settings-header{flex-direction:column;gap:1rem}}.settings-page{max-width:900px;margin:0 auto;padding-bottom:4rem}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.settings-header h2{margin:0}.settings-actions{display:flex;gap:.75rem}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.settings-section{padding:2rem}.settings-section-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.settings-group{margin-bottom:1.5rem}.settings-group:last-child{margin-bottom:0}.settings-label{display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.settings-description{font-size:.8125rem;font-weight:400;color:var(--text-secondary);margin-top:.25rem}.settings-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:var(--radius-md);transition:background-color .2s}.settings-checkbox:hover{background-color:var(--bg-secondary)}.settings-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;margin:0}.settings-checkbox span{font-size:.9375rem;color:var(--text-primary)}.settings-save-bar{position:fixed;bottom:0;left:0;right:0;background-color:var(--primary-color);color:#fff;padding:1rem 2rem;box-shadow:0 -4px 6px -1px #0000001a;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.settings-save-content{max-width:900px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.settings-save-content>span{font-weight:500}.settings-save-actions{display:flex;gap:.75rem}.settings-save-actions .btn{border:1px solid rgba(255,255,255,.3)}.settings-save-actions .btn-secondary{background-color:transparent;color:#fff}.settings-save-actions .btn-secondary:hover{background-color:#ffffff1a}.settings-save-actions .btn-primary{background-color:#fff;color:var(--primary-color)}.settings-save-actions .btn-primary:hover{background-color:var(--bg-tertiary)}.settings-group .form-select,.settings-group .form-input{max-width:400px}.dashboard-sections-list{display:flex;flex-direction:column;gap:.5rem;background-color:var(--bg-secondary);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border-color)}.dashboard-section-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s}.dashboard-section-item:hover{box-shadow:var(--shadow-sm)}.dashboard-section-info{display:flex;align-items:center;gap:.75rem;flex:1}.dashboard-section-info span{font-size:.9375rem;color:var(--text-primary)}.dashboard-section-info span.section-disabled{color:var(--text-secondary);text-decoration:line-through;opacity:.6}.section-visibility-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--primary-color);display:flex;align-items:center;justify-content:center;transition:opacity .2s}.section-visibility-btn:hover{opacity:.7}.dashboard-section-actions{display:flex;gap:.25rem}.section-move-btn{background:none;border:1px solid var(--border-color);cursor:pointer;padding:.25rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.section-move-btn:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--primary-color);border-color:var(--primary-color)}.section-move-btn:disabled{opacity:.3;cursor:not-allowed}@media(max-width:768px){.settings-page{padding-bottom:6rem}.settings-header{flex-direction:column;align-items:flex-start;gap:1rem}.settings-actions{width:100%;flex-direction:column}.settings-actions .btn{width:100%}.settings-section{padding:1.5rem}.settings-save-content{flex-direction:column;gap:1rem;align-items:stretch}.settings-save-actions{width:100%;flex-direction:column}.settings-save-actions .btn{width:100%}.settings-group .form-select,.settings-group .form-input{max-width:100%}}.allocation-threshold-preview{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.threshold-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.threshold-color{width:2rem;height:1.25rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.threshold-color.allocation-underallocated{background-color:#fbbf24}.threshold-color.allocation-normal{background-color:#10b981}.threshold-color.allocation-overallocated{background-color:#ef4444}.program-management-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.page-subtitle{color:var(--color-text-secondary);font-size:.9375rem;margin:0}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.program-card{background:#fff;border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.program-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.program-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.program-info h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .25rem}.program-code{display:inline-block;padding:.125rem .5rem;background:var(--color-bg-secondary);border-radius:.25rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);font-family:monospace}.program-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.program-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-item svg{color:var(--color-primary);flex-shrink:0}.stat-item>div{display:flex;flex-direction:column}.stat-value{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em}.program-dates{display:flex;flex-direction:column;gap:.5rem}.date-item,.manager-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.date-item svg,.manager-info svg{flex-shrink:0}.program-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem}.btn-block{width:100%;justify-content:center}.btn-icon{padding:.5rem;display:flex;align-items:center;justify-content:center;flex:1}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.badge-primary{background:#dbeafe;color:#1e40af}.badge-secondary{background:#f3f4f6;color:#4b5563}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fed7aa;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed var(--color-border);border-radius:.75rem;margin-top:2rem}.empty-state svg{color:var(--color-text-secondary);margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.empty-state p{color:var(--color-text-secondary);margin:0 0 1.5rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{color:var(--color-text-secondary);margin:0}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:.5rem;margin-bottom:1.5rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.modal-content{background:#fff;border-radius:.75rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--color-border)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.9375rem;color:var(--color-text-primary);background:#fff;transition:all .2s}.form-group input:disabled{background:var(--color-bg-secondary);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}@media(max-width:768px){.program-management-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.programs-grid,.program-stats,.form-row{grid-template-columns:1fr}.modal-content{max-height:95vh}}.btn-info{background-color:#3b82f6;color:#fff}.btn-info:hover{background-color:#2563eb}.btn-icon.btn-info{background-color:transparent;color:#3b82f6}.btn-icon.btn-info:hover{background-color:#dbeafe;color:#1e40af}.modal-xl{max-width:90vw;width:1200px}.modal-xl .modal-body{max-height:70vh;overflow-y:auto}.btn-close{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#1f2937}.access-tabs{display:flex;border-bottom:2px solid #e5e7eb;background:#f9fafb}.access-tab{flex:1;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.9375rem;font-weight:500;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.access-tab:hover{background:#f3f4f6;color:#374151}.access-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#fff}.program-access-management{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.access-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.access-header h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.25rem;color:#1f2937}.access-table-container{overflow-x:auto;margin-top:1rem}.access-table{width:100%;border-collapse:collapse;font-size:.875rem}.access-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.access-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.access-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;vertical-align:middle}.access-table tbody tr:hover{background:#f9fafb}.btn-icon{background:none;border:none;padding:.375rem;cursor:pointer;border-radius:4px;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f3f4f6;color:#374151}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-info{background:#dbeafe;color:#1e40af}.text-success{color:#059669}.text-secondary{color:#6b7280}.text-center{text-align:center}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background .2s}.checkbox-label:hover{background:#f9fafb}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.875rem;color:#374151;-webkit-user-select:none;user-select:none}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;color:#1f2937}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.loading{text-align:center;padding:2rem;color:#6b7280}@media(max-width:768px){.access-header{flex-direction:column;align-items:flex-start;gap:1rem}.permissions-grid{grid-template-columns:1fr}.modal-content{margin:0;max-height:100vh;border-radius:0}}.archives-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header .header-content{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.page-header .header-subtitle{color:#666;font-size:.95rem;margin:0}.tabs{display:flex;gap:1rem;border-bottom:2px solid #e0e0e0;margin:2rem 0 1.5rem}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#666;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:#333;background:#f5f5f5}.tab.active{color:#1976d2;border-bottom-color:#1976d2}.archives-content{margin-top:1.5rem}.archives-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.archive-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s;box-shadow:0 1px 3px #0000000d}.archive-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.archive-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.archive-card-header h3{margin:0;font-size:1.2rem;color:#333;flex:1}.archive-card-header .btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.archive-description{color:#666;font-size:.9rem;margin:0 0 1rem;line-height:1.5}.archive-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666}.meta-item svg{color:#999}.meta-item .label{font-weight:500;color:#555}.archive-stats{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #f0f0f0}.stat-badge{padding:.25rem .75rem;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge.status-planning{background:#fff3e0;color:#f57c00}.status-badge.status-in_progress{background:#e3f2fd;color:#1976d2}.status-badge.status-completed{background:#e8f5e9;color:#388e3c}.status-badge.status-on_hold{background:#fff9c4;color:#f9a825}.status-badge.status-cancelled{background:#ffebee;color:#d32f2f}.empty-state{text-align:center;padding:4rem 2rem;color:#999}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.1rem;margin:0}.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{border:3px solid #f3f3f3;border-top:3px solid #1976d2;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.archives-page{padding:1rem}.archives-grid{grid-template-columns:1fr}.archive-card-header{flex-direction:column;align-items:flex-start}.archive-card-header .btn{align-self:flex-end}}.users-page{padding:2rem}.page-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:#6b7280}.role-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge-role{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.role-checkboxes{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:2px solid #e5e7eb}.role-checkboxes .checkbox-label{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.role-checkboxes .checkbox-label:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.role-checkboxes .checkbox-label input[type=checkbox]{margin-right:.5rem}.role-description{margin-left:1.75rem;color:#6b7280;font-size:.8125rem}.form-help{display:block;margin-top:.25rem;color:#6b7280;font-size:.8125rem}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.roles-page{padding:2rem}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:2rem}.role-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .2s;border:2px solid transparent}.role-card:hover{box-shadow:0 4px 16px #00000026;border-color:#667eea}.role-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.role-card-header h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.role-description{color:#6b7280;font-size:.875rem;margin:0;line-height:1.5}.badge-system{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.625rem;font-weight:600;text-transform:uppercase}.role-actions{display:flex;gap:.5rem}.role-stats{display:flex;gap:2rem;padding:1rem 0;border-top:2px solid #f3f4f6;border-bottom:2px solid #f3f4f6;margin-bottom:1rem}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#667eea}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:600}.role-permissions-preview{display:flex;flex-wrap:wrap;gap:.5rem}.permission-tag{background:#f3f4f6;color:#4b5563;padding:.25rem .75rem;border-radius:8px;font-size:.75rem;font-weight:500;border:1px solid #e5e7eb}.permission-tag.more{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.modal-large{max-width:900px;max-height:90vh;overflow-y:auto}.permissions-matrix{display:flex;flex-direction:column;gap:1.5rem;max-height:500px;overflow-y:auto;padding:1rem;background:#f9fafb;border-radius:8px;border:2px solid #e5e7eb}.resource-permissions{background:#fff;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f3f4f6}.resource-header h4{margin:0;font-size:1rem;font-weight:700;color:#1f2937;text-transform:capitalize}.permission-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.permission-checkboxes .checkbox-label{display:flex;flex-direction:column;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.permission-checkboxes .checkbox-label:hover{border-color:#667eea;background:#fff}.permission-checkboxes .checkbox-label input[type=checkbox]{margin-bottom:.5rem}.permission-action{font-weight:600;color:#1f2937;font-size:.875rem;text-transform:capitalize}.permission-desc{font-size:.75rem;color:#6b7280;margin-top:.25rem}.proposals-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header h1{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:2rem;color:var(--color-text-primary)}.page-subtitle{color:var(--color-text-secondary);margin:0;font-size:.9375rem}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:.5rem;flex:1;min-width:300px}.search-box input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--color-text-primary)}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-select{padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.5rem;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.9375rem;cursor:pointer;transition:all .2s}.filter-select:hover{border-color:var(--color-primary)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.proposals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.proposal-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.proposal-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-title-section{flex:1}.card-title-section h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-text-primary);line-height:1.4}.card-badges{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge,.priority-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.card-body{flex:1;display:flex;flex-direction:column;gap:1rem}.card-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-wrap:wrap;gap:1rem}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.875rem}.card-stats{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-secondary)}.card-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-primary);border-color:var(--color-primary)}.btn-danger{background:#fee2e2;color:#ef4444;border:1px solid #fecaca}.btn-danger:hover{background:#ef4444;color:#fff}.btn-sm{padding:.5rem .75rem;font-size:.875rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-secondary)}.empty-state svg{color:var(--color-border);margin-bottom:1rem}.empty-state h3{color:var(--color-text-primary);margin:0 0 .5rem}.empty-state p{margin:0 0 1.5rem}.loading-state{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--color-text-secondary);font-size:1.125rem}@media(max-width:768px){.proposals-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.filters-section{flex-direction:column}.search-box{min-width:100%}.proposals-grid{grid-template-columns:1fr}}.rich-text-editor{border:2px solid var(--color-border);border-radius:.5rem;background:var(--color-bg-primary);overflow:hidden}.rich-text-editor.read-only{border:none;background:transparent}.editor-menu{display:flex;flex-wrap:wrap;gap:.25rem;padding:.75rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.menu-group{display:flex;gap:.25rem}.menu-divider{width:1px;background:var(--color-border);margin:0 .5rem}.menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:.25rem;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s}.menu-button:hover:not(:disabled){background:var(--color-bg-primary);border-color:var(--color-border)}.menu-button.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.menu-button:disabled{opacity:.4;cursor:not-allowed}.editor-content{padding:1rem;min-height:400px;max-height:1200px;overflow-y:auto}.rich-text-editor.read-only .editor-content{padding:0;min-height:auto;max-height:none}.ProseMirror{outline:none;font-size:1rem;line-height:1.6;color:var(--color-text-primary)}.ProseMirror>*+*{margin-top:.75em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{line-height:1.3;font-weight:600;color:var(--color-text-primary)}.ProseMirror h1{font-size:2em;margin-top:.67em;margin-bottom:.67em}.ProseMirror h2{font-size:1.5em;margin-top:.83em;margin-bottom:.83em}.ProseMirror h3{font-size:1.17em;margin-top:1em;margin-bottom:1em}.ProseMirror ul,.ProseMirror ol{padding:0 1rem;margin:.5rem 0}.ProseMirror ul li,.ProseMirror ol li{margin:.25rem 0}.ProseMirror a{color:var(--color-primary);text-decoration:underline;cursor:pointer}.ProseMirror a:hover{text-decoration:none}.ProseMirror img{max-width:100%;height:auto;border-radius:.25rem;margin:1rem 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1rem 0;overflow:hidden}.ProseMirror td,.ProseMirror th{min-width:1em;border:2px solid var(--color-border);padding:.5rem .75rem;vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror th{font-weight:700;text-align:left;background-color:var(--color-bg-secondary)}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:#3b82f61a;pointer-events:none}.ProseMirror blockquote{padding-left:1rem;border-left:3px solid var(--color-border);margin:1rem 0;font-style:italic}.ProseMirror code{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.9em;padding:.2em .4em;border-radius:.25rem;font-family:Courier New,monospace}.ProseMirror pre{background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:Courier New,monospace;padding:1rem;border-radius:.5rem;overflow-x:auto}.ProseMirror pre code{background:none;padding:0;font-size:inherit;color:inherit}.ProseMirror p.is-editor-empty:first-child:before{color:var(--color-text-secondary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--color-primary);pointer-events:none}.proposal-form-page{min-height:100vh;background:var(--color-bg-secondary)}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.9375rem;transition:color .2s}.btn-back:hover{color:var(--color-text-primary)}.form-actions{display:flex;gap:.75rem}.form-container{max-width:1200px;margin:0 auto;padding:2rem}.form-container h1{margin:0 0 2rem;color:var(--color-text-primary);font-size:2rem}.form-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;margin-bottom:2rem}.form-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:var(--color-text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.5rem;font-size:1rem;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.sections-list{display:flex;flex-direction:column;gap:1.5rem}.proposal-section-card{border:2px solid var(--color-border);border-radius:.75rem;padding:1.5rem;background:var(--color-bg-secondary);transition:all .2s}.proposal-section-card:hover{border-color:var(--color-primary)}.section-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.section-order-controls{display:flex;flex-direction:column;gap:.25rem;align-items:center}.section-number{font-weight:700;color:var(--color-text-secondary);font-size:.875rem;min-width:24px;text-align:center}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all .2s;font-size:.75rem}.btn-icon:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon.btn-danger{color:#ef4444;border-color:#fecaca}.btn-icon.btn-danger:hover{background:#ef4444;color:#fff;border-color:#ef4444}.section-title-input{flex:1;padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:.5rem;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-primary)}.section-title-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.section-editor{margin-top:1rem}.upload-area{display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;border:3px dashed var(--color-border);border-radius:.75rem;background:var(--color-bg-secondary);text-align:center;transition:all .2s;cursor:pointer}.upload-area:hover{border-color:var(--color-primary);background:#3b82f60d}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.upload-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.upload-hint{margin-top:.75rem;color:var(--color-text-secondary);font-size:.875rem}.uploading-files{margin-top:1rem;padding:1rem;background:var(--color-bg-secondary);border-radius:.5rem}.uploading-file{padding:.5rem;color:var(--color-text-secondary);font-size:.875rem}.attachments-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.attachment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem}.attachment-name{flex:1;color:var(--color-text-primary);font-size:.9375rem}.loading-state{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--color-text-secondary);font-size:1.125rem}@media(max-width:768px){.form-header{flex-direction:column;gap:1rem;align-items:stretch}.form-actions{flex-direction:column}.form-container{padding:1rem}.form-section{padding:1.5rem}.form-row{grid-template-columns:1fr}.section-card-header{flex-wrap:wrap}}.proposal-detail-page{min-height:100vh;background:var(--color-bg-secondary)}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-actions{display:flex;gap:.75rem}.detail-container{max-width:1000px;margin:0 auto;padding:2rem}.proposal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.proposal-header h1{flex:1;margin:0;font-size:2.5rem;color:var(--color-text-primary);line-height:1.2}.status-badge-large{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;font-size:1rem;font-weight:700;white-space:nowrap}.proposal-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:2rem}.proposal-meta{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;margin-bottom:2rem}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.meta-item{display:flex;gap:1rem;align-items:flex-start}.meta-item svg{flex-shrink:0;color:var(--color-primary);margin-top:.25rem}.meta-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.25rem}.meta-value{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.decision-notes{background:#fef3c7;border:2px solid #f59e0b;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.decision-notes h3{margin:0 0 .75rem;color:#92400e;font-size:1.125rem}.decision-notes p{margin:0;color:#78350f;line-height:1.6}.proposal-sections{display:flex;flex-direction:column;gap:2rem}.section-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.section-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-primary);color:#fff;font-weight:700;border-radius:50%;font-size:1.125rem}.section-header h2{flex:1;margin:0;font-size:1.5rem;color:var(--color-text-primary)}.section-content{font-size:1rem;line-height:1.8;color:var(--color-text-primary)}.attachments-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;margin-top:2rem}.attachments-section h2{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem;font-size:1.25rem;color:var(--color-text-primary)}.attachments-grid{display:grid;gap:1rem}.attachment-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;transition:all .2s}.attachment-card:hover{border-color:var(--color-primary);background:var(--color-bg-primary)}.attachment-info{flex:1}.attachment-name{font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.attachment-meta{font-size:.875rem;color:var(--color-text-secondary)}.modal-content{background:var(--color-bg-primary);border-radius:.75rem;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a}.modal-content h3{margin:0 0 1.5rem;color:var(--color-text-primary);font-size:1.25rem}.modal-content textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.5rem;font-size:1rem;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-secondary);resize:vertical;margin-bottom:1.5rem}.modal-content textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.preview-modal{width:100vw;height:100vh;max-width:100vw;max-height:100vh;padding:0;overflow:hidden;border-radius:0}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.preview-header h3{margin:0;font-size:1.125rem;word-break:break-word}.preview-body{padding:0;height:calc(100vh - 60px);overflow:auto;display:flex;align-items:center;justify-content:center;background:#000}.preview-unsupported{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;text-align:center;color:var(--color-text-secondary)}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--color-text-secondary);font-size:1.125rem}@media(max-width:768px){.detail-header{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{flex-direction:column}.detail-container{padding:1rem}.proposal-header{flex-direction:column}.proposal-header h1{font-size:1.75rem}.meta-grid{grid-template-columns:1fr}.section-card{padding:1.5rem}}.project-schedule-page{padding:1.5rem;max-width:100%}.project-schedule-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.project-schedule-page .page-header h2{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem}.expand-btn{background:none;border:none;padding:0;margin-right:.5rem;cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}.expand-btn:hover{color:var(--primary-color)}.project-row{background:var(--bg-secondary);font-weight:500}.task-row{background:var(--bg-primary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:3rem;height:3rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:var(--text-secondary)}.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:1.1rem}.editable-cell{cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .15s ease;min-height:2rem;display:flex;align-items:center}.editable-cell:hover{background-color:var(--bg-secondary);outline:1px solid var(--primary-color)}.inline-edit-cell{display:flex;align-items:center;gap:.5rem;width:100%}.inline-edit-input{flex:1;padding:.375rem .5rem;border:1px solid var(--primary-color);border-radius:4px;font-size:.875rem;outline:none;background:var(--bg-primary);color:var(--text-primary)}.inline-edit-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.inline-edit-actions{display:flex;gap:.25rem}.btn-icon{padding:.25rem;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon:hover{transform:scale(1.1)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-success:hover:not(:disabled){background:#059669}.btn-error{background:#ef4444;color:#fff}.btn-error:hover:not(:disabled){background:#dc2626}.allocation-display{cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .15s ease;min-height:2rem}.allocation-display:hover{background-color:var(--bg-secondary);outline:1px solid var(--primary-color)}.allocation-list{display:flex;flex-direction:column;gap:.25rem}.allocation-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--bg-secondary);border-radius:3px;font-size:.875rem}.resource-name{flex:1;font-weight:500}.allocation-percent{color:var(--primary-color);font-weight:600}.allocation-editor{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border-radius:4px;min-width:300px}.allocation-row{display:flex;align-items:center;gap:.5rem}.allocation-select{flex:1;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary)}.allocation-percentage{width:60px;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);text-align:right}.allocation-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.btn-sm{padding:.375rem .75rem;font-size:.875rem;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;transition:all .15s ease}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.inline{display:inline-block;vertical-align:middle}.filters-panel{margin-bottom:1.5rem;padding:1.5rem}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{font-weight:500;font-size:.875rem;color:var(--text-secondary)}.filter-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.filters-grid{grid-template-columns:1fr}}.risk-register-page{padding:2rem;max-width:1800px;margin:0 auto}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.risks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-stat{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;text-align:center}.summary-stat .stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:.25rem}.summary-stat .stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.summary-stat.critical .stat-value{color:#dc2626}.summary-stat.high .stat-value{color:#ea580c}.summary-stat.medium .stat-value{color:#f59e0b}.summary-stat.low .stat-value{color:#10b981}.risks-table-container{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.risks-table{width:100%;border-collapse:collapse}.risks-table thead{background:var(--background-secondary)}.risks-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.risks-table td{padding:1rem;border-bottom:1px solid var(--border);vertical-align:middle}.risks-table tbody tr:hover{background:var(--hover-background)}.risk-code{font-family:Monaco,Courier New,monospace;font-weight:600;color:var(--primary);font-size:.875rem}.risk-title-cell{display:flex;flex-direction:column;gap:.25rem}.risk-title{font-weight:500;color:var(--text-primary)}.risk-project{font-size:.75rem;color:var(--text-tertiary)}.risk-level-badge,.status-badge,.type-badge,.category-badge,.response-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500;white-space:nowrap}.category-badge,.response-badge{background:var(--background-secondary);color:var(--text-secondary);text-transform:capitalize}.owner-cell{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.btn-icon-danger:hover{background:#fee2e2;color:#dc2626;border-color:#dc2626}.modal-content{background:var(--card-background);border-radius:.75rem;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.risk-modal{width:100%;max-width:900px}.modal-close{padding:.5rem;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-radius:.375rem;transition:all .2s}.modal-close:hover{background:var(--hover-background);color:var(--text-primary)}.risk-form{padding:1.5rem}.form-sections{display:flex;flex-direction:column;gap:2rem}.form-section{border-bottom:1px solid var(--border);padding-bottom:1.5rem}.form-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}@media(max-width:1024px){.form-grid{grid-template-columns:1fr}.form-group.col-span-2{grid-column:span 1}.risks-table{font-size:.875rem}.risks-table th,.risks-table td{padding:.75rem .5rem}}@media(max-width:768px){.risk-register-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:1.5rem}.controls-section{flex-direction:column}.search-box{min-width:auto}.risks-summary{grid-template-columns:repeat(2,1fr)}.risks-table-container{overflow-x:auto}.modal-overlay{padding:0}.risk-modal{max-width:100%;height:100vh;border-radius:0}}.risk-matrix-page{padding:2rem;max-width:1600px;margin:0 auto}.header-nav{margin-bottom:1rem}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--card-background);border:1px solid var(--border);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.875rem}.btn-back:hover{background:var(--hover-background);border-color:var(--primary);color:var(--primary)}.matrix-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;text-align:center}.summary-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem}.summary-value{font-size:2.5rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:.25rem}.summary-percent{font-size:.875rem;color:var(--text-tertiary);font-weight:500}.critical-card .summary-value{color:#dc2626}.high-card .summary-value{color:#ea580c}.medium-card .summary-value{color:#f59e0b}.low-card .summary-value{color:#10b981}.matrix-container{display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start}.matrix-wrapper{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;padding:2rem;display:grid;grid-template-areas:". y-label ." ". matrix ." ". x-label .";grid-template-columns:auto 1fr auto;gap:1rem}.axis-label{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.axis-label-y{grid-area:y-label;writing-mode:vertical-rl;transform:rotate(180deg)}.axis-label-x{grid-area:x-label}.matrix-grid{grid-area:matrix;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:1rem}.y-axis-labels{display:flex;flex-direction:column;gap:.5rem;justify-content:space-between}.x-axis-labels{display:flex;gap:.5rem;justify-content:space-between;grid-column:2}.axis-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.y-axis-labels .axis-item{flex-direction:row-reverse;gap:.5rem}.axis-score{font-weight:700;font-size:1rem;color:var(--text-primary);background:var(--background-secondary);padding:.5rem;border-radius:.375rem;min-width:2.5rem;text-align:center}.axis-text{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-align:center}.y-axis-labels .axis-text{text-align:right}.grid-cells{display:flex;flex-direction:column;gap:.5rem}.grid-row{display:flex;gap:.5rem}.matrix-cell{flex:1;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid;border-radius:.5rem;padding:1rem;transition:all .2s;position:relative}.matrix-cell.has-risks{cursor:pointer}.matrix-cell.has-risks:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;z-index:10}.cell-score{font-size:1.5rem;font-weight:700;opacity:.4;margin-bottom:.5rem}.cell-count{font-size:.875rem;font-weight:600;text-align:center}.matrix-cell.critical{background:#fee2e2;border-color:#dc2626}.matrix-cell.high{background:#ffedd5;border-color:#ea580c}.matrix-cell.medium{background:#fef3c7;border-color:#f59e0b}.matrix-cell.low{background:#d1fae5;border-color:#10b981}.matrix-legend{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;height:fit-content;position:sticky;top:2rem}.matrix-legend h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.legend-items{display:flex;flex-direction:column;gap:1rem}.legend-item{display:flex;align-items:center;gap:1rem}.legend-color{width:3rem;height:3rem;border-radius:.5rem;border:2px solid}.legend-color.critical{background:#fee2e2;border-color:#dc2626}.legend-color.high{background:#ffedd5;border-color:#ea580c}.legend-color.medium{background:#fef3c7;border-color:#f59e0b}.legend-color.low{background:#d1fae5;border-color:#10b981}.legend-text{display:flex;flex-direction:column;gap:.25rem}.legend-text strong{font-size:.9375rem;color:var(--text-primary)}.legend-text span{font-size:.8125rem;color:var(--text-secondary)}.cell-details-modal{width:100%;max-width:600px;max-height:80vh;overflow-y:auto}.level-badge{display:inline-block;padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;margin-left:1rem}.level-badge.critical{background:#fee2e2;color:#991b1b}.level-badge.high{background:#ffedd5;color:#7c2d12}.level-badge.medium{background:#fef3c7;color:#92400e}.level-badge.low{background:#d1fae5;color:#065f46}.cell-info{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.5rem;background:var(--background-secondary);border-radius:.5rem;margin-bottom:1.5rem}.info-item{font-size:.875rem}.info-item strong{display:block;color:var(--text-secondary);margin-bottom:.25rem}.risks-list{display:flex;flex-direction:column;gap:.75rem}.risk-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background-secondary);border:1px solid var(--border);border-radius:.5rem;transition:all .2s}.risk-item:hover{background:var(--hover-background);border-color:var(--primary)}.risk-header{flex:1;display:flex;flex-direction:column;gap:.25rem}.risk-code{font-family:Monaco,Courier New,monospace;font-weight:600;color:var(--primary);font-size:.75rem}.risk-title{font-weight:500;color:var(--text-primary);font-size:.9375rem}.risk-type{flex-shrink:0}.type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500}.type-badge.threat{background:#fee2e2;color:#991b1b}.type-badge.opportunity{background:#d1fae5;color:#065f46}@media(max-width:1200px){.matrix-container{grid-template-columns:1fr}.matrix-legend{position:static}}@media(max-width:768px){.risk-matrix-page,.matrix-wrapper{padding:1rem}.axis-label{font-size:.875rem}.matrix-cell{padding:.5rem}.cell-score{font-size:1rem}.cell-count{font-size:.75rem}.matrix-summary{grid-template-columns:repeat(2,1fr)}.cell-info{grid-template-columns:1fr}.risk-item{flex-direction:column;align-items:flex-start}}.issue-register-page{padding:2rem;max-width:1600px;margin:0 auto}.issues-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:1.5rem}.summary-stat.critical{border-color:#dc2626;background:#fef2f2}.summary-stat.high{border-color:#ea580c;background:#fff7ed}.summary-stat.open{border-color:#ef4444;background:#fef2f2}.summary-stat.resolved{border-color:#10b981;background:#f0fdf4}.issues-table-container{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;overflow:hidden}.issues-table{width:100%;border-collapse:collapse}.issues-table thead{background:#f8fafc;border-bottom:1.5px solid #cbd5e1}.issues-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.025em}.issues-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s}.issues-table tbody tr:hover{background:#f8fafc}.issues-table tbody tr:last-child{border-bottom:none}.issues-table td{padding:1rem;vertical-align:middle;color:#334155}.issue-code{font-family:Courier New,monospace;font-weight:600;color:#3b82f6;font-size:.875rem}.issue-title-cell{max-width:300px}.issue-title{font-weight:600;color:#0f172a;margin-bottom:.25rem}.issue-project{font-size:.75rem;color:#64748b}.severity-badge,.status-badge,.priority-badge,.type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.assignee-cell,.date-cell{display:flex;align-items:center;gap:.5rem;color:#64748b}.issue-modal{max-width:900px;max-height:90vh;overflow-y:auto}.issue-form,.form-sections{display:flex;flex-direction:column;gap:0}@media(max-width:768px){.issue-register-page{padding:1rem}.page-header,.controls-section{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.filters-grid{grid-template-columns:1fr}.issues-summary{grid-template-columns:repeat(2,1fr)}.issues-table-container{overflow-x:auto}.issues-table{min-width:1000px}.form-grid{grid-template-columns:1fr}.form-group.col-span-2{grid-column:span 1}}.change-register-page{padding:2rem;max-width:1600px;margin:0 auto}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-bottom:1rem}.changes-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:1.5rem}.summary-stat{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:1.25rem;text-align:center}.summary-stat.pending{border-color:#f59e0b;background:#fffbeb}.summary-stat.approved{border-color:#10b981;background:#f0fdf4}.summary-stat.rejected{border-color:#ef4444;background:#fef2f2}.summary-stat.in-progress{border-color:#3b82f6;background:#eff6ff}.stat-value{font-size:2rem;font-weight:700;color:#0f172a;margin-bottom:.25rem}.stat-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.changes-table-container{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;overflow:hidden}.changes-table{width:100%;border-collapse:collapse}.changes-table thead{background:#f8fafc;border-bottom:1.5px solid #cbd5e1}.changes-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.025em}.changes-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s}.changes-table tbody tr:hover{background:#f8fafc}.changes-table tbody tr:last-child{border-bottom:none}.changes-table td{padding:1rem;vertical-align:middle;color:#334155}.change-code{font-family:Courier New,monospace;font-weight:600;color:#8b5cf6;font-size:.875rem}.change-title-cell{max-width:300px}.change-title{font-weight:600;color:#0f172a;margin-bottom:.25rem}.change-project{font-size:.75rem;color:#64748b}.approval-badge,.status-badge,.priority-badge,.type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.user-cell{display:flex;align-items:center;gap:.5rem;color:#64748b}.text-muted{color:#94a3b8;font-style:italic;font-size:.875rem}.btn-icon{padding:.5rem;border:none;background:#f1f5f9;color:#64748b;border-radius:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#e2e8f0;color:#0f172a}.btn-icon-success{color:#10b981}.btn-icon-success:hover{background:#d1fae5;color:#059669}.btn-icon-danger{color:#ef4444}.btn-icon-danger:hover{background:#fee2e2;color:#dc2626}.empty-state{padding:4rem 2rem;text-align:center;color:#94a3b8}.empty-state svg{margin-bottom:1rem;color:#cbd5e1}.loading-state{padding:4rem 2rem;text-align:center;color:#64748b;font-size:1.125rem}.change-modal{max-width:900px;max-height:90vh;overflow-y:auto}.approval-modal{max-width:600px}.approval-details{padding:1.5rem;background:#f8fafc;border-bottom:1.5px solid #e2e8f0}.change-info h3{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.change-info p{font-size:.875rem;color:#64748b;margin:0}.change-form,.approval-form,.form-sections{display:flex;flex-direction:column;gap:0}.form-section{padding:1.5rem;border-bottom:1.5px solid #e2e8f0}.form-section h3{font-size:.875rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.025em;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.approval-form .form-group{padding:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-group.col-span-2{grid-column:span 2}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-secondary{background:#f1f5f9;color:#475569;border:1.5px solid #cbd5e1}.btn-secondary:hover{background:#e2e8f0;color:#1e293b}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-link{background:transparent;color:#3b82f6;padding:.5rem;font-size:.875rem}.btn-link:hover{color:#2563eb;text-decoration:underline}@media(max-width:768px){.change-register-page{padding:1rem}.page-header,.controls-section{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.filters-grid{grid-template-columns:1fr}.changes-summary{grid-template-columns:repeat(2,1fr)}.changes-table-container{overflow-x:auto}.changes-table{min-width:1200px}.form-grid{grid-template-columns:1fr}.form-group.col-span-2{grid-column:span 1}}.assumption-register-page{padding:2rem;max-width:1800px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.page-header h1{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);margin:.5rem 0 0;font-size:.95rem}.controls-section{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative;display:flex;align-items:center}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--border);border-radius:.5rem;font-size:.95rem}.search-box svg{position:absolute;left:1rem;color:var(--text-tertiary)}.filters-panel{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.assumptions-table-container{background:var(--card-background);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.assumptions-table{width:100%;border-collapse:collapse}.assumptions-table thead{background:var(--background-secondary)}.assumptions-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.assumptions-table td{padding:1rem;border-bottom:1px solid var(--border);vertical-align:middle}.assumptions-table tbody tr:hover{background:var(--hover-background)}.code-cell{font-family:Monaco,Courier New,monospace;font-weight:600;color:var(--primary);font-size:.875rem}.title-cell{max-width:400px}.title-content{display:flex;flex-direction:column;gap:.25rem}.title-content strong{font-weight:500;color:var(--text-primary)}.description-preview{font-size:.8125rem;color:var(--text-tertiary)}.status-badge,.validation-badge,.impact-badge,.category-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500;white-space:nowrap}.category-badge{background:var(--background-secondary);color:var(--text-secondary);text-transform:capitalize}.owner-cell,.date-cell{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.btn-icon{padding:.5rem;border:1px solid var(--border);background:var(--card-background);border-radius:.375rem;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.btn-icon:hover{background:var(--hover-background);color:var(--primary);border-color:var(--primary)}.btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626;border-color:#dc2626}.empty-state{padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.empty-state svg{color:var(--text-tertiary);margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--card-background);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-content.modal-sm{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card-background);z-index:10}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.btn-close{padding:.5rem;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-radius:.375rem;transition:all .2s}.btn-close:hover{background:var(--hover-background);color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--card-background)}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group label{font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem}.form-input,.form-select{padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.95rem;background:var(--card-background);color:var(--text-primary);transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary)}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;color:var(--text-primary)}.checkbox-label input[type=checkbox]{cursor:pointer}.validation-assumption-title,.convert-assumption-title,.link-assumption-title{font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding:.75rem;background:var(--background-secondary);border-radius:.5rem}.convert-info{padding:1rem;background:#fef3c7;color:#92400e;border-radius:.5rem;margin-bottom:1rem;font-size:.875rem;line-height:1.5}.loading-state{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary)}@media(max-width:1024px){.form-row{grid-template-columns:1fr}.assumptions-table{font-size:.875rem}.assumptions-table th,.assumptions-table td{padding:.75rem .5rem}}@media(max-width:768px){.assumption-register-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:1.5rem}.controls-section{flex-direction:column}.search-box{min-width:auto}.filter-grid{grid-template-columns:1fr}.assumptions-table-container{overflow-x:auto}.modal-overlay{padding:0}.modal-content{max-width:100%;height:100vh;border-radius:0}.action-buttons{flex-wrap:wrap}}.realisation-plan-modal{width:95vw;max-width:1400px;max-height:90vh;overflow-y:auto}.realisation-plan-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid #e5e7eb}.realisation-plan-modal .header-actions{display:flex;gap:.75rem;align-items:center}.realisation-plan-modal .modal-subtitle{color:#6b7280;margin-top:.25rem;font-size:.875rem}.realisation-plan-modal .tabs{display:flex;gap:.5rem;padding:1rem 1.5rem 0;border-bottom:1px solid #e5e7eb}.realisation-plan-modal .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#6b7280;font-weight:500;transition:all .2s}.realisation-plan-modal .tab:hover{color:#1f2937;background:#f9fafb}.realisation-plan-modal .tab.active{color:#2563eb;border-bottom-color:#2563eb}.realisation-plan-modal .modal-body{padding:1.5rem;min-height:400px}.timeline-tab{display:flex;flex-direction:column;gap:1.5rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.stat-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem}.stat-value.positive{color:#10b981}.stat-value.negative{color:#ef4444}.periods-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.periods-table{width:100%;border-collapse:collapse}.periods-table thead{background:#f9fafb}.periods-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;border-bottom:1px solid #e5e7eb}.periods-table td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.periods-table tbody tr:hover{background:#f9fafb}.value-cell{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:500}.period-type-badge{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500}.curve-tab{padding:1rem 0}.curve-visualization{min-height:400px;display:flex;align-items:center;justify-content:center}.curve-chart{width:100%}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.chart-header h3{margin:0;color:#1f2937}.chart-legend{display:flex;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.legend-item:before{content:"";width:16px;height:16px;border-radius:4px}.legend-item.planned:before{background:#3b82f6}.legend-item.actual:before{background:#10b981}.chart-grid{display:flex;gap:.5rem;align-items:flex-end;height:300px;padding:1rem 0;border-top:1px solid #e5e7eb}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-group{display:flex;gap:4px;align-items:flex-end;height:100%;width:100%;justify-content:center}.bar{width:20px;min-height:4px;border-radius:4px 4px 0 0;position:relative;transition:all .3s}.bar:hover{opacity:.8}.planned-bar{background:#3b82f6}.actual-bar{background:#10b981}.bar-label{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.75rem;color:#6b7280;white-space:nowrap;display:none}.bar:hover .bar-label{display:block}.bar-date{margin-top:.5rem;font-size:.75rem;color:#6b7280;writing-mode:horizontal-tb;text-align:center}.comparison-tab{padding:1rem 0}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.comparison-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.comparison-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.comparison-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.comparison-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.comparison-card:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.comparison-card:nth-child(6){background:linear-gradient(135deg,#30cfd0,#330867)}.comparison-card h3{margin:0 0 1rem;font-size:.875rem;opacity:.9;font-weight:500}.comparison-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.comparison-label{margin:0;font-size:.75rem;opacity:.8}.generator-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.generator-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.generator-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.generator-header h3{margin:0;color:#1f2937}.generator-form{padding:1.5rem}.generator-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.generator-form .form-help{font-size:.75rem;color:#6b7280;margin-top:.25rem}.generator-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.empty-state .text-muted{font-size:.875rem}.btn-icon{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.btn-icon:hover{color:#1f2937;background:#f3f4f6}.benefit-tracking-modal{width:95vw;max-width:1400px;max-height:90vh;overflow-y:auto}.benefit-tracking-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid #e5e7eb}.benefit-tracking-modal .header-actions{display:flex;gap:.75rem;align-items:center}.benefit-tracking-modal .modal-subtitle{color:#6b7280;margin-top:.25rem;font-size:.875rem}.benefit-tracking-modal .tabs{display:flex;gap:.5rem;padding:1rem 1.5rem 0;border-bottom:1px solid #e5e7eb}.benefit-tracking-modal .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#6b7280;font-weight:500;transition:all .2s}.benefit-tracking-modal .tab:hover{color:#1f2937;background:#f9fafb}.benefit-tracking-modal .tab.active{color:#2563eb;border-bottom-color:#2563eb}.benefit-tracking-modal .modal-body{padding:1.5rem;min-height:400px}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.periods-grid h3{margin:0 0 1rem;color:#1f2937}.periods-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.period-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.period-card:hover{border-color:#3b82f6;box-shadow:0 4px 6px #3b82f61a}.period-dates{font-weight:600;color:#1f2937;margin-bottom:.5rem}.period-planned{color:#6b7280;font-size:.875rem;margin-bottom:.75rem}.submit-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.submit-form{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.form-header h3{margin:0;color:#1f2937}.submit-form form{padding:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.form-grid .col-span-2{grid-column:span 2}.form-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.tracking-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.tracking-table{width:100%;border-collapse:collapse}.tracking-table thead{background:#f9fafb}.tracking-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;border-bottom:1px solid #e5e7eb}.tracking-table td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.tracking-table tbody tr:hover{background:#f9fafb}.value-cell{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:500;display:flex;align-items:center;gap:.25rem}.value-cell.positive{color:#10b981}.value-cell.negative{color:#ef4444}.status-badge,.rag-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500}.variance-chart{display:flex;flex-direction:column;gap:1.5rem}.variance-row{display:grid;grid-template-columns:200px 1fr 100px 80px;gap:1rem;align-items:center;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.variance-period{font-weight:600;color:#1f2937;font-size:.875rem}.variance-bars{display:flex;flex-direction:column;gap:.5rem}.bar-container{position:relative;width:100%}.bar{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planned-bar{background:#dbeafe;color:#1e40af}.actual-bar,.actual-bar.positive{background:#d1fae5;color:#065f46}.actual-bar.negative{background:#fee2e2;color:#991b1b}.variance-value{font-weight:700;font-size:1.125rem;text-align:center}.variance-value.positive{color:#10b981}.variance-value.negative{color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280;text-align:center;min-height:300px}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state p{margin:.5rem 0}.empty-state .text-muted{font-size:.875rem;color:#9ca3af}.loading-state{display:flex;align-items:center;justify-content:center;padding:3rem;color:#6b7280;min-height:300px}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-icon{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f3f4f6;color:#1f2937}.evidence-upload-section{display:flex;flex-direction:column;gap:.75rem}.evidence-list{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.evidence-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:4px}.evidence-item svg{color:#6b7280;flex-shrink:0}.evidence-item span{flex:1;font-size:.875rem;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.benefits-register-page{padding:2rem;max-width:1400px;margin:0 auto}.benefits-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-stat{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.stat-value{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.stat-value.critical{color:#ef4444}.stat-label{color:#64748b;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.benefits-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.search-bar{flex:1;position:relative;display:flex;align-items:center;gap:.75rem;background:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.search-bar svg{color:#64748b}.search-bar input{flex:1;border:none;outline:none;font-size:.875rem}.filters-panel{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.filters-panel select{flex:1}.benefits-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.benefits-table{width:100%;border-collapse:collapse}.benefits-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;color:#475569;font-size:.875rem;border-bottom:1px solid #e2e8f0}.benefits-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#1e293b}.benefits-table tbody tr:hover{background:#f8fafc}.benefit-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-block}.type-badge{padding:.25rem .5rem;background:#ede9fe;color:#7c3aed;border-radius:4px;font-size:.75rem;font-weight:500}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-icon{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f1f5f9;color:#1e293b}.btn-icon.realisation-btn{color:#10b981;background:#d1fae5}.btn-icon.realisation-btn:hover{background:#a7f3d0;color:#059669}.btn-icon.tracking-btn{color:#8b5cf6;background:#ede9fe}.btn-icon.tracking-btn:hover{background:#ddd6fe;color:#7c3aed}.btn-icon.edit-btn{color:#3b82f6}.btn-icon.edit-btn:hover{background:#dbeafe;color:#2563eb}.btn-icon.delete-btn{color:#ef4444}.btn-icon.delete-btn:hover{background:#fee2e2;color:#dc2626}.empty-state p{margin-bottom:1.5rem;font-size:1.125rem}.form-section{margin-bottom:2rem}.form-section h3{margin-bottom:1rem;color:#1e293b;font-size:1.125rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.col-span-2{grid-column:span 2}.benefits-dashboard-page{padding:2rem;max-width:1600px;margin:0 auto}.header-actions{display:flex;gap:1rem;align-items:flex-end}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1.2}.stat-label{color:#64748b;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.stat-breakdown{display:flex;gap:1rem;margin-top:.5rem;font-size:.75rem;color:#6b7280}.dashboard-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.dashboard-section h2{margin:0 0 1.5rem;color:#1e293b;font-size:1.25rem;font-weight:600;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.rag-chart{display:flex;flex-direction:column;gap:1rem}.rag-bar-container{display:grid;grid-template-columns:80px 1fr;gap:1rem;align-items:center}.rag-bar-label{font-weight:600;font-size:.875rem;color:#475569}.rag-bar-wrapper{background:#f1f5f9;border-radius:8px;height:40px;position:relative;overflow:hidden}.rag-bar{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem;border-radius:8px;transition:width .3s ease;min-width:60px}.rag-bar-value{color:#fff;font-weight:700;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.tracking-card{padding:1.5rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.tracking-card h3{margin:0 0 1rem;color:#1e293b;font-size:1.125rem;font-weight:600}.tracking-stats{display:flex;flex-direction:column;gap:.75rem}.tracking-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.tracking-row:last-child{border-bottom:none}.tracking-row span{color:#64748b;font-size:.875rem}.tracking-row strong{color:#1e293b;font-weight:600}.tracking-row strong.positive{color:#10b981}.tracking-row strong.negative{color:#ef4444}.trend-chart{display:flex;gap:1rem;align-items:flex-end;height:250px;padding:1rem;background:#f8fafc;border-radius:8px}.trend-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.trend-bars{display:flex;gap:4px;align-items:flex-end;height:200px;width:100%;justify-content:center}.trend-bar{width:40%;min-height:5px;border-radius:4px 4px 0 0;transition:height .3s ease}.trend-bar.planned{background:#3b82f6}.trend-bar.actual{background:#10b981}.trend-label{font-size:.75rem;color:#64748b;margin-top:.5rem;text-align:center}.trend-legend{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569}.legend-color{width:20px;height:12px;border-radius:3px}.legend-color.planned{background:#3b82f6}.legend-color.actual{background:#10b981}.at-risk-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.at-risk-table{width:100%;border-collapse:collapse}.at-risk-table thead{background:#f8fafc}.at-risk-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:#475569;border-bottom:1px solid #e2e8f0;white-space:nowrap}.at-risk-table td{padding:1rem;border-bottom:1px solid #f3f4f6;color:#1e293b}.at-risk-table tbody tr:hover{background:#f9fafb}.benefit-cell{display:flex;flex-direction:column;gap:.25rem}.benefit-cell strong{color:#1e293b;font-size:.875rem}.benefit-name{font-size:.75rem;color:#64748b}.progress-bar{position:relative;width:100px;height:24px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#1f2937}.rag-badge,.risk-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-align:center}.positive{color:#10b981}.negative{color:#ef4444}.charter-page{padding:20px;max-width:1400px;margin:0 auto}.charter-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.header-left h1{margin:0 0 10px;color:#2c3e50}.charter-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.charter-code{font-family:monospace;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:14px;color:#495057}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-draft{background:#e3f2fd;color:#1976d2}.status-submitted{background:#fff3e0;color:#f57c00}.status-under_review{background:#fff9c4;color:#f9a825}.status-changes_requested{background:#ffe0b2;color:#e65100}.status-approved{background:#c8e6c9;color:#2e7d32}.status-locked{background:#b0bec5;color:#37474f}.change-control-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;background:#ffccbc;color:#d84315}.version{font-size:14px;color:#666;font-weight:500}.charter-tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab{padding:10px 20px;border:none;background:none;cursor:pointer;color:#666;font-size:14px;font-weight:500;border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:#2196f3;background:#f5f5f5}.tab.active{color:#2196f3;border-bottom-color:#2196f3}.charter-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.charter-form{max-width:1200px}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}.form-section:last-child{border-bottom:none}.form-section h2{color:#2c3e50;font-size:20px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e3f2fd}.form-group label{display:block;margin-bottom:8px;color:#495057;font-weight:500;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#f8f9fa;color:#495057;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.array-item{display:flex;gap:10px;margin-bottom:10px;align-items:center}.array-item input{flex:1}.array-item button{padding:8px 12px;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap}.array-item button:hover{background:#d32f2f}.form-group button[type=button]{margin-top:10px;padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.form-group button[type=button]:hover{background:#1976d2}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover:not(:disabled){background:#1976d2}.btn-secondary{background:#9e9e9e;color:#fff}.btn-secondary:hover:not(:disabled){background:#757575}.btn-success{background:#4caf50;color:#fff}.btn-success:hover:not(:disabled){background:#388e3c}.btn-warning{background:#ff9800;color:#fff}.btn-warning:hover:not(:disabled){background:#f57c00}.btn-info{background:#00bcd4;color:#fff}.btn-info:hover:not(:disabled){background:#0097a7}.error-message{padding:10px 15px;background:#ffebee;color:#c62828;border-radius:4px;font-size:14px;margin-right:10px}.empty-state,.loading{text-align:center;padding:60px 20px;color:#666;font-size:16px}.workflow-tab{padding:20px 0}.workflow-tab h3{margin-bottom:20px;color:#2c3e50}.approvals-table,.versions-table{width:100%;border-collapse:collapse}.approvals-table th,.approvals-table td,.versions-table th,.versions-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.approvals-table th,.versions-table th{background:#f5f5f5;font-weight:600;color:#495057;font-size:13px;text-transform:uppercase}.approvals-table td,.versions-table td{font-size:14px;color:#666}.decision-badge{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.decision-pending{background:#fff3e0;color:#f57c00}.decision-approved{background:#c8e6c9;color:#2e7d32}.decision-rejected{background:#ffcdd2;color:#c62828}.decision-delegated{background:#e1bee7;color:#7b1fa2}.version-history-tab{padding:20px 0}.version-history-tab h3{margin-bottom:20px;color:#2c3e50}@media(max-width:768px){.charter-header{flex-direction:column}.header-actions{margin-top:15px;flex-wrap:wrap}.form-row{grid-template-columns:1fr}.array-item{flex-direction:column;align-items:stretch}.array-item button{width:100%}}.strategy-map-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;font-size:24px;color:#333}.view-toggle{display:flex;gap:10px}.view-toggle button{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.view-toggle button.active{background:#2196f3;color:#fff;border-color:#2196f3}.view-toggle button:hover:not(.active){background:#f5f5f5}.strategy-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.summary-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.summary-card h3{margin:0 0 10px;font-size:14px;color:#666;text-transform:uppercase}.summary-value{font-size:32px;font-weight:700;color:#333;margin-bottom:5px}.summary-detail{font-size:12px;color:#666}.kpi-rag{display:flex;gap:10px;align-items:center}.rag-dot{padding:3px 8px;border-radius:3px;font-size:11px;font-weight:700;color:#fff}.rag-dot.green{background:#4caf50}.rag-dot.amber{background:#ff9800}.rag-dot.red{background:#f44336}.hierarchy-view{display:flex;flex-direction:column;gap:20px}.theme-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.theme-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.theme-title h2{margin:0 0 8px;font-size:20px;color:#333}.theme-meta{display:flex;gap:10px;align-items:center}.bsc-badge{display:inline-block;padding:4px 12px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:12px;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;color:#fff}.objectives-count{font-size:12px;color:#666}.theme-description{margin:0 0 20px;color:#666;font-size:14px}.objectives-list{display:flex;flex-direction:column;gap:15px;margin-left:20px}.objective-card{background:#f9f9f9;border-left:4px solid #2196f3;padding:15px;border-radius:4px}.objective-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.objective-header h3{margin:0;font-size:16px;color:#333;flex:1}.objective-meta{display:flex;gap:8px;align-items:center}.progress-badge{padding:4px 12px;background:#e8f5e9;color:#2e7d32;border-radius:4px;font-size:12px;font-weight:600}.outcomes-list{display:flex;flex-direction:column;gap:10px;margin-left:20px;margin-top:10px}.outcome-card{background:#fff;border-left:4px solid #4caf50;padding:12px;border-radius:4px}.outcome-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.outcome-header h4{margin:0;font-size:14px;color:#333;flex:1}.outcome-meta{display:flex;gap:8px;align-items:center}.type-badge{padding:3px 10px;background:#fff3e0;color:#e65100;border-radius:3px;font-size:11px;font-weight:600}.achievement-badge{padding:3px 10px;background:#e1f5fe;color:#01579b;border-radius:3px;font-size:11px;font-weight:600}.kpis-list{display:flex;flex-direction:column;gap:6px;margin-left:15px;margin-top:8px}.kpi-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fafafa;border-radius:3px;font-size:13px}.kpi-name{color:#555;flex:1}.kpi-meta{display:flex;gap:6px;align-items:center}.rag-badge{padding:2px 8px;border-radius:3px;font-size:10px;font-weight:700;color:#fff}.kpi-value{font-size:12px;color:#666;font-weight:500}.list-view{display:flex;flex-direction:column;gap:30px}.list-section h2{font-size:18px;color:#333;margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.item-card{background:#fff;padding:15px;border-radius:6px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.item-card:hover{transform:translateY(-2px);box-shadow:0 3px 6px #00000026}.item-code{font-size:12px;color:#666;font-weight:600;margin-bottom:5px}.item-name{font-size:14px;color:#333;margin-bottom:10px;font-weight:500}.item-meta{display:flex;gap:8px;flex-wrap:wrap}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;color:#666}.empty-state p{margin:10px 0}.orphans-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.page-header h1{margin:0 0 5px;font-size:28px;color:#333}.page-subtitle{margin:0;color:#666;font-size:14px}.refresh-button{padding:10px 20px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.refresh-button:hover{background:#f5f5f5;border-color:#2196f3}.orphans-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:25px}.summary-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #00000014;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .2s;border:2px solid transparent}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001f}.summary-card.active{border-width:2px;box-shadow:0 4px 8px #00000026}.summary-card.total{cursor:default;border-color:#2196f3}.summary-card.total:hover{transform:none}.summary-icon{font-size:32px;line-height:1}.summary-content{flex:1}.summary-label{font-size:12px;color:#666;margin-bottom:5px;text-transform:uppercase;font-weight:600}.summary-value{font-size:28px;font-weight:700;color:#333}.filter-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014}.filter-pill{padding:8px 16px;border:2px solid #e0e0e0;background:#fff;border-radius:20px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;color:#666}.filter-pill:hover{border-color:#bdbdbd;background:#f5f5f5}.filter-pill.active{background:#2196f3;border-color:#2196f3;color:#fff}.orphans-list{display:flex;flex-direction:column;gap:25px}.orphan-group{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow:hidden}.orphan-group-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f9f9f9;border-left:4px solid}.orphan-group-title{display:flex;align-items:center;gap:15px}.orphan-icon{font-size:32px;line-height:1}.orphan-group-title h2{margin:0 0 5px;font-size:18px;color:#333}.orphan-group-title p{margin:0;font-size:13px;color:#666}.orphan-count{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff}.orphan-items{padding:15px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.orphan-item{padding:15px;background:#fafafa;border-radius:6px;border:1px solid #e0e0e0;transition:all .2s}.orphan-item:hover{background:#fff;border-color:#bdbdbd;box-shadow:0 2px 4px #0000001a}.orphan-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.orphan-item-code{font-size:12px;font-weight:700;color:#2196f3;font-family:Courier New,monospace}.orphan-item-type{font-size:11px;padding:3px 8px;background:#e3f2fd;color:#1976d2;border-radius:3px;text-transform:uppercase;font-weight:600}.orphan-item-name{font-size:15px;color:#333;font-weight:600;margin-bottom:8px;line-height:1.4}.orphan-item-issue{font-size:13px;color:#666;font-style:italic;line-height:1.4}.no-orphans-message{text-align:center;padding:80px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014}.success-icon{font-size:80px;margin-bottom:20px}.no-orphans-message h2{margin:0 0 10px;font-size:24px;color:#4caf50}.no-orphans-message p{margin:0;font-size:16px;color:#666}.help-section{margin-top:40px;padding:30px;background:#f5f7fa;border-radius:8px}.help-section h3{margin:0 0 15px;font-size:20px;color:#333}.help-section>p{margin:0 0 25px;font-size:14px;color:#666;line-height:1.6}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.help-card{background:#fff;padding:20px;border-radius:6px;text-align:center}.help-icon{font-size:40px;margin-bottom:10px}.help-title{font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.help-description{font-size:12px;color:#666;line-height:1.4}.no-program-message,.loading-message,.error-message{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;font-size:16px;color:#666}.error-message{color:#f44336}.retry-button{margin-top:20px;padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.retry-button:hover{background:#1976d2}.stage-gates-page{padding:2rem;max-width:1600px;margin:0 auto}.search-box{position:relative;flex:1;max-width:500px}.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-box input{padding-left:3rem;width:100%}.gates-table-container{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;overflow:hidden}.gates-table{width:100%;border-collapse:collapse}.gates-table thead{background:#f8fafc;border-bottom:1.5px solid #cbd5e1}.gates-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.025em}.gates-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s}.gates-table tbody tr:hover{background:#f8fafc}.gates-table tbody tr:last-child{border-bottom:none}.gates-table td{padding:1rem;color:#334155;font-size:.875rem}.gate-type-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af;text-transform:capitalize}.gate-name-cell{max-width:300px}.gate-name{font-weight:600;color:#0f172a;margin-bottom:.25rem}.gate-description{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.completion-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700}.blocking-yes{color:#dc2626;font-weight:600}.blocking-no{color:#64748b;font-weight:500}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;transition:all .15s;color:#475569}.roadmap-page{padding:2rem;max-width:1800px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.page-header h1{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.page-subtitle{font-size:.95rem;color:#64748b;margin:0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:2rem}.summary-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:1.25rem;text-align:center}.summary-card.achieved{border-color:#10b981;background:#f0fdf4}.summary-card.critical{border-color:#f59e0b;background:#fffbeb}.summary-card.overdue{border-color:#ef4444;background:#fef2f2}.summary-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.summary-value{font-size:2rem;font-weight:700;color:#0f172a}.tabs-container{margin-bottom:1.5rem}.tabs{display:flex;gap:.5rem;border-bottom:2px solid #e2e8f0}.tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;font-size:.95rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab:hover{color:#0f172a;background:#f8fafc}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{margin-top:1.5rem}.controls-section{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.filters-panel{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.milestones-table-container,.phases-table-container{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;overflow-x:auto}.milestones-table,.phases-table{width:100%;border-collapse:collapse;min-width:1000px}.milestones-table thead,.phases-table thead{background:#f8fafc;border-bottom:1.5px solid #cbd5e1}.milestones-table th,.phases-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.025em}.milestones-table tbody tr,.phases-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s}.milestones-table tbody tr:hover,.phases-table tbody tr:hover{background:#f8fafc}.milestones-table tbody tr:last-child,.phases-table tbody tr:last-child{border-bottom:none}.milestones-table td,.phases-table td{padding:1rem;color:#334155;font-size:.875rem}.milestone-name,.phase-name{font-weight:600;color:#0f172a;margin-bottom:.25rem}.milestone-code,.phase-code{font-size:.75rem;color:#64748b}.sequence-cell{font-weight:600;text-align:center;color:#0f172a}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#ede9fe;color:#6d28d9;text-transform:capitalize}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.critical-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#fee2e2;color:#dc2626}.completion-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;background:#dbeafe;color:#1e40af}.action-buttons{display:flex;gap:.5rem}.btn-icon{padding:.375rem .75rem;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;transition:all .15s;color:#475569;font-size:.8rem;font-weight:600}.btn-icon:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.baselines-list{display:grid;gap:1.5rem}.baseline-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:1.5rem}.baseline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.baseline-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a}.approved-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#d1fae5;color:#10b981}.baseline-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem;font-size:.875rem}.baseline-description{color:#64748b;margin:0;font-size:.875rem}.no-data{text-align:center;color:#64748b;padding:3rem!important;font-style:italic}.loading-state{display:flex;justify-content:center;align-items:center;padding:3rem;color:#64748b;font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1.5px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a}.modal-close{background:none;border:none;font-size:2rem;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.modal-close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1.5px solid #e2e8f0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-grid .full-width{grid-column:1 / -1}.form-label{font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:.5rem}.form-label.checkbox-label{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.form-label.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-input,.form-select,.form-textarea{padding:.75rem;border:1.5px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#0f172a;transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;font-family:inherit}.btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary{background:#fff;color:#475569;border:1.5px solid #cbd5e1}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.decision-logs-page{padding:2rem;max-width:1800px;margin:0 auto}.header-left{display:flex;align-items:center;gap:1rem}.page-icon{color:#3b82f6}.page-subtitle{color:#64748b;margin:0}.header-actions{display:flex;gap:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#1e293b;line-height:1}.stat-label{color:#64748b;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.search-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.search-bar{display:flex;gap:1rem;align-items:center}.search-bar svg{color:#6b7280;flex-shrink:0}.search-input{flex:1;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filters-panel{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.filter-actions{grid-column:1 / -1;display:flex;gap:1rem;justify-content:flex-end}.decisions-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.decisions-table{width:100%;border-collapse:collapse}.decisions-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.decisions-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:#475569;white-space:nowrap}.decisions-table td{padding:1rem;border-bottom:1px solid #f3f4f6;color:#1e293b}.decisions-table tbody tr:hover{background:#f9fafb}.decision-title{display:flex;align-items:center;gap:.5rem;font-weight:500}.category-icon{font-size:1.25rem}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.lock-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.lock-badge.locked{background:#fef3c7;color:#92400e}.lock-badge.unlocked{background:#d1fae5;color:#065f46}.evidence-count{color:#6b7280;font-size:.875rem}.table-actions{display:flex;gap:.5rem;justify-content:flex-start}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#e5e7eb;color:#1f2937}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:#64748b}.empty-state svg{color:#cbd5e1;margin-bottom:1rem}.empty-state p{font-size:1.125rem;margin:0}.form-label{font-size:.875rem;font-weight:500;color:#374151}.form-input,.form-select{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;transition:all .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn:disabled{opacity:.5;cursor:not-allowed}.escalation-detail-modal{max-width:1200px;width:95%;max-height:90vh;overflow-y:auto}.action-buttons{display:flex;gap:1rem;margin-bottom:1.5rem}.details-tab{padding:1rem 0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0}.detail-item div,.detail-item span{font-size:.9375rem;color:var(--text-primary)}.detail-section{margin-bottom:1.5rem}.detail-section label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.description,.resolution-notes{padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;line-height:1.6;white-space:pre-wrap}.breach-details{padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.5rem}.breach-details div{font-size:.9375rem}.approvers-tab,.actions-tab{padding:1rem 0}.action-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:.9375rem}.history-tab{padding:1rem 0}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background-color:var(--border-color)}.timeline-item{position:relative;margin-bottom:1.5rem}.timeline-marker{position:absolute;left:-1.75rem;top:.25rem;width:12px;height:12px;border-radius:50%;background-color:var(--primary-color);border:2px solid var(--bg-primary)}.timeline-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.timeline-header strong{font-size:.9375rem;color:var(--text-primary)}.timeline-body{font-size:.9375rem;color:var(--text-primary);margin-bottom:.5rem;line-height:1.5}.timeline-footer{font-size:.8125rem;color:var(--text-secondary)}.mb-3{margin-bottom:1rem}.escalation-form-modal{max-width:700px;width:95%}.escalation-form-modal .modal-body{padding:1.5rem}.escalation-form-modal .form-group{margin-bottom:1.25rem}.escalation-form-modal .form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.escalation-form-modal .form-group input,.escalation-form-modal .form-group select,.escalation-form-modal .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;font-family:inherit}.escalation-form-modal .form-group input:focus,.escalation-form-modal .form-group select:focus,.escalation-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.escalation-form-modal .form-group textarea{resize:vertical}.escalation-form-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}@media(max-width:768px){.escalation-form-modal .form-row{grid-template-columns:1fr}}.escalation-form-modal .form-text{display:block;margin-top:.25rem;font-size:.8125rem;color:var(--text-secondary)}.escalation-form-modal .alert{padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.escalation-form-modal .alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb;font-size:.875rem;line-height:1.5}.escalation-form-modal .alert strong{font-weight:600}.escalations-page{max-width:1600px;margin:0 auto;padding:2rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-content{display:flex;flex-direction:column;gap:.5rem}.stat-title{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin:0}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.stat-value.text-danger{color:var(--danger-color)}.stat-value.text-warning{color:var(--warning-color)}.stat-value.text-success{color:var(--success-color)}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary-color)}.escalations-content{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table thead{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.875rem;color:var(--text-primary)}.badge-danger{background-color:#fee;color:#c00}.badge-warning{background-color:#ffeaa7;color:#d63031}.badge-info{background-color:#d1ecf1;color:#0c5460}.badge-primary{background-color:#cfe2ff;color:#084298}.btn-group{display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.9375rem}.escalation-rule-form-modal{max-width:900px;width:95%;max-height:90vh;overflow-y:auto}.escalation-rule-form-modal .modal-body{padding:1.5rem;max-height:calc(90vh - 140px);overflow-y:auto}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.section-description{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.form-group label input[type=checkbox]{margin-right:.5rem}.form-group label span{font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-text{display:block;margin-top:.25rem;font-size:.8125rem;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.suggested-thresholds{margin-bottom:1rem;padding:1rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}.suggested-thresholds label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.threshold-suggestions{display:flex;gap:.5rem;flex-wrap:wrap}.threshold-input-group{display:grid;grid-template-columns:2fr 1fr auto;gap:.5rem;margin-bottom:1rem}.threshold-list{display:flex;flex-direction:column;gap:.5rem}.threshold-list .threshold-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}.threshold-list .threshold-key{flex:1;font-weight:500;text-transform:capitalize}.threshold-list .threshold-value{font-weight:600;color:var(--primary-color)}.severity-range{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;margin-bottom:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}.severity-label{display:inline-block;padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-align:center;border-radius:var(--radius-md)}.severity-label.badge-info{background-color:#cfe2ff;color:#084298}.severity-label.badge-warning{background-color:#fff3cd;color:#664d03}.severity-label.badge-danger{background-color:#f8d7da;color:#842029}.range-inputs{display:flex;align-items:center;gap:.5rem}.range-inputs input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem}.range-inputs span{font-size:.875rem;color:var(--text-secondary)}.routing-input-group{display:grid;grid-template-columns:150px 1fr auto;gap:.5rem;margin-bottom:1rem}.routing-list{display:flex;flex-direction:column;gap:.5rem}.routing-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:var(--radius-md)}.route-value{flex:1;font-weight:500;color:var(--text-primary)}.form-group label input[type=checkbox]{width:auto;margin-right:.5rem}.escalation-rule-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.escalation-rules-page{max-width:1600px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h2{margin:0;font-size:1.75rem;color:var(--text-primary)}.page-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:4rem 2rem;background-color:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--radius-lg)}.empty-state h3{margin:0 0 1rem;color:var(--text-primary)}.empty-state p{margin:0 0 2rem;color:var(--text-secondary)}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:1.5rem}@media(max-width:768px){.rules-grid{grid-template-columns:1fr}}.rule-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.rule-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.rule-card.inactive{opacity:.6;border-color:var(--border-color)}.rule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.rule-header h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--text-primary)}.rule-code{display:inline-block;padding:.25rem .5rem;background-color:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.rule-status{flex-shrink:0}.rule-body{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.rule-info{display:flex;flex-direction:column;gap:.5rem}.rule-info label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:var(--text-primary)}.threshold-item,.severity-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--bg-secondary);border-radius:var(--radius-sm)}.threshold-key,.severity-key{font-weight:500;text-transform:capitalize}.threshold-value,.range{margin-left:auto;font-weight:600;color:var(--primary-color)}.rule-description{margin-top:.5rem}.rule-description label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:.5rem}.rule-description p{margin:0;font-size:.875rem;color:var(--text-primary);line-height:1.6}.rule-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--border-color)}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.alert{padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);white-space:nowrap;text-transform:capitalize}.badge-success{background-color:#d1e7dd;color:#0f5132}.badge-secondary{background-color:#e2e3e5;color:#41464b}.badge-info{background-color:#cfe2ff;color:#084298}.badge-danger{background-color:#f8d7da;color:#842029}.badge-warning{background-color:#fff3cd;color:#664d03}.badge-minor{background-color:#d1ecf1;color:#0c5460}.badge-moderate{background-color:#fff3cd;color:#664d03}.badge-major{background-color:#f8d7da;color:#842029}.badge-critical{background-color:#842029;color:#fff}.dependency-form-modal{max-width:900px;max-height:90vh;overflow-y:auto}.dependency-form{padding:20px}.form-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 15px;font-size:16px;color:#333;font-weight:600}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group.checkbox-group{flex-direction:row;align-items:center}.form-group label{margin-bottom:5px;font-size:14px;font-weight:500;color:#555}.form-group label small{font-weight:400;color:#999;font-size:12px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2196f3}.form-group textarea{resize:vertical;min-height:60px}.checkbox-group input[type=checkbox]{margin-right:8px;width:18px;height:18px;cursor:pointer}.checkbox-group label{margin-bottom:0;cursor:pointer;display:flex;align-items:center}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}@media(max-width:768px){.dependency-form-modal{max-width:95%;margin:10px auto}.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:1}}.dependency-detail-modal{max-width:800px;max-height:90vh}.dependency-code-label{font-family:Courier New,monospace;font-size:12px;color:#666;background:#f0f0f0;padding:4px 8px;border-radius:4px;display:inline-block;margin-top:5px}.detail-tabs{display:flex;border-bottom:2px solid #e0e0e0;margin:0 -20px;padding:0 20px}.tab-button{background:none;border:none;padding:12px 20px;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .2s}.tab-button:hover{color:#333;background:#f5f5f5}.tab-button.active{color:#2196f3;border-bottom-color:#2196f3}.detail-content{padding:20px;max-height:calc(90vh - 200px);overflow-y:auto}.detail-section{margin-bottom:25px}.detail-section h3{margin:0 0 15px;font-size:16px;color:#333;font-weight:600;border-bottom:1px solid #eee;padding-bottom:8px}.detail-item{display:flex;flex-direction:column}.detail-item label{font-size:12px;color:#666;font-weight:500;margin-bottom:4px}.detail-item span{font-size:14px;color:#333}.status-value{text-transform:capitalize}.text-danger{color:#d32f2f!important;font-weight:600}.text-success{color:#388e3c!important;font-weight:600}.impact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.stat-card{background:#f5f5f5;padding:20px;border-radius:8px;text-align:center}.stat-value{font-size:32px;font-weight:700;color:#2196f3;margin-bottom:5px}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.impact-history-table{width:100%;border-collapse:collapse;font-size:13px}.impact-history-table th{background:#f5f5f5;padding:10px;text-align:left;font-weight:600;border-bottom:2px solid #ddd}.impact-history-table td{padding:10px;border-bottom:1px solid #eee}.impact-history-table tbody tr:hover{background:#f9f9f9}.alerts-list{display:flex;flex-direction:column;gap:15px}.alert-card{background:#f9f9f9;border-left:4px solid #ff9800;padding:15px;border-radius:4px}.alert-header{display:flex;gap:10px;align-items:center;margin-bottom:10px}.alert-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.alert-critical{background:#ffebee;color:#c62828}.alert-high{background:#fff3e0;color:#ef6c00}.alert-medium{background:#e3f2fd;color:#1976d2}.alert-low{background:#f1f8e9;color:#558b2f}.alert-type{font-size:12px;color:#666;text-transform:capitalize}.alert-message{font-size:14px;color:#333;margin-bottom:8px}.alert-date{font-size:12px;color:#999}.no-data{text-align:center;color:#999;padding:20px;background:#f9f9f9;border-radius:8px}@media(max-width:768px){.dependency-detail-modal{max-width:95%}.detail-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:1}.impact-stats{grid-template-columns:repeat(2,1fr)}.tab-button{padding:10px 12px;font-size:13px}}.dependency-alerts-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.alerts-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f5f5f5;border-bottom:2px solid #ddd}.alerts-header h3{margin:0;font-size:18px;color:#333}.alerts-actions{display:flex;gap:10px;align-items:center}.no-alerts{padding:40px;text-align:center;color:#999}.alerts-list{max-height:600px;overflow-y:auto;padding:10px}.alert-item{background:#fff;border:1px solid #e0e0e0;border-left-width:4px;border-radius:4px;padding:15px;margin-bottom:10px;transition:box-shadow .2s}.alert-item:hover{box-shadow:0 2px 8px #0000001a}.alert-item.severity-critical{border-left-color:#c62828;background:#ffebee}.alert-item.severity-high{border-left-color:#ef6c00;background:#fff3e0}.alert-item.severity-medium{border-left-color:#1976d2;background:#e3f2fd}.alert-item.severity-low{border-left-color:#558b2f;background:#f1f8e9}.alert-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.alert-badges{display:flex;gap:8px}.severity-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.severity-badge-critical{background:#c62828;color:#fff}.severity-badge-high{background:#ef6c00;color:#fff}.severity-badge-medium{background:#1976d2;color:#fff}.severity-badge-low{background:#558b2f;color:#fff}.severity-badge-info{background:#666;color:#fff}.type-badge{padding:4px 10px;border-radius:12px;font-size:11px;background:#e0e0e0;color:#333;text-transform:capitalize}.alert-status-badge{padding:4px 10px;border-radius:12px;font-size:11px;background:#f0f0f0;color:#666;text-transform:capitalize}.alert-content h4{margin:0 0 10px;font-size:16px;color:#333}.alert-message{margin:0 0 15px;color:#555;font-size:14px}.alert-details{background:#ffffff80;padding:10px;border-radius:4px;margin-bottom:10px}.detail-row{font-size:13px;margin-bottom:5px;color:#555}.detail-row:last-child{margin-bottom:0}.detail-row strong{color:#333;margin-right:5px}.alert-meta{font-size:12px;color:#999;margin-top:10px}.alert-actions{display:flex;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(0,0,0,.1)}.btn-sm{padding:6px 12px;font-size:13px}.alert-notes{background:#ffffffb3;padding:10px;border-radius:4px;margin-top:10px;font-size:13px;color:#555}.alert-notes strong{color:#333;display:block;margin-bottom:5px}@media(max-width:768px){.alerts-header{flex-direction:column;align-items:stretch;gap:10px}.alerts-actions{justify-content:space-between}.alert-actions{flex-wrap:wrap}.alert-actions button{flex:1;min-width:100px}}.programme-impact-summary{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.impact-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px}.impact-header h3{margin:0 0 5px;font-size:20px}.impact-program-name{font-size:14px;opacity:.9}.programme-impact-loading{padding:20px;text-align:center;color:#999}.impact-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;padding:20px}.metric-card{background:#f9f9f9;border-radius:8px;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-value{font-size:36px;font-weight:700;color:#333;margin-bottom:8px;line-height:1}.metric-value.health-green{color:#388e3c}.metric-value.health-amber{color:#f57c00}.metric-value.health-red{color:#d32f2f}.metric-value.critical{color:#c62828}.metric-value.impact{color:#1976d2}.metric-value.alert{color:#ff9800}.metric-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-weight:600}.metric-breakdown{display:flex;flex-direction:column;gap:4px;font-size:13px}.breakdown-item{color:#666}.breakdown-item.health-red{color:#d32f2f;font-weight:500}.breakdown-item.health-amber{color:#f57c00;font-weight:500}.breakdown-item.health-green{color:#388e3c;font-weight:500}.breakdown-item.alert-critical{color:#c62828;font-weight:600}.rag-display{margin-bottom:15px}.rag-bar{width:100%;height:40px;display:flex;border-radius:8px;overflow:hidden;background:#e0e0e0}.rag-segment{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.rag-red{background:linear-gradient(135deg,#f44336,#d32f2f)}.rag-amber{background:linear-gradient(135deg,#ff9800,#f57c00)}.rag-green{background:linear-gradient(135deg,#4caf50,#388e3c)}.summary-card{text-align:left}.quick-stats{display:flex;flex-direction:column;gap:8px}.quick-stat{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#fff;border-radius:4px;font-size:13px}.stat-label{color:#666;font-weight:500}.stat-value{color:#333;font-weight:600}@media(max-width:1200px){.impact-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:768px){.impact-metrics{grid-template-columns:1fr}.metric-card{padding:15px}.metric-value{font-size:28px}}.dependency-network-visualization{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.network-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.network-header h3{margin:0;font-size:18px}.network-stats{display:flex;gap:20px;font-size:14px}.network-stats span{background:#fff3;padding:4px 12px;border-radius:12px}.network-filters{display:flex;gap:20px;padding:15px 20px;background:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:wrap}.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.filter-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.network-canvas-container{position:relative;width:100%;height:600px;background:#fafafa}.network-canvas{width:100%;height:100%;cursor:pointer}.selected-node-info{position:absolute;top:160px;right:20px;background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:200px;z-index:10}.selected-node-info h4{margin:0 0 10px;font-size:16px;color:#333}.selected-node-info p{margin:5px 0;font-size:14px;color:#666}.node-info-hint{font-size:12px;color:#999;font-style:italic}.network-loading,.network-error{padding:40px;text-align:center;color:#999}.network-error{color:#d32f2f;background:#ffebee}@media(max-width:768px){.network-filters{flex-direction:column;gap:10px}.network-canvas-container{height:400px}.selected-node-info{position:static;margin:20px}.network-header{flex-direction:column;align-items:flex-start;gap:10px}.network-stats{width:100%}}.dependency-matrix-page{padding:20px;max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.no-program-selected h2{color:#666;margin-bottom:10px}.no-program-selected p{color:#999}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end}.filter-group{display:flex;flex-direction:column}.search-input,.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%}.results-count{margin-bottom:10px;color:#666;font-size:14px}.dependencies-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.table-wrapper{overflow-x:auto}.dependencies-table{width:100%;border-collapse:collapse;font-size:14px}.dependencies-table thead{background:#f5f5f5;position:sticky;top:0;z-index:10}.dependencies-table th{padding:12px 10px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.dependencies-table td{padding:10px;border-bottom:1px solid #eee;vertical-align:middle}.dependencies-table tbody tr:hover{background:#f9f9f9}.dependencies-table .no-data{text-align:center;padding:40px;color:#999}.critical-path-row{background:#fff3e0!important;border-left:3px solid #ff9800}.slipping-row{background:#ffebee!important}.critical-path-row:hover,.slipping-row:hover{opacity:.9}.dependency-code{font-family:Courier New,monospace;font-size:12px;color:#666;background:#f0f0f0;padding:2px 6px;border-radius:3px}.type-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.type-internal{background:#e3f2fd;color:#1976d2}.type-external{background:#fff3e0;color:#f57c00}.badge-critical-path{background:#ff9800;color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-left:8px}.health-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.health-red{background:#ffebee;color:#c62828}.health-amber{background:#fff3e0;color:#ef6c00}.health-green{background:#e8f5e9;color:#2e7d32}.criticality-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.criticality-critical{background:#ffebee;color:#c62828}.criticality-high{background:#fff3e0;color:#ef6c00}.criticality-medium{background:#e3f2fd;color:#1976d2}.criticality-low{background:#f1f8e9;color:#558b2f}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.status-delivered{background:#e8f5e9;color:#2e7d32}.status-on-track{background:#e8f5e9;color:#388e3c}.status-at-risk{background:#fff3e0;color:#f57c00}.status-slipping{background:#ffebee;color:#d32f2f}.status-blocked{background:#ffebee;color:#c62828}.status-cancelled,.status-waived{background:#f5f5f5;color:#757575}.slippage-warning{color:#d32f2f;font-weight:600}.slippage-ok{color:#388e3c;font-weight:500}.impact-cell{font-size:12px}.impact-score{font-weight:600;color:#333}.impact-detail{color:#666;font-size:11px}.alerts-badge{background:#ffebee;color:#d32f2f;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600}.btn-icon.btn-danger:hover{background:#ffebee}@media(max-width:1200px){.filters-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dependencies-table{font-size:13px}.dependencies-table th,.dependencies-table td{padding:8px}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:stretch}.header-actions button{flex:1}.filters-grid{grid-template-columns:1fr}.table-wrapper{overflow-x:scroll}}.project-health-dashboard{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.dashboard-header{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dashboard-header h2{margin:0 0 5px;font-size:24px}.header-subtitle{font-size:14px;opacity:.9}.dashboard-content{padding:20px}.health-dashboard-empty{text-align:center;padding:40px;color:#999;background:#f9f9f9;border-radius:8px}.overall-health-section{display:flex;justify-content:center;align-items:center;padding:30px 20px;background:#f9f9f9;border-radius:8px;margin-bottom:30px}.health-gauge{text-align:center}.gauge-svg{width:250px;height:150px;margin-bottom:15px}.gauge-fill{transition:stroke-dasharray 1s ease-out}.gauge-score{font-size:36px;font-weight:700;fill:#333}.gauge-label{font-size:12px;fill:#666;text-transform:uppercase;letter-spacing:1px}.health-status-display{margin-top:10px}.dimensions-section{margin-bottom:30px}.dimensions-section h3{margin:0 0 20px;font-size:18px;color:#333}.dimensions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.dimension-card{background:#f9f9f9;border-radius:8px;padding:15px;display:flex;gap:15px;align-items:center;transition:transform .2s,box-shadow .2s}.dimension-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dimension-icon{font-size:32px;min-width:40px;text-align:center}.dimension-content{flex:1}.dimension-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dimension-score-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:5px}.score-fill{height:100%;transition:width .5s ease-out;border-radius:4px}.dimension-score-value{font-size:12px;color:#666;font-weight:600}.quick-stats-section{margin-bottom:30px}.quick-stats-section h3{margin:0 0 20px;font-size:18px;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-card{background:#f9f9f9;border-radius:8px;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:28px;margin-bottom:10px}.stat-value{font-size:24px;font-weight:700;color:#333;margin-bottom:5px}.stat-value.alert{color:#ff9800}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.health-metadata{display:flex;gap:30px;padding:15px;background:#f9f9f9;border-radius:8px;font-size:14px}.metadata-item{display:flex;gap:10px}.metadata-label{font-weight:600;color:#666}.metadata-value{color:#333}@media(max-width:1024px){.dimensions-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-content{padding:15px}.gauge-svg{width:200px;height:120px}.gauge-score{font-size:28px}.stats-grid{grid-template-columns:1fr}.health-metadata{flex-direction:column;gap:10px}.dimension-card{padding:12px}.dimension-icon{font-size:24px;min-width:30px}}@media(max-width:480px){.dashboard-header h2{font-size:20px}.gauge-svg{width:180px;height:100px}.stat-icon{font-size:24px}.stat-value{font-size:20px}}.project-dependencies-section{margin:20px 0;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.section-header h3{margin:0;font-size:1.3rem;color:#333}.dependency-summary-badges{display:flex;gap:10px;flex-wrap:wrap}.summary-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;background:#e3f2fd;color:#1976d2}.summary-badge.warning{background:#fff3cd;color:#856404}.summary-badge.critical{background:#ffe0b2;color:#e65100}.summary-badge.danger{background:#ffebee;color:#c62828}.dependency-impact-summary{margin-bottom:20px}.impact-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px}.impact-icon{font-size:1.5rem}.impact-details{flex:1;font-size:.95rem}.impact-details strong{color:#856404;margin-right:8px}.dependency-group{margin:25px 0}.dependency-group h4{margin:0 0 15px;font-size:1.1rem;color:#555;font-weight:600}.dependency-table-container{overflow-x:auto}.dependency-table{width:100%;border-collapse:collapse;font-size:.9rem}.dependency-table th{background:#f5f5f5;padding:10px 8px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.dependency-table td{padding:12px 8px;border-bottom:1px solid #f0f0f0;vertical-align:top}.dependency-table tr:hover{background:#fafafa}.dependency-table tr.row-slipping{background:#fff9e6}.dependency-table tr.row-slipping:hover{background:#fff3cd}.dependency-code{font-family:Courier New,monospace;font-size:.85rem;background:#f5f5f5;padding:2px 6px;border-radius:3px;color:#666}.badge-cp{display:inline-block;margin-left:6px;padding:2px 6px;background:#ff9800;color:#fff;font-size:.7rem;font-weight:700;border-radius:3px}.source-internal,.source-external{display:flex;align-items:center;gap:4px}.entity-type{font-size:.8rem;color:#888}.actual-date{font-size:.8rem;color:#666;margin-top:4px}.status-on_track{background:#d4edda;color:#155724}.status-delivered{background:#cce5ff;color:#004085}.status-at_risk{background:#fff3cd;color:#856404}.status-slipping{background:#f8d7da;color:#721c24}.status-blocked{background:#e7e7e7;color:#333}.status-identified,.status-validated,.status-active{background:#e3f2fd;color:#1976d2}.health-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.health-badge.health-green{background:#d4edda;color:#155724}.health-badge.health-amber{background:#fff3cd;color:#856404}.health-badge.health-red{background:#f8d7da;color:#721c24}.criticality-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.criticality-badge.criticality-critical{background:#ffebee;color:#c62828}.criticality-badge.criticality-high{background:#ffe0b2;color:#e65100}.criticality-badge.criticality-medium{background:#fff9c4;color:#f57f17}.criticality-badge.criticality-low{background:#e3f2fd;color:#1976d2}.impact-cell{font-size:.85rem}.impact-warning{margin-bottom:6px}.slippage-days{display:inline-block;padding:3px 8px;background:#f8d7da;color:#721c24;border-radius:3px;font-weight:700}.impact-values{display:flex;flex-direction:column;gap:3px;color:#666;font-size:.8rem}.impact-ok{color:#28a745;font-weight:500}.predecessor-list{display:flex;flex-direction:column;gap:12px}.predecessor-item{padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa}.predecessor-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.predecessor-header strong{color:#333;font-size:1rem}.badge-critical{padding:3px 8px;background:#ff5252;color:#fff;font-size:.75rem;font-weight:700;border-radius:3px;text-transform:uppercase}.predecessor-details{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#666}.dependency-name{color:#333}.separator{color:#ccc}.no-dependencies{text-align:center;padding:40px 20px;color:#666}.no-dependencies p{margin:10px 0}.help-text{font-size:.9rem;color:#888}.help-text a{color:#1976d2;text-decoration:none}.help-text a:hover{text-decoration:underline}.dependencies-section-loading,.dependencies-section-error{padding:20px;text-align:center;color:#666}.dependencies-section-error{color:#c62828;background:#ffebee;border-radius:4px}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:10px}.dependency-summary-badges{width:100%}.dependency-table{font-size:.8rem}.dependency-table th,.dependency-table td{padding:8px 4px}.impact-details{font-size:.85rem}}.project-registry-detail{max-width:1200px;max-height:90vh;width:95%}.project-subtitle{margin:5px 0 0;color:#666;font-size:14px;display:flex;align-items:center;gap:10px}.modal-tabs{display:flex;gap:5px;padding:0 20px;background:#f5f5f5;border-bottom:2px solid #ddd;overflow-x:auto}.tab-button{padding:12px 20px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.tab-button:hover{color:#333;background:#0000000d}.tab-button.active{color:#2196f3;border-bottom-color:#2196f3;background:#fff}.tab-content{padding:0}.detail-section{padding:20px;border-bottom:1px solid #eee}.detail-section:last-child{border-bottom:none}.detail-section h3{margin:0 0 15px;font-size:16px;color:#333;font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:#333;font-weight:500}.detail-description{font-size:14px;color:#555;line-height:1.6;margin:0;white-space:pre-wrap}.health-overview{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;align-items:center}.health-score-card{text-align:center}.health-score-value{font-size:72px;font-weight:700;line-height:1;margin-bottom:10px}.health-score-label{font-size:14px;opacity:.9;margin-bottom:15px}.health-status-badge{display:inline-block}.health-dimensions{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.health-dimension{background:#f9f9f9;border-radius:8px;padding:15px;border-left:4px solid #2196f3}.dimension-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dimension-name{font-size:14px;font-weight:600;color:#333}.dimension-score{font-size:28px;font-weight:700;color:#2196f3;margin-bottom:5px}.dimension-details{font-size:12px;color:#666}.health-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.health-badge.health-green{background:#e8f5e9;color:#2e7d32}.health-badge.health-amber{background:#fff3e0;color:#ef6c00}.health-badge.health-red{background:#ffebee;color:#c62828}.benefit-compliance-card{background:#f9f9f9;border-radius:8px;padding:20px}.compliance-status{margin-bottom:15px}.compliance-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:20px;font-size:16px;font-weight:600}.compliance-badge.compliant{background:#e8f5e9;color:#2e7d32}.compliance-badge.non-compliant{background:#ffebee;color:#c62828}.badge-icon{font-size:20px}.compliance-details{margin-top:15px}.compliance-details p{margin:8px 0;font-size:14px;color:#555}.validation-message{margin-top:10px;padding:10px;background:#fff3e0;border-left:3px solid #ff9800;font-size:13px;color:#e65100}.benefits-list{display:flex;flex-direction:column;gap:10px}.benefit-item{background:#f9f9f9;border-radius:8px;padding:15px;border-left:4px solid #4caf50}.benefit-name{font-size:15px;font-weight:600;color:#333;margin-bottom:8px}.benefit-details{display:flex;gap:15px;font-size:13px;color:#666}.benefit-details span{display:inline-block}.risk-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-card{background:#f9f9f9;border-radius:8px;padding:20px;text-align:center}.history-timeline{display:flex;flex-direction:column;gap:15px}.history-record{display:flex;gap:20px;padding:15px;background:#f9f9f9;border-radius:8px;border-left:4px solid #2196f3}.history-date{min-width:120px;font-size:14px;font-weight:600;color:#666}.history-details{flex:1}.history-health{display:flex;align-items:center;gap:15px;margin-bottom:10px}.history-score{font-size:14px;font-weight:600;color:#333}.history-dimensions{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}.history-dimensions span{display:flex;align-items:center;gap:5px}.loading,.no-data{text-align:center;padding:40px;color:#999;font-size:14px}.tab-content .btn{margin:20px}@media(max-width:1024px){.detail-grid,.health-dimensions{grid-template-columns:1fr}.risk-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.project-registry-detail{width:100%;max-height:100vh;border-radius:0}.modal-tabs{padding:0 10px}.tab-button{padding:10px 12px;font-size:13px}.detail-section{padding:15px}.health-score-value{font-size:48px}.risk-summary-grid{grid-template-columns:1fr}.history-record{flex-direction:column;gap:10px}.history-date{min-width:auto}.benefit-details{flex-direction:column;gap:5px}}.project-registry-page{padding:20px;max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.header-content h1{margin:0 0 5px;font-size:28px;color:#1a1a1a}.header-content .subtitle{margin:0;color:#666;font-size:14px}.registry-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.summary-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.summary-value{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.summary-value.health-green{color:#388e3c}.summary-value.health-amber{color:#f57c00}.summary-value.health-red{color:#d32f2f}.summary-value.alert{color:#ff9800}.summary-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.lifecycle-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.lifecycle-section h3{margin:0 0 15px;font-size:18px;color:#333}.lifecycle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.lifecycle-item{background:#f5f5f5;border-radius:8px;padding:15px;text-align:center}.lifecycle-count{font-size:28px;font-weight:700;color:#2196f3;margin-bottom:5px}.lifecycle-label{font-size:12px;color:#666;text-transform:capitalize}.benefit-compliance-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.benefit-compliance-section h3{margin:0 0 15px;font-size:18px;color:#333}.compliance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.compliance-item{background:#f5f5f5;padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.compliance-item.compliant{background:#e8f5e9;border-left:4px solid #388e3c}.compliance-item.non-compliant{background:#ffebee;border-left:4px solid #d32f2f}.compliance-label{font-size:14px;color:#666;font-weight:500}.compliance-value{font-size:18px;font-weight:700;color:#333}.filters-section{background:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:20px}.filters-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:center}.search-input,.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus,.filter-select:focus{outline:none;border-color:#2196f3}.projects-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.results-count{padding:10px 15px;background:#f5f5f5;font-size:14px;color:#666;border-bottom:1px solid #ddd}.projects-table{width:100%;border-collapse:collapse;font-size:14px}.projects-table thead{background:#f5f5f5;position:sticky;top:0;z-index:10}.projects-table th{padding:12px 10px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.projects-table td{padding:10px;border-bottom:1px solid #eee}.projects-table tbody tr:hover{background:#f9f9f9}.projects-table .no-data{text-align:center;padding:40px;color:#999}.health-row-red{background:#ffebee!important}.health-row-amber{background:#fff3e0!important}.health-row-green:hover{background:#f9f9f9!important}.lifecycle-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#e3f2fd;color:#1976d2;text-transform:capitalize}.health-score{font-weight:600;color:#333}.badge-success{background:#e8f5e9;color:#2e7d32;padding:3px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge-warning{background:#fff3e0;color:#ef6c00;padding:3px 8px;border-radius:10px;font-size:12px;font-weight:600}.text-danger{color:#d32f2f;font-weight:600}.btn-icon{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:16px;border-radius:4px;transition:background .2s}.btn-icon:hover{background:#f0f0f0}.link-button{background:none;border:none;color:#2196f3;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;text-align:left}.link-button:hover{color:#1976d2}.loading{text-align:center;padding:40px;color:#666}.error-message{background:#ffebee;color:#c62828;padding:15px;border-radius:8px;margin-bottom:20px}.no-program-selected{text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:8px;margin-top:40px}@media(max-width:1200px){.registry-summary{grid-template-columns:repeat(4,1fr)}.lifecycle-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.registry-summary,.lifecycle-grid{grid-template-columns:repeat(2,1fr)}.compliance-stats,.filters-grid{grid-template-columns:1fr}.projects-table{font-size:12px}.projects-table th,.projects-table td{padding:8px 5px}}.baseline-manager{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.baseline-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.baseline-manager-header h2{margin:0;font-size:1.5rem;color:#333}.baselines-table-container{overflow-x:auto}.baselines-table{width:100%;border-collapse:collapse;font-size:.9rem}.baselines-table th{background:#f5f5f5;padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.baselines-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.baseline-row{cursor:pointer;transition:background .2s}.baseline-row:hover{background:#f8f9fa}.baseline-row.active{background:#e3f2fd;border-left:4px solid #1976d2}.baseline-row.active:hover{background:#bbdefb}.active-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#1976d2;color:#fff;border-radius:10px;font-size:.7rem;font-weight:600}.type-current{background:#e3f2fd;color:#1976d2}.type-approved{background:#d4edda;color:#155724}.type-planned{background:#fff3cd;color:#856404}.type-forecast{background:#f8d7da;color:#721c24}.status-badge.locked{background:#f8d7da;color:#721c24}.status-badge.unlocked{background:#e3f2fd;color:#1976d2}.approved-by{font-size:.75rem;font-weight:400;display:block;margin-top:2px}.actions-cell{min-width:200px}.btn-lock{background:#dc3545;color:#fff}.btn-lock:hover{background:#c82333}.btn-unlock{background:#ffc107;color:#333}.btn-unlock:hover{background:#e0a800}.btn-select{background:#007bff;color:#fff}.btn-select:hover{background:#0056b3}.no-baselines{text-align:center;padding:60px 20px;color:#666}.no-baselines p{margin:10px 0;font-size:1.1rem}.help-text{font-size:.95rem;color:#888;margin:15px 0 25px}.baseline-manager-loading,.baseline-manager-error{text-align:center;padding:40px 20px;color:#666}.baseline-manager-error{color:#c62828}.baseline-manager-error p{margin-bottom:15px}@media(max-width:768px){.baseline-manager{padding:15px}.baseline-manager-header{flex-direction:column;align-items:flex-start;gap:10px}.baselines-table{font-size:.8rem}.baselines-table th,.baselines-table td{padding:8px 6px}.action-buttons{flex-direction:column}.btn-action{width:100%}.modal-content{width:95%;max-height:95vh}}.critical-path-view{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.critical-path-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.critical-path-header h2{margin:0;font-size:1.5rem;color:#333}.critical-path-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px}.summary-card{padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.summary-card.critical{border-left-color:#dc3545;background:#fff5f5}.critical-path-info{display:flex;align-items:center;gap:15px;padding:15px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin-bottom:20px}.info-badge{padding:8px 16px;background:#dc3545;color:#fff;border-radius:20px;font-weight:600;font-size:.9rem;white-space:nowrap}.info-text{font-size:.95rem;color:#856404;line-height:1.5}.critical-path-table-container{overflow-x:auto;margin-bottom:20px}.critical-path-table{width:100%;border-collapse:collapse;font-size:.9rem}.critical-path-table th{background:#f5f5f5;padding:12px 8px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.critical-path-table td{padding:12px 8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.critical-task-row{background:#ffebee;transition:background .2s}.critical-task-row:hover{background:#ffcdd2}.wbs-code{font-family:Courier New,monospace;font-size:.85rem;background:#f5f5f5;padding:2px 6px;border-radius:3px;color:#666}.task-name-cell{display:flex;align-items:center;gap:8px}.task-name{font-weight:500;color:#333}.milestone-badge{display:inline-block;width:20px;height:20px;background:#ff9800;color:#fff;border-radius:50%;text-align:center;line-height:20px;font-size:.75rem;font-weight:700}.task-type{font-size:.85rem;color:#666;text-transform:capitalize}.duration-cell{font-family:Courier New,monospace;font-size:.9rem;color:#333;font-weight:500}.float-cell{text-align:center}.float-value{display:inline-block;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.85rem;background:#e3f2fd;color:#1976d2}.float-value.zero{background:#ffebee;color:#c62828}.progress-cell{min-width:120px}.progress-bar{width:80px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;display:inline-block;margin-right:8px;vertical-align:middle}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .3s}.progress-text{font-size:.85rem;color:#666;font-weight:500;vertical-align:middle}.status-completed{background:#d4edda;color:#155724}.status-in-progress{background:#cce5ff;color:#004085}.status-not-started{background:#e7e7e7;color:#333}.status-on-hold{background:#fff3cd;color:#856404}.status-cancelled{background:#f8d7da;color:#721c24}.critical-path-legend{padding:20px;background:#f8f9fa;border-radius:6px;margin-top:20px}.critical-path-legend h4{margin:0 0 12px;font-size:1.1rem;color:#333}.critical-path-legend ul{list-style:none;padding:0;margin:0}.critical-path-legend li{padding:8px 0;line-height:1.6;color:#666;font-size:.9rem}.critical-path-legend strong{color:#333;font-weight:600}.no-critical-path{text-align:center;padding:60px 20px;color:#666}.no-critical-path p{margin:10px 0;font-size:1.1rem}.help-text{font-size:.95rem;color:#888;max-width:600px;margin:15px auto 0;line-height:1.6}.critical-path-loading,.critical-path-error{text-align:center;padding:40px 20px;color:#666}.critical-path-error{color:#c62828}.critical-path-error p{margin-bottom:15px}@media(max-width:768px){.critical-path-summary{grid-template-columns:repeat(2,1fr)}.critical-path-info{flex-direction:column;align-items:flex-start}.critical-path-table{font-size:.8rem}.critical-path-table th,.critical-path-table td{padding:8px 4px}.task-name{font-size:.85rem}}.variance-display{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.variance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.variance-header h2{margin:0;font-size:1.5rem;color:#333}.baseline-info{font-size:.95rem;color:#666}.baseline-info strong{color:#333;margin-right:8px}.baseline-date{color:#888;margin-left:8px}.variance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:25px}.summary-card{padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #6c757d}.summary-card.variance-ahead{border-left-color:#28a745;background:#f1f9f4}.summary-card.variance-on-track{border-left-color:#17a2b8;background:#f0f8fa}.summary-card.variance-slipping{border-left-color:#ffc107;background:#fffbf0}.summary-card.critical-slipping{border-left-color:#dc3545;background:#fff5f5}.summary-label{font-size:.85rem;color:#666;margin-bottom:8px;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#333}.variance-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:2px solid #e0e0e0;background:#fff;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .2s}.filter-btn:hover{border-color:#007bff;color:#007bff}.filter-btn.active{border-color:#007bff;background:#007bff;color:#fff}.variance-table-container{overflow-x:auto}.variance-table{width:100%;border-collapse:collapse;font-size:.9rem}.variance-table th{background:#f5f5f5;padding:12px 8px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.variance-table td{padding:12px 8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.variance-table tr.variance-slipping{background:#fff9e6}.variance-table tr.variance-slipping:hover{background:#fff3cd}.variance-table tr.variance-ahead{background:#f1f9f4}.variance-table tr.variance-ahead:hover{background:#d4edda}.variance-table tr.variance-on-track{background:#f0f8fa}.variance-table tr.variance-on-track:hover{background:#cce5ff}.task-code{font-family:Courier New,monospace;font-size:.85rem;background:#f5f5f5;padding:2px 6px;border-radius:3px;color:#666}.critical-badge{display:inline-block;padding:3px 8px;background:#dc3545;color:#fff;border-radius:10px;font-size:.75rem;font-weight:600}.float-value{font-family:Courier New,monospace;font-size:.9rem;color:#666}.variance-days{display:inline-block;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.85rem;font-family:Courier New,monospace}.variance-days.slipping{background:#f8d7da;color:#721c24}.variance-days.ahead{background:#d4edda;color:#155724}.variance-days.on-track{background:#e7e7e7;color:#666}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge.slipping{background:#fff3cd;color:#856404}.status-badge.on_track{background:#cce5ff;color:#004085}.status-badge.ahead{background:#d4edda;color:#155724}.variance-display-placeholder,.variance-display-loading,.variance-display-error,.no-variance-data{text-align:center;padding:40px 20px;color:#666}.variance-display-error{color:#c62828}.variance-display-error p{margin-bottom:15px}.variance-display-placeholder p{font-size:1.1rem;color:#888}@media(max-width:768px){.variance-display{padding:15px}.variance-header{flex-direction:column;align-items:flex-start;gap:10px}.variance-summary{grid-template-columns:repeat(2,1fr)}.variance-filters{flex-direction:column}.filter-btn{width:100%}.variance-table{font-size:.8rem}.variance-table th,.variance-table td{padding:8px 4px}}.audit-trail-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1001}.audit-trail-modal .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.audit-content{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.audit-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #e0e0e0;flex-shrink:0}.audit-content .modal-header h3{margin:0;font-size:1.3rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#999;cursor:pointer;padding:0;width:30px;height:30px;transition:color .2s}.audit-body{padding:20px;overflow-y:auto;flex:1}.no-audit-logs{text-align:center;padding:60px 20px;color:#666}.audit-timeline{position:relative;padding-left:40px}.audit-timeline:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:#e0e0e0}.audit-entry{position:relative;margin-bottom:30px;display:flex;gap:15px}.audit-entry:last-child{margin-bottom:0}.audit-icon{position:absolute;left:-40px;top:0}.audit-icon .icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:1.1rem;background:#fff;border:2px solid #e0e0e0}.audit-icon .icon.action-created{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.audit-icon .icon.action-cloned{background:#f3e5f5;border-color:#7b1fa2;color:#7b1fa2}.audit-icon .icon.action-approved{background:#e8f5e9;border-color:#388e3c;color:#388e3c}.audit-icon .icon.action-promoted{background:#fff3e0;border-color:#f57c00;color:#f57c00}.audit-icon .icon.action-deleted{background:#ffebee;border-color:#d32f2f;color:#d32f2f}.audit-icon .icon.action-updated{background:#fff9c4;border-color:#f9a825;color:#f9a825}.audit-content-wrapper{flex:1;background:#f8f9fa;border-radius:8px;padding:15px;border:1px solid #e0e0e0}.audit-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.action-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.action-badge.action-created{background:#e3f2fd;color:#1976d2}.action-badge.action-cloned{background:#f3e5f5;color:#7b1fa2}.action-badge.action-approved{background:#e8f5e9;color:#388e3c}.action-badge.action-promoted{background:#fff3e0;color:#f57c00}.action-badge.action-deleted{background:#ffebee;color:#d32f2f}.action-badge.action-updated{background:#fff9c4;color:#f9a825}.audit-date{font-size:.85rem;color:#666;font-weight:500}.audit-details{display:flex;flex-direction:column;gap:10px}.audit-user{font-size:.9rem;color:#333}.audit-user strong{font-weight:600;margin-right:5px}.audit-justification{background:#fff;padding:10px;border-radius:4px;border-left:3px solid #1976d2}.audit-justification strong{display:block;margin-bottom:5px;font-weight:600;color:#333;font-size:.85rem}.audit-justification p{margin:0;font-size:.9rem;color:#555;line-height:1.5}.audit-metadata{background:#fff;padding:10px;border-radius:4px}.audit-metadata strong{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.85rem}.metadata-content{display:flex;flex-direction:column;gap:6px}.metadata-item{display:flex;gap:8px;font-size:.85rem}.metadata-key{font-weight:600;color:#666;min-width:120px}.metadata-value{color:#333;word-break:break-word}.audit-loading,.audit-error{text-align:center;padding:60px 20px;color:#666}.audit-error{color:#c62828}.audit-error p{margin-bottom:15px}.modal-footer{display:flex;justify-content:flex-end;padding:20px;border-top:1px solid #e0e0e0;flex-shrink:0}@media(max-width:768px){.audit-content{width:95%;max-height:95vh}.audit-body{padding:15px}.audit-timeline{padding-left:35px}.audit-icon{left:-35px}.audit-icon .icon{width:28px;height:28px;font-size:1rem}.metadata-item{flex-direction:column;gap:2px}.metadata-key{min-width:auto}}.scenario-manager{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.scenario-manager-header{margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.scenario-manager-header h2{margin:0 0 5px;font-size:1.5rem;color:#333}.scenarios-table-container{overflow-x:auto}.scenarios-table{width:100%;border-collapse:collapse;font-size:.9rem}.scenarios-table th{background:#f5f5f5;padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.scenarios-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.scenario-row{transition:background .2s}.scenario-row:hover{background:#f8f9fa}.scenario-row.active{background:#e8f5e9;border-left:4px solid #4caf50}.active-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#4caf50;color:#fff;border-radius:10px;font-size:.7rem;font-weight:600}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge.pending{background:#fff3cd;color:#856404}.approved-by{font-size:.75rem;font-weight:400}.active-indicator{color:#4caf50;font-weight:600}.description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;color:#666;font-size:.85rem}.actions-cell{min-width:280px}.btn-clone{background:#17a2b8;color:#fff}.btn-clone:hover{background:#138496}.btn-approve{background:#28a745;color:#fff}.btn-approve:hover{background:#218838}.btn-promote{background:#007bff;color:#fff}.btn-promote:hover{background:#0056b3}.btn-select{background:#6c757d;color:#fff}.btn-select:hover{background:#545b62}.btn-audit{background:#17a2b8;color:#fff}.btn-audit:hover{background:#138496}.no-scenarios{text-align:center;padding:60px 20px;color:#666}.no-scenarios p{margin:10px 0;font-size:1.1rem}.help-text{font-size:.95rem;color:#888;margin:15px 0;line-height:1.6}.scenario-manager-loading,.scenario-manager-error{text-align:center;padding:40px 20px;color:#666}.scenario-manager-error{color:#c62828}.scenario-manager-error p{margin-bottom:15px}.modal-content{background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}@media(max-width:768px){.scenario-manager{padding:15px}.scenarios-table{font-size:.8rem}.scenarios-table th,.scenarios-table td{padding:8px 6px}.action-buttons{flex-direction:column}.btn-action{width:100%}.modal-content{width:95%;max-height:95vh}}.scenario-comparison{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;max-width:1400px;margin:0 auto}.comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.comparison-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:2rem;line-height:1;color:#999;cursor:pointer;padding:0;width:30px;height:30px;transition:color .2s}.close-button:hover{color:#333}.scenarios-info{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin-bottom:30px;align-items:center}.scenario-card{background:#f8f9fa;border-radius:8px;padding:20px;border:2px solid #e0e0e0}.scenario-card.scenario-1{border-left:4px solid #17a2b8}.scenario-card.scenario-2{border-left:4px solid #6f42c1}.scenario-card h3{margin:0 0 10px;font-size:1.2rem;color:#333}.scenario-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.type-baseline{background:#e3f2fd;color:#1976d2}.type-current{background:#e8f5e9;color:#388e3c}.type-what_if{background:#fff3cd;color:#856404}.type-optimistic{background:#d4edda;color:#155724}.type-pessimistic{background:#f8d7da;color:#721c24}.scenario-meta .date{font-size:.85rem;color:#666}.scenario-card .description{margin:10px 0 0;font-size:.9rem;color:#666;line-height:1.4}.comparison-icon{font-size:2rem;color:#999;text-align:center}.comparison-summary{margin-bottom:30px}.comparison-summary h3{margin:0 0 15px;font-size:1.3rem;color:#333}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.summary-card{background:#f8f9fa;border-radius:8px;padding:15px;border:1px solid #e0e0e0;text-align:center}.summary-label{font-size:.85rem;color:#666;font-weight:600;margin-bottom:10px;text-transform:uppercase}.summary-values{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:8px}.summary-values .value-1{font-size:1.3rem;font-weight:700;color:#17a2b8}.summary-values .value-2{font-size:1.3rem;font-weight:700;color:#6f42c1}.summary-values .vs{font-size:.8rem;color:#999;font-weight:400}.difference{font-size:.9rem;font-weight:600;padding:4px 8px;border-radius:4px;display:inline-block}.difference.neutral{color:#666;background:transparent}.difference.increase{color:#d32f2f;background:#ffebee}.difference.decrease{color:#388e3c;background:#e8f5e9}.comparison-details{margin-bottom:20px}.comparison-details h3{margin:0 0 10px;font-size:1.3rem;color:#333}.help-text{font-size:.9rem;color:#666;margin:0 0 15px}.comparison-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table thead{background:#f5f5f5}.comparison-table th{padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.comparison-table td{padding:10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.task-row.scenario-1-row{background:#f0f9fb}.task-row.scenario-2-row{background:#f5f0fb}.difference-row{background:#fff9e6;font-weight:600}.task-name{min-width:200px}.scenario-label{display:inline-block;margin-left:8px;font-size:.75rem;padding:2px 6px;border-radius:8px;font-weight:600;background:#0000000d;color:#666}.critical-badge{display:inline-block;padding:2px 8px;background:#d32f2f;color:#fff;border-radius:10px;font-size:.7rem;font-weight:600}.no-differences{text-align:center;padding:40px 20px;color:#666;background:#f8f9fa;border-radius:8px}.comparison-loading,.comparison-error{text-align:center;padding:60px 20px;color:#666}.comparison-error{color:#c62828}.comparison-error p{margin-bottom:15px}.comparison-error .btn{margin:0 5px}.comparison-footer{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid #e0e0e0}@media(max-width:1024px){.scenarios-info{grid-template-columns:1fr}.comparison-icon{transform:rotate(90deg);margin:10px 0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.scenario-comparison{padding:15px}.comparison-table{font-size:.8rem}.comparison-table th,.comparison-table td{padding:8px 6px}.summary-values .value-1,.summary-values .value-2{font-size:1.1rem}}.rolling-wave-planner{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.rolling-wave-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.rolling-wave-header h2{margin:0 0 5px;font-size:1.5rem;color:#333}.planning-concept{background:#f0f7ff;border-left:4px solid #007bff;padding:20px;margin-bottom:30px;border-radius:4px}.planning-concept h3{margin:0 0 10px;font-size:1.1rem;color:#333}.planning-concept p{margin:0 0 15px;line-height:1.6;color:#555}.detail-levels-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.level-guide{display:flex;align-items:center;gap:10px;font-size:.85rem}.level-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.waves-container{margin-bottom:30px}.waves-container h3{margin:0 0 15px;font-size:1.3rem;color:#333}.waves-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.wave-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s}.wave-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff1a;transform:translateY(-2px)}.wave-card.selected{border-color:#007bff;background:#e7f3ff;box-shadow:0 4px 12px #007bff26}.wave-header{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #dee2e6}.wave-header h4{margin:0 0 5px;font-size:1.2rem;color:#333}.wave-dates{margin:0;font-size:.85rem;color:#666}.wave-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase;font-weight:600}.stat-value{font-size:1.5rem;font-weight:700;color:#007bff}.wave-detail-breakdown{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.detail-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#555}.detail-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.wave-actions{margin-top:15px;padding-top:15px;border-top:1px solid #dee2e6}.btn-elaborate{width:100%;padding:8px 12px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-elaborate:hover:not(:disabled){background:#218838}.btn-elaborate:disabled{background:#ccc;cursor:not-allowed}.no-waves{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px;color:#666}.wave-tasks-section{margin-top:30px;padding-top:30px;border-top:2px solid #e0e0e0}.wave-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.wave-tasks-header h3{margin:0;font-size:1.3rem;color:#333}.header-actions{display:flex;gap:10px}.loading-tasks{text-align:center;padding:40px 20px;color:#666}.wave-tasks-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.wave-tasks-table{width:100%;border-collapse:collapse;font-size:.9rem}.wave-tasks-table thead{background:#f5f5f5}.wave-tasks-table th{padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.wave-tasks-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.wave-tasks-table tr:hover{background:#f8f9fa}.task-description{font-size:.8rem;color:#666;margin-top:4px}.confidence-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.confidence-low{background:#f8d7da;color:#721c24}.confidence-medium{background:#fff3cd;color:#856404}.confidence-high{background:#d4edda;color:#155724}.confidence-committed{background:#d1ecf1;color:#0c5460}.placeholder-badge{display:inline-block;padding:4px 10px;background:#6c757d;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.no-wave-tasks{text-align:center;padding:40px 20px;background:#f8f9fa;border-radius:8px;color:#666}.rolling-wave-loading,.rolling-wave-error{text-align:center;padding:60px 20px;color:#666}.rolling-wave-error{color:#c62828}.rolling-wave-error p{margin-bottom:15px}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-content form{padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.bulk-import-help{background:#f0f7ff;border-left:4px solid #007bff;padding:15px;margin-bottom:20px;border-radius:4px}.bulk-import-help h4{margin:0 0 10px;font-size:1.1rem;color:#333}.bulk-import-help p{margin:8px 0;font-size:.9rem;color:#555;line-height:1.5}.bulk-import-help code{display:block;background:#fff;padding:10px;border-radius:4px;font-size:.85rem;color:#333;font-family:Courier New,monospace;margin:5px 0;white-space:pre-wrap;word-break:break-word}.help-example{font-weight:600;margin-top:15px}.help-note{font-size:.85rem;color:#666;margin-top:10px}@media(max-width:1024px){.waves-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media(max-width:768px){.rolling-wave-planner{padding:15px}.waves-grid{grid-template-columns:1fr}.wave-tasks-table{font-size:.8rem}.wave-tasks-table th,.wave-tasks-table td{padding:8px 6px}.form-row{grid-template-columns:1fr}.modal-content{width:95%;max-height:95vh}}.schedule-task-manager{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.task-manager-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.task-manager-header h2{margin:0 0 5px;font-size:1.5rem;color:#333}.tasks-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.tasks-table{width:100%;border-collapse:collapse;font-size:.9rem}.tasks-table thead{background:#f5f5f5}.tasks-table th{padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.tasks-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.tasks-table tr:hover{background:#f8f9fa}.tasks-table tr.critical-task{background:#fff3f3}.tasks-table tr.critical-task:hover{background:#ffe8e8}.task-desc{font-size:.8rem;color:#666;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.detail-high_level{background:#f8d7da;color:#721c24}.detail-planning{background:#fff3cd;color:#856404}.detail-detailed{background:#d4edda;color:#155724}.detail-complete{background:#d1ecf1;color:#0c5460}.critical-badge{display:inline-block;padding:4px 10px;background:#d32f2f;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.milestone-badge{display:inline-block;padding:4px 10px;background:#7b1fa2;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.no-tasks{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px;color:#666}.no-tasks p{margin:10px 0;font-size:1.1rem}.task-manager-loading,.task-manager-error{text-align:center;padding:60px 20px;color:#666}.task-manager-error{color:#c62828}.task-manager-error p{margin-bottom:15px}.task-modal{background:#fff;border-radius:8px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.task-modal form{padding:20px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:20px}.form-row.checkboxes{grid-template-columns:1fr 1fr;align-items:center}.form-check{display:flex;align-items:center;gap:8px}.form-check input[type=checkbox]{width:auto;margin:0;cursor:pointer}.form-check label{margin:0;cursor:pointer;font-weight:400}@media(max-width:768px){.schedule-task-manager{padding:15px}.tasks-table{font-size:.8rem}.tasks-table th,.tasks-table td{padding:8px 6px}.form-row{grid-template-columns:1fr}.task-modal{width:95%;max-height:95vh}.action-buttons{flex-direction:column}.btn-action{width:100%}}.rolled-up-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.75rem;font-weight:500}.task-desc{margin-top:4px;font-size:.85rem;color:#777;font-weight:400}.schedule-dependency-manager{padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.dependency-manager-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.dependency-manager-header h2{margin:0 0 5px;font-size:1.5rem;color:#333}.subtitle{margin:0;font-size:.95rem;color:#666;font-weight:400}.dependency-types-info{background:#f0f7ff;border-left:4px solid #007bff;padding:15px 20px;margin-bottom:20px;border-radius:4px}.dependency-types-info h3{margin:0 0 10px;font-size:1.1rem;color:#333}.types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.type-info{font-size:.85rem;color:#555;line-height:1.6}.type-info strong{color:#007bff}.dependencies-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.dependencies-table{width:100%;border-collapse:collapse;font-size:.9rem}.dependencies-table thead{background:#f5f5f5}.dependencies-table th{padding:12px 10px;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;white-space:nowrap}.dependencies-table td{padding:14px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.dependencies-table tr:hover{background:#f8f9fa}.dependency-type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;font-family:monospace}.dependency-type-badge.type-FS{background:#e3f2fd;color:#1976d2}.dependency-type-badge.type-SS{background:#f3e5f5;color:#7b1fa2}.dependency-type-badge.type-FF{background:#e8f5e9;color:#388e3c}.dependency-type-badge.type-SF{background:#fff3e0;color:#f57c00}.lag-positive{color:#d32f2f;font-weight:600}.lag-negative{color:#388e3c;font-weight:600}.lag-zero{color:#666}.actions-cell{min-width:150px}.action-buttons{display:flex;gap:6px;flex-wrap:wrap}.btn-action{padding:4px 10px;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#007bff;color:#fff}.btn-edit:hover{background:#0056b3}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.no-dependencies{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px;color:#666}.no-dependencies p{margin:10px 0;font-size:1.1rem}.help-text{font-size:.95rem;color:#888;margin:15px 0}.btn-lg{padding:12px 24px;font-size:1rem}.dependency-manager-loading,.dependency-manager-error{text-align:center;padding:60px 20px;color:#666}.dependency-manager-error{color:#c62828}.dependency-manager-error p{margin-bottom:15px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dependency-modal{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:1.3rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#999;cursor:pointer;padding:0;width:30px;height:30px}.modal-close:hover{color:#333}.dependency-modal form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group small{display:block;margin-top:5px;font-size:.8rem;color:#666}.dependency-arrow{text-align:center;font-size:2rem;color:#007bff;margin:10px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid #e0e0e0}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#0056b3}@media(max-width:768px){.schedule-dependency-manager{padding:15px}.dependencies-table{font-size:.8rem}.dependencies-table th,.dependencies-table td{padding:8px 6px}.form-row{grid-template-columns:1fr}.dependency-modal{width:95%;max-height:95vh}.action-buttons{flex-direction:column}.btn-action{width:100%}.types-grid{grid-template-columns:1fr}}.programme-schedule-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.header-content h1{margin:0 0 8px;font-size:2rem;color:#333}.subtitle{margin:0;font-size:1rem;color:#666;font-weight:400}.schedule-tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .2s;position:relative}.tab-button:hover:not(:disabled){color:#007bff;background:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background:#f8f9fa}.tab-button:disabled{opacity:.5;cursor:not-allowed}.tab-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#1976d2;color:#fff;border-radius:10px;font-size:.7rem;font-weight:600}.schedule-content{margin-bottom:30px}.schedule-info-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-top:30px}.info-section{padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.info-section h3{margin:0 0 15px;font-size:1.2rem;color:#333}.info-section p{margin:0 0 15px;line-height:1.6;color:#666}.info-section ul,.info-section ol{margin:0;padding-left:20px;line-height:1.8;color:#666}.info-section li{margin-bottom:10px}.info-section strong{color:#333;font-weight:600}.no-program-selected{text-align:center;padding:80px 20px;color:#666}.no-program-selected h2{margin:0 0 15px;font-size:1.8rem;color:#333}.no-program-selected p{margin:0;font-size:1.1rem}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}@media(max-width:768px){.programme-schedule-page{padding:15px}.page-header{flex-direction:column;gap:15px}.header-content h1{font-size:1.5rem}.header-actions{width:100%;flex-direction:column}.header-actions .btn{width:100%}.schedule-tabs{flex-wrap:wrap}.tab-button{padding:10px 16px;font-size:.9rem}.schedule-info-panel{grid-template-columns:1fr}.info-section{padding:15px}}.budget-structure{padding:20px}.budget-structure-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.budget-structure-header h2{margin:0 0 5px;color:#2c3e50;font-size:1.8rem}.budget-structure-header .subtitle{margin:0;color:#7f8c8d;font-size:.9rem}.budget-type-filter{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.budget-structure-loading,.budget-structure-error{text-align:center;padding:40px;color:#7f8c8d}.no-budget-items p{color:#7f8c8d;margin:10px 0}.no-budget-items .help-text{font-size:.9rem;color:#95a5a6;margin-bottom:20px}.budget-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.budget-table{width:100%;border-collapse:collapse;font-size:.9rem}.budget-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.budget-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057;white-space:nowrap}.budget-table td{padding:12px 10px;border-bottom:1px solid #e9ecef;vertical-align:middle}.budget-table tbody tr:hover{background:#f8f9fa}.budget-item.level-1{background:#f0f7ff;font-weight:600}.budget-item.level-2{background:#f8fcff}.budget-item.level-3{background:#fff}.budget-item.level-4{background:#fff;font-size:.85rem}.expand-button{background:none;border:none;color:#007bff;cursor:pointer;padding:0 8px 0 0;font-size:.8rem}.expand-button:hover{color:#0056b3}.budget-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.budget-type-badge.capex{background:#e3f2fd;color:#1976d2}.budget-type-badge.opex{background:#fff3e0;color:#f57c00}.budget-type-badge.revenue{background:#e8f5e9;color:#388e3c}.level-badge{display:inline-block;padding:4px 8px;background:#e9ecef;border-radius:4px;font-size:.75rem;color:#495057}.budget-table .amount{text-align:right;font-family:Courier New,monospace;font-weight:500}.budget-table .amount.negative{color:#dc3545}.budget-table .amount.positive{color:#28a745}.budget-table .percent{width:150px}.progress-bar-container{position:relative;width:100%;height:24px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-bar{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease}.progress-bar.over-budget{background:linear-gradient(90deg,#dc3545,#c82333)}.progress-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#495057;z-index:1}.btn-action.btn-add{background:#28a745;color:#fff;font-weight:700}.btn-action.btn-add:hover{background:#218838}.budget-modal{max-width:800px;max-height:90vh;overflow-y:auto}.budget-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.budget-modal .form-group{display:flex;flex-direction:column}.budget-modal label{margin-bottom:5px;font-weight:500;color:#495057;font-size:.9rem}.budget-modal input,.budget-modal select,.budget-modal textarea{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;transition:border-color .2s}.budget-modal input:focus,.budget-modal select:focus,.budget-modal textarea:focus{outline:none;border-color:#007bff}.budget-modal input:disabled{background:#e9ecef;cursor:not-allowed}.forecast-actuals{padding:20px}.forecast-actuals-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.forecast-actuals-header h2{margin:0 0 5px;color:#2c3e50;font-size:1.8rem}.forecast-actuals-header .subtitle{margin:0;color:#7f8c8d;font-size:.9rem}.header-actions{display:flex;gap:10px;align-items:center}.budget-selector{min-width:300px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.selected-budget-info{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:25px}.selected-budget-info h3{margin:0 0 15px;color:#2c3e50}.budget-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.summary-item{display:flex;flex-direction:column;gap:5px}.summary-item .label{font-size:.85rem;color:#7f8c8d;font-weight:500}.summary-item .value{font-size:1.3rem;font-weight:600;color:#2c3e50;font-family:Courier New,monospace}.summary-item .value.negative{color:#dc3545}.summary-item .value.positive{color:#28a745}.periods-comparison,.actuals-list{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px}.periods-comparison h3,.actuals-list h3{margin:0 0 15px;color:#2c3e50;font-size:1.3rem}.comparison-table,.actuals-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table thead,.actuals-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.comparison-table th,.actuals-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057}.comparison-table td,.actuals-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.comparison-table tbody tr:hover,.actuals-table tbody tr:hover{background:#f8f9fa}.comparison-table .amount,.actuals-table .amount{text-align:right;font-family:Courier New,monospace;font-weight:500}.comparison-table .amount.negative{color:#dc3545}.comparison-table .amount.positive{color:#28a745}.comparison-table .percent{text-align:right;font-weight:500}.source-badge,.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.source-badge.manual{background:#e9ecef;color:#495057}.source-badge.ledger{background:#e3f2fd;color:#1976d2}.source-badge.invoice{background:#f3e5f5;color:#7b1fa2}.source-badge.timesheet{background:#fff3e0;color:#f57c00}.source-badge.expense_claim{background:#fce4ec;color:#c2185b}.status-badge.draft{background:#fff3cd;color:#856404}.status-badge.pending_approval{background:#cce5ff;color:#004085}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.posted{background:#d1ecf1;color:#0c5460}.btn-action.btn-approve{background:#28a745;color:#fff}.btn-action.btn-approve:hover{background:#218838}.actual-modal{max-width:700px}.actual-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.forecast-actuals-loading,.forecast-actuals-error{text-align:center;padding:40px;color:#7f8c8d}.no-budget-items{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px;margin:20px 0}.burn-rate-analysis{padding:20px}.analysis-header{margin-bottom:25px}.analysis-header h2{margin:0 0 5px;color:#2c3e50;font-size:1.8rem}.analysis-header .subtitle{margin:0;color:#7f8c8d;font-size:.9rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.summary-card .card-header{padding:15px 20px;color:#fff;font-weight:600}.summary-card.capex .card-header{background:linear-gradient(135deg,#1976d2,#42a5f5)}.summary-card.opex .card-header{background:linear-gradient(135deg,#f57c00,#ff9800)}.summary-card.revenue .card-header{background:linear-gradient(135deg,#388e3c,#66bb6a)}.summary-card .card-header h3{margin:0;font-size:1.1rem}.summary-card .card-metrics{padding:20px}.summary-card .metric{display:flex;justify-content:space-between;margin-bottom:12px}.summary-card .metric .label{color:#7f8c8d;font-size:.85rem}.summary-card .metric .value{font-weight:600;font-family:Courier New,monospace;color:#2c3e50}.summary-card .metric .value.negative{color:#dc3545}.summary-card .metric .value.positive{color:#28a745}.burn-rate-section,.projection-section,.variance-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#2c3e50;font-size:1.3rem}.period-selector,.period-filters input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.period-filters{display:flex;gap:10px;align-items:center}.projection-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.projection-card{padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff;display:flex;flex-direction:column;gap:8px}.projection-card .label{font-size:.85rem;color:#7f8c8d}.projection-card .value{font-size:1.2rem;font-weight:600;color:#2c3e50;font-family:Courier New,monospace}.burn-rate-table table,.variance-table table{width:100%;border-collapse:collapse;font-size:.9rem}.burn-rate-table thead,.variance-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.burn-rate-table th,.variance-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057}.burn-rate-table td,.variance-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.burn-rate-table tbody tr:hover,.variance-table tbody tr:hover{background:#f8f9fa}.amount{text-align:right;font-family:Courier New,monospace;font-weight:500}.amount.negative{color:#dc3545}.amount.positive{color:#28a745}.burn-rate-value{font-size:1.1rem;font-weight:600;color:#007bff}.percent{text-align:right;font-weight:500}.no-data{text-align:center;padding:30px;color:#7f8c8d;font-style:italic}.burn-rate-loading{text-align:center;padding:40px;color:#7f8c8d}.funding-tranches{padding:20px}.funding-tranches-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.funding-tranches-header h2{margin:0 0 5px;color:#2c3e50;font-size:1.8rem}.funding-tranches-header .subtitle{margin:0;color:#7f8c8d;font-size:.9rem}.funding-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.funding-summary .summary-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #007bff;display:flex;flex-direction:column;gap:10px}.funding-summary .summary-card .label{font-size:.85rem;color:#7f8c8d;font-weight:500}.funding-summary .summary-card .value{font-size:1.5rem;font-weight:600;color:#2c3e50;font-family:Courier New,monospace}.funding-summary .summary-card .value.released{color:#28a745}.funding-summary .summary-card .value.negative{color:#dc3545}.funding-summary .summary-card .value.positive{color:#28a745}.no-tranches{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px;margin:20px 0}.no-tranches p{color:#7f8c8d;margin:10px 0}.no-tranches .help-text{font-size:.9rem;color:#95a5a6;margin-bottom:20px}.tranches-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.tranches-table{width:100%;border-collapse:collapse;font-size:.9rem}.tranches-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.tranches-table th{padding:12px 10px;text-align:left;font-weight:600;color:#495057;white-space:nowrap}.tranches-table td{padding:12px 10px;border-bottom:1px solid #e9ecef}.tranches-table tbody tr:hover{background:#f8f9fa}.tranches-table .amount{text-align:right;font-family:Courier New,monospace;font-weight:500}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-approved{background:#cce5ff;color:#004085}.status-badge.status-released{background:#d4edda;color:#155724}.status-badge.status-expired{background:#f8d7da;color:#721c24}.actions-cell{white-space:nowrap}.action-buttons{display:flex;gap:5px}.btn-action{padding:5px 10px;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-action.btn-edit{background:#007bff;color:#fff}.btn-action.btn-edit:hover{background:#0056b3}.btn-action.btn-release{background:#28a745;color:#fff}.btn-action.btn-release:hover{background:#218838}.btn-action.btn-delete{background:#dc3545;color:#fff}.btn-action.btn-delete:hover{background:#c82333}.tranche-modal{max-width:800px;max-height:90vh;overflow-y:auto}.tranche-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.funding-tranches-loading,.funding-tranches-error{text-align:center;padding:40px;color:#7f8c8d}.programme-financials-page{min-height:100vh;background:#f5f7fa}.financials-page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 40px;box-shadow:0 2px 8px #0000001a}.financials-page-header .header-content h1{margin:0 0 10px;font-size:2rem;font-weight:600}.financials-page-header .programme-name{margin:0;font-size:1.1rem;opacity:.9}.financials-tabs{background:#fff;border-bottom:2px solid #e9ecef;padding:0 40px;display:flex;gap:5px}.financials-tabs .tab-button{padding:15px 25px;border:none;background:transparent;color:#6c757d;font-size:.95rem;font-weight:500;cursor:pointer;position:relative;transition:all .2s;border-bottom:3px solid transparent}.financials-tabs .tab-button:hover{color:#495057;background:#f8f9fa}.financials-tabs .tab-button.active{color:#667eea;border-bottom-color:#667eea;background:#fff}.financials-content{background:#f5f7fa;min-height:calc(100vh - 180px)}.no-program-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:40px}.no-program-selected h2{color:#2c3e50;margin-bottom:15px}.no-program-selected p{color:#7f8c8d;margin-bottom:25px;font-size:1.1rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #667eea;--primary-dark: #5568d3;--primary-light: #818cf8;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--danger-color: #dc2626;--info-color: #06b6d4;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-input: #f8fafc;--bg-input-hover: #ffffff;--border-color: #e2e8f0;--border-color-dark: #cbd5e1;--border-focus: #667eea;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-label: #1e293b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 4px rgba(102, 126, 234, .12);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}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:var(--bg-secondary);color:var(--text-primary);line-height:1.6}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all .2s;white-space:nowrap}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--error-color);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}.card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.form-label{display:block;margin-bottom:.625rem;font-size:.875rem;font-weight:600;color:var(--text-label);letter-spacing:.01em}.form-label.required:after{content:" *";color:var(--error-color)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:400;line-height:1.5;border:2px solid var(--border-color);border-radius:8px;background-color:var(--bg-input);color:var(--text-primary);transition:all .2s cubic-bezier(.4,0,.2,1)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary);font-weight:400}.form-input:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:var(--border-color-dark);background-color:var(--bg-input-hover)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);background-color:var(--bg-input-hover);box-shadow:var(--shadow-focus),0 1px 2px #0000000d;transform:translateY(-1px)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.form-textarea{min-height:100px;resize:vertical;font-family:inherit}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 12px;padding-right:2.5rem;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-select::-ms-expand{display:none}.form-select option{background-color:var(--bg-primary);background-image:none;color:var(--text-primary);padding:.5rem}.form-select:hover:not(:disabled){border-color:var(--border-color-dark);background-color:var(--bg-input-hover);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 12px}.form-select:focus{outline:none;border-color:var(--border-focus);background-color:var(--bg-input-hover);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 12px;box-shadow:var(--shadow-focus),0 1px 2px #0000000d;transform:translateY(-1px)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-md);white-space:nowrap}.badge-primary{background-color:#dbeafe;color:#1e40af}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-error{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#cffafe;color:#155e75}.badge-secondary{background-color:var(--bg-tertiary);color:var(--text-secondary)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.table{width:100%;border-collapse:collapse;background-color:var(--bg-primary)}.table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.table td{padding:.875rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border-color)}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:var(--bg-secondary)}.grid{display:grid;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.loading{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background-color:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;padding:2rem}.modal-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#f1f5f9;border-radius:16px;box-shadow:0 25px 50px -12px #00000059,0 0 1px #0000004d;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s cubic-bezier(.16,1,.3,1);padding:0}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0 16px 16px 0}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0;flex-shrink:0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.modal-close-btn{background:#fff3;border:none;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s}.modal-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:#f1f5f9}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px;flex-shrink:0}.form-section{margin-bottom:1.5rem}.form-section-title{font-size:.8125rem;font-weight:700;color:#0f172a;margin-bottom:1.25rem;padding:.625rem 1rem .625rem .875rem;border-left:4px solid #667eea;background:linear-gradient(90deg,#e2e8f0,#f1f5f9);text-transform:uppercase;letter-spacing:.075em;border-radius:4px;box-shadow:0 1px 2px #0000000d}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:700;color:#0f172a;margin-bottom:.5rem;letter-spacing:.01em;text-transform:uppercase;font-size:.75rem}.form-label.required:after{content:" *";color:#ef4444}.form-input,.form-select,.form-textarea{width:100%;padding:.875rem 1rem;border:1.5px solid #94a3b8;border-radius:6px;font-size:.9375rem;color:#0f172a;background:#fff;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:500;line-height:1.5;box-shadow:inset 0 1px 2px #0000000f,0 1px 1px #0000000d}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8;font-weight:400}.form-input:hover:not(:disabled),.form-select:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:#64748b;background:#fff;box-shadow:inset 0 1px 2px #0000000f,0 2px 4px #0000001a}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#667eea;border-width:2px;background:#fff;box-shadow:0 0 0 3px #667eea26,inset 0 1px 2px #0000000f}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed;opacity:.7}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-help-text{display:block;font-size:.8125rem;color:#64748b;margin-top:.5rem;line-height:1.5;font-style:italic}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9375rem;color:#1e293b;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;border-radius:8px;background:#f8fafc;border:2px solid #e2e8f0;transition:all .2s;margin-bottom:.75rem}.checkbox-label:hover{background:#fff;border-color:#cbd5e1}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea;margin-top:2px;flex-shrink:0}.checkbox-label input[type=checkbox]:focus{outline:2px solid #667eea;outline-offset:2px}.checkbox-label span{font-weight:500;line-height:1.5}.form-alert{padding:1rem;border-radius:8px;margin-bottom:1.25rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem}.form-alert-info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.form-alert-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}.form-alert-error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}.form-alert-success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}.cost-config-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.25rem}.cost-config-title{font-size:.9375rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.cost-config-description{font-size:.8125rem;color:#6b7280;margin-bottom:1.25rem;line-height:1.5}.form-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.form-progress-step{flex:1;height:3px;background:#e5e7eb;border-radius:3px;position:relative;overflow:hidden}.form-progress-step.active{background:#667eea}.form-progress-step.active:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.form-loading{position:relative;pointer-events:none;opacity:.6}.form-loading:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:3px solid #667eea;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-width:100%}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.form-row{grid-template-columns:1fr}}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input[type=date],.form-input[type=time],.form-input[type=datetime-local]{cursor:pointer}.resource-allocation-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:.75rem;transition:all .2s}.resource-allocation-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.resource-allocation-grid{display:grid;grid-template-columns:1fr 120px 40px;gap:.75rem;align-items:start}small.text-secondary{display:block;font-size:.8125rem;color:#64748b;margin-top:.375rem;line-height:1.4}.btn{font-weight:600;letter-spacing:.01em;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn:active:not(:disabled){transform:translateY(0)}@media(prefers-color-scheme:dark){.modal-content{background:#1f2937;color:#f3f4f6}.modal-header{border-bottom-color:#374151}.modal-footer{background:#111827;border-top-color:#374151}.form-section-title{color:#f3f4f6;border-bottom-color:#374151}.form-label{color:#e5e7eb}.form-input,.form-select,.form-textarea{background:#374151;border-color:#4b5563;color:#f3f4f6}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf833}.cost-config-card{background:#374151;border-color:#4b5563}}
