:root{--color-primary:#5b6dd8;--color-secondary:#6b3f9b;--color-surface:#fff;--color-background:#f5f7fa;--color-textPrimary:#0a0f1c;--color-textSecondary:#2d3748;--color-textMuted:#5a6c84;--color-border:#d4dae3;--color-hover:#eef2f7;--color-shadowLight:#00000014;--color-shadowMedium:#0000001f}html{font-size:16px}body,html{height:100%}body{background-color:#f5f7fa;background-color:var(--color-background);color:#0a0f1c;color:var(--color-textPrimary);line-height:1.6;margin:0;transition:background-color .3s ease,color .3s ease}#root,.App{height:100%}.App{background-color:#f5f7fa;background-color:var(--color-background);transition:background-color .3s ease}code{background-color:#fff;background-color:var(--color-surface);border:1px solid #d4dae3;border:1px solid var(--color-border);border-radius:4px;color:#0a0f1c;color:var(--color-textPrimary);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:2px 6px}button{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;outline:none;overflow:hidden;position:relative;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible{outline:2px solid #5b6dd8;outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--color-buttonPrimary) 0,#6b3f9b 100%);background:linear-gradient(135deg,var(--color-buttonPrimary) 0,var(--color-secondary) 100%);box-shadow:0 2px 8px #00000014;box-shadow:0 2px 8px var(--color-shadowLight);color:var(--color-textOnPrimary);padding:10px 20px}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-buttonPrimaryHover) 0,#6b3f9b 100%);background:linear-gradient(135deg,var(--color-buttonPrimaryHover) 0,var(--color-secondary) 100%);box-shadow:0 4px 16px #0000001f;box-shadow:0 4px 16px var(--color-shadowMedium)}.btn-secondary{background:var(--color-buttonSecondary);border:2px solid #d4dae3;border:2px solid var(--color-border);color:#2d3748;color:var(--color-textSecondary);padding:10px 20px}.btn-secondary:hover:not(:disabled){background:var(--color-buttonSecondaryHover);border-color:#5b6dd8;border-color:var(--color-primary);color:#0a0f1c;color:var(--color-textPrimary)}.btn-danger{background:var(--color-error);color:var(--color-textOnError);font-weight:600;padding:10px 20px}.btn-danger:hover:not(:disabled){background:var(--color-errorHover);box-shadow:0 4px 16px #e53e3e33;transform:translateY(-1px)}input,select,textarea{background-color:var(--color-inputBackground);border:2px solid var(--color-inputBorder);border-radius:6px;color:#0a0f1c;color:var(--color-textPrimary);font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease}input::placeholder,textarea::placeholder{color:#5a6c84;color:var(--color-textMuted);opacity:.8}input:focus,select:focus,textarea:focus{border-color:var(--color-inputFocus);box-shadow:0 0 0 3px #5b6dd81a;outline:none;transform:translateY(-1px)}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27><path fill=%27%235a6c84%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:40px}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f5f7fa;background:var(--color-background);border-radius:5px}::-webkit-scrollbar-thumb{background:#d4dae3;background:var(--color-border);border:2px solid #f5f7fa;border:2px solid var(--color-background);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#5a6c84;background:var(--color-textMuted)}::-webkit-scrollbar-corner{background:#f5f7fa;background:var(--color-background)}.theme-dark{color-scheme:dark}.theme-dark select{background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27><path fill=%27%23a8b8cc%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/></svg>")}::selection{background-color:#5b6dd8;background-color:var(--color-primary);color:var(--color-textOnPrimary)}::-moz-selection{background-color:#5b6dd8;background-color:var(--color-primary);color:var(--color-textOnPrimary)}:focus-visible{border-radius:4px;outline:2px solid #5b6dd8;outline:2px solid var(--color-primary);outline-offset:2px}table{background:#fff;background:var(--color-surface);border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;box-shadow:0 2px 8px var(--color-shadowLight);overflow:hidden;width:100%}th{background:var(--color-tableHeader);color:var(--color-textOnPrimary);font-size:14px;font-weight:600;text-align:left}td,th{padding:12px 16px}td{border-bottom:1px solid #d4dae3;border-bottom:1px solid var(--color-border);color:#0a0f1c;color:var(--color-textPrimary)}tr:hover{background:var(--color-tableRowHover)}a{color:#5b6dd8;color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-buttonPrimaryHover);text-decoration:underline}.loading{animation:spin .8s linear infinite;border:2px solid #d4dae3;border-radius:50%;border-top-color:#5b6dd8;border:2px solid var(--color-border);border-top-color:var(--color-primary);display:inline-block;height:20px;width:20px}*,:after,:before{transition-duration:.3s;transition-property:background-color,border-color,color,box-shadow,fill,stroke;transition-timing-function:ease}.theme-transitioning *,.theme-transitioning :after,.theme-transitioning :before{transition:none!important}.error{color:var(--color-error);font-weight:500}.error-border{border-color:var(--color-error)!important}.success{color:var(--color-success);font-weight:500}.success-border{border-color:var(--color-success)!important}@media (prefers-contrast:high){:root{--color-border:#000;--color-textMuted:#333}.theme-dark{--color-border:#fff;--color-textMuted:#ccc}button,input,select,textarea{border-width:3px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nirvantage-logo{align-items:center;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.logo-image{object-fit:contain;transition:all .3s ease}.logo-text{color:var(--color-textPrimary);font-weight:700;letter-spacing:.5px;transition:color .3s ease}.logo-small .logo-image{height:24px;width:auto}.logo-small .logo-text{font-size:16px}.logo-medium .logo-image{height:32px;width:auto}.logo-medium .logo-text{font-size:20px}.logo-large .logo-image{height:48px;width:auto}.logo-large .logo-text{font-size:28px}.nirvantage-logo.interactive{cursor:pointer;transition:all .3s ease}.nirvantage-logo.interactive:hover{transform:translateY(-2px)}.nirvantage-logo.interactive:hover .logo-image{filter:brightness(1.1)}.theme-dark .logo-image{filter:brightness(1.1) contrast(1.1)}@media (max-width:768px){.nirvantage-logo{gap:8px}.logo-small .logo-image{height:20px}.logo-small .logo-text{font-size:14px}.logo-medium .logo-image{height:28px}.logo-medium .logo-text{font-size:18px}.logo-large .logo-image{height:40px}.logo-large .logo-text{font-size:24px}}.login-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);display:flex;justify-content:center;min-height:100vh;position:relative}.theme-selector-wrapper{position:absolute;right:20px;top:20px;z-index:10}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface);border:1px solid var(--color-borderLight);border-radius:16px;box-shadow:0 20px 40px var(--color-shadowHeavy);max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header .nirvantage-logo{justify-content:center;margin-bottom:16px}.login-subtitle{color:var(--color-textSecondary);font-size:18px;font-weight:500;margin:0;text-align:center}.login-form{gap:24px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group input,.form-group label{color:var(--color-textPrimary)}.form-group input{background:var(--color-inputBackground);border:1px solid var(--color-inputBorder);border-radius:8px;font-size:16px;padding:14px 16px;transition:all .3s ease}.form-group input:focus{border-color:var(--color-inputFocus);box-shadow:0 0 0 3px #667eea26;outline:none;transform:translateY(-1px)}.form-group input::placeholder{color:var(--color-textMuted)}.error-message{background:#e53e3e1a;border:1px solid #e53e3e33;border-radius:8px;color:var(--color-error);margin-top:-8px;padding:12px;text-align:center}.login-button{background:linear-gradient(135deg,var(--color-buttonPrimary) 0,var(--color-secondary) 100%);border:none;border-radius:8px;color:var(--color-textOnPrimary);cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s ease}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover{background:linear-gradient(135deg,var(--color-buttonPrimaryHover) 0,var(--color-secondary) 100%);box-shadow:0 8px 25px var(--color-shadowMedium);transform:translateY(-2px)}.login-button:hover:before{left:100%}.login-button:active{transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:480px){.login-card{border-radius:12px;margin:20px;padding:32px 24px}.theme-selector-wrapper{right:16px;top:16px}.login-header .nirvantage-logo{margin-bottom:12px}.login-subtitle{font-size:16px}.form-group input{font-size:16px;padding:12px 14px}.login-button{padding:12px 18px}}@keyframes loginCardAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card{animation:loginCardAppear .6s ease-out}.manage-clients{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 2px 10px var(--color-shadowLight);padding:30px}.clients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.clients-header h2{color:var(--color-textPrimary);margin:0}.add-client-btn{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border:none;border-radius:6px;color:var(--color-textOnPrimary);cursor:pointer;font-weight:600;padding:10px 20px;transition:transform .2s}.add-client-btn:hover{transform:translateY(-2px)}.clients-table-container{overflow-x:auto}.clients-table{border-collapse:collapse;width:100%}.clients-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#555;font-weight:600;padding:12px;text-align:left}.clients-table td{border-bottom:1px solid #dee2e6;padding:12px}.clients-table tr:hover{background:#f8f9fa}.no-data{color:#999;padding:40px!important}.status{border-radius:20px;font-weight:600;padding:4px 12px}.status.active{background:#d4edda}.status.inactive{background:#f8d7da}.status.pending{background:#fff3cd;color:#856404}.action-btn.edit{background:#3498db}.action-btn.edit:hover{background:#2980b9}.action-btn.delete{background:#e74c3c}.action-btn.delete:hover{background:#c0392b}.modal-content{max-width:500px}.modal-content .form-group,.modal-content h3{margin-bottom:20px}.modal-content label{color:#555;font-weight:500;margin-bottom:5px}.modal-content input,.modal-content select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.modal-content input:focus,.modal-content select:focus{border-color:#667eea;outline:none}.modal-actions{margin-top:25px}.sys-admin-dashboard{margin:0 auto;max-width:1200px}.sys-admin-dashboard h2{color:#2c3e50;margin-bottom:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;display:flex;gap:20px;padding:20px;transition:transform .2s}.stat-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.stat-icon{font-size:36px}.stat-content{flex:1 1}.stat-value{font-size:28px;font-weight:700}.stat-label{color:#7f8c8d;margin-top:5px}.dashboard-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}@media (max-width:768px){.dashboard-content{grid-template-columns:1fr}}.activity-section,.info-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:25px}.activity-section h3,.chart-section h3,.info-section h3{color:#2c3e50;font-size:18px;margin-bottom:20px;margin-top:0}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{grid-gap:10px;background:#f8f9fa;border-radius:6px;display:grid;font-size:14px;gap:10px;grid-template-columns:1fr 1fr auto;padding:12px}.activity-user{color:#2c3e50;font-weight:600}.activity-action{color:#555}.activity-time{color:#95a5a6;font-size:12px}.info-grid{display:flex;flex-direction:column;gap:15px}.info-item{border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:10px 0}.info-item:last-child{border-bottom:none}.info-label{color:#7f8c8d;font-weight:500}.info-value{color:#2c3e50;font-weight:600}.status-online{color:#27ae60}.chart-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:25px}.chart-placeholder{background:#f8f9fa;border-radius:6px;color:#95a5a6;font-size:16px;height:300px}.blockly-mapping-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.blockly-mapping-container{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:90vh;max-width:1400px;width:95%}.blockly-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.header-left{flex-direction:column;gap:5px}.blockly-header h2{font-size:1.5rem;font-weight:600;margin:0}.measure-info{font-size:.9rem;opacity:.9}.header-controls button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.load-btn{background-color:#2196f3;color:#fff}.load-btn:hover{background-color:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.save-btn{background-color:#4caf50}.save-btn:hover{background-color:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.clear-btn{background-color:#f44336;color:#fff}.clear-btn:hover{background-color:#d32f2f;box-shadow:0 4px 12px #f443364d;transform:translateY(-2px)}.generate-sql-btn{background-color:#ff9800;color:#fff}.generate-sql-btn:hover{background-color:#f57c00;box-shadow:0 4px 12px #ff98004d;transform:translateY(-2px)}.close-btn{background:#fff3;border-radius:6px;font-size:2rem;height:40px;width:40px}.close-btn:hover{background:#ffffff4d}.blockly-workspace{border-radius:0 0 12px 12px;flex:1 1;overflow:hidden}.status{animation:slideUp .3s ease-out;border-radius:6px;bottom:20px;font-weight:500;left:50%;padding:12px 24px;position:absolute;transform:translateX(-50%);z-index:10001}.status.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.confirm-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10002}.modal-content{animation:modalSlideUp .3s ease-out;background-color:#fff;box-shadow:0 10px 40px #0000004d;padding:0;width:400px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{font-size:18px;font-weight:600}.modal-body{color:#666;line-height:1.5}.modal-actions{border-top:1px solid #e0e0e0;padding:20px}.modal-btn{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.modal-btn.primary{background-color:#4caf50;border-color:#4caf50;color:#fff}.modal-btn.primary:hover{background-color:#45a049;transform:translateY(-2px)}.modal-btn.secondary{background-color:#f44336;border-color:#f44336;color:#fff}.modal-btn.secondary:hover{background-color:#d32f2f;transform:translateY(-2px)}.modal-btn.cancel{background-color:#fff;color:#333}.modal-btn.cancel:hover{background-color:#f5f5f5}.sql-modal{max-height:80vh;max-width:800px;width:90%}.sql-modal .modal-body{background-color:#f5f5f5;border-radius:4px;margin:10px 20px;max-height:50vh;overflow-y:auto;padding:20px}.sql-display{word-wrap:break-word;background-color:#1e1e1e;border:1px solid #333;border-radius:4px;box-shadow:inset 0 1px 3px #0003;color:#d4d4d4;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.6;margin:0;padding:20px;white-space:pre-wrap}.sql-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px}.sql-modal .modal-btn.primary{align-items:center;background-color:#4caf50;display:flex;gap:8px}.sql-modal .modal-btn.primary:hover{background-color:#45a049;box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.blocklyToolboxDiv{background-color:#f8f9fa!important;border-right:1px solid #e0e0e0}.blocklyTreeRow{border-radius:6px!important;margin:4px!important;padding:8px!important}.blocklyTreeRow:hover{background-color:#e8eaf6!important}.blocklyTreeSelected{background-color:#667eea!important;color:#fff!important}.blocklyTreeSelected .blocklyTreeLabel{color:#fff!important}.blocklyMainBackground{stroke:none!important;fill:#fafafa!important}.blocklyScrollbarBackground{fill:#f0f0f0!important}.blocklyScrollbarHandle{fill:#ccc!important}.blocklyScrollbarHandle:hover{fill:#999!important}.blocklyZoom{bottom:20px!important;right:20px!important}.blocklyZoom>image{opacity:.8}.blocklyZoom>image:hover{opacity:1}.blocklyDropDownDiv{background-color:#fff!important;border:1px solid #dadce0!important;border-radius:2px!important;box-shadow:0 0 6px 1px #0000004d!important;display:block!important;padding:4px!important;position:absolute!important;z-index:10005!important}.blocklyDropDownContent,.blocklyDropDownDiv{max-height:300px!important;overflow-y:auto!important}.blocklyDropDownArrow{background-color:inherit!important;border-color:inherit!important;height:16px!important;position:absolute!important;width:16px!important;z-index:10004!important}.file-management-controls{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;gap:15px;padding:15px 20px}.file-controls-label{color:#495057;font-weight:600;margin-right:10px}.file-load-btn,.file-load-prompt-btn,.file-save-btn{border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:8px 16px;transition:all .2s ease}.file-save-btn{background-color:#28a745;border-color:#28a745;color:#fff}.file-save-btn:hover{background-color:#218838;border-color:#218838;box-shadow:0 2px 6px #28a7454d;transform:translateY(-1px)}.file-load-btn{background-color:#007bff;border-color:#007bff;color:#fff}.file-load-btn:hover{background-color:#0056b3;border-color:#0056b3;box-shadow:0 2px 6px #007bff4d;transform:translateY(-1px)}.file-load-prompt-btn{background-color:#ffc107;border-color:#ffc107;color:#212529}.file-load-prompt-btn:hover{background-color:#e0a800;border-color:#d39e00;box-shadow:0 2px 6px #ffc1074d;transform:translateY(-1px)}.formula-editor-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111827bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.formula-editor-modal{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;height:90vh;max-height:900px;max-width:1400px;overflow:hidden;width:95vw}.formula-editor-header{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;justify-content:space-between;padding:20px 28px}.formula-editor-header h3{align-items:center;display:flex;font-size:1.4rem;font-weight:700;gap:10px;margin:0}.close-btn{font-size:22px;transition:transform .25s ease}.close-btn:hover{transform:rotate(90deg)}.formula-editor-content{background:#f9fafb;display:flex;flex:1 1;flex-direction:column;gap:24px;padding:28px}.editor-info{background:#fff;border-left:4px solid #6366f1;border-radius:12px;box-shadow:0 2px 4px #0000000a;color:#374151;font-size:14px;padding:16px 20px}.main-editor-section{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-areas:"formula-section operations-section" "measures-section measures-section";grid-template-columns:2fr 1fr;grid-template-rows:auto 1fr}.formula-section{grid-area:formula-section}.formula-editor-section label{color:#111827;display:block;font-weight:600;margin-bottom:10px}.textarea-container{position:relative}.formula-textarea{border:1px solid #d1d5db;border-radius:10px;font-family:JetBrains Mono,monospace;font-size:15px;line-height:1.6;min-height:140px;padding:14px;resize:vertical;transition:border-color .2s ease;width:100%}.formula-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133;outline:none}.formula-textarea.error{background:#fef2f2;border-color:#dc2626}.syntax-error-message{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px;margin-top:8px;padding:8px 12px}.suggestions-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:200px;max-width:300px;min-width:200px;overflow-y:auto;position:absolute;z-index:1000}.suggestion-item{cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 14px}.suggestion-item.selected,.suggestion-item:hover{background:#6366f1;color:#fff}.suggestion-type{background:#f3f4f6;border-radius:9999px;font-size:11px;padding:2px 8px}.operations-group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.operations-group h4{color:#111827;font-size:15px;font-weight:600;margin:0 0 12px}.operations-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(40px,1fr))}.operation-btn{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:8px 0;transition:background .2s ease,transform .1s ease}.operation-btn:hover{background:#6366f1;color:#fff;transform:translateY(-1px)}.measures-section{display:flex;flex-direction:column;gap:12px;grid-area:measures-section;width:100%}.measures-title{align-items:center;color:#111827;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0;padding:0}.measures-list{grid-gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);height:125px;overflow-x:hidden;overflow-y:auto;padding:20px;scrollbar-color:#6366f1 #e5e7eb;scrollbar-width:thin;width:100%}.measures-list::-webkit-scrollbar{width:8px}.measures-list::-webkit-scrollbar-track{background:#e5e7eb;border-radius:10px}.measures-list::-webkit-scrollbar-thumb{background:#6366f1;border-radius:10px}.measures-list::-webkit-scrollbar-thumb:hover{background:#4f46e5}.measure-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:70px;justify-content:space-between;min-width:0;padding:8px;transition:background .2s ease,transform .15s ease}.measure-item:hover{background:#6366f1;color:#fff;transform:translateY(-2px)}.measure-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.measure-type-badge{border-radius:9999px;color:#fff;display:inline-block;font-size:10px;font-weight:500;letter-spacing:-.02em;line-height:1;padding:2px 4px}.formula-editor-actions{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;padding:16px 20px}.file-management-actions{align-items:center;display:flex;gap:8px}.main-actions{align-items:center;display:flex;gap:10px}.formula-cancel-btn,.formula-save-btn{border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .2s ease,transform .1s ease}.formula-cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.formula-cancel-btn:hover{background:#e5e7eb}.formula-save-btn{background:#6366f1;border:none;color:#fff}.formula-save-btn:hover{background:#4f46e5;transform:translateY(-1px)}.formula-file-btn{border:1px solid;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;min-width:100px;padding:8px 16px;transition:all .2s ease}.formula-file-btn.save-to-file{background:#10b981;border-color:#10b981;color:#fff}.formula-file-btn.save-to-file:hover{background:#059669;border-color:#059669;transform:translateY(-1px)}.formula-file-btn.load-from-file{background:#3b82f6;border-color:#3b82f6;color:#fff}.formula-file-btn.load-from-file:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}@media (max-width:1024px){.main-editor-section{grid-template-areas:"formula-section" "operations-section" "measures-section";grid-template-columns:1fr}.measures-list{gap:10px;grid-template-columns:repeat(4,1fr);height:115px;padding:16px}.measure-item{height:65px;padding:6px}}@media (max-width:768px){.measures-list{gap:8px;grid-template-columns:repeat(3,1fr);height:105px;padding:14px}.measure-item{height:60px;padding:6px}.measure-type-badge{font-size:9px;padding:2px 3px}.measure-name{font-size:11px}}@media (max-width:480px){.measures-list{gap:6px;grid-template-columns:repeat(2,1fr);height:95px;padding:12px}.measure-item{height:55px;padding:5px}.measure-type-badge{font-size:8px;padding:1px 3px}.measure-name{font-size:10px;line-height:1.1}}.manage-measures{margin:0 auto;max-width:1200px}.measures-header{align-items:flex-start;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-info h2{color:var(--color-textPrimary);font-size:28px;margin:0 0 10px}.model-description{color:var(--color-textSecondary);font-style:italic;margin:0}.add-measure-btn{align-items:center;background:var(--color-success);border:none;border-radius:8px;color:var(--color-textOnPrimary);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.add-measure-btn:hover{background:var(--color-successHover);box-shadow:0 6px 20px var(--color-shadowMedium);transform:translateY(-2px)}.error-state,.loading-state{font-size:18px;padding:40px;text-align:center}.loading-state{color:var(--color-textMuted)}.error-state{border:2px solid var(--color-error);color:var(--color-error)}.error-state,.measures-content{background:var(--color-surface)}.measures-content{border:1px solid var(--color-border);border-radius:10px;box-shadow:0 2px 10px var(--color-shadowLight);overflow:hidden}.empty-state{color:#6c757d;padding:60px 40px}.empty-state h3{color:#495057}.measures-table-container{overflow-x:auto}.measures-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:15px 12px}.measures-table td{border-bottom:1px solid #ecf0f1;padding:15px 12px}.measure-name{align-items:center;display:flex;font-size:16px;gap:8px}.type-badge{color:#fff;font-size:10px;padding:4px 12px}.data-type-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 4px #667eea33;color:#fff;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.3px;padding:4px 12px}.measure-description{color:#6c757d;line-height:1.4;max-width:200px}.measure-calculation{background:#f8f9fa;border-radius:4px;color:#495057;font-family:Courier New,monospace;font-size:14px;padding:4px 8px}.measure-actions{display:flex;gap:8px}.costing-btn,.delete-btn,.edit-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .3s ease}.edit-btn{background:#3498db;color:#fff}.edit-btn:hover{background:#2980b9;transform:translateY(-1px)}.delete-btn{background:#e74c3c}.delete-btn:hover{background:#c0392b}.costing-btn{background:#9b59b6;color:#fff}.costing-btn:hover{background:#8e44ad;transform:translateY(-1px)}.modal-content h3{font-size:24px;margin-bottom:25px}.form-group label{color:#495057}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.input-error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.validation-error{align-items:center;color:#dc3545;display:flex;font-size:14px;gap:5px}.validation-error:before{content:"⚠️";font-size:12px}.input-hint{color:#6c757d;font-size:12px;font-style:italic;line-height:1.3;margin-top:4px}.form-group textarea{min-height:80px;resize:vertical}.datatype-select{border-color:#95a5a6}.measures-selection{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;max-height:200px;overflow-y:auto;padding:12px}.checkbox-label{color:#495057;transition:background .2s}.checkbox-label:hover{background:#667eea1a;padding-left:8px}.checkbox-label input[type=checkbox]{width:auto}.no-measures{color:#6c757d;font-style:italic;margin:0;text-align:center}.modal-actions{border-top:1px solid #ecf0f1;gap:12px;margin-top:30px;padding-top:20px}.cancel-btn{transition:background .3s}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);transition:all .3s}.submit-btn:hover{box-shadow:0 4px 15px #667eea4d}.submit-btn:disabled{background:#6c757d;color:#adb5bd;cursor:not-allowed;opacity:.6}.submit-btn:disabled:hover{background:#6c757d;box-shadow:none;transform:none}.drag-handle-col{text-align:center;width:80px}.drag-handle-cell{padding:10px 8px!important;position:relative;text-align:center}.drag-handle{border-radius:4px;color:#6c757d;cursor:grab;display:inline-block;font-size:16px;line-height:1;margin-bottom:4px;padding:4px 6px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.drag-handle:hover{background:#667eea1a;color:#667eea;transform:scale(1.1)}.drag-handle:active{background:#667eea33;cursor:grabbing;transform:scale(1.2)}.order-number{color:#9e9e9e;display:block;font-size:11px;line-height:1}.measure-row{position:relative}.measure-row.dragging{background:#fff;border:2px solid #667eea;border-radius:8px;box-shadow:0 8px 25px #00000026;transform:rotate(2deg);z-index:1000}.measure-row.dragging td{border-bottom:none}.measure-row.drop-animating{transition:all .3s cubic-bezier(.2,0,0,1)}.dragging-over{background:#667eea0d}.dragging-over .measure-row:not(.dragging){opacity:.7;transform:scale(.98)}.measures-table tbody:not(.dragging-over) .measure-row:hover{background:linear-gradient(135deg,#f8f9fa,#e3f2fd);box-shadow:0 2px 8px #0000001a;transform:translateX(2px)}.measures-table tbody:not(.dragging-over) .measure-row:hover .drag-handle{background:#667eea26;color:#667eea}.measures-table{position:relative}.measures-table tbody{transition:background-color .2s ease}.measure-row{border-left:3px solid #0000;transition:all .2s ease}.dragging-over .measure-row{border-left-color:#667eea4d}.dragging-over .measure-row:hover{background:#667eea1a;border-left-color:#667eea}.measures-table tbody.dragging-over{-webkit-user-select:none;user-select:none}.measure-row.reordering{opacity:.6;pointer-events:none}@keyframes dropSuccess{0%{background:#27ae6033;transform:scale(1.02)}to{background:#0000;transform:scale(1)}}.measure-row.drop-success{animation:dropSuccess .6s ease-out}@media (max-width:768px){.drag-handle-col{width:60px}.drag-handle{font-size:14px;padding:2px 4px}.order-number{font-size:10px}.measure-row.dragging{transform:rotate(1deg)}.measures-header{align-items:stretch;flex-direction:column;gap:20px}.add-measure-btn{align-self:flex-start}.measures-table{font-size:14px}.measures-table td,.measures-table th{padding:10px 8px}.measure-actions{flex-direction:column;gap:4px}.modal-content{margin:10px;padding:20px}.modal-actions{flex-direction:column;gap:8px}}.generate-data-modal{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e0e6ed;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;overflow:hidden;position:relative;resize:both}.modal-header{box-shadow:0 4px 20px #667eea4d;flex-shrink:0;padding:20px 30px}.modal-header h3{color:#fff;text-shadow:0 2px 4px #0000001a}.copy-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:6px;font-size:13px;padding:8px 16px}.copy-btn:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003}.close-btn{background:#ffffff26;border-radius:50%;font-size:16px;font-weight:600;height:32px;transition:all .3s ease;width:32px}.close-btn:hover{background:#ffffff40;transform:rotate(90deg) scale(1.1)}.generate-data-content{display:flex;flex:1 1;flex-direction:column;gap:15px;margin:0 30px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px 0}.generate-data-content::-webkit-scrollbar{width:8px}.generate-data-content::-webkit-scrollbar-track{background:linear-gradient(135deg,#f1f3f4,#e8eaed);border-radius:4px}.generate-data-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease}.generate-data-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6b4190);box-shadow:0 2px 8px #667eea4d}.dataframe-info{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px}.dataframe-info p{margin:8px 0}.dataframe-info strong{color:#495057}.dataframe-actions{background:linear-gradient(135deg,#f8f9fa,#e3f2fd);border:1px solid #e0e6ed;border-radius:10px;box-shadow:0 4px 15px #0000000d;display:flex;gap:20px;justify-content:center;margin:20px 0;padding:20px}.create-df-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-width:160px;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s ease}.create-df-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.create-df-btn:hover:not(:disabled):before{left:100%}.create-df-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 6px 25px #28a74566;transform:translateY(-2px) scale(1.02)}.create-df-btn:active:not(:disabled){box-shadow:0 2px 10px #28a7454d;transform:translateY(0) scale(1)}.create-df-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 2px 8px #6c757d33;color:#adb5bd;cursor:not-allowed;opacity:.6;transform:none}.drop-df-btn{background:linear-gradient(135deg,#dc3545,#e74c3c);border:none;border-radius:8px;box-shadow:0 4px 15px #dc35454d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-width:160px;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s ease}.drop-df-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.drop-df-btn:hover:not(:disabled):before{left:100%}.drop-df-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#d32f40);box-shadow:0 6px 25px #dc354566;transform:translateY(-2px) scale(1.02)}.drop-df-btn:active:not(:disabled){box-shadow:0 2px 10px #dc35454d;transform:translateY(0) scale(1)}.drop-df-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 2px 8px #6c757d33;color:#adb5bd;cursor:not-allowed;opacity:.6;transform:none}.resize-hint{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e0e6ed;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-top:auto;padding:15px;position:relative;text-align:center}.resize-hint:before{bottom:8px;content:"↘️";font-size:14px;opacity:.6;position:absolute;right:8px}@media (max-width:768px){.generate-data-modal{height:90vh!important;margin:10px;max-height:95vh!important;max-width:none!important;width:95%!important}.generate-data-content{margin:0 20px;padding:15px 0}.modal-header{margin:-20px -20px 0;padding:15px 20px}.modal-header h3{font-size:18px}.modal-header-controls{gap:8px}.copy-btn{font-size:12px;padding:6px 12px}.close-btn{font-size:14px;height:28px;width:28px}.dataframe-actions{flex-direction:column;gap:15px;padding:15px}.create-df-btn,.drop-df-btn{font-size:16px;padding:16px 20px;width:100%}.dataframe-controls{align-items:stretch;flex-direction:column;gap:12px;padding:12px 15px}.dataframe-info{min-width:auto}.row-limit-control{justify-content:space-between}.subquery-blocks-info{padding:15px}.subquery-block-item{gap:10px;padding:10px 12px}.dataframe-table{font-size:12px}.dataframe-header{min-width:120px}.header-content{padding:8px 10px}.filter-input{font-size:11px;padding:4px 8px}.dataframe-cell{font-size:12px;padding:8px 10px}.sql-statement-header{padding:12px 15px}.sql-statement-display{padding:15px}.sql-statement-display pre{font-size:12px;padding:12px}}@media (max-width:480px){.generate-data-modal{height:95vh!important;margin:5px;width:98%!important}.generate-data-content{margin:0 15px;padding:12px 0}.modal-header{margin:-15px -15px 0;padding:12px 15px}.modal-header h3{font-size:16px}.dataframe-actions{padding:12px}.create-df-btn,.drop-df-btn{font-size:15px;min-width:120px;padding:14px 16px}.subquery-block-item{align-items:flex-start;flex-direction:column;gap:8px}.sequence-badge{align-self:flex-start}}.cancel-btn,.submit-btn{width:100%}.sql-statement-section{background-color:#f8f9fa;border-radius:8px;margin:15px 0}.sql-statement-header{background-color:#e9ecef;padding:12px 15px;transition:background-color .2s ease}.sql-statement-header:hover{background-color:#dee2e6}.sql-statement-header h4{font-size:14px}.collapse-indicator{font-size:12px;transition:transform .2s ease}.sql-statement-display{background-color:#fff;overflow-x:auto;overflow-y:auto;padding:15px}.sql-statement-display pre{font-family:Courier New,Consolas,monospace;font-size:12px;line-height:1.4}.dataframe-indicator{opacity:.85;transition:all .3s ease}.dataframe-indicator:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))!important;opacity:1;transform:scale(1.1)}.measure-name>*{flex-shrink:0}.saved-indicator{color:#28a745;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:14px;margin-left:5px;opacity:.85;transition:all .3s ease;vertical-align:middle}.saved-indicator:hover{opacity:1;transform:scale(1.1)}.mapped-indicator{opacity:.85;transition:all .3s ease}.mapped-indicator:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));opacity:1;transform:scale(1.1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:.85;transform:scale(1)}}.dataframe-indicator,.mapped-indicator,.saved-indicator{animation:fadeInScale .3s ease-out}.subquery-blocks-info{background:linear-gradient(135deg,#e8f5e8,#f0f8ff);border:2px solid #4a90e2;border-radius:10px;box-shadow:0 4px 15px #4a90e21a;margin:15px 0;overflow:hidden;padding:20px;position:relative}.subquery-blocks-info:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#4a90e2,#667eea 50%,#4a90e2);background-size:200% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%,to{background-position:-200% 0}50%{background-position:200% 0}}.subquery-blocks-info h4{color:#2c5282;font-size:16px;font-weight:600;margin:0 0 10px}.subquery-info-message{color:#4a5568;font-size:14px;font-style:italic;margin:0 0 15px}.subquery-blocks-list{margin:10px 0}.subquery-block-item{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:15px;margin:8px 0;padding:12px 16px;transition:all .3s ease}.subquery-block-item:hover{background:linear-gradient(135deg,#f0f8ff,#e3f2fd);border-color:#4a90e2;box-shadow:0 4px 15px #4a90e226;transform:translateX(4px)}.sequence-badge{background:linear-gradient(135deg,#4a90e2,#667eea);border-radius:15px;box-shadow:0 2px 8px #4a90e24d;color:#fff;font-size:12px;font-weight:700;line-height:1;min-width:24px;padding:6px 10px;position:relative;text-align:center}.sequence-badge:after{background:#ffffff4d;border-radius:12px 12px 6px 6px;content:"";height:40%;left:1px;position:absolute;right:1px;top:1px}.block-name{color:#2d3748;flex:1 1;font-size:14px;font-weight:500}.block-type{background:linear-gradient(135deg,#38a169,#48bb78);border-radius:6px;box-shadow:0 2px 6px #38a1694d;color:#fff;font-size:10px;font-weight:700;letter-spacing:.8px;padding:4px 10px;text-transform:uppercase}.execution-order-note{background:linear-gradient(135deg,#4a90e214,#667eea1f);border-left:3px solid #4a90e2;border-radius:6px;color:#718096;font-size:13px;font-style:italic;margin:15px 0 0;padding:10px 15px}.dataframe-controls{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e0e6ed;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:15px 20px}.dataframe-info{min-width:300px}.dataframe-info p{color:#495057;font-weight:500;margin:0}.dataframe-info strong{color:#212529;font-weight:600}.row-limit-control label{color:#495057;font-weight:600}.row-limit-select{background:#fff;border:1px solid #ced4da;border-radius:6px;box-shadow:0 2px 4px #0000000d;font-weight:500;padding:8px 12px;transition:all .3s ease}.row-limit-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.dataframe-table-container{background:#fff;border-radius:8px;box-shadow:0 4px 15px #00000014;margin-bottom:15px;max-height:500px}.dataframe-table-container::-webkit-scrollbar{height:6px;width:6px}.dataframe-table-container::-webkit-scrollbar-track{background:#f1f3f4;border-radius:3px}.dataframe-table-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px}.dataframe-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6b4190)}.dataframe-table-container::-webkit-scrollbar-corner{background:#f1f3f4}.dataframe-table{background:#fff}.dataframe-header{background:linear-gradient(135deg,#667eea,#764ba2)}.header-content{padding:12px}.sort-btn{align-items:center;display:flex;justify-content:space-between}.sort-btn:hover{opacity:.9}.sort-indicator{margin-left:8px;opacity:.9}.filter-input{background:#fffffff2;margin-top:8px;padding:6px 10px;transition:all .3s ease}.filter-input:focus{box-shadow:0 0 0 2px #fffc}.filter-input::placeholder{color:#6c757d;font-style:italic}.dataframe-row{transition:all .2s ease}.dataframe-row:hover{background:linear-gradient(135deg,#e3f2fd,#e8f5e8);transform:scale(1.002)}.dataframe-cell{padding:10px 12px;transition:color .2s ease}.sql-statement-section{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #dee2e6;border-radius:10px;box-shadow:0 4px 15px #0000000d;margin:20px 0;overflow:hidden}.sql-statement-header{background:linear-gradient(135deg,#e9ecef,#f8f9fa);border-bottom:1px solid #dee2e6;cursor:pointer;padding:15px 20px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.sql-statement-header:hover{background:linear-gradient(135deg,#dee2e6,#e9ecef);transform:translateY(-1px)}.sql-statement-header h4{align-items:center;color:#495057;display:flex;font-size:15px;font-weight:600;justify-content:space-between;margin:0}.collapse-indicator{color:#6c757d;font-size:14px;transform-origin:center;transition:all .3s ease}.sql-statement-display{background:#fff;max-height:300px;overflow:auto;padding:20px}.sql-statement-display::-webkit-scrollbar{height:6px;width:6px}.sql-statement-display::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.sql-statement-display::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px}.sql-statement-display::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6b4190)}.sql-statement-display::-webkit-scrollbar-corner{background:#f8f9fa}.sql-statement-display pre{word-wrap:break-word;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:6px;color:#212529;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,monospace;font-size:13px;line-height:1.6;margin:0;padding:15px;white-space:pre-wrap}.sql-statement-display code{background:none;border:none;color:#495057;font-size:inherit;padding:0}.summary-section{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:15px 0;overflow:hidden}.summary-header{background-color:#e9ecef;border-bottom:1px solid #dee2e6;cursor:pointer;padding:12px 15px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.summary-header:hover{background-color:#dee2e6}.summary-header h4{align-items:center;color:#495057;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin:0}.summary-display{background-color:#fff;padding:15px}.summary-table{border-collapse:collapse;width:100%}.summary-table td{border-bottom:1px solid #f8f9fa;font-size:14px;padding:8px 12px}.summary-table td:first-child{color:#495057;width:40%}.summary-table td:last-child{color:#212529;font-weight:500}.summary-table tr:last-child td{border-bottom:none}.publish-profit-dataset{max-width:100%;padding:20px}.page-header{border-bottom:2px solid #e0e0e0;padding-bottom:20px}.page-header h1{color:#333}.controls-section{align-items:center;background:#f5f5f5;padding:15px}.controls-section .dataframe-selector{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;gap:10px;padding:10px 15px}.controls-section .dataframe-selector label{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.controls-section .dataframe-selector select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:200px;padding:6px 10px}.controls-section .dataframe-selector select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.profit-model-selector{align-items:center;display:flex;gap:10px}.profit-model-selector label{color:#333;font-weight:600}.profit-model-selector select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px;padding:8px 12px}.selection-info{align-items:center;display:flex;gap:15px}.selection-info span{color:#333;font-weight:500}.publish-btn{background:#4caf50;border-radius:4px;font-size:14px;padding:10px 20px;transition:background .3s}.publish-btn:hover{background:#45a049}.error-message{background:#ffebee;border-left:4px solid #c62828;color:#c62828;margin-bottom:20px}.loading-state{color:#666;padding:40px}.spinner{border-top-color:#3498db;display:inline-block;margin-bottom:10px}.filter-section{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;overflow:hidden}.filter-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px;transition:background .3s ease;-webkit-user-select:none;user-select:none}.filter-header:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6)}.filter-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.filter-toggle{color:#666;font-size:14px;transition:transform .3s ease}.filter-controls{border-top:1px solid #e9ecef;padding:20px}.filter-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.filter-input{display:flex;flex-direction:column;gap:8px}.filter-input label{color:#333;font-size:14px;font-weight:600}.filter-input input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.filter-input input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.filter-actions{display:flex;gap:10px;justify-content:flex-end}.apply-filters-btn,.clear-filters-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.apply-filters-btn{background:#2196f3;color:#fff}.apply-filters-btn:hover{background:#1976d2}.clear-filters-btn{background:#f5f5f5;border:1px solid #ddd;color:#333}.clear-filters-btn:hover{background:#e0e0e0}.dataset-actions-section{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 25px #667eea4d;margin-bottom:25px;padding:25px}.dataset-actions-header{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:15px;padding:15px 20px;transition:background .3s ease;-webkit-user-select:none;user-select:none}.dataset-actions-header:hover{background:#ffffff1a}.dataset-actions-header h3{color:#fff;font-size:18px;font-weight:700;margin:0}.actions-toggle{color:#fffc;font-size:16px;transition:transform .3s ease}.dataset-actions-content{padding:0 20px 20px}.actions-description{color:#ffffffe6;font-size:14px;font-weight:500;margin:0 0 20px;text-align:center}.dataset-actions-buttons{align-items:center;display:flex;flex-direction:column;gap:15px}.dataset-action-btn{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;letter-spacing:.3px;min-width:400px;overflow:hidden;padding:14px 28px;position:relative;text-transform:uppercase;transition:all .3s ease}.dataset-action-btn.backup-production{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a74566}.dataset-action-btn.publish-production,.dataset-action-btn.restore-production,.dataset-action-btn.unpublish-production,.dataset-action-btn.update-append{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 15px #dc354566}.dataset-action-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.dataset-action-btn:hover:before{left:100%}.dataset-action-btn.backup-production:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 8px 25px #28a74599;transform:translateY(-2px)}.dataset-action-btn.publish-production:hover,.dataset-action-btn.restore-production:hover,.dataset-action-btn.unpublish-production:hover,.dataset-action-btn.update-append:hover{background:linear-gradient(135deg,#c82333,#dc3545);box-shadow:0 8px 25px #dc354599;transform:translateY(-2px)}.dataset-action-btn:active{transform:translateY(-1px)}.dataset-action-btn.backup-production:active{box-shadow:0 6px 20px #28a74580}.dataset-action-btn.publish-production:active,.dataset-action-btn.restore-production:active,.dataset-action-btn.unpublish-production:active,.dataset-action-btn.update-append:active{box-shadow:0 6px 20px #dc354580}.dataset-action-btn:disabled{cursor:not-allowed;opacity:.6}.dataset-action-btn:disabled,.dataset-action-btn:disabled:hover{box-shadow:0 2px 8px #0000001a!important;transform:none!important}@media (max-width:768px){.controls-section{align-items:stretch;flex-direction:column;gap:15px}.controls-section .dataframe-selector{justify-content:center}.dataset-action-btn{font-size:14px;min-width:350px;padding:12px 24px}}.table-controls{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:15px 20px}.rows-per-page{align-items:center;display:flex;gap:12px}.rows-per-page label{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.rows-per-page select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .3s ease,box-shadow .3s ease}.rows-per-page select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.copy-data-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.copy-data-btn:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.dataset-table-container{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;max-height:600px;max-width:100%;overflow:auto;position:relative}.dataset-table-container::-webkit-scrollbar{height:12px;width:12px}.dataset-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}.dataset-table-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #f1f1f1;border-radius:6px}.dataset-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.dataset-table-container::-webkit-scrollbar-corner{background:#f1f1f1}.dataset-table-container:before{background:#667eeae6;border-radius:4px;color:#fff;content:"⟵ Scroll horizontally to see more columns ⟶";font-size:12px;font-weight:500;opacity:.8;padding:5px 10px;pointer-events:none;position:absolute;right:10px;top:10px;z-index:5}.dataset-table-container:hover:before{opacity:.6}.dataset-table{background:#fff;border-collapse:collapse;min-width:800px;table-layout:auto;width:100%}.dataset-table th,.dataset-table thead{background:#f5f5f5;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dataset-table th{border-bottom:2px solid #ddd;color:#333;font-weight:600;min-width:120px;padding:12px;text-align:left;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:#e8e8e8}.sort-indicator{color:#2196f3;margin-left:5px}.dataset-table td{border-bottom:1px solid #eee;color:#666;max-width:200px;min-width:120px;overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.dataset-table tbody tr:hover{background:#f9f9f9}.pagination-controls{background:#f5f5f5;border-radius:8px;gap:10px;justify-content:center;padding:20px}.pagination-controls button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:8px 15px;transition:background .3s}.pagination-controls button:hover:not(:disabled){background:#e0e0e0}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#333;font-weight:500;padding:0 20px}.empty-state{background:#f5f5f5;border-radius:8px;margin:20px 0}.empty-state h3{margin-bottom:10px}@media (max-width:768px){.filter-grid{grid-template-columns:1fr}.table-controls{align-items:stretch;flex-direction:column;gap:15px}.filter-actions,.rows-per-page{justify-content:center}.controls-section{align-items:stretch;flex-direction:column;gap:15px}.profit-model-selector{justify-content:center}.dataset-table-container{margin:0 -10px;max-height:400px}.dataset-table-container:before{content:"⟵ Scroll to see more ⟶";font-size:11px;padding:4px 8px}.dataset-table td,.dataset-table th{font-size:13px;min-width:100px;padding:8px 6px}}.dataframes-table-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.dataframes-table-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:20px}.dataframes-table-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.refresh-button{align-items:center;background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.refresh-button:hover{background:#1976d2;transform:translateY(-1px)}.dataframes-table-container{padding:20px}.dataframes-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px;position:-webkit-sticky;position:sticky;top:0}.dataframes-table td{border-bottom:1px solid #e0e0e0;padding:12px}.dataframes-table tbody tr:hover{background-color:#f8f9fa}.actions-cell{width:300px}.action-buttons{gap:6px}.action-btn{border:1px solid #0000;box-shadow:0 1px 3px #0000001a;display:inline-flex;font-size:13px;gap:6px;gap:4px;height:34px;letter-spacing:.3px;min-width:120px;white-space:nowrap}.backup-btn{background:linear-gradient(135deg,#ff9800,#ff6f00);border-color:#ff9800;color:#fff}.backup-btn:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);box-shadow:0 4px 12px #ff98004d;transform:translateY(-1px)}.restore-btn{background:linear-gradient(135deg,#9c27b0,#7b1fa2);border-color:#9c27b0;color:#fff}.restore-btn:hover:not(:disabled){background:linear-gradient(135deg,#7b1fa2,#6a1b9a);box-shadow:0 4px 12px #9c27b04d;transform:translateY(-1px)}.update-btn{background:linear-gradient(135deg,#2196f3,#1976d2);border-color:#2196f3;color:#fff}.update-btn:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.publish-btn{background:linear-gradient(135deg,#4caf50,#388e3c);border-color:#4caf50}.publish-btn:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#2e7d32);box-shadow:0 4px 12px #4caf504d;transform:translateY(-1px)}.unpublish-btn{background:linear-gradient(135deg,#f44336,#d32f2f);border-color:#f44336;color:#fff}.unpublish-btn:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 4px 12px #f443364d;transform:translateY(-1px)}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);border-color:#dc3545}.delete-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.export-btn{background:linear-gradient(135deg,#28a745,#218838);border-color:#28a745}.export-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.action-btn:active:not(:disabled){box-shadow:0 1px 3px #0003;transform:translateY(0)}.action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.no-dataframes-message{background:#f8f9fa;border:1px dashed #ddd;border-radius:6px;color:#666;padding:40px 20px;text-align:center}.no-dataframes-message p{font-size:16px;margin:0}@media (max-width:1024px){.action-buttons{flex-direction:column;gap:4px}.action-btn{font-size:11px;padding:4px 8px}.actions-cell{width:200px}}@media (max-width:768px){.dataframes-table-header{align-items:stretch;flex-direction:column;gap:15px}.refresh-button{align-self:center}.dataframes-table-container{overflow-x:auto;padding:10px}.dataframes-table{min-width:800px}.dataframes-table td,.dataframes-table th{font-size:13px;padding:8px}}.reports-container{background:#f8f9fa;margin:0 auto;max-width:1600px;padding:20px}.reports-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 25px #667eea4d;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.reports-header h1{font-size:32px;font-weight:700;margin:0 0 15px}.reports-header p{font-size:16px;margin:0;opacity:.9}.reports-controls{grid-gap:20px;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:25px;padding:25px}.control-group{gap:10px}.control-group label{font-size:14px;font-weight:600}.control-group select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .3s ease}.control-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.loading-state{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 20px;width:40px}.loading-state p{color:#666;font-size:16px;margin:0}.error-state{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:25px;padding:20px}.error-state p{font-weight:600;margin:0}.slicers-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;padding:25px}.filters-header{gap:10px;-webkit-user-select:none;user-select:none}.filters-header:hover{opacity:.8}.slicers-section h3{color:#333;font-size:20px;font-weight:600;margin:0 0 20px}.slicers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.slicer-control{display:flex;flex-direction:column;gap:8px}.slicer-control label{color:#333;font-size:14px;font-weight:600}.slicer-control select[multiple]{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;min-height:120px;padding:8px}.slicer-control select[multiple]:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;padding:25px}.dashboard-section h3{color:#333;font-size:24px;font-weight:600;margin:0 0 20px}.dashboard-section>p{color:#666;font-size:16px;margin:0 0 30px}.waterfall-chart-section{border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;margin-left:auto;margin-right:auto;min-width:600px;padding:25px;width:60%}.waterfall-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.waterfall-header h4{color:#333;font-size:18px;font-weight:600;margin:0}.normalization-dropdown{align-items:center;display:flex;gap:10px}.normalization-dropdown label{color:#555;font-size:14px;font-weight:600}.normalization-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .3s}.normalization-select:hover{border-color:#007bff}.normalization-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.waterfall-chart-container{height:50vh;max-height:600px;position:relative}.charts-grid-2x2{grid-gap:25px;display:grid;gap:25px;grid-template-columns:min(30vw,450px) min(30vw,450px);grid-template-rows:min(25vw,350px) min(25vw,350px);justify-content:center;margin-bottom:40px}@media (max-width:1024px){.charts-grid-2x2{grid-template-columns:80vw;grid-template-rows:auto;justify-content:center}.waterfall-chart-section{min-width:300px;padding:20px;width:90%}.waterfall-header{align-items:flex-start;flex-direction:column;gap:15px}.waterfall-chart-container{height:40vh;min-height:300px}}.chart-container{background:#f8f9fa;border:1px solid #e9ecef;box-sizing:border-box;display:flex;flex-direction:column;height:min(30vw,450px);position:relative;width:min(30vw,450px)}.chart-container h4{flex-shrink:0;font-size:14px;font-weight:600}.bar-container,.line-container{flex:1 1;height:100%;max-height:350px;min-height:160px}.data-table-section{border-top:2px solid #e9ecef;margin-top:40px;padding-top:30px}.data-table-section h4{color:#333;font-size:20px;font-weight:600;margin:0 0 20px}.data-table-container{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:15px;max-height:500px;overflow:auto}.data-table{border-collapse:collapse;font-size:13px;min-width:800px;width:100%}.data-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table th{border-bottom:2px solid #dee2e6;color:#333;font-size:12px;font-weight:600;padding:12px 10px;text-align:left;white-space:nowrap}.data-table td{border-bottom:1px solid #eee;color:#555;max-width:150px;overflow:hidden;padding:10px;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr:hover{background:#f8f9fa}.table-note{color:#666;font-size:14px;font-style:italic;margin:0;text-align:center}.empty-state{box-shadow:0 4px 15px #0000001a;margin-bottom:25px}.empty-state h3{color:#666;font-size:24px}.empty-state p{color:#999;font-size:16px;line-height:1.5;margin:0}@media (max-width:768px){.reports-container{padding:15px}.reports-header{padding:20px}.reports-header h1{font-size:24px}.reports-controls{padding:20px}.reports-controls,.slicers-grid{grid-template-columns:1fr}.charts-grid-2x2{gap:15px}.chart-container{height:80vw;max-height:400px;max-width:400px;padding:12px;width:80vw}.chart-container h4{font-size:12px;margin-bottom:8px}.bar-container,.line-container{min-height:180px}.data-table-container{margin:0 -15px}.data-table td,.data-table th{font-size:11px;padding:8px 6px}}.work-in-progress{align-items:center;display:flex;justify-content:center;padding:40px 20px}.wip-content{background:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001a;max-width:500px;padding:60px 40px;text-align:center;width:100%}.wip-icon{display:block;font-size:80px;margin-bottom:20px}.wip-content h2{color:#333;font-size:28px;font-weight:600;margin:0 0 20px}.wip-content p{color:#666;font-size:16px;line-height:1.6;margin:0 0 15px}.wip-content p:last-child{margin-bottom:0}.comprehensive-dashboard{margin-top:20px}.filters-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;overflow:hidden}.filters-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;justify-content:space-between;padding:20px 25px}.filters-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.collapse-icon{color:#666;font-size:16px}.filters-section.collapsed .filters-content{display:none}.filters-content{padding:25px}.filter-group{margin-bottom:20px}.filter-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.filter-group select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 12px;transition:border-color .3s ease;width:100%}.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-group select[multiple]{min-height:100px}.additional-filters{grid-gap:20px;border-top:1px solid #e9ecef;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px;padding-top:20px}.measures-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:25px}.measure-column{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;padding:20px}.measure-column h4{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#333;font-size:16px;font-weight:600;margin:0 0 20px;padding:10px;text-align:center}.measure-section{border-bottom:1px solid #f1f1f1;margin-bottom:25px;padding-bottom:15px}.measure-section:last-child{border-bottom:none;margin-bottom:0}.measure-card{background:#f8f9fa;flex-direction:column;margin-bottom:15px;min-height:120px;text-align:center}.measure-card h5{word-wrap:break-word;color:#333;font-size:13px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;margin:0 0 10px}.measure-value{word-wrap:break-word;font-size:18px;font-weight:700;line-height:1.1;margin-bottom:8px}.period-change{align-items:center;display:flex;font-size:14px;font-weight:600;gap:4px;justify-content:center}.period-change.favorable{color:#28a745}.period-change.unfavorable{color:#dc3545}.change-arrow{font-size:16px;font-weight:700}.change-value{font-size:13px}.trend-chart{margin-bottom:15px}.pie-chart,.trend-chart{background:#fff;border:1px solid #e9ecef;border-radius:6px;height:200px;padding:10px}.dashboard-header{margin-bottom:30px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.header-text h1{color:#333;font-size:28px;font-weight:700;margin:0 0 10px}.header-text p{color:#666;font-size:16px;margin:0}.header-controls{flex-wrap:wrap;gap:20px}.basis-dropdown-container{align-items:center;display:flex;gap:10px}.basis-label{color:#555;font-size:14px;font-weight:600;white-space:nowrap}.basis-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px;transition:border-color .3s}.basis-select:focus,.basis-select:hover{border-color:#007bff}.basis-select:focus{box-shadow:0 0 0 3px #007bff1a;outline:none}.export-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .3s ease;white-space:nowrap}.export-btn:hover{background:#218838}.measure-card.clickable{cursor:pointer;transition:all .3s ease}.measure-card.clickable:hover{background:#e9ecef;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.modal-overlay{padding:20px}.modal-content{box-shadow:0 20px 60px #0000004d;max-width:800px;overflow:hidden;width:100%}.modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:20px 25px}.modal-header h3{font-weight:600}.modal-close{transition:all .2s ease}.modal-close:hover{background:#e9ecef;color:#333}.modal-chart{height:400px;padding:25px;position:relative}.retry-btn{background:#667eea;font-weight:600;transition:background-color .3s ease}.retry-btn:hover{background:#5a6fd8}@media (max-width:1200px){.measures-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.measures-grid{gap:15px;grid-template-columns:1fr}.measure-column{padding:15px}.measure-card{min-height:100px;padding:12px}.measure-card h5{font-size:12px}.measure-value{font-size:16px}.period-change{font-size:12px}.pie-chart,.trend-chart{height:150px}}@media (max-width:480px){.measures-grid{grid-template-columns:1fr}.measure-card{min-height:90px;padding:10px}.measure-value{font-size:14px}.period-change{font-size:11px}}.data-table-container::-webkit-scrollbar{height:8px;width:8px}.data-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.data-table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.data-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.control-group-container{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.measure-selector-container{display:flex;flex-direction:column;gap:5px;position:relative}.measure-selector-label{color:#555;font-size:14px;font-weight:600;white-space:nowrap}.measure-selector-dropdown{position:relative}.measure-selector-toggle{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:10px;justify-content:space-between;min-width:180px;padding:8px 12px;transition:border-color .3s;white-space:nowrap}.measure-selector-toggle:hover{border-color:#007bff}.measure-selector-toggle:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.dropdown-arrow{color:#666;font-size:12px;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.measure-selector-options{background:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.measure-selector-header{background:#f8f9fa;border-bottom:1px solid #eee;display:flex;gap:10px;padding:10px}.clear-all-btn,.select-all-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.select-all-btn:hover{background:#28a745;border-color:#28a745;color:#fff}.clear-all-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff}.measure-selector-groups{padding:5px 0}.measure-group{border-bottom:1px solid #f1f1f1}.measure-group:last-child{border-bottom:none}.measure-group-title{background:#f8f9fa;color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 15px 5px;text-transform:uppercase}.measure-option{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 15px;transition:background-color .2s}.measure-option:hover{background:#f8f9fa}.measure-option input[type=checkbox]{cursor:pointer;margin:0}.measure-option span{color:#333;cursor:pointer;flex:1 1;-webkit-user-select:none;user-select:none}.model-selection{border-left:none!important}.profit-models-dropdown-selection{border:none;border-left:none!important}.profit-models-dropdown-selection .dropdown-container{border:none}.measures-grid.compact-layout{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:25px}.compact-layout .measure-column{padding:15px}.compact-layout .measure-column h4{font-size:14px;margin-bottom:15px;padding:8px}.compact-layout .measure-card{margin-bottom:12px;min-height:100px;padding:12px}.compact-layout .measure-card h5{font-size:12px;margin-bottom:8px}.compact-layout .measure-value{font-size:16px;margin-bottom:6px}.compact-layout .period-change{font-size:12px}@media (max-width:1400px){.measures-grid.compact-layout{gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.compact-layout .measure-card{min-height:95px;padding:11px}.compact-layout .measure-value{font-size:15px}}@media (max-width:1200px){.measures-grid.compact-layout{gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.compact-layout .measure-column{padding:12px}.compact-layout .measure-card{min-height:90px;padding:10px}.compact-layout .measure-value{font-size:14px}}@media (max-width:992px){.control-group-container{align-items:flex-start;flex-direction:column;gap:15px}.measures-grid.compact-layout{gap:15px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:768px){.measures-grid.compact-layout{gap:12px;grid-template-columns:1fr}.measure-selector-toggle{font-size:13px;min-width:160px}.compact-layout .measure-card{min-height:85px;padding:9px}.compact-layout .measure-value{font-size:13px}.compact-layout .period-change{font-size:11px}}.profit-summary-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;margin-left:auto;margin-right:auto;min-width:900px;overflow-x:auto;padding:25px;width:90%}.profit-summary-header{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:20px;padding:10px;transition:background-color .2s ease}.profit-summary-header:hover{background-color:#f8f9fa}.profit-summary-header h3{align-items:center;color:#333;display:flex;font-size:20px;font-weight:600;gap:10px;margin:0}.profit-summary-toggle{background:none;border:none;color:#666;cursor:pointer;font-size:16px;transition:transform .2s ease}.profit-summary-toggle.collapsed{transform:rotate(-90deg)}.profit-summary-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.profit-summary-content.collapsed{max-height:0;opacity:0}.profit-summary-content.expanded{max-height:2000px;opacity:1}.profit-summary-loading{color:#666;font-style:italic;padding:40px;text-align:center}.profit-summary-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:20px;padding:15px}.profit-summary-table-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:15px;overflow-x:auto}.profit-summary-table{background:#fff;border-collapse:collapse;min-width:800px;width:100%}.profit-summary-table th{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #5a6fd8;color:#fff;font-size:14px;font-weight:600;padding:15px 12px;text-align:right}.profit-summary-table th:first-child{background:linear-gradient(135deg,#4a5568,#2d3748);text-align:left}.profit-summary-table td{border-bottom:1px solid #e2e8f0;font-size:13px;padding:12px;text-align:right;transition:background-color .2s ease}.profit-summary-table td:first-child{color:#2d3748;font-weight:500;text-align:left}.profit-summary-table tbody tr:hover{background-color:#f8fafc}.profit-summary-table tbody tr:nth-child(2n){background-color:#f7fafc}.profit-summary-table tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.profit-summary-table .grand-total-row{background:linear-gradient(135deg,#e6fffa,#b2f5ea)!important;border-top:2px solid #38b2ac;font-weight:600}.profit-summary-table .grand-total-row:hover{background:linear-gradient(135deg,#d6f5f5,#9ae6e2)!important}.profit-summary-table .grand-total-row td{border-bottom:none;color:#234e52;font-weight:600}.profit-summary-no-data{background-color:#f8f9fa;border-radius:8px;color:#666;font-style:italic;padding:40px;text-align:center}.report-administration{background:#f8f9fa;margin:0 auto;max-width:1400px;padding:10px}.page-header{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:15px;padding:12px}.page-header h1{font-size:1.8em;margin-bottom:5px}.page-header p{color:#7f8c8d;font-size:1.1em}.error-container,.loading-container{font-size:1.2em;padding:50px;text-align:center}.error-container{color:#e74c3c}.profit-model-selection{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:15px}.profit-model-selection h2{color:#2c3e50;margin-bottom:15px}.profit-model-selection p{color:#7f8c8d;margin-bottom:25px}.model-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.model-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;padding:12px;transition:transform .2s ease,box-shadow .2s ease}.model-card:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.model-name{font-size:1.3em;margin-bottom:8px}.model-description{font-size:.95em;opacity:.9}.views-management{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:15px}.management-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.management-header h2{color:#2c3e50;margin-bottom:10px}.back-btn{background:#95a5a6;border:none;border-radius:5px;color:#fff;font-size:.9em;padding:8px 15px;transition:background .2s ease}.back-btn:hover{background:#7f8c8d}.create-first-view-btn,.create-view-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:6px;box-shadow:0 3px 10px #2ecc714d;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:transform .2s ease,box-shadow .2s ease}.create-first-view-btn:hover,.create-view-btn:hover{box-shadow:0 5px 15px #2ecc7166;transform:translateY(-1px)}.views-table-container{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.views-table{background:#fff;border-collapse:collapse;width:100%}.views-table th{background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff;font-size:.9em;font-weight:600;padding:10px;text-align:left}.views-table td{border-bottom:1px solid #ecf0f1;font-size:.9em;padding:8px}.views-table tr:hover{background:#f8f9fa}.view-name{color:#2c3e50;font-weight:600}.status-badge{border-radius:15px;font-size:.85em}.actions{display:flex;gap:5px}.action-btn{background:none;font-size:1.1em;padding:5px 8px;transition:background .2s ease}.action-btn:hover{background:#ecf0f1}.no-views{color:#7f8c8d;padding:60px 20px;text-align:center}.no-views p{font-size:1.1em;margin-bottom:20px}.view-creation{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:15px}.creation-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.creation-header h2{color:#2c3e50;margin:0}.cancel-btn{background:#e74c3c;border-radius:5px;padding:10px 18px;transition:background .2s ease}.cancel-btn:hover{background:#c0392b}.step-indicator{display:flex;justify-content:center;margin-bottom:20px}.step{align-items:center;display:flex;flex-direction:column;margin:0 15px;padding:8px;position:relative}.step:not(:last-child):after{background:#bdc3c7;content:"";height:2px;position:absolute;right:-40px;top:15px;width:80px;z-index:1}.step.active:not(:last-child):after{background:#3498db}.step-number{align-items:center;background:#bdc3c7;border-radius:50%;color:#fff;display:flex;font-weight:600;height:30px;justify-content:center;margin-bottom:8px;position:relative;width:30px;z-index:2}.step.active .step-number{background:#3498db}.step-label{color:#7f8c8d;font-size:.9em;font-weight:500}.step.active .step-label{color:#2c3e50;font-weight:600}.step-content{background:#f8f9fa;border-radius:10px;margin-bottom:15px;padding:15px}.step-content h3{color:#2c3e50;font-size:1.2em;margin-bottom:10px}.step-content p{color:#7f8c8d;font-size:.9em;margin-bottom:15px}.form-group label{color:#2c3e50;font-weight:600;margin-bottom:8px}.view-name-input{border:2px solid #bdc3c7;border-radius:6px;font-size:1em;max-width:400px;padding:12px;transition:border-color .2s ease;width:100%}.view-name-input:focus{border-color:#3498db;outline:none}.view-name-input.error{border-color:#e74c3c}.input-help{color:#7f8c8d;font-size:.85em;margin-top:5px}.validation-error{color:#e74c3c;font-size:.9em;font-weight:500;margin-top:5px}.dimensions-selection{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.available-dimensions h4,.selected-dimensions h4{color:#2c3e50;font-size:1.2em;margin-bottom:15px}.dimensions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dimension-card{background:#fff;border:2px solid #ecf0f1;border-radius:8px;box-shadow:0 2px 5px #0000001a;cursor:pointer;padding:15px;transition:all .2s ease}.dimension-card:hover{border-color:#3498db;box-shadow:0 4px 10px #00000026;transform:translateY(-1px)}.dimension-card.selected{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-color:#27ae60}.dimension-name{color:#2c3e50;font-weight:600;margin-bottom:5px}.dimension-type{color:#7f8c8d;font-size:.85em}.dimensions-list{space-y:15px}.selected-dimension{background:#fff;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:15px;padding:15px}.dimension-info{gap:10px;margin-bottom:10px}.dimension-info .dimension-name{color:#2c3e50;font-weight:600}.dimension-info .dimension-type{color:#7f8c8d;font-size:.9em}.number-format-selector{margin-top:10px}.number-format-selector label{color:#2c3e50;font-size:.9em;margin-bottom:5px}.number-format-selector select{border:1px solid #bdc3c7;border-radius:4px;font-size:.9em;padding:8px}.measures-selection{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.available-measures h4,.selected-measures h4{color:#2c3e50;font-size:1.2em;margin-bottom:15px}.measures-list{space-y:10px}.measure-card{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:8px;box-shadow:0 2px 5px #0000001a;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:all .2s ease}.measure-card:hover{border-color:#3498db;box-shadow:0 4px 10px #00000026;transform:translateY(-1px)}.measure-card.selected{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-color:#27ae60}.measure-info{gap:5px}.measure-name{font-weight:600}.measure-type{color:#7f8c8d;font-size:.85em}.measure-format{background:#ecf0f1;border-radius:4px;color:#2c3e50;font-size:.85em;padding:4px 8px}.measures-config{space-y:20px}.selected-measure{background:#fff;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:20px;padding:20px}.measure-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.measure-name-order{align-items:center;display:flex;gap:10px}.order-number{align-items:center;background:#3498db;display:flex;font-size:.85em;justify-content:center}.measure-name-order .measure-name{color:#2c3e50;font-weight:600}.measure-controls{gap:5px}.move-btn{background:#bdc3c7;border:none;border-radius:4px;font-size:1.1em;height:30px;transition:background .2s ease;width:30px}.move-btn:hover:not(:disabled){background:#95a5a6}.move-btn:disabled{opacity:.5}.measure-config{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:1fr auto}.basis-config label,.format-config label{color:#2c3e50;display:block;font-size:.9em;margin-bottom:5px}.format-select{border:1px solid #bdc3c7;border-radius:4px;font-size:.9em;min-width:150px;padding:8px}.basis-config label{align-items:center;cursor:pointer;display:flex;gap:8px}.basis-config input[type=checkbox]{margin:0}.view-summary{background:#fff;border:1px solid #ecf0f1;border-radius:10px;padding:25px}.summary-section{border-bottom:1px solid #ecf0f1;margin-bottom:25px;padding-bottom:20px}.summary-section:last-child{border-bottom:none;margin-bottom:0}.summary-section h4{color:#2c3e50;font-size:1.1em;margin-bottom:12px}.summary-value{background:#e8f5e8;border-radius:6px;color:#27ae60;display:inline-block;font-size:1.2em;font-weight:600;padding:10px 15px}.summary-list{space-y:8px}.summary-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.format-info{color:#7f8c8d;font-size:.85em}.basis-indicator{background:#3498db;border-radius:12px;color:#fff;font-size:.75em;font-weight:600;padding:2px 8px}.step-actions{border-top:1px solid #ecf0f1;display:flex;justify-content:space-between;margin-top:15px;padding-top:10px}.next-btn,.prev-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;padding:8px 16px;transition:all .2s ease}.prev-btn{background:#95a5a6;color:#fff}.prev-btn:hover{background:#7f8c8d}.next-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.next-btn:hover{box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.next-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.save-btn{background:linear-gradient(135deg,#27ae60,#2ecc71)}.save-btn:hover{box-shadow:0 4px 12px #27ae604d;transform:translateY(-1px)}.save-btn:disabled{background:#bdc3c7}.dimensions-dual-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 60px 1fr}.available-dimensions-section,.selected-dimensions-section{display:flex;flex-direction:column}.available-dimensions-section h4,.selected-dimensions-section h4{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2em;margin-bottom:15px;padding-bottom:10px}.dimension-category{margin-bottom:20px}.dimension-category h5{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3498db;border-radius:6px;color:#34495e;font-size:1em;margin-bottom:10px;padding:8px 12px}.dimension-list{background:#fff;border:2px solid #ecf0f1;border-radius:8px;min-height:120px;overflow-y:visible;padding:3px}.dimension-row{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:6px;justify-content:space-between;margin:2px 0;padding:6px 8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.dimension-row:hover{background:#f8f9fa;border-left:3px solid #3498db}.dimension-row.selected{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-left:4px solid #2196f3;box-shadow:0 2px 4px #2196f333}.dimension-label{color:#2c3e50;flex:1 1;font-size:.95em;font-weight:500}.dimension-data-type{color:#7f8c8d;font-size:.8em;font-style:italic;margin-right:8px}.dimension-type-badge{border-radius:12px;font-size:.75em;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.dimension-type-badge.ref-key{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1px solid #27ae60;color:#27ae60}.dimension-type-badge.attribute{background:linear-gradient(135deg,#fff3e0,#fff8f0);border:1px solid #f39c12;color:#f39c12}.move-buttons{flex-direction:column;gap:15px}.move-btn,.move-buttons{align-items:center;display:flex;justify-content:center}.move-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:2px solid #3498db;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;height:45px;transition:all .3s ease;width:50px}.move-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 4px 8px #3498db4d;transform:translateY(-2px)}.move-btn:disabled{background:#bdc3c7;border-color:#bdc3c7;cursor:not-allowed;opacity:.6}.dimension-formats{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:15px}.dimension-formats h5{color:#2c3e50;font-size:.95em;margin-bottom:15px}.format-setting{align-items:center;display:flex;gap:15px;margin-bottom:10px}.format-setting label{color:#2c3e50;font-size:.9em;font-weight:500;min-width:120px}.format-setting .format-select{border:1px solid #ced6e0;border-radius:4px;font-size:.85em;min-width:140px;padding:6px 10px}.dimension-row-with-format{border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:6px;margin:2px 0;padding:6px 8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.dimension-row-with-format:hover{background:#f8f9fa;border-left:3px solid #3498db}.dimension-row-with-format.selected{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-left:4px solid #2196f3;box-shadow:0 2px 4px #2196f333}.dimension-info{align-items:center;display:flex;gap:8px;justify-content:space-between}.dimension-format-controls{align-items:center;border-top:1px solid #e9ecef;display:flex;gap:10px;margin-top:4px;padding-left:8px;padding-top:8px}.format-select-inline{background:#fff;border:1px solid #ced6e0;border-radius:4px;font-size:.8em;min-width:180px;padding:4px 8px}.format-select-inline:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.measures-dual-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 60px 1fr}.available-measures-section,.selected-measures-section{display:flex;flex-direction:column}.available-measures-section h4,.selected-measures-section h4{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3498db;border-radius:6px;color:#2c3e50;font-size:1.1em;margin-bottom:15px;padding:8px 12px}.measure-category{margin-bottom:20px}.measure-category h5{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3498db;border-radius:6px;color:#34495e;font-size:1em;margin-bottom:10px;padding:8px 12px}.dimension-type-badge.independent{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1px solid #27ae60;color:#27ae60}.dimension-type-badge.subtotal{background:linear-gradient(135deg,#fff3e0,#fff8f0);border:1px solid #f39c12;color:#f39c12}.dimension-type-badge.variable{background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border:1px solid #3498db;color:#3498db}.dimension-type-badge.total{background:linear-gradient(135deg,#fde8e8,#fff0f0);border:1px solid #e74c3c;color:#e74c3c}.dimension-type-badge.variable-profit{background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border:1px solid #3498db;color:#3498db}.dimension-type-badge.total-profit{background:linear-gradient(135deg,#fde8e8,#fff0f0);border:1px solid #e74c3c;color:#e74c3c}.basis-checkbox{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:.85em;gap:6px;margin-left:12px}.basis-checkbox input[type=checkbox]{cursor:pointer;margin:0}@media (max-width:768px){.report-administration{padding:15px}.model-grid{grid-template-columns:1fr}.dimensions-selection,.measures-selection{gap:20px;grid-template-columns:1fr}.dimensions-dual-list{gap:15px;grid-template-columns:1fr}.move-buttons{flex-direction:row;justify-content:center;order:2}.available-dimensions-section{order:1}.selected-dimensions-section{order:3}.dimensions-grid{grid-template-columns:1fr}.step-indicator{flex-direction:column;gap:15px}.step:not(:last-child):after{display:none}.management-header{flex-direction:column;gap:15px}.step-actions{flex-direction:column;gap:10px}.measure-config{gap:15px;grid-template-columns:1fr}}@media (max-width:480px){.views-table-container{overflow-x:auto}.views-table{min-width:600px}}.global-formatting-controls{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:12px;padding:10px}.global-format-row{align-items:center;display:flex;gap:30px}.global-format-group{align-items:center;display:flex;gap:10px}.global-format-label{color:#495057;font-size:14px;font-weight:600;white-space:nowrap}.global-format-select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:200px;padding:6px 12px}.global-format-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.validation-status{border:2px solid;border-radius:8px;margin-bottom:25px;padding:15px}.validation-status.valid{background-color:#d4edda;border-color:#28a745;color:#155724}.validation-status.invalid{background-color:#f8d7da;border-color:#dc3545;color:#721c24}.validation-status h4{font-size:16px;margin:0 0 10px}.validation-errors{margin-top:10px}.validation-errors p{font-weight:600;margin:0 0 8px}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{line-height:1.4;margin-bottom:5px}.save-as-btn{background:#17a2b8!important;color:#fff!important}.save-as-btn:hover{background:#138496!important;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.clone-help{background:#e7f3ff;border:1px solid #b8daff;border-radius:4px;color:#004085;font-size:14px;font-weight:500;margin-top:8px;padding:8px 12px}.waterfall-step{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px}.waterfall-step h3{color:#2c3e50;font-size:1.5em;margin-bottom:10px}.waterfall-step p{color:#7f8c8d;font-size:1.1em;margin-bottom:20px}.waterfall-configuration{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:20px}.waterfall-section-left,.waterfall-section-right{padding:20px}.waterfall-section,.waterfall-section-left,.waterfall-section-right{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px}.waterfall-section h4{color:#2c3e50;font-size:1.2em;font-weight:600;margin-bottom:10px}.waterfall-section p{color:#6c757d;font-size:.95em;line-height:1.4;margin-bottom:15px}.waterfall-measures-list{background:#fff;border:2px solid #e9ecef;border-radius:8px;max-height:300px;overflow-y:auto;padding:10px}.waterfall-measure-item{border-radius:6px;margin:4px 0;padding:8px 10px;transition:all .2s ease}.waterfall-measure-item:hover{background:#f8f9fa}.waterfall-checkbox{align-items:center;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.waterfall-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.waterfall-checkbox .measure-name{color:#2c3e50;flex:1 1;font-weight:500}.waterfall-checkbox .measure-format{color:#7f8c8d;font-size:.8em;font-style:italic}.waterfall-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:15px}.waterfall-summary-group{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:15px}.waterfall-summary-group h5{color:#2c3e50;font-size:1.1em;font-weight:600;margin-bottom:10px}.waterfall-measures-ordered-list{background:#fff;border:2px solid #e9ecef;border-radius:8px;min-height:250px;overflow-y:auto;padding:10px}.waterfall-measure-item.ordered{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:grab;display:flex;gap:12px;margin:6px 0;padding:12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.waterfall-measure-item.ordered:hover{background:#f8f9fa;border-color:#007bff;box-shadow:0 2px 4px #007bff33}.waterfall-measure-item.ordered:active{cursor:grabbing}.waterfall-measure-item.ordered.dragging{opacity:.5;transform:rotate(2deg)}.measure-order-number{align-items:center;background:#007bff;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.measure-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.measure-info .measure-name{color:#2c3e50;font-size:14px;font-weight:500}.measure-info .measure-format{color:#7f8c8d;font-size:12px;font-style:italic}.measure-controls{align-items:center;display:flex;gap:4px}.order-btn,.remove-btn{align-items:center;background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.order-btn:hover:not(:disabled){background:#007bff;border-color:#007bff;color:#fff}.order-btn:disabled{background:#f8f9fa;color:#ced4da;cursor:not-allowed}.remove-btn{background:#dc3545;border-color:#dc3545;color:#fff}.remove-btn:hover{background:#c82333;border-color:#c82333}.empty-waterfall-list{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.empty-waterfall-list p{font-size:14px;margin:5px 0}.waterfall-basis-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;margin-top:20px;padding:20px}.waterfall-basis-section h4{color:#2c3e50;font-size:1.2em;font-weight:600;margin-bottom:10px}.waterfall-basis-section p{color:#6c757d;font-size:.95em;line-height:1.4;margin-bottom:15px}.waterfall-basis-list{grid-gap:8px;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:10px}.waterfall-measure-item.basis{border-radius:6px;padding:8px 10px;transition:all .2s ease}.waterfall-measure-item.basis:hover{background:#f8f9fa}.waterfall-measure-item.available{border-radius:6px;padding:8px 10px;transition:all .2s ease}.waterfall-measure-item.available:hover{background:#e8f4f8}.summary-item.empty{color:#6c757d;font-size:14px;font-style:italic}.date-calendar-widget{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;font-family:Arial,sans-serif;gap:10px;padding:10px}.calendar-controls{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.year-selector{align-items:center;display:flex;gap:8px}.year-selector label{color:#333;font-size:14px;font-weight:600}.year-dropdown{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.year-dropdown:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.calendar-actions{display:flex;gap:8px}.btn-clear-all,.btn-select-all{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.btn-select-all:hover{background-color:#e7f3ff;border-color:#007bff;color:#007bff}.btn-clear-all:hover{background-color:#fff5f5;border-color:#dc3545;color:#dc3545}.btn-clear-all:disabled,.btn-select-all:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.5}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);padding:10px 0}.calendar-month{background:#fff;border:2px solid #e9ecef;border-radius:6px;flex-direction:column;min-height:50px;padding:12px 8px}.calendar-month.available{background-color:#f8fff9;border-color:#28a745}.calendar-month.available:hover{background-color:#e8f5e8;border-color:#20c997;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.calendar-month.selected{background-color:#e7f3ff;border-color:#007bff}.calendar-month.selected:hover{background-color:#cce7ff;border-color:#0056b3}.calendar-month.disabled{background-color:#f8f9fa;border-color:#dee2e6;color:#6c757d;opacity:.6}.month-name{color:inherit;font-size:14px;font-weight:500}.selected-indicator{color:#007bff;font-size:12px;font-weight:700;position:absolute;right:4px;top:4px}.range-indicator{background:#ffffffe6;border-radius:2px;font-size:8px;font-weight:700;padding:1px 2px;position:absolute;top:2px}.range-indicator.start{border:1px solid #28a745;color:#28a745;left:2px}.range-indicator.end{border:1px solid #17a2b8;color:#17a2b8;right:2px}.calendar-month.start-month{border-left:3px solid #28a745}.calendar-month.end-month{border-right:3px solid #17a2b8}.calendar-summary{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:flex;flex-direction:column;gap:8px;padding:10px}.selection-summary{color:#495057;font-size:13px;font-weight:500}.selection-status{font-size:13px;text-align:center}.partial-range-display{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:12px;padding:6px;text-align:center}.calendar-widget-minimized{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;display:flex;font-size:13px;gap:8px;padding:8px 12px}.calendar-icon{font-size:16px}.selected-count{font-weight:500}.calendar-widget-error,.calendar-widget-loading,.calendar-widget-no-data{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;display:flex;font-style:italic;justify-content:center;padding:20px;text-align:center}.calendar-widget-error{background-color:#f8d7da;border-color:#f5c6cb;color:#dc3545}@media (max-width:768px){.calendar-controls{align-items:stretch;flex-direction:column;gap:8px}.calendar-actions{justify-content:center}.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.calendar-grid{gap:6px;grid-template-columns:repeat(2,1fr)}.calendar-month{min-height:45px;padding:10px 6px}.month-name{font-size:12px}}.category-link{background:#0000;border:none;color:#007bff;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:700;margin:0;padding:0;text-align:left;text-decoration:underline}.category-link:hover{background:#007bff1a;border-radius:4px;color:#0056b3;padding:2px 4px;text-decoration:none}.category-filter-status{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;display:flex;font-size:14px;gap:8px;padding:6px 12px}.filter-indicator{color:#856404;font-weight:600}.clear-category-filter-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background-color .2s}.clear-category-filter-btn:hover{background:#c82333}.loss-domino-layout{display:flex;flex-direction:column;gap:20px}.loss-domino-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.loss-domino-table{border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:0 4px 6px #00000012;font-size:14px;overflow:hidden;width:100%}.loss-domino-table th{background:linear-gradient(135deg,#37474f,#263238);border-bottom:none;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.loss-domino-table th:first-child{border-top-left-radius:8px}.loss-domino-table th:last-child{border-top-right-radius:8px}.loss-domino-table td{border-bottom:1px solid #0000000f;padding:12px;transition:all .2s ease}.loss-domino-table tbody tr:last-child:not(.grand-total-row) td{border-bottom:2px solid #e0e0e0}.loss-domino-table .segment-cell{background:linear-gradient(135deg,#f5f5f5,#eee);border-right:1px solid #00000014;color:#37474f;font-size:13px;font-weight:600;letter-spacing:.3px;min-width:180px}.loss-domino-table .numeric-cell{background:linear-gradient(135deg,#fff,#fafbfc);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:13px;font-weight:500;min-width:120px;position:relative;text-align:right}.loss-domino-table .numeric-cell.negative-value{background:linear-gradient(135deg,#fff5f5,#ffebee);color:#d32f2f}.loss-domino-table .numeric-cell:hover{background:linear-gradient(135deg,#e3f2fd,#f1f8ff);box-shadow:0 2px 4px #0000001a;transform:translateY(-1px);transition:all .2s ease}.loss-domino-table tbody tr:hover{background:#f8f9fa;box-shadow:0 2px 8px #00000014}.loss-domino-table tbody tr:hover .segment-cell{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);color:#2e7d32;font-weight:600}.loss-domino-table tbody tr:nth-child(2n):not(.grand-total-row){background:#00000005}.loss-domino-table tbody tr:nth-child(2n):not(.grand-total-row) .segment-cell{background:linear-gradient(135deg,#fafafa,#f0f0f0)}.loss-domino-table tbody tr:nth-child(2n):not(.grand-total-row) .numeric-cell{background:linear-gradient(135deg,#fefefe,#f8f9fa)}.loss-domino-table tbody tr{animation:fadeInUp .3s ease-out;animation-fill-mode:both}.loss-domino-table tbody tr:first-child{animation-delay:.05s}.loss-domino-table tbody tr:nth-child(2){animation-delay:.1s}.loss-domino-table tbody tr:nth-child(3){animation-delay:.15s}.loss-domino-table tbody tr:nth-child(4){animation-delay:.2s}.loss-domino-table tbody tr:nth-child(5){animation-delay:.25s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loss-domino-table .grand-total-row{background:linear-gradient(135deg,#f3f8ff,#e8f4fd);border-top:3px solid #1976d2}.loss-domino-table .grand-total-row:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 4px 12px #1976d226}.loss-domino-table .grand-total-row .segment-cell{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 2px #0003}.loss-domino-table .grand-total-cell{background:linear-gradient(135deg,#f3f8ff,#e8f4fd)!important;border-left:2px solid #1976d2;color:#1565c0!important;font-size:14px;font-weight:700!important}.loss-domino-table .grand-total-cell.negative-value{background:linear-gradient(135deg,#ffebee,#ffcdd2)!important;border-left:2px solid #d32f2f;color:#c62828!important}.pie-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.pie-chart-header{margin-bottom:15px}.pie-chart-header h4{color:#333;font-size:16px;margin:0}.pie-chart-content{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:250px 1fr}.pie-chart-controls{display:flex;flex-direction:column;gap:8px;padding-top:10px}.pie-chart-controls label{color:#495057;font-size:14px;font-weight:500}.measure-selector{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:14px;padding:8px;width:100%}.measure-selector:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3;outline:none}.pie-chart-plot{min-height:400px}@media (max-width:1024px){.pie-chart-content{gap:15px;grid-template-columns:1fr}.pie-chart-controls{padding-top:0}.measure-selector{max-width:300px}}.filter-option{font-size:10px}.control-group label,.control-group select,.radio-group label{font-size:12px}.category-title{font-size:17px}.filter-search-input,.filter-search-input::placeholder{font-size:10px}@media (max-width:1200px){.content-area{flex-direction:column}.filters-row{flex-wrap:wrap;gap:8px}.filter-column{max-width:550px;min-width:550px;width:550px}.category-title{font-size:15px}}@media (max-width:768px){.controls-section{align-items:stretch;flex-direction:column;gap:15px}.control-group{flex:none;min-width:0}.filters-row{gap:6px}.filter-column{max-width:550px;min-width:550px;width:550px}.model-selection-section{padding:20px}.model-view-container{align-items:stretch;flex-direction:column;gap:15px}.model-view-container .control-group,.model-view-info{min-width:0}.measures-table-section{margin:15px 0}.measures-table-header{padding:15px}.measures-table-container{overflow-x:auto;padding:15px}.measures-table{min-width:800px}.measures-table td,.measures-table th{padding:8px 12px}.measures-table-footer{align-items:stretch;flex-direction:column;gap:10px}.hide-table-btn{align-self:center}.category-title{font-size:15px;padding:8px 12px}.header-controls{flex-direction:column;gap:8px}}.hardcoded-slicer .filter-option{border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin:2px 0;padding:6px 8px;text-align:left;transition:all .2s}.hardcoded-slicer .filter-option:hover{background:#ffa726}.hardcoded-slicer .filter-option.selected{background:#f57c00;border:2px solid #e65100}.charts-tabs-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;overflow:hidden}.tabs-header{border-bottom:2px solid #e0e0e0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:15px 20px;position:relative;transition:all .2s ease}.tab-button:hover{background:#e9ecef;color:#333}.tab-button.active{background:#fff;border-bottom-color:#007bff;color:#007bff;font-weight:600}.tab-button.active:after{background:#007bff;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.tab-content{min-height:400px}.charts-tabs-container .details-section,.charts-tabs-container .waterfall-chart-section{background:#fff;border-radius:0;box-shadow:none;margin-top:0}.charts-tabs-container .details-section h3,.charts-tabs-container .waterfall-chart-section h3{font-size:16px;margin-top:15px}.filters-section{overflow-x:auto}.filter-column{min-width:140px}.filter-options{padding:5px}.filter-option{font-size:11px;text-align:center}.filter-option.selected{background:#2f5f8f;border:2px solid #1a4480}.control-group{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:160px}.control-group label{color:#333;font-size:13px;font-weight:700}.control-group select{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:13px;padding:6px 8px}.control-group select:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.control-help-text{background:#fff3cd;border:1px solid #ffeaa7;border-radius:3px;color:#856404;font-size:12px;font-style:italic;margin:4px 0 0;padding:4px 8px}.radio-group{gap:8px}.radio-group label{align-items:center;display:flex;font-size:13px;font-weight:400;gap:8px}.radio-group input[type=radio]{margin:0}.content-area{display:flex;gap:20px}.left-section{display:flex;flex:2 1;flex-direction:column;gap:20px}.right-section{display:flex;flex:1 1;flex-direction:column;gap:20px}.main-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;padding:20px}.main-chart-container h3{color:#333;font-size:16px;margin:0 0 15px}.chart-wrapper{height:300px;position:relative}.statistics-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.statistics-section h3{color:#333;font-size:16px;margin:0 0 15px}.statistics-table{margin-bottom:15px}.statistics-table table{border-collapse:collapse;font-size:12px;width:100%}.statistics-table th{background:#4472c4;color:#fff;font-weight:400;padding:8px;text-align:center}.statistics-table td{border-bottom:1px solid #eee;padding:6px 8px;text-align:center}.category-cell{background:#f8f9fa;font-weight:700;text-align:left!important}.chart-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:11px;padding:8px}.metric-charts{display:flex;flex-direction:column;gap:15px}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.chart-container h4{color:#333;font-size:16px;margin:0 0 10px;text-align:center}.small-chart{height:120px;position:relative}.waterfall-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.waterfall-section h4{color:#333;font-size:16px;margin:0 0 10px}.waterfall-info{background:#f8f9fa;border-radius:4px;color:#666;font-size:11px;margin-bottom:15px;padding:8px}.waterfall-chart{align-items:center;display:flex;height:200px;justify-content:center}.waterfall-placeholder{display:flex;flex-direction:column;height:100%;justify-content:space-between;width:100%}.waterfall-bars{align-items:flex-end;display:flex;height:60%;justify-content:space-around;padding:0 20px}.waterfall-bar{border-radius:4px 4px 0 0;cursor:pointer;transition:all .3s ease;width:30px}.waterfall-bar:hover{opacity:.8}.waterfall-bar.positive{background:linear-gradient(0deg,#4caf50,#66bb6a)}.waterfall-bar.negative{background:linear-gradient(0deg,#f44336,#ef5350)}.legend{display:flex;font-size:10px;justify-content:space-around;padding:10px}.legend-item{gap:8px}.legend-color{height:12px;width:12px}.legend-color.positive{background:#4caf50}.legend-color.negative{background:#f44336}.model-selection-section{border-radius:12px;box-shadow:0 4px 15px #0000001a;margin:20px;padding:40px;text-align:center}.model-selection-section h2{font-size:24px}.model-dropdown-container{margin:0 auto;max-width:600px}.model-select{border-radius:8px;padding:15px}.loading-spinner{color:#666;font-size:16px;margin:20px 0}.error-message{color:#dc3545}.change-model-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:background-color .2s}.change-model-btn:hover{background:#5a6268}.model-view-selection-section{background:#fff;border-left:4px solid #4472c4;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:20px}.model-view-container{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.model-view-container .control-group{flex:0 0 auto;min-width:300px}.model-view-container .control-group label{color:#333;display:block;font-size:16px;font-weight:600;margin-bottom:8px}.model-view-dropdown{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.model-view-dropdown:focus{border-color:#4472c4;box-shadow:0 0 0 3px #4472c433;outline:none}.model-view-info{flex:1 1;min-width:250px}.model-view-actions{align-items:center;display:flex;flex:0 0 auto}.view-prompt{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404}.view-prompt,.view-selected{font-size:14px;font-weight:500;margin:0;padding:12px}.view-selected{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.active-badge{background:#28a745;border-radius:3px;color:#fff;font-size:12px;font-weight:600;margin-left:8px;padding:2px 6px}.no-view-fields-message,.no-view-selected-message{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;justify-content:center;min-height:200px}.message-content h3{color:#856404;font-size:20px;margin:0 0 15px}.message-content p{font-size:16px;line-height:1.5;margin:8px 0}.filter-category{margin-bottom:25px}.category-title{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #4472c4;border-radius:8px;padding:10px 15px}.active-indicator{animation:pulse 1.5s infinite}.minimize-btn{border-radius:4px;min-width:20px;padding:4px 8px}.minimize-btn:hover{background:#fff6;transform:scale(1.1)}.popup-icon{border-radius:3px;color:#fffc;font-size:16px;transition:all .2s ease}.popup-icon:hover{color:#fff;transform:scale(1.1)}.filter-options::-webkit-scrollbar-track{border-radius:3px}.filter-options::-webkit-scrollbar-thumb{background:#fff6}.filter-control-btn{border:none;border-radius:2px;color:#333;font-size:11px;font-weight:600;min-width:30px;transition:background-color .2s}.filter-control-btn.clear-all{background:#0000;border:none;border-radius:2px;color:#dc3545;font-size:12px;font-weight:600;margin-left:auto;min-width:45px;overflow:visible;padding:2px 6px;transition:all .2s;white-space:nowrap}.filter-control-btn.select-all:hover{background:#28a745}.filter-control-btn.clear-all:hover{color:#c82333;text-decoration:underline}.selection-count{color:#ffffffb3;margin-left:auto;white-space:nowrap}.filter-search-input{font-size:11px;max-width:180px;min-width:120px;padding:2px 6px}.filter-search-input:focus{background:#fff;border-color:#4472c4;outline:none}.filter-search-input::placeholder{color:#666;font-size:11px}.filter-option{background:#5b9bd5;color:#fff;font-size:14px;margin:2px 0;padding:6px 8px 6px 20px;pointer-events:auto;position:relative;text-align:left;transition:all .2s;-webkit-user-select:none;user-select:none;z-index:1}.filter-option:hover{background:#4a8bc2;transform:translateX(2px)}.filter-option.selected{background:linear-gradient(135deg,#28a745,#20c997)!important;border:2px solid #155724!important;box-shadow:0 3px 6px #0006;font-weight:600;position:relative;transform:scale(1.02)}.filter-option.selected:before{color:#fff;content:"✓";font-size:12px;font-weight:700;left:6px;position:absolute;text-shadow:1px 1px 2px #00000080;top:50%;transform:translateY(-50%)}.filter-option.selected:hover{background:linear-gradient(135deg,#218838,#1ac785)!important;transform:scale(1.03) translateX(1px)}.filter-column.drag-over{background:#f8f9ff;border-color:#4472c4}.filter-column.dragging{opacity:.5;transform:rotate(2deg)}.header-controls{align-items:center;display:flex;gap:10px}@media (max-width:1200px){.content-area{flex-direction:column}.filters-row{flex-wrap:wrap;gap:8px}.filter-column{max-width:550px;min-width:550px;width:550px}.category-title{font-size:16px}}@media (max-width:768px){.controls-section{align-items:stretch;flex-direction:column;gap:15px}.control-group{flex:none;min-width:0}.filters-row{gap:6px}.filter-column{max-width:550px;min-width:550px;width:550px}.model-selection-section{padding:20px}.model-view-container{align-items:stretch;flex-direction:column;gap:15px}.model-view-container .control-group,.model-view-info{min-width:0}.measures-table-section{margin:15px 0}.measures-table-header{padding:15px}.measures-table-container{overflow-x:auto;padding:15px}.measures-table{min-width:800px}.measures-table td,.measures-table th{padding:8px 12px}.measures-table-footer{align-items:stretch;flex-direction:column;gap:10px}.hide-table-btn{align-self:center}.category-title{font-size:16px;padding:8px 12px}.header-controls{flex-direction:column;gap:8px}}.measures-table-section{border-left:4px solid #28a745}.measures-table-section,.waterfall-chart-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;overflow:hidden}.waterfall-chart-section{width:100%}.chart-title-container{align-items:center;display:flex;gap:10px}.chart-title-container h3{margin:0}.collapse-waterfall-btn{background:#666;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:4px 12px;transition:background .2s}.collapse-waterfall-btn:hover{background:#555}.measures-table-header,.waterfall-chart-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;padding:20px}.waterfall-chart-header h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.waterfall-chart-header p{color:#6c757d;font-size:14px;margin:0 0 8px}.waterfall-chart-container{padding:20px}.chart-wrapper{border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.chart-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 0}.chart-footer p{color:#6c757d;font-size:14px;font-weight:500;margin:0}.chart-controls{display:flex;gap:10px}.hide-chart-btn,.toggle-view-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:background-color .2s}.hide-chart-btn:hover,.toggle-view-btn:hover{background:#5a6268}.hide-chart-btn{background:#dc3545}.hide-chart-btn:hover{background:#c82333}.measures-table-header h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.measures-table-header p{color:#6c757d;font-size:14px;margin:0 0 8px}.table-description{color:#495057!important;font-size:13px!important;font-style:italic;margin:8px 0 0!important}.basis-note{color:#28a745!important;font-style:normal!important;font-weight:600!important}.measures-table-container{padding:20px}.measures-table{font-size:14px;margin-bottom:20px}.measures-table th{background:#4472c4;padding:12px 16px}.measures-table th:first-child{border-radius:6px 0 0 0}.measures-table th:last-child{border-radius:0 6px 0 0}.measures-table td{border-bottom:1px solid #e9ecef;padding:12px 16px;vertical-align:top}.measures-table tr:hover{background:#f8f9fa}.measures-table tr:last-child td{border-bottom:none}.measure-name strong{color:#333;font-size:16px;font-weight:600}.measure-technical-name{color:#6c757d;font-size:12px;font-style:italic;margin-top:2px}.measure-order{text-align:center;width:60px}.order-number{background:#4472c4;border-radius:50%;color:#fff;display:inline-block;font-size:12px;font-weight:600;height:24px;line-height:24px;text-align:center;width:24px}.order-number.basis{background:#28a745;font-weight:700}.measure-sum{color:#2c3e50;font-size:16px;font-weight:600;min-width:120px;text-align:right}.measure-sum .original-value{color:#666;display:block;font-size:.85em;font-weight:400;margin-top:2px}.basis-calculation-info{background:#f0f7ff;border-radius:4px;display:block;font-size:.9em;margin-top:5px;padding:8px}.basis-calculation-info strong{color:#1a73e8}.measure-type{text-align:center;width:140px}.type-badge{border-radius:4px;padding:4px 8px;white-space:nowrap}.type-badge.waterfall-basis{background:linear-gradient(135deg,#28a745,#20c997);border:1px solid #1e7e34;box-shadow:0 2px 4px #28a7454d;color:#fff}.type-badge.config-basis{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.type-badge.waterfall-measure{background:#cce5ff;border:1px solid #b8daff;color:#0056b3}.classification-badge,.data-type-badge,.format-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.data-type-badge.number{background:#e7f3ff;border:1px solid #b8daff;color:#0056b3}.data-type-badge.currency{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.data-type-badge.percentage{background:#d1ecf1;border:1px solid #b8daff;color:#0c5460}.format-badge.number{background:#e7f3ff;border:1px solid #b8daff;color:#0056b3}.format-badge.currency{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.format-badge.percentage{background:#d1ecf1;border:1px solid #b8daff;color:#0c5460}.classification-badge.independent{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.classification-badge.subtotal{background:#cce5ff;border:1px solid #b8daff;color:#0056b3}.classification-badge.variable-profit{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.classification-badge.total-profit{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.measures-table-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 0}.measures-table-footer p{color:#6c757d;font-size:14px;font-weight:500;margin:0}.hide-table-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.hide-table-btn:hover{background:#5a6268}.filter-modal-overlay{animation:fadeIn .3s ease;background:#000000b3}.filter-modal-header{border-radius:12px 12px 0 0;padding:16px 20px}.filter-modal-title{font-size:18px;font-weight:600}.filter-modal-close{background:#fff3;border-radius:50%;font-size:20px;height:30px;transition:background-color .2s;width:30px}.filter-modal-close:hover{background:#ffffff4d}.filter-modal-controls{border-radius:8px;gap:12px;margin-bottom:16px;padding:12px}.filter-modal-search{border-radius:6px;font-size:16px}.filter-modal-clear{background:#dc3545;border:none;border-radius:6px;color:#fff;font-weight:600;transition:background-color .2s}.filter-modal-clear:hover{background:#c82333}.filter-modal-selection-count{font-size:16px;font-weight:600}.filter-modal-option{background:#5b9bd5;border-radius:6px;color:#fff;font-size:14px;padding:10px 12px;position:relative;text-align:center;transition:all .2s;-webkit-user-select:none;user-select:none}.filter-modal-option:hover{background:#4a8bc2;transform:translateY(-1px)}.filter-modal-option.selected{background:linear-gradient(135deg,#28a745,#20c997)!important;border:2px solid #155724;box-shadow:0 3px 6px #0000004d;font-weight:600}.filter-modal-option.selected:before{content:"✓";font-size:16px;font-weight:700;left:8px;position:absolute;top:50%;transform:translateY(-50%)}.waterfall-range-display{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px 20px}.range-info{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:15px}.range-label{font-size:15px}.range-values{align-items:center;color:#212529;display:flex;font-size:14px;gap:8px}.range-arrow{color:#6c757d;font-size:16px;font-weight:700}.range-difference{background:#e3f2fd;border:1px solid #bbdefb;border-radius:20px;color:#1565c0}.range-difference,.y-axis-range{font-size:13px;font-weight:600;padding:4px 12px}.y-axis-range{background:#f3e5f5;border:1px solid #ce93d8;border-radius:20px;color:#7b1fa2;font-family:Courier New,monospace}.chart-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.chart-header-top h3{color:#2c3e50;font-size:20px;margin:0}.waterfall-basis-control{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:10px;padding:8px 15px}.waterfall-basis-control label{color:#495057;font-size:14px;font-weight:600;margin:0}.waterfall-basis-control select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;min-width:150px;padding:6px 12px}.waterfall-basis-control select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.waterfall-basis-control select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.65}.waterfall-chart-container{cursor:pointer;flex-direction:column;height:70vh;max-height:800px;min-height:500px}.chart-wrapper,.waterfall-chart-container{align-items:center;display:flex;justify-content:center;width:100%}.chart-wrapper{flex:1 1;flex-direction:column;max-width:1200px;min-height:400px}.chart-wrapper>div{align-items:center!important;display:flex!important;flex:1 1!important;height:100%!important;justify-content:center!important;width:100%!important}.chart-placeholder{align-items:center;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;justify-content:center;margin:20px 0;min-height:400px}.chart-placeholder p{color:#6c757d;font-size:16px;font-style:italic;margin:0}.trend-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.trend-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:70vh;max-height:600px;max-width:900px;width:90%}.trend-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px}.trend-modal-title{color:#fff;font-size:20px;font-weight:600;margin:0}.trend-modal-close{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:36px}.trend-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.trend-modal-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px}.trend-chart-container{flex:1 1;min-height:400px;position:relative}.trend-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;padding:15px 20px}.trend-note{color:#6c757d;font-size:14px;margin:0;text-align:center}.trend-loading,.trend-no-data{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;min-height:400px}.trend-no-data{font-style:italic}.trend-modal-controls{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:15px 20px}.trend-basis-control{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;gap:10px;padding:8px 15px}.trend-basis-control label{color:#495057;font-size:14px;font-weight:600;margin:0;white-space:nowrap}.trend-basis-control select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;min-width:150px;padding:6px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.trend-basis-control select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.trend-basis-control select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.65}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.negative-value,.negative-value strong{color:#dc3545!important}.profit-summary-table .negative-value{color:#dc3545!important;font-weight:500}.profit-summary-table .grand-total-cell.negative-value{color:#dc3545!important;font-weight:700}.measures-table .negative-value,.statistics-table .negative-value,.waterfall-table .negative-value{color:#dc3545!important}.details-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;overflow:hidden}.details-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:15px 20px}.details-header .chart-title-container{align-items:center;display:flex;justify-content:space-between}.details-header h3{color:#333;font-size:18px;margin:0}.collapse-details-btn{background:#0000;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;padding:4px 8px}.collapse-details-btn:hover{background:#f0f0f0}.details-content{padding:20px}.pivot-container{display:flex;flex-direction:column;gap:20px}.pivot-fields-panel{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;max-height:400px;overflow-y:auto;padding:15px}.pivot-fields-panel h4{color:#495057;font-size:14px;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.pivot-fields-list{display:flex;flex-wrap:wrap;gap:15px}.field-category{flex:1 1;min-width:200px}.field-category h5{color:#6c757d;font-size:13px;font-weight:600;margin:0 0 10px}.pivot-field{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:move;font-size:13px;margin-bottom:6px;padding:6px 10px;transition:all .2s}.pivot-field:hover{background:#e9ecef;transform:translateX(2px)}.draggable-field{-webkit-user-select:none;user-select:none}.pivot-config-panel{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:15px}.pivot-zones{flex-direction:column;margin-bottom:20px}.pivot-zone-row,.pivot-zones{display:flex;gap:15px}.pivot-zone-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 2fr}.pivot-zone{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:4px;flex:1 1;min-height:80px;padding:10px}.pivot-zone.drag-over{background:#e7f3ff;border-color:#007bff}.pivot-zone h5{color:#495057;font-size:12px;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.zone-fields{display:flex;flex-wrap:wrap;gap:8px}.zone-field{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;display:flex;font-size:12px;gap:5px;padding:4px 8px}.remove-field-btn{background:#0000;border:none;color:#6c757d;cursor:pointer;font-size:16px;line-height:1;margin-left:5px;padding:0}.remove-field-btn:hover{color:#dc3545}.pivot-actions{display:flex;gap:10px;margin-top:15px}.clear-pivot-btn,.generate-pivot-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.generate-pivot-btn{background:#28a745;color:#fff}.generate-pivot-btn:hover:not(:disabled){background:#218838}.generate-pivot-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.clear-pivot-btn{background:#6c757d;color:#fff}.clear-pivot-btn:hover{background:#5a6268}.pivot-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-top:15px;padding:10px}.pivot-error p{font-size:14px;margin:0}.pivot-table-container{background:#fff;border:1px solid #dee2e6;border-radius:4px;margin-top:20px;padding:15px}.pivot-table-container h4{color:#333;font-size:16px;margin:0 0 15px}.pivot-table-wrapper{max-height:600px;overflow-x:auto;overflow-y:auto}.pivot-table{border-collapse:collapse;font-size:13px;width:100%}.pivot-table th{background:#f8f9fa;color:#495057;font-weight:600;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.pivot-table td,.pivot-table th{border:1px solid #dee2e6;padding:8px}.pivot-cell{white-space:nowrap}.pivot-cell.numeric-cell{text-align:right}.pivot-cell.total-row{background:#f8f9fa;font-weight:600}.pivot-table .negative-value{color:#dc3545!important}.interactive-datatable{background:#fff;display:flex;flex-direction:column;gap:16px}.field-picker-container,.interactive-datatable{border:1px solid #e0e0e0;border-radius:8px;padding:16px}.field-picker-container{background:#f8f9fa}.field-picker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.field-picker-title-container{align-items:center;display:flex;gap:10px}.collapse-field-picker-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background-color .2s}.collapse-field-picker-btn:hover{background:#5a6268}.field-picker-meta{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.view-basis-control{display:flex;flex-direction:column;gap:4px}.view-basis-control label{color:#555;font-size:12px;font-weight:600;margin-bottom:2px}.view-basis-control select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;min-width:140px;padding:6px 8px}.view-basis-control select:disabled{background:#f5f5f5;color:#999}.view-basis-control .control-help-text{color:#ff6b35;font-size:10px;line-height:1.2;margin:2px 0 0}.field-picker-header h4{color:#2c3e50;margin:0}.field-legend{display:flex;font-size:12px;gap:16px}.legend-item{border-radius:4px;font-weight:500;padding:4px 8px}.legend-item.reference-key{background:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.legend-item.attribute{background:#f3e5f5;border:1px solid #e1bee7;color:#7b1fa2}.legend-item.measure{background:#e8f5e8;border:1px solid #c8e6c9;color:#388e3c}.field-picker-sections{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.field-section{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px}.field-section h5{color:#2c3e50;font-size:14px;margin:0 0 8px}.field-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.field-checkbox{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:13px;gap:6px}.field-checkbox input[type=checkbox]{margin:0}.field-name{-webkit-user-select:none;user-select:none}.field-checkbox.disabled{cursor:not-allowed;opacity:.5}.field-checkbox.disabled input{cursor:not-allowed}.column-count-info{align-items:center;display:flex;font-size:13px;gap:8px}.column-count{background:#e8f5e8;border-radius:4px;color:#388e3c;font-weight:500;padding:4px 8px}.column-count.limit-reached{background:#ffebee;color:#d32f2f}.limit-warning{color:#d32f2f;font-size:12px;font-weight:500}.datatable-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px}.table-controls{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:12px 16px}.table-controls,.table-info{align-items:center;display:flex}.table-info{color:#495057;font-size:14px;gap:12px}.clear-filters-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px}.clear-filters-btn:hover{background:#c82333}.pagination-controls{align-items:center;display:flex;gap:12px}.pagination-controls label{align-items:center;color:#495057;display:flex;font-size:14px;gap:6px}.pagination-controls select{border:1px solid #ced4da;border-radius:4px;padding:4px 8px}.page-controls{align-items:center;display:flex;gap:8px}.page-controls button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 10px}.page-controls button:disabled{background:#6c757d;cursor:not-allowed}.page-controls button:hover:not(:disabled){background:#0056b3}.page-info{color:#495057;font-size:14px;white-space:nowrap}.data-table-wrapper{max-height:600px;overflow:auto}.interactive-data-table{border-collapse:collapse;font-size:13px;width:100%}.column-header{background:#f8f9fa;border:1px solid #dee2e6;cursor:move;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.column-header-content{display:flex;flex-direction:column;padding:8px}.column-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.sort-button{color:#495057;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.sort-button:hover{color:#007bff}.sort-indicator{color:#007bff;font-size:12px}.remove-column-btn{background:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;margin-left:4px;padding:2px 6px}.remove-column-btn:hover{background:#c82333}.column-filter{align-items:center;display:flex;gap:4px}.filter-input{border:1px solid #ced4da;border-radius:3px;flex:1 1;padding:4px 6px}.filter-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.clear-filter-btn{background:#6c757d;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;padding:2px 6px}.clear-filter-btn:hover{background:#545b62}.reference-column{background:#e3f2fd!important}.attribute-column{background:#f3e5f5!important}.measure-column{background:#e8f5e8!important}.reference-cell{background:#f8fcff;color:#1976d2;font-weight:500}.attribute-cell{background:#fdf7ff;color:#7b1fa2}.measure-cell{background:#f8fff8;color:#388e3c;font-weight:500;text-align:right}.data-cell{border:1px solid #dee2e6;padding:8px;white-space:nowrap}.section-controls{align-items:center;display:flex;gap:8px}.export-btn,.share-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 8px;transition:all .2s ease}.share-btn:hover{background:#e3f2fd;border-color:#2196f3;transform:translateY(-1px)}.export-btn:hover{background:#fff3e0;border-color:#ff9800;transform:translateY(-1px)}.export-btn:active,.share-btn:active{transform:translateY(0)}.pareto-container{display:flex;gap:20px;margin-top:20px}.pareto-chart-section{flex:1.3 1;padding:15px}.pareto-chart-section,.pareto-table-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.pareto-table-section{flex:1.7 1;max-height:580px;overflow-y:auto;padding:20px}.pareto-table-section h4{color:#333;font-size:16px;margin:0 0 15px}.pareto-table{border-collapse:collapse;box-shadow:0 1px 3px #0000001a;font-size:13px;width:100%}.pareto-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.pareto-table td{border-bottom:1px solid #e9ecef;line-height:1.4;padding:12px 10px;text-align:right}.pareto-table td:first-child{background:#f8f9fa;color:#495057;font-weight:600;text-align:center;width:50px}.pareto-table td:nth-child(2){color:#2c3e50;font-weight:500;text-align:left}.pareto-table td:nth-child(3){color:#27ae60;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}.pareto-table td:nth-child(4),.pareto-table td:nth-child(5){color:#8e44ad;font-weight:500}.pareto-table tr:nth-child(2n){background:#f8f9fa80}.pareto-table tr:hover{background:#e8f4f8;box-shadow:0 2px 8px #0000001a;transform:scale(1.01);transition:all .2s ease}.pareto-select-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;display:inline-flex;font-size:12px;height:24px;justify-content:center;margin-left:8px;min-width:24px;padding:4px 6px;transition:all .2s ease}.pareto-select-btn:hover{background:#e3f2fd;border-color:#2196f3;transform:translateY(-1px)}.pareto-select-btn.selected{background:#2196f3;border-color:#1976d2;box-shadow:0 2px 4px #2196f34d;color:#fff}.field-item{align-items:center;display:flex;justify-content:space-between}@media (max-width:1200px){.pareto-container{flex-direction:column}.pareto-table-section{max-height:none}}.drill-down-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.drill-down-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:90%}.drill-down-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.drill-down-modal-header h2{color:#333;font-size:20px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.close-button:hover{background-color:#f0f0f0}.drill-down-modal-body{flex:1 1;overflow-y:auto;padding:20px}.drill-down-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(600px,1fr))}.drill-down-chart-container{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;padding:10px;position:relative}.no-data-message{color:#666;font-size:16px;padding:40px}@media (max-width:768px){.drill-down-modal-content{max-height:95vh;width:95%}.drill-down-charts-grid{grid-template-columns:1fr}.drill-down-chart-container{min-width:auto}}.breadcrumb{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#666;padding:12px 16px}.breadcrumb-link{color:#4472c4;transition:all .2s ease}.breadcrumb-link:hover{background:#4472c41a;color:#2c5aa0}.breadcrumb-separator{color:#999;font-weight:300;margin:0 4px}.breadcrumb-current{color:#333;padding:4px 8px}.breadcrumb-current.active{background:#4472c41a;border-radius:4px;color:#4472c4}.opportunity-prioritization{background-color:#f5f5f5;min-height:100vh;padding:20px}.opportunity-prioritization h1{color:#333;font-size:28px;font-weight:600;margin-bottom:30px}.model-selection-section{margin-bottom:20px;padding:20px}.model-selection-section h2{color:#333;font-size:20px;margin:0 0 15px}.model-select{background:#fff;border:2px solid #e0e0e0;max-width:600px;padding:12px 16px}.model-select:focus{border-color:#4472c4;box-shadow:0 0 0 3px #4472c433}.sections-toggle{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:15px 20px;text-align:center}.toggle-btn{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.toggle-btn:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#adb5bd;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.toggle-btn:active{transform:translateY(0)}.collapsible-sections{overflow:hidden;transform-origin:top;transition:all .3s ease-in-out}.collapsible-sections.visible{max-height:2000px;opacity:1;transform:scaleY(1)}.collapsible-sections.hidden{margin-bottom:0;max-height:0;opacity:0;transform:scaleY(0)}.filter-controls-section{margin-bottom:20px}.filter-controls-row{flex-wrap:wrap;gap:30px}.calendar-control{align-items:center;display:flex;gap:10px}.calendar-icon-btn{background:#fff;border:2px solid #4472c4;color:#4472c4;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.calendar-icon-btn:hover:not(:disabled){background:#4472c4;box-shadow:0 2px 4px #0000001a;color:#fff;transform:translateY(-1px)}.calendar-icon-btn:disabled{cursor:not-allowed;opacity:.5}.date-range-text{background:#f0f4f8;border:1px solid #d0d7de;border-radius:4px;color:#666;display:inline-block;font-size:13px;font-weight:500;margin-top:8px;padding:6px 12px}.cutoff-control{align-items:center;display:flex;flex:1 1;gap:10px}.cutoff-label{color:#333;font-size:14px;font-weight:600}.cutoff-input{width:120px}.basis-measure-select,.cutoff-input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px}.basis-measure-select{background:#fff;color:#333;cursor:pointer;flex:1 1;max-width:250px}.basis-measure-select option{background:#fff;color:#333;padding:5px}.basis-measure-select option:hover{background:#f0f0f0}.formatted-amount{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-weight:600;min-width:120px;padding:8px 12px;text-align:right}.modal-backdrop{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-width:700px}.modal-header{border-bottom:1px solid #e0e0e0;padding:20px}.modal-header h3{color:#333}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .2s;width:30px}.modal-close-btn:hover{background:#f0f0f0}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-footer{border-top:1px solid #e0e0e0;text-align:right}.modal-done-btn{background:#4472c4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.modal-done-btn:hover{background:#3a62a4}.date-range-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.date-input{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;padding:10px 12px}.date-separator{color:#666;font-weight:500}.selection-sections{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.field-selection-section,.measure-selection-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;min-width:300px;padding:20px}.field-selection-section h3{color:#333;font-size:18px;margin:0 0 15px}.measure-selection-section h3{color:#333;font-size:20px;margin:0 0 20px}.field-selection-info{background:#e3f2fd;border-radius:4px;color:#1976d2;font-weight:500;margin-bottom:15px;padding:8px 12px}.field-lists{display:flex;flex-direction:column;gap:15px}.field-selection-section .field-list h4{border-bottom:1px solid #e0e0e0;color:#666;font-size:14px;font-weight:600;margin:0 0 6px;padding-bottom:4px}.measure-selection-section .field-list h4{border-bottom:1px solid #e0e0e0;color:#666;font-size:16px;font-weight:600;margin:0 0 8px;padding-bottom:6px}.field-items{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.measure-selection-section .field-items{gap:6px;max-height:300px;overflow-y:auto}.measure-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.field-selection-section .field-item{font-size:13px;gap:6px;padding:4px 8px}.field-selection-section .field-item,.measure-item,.measure-selection-section .field-item{align-items:center;border-radius:3px;cursor:pointer;display:flex;transition:background-color .2s}.measure-item,.measure-selection-section .field-item{font-size:14px;gap:8px;padding:6px 10px}.field-item:hover,.measure-item:hover{background-color:#f5f5f5}.field-item input,.measure-item input{cursor:pointer;margin:0}.field-item input:disabled{cursor:not-allowed;opacity:.5}.data-type,.measure-type{color:#666;font-size:12px;font-style:italic;margin-left:auto}.generate-analysis-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px;text-align:center}.generate-analysis-btn{background:linear-gradient(135deg,#4472c4,#5a82d3);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:250px;padding:15px 30px;transition:all .3s ease}.generate-analysis-btn:hover:not(:disabled){background:linear-gradient(135deg,#3a62a4,#4a72c3);box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.generate-analysis-btn:disabled{background:#e9ecef;box-shadow:none;color:#6c757d;cursor:not-allowed;transform:none}.error-message{font-weight:500;margin:15px 0}.results-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.results-section h2{background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;font-size:20px;margin:0;padding:20px}.analysis-summary{display:flex;flex-direction:column;gap:25px;padding:30px}.summary-info p{color:#28a745;font-size:16px;margin:0 0 20px}.analysis-stats{grid-gap:15px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:20px}.stat-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}.stat-label{color:#666;font-size:14px;font-weight:600}.stat-value{color:#333;font-size:14px}.export-actions{text-align:center}.export-excel-btn{background:linear-gradient(135deg,#28a745,#34ce57);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:200px;padding:15px 30px;transition:all .3s ease}.export-excel-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#2ba74a);box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.export-excel-btn:disabled{background:#e9ecef;box-shadow:none;color:#6c757d;cursor:not-allowed;transform:none}.results-table-wrapper{max-height:600px;overflow-x:auto;overflow-y:auto}.opportunities-table{border-collapse:collapse;font-size:14px;width:100%}.opportunities-table th{background:#4472c4;color:#fff;font-weight:600;padding:12px 16px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.opportunities-table td{border-bottom:1px solid #e0e0e0;padding:12px 16px;white-space:nowrap}.opportunities-table tr:hover{background-color:#f8f9fa}.opportunities-table tr:last-child td{border-bottom:none}@media (max-width:768px){.date-range-inputs,.selection-sections{flex-direction:column}.date-range-inputs{align-items:flex-start}.field-lists{gap:15px}.generate-btn{min-width:200px;padding:12px 20px}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4472c4;display:inline-block;height:20px;margin-right:10px;width:20px}.charts-section{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin-top:30px;padding:25px}.charts-section h2{color:#2c3e50;font-size:20px;font-weight:600;margin-bottom:10px}.charts-description{background:#fff;border-left:4px solid #4472c4;border-radius:4px;color:#666;font-size:14px;line-height:1.4;margin-bottom:25px;padding:12px 15px}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:20px}.opportunity-chart{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}@media (max-width:1200px){.charts-grid{grid-template-columns:1fr}}@media (max-width:768px){.charts-section{margin-top:20px;padding:15px}.charts-grid{gap:15px;grid-template-columns:1fr}.opportunity-chart{padding:15px}.charts-section h2{font-size:18px}.charts-description{font-size:13px;padding:10px 12px}}.scenario-analysis{margin:0 auto;max-width:1200px;padding:20px}.scenario-analysis-header{margin-bottom:30px;text-align:center}.scenario-analysis-header h1{color:#2c3e50;font-size:2.2em;margin-bottom:10px}.scenario-analysis-header p{color:#5a6c7d;font-size:1.1em}.model-selection-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px;padding:25px}.model-selection-section h2{color:#2c3e50;font-size:1.5em;margin-bottom:20px}.model-selection-container{display:flex;flex-direction:column;gap:20px}.model-select{background-color:#fff;border:2px solid #bdc3c7;border-radius:6px;cursor:pointer;font-size:16px;max-width:500px;padding:12px 15px;transition:border-color .3s ease;width:100%}.model-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.model-select option:disabled{color:#6c757d}.model-status-legend{display:flex;flex-direction:column;gap:10px}.status-item{align-items:center;color:#333;display:flex;font-size:14px;gap:10px}.status-icon{font-size:16px}.interactive-reports{background-color:#f5f5f5;padding:20px}.reports-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.reports-header h1{color:#333;font-size:24px;margin:0}.collapse-filters-btn{background:#666;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px}.collapse-filters-btn:hover{background:#555}.filters-section{flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:10px 0}.filter-category{margin-bottom:15px}.category-title{font-size:18px;margin-bottom:10px}.filter-column{max-width:550px;min-width:550px;width:550px}.filter-column[draggable=true]{cursor:grab}.filter-column[draggable=true]:active{cursor:grabbing}.filter-title{height:32px;padding:8px 16px}.filter-name,.filter-title{font-size:16px;font-weight:600}.filter-name{color:#fff;margin-right:12px}.active-indicator{align-items:center;color:#ffc107;display:flex;flex-shrink:0;font-size:30px;height:30px;justify-content:center;text-shadow:1px 1px 2px #0000004d;transition:opacity .2s ease;width:30px}.active-indicator.visible{animation:pulse 1.5s infinite;opacity:1;visibility:visible}.active-indicator.hidden{animation:none;opacity:0;visibility:hidden}.minimize-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:3px;display:flex;font-weight:700;height:20px;justify-content:center;padding:4px 6px;transition:all .2s ease;width:24px}.minimize-btn:hover{background:#ffffff4d;border-color:#ffffff80}.filter-controls-row{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:6px;margin-bottom:4px;padding:4px 0 8px}.filter-search-input{background:#ffffffe6;color:#333;flex:1 1;font-size:12px;padding:4px 8px}.filter-control-btn,.filter-search-input{border:1px solid #ffffff4d;border-radius:3px}.filter-control-btn{background:#fff3;color:#fff;cursor:pointer;font-size:10px;font-weight:700;min-width:35px;padding:2px 6px;text-align:center;transition:all .2s ease}.filter-control-btn:hover{background:#ffffff4d;border-color:#ffffff80}.filter-control-btn.select-all-btn:hover{background:linear-gradient(135deg,#218838,#1ac785)!important;transform:scale(1.03) translateX(1px)}.filter-options{max-height:110px;opacity:1;overflow-x:hidden;padding:6px;transition:all .3s ease}.filter-option{border-radius:3px;padding:3px 6px}.filter-option:hover{background:#4472c41a}.filter-option input[type=checkbox]{margin-right:6px}.filter-option label{color:#333;cursor:pointer;flex:1 1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-column.minimized .filter-options{max-height:0;opacity:0;overflow:hidden;padding:0 6px}.filter-column.minimized .filter-title{display:flex!important;opacity:1!important;visibility:visible!important}.filter-column.minimized .filter-name{color:#fff!important;display:block!important;font-size:16px!important;font-weight:600!important;opacity:1!important;visibility:visible!important}.filter-column.minimized{display:flex!important;flex-direction:column!important;max-width:550px!important;min-height:32px!important;min-width:550px!important;opacity:1!important;visibility:visible!important;width:550px!important}.filter-options::-webkit-scrollbar{width:6px}.filter-options::-webkit-scrollbar-track{background:#ffffff1a}.filter-options::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.filter-options::-webkit-scrollbar-thumb:hover{background:#fff9}.controls-section{align-items:flex-start;border-radius:8px;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px 20px}.apply-btn,.controls-section{box-shadow:0 2px 4px #0000001a}.apply-btn{background:linear-gradient(135deg,#4472c4,#5a82d3);border-radius:6px;font-size:16px;font-weight:600;min-width:120px;padding:12px 20px;transition:all .3s ease}.apply-btn:hover:not(:disabled){background:linear-gradient(135deg,#3a62a4,#4a72c3);box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.apply-btn:disabled{background:#e9ecef;box-shadow:none;color:#6c757d;cursor:not-allowed;transform:none}.hardcoded-slicer .filter-title{background:#ff9800;color:#fff;font-size:12px;font-weight:400;margin:0;padding:8px 12px;position:relative;text-align:center}.hardcoded-slicer .filter-title:after{content:"⚏";font-size:10px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.values-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.refresh-values-btn{background:linear-gradient(135deg,#28a745,#34ce57);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:8px 16px;transition:all .3s ease}.refresh-values-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#2bb14c);box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.refresh-values-btn:disabled{background:#e9ecef;box-shadow:none;color:#6c757d;cursor:not-allowed;transform:none}.values-datatable{margin-top:20px;overflow-x:auto}.measures-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.measures-table th{background:linear-gradient(135deg,#4472c4,#5a82d3);border-bottom:2px solid #3a62a4;color:#fff;font-size:14px;font-weight:600;padding:12px 15px;text-align:left}.measures-table td{border-bottom:1px solid #e1e8ed;padding:12px 15px;vertical-align:middle}.measures-table tbody tr:hover{background-color:#f8f9fa}.measures-table tbody tr:last-child td{border-bottom:none}.measure-name-cell{color:#2c3e50;cursor:help;font-weight:600;min-width:200px}.total-cell{color:#1e7e34;font-weight:600;min-width:120px;text-align:right}.ratio-cell{color:#495057;font-family:monospace;min-width:100px;text-align:right}.actions-cell{min-width:80px}.measure-type-independent{background-color:#f8f9fa!important}.measure-type-independent:hover{background-color:#e9ecef!important}.measure-type-subtotal{background-color:#fff3cd!important}.measure-type-subtotal:hover{background-color:#ffeaa7!important}.measure-type-variable-profit{background-color:#d1ecf1!important}.measure-type-variable-profit:hover{background-color:#b8daff!important}.measure-type-total-profit{background-color:#d4edda!important}.measure-type-total-profit:hover{background-color:#c3e6cb!important}.measure-type-default{background-color:#fff!important}.measure-type-default:hover{background-color:#f8f9fa!important}.hardcoded-slicer .filter-option{background:#ffb74d}.modal-overlay{background:#000000b3}.filter-modal{animation:slideIn .3s ease;border-radius:12px;box-shadow:0 10px 30px #0000004d}.filter-modal-header h3{font-size:18px;margin:0}.close-modal-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;transition:background-color .2s ease;width:30px}.close-modal-btn:hover{background:#fff3}.filter-modal-content{max-height:60vh;overflow-y:auto;padding:20px}.filter-modal-search{margin-bottom:15px}.modal-search-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px;width:100%}.filter-modal-controls{margin-bottom:15px}.modal-control-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;padding:8px 12px;transition:all .2s ease}.modal-control-btn:hover{background:#f8f9fa;border-color:#adb5bd}.modal-control-btn.select-all:hover{background:#d4edda;border-color:#c3e6cb;color:#155724}.modal-control-btn.clear-all:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.filter-modal-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:400px}.modal-filter-option{align-items:center;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;display:flex;padding:8px;transition:all .2s ease}.modal-filter-option:hover{background:#f8f9fa;border-color:#adb5bd}.modal-filter-option input[type=checkbox]{margin-right:8px}.modal-filter-option label{color:#333;cursor:pointer;flex:1 1;font-size:12px}.filter-controls-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px;padding:20px}.filter-controls-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.filter-controls-header h2{color:#2c3e50;font-size:1.5em;margin:0}.collapse-filter-btn{background:#666;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:background-color .2s ease}.collapse-filter-btn:hover{background:#555}.filters-section{display:flex;flex-direction:column;gap:20px}.filters-section-title{align-items:center;border-left:4px solid #3498db;color:#2c3e50;display:flex;font-size:1.4em;font-weight:600;gap:8px;margin:0 0 15px;padding:0 5px 0 12px}.no-filters-message{color:#5a6c7d;font-style:italic;padding:40px 20px;text-align:center}.filter-category{margin-bottom:20px}.category-title{border-left:4px solid #3498db;color:#2c3e50;font-size:1.2em;font-weight:600;margin-bottom:15px;padding:0 5px 0 12px}.filters-row{display:flex;flex-wrap:wrap;gap:10px;overflow-x:auto;padding:10px 0}.filter-column{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:default;flex-shrink:0;max-width:275px;min-width:275px;overflow:hidden;transition:all .3s ease;width:275px}.filter-column:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.filter-column.minimized{max-width:120px;min-width:120px;width:120px}.filter-title{align-items:center;background:#4472c4;color:#fff;display:flex;font-size:12px;font-weight:500;justify-content:space-between;margin:0;min-height:32px;padding:8px 12px;position:relative;text-align:left}.filter-name{flex:1 1;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-controls{align-items:center;flex-shrink:0;gap:6px}.selection-count{background:#ffc107;border-radius:10px;color:#333;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.minimize-btn{background:#0000;border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:12px;padding:2px 4px;transition:background-color .2s ease}.minimize-btn:hover{background:#fff3}.popup-icon{border-radius:2px;color:#fff;cursor:pointer;font-size:14px;padding:2px 4px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.popup-icon:hover{background:#fff3}.clone-icon{border-radius:2px;color:#fff;cursor:pointer;font-size:14px;padding:2px 4px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.clone-icon:hover{background:#fff3}.collapsible-header{justify-content:space-between}.collapsible-header,.section-collapse-btn{align-items:center;cursor:pointer;display:flex}.section-collapse-btn{background:#0000;border:none;border-radius:4px;color:#2c3e50;font-size:16px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:4px 8px;transition:all .2s ease}.section-collapse-btn:hover{background:#3498db1a;color:#3498db}.section-collapse-btn:active{transform:scale(.95)}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.category-header .category-title{margin-bottom:0}.section-header.collapsible-header h4{color:#2c3e50;font-size:1.2em;margin:0}.filter-search{border-bottom:1px solid #e1e8ed;padding:8px}.filter-search input{border:1px solid #ddd;border-radius:4px;font-size:12px;padding:6px 10px;width:100%}.filter-buttons{background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;gap:4px;padding:6px 8px}.filter-buttons button{background:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;flex:1 1;font-size:10px;padding:4px 6px;transition:background-color .2s ease}.filter-buttons button:hover{background:#e9ecef}.filter-options{max-height:250px;overflow-y:auto;padding:8px}.filter-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;margin-bottom:2px;padding:6px 8px;transition:background-color .2s ease}.filter-option:hover{background:#f8f9fa}.filter-option input[type=checkbox]{margin-right:8px;transform:scale(.9)}.filter-option span{color:#333;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-options{background:#f8f9fa;border-top:1px solid #e1e8ed;color:#666;font-size:10px;padding:8px;text-align:center}.more-options button{background:#0000;border:none;color:#3498db;cursor:pointer;font-size:10px;margin-left:5px;text-decoration:underline}.more-options button:hover{color:#2980b9}.filter-column.minimized .filter-buttons,.filter-column.minimized .filter-options,.filter-column.minimized .filter-search{display:none}.filter-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.filter-modal{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000004d;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.filter-modal-header{align-items:center;background:#4472c4;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.filter-modal-title{font-size:16px;margin:0}.filter-modal-close{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;width:24px}.filter-modal-close:hover{background:#fff3;border-radius:50%}.filter-modal-content{display:flex;flex-direction:column;max-height:calc(80vh - 120px)}.filter-modal-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;gap:10px;padding:15px 20px}.filter-modal-search{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.filter-modal-clear{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:8px 16px;transition:background-color .2s ease}.filter-modal-clear:hover{background:#e9ecef}.filter-modal-selection-count{color:#666;font-size:12px;white-space:nowrap}.filter-modal-options{flex:1 1;overflow-y:auto;padding:10px 20px}.filter-modal-option{align-items:center;border-bottom:1px solid #f1f1f1;cursor:pointer;display:flex;padding:10px 0;transition:background-color .2s ease}.filter-modal-option:hover{background:#f8f9fa}.filter-modal-option:last-child{border-bottom:none}.filter-modal-option.selected{background:#e3f2fd;color:#1976d2;font-weight:500}.modal-header{background:#4472c4;padding:15px 20px}.modal-header h3{font-size:16px}.close-btn{align-items:center;background:#0000;color:#fff;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;width:24px}.close-btn:hover{background:#fff3;border-radius:50%}.modal-body{display:flex;flex-direction:column;max-height:calc(80vh - 120px)}.modal-search{border-bottom:1px solid #e1e8ed;padding:15px 20px}.modal-search input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.modal-buttons{background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;gap:10px;padding:10px 20px}.modal-buttons button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;padding:8px 12px;transition:background-color .2s ease}.modal-buttons button:hover{background:#e9ecef}.modal-options{flex:1 1;overflow-y:auto;padding:10px 20px}.modal-option{align-items:center;border-bottom:1px solid #f1f1f1;cursor:pointer;display:flex;padding:10px 0}.modal-option:hover{background:#f8f9fa}.modal-option:last-child{border-bottom:none}.modal-option input[type=checkbox]{margin-right:10px}.modal-option span{color:#333;font-size:14px}.modal-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e1e8ed;justify-content:space-between;padding:15px 20px}.modal-footer span{color:#666;font-size:12px}.apply-btn{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 20px;transition:background-color .2s ease}.apply-btn:hover{background:#2980b9}.generate-scenario-section{border-top:2px solid #ecf0f1;padding-top:20px;text-align:center}.generate-scenario-btn{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:8px;box-shadow:0 4px 6px #0000001a;font-size:16px;font-weight:700;padding:15px 30px}.generate-scenario-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f77b4);box-shadow:0 6px 12px #00000026}.generate-scenario-btn:disabled{background:#bdc3c7}.scenario-results-section{margin-top:25px;padding:25px}.scenario-results-section h2{color:#2c3e50;font-size:1.6em;margin-bottom:25px;text-align:center}.scenario-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.scenario-section{border:1px solid #e1e8ed}.section-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;padding:15px 20px}.section-header h3{color:#2c3e50;font-size:1.2em}.section-actions{display:flex;gap:10px}.section-btn{background:#fff;border:1px solid #bdc3c7;border-radius:4px;color:#333;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.section-btn:hover{background:#f1f2f6;border-color:#95a5a6}.section-content{padding:20px}.section-content>p{color:#5a6c7d;margin-bottom:15px}.placeholder-content{display:flex;flex-direction:column;gap:10px}.comparison-card,.metric-card,.override-card{align-items:center;background:#f8f9fa;border:1px solid #ecf0f1;border-radius:6px;display:flex;justify-content:space-between;padding:12px 15px}.comparison-label,.metric-label,.override-label{color:#2c3e50;font-weight:500}.metric-value{color:#3498db;font-size:1.1em}.comparison-value{font-size:1.1em;font-weight:700}.comparison-value.positive{color:#27ae60}.comparison-value.negative{color:#e74c3c}.override-value{color:#8e44ad;font-size:1.1em}.edit-override-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:4px;transition:background-color .2s ease}.edit-override-btn:hover{background:#e8e8e8}.target-section .section-header{background:linear-gradient(135deg,#e8f5e8,#f0f8f0)}.reference-section .section-header{background:linear-gradient(135deg,#f0f4ff,#f8faff)}.comparison-section .section-header{background:linear-gradient(135deg,#fff4e6,#fffaf5)}.overrides-section .section-header{background:linear-gradient(135deg,#f3e5f5,#f9f0fa)}.loading{color:#5a6c7d;font-style:italic;padding:20px;text-align:center}.error-message{align-items:center;background:#fdf2f2;border:1px solid #e74c3c;color:#c0392b;display:flex;justify-content:space-between;margin-top:20px}.error-message button{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 15px}.error-message button:hover{background:#c0392b}.no-view-fields-message{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:center;margin:20px 0;min-height:200px}.message-content{max-width:500px;padding:20px;text-align:center}.message-content h3{color:#6c757d;margin-bottom:10px}.message-content p{color:#6c757d;margin:0}.loading-spinner{color:#6c757d;font-style:italic;padding:20px;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin:20px 0;padding:15px}.filter-hint{color:#5a6c7d;font-size:14px;font-style:italic;margin-top:10px}@media (max-width:1200px){.filters-row{flex-wrap:wrap;gap:8px}.filter-column{max-width:550px;min-width:550px;width:550px}.category-title{font-size:16px}}.scenario-results-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:30px;overflow:hidden}.scenario-results-header{align-items:center;background:linear-gradient(135deg,#3498db,#2c3e50);color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.scenario-results-header h2{color:#fff;font-size:1.8em;margin:0}.scenario-actions{display:flex;gap:10px}.action-btn{background:#fff3;border:1px solid #ffffff4d;color:#fff;padding:8px 16px}.action-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.scenario-tabs{background:#fff}.tabs-header{background:#f8f9fa;border-bottom:2px solid #e1e8ed;display:flex}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#5a6c7d;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:15px 20px;position:relative;transition:all .3s}.tab-btn:hover{background:#3498db1a;color:#3498db}.tab-btn.active{background:#fff;border-bottom-color:#3498db;color:#2c3e50;font-weight:600}.tab-btn.active:after{background:#fff;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{padding:0}.tab-panel{min-height:400px;padding:25px}.panel-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.panel-header h3{color:#2c3e50;font-size:1.5em;margin:0}.panel-actions{display:flex;gap:10px}.panel-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.panel-btn:hover{box-shadow:0 4px 8px #3498db4d;transform:translateY(-1px)}.panel-btn.add-btn{background:linear-gradient(135deg,#27ae60,#229954)}.panel-btn.add-btn:hover{box-shadow:0 4px 8px #27ae604d}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.metric-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e1e8ed;border-radius:8px;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s}.metric-card:before{background:linear-gradient(90deg,#3498db,#2980b9);content:"";height:4px;left:0;position:absolute;right:0;top:0}.metric-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.metric-label{color:#5a6c7d;font-size:14px;font-weight:500}.metric-label,.metric-value{display:block;margin-bottom:8px}.metric-value{color:#2c3e50;font-size:2em;font-weight:700}.metric-change{border-radius:12px;display:block;display:inline-block;font-size:14px;font-weight:600;padding:4px 8px}.metric-change.positive{background:#27ae601a;color:#27ae60}.metric-change.negative{background:#e74c3c1a;color:#e74c3c}.metric-change.neutral{background:#95a5a61a;color:#6c757d}.comparison-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.comparison-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:25px;transition:all .3s}.comparison-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.comparison-label{color:#2c3e50;display:block;font-size:16px;font-weight:600;margin-bottom:15px}.comparison-values{align-items:center;display:flex;font-size:18px;font-weight:500;gap:15px;justify-content:center;margin-bottom:15px}.comparison-baseline{color:#5a6c7d}.comparison-arrow{color:#3498db;font-size:24px;font-weight:700}.comparison-target{color:#2c3e50;font-weight:600}.comparison-difference{border-radius:6px;display:block;font-size:16px;font-weight:600;padding:8px 12px;text-align:center}.comparison-difference.positive{background:#27ae601a;color:#27ae60}.comparison-difference.negative{background:#e74c3c1a;color:#e74c3c}.overrides-list{margin-top:20px}.override-item{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:15px;padding:20px;transition:all .3s}.override-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.override-info{display:flex;flex:1 1;flex-direction:column}.override-name{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:4px}.override-description{color:#5a6c7d;font-size:14px}.override-controls{align-items:center;display:flex;gap:10px}.override-value{border-radius:6px;font-size:18px;font-weight:700;min-width:60px;padding:6px 12px;text-align:center}.override-value.positive{background:#27ae601a;color:#27ae60}.override-value.negative{background:#e74c3c1a;color:#e74c3c}.override-btn{background:#ecf0f1;border:none;border-radius:4px;color:#5a6c7d;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.override-btn:hover{background:#d5dbdb;color:#2c3e50}.override-btn.remove-btn:hover{background:#e74c3c;color:#fff}.target-panel .panel-content{display:flex;flex-direction:column;gap:30px}.target-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex:1 1;overflow:hidden}.target-section .section-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin:0;padding:15px 20px}.target-section .section-header h4{color:#2c3e50;font-size:1.2em;font-weight:600;margin:0;overflow:visible;text-overflow:none;white-space:nowrap}.target-section .section-content{box-sizing:border-box;min-height:150px;overflow:hidden;padding:20px}.target-filters-container{box-sizing:border-box;max-width:100%;overflow:hidden;padding:0;width:100%}.target-section.filters-section .section-header{background:linear-gradient(135deg,#e8f4fd,#f0f8ff)}.target-section.values-section .section-header{background:linear-gradient(135deg,#e8f5e8,#f0f8f0)}.target-filters-container .filters-row{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:12px;max-width:100%;padding:10px 0;width:100%}.target-filters-container .filter-column{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;cursor:default;flex-basis:calc(50% - 6px);flex-grow:0;flex-shrink:1;max-width:calc(50% - 6px);min-width:280px;overflow:visible;transition:all .3s ease;width:calc(50% - 6px)}.target-filters-container .filter-column:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.target-filters-container .filter-column.minimized{box-sizing:border-box;flex-basis:calc(50% - 6px);flex-grow:0;flex-shrink:1;max-width:calc(50% - 6px);min-width:280px;width:calc(50% - 6px)}.target-filters-container .filter-column.minimized .filter-options{max-height:0;opacity:0;overflow:hidden;padding:0 8px}.target-filters-container .filter-title{align-items:center;background:#4472c4;color:#fff;display:flex;font-size:16px;font-weight:600;justify-content:space-between;margin:0;min-height:32px;padding:8px 16px;position:relative;text-align:left}.target-filters-container .filter-options{max-height:110px;opacity:1;overflow-x:hidden;overflow-y:auto;padding:8px;transition:all .3s ease}.target-filters-container .filter-controls-row{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:6px;margin-bottom:4px;padding:4px 0 8px}.target-filters-container .filter-search-input{background:#ffffffe6;border:1px solid #ffffff4d;border-radius:3px;color:#333;flex:1 1;font-size:12px;padding:4px 8px}.target-filters-container .filter-control-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;font-weight:700;min-width:35px;padding:2px 6px;text-align:center;transition:all .2s ease}.target-filters-container .selection-count{background:#ffc107;border-radius:10px;color:#333;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.target-filters-container .filter-option{align-items:center;border-radius:3px;cursor:pointer;display:flex;font-size:11px;margin-bottom:2px;padding:3px 6px;transition:background-color .2s ease}.target-filters-container .filter-option:hover{background:#4472c41a}@media (max-width:1200px){.target-filters-container .filter-column,.target-filters-container .filter-column.minimized{max-width:calc(50% - 6px);min-width:250px;width:calc(50% - 6px)}}@media (max-width:768px){.target-filters-container .filters-row{flex-direction:column;gap:8px}.target-filters-container .filter-column,.target-filters-container .filter-column.minimized{flex:1 1 100%;max-width:100%;min-width:100%;width:100%}}.reference-panel .panel-content{display:flex;flex-direction:column;gap:30px}.reference-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex:1 1;overflow:hidden}.reference-section .section-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin:0;padding:15px 20px}.reference-section .section-header h4{color:#2c3e50;font-size:1.2em;font-weight:600;margin:0;overflow:visible;text-overflow:none;white-space:nowrap}.reference-section .section-content{box-sizing:border-box;min-height:150px;overflow:hidden;padding:20px}.reference-section.filters-section .section-header{background:linear-gradient(135deg,#f0f4ff,#f8faff)}.reference-section.values-section .section-header{background:linear-gradient(135deg,#fff4e6,#fffaf5)}.reference-filters-container{box-sizing:border-box;max-width:100%;overflow:hidden;padding:0;width:100%}.reference-filters-container .filters-row{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:12px;max-width:100%;padding:10px 0;width:100%}.reference-filters-container .filter-column{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;cursor:default;flex-basis:calc(50% - 6px);flex-grow:0;flex-shrink:1;max-width:calc(50% - 6px);min-width:280px;overflow:visible;transition:all .3s ease;width:calc(50% - 6px)}.reference-filters-container .filter-column:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.reference-filters-container .filter-column.minimized{box-sizing:border-box;flex-basis:calc(50% - 6px);flex-grow:0;flex-shrink:1;max-width:calc(50% - 6px);min-width:280px;width:calc(50% - 6px)}.reference-filters-container .filter-column.minimized .filter-options{max-height:0;opacity:0;overflow:hidden;padding:0 8px}.reference-filters-container .filter-title{align-items:center;background:#4472c4;color:#fff;display:flex;font-size:16px;font-weight:600;justify-content:space-between;margin:0;min-height:32px;padding:8px 16px;position:relative;text-align:left}.reference-filters-container .filter-options{max-height:110px;opacity:1;overflow-x:hidden;overflow-y:auto;padding:8px;transition:all .3s ease}.reference-filters-container .filter-controls-row{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:6px;margin-bottom:4px;padding:4px 0 8px}.reference-filters-container .filter-search-input{background:#ffffffe6;border:1px solid #ffffff4d;border-radius:3px;color:#333;flex:1 1;font-size:12px;padding:4px 8px}.reference-filters-container .filter-control-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;font-weight:700;min-width:35px;padding:2px 6px;text-align:center;transition:all .2s ease}.reference-filters-container .selection-count{background:#ffc107;border-radius:10px;color:#333;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.reference-filters-container .filter-option{align-items:center;border-radius:3px;cursor:pointer;display:flex;font-size:11px;margin-bottom:2px;padding:3px 6px;transition:background-color .2s ease}.reference-filters-container .filter-option:hover{background:#4472c41a}@media (max-width:1200px){.reference-filters-container .filter-column,.reference-filters-container .filter-column.minimized{max-width:calc(50% - 6px);min-width:250px;width:calc(50% - 6px)}}@media (max-width:768px){.reference-filters-container .filters-row{flex-direction:column;gap:8px}.reference-filters-container .filter-column,.reference-filters-container .filter-column.minimized{flex:1 1 100%;max-width:100%;min-width:100%;width:100%}.scenario-analysis{padding:15px}.filters-row{gap:6px}.filter-column{max-width:550px;min-width:550px;width:550px}.reports-header{align-items:flex-start;flex-direction:column;gap:10px}.controls-section{align-items:stretch;flex-direction:column}.scenario-sections{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.section-actions{align-self:stretch;justify-content:flex-end}.tabs-header{flex-direction:column}.tab-btn{flex:none}.comparison-grid,.metrics-grid{grid-template-columns:1fr}.override-item{align-items:flex-start;flex-direction:column;gap:15px}.override-controls{justify-content:space-between;width:100%}}.instructions-text{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-style:italic;margin-bottom:20px;padding:15px}.target-filters-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:20px}.target-filters-title{align-items:center;border-left:3px solid #3498db;color:#2c3e50;display:flex;font-size:1.2em;font-weight:600;gap:8px;margin:0 0 20px;padding-left:8px}.target-filters-section .filter-category{margin-bottom:20px}.target-filters-section .category-title{border-left:3px solid #6c757d;font-size:1em;margin-bottom:12px;padding-left:8px}.target-filters-section .filters-row{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:5px 0}.target-filter-category{margin-bottom:20px}.target-category-title{border-left:3px solid #6c757d;color:#2c3e50;font-size:1em;font-weight:600;margin-bottom:12px;padding-left:8px}.target-pill-filters-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:15px}.target-filter-pill{align-items:center;background:#4a90e2;border:none;border-radius:25px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;min-height:40px;padding:10px 20px;transition:all .2s ease}.target-filter-pill:hover{background:#357abd;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.target-filter-pill.active{background:#2563eb;box-shadow:0 2px 8px #2563eb4d}.pill-label{flex:1 1;font-weight:500;text-align:left}.pill-arrow{font-size:12px;margin-left:10px;opacity:.8}.pill-indicator{animation:pulse 2s infinite;color:#86efac;font-size:12px;margin-left:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.target-business-table{border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;overflow-x:auto;width:100%}.business-metrics-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.business-metrics-table thead{background:linear-gradient(135deg,#2c3e50,#3498db);color:#fff}.business-metrics-table th{border-right:1px solid #fff3;font-size:14px;font-weight:600;padding:10px 8px;text-align:left}.business-metrics-table th:last-child{border-right:none}.measures-column{background:#ffffff1a;width:40%}.per-volume-column,.percent-sales-column,.total-column{text-align:center;width:20%}.measure-row{background:#fff;border-bottom:1px solid #e1e8ed;transition:background-color .2s}.measure-row:hover{background:#f8f9fa}.measure-row.highlighted{background:#e3f2fd;font-weight:600}.measure-row.highlighted:hover{background:#bbdefb}.measure-row.volume-row{background:#f1f3f4;border-top:2px solid #3498db;font-weight:600}.measure-name,.measure-value{border-right:1px solid #e1e8ed;color:#2c3e50;font-size:13px;padding:8px 10px}.measure-value{font-family:Courier New,monospace;text-align:center}.measure-value:last-child{border-right:none}.dimension-row{background:#f8f9fa;border-bottom:1px solid #e1e8ed;color:#6c757d}.dimension-name{color:#5a6c7d;font-weight:500}.dimension-name,.dimension-value{border-right:1px solid #e1e8ed;padding:12px 15px}.dimension-value{text-align:center}.dimension-value.disabled{color:#6c757d;font-style:italic}.dimension-value:last-child{border-right:none}.no-data-message{background:#f8f9fa;color:#5a6c7d;font-style:italic;padding:20px;text-align:center}.section-header-row{background:linear-gradient(135deg,#34495e,#2c3e50)}.section-header{background:#0000;border:none;padding:0!important}.section-header-content{background:linear-gradient(135deg,#34495e,#2c3e50);padding:8px 10px}.section-title{align-items:center;color:#fff!important;display:flex;font-size:14px;font-weight:600;gap:6px}.field-name-container{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.field-name{flex:1 1;text-align:left}.hide-field-btn{background:#3498db1a;border:1px solid #3498db4d;border-radius:3px;color:#3498db;cursor:pointer;flex-shrink:0;font-size:12px;opacity:.7;padding:4px 8px;transition:all .2s}.hide-field-btn:hover{background:#3498db33;opacity:1;transform:scale(1.1)}.measure-row .hide-field-btn{background:#2c3e501a;border-color:#2c3e504d;color:#2c3e50}.measure-row .hide-field-btn:hover{background:#2c3e5033}.measure-row.highlighted .hide-field-btn{background:#3498db26;border-color:#3498db66;color:#3498db}.dimension-row .hide-field-btn{background:#95a5a61a;border-color:#95a5a64d;color:#6c757d}.dimension-row .hide-field-btn:hover{background:#95a5a633;color:#5a6c7d}.target-legend{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:6px;margin-top:20px;padding:15px}.target-legend p{color:#2c3e50;font-weight:600;margin:0 0 10px}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item{color:#2c3e50;font-size:14px;gap:10px}.legend-color{border-radius:3px;flex-shrink:0;height:15px;width:20px}.measures-color{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #3498db}.dimensions-color{background:#f8f9fa;border:1px solid #95a5a6}.hidden-items-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:15px}.hidden-items-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;gap:10px;margin-bottom:15px;padding-bottom:10px}.hidden-items-header h4{color:#212529;font-size:16px;margin:0}.hidden-count{color:#495057;font-size:14px;font-style:italic}.hidden-items-container{display:flex;flex-direction:column;gap:12px}.hidden-group{align-items:flex-start;display:flex;gap:10px}.hidden-group-label{color:#212529;font-weight:600;min-width:120px;padding-top:4px}.hidden-items-list{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.unhide-item-btn{align-items:center;background:#fff;border:1px solid #adb5bd;border-radius:20px;color:#212529;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:4px 12px;transition:all .2s ease}.unhide-item-btn:hover{background:#e8f4fd;border-color:#4a90e2;box-shadow:0 2px 4px #0000001a;color:#2563eb;transform:translateY(-1px)}.unhide-item-btn:active{transform:translateY(0)}@media (max-width:768px){.target-business-table{font-size:12px}.business-metrics-table th,.dimension-name,.dimension-value,.measure-name,.measure-value{padding:8px 6px}.measures-column{width:50%}.per-volume-column,.percent-sales-column,.total-column{width:16.67%}.legend-items{flex-direction:column}.field-name-container{align-items:flex-start;flex-direction:column;gap:5px}.hide-field-btn{align-self:flex-end}}.comparison-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.comparison-section .section-header{align-items:center;border-bottom:2px solid #3498db;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.comparison-section .section-header h4{color:#2c3e50;font-size:1.3em;margin:0}.refresh-merged-btn{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.refresh-merged-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.refresh-merged-btn:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}.generate-scenario-btn{align-items:center;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.generate-scenario-btn:hover:not(:disabled){background:linear-gradient(135deg,#8e44ad,#7d3c98);box-shadow:0 4px 12px #9b59b64d;transform:translateY(-2px)}.generate-scenario-btn:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}.scenario-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;overflow:hidden}.scenario-section .section-header{align-items:center;background:linear-gradient(135deg,#f3e5f5,#f9f0fa);border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin:0;padding:15px 20px}.scenario-section .section-header h4{color:#2c3e50;font-size:1.2em;font-weight:600;margin:0}.scenario-section .section-content{padding:20px}.merged-datatable{max-width:100%;overflow-x:auto}.comparison-table{border-collapse:collapse;font-size:13px;width:100%}.comparison-table th{background:#f8f9fa;color:#2c3e50;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.comparison-table td,.comparison-table th{border:1px solid #dee2e6;white-space:nowrap}.comparison-table td{padding:10px 8px;text-align:right}.comparison-table .measure-name-cell{word-wrap:break-word;font-weight:500;max-width:250px;min-width:200px;text-align:left;white-space:normal}.target-total-cell{background-color:#e3f2fd;font-weight:600}.reference-total-cell{background-color:#f3e5f5;font-weight:600}.difference-cell{font-size:14px;font-weight:700}.difference-cell.positive{background-color:#e8f5e8;color:#2e7d32}.difference-cell.negative{background-color:#ffebee;color:#c62828}.ratio-diff-cell.positive{background-color:#e8f5e8;color:#2e7d32}.ratio-diff-cell.negative{background-color:#ffebee;color:#c62828}.comparison-table tbody tr:hover{background-color:#f5f5f5}.comparison-table tbody tr:hover .target-total-cell{background-color:#bbdefb}.comparison-table tbody tr:hover .reference-total-cell{background-color:#e1bee7}.comparison-table tbody tr:hover .difference-cell.positive{background-color:#c8e6c9}.comparison-table tbody tr:hover .difference-cell.negative{background-color:#ffcdd2}.comparison-table tbody tr:hover .ratio-diff-cell.positive{background-color:#c8e6c9}.comparison-table tbody tr:hover .ratio-diff-cell.negative{background-color:#ffcdd2}.info-message{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;color:#1976d2;font-style:italic;padding:20px;text-align:center}@media (max-width:1400px){.comparison-table{font-size:12px}.comparison-table td,.comparison-table th{padding:8px 6px}}@media (max-width:1200px){.comparison-table{font-size:11px}.comparison-table td,.comparison-table th{padding:6px 4px}.comparison-section .section-header{align-items:flex-start;flex-direction:column;gap:15px}.refresh-merged-btn{align-self:flex-end}}.recomputed-values-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.refresh-recomputed-btn{align-items:center;background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.refresh-recomputed-btn:hover:not(:disabled){background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.refresh-recomputed-btn:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}.recomputed-datatable{max-width:100%;overflow-x:auto}.recomputed-datatable .measures-table{border-collapse:collapse;font-size:13px;width:100%}.recomputed-datatable .measures-table th{background:#f8f9fa;border:1px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:10}.recomputed-datatable .measures-table td{border:1px solid #dee2e6;padding:10px 8px;text-align:right;white-space:nowrap}.recomputed-datatable .measure-name-cell{word-wrap:break-word;font-weight:500;max-width:250px;min-width:200px;text-align:left!important;white-space:normal}.recomputed-datatable .total-cell{background-color:#e8f5e8;color:#2e7d32;font-weight:600}.recomputed-datatable .ratio-cell{background-color:#f3e5f5;color:#7b1fa2}.recomputed-datatable tbody tr:hover{background-color:#f5f5f5}.recomputed-datatable tbody tr:hover .total-cell{background-color:#c8e6c9}.recomputed-datatable tbody tr:hover .ratio-cell{background-color:#e1bee7}.recomputed-datatable .override-cell{background-color:#fff3e0;min-width:150px;padding:8px;text-align:center}.recomputed-datatable .scenario-ratio-cell,.recomputed-datatable .scenario-total-cell{background-color:#f0f8ff;color:#666;font-weight:500;min-width:120px;padding:8px;text-align:right}.override-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;min-width:140px;padding:6px 8px;transition:all .2s ease;width:100%}.override-dropdown:hover{border-color:#007bff}.override-dropdown:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.override-dropdown:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.no-override,.override-dropdown option[disabled]{color:#999;font-style:italic}.recomputed-datatable tbody tr:hover .override-cell{background-color:#ffe0b3}.recomputed-datatable tbody tr:hover .scenario-ratio-cell,.recomputed-datatable tbody tr:hover .scenario-total-cell{background-color:#e0f0ff}@media (max-width:1400px){.recomputed-datatable .measures-table{font-size:12px}.recomputed-datatable .measures-table td,.recomputed-datatable .measures-table th{padding:8px 6px}.override-dropdown{font-size:11px;min-width:120px;padding:4px 6px}}@media (max-width:1200px){.recomputed-datatable .measures-table{font-size:11px}.recomputed-datatable .measures-table td,.recomputed-datatable .measures-table th{padding:6px 4px}.override-dropdown{font-size:10px;min-width:100px;padding:3px 4px}.recomputed-values-section .section-header{align-items:flex-start;flex-direction:column;gap:15px}.refresh-recomputed-btn{align-self:flex-end}}.business-admin-container{background:#f8f9fa;display:flex;height:100vh;margin:0;padding:0}.business-sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:200}.business-sidebar.open{flex-shrink:0;max-width:280px;min-width:280px;width:280px}.business-sidebar.closed{flex-shrink:0;max-width:70px;min-width:70px;width:70px}.link-text{text-overflow:ellipsis}.sidebar-section-title{border-bottom:2px solid #e9ecef;color:#495057;font-size:16px;font-weight:600;margin-bottom:15px;padding-bottom:8px}.profit-models-list{list-style:none;margin:0;padding:0}.profit-model-item{background:#fdfdfd;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .3s ease}.profit-model-item:hover{background:#f8f9fa;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.profit-model-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.profit-model-item.active .model-description{color:#ffffffe6}.model-name{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:5px}.model-description{margin-bottom:8px}.model-status{display:flex;justify-content:flex-end}.status-badge{border-radius:12px;padding:4px 8px}.status-badge.inactive{color:#721c24}.status-badge.draft{color:#856404}.profit-model-item.active .status-badge{background:#fff3;color:#fff}.dataframes-page .empty-state,.dataframes-page .error-state,.dataframes-page .loading-state{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e3e6ea;border-radius:16px;box-shadow:0 4px 20px #00000014;color:#6c757d;font-style:normal;margin:30px 0;padding:60px 40px;text-align:center}.dataframes-page .empty-state h3,.dataframes-page .loading-state h3{color:#495057;font-size:24px;font-weight:700;margin-bottom:15px}.dataframes-page .empty-state p,.dataframes-page .loading-state p{color:#6c757d;font-size:16px;line-height:1.6;margin-bottom:10px}.dataframes-page .error-state{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;color:#721c24}.refresh-btn{background:linear-gradient(135deg,#28a745,#20c997);border-radius:6px;justify-content:center;padding:10px;transition:all .3s;width:100%}.refresh-btn:hover:not(:disabled){box-shadow:0 4px 12px #20c9974d}.refresh-btn:disabled{opacity:.6}.business-main-content{background:#f5f7fa;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:0;overflow-y:visible;padding:80px 20px 20px;transition:margin-left .3s ease}.welcome-content h1{font-size:32px;margin-bottom:30px}.dashboard-grid{grid-gap:20px;gap:20px;margin-top:20px}.dashboard-card{border-radius:12px;box-shadow:0 2px 8px #00000014;padding:25px;transition:transform .2s,box-shadow .2s}.dashboard-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.dashboard-card p{color:#5a6c7d}.dashboard-action-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;padding:10px 20px;transition:transform .2s,box-shadow .2s}.dashboard-action-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.measure-types{display:flex;flex-direction:column;gap:12px}.measure-type{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:14px;gap:8px;padding:8px}.measure-icon{font-size:18px}.quick-actions{list-style:none;margin:0;padding:0}.quick-actions li{border-bottom:1px solid #e9ecef;color:#5a6c7d;font-size:14px;padding:10px 0}.quick-actions li:last-child{border-bottom:none}.welcome-content p{color:#6c757d;margin-bottom:15px}.info-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-top:30px;padding:25px}.info-section h3{color:#495057;font-size:20px;margin-bottom:15px}.info-section ul{margin:15px 0;padding-left:20px}.info-section li{color:#495057;line-height:1.5;margin-bottom:12px}.info-section li strong{color:#2c3e50}@media (max-width:768px){.business-sidebar{height:100vh;position:fixed;width:100%;z-index:1000}.business-sidebar.closed{overflow:hidden;width:0}.business-main-content{margin-left:0}}.business-sidebar.closed .sidebar-content,.business-sidebar.closed .sidebar-footer,.business-sidebar.closed .sidebar-header h3{display:none}.profit-models-page{max-width:1200px}.profit-models-controls{align-items:end;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:20px;margin-bottom:25px;padding:20px}.profit-models-controls .control-group{display:flex;flex-direction:column;gap:5px}.profit-models-controls .control-group label{color:#555;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profit-models-controls .model-selector,.profit-models-controls .sort-order-selector,.profit-models-controls .sort-selector{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px;transition:border-color .2s}.profit-models-controls .model-selector:focus,.profit-models-controls .sort-order-selector:focus,.profit-models-controls .sort-selector:focus{border-color:#667eea;outline:none}.dataframes-page .page-header{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e3e6ea;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:40px;padding:30px}.back-btn{background:#0000;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;margin-bottom:15px;padding:8px 16px;transition:all .2s}.back-btn:hover{background:#f8f9fa;border-color:#adb5bd}.dataframes-page .page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:32px;font-weight:800;margin:15px 0}.dataframes-page .page-header p{color:#5a6c7d;font-size:16px;line-height:1.6;margin-bottom:8px}.profit-models-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.profit-model-card{border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;padding:20px;transition:all .3s}.profit-model-card:hover{border-color:#667eea;box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.model-header{align-items:center}.model-header h3{font-size:18px;margin:0}.header-right{gap:10px}.dataframe-flag{height:24px;width:24px}.signal-light{height:40px;width:40px}.model-details{border-top:1px solid #e9ecef;display:flex;flex-direction:column;gap:10px;margin-bottom:15px;padding-top:15px}.detail-item{display:flex;font-size:14px;justify-content:space-between}.detail-label{color:#6c757d}.detail-value{color:#2c3e50;font-weight:600}.select-model-btn{border-radius:6px;font-size:14px;padding:10px;transition:all .2s;width:100%}.select-model-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.select-model-btn.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.select-model-btn.secondary{background:linear-gradient(135deg,#28a745,#20c997)}.select-model-btn.secondary:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.select-model-btn.publish{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.select-model-btn.publish:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.select-model-btn.disabled{background:#e0e0e0;color:#999;cursor:not-allowed;opacity:.6}.select-model-btn.disabled:hover{box-shadow:none;transform:none}.breadcrumb{font-size:14px;gap:10px;padding:10px 0}.breadcrumb-link{color:#667eea;padding:0;transition:color .2s}.breadcrumb-link:hover{color:#764ba2}.spinner{border:4px solid #f3f3f3;border-top-color:#667eea;margin:0 auto 20px}.dataframes-page{margin:0 auto;max-width:1400px}.dataset-generation-section{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 25px #667eea4d;margin:25px 0;padding:25px;text-align:center}.generate-dataset-btn{align-items:center;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:18px;font-weight:700;gap:12px;letter-spacing:.5px;min-width:320px;overflow:hidden;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .3s ease}.generate-dataset-btn.generate{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 6px 20px #dc354566}.generate-dataset-btn.drop{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 6px 20px #28a74566}.generate-dataset-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.generate-dataset-btn:hover:before{left:100%}.generate-dataset-btn.generate:hover{background:linear-gradient(135deg,#c82333,#dc3545);box-shadow:0 12px 35px #dc354599;transform:translateY(-3px)}.generate-dataset-btn.drop:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 12px 35px #28a74599;transform:translateY(-3px)}.generate-dataset-btn:active{transform:translateY(-1px)}.generate-dataset-btn.generate:active{box-shadow:0 8px 25px #dc354580}.generate-dataset-btn.drop:active{box-shadow:0 8px 25px #28a74580}.generate-dataset-btn:disabled{background:#6c757d;color:#adb5bd;cursor:not-allowed}.generate-dataset-btn:disabled,.generate-dataset-btn:disabled:hover{box-shadow:0 2px 8px #0000001a;transform:none}.generate-dataset-btn:disabled:before{display:none}.refresh-controls{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:20px;margin-top:20px;padding:20px}.dataframe-filter{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;padding:12px 16px}.dataframe-filter label{color:#495057;font-size:14px;font-weight:600;white-space:nowrap}.dataframe-filter select{background:#0000;border:none;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:200px;outline:none}.dataframe-filter select:focus{outline:2px solid #667eea;outline-offset:1px}.refresh-toggle-btn{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.refresh-toggle-btn:hover{box-shadow:0 3px 10px #17a2b84d;transform:translateY(-1px)}.manual-refresh-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.manual-refresh-btn:hover:not(:disabled){box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.manual-refresh-btn:disabled{cursor:not-allowed;opacity:.6}.last-refresh-time{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#6c757d;font-size:13px;font-style:italic;margin-left:auto;padding:8px 12px}.dataframes-container{margin-top:30px}.dataframes-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.summary-card h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 15px}.summary-count{color:#667eea;font-size:32px;font-weight:700}.dataframes-table-container{background:#fff;border:1px solid #e3e6ea;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.dataframes-table{border-collapse:collapse;font-size:14px;width:100%}.dataframes-table th{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:3px solid #667eea;color:#2c3e50;font-size:14px;font-weight:700;letter-spacing:.8px;padding:18px 16px;position:relative;text-align:left;text-transform:uppercase}.dataframes-table td{border-bottom:1px solid #f1f3f4;font-size:14px;padding:18px 16px;vertical-align:middle}.dataframe-row{transition:all .3s ease}.dataframe-row:hover{background:linear-gradient(135deg,#f8f9fa,#fff);transform:translateX(2px)}.dataframe-row.status-active{background:linear-gradient(90deg,#28a7450d,#0000);border-left:6px solid #28a745}.dataframe-row.status-stale{background:linear-gradient(90deg,#ffc1070d,#0000);border-left:6px solid #ffc107}.dataframe-row.status-error{background:linear-gradient(90deg,#dc35450d,#0000);border-left:6px solid #dc3545}.dataframe-name{align-items:center;color:#2c3e50;display:flex;font-weight:700;gap:10px}.dataframe-icon{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;font-size:18px;padding:4px}.measure-name{color:#5a6c7d;font-weight:500}.status-cell .status-badge{border-radius:16px;box-shadow:0 2px 4px #0000001a;font-size:12px;font-weight:700;letter-spacing:.8px;padding:6px 12px;text-transform:uppercase}.status-badge.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;color:#155724}.status-badge.stale{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffeaa7;color:#856404}.status-badge.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb}.memory-usage,.rows-count{background:#f8f9fa;border-radius:4px;color:#495057;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:600;padding:4px 8px}.created-date,.updated-date{color:#6c757d;font-size:13px;font-weight:500}.actions-cell{white-space:nowrap}.action-btn{background:#0000;border:1px solid #dee2e6;border-radius:4px;color:#495057;font-weight:500;margin-right:5px;padding:6px 10px;transition:all .2s}.action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.view-btn:hover{background:#e7f3ff;border-color:#06c;color:#06c}.refresh-btn:hover{background:#e8f5e8;border-color:#28a745;color:#28a745}.delete-btn:hover{background:#fde8e8;border-color:#dc3545;color:#dc3545}.action-btn:last-child{margin-right:0}@media (max-width:1200px){.dataframes-table{font-size:13px}.dataframes-table td,.dataframes-table th{padding:12px 8px}.action-btn{font-size:11px;padding:4px 8px}}@media (max-width:768px){.dataframes-summary{grid-template-columns:1fr}.dataframes-table-container{overflow-x:auto}.dataframes-table{min-width:800px}}.business-sidebar.closed~.business-main-content .admin-topbar{left:70px;width:calc(90vw - 63px)}.business-sidebar.closed~.business-main-content{margin-left:70px}.business-sidebar.closed~.business-main-content .content-wrapper{max-width:calc(81vw - 56.7px);width:calc(81vw - 56.7px)}.actions-cell{padding:8px}.delete-btn{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;margin:0 auto;padding:6px 12px;transition:all .2s ease}.delete-btn:hover{background:#c82333;box-shadow:0 2px 8px #dc35454d;transform:translateY(-1px)}.delete-btn:active{transform:translateY(0)}.no-actions{color:#999;display:block;font-style:italic;text-align:center}.type-value{color:#2c3e50;font-weight:700}.action-buttons{flex-wrap:wrap;gap:8px;justify-content:center}.action-buttons,.review-btn{align-items:center;display:flex}.review-btn{background:#007cba;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .2s ease}.review-btn:hover{background:#005a84;box-shadow:0 2px 8px #007cba4d;transform:translateY(-1px)}.review-btn:active{transform:translateY(0)}.review-dataframe-page{margin:0 auto;max-width:1200px;padding:24px}.dataframe-info-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:24px}.info-card{background:#fff;border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 4px 16px #00000014;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.info-card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.info-card h3{border-bottom:2px solid #667eea;color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.info-row{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:12px 0}.info-row:last-child{border-bottom:none}.info-row .label{color:#5a6c7d;flex:0 0 140px;font-weight:600}.info-row .value{color:#2c3e50;flex:1 1;font-weight:500;text-align:right}.info-row .value.status-active{color:#28a745;font-weight:600}.info-row .value.status-stale{color:#ffc107;font-weight:600}.info-row .value.status-error{color:#dc3545;font-weight:600}.action-buttons-vertical{display:flex;flex-direction:column;gap:12px}.action-btn{align-items:center;border-radius:8px;display:flex;font-size:14px;gap:8px;justify-content:center;padding:12px 20px;text-decoration:none;transition:all .2s ease}.action-btn.secondary{background:#6c757d;color:#fff}.action-btn.secondary:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.action-btn.danger{background:#dc3545;color:#fff}.action-btn.danger:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.action-btn.danger.disabled,.action-btn.danger:disabled{background:#6c757d;box-shadow:none;color:#adb5bd;cursor:not-allowed;opacity:.6;transform:none}.action-btn.danger.disabled:hover,.action-btn.danger:disabled:hover{background:#6c757d;box-shadow:none;transform:none}.review-table-container{background:#fff;border:1px solid #e3e6ea;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-top:24px;overflow:hidden}.review-dataframe-table{border-collapse:collapse;font-size:14px;width:100%}.review-dataframe-table th{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:3px solid #667eea;color:#2c3e50;font-size:14px;font-weight:700;letter-spacing:.8px;padding:18px 16px;text-align:left;text-transform:uppercase}.review-dataframe-table td{border-bottom:1px solid #f1f3f4;font-size:14px;padding:18px 16px;vertical-align:middle}.review-dataframe-table .dataframe-name{color:#2c3e50;font-weight:700}.review-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.review-actions .action-btn{font-size:12px;min-width:auto;padding:8px 16px}.reconciliation-section{border-top:2px solid #e3e6ea;margin-top:32px;padding-top:24px}.reconciliation-header{margin-bottom:24px;text-align:center}.reconciliation-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.reconciliation-header h2{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.reconciliation-header p{color:#5a6c7d;font-size:16px;margin:0}.reconciliation-tables{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.reconciliation-table-wrapper{background:#fff;border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.reconciliation-table-wrapper h3{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;color:#fff;font-size:16px;font-weight:700;margin:0;padding:16px 20px;text-shadow:0 1px 2px #0000001a}.stats-table-container{overflow:hidden}.reconciliation-stats-table{border-collapse:collapse;font-size:14px;width:100%}.reconciliation-stats-table th{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #667eea;color:#2c3e50;font-size:13px;font-weight:700;letter-spacing:.8px;padding:14px 18px;text-align:left;text-transform:uppercase}.reconciliation-stats-table td{border-bottom:1px solid #f1f3f4;padding:14px 18px;transition:background-color .2s ease;vertical-align:middle}.reconciliation-stats-table tr:hover td{background-color:#f8f9fa}.reconciliation-stats-table td:first-child{background:#fafbfc;color:#5a6c7d;font-weight:600}.stat-value{color:#2c3e50;font-family:Segoe UI,Roboto,monospace;font-weight:600;text-align:right}.no-production-message{background:#f8f9fa;color:#5a6c7d;padding:24px 20px;text-align:center}.no-production-message p{line-height:1.5;margin:8px 0}@media (max-width:768px){.reconciliation-tables{gap:16px;grid-template-columns:1fr}.reconciliation-actions{align-items:center;flex-direction:column}}.refresh-button-container{display:flex;justify-content:flex-end;margin:20px 0 16px;padding:0 4px}.refresh-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.refresh-btn:active:not(:disabled){box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}.refresh-btn:disabled{background:#cbd5e0;box-shadow:0 2px 4px #0000001a;color:#a0aec0;cursor:not-allowed;transform:none}@media (max-width:768px){.refresh-button-container{justify-content:center;margin:16px 0 12px}.refresh-btn{font-size:13px;padding:8px 16px}}.manage-profit-models{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:16px;box-shadow:0 8px 32px #00000014;padding:40px}.models-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.models-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin:0}.add-model-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:12px;box-shadow:0 4px 15px #3498db4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-model-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-model-btn:hover{box-shadow:0 8px 25px #3498db66;transform:translateY(-3px)}.add-model-btn:hover:before{left:100%}.add-model-btn:active{transform:translateY(-1px)}.models-table-container{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow-x:auto}.models-table{border-collapse:collapse;width:100%}.models-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#495057;font-size:14px;font-weight:700;letter-spacing:.5px;padding:18px 16px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.models-table td{border-bottom:1px solid #f1f3f4;padding:16px;transition:all .2s ease;vertical-align:middle}.models-table tr:hover{background:linear-gradient(135deg,#f8f9fa,#fff);box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.model-name{color:#2c3e50;font-size:16px;font-weight:700;letter-spacing:-.3px}.model-description{line-height:1.4;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-cost{color:#27ae60}.model-cost,.model-margin{font-size:15px;font-weight:700}.model-margin{color:#e67e22}.model-date{font-size:13px}.model-date,.no-data{color:#6c757d;font-weight:500}.no-data{background:linear-gradient(135deg,#f8f9fa,#fff);font-size:16px;padding:60px 40px!important;text-align:center}.status{align-items:center;border-radius:25px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.5px;min-width:80px;overflow:hidden;padding:8px 16px;position:relative;text-transform:uppercase;vertical-align:middle}.status.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #b8dacc;color:#155724}.status.inactive{background:linear-gradient(135deg,#f8d7da,#f1b2b7);border:1px solid #f1b2b7;color:#721c24}.status.draft{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffeaa7;color:#856404}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:normal;margin:0 4px;min-width:auto;overflow:hidden;padding:6px 12px;position:relative;text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-btn:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s;width:100%}.action-btn:hover:before{left:100%}.action-btn.edit{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 3px 12px #3498db4d;color:#fff}.action-btn.edit:hover{background:linear-gradient(135deg,#2980b9,#1f4e79);box-shadow:0 6px 20px #3498db66;transform:translateY(-2px)}.action-btn.delete{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 3px 12px #e74c3c4d;color:#fff}.action-btn.delete:hover{background:linear-gradient(135deg,#c0392b,#922b21);box-shadow:0 6px 20px #e74c3c66;transform:translateY(-2px)}.action-btn.manage-files{background:linear-gradient(135deg,#27ae60,#229954);box-shadow:0 3px 12px #27ae604d;color:#fff}.action-btn.manage-files:hover{background:linear-gradient(135deg,#229954,#1e7e34);box-shadow:0 6px 20px #27ae6066;transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}.actions-container{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.name-with-flag{align-items:center;display:flex;gap:10px}.dataframe-flag{cursor:help;display:inline-block;height:20px;margin-left:8px;transition:transform .3s ease;width:20px}.dataframe-flag:hover{transform:scale(1.2)}.attribute-flag{cursor:help;display:inline-block;height:24px;margin-left:8px;transition:transform .3s ease;width:24px}.attribute-flag:hover{transform:scale(1.2)}.signal-light{height:32px;margin-left:8px;width:32px}.signal-light:hover{transform:scale(1.2)}.status-text{color:#2c3e50;display:inline-block;font-size:14px;font-weight:500;margin-top:-20px}.modal-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-content{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:20px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:650px;padding:40px}.modal-content h3{border-bottom:2px solid #e9ecef;font-size:1.8rem;font-weight:700;margin-bottom:30px;padding-bottom:15px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content .form-group{margin-bottom:25px}.form-row{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr}.modal-content label{color:#495057;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.modal-content input,.modal-content select,.modal-content textarea{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-size:15px;padding:14px 16px;resize:vertical;transition:all .3s ease;width:100%}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{background:#fff;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none;transform:translateY(-1px)}.modal-actions{border-top:2px solid #e9ecef;gap:15px;margin-top:35px;padding-top:25px}.cancel-btn{background:linear-gradient(135deg,#95a5a6,#7f8c8d);border-radius:10px;font-size:15px;letter-spacing:.5px;min-width:120px;padding:14px 28px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.cancel-btn:hover{background:linear-gradient(135deg,#7f8c8d,#6c7b7d);box-shadow:0 6px 20px #7f8c8d4d;transform:translateY(-2px)}.submit-btn{border-radius:10px;box-shadow:0 4px 15px #27ae604d;font-size:15px;letter-spacing:.5px;min-width:120px;padding:14px 28px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.submit-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 8px 25px #27ae6066;transform:translateY(-2px)}.form-group input.error,.form-group textarea.error{background-color:#fef5f5;border-color:#e74c3c!important}.form-group .error-message{color:#e74c3c;display:block;font-size:12px;font-weight:500;margin-top:5px}.form-group .field-hint{color:#7f8c8d;display:block;font-size:11px;font-style:italic;margin-top:5px}.error-message{animation:slideDown .2s ease-out}@media (max-width:1200px){.models-header h2{font-size:1.9rem}.add-model-btn{font-size:15px;padding:12px 24px}}@media (max-width:768px){.manage-profit-models{border-radius:12px;padding:25px}.models-header{flex-direction:column;gap:20px;text-align:center}.models-header h2{font-size:1.6rem}.add-model-btn{font-size:16px;padding:16px;width:100%}.models-table td,.models-table th{font-size:13px;padding:12px 8px}.action-btn{font-size:12px;min-width:60px;padding:8px 12px}.actions-container{flex-direction:column;gap:6px}.modal-content{border-radius:15px;padding:25px;width:95%}.modal-content h3{font-size:1.5rem}.modal-actions{flex-direction:column;gap:10px}.cancel-btn,.submit-btn{padding:16px;width:100%}}@media (max-width:480px){.manage-profit-models{padding:20px}.models-header h2{font-size:1.4rem}.models-table-container{font-size:12px}.model-description{max-width:150px}}.models-table tbody tr{transition:all .3s cubic-bezier(.4,0,.2,1)}.models-table tbody tr:hover{background:linear-gradient(135deg,#f1f5f9,#fff);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.action-btn:focus,.add-model-btn:focus,.cancel-btn:focus,.submit-btn:focus{outline:3px solid #3498db4d;outline-offset:2px}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calendar-widget{background:#fff;border:1px solid #e1e5e9;border-radius:8px;margin:10px 0;padding:15px}.calendar-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.calendar-header h4{color:#2c3e50;font-size:14px;margin:0}.selection-status{font-size:12px;font-weight:500}.selecting-start{color:#28a745}.selecting-end{color:#17a2b8}.calendar-legend{background:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:6px}.legend-item{align-items:center;color:#6c757d;display:flex;font-size:10px;gap:4px}.legend-color{border:1px solid #dee2e6;border-radius:2px;height:10px;width:10px}.legend-color.available{background:#e3f2fd;border-color:#2196f3}.legend-color.disabled{background:#f5f5f5;border-color:#ccc;opacity:.5}.legend-color.production-data{background:#fff3cd;border-color:#ffc107}.legend-color.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.calendar-years{display:flex;flex-direction:column;gap:10px}.calendar-year{background:#fafbfc;border:1px solid #e1e5e9;border-radius:4px;padding:8px}.year-header{color:#2c3e50;font-size:12px;font-weight:600;margin:0 0 8px;text-align:center}.months-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(12,1fr)}.calendar-month{align-items:center;background:#e3f2fd;border:1px solid #e1e5e9;border-radius:3px;cursor:pointer;display:flex;height:20px;justify-content:center;padding:2px;position:relative;transition:all .2s ease}.calendar-month:hover:not(.disabled){box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.calendar-month.disabled{background:#f5f5f5;color:#adb5bd;cursor:not-allowed;opacity:.4}.calendar-month.disabled:hover{box-shadow:none;transform:none}.calendar-month.production-data{background:#fff3cd;border-color:#ffc107}.calendar-month.production-data:after{color:#ffc107;content:"•";font-size:6px;position:absolute;right:1px;top:0}.calendar-month.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:600}.calendar-month.start-month{border-left:2px solid #28a745}.calendar-month.end-month{border-right:2px solid #17a2b8}.month-name{font-size:9px;font-weight:600}.selected-range-display{background:#e8f5e8;border:1px solid #28a745;border-radius:4px;color:#155724;font-size:12px;margin-top:10px;padding:6px;text-align:center}@media (max-width:768px){.calendar-legend{flex-direction:column;gap:4px}.months-grid{gap:2px;grid-template-columns:repeat(6,1fr)}.calendar-month{height:18px}.month-name{font-size:8px}}.import-input-files{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin:0 auto;max-width:1200px;padding:30px}.breadcrumbs{align-items:center;background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;display:flex;margin-bottom:20px;padding:12px 16px}.breadcrumb-link{color:#3498db;font-weight:500;padding:4px 0;transition:color .3s ease}.breadcrumb-link:hover{color:#2980b9;text-decoration:underline}.breadcrumb-separator{color:#7f8c8d;font-size:16px;font-weight:600;margin:0 12px}.breadcrumb-current{color:#2c3e50;font-weight:600}.import-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.import-header h2{color:#2c3e50;margin:0}.reset-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .3s}.reset-btn:hover{background:#c0392b}.model-selection{border-left:4px solid #3498db;margin-bottom:30px}.model-selection,.reference-keys-status{background:#f8f9fa;border-radius:8px;padding:20px}.reference-keys-status{border-left:4px solid #f39c12;margin-bottom:25px}.reference-keys-status h3{color:#2c3e50;font-size:18px;margin:0 0 15px}.keys-exist{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.keys-info{flex:1 1}.status-indicator{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.keys-exist .status-indicator{color:#27ae60}.keys-unset .status-indicator{color:#f39c12}.keys-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.key-container{align-items:center;display:flex;flex-direction:column;gap:4px}.key-badge{background:#3498db;border-radius:20px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.key-datatype{background:#6f42c1;border-radius:3px;color:#fff;font-size:10px;font-weight:400;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase}.reference-keys-actions{display:flex;flex-wrap:wrap;gap:10px}.clear-keys-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .3s;white-space:nowrap}.clear-keys-btn:hover{background:#c0392b}.keys-unset p{color:#666;font-size:14px;margin:8px 0 0}.danger-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .3s}.danger-btn:hover{background:#c0392b}.model-selection h3{color:#2c3e50;font-size:18px;margin:0 0 15px}.model-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;width:100%}.model-dropdown:focus{border-color:#3498db;outline:none}.import-sections{grid-gap:30px;display:grid;gap:30px}.import-section{background:#fdfdfd;border:2px solid #ecf0f1;border-radius:10px;padding:25px}.import-section.disabled{background:#f5f5f5;border-color:#d0d0d0;opacity:.7}.import-section h3{align-items:center;color:#2c3e50;display:flex;font-size:20px;gap:10px;margin:0 0 10px}.section-description{color:#7f8c8d;font-style:italic;line-height:1.5;margin-bottom:20px}.file-upload-area{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;padding:40px;text-align:center;transition:all .3s}.file-upload-area:hover{background:#ebf3fd;border-color:#3498db}.file-input{display:none}.file-upload-label{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:12px 24px;transition:transform .2s}.file-upload-label:hover{transform:translateY(-2px)}.other-files-upload{margin-bottom:20px}.upload-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.alias-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:200px;padding:10px}.alias-input:focus{border-color:#3498db;outline:none}.file-status{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin:15px 0;padding:20px;transition:all .3s}.file-status.success{background:#f8fff8;border-color:#27ae60}.file-status.error{background:#fff5f5;border-color:#e74c3c}.file-status.uploading{background:#fffcf5;border-color:#f39c12}.file-info{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:10px}.file-name{color:#2c3e50;font-size:16px;font-weight:600}.file-alias{background:#ecf0f1;border-radius:20px;color:#555;font-size:14px;padding:4px 12px}.status-badge{font-size:12px;padding:4px 12px}.status-badge.success{background:#d4edda;color:#155724}.status-badge.error{background:#f8d7da;color:#721c24}.status-badge.uploading{background:#fff3cd;color:#856404}.file-details{background:#f8f9fa;color:#555}.error-message,.file-details{border-radius:4px;margin:10px 0;padding:10px}.error-message{background:#fff5f5;border-left:4px solid #e74c3c;color:#e74c3c;font-size:14px}.error-actions{display:flex;gap:10px;margin-top:15px}.retry-btn{border-radius:4px;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease}.retry-btn:hover{transform:translateY(-1px)}.remove-file-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background .3s}.remove-file-btn:hover{background:#c0392b}.other-files-list h4,.other-files-table h4{color:#2c3e50;font-size:16px;margin:20px 0 15px}.files-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:15px;overflow:hidden;width:100%}.files-table th{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-size:14px;font-weight:600;padding:12px;text-align:left}.files-table td{border-bottom:1px solid #ecf0f1;padding:12px;vertical-align:middle}.file-row.success{background:#f8fff8}.file-row.error{background:#fff5f5}.file-row.uploading{background:#fffcf5}.file-name-cell{color:#2c3e50;font-weight:600}.alias-cell{color:#555;font-weight:500}.actions-cell,.status-cell{text-align:center}.delete-file-btn{align-items:center;background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .3s}.delete-file-btn:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.delete-file-btn:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.files-table tr:last-child td{border-bottom:none}.active-area{border-top:2px solid #ecf0f1;margin-top:25px;padding-top:20px}.active-area h4{align-items:center;color:#2c3e50;display:flex;font-size:16px;gap:8px;margin:0 0 15px}.active-area h4:before{content:"📋"}.active-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.active-table th{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-size:14px;font-weight:600;padding:12px;text-align:left}.active-table td{border-bottom:1px solid #ecf0f1;padding:12px;vertical-align:middle}.active-row{background:#f8fff8;transition:background-color .2s}.active-row:hover{background:#e8f5e8}.storage-cell{color:#27ae60;font-weight:500;text-transform:capitalize}.timestamp-cell{color:#666;font-size:13px}.update-active-btn{align-items:center;background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-right:8px;padding:6px 12px;transition:all .3s}.update-active-btn:hover{background:#2980b9;transform:translateY(-1px)}.update-active-btn.disabled{background:#bdc3c7;color:#7f8c8d;cursor:not-allowed;opacity:.6}.update-active-btn.disabled:hover{background:#bdc3c7;transform:none}.import-type-cell{text-align:center;vertical-align:middle}.import-type-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.import-type-badge.new{background:#e8f5e8;border:1px solid #a8d5a8;color:#2e7d2e}.import-type-badge.update{background:#e3f2fd;border:1px solid #90caf9;color:#1565c0}.date-range-cell{color:#555;font-family:Courier New,monospace;font-size:12px;text-align:center;vertical-align:middle;white-space:nowrap}.actions-cell{align-items:center;display:flex;gap:8px}.delete-active-btn{align-items:center;background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .3s}.delete-active-btn:hover{background:#c0392b;transform:translateY(-1px)}.active-table tr:last-child td{border-bottom:none}.upload-status-area{margin-bottom:20px;margin-top:20px}.upload-status-area h4{color:#2c3e50;font-size:16px;margin:0 0 15px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:10px;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-content h3{color:#2c3e50;margin-bottom:15px;margin-top:0}.modal-content p{color:#7f8c8d;line-height:1.5;margin-bottom:20px}.reference-keys-list{border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;max-height:300px;overflow-y:auto;padding:15px}.checkbox-label{color:#2c3e50;cursor:pointer;display:block;font-size:14px;padding:8px 0}.checkbox-label input[type=checkbox]{margin-right:8px}.checkbox-label:hover{background:#f8f9fa;border-radius:4px;padding-left:5px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#95a5a6;border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px}.cancel-btn:hover{background:#7f8c8d}.submit-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.submit-btn:hover{transform:translateY(-1px)}.section-header{border-radius:6px;cursor:pointer;margin:-5px;padding:5px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.section-header:hover{background-color:#f8f9fa}.section-header.disabled{color:#999;cursor:not-allowed!important}.section-header.disabled:hover{background:none}.disabled-indicator{color:#999;font-size:12px;font-style:italic;font-weight:400;margin-left:10px}.calculate-date-range-btn{align-items:center;background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .3s}.calculate-date-range-btn:hover{background:#138496;transform:translateY(-1px)}.section-header h3{align-items:center;display:flex;justify-content:space-between;margin:0}.collapse-icon{color:#3498db;font-size:14px;font-weight:700;margin-left:10px;transition:transform .3s ease}.collapse-icon.expanded{transform:rotate(0deg)}.collapse-icon.collapsed{transform:rotate(-90deg)}.section-content,.section3-content{animation:slideDown .3s ease-out}@keyframes slideDown{0%{max-height:0;opacity:0;overflow:hidden}to{max-height:1000px;opacity:1;overflow:visible}}.external-data-container,.external-data-table-container{margin-bottom:30px}.external-data-container h4,.external-data-table-container h4,.last-published-container h4{align-items:center;color:#2c3e50;display:flex;font-size:16px;gap:8px;margin:0 0 15px}.external-data-table,.last-published-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.external-data-table th{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.external-data-table th,.last-published-table th{color:#fff;font-size:14px;font-weight:600;padding:12px 15px;text-align:left}.last-published-table th{background:linear-gradient(135deg,#27ae60,#2ecc71)}.external-data-table td,.last-published-table td{border-bottom:1px solid #ecf0f1;padding:12px 15px;vertical-align:middle}.external-data-row,.published-data-row{background:#fefeff;transition:background-color .2s}.external-data-row:hover,.published-data-row:hover{background:#f8f9ff}.external-data-row:nth-child(2n),.published-data-row:nth-child(2n){background:#f9f9fb}.external-data-row:nth-child(2n):hover,.published-data-row:nth-child(2n):hover{background:#f0f0f5}.source-cell{color:#2c3e50;font-weight:600}.data-type-cell{color:#555;font-weight:500}.last-update-cell{color:#666;font-family:Courier New,monospace;font-size:13px}.external-data-table tr:last-child td,.last-published-table tr:last-child td{border-bottom:none}.headers-cell{color:#555;font-family:Courier New,monospace;font-size:13px;max-width:400px;word-break:break-word}.empty-cell{color:#999;font-style:italic;padding:20px;text-align:center}.publish-button-container{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin:30px 0;padding:20px;text-align:center}.publish-btn{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:10px;margin-bottom:10px;padding:12px 30px;transition:all .3s}.publish-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#3498db);box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.publish-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.button-note{color:#666;font-size:14px;line-height:1.4;margin:0}.last-published-container{border-top:2px solid #ecf0f1;margin-top:30px;padding-top:20px}.section3-notes{background:#f8f9fa;border-left:4px solid #9b59b6;border-radius:8px;padding:20px}.section3-notes h4{align-items:center;color:#2c3e50;display:flex;font-size:16px;gap:8px;margin:0 0 15px}.section3-notes ul{margin:0;padding-left:20px}.section3-notes li{color:#555;line-height:1.5;margin-bottom:8px}.section3-notes li:last-child{margin-bottom:0}.file-management{background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:8px;padding:20px}.file-button-container{margin-top:20px;text-align:center}.show-files-btn{align-items:center;background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:10px;padding:12px 30px;transition:all .3s}.show-files-btn:hover{background:linear-gradient(135deg,#138496,#17a2b8);box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.active-files-display{background:#fff;border:2px solid #17a2b8;border-radius:8px;box-shadow:0 2px 8px #17a2b81a;margin-top:20px;padding:20px}.active-files-display h5{color:#17a2b8;font-size:16px;font-weight:600;margin:0 0 15px}.files-list{margin-bottom:15px}.file-type-group{border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;overflow:hidden}.file-type-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#495057;display:flex;font-size:14px;font-weight:600;margin:0;padding:10px 15px}.file-type-group .file-item{border-bottom:1px solid #f1f3f4;margin:0;padding:12px 15px}.file-type-group .file-item>div:first-child{justify-content:flex-start;text-align:left}.file-type-group .file-item:last-child{border-bottom:none}.file-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.file-item:last-child{border-bottom:none}.file-item>div{align-items:center;display:flex;flex:1 1}.file-number{color:#17a2b8;font-weight:600;margin-right:10px;min-width:25px}.file-details{color:#2c3e50;flex:1 1;font-size:14px}.file-details strong{color:#17a2b8;font-weight:600}.df-buttons-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.df-action-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;justify-content:center;min-width:90px;padding:6px 12px;transition:all .3s;white-space:nowrap}.df-action-btn.create-df{background:#28a745;color:#fff}.df-action-btn.create-df:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.df-action-btn.view-df{background:#007bff;color:#fff}.df-action-btn.view-df:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.df-action-btn.drop-df{background:#dc3545;color:#fff}.df-action-btn.drop-df:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.df-action-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.close-list-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s}.close-list-btn:hover{background:#c82333;transform:translateY(-1px)}.dataframe-preview-modal{display:flex;flex-direction:column;max-height:90vh;max-width:95vw;overflow:hidden;width:auto}.modal-header{border-bottom:2px solid #ecf0f1;margin-bottom:20px;padding-bottom:15px}.modal-header h3{color:#2c3e50;font-size:20px;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:20px;padding:5px;transition:all .2s}.close-btn:hover{background:#ecf0f1;color:#e74c3c}.dataframe-info{background:#f8f9fa;border-left:4px solid #3498db;border-radius:6px;margin-bottom:20px;padding:15px}.dataframe-info p{color:#2c3e50;font-size:14px;margin:0 0 5px}.preview-note{color:#7f8c8d!important;font-size:13px!important;font-style:italic}.dataframe-table-container{border:1px solid #dee2e6;border-radius:6px;flex:1 1;margin-bottom:20px;overflow:auto}.dataframe-table{border-collapse:collapse;font-size:13px;width:100%}.dataframe-header{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;min-width:150px;padding:0;position:-webkit-sticky;position:sticky;top:0;vertical-align:top;z-index:10}.header-content{padding:8px 12px 4px}.sort-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:0;text-align:left;transition:opacity .2s;width:100%}.sort-btn:hover{opacity:.8}.sort-indicator{font-size:11px;margin-left:4px}.filter-input-container{padding:4px 12px 8px}.filter-input{background:#ffffffe6;border:none;border-radius:4px;color:#2c3e50;font-size:12px;padding:4px 8px;width:100%}.filter-input:focus{background:#fff;box-shadow:0 0 0 2px #ffffff80;outline:none}.filter-input::placeholder{color:#7f8c8d;font-size:11px}.dataframe-row{transition:background-color .2s}.dataframe-row:nth-child(2n){background-color:#f8f9fa}.dataframe-row:hover{background-color:#e3f2fd}.dataframe-cell{word-wrap:break-word;border-bottom:1px solid #ecf0f1;color:#2c3e50;font-size:13px;max-width:200px;overflow-wrap:break-word;padding:8px 12px}.dataframe-table tbody tr:last-child .dataframe-cell{border-bottom:none}@media (max-width:768px){.upload-controls{align-items:stretch;flex-direction:column}.file-info{gap:8px}.file-info,.import-header{align-items:flex-start;flex-direction:column}.import-header{gap:15px}.external-data-table{font-size:13px}.external-data-table td,.external-data-table th{padding:8px 10px}.section-header h3{font-size:18px}.dataframe-preview-modal{max-width:98vw;padding:15px}.dataframe-table{font-size:11px}.dataframe-header{min-width:120px}.filter-input{font-size:11px}}.publish-dataframes-container{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.publish-buttons-row{display:flex;gap:15px;justify-content:center;margin-bottom:10px}.publish-dataframes-btn{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:16px;font-weight:600;min-width:200px;padding:12px 24px;transition:all .3s ease}.publish-dataframes-btn.publish{background-color:#28a745;color:#fff}.publish-dataframes-btn.publish:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.publish-dataframes-btn.publish:disabled{background-color:#6c757d;color:#adb5bd;cursor:not-allowed;opacity:.6}.publish-dataframes-btn.unpublish{background-color:#dc3545;color:#fff}.publish-dataframes-btn.unpublish:hover:not(:disabled){background-color:#c82333;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.publish-dataframes-btn.unpublish:disabled{background-color:#6c757d;color:#adb5bd;cursor:not-allowed;opacity:.6}.publish-note{color:#6c757d;font-style:italic}.publish-note,.publish-status{font-size:14px;margin-top:10px}.publish-status{color:#28a745;font-weight:500}.dataframe-preview-modal.resizable{overflow:auto;position:relative;resize:both}.modal-header-controls{align-items:center;display:flex;gap:10px}.copy-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .3s ease}.copy-btn:hover{background-color:#0056b3;transform:translateY(-1px)}.dataframe-controls{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px;padding:10px 0}.dataframe-info{flex:1 1}.row-limit-control{align-items:center;display:flex;flex-shrink:0;gap:10px}.row-limit-control label{color:#333;font-size:14px;font-weight:500}.row-limit-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px}.row-limit-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.resize-hint{color:#6c757d;font-size:12px;font-style:italic;margin-right:auto}@media (max-width:768px){.dataframe-controls{align-items:flex-start;flex-direction:column}.row-limit-control{align-self:stretch;justify-content:space-between}.modal-header-controls{flex-direction:column;gap:8px}}.radio-group{margin:20px 0}.radio-option{background-color:#f8f9fa;border:2px solid #e1e5e9;gap:12px}.radio-option:hover{background-color:#e3f2fd}.radio-option input[type=radio]{accent-color:#3498db;cursor:pointer;height:18px;margin:0;width:18px}.radio-option:has(input[type=radio]:checked){background-color:#e3f2fd;box-shadow:0 0 0 1px #3498db33}.radio-content strong{font-weight:600}.radio-content p{color:#5a6c7d}.primary-btn{background:#3498db;padding:10px 20px;transition:background .3s}.primary-btn:hover{background:#2980b9}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #dee2e6;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;margin:-30px -30px 0;padding:25px 30px 20px}.modal-header h2{font-size:20px;font-weight:600;margin:0}.modal-close{background:#fff3;border:1px solid #ffffff4d;font-size:18px;height:35px;width:35px}.modal-close:hover{background:#ffffff4d}.modal-body{padding:30px 0 0}.modal-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:25px;padding:15px}.modal-info p{color:#495057;font-size:14px;line-height:1.6;margin:0}.mapping-table-container{background:#fff;border:2px solid #bdc3c7;border-radius:10px;box-shadow:0 4px 12px #0000001a;margin-bottom:20px;max-height:400px;overflow-y:auto}.mapping-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.mapping-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);position:-webkit-sticky;position:sticky;top:0;z-index:1}.mapping-table th{border-bottom:3px solid #1a252f;color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;padding:14px 15px;text-align:left;text-shadow:0 1px 2px #0000004d;text-transform:uppercase;white-space:nowrap}.mapping-table td{background:#fff;border-bottom:1px solid #bdc3c7;padding:14px 15px;vertical-align:middle}.mapping-table tbody tr:nth-child(2n){background:#f8f9fa}.mapping-table tbody tr:hover{background:#e8f4fd;box-shadow:0 2px 4px #0000001a}.column-header-cell{color:#1a252f;font-weight:700;max-width:200px}.column-header-name{background:linear-gradient(135deg,#3498db,#2980b9);border:1px solid #2980b9;border-radius:6px;box-shadow:0 2px 4px #3498db4d;color:#fff;display:inline-block;font-family:Courier New,monospace;font-size:12px;font-weight:600;max-width:100%;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.checkbox-cell{text-align:center;width:120px}.checkbox-container{cursor:pointer;display:inline-block;position:relative}.checkbox-container input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkbox-checkmark{background:#fff;border:2px solid #bdc3c7;border-radius:4px;display:inline-block;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-container:hover .checkbox-checkmark{border-color:#3498db}.checkbox-container input[type=checkbox]:checked+.checkbox-checkmark{background:#3498db;border-color:#3498db}.checkbox-container input[type=checkbox]:checked+.checkbox-checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.datatype-cell{min-width:140px}.datatype-select{background:linear-gradient(135deg,#ecf0f1,#d5dbdb);border:2px solid #95a5a6;border-radius:6px;color:#2c3e50;font-size:13px;font-weight:600;padding:10px 12px}.datatype-select:focus{background:#fff;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2233}.datatype-select:hover{background:linear-gradient(135deg,#d5dbdb,#bdc3c7)}.datatype-select.disabled,.datatype-select:disabled{background:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:.6}.datatype-select.disabled:hover,.datatype-select:disabled:hover{background:#f8f9fa;border-color:#e9ecef}.modal-footer{border-top:1px solid #dee2e6;gap:15px;margin-top:20px;padding:20px 0 0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-primary:disabled{background:#95a5a6;box-shadow:none;transform:none}.btn-secondary{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.btn-secondary:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.edit-datatype-btn{align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin:0 2px;padding:6px 12px;transition:all .3s}.edit-datatype-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 4px #f39c124d;transform:translateY(-1px)}.date-range-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.calendar-icon-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s}.calendar-icon-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.current-range-display{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;margin-top:10px;padding:15px}.range-selected{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.range-label{color:#495057;font-weight:600}.range-value{background:#d4edda;border-radius:4px;color:#28a745;flex:1 1;font-weight:500;min-width:200px;padding:4px 8px}.change-range-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.change-range-btn:hover{background:#5a6268}.range-not-selected{text-align:center}.warning-text{color:#dc3545;font-size:14px;font-weight:500}.calendar-modal{max-height:70vh;max-width:600px;overflow-y:auto;width:70vw}.calendar-modal .modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;margin:-20px -20px 20px;padding:15px 20px}.calendar-modal .modal-header h3{font-size:18px;margin:0}.modal-close{border-radius:50%;color:#fff;transition:background .2s}.modal-close:hover{background:#ffffff1a}.calendar-modal-content{padding:20px 0}.calendar-info{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.calendar-info p{color:#495057;font-weight:500;margin:0 0 10px}.calendar-info ul{margin:0;padding-left:20px}.calendar-info li{color:#6c757d;margin:5px 0}.selected-range-preview{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:16px;margin-top:15px;padding:12px;text-align:center}.modal-footer{border-top:1px solid #e1e5e9;display:flex;gap:10px;justify-content:flex-end;margin-top:25px;padding-top:15px}.df-action-btn.create-df:disabled{cursor:not-allowed;opacity:.5}.df-action-btn.create-df:disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.date-range-header{align-items:flex-start;flex-direction:column;gap:10px}.calendar-icon-btn{justify-content:center;width:100%}.range-selected{align-items:flex-start;flex-direction:column;gap:8px}.range-value{min-width:0;min-width:auto;width:100%}.calendar-modal{max-height:80vh;width:90vw}}.columns-cell{font-size:12px;max-width:400px;padding:8px;vertical-align:top}.columns-display{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;min-height:60px;padding:8px}.columns-summary{margin-bottom:8px;text-align:center}.columns-summary strong{color:#2c3e50;font-size:13px}.columns-breakdown{display:flex;font-size:11px;justify-content:space-between;margin-top:4px}.non-ref-keys-count,.ref-keys-count{background:#e3f2fd;border-radius:3px;color:#1565c0;font-weight:500;padding:2px 6px}.non-ref-keys-count{background:#f3e5f5;color:#7b1fa2}.columns-details{border-top:1px solid #e0e0e0;margin-top:6px;max-height:200px;overflow-y:auto;padding-top:6px}.non-ref-keys-section,.ref-keys-section{margin-bottom:8px}.section-title{color:#2c3e50;font-size:11px;font-weight:700;margin-bottom:4px}.columns-list{display:flex;flex-wrap:wrap;gap:4px}.column-item{background:#fff;border:1px solid #ddd;border-radius:3px;display:inline-block;font-size:10px;line-height:1.3;margin-bottom:2px;padding:2px 6px}.column-item.ref-key{background:#e8f4fd;border-color:#007cba;color:#004d73}.column-item.non-ref-key{background:#f5f5f5;border-color:#666;color:#333}.data-type{color:#666;font-style:italic;font-weight:400}.no-columns-info{color:#999;font-style:italic;padding:20px;text-align:center}.no-data{display:block;font-size:12px;margin-bottom:4px}.no-data-help{color:#bbb;font-size:10px}@media (max-width:768px){.columns-cell{max-width:250px}.columns-display{font-size:10px}.column-item{font-size:9px;padding:1px 4px}}.enhanced-file-modal{max-height:90vh;max-width:800px}.modal-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.modal-section h4{border-bottom:2px solid #3498db;color:#2c3e50;font-size:18px;margin-bottom:15px;margin-top:0;padding-bottom:8px}.radio-group{display:flex;flex-direction:column;gap:15px}.radio-option{align-items:flex-start;background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;padding:15px;transition:all .3s ease}.radio-option:hover{background:#f8f9fa;border-color:#3498db}.radio-option input[type=radio]{margin-right:12px;margin-top:2px;transform:scale(1.2)}.radio-option input[type=radio]:checked+.radio-content{color:#2c3e50}.radio-option:has(input[type=radio]:checked){background:#e8f4fd;border-color:#3498db}.radio-content{flex:1 1}.radio-content strong{color:#2c3e50;display:block;font-size:16px;margin-bottom:5px}.radio-content p{color:#7f8c8d;font-size:14px;line-height:1.4;margin:0}.data-type-instruction{color:#7f8c8d;font-style:italic;margin-bottom:20px}.data-type-table{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#2c3e50;display:grid;font-weight:700;grid-template-columns:1fr 200px}.header-column,.header-datatype{border-right:1px solid #dee2e6;padding:12px 15px}.header-datatype{border-right:none}.table-row{border-bottom:1px solid #f1f3f4;display:grid;grid-template-columns:1fr 200px}.table-row:last-child{border-bottom:none}.column-name{border-right:1px solid #dee2e6;padding:12px 15px}.column-datatype,.column-name{align-items:center;background:#fff;display:flex}.column-datatype{padding:8px 12px}.column-datatype select{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.column-datatype select.unselected{background:#fdf2f2;border-color:#e74c3c;color:#e74c3c}.column-datatype select.selected{background:#f8fff8;border-color:#27ae60;color:#2c3e50}.column-datatype select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.data-type-summary{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#2c3e50;display:flex;font-size:14px;gap:20px;padding:15px}.data-type-summary p{margin:0}.primary-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.primary-btn:hover:not(:disabled){box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.primary-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.attribute-modal{max-width:900px}.attribute-table .table-header,.attribute-table .table-row{grid-template-columns:1fr 180px 180px}.column-reference,.header-reference,.ref-key-selector{align-items:center;background:#fff;display:flex;padding:8px 12px}.header-reference{background:#f8f9fa;border-left:1px solid #dee2e6;color:#2c3e50;font-weight:700;padding:12px 15px}.column-reference select{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.column-reference select.unselected{background:#fdf2f2;border-color:#e74c3c;color:#e74c3c}.column-reference select.selected{background:#f8fff8;border-color:#27ae60;color:#2c3e50}.column-reference select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}@media (max-width:768px){.enhanced-file-modal{margin:10px;max-width:none;width:95%}.table-header,.table-row{grid-template-columns:1fr 150px}.attribute-table .table-header,.attribute-table .table-row{grid-template-columns:1fr}.attribute-table .header-column,.attribute-table .header-datatype,.attribute-table .header-reference{border-bottom:1px solid #dee2e6;padding:8px 12px}.attribute-table .column-datatype,.attribute-table .column-name,.attribute-table .column-reference{border-bottom:1px solid #f1f3f4;padding:8px 12px}.data-type-summary{flex-direction:column;gap:10px}.modal-section{padding:15px}}.table-datatype-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:85vh;max-width:900px;overflow:hidden;width:90%}.table-datatype-modal .modal-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-bottom:1px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.table-datatype-modal .header-content{align-items:center;display:flex;gap:16px}.table-datatype-modal .header-icon{background:#fff3;border-radius:8px;font-size:24px;padding:8px}.table-datatype-modal .header-text h2{font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0}.table-datatype-modal .header-subtitle{font-size:14px;font-weight:400;margin:4px 0 0;opacity:.9}.table-datatype-modal .close-button{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.table-datatype-modal .close-button:hover{background:#ffffff4d;transform:scale(1.05)}.table-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.table-wrapper{flex:1 1;overflow-x:hidden;overflow-y:auto}.datatype-table{background:#fff;border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.datatype-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef;position:-webkit-sticky;position:sticky;top:0;z-index:10}.datatype-table th{border-bottom:2px solid #dee2e6;box-sizing:border-box;color:#495057;font-size:12px;font-weight:700;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.column-name-header{width:45%}.column-type-header{width:25%}.data-type-header{width:30%}.column-name-cell{width:45%}.column-type-cell{width:25%}.data-type-cell{width:30%}.datatype-table tbody tr{border-bottom:1px solid #f1f3f4;transition:background-color .2s ease}.datatype-table tbody tr:hover{background-color:#f8f9fa}.reference-key-row{background:linear-gradient(90deg,#ffc1070d,#0000)}.data-column-row{background:linear-gradient(90deg,#17a2b80d,#0000)}.datatype-table td{border-bottom:1px solid #f1f3f4;box-sizing:border-box;padding:16px 20px;vertical-align:middle}.column-info{align-items:center;display:flex;gap:10px}.column-icon{font-size:18px;text-align:center;width:20px}.column-text{color:#2c3e50;font-size:14px;font-weight:600}.type-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.type-badge.reference-key{background:linear-gradient(135deg,#ffc107,#ff8c00);box-shadow:0 2px 4px #ffc1074d;color:#fff}.type-badge.data-column{background:linear-gradient(135deg,#17a2b8,#138496);box-shadow:0 2px 4px #17a2b84d;color:#fff}.datatype-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 14px;transition:all .3s ease;width:100%}.datatype-select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.datatype-select:hover{border-color:#d1d5db}.reference-key-row .datatype-select{background:#ffc1070d;border-color:#ffc107}.data-column-row .datatype-select{background:#17a2b80d;border-color:#17a2b8}.table-datatype-modal .modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:space-between;padding:20px 24px}.footer-stats,.table-datatype-modal .modal-footer{align-items:center;display:flex;gap:20px}.stat-item{color:#6c757d;font-size:13px}.stat-item strong{color:#495057;font-weight:700}.table-datatype-modal .modal-actions{display:flex;gap:12px}.cancel-btn,.save-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.save-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.save-btn:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-1px)}.save-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.table-datatype-modal{max-height:90vh;width:95%}.table-datatype-modal .modal-header{padding:16px 20px}.table-datatype-modal .header-text h2{font-size:18px}.datatype-table td,.datatype-table th{padding:12px 16px}.column-name-header{width:40%}.column-type-header,.data-type-header{width:30%}.table-datatype-modal .modal-footer{align-items:stretch;flex-direction:column;gap:16px;padding:16px 20px}.footer-stats{flex-wrap:wrap;gap:16px;justify-content:center}.table-datatype-modal .modal-actions{justify-content:stretch}.cancel-btn,.save-btn{flex:1 1}}@media (max-width:480px){.table-datatype-modal{border-radius:0;height:100vh;max-height:100vh;width:100%}.table-datatype-modal .modal-header{padding:16px}.datatype-table td,.datatype-table th{padding:10px 12px}.column-text{font-size:13px}.datatype-select{font-size:13px;padding:8px 10px}}.simple-datatype-modal{max-height:80vh;max-width:600px;width:90vw}.simple-datatype-modal .modal-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:20px}.simple-datatype-modal .modal-header h3{color:#333;margin:0}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#000}.simple-datatype-modal .modal-body{max-height:50vh;overflow-y:auto;padding:20px}.simple-datatype-table{border-collapse:collapse;width:100%}.simple-datatype-table td,.simple-datatype-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.simple-datatype-table th{background-color:#f5f5f5;font-weight:600}.simple-datatype-table select{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 10px;width:100%}.simple-datatype-table select:focus{border-color:#007bff;outline:none}.simple-datatype-modal .modal-footer{border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}@media (max-width:768px){.simple-datatype-modal{width:95vw}.simple-datatype-table td,.simple-datatype-table th{font-size:14px;padding:8px}.simple-datatype-modal .modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.generate-profit-dataset{margin:0 auto;max-width:1200px;padding:20px}.page-header h1{color:var(--primary-color);font-size:28px}.page-header p{color:#666;font-size:14px}.dataset-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.dataset-settings{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px}.dataset-settings h2{border-bottom:2px solid var(--primary-color);color:#333;font-size:20px;margin-bottom:20px;padding-bottom:10px}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:5px}.form-group input[type=date],.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;transition:border-color .3s;width:100%}.form-group input[type=date]:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.checkbox-group label{align-items:center;cursor:pointer;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;margin-right:8px}.generate-button{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background-color .3s;width:100%}.generate-button:hover:not(:disabled){background:var(--primary-hover)}.generate-button:disabled{cursor:not-allowed;opacity:.6}.status-message{border-radius:4px;font-size:14px;margin-top:15px;padding:10px;text-align:center}.status-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.recent-datasets{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px}.recent-datasets h2{border-bottom:2px solid var(--primary-color);color:#333;font-size:20px;margin-bottom:20px;padding-bottom:10px}.dataset-list{display:flex;flex-direction:column;gap:15px}.dataset-item{align-items:center;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:15px;transition:all .3s}.dataset-item:hover{background:#f8f9fa;box-shadow:0 2px 4px #0000000d}.dataset-info{display:flex;flex-direction:column;gap:5px}.dataset-name{color:#333;font-size:14px;font-weight:600}.dataset-date{color:#666;font-size:12px}.dataset-actions{display:flex;gap:10px}.download-btn,.view-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .3s}.download-btn{background:var(--primary-color);color:#fff}.download-btn:hover{background:var(--primary-hover)}.view-btn{background:#fff;border:1px solid var(--primary-color);color:var(--primary-color)}.view-btn:hover{background:var(--primary-color);color:#fff}@media (max-width:768px){.dataset-container{grid-template-columns:1fr}.dataset-item{align-items:flex-start;flex-direction:column;gap:10px}.dataset-actions{justify-content:flex-start;width:100%}}.tech-admin-container{background:#f8f9fa;display:flex;height:100vh;margin:0;padding:0}.tech-sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;z-index:200}.tech-sidebar.open{flex-shrink:0;max-width:280px;min-width:280px;width:280px}.tech-sidebar.closed{flex-shrink:0;max-width:70px;min-width:70px;width:70px}.link-text{overflow:hidden;transition:opacity .2s}.tech-sidebar.closed .link-text{opacity:0;width:0}.sidebar-footer{padding:20px}.user-info{gap:12px}.user-details{display:flex;flex-direction:column;transition:opacity .2s}.tech-sidebar.closed .user-details{opacity:0;overflow:hidden;width:0}.user-role{opacity:.8}.tech-main-content{background:#fff;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:0;overflow:hidden;padding-top:60px;transition:margin-left .3s ease}@media (max-width:768px){.tech-admin-container{flex-direction:column}.tech-sidebar{height:100vh;left:0;position:fixed;top:0;z-index:1000}.tech-sidebar.closed{transform:translateX(-100%)}.tech-main-content{margin-left:0}}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#ffffff1a}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.admin-topbar{align-items:center;background:var(--color-sidebarBackground);box-shadow:0 2px 10px var(--color-shadowMedium);box-sizing:border-box;color:var(--color-sidebarText);display:flex;flex-shrink:0;height:60px;justify-content:space-between;left:280px;min-height:60px;overflow:hidden;padding:0 20px;position:fixed;top:0;transition:width .3s ease,left .3s ease;width:calc(90vw - 252px);z-index:100}.tech-sidebar.closed~.tech-main-content .admin-topbar{left:70px;width:calc(90vw - 63px)}.admin-topbar .topbar-left,.admin-topbar .topbar-logo{align-items:center;display:flex}.admin-topbar .topbar-logo .logo-text{color:#fff!important}.admin-topbar .topbar-right{align-items:center;display:flex;gap:20px}.admin-topbar .user-info{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.admin-topbar .user-name{color:var(--color-sidebarText);font-size:14px;font-weight:600;margin-bottom:2px}.admin-topbar .user-role{color:var(--color-sidebarTextSecondary);font-size:12px}.admin-topbar .logout-button{background:var(--color-error);border:none;border-radius:6px;color:var(--color-textOnError);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.admin-topbar .logout-button:hover{background:var(--color-errorHover);box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.admin-topbar .logout-button:active{transform:translateY(0)}.content-wrapper{box-sizing:border-box;flex:1 1;max-width:calc(81vw - 226.8px);min-height:0;overflow-x:hidden;overflow-y:visible;transition:max-width .3s ease,width .3s ease;width:calc(81vw - 226.8px)}.tech-sidebar.closed~.tech-main-content{margin-left:70px}.tech-sidebar.closed~.tech-main-content .content-wrapper{max-width:calc(81vw - 56.7px);width:calc(81vw - 56.7px)}.consumer-container{background:#f8f9fa;display:flex;height:100vh}.consumer-sidebar{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease}.consumer-sidebar.open{flex-shrink:0;max-width:280px;min-width:280px;width:280px}.consumer-sidebar.closed{flex-shrink:0;max-width:70px;min-width:70px;width:70px}.sidebar-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:20px}.sidebar-header h3{font-size:18px;margin:0;overflow:hidden;white-space:nowrap}.sidebar-toggle{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;transition:background .2s}.sidebar-toggle:hover{background:#ffffff4d}.sidebar-content{word-wrap:break-word;flex:1 1;min-height:0;overflow-y:auto;padding:10px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.sidebar-link{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 15px;text-align:left;text-decoration:none;transition:all .2s;width:100%}.sidebar-link:hover{background:#ffffff26;transform:translateX(2px)}.sidebar-link.active{background:#ffffff40;box-shadow:0 2px 8px #00000026}.link-icon{font-size:20px;min-width:20px;text-align:center}.link-text{font-size:14px;white-space:nowrap}.sidebar-divider{background:#fff3;height:1px;margin:10px 0}.sidebar-footer{border-top:1px solid #fff3;padding:15px}.user-info{align-items:center;gap:10px;margin-bottom:10px}.user-icon{font-size:24px;min-width:24px}.user-details{flex:1 1;min-width:0}.user-name{color:#fff}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#fffc}.logout-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .2s;width:100%}.logout-btn:hover{background:#fff3;border-color:#ffffff4d}.logout-icon{font-size:16px}.logout-text{font-size:13px}.consumer-main-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.top-bar{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;display:flex;flex-shrink:0;justify-content:space-between;min-height:60px;padding:15px 30px}.page-title h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.main-content{background:#f8f9fa;overflow-y:auto;padding:30px}.welcome-content{max-width:1200px}.welcome-content h1{color:#2c3e50;font-size:36px;margin-bottom:20px;text-align:center}.dashboard-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:40px}.dashboard-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 8px 25px #00000014;padding:30px;transition:transform .3s,box-shadow .3s}.dashboard-card:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.dashboard-card h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.dashboard-card p{color:#6c757d;line-height:1.6;margin-bottom:20px}.dashboard-action-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.dashboard-action-btn:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 8px 25px #28a7454d;transform:translateY(-2px)}.analysis-types{display:flex;flex-direction:column;gap:12px}.analysis-type{align-items:center;background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;display:flex;gap:10px;padding:10px}.analysis-icon{font-size:18px;min-width:18px}.feature-list{color:#6c757d;padding-left:20px}.feature-list li{line-height:1.5;margin-bottom:8px}.profit-models-page{margin:0 auto;max-width:1400px}.page-header{margin-bottom:30px;text-align:center}.page-header h1{color:#2c3e50;font-size:36px;margin-bottom:10px}.page-header p{color:#6c757d;font-size:16px;margin-bottom:0}.controls-section{align-items:flex-end;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.filter-controls{align-items:flex-end;display:flex;gap:20px}.filter-group,.sort-group{display:flex;flex-direction:column;gap:5px}.filter-group label,.sort-group label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-select,.sort-select{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:14px;min-width:200px;padding:10px}.sort-group{align-items:center;flex-direction:row;gap:10px}.sort-order-btn{background:#fff;border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:16px;padding:10px 12px;transition:all .2s}.sort-order-btn:hover{background:#e9ecef;border-color:#adb5bd}.summary-stats{display:flex;flex-direction:column;gap:8px;text-align:right}.stat{color:#6c757d;font-size:13px}.loading-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;padding:60px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#28a745;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state{background:#fff;border:1px solid #f8d7da;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:60px 20px;text-align:center}.error-state h3{color:#dc3545;margin-bottom:15px}.error-state p{color:#6c757d;margin-bottom:20px}.retry-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px;transition:background .2s}.retry-btn:hover{background:#c82333}.empty-state{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:60px 20px;text-align:center}.empty-state h3{color:#6c757d;margin-bottom:15px}.empty-state p{color:#adb5bd}.profit-models-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}.profit-model-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 6px 20px #00000014;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.profit-model-card:before{background:linear-gradient(90deg,#28a745,#20c997);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.profit-model-card:hover:before{transform:scaleX(1)}.profit-model-card:hover{box-shadow:0 15px 35px #0000001f;transform:translateY(-5px)}.model-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.model-header h3{color:#2c3e50;flex:1 1;font-size:20px;font-weight:700;line-height:1.3;margin:0 15px 0 0}.header-right{flex-shrink:0;gap:12px}.signal-light{cursor:help;display:inline-block;height:28px;transition:transform .3s ease;width:28px}.signal-light:hover{transform:scale(1.1)}.status-badge{background:#fff;border:1px solid;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.active{background:#d4edda;border-color:#28a745;color:#28a745}.status-badge.inactive{background:#f8d7da;border-color:#dc3545;color:#dc3545}.status-badge.draft{background:#fff3cd;border-color:#ffc107;color:#ffc107}.model-description{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:20px;min-height:42px}.model-actions{display:flex;flex-direction:column;gap:10px}.select-model-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:12px 18px;position:relative;text-decoration:none;transition:all .3s ease}.select-model-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.select-model-btn:hover:before{left:100%}.select-model-btn.primary{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a7454d;color:#fff}.select-model-btn.primary:hover{background:linear-gradient(135deg,#20c997,#17a2b8);box-shadow:0 8px 25px #28a74566;transform:translateY(-2px)}.select-model-btn.secondary{background:linear-gradient(135deg,#17a2b8,#138496);box-shadow:0 4px 15px #17a2b84d;color:#fff}.select-model-btn.secondary:hover{background:linear-gradient(135deg,#138496,#117a8b);box-shadow:0 8px 25px #17a2b866;transform:translateY(-2px)}.select-model-btn.analysis{background:linear-gradient(135deg,#fd7e14,#e55a4e);box-shadow:0 4px 15px #fd7e144d;color:#fff}.select-model-btn.analysis:hover{background:linear-gradient(135deg,#e55a4e,#dc3545);box-shadow:0 8px 25px #fd7e1466;transform:translateY(-2px)}.select-model-btn.scenario{background:linear-gradient(135deg,#6f42c1,#563d7c);box-shadow:0 4px 15px #6f42c14d;color:#fff}.select-model-btn.scenario:hover{background:linear-gradient(135deg,#563d7c,#495057);box-shadow:0 8px 25px #6f42c166;transform:translateY(-2px)}.select-model-btn:disabled{background:#6c757d;color:#adb5bd;cursor:not-allowed;opacity:.6}.select-model-btn:disabled,.select-model-btn:disabled:hover{box-shadow:none;transform:none}.select-model-btn:disabled:before{display:none}.breadcrumb{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:8px;margin-bottom:20px;padding:15px 0}.breadcrumb-link{background:none;border:none;border-radius:4px;color:#28a745;cursor:pointer;font-size:14px;padding:4px 8px;text-decoration:none;transition:all .2s}.breadcrumb-link:hover{background:#28a7451a;color:#20c997}.breadcrumb-current,.breadcrumb-separator{color:#6c757d;font-size:14px}.breadcrumb-current{font-weight:500}.coming-soon{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 8px 25px #00000014;margin-top:30px;padding:80px 20px;text-align:center}.coming-soon h3{color:#28a745;font-size:24px;margin-bottom:15px}.coming-soon p{color:#6c757d;font-size:16px}@media (max-width:1200px){.profit-models-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}@media (max-width:768px){.consumer-container{flex-direction:column}.consumer-sidebar.open{height:auto;width:100%}.consumer-sidebar.closed{height:60px;width:100%}.controls-section{align-items:stretch;flex-direction:column;gap:15px}.filter-controls{justify-content:space-between}.dashboard-grid,.model-actions,.profit-models-grid{grid-template-columns:1fr}}.dashboard-container{background:var(--color-background);display:flex;flex-direction:column;height:100vh}.nirvantage-admin-container{background:#f8f9fa;display:flex;height:100vh}.nirvantage-sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease}.nirvantage-sidebar.open{flex-shrink:0;max-width:280px;min-width:280px;width:280px}.nirvantage-sidebar.closed{flex-shrink:0;max-width:70px;min-width:70px;width:70px}.nirvantage-sidebar .sidebar-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:20px}.nirvantage-sidebar .sidebar-header h3{font-size:18px;margin:0;overflow:hidden;white-space:nowrap}.nirvantage-sidebar .sidebar-toggle{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;transition:background .2s}.nirvantage-sidebar .sidebar-toggle:hover{background:#ffffff4d}.nirvantage-sidebar .sidebar-content{word-wrap:break-word;flex:1 1;min-height:0;overflow-y:auto;padding:10px}.nirvantage-sidebar .sidebar-nav{display:flex;flex-direction:column;gap:5px}.nirvantage-sidebar .sidebar-link{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 15px;text-align:left;text-decoration:none;transition:all .2s;width:100%}.nirvantage-sidebar .sidebar-link:hover{background:#ffffff26;transform:translateX(2px)}.nirvantage-sidebar .sidebar-link.active{background:#ffffff40;box-shadow:0 2px 8px #00000026}.nirvantage-sidebar .link-icon{font-size:20px;min-width:20px;text-align:center}.nirvantage-sidebar .link-text{overflow:hidden;transition:opacity .2s;white-space:nowrap}.nirvantage-sidebar.closed .link-text{opacity:0;width:0}.nirvantage-sidebar .sidebar-divider{background:#fff3;height:1px;margin:10px 0}.nirvantage-sidebar .sidebar-footer{border-top:1px solid #fff3;padding:20px}.nirvantage-sidebar .user-icon{font-size:24px;min-width:24px}.nirvantage-sidebar .user-details{display:flex;flex-direction:column;transition:opacity .2s}.nirvantage-sidebar.closed .user-details{opacity:0;overflow:hidden;width:0}.nirvantage-main-content{background:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.nirvantage-main-content .admin-topbar{align-items:center;background:var(--color-sidebarBackground);box-shadow:0 2px 10px var(--color-shadowMedium);color:var(--color-sidebarText);display:flex;flex-shrink:0;height:60px;justify-content:space-between;min-height:60px;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nirvantage-main-content .content-wrapper{flex:1 1;min-height:0;overflow-y:auto}.topbar{background:var(--color-sidebarBackground);box-shadow:0 2px 10px var(--color-shadowMedium);color:var(--color-sidebarText);flex-shrink:0;height:60px;justify-content:space-between;min-height:60px;padding:0 20px;position:relative;z-index:10}.topbar,.topbar-left{align-items:center;display:flex}.topbar-left{gap:30px}.topbar-logo{align-items:center;display:flex}.topbar-logo .logo-text{color:#fff!important}.nav-item,.topbar-nav{align-items:center;display:flex;gap:8px}.nav-item{background:none;border:none;border-radius:6px;color:var(--color-sidebarText);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.nav-item:hover{background:var(--color-sidebarHover);transform:translateY(-1px)}.nav-item.active{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);box-shadow:0 2px 8px #00000026;color:var(--color-textOnPrimary)}.nav-icon{flex-shrink:0;font-size:16px}.nav-text{font-weight:600}.topbar-right{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.user-name{color:var(--color-sidebarText);font-size:14px;font-weight:600;margin-bottom:2px}.user-role{color:var(--color-sidebarTextSecondary);font-size:12px}.logout-button{background:var(--color-error);border:none;border-radius:6px;color:var(--color-textOnError);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.logout-button:hover{background:var(--color-errorHover);box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}.main-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.top-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 2px 10px var(--color-shadowLight);justify-content:space-between;padding:15px 20px}.header-left,.header-right,.top-header{align-items:center;display:flex}.header-right{gap:20px}.top-header h1{color:var(--color-textPrimary);font-size:28px;margin:0}.user-display{border:1px solid var(--color-border);border-radius:6px;color:var(--color-textSecondary);font-size:14px;font-weight:500;padding:8px 12px}.content-area,.user-display{background:var(--color-background)}.content-area{flex:1 1;overflow-y:auto;padding:20px}.welcome-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 2px 10px var(--color-shadowLight);margin:0 auto;max-width:600px;padding:40px;text-align:center}.welcome-content h2{color:var(--color-textPrimary);font-size:32px;font-weight:600;margin-bottom:20px}.welcome-content p{color:var(--color-textSecondary);font-size:18px;line-height:1.6;margin:10px 0}@media (max-width:768px){.nirvantage-admin-container{flex-direction:column}.nirvantage-sidebar{height:100vh;left:0;position:fixed;top:0;z-index:1000}.nirvantage-sidebar.closed{transform:translateX(-100%)}.nirvantage-main-content{margin-left:0}}.nirvantage-sidebar .sidebar-content::-webkit-scrollbar{width:6px}.nirvantage-sidebar .sidebar-content::-webkit-scrollbar-track{background:#ffffff1a}.nirvantage-sidebar .sidebar-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.nirvantage-sidebar .sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:1024px){.topbar{padding:0 15px}.topbar-left{gap:20px}.topbar-nav{gap:6px}.nav-item{font-size:13px;padding:6px 12px}.content-area{padding:20px}}@media (max-width:768px){.topbar{flex-direction:column;gap:15px;height:auto;padding:15px}.topbar-left{gap:15px;justify-content:space-between;width:100%}.topbar-nav{flex-wrap:wrap;gap:8px}.topbar-right{gap:15px;justify-content:space-between;width:100%}.nav-item{font-size:12px;padding:8px 12px}.nav-text{display:none}.top-header{padding:15px 20px}.content-area{padding:15px}}@media (max-width:480px){.top-header{align-items:flex-start;flex-direction:column;gap:15px}.header-right{justify-content:space-between;width:100%}.content-area{padding:15px}.welcome-content{padding:30px 20px}.welcome-content h2{font-size:24px}.welcome-content p{font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{background:#f5f6fa}
/*# sourceMappingURL=main.792e4067.css.map*/