.sidebar{position:fixed;left:0;top:0;height:100vh;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px;z-index:1000;box-shadow:2px 0 15px #0000004d;overflow:hidden}.sidebar.open{width:280px}.sidebar-header{padding:20px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);animation:slideDown .3s ease-out}.app-title{font-size:18px;font-weight:700;margin:0;color:#00d4ff;opacity:0;transition:opacity .3s ease}.sidebar.open .app-title{opacity:1}.sidebar-nav{padding:20px 0}.nav-item-wrapper{padding:10px}.nav-item{display:flex;align-items:center;gap:15px;width:100%;padding:12px 15px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:8px;transition:all .3s ease;font-size:14px;white-space:nowrap;position:relative;text-align:left}.nav-item:hover:not(.locked){background:rgba(0,212,255,.1);color:#00d4ff;transform:translate(5px)}.nav-item.active{background:rgba(0,212,255,.2);color:#00d4ff;border-left:3px solid #00d4ff;padding-left:12px}.nav-item.locked{opacity:.5;cursor:not-allowed}.nav-item.locked:hover{background:transparent;color:#ffffffb3;transform:none}.nav-icon{font-size:20px;min-width:24px;text-align:center}.nav-label{opacity:0;transition:opacity .3s ease;flex:1}.sidebar.open .nav-label{opacity:1}.lock-icon{font-size:12px;margin-left:auto;opacity:0;transition:opacity .3s ease}.sidebar.open .lock-icon{opacity:1}@media (max-width: 768px){.sidebar{width:50px}.sidebar.open{width:250px}}.home-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.home-content{max-width:600px;text-align:center;color:#fff}.home-content h1{font-size:48px;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.subtitle{font-size:18px;margin-bottom:40px;opacity:.95;font-weight:500}.upload-box{border:2px dashed rgba(255,255,255,.5);border-radius:12px;padding:60px 40px;margin:30px 0;cursor:pointer;transition:all .3s ease;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-box:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px)}.upload-box.active{border-color:gold;background:rgba(255,215,0,.15);transform:scale(1.02);box-shadow:0 0 30px #ffd7004d}.upload-box.has-file{border-color:#4caf50;background:rgba(76,175,80,.1)}.upload-icon,.file-selected{font-size:64px;margin-bottom:20px;display:block;animation:bounce 2s infinite}.file-selected{animation:scaleUp .3s ease}.upload-content h2,.upload-content h3{margin:10px 0;font-size:24px;font-weight:600}.select-button,.change-button{background:white;color:#667eea;border:none;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin:20px 0;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.select-button:hover,.change-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}.select-button:active,.change-button:active{transform:translateY(-1px)}.file-hint{font-size:14px;opacity:.85;margin-top:15px}.execute-button{background:linear-gradient(135deg,#ffd700,#ffed4e);color:#333;border:none;padding:15px 60px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;margin-top:30px;transition:all .3s ease;box-shadow:0 10px 25px #0003;text-shadow:0 1px 2px rgba(0,0,0,.1)}.execute-button:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 15px 40px #0000004d}.execute-button:active:not(:disabled){transform:translateY(-2px)}.progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease}.progress-container{background:white;border-radius:16px;padding:40px;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.progress-content h2{margin:0 0 20px;text-align:center;color:#333}.progress-bar{background:#f0f0f0;border-radius:10px;height:30px;overflow:hidden;margin:20px 0;position:relative;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .2s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;box-shadow:0 0 10px #667eea80}.progress-text{display:inline-block}.current-step{text-align:center;margin:30px 0;animation:fadeIn .5s ease}.spinner{display:inline-block;font-size:32px;animation:spin 2s linear infinite;margin-right:10px}.current-step p{font-size:16px;color:#333;margin:10px 0 0;font-weight:500}.steps-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-top:30px}.step{display:flex;flex-direction:column;align-items:center;font-size:11px;opacity:.4;transition:opacity .3s ease}.step.completed,.step.current{opacity:1;color:#667eea}.step-dot{width:12px;height:12px;border-radius:50%;background:#ddd;margin-bottom:5px;transition:all .3s ease}.step.completed .step-dot{background:#4caf50;box-shadow:0 0 8px #4caf5080}.step.current .step-dot{background:#667eea;animation:pulse 1s ease-in-out infinite;box-shadow:0 0 12px #667eea99}.step-label{text-align:center;line-height:1.2}.analysis-page{padding:30px;background:#f5f7fa;min-height:100vh}.page-header{margin-bottom:30px;animation:slideDown .3s ease}.page-header h1{color:#333;margin:0;font-size:28px}.tabs-container{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #ddd;flex-wrap:wrap;animation:slideUp .3s ease;overflow-x:auto;padding-bottom:10px}.tab{background:transparent;border:none;padding:12px 20px;font-size:14px;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;display:flex;align-items:center;gap:8px;color:#666;font-weight:500;white-space:nowrap}.tab:hover{color:#667eea;border-color:#667eea4d}.tab.active{border-color:#667eea;color:#667eea;font-weight:600}.tab-content{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a;animation:fadeIn .3s ease}.tab-content h2{margin-top:0;margin-bottom:20px;color:#333}.scenes-table{overflow-x:auto;margin-top:20px;border-radius:8px;box-shadow:0 1px 4px #0000000d}.scenes-table table{width:100%;border-collapse:collapse}.scenes-table th{background:#f9f9f9;padding:15px;text-align:left;font-weight:600;border-bottom:2px solid #eee;color:#555;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.scenes-table td{padding:15px;border-bottom:1px solid #f5f5f5}.scene-row:hover{background:#f9f9f9;transition:background .2s ease}.scene-row:nth-child(2n){background:#fafbfc}.scene-number{font-weight:600;color:#667eea}.location{color:#333;font-weight:500}.time-of-day{color:#999}.risk-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;border:2px solid;background:white;color:inherit;text-transform:uppercase;letter-spacing:.5px}.budget{color:#4caf50;font-weight:600}.detail-button{background:#667eea;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.detail-button:hover{background:#764ba2;transform:translateY(-1px);box-shadow:0 2px 6px #667eea4d}.risks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:20px}.risk-card{background:white;border-left:4px solid #ff6b6b;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.risk-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #ff6b6b33}.risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.risk-header h3{margin:0;color:#333;font-size:16px}.risk-score{background:#ff6b6b;color:#fff;padding:6px 12px;border-radius:6px;font-weight:700;font-size:14px}.risk-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0;padding:15px;background:#f9f9f9;border-radius:6px;font-size:13px}.risk-scores div{display:flex;justify-content:space-between}.risk-drivers{margin-top:15px}.risk-drivers h4{margin:0 0 10px;color:#555;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.risk-drivers ul{margin:0;padding-left:20px;list-style:none}.risk-drivers li{margin:5px 0;font-size:13px;color:#666;line-height:1.4;position:relative}.risk-drivers li:before{content:"•";position:absolute;left:-15px;color:#ff6b6b;font-weight:700}.budget-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.budget-item-card{background:linear-gradient(135deg,#f5f7fa,#ffffff);padding:20px;border-radius:8px;border:1px solid #eee;box-shadow:0 2px 6px #0000000d;transition:all .3s ease}.budget-item-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #667eea26}.budget-item-card h3{margin:0 0 12px;font-size:14px;color:#667eea}.budget-range{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:13px;color:#666}.line-items-preview{background:white;padding:10px;border-radius:6px;margin-top:10px}.line-item{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid #f0f0f0}.line-item:last-child{border-bottom:none}.location-clusters{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.location-cluster-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease}.location-cluster-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #667eea66}.location-cluster-card h3{margin-top:0;margin-bottom:15px;font-size:16px}.cluster-info{background:rgba(255,255,255,.15);padding:12px;border-radius:8px;margin:10px 0;font-size:13px;line-height:1.6}.cluster-info div{display:flex;justify-content:space-between;padding:4px 0}.savings{color:gold;font-weight:700;margin-top:12px}.efficiency{font-size:13px;opacity:.9;margin:8px 0}.recommendation{font-size:12px;opacity:.85;line-height:1.4;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}.schedule-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin:20px 0}.stat{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease}.stat:hover{transform:translateY(-3px);box-shadow:0 6px 16px #667eea66}.stat .label{display:block;font-size:12px;text-transform:uppercase;opacity:.85;margin-bottom:10px;letter-spacing:.5px;font-weight:600}.stat .value{display:block;font-size:32px;font-weight:700}.schedule-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px}.schedule-day-card{background:white;padding:15px;border-radius:8px;border-left:4px solid #667eea;box-shadow:0 2px 6px #0000000d}.schedule-day-card h4{margin:0 0 8px;color:#667eea;font-size:14px}.schedule-day-card p{margin:5px 0;font-size:13px;color:#666}.scenes{font-size:12px;color:#999;font-style:italic}.departments-table{overflow-x:auto;border-radius:8px;box-shadow:0 1px 4px #0000000d}.departments-table table{width:100%;min-width:500px}.departments-table th{background:#f9f9f9;padding:15px;font-weight:600;border-bottom:2px solid #eee;color:#555;font-size:13px;text-transform:uppercase}.departments-table td{padding:15px;border-bottom:1px solid #f5f5f5;font-size:13px}.departments-table tr:hover{background:#f9f9f9}.report-page{padding:30px;background:#f5f7fa;min-height:100vh}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.report-header h1{margin:0;font-size:28px;color:#333}.export-section,.export-button-group{display:flex;gap:10px}.export-btn{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.export-btn:hover{background:#764ba2;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.kpi-card{background:white;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a;border-top:4px solid #667eea;transition:all .3s ease;animation:slideUp .3s ease}.kpi-card:nth-child(2){border-top-color:#ff6b6b}.kpi-card:nth-child(3){border-top-color:#4caf50}.kpi-card:nth-child(4){border-top-color:gold}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.kpi-label{color:#999;font-size:12px;text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px;font-weight:600}.kpi-value{font-size:32px;font-weight:700;color:#333}.report-content{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.report-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #eee}.report-section:last-child{border-bottom:none}.report-section h2{color:#333;margin-bottom:20px;font-size:18px}.budget-breakdown{background:#f9f9f9;padding:20px;border-radius:8px}.breakdown-item{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #eee;font-size:14px}.breakdown-item:last-child{border-bottom:none}.breakdown-item.total{border-bottom:none;border-top:2px solid #667eea;padding-top:15px;font-weight:700;font-size:16px;color:#333}.amount{font-weight:600;color:#333}.amount.savings{color:#4caf50}.schedule-summary,.summary-item{font-size:14px;line-height:1.8;color:#666}.summary-item strong{color:#667eea;font-weight:700}.recommendations-list{display:grid;gap:15px;margin-top:20px}.recommendation{padding:15px;border-left:4px solid #999;border-radius:6px;background:#f9f9f9;transition:all .3s ease}.recommendation:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.recommendation.critical{border-left-color:#ff6b6b;background:#fff5f5}.recommendation.high{border-left-color:orange;background:#fffaf0}.recommendation.medium{border-left-color:gold;background:#fffef0}.rec-priority{display:inline-block;background:#667eea;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-bottom:8px;text-transform:uppercase}.recommendation.critical .rec-priority{background:#ff6b6b}.recommendation.high .rec-priority{background:#ffa500}.recommendation.medium .rec-priority{background:#ffd700;color:#333}.rec-text{margin:10px 0;font-size:14px;color:#333;line-height:1.5}.rec-impact{font-size:12px;color:#666;margin-top:8px}.roi-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;border:none}.roi-section h2{color:#fff;margin-bottom:15px}.roi-text{font-size:16px;line-height:1.8;margin:0;opacity:.95}.scene-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease}.modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);cursor:pointer;animation:fadeIn .2s ease}.modal-content{position:relative;background:white;border-radius:16px;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.modal-header{padding:25px;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f5f7fa,#ffffff);border-radius:16px 16px 0 0}.modal-header h1{margin:0;color:#333;font-size:24px}.close-button{background:transparent;border:none;font-size:28px;cursor:pointer;color:#999;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f0f0f0;color:#333}.modal-body{padding:30px}.modal-body section{margin-bottom:30px;animation:fadeIn .3s ease}.modal-body h2{color:#333;margin-bottom:20px;font-size:18px;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.modal-body h3{color:#555;font-size:14px;margin:15px 0 10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.info-item{background:#f9f9f9;padding:15px;border-radius:8px;border-left:3px solid #667eea}.info-item label{display:block;color:#999;font-size:11px;text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px;font-weight:600}.info-item .value{display:block;font-weight:600;color:#333;line-height:1.5}.risk-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin:20px 0}.score{background:#f9f9f9;padding:15px;border-radius:8px;text-align:center;border:1px solid #eee}.score span{display:block;color:#666;font-size:12px;margin-bottom:8px}.score strong{display:block;font-size:24px;color:#667eea;font-weight:700}.risk-drivers ul,.recommendations ul{margin:10px 0;padding-left:0;list-style:none}.risk-drivers li,.recommendations li{margin:8px 0;padding-left:20px;position:relative;font-size:13px;color:#666;line-height:1.5}.risk-drivers li:before{content:"⚠️";position:absolute;left:0}.recommendations li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700}.line-items{margin-top:15px}.line-items table{width:100%;font-size:13px}.line-items th{background:#f0f0f0;padding:10px;text-align:left;font-weight:600}.line-items td{padding:10px;border-bottom:1px solid #f0f0f0}.clusters{display:grid;gap:15px}.cluster{background:linear-gradient(135deg,#f5f7fa,#ffffff);padding:15px;border-radius:8px;border-left:4px solid #667eea}.cluster h3{margin-top:0;margin-bottom:10px;color:#667eea}.cluster p{margin:8px 0;font-size:13px;color:#666;line-height:1.5}.efficiency{color:#666;font-size:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.kpi-cards{grid-template-columns:repeat(2,1fr)}.modal-content{max-width:95vw;max-height:95vh}.tabs-container{gap:5px}.tab{padding:10px 15px;font-size:12px}.report-header{flex-direction:column;align-items:flex-start}.risks-grid,.location-clusters,.budget-items,.schedule-days{grid-template-columns:1fr}.home-content h1{font-size:36px}.progress-container{max-width:90vw;padding:30px}.upload-box{padding:40px 20px}}@media (max-width: 480px){.home-content h1{font-size:28px}.execute-button{padding:12px 40px;font-size:16px}.kpi-cards{grid-template-columns:1fr}.modal-header{padding:20px}.modal-header h1{font-size:20px}.modal-body{padding:20px}.schedule-summary{grid-template-columns:1fr}.stat .value{font-size:24px}}.reports-section{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-top:32px}.reports-header{background:linear-gradient(135deg,#2e5c8a 0%,#1f4788 100%);color:#fff;padding:32px}.header-content h2{font-size:24px;font-weight:700;margin-bottom:8px;margin-top:0}.header-content p{font-size:14px;opacity:.9;margin:0;line-height:1.6}.reports-container{padding:32px}.generation-box{display:grid;grid-template-columns:100px 1fr;gap:32px;align-items:center;padding:24px;background:linear-gradient(135deg,#f0f4f8 0%,#e0eaf8 100%);border:2px solid #2e5c8a;border-radius:10px;margin-bottom:24px}.icon-large{font-size:64px;text-align:center;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.action-content h3{font-size:18px;font-weight:700;color:#1f4788;margin-top:0;margin-bottom:8px}.action-content .description{font-size:14px;color:#6b7280;margin-bottom:16px;line-height:1.6}.button-group{display:flex;gap:12px;flex-wrap:wrap}.btn-primary,.btn-success{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-primary.loading{pointer-events:none}.btn-success{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 16px #22c55e4d}.btn-secondary{background:#e5e7eb;color:#374151;padding:10px 20px;font-size:13px}.btn-secondary:hover{background:#d1d5db;transform:translateY(-2px)}.alert{padding:16px;border-radius:8px;margin-bottom:24px;display:flex;gap:12px;align-items:flex-start}.alert-icon{font-size:20px;flex-shrink:0}.alert-content{flex:1}.alert-content strong{display:block;font-weight:600;margin-bottom:4px}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.report-status{background:linear-gradient(135deg,#dcfce7 0%,#d1fae5 100%);border:2px solid #22c55e;border-radius:10px;padding:24px;margin-bottom:24px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid rgba(34,197,94,.2)}.status-header h3{font-size:18px;font-weight:700;color:#166534;margin:0}.badge{display:inline-block;padding:6px 12px;background:#22c55e;color:#fff;border-radius:20px;font-size:12px;font-weight:600}.badge.existing{background:#f59e0b}.badge-inline{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-inline.success{background:#dcfce7;color:#166534}.status-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:white;border-radius:6px;border:1px solid #bbf7d0}.detail-row .label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.detail-row .value{font-size:14px;font-weight:600;color:#166534}.status-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.report-preview-info{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:24px;margin-bottom:24px}.report-preview-info h3{font-size:18px;font-weight:700;color:#1f4788;margin-top:0;margin-bottom:20px}.preview-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.preview-item{display:flex;gap:16px;padding:16px;background:white;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s ease}.preview-item:hover{border-color:#2e5c8a;box-shadow:0 4px 8px #2e5c8a1a;transform:translateY(-2px)}.preview-item .icon{font-size:32px;flex-shrink:0}.preview-item strong{display:block;font-size:14px;font-weight:600;color:#1f4788;margin-bottom:4px}.preview-item p{font-size:12px;color:#6b7280;margin:0;line-height:1.5}.report-notes{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;padding:16px;font-size:14px;color:#78350f;line-height:1.6}.report-notes p{margin:0}@media (max-width: 768px){.reports-section{margin-top:16px}.reports-header{padding:20px}.header-content h2{font-size:20px}.reports-container{padding:20px}.generation-box{grid-template-columns:1fr;gap:16px;text-align:center}.icon-large{font-size:48px}.button-group{flex-direction:column}.btn-primary,.btn-success,.btn-secondary{width:100%}.status-header{flex-direction:column;align-items:flex-start;gap:12px}.status-details{grid-template-columns:1fr}.detail-row{flex-direction:column;align-items:flex-start;gap:8px}.status-actions{justify-content:stretch}.status-actions button{flex:1}.preview-items{grid-template-columns:1fr}}.whatif-page{width:100%;max-width:1200px;margin:0 auto;padding:24px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.whatif-header{margin-bottom:32px}.whatif-header h1{font-size:32px;font-weight:700;color:#1f4788;margin-bottom:8px}.whatif-header p{font-size:16px;color:#6b7280;margin:0}.whatif-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.whatif-tabs .tab{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;position:relative;bottom:-2px}.whatif-tabs .tab:hover{color:#2e5c8a;background:#f3f4f6}.whatif-tabs .tab.active{color:#2e5c8a;border-bottom-color:#2e5c8a}.reference-dashboard{background:linear-gradient(135deg,#f8fafc 0%,#f0f4f8 100%);border:2px solid #d1d5db;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.reference-dashboard h3{font-size:16px;font-weight:700;color:#1f4788;margin:0 0 16px}.ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ref-card{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.ref-card:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}.ref-card.warning{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%)}.ref-card.success{border-left:4px solid #10b981;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.ref-label{display:block;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:8px}.ref-value{display:block;font-size:18px;font-weight:700;color:#1f4788}.whatif-section{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:24px}.section-content{padding:32px}.whatif-section h2{font-size:20px;font-weight:700;color:#1f4788;margin-bottom:8px}.whatif-section>.section-content>p{font-size:14px;color:#6b7280;margin-bottom:24px}.presets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px}.preset-card{padding:24px;border:2px solid #e5e7eb;border-radius:10px;text-align:center;transition:all .3s ease;background:#fafbfc;cursor:pointer}.preset-card:hover{border-color:#2e5c8a;box-shadow:0 4px 12px #2e5c8a26;transform:translateY(-4px)}.preset-icon{font-size:48px;margin-bottom:16px;display:block}.preset-card h3{font-size:18px;font-weight:700;color:#1f4788;margin-bottom:8px}.preset-card p{font-size:14px;color:#6b7280;margin-bottom:20px;line-height:1.5}.btn-preset{padding:10px 20px;background:linear-gradient(135deg,#2e5c8a 0%,#1f4788 100%);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.btn-preset:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #2e5c8a4d}.btn-preset:disabled{opacity:.6;cursor:not-allowed}.changes-list{margin:24px 0;border:2px solid #e5e7eb;border-radius:10px;padding:20px;background:#fafbfc;min-height:200px;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:16px}.change-item{display:grid;grid-template-columns:40px 1fr 1fr 1fr 40px;gap:16px;align-items:end;padding:16px;background:white;border-radius:8px;margin-bottom:12px;border:1px solid #e5e7eb}.change-item:last-child{margin-bottom:0}.change-number{font-weight:700;color:#2e5c8a;font-size:16px;text-align:center}.change-field{display:flex;flex-direction:column;gap:6px}.change-field label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.field-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;background:white;transition:all .2s ease}.field-input:focus{outline:none;border-color:#2e5c8a;box-shadow:0 0 0 3px #2e5c8a1a}.btn-remove{width:40px;height:40px;padding:0;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:700}.btn-remove:hover{background:#fecaca;transform:scale(1.1)}.changes-actions{display:flex;gap:12px;margin-top:20px;justify-content:space-between}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.state-card{padding:24px;border-radius:10px;border:2px solid #e5e7eb;background:white}.state-card.original{border-color:#9ca3af;background:#f9fafb}.state-card.delta{border-color:#2e5c8a;background:linear-gradient(135deg,#f0f4f8 0%,#e0eaf8 100%)}.state-card.revised{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.state-card h3{font-size:16px;font-weight:700;color:#1f4788;margin-bottom:16px;display:flex;align-items:center;gap:8px}.metric{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.1)}.metric:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.metric-label{display:block;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:4px}.metric-value{display:block;font-size:24px;font-weight:700;color:#1f4788;margin-bottom:4px}.metric-detail{display:block;font-size:12px;color:#9ca3af}.metric.positive .metric-value{color:#22c55e}.metric.negative .metric-value{color:#ef4444}.recommendation-box{padding:20px;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left:4px solid #f59e0b;border-radius:8px;margin:24px 0}.recommendation-box h3{font-size:16px;font-weight:700;color:#92400e;margin-bottom:12px;margin-top:0}.recommendation-box p{font-size:14px;color:#78350f;margin:0 0 8px;line-height:1.6}.recommendation-box .savings{color:#059669;font-weight:600}.llm-reasoning{margin-top:16px;border-top:2px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);padding:16px;border-radius:8px;border-left:4px solid #059669}.llm-reasoning h4{font-size:14px;font-weight:700;color:#166534;margin-top:0;margin-bottom:8px}.llm-reasoning p{font-size:13px;color:#15803d;line-height:1.6;margin:0;font-style:italic}.results-actions{display:flex;gap:12px;margin-top:24px;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#2e5c8a 0%,#1f4788 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #2e5c8a4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db;transform:translateY(-2px)}.spinner{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.whatif-page{padding:16px}.whatif-header h1{font-size:24px}.presets-grid{grid-template-columns:1fr}.change-item{grid-template-columns:1fr;gap:8px}.btn-remove{width:100%}.comparison-grid{grid-template-columns:1fr}.whatif-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.whatif-tabs .tab{font-size:12px;padding:10px 16px}.changes-actions{flex-direction:column}.btn-preset,.btn-primary,.btn-secondary{width:100%}}.app-container{display:flex;height:100vh;background:#f5f7fa}.main-content{flex:1;overflow-y:auto;margin-left:60px;transition:margin-left .3s ease}@media (max-width: 768px){.main-content{margin-left:50px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#f5f7fa;height:100vh;margin:0;padding:0}html{height:100%}#root{height:100%;width:100%}button{font-family:inherit;cursor:pointer;transition:all .3s ease}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit}h1,h2,h3,h4,h5,h6{color:#333}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}table{border-collapse:collapse;width:100%}th,td{padding:12px;text-align:left;border-bottom:1px solid #eee}th{background:#f5f5f5;font-weight:600;border-bottom:2px solid #ddd}.text-center{text-align:center}.text-right{text-align:right}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.p-20{padding:20px}.loading{opacity:.6;pointer-events:none}.error-message{background:#ffe0e0;color:#c33;padding:15px;border-radius:8px;margin:20px 0;border-left:4px solid #ff6b6b}.success-message{background:#e0ffe0;color:#0c0;padding:15px;border-radius:8px;margin:20px 0;border-left:4px solid #4caf50}
