.footer-container{width:100%;background-color:#f1f3f5;text-align:center;font-size:14px;color:#555;border-top:1px solid #ddd;position:fixed;bottom:0;margin:0;left:0;z-index:1000}.footer-container p{margin:0;padding:10px}@media (max-width: 768px){.footer-container{position:static;margin-top:10px;padding:12px 0}}.header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 10px;background-color:#004b8d;color:#fff;box-shadow:0 2px 5px #0000001a;box-sizing:border-box;position:sticky;top:0;z-index:1000}.logo-container{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:5px}.logo img{width:30px;height:30px}.logo h3{margin:0;font-size:1.2rem;font-weight:400}.user-info-container{display:flex;align-items:center;gap:12px}.user-details{display:flex;flex-direction:column;text-align:right}.user-details strong{font-size:14px;font-weight:500}.role-text{font-size:12px;color:#e0e0e0}.user-icon{font-size:18px;padding:5px;background-color:#e0e0e0;border-radius:40px;display:flex;align-items:center;justify-content:center;height:28px;width:28px}.logout-button{background-color:#e53935;border:none;color:#fff;padding:6px 14px;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out}.logout-button:hover{background-color:#c62828}.help-button{background-color:#f0f0f0;color:#333;padding:2px 10px;border-radius:4px;font-weight:500;text-decoration:none;transition:background-color .2s ease,color .2s ease;cursor:pointer}.help-button:hover{background-color:#d8d5d5}@media (max-width: 900px){.header{padding:10px 20px}.logo h3{font-size:1.1rem}.user-details strong{font-size:13px}}@media (max-width: 600px){.header{flex-direction:column;gap:8px;padding:8px 15px;text-align:center}.user-info-container{flex-direction:column;gap:6px}.logo-container{justify-content:center}.logo h3{font-size:1rem}.logout-button{padding:5px 10px;font-size:13px}.help-button{padding:3px 8px;font-size:12px}}.navbar{display:flex;justify-content:space-between;align-items:center;color:#fff}.nav-links{list-style:none;display:flex;gap:40px}.nav-links li a{color:#fff;text-decoration:none;font-weight:500}.nav-links li.active a{color:gold}.confirmation-dialog-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;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirmation-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:400px;max-width:500px;animation:dialogSlideIn .3s ease-out}.confirmation-dialog.warning{border-left:4px solid #f39c12}.confirmation-dialog.danger{border-left:4px solid #e74c3c}.dialog-header{padding:20px 20px 10px;border-bottom:1px solid #e9ecef}.dialog-header h3{margin:0;color:#2c3e50;font-size:18px;font-weight:600}.dialog-body{padding:20px}.dialog-body p{margin:0;color:#495057;font-size:14px;line-height:1.5;white-space:pre-line}.dialog-footer{padding:10px 20px 20px;display:flex;gap:10px;justify-content:flex-end}.dialog-footer .btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;min-width:80px}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-1px)}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.confirmation-dialog{min-width:300px;max-width:90vw;margin:20px}.dialog-footer{flex-direction:column}.dialog-footer .btn{width:100%}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:50vh;font-size:18px;color:#6c757d;background:#f8f9fa}.add-project-content{border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden;margin:10px}.add-project-header{background:linear-gradient(135deg,#004b8d,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;position:relative}.add-project-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000001a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.add-project-header h2{margin:0;font-size:18px;font-weight:500;position:relative;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.3)}.close-button{cursor:pointer;font-size:20px;font-weight:700;color:#fff;position:absolute;right:20px;padding:5px 10px;border-radius:4px;transition:background-color .3s ease;z-index:1}.close-button:hover{background-color:#fff3}.add-project-form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px}.form-group{display:flex;flex-direction:column;position:relative}.form-group label{font-weight:500;color:#2c3e50;margin-bottom:5px;font-size:14px;letter-spacing:.5px}.form-group label:after{content:"";display:inline-block;width:20px;height:2px;margin-left:5px;vertical-align:middle}*/ .form-group label{display:inline-flex;align-items:center;font-weight:700}.form-group label:has(~input[required]):after,.form-group label:has(~select[required]):after{content:"*";color:#e74c3c;font-weight:700;margin-left:4px;font-size:16px;line-height:0}.required-label:after{content:"*";color:#e74c3c;font-weight:700;margin-left:4px;font-size:16px;line-height:0}.form-group input,.form-group select{padding:10px;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;font-weight:400;transition:all .3s ease;color:#000;font-family:inherit;width:100%;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-group input:hover,.form-group select:hover{border-color:#a8b3cf}.form-group input:disabled,.form-group select:disabled{background-color:#f0f0f0;color:#333;cursor:not-allowed;opacity:.7}.form-group input.error,.form-group select.error{border:2px solid #ca5d5de6;box-shadow:0 0 0 2px #ff44441a}.validation-error-bubble{position:absolute;top:-15px;left:70px;background:#d73535e9;color:#fff;padding:6px 10px;border-radius:6px;font-size:10px;font-weight:500;max-width:calc(100% - 80px);word-wrap:break-word;animation:fadeInError .3s ease-in-out;z-index:10;box-shadow:0 2px 8px #d735354d}.validation-error-bubble:before{content:"";position:absolute;bottom:-6px;left:10px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #d73535e9}@keyframes fadeInError{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-group textarea{width:100%;padding:10px;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .3s ease;background:#fff;color:#2c3e50;min-height:60px;max-height:120px;box-sizing:border-box}.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-container{position:relative;width:100%}.input-container input{width:100%;box-sizing:border-box}.auto-populate-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-size:12px;color:#666;background:#fff;padding:4px 8px;border-radius:4px;box-shadow:0 1px 3px #0000001a;z-index:5}.spinner{animation:spin 1s linear infinite;font-size:14px}.auto-populate-message{position:absolute;top:-30px;left:0;right:0;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;z-index:10;animation:slideDown .3s ease-out;box-shadow:0 2px 8px #0000001a}.auto-populate-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.auto-populate-message.info{background:#cce5ff;color:#004085;border:1px solid #b3d7ff}.input-with-toggle{display:flex;align-items:center;gap:10px;width:100%}.input-with-toggle input{flex:1;padding:10px;font-size:14px;border:2px solid #e1e8ed;border-radius:8px;background:#fff;color:#2c3e50}.toggle-back{background-color:transparent;border:1px solid #007bff;color:#007bff;font-size:12px;cursor:pointer;padding:6px 12px;border-radius:4px;transition:all .3s ease;white-space:nowrap}.toggle-back:hover{background:#007bff;color:#fff}.forecasts-section,.actuals-section{margin-top:20px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#f0f2f4);border-radius:12px;border:1px solid #dee2e6}.forecasts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:20px}.forecasts-header h3{margin:0;color:#2c3e50;font-size:20px;font-weight:500}.financial-year-selector{display:flex;align-items:center;gap:10px}.financial-year-selector label{font-weight:600;color:#495057;font-size:14px}.financial-year-selector select{padding:8px 12px;border:2px solid #ced4da;border-radius:6px;background:#fff;color:#495057;font-size:14px;transition:all .3s ease}.financial-year-selector select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.forecasts-grid,.actuals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:5px;margin-top:10px}.forecast-item,.actual-item{display:flex;flex-direction:column;background:none!important;border:none!important}.forecast-item label{font-weight:600;color:#495057;margin-bottom:5px;font-size:13px;text-align:center;background:#667eea1a;padding:8px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;width:100%;box-sizing:border-box;display:block}.actual-item label{font-weight:600;color:#495057;margin-bottom:8px;font-size:13px;text-align:center;background:#66ea891a;padding:8px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;width:100%;box-sizing:border-box;display:block}.forecast-item input,.actual-item input{padding:12px 10px;border:2px solid #ced4da;border-radius:6px;font-size:14px;text-align:center;transition:all .3s ease;background:none!important;width:100%;box-sizing:border-box}.forecast-item input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;transform:scale(1.02)}.forecast-item input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.action-buttons{margin-top:20px;margin-bottom:40px;display:flex;gap:15px;justify-content:flex-start;flex-wrap:wrap}.btn{padding:14px 28px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;transition:all .3s ease;position:relative;overflow:hidden;min-width:130px;text-align:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:not(:disabled):before{left:100%}.btn-primary,.btn-secondary{padding:6px 8px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:12px}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;box-shadow:0 4px 15px #007bff4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.btn-secondary{background:linear-gradient(135deg,#65819f,#2e649d);color:#fff;box-shadow:0 4px 15px #6c757d4d}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#495057,#343a40);transform:translateY(-2px);box-shadow:0 6px 20px #6c757d66}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0003}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.add-project-content{animation:fadeInUp .6s ease-out}.form-group:hover input:not(:disabled),.form-group:hover select:not(:disabled){border-color:#a8b3cf}.btn:focus-visible{outline:2px solid #667eea;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (max-width: 1200px){.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 768px){.add-project-container{margin:0 10px}.add-project-content{border-radius:8px}.add-project-form{padding:15px}.add-project-header{padding:15px;flex-direction:column;gap:10px}.add-project-header h2{font-size:16px}.close-button{position:static;align-self:flex-end}.form-grid{grid-template-columns:1fr;gap:20px}.forecasts-grid,.actuals-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.forecasts-header{flex-direction:column;align-items:stretch;text-align:center}.forecasts-header h3{font-size:18px}.action-buttons{justify-content:center}.btn{flex:1;min-width:auto}.validation-error-bubble{position:static;margin-top:5px;margin-bottom:8px;left:auto;box-shadow:none}.validation-error-bubble:before{display:none}.auto-populate-message{position:static;margin-top:5px;margin-bottom:8px}}@media (max-width: 480px){.forecasts-grid{grid-template-columns:repeat(2,1fr)}.forecast-item label,.actual-item label{font-size:12px;padding:6px 8px}.forecast-item input,.actual-item input{padding:10px;font-size:13px}.btn{padding:12px 20px;font-size:13px}.form-group input,.form-group select{padding:8px 10px;font-size:13px}}@media print{.add-project-container{margin:0;padding:0}.add-project-content{box-shadow:none;border:1px solid #ddd}.action-buttons,.close-button{display:none}}.quarterly-section{margin-top:20px;padding:15px;background:#f9fafb;border-radius:12px;border:1px solid #dee2e6}.quarterly-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:12px}.quarterly-header h3{margin:0;font-size:16px;font-weight:600;color:#2c3e50}.financial-year-selector{display:flex;align-items:center;gap:8px}.financial-year-selector label{font-weight:500;font-size:13px;color:#495057}.financial-year-selector select{padding:4px 8px;border:1px solid #ced4da;border-radius:6px;font-size:13px}.quarters-container{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media (max-width: 900px){.quarters-container{grid-template-columns:1fr}}.quarter-block{background:#fff;border:1px solid #e1e8ed;border-radius:8px;overflow-x:auto;padding:8px;box-shadow:0 1px 3px #0000000d}.quarter-table{width:100%;border-collapse:collapse;min-width:400px}.quarter-table th,.quarter-table td{padding:6px 8px;box-sizing:border-box;text-align:center;vertical-align:middle}.quarter-table th:first-child,.quarter-table td:first-child{text-align:left}.quarter-table-header th{background:#f1f3f6;font-size:13px;font-weight:600;color:#2c3e50;border-bottom:1px solid #dee2e6}.quarter-table-row td{font-size:13px;border-top:1px solid #f0f2f5}.row-label{font-weight:600;color:#495057;background:#f9fafb;border-right:1px solid #dee2e6;font-size:12px;white-space:nowrap}.forecast-row .row-label{background:#667eea14;color:#004085}.forecast-input{padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:13px;text-align:right;width:100%;box-sizing:border-box}.forecast-input:focus{border-color:#667eea;box-shadow:0 0 0 1px #667eea33;outline:none}.actual-row .row-label{background:#66ea8914;color:#155724}.actual-input{padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:13px;text-align:right;background-color:#f8f9fa;width:100%;box-sizing:border-box}.actual-input:disabled{color:#6c757d;opacity:.85}.quarter-table .actual-row td{border-top:2px solid #e9ecef;padding-top:8px}.quarter-table-row:hover td{background:#f8fafa}@media (max-width: 768px){.quarterly-header{flex-direction:column;align-items:flex-start}.quarter-table{font-size:12px;min-width:auto}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 6px 36px #00000026;padding:2rem 2.5rem 1.5rem;width:100%;max-width:750px;min-width:550px;position:relative;animation:modalIn .2s cubic-bezier(.22,.61,.36,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;border-bottom:1px solid #f0f0f0;padding-bottom:.5rem}.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:#334155}.close-btn{background:none;border:none;font-size:1.45rem;color:#4b5563;cursor:pointer;font-weight:700;padding:0;margin:0}.modal-toolbar{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(16,110,190,.1);background:#f9fbfe;border-radius:10px;padding:12px 14px;margin:12px 0 18px}.btn-template .icon{margin-right:6px}.template-hint{display:flex;flex-direction:column}.hint-title{font-size:13px;font-weight:600;color:#1f2a44}.hint-sub{font-size:12px;color:#5b6b82;margin-top:2px}.btn-template{padding:8px 14px;background:#fff;border:1px solid rgba(16,110,190,.4);box-shadow:0 1px 2px #00000014;border-radius:10px;color:#106ebe;font-weight:600;cursor:pointer;transition:.2s ease}.btn-template:hover{background:#106ebe14;border-color:#106ebe99;box-shadow:0 3px 6px #00000026}.btn-template:active{transform:scale(.98)}.close-btn:hover{color:#d32f2f}.drop-zone{border:2px dashed #3b82f6;border-radius:8px;padding:1.5rem;text-align:center;background:#f9fafb;margin-top:12px!important;color:#334155;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:16px}.drop-zone:hover,.drop-zone:focus-within{border-color:#2563eb;background:#eff6ff}.drop-zone input[type=file]{display:block;margin:14px auto 0}.upload-summary{margin-top:22px;background:#f8fafc;border-radius:10px;box-shadow:0 1px 8px #0000000a;border:1px solid #f1f5f9;font-size:.96rem;padding-bottom:.5rem;max-height:350px;overflow-y:auto}.upload-summary h4{font-size:1.08rem;color:#334155;margin:1.1rem 0 .4rem;padding-left:1rem}.summary-section{margin:1rem 1rem .7rem;border-radius:8px;border-left:6px solid;padding:1.05rem 1rem 1rem 1.25rem;background:#fff;box-shadow:0 1px 6px #294b7e0f}.summary-section.success{border-color:#27ae60;background:#f0fdf4}.summary-section.warning{border-color:#eab308;background:#fff9db}.summary-section.info{border-color:#2196f3;background:#f0f9ff}.summary-section h5{font-size:1rem;margin:0 0 .3rem;font-weight:700;letter-spacing:-.01em}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.7rem 0 .1rem}.stat{background:#f9fafb;border-radius:5px;padding:.55em 1em;display:flex;justify-content:space-between;align-items:center;font-size:.97em;border:1px solid #e0e0e0}.stat-label{color:#64748b;font-weight:500}.stat-value{color:#111827;font-weight:700;letter-spacing:-.01em}.project-list{margin:.6rem 0 .2rem}.project-chips{display:flex;flex-wrap:wrap;gap:.4em;margin:.35em 0 0}.project-chip{display:inline-block;padding:2.5px 13px;border-radius:14px;font-size:.93em;font-weight:600;letter-spacing:-.01em;margin-bottom:2px;border:1px solid}.success-chip{color:#065f46;background:#d1fae5;border-color:#34d399}.warning-chip{color:#92400e;background:#fef08a;border-color:#facc15}.warning-text{color:#b45309;font-weight:600;margin:.6em 0 .1em}.help-text{color:#64748b;font-size:.95em;font-style:italic;margin:.5em 0}.forecast-list{max-height:125px;overflow-y:auto;background:#f9fafb;padding:4px 0;border-radius:5px}.forecast-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;margin:2px 0;background:#fff;border-radius:4px;border:1px solid #eaeaea;font-size:.91em}.more-items{color:#64748b;font-style:italic;font-size:.97em;margin-top:6px}.summary-footer{background:#fff;padding:.65rem .8rem;border-top:1px solid #e2e8f0;margin-top:12px}.btn-download{background:#3b82f6;color:#fff;border:none;border-radius:3px;padding:3px 7px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease;display:flex;align-items:right;justify-content:flex-end;gap:6px;box-shadow:0 2px 6px #00000026;margin-top:.6rem}.btn-download:hover{background:#3b82f6;transform:translateY(-1px)}.btn-download:active{background:#1d4ed8;transform:translateY(0)}.btn-download:disabled{background:#93c5fd;cursor:not-allowed}.btn-download:before{font-size:1rem}@media (max-width: 600px){.modal{max-width:97vw;min-width:0;padding:1.2rem .8rem .7rem}.drop-zone{padding:1rem .2rem}.summary-section,.upload-summary h4{padding-left:.4rem}.stats-grid{grid-template-columns:1fr}}.ai-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:center;justify-content:center;z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ai-modal{background:#fff;width:780px;max-height:85vh;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 30px 70px #00000047;animation:aiFadeIn .25s ease-out}@keyframes aiFadeIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-modal-header{padding:16px 22px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.ai-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.ai-close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280}.ai-close-btn:hover{color:#111827}.ai-modal-body{padding:22px 26px;overflow-y:auto;font-size:14px;line-height:1.85;color:#1f2937}.ai-modal-body p{margin:0}.ai-modal-body ul{margin:0;padding:0}.ai-modal-body li{list-style:none;display:flex;align-items:flex-start;gap:14px;padding:16px;margin-bottom:14px;background:#f9fafb;border-radius:8px;position:relative}.ai-modal-body li:hover{background:#f3f4f6}.ai-modal-body li:before{content:attr(data-icon);font-size:18px;line-height:1.85}.ai-modal-body li[data-type=positive]{border-left:4px solid #16a34a}.ai-modal-body li[data-type=negative]{border-left:4px solid #dc2626}.ai-modal-body li[data-type=risk]{border-left:4px solid #f59e0b}.ai-modal-body li[data-type=critical]{border-left:4px solid #b91c1c}.ai-modal-body li[data-type=action]{border-left:4px solid #2563eb}.ai-modal-body strong{font-weight:600;color:#111827}.ai-loading{padding:18px;font-style:italic;color:#4b5563;font-size:14px}.ai-modal-footer{padding:12px 22px;border-top:1px solid #f3f4f6;font-size:11px;color:#9ca3af;text-align:right}.tooltip-wrapper{position:relative;display:block}.tooltip-box{position:absolute;top:calc(100% + 8px);left:0;width:100%;padding:12px 14px;border-radius:10px;font-size:12px;box-shadow:0 6px 18px #00000040;z-index:50;animation:fadeIn .15s ease-in}.tooltip-title{font-weight:600;margin-bottom:6px;opacity:.9}.tooltip-arrow{position:absolute;top:-6px;left:24px;width:12px;height:12px;transform:rotate(45deg)}.tooltip-primary{background:#f7f1e1;color:#000}.tooltip-primary .tooltip-arrow{background:#f7f1e1}.tooltip-secondary{background:#dfecf7;color:#000}.tooltip-secondary .tooltip-arrow{background:#dfecf7}.tooltip-tertiary{background:#e1ede3;color:#000}.tooltip-tertiary .tooltip-arrow{background:#e1ede3}.tooltip-quarter{background:#dff3fa;color:#000}.tooltip-quarter .tooltip-arrow{background:#dff3fa}.tooltip-content ul{margin:0;padding-left:14px}.tooltip-content li{font-size:12px;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal{background:#fff;border-radius:12px;box-shadow:0 6px 28px #00000026;padding:1.75rem 1.5rem;width:440px;animation:fadeInUp .25s ease;font-family:Inter,system-ui,sans-serif}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ececec;padding-bottom:10px;margin-bottom:14px}.modal-header h4{font-size:1.05rem;font-weight:600;color:#1e293b}.close-btn{background:none;border:none;font-size:22px;cursor:pointer;color:#475569;padding:2px}.close-btn:hover{color:#1e293b}.rates-scroll{max-height:260px;overflow-y:auto;margin-top:6px;border:1px solid #f1f5f9;border-radius:8px}.rates-scroll::-webkit-scrollbar{width:6px}.rates-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.rates-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.rates-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:12px}.rates-table thead th{text-align:left;font-weight:600;padding:6px 8px;color:#334155;background:#f3f4f6;border-radius:6px;font-size:12px;position:sticky;top:0;z-index:5}.rates-table tbody tr{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d}.rates-table tbody td{padding:6px 8px;vertical-align:middle;font-size:12px}.rates-table tbody td:first-child{font-weight:600;color:#1e293b}.rates-table tbody tr:hover{background:#f8fafc;box-shadow:0 1px 4px #00000014}.rate-box{background:#eef4ff;border-radius:4px;padding:3px 8px;inline-size:60px;text-align:right;font-weight:600;font-size:11px;color:#1e40af;border:1px solid #d6e2ff}.drop-zone{border:2px dashed #cbd5e1;padding:26px;text-align:center;border-radius:10px;background:#f9fafb;transition:all .2s ease}.drop-zone.dragging{border-color:#2563eb;background:#eef4ff}.drop-zone p{font-size:12px;color:#64748b;margin-bottom:8px}.file-name{margin-top:10px;font-size:12px;color:#334155}.trend-section{margin-top:12px;border-top:1px solid #e5e5e5;padding-top:8px}.trend-chart-wrapper{height:220px;overflow-y:auto;padding-right:6px}.trend-chart-wrapper::-webkit-scrollbar{width:6px}.trend-chart-wrapper::-webkit-scrollbar-thumb{background:#cfcfcf;border-radius:4px}.trend-chart-wrapper::-webkit-scrollbar-track{background:transparent}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}.trend-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1100;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.trend-modal{background:#fff;width:720px;max-width:90vw;height:500px;border-radius:14px;box-shadow:0 20px 50px #0000004d;padding:16px;display:flex;flex-direction:column;animation:scaleIn .25s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.trend-modal-header{display:flex;justify-content:space-between;align-items:center}.trend-modal-header h5{margin:0;font-size:14px;font-weight:600}.trend-modal-body{flex:1;margin-top:10px}.filter-controls{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #dbeafe;border-radius:10px;padding:10px 12px;margin:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:0}.filter-group label{font-size:12px;font-weight:600;letter-spacing:.02em;color:#475569;text-transform:capitalize}.filter-group.filter-actions{min-width:0;display:flex;flex-direction:column;justify-content:end;gap:6px}.btn-secondary.clear-filters{height:32px;border-radius:10px;border:1px solid #cbd5e1;background:linear-gradient(180deg,#4b6b91,#355a83);color:#fff;font-weight:700;font-size:12px;box-shadow:0 1px 2px #1018281a;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;width:100%;cursor:pointer}.filter-group select,.currency-select{height:32px;line-height:32px;border-radius:10px;border:1px solid #cbd5e1;background-color:#fff;box-shadow:0 1px 2px #10182814;padding:0 10px;font-size:12px}.filter-select__control{background-color:#fff!important}.btn-secondary.clear-filters:hover{filter:brightness(1.05)}.btn-secondary.clear-filters:active{transform:translateY(1px)}@media (max-width: 1024px){.filter-controls{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:8px;padding:10px 12px;gap:10px}}@media (max-width: 768px){.filter-controls{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px;padding:12px}}@media (max-width: 480px){.filter-controls{grid-template-columns:1fr;margin:6px;padding:12px}.btn-secondary.clear-filters{width:100%}}:root{--flt-bg: #ffffff;--flt-text: #0f172a;--flt-muted: #64748b;--flt-border: #cbd5e1;--flt-border-hover: #94a3b8;--flt-focus: #2563eb;--flt-radius: 6px;--flt-height: 32px;--flt-font: 12px;--flt-shadow: 0 1px 2px rgba(16, 24, 40, .08);--flt-shadow-focus: 0 0 0 3px rgba(37, 99, 235, .18);--menu-shadow: 0 10px 25px rgba(0, 0, 0, .12);--option-hover: #f1f5f9;--option-selected: #e0e7ff}.filter-select{font-size:var(--flt-font);color:var(--flt-text)}.filter-select__control{min-height:var(--flt-height)!important;height:var(--flt-height)!important;background-color:var(--flt-bg)!important;border:1px solid var(--flt-border)!important;border-radius:var(--flt-radius)!important;box-shadow:var(--flt-shadow)!important;transition:border-color .14s ease,box-shadow .14s ease;cursor:pointer}.filter-select__control:hover{border-color:var(--flt-border-hover)!important}.filter-select__control--is-focused{border-color:var(--flt-focus)!important;box-shadow:var(--flt-shadow-focus)!important}.filter-select__value-container{height:var(--flt-height)!important;padding:0 10px!important;display:flex;align-items:center}.filter-select__single-value{font-size:var(--flt-font)!important;line-height:1.15!important;color:var(--flt-text)!important;margin:0!important}.filter-select__placeholder{font-size:var(--flt-font)!important;line-height:1.15!important;color:var(--flt-muted)!important;margin:0!important}.filter-select__input-container{font-size:var(--flt-font)!important;line-height:1.15!important;margin:0!important;padding:0!important;color:var(--flt-text)!important}.filter-select__indicator{padding:0 8px!important;color:var(--flt-muted)!important}.filter-select__indicator:hover{color:var(--flt-text)!important}.filter-select__indicator-separator{background-color:#e2e8f0!important}.filter-select__menu{border-radius:0 6px!important;overflow:hidden!important;box-shadow:var(--menu-shadow)!important;margin-top:6px!important;z-index:9999!important}.filter-select__menu-list{padding:6px!important;max-height:240px!important}.filter-select__option{font-size:var(--flt-font)!important;line-height:1.15!important;padding:6px 10px!important;border-radius:6px!important;color:var(--flt-text)!important}.filter-select__option--is-focused{background:var(--option-hover)!important}.filter-select__option--is-selected{background:var(--option-selected)!important;color:#1e40af!important}.filter-select__no-options-message,.filter-select__loading-message{font-size:var(--flt-font)!important;color:var(--flt-muted)!important;padding:10px!important}.filter-select__control--is-disabled{background:#f8fafc!important;border-color:#e2e8f0!important;cursor:not-allowed!important;box-shadow:none!important}@keyframes fx-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fx-skeleton-wrap{position:relative}.fx-skeleton-wrap.fx-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:linear-gradient(90deg,#fafafa99,#ebebebf2,#fafafa99);background-size:200% 100%;animation:fx-shimmer 1.2s infinite;pointer-events:none}@media (max-width: 768px){.filter-select__menu{width:auto!important;min-width:220px;max-width:calc(100vw - 32px)}.filter-select__menu-list{max-height:200px!important}}@media (max-width: 480px){.filter-select__menu{max-width:calc(100vw - 20px);min-width:200px}.filter-select__option{padding:6px 8px!important}}.ra-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:99999}.ra-modal{width:700px;max-width:92%;background:#fff;padding:28px;border-radius:12px;box-shadow:0 10px 30px #00000026;animation:fadeIn .2s ease-out;font-family:Inter,sans-serif;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-header h4{font-size:18px;color:#1a1a1a;margin:0;font-weight:600}.close-btn{background:transparent;border:none;font-size:22px;line-height:20px;cursor:pointer;color:#444;transition:.2s ease}.close-btn:hover{color:#000}@keyframes fadeIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.ra-tabs{display:flex;border-bottom:1px solid #e4e4e4;margin-bottom:16px}.ra-tabs button{padding:10px 16px;font-size:14px;background:#f7f7f7;border:none;border-right:1px solid #e4e4e4;color:#555;cursor:pointer;transition:.2s ease}.ra-tabs button:last-child{border-right:none}.ra-tabs button:hover{background:#ececec}.ra-tabs button.active{background:#fff;color:#222;font-weight:600;border-bottom:2px solid #222}.ra-tab-content{padding-top:10px}.ra-form-group{display:flex;flex-direction:column;margin-bottom:16px}.ra-form-group label{margin-bottom:6px;font-size:13px;font-weight:600;color:#333}.ra-form-group input,.ra-form-group select{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;color:#111;transition:.25s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.ra-form-group input:focus,.ra-form-group select:focus{border-color:#3a7afe;box-shadow:0 0 0 3px #3a7afe38}.ra-form-group select{background-image:url("data:image/svg+xml,%3Csvg fill='gray' height='12' width='12' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7l4.5 5 4.5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}.ra-form-group select:disabled{background:#f2f2f2;color:#999;cursor:not-allowed}.lob-flex{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ra-submit{width:100%;padding:12px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-radius:8px;border:none;font-size:15px;font-weight:500;cursor:pointer;margin-top:12px;transition:.25s ease}.ra-submit:hover{background:#0064d6}.ra-submit:disabled{background:#b9c8e8;cursor:not-allowed}.ra-message{margin-top:10px;color:#d9534f;font-size:14px;text-align:center}.ra-list{max-height:340px;overflow-y:auto;padding-right:6px}.ra-item{display:grid;grid-template-columns:1fr auto;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px;margin-bottom:10px;align-items:center}.ra-item strong{font-size:15px;color:#222}.ra-item span{font-size:13px;color:#555}.ra-actions{display:flex;gap:8px}.ra-actions button{padding:8px 14px;font-size:13px;border-radius:6px;border:none;cursor:pointer;transition:.25s ease}.ra-actions button:hover{transform:scale(1.05)}.ra-actions button{background:#007bff;color:#fff}.ra-actions .reject{background:#e54848}.ra-list::-webkit-scrollbar{width:6px}.ra-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000059;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-container{background:#fff;width:800px;max-height:85vh;border-radius:10px;padding:25px;box-shadow:0 6px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .2s ease-out}.modal-content-wrapper{overflow-y:auto;padding-right:8px}.modal-container h2{margin:0 0 20px;font-size:20px;font-weight:600;color:#222;border-bottom:1px solid #e7e7e7;padding-bottom:10px}.modal-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid #ddd}.modal-tab{padding:8px 14px;cursor:pointer;font-size:14px;color:#555;border-radius:6px 6px 0 0;transition:.2s ease}.modal-tab.active{background-color:#305496;color:#fff;font-weight:600}.assign-table{margin-bottom:25px;max-height:230px;overflow-y:auto;border:1px solid #e7e7e7;border-radius:8px;background:#fafafa;padding:10px}.assign-table table{width:100%;border-collapse:collapse}.assign-table th{background:#305496;color:#fff;padding:10px;font-size:13px;font-weight:600;text-align:left;border-bottom:1px solid #ddd}.assign-table td{padding:8px;font-size:13px;border-bottom:1px solid #eee}.delete-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#c0392b;transition:.2s ease}.delete-btn:hover{color:#a93226}.grid-input-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:12px;align-items:center;margin-bottom:12px}.grid-input-row input,.grid-input-row select{width:100%;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:14px}.add-section{margin-top:20px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e5e7eb}.add-title{margin-bottom:12px;font-size:16px;font-weight:600;color:#374151}.add-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 12px;align-items:end}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;color:#4b5563;font-weight:600}.form-field select,.form-field input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px}.add-btn-container{display:flex;align-items:flex-end}.add-btn{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.add-btn:hover{background:#1d4ed8}.actions-cell{display:flex;gap:6px}.action-btn{width:26px;height:26px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.15s ease-in-out}.action-btn:hover{background:#f3f4f6}.action-btn.edit{color:#2563eb}.action-btn.delete{color:#dc2626}.action-btn.save{color:#16a34a;font-weight:700}.action-btn.cancel{color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dashboard-container{height:calc(100vh - 80px);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;background:#f7fbff}.dashboard-scroll{overflow-y:auto;flex:1;min-height:0;min-width:0;padding:0 10px}.dashboard-header{position:sticky;top:0;z-index:100;background:#fff;opacity:1;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0000001a}.dashboard-title{display:flex;justify-content:space-between;align-items:center;margin:8px 8px 8px 12px}.dashboard-title h4{color:#2c3e50;font-size:14;font-weight:600;margin:0}.dashboard-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;gap:8px}.custom-toast-container{z-index:99999}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:5px;flex-shrink:0}.kpi-card{border-radius:12px;padding:10px;box-shadow:0 2px 8px #0000001a;border-left:4px solid;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.kpi-card.primary{border-left-color:#e8aa00;background-color:#e8aa001a}.kpi-card.secondary{border-left-color:#0078d4;background-color:#0078d41a}.kpi-card.tertiary{border-left-color:#107c10;background-color:#107c101a}.kpi-card.quarter{border-left-color:#00bcf2;background-color:#00bcf21a}.kpi-card.info{border-left-color:#ff8c00;background-color:#ff8c001a}.kpi-card.warning{border-left-color:#8882c7;background-color:#8882c71a}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.kpi-header h3{font-size:12px;color:#605e5c;margin:0;font-weight:500}.kpi-icon{font-size:16px;opacity:.7}.kpi-value{font-size:22px;font-weight:700;color:#323130;margin-bottom:.25rem;line-height:1.1}.kpi-subtitle{font-size:12px;color:#000;font-weight:600;line-height:1.3}.usd-reference{font-size:.75rem;color:#a19f9d;margin-top:20px}.charts-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,2fr));gap:10px;flex:1;min-height:0}.chart-container{background:#fff;border-radius:12px;padding:10px;box-shadow:0 2px 8px #0000001a;position:relative;display:flex;flex-direction:column;min-height:200px;max-height:400px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-shrink:0}.chart-header h3{font-size:14px;color:#323130;margin:0;font-weight:600}.expand-btn{border:none;border-radius:4px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#605e5c;transition:all .2s ease;font-size:14px}.expand-btn:hover{background:#edebe9;transform:scale(1.1)}.chart-content{flex:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center}.chart-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.chart-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:90vw;max-height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.chart-modal.enhanced{max-width:95vw;max-height:90vh}.chart-modal-header{padding:1.5rem 2rem;border-bottom:1px solid #edebe9;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:#faf9f8}.chart-modal-header h3{margin:0;color:#323130;font-size:1.3rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#605e5c;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#f3f2f1;color:#323130}.chart-modal-content{flex:1;padding:1rem;overflow:hidden;min-height:0}.expanded-chart-container{height:70vh;min-height:300px;display:flex;flex-direction:column;gap:1rem}.expanded-chart-container>div:first-child{flex:1;position:relative;padding:20px;min-height:0}.chart-insights{display:flex;gap:2rem;padding:1rem;background:#faf9f8;border-radius:8px;flex-shrink:0}.insight-item{font-size:.9rem;color:#605e5c}.insight-item strong{color:#323130}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:#605e5c}.spinner{width:40px;height:40px;border:4px solid #f3f2f1;border-top:4px solid #0078d4;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.currency-info-banner{background:linear-gradient(90deg,#e3f2fd,#f1f8e9);border:1px solid #e1f5fe;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.conversion-icon{font-size:1.5rem}.conversion-details h4{margin:0 0 .25rem;color:#1976d2;font-size:1rem}.conversion-details p{margin:0 0 .25rem;color:#424242;font-size:.9rem}.conversion-details small{color:#757575;font-size:.8rem}.currency-stats-banner{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem}.currency-stats-banner h4{margin:0 0 1rem;color:#323130;font-size:1.1rem}.currency-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.currency-stat-item{background:#faf9f8;border-radius:8px;padding:1rem;border-left:3px solid #0078d4}.currency-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.currency-symbol{font-size:1.2rem;font-weight:700;color:#0078d4}.currency-details{font-size:.9rem}.project-count{color:#605e5c;margin-bottom:.25rem}.forecast-amount{font-weight:600;color:#323130}@media (max-width: 1200px){.charts-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){.dashboard-container{padding:.5rem;min-height:calc(100vh - 100px);max-height:calc(100vh - 100px)}.dashboard-title{flex-direction:column;gap:1rem;text-align:center}.dashboard-actions{justify-content:center}.charts-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.chart-modal{margin:1rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.expanded-chart-container{height:50vh;min-height:300px}.chart-insights{flex-direction:column;gap:.5rem}.currency-stats-grid{grid-template-columns:1fr}}@media (max-width: 480px){.dashboard-header{padding:.75rem}.dashboard-title h4{font-size:1.2rem}.kpi-card{padding:1rem}.kpi-value{font-size:1.5rem}.chart-container{min-height:250px;max-height:300px}.chart-modal-content{padding:1rem}.expanded-chart-container{height:40vh;min-height:250px}}@media print{.dashboard-container{max-height:none;overflow:visible}.expand-btn,.dashboard-actions{display:none}.chart-container{max-height:none;page-break-inside:avoid}}.kpi-hover-box{position:absolute;top:95%;left:50%;transform:translate(-50%);width:230px;background:#1a1a1acc;color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;box-shadow:0 4px 12px #0000004d;pointer-events:none;animation:fadeIn .15s ease}@media (max-width: 1024px){.dashboard-container{padding:14px 16px 20px}.dashboard-title{gap:10px}.dashboard-actions{justify-content:flex-start}.charts-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){.dashboard-container{padding:12px 12px 16px;gap:.75rem}.dashboard-title{flex-direction:column;align-items:flex-start;margin:0 0 8px}.dashboard-actions{width:100%;justify-content:flex-start}.kpi-grid,.charts-grid{grid-template-columns:1fr;gap:12px}}@media (max-width: 480px){.dashboard-container{padding:10px 10px 14px}.dashboard-actions button{width:100%}}.error-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.error-content{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 20px 40px #0000001a;text-align:center;max-width:600px;width:100%;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-icon{margin-bottom:2rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.error-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}.error-message-box{background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid #dc2626}.error-message{font-size:1.25rem;color:#dc2626;font-weight:600;margin:0}.error-description{font-size:1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:160px}@media (max-width: 640px){.error-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:250px}}.delegate-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.delegate-modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;width:100%;max-width:500px;max-height:90vh;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column}.delegate-modal-header{background:linear-gradient(135deg,#3b82f6,#004b8d);color:#fff;padding:5px;display:flex;align-items:center;justify-content:space-between}.delegate-modal-header-content{display:flex;align-items:center;gap:16px}.delegate-modal-icon{background:#fff3;padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin:5px}.delegate-modal-title-section{display:flex;flex-direction:column}.delegate-modal-title{font-size:16px;font-weight:500px;margin:0;line-height:1.2}.delegate-modal-subtitle{font-size:12px;margin:4px 0 0;opacity:.9;line-height:1.3}.delegate-modal-close-btn{background:#ffffff1a;border:none;color:#fff;padding:4px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.delegate-modal-close-btn:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.delegate-modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.delegate-modal-content{padding:10px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.delegate-existing-alert{background:linear-gradient(135deg,#fef7cd,#fde68a);border:2px solid #f59e0b;border-radius:5px;padding:5px;animation:slideDown .4s ease-out}.delegate-existing-header{display:flex;align-items:center;gap:2px;color:#92400e;font-weight:500;font-size:12px;margin-bottom:8px}.delegate-existing-content p{color:#92400e;margin:0 0 5px;font-size:10px;line-height:1}.delegate-existing-details{background:#f59e0b1a;border-radius:8px;padding:5px;display:flex;flex-direction:column;gap:0px}.delegate-existing-details>div{font-size:10px;color:#78350f;line-height:1}.delegate-existing-details strong{color:#92400e}.delegate-project-card{background:linear-gradient(135deg,#eff6ff,#f3e8ff);border:2px solid #e0e7ff;border-radius:8px;padding:5px;transition:all .2s ease}.delegate-project-card-header{display:flex;align-items:center;gap:8px;color:#6366f1;font-weight:500;font-size:12px;margin-bottom:8px}.delegate-project-info h3{font-size:12px;font-weight:500;color:#1e293b;margin:0 0 4px;line-height:1}.delegate-project-info p{font-size:12px;color:#64748b;margin:0;line-height:1}.delegate-form-group{display:flex;flex-direction:column;gap:8px}.delegate-form-label{display:flex;align-items:center;gap:2px;font-weight:500;font-size:12px;color:#374151;width:100%}.required{color:#ef4444}.optional{color:#9ca3af;font-weight:400}.delegate-loading-state{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px}.delegate-select-container{position:relative}.delegate-select{width:100%;padding:10px 2px 10px 10px;border:2px solid #d1d5db;border-radius:4px;font-size:12px;background:#fff;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:12px}.delegate-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.delegate-select.selected{border-color:#10b981;background-color:#f0fdf4}.delegate-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.delegate-select-check{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:#10b981;pointer-events:none}.delegate-pmo-preview{display:flex;align-items:center;gap:4px;padding:2px;background:#f0fdf4;border:2px solid #bbf7d0;border-radius:8px;animation:slideDown .3s ease-out}.delegate-pmo-avatar{background:#dcfce7;color:#16a34a;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center}.delegate-pmo-details{flex:1}.delegate-pmo-name{font-weight:600;color:#166534;font-size:14px;line-height:1.3;display:flex;align-items:center;gap:8px}.delegate-current-badge{background:#f59e0b;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.delegate-pmo-email{font-size:12px;color:#22c55e;line-height:1.3}.delegate-textarea{width:100%;border:2px solid #d1d5db;border-radius:8px;font-size:12px;font-family:inherit;resize:vertical;min-height:50px;transition:all .2s ease}.delegate-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.delegate-textarea:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.delegate-char-count{text-align:right;font-size:8px;color:#9ca3af}.delegate-warning{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;color:#92400e;font-size:14px}.delegate-modal-footer{border-top:1px solid #e5e7eb;padding:10px 24px;display:flex;gap:12px;background:#fafafa}.delegate-btn{padding:6px 4px;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.5px;transition:all .3s ease;position:relative;overflow:hidden;min-width:120px}.delegate-btn-secondary{background:#fff;color:#374151;border:2px solid #d1d5db}.delegate-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.delegate-btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:2px solid transparent}.delegate-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.delegate-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid transparent}.delegate-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.delegate-btn.disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.delegate-btn:disabled{cursor:not-allowed;opacity:.6}.delegate-spinner,.delegate-btn-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.delegate-btn-spinner{border-color:#ffffff4d;border-top-color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.delegate-modal-container{margin:20px;max-height:calc(100vh - 40px)}.delegate-modal-content{padding:10px}.delegate-modal-footer{padding:10px;flex-direction:column}.delegate-btn{flex:none}.delegate-existing-details{font-size:12px}.delegate-modal-title{font-size:18px}.delegate-modal-subtitle{font-size:13px}}.freeze-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000}.freeze-modal{background:#fff;padding:28px 32px;width:440px;border-radius:12px;box-shadow:0 6px 30px #00000026;animation:fadeIn .25s ease-out;color:#2e2e2e}.modal-title{font-size:1.25rem;font-weight:600;text-align:center;margin-bottom:20px}.section{margin-bottom:10px!important}.row{display:flex;gap:8px;flex-wrap:wrap}.field{display:flex;flex-direction:column;flex:1}.field label{font-size:.85rem;font-weight:600;margin-bottom:6px;color:#444}.field input{border:1px solid #c9ccd1;border-radius:6px;padding:8px 10px;font-size:.95rem;transition:border-color .2s ease}.field input:focus{border-color:#007bff;outline:none}.field input.error{border-color:#d9534f}.error-text{color:#c9302c;font-size:.75rem;margin-top:4px}.error-banner{background:#ffeaea;border:1px solid #f5baba;color:#b20000;font-size:.85rem;text-align:center;padding:8px;border-radius:6px;margin-top:10px}.toggle-section{padding:8px 10px!important;margin-bottom:10px!important;background:#fafafa;border:1px solid #ececec;border-radius:6px}.toggle-line{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;font-size:.9rem}.toggle-line span{font-weight:600;color:#222;font-size:.95rem}.hint{font-size:.78rem;margin-top:4px;color:#666}.switch{position:relative;width:34px;height:18px;display:inline-block}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:18px;transition:.25s}.slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.25s}.switch input:checked+.slider{background:#007bff}.switch input:checked+.slider:before{transform:translate(16px)}.time-selector{padding:10px!important;margin-top:10px!important;background:#fafafa;border:1px solid #ececec;border-radius:6px}.time-title{font-weight:500!important;font-size:.95rem;text-align:center!important;display:block;width:100%;margin-bottom:10px!important}.time-controls{display:flex;justify-content:center!important;align-items:center;gap:10px}.time-selector{text-align:center!important;padding:12px!important}.circle-btn{width:30px!important;height:30px!important;border-radius:6px!important;font-size:1rem!important;padding:0!important}.time-display{padding:4px 10px!important;font-size:.9rem!important;min-width:90px!important}.loading-state{text-align:center;color:#555;font-size:.95rem;padding:24px}.circle-btn.plus-btn{width:34px!important;height:34px!important;border-radius:50%!important;background:#007bff!important;color:#fff!important;font-size:1.2rem!important;font-weight:600;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.circle-btn.minus-btn{width:34px!important;height:34px!important;border-radius:50%!important;background:#ccc!important;color:#333!important;font-size:1.2rem!important;font-weight:600;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.circle-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.forecast-container{height:calc(100vh - 80px);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;background:#f7fbff}.forecast-header{position:sticky;top:0;z-index:100;background:#fff;opacity:1;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0000001a}.forecast-title{display:flex;justify-content:space-between;align-items:center;margin:8px 8px 8px 12px}.forecast-title h4{color:#2c3e50;font-size:14;font-weight:600;margin:0}.forecast-scroll{overflow-y:hidden;flex:1;min-height:0;min-width:0;padding:0 10px}.forecast-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;gap:8px}.fx-skeleton-table .forecast-table td,.fx-skeleton-table .forecast-table th{position:relative;overflow:hidden}.fx-skeleton-table .forecast-table td:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fff0,#f0f0f0cc,#fff0);background-size:200% 100%;animation:fx-shimmer 1.1s infinite;pointer-events:none}.fx-skeleton-table .forecast-table th:after{background:linear-gradient(90deg,#fff0,#f5f5f5b3,#fff0)}.top-customers-modal{width:min(1100px,95vw);max-height:85vh;overflow:hidden;padding:16px}.top-customers-modal .forecast-table th:nth-child(-n+8),.top-customers-modal .forecast-table td:nth-child(-n+8){position:static!important;left:auto!important;box-shadow:none!important}.top-customers-modal .forecast-table-container{max-height:60vh}.forecast-table-container{overflow-x:auto;flex-grow:1;background-color:#fff;border-radius:8px;padding:12px;border:1px solid #ddd;overflow:hidden;max-height:650px;display:flex;flex-direction:column}.forecast-table-divider{max-height:500px;overflow-y:auto;overflow-x:auto;position:relative;flex-grow:1}.forecast-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1000px}.disabled-row{background-color:#f0f0f0}.disabled-row td{background-color:#eaeaea;color:#666}.disabled-row>td{background-color:#f0f0f0;color:#999;cursor:not-allowed}.forecast-table th{position:sticky;top:0;z-index:10;background-color:#46597c;color:#fff}.forecast-table th,.forecast-table td{padding:12px 16px;border-bottom:1px solid #ddd;border-right:1px solid #ddd;max-width:200px;text-align:center;font-size:13px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis}.forecast-table th.remarks,.forecast-table td.remarks{max-width:none!important}.forecast-table th{background-color:#46597c;color:#fff;font-weight:600;position:sticky;top:0;z-index:10}.disabled-row td:nth-child(-n+7){background-color:#f0f0f0!important;color:#999}.forecast-table th:nth-child(-n+8),.forecast-table td:nth-child(-n+8){position:sticky;left:0;z-index:5;background-color:#fff}.forecast-table th:nth-child(1),.forecast-table td:nth-child(1){left:0;min-width:10px;width:10px}.forecast-table th:nth-child(2),.forecast-table td:nth-child(2){left:40px;min-width:100px;width:100px}.forecast-table th:nth-child(3),.forecast-table td:nth-child(3){left:125px;min-width:100px;width:100px}.forecast-table th:nth-child(4),.forecast-table td:nth-child(4){left:210px;min-width:120px;width:120px}.forecast-table th:nth-child(5),.forecast-table td:nth-child(5){left:350px;min-width:120px;width:120px}.forecast-table th:nth-child(6),.forecast-table td:nth-child(6){left:477px;min-width:170px;width:170px;box-shadow:2px 0 4px #0000000d}.forecast-table th:nth-child(7),.forecast-table td:nth-child(7){left:600px;min-width:50px;width:50px;box-shadow:2px 0 4px #0000000d}.forecast-table th:nth-child(8),.forecast-table td:nth-child(8){left:650px;min-width:50px;width:50px;box-shadow:2px 0 4px #0000000d}.forecast-table th:nth-child(-n+8),.forecast-table td:nth-child(-n+8){position:sticky;background-color:#fff;z-index:5}.forecast-table th:nth-child(-n+8){background-color:#46597c;z-index:15}.forecast-table th,.forecast-table td{min-width:100px;padding:12px 16px;font-size:13px;white-space:nowrap;border-bottom:1px solid #ddd;border-right:1px solid #ddd}.forecast-table th,.forecast-table td{text-align:left}.forecast-table tbody tr.selected-row,.forecast-table tbody tr.selected-row td,.forecast-table tbody tr.selected-row:hover,.forecast-table tbody tr.selected-row:hover td{background-color:#fff6d5!important}.forecast-table tbody tr.selected-row td:first-child{border-left:4px solid #F2D98C}.disabled-row.selected-row,.disabled-row.selected-row td{background-color:#faf3d0!important}.disabled-row.selected-row td:first-child{border-left:4px solid #F2D98C}.forecast-table tbody tr.selected-row .fixed-column,.forecast-table tbody tr.selected-row .project-id-cell,.forecast-table tbody tr.selected-row .currency-cell{background-color:#e8f1ff!important}.forecast-pagination{display:flex;justify-content:center;gap:8px;padding:12px;background-color:#f4f6f8;border-top:1px solid #ccc;flex-shrink:0;margin-bottom:50px}.forecast-pagination button{background-color:#fff;border:1px solid #ccc;padding:6px 12px;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out;font-size:13px}.forecast-pagination button:hover{background-color:#f0f0f0}.forecast-pagination button.active{background-color:#004b8d;color:#fff;border-color:#004b8d}.forecast-table .forecast-cell{background-color:#667eea1a;color:#495057}.forecast-table .actual-cell{background-color:#66ea891a;color:#495057}.forecast-table .currency{text-align:center}.flash-banner{position:relative;padding:6px 12px;font-size:.85rem;margin:8px 8px 8px 12px;border-radius:4px;display:flex;align-items:center;background-color:#f0f4ff;border-left:4px solid #007bff;overflow:hidden;height:40px}.flash-banner.active{background-color:#e6ffed;border-left-color:#28a745;color:#155724}.flash-banner.frozen{background-color:#fff3f3;border-left-color:#dc3545;color:#721c24}.scroll-container{width:100%;overflow:hidden;white-space:nowrap}.scroll-text{display:inline-block;padding-left:100%;animation:scroll-left 20s linear infinite}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-100%)}}.close-banner{background:none;border:none;font-size:1rem;cursor:pointer;color:inherit;margin-left:12px}.forecast-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background-color:#f9f9f9;margin:5px}.toolbar-left,.toolbar-right{display:inline-flex;align-items:center;gap:10px}:root{--tb-font-size: 12px;--tb-font-weight: 500;--tb-height: 32px;--tb-pad-x: 10px;--tb-border: 1px solid #ccc;--tb-radius: 4px;--tb-bg: #fff;--tb-text: #111827;--tb-hover-bg: #f0f0f0;--tb-focus-halo: 0 0 0 3px rgba(37,99,235,.15)}.row-selector{display:inline-flex;align-items:center;gap:5px;font-size:var(--tb-font-size)}.row-selector label{font-weight:var(--tb-font-weight);margin:0;white-space:nowrap;color:var(--tb-text)}.row-selector select{height:var(--tb-height);line-height:var(--tb-height);padding:0 var(--tb-pad-x);font-size:var(--tb-font-size);border:var(--tb-border);border-radius:var(--tb-radius);background-color:var(--tb-bg);color:var(--tb-text);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;text-align:center}.row-selector select:hover{background-color:var(--tb-hover-bg)}.row-selector select:focus{outline:none;box-shadow:var(--tb-focus-halo);border-color:#93c5fd}.include-nb-inline{display:inline-flex;align-items:center;gap:6px;font-size:var(--tb-font-size);font-weight:var(--tb-font-weight);color:var(--tb-text);height:var(--tb-height);padding:0;margin:0;cursor:pointer}.include-nb-inline input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:#2563eb}.include-nb-inline span{line-height:1}.row-selector select{box-sizing:border-box;height:28px;line-height:28px;padding:0 8px;font-size:12px;border:1px solid #ccc;border-radius:4px;background-color:#fff;color:#111827;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.row-selector select{background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%),linear-gradient(to right,#fff,#fff);background-position:calc(100% - 12px) 11px,calc(100% - 7px) 11px,100% 0;background-size:5px 5px,5px 5px,2.2em 100%;background-repeat:no-repeat;padding-right:28px}.row-selector select::-ms-expand{display:none}.row-selector select:hover{background-color:#f0f0f0}.row-selector select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.row-selector select,.include-nb-inline{position:relative;top:.5px}@media (max-width: 768px){.toolbar-left,.toolbar-right{gap:8px}.mode-controls .mode-btn{min-width:32px}}.mode-controls{display:flex;gap:10px}.mode-controls button{padding:5px;border:none;border-radius:4px;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.mode-controls button.active{background-color:#66b0fe80;color:#fff}.btn-save{background-color:#82fe6680}button:disabled{cursor:not-allowed}input:disabled{background-color:#f0f0f0;color:#333;cursor:not-allowed;opacity:.7}.forecast-cell>input{padding:5px;border:2px solid #e1e8ed;border-radius:5px;font-size:12px;transition:all .2s ease;background:#fff;color:#2c3e50}.variance-cell{text-align:center;font-weight:700}.variance-header{background-color:#f8f9fa;font-weight:600;text-align:center}.variance-cell span{display:inline-flex;align-items:center;gap:4px;font-size:13px}.variance-cell span:before{font-size:13px;font-weight:400}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f8f9fa}.login-container{display:flex;height:100vh;width:100vw;overflow:hidden}.login-left{flex:1;display:flex;justify-content:center;align-items:center;background:#fff}.login-left img{max-width:100%;height:auto;object-fit:contain}.login-right{flex:1;max-width:450px;padding:3rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 0 12px #0000000d;display:flex;flex-direction:column;justify-content:center;min-height:100vh;box-sizing:border-box}.login-right h2{margin-bottom:2rem;color:#343a40;text-align:center}.login-right form{display:flex;flex-direction:column}.login-right input{padding:.75rem;margin-bottom:1rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.login-right button{padding:.75rem;background-color:#007bff;color:#fff;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.login-right button:hover{background-color:#0056b3}.separator{display:flex;align-items:center;margin:2rem 0 1.2rem}.separator .line{flex:1;height:1px;background-color:#ccc}.or-text{margin:0 10px;font-size:.9rem;color:#6c757d}.sso-link{display:block;padding:.75rem;text-align:center;border-radius:5px;background-color:#fff;border:1px solid #007bff;color:#007bff;font-weight:600;margin:.5rem 0 1.5rem;transition:.2s ease;text-decoration:none}.sso-link:hover{background-color:#007bff;color:#fff}.request-access{text-align:center;font-size:.9rem;color:#555;margin-top:8px}.request-access-text{color:#007bff;cursor:pointer;font-weight:600}.request-access-text:hover{text-decoration:underline}.status{color:red;text-align:center}@media (max-width: 1024px){.login-right{max-width:380px;padding:2rem 1.5rem}}@media (max-width: 768px){.login-container{flex-direction:column;height:auto}.login-left{display:none}.login-right{width:100%;max-width:none;min-height:auto;padding:2rem 1.2rem;box-shadow:none;border-radius:0}}@media (max-width: 480px){.login-right{padding:1.5rem 1rem}.login-right h2{font-size:1.4rem}.login-right input,.login-right button{font-size:.95rem;padding:.65rem}.separator{margin:1.5rem 0}}.report-container{height:calc(100vh - 80px);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;background:#f7fbff}.report-header{position:sticky;top:0;z-index:100;background:#fff;opacity:1;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0000001a}.header-title{display:flex;justify-content:space-between;align-items:center;margin:8px 8px 8px 12px}.header-title h4{color:#2c3e50;font-size:14;font-weight:600;margin:0}.current-fy-indicator{padding:8px 16px;font-weight:600;font-size:14px;color:#555}.report-actions{display:flex;gap:.5rem}.filter-group select,.filter-group .date-input{display:flex;flex-direction:column;min-width:80px;flex:1;padding:6px 8px;border:2px solid #d1d5db;border-radius:8px;font-size:12px;background-color:#fff;transition:all .2s ease;cursor:pointer;font-family:inherit}.filter-group select:focus,.filter-group .date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-group select:hover,.filter-group .date-input:hover{border-color:#9ca3af}.tabs-container{margin:0 10px}.tabs{display:flex;background:#fff;border:1px solid #ddd;border-radius:6px}.tab{flex:1;padding:10px;text-align:center;border:none;background:none;cursor:pointer;font-weight:700;font-size:14px;color:#555;display:flex;align-items:center;justify-content:center;gap:8px}.tab:hover{background:#f8f9fa}.tab.active{background:#305496;color:#fff}.tab-icon{font-size:16px}.content-section{background:#fff;border:1px solid #ddd;border-radius:6px;flex:1;min-height:0;overflow-y:auto;padding:14px}.loading{text-align:center;padding:40px}.spinner{width:30px;height:30px;border:4px solid #ccc;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{color:#666;font-size:16px}.no-data{text-align:center;padding:60px 20px;color:#666}.no-data-icon{font-size:3rem;margin-bottom:20px;opacity:.6}.no-data p{font-size:14px;line-height:1.5;margin-bottom:8px}.quarter-cards-grid{display:grid;gap:20px;grid-template-columns:1fr}.quarter-card{border:1px solid #9d9d9d;border-radius:6px;padding:18px;background:#fff;display:flex;flex-direction:column;min-height:500px}.quarter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee;flex-shrink:0}.quarter-title{font-size:1.2rem;font-weight:700;color:#333;margin:0}.quarter-meta{display:flex;align-items:center}.project-count{background:#e9ecef;color:#555;padding:4px 8px;border-radius:4px;font-weight:700;font-size:13px}.quarter-overview{margin-bottom:20px;flex-shrink:0}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-group{text-align:center;padding:15px;border:1px solid #ddd;border-radius:4px;background:#fafafa}.stat-group label{display:block;font-size:12px;font-weight:700;color:#666;margin-bottom:8px;text-transform:uppercase}.stat-value{font-size:1.3rem;font-weight:700;color:#333}.versions-timeline{flex:1;display:flex;flex-direction:column}.versions-timeline h4{font-size:1.1rem;font-weight:700;color:#333;margin-bottom:15px}.versions-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;flex:1;align-content:start}.version-row-card{flex:0 0 300px;max-width:350px;display:flex;flex-direction:column;background:#f9fafb;border:1px solid #e6eaf0;border-radius:6px;padding:10px 12px 8px}.version-info{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cdcdcd;padding-bottom:2px}.version-name{font-weight:500;font-size:13px;color:#333;display:flex;align-items:center;gap:8px}.final-badge{background:#28a745;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700}.version-variance-inline{font-weight:500;margin-left:8px;margin-bottom:8px;font-size:12px}.project-count-small{font-size:12px;color:#666;margin-bottom:10px}.quarter-cards-grid{display:grid;gap:18px;grid-template-columns:1fr}@media (max-width: 1400px){.quarter-cards-grid{grid-template-columns:repeat(8,1fr)}}@media (max-width: 992px){.quarter-cards-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 640px){.quarter-cards-grid{grid-template-columns:repeat(1,1fr)}}.quarter-cards-grid .quarter-card{grid-column:span 4}@media (max-width: 1400px){.quarter-cards-grid .quarter-card{grid-column:span 4}}@media (max-width: 992px){.quarter-cards-grid .quarter-card{grid-column:span 4}}.quarter-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:0;box-shadow:0 2px 8px #1018280f;display:flex;flex-direction:column;overflow:hidden}.quarter-header{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#f8fafc,#eef2f7);border-bottom:1px solid #e5e7eb;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.quarter-title{font-size:15px;font-weight:700;line-height:1.25;color:#233044;margin:0}.quarter-meta .project-count{background:#eef2ff;color:#1e293b;border:1px solid #dbeafe;border-radius:6px;margin-left:10px;vertical-align:middle;padding:6px 10px;font-size:12px;font-weight:600}.versions-timeline{flex:1;padding:0 16px;display:flex;flex-direction:column}.versions-row{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:stretch!important;gap:10px 12px!important}.version-row-card{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;flex:0 1 clamp(240px,24vw,420px)!important;max-width:none!important}.version-info{flex:0 0 auto!important}.months-row{flex:1 1 auto!important}.version-row-card>*:last-child{margin-bottom:0!important}@media (min-width: 1440px){.version-row-card{flex-basis:calc((100% - 36px)/4)!important}}@media (min-width: 1920px){.version-row-card{flex-basis:calc((100% - 36px)/4)!important}}@media (max-width: 768px){.version-row-card{flex:0 1 100%!important}}.version-row-card:hover{box-shadow:0 4px 12px #10182814;transform:translateY(-2px)}.version-row-card.final{background:#f5fbff;border-color:#93c5fd;outline-offset:0}.version-name{font-weight:600;font-size:13px;color:#1f2937;display:inline-flex;align-items:center;gap:8px}.final-badge{background:#22c55e;color:#fff;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:700}.quarter-total-box{display:inline-flex;gap:6px;align-items:baseline}.version-amount{font-size:13px;font-weight:700;color:#0f172a}.version-variance-inline{font-size:12px;font-weight:600;margin-left:4px}.months-row{display:flex;flex-direction:column}.month-item{display:grid;grid-template-columns:90px 1fr auto;gap:12px;padding:5px 0}.month-item:last-child{border-bottom:0}.month-item:hover{background:#f9fafb}.month-name{font-size:12px;font-weight:600;color:#475569}.month-value .month-amount{font-size:13px;font-weight:700;color:#111827}.month-value .month-inline-variance{font-size:12px;font-weight:600;white-space:nowrap;margin-left:8px}.month-value.actual-value .month-amount{color:#065f46}.month-value.forecast-value .month-amount{color:#1e40af}.month-value.mixed-value .month-amount{color:#5b21b6}.month-type{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;font-size:10px;font-weight:700;text-transform:uppercase;border-radius:999px;min-width:30px;border:1px solid transparent}.month-item:has(.month-value.actual-value) .month-type{background:#d1fae5;color:#065f46;border-color:#6ee7b7}.month-item:has(.month-value.forecast-value) .month-type{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.month-item:has(.month-value.mixed-value) .month-type{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}@media (max-width: 768px){.versions-row{grid-template-columns:1fr}.month-item{grid-template-columns:64px 1fr auto}.quarter-header,.versions-timeline{padding:12px}}.compact-audit-list{font-size:14px;line-height:1.5;background:#fff;border-radius:8px;overflow:hidden}.compact-audit-row{display:flex;align-items:center;gap:16px;padding:4px 8px;transition:background-color .15s ease}.compact-audit-row:last-child{border-bottom:none}.compact-audit-row:hover{background-color:#f8f9fa}.audit-timestamp{color:#6c757d;font-weight:500;min-width:140px;font-size:13px;font-family:inherit}.audit-user{color:#495057;font-weight:600;min-width:180px;font-size:14px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.audit-separator{color:#d1d5db;font-weight:400;font-size:16px}.audit-action-entity{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.action-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:70px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.action-badge.created{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.action-badge.updated{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.action-badge.deleted{background-color:#fecaca;color:#dc2626;border:1px solid #fca5a5}.action-badge.aggregated{background-color:#fef9c3;color:#92400e;border:1px solid #fcd34d}.entity-info{display:flex;align-items:center;gap:6px;min-width:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.entity-type{color:#6b7280;font-weight:500;font-size:13px;white-space:nowrap}.entity-name{color:#1f2937;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.audit-changes{color:#6b7280;min-width:80px;font-style:italic;font-size:13px;text-align:right;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.view-details-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px;cursor:pointer;transition:all .15s ease;color:#6b7280;font-size:16px;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.view-details-btn:hover{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.side-drawer{position:fixed;right:0;top:0;bottom:0;width:650px;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1001;overflow-y:auto;animation:slideIn .3s cubic-bezier(.25,.46,.45,.94);border-left:1px solid #e5e7eb}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.drawer-content{padding:24px;height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f3f4}.drawer-header h3{margin:0;color:#1f2937;font-size:18px;font-weight:600}.close-drawer{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .15s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-drawer:hover{background-color:#f3f4f6;color:#374151}.change-info{margin-bottom:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:16px;border-radius:8px;border:1px solid #e2e8f0}.info-row{margin-bottom:12px;display:flex;align-items:center;gap:12px;font-size:14px}.info-row:last-child{margin-bottom:0}.info-row strong{min-width:70px;color:#374151;font-weight:600}.changes-table-container{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.changes-table-container h4{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600;padding:16px 16px 0}.changes-table{width:100%;border-collapse:collapse;font-size:14px}.changes-table th{background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.changes-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;vertical-align:top}.changes-table tbody tr:hover{background-color:#f9fafb}.field-name{font-weight:500;width:35%;color:#374151}.field-type{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin-right:8px;text-transform:uppercase;letter-spacing:.5px}.field-type.project{background-color:#dbeafe;color:#1e40af}.field-type.forecast{background-color:#dcfce7;color:#166534}.field-type.aggregated{background-color:#fef3c7;color:#b45309;border:1px solid #fde68a}.old-value{background-color:#fef2f2;color:#dc2626;width:30%;font-weight:500}.new-value{background-color:#f0fdf4;color:#166534;width:30%;font-weight:500}.old-value em,.new-value em{color:#6b7280;font-style:italic;font-weight:400}.no-changes{text-align:center;color:#6b7280;font-style:italic;padding:32px;font-size:14px}@media (max-width: 1200px){.filter-controls{gap:12px}.filter-group{min-width:120px}.entity-name{max-width:200px}}@media (max-width: 768px){.report-container{padding:12px}.filter-controls{flex-direction:column;gap:12px}.filter-group{min-width:100%;flex:none}.tabs{flex-direction:column}.tab{justify-content:center;padding:12px}.versions-row{grid-template-columns:1fr}.compact-audit-row{flex-wrap:wrap;gap:8px}.side-drawer{width:90vw}.audit-action-entity{flex-direction:column;align-items:flex-start;gap:8px}.entity-name{max-width:250px}}@media (max-width: 480px){.content-section{padding:15px}.compact-audit-row{padding:8px 12px}}@media print{.report-container{padding:0;background:#fff}.quarter-card,.content-section{box-shadow:none;border:1px solid #000}.side-drawer,.drawer-overlay{display:none}}.version-info{display:grid;grid-template-columns:1fr auto;align-items:flex-start;gap:8px}.quarter-total-box{display:inline-flex;align-items:baseline;gap:6px}.version-row-card{border-radius:10px;background:#f9fafb}.version-row-card:hover{box-shadow:0 4px 12px #10182814}.month-item{grid-template-columns:80px 1fr auto;gap:8px;padding:4px 0}.month-value{display:inline-flex;width:100%;justify-content:space-between;align-items:baseline}.month-value .month-inline-variance{font-size:11.5px;font-weight:600;margin-left:6px}.quarter-header{padding:12px 16px}.quarter-title{line-height:1.25}.quarter-meta .project-count{margin-left:10px}.quarter-card{min-height:auto!important;padding:12px!important}.quarter-header{padding:10px 12px!important;border-bottom:1px solid #e5e7eb}.versions-timeline{padding:5px 2px!important}.version-row-card{border-radius:10px;padding:12px 12px 8px!important}.months-row{margin-top:6px!important}.month-item{grid-template-columns:80px 1fr auto;gap:6px!important;padding:3px 0!important}.month-name{margin:0}.month-value{justify-content:space-between;align-items:baseline}.month-value .month-amount{font-size:12.5px;font-weight:700}.month-value .month-inline-variance{font-size:11.5px;font-weight:600;margin-left:4px!important}.quarter-cards-grid{row-gap:14px!important}.content-section{padding:10px!important}
