body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{--home-surface:var(--surface-color,#fff);--home-surface-muted:var(--bg-secondary,#f4f7fb);--home-surface-strong:var(--bg-tertiary,#e7eef7);--home-border:var(--border-color,#d7e0eb);--home-text:var(--text-primary,#132238);--home-text-muted:var(--text-secondary,#58708a);--home-text-soft:var(--text-tertiary,#8092a8);--home-shadow:0 18px 42px #0f172a14;background:radial-gradient(circle at top left,#2563eb1a,#0000 28rem),linear-gradient(180deg,#ffffff73,#0000 18rem),#f3f7fb;background:radial-gradient(circle at top left,#2563eb1a,#0000 28rem),linear-gradient(180deg,#ffffff73,#0000 18rem),var(--background-color,#f3f7fb);margin:0 auto;max-width:1480px;min-height:100vh;padding:1.5rem}[data-theme=dark] .home-container{--home-surface:#0f172af0;--home-surface-muted:#1e293bf0;--home-surface-strong:#334155f0;--home-border:#94a3b838;--home-text:#e2e8f0;--home-text-muted:#cbd5e1;--home-text-soft:#94a3b8;--home-shadow:0 18px 42px #0206176b;background:radial-gradient(circle at top left,#1d4ed857,#0000 30rem),linear-gradient(180deg,#0f172aeb,#020617fa),#020617;background:radial-gradient(circle at top left,#1d4ed857,#0000 30rem),linear-gradient(180deg,#0f172aeb,#020617fa),var(--background-color,#020617)}.metrics-section,.modules-section,.recent-scenarios{background:var(--home-surface);border:1px solid var(--home-border);border-radius:24px;box-shadow:var(--home-shadow)}.section-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.section-kicker{align-items:center;background:#2563eb14;border-radius:999px;color:#2563eb;display:inline-flex;font-size:.74rem;font-weight:700;letter-spacing:.05em;padding:.35rem .7rem;text-transform:uppercase}.section-title-row h2{color:var(--home-text);font-size:1.3rem;margin:.6rem 0 0}.section-subtitle{color:var(--home-text-muted);font-size:.95rem;line-height:1.6;margin:.45rem 0 0;max-width:48rem}.metrics-section,.modules-section,.recent-scenarios{margin-bottom:1.5rem;padding:1.3rem}.metrics-period-selector{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.period-select{background:var(--home-surface-muted);border:1px solid var(--home-border);border-radius:14px;color:var(--home-text);cursor:pointer;font-size:.85rem;font-weight:600;min-height:2.8rem;min-width:6.4rem;padding:.55rem .85rem}.period-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.kpi-overview-grid{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.1rem}.kpi-overview-card{background:linear-gradient(135deg,color-mix(in srgb,var(--kpi-color) 10%,#0000),#0000 70%),var(--home-surface-muted);border:1px solid var(--home-border);border-radius:18px;color:inherit;display:flex;flex-direction:column;min-width:0;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kpi-overview-card:hover{border-color:color-mix(in srgb,var(--kpi-color) 30%,var(--home-border));box-shadow:0 14px 28px #0f172a14;color:inherit;transform:translateY(-2px)}.kpi-ov-left{align-items:center;display:flex;flex:1 1;gap:.85rem;min-width:0}.kpi-ov-icon{align-items:center;border-radius:14px;display:inline-flex;flex-shrink:0;height:2.9rem;justify-content:center;width:2.9rem}.kpi-ov-info{display:flex;flex-direction:column;min-width:0}.kpi-ov-name{color:var(--home-text);font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-ov-values{color:var(--home-text-muted);font-size:.78rem;margin-top:.28rem}.kpi-ov-values-stacked{display:flex;flex-direction:column;gap:.15rem;margin-top:.28rem}.kpi-ov-fact,.kpi-ov-plan{color:var(--home-text);font-size:.82rem;font-weight:500}.kpi-ov-fact{color:var(--home-text)}.kpi-ov-label,.kpi-ov-plan{color:var(--home-text-muted)}.kpi-ov-label{font-size:.72rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.kpi-ov-right{align-items:center;display:flex;flex-shrink:0;gap:.7rem}.kpi-ov-bar-wrap{background:var(--home-surface-strong);border-radius:999px;flex:1 1;height:.5rem;overflow:hidden}.kpi-ov-bar{border-radius:999px;height:100%;transition:width .35s ease}.kpi-ov-pct{color:var(--home-text);font-size:.92rem;font-weight:800;min-width:2.8rem;text-align:right}.kpi-ov-no-target{color:var(--home-text-soft);font-size:.8rem;font-style:italic}.kpi-overview-empty{align-items:center;background:var(--home-surface-muted);border:1px dashed var(--home-border);border-radius:20px;display:flex;flex-direction:column;gap:.75rem;justify-content:center;margin-top:1rem;min-height:14rem;text-align:center}.kpi-overview-empty i{color:var(--home-text-soft);font-size:1.85rem}.kpi-overview-empty p{color:var(--home-text-muted);margin:0}.recent-scenarios-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.recent-scenario-chip{align-items:center;background:var(--home-surface-muted);border:1px solid var(--home-border);border-radius:16px;color:var(--home-text);cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:600;gap:.7rem;min-height:3rem;padding:.65rem .95rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.recent-scenario-chip:hover:not(:disabled){border-color:#2563eb47;box-shadow:0 12px 24px #2563eb14;transform:translateY(-1px)}.recent-scenario-chip:disabled{cursor:not-allowed;opacity:.7}.recent-scenario-icon{align-items:center;background:#2563eb1a;border-radius:12px;color:#2563eb;display:inline-flex;height:2rem;justify-content:center;width:2rem}.modules-section{margin-bottom:0}.module-sections-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.15rem}.module-box{background:linear-gradient(180deg,color-mix(in srgb,var(--module-accent) 8%,#0000),#0000 8rem),var(--home-surface-muted);border:1px solid var(--home-border);border-radius:22px;display:flex;flex-direction:column;gap:.85rem;min-width:0;padding:1.1rem}.module-box-header{padding-top:.2rem;position:relative}.module-box-header:before{background:var(--module-accent);border-radius:999px;content:"";display:block;height:.3rem;margin-bottom:.9rem;width:3.25rem}.module-eyebrow{align-items:center;color:var(--module-accent);display:inline-flex;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.module-box-header h3{color:var(--home-text);font-size:1.15rem;margin:.5rem 0 0}.module-capsules-grid{grid-gap:.8rem;display:grid;gap:.8rem}.capsule-card{align-items:center;background:var(--home-surface);border:1px solid var(--home-border);border-radius:18px;color:var(--home-text);display:flex;gap:.85rem;min-width:0;padding:.95rem;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.capsule-card:hover{border-color:color-mix(in srgb,var(--capsule-color) 34%,var(--home-border));box-shadow:0 14px 28px #0f172a14;color:var(--home-text);transform:translateY(-2px)}.capsule-card-locked{cursor:not-allowed;filter:grayscale(.4);opacity:.5}.capsule-card-locked:hover{border-color:var(--home-border);box-shadow:none;transform:none}.capsule-card-locked .capsule-card-icon{background:#94a3b829;color:#94a3b8;color:var(--text-muted,#94a3b8)}.capsule-card-icon{align-items:center;background:color-mix(in srgb,var(--capsule-color) 14%,#0000);border-radius:14px;color:var(--capsule-color);display:inline-flex;flex-shrink:0;height:2.9rem;justify-content:center;width:2.9rem}.capsule-card-content{flex:1 1;min-width:0}.capsule-card-content h4{color:var(--home-text);font-size:.95rem;margin:0}.capsule-card-content p{color:var(--home-text-muted);font-size:.8rem;line-height:1.5;margin:.3rem 0 0}.capsule-card-arrow{color:var(--home-text-soft);flex-shrink:0;font-size:.85rem}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.kpi-ov-top{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;width:100%}.kpi-ov-header,.kpi-ov-progress{align-items:center;display:flex;gap:.75rem}.kpi-ov-summary{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;gap:.5rem;justify-content:space-between;margin-top:auto;padding:.75rem 1.25rem;width:100%}[data-theme=dark] .kpi-ov-summary{background:#1e293b;background:var(--bg-secondary,#1e293b)}.kpi-ov-summary-item{align-items:center;display:flex;flex:1 1;flex-direction:column}.kpi-ov-summary-label{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:.65rem;font-weight:600;letter-spacing:.02em;margin-bottom:2px;text-transform:uppercase}.kpi-ov-summary-value{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.85rem;font-weight:600;white-space:nowrap}[data-theme=dark] .kpi-ov-summary-value{color:#f1f5f9;color:var(--text-primary,#f1f5f9)}.kpi-ov-diff.positive{color:#10b981!important}.kpi-ov-diff.negative{color:#ef4444!important}@media (max-width:1280px){.module-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1080px){.kpi-overview-grid{grid-template-columns:1fr}}@media (max-width:820px){.home-container{padding:1rem}.module-sections-grid{grid-template-columns:1fr}.section-title-row{align-items:stretch;flex-direction:column}.metrics-period-selector{flex-wrap:wrap}.empty-state-link,.kpi-view-all-link{justify-content:center;width:100%}.kpi-ov-right{justify-content:space-between;width:100%}}@media (max-width:640px){.metrics-section,.modules-section,.recent-scenarios{padding:1rem}.recent-scenarios-list{gap:.6rem}.recent-scenario-chip{width:100%}.capsule-card,.kpi-overview-card{align-items:flex-start}.capsule-card-arrow{margin-top:.4rem}.kpi-ov-bar-wrap{width:4.75rem}}.login-container{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f1f5f9;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:40px 20px;position:relative;width:100%}.login-orb{border-radius:50%;filter:blur(60px);pointer-events:none;position:absolute;will-change:transform;z-index:0}.login-orb-1{animation:loginOrbA 22s ease-in-out infinite alternate;background:radial-gradient(circle,#3b82f6 0,#0000 70%);height:620px;left:-180px;opacity:.32;top:-160px;width:620px}.login-orb-2{animation:loginOrbB 26s ease-in-out infinite alternate;background:radial-gradient(circle,#1e40af 0,#0000 70%);bottom:-120px;height:520px;opacity:.42;right:-100px;width:520px}@keyframes loginOrbA{to{transform:translate(60px,80px) scale(1.1)}}@keyframes loginOrbB{to{transform:translate(-80px,-40px) scale(1.05)}}.login-card{animation:loginCardIn .7s cubic-bezier(.4,0,.2,1) both;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0f172a99;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 30px 60px -20px #0009,0 8px 24px #00000040,inset 0 1px 0 #ffffff0f;max-width:420px;padding:36px 36px 32px;position:relative;width:100%;z-index:2}@keyframes loginCardIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}.login-brand{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.login-mark{animation:loginMarkPulse 4s ease-in-out infinite;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 8px 28px #1e40af73,0 0 0 1px #ffffff14,inset 0 0 0 2px #ffffff0f;height:88px;position:relative;width:88px}.login-mark:after{animation:loginMarkGlow 4s ease-in-out infinite;background:radial-gradient(circle,#60a5fa59 0,#0000 70%);border-radius:50%;content:"";inset:-8px;position:absolute;z-index:-1}@keyframes loginMarkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes loginMarkGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.login-wordmark{color:#fff;font-size:26px;font-weight:700;letter-spacing:-.02em}.login-head{margin-bottom:28px;text-align:center}.login-kicker{color:#c4b5fd;font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:10px;text-transform:uppercase}.login-head h2{color:#fff;font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.login-head p{color:#94a3b8;font-size:13px;margin:0}.login-field{margin-bottom:14px;position:relative}.login-field input{background:#0f172a80;border:1px solid #94a3b82e;border-radius:10px;color:#f1f5f9;font-size:14px;font-weight:500;height:56px;outline:none;padding:22px 14px 8px 44px;transition:border-color .2s,background .2s,box-shadow .2s;width:100%}.login-field input:focus,.login-field input:not(:placeholder-shown){background:#0f172ab3}.login-field input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.login-field label{color:#64748b;font-size:14px;font-weight:500;left:44px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease}.login-field input:focus+label,.login-field input:not(:placeholder-shown)+label{color:#c4b5fd;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;top:12px;transform:translateY(0)}.login-field-icon{color:#64748b;height:20px;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color .2s;width:20px}.login-field input:focus~.login-field-icon{color:#8b5cf6}.login-field-toggle{background:#0000;border:0;border-radius:6px;color:#64748b;cursor:pointer;padding:6px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .15s,background .15s}.login-field-toggle:hover{background:#ffffff0d;color:#f1f5f9}.login-submit{background:linear-gradient(135deg,#7c3aed,#5b21b6);border:0;border-radius:10px;box-shadow:0 8px 20px -6px #7c3aed66,inset 0 1px 0 #ffffff26;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:50px;margin-top:4px;overflow:hidden;position:relative;transition:transform .15s,box-shadow .2s,filter .2s;width:100%}.login-submit:hover:not(:disabled){box-shadow:0 14px 28px -8px #7c3aed66,inset 0 1px 0 #ffffff2e;filter:brightness(1.08);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:before{background:linear-gradient(110deg,#0000 30%,#ffffff2e 50%,#0000 70%);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .9s}.login-submit:hover:not(:disabled):before{transform:translateX(100%)}.login-submit.is-loading,.login-submit:disabled{background:linear-gradient(135deg,#5b21b6,#4c1d95);pointer-events:none}.login-submit.is-loading .login-submit-label{opacity:0}.login-submit.is-loading:after{animation:loginSpin .7s linear infinite;border:2px solid #ffffff40;border-radius:50%;border-top-color:#fff;content:"";height:18px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:18px}@keyframes loginSpin{to{transform:translate(-50%,-50%) rotate(1turn)}}.login-alert{align-items:center;animation:loginShake .5s ease-in-out;background:#ef44441f;border:1px solid #ef444459;border-radius:10px;color:#fca5a5;display:flex;font-size:12px;font-weight:500;gap:10px;margin-bottom:14px;padding:10px 14px}@keyframes loginShake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media (max-width:480px){.login-card{border-radius:16px;padding:28px 22px 24px}.login-mark{height:76px;width:76px}.login-head h2,.login-wordmark{font-size:22px}}:root{--input-border:#d1d9e0}[data-theme=dark]{--primary-blue-light:#1e3a8a}.fade-in{animation:fadeIn .5s ease-in}.income-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;flex-direction:column;min-height:calc(100vh - 100px);padding:20px}[data-theme=dark] .income-container{background:linear-gradient(135deg,#0f172a,#1e293b)}.income-container h1{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.25rem}.income-container .lead-text{color:var(--text-secondary);font-size:1rem;font-weight:400;margin-bottom:1rem}.income-card,.income-container .fade-in{display:flex;flex:1 1;flex-direction:column}.income-card{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:visible;transition:all .3s ease}.income-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.income-card .card-body{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.table-responsive{margin-bottom:1rem}.income-container .table input[type=number],.income-container .table input[type=text]{border:1px solid #ced4da;border-radius:.25rem;font-size:.8rem;min-width:0;padding:.2rem .3rem;width:100%}.income-container .table select{border:1px solid #ced4da;border-radius:.25rem;font-size:.8rem;min-width:0;padding:.2rem .15rem;width:100%}.table-toolbar{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--table-bg) 0,var(--preview-bg) 100%);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-bottom:none;border-radius:.5rem .5rem 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;flex-shrink:0;justify-content:space-between;padding:.6rem .75rem}.table-toolbar,.table-toolbar-left{align-items:center;display:flex;gap:.75rem}.table-toolbar-left{flex:1 1;min-width:0}.table-toolbar-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.table-search{align-items:center;background:#fff;background:var(--input-bg);border:1px solid #d1d9e0;border:1px solid var(--input-border);border-radius:.5rem;border-radius:var(--border-radius);display:flex;flex:1 1;gap:.4rem;max-width:320px;padding:.35rem .6rem;transition:border-color .2s ease,box-shadow .2s ease}.table-search:focus-within{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 2px #3b82f626}.table-search-icon{color:var(--text-secondary);flex-shrink:0;font-size:.85rem}.table-search-input{background:#0000!important;border:none!important;color:var(--text-primary)!important;font-size:.85rem!important;min-width:0;outline:none;padding:0!important;width:100%}.table-search-input::placeholder{color:var(--text-secondary)!important;opacity:.7}.table-search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.8rem;line-height:1;padding:0;transition:color .2s ease}.table-result-count,.table-search-clear:hover{color:#3b82f6;color:var(--primary-blue)}.table-result-count{background:#dbeafe;background:var(--primary-blue-light);border-radius:10px;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.table-sort-control{align-items:center;background:#fff;background:var(--table-bg);border:1.5px solid #e1e5e9;border:1.5px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:.25rem;padding:.25rem .5rem}.table-sort-control>i{font-size:.85rem;opacity:.6}.table-sort-select{background:#0000;border:none;color:var(--text-primary);cursor:pointer;font-size:.8rem;font-weight:600;outline:none;padding:.15rem .25rem}.table-sort-select option{background:#fff;background:var(--table-bg);color:var(--text-primary)}.table-sort-dir{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:26px;justify-content:center;transition:all .15s ease;width:26px}.table-sort-dir:hover{background:#dbeafe;background:var(--primary-blue-light);color:#3b82f6;color:var(--primary-blue)}.table-detail-toggle{align-items:center;background:#fff;background:var(--table-bg);border:1.5px solid #e1e5e9;border:1.5px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.4rem .75rem;transition:all .2s ease;white-space:nowrap}.table-detail-toggle:hover{background:#dbeafe;background:var(--primary-blue-light);border-color:#3b82f6;border-color:var(--primary-blue);color:#3b82f6;color:var(--primary-blue)}.table-detail-toggle.active{background:#3b82f6;background:var(--primary-blue);border-color:#3b82f6;border-color:var(--primary-blue);color:#fff}.table-detail-toggle.active:hover{opacity:.9}.table-sort-reset{align-items:center;background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.3rem;padding:.35rem .6rem;transition:all .2s ease;white-space:nowrap}.table-sort-reset:hover{border-color:#dc3545;color:#dc3545}.income-container .sortable-th{cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.income-container .sortable-th:hover{background:#3b82f614!important}.income-container .sort-icon-inactive{font-size:.65rem;margin-left:2px;opacity:.25}.income-container .sort-icon-active{color:#3b82f6;color:var(--primary-blue);font-size:.7rem;margin-left:2px}@media (max-width:768px){.table-toolbar{align-items:stretch;flex-direction:column;gap:.5rem;padding:.5rem}.table-toolbar-left{flex-direction:column;gap:.4rem}.table-toolbar-right{justify-content:flex-end}.table-search{max-width:100%}.table-detail-toggle span{display:none}}.tab-navigation{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-shrink:0;gap:.5rem;margin-bottom:1rem;padding:.4rem}.tab-btn{border-radius:.5rem;border-radius:var(--border-radius);flex:1 1;font-size:.95rem;font-weight:600;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-btn:before{background:linear-gradient(45deg,#0000 30%,#3b82f61a 50%,#0000 70%);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .6s}.tab-btn:hover:before{transform:translateX(100%)}.tab-btn:hover{background:#dbeafe;background:var(--primary-blue-light);color:var(--text-primary);transform:translateY(-1px)}.tab-btn.active{box-shadow:var(--shadow-md);color:#fff}.tab-btn.active,.tab-btn.active:hover{background:#3b82f6;background:var(--primary-blue)}.tab-btn.active:hover{transform:translateY(-1px)}.btn-group{flex-shrink:0;margin-bottom:.75rem}.btn-group .btn{border-radius:.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);font-weight:600;margin-right:0;padding:.75rem 1.5rem;transition:all .3s ease}.btn-group .btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger.btn-sm{padding:.25rem .5rem}.table-info{background-color:#e9ecef}.table td strong{white-space:nowrap}@media (max-width:1024px){.income-container{min-height:calc(100vh - 90px);padding:15px}.income-container h1{font-size:1.75rem}.income-container .lead-text{margin-bottom:.75rem}.monthly-tariffs-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tab-navigation{gap:.25rem;margin-bottom:1rem}.tab-btn{font-size:.9rem;padding:.75rem 1.5rem}.upload-zone{margin-bottom:.75rem!important;padding:12px}}@media (max-width:768px){.income-container{min-height:calc(100vh - 80px);padding:10px}.income-container h1{font-size:1.5rem}.income-container .lead-text{font-size:.9rem;margin-bottom:.75rem}.table-container{-webkit-overflow-scrolling:touch}.income-container .table td,.income-container .table th{font-size:.75rem;padding:.3rem .2rem}.expand-toggle-btn{font-size:10px;height:28px;width:28px}.btn-group{flex-direction:column;gap:.5rem}.btn-group .btn{justify-content:center;width:100%}.tab-navigation{flex-direction:column;gap:.5rem}.tab-btn{text-align:center}.month-filter,.tab-btn{padding:1rem}.month-filter .row{align-items:stretch;flex-direction:column;gap:.75rem}.month-filter .col-auto,.month-filter select{width:100%}.month-filter .date-separator{padding:.5rem 0;text-align:center}.monthly-tariffs-container{margin:.5rem;padding:1.5rem}.monthly-tariffs-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.monthly-tariff-item{padding:.75rem}.income-card .card-body{padding:1rem}}@media (max-width:480px){.income-container{min-height:calc(100vh - 70px);padding:8px}.income-container h1{font-size:1.25rem;text-align:center}.income-container .lead-text{font-size:.8rem;margin-bottom:.5rem;text-align:center}.income-container .table td,.income-container .table th{font-size:.7rem;padding:.25rem .15rem}.expand-toggle-btn{font-size:8px;height:24px;width:24px}.monthly-tariffs-grid{gap:.75rem;grid-template-columns:1fr}.income-card .card-body,.monthly-tariff-item{padding:.75rem}.tab-btn{font-size:.9rem;padding:.875rem}}.month-filter{background-color:#fff!important;background-color:var(--table-bg)!important;border-radius:.25rem;padding:1rem}.month-filter,.month-filter label{color:var(--text-color)!important}.month-filter .input-group-text,.month-filter input[type=number],.month-filter select{background-color:#fff!important;background-color:var(--input-bg)!important;border-color:#d1d9e0;border-color:var(--input-border);color:var(--text-color)!important}.total-row-cell{background-color:#e2e3e5!important}.total-column{background-color:#cff4fc!important}.total-intersection{background-color:#9eeaf9!important}.table-container{background-color:#fff;background-color:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:0 0 4px 4px;min-height:300px}.table-scroll{min-height:100%;overflow:visible}.table thead th{position:sticky;top:0;z-index:1}.income-container .table{background-color:#fff;background-color:var(--table-bg);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);color:var(--text-color);margin-bottom:0;overflow:hidden;table-layout:fixed;white-space:normal;width:100%}.income-container .table th{background:linear-gradient(180deg,#fff,#f8fafc);background:linear-gradient(to bottom,var(--table-bg),var(--preview-bg));border-bottom:2px solid #e1e5e9;border-bottom:2px solid var(--table-border);color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:.5rem .4rem;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap}.income-container .table th:first-child{text-align:center;width:40px}.income-container .table td{border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--table-border);color:var(--text-primary);font-size:.85rem;overflow:hidden;padding:.5rem .4rem;text-overflow:ellipsis;transition:background-color .2s ease;vertical-align:middle;white-space:nowrap}.income-container .table td:first-child{max-width:40px;overflow:visible;width:40px}.income-container .table tbody tr:hover td{background-color:#dbeafe;background-color:var(--primary-blue-light)}[data-theme=dark] .income-container .table tbody tr:hover td{background-color:#3b82f61a}.income-container .table td:nth-child(-n+5),.income-container .table th:nth-child(-n+5){background-color:#fff;background-color:var(--card-bg,#fff)}.income-container .total-column{border-left:2px solid #e1e5e9!important;border-left:2px solid var(--table-border)!important;font-weight:700}.income-container .total-column,[data-theme=dark] .total-column{background-color:#dbeafe;background-color:var(--total-column-bg)}.table-scroll::-webkit-scrollbar{height:8px}.table-scroll::-webkit-scrollbar-track{background:#f1f1f1}.table-scroll::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.table-scroll::-webkit-scrollbar-thumb:hover{background:#555}.upload-zone{background-color:#fff!important;background-color:var(--table-bg)!important;border-radius:4px;flex-shrink:0;margin-bottom:.75rem;padding:12px}.upload-zone,.upload-zone p{color:var(--text-color)!important}.upload-zone p{margin:0}.upload-zone .text-muted{color:var(--text-muted)!important}.upload-zone.drag-active{background-color:#0d6efd1a}.debug-message{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:1rem}.debug-message pre{color:#666;font-size:.875rem;margin:0}.preview-container{background-color:#f8fafc;background-color:var(--preview-bg,var(--table-bg));border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.25rem;color:var(--text-color);overflow:hidden}.preview-container .card-header{background-color:#00000005;background-color:var(--table-stripe);border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--table-border);color:var(--text-color);padding:.75rem 1rem}.preview-container .card-header h5{color:var(--text-color);font-size:1.1rem;margin:0}.preview-container .card-body{background-color:#fff;background-color:var(--table-bg);padding:1rem}.preview-container .table{color:var(--text-color);margin-bottom:0}.preview-container .table td,.preview-container .table th{border-color:#e1e5e9;border-color:var(--table-border);color:var(--text-color);padding:.5rem}.preview-container .table-striped tbody tr:nth-of-type(odd){background-color:#00000005;background-color:var(--table-stripe)}.table td,.table th{border-color:#e1e5e9;border-color:var(--table-border)}.table input[type=number],.table input[type=text],.table select{background-color:#fff;background-color:var(--input-bg);border-color:#d1d9e0;border-color:var(--input-border);color:var(--text-color)}.input-narrow{width:80px}.debug-message{background-color:#f8fafc;background-color:var(--debug-bg);border-color:#e1e5e9;border-color:var(--table-border)}.debug-message pre,.upload-zone{color:var(--text-color)}.upload-zone{border-color:#cbd5e1;border-color:var(--upload-zone-border)}.total-row-cell{background-color:#f1f5f9!important;background-color:var(--total-row-bg)!important}.total-column{background-color:#dbeafe!important;background-color:var(--total-column-bg)!important}.total-intersection{background-color:#bfdbfe!important;background-color:var(--total-intersection-bg)!important}.table thead th{border-bottom:2px solid #e1e5e9;border-bottom:2px solid var(--table-border)}.table td:nth-child(-n+5),.table th:nth-child(-n+5),.table thead th{background-color:#fff;background-color:var(--table-bg)}.table-scroll::-webkit-scrollbar-track{background:#fff;background:var(--table-bg)}.table-scroll::-webkit-scrollbar-thumb{background:#e1e5e9;background:var(--table-border)}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.month-filter{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--table-bg) 0,var(--preview-bg) 100%);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.75rem;border-radius:var(--border-radius-lg);flex-shrink:0;margin-bottom:.75rem;padding:.75rem 1rem}.month-filter label{font-size:1rem;font-weight:600}.month-filter label:before{font-size:1.2rem}.month-filter select{background-color:#fff;border:2px solid #e1e5e9;border:2px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);font-weight:500;padding:.75rem 1rem;transition:all .3s ease}.month-filter select:focus{border-color:#3b82f6;border-color:var(--primary-blue)}.month-filter .date-separator{color:var(--text-secondary);font-size:1.1rem;font-weight:600;padding:0 .5rem}.upload-zone.drag-active{background-color:rgba(var(--icon-color-rgb),.08);border-color:var(--icon-color)}.table td:nth-child(-n+5),.table th:nth-child(-n+5),.table thead th{background-color:#fff;background-color:var(--table-bg);color:var(--text-color);z-index:2}.preview-container .table,.table-striped tbody tr:nth-of-type(2n){background-color:#fff;background-color:var(--table-bg)}.total-column,.total-intersection,.total-row-cell{color:var(--text-color)!important}.modal-content{background-color:#fff;background-color:var(--table-bg);border-color:#e1e5e9;border-color:var(--table-border);color:var(--text-color)}.modal-header{border-bottom-color:#e1e5e9;border-bottom-color:var(--table-border)}.modal-footer{border-top-color:#e1e5e9;border-top-color:var(--table-border)}.income-card{background-color:#fff;background-color:var(--table-bg);border-color:#e1e5e9;border-color:var(--table-border)}.income-card,.table td strong,.table th strong{color:var(--text-color)}.table input::placeholder{color:var(--text-muted)}.table select option{background-color:#fff;background-color:var(--input-bg);color:var(--text-color)}.table td:nth-child(-n+5),.table th:nth-child(-n+5),.table thead th{background-color:#fff!important;background-color:var(--table-bg)!important;color:var(--text-color)}.table td,.table th{background-color:#fff;background-color:var(--table-bg)}.table td:nth-child(6),.table th:nth-child(6){background-color:#fff!important;background-color:var(--table-bg)!important}.table thead{background-color:#fff;background-color:var(--table-bg)}.table>:not(caption)>*>*{background-color:#fff!important;background-color:var(--table-bg)!important;color:var(--text-color)}.table-striped tbody tr:nth-of-type(odd){background-color:#00000005!important;background-color:var(--table-stripe)!important;color:var(--text-color)}.table-striped tbody tr:nth-of-type(2n){background-color:#fff!important;background-color:var(--table-bg)!important;color:var(--text-color)}.table td,.table td *,.table td strong,.table th,.table th *{color:var(--text-color)!important}.income-container .form-control,.income-container .form-select{border-color:#d1d9e0;border-color:var(--input-border)}.income-container .form-control,.income-container .form-select,.income-container .form-select option{background-color:#fff;background-color:var(--input-bg);color:var(--text-color)}.income-container .form-control,.income-container .form-select,.income-container input,.income-container select{background-color:#fff!important;background-color:var(--input-bg)!important;border-color:#d1d9e0!important;border-color:var(--input-border)!important;color:var(--text-color)!important}.income-container .form-select option,.income-container select option{background-color:#fff!important;background-color:var(--input-bg)!important;color:var(--text-color)!important}.income-container h1,.income-container h3,.income-container label,.income-container p,.income-container span{color:var(--text-color)!important}.preview-actions{gap:.5rem;justify-content:flex-end;margin-top:1rem}.upload-zone{align-items:center;background-color:#f8fafc;background-color:var(--upload-zone-bg);border-radius:.25rem;display:flex;flex-direction:column;justify-content:center}.upload-zone.drag-active{background-color:#007bff1a;border-color:#007bff}.btn-outline-success{border-color:#28a745;color:#28a745}[data-theme=dark] .btn-outline-success{border-color:#5cb85c;color:#5cb85c}.btn-outline-success:hover{background-color:#28a745;color:#fff}[data-theme=dark] .btn-outline-success:hover{background-color:#5cb85c;color:#212529}[data-theme=dark] .theme-preview{background-color:#2a2a2a!important;border-color:#404040!important}[data-theme=dark] .theme-preview .card-header{background-color:#212529!important;border-color:#404040!important}[data-theme=dark] .theme-preview .card-body{background-color:#2a2a2a!important}[data-theme=dark] .theme-preview .table{background-color:#2a2a2a!important;color:#fff!important}[data-theme=dark] .theme-preview .table thead th{background-color:#212529!important;border-color:#404040!important;color:#fff!important}[data-theme=dark] .theme-preview .table td{background-color:#2a2a2a!important;border-color:#404040!important;color:#fff!important}[data-theme=dark] .theme-preview .table-striped tbody tr:nth-of-type(odd) td{background-color:#333!important}[data-theme=dark] .theme-preview .table-striped tbody tr:nth-of-type(2n) td{background-color:#2a2a2a!important}.preview-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.preview-body,.preview-table{background-color:#fff}.preview-thead th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}[data-theme=dark] .preview-header{background-color:#212529!important;border-color:#404040!important;color:#fff!important}[data-theme=dark] .preview-body,[data-theme=dark] .preview-table{background-color:#2a2a2a!important;color:#fff!important}[data-theme=dark] .preview-thead th{background-color:#212529!important;border-color:#404040!important;color:#fff!important}[data-theme=dark] .theme-preview .table tbody tr{background-color:#2a2a2a!important;color:#fff!important}[data-theme=dark] .theme-preview .table-striped tbody tr:nth-of-type(odd){background-color:#333!important}[data-theme=dark] .theme-preview .table-striped tbody tr:nth-of-type(2n){background-color:#2a2a2a!important}[data-theme=dark] .theme-preview .btn-primary{background-color:#0d6efd;border-color:#0d6efd;color:#fff}[data-theme=dark] .theme-preview .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.preview-tbody,.preview-tbody .even-row{background-color:#fff}.preview-tbody .odd-row{background-color:#0000000d}[data-theme=dark] .preview-tbody,[data-theme=dark] .preview-tbody .even-row{background-color:#2a2a2a!important}[data-theme=dark] .preview-tbody .odd-row{background-color:#333!important}[data-theme=dark] .preview-tbody .even-row td,[data-theme=dark] .preview-tbody .odd-row td{border-color:#404040!important;color:#fff!important}[data-theme=dark] .preview-tbody .odd-row td{background-color:#333!important}[data-theme=dark] .preview-tbody .even-row td{background-color:#2a2a2a!important}.expanded-row td{background-color:#00000005;background-color:var(--table-stripe);padding:0!important}.monthly-tariffs-container{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--table-bg) 0,var(--preview-bg) 100%);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin:1rem;overflow:hidden;padding:2rem;position:relative}.monthly-tariffs-container:before{background:linear-gradient(90deg,#3b82f6,#10b981);background:linear-gradient(90deg,var(--primary-blue) 0,var(--success-green) 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.monthly-tariffs-container h6{align-items:center;color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.monthly-tariffs-container h6:before{content:"📊";font-size:1.25rem}.monthly-tariffs-grid{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.monthly-tariff-item{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.monthly-tariff-item:hover{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.monthly-tariff-item label{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;justify-content:space-between;letter-spacing:.05em;margin:0;text-transform:uppercase}.monthly-tariff-item label:after{background:#3b82f6;background:var(--primary-blue);border-radius:50%;content:"";height:12px;opacity:.3;width:12px}.monthly-tariff-item input{background:#fff;background:var(--input-bg);border:2px solid #e1e5e9;border:2px solid var(--table-border);border-radius:.25rem;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;font-weight:500;padding:.75rem;transition:all .3s ease;width:100%!important}.monthly-tariff-item input:focus{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a;outline:none}.tariff-value{background:#d1fae5;background:var(--success-green-light);border:2px solid #10b981;border:2px solid var(--success-green);border-radius:.25rem;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;font-weight:600;padding:.75rem;text-align:center}.tariff-value.global{background:#dbeafe;background:var(--primary-blue-light);border-color:#3b82f6;border-color:var(--primary-blue);color:#3b82f6;color:var(--primary-blue)}[data-theme=dark] .tariff-value{color:#10b981;color:var(--success-green)}[data-theme=dark] .tariff-value.global{color:#3b82f6;color:var(--primary-blue)}.expand-toggle-btn{align-items:center;border:none;border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:12px;height:32px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:32px}.expand-toggle-btn,.expand-toggle-btn:hover{background:#3b82f6;background:var(--primary-blue)}.expand-toggle-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.expand-toggle-btn:active{transform:scale(.95)}.expand-toggle-btn:before{background:linear-gradient(45deg,#0000 30%,#fff3 50%,#0000 70%);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .6s}.expand-toggle-btn:hover:before{transform:translateX(100%)}.expand-icon{font-weight:700;transition:transform .3s cubic-bezier(.4,0,.2,1)}.expand-toggle-btn.variant-outline{background:#0000;border:2px solid #3b82f6;border:2px solid var(--primary-blue);color:#3b82f6;color:var(--primary-blue)}.expand-toggle-btn.variant-outline:hover{background:#3b82f6;background:var(--primary-blue);color:#fff}.shop-drawer-btn{align-items:center;background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:999px;color:#3b82f6;color:var(--primary-blue);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;width:2rem}.shop-drawer-btn:hover:not(:disabled){border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.shop-drawer-btn:disabled{cursor:not-allowed;opacity:.55}[data-theme=dark] .monthly-tariffs-container{background-color:#1a1a1a;border-color:#404040}[data-theme=dark] .expanded-row td{background-color:#222}.calculation-mode-toggle .card{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--table-bg) 0,var(--preview-bg) 100%);border:1px solid #e1e5e9;border:1px solid var(--table-border);box-shadow:var(--shadow-sm);transition:all .3s ease}.calculation-mode-toggle .card:hover{box-shadow:var(--shadow-md)}.calculation-mode-toggle .card-title{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:.5rem}.calculation-mode-toggle .form-check{background:#fff;background:var(--table-bg);border:2px solid #e1e5e9;border:2px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);cursor:pointer;margin-right:1rem;padding:1rem;transition:all .3s ease}.calculation-mode-toggle .form-check:hover{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.calculation-mode-toggle .form-check-input:checked~.form-check-label{color:#3b82f6;color:var(--primary-blue)}.calculation-mode-toggle .form-check-input:checked{background-color:#3b82f6;background-color:var(--primary-blue);border-color:#3b82f6;border-color:var(--primary-blue)}.calculation-mode-toggle .form-check:has(.form-check-input:checked){background:#dbeafe;background:var(--primary-blue-light);border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:var(--shadow-md)}.calculation-mode-toggle .form-check-label{color:var(--text-primary);cursor:pointer;transition:color .3s ease}.calculation-mode-toggle .form-check-label strong{font-size:1.1rem;margin-bottom:.25rem}.calculated-sales{padding:.5rem;text-align:center}.calculated-sales .sales-value{color:#10b981;color:var(--success-green);font-size:1.05rem;font-weight:600}.calculated-sales small{font-size:.75rem;margin-top:.25rem;opacity:.8}[data-theme=dark] .calculated-sales .sales-value{color:#10b981;color:var(--success-green)}.mode-indicator{align-items:center;border-radius:.25rem;border-radius:var(--border-radius-sm);display:inline-flex;font-size:.8rem;gap:.25rem;margin-left:.5rem;padding:.125rem .5rem}.mode-indicator,[data-theme=dark] .mode-indicator{background:#dbeafe;background:var(--primary-blue-light);color:#3b82f6;color:var(--primary-blue)}.calculation-mode-toggle .form-check-input:disabled~.form-check-label{cursor:not-allowed;opacity:.6}.calculation-mode-toggle .form-check:has(.form-check-input:disabled){cursor:not-allowed;opacity:.6}.calculation-mode-toggle .form-check:has(.form-check-input:disabled):hover{border-color:#e1e5e9;border-color:var(--table-border);transform:none}.shop-details-container{background:#f8fafc;background:var(--preview-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);padding:1.5rem}.shop-details-container .section-title{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.calculation-mode-section{border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--table-border);padding-bottom:1rem}.mode-toggle-compact{align-items:center;display:flex;gap:1rem}.mode-label-text{color:var(--text-primary);font-size:.95rem;font-weight:600}.toggle-switch-compact{align-items:center;background:#f8fafc;background:var(--preview-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);display:flex;gap:.75rem;padding:.5rem 1rem}.mode-text{font-size:.85rem;font-weight:500;opacity:.6;transition:all .3s ease;white-space:nowrap}.mode-text.active{color:#3b82f6;color:var(--primary-blue);font-weight:600;opacity:1}.calculation-mode-switch{margin:0;padding:0}.calculation-mode-switch .form-check-input{background-color:#6b7280;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");background-position:0;background-size:contain;border:none;box-shadow:inset 0 1px 2px #0003;cursor:pointer;height:1.15rem;transition:background-color .2s ease;width:2.25rem}.calculation-mode-switch .form-check-input:focus{background-color:#6b7280;box-shadow:inset 0 1px 2px #0003,0 0 0 2px #3b82f640}.calculation-mode-switch .form-check-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");background-position:100%;border:none}.calculation-mode-switch .form-check-input:checked,.calculation-mode-switch .form-check-input:checked:focus{background-color:#3b82f6;background-color:var(--primary-blue,#3b82f6)}.calculation-mode-switch .form-check-input:disabled{cursor:not-allowed;opacity:.4}.monthly-tariffs-section{padding-top:1rem}.manual-sales{padding:.5rem;text-align:center}.manual-sales .sales-value{color:var(--text-primary);font-size:1.05rem;font-weight:600}.manual-sales small{font-size:.75rem;margin-top:.25rem;opacity:.8}.toggle-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#fffc;border-radius:15px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}[data-theme=dark] .toggle-loading-overlay{background:#1e293bcc}.toggle-loading-overlay .spinner-border-sm{border-width:2px;color:#3b82f6;color:var(--primary-blue);height:16px;width:16px}.price-per-m2-column{background-color:#3b82f60d;border-left:2px solid #3b82f6;border-left:2px solid var(--primary-blue);position:relative}[data-theme=dark] .price-per-m2-column{background-color:#3b82f61a}.price-per-m2-column:before{font-size:.8rem;left:4px;opacity:.6;position:absolute;top:50%;transform:translateY(-50%)}.price-per-m2-cell{padding:4px;position:relative;text-align:center}.price-per-m2-cell .price-value{color:#3b82f6;color:var(--primary-blue);display:block;font-size:.95rem;font-weight:600;margin-bottom:2px}.price-per-m2-cell small{color:var(--text-muted);font-size:.7rem;opacity:.8}.price-per-m2-column th{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);color:#3b82f6;color:var(--primary-blue);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-align:center;text-transform:uppercase}[data-theme=dark] .price-per-m2-column th{background:linear-gradient(135deg,#3b82f633,#3b82f61a)}.monthly-price-per-m2-section{border-top:1px solid #e1e5e9;border-top:1px solid var(--table-border);margin-top:20px;padding-top:20px}.monthly-price-per-m2-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.monthly-price-per-m2-item{align-items:center;background:linear-gradient(135deg,#3b82f614,#3b82f608);border:1px solid #3b82f633;border-radius:.5rem;border-radius:var(--border-radius);display:flex;flex-direction:column;padding:12px;position:relative;transition:all .3s ease}.monthly-price-per-m2-item:hover{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.monthly-price-per-m2-item:before{font-size:.8rem;opacity:.6;position:absolute;right:4px;top:4px}.monthly-price-per-m2-item label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.price-per-m2-value{color:#3b82f6;color:var(--primary-blue);font-size:1.1rem;font-weight:700;margin-bottom:4px}.monthly-price-per-m2-item small{color:var(--text-muted);font-size:.7rem;line-height:1.2;opacity:.8;text-align:center}[data-theme=dark] .monthly-price-per-m2-item{background:linear-gradient(135deg,#3b82f626,#3b82f60d);border-color:#3b82f64d}@media (max-width:768px){.price-per-m2-cell{padding:4px}.price-per-m2-cell .price-value{font-size:.85rem}.price-per-m2-cell small{font-size:.65rem}.monthly-price-per-m2-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.monthly-price-per-m2-item{padding:8px}}.profit-tooltip-popup{opacity:1;pointer-events:none;position:fixed;transform:translateY(-10px);transition:all .3s ease;z-index:10000}.profit-tooltip-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2c3e50;background:var(--tooltip-bg);border:1px solid #1a252f;border:1px solid var(--tooltip-border);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);color:#fff;color:var(--tooltip-text);font-size:.875rem;line-height:1.5;max-width:300px;padding:1rem;position:relative}.profit-tooltip-content .tooltip-header{border-bottom:1px solid #1a252f;border-bottom:1px solid var(--tooltip-border);color:#fff;color:var(--tooltip-text);font-size:.9rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem}.profit-tooltip-content div:not(.tooltip-header){color:#fff;color:var(--tooltip-text);margin-bottom:.25rem}.profit-tooltip-content div:last-child{margin-bottom:0}.profit-tooltip-arrow{border-top:8px solid #2c3e50;border-top:8px solid var(--tooltip-bg);left:50%;top:100%;transform:translateX(-50%)}.profit-tooltip-arrow,.profit-tooltip-arrow:before{border-left:8px solid #0000;border-right:8px solid #0000;height:0;position:absolute;width:0}.profit-tooltip-arrow:before{border-top:8px solid #1a252f;border-top:8px solid var(--tooltip-border);content:"";left:-8px;top:-9px}.profit-calculation-modal .modal-content{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.profit-calculation-modal .modal-header{background:linear-gradient(135deg,#3b82f6,#10b981);background:linear-gradient(135deg,var(--primary-blue) 0,var(--success-green) 100%);border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--table-border);border-radius:.75rem .75rem 0 0;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;color:#fff}.profit-calculation-modal .modal-title{align-items:center;display:flex;font-weight:600;gap:.5rem}.profit-calculation-modal .modal-title:before{content:"💰";font-size:1.5rem}.profit-calculation-modal .modal-body{background:#fff;background:var(--table-bg);color:var(--text-primary);padding:2rem}.profit-calculation-modal .calculation-section{background:#f8fafc;background:var(--preview-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1rem}.profit-calculation-modal .calculation-section h6{align-items:center;color:#3b82f6;color:var(--primary-blue);display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.profit-calculation-modal .calculation-formula{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.25rem;border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;margin:1rem 0;padding:1rem}.profit-calculation-modal .calculation-values{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.profit-calculation-modal .value-item{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.25rem;border-radius:var(--border-radius-sm);display:flex;flex-direction:column;padding:.75rem}.profit-calculation-modal .value-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.profit-calculation-modal .value-amount{color:#3b82f6;color:var(--primary-blue);font-size:1.1rem;font-weight:600}.profit-calculation-modal .final-result{background:linear-gradient(135deg,#d1fae5,#dbeafe);background:linear-gradient(135deg,var(--success-green-light) 0,var(--primary-blue-light) 100%);border:2px solid #10b981;border:2px solid var(--success-green);border-radius:.5rem;border-radius:var(--border-radius);margin-top:1.5rem;padding:1.5rem;text-align:center}.profit-calculation-modal .final-result .result-label{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-bottom:.5rem}.profit-calculation-modal .final-result .result-amount{color:#10b981;color:var(--success-green);font-size:2rem;font-weight:700;margin-bottom:.5rem}.profit-calculation-modal .final-result .result-description{color:var(--text-secondary);font-size:.9rem;font-style:italic}.profit-cell{cursor:pointer;position:relative;transition:all .3s ease}.profit-cell:hover{background-color:#dbeafe!important;background-color:var(--primary-blue-light)!important;box-shadow:var(--shadow-sm);transform:scale(1.02)}.profit-cell:after{content:"💰";font-size:.7rem;opacity:.6;position:absolute;right:4px;top:2px;transition:opacity .3s ease}.profit-cell:hover:after{opacity:1}[data-theme=dark] .profit-cell:hover{background-color:#3b82f633!important}.monthly-details-container{background:#f8fafc;background:var(--preview-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);padding:1.5rem}.monthly-details-container h6{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.monthly-section{background:#fff;background:var(--table-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:.5rem;border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1rem}.monthly-section h6{align-items:center;color:#3b82f6;color:var(--primary-blue);display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}[data-theme=dark] .profit-tooltip-content{background:#2c3e50;background:var(--tooltip-bg);border-color:#1a252f;border-color:var(--tooltip-border);color:#fff;color:var(--tooltip-text)}[data-theme=dark] .profit-tooltip-arrow{border-top-color:#2c3e50;border-top-color:var(--tooltip-bg)}[data-theme=dark] .profit-tooltip-arrow:before{border-top-color:#1a252f;border-top-color:var(--tooltip-border)}[data-theme=dark] .profit-calculation-modal .modal-content{background:#fff;background:var(--table-bg);border-color:#e1e5e9;border-color:var(--table-border)}[data-theme=dark] .profit-calculation-modal .modal-body{background:#fff;background:var(--table-bg);color:var(--text-primary)}[data-theme=dark] .profit-calculation-modal .calculation-section{background:#f8fafc;background:var(--preview-bg);border-color:#e1e5e9;border-color:var(--table-border)}[data-theme=dark] .profit-calculation-modal .calculation-formula{color:var(--text-primary)}[data-theme=dark] .profit-calculation-modal .calculation-formula,[data-theme=dark] .profit-calculation-modal .value-item{background:#fff;background:var(--table-bg);border-color:#e1e5e9;border-color:var(--table-border)}[data-theme=dark] .profit-calculation-modal .final-result{background:linear-gradient(135deg,#d1fae5,#dbeafe);background:linear-gradient(135deg,var(--success-green-light) 0,var(--primary-blue-light) 100%);border-color:#10b981;border-color:var(--success-green)}.income-container .income-tab-rail{align-items:flex-end;display:flex;gap:2px;margin-bottom:-1px;padding:0 4px;position:relative;z-index:2}.income-container .income-tab-rail button{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #0000;border-bottom:0;border-radius:10px 10px 0 0;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:11px 18px;position:relative;transition:color .15s ease,background .15s ease}.income-container .income-tab-rail button i{font-size:14px}.income-container .income-tab-rail button:hover{background:#7f7f7f14;color:var(--text-primary)}.income-container .income-tab-rail button.is-active{background:var(--card-bg);border-color:#e1e5e9;border-color:var(--table-border);color:var(--text-primary)}.income-container .income-tab-rail button.is-active:after{background:var(--card-bg);bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.income-container .income-data-surface{background:var(--card-bg);border:1px solid #e1e5e9;border:1px solid var(--table-border);border-radius:0 .75rem .75rem .75rem;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.income-container .income-data-surface .table-container{border:0;border-radius:0;box-shadow:none}.income-container .income-data-surface .card{background:#0000;border:0;border-radius:0;box-shadow:none;margin:0}.income-container .income-data-surface .card .card-body{padding:16px 20px 20px}.income-container .income-data-surface>.fade-in{margin:0}.income-container .income-data-surface .income-tab-loading{color:var(--text-secondary);padding:24px 16px 32px;text-align:center}.income-container .income-context-strip{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.015),#0000);border-bottom:1px solid #e1e5e9;border-bottom:1px solid var(--table-border);display:flex;flex-wrap:wrap;gap:16px;padding:14px 16px}.income-container .income-context-title{color:var(--text-primary);font-size:15px;font-weight:700;letter-spacing:-.01em}.income-container .income-context-sub{color:var(--text-secondary);font-size:12px;margin-top:2px}.income-container .income-ctx-spacer{flex:1 1}.income-container .income-ds-body{padding:16px 20px 20px}.income-container .income-ds-body>.alert:first-child{margin-top:0}.income-container .income-month-range-pill{align-items:center;background:#ffffff08;border:1px solid var(--border-color-light);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.income-container .income-month-range-pill .mrp-lbl{align-items:center;border-right:1px solid var(--border-color-light);color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:700;gap:6px;height:26px;letter-spacing:.06em;margin-right:4px;padding:0 10px;text-transform:uppercase}.income-container .income-month-range-pill .mrp-select{-webkit-appearance:none;appearance:none;background:#0000;background-image:linear-gradient(45deg,#0000 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,#0000 50%);background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:0;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;outline:none;padding:5px 22px 5px 10px}.income-container .income-month-range-pill .mrp-select:hover{background-color:#ffffff0a}.income-container .income-month-range-pill .mrp-select option{background:var(--card-bg);color:var(--text-primary)}.income-container .income-month-range-pill .mrp-dash{color:var(--text-muted);font-size:11px;padding:0 2px}.income-container .income-footer-summary{align-items:center;background:#7f7f7f05;border-top:1px solid #e1e5e9;border-top:1px solid var(--table-border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:16px;padding:12px 16px}.income-container .income-footer-summary .stat{align-items:center;display:inline-flex;gap:8px}.income-container .income-footer-summary .stat strong{font-feature-settings:"tnum";color:var(--text-primary);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700}.income-container .income-footer-summary .footer-dot{color:#10b981;color:var(--success-green);font-size:6px}.income-container .income-footer-summary .footer-sep{background:var(--border-color-light);height:16px;width:1px}.income-container .income-footer-summary .footer-spacer{flex:1 1}.income-container .income-footer-summary .footer-muted{color:var(--text-muted)}@media (max-width:1024px){.income-container .income-tab-rail{flex-wrap:nowrap;overflow-x:auto}}.income-container tr.is-new-row>td{background-color:#7c3aed0f}.income-container tr.is-new-row>td:first-child{box-shadow:inset 4px 0 0 0 #7c3aed;box-shadow:inset 4px 0 0 0 var(--accent,#7c3aed);position:relative}.income-container tr.is-new-row .new-row-pill{background:#7c3aed;background:var(--accent,#7c3aed);border-radius:9px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1.4;margin-right:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.income-container .fill-cell{box-sizing:border-box;display:block;min-height:100%;padding:1px;width:100%}.spinner-container{align-items:center;display:flex;justify-content:center;min-height:200px}.spinner-container.spinner-inline{display:inline-flex;min-height:auto;vertical-align:middle}.spinner-frame{align-items:center;background:#0000;border-radius:999px;box-shadow:0 18px 40px var(--shadow-color);display:flex;height:var(--spinner-size);justify-content:center;overflow:hidden;position:relative;width:var(--spinner-size)}.spinner-frame:after{border:2px solid #e2e8f08c;border-radius:999px;content:"";inset:1px;pointer-events:none;position:absolute}.spinner-frame.spinner-frame-inline{background:#0000;border:0;box-shadow:none;height:auto;padding:0;width:auto}.spinner-frame.spinner-frame-inline:after{display:none}.spinner-gif{display:block;filter:drop-shadow(0 8px 18px rgba(15,23,42,.18));object-fit:contain}[data-theme=dark] .spinner-frame{box-shadow:0 22px 44px #02061761}[data-theme=dark] .spinner-frame:after{border-color:#94a3b861}[data-theme=dark] .spinner-gif{filter:drop-shadow(0 10px 20px rgba(2,6,23,.34))}.excel-btn,.excel-buttons{align-items:center}.excel-btn{border-radius:.375rem;border-width:2px;display:inline-flex;font-weight:500;justify-content:center;padding:.375rem .75rem;transition:all .15s ease-in-out;white-space:nowrap}.excel-btn i{font-size:1rem}.excel-btn-download,.excel-btn-upload{background-color:initial;border-color:#6c757d;color:#6c757d}.excel-btn-download:hover:not(:disabled){background-color:#198754;border-color:#198754;box-shadow:0 2px 4px #1987544d;color:#fff;transform:translateY(-1px)}.excel-btn-upload{cursor:pointer}.excel-btn-upload:hover:not(.disabled){background-color:#198754;border-color:#198754;box-shadow:0 2px 4px #1987544d;color:#fff;transform:translateY(-1px)}.excel-btn-upload.disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.excel-btn-upload:focus-within,.excel-btn:focus{box-shadow:0 0 0 .25rem #6c757d40;outline:0}.dark-theme .excel-btn-download,.dark-theme .excel-btn-upload,[data-bs-theme=dark] .excel-btn-download,[data-bs-theme=dark] .excel-btn-upload,[data-theme=dark] .excel-btn-download,[data-theme=dark] .excel-btn-upload{border-color:#6c757d;color:#adb5bd}.dark-theme .excel-btn-download:hover:not(:disabled),.dark-theme .excel-btn-upload:hover:not(.disabled),[data-bs-theme=dark] .excel-btn-download:hover:not(:disabled),[data-bs-theme=dark] .excel-btn-upload:hover:not(.disabled),[data-theme=dark] .excel-btn-download:hover:not(:disabled),[data-theme=dark] .excel-btn-upload:hover:not(.disabled){background-color:#198754;border-color:#198754;color:#fff}.capsule-toolbar{align-items:center;background-color:#fff;background-color:var(--bs-body-bg,#fff);border:1px solid #dee2e6;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.capsule-toolbar-center,.capsule-toolbar-left,.capsule-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.capsule-toolbar-left{flex:0 0 auto}.capsule-toolbar-center{flex:0 1 auto;justify-content:center}.capsule-toolbar-right{flex:0 0 auto;justify-content:flex-end}.capsule-toolbar-edit-group{align-items:center;display:flex;gap:.5rem}.capsule-btn{align-items:center;border-radius:.375rem;border-width:2px;display:inline-flex;font-weight:500;justify-content:center;padding:.375rem .75rem;transition:all .15s ease-in-out;white-space:nowrap}.capsule-btn:hover:not(:disabled){transform:translateY(-1px)}.capsule-btn-edit{background-color:#0d6efd;border-color:#0d6efd}.capsule-btn-edit:hover:not(:disabled){background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 2px 4px #0d6efd4d}.capsule-btn-save{background-color:#198754;border-color:#198754}.capsule-btn-save:hover:not(:disabled){background-color:#157347;border-color:#146c43;box-shadow:0 2px 4px #1987544d}.capsule-btn-cancel{border-color:#6c757d;color:#6c757d}.capsule-btn-cancel:hover:not(:disabled){background-color:#6c757d;border-color:#6c757d;box-shadow:0 2px 4px #6c757d4d;color:#fff}@media (max-width:768px){.capsule-toolbar{align-items:stretch;flex-direction:column}.capsule-toolbar-center,.capsule-toolbar-edit-group,.capsule-toolbar-left,.capsule-toolbar-right{justify-content:center;width:100%}}.dark-theme .capsule-toolbar,[data-bs-theme=dark] .capsule-toolbar,[data-theme=dark] .capsule-toolbar{background-color:#212529;background-color:var(--bs-dark-bg-subtle,#212529);border-color:#495057;border-color:var(--bs-border-color,#495057)}.dark-theme .capsule-btn-cancel,[data-bs-theme=dark] .capsule-btn-cancel,[data-theme=dark] .capsule-btn-cancel{border-color:#6c757d;color:#adb5bd}.dark-theme .capsule-btn-cancel:hover:not(:disabled),[data-bs-theme=dark] .capsule-btn-cancel:hover:not(:disabled),[data-theme=dark] .capsule-btn-cancel:hover:not(:disabled){background-color:#6c757d;border-color:#6c757d;color:#fff}.month-range-filter{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.month-range-filter .form-select-sm{min-width:80px}.month-range-filter label{color:#495057;font-weight:500;margin-bottom:0}@media (max-width:768px){.month-range-filter .row{align-items:flex-start;flex-direction:column;gap:.5rem}.month-range-filter .col-auto,.month-range-filter .form-select-sm{width:100%}}.instructions-modal .modal-content{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary)}.instructions-modal .modal-header{background:var(--background-secondary);border-bottom:1px solid var(--border-color)}.instructions-modal .modal-title{color:var(--text-primary);font-weight:600}.instructions-modal .modal-footer{background:var(--background-secondary);border-top:1px solid var(--border-color)}.instructions-body{max-height:70vh;overflow-y:auto}.instructions-content{padding:.5rem}.instruction-section{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.instruction-section:last-child{border-bottom:none;margin-bottom:0}.section-title{margin-bottom:1rem}.section-title i{color:var(--primary)}.instruction-steps{margin-bottom:0;padding-left:1.5rem}.instruction-steps li{color:var(--text-primary);margin-bottom:.5rem}.instruction-steps li:last-child{margin-bottom:0}.instructions-content .alert{margin-bottom:1rem;position:relative;z-index:1}.instructions-content .alert-info{background:#0d6efd1a;border-color:#0d6efd4d;color:var(--text-primary)}.instructions-content .alert-warning{background:#ffc1071a;border-color:#ffc1074d;color:var(--text-primary)}.instructions-content .alert-secondary{background:var(--background-secondary);border-color:var(--border-color);color:var(--text-secondary)}.instructions-content .alert-light{background:var(--background-secondary);border-color:var(--border-color);color:var(--text-primary)}.instructions-content .alert ul{margin-bottom:0}.fields-table{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);margin-bottom:1rem}.fields-table th{background:var(--background-secondary);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600}.fields-table td{border-color:var(--border-color);color:var(--text-primary);vertical-align:middle}.fields-table code{background:var(--background-secondary);border-radius:4px;color:var(--primary);font-size:.85em;padding:2px 6px}.faq-accordion .accordion-item{background:var(--card-bg);border-color:var(--border-color)}.faq-accordion .accordion-button{background:var(--background-secondary);color:var(--text-primary);font-weight:500}.faq-accordion .accordion-button:not(.collapsed){background:var(--primary);color:#fff}.faq-accordion .accordion-button:focus{border-color:var(--primary);box-shadow:none}.faq-accordion .accordion-button:after{filter:none;filter:var(--accordion-arrow-filter,none)}.faq-accordion .accordion-body{background:var(--card-bg);color:var(--text-primary)}[data-theme=dark] .faq-accordion .accordion-button:after{filter:invert(1)}[data-theme=dark] .faq-accordion .accordion-button:not(.collapsed):after{filter:none}.instructions-modal .btn-close{filter:none;filter:var(--btn-close-filter,none)}[data-theme=dark] .instructions-modal .btn-close{filter:invert(1)}@media (max-width:768px){.instructions-body{max-height:60vh}.fields-table{font-size:.85rem}.fields-table td,.fields-table th{padding:.5rem}}.income-shop-drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1040}.income-shop-drawer-overlay.open{opacity:1;pointer-events:auto}.income-shop-drawer{background:#fff;background:var(--card-bg,#fff);box-shadow:-20px 0 48px #0f172a33;color:#0f172a;color:var(--text-primary,#0f172a);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .24s ease;width:min(720px,100vw);z-index:1041}.income-shop-drawer.open{transform:translateX(0)}.income-shop-drawer-header{background:radial-gradient(circle at top left,#10b9811f,#0000 50%),linear-gradient(180deg,#94a3b814,#0000);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);padding:1.5rem 1.5rem 1rem}.income-shop-drawer-kicker{color:#64748b;color:var(--text-muted,#64748b);font-size:.78rem;letter-spacing:.08em;margin-bottom:.4rem;text-transform:uppercase}.income-shop-drawer-title-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.income-shop-drawer-title-row h2{font-size:1.55rem;line-height:1.15;margin:0}.income-shop-drawer-subtitle{color:#475569;color:var(--text-secondary,#475569);margin-top:.35rem}.income-shop-drawer-close{background:#94a3b824;border:0;border-radius:999px;color:inherit;height:2.5rem;width:2.5rem}.income-shop-drawer-close:hover{background:#94a3b83d}.income-shop-drawer-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.drawer-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.84rem;font-weight:600;padding:.38rem .78rem}.drawer-badge.lease.ok{background:#10b98124;color:#047857}.drawer-badge.lease.warning{background:#f59e0b24;color:#b45309}.drawer-badge.lease.critical,.drawer-badge.lease.expired{background:#ef444424;color:#b91c1c}.drawer-badge.anchor,.drawer-badge.lease.unknown,.drawer-badge.zone{background:#6366f11a;color:#4338ca}.income-shop-drawer-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);display:flex;gap:.5rem;padding:.9rem 1.5rem 0}.income-shop-drawer-tab{align-items:center;background:#0000;border:0;border-bottom:2px solid #0000;color:#64748b;color:var(--text-muted,#64748b);display:inline-flex;font-weight:600;gap:.55rem;padding:.8rem .95rem}.income-shop-drawer-tab.active{border-bottom-color:#10b981;color:#0f172a;color:var(--text-primary,#0f172a)}.income-shop-drawer-content{flex:1 1;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.income-shop-drawer-panel{grid-gap:1rem;display:grid;gap:1rem}.drawer-card-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-mode-card,.drawer-section,.drawer-stat-card{background:#f8fafc;background:var(--panel-bg,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:18px;color:#0f172a;color:var(--text-primary,#0f172a)}.drawer-stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem}.drawer-stat-card strong{font-size:1.25rem}.drawer-field span,.drawer-key-value span,.drawer-month-card span,.drawer-stat-label,.drawer-tag-header span{color:#64748b;color:var(--text-muted,#64748b);font-size:.9rem}.drawer-section{padding:1rem 1.05rem}.drawer-section-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.95rem}.drawer-section-header h3{font-size:1rem;margin:0}.drawer-section-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.75rem}.drawer-section-tab{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:999px;color:#475569;color:var(--text-secondary,#475569);font-size:.88rem;font-weight:600;padding:.45rem .85rem}.drawer-section-tab.active{background:#10b9811f;border-color:#10b98159;color:#047857}.drawer-section-hint{color:#64748b;color:var(--text-muted,#64748b);font-size:.88rem;margin:0 0 .8rem}.drawer-key-values{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-key-values.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.drawer-key-value{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:14px;color:#0f172a;color:var(--text-primary,#0f172a);padding:.85rem .95rem}.drawer-key-value strong{display:block;margin-top:.25rem}.drawer-form-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-field{display:flex;flex-direction:column;gap:.42rem}.drawer-field input,.drawer-field select{background:#fff;background:var(--input-bg,#fff);border:1px solid #cbd5e1;border:1px solid var(--input-border,#cbd5e1);border-radius:12px;color:#0f172a;color:var(--text-primary,#0f172a);min-height:42px;padding:.7rem .8rem;width:100%}.drawer-field input:disabled,.drawer-field select:disabled{opacity:.72}.drawer-toggle-row{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:14px;color:#0f172a;color:var(--text-primary,#0f172a);display:flex;gap:1rem;justify-content:space-between;margin-top:.95rem;padding:1rem}.drawer-toggle-row p{color:#64748b;color:var(--text-muted,#64748b);font-size:.9rem;margin:.25rem 0 0}.drawer-switch{display:inline-flex;height:30px;position:relative;width:52px}.drawer-switch input{height:0;opacity:0;width:0}.drawer-switch-slider{background:#94a3b859;border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background .2s ease}.drawer-switch-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0f172a2e;content:"";height:22px;left:4px;position:absolute;top:4px;transition:transform .2s ease;width:22px}.drawer-switch input:checked+.drawer-switch-slider{background:#10b981}.drawer-switch input:checked+.drawer-switch-slider:before{transform:translateX(22px)}.drawer-tag-section{margin-top:1rem}.drawer-tag-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.drawer-tag-grid{display:flex;flex-wrap:wrap;gap:.55rem}.drawer-tag-chip{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:999px;color:#0f172a;color:var(--text-primary,#0f172a);font-size:.88rem;padding:.48rem .8rem}.drawer-tag-chip.selected{background:#10b9811f;border-color:#10b98157;color:#047857}.drawer-mode-card{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.drawer-mode-copy p{color:#64748b;color:var(--text-muted,#64748b);margin:.35rem 0 0}.drawer-mode-actions{background:#f1f5f9;background:var(--background-secondary,#f1f5f9);border-radius:999px;display:inline-flex;gap:.45rem;padding:.3rem}.drawer-mode-btn{background:#0000;border:0;border-radius:999px;color:#475569;color:var(--text-secondary,#475569);font-weight:600;padding:.55rem .95rem}.drawer-mode-btn.active{background:#fff;background:var(--card-bg,#fff);box-shadow:0 4px 12px #0f172a14;color:#0f172a;color:var(--text-primary,#0f172a)}.drawer-month-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.drawer-month-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:14px;display:flex;flex-direction:column;gap:.45rem;padding:.85rem}.drawer-month-card,.drawer-month-card input{color:#0f172a;color:var(--text-primary,#0f172a)}.drawer-month-card input{background:#fff;background:var(--input-bg,#fff);border:1px solid #cbd5e1;border:1px solid var(--input-border,#cbd5e1);border-radius:12px;min-height:40px;padding:.65rem .75rem}.drawer-month-card.readonly strong{font-size:1rem}.income-shop-drawer-footer{align-items:center;background:#f8fafc;background:var(--panel-bg,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color,#e2e8f0);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.drawer-footer-left,.drawer-footer-right{align-items:center;display:flex;gap:.7rem}.drawer-primary-btn,.drawer-secondary-btn{border:1px solid #0000;border-radius:999px;font-weight:600;padding:.72rem 1.15rem}.drawer-secondary-btn{background:#0000;border-color:#94a3b852;color:#0f172a;color:var(--text-primary,#0f172a)}.drawer-primary-btn{background:#10b981;color:#fff}.drawer-key-value strong,.drawer-mode-copy strong,.drawer-month-card strong,.drawer-section-header h3,.drawer-stat-card strong,.drawer-tag-header strong,.drawer-toggle-row strong,.income-shop-drawer-title-row h2{color:#0f172a;color:var(--text-primary,#0f172a)}.drawer-mode-btn:disabled,.drawer-primary-btn:disabled,.drawer-secondary-btn:disabled,.drawer-tag-chip:disabled{cursor:not-allowed;opacity:.6}@media (max-width:900px){.income-shop-drawer{width:100vw}.drawer-card-grid,.drawer-form-grid,.drawer-key-values,.drawer-key-values.metrics,.drawer-month-grid{grid-template-columns:1fr}.drawer-mode-card,.drawer-toggle-row,.income-shop-drawer-footer{align-items:stretch;flex-direction:column}.drawer-footer-left,.drawer-footer-right{justify-content:stretch;width:100%}.drawer-footer-left button,.drawer-footer-right button{flex:1 1}}.itt-context .itt-spacer,.itt-filterbar .itt-spacer,.itt-toolbar .itt-spacer{flex:1 1}.itt-context{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.015),#0000);border-bottom:1px solid var(--table-border);display:flex;gap:16px;padding:14px 16px}.itt-context-title{color:var(--text-primary);font-size:15px;font-weight:700;letter-spacing:-.01em}.itt-context-sub{color:var(--text-secondary);font-size:12px;margin-top:2px}.itt-month-range{background:#ffffff08;border:1px solid var(--border-color-light);border-radius:8px;gap:2px;padding:3px}.itt-month-range,.itt-month-range-lbl{align-items:center;display:inline-flex}.itt-month-range-lbl{border-right:1px solid var(--border-color-light);color:var(--text-muted);font-size:11px;font-weight:700;gap:6px;height:26px;letter-spacing:.06em;margin-right:4px;padding:0 10px;text-transform:uppercase}.itt-month-range-select{-webkit-appearance:none;appearance:none;background:#0000;background-image:linear-gradient(45deg,#0000 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,#0000 50%);background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:0;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;outline:none;padding:5px 22px 5px 10px}.itt-month-range-select:hover{background-color:#ffffff0a}.itt-month-range-select option{background:var(--card-bg);color:var(--text-primary)}.itt-month-range-dash{color:var(--text-muted);font-size:11px;padding:0 2px}.itt-toolbar{border-bottom:1px solid var(--table-border);display:flex;flex-wrap:wrap;padding:10px 12px}.itt-btn,.itt-toolbar{align-items:center;gap:8px}.itt-btn{background:#0000;border:1px solid #0000;border-radius:7px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;padding:7px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.itt-btn i{font-size:14px}.itt-btn:hover:not(:disabled){background:#ffffff0d}.itt-btn:disabled{cursor:not-allowed;opacity:.55}.itt-btn--primary{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 1px 0 #ffffff1a,0 1px 2px #00000040;color:#fff}.itt-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.itt-btn--success{background:var(--success-green);border-color:var(--success-green);color:#fff}.itt-btn--success:hover:not(:disabled){filter:brightness(1.08)}.itt-btn--ghost{color:var(--text-secondary)}.itt-btn--ghost:hover:not(:disabled){color:var(--text-primary)}.itt-iconset{align-items:stretch;background:#ffffff08;border:1px solid var(--border-color-light);border-radius:7px;display:inline-flex;overflow:hidden}.itt-iconset button{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:0;border-right:1px solid var(--border-color-light);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;gap:7px;padding:7px 12px;transition:background .15s ease,color .15s ease}.itt-iconset button:last-child{border-right:0}.itt-iconset button:hover:not(:disabled){background:#ffffff0d;color:var(--text-primary)}.itt-iconset button:disabled{cursor:not-allowed;opacity:.5}.itt-iconset button.is-active{background:var(--accent-soft);color:#c4b5fd}.itt-iconset button i{font-size:14px}.itt-upload-drawer{background:#7c3aed0a;max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1)}.itt-upload-drawer.is-open{border-bottom:1px solid var(--table-border);max-height:200px}.itt-upload-drawer-inner{align-items:stretch;display:flex;gap:14px;padding:14px 14px 16px}.itt-dropzone{align-items:center;background:var(--card-bg);border:1.5px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:13px;gap:14px;margin:0;padding:14px 18px;transition:border-color .2s ease,background .2s ease,color .2s ease}.itt-dropzone.is-drag,.itt-dropzone:hover{background:#7c3aed14;border-color:var(--accent);color:var(--text-primary)}.itt-dropzone-icon{background:var(--accent-soft);border-radius:8px;color:#c4b5fd;display:inline-grid;flex-shrink:0;font-size:18px;height:40px;place-items:center;width:40px}.itt-dropzone-tx{display:flex;flex-direction:column;min-width:0}.itt-dropzone-tx strong{color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:2px}.itt-dropzone-tx small{color:var(--text-muted);font-size:12px}.itt-dropzone-browse{background:var(--accent);border-radius:6px;color:#fff;font-size:12px;font-weight:600;margin-left:auto;padding:6px 12px;white-space:nowrap}.itt-upload-help{background:#ffffff05;border:1px solid var(--border-color-light);border-radius:8px;color:var(--text-secondary);font-size:12px;line-height:1.5;padding:14px;width:240px}.itt-upload-help strong{color:var(--text-primary);display:block;font-size:12px;margin-bottom:4px}.itt-filterbar{background:hsla(0,0%,100%,.015);border-bottom:1px solid var(--table-border);flex-wrap:wrap;gap:10px;padding:10px 12px}.itt-filterbar,.itt-search{align-items:center;display:flex}.itt-search{background:var(--input-bg);border:1px solid var(--input-border);border-radius:7px;flex:1 1;gap:8px;max-width:360px;min-width:280px;padding:6px 10px;transition:border-color .15s ease,box-shadow .15s ease}.itt-search:focus-within{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #60a5fa26}.itt-search>i{color:var(--text-secondary);font-size:13px}.itt-search input{background:#0000;border:0;color:var(--text-primary);font-size:13px;outline:none;width:100%}.itt-search input::placeholder,.itt-search-clear{color:var(--text-muted)}.itt-search-clear{background:#0000;border:0;cursor:pointer;display:inline-grid;padding:2px;place-items:center}.itt-search-clear:hover{color:var(--text-primary)}.itt-chip{align-items:center;background:#ffffff0a;border:1px solid var(--border-color-light);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:12px;gap:6px;padding:4px 10px;white-space:nowrap}.itt-chip strong{color:var(--text-primary);font-weight:600}.itt-chip-dot{background:var(--success-green);border-radius:50%;height:6px;width:6px}.itt-toggle{align-items:center;background:#0000;border:1px solid var(--border-color-light);border-radius:7px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 10px;transition:color .15s ease,border-color .15s ease,background .15s ease}.itt-toggle:hover{border-color:var(--border-color);color:var(--text-primary)}.itt-toggle.is-on{background:var(--primary-blue-light);border-color:#60a5fa59;color:#bfdbfe}.itt-sort{align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:7px;color:var(--text-secondary);display:inline-flex;font-size:13px;gap:6px;padding:4px 6px 4px 10px}.itt-sort select{-webkit-appearance:none;appearance:none;background:#0000;background-image:linear-gradient(45deg,#0000 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,#0000 50%);background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:0;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;outline:none;padding:2px 20px 2px 4px}.itt-sort select option{background:var(--card-bg);color:var(--text-primary)}.itt-sort-flip{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:5px;color:var(--text-secondary);cursor:pointer;display:inline-grid;height:26px;place-items:center;width:26px}.itt-sort-flip:hover{background:#ffffff0f;color:var(--text-primary)}@media (max-width:768px){.itt-context{align-items:stretch;flex-direction:column;gap:10px}.itt-context .itt-spacer{display:none}.itt-filterbar{gap:8px}.itt-search{flex-basis:100%;max-width:none;min-width:0}.itt-upload-drawer-inner{flex-direction:column}.itt-upload-help{width:auto}}.monthly-pricing-container{margin:0 auto;max-width:100%;padding:20px}.monthly-pricing-container h1{margin-bottom:10px}.lead-text{color:#666;font-size:1.1rem;margin-bottom:30px}.date-selector{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.pricing-card{border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;transition:box-shadow .3s ease}.pricing-card:hover{box-shadow:0 4px 8px #00000026}.pricing-card .card-body{padding:25px}.pricing-card h3{color:#333;font-size:1.5rem;margin-bottom:20px}.table-container{margin-top:20px;overflow-x:auto}.table-scroll{min-width:100%}.monthly-pricing-container .table{margin-bottom:0;table-layout:fixed;width:100%}.monthly-pricing-container .table thead th{background-color:#f8f9fa;background-color:var(--background-secondary,#f8f9fa);border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color,#dee2e6);color:#495057;color:var(--text-primary,#495057);font-size:.85rem;font-weight:600;padding:8px 6px;text-align:center;white-space:nowrap}.monthly-pricing-container .table thead th:first-child{width:40px}.monthly-pricing-container .table tbody td{overflow:hidden;padding:8px 6px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.monthly-pricing-container .table tbody td:first-child{overflow:visible;width:40px}.monthly-pricing-container .table tbody tr:hover{background-color:#f8f9fa;background-color:var(--table-hover,#f8f9fa)}.highlight-price{background-color:#e7f3ff;font-size:1.1rem}.table tfoot tr{background-color:#e9ecef;font-weight:700}.badge{font-size:.8rem;padding:4px 8px}.text-end{text-align:right}.text-center{text-align:center}@media (max-width:768px){.monthly-pricing-container{padding:10px}.monthly-pricing-container h1{font-size:1.5rem}.lead-text{font-size:1rem}.pricing-card .card-body{padding:10px}.monthly-pricing-container .table{font-size:.75rem}.monthly-pricing-container .table tbody td,.monthly-pricing-container .table thead th{padding:4px 3px}.monthly-pricing-container .price-per-m2-cell .price-value{font-size:.75rem}.date-selector .row{flex-direction:column;gap:10px}.date-selector .col-auto,.date-selector select{width:100%}}.monthly-pricing-container .text-center{padding:60px 0}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:hover{background-color:#007bff;color:#fff}.alert-warning{border-radius:8px;margin-bottom:20px}.monthly-pricing-container .price-per-m2-column{text-align:center}.monthly-pricing-container .price-per-m2-cell{font-size:.85rem;text-align:center}.monthly-pricing-container .price-per-m2-cell .price-value{font-weight:600;white-space:nowrap}.monthly-pricing-container .expand-toggle-btn{background:none;border:none;color:#6c757d;color:var(--text-secondary,#6c757d);cursor:pointer;font-size:.7rem;line-height:1;padding:2px 4px}.monthly-pricing-container .expand-toggle-btn:hover{color:#007bff;color:var(--primary-blue,#007bff)}.monthly-pricing-container .expand-icon{display:inline-block;transition:transform .2s ease}.monthly-pricing-container .expand-icon.expanded{transform:rotate(90deg)}.monthly-pricing-container .expanded-row{background-color:#f8f9fa;background-color:var(--table-stripe,#f8f9fa)}.monthly-pricing-container .expanded-row td{border-top:none;padding:6px}.monthly-pricing-container .rate-type-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-weight:500;padding-left:20px!important}.monthly-pricing-container .rate-cell{display:table-cell!important;text-align:center;vertical-align:middle}.monthly-pricing-container .rate-value{color:#333;color:var(--text-primary,#333);font-weight:500}.monthly-pricing-container .rate-input{font-size:.8rem;min-width:0;padding:4px 6px;text-align:right;width:100%}.monthly-pricing-container .calculated-price-row{background-color:#e7f3ff;background-color:var(--preview-bg,#e7f3ff);border-top:1px solid #dee2e6;border-top:1px solid var(--table-border,#dee2e6)}.monthly-pricing-container .calculated-price-row .rate-value{color:#007bff;color:var(--primary-blue,#007bff);font-weight:600}.fill-cell{position:relative}.fill-cell.is-fill-source{border-radius:3px;box-shadow:inset 0 0 0 2px #7c3aed;box-shadow:inset 0 0 0 2px var(--accent,#7c3aed)}.fill-cell.is-fill-target{background-color:#7c3aed26;background-color:var(--accent-soft,#7c3aed26);border-radius:3px;box-shadow:inset 0 0 0 1px #7c3aed;box-shadow:inset 0 0 0 1px var(--accent,#7c3aed)}.fill-handle{background:#7c3aed;background:var(--accent,#7c3aed);border:1.5px solid #fff;border-radius:1px;bottom:-3px;box-shadow:0 0 0 1px #00000014;cursor:crosshair;height:9px;position:absolute;right:-3px;transition:transform .12s ease;width:9px;z-index:6}.fill-handle:hover{transform:scale(1.45)}[data-theme=dark] .fill-handle{border-color:#1e293b}:root{--table-hover:#3b82f60d;--input-border:#e2e8f0}[data-theme=dark]{--table-hover:#3b82f61a;--input-bg:#334155;--upload-zone-bg:#334155;--upload-zone-border:#64748b}.hr-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:linear-gradient(135deg,var(--card-bg-secondary) 0,#f1f5f9 100%);margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem}[data-theme=dark] .hr-container{background:linear-gradient(135deg,#f8fafc,#1e293b);background:linear-gradient(135deg,var(--card-bg-secondary) 0,#1e293b 100%)}.hr-header{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:3rem;overflow:hidden;padding:2.5rem;position:relative;text-align:center}.hr-header:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);content:"";height:4px;left:0;position:absolute;right:0;top:0}.hr-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:2.5rem;font-weight:700;gap:.75rem;justify-content:center;line-height:1.2;margin:0}.hr-header h1:before{animation:pulse 2s infinite;content:"👥";font-size:2rem}.hr-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-top:2rem}.hr-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.hr-card:hover{box-shadow:var(--shadow-lg),0 20px 25px -5px #0000001a;transform:translateY(-2px)}.hr-card h3{color:var(--text-primary);font-size:1.3em;margin-bottom:15px}.hr-card-content{max-height:400px;overflow-y:auto;position:relative;transition:all .3s ease}.hr-card-content.drag-active{background-color:#007bff1a;border:2px dashed #007bff}.table-responsive{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:1.5rem;overflow-x:auto;width:100%}.btn-group{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.btn{align-items:center;border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:1px solid var(--primary-color)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark),#1d4ed8)}.btn-success{background:linear-gradient(135deg,var(--success-color),#059669);border:1px solid var(--success-color)}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-secondary{background:linear-gradient(135deg,var(--text-secondary),#475569);border:1px solid var(--text-secondary)}.btn-secondary:hover{background:linear-gradient(135deg,#475569,#334155)}.btn-danger{background:linear-gradient(135deg,var(--danger-color),#dc2626);border:1px solid var(--danger-color)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn i{font-size:.875rem}.hr-tabs{margin-bottom:2rem}.hr-tabs .btn-group{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:0;margin-bottom:2rem;overflow:hidden}.hr-tabs .btn{border:none;border-radius:0;flex:1 1;font-weight:500;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.hr-tabs .btn:before{background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);transition:transform .6s}.hr-tabs .btn:hover:before{transform:translateX(100%)}.hr-card-content p{color:#666;font-style:italic;margin-bottom:15px}.upload-instruction{color:#666;font-size:.9em;font-style:italic;margin-bottom:10px}.error-message{color:#dc3545;font-weight:700;margin-top:10px}.uploaded-data-preview{border:1px solid #ddd;border-radius:5px;margin-top:20px;padding:20px}.uploaded-data-preview h3{margin-bottom:15px}.uploaded-data-preview .table{margin-bottom:20px}.uploaded-data-preview .text-danger{color:red;font-weight:700}.uploaded-data-preview button{margin-right:10px}.alert{animation:slideInRight .3s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:fixed;right:20px;top:20px;z-index:1000}.alert-danger{background:linear-gradient(135deg,var(--danger-color),#dc2626);color:#fff}.alert-success{background:linear-gradient(135deg,var(--success-color),#059669);color:#fff}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.month-filter{background:#f8fafc;background:var(--card-bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.month-filter .row{align-items:center;gap:1rem}.month-filter select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;background:var(--input-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23999' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;min-width:120px;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease}[data-theme=dark] .month-filter select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E")}.month-filter select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233b82f6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.month-filter label{align-items:center;display:flex;gap:.5rem}.month-filter label:before{content:"📅";font-size:1.25rem}.total-row-cell{border-top:2px solid var(--border-color)!important;font-weight:700}.total-column,.total-row-cell{background:linear-gradient(135deg,#f8fafc,var(--border-color))!important;background:linear-gradient(135deg,var(--card-bg-secondary),var(--border-color))!important;color:var(--text-primary)!important}.total-column{border-left:2px solid var(--border-color)!important}.total-intersection{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))!important;border-left:2px solid var(--primary-color)!important;border-top:2px solid var(--primary-color)!important;color:#fff!important;font-weight:700}.hr-container .table td input{border:1px solid #e2e8f0;border:1px solid var(--input-border,#ced4da);border-radius:.25rem;padding:.25rem;width:100%}.btn-group .btn{margin-right:.25rem}.edit-mode-indicator{color:#6c757d;font-size:.875rem;margin-bottom:1rem}.card{background:#0000;border:none;margin:0 auto;width:100%}.card-body{background:#0000;padding:2rem}.card-body,.card-body h3{color:var(--text-primary)}.card-body h3{align-items:center;display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin-bottom:.5rem}.card-body h3:before{font-size:1.25rem}.card-body h3[data-tab=employees]:before{content:"👥"}.card-body h3[data-tab=salaries]:before{content:"💰"}.card-body h3[data-tab=costs]:before{content:"📊"}.card-body p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1.5rem}.hr-container .table thead th{background-color:#fff;background-color:var(--card-bg,#fff);position:sticky;top:0;z-index:1}.hr-container .table{background-color:#fff;background-color:var(--table-bg);border-collapse:initial;border-radius:var(--radius-lg);border-spacing:0;box-shadow:var(--shadow-sm);color:var(--text-primary);margin-bottom:0;overflow:hidden;white-space:nowrap;width:100%}.hr-container .table td,.hr-container .table th{background-color:#fff;background-color:var(--table-bg);border-color:var(--border-color);padding:1rem .75rem;transition:background-color .2s ease;vertical-align:middle}.hr-container .table tbody tr:hover{background-color:#3b82f60d;background-color:var(--table-hover,#3b82f60d)}.hr-container .table thead th{background:linear-gradient(135deg,#f8fafc,var(--border-color));background:linear-gradient(135deg,var(--card-bg-secondary),var(--border-color));border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hr-container .table input[type=number],.hr-container .table input[type=text]{background-color:#fff;background-color:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;min-width:80px;padding:.5rem .75rem;transition:all .2s ease;width:100%}.hr-container .table input[type=number]:focus,.hr-container .table input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.hr-container .table td:first-child,.hr-container .table th:first-child{min-width:220px}.hr-container .table td:nth-child(2),.hr-container .table th:nth-child(2){min-width:210px}.hr-container .table td:not(:first-child):not(:nth-child(2)):not(:last-child),.hr-container .table th:not(:first-child):not(:nth-child(2)):not(:last-child){min-width:72px}.hr-container .table{table-layout:auto}.hr-container .data-surface .table-responsive{max-width:100%;overflow-x:auto}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}.hr-card{animation:fadeInUp .6s ease-out}.hr-card:first-child{animation-delay:.1s}.hr-card:nth-child(2){animation-delay:.2s}.hr-card:nth-child(3){animation-delay:.3s}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn.loading{color:#0000;position:relative}.btn.loading:after{animation:spin 1s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;content:"";height:1rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:1rem}@media (max-width:1200px){.hr-container{padding:1.5rem}}@media (max-width:768px){.hr-container{padding:1rem}.hr-header{margin-bottom:2rem;padding:1.5rem}.hr-header h1{flex-direction:column;font-size:2rem;gap:.5rem}.hr-tabs .btn-group{border-radius:var(--radius-lg);flex-direction:column}.hr-tabs .btn{border-radius:var(--radius-md)!important;margin-bottom:.5rem}.hr-tabs .btn:last-child{margin-bottom:0}.btn-group{align-items:stretch;flex-direction:column}.btn{justify-content:center;width:100%}.table td,.table th{font-size:.875rem;padding:.5rem .25rem}.table input[type=number],.table input[type=text]{font-size:.875rem;min-width:60px;padding:.375rem .5rem}.month-filter{padding:1rem}.month-filter .row{align-items:stretch;flex-direction:column;gap:.75rem}.month-filter .col-auto,.month-filter select{width:100%}.upload-zone{padding:1.5rem 1rem}.upload-zone:before{font-size:2rem;margin-bottom:.75rem}.preview-container{padding:1rem}.preview-actions{flex-direction:column}.preview-actions .btn{width:100%}}@media (max-width:480px){.hr-container{padding:.75rem}.hr-header{padding:1rem}.hr-header h1{font-size:1.75rem}.card-body{padding:1rem}.table-responsive{font-size:.75rem}.btn{font-size:.8rem;padding:.625rem 1rem}.btn i{display:none}}.hr-container .btn:focus,.hr-container .month-filter select:focus,.hr-container .table input:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn,.hr-card,.table tbody tr,.upload-zone{animation:none;transition:none}.btn:hover,.hr-card:hover{transform:none}}.upload-zone{background:#f8fafc;background:var(--upload-zone-bg);border:2px dashed #cbd5e1;border:2px dashed var(--upload-zone-border);border-radius:var(--radius-lg);overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-zone:before{content:"📁";display:block;font-size:3rem;margin-bottom:1rem;opacity:.5}.upload-zone.drag-active{border-color:var(--primary-color);transform:scale(1.02)}.upload-zone.drag-active:before{animation:bounce .5s ease infinite alternate;content:"✨"}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.upload-zone p{font-weight:500}.upload-zone p:first-of-type{font-size:1.125rem;font-weight:600}.upload-zone .text-muted{font-size:.875rem;opacity:.8}.preview-container{background:#f8fafc;background:var(--card-bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:1rem 0;padding:1.5rem}.preview-container h5{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.preview-container h5:before{content:"👀";font-size:1.25rem}.preview-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.table-scroll{background-color:#fff;background-color:var(--table-bg);margin-bottom:1rem;overflow-x:auto}.table-sm td,.table-sm th{font-size:.875rem;padding:.3rem}.table-striped tbody tr:nth-of-type(odd){background-color:#00000005;background-color:var(--table-stripe)}.table-bordered,.table-bordered td,.table-bordered th{border-color:var(--border-color)}.toast-overlay{animation:fadeIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast-notification{animation:slideIn .3s ease-out;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0003,0 8px 10px -6px #0003}.toast-success{border-left-color:var(--success-color)}.toast-error{border-left-color:var(--danger-color)}.toast-warning{border-left-color:var(--warning-color)}.toast-info{border-left-color:var(--primary-color)}.toast-success .toast-icon{color:var(--success-color)}.toast-error .toast-icon{color:var(--danger-color)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info .toast-icon{color:var(--primary-color)}.toast-close{color:var(--text-muted)}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--table-hover:#0000000a;--input-border:#ced4da}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--table-bg:#2a2a2a;--table-stripe:#ffffff0d;--table-hover:#ffffff14;--input-bg:#333;--input-border:#404040}.admin-container{margin:0 auto;max-width:1400px;padding:2rem}.admin-header{margin-bottom:2rem}.admin-header h1{color:var(--text-primary);font-size:2rem;font-weight:500}.admin-card{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);overflow:hidden}.admin-card-content{padding:1.5rem}.admin-card h3{color:var(--text-primary);font-weight:500}.admin-card h3,.admin-controls{margin-bottom:1.5rem}.table{border-collapse:initial;border-spacing:0}.table th{background-color:var(--header-bg);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.table td,.table th{color:var(--text-primary);padding:1rem}.table td{border-bottom:1px solid var(--border-color)}.admin-container .table tr:hover{background-color:#0000000a;background-color:var(--table-hover)}.table input.form-control,.table select.form-select{background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;padding:.375rem .75rem}.table input.form-control:focus,.table select.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem #007bff40}.badge{font-size:.75rem;font-weight:500;padding:.5em .75em}.modal-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 6px var(--shadow-color)}.modal-header{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.modal-footer{border-top:1px solid var(--border-color)}.btn-group{display:flex;gap:.5rem}.admin-actions-cell{text-align:right;white-space:nowrap;width:1%}.admin-actions-row{display:inline-flex;gap:6px}.admin-action-btn{align-items:center;display:inline-flex;font-size:14px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.admin-action-btn i{pointer-events:none}@media (max-width:992px){.admin-container{padding:1rem}.table td,.table th{padding:.75rem}.btn-sm{font-size:.75rem;padding:.25rem .5rem}}@media (max-width:768px){.table-responsive{margin:0 -1rem;padding:0 1rem;width:calc(100% + 2rem)}.admin-controls{flex-wrap:wrap;gap:.5rem}.admin-controls .btn{flex:1 1;min-width:120px}}.ai-settings-status{background:#f5f5f5;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.status-indicator{border-radius:50%;display:inline-block;height:10px;width:10px}.status-indicator.configured{background:#10b981;box-shadow:0 0 6px #10b98180}.status-indicator.not-configured{background:#9ca3af}.masked-key{background:#00000005;background:var(--table-stripe);border-radius:4px;color:var(--text-secondary);font-size:.875rem;padding:.25rem .5rem}.capsule-access-grid{grid-gap:6px 16px;background:#f8fafc;background:var(--surface-color,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;display:grid;gap:6px 16px;grid-template-columns:1fr 1fr;max-height:280px;overflow-y:auto;padding:12px 14px}.capsule-access-grid .form-check{margin-bottom:0}.capsule-access-grid .form-check-label{cursor:pointer;font-size:13px}@media (max-width:600px){.capsule-access-grid{grid-template-columns:1fr}}.budget-page{--budget-surface:var(--surface-color,#fff);--budget-surface-muted:var(--bg-secondary,#f5f7fb);--budget-surface-strong:var(--bg-tertiary,#eaf0f8);--budget-border:var(--border-color,#d7e0eb);--budget-text:var(--text-primary,#132238);--budget-text-muted:var(--text-secondary,#59708a);--budget-text-soft:var(--text-tertiary,#7b8da4);--budget-income:#0f9f74;--budget-income-soft:#0f9f741f;--budget-expense:#dc5b52;--budget-expense-soft:#dc5b521f;--budget-accent:#1f6feb;--budget-accent-soft:#1f6feb1a;--budget-shadow:0 18px 36px #0f172a0f;background:radial-gradient(circle at top left,#1f6feb14,#0000 26rem),linear-gradient(180deg,#ffffff80,#0000 16rem),#f3f7fb;background:radial-gradient(circle at top left,#1f6feb14,#0000 26rem),linear-gradient(180deg,#ffffff80,#0000 16rem),var(--background-color,#f3f7fb);margin:0 auto;max-width:1480px;min-height:100vh;padding:1.5rem}[data-theme=dark] .budget-page{--budget-surface:#0f172af0;--budget-surface-muted:#1e293bf0;--budget-surface-strong:#334155f0;--budget-border:#94a3b838;--budget-text:#e2e8f0;--budget-text-muted:#cbd5e1;--budget-text-soft:#94a3b8;--budget-shadow:0 18px 36px #02061773;background:radial-gradient(circle at top left,#1e40af52,#0000 28rem),linear-gradient(180deg,#0f172aeb,#020617fa),#020617;background:radial-gradient(circle at top left,#1e40af52,#0000 28rem),linear-gradient(180deg,#0f172aeb,#020617fa),var(--background-color,#020617)}.budget-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.header-left h1{color:var(--budget-text);font-size:clamp(1.5rem,2vw,1.9rem);font-weight:700;line-height:1.1;margin:0}.header-subtitle{color:var(--budget-text-muted);font-size:.95rem;margin:.35rem 0 0}.header-actions{gap:.75rem}.export-btn{align-items:center;background:linear-gradient(135deg,var(--budget-accent),#2b8df7);border:1px solid #0000;border-radius:999px;box-shadow:0 10px 24px #1f6feb3d;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.55rem;padding:.75rem 1rem;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.export-btn:hover:not(:disabled){box-shadow:0 14px 28px #1f6feb4d;transform:translateY(-1px)}.export-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.budget-detail-card,.budget-empty-state,.controls-bar,.loading-state{background:var(--budget-surface);border:1px solid var(--budget-border);border-radius:20px;box-shadow:var(--budget-shadow)}.controls-bar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.1rem}.period-filters{gap:.9rem 1.25rem;justify-content:flex-end}.filter-group,.period-filters{align-items:center;display:flex;flex-wrap:wrap}.filter-group{gap:.5rem}.filter-group label{color:var(--budget-text-muted);font-size:.83rem;font-weight:600}.filter-group select{background:var(--budget-surface-muted);border:1px solid var(--budget-border);border-radius:12px;color:var(--budget-text);cursor:pointer;font-size:.85rem;font-weight:500;min-width:7rem;padding:.65rem .85rem}.filter-group select:focus{border-color:var(--budget-accent);box-shadow:0 0 0 3px #1f6feb1f;outline:none}.filter-separator{color:var(--budget-text-soft);font-size:.9rem}.budget-empty-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;min-height:16rem;padding:2.5rem 1.5rem;text-align:center}.loading-state{color:var(--budget-text-muted)}.budget-empty-state i{color:var(--budget-accent);font-size:2rem}.budget-empty-state h2{color:var(--budget-text);font-size:1.15rem;margin:0}.budget-empty-state p{color:var(--budget-text-muted);line-height:1.6;margin:0;max-width:36rem}.budget-empty-state.error-state i{color:var(--budget-expense)}.summary-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.summary-card{align-items:flex-start;background:var(--budget-surface);border:1px solid var(--budget-border);border-radius:20px;box-shadow:var(--budget-shadow);gap:1rem;min-width:0;padding:1.2rem}.card-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;font-size:1.05rem;height:3rem;justify-content:center;width:3rem}.summary-card.income .card-icon{background:var(--budget-income-soft);color:var(--budget-income)}.summary-card.expenses .card-icon{background:var(--budget-expense-soft);color:var(--budget-expense)}.summary-card.profit .card-icon{background:var(--budget-accent-soft);color:var(--budget-accent)}.summary-card.profit.positive .card-icon{background:var(--budget-income-soft);color:var(--budget-income)}.summary-card.profit.negative .card-icon{background:var(--budget-expense-soft);color:var(--budget-expense)}.summary-card.margin .card-icon{background:#d977061f;color:#b7791f}.card-content{display:flex;flex-direction:column;min-width:0}.card-value{color:var(--budget-text);font-size:clamp(1.25rem,1.6vw,1.55rem);font-weight:700;line-height:1.1}.card-label{color:var(--budget-text-muted);font-size:.85rem;font-weight:600;margin-top:.2rem}.card-breakdown{color:var(--budget-text-soft);font-size:.8rem;line-height:1.45;margin-top:.45rem}.card-breakdown.good{color:var(--budget-income)}.card-breakdown.okay{color:#c77d1b}.card-breakdown.bad{color:var(--budget-expense)}.budget-detail-card{overflow:hidden}.budget-detail-header{align-items:flex-start;background:linear-gradient(180deg,#1f6feb0f,#0000 80%);border-bottom:1px solid var(--budget-border);display:flex;gap:1rem;justify-content:space-between;padding:1.2rem 1.25rem 1rem}.budget-detail-header h2{color:var(--budget-text);font-size:1.15rem;margin:.55rem 0 0}.budget-detail-header p{color:var(--budget-text-muted);font-size:.9rem;margin:.35rem 0 0}.budget-detail-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.budget-badge{align-items:center;background:var(--budget-surface);border:1px solid var(--budget-border);border-radius:999px;color:var(--budget-text-muted);display:inline-flex;font-size:.8rem;font-weight:600;padding:.45rem .7rem}.budget-table-container{padding:0 .8rem .8rem}.budget-table{border-collapse:initial;border-spacing:0;font-size:.84rem;table-layout:fixed;width:100%}.budget-table th{background:var(--budget-surface-muted);border-bottom:1px solid var(--budget-border);color:var(--budget-text-muted);font-size:.74rem;font-weight:700;letter-spacing:.04em;padding:.9rem .7rem;position:sticky;text-align:right;text-transform:uppercase;top:0;white-space:nowrap;z-index:4}.budget-table td.row-label,.budget-table th.category-col{left:0;min-width:clamp(13rem,18vw,15rem);position:sticky;text-align:left;width:clamp(13rem,18vw,15rem);z-index:3}.budget-table th.category-col{z-index:5}.budget-table td.total-cell,.budget-table th.total-col{background:var(--budget-surface-strong);border-left:1px solid var(--budget-border);min-width:6.8rem;width:6.8rem}.budget-table td{background:var(--budget-surface);border-bottom:1px solid var(--budget-border);padding:.78rem .7rem;vertical-align:middle}.budget-table tbody tr:last-child td{border-bottom:none}.section-header td{background:var(--budget-surface-muted);color:var(--budget-text);font-size:.8rem;font-weight:700;left:0;letter-spacing:.03em;padding:.8rem .85rem;position:sticky;text-transform:uppercase;z-index:2}.section-header td i{margin-right:.45rem}.section-header.income-section td{color:var(--budget-income)}.section-header.expenses-section td{color:var(--budget-expense)}.row-label{background:var(--budget-surface);box-shadow:10px 0 18px #0f172a0a;color:var(--budget-text);font-weight:500}.row-label .indent{display:inline-block;width:.95rem}.row-hint{color:var(--budget-text-soft);font-size:.75rem;font-weight:500}.number-cell{font-feature-settings:"tnum";color:var(--budget-text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.number-cell.positive{color:var(--budget-income)}.number-cell.negative{color:var(--budget-expense)}.cell-value{display:block;overflow:hidden;text-overflow:ellipsis}.data-row:hover .row-label,.data-row:hover td,.subtotal-row .row-label,.subtotal-row td{background:var(--budget-surface-muted)}.subtotal-row .row-label{color:var(--budget-text-muted)}.net-result-row td{border-top:1px solid #0f9f743d;padding-block:.95rem}.net-result-row .row-label,.net-result-row td{background:linear-gradient(90deg,#0f9f7414,#0f9f7405)}.ebita-row td{border-top:1px dashed #1f6feb47;padding-block:.95rem}.ebita-row .row-label,.ebita-row td{background:linear-gradient(90deg,#1f6feb14,#1f6feb05)}.budget-mobile-grid{display:none;gap:.9rem;padding:1rem}.budget-mobile-card{background:var(--budget-surface);border:1px solid var(--budget-border);border-radius:18px;padding:1rem}.budget-mobile-card.total-card{background:linear-gradient(180deg,#1f6feb14,#0000 70%),var(--budget-surface)}.budget-mobile-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.9rem}.budget-mobile-label{color:var(--budget-text-soft);display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.budget-mobile-card-header h3{color:var(--budget-text);font-size:1rem;margin:.25rem 0 0}.budget-mobile-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-height:2rem;padding:.45rem .7rem;white-space:nowrap}.budget-mobile-pill.positive{background:var(--budget-income-soft);color:var(--budget-income)}.budget-mobile-pill.negative{background:var(--budget-expense-soft);color:var(--budget-expense)}.budget-mobile-metrics{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.budget-mobile-metrics div{background:var(--budget-surface-muted);border-radius:14px;padding:.75rem}.budget-mobile-metrics span{color:var(--budget-text-soft);display:block;font-size:.76rem;margin-bottom:.25rem}.budget-mobile-metrics strong{color:var(--budget-text);font-size:.92rem}@media (max-width:1280px){.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-table{font-size:.8rem}.budget-table td,.budget-table th{padding-inline:.55rem}}@media (max-width:960px){.budget-page{padding:1rem}.budget-detail-header,.budget-header,.controls-bar{align-items:stretch;flex-direction:column}.budget-detail-badges,.header-actions{justify-content:flex-start}.export-btn{width:100%}.period-filters{justify-content:stretch}.filter-group{width:100%}.filter-group select{flex:1 1;min-width:0}.budget-table-container{display:none}.budget-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.budget-mobile-grid,.budget-mobile-metrics,.summary-cards{grid-template-columns:1fr}.summary-card{padding:1rem}.budget-mobile-card-header{flex-direction:column}.budget-mobile-pill{width:fit-content}}.floor-plan-editor-v2{display:flex;flex-direction:column;gap:1rem;height:calc(100vh - 120px);padding:1rem}.floor-plan-toolbar{align-items:center;background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:12px;display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem}.toolbar-section{align-items:center;background:#12122a;background:var(--card-bg-dark,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:8px;display:flex;gap:.5rem;padding:.5rem .75rem}.toolbar-section:first-child{background:#0000;border:none;padding:0}.file-upload-btn{align-items:center;background:#12122a;background:var(--input-bg,#12122a);border:2px dashed #2a2a4a;border:2px dashed var(--border-color,#2a2a4a);border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.file-upload-btn:hover{background:#6c5ce71a;border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7)}.floor-plan-editor-v2 button,.floor-plan-toolbar button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#6c5ce7,#5a4bc7);background:linear-gradient(135deg,var(--primary-color,#6c5ce7),#5a4bc7);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #48bb7866;transform:translateY(-1px)}.btn-success.has-changes{animation:pulse-green 1.5s infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 0 0 #48bb7866}50%{box-shadow:0 0 0 8px #48bb7800}}.btn-danger{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.btn-secondary{background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);color:#fff;color:var(--text-primary,#fff)}.btn-secondary:hover:not(:disabled){background:#6c5ce71a;border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7)}.btn-warning{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff}.btn-warning:hover:not(:disabled){box-shadow:0 4px 12px #ed893666;transform:translateY(-1px)}button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.floor-plan-name-input,.month-select,.zone-select{background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:8px;color:#fff;color:var(--text-primary,#fff);font-size:.85rem;min-width:120px;padding:.5rem .75rem}.floor-plan-name-input:focus,.month-select:focus,.zone-select:focus{border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7);outline:none}.floor-plan-name-input{min-width:180px}.editor-main-content{display:flex;flex:1 1;gap:1rem;min-height:0}.canvas-area{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:12px;display:flex;flex:1 1;flex-direction:column;min-height:500px;overflow:hidden;position:relative}.canvas-container{flex:1 1;position:relative}.zoom-controls{bottom:1rem;display:flex;flex-direction:column;gap:.25rem;position:absolute;right:1rem;z-index:100}.zoom-controls button{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a!important;border:1px solid var(--border-color,#2a2a4a)!important;border-radius:8px;box-shadow:0 2px 8px #0000004d;color:#fff;color:var(--text-primary,#fff);font-size:.9rem;height:36px;padding:0;width:36px}.zoom-controls button:hover:not(:disabled){background:#ffffff1a;background:var(--hover-bg,#ffffff1a);border-color:#6c5ce7!important;border-color:var(--primary-color,#6c5ce7)!important;transform:none}.floor-plan-sidebar{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;width:280px}.sidebar-header{align-items:center;border-bottom:1px solid #2a2a4a;border-bottom:1px solid var(--border-color,#2a2a4a);display:flex;justify-content:space-between;padding:1rem}.sidebar-header h4{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin:0}.sidebar-header h4 i{color:#6c5ce7;color:var(--primary-color,#6c5ce7)}.refresh-btn{background:#0000!important;border:none!important;color:#888;color:var(--text-muted,#888);font-size:.9rem;padding:.25rem}.refresh-btn:hover:not(:disabled){color:#6c5ce7;color:var(--primary-color,#6c5ce7)}.sidebar-content{flex:1 1;overflow-y:auto;padding:.5rem}.floor-plan-list{list-style:none;margin:0;padding:0}.floor-plan-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.25rem;padding:.75rem;transition:all .15s}.floor-plan-item:hover{background:#ffffff0d;background:var(--hover-bg,#ffffff0d)}.floor-plan-item.active{background:#6c5ce726;border:1px solid #6c5ce7;border:1px solid var(--primary-color,#6c5ce7)}.plan-info{display:flex;flex-direction:column;gap:2px}.plan-name{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;font-weight:500}.plan-meta{color:#888;color:var(--text-muted,#888);font-size:.75rem}.active-indicator{color:#6c5ce7;color:var(--primary-color,#6c5ce7)}.empty-state,.loading-state{align-items:center;color:#888;color:var(--text-muted,#888);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.empty-state i,.loading-state i{font-size:2rem;margin-bottom:.75rem;opacity:.5}.empty-state .hint{font-size:.75rem;margin-top:.25rem}.zone-info-panel{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;width:320px}.panel-header{border-bottom:1px solid #2a2a4a;border-bottom:1px solid var(--border-color,#2a2a4a);justify-content:space-between;padding:1rem}.panel-header,.panel-header h3{align-items:center;display:flex}.panel-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1rem;font-weight:600;gap:.5rem;margin:0}.zone-color-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.close-btn{background:#0000!important;border:none!important;color:#888;color:var(--text-muted,#888);cursor:pointer;font-size:1.1rem;padding:.25rem}.close-btn:hover{color:#fff;color:var(--text-primary,#fff)}.panel-body{flex:1 1;overflow-y:auto;padding:1rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#888;color:var(--text-muted,#888);display:block;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.zone-type-buttons{display:flex;gap:.375rem}.zone-type-btn{background:#12122a;background:var(--input-bg,#12122a);border:2px solid #0000!important;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem;transition:all .15s}.zone-type-btn:hover:not(:disabled){border-color:var(--zone-color)!important}.zone-type-btn.active{background:#6c5ce726}.zone-type-btn:disabled{cursor:not-allowed;opacity:.4}.attached-client{align-items:center;background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.client-info{display:flex;flex-direction:column;gap:2px}.client-name{color:#fff;color:var(--text-primary,#fff);font-weight:500}.client-org{color:#888;color:var(--text-muted,#888);font-size:.75rem}.anchor-badge{align-items:center;background:linear-gradient(135deg,gold,orange);border-radius:12px;color:#333;display:inline-flex;font-size:.7rem;font-weight:600;gap:4px;margin-top:4px;padding:2px 8px;width:fit-content}.btn-detach{background:#0000!important;border:1px solid #2a2a4a!important;border:1px solid var(--border-color,#2a2a4a)!important;color:#888;color:var(--text-muted,#888);font-size:.85rem;padding:.375rem}.btn-detach:hover:not(:disabled){border-color:#e53e3e!important;color:#e53e3e}.metrics-section{border-top:1px solid #2a2a4a;border-top:1px solid var(--border-color,#2a2a4a);margin-top:1.5rem;padding-top:1rem}.metrics-section h4{color:#fff;color:var(--text-primary,#fff);font-size:.85rem;font-weight:600;margin:0 0 1rem}.metric-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.metric-row label{color:#888;color:var(--text-muted,#888);font-size:.85rem;letter-spacing:normal;margin:0;text-transform:none}.metric-row input{background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:.85rem;padding:.375rem .5rem;text-align:right;width:100px}.metric-row input:focus{border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7);outline:none}.calculated-metrics{background:#12122a;background:var(--card-bg-dark,#12122a);border-radius:8px;margin-top:1rem;padding:.75rem}.calc-row{display:flex;font-size:.85rem;justify-content:space-between}.calc-row span:first-child{color:#888;color:var(--text-muted,#888)}.calc-value{color:#48bb78;font-weight:600}.btn-save-metrics{margin-top:1rem;width:100%}.panel-footer{border-top:1px solid #2a2a4a;border-top:1px solid var(--border-color,#2a2a4a);padding:1rem}.btn-delete{background:#0000!important;border:1px solid #e53e3e!important;color:#e53e3e;width:100%}.btn-delete:hover:not(:disabled){background:#e53e3e1a!important}.canvas-loading{align-items:center;background:#12122a;background:var(--card-bg-dark,#12122a);bottom:0;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.canvas-loading p{margin:0}.canvas-empty,.canvas-loading p{color:#888;color:var(--text-muted,#888)}.canvas-empty{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.canvas-empty i{font-size:4rem;margin-bottom:1rem;opacity:.3}.canvas-empty p{margin:.25rem 0}.canvas-empty .hint{font-size:.85rem}@media (max-width:1024px){.floor-plan-toolbar{padding:.75rem}.toolbar-section{padding:.375rem .5rem}.floor-plan-sidebar,.zone-info-panel{width:260px}}@media (max-width:768px){.editor-main-content{flex-direction:column}.floor-plan-sidebar,.zone-info-panel{max-height:250px;width:100%}.toolbar-section{flex-wrap:wrap}}.anchor-config-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.anchor-config-panel{animation:slideUp .3s ease;background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;overflow:hidden;width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.anchor-config-panel .panel-header{align-items:center;border-bottom:1px solid #2a2a4a;border-bottom:1px solid var(--border-color,#2a2a4a);display:flex;justify-content:space-between;padding:1rem 1.25rem}.anchor-config-panel .panel-header h3{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:1.1rem;gap:.5rem;margin:0}.anchor-config-panel .panel-header h3 i{color:gold}.anchor-config-panel .panel-body{flex:1 1;overflow-y:auto;padding:1rem 1.25rem}.config-description{color:#888;color:var(--text-muted,#888);font-size:.9rem;margin:0 0 1rem}.anchor-config-panel .search-box{margin-bottom:1rem;position:relative}.anchor-config-panel .search-box i{color:#888;color:var(--text-muted,#888);left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.anchor-config-panel .search-box input{background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:8px;color:#fff;color:var(--text-primary,#fff);font-size:.9rem;padding:.625rem .75rem .625rem 2.25rem;width:100%}.anchor-config-panel .search-box input:focus{border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7);outline:none}.shops-list{display:flex;flex-direction:column;gap:.5rem;max-height:350px;overflow-y:auto}.shop-config-item{background:#12122a;background:var(--input-bg,#12122a);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:8px;padding:.75rem;transition:all .15s}.shop-config-item.selected{background:#6c5ce71a;border-color:#6c5ce7;border-color:var(--primary-color,#6c5ce7)}.shop-config-item.disabled-manual{background:#8080801a;border-color:#444;opacity:.5}.shop-config-item.disabled-manual .shop-checkbox,.shop-config-item.disabled-manual .shop-checkbox input{cursor:not-allowed}.manual-badge{background:#ff980033;border-radius:4px;color:#ff9800;font-size:.7rem;margin-left:8px;padding:2px 6px}.shop-header{flex-wrap:wrap;gap:.75rem}.shop-checkbox,.shop-header{align-items:center;display:flex}.shop-checkbox{cursor:pointer;flex:1 1;gap:.5rem}.shop-checkbox input{cursor:pointer;height:16px;width:16px}.shop-name{color:#fff;color:var(--text-primary,#fff);font-weight:500}.shop-floor{background:#12122a;background:var(--card-bg-dark,#12122a);color:#888;color:var(--text-muted,#888);font-size:.75rem}.shop-floor,.shop-zone{border-radius:4px;padding:2px 8px}.shop-zone{border:1px solid;color:#fff;color:var(--text-primary,#fff);font-size:.7rem}.shop-config-options{border-top:1px solid #2a2a4a;border-top:1px solid var(--border-color,#2a2a4a);display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem}.config-option{flex-wrap:wrap;gap:.75rem}.config-option,.option-toggle{align-items:center;display:flex}.option-toggle{color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.85rem;gap:.5rem}.option-toggle input{height:14px;width:14px}.zone-select-small{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:.85rem;padding:.25rem .5rem}.traffic-option{align-items:flex-start;flex-direction:column}.traffic-option label{color:#888;color:var(--text-muted,#888);font-size:.85rem;margin-bottom:.25rem}.traffic-slider{align-items:center;display:flex;gap:.5rem;width:100%}.traffic-slider input[type=range]{-webkit-appearance:none;background:#2a2a4a;background:var(--border-color,#2a2a4a);border-radius:3px;flex:1 1;height:6px}.traffic-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#6c5ce7;background:var(--primary-color,#6c5ce7);border-radius:50%;cursor:pointer;height:16px;width:16px}.traffic-input{background:#1a1a2e;background:var(--card-bg,#1a1a2e);border:1px solid #2a2a4a;border:1px solid var(--border-color,#2a2a4a);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:.85rem;padding:.25rem .5rem;text-align:center;width:60px}.total-share{align-items:center;background:#12122a;background:var(--card-bg-dark,#12122a);border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;margin-top:1rem;padding:.75rem}.total-share span:first-child{color:#888;color:var(--text-muted,#888)}.total-share strong{color:#6c5ce7;color:var(--primary-color,#6c5ce7)}.total-share.over strong{color:#e53e3e}.total-share .warning{align-items:center;color:#e53e3e;display:flex;font-size:.8rem;gap:.25rem;margin-left:auto}.anchor-config-panel .panel-footer{border-top:1px solid #2a2a4a;border-top:1px solid var(--border-color,#2a2a4a);display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem}.btn-anchor-config{background:linear-gradient(135deg,gold,orange)!important;color:#333!important;font-size:.8rem;margin-top:.5rem;width:100%}.btn-anchor-config:hover:not(:disabled){box-shadow:0 4px 12px #ffd70066;transform:translateY(-1px)}.anchor-traffic-info{background:#ffd7001a;border:1px solid #ffd7004d;border-radius:8px;margin-bottom:16px;padding:12px}.anchor-traffic-info h4{align-items:center;color:gold;display:flex;font-size:.9rem;gap:8px;margin:0 0 10px}.anchor-source{align-items:center;border-bottom:1px solid #ffd7001a;display:flex;gap:10px;padding:6px 0}.anchor-source:last-child{border-bottom:none}.anchor-source .source-name{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:.85rem}.anchor-source .source-share{color:gold;font-size:.9rem;font-weight:700}.anchor-source .source-buff{background:#4caf5026;border-radius:4px;color:#4caf50;font-size:.8rem;padding:2px 8px}.scenario-container{margin:0 auto;max-width:1400px;padding:2rem}.scenario-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.scenario-header h1{color:var(--text-color);font-size:1.75rem;font-weight:600;margin:0}.create-scenario-btn{align-items:center;background:#0d6efd;background:var(--primary-color,#0d6efd);border:none;border-radius:8px;box-shadow:0 2px 4px #0d6efd33;color:#fff!important;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.create-scenario-btn:hover:not(:disabled){background:#0b5ed7;background:var(--primary-color-dark,#0b5ed7);box-shadow:0 4px 12px #0d6efd4d;transform:translateY(-1px)}.create-scenario-btn:disabled{cursor:not-allowed;opacity:.6}.create-scenario-btn i{font-size:.875rem}.scenarios-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.scenario-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e1e5eb;border:1px solid var(--border-color,#e1e5eb);border-radius:12px;box-shadow:0 2px 8px #0000000f;color:var(--text-color);display:flex;flex-direction:column;min-height:220px;padding:1.5rem;position:relative;transition:all .2s ease}[data-theme=dark] .scenario-card{background:#1e1e1e;background:var(--card-bg,#1e1e1e);border-color:#ffffff14;box-shadow:0 2px 12px #0000004d}.scenario-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-3px)}[data-theme=dark] .scenario-card:hover{border-color:#ffffff1f;box-shadow:0 8px 24px #0006}.scenario-card.active{background:linear-gradient(135deg,#fff,#0d6efd08);background:linear-gradient(135deg,var(--card-bg,#fff) 0,#0d6efd08 100%);border-color:#0d6efd;border-color:var(--primary-color,#0d6efd);border-width:2px}[data-theme=dark] .scenario-card.active{background:linear-gradient(135deg,#1e1e1e,#0d6efd1a);background:linear-gradient(135deg,var(--card-bg,#1e1e1e) 0,#0d6efd1a 100%);box-shadow:0 0 0 1px #0d6efd4d,0 4px 20px #0d6efd26}.scenario-status-badge{align-items:center;background:linear-gradient(135deg,gold,#ffb700);border-radius:20px;box-shadow:0 2px 8px #ffb70066;color:#1a1a1a;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;letter-spacing:.025em;padding:.25rem .75rem;position:absolute;right:16px;text-transform:uppercase;top:-10px}.scenario-status-badge i{font-size:.625rem}.scenario-card-header{margin-bottom:.75rem}.scenario-card-header h3{color:var(--text-color);font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}.scenario-description{flex-grow:1;font-size:.875rem;line-height:1.6;margin:0 0 1rem}.scenario-description,.scenario-meta{color:#6c757d;color:var(--text-muted,#6c757d)}.scenario-meta{align-items:center;border-top:1px solid #e1e5eb;border-top:1px solid var(--border-color,#e1e5eb);display:flex;font-size:.8125rem;gap:.5rem;padding-top:1rem}[data-theme=dark] .scenario-meta{border-color:#ffffff14}.scenario-meta i{font-size:.875rem;opacity:.7}.scenario-meta-separator{margin:0 .125rem;opacity:.3}.scenario-active-users{align-items:flex-start;border-top:1px solid #e1e5eb;border-top:1px solid var(--border-color,#e1e5eb);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}[data-theme=dark] .scenario-active-users{border-color:#ffffff14}.scenario-active-users>i{color:#6c757d;color:var(--text-muted,#6c757d);font-size:.8125rem;margin-top:.1875rem;opacity:.7}.scenario-user-list{display:flex;flex-wrap:wrap;gap:.375rem}.scenario-user-tag{align-items:center;background:#0d6efd14;border-radius:12px;color:#0d6efd;color:var(--primary-color,#0d6efd);display:inline-flex;font-size:.75rem;font-weight:500;padding:.1875rem .5rem;white-space:nowrap}[data-theme=dark] .scenario-user-tag{background:#0d6efd26}.scenario-actions{align-items:center;border-top:1px solid #e1e5eb;border-top:1px solid var(--border-color,#e1e5eb);display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding-top:1rem}[data-theme=dark] .scenario-actions{border-color:#ffffff14}.scenario-active-message{align-items:center;color:#0d6efd;color:var(--primary-color,#0d6efd);display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.scenario-active-message i{font-size:1rem}.btn-activate{align-items:center;background:linear-gradient(135deg,#0d6efd,#0856d6);border:none;border-radius:8px;box-shadow:0 2px 4px #0d6efd33;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;min-width:140px;padding:.625rem 1.25rem;transition:all .2s ease}.btn-activate:hover:not(:disabled){background:linear-gradient(135deg,#0b5ed7,#0747b5);box-shadow:0 4px 12px #0d6efd59;transform:translateY(-1px)}.btn-activate:active:not(:disabled){transform:translateY(0)}.btn-activate:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-activate i{font-size:.875rem}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.scenario-secondary-actions{align-items:center;display:flex;gap:.5rem}.btn-icon{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e1e5eb;border:1px solid var(--border-color,#e1e5eb);border-radius:8px;color:#6c757d;color:var(--text-muted,#6c757d);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}[data-theme=dark] .btn-icon{background:#ffffff0d;border-color:#ffffff1a}.btn-icon:hover{transform:translateY(-1px)}.btn-icon i{font-size:.875rem}.btn-edit:hover{background:#ffc1071a;border-color:#ffc107;color:#ffc107}[data-theme=dark] .btn-edit:hover{background:#ffc10733}.btn-copy:hover{background:#17a2b81a;border-color:#17a2b8;color:#17a2b8}[data-theme=dark] .btn-copy:hover{background:#17a2b833}.btn-delete:hover{background:#dc35451a;border-color:#dc3545;color:#dc3545}[data-theme=dark] .btn-delete:hover{background:#dc354533}.modal-content{border:none;border-radius:12px;box-shadow:0 20px 60px #0003;overflow:hidden}[data-theme=dark] .modal-content{background:#1e1e1e;background:var(--card-bg,#1e1e1e);box-shadow:0 20px 60px #00000080}.modal-header{background:#f8f9fa;background:var(--bg-color,#f8f9fa);border-bottom:1px solid #e1e5eb;border-bottom:1px solid var(--border-color,#e1e5eb);padding:1.25rem 1.5rem}[data-theme=dark] .modal-header{background:#ffffff08;border-color:#ffffff14}.modal-header .modal-title{font-size:1.125rem;font-weight:600}.modal-body{padding:1.5rem}.modal-body .alert{border-radius:8px;font-size:.875rem}.modal-footer{border-top:1px solid #e1e5eb;border-top:1px solid var(--border-color,#e1e5eb);gap:.75rem;padding:1rem 1.5rem}[data-theme=dark] .modal-footer{border-color:#ffffff14}.modal-body .form-label{color:var(--text-color);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.modal-body .form-control{background-color:#fff;background-color:var(--bg-color,#fff);border:1px solid #e1e5eb;border:1px solid var(--border-color,#e1e5eb);border-radius:8px;color:var(--text-color);font-size:.9375rem;padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .modal-body .form-control{background-color:#ffffff0d;border-color:#ffffff1a}.modal-body .form-control:focus{border-color:#0d6efd;border-color:var(--primary-color,#0d6efd);box-shadow:0 0 0 3px #0d6efd1a;outline:none}.modal-body .form-control::placeholder{color:#6c757d;color:var(--text-muted,#6c757d);opacity:.7}.modal-footer .btn{border-radius:8px;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.modal-footer .btn-secondary{background:#f8f9fa;background:var(--bg-color,#f8f9fa);border:1px solid #e1e5eb;border:1px solid var(--border-color,#e1e5eb);color:var(--text-color)}[data-theme=dark] .modal-footer .btn-secondary{background:#ffffff0d;border-color:#ffffff1a}.modal-footer .btn-secondary:hover{background:#e1e5eb;background:var(--border-color,#e1e5eb)}[data-theme=dark] .modal-footer .btn-secondary:hover{background:#ffffff1a}.modal-footer .btn-info,.modal-footer .btn-primary{box-shadow:0 2px 4px #0d6efd33}.modal-footer .btn-info:hover,.modal-footer .btn-primary:hover{box-shadow:0 4px 12px #0d6efd4d;transform:translateY(-1px)}.btn-copy-modal{align-items:center;display:inline-flex;gap:.5rem;justify-content:center;min-width:180px}.btn-copy-modal .btn-spinner{border-color:#fff #ffffff4d #ffffff4d}.alert-danger{background:#dc35451a;border:1px solid #dc354533;border-radius:8px;color:#dc3545;margin-bottom:1.5rem;padding:1rem 1.25rem}[data-theme=dark] .alert-danger{background:#dc354526;border-color:#dc35454d}@media (max-width:768px){.scenario-container{padding:1rem}.scenarios-grid{grid-template-columns:1fr}.scenario-header{align-items:stretch;flex-direction:column;gap:1rem}.scenario-header h1{font-size:1.5rem}.create-scenario-btn{justify-content:center}.scenario-card{min-height:auto;padding:1.25rem}.scenario-actions{flex-direction:column;gap:.75rem}.btn-activate{width:100%}.scenario-secondary-actions{justify-content:flex-end;width:100%}.scenario-active-message{justify-content:center}}@media (max-width:480px){.scenario-status-badge{font-size:.6875rem;padding:.1875rem .625rem}.scenario-card-header h3{font-size:1rem}}.opex-container{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:20px}.opex-header{margin-bottom:20px}.opex-content{flex:1 1;min-height:0}.opex-content .card{background:var(--card-bg);border-color:var(--border-color)}.table td input{min-width:80px;width:100%}.table td{vertical-align:middle}.card,.card-body{height:100%}.card-body{padding:1rem}.table-container{border:1px solid #dee2e6;flex:1 1}.table{table-layout:fixed;width:100%}.sticky-col{max-width:280px;padding-right:12px!important;text-overflow:ellipsis;white-space:nowrap}.sticky-col,.sticky-col-right{overflow:hidden}.category-column{width:280px}.table td,.table th{border-collapse:collapse;padding:.5rem}.table-striped tbody tr:hover td{background-color:var(--background-hover)}.level-0-row td{background-color:#2196f326!important;border-bottom:2px solid #1976d280!important;border-top:2px solid #1976d280!important;color:#1565c0;font-size:1.05rem;font-weight:800}.level-0-row:hover td{background-color:#2196f340!important}.level-1-row td{background-color:#0000000d!important;color:var(--text-primary);font-weight:600}.level-1-row:hover td{background-color:#00000014!important}.level-2-row td{font-weight:400}.level-2-row:hover td{background-color:var(--background-hover)!important}.level-2-row input.form-control-sm{min-width:80px}.parent-row td{background-color:var(--background-secondary)!important;font-weight:700}.parent-row:hover td{background-color:var(--background-hover)!important}.child-row td{font-weight:400}.spinner-border{height:3rem;width:3rem}.table tbody td,.table thead th{border-left:1px solid var(--border-color)}.table tbody td,.table tbody td:not(:last-child),.table thead th,.table thead th:not(:last-child){border-right:1px solid var(--border-color)}.other-income-container{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:20px}.other-income-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:20px}.other-income-header h1{color:var(--text-primary);margin:0}.other-income-content{flex:1 1;min-height:0}.other-income-content .card{background:var(--card-bg);border-color:var(--border-color);height:100%}.table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;overflow:auto;position:relative}.table{border-collapse:collapse;border-color:var(--border-color);margin-bottom:0;white-space:nowrap}.sticky-col{border-right:2px solid var(--border-color)!important;left:0}.sticky-col,.sticky-col-right{background:var(--card-bg);position:sticky;z-index:1}.sticky-col-right{border-left:2px solid var(--border-color)!important;right:0}.category-column{max-width:250px;min-width:180px}.month-column{min-width:100px}.total-column{min-width:120px}.table td,.table th{border:1px solid var(--border-color);padding:.75rem;vertical-align:middle}.table th{background-color:var(--background-secondary);font-weight:600}.income-row td{font-weight:400}.income-row:hover td{background-color:var(--background-hover)!important}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;text-align:right}.form-control{border-color:var(--input-border)}.form-control,.form-control:focus{background-color:var(--input-bg);color:var(--text-primary)}.form-control:focus{border-color:var(--primary)}.table-striped tbody tr:nth-of-type(odd) td,.table-striped tbody tr:nth-of-type(odd) td.sticky-col,.table-striped tbody tr:nth-of-type(odd) td.sticky-col-right{background-color:var(--background-secondary)}.table-striped tbody tr:nth-of-type(2n) td.sticky-col,.table-striped tbody tr:nth-of-type(2n) td.sticky-col-right{background-color:var(--card-bg)}.month-filter{gap:1rem}.month-filter label{color:var(--text-primary);margin:0}.upload-zone{background:var(--background-secondary);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-primary);padding:1.5rem;text-align:center;transition:all .3s ease}.upload-zone.drag-active{background:#3b82f60d;border-color:#3b82f6;box-shadow:0 0 20px #3b82f633;transform:scale(1.01)}.upload-zone p{color:var(--text-primary);margin:.5rem 0}.upload-zone .text-muted{color:var(--text-secondary)!important}.upload-preview .card{background:var(--card-bg);border:1px solid var(--border-color)}.upload-preview .card-header{background:var(--background-secondary);border-bottom:1px solid var(--border-color)}.toast-overlay{align-items:center;animation:toastFadeIn .2s ease-out;background:#0006}@keyframes toastFadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast-notification{align-items:flex-start;animation:toastSlideIn .3s ease-out;box-shadow:0 20px 25px -5px #0003;gap:1rem;max-width:500px;min-width:350px;padding:1.5rem 2rem}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-icon{flex-shrink:0;font-size:1.75rem}.toast-content{flex:1 1}.toast-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.toast-message{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:1rem;padding:.25rem;transition:color .2s ease}.toast-close:hover{color:var(--text-primary)}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.other-income-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start;width:100%}.month-filter{flex-wrap:wrap}}.dds-container{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:20px}.dds-header{margin-bottom:20px}.dds-header h1{color:var(--text-primary);margin:0}.dds-content{flex:1 1;min-height:0}.dds-content .card{background:var(--card-bg);border-color:var(--border-color)}.dds-container .table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;flex:1 1;overflow:auto;position:relative}.dds-table{border-collapse:collapse;border-color:var(--border-color);margin-bottom:0;table-layout:fixed;width:100%}.dds-table td,.dds-table th{border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;vertical-align:middle}.dds-table thead th{background:var(--background-secondary);font-weight:600;position:sticky;top:0;z-index:2}.dds-table .sticky-col{word-wrap:break-word;background:var(--card-bg);border-right:2px solid var(--border-color)!important;left:0;overflow:hidden;position:sticky;white-space:normal;width:240px;z-index:1}.dds-table thead .sticky-col{z-index:3}.dds-table .sticky-col-right{background:var(--card-bg);border-left:2px solid var(--border-color)!important;overflow:hidden;position:sticky;right:0;width:90px;z-index:1}.dds-table thead .sticky-col-right{z-index:3}.category-column{width:240px}.month-column,.total-column{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.total-column{background-color:var(--background-secondary);font-weight:700;width:90px}.section-header-row td{background:linear-gradient(135deg,#2196f326,#2196f30d)!important;border-bottom:2px solid #2196f34d!important;border-top:2px solid #2196f34d!important}.section-header{color:#1976d2;font-size:.95rem;font-weight:700;padding:.75rem 1rem!important}.section-header i{color:#1976d2}.data-row td{background-color:var(--card-bg)}.data-row:hover td{background-color:var(--background-hover)}.indent-1{padding-left:2rem!important}.subtotal-row td{background-color:#00000008!important;border-top:1px solid var(--border-color);font-weight:600}.activity-row td,.subtotal-row td{border-bottom:2px solid var(--border-color)}.activity-row td{border-top:2px solid var(--border-color);font-size:.95rem;font-weight:700}.activity-row.operating td{background:linear-gradient(135deg,#10b9811f,#10b9810d)!important;color:#047857}.activity-row.investment td{background:linear-gradient(135deg,#6366f11f,#6366f10d)!important;color:#4338ca}.activity-row.financial td{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0d)!important;color:#b45309}.balance-row td{background:linear-gradient(135deg,#3b82f626,#3b82f614)!important;border-top:3px solid #3b82f680;color:#1e40af;font-size:1rem;font-weight:700}.highlight-row td{background-color:#00000005!important}.editable-row .sticky-col{background-color:#fbbf2414}.editable-cell{background-color:#fbbf240d!important}.editable-row:hover td{background-color:#fbbf241f!important}.manual-indicator{color:#f59e0b}.auto-indicator,.manual-indicator{font-size:.7rem;margin-right:.5rem;vertical-align:middle}.auto-indicator,.hint-text{color:var(--text-secondary)}.hint-text{display:block;font-size:.75rem;font-weight:400;margin-top:2px}strong.positive,td.positive{color:#059669!important}strong.negative,td.negative{color:#dc2626!important}.dds-table input.form-control-sm{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary);height:calc(1.5em + .5rem + 2px);min-width:80px;padding:.25rem .5rem;text-align:right;width:100%}.dds-table input.form-control-sm:focus{background-color:var(--input-bg);border-color:#f59e0b;box-shadow:0 0 0 .2rem #f59e0b40;color:var(--text-primary)}.month-filter{color:var(--text-primary);margin-bottom:1rem}.month-filter select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary);width:auto}.dds-legend{background:var(--background-secondary);border-radius:4px;color:var(--text-secondary);display:flex;font-size:.875rem;gap:2rem;padding:.75rem 1rem}.dds-legend .legend-item{align-items:center;display:flex;gap:.5rem}@media (max-width:768px){.dds-container{padding:10px}.dds-header h1{font-size:1.5rem}.category-column,.sticky-col{max-width:250px!important;min-width:200px!important}.month-column{min-width:80px}.dds-legend{flex-direction:column;gap:.5rem}}[data-theme=dark] .section-header,[data-theme=dark] .section-header i{color:#60a5fa}[data-theme=dark] .activity-row.operating td{background:linear-gradient(135deg,#10b98133,#10b9811a)!important;color:#34d399}[data-theme=dark] .activity-row.investment td{background:linear-gradient(135deg,#6366f133,#6366f11a)!important;color:#a5b4fc}[data-theme=dark] .activity-row.financial td{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a)!important;color:#fcd34d}[data-theme=dark] .balance-row td{background:linear-gradient(135deg,#3b82f640,#3b82f626)!important;color:#93c5fd}[data-theme=dark] strong.positive,[data-theme=dark] td.positive{color:#34d399!important}[data-theme=dark] strong.negative,[data-theme=dark] td.negative{color:#f87171!important}[data-theme=dark] .editable-row .sticky-col{background-color:#fbbf2426}[data-theme=dark] .editable-cell{background-color:#fbbf241a!important}[data-theme=dark] .editable-row:hover td{background-color:#fbbf2433!important}.expandable-row{cursor:pointer;-webkit-user-select:none;user-select:none}.expandable-row:hover td{background-color:#3b82f614!important}.expandable-row .sticky-col{align-items:center;display:flex;gap:.5rem}.expand-icon{align-items:center;color:var(--text-secondary);display:inline-flex;flex-shrink:0;height:18px;justify-content:center;transition:transform .2s ease;width:18px}.expand-icon i{font-size:.7rem}.expand-icon.expanded{transform:rotate(90deg)}.drilldown-row td{background-color:#00000005!important;color:var(--text-secondary);font-size:.9rem}.drilldown-row:hover td{background-color:#0000000d!important}.drilldown-cell{font-weight:400!important}.indent-2{padding-left:3.5rem!important}.drilldown-row{animation:fadeInRow .2s ease-out}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .expandable-row:hover td{background-color:#3b82f61f!important}[data-theme=dark] .drilldown-row td{background-color:#ffffff05!important;color:#94a3b8}[data-theme=dark] .drilldown-row:hover td{background-color:#ffffff0d!important}[data-theme=dark] .data-row:hover td,[data-theme=dark] .data-row:hover td.sticky-col,[data-theme=dark] .data-row:hover td.sticky-col-right{background-color:#ffffff0a!important}[data-theme=dark] .editable-row:hover td{background-color:#fbbf241f!important}[data-theme=dark] .subtotal-row:hover td{background-color:#ffffff0f!important}[data-theme=dark] .dds-table{--bs-table-bg:#0000;--bs-table-accent-bg:#0000;--bs-table-striped-bg:#ffffff05;--bs-table-hover-bg:#ffffff0a;--bs-table-active-bg:#ffffff0a;--bs-table-border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .dds-table>:not(caption)>*>*{background-color:initial;color:var(--text-primary)}[data-theme=dark] .dds-table tbody tr:hover>*{--bs-table-accent-bg:#ffffff0a;background-color:#ffffff0a!important}[data-theme=dark] .dds-table tbody tr:hover,[data-theme=dark] .dds-table.table tbody tr:hover{background-color:initial!important}[data-theme=dark] .dds-table tbody tr.data-row:hover td{background-color:#ffffff08!important}[data-theme=dark] .dds-table tbody tr.editable-row:hover td{background-color:#fbbf2414!important}[data-theme=dark] .dds-table tbody tr.expandable-row:hover td{background-color:#3b82f614!important}[data-theme=dark] .dds-table tbody tr.drilldown-row:hover td,[data-theme=dark] .dds-table tbody tr.subtotal-row:hover td{background-color:#ffffff0a!important}[data-theme=dark] .dds-table tbody tr:hover>*{--bs-table-accent-bg:#0000!important;--bs-table-hover-bg:#0000!important}.capex-link{color:var(--text-secondary);font-size:.8rem;opacity:.7;text-decoration:none;transition:opacity .2s,color .2s}.capex-link:hover{color:var(--primary);opacity:1}.capex-link i{font-size:.7rem}.dds-table .has-tooltip{cursor:help}.dds-table .has-tooltip:hover{background-color:#3b82f614}.dds-table .clickable-calc{cursor:pointer;transition:background-color .15s ease}.dds-table .clickable-calc:hover{background-color:#3b82f61f}.calculation-modal-content{padding:.5rem}.calc-period{background:#f8f9fa;background:var(--preview-bg,#f8f9fa);border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.calc-period-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-weight:500}.calc-period-value{color:#212529;color:var(--text-primary,#212529);font-weight:600}.calc-formula{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-left:3px solid #3b82f6;border-left:3px solid var(--primary-blue,#3b82f6);border-radius:.5rem;margin-bottom:1rem;padding:.75rem}.calc-formula-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.calc-formula-value{color:#212529;color:var(--text-primary,#212529);font-size:1rem;font-weight:600}.calc-values{margin-bottom:1rem}.calc-values-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.75rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.calc-value-item{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--table-border,#dee2e6);display:flex;justify-content:space-between;padding:.5rem 0}.calc-value-item:last-child{border-bottom:none}.calc-value-label{color:#6c757d;color:var(--text-secondary,#6c757d)}.calc-value-amount{color:#212529;color:var(--text-primary,#212529);font-family:Roboto Mono,monospace;font-weight:600}.calc-calculation{background:#f8f9fa;background:var(--preview-bg,#f8f9fa);border-radius:.5rem;margin-bottom:1rem;padding:.75rem}.calc-calculation-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.calc-calculation-value{color:#212529;color:var(--text-primary,#212529);font-family:Roboto Mono,monospace;font-size:.95rem}.calc-result{align-items:center;background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid #10b98133;border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem}.calc-result-label{color:#212529;color:var(--text-primary,#212529);font-weight:600}.calc-result-value{font-family:Roboto Mono,monospace;font-size:1.25rem;font-weight:700}.calc-result-value.positive{color:#10b981}.calc-result-value.negative{color:#ef4444}.capex-container{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:20px}.capex-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:20px}.capex-header h1{color:var(--text-primary);margin:0}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.capex-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:0;margin-bottom:0}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.tab-btn:hover{background:var(--background-hover);color:var(--primary)}.tab-btn.active{background:var(--card-bg);border-bottom-color:var(--primary);color:var(--primary)}.tab-btn i{opacity:.7}.tab-btn.active i{opacity:1}.capex-content{flex:1 1;min-height:0}.capex-content .card{background:var(--card-bg);border-color:var(--border-color);border-top-left-radius:0;height:100%}.tab-description{background:var(--background-secondary);border-radius:6px;padding:10px 15px}.tab-description p{font-size:.9rem}.loading-container{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center}.capex-container .table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;max-height:calc(100vh - 400px);overflow:auto;position:relative}.capex-container .table{border-collapse:collapse;border-color:var(--border-color);margin-bottom:0}.capex-container .sticky-col{background:var(--card-bg);border-right:2px solid var(--border-color)!important;left:0;position:sticky;z-index:2}.capex-container .sticky-col-right{background:var(--card-bg);border-left:2px solid var(--border-color)!important;position:sticky;right:0;z-index:1}.capex-container .name-column{max-width:450px;min-width:350px}.capex-container .month-column{min-width:90px;text-align:right}.capex-container .total-column{background-color:var(--background-secondary)!important;font-weight:700;min-width:110px;text-align:right}.capex-container .actions-column{min-width:80px;text-align:center}.name-cell{align-items:center;display:flex;gap:8px;width:100%}.name-cell input{flex:1 1;min-width:120px}.name-cell>span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);display:flex;flex-grow:0;flex-shrink:0;font-size:.7rem;height:24px;justify-content:center;line-height:1;margin-left:auto;opacity:0;padding:4px 6px;transition:opacity .15s,background .15s,color .15s,border-color .15s;width:24px}.capex-row:hover .comment-btn,.comment-btn:focus-visible,.comment-btn:hover{opacity:1}.comment-btn:focus-visible,.comment-btn:hover{background:var(--background-hover);border-color:var(--primary);color:var(--primary)}.comment-btn.has-comment{background:#3b82f61a;border-color:var(--primary);color:var(--primary);opacity:1}.capex-container .table td,.capex-container .table th{border:1px solid var(--border-color);padding:.5rem .75rem;vertical-align:middle}.capex-container .table th{background-color:var(--background-secondary);font-weight:600;position:sticky;top:0;z-index:3}.capex-container .table th.sticky-col,.capex-container .table th.sticky-col-right{z-index:4}.capex-row td{font-weight:400}.capex-row:hover .sticky-col,.capex-row:hover td{background-color:var(--background-hover)!important}.total-row td{background-color:#2196f31a!important;border-top:2px solid #1976d280!important}.total-row:hover td{background-color:#2196f326!important}.total-row .sticky-col{background-color:#2196f31a!important}.capex-container .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem}.capex-container .month-column .form-control-sm{text-align:right}.capex-container .name-column .form-control-sm{text-align:left}.capex-container .form-control{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.capex-container .form-control:focus{background-color:var(--input-bg);border-color:var(--primary);color:var(--text-primary)}.capex-container .table-striped tbody tr:nth-of-type(odd) .sticky-col,.capex-container .table-striped tbody tr:nth-of-type(odd) td{background-color:var(--background-secondary)}.month-filter{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;padding:10px 0}.month-filter select{min-width:80px}.month-filter label{color:var(--text-secondary);font-weight:500}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.comment-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%}.comment-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.comment-modal-header h5{color:var(--text-primary);font-size:1.1rem;margin:0}.comment-modal-body{padding:20px}.comment-row-name{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.comment-display{background:var(--background-secondary);border-radius:6px;color:var(--text-primary);min-height:100px;padding:12px;white-space:pre-wrap}.comment-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}.toast-overlay{align-items:flex-start;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;padding-top:100px;position:fixed;right:0;top:0;z-index:9999}.toast-notification{align-items:center;background:var(--card-bg);border-left:4px solid;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;gap:12px;max-width:400px;padding:16px 24px}.toast-success{border-left-color:#28a745}.toast-error{border-left-color:#dc3545}.toast-icon{align-items:center;border-radius:50%;display:flex;font-size:1.5rem;height:32px;justify-content:center;width:32px}.toast-success .toast-icon{background:#28a7451a;color:#28a745}.toast-error .toast-icon{background:#dc35451a;color:#dc3545}.toast-content strong{display:block;margin-bottom:4px}.toast-content p{font-size:.9rem;margin:0}.capex-container .text-center.text-muted,.toast-content p{color:var(--text-secondary)}.capex-container .text-center.text-muted i{opacity:.5}@media (max-width:768px){.capex-header{align-items:flex-start;flex-direction:column}.capex-tabs{overflow-x:auto;width:100%}.tab-btn{font-size:.9rem;padding:10px 16px}.capex-container .name-column{min-width:200px}}[data-theme=dark] .capex-container .table-striped tbody tr:nth-of-type(odd) td{background-color:#ffffff05}[data-theme=dark] .capex-container .table-striped tbody tr:nth-of-type(odd) .sticky-col{background-color:#1e2530}[data-theme=dark] .capex-container .sticky-col,[data-theme=dark] .capex-container .table-striped tbody tr:nth-of-type(2n) .sticky-col{background-color:#1a1f2b}[data-theme=dark] .total-row td{background-color:#2196f326!important}[data-theme=dark] .total-row .sticky-col{background-color:#1a2a3d!important}[data-theme=dark] .capex-container .sticky-col-right{background-color:#1a1f2b}[data-theme=dark] .capex-container .table-striped tbody tr:nth-of-type(odd) .sticky-col-right{background-color:#1e2530}[data-theme=dark] .capex-row:hover .sticky-col,[data-theme=dark] .capex-row:hover .sticky-col-right{background-color:#252d3a!important}[data-theme=dark] .tab-description{background:#ffffff0d}[data-theme=dark] .comment-btn.has-comment{background:#3b82f633}[data-theme=dark] .comment-display{background:#ffffff0d}.settings-container{padding:0}.settings-content{max-width:900px;padding:1.5rem}.settings-section{background:var(--card-bg);border:1px solid var(--table-border);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.section-title{align-items:center;color:var(--text-primary);display:flex;font-weight:600;margin:0 0 .5rem}.section-title i{color:var(--primary-blue)}.section-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.settings-table{margin-bottom:1rem}.settings-table th{background:var(--preview-bg);border-bottom:2px solid var(--table-border);color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1rem;text-transform:uppercase}.settings-table td{border-bottom:1px solid var(--table-border);padding:.75rem 1rem;vertical-align:middle}.settings-table tbody tr:hover{background:var(--hover-bg)}.settings-table tbody tr.has-changes{background:#3b82f60d}.year-cell{color:var(--text-primary);font-size:1.1rem}.rate-cell{align-items:center;display:flex;gap:.5rem}.rate-input{font-weight:500;text-align:right;width:100px}.rate-suffix{color:var(--text-secondary);font-weight:500}.status-cell .badge{font-weight:500;padding:.4em .8em}.actions-cell{text-align:right}.settings-actions{border-top:1px solid var(--table-border);display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem}.settings-info{background:var(--preview-bg);border:1px solid var(--table-border);border-radius:var(--border-radius);padding:1.25rem}.settings-info h6{color:var(--text-primary);font-weight:600;margin:0 0 .75rem}.settings-info h6 i{color:var(--primary-blue)}.settings-info ul{color:var(--text-secondary);font-size:.9rem;margin:0;padding-left:1.25rem}.settings-info li{margin-bottom:.5rem}.settings-info li:last-child{margin-bottom:0}.settings-info li strong{color:var(--text-primary)}@media (max-width:768px){.settings-content,.settings-section{padding:1rem}.rate-cell{flex-wrap:wrap}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}.add-year-row{align-items:center;background:#f8fafc;background:var(--surface-color,#f8fafc);border:1px dashed #e2e8f0;border:1px dashed var(--border-color,#e2e8f0);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding:12px 14px}.add-year-row .add-year-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:13px;font-weight:600;margin:0}.add-year-row .add-year-input-group{width:auto}.add-year-row .add-year-hint{flex:1 1 100%;font-size:12px;margin:0}.sc-container{margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.sc-header{margin-bottom:28px}.sc-title h1{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);display:flex;font-size:1.75rem;font-weight:700;gap:12px;margin:0 0 6px}.sc-title h1 i{color:#3b82f6;color:var(--primary-blue,#3b82f6)}.sc-title p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;margin:0}.sc-controls{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr;margin-bottom:28px}.sc-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px}.sc-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sc-card-header h3{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0}.sc-card-header h3 i{color:#3b82f6;color:var(--primary-blue,#3b82f6)}.sc-badge{background:#f3f4f6;background:var(--background-secondary,#f3f4f6);border-radius:12px;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem;font-weight:600;padding:4px 10px}.sc-chips{display:flex;flex-wrap:wrap;gap:10px}.sc-chip{align-items:center;background:#fff;background:var(--card-bg,#fff);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:50px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s;white-space:nowrap}.sc-chip:hover{background:#3b82f60d;border-color:#3b82f6;border-color:var(--primary-blue,#3b82f6)}.sc-chip.selected{font-weight:600}.sc-chip i{font-size:1rem}.sc-chip-name{max-width:180px;overflow:hidden;text-overflow:ellipsis}.sc-chip-tag{border-radius:4px;font-size:.65rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.sc-chip-tag.active{background:#3b82f626;color:inherit}.sc-chip-star{color:#f59e0b;font-size:.9rem}.sc-chip-baseline{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;display:flex;margin-left:-4px;padding:2px;transition:all .2s}.sc-chip-baseline:hover{color:#f59e0b}.sc-tag{border-radius:4px;display:inline-block;font-size:.65rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.sc-tag.active{background:#dbeafe;color:#1d4ed8}.sc-tag.baseline{background:#fef3c7;color:#b45309}.sc-filters{gap:16px}.sc-filter-group,.sc-filters{display:flex;flex-direction:column}.sc-filter-group{gap:6px}.sc-filter-group label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sc-filter-group .form-select{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;font-size:.9rem;padding:10px 12px}.sc-date-range{align-items:center;display:flex;gap:8px}.sc-date-range .form-select{flex:1 1}.sc-range-separator{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-weight:500}.sc-summary{margin-bottom:28px}.sc-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sc-summary-header h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.1rem;font-weight:600;margin:0}.sc-baseline-label{align-items:center;background:#fef3c7;border-radius:8px;color:#b45309;display:flex;font-size:.85rem;gap:6px;padding:6px 12px}.sc-baseline-label i{font-size:.75rem}.sc-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sc-summary-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;border-top:4px solid;box-shadow:0 1px 3px #0000000d;padding:20px}.sc-summary-card-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.sc-summary-card-header h4{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1rem;font-weight:600;margin:0}.sc-metrics{display:flex;flex-direction:column;gap:12px}.sc-metric{align-items:center;display:flex;gap:8px;justify-content:space-between}.sc-metric.highlight{border-top:1px dashed #e5e7eb;border-top:1px dashed var(--border-color,#e5e7eb);margin-top:4px;padding-top:12px}.sc-metric-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem}.sc-metric-value{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.95rem;font-weight:600}.sc-metric-value.profit{color:#10b981}.sc-metric-value.loss{color:#ef4444}.sc-variance{border-radius:4px;font-size:.75rem;font-weight:600;padding:2px 6px}.sc-variance.positive{background:#10b9811a;color:#10b981}.sc-variance.negative{background:#ef44441a;color:#ef4444}.sc-charts{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.sc-chart-tabs{background:#f9fafb;background:var(--background-secondary,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;flex-wrap:wrap;gap:24px;padding:16px 20px}.sc-tab-group{align-items:center;display:flex;gap:8px}.sc-tab-label{font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-right:4px;text-transform:uppercase}.sc-tab,.sc-tab-label{color:#6b7280;color:var(--text-secondary,#6b7280)}.sc-tab{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s}.sc-tab:hover{color:#3b82f6;color:var(--primary-blue,#3b82f6)}.sc-tab.active,.sc-tab:hover{border-color:#3b82f6;border-color:var(--primary-blue,#3b82f6)}.sc-tab.active{background:#3b82f6;background:var(--primary-blue,#3b82f6);color:#fff}.sc-tab i{font-size:.9rem}.sc-chart-container{padding:24px}.sc-chart-container h4{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.1rem;font-weight:600;margin:0 0 20px}.sc-chart-wrapper{border-radius:12px;height:350px;padding:16px}.sc-chart-wrapper,.sc-empty{background:#f9fafb;background:var(--background-secondary,#f9fafb)}.sc-empty{border:2px dashed #e5e7eb;border:2px dashed var(--border-color,#e5e7eb);border-radius:16px;padding:80px 40px;text-align:center}.sc-empty-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.sc-empty-icon i{color:#fff;font-size:2.5rem}.sc-empty h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.25rem;margin:0 0 8px}.sc-empty p{color:#6b7280;color:var(--text-secondary,#6b7280);margin:0 auto;max-width:400px}@media (max-width:992px){.sc-controls{grid-template-columns:1fr}.sc-chart-tabs{flex-direction:column;gap:12px}.sc-tab-group{flex-wrap:wrap}}@media (max-width:768px){.sc-container{padding:16px}.sc-scenario-grid,.sc-summary-grid{grid-template-columns:1fr}.sc-summary-header{align-items:flex-start;flex-direction:column;gap:12px}.sc-chart-wrapper{height:280px}.sc-tab span{display:none}.sc-tab{padding:8px 10px}}[data-theme=dark] .sc-container{background:#111827;background:var(--bg-primary,#111827)}[data-theme=dark] .sc-card,[data-theme=dark] .sc-charts,[data-theme=dark] .sc-chip,[data-theme=dark] .sc-summary-card{background:#1f2937;background:var(--card-bg,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .sc-chip:hover{background:#3b82f61a}[data-theme=dark] .sc-badge{background:#374151;background:var(--background-secondary,#374151)}[data-theme=dark] .sc-chart-tabs{background:#111827;background:var(--background-secondary,#111827)}[data-theme=dark] .sc-tab{background:#1f2937;background:var(--card-bg,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .sc-chart-wrapper{background:#111827;background:var(--background-secondary,#111827)}[data-theme=dark] .sc-empty{background:#1f2937;background:var(--background-secondary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .sc-tag.active{background:#3b82f633;color:#60a5fa}[data-theme=dark] .sc-tag.baseline{background:#f59e0b33;color:#fbbf24}.sc-kpi-metrics{border-top:1px dashed #e5e7eb;border-top:1px dashed var(--border-color,#e5e7eb);margin-top:12px;padding-top:12px}.sc-kpi-metrics .sc-metric-label{color:#3b82f6;color:var(--primary-blue,#3b82f6);font-weight:600}.ai-chat-container{--ai-accent:#2a5298;--ai-accent-strong:#16396c;--ai-accent-soft:#2a52981f;--ai-surface:var(--card-bg,#fff);--ai-surface-muted:var(--background-secondary,#f1f5f9);--ai-border:var(--border-color,#e2e8f0);--ai-text:var(--text-primary,#1e293b);--ai-text-soft:var(--text-secondary,#64748b);background:radial-gradient(circle at top right,#3b82f61f,#0000 34%),linear-gradient(180deg,#ffffffc7,#f8fafcf5);color:var(--ai-text);display:flex;flex-direction:column;min-height:0;width:100%}[data-theme=dark] .ai-chat-container{--ai-accent:#60a5fa;--ai-accent-strong:#93c5fd;--ai-accent-soft:#60a5fa29;background:radial-gradient(circle at top right,#60a5fa2e,#0000 38%),linear-gradient(180deg,#1e293beb,#0f172afa)}.ai-chat-container--page{border:1px solid var(--ai-border);border-radius:24px;box-shadow:0 18px 40px #0f172a14;margin:0 auto;min-height:calc(100vh - 88px);overflow:hidden;width:min(100%,1440px)}.ai-chat-container--drawer{height:100%}.ai-chat-container--drawer .ai-chat-header,.ai-chat-container--drawer .ai-chat-input-form{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(180deg,#ffffff85,#ffffff1f)}[data-theme=dark] .ai-chat-container--drawer .ai-chat-header,[data-theme=dark] .ai-chat-container--drawer .ai-chat-input-form{background:linear-gradient(180deg,#0f172aa3,#0f172a3d)}.ai-chat-header{align-items:flex-start;background:linear-gradient(180deg,#ffffff6b,#0000);border-bottom:1px solid #94a3b838;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.35rem 1rem}.ai-chat-header-copy{display:flex;flex-direction:column;gap:.55rem;min-width:0}.ai-chat-eyebrow{align-items:center;background:var(--ai-accent-soft);border-radius:999px;color:var(--ai-accent-strong);display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.28rem .65rem;text-transform:uppercase;width:fit-content}.ai-chat-header h1{font-size:1.45rem;line-height:1.1;margin:0}.ai-chat-container--drawer .ai-chat-header h1{font-size:1.2rem}.ai-chat-header-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.scenario-badge{align-items:center;background:#ffffff80;border:1px solid #94a3b840;border-radius:999px;color:var(--ai-text-soft);display:inline-flex;font-size:.82rem;padding:.35rem .75rem;white-space:nowrap}[data-theme=dark] .module-badge,[data-theme=dark] .scenario-badge{background:#0f172a73}.module-badge{align-items:center;background:#ffffff80;border:1px solid #94a3b840;border-radius:999px;color:var(--ai-text-soft);display:inline-flex;font-size:.82rem;padding:.35rem .75rem;white-space:nowrap}[data-theme=dark] .scenario-badge{background:#0f172a73}.ai-status-indicator{align-items:center;background:#10b9811f;border-radius:999px;color:#0f766e;display:inline-flex;font-size:.82rem;font-weight:600;gap:.45rem;padding:.35rem .7rem}[data-theme=dark] .ai-status-indicator{color:#6ee7b7}.status-dot{background:currentColor;border-radius:50%;box-shadow:0 0 0 4px #10b98124;height:8px;width:8px}.ai-chat-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.ai-chat-ghost-button,.ai-chat-icon-button,.ai-chat-primary-button,.ai-chat-secondary-button{border:1px solid #0000;border-radius:12px;cursor:pointer;font:inherit;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.ai-chat-ghost-button,.ai-chat-primary-button,.ai-chat-secondary-button{font-size:.84rem;font-weight:600;padding:.65rem .9rem}.ai-chat-primary-button{background:linear-gradient(135deg,var(--ai-accent),var(--ai-accent-strong));box-shadow:0 10px 25px #2563eb33;color:#fff}.ai-chat-secondary-button{background:#ffffffad;border-color:#94a3b847;color:var(--ai-text)}[data-theme=dark] .ai-chat-secondary-button{background:#0f172a8c}.ai-chat-ghost-button{background:#0000;border-color:#94a3b838;color:var(--ai-text-soft)}.ai-chat-icon-button{align-items:center;background:#ffffffad;border-color:#94a3b847;color:var(--ai-text);display:inline-flex;height:40px;justify-content:center;width:40px}[data-theme=dark] .ai-chat-icon-button{background:#0f172a8c}.ai-chat-ghost-button:hover,.ai-chat-icon-button:hover,.ai-chat-primary-button:hover,.ai-chat-secondary-button:hover,.download-button:hover,.example-question:hover,.send-button:hover:not(:disabled){transform:translateY(-1px)}.ai-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:1.25rem}.ai-chat-container--page .ai-chat-messages{padding:1.5rem}.ai-chat-container--drawer .ai-chat-messages{padding-left:1.1rem;padding-right:1.1rem}.ai-chat-state,.ai-chat-welcome{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:2rem 1rem;text-align:center}.ai-chat-state{gap:.85rem}.ai-chat-state-icon{background:linear-gradient(135deg,#ffffffb8,#dbeafee6);border-radius:24px;box-shadow:inset 0 1px 0 #ffffffd9;color:var(--ai-accent-strong);display:grid;height:74px;place-items:center;width:74px}[data-theme=dark] .ai-chat-state-icon{background:linear-gradient(135deg,#0f172ab3,#1e40af47)}.ai-chat-state-icon .loading-spinner,.ai-chat-state-icon svg{height:34px;width:34px}.ai-chat-state h2,.ai-chat-welcome h2{font-size:1.35rem;margin:0}.ai-chat-state p,.ai-chat-welcome p{color:var(--ai-text-soft);margin:0;max-width:520px}.ai-chat-state-hint{font-size:.9rem}.ai-chat-welcome-badge{background:#10b9811f;border-radius:999px;color:#047857;font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:.35rem .75rem;text-transform:uppercase}[data-theme=dark] .ai-chat-welcome-badge{color:#6ee7b7}.welcome-icon{background:radial-gradient(circle at top,#60a5fa38,#0000 70%);color:var(--ai-accent);display:grid;height:90px;place-items:center;width:90px}.welcome-icon svg{height:100%;width:100%}.example-questions{margin-top:1.3rem;max-width:620px;width:100%}.example-questions h3{color:var(--ai-text-soft);font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 .85rem;text-transform:uppercase}.example-list{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.ai-chat-container--drawer .example-list{justify-content:flex-start}.example-question{background:#ffffffb3;border:1px solid #94a3b840;border-radius:18px;box-shadow:0 12px 24px #0f172a0a;color:var(--ai-text);cursor:pointer;font:inherit;font-size:.88rem;padding:.68rem .95rem}[data-theme=dark] .example-question{background:#0f172a8c}.message{animation:ai-chat-fade-in .24s ease;display:flex;gap:.75rem;max-width:86%}@keyframes ai-chat-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant,.message.error{align-self:flex-start}.message-avatar{align-items:center;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff59;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.message-avatar svg{height:19px;width:19px}.message.user .message-avatar{background:linear-gradient(135deg,var(--ai-accent),var(--ai-accent-strong));color:#fff}.message.assistant .message-avatar{background:linear-gradient(135deg,#0f172a,#334155);color:#fff}.message.error .message-avatar{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff}.message-content{display:flex;flex-direction:column;gap:.35rem}.message-text{border:1px solid #94a3b829;border-radius:20px;box-shadow:0 18px 30px #0f172a0a;font-size:.93rem;line-height:1.6;padding:.95rem 1rem;white-space:normal;word-break:break-word}.message-link{color:var(--ai-accent-strong);font-weight:600;text-decoration:underline;text-decoration-color:#2a529859;text-underline-offset:.18em}.message-link:hover{color:var(--ai-accent)}.message.user .message-link{color:#fffffff5;text-decoration-color:#ffffff73}.message.user .message-text{background:linear-gradient(135deg,var(--ai-accent),var(--ai-accent-strong));border-bottom-right-radius:6px;color:#fff}.message.assistant .message-text{background:#ffffffd9;border-bottom-left-radius:6px;color:var(--ai-text)}[data-theme=dark] .message.assistant .message-text{background:#0f172ac2}.message.error .message-text{background:#fef2f2eb;border-bottom-left-radius:6px;border-color:#f871714d;color:#991b1b}[data-theme=dark] .message.error .message-text{background:#7f1d1d3d;color:#fecaca}.message-text>:first-child{margin-top:0}.message-text>:last-child{margin-bottom:0}.message-text p{margin:0 0 .6rem}.message-text h1,.message-text h2,.message-text h3,.message-text h4{font-weight:700;line-height:1.3;margin:1rem 0 .5rem}.message-text h1{font-size:1.15rem}.message-text h2{font-size:1.05rem}.message-text h3{font-size:.98rem}.message-text h4{font-size:.92rem}.message-text ol,.message-text ul{margin:.4rem 0 .7rem;padding-left:1.4rem}.message-text li{margin:.15rem 0}.message-text code{background:#94a3b82e;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86em;padding:.1em .35em}.message-text pre{background:#0f172a0f;border-radius:10px;margin:.6rem 0;overflow-x:auto;padding:.75rem .9rem}.message-text pre code{background:#0000;padding:0}.message-text blockquote{border-left:3px solid #94a3b880;color:var(--ai-text-soft);margin:.6rem 0;padding:.2rem .9rem}.message-text hr{border:none;border-top:1px solid #94a3b84d;margin:.9rem 0}.message-table-wrapper{border:1px solid #94a3b840;border-radius:10px;margin:.6rem 0;overflow-x:auto}.message-text table{border-collapse:collapse;font-size:.86rem;width:100%}.message-text td,.message-text th{border-bottom:1px solid #94a3b82e;padding:.5rem .7rem;text-align:left;white-space:nowrap}.message-text th{background:#94a3b81f;font-weight:600}.message-text tbody tr:nth-child(2n) td{background:#94a3b80f}.message-text tbody tr:last-child td{border-bottom:none}[data-theme=dark] .message-table-wrapper{border-color:#94a3b833}[data-theme=dark] .message-text th{background:#94a3b82e}[data-theme=dark] .message-text pre{background:#0f172a8c}.message-time{color:var(--ai-text-soft);font-size:.74rem;padding:0 .5rem}.message.user .message-time{text-align:right}.download-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:14px;box-shadow:0 14px 24px #05966938;color:#fff;cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:700;gap:.5rem;margin-top:.55rem;padding:.7rem .95rem;width:fit-content}.message.typing .message-content,.typing-indicator{align-items:center;display:flex}.typing-indicator{background:#ffffffd1;border:1px solid #94a3b82e;border-radius:18px;border-bottom-left-radius:6px;gap:.35rem;justify-content:center;min-width:76px;padding:.9rem 1.2rem}[data-theme=dark] .typing-indicator{background:#0f172ac2}.typing-indicator span{animation:ai-chat-bounce 1.4s ease-in-out infinite both;background:linear-gradient(135deg,var(--ai-accent),var(--ai-accent-strong));border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes ai-chat-bounce{0%,80%,to{opacity:.4;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}.ai-chat-input-form{background:linear-gradient(180deg,#0000,#ffffff47);border-top:1px solid #94a3b838;padding:1rem 1.25rem 1.2rem}.input-wrapper{align-items:flex-end;display:flex;gap:.75rem}.input-wrapper textarea{background:#ffffffe0;border:1px solid #94a3b840;border-radius:18px;box-shadow:inset 0 1px 1px #ffffffa6;color:var(--ai-text);flex:1 1;font:inherit;line-height:1.5;max-height:180px;min-height:52px;padding:.9rem 1.05rem;resize:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}[data-theme=dark] .input-wrapper textarea{background:#0f172ab8}.input-wrapper textarea:focus{border-color:#3b82f680;box-shadow:0 0 0 4px #3b82f61f;outline:none}.input-wrapper textarea:disabled{cursor:not-allowed;opacity:.65}.input-wrapper textarea::placeholder{color:var(--ai-text-soft)}.send-button{align-items:center;background:linear-gradient(135deg,var(--ai-accent),var(--ai-accent-strong));border:none;border-radius:18px;box-shadow:0 16px 28px #2563eb40;color:#fff;cursor:pointer;display:inline-flex;height:52px;justify-content:center;width:52px}.send-button svg{height:20px;width:20px}.send-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.spinner{animation:ai-chat-spin 1s linear infinite}@keyframes ai-chat-spin{to{transform:rotate(1turn)}}.input-hint{color:var(--ai-text-soft);font-size:.75rem;margin:.7rem 0 0}@media (max-width:768px){.ai-chat-container--page{border-radius:18px;min-height:calc(100dvh - 74px)}.ai-chat-header,.ai-chat-input-form{padding-left:1rem;padding-right:1rem}.ai-chat-messages{padding:1rem}.ai-chat-header{align-items:stretch;flex-direction:column}.ai-chat-actions{justify-content:space-between}.message{max-width:100%}.example-list{justify-content:flex-start}}.scenario-picker{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:14px}.scenario-picker-title{font-size:14px;font-weight:600}.scenario-picker-hint{font-size:12px;opacity:.7}.scenario-picker-chips{display:flex;flex-wrap:wrap;gap:8px}.scenario-chip{background:#0000;border:1px solid #fff3;border-radius:999px;color:inherit;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .15s ease}.scenario-chip:hover:not(.disabled){border-color:#78b4ff99}.scenario-chip.selected{background:#78b4ff2e;border-color:#78b4ffcc}.scenario-chip.disabled{cursor:not-allowed;opacity:.4}.scenario-picker-period{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.scenario-picker-period label{align-items:center;display:inline-flex;gap:6px}.scenario-picker-period input,.scenario-picker-period select{background:#ffffff0d;border:1px solid #fff3;border-radius:6px;color:inherit;font-size:13px;padding:4px 8px}.scenario-picker-actions{display:flex;gap:8px;justify-content:flex-end}.picker-resolved{background:#ffffff0d;border-radius:8px;font-size:12px;margin-top:10px;opacity:.85;padding:8px 12px}.comparison-context-bar{align-items:center;background:#78b4ff1f;border:1px solid #78b4ff59;border-radius:10px;display:flex;font-size:12px;gap:8px;margin:0 16px 8px;padding:8px 14px}.comparison-context-label{font-weight:600}.comparison-context-names{flex:0 1 auto}.comparison-context-period{flex:1 1 auto;opacity:.75}.comparison-context-clear{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.comparison-context-clear:hover{opacity:1}.ai-chat-container--drawer .ai-chat-header{gap:.6rem;padding:.85rem 1rem .75rem}.ai-chat-container--drawer .ai-chat-header h1{font-size:1.05rem}.ai-chat-container--drawer .ai-chat-eyebrow{font-size:.62rem;padding:.22rem .55rem}.ai-chat-container--drawer .ai-status-indicator,.ai-chat-container--drawer .module-badge,.ai-chat-container--drawer .scenario-badge{font-size:.72rem;padding:.25rem .55rem}.ai-chat-container--drawer .ai-chat-welcome{gap:.5rem;padding:1rem .5rem}.ai-chat-container--drawer .welcome-icon{height:56px;width:56px}.ai-chat-container--drawer .ai-chat-welcome h2{font-size:1rem;line-height:1.25}.ai-chat-container--drawer .ai-chat-welcome p{font-size:.82rem;max-width:100%}.ai-chat-container--drawer .ai-chat-welcome-badge{font-size:.65rem;padding:.25rem .6rem}.ai-chat-container--drawer .example-questions{margin-top:.85rem}.ai-chat-container--drawer .example-questions h3{font-size:.68rem;margin-bottom:.55rem}.ai-chat-container--drawer .example-question{border-radius:14px;font-size:.78rem;padding:.5rem .75rem}.ai-chat-container--drawer .ai-chat-input-form{padding:.65rem .85rem .8rem}.ai-chat-container--drawer .send-button{height:38px;width:38px}.ai-chat-container--drawer .send-button svg{height:18px;width:18px}.ai-chat-container--drawer .input-hint{font-size:.7rem}.ai-chat-container--drawer .ai-chat-ghost-button,.ai-chat-container--drawer .ai-chat-primary-button,.ai-chat-container--drawer .ai-chat-secondary-button{font-size:.76rem;padding:.45rem .7rem}.ai-chat-container--drawer .ai-chat-icon-button{height:32px;width:32px}.ai-chat-state-icon .spinner-container,.ai-chat-state-icon .spinner-frame{box-shadow:none;height:auto;min-height:0;width:auto}.ai-chat-state-icon .spinner-frame:after{display:none}.ai-drawer-root{inset:0;pointer-events:none;position:fixed;z-index:1200}.ai-drawer-launcher{align-items:center;background:radial-gradient(circle at top left,#60a5fa6b,#0000 55%),linear-gradient(135deg,#0f172af5,#1e40aff0);border:none;border-radius:18px 0 0 18px;box-shadow:0 12px 28px #0f172a38;color:#fff;cursor:pointer;display:inline-flex;gap:0;padding:8px;pointer-events:auto;position:fixed;right:0;top:calc(50% + 24px);transform:translateY(-50%);transition:gap .22s cubic-bezier(.4,0,.2,1),padding .22s cubic-bezier(.4,0,.2,1),box-shadow .2s ease,transform .22s cubic-bezier(.4,0,.2,1),opacity .2s ease}.ai-drawer-launcher:focus-visible,.ai-drawer-launcher:hover{box-shadow:0 24px 48px #0f172a4d;gap:.7rem;outline:none;padding:.85rem 1rem .85rem .85rem;transform:translate(-4px,-50%)}.ai-drawer-launcher.is-hidden{opacity:0;pointer-events:none;transform:translate(16px,-50%)}.ai-drawer-launcher-icon{background:#ffffff24;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff2e;display:grid;flex-shrink:0;height:40px;place-items:center;transition:width .22s cubic-bezier(.4,0,.2,1),height .22s cubic-bezier(.4,0,.2,1),border-radius .22s cubic-bezier(.4,0,.2,1);width:40px}.ai-drawer-launcher:focus-visible .ai-drawer-launcher-icon,.ai-drawer-launcher:hover .ai-drawer-launcher-icon{border-radius:16px;height:46px;width:46px}.ai-drawer-launcher-icon svg{height:20px;width:20px}.ai-drawer-launcher-copy{align-items:flex-start;display:flex;flex-direction:column;gap:.18rem;max-width:0;opacity:0;overflow:hidden;text-align:left;transition:max-width .25s cubic-bezier(.4,0,.2,1),opacity .18s ease .05s;white-space:nowrap}.ai-drawer-launcher:focus-visible .ai-drawer-launcher-copy,.ai-drawer-launcher:hover .ai-drawer-launcher-copy{max-width:160px;opacity:1}.ai-drawer-launcher-copy strong{font-size:.92rem;font-weight:700;letter-spacing:.02em}.ai-drawer-launcher-copy span{color:#ffffffb3;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}@media (prefers-reduced-motion:reduce){.ai-drawer-launcher,.ai-drawer-launcher-copy,.ai-drawer-launcher-icon{transition:none}}.ai-drawer-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172a47;border:none;inset:0;opacity:0;position:absolute;transition:opacity .22s ease}.ai-drawer-panel{background:linear-gradient(180deg,#ffffffdb,#f8fafcc7);border:1px solid #94a3b83d;border-radius:28px;bottom:20px;box-shadow:0 32px 72px #0f172a38;opacity:0;overflow:hidden;position:absolute;right:20px;top:88px;transform:translateX(calc(100% + 32px));transition:transform .24s ease,opacity .24s ease;width:min(460px,calc(100vw - 40px))}[data-theme=dark] .ai-drawer-panel{background:linear-gradient(180deg,#0f172ae6,#0f172ad1)}.ai-drawer-root.is-open .ai-drawer-backdrop{opacity:1;pointer-events:auto}.ai-drawer-root.is-open .ai-drawer-panel{opacity:1;pointer-events:auto;transform:translateX(0)}@media (max-width:768px){.ai-drawer-launcher{border-radius:50%;bottom:14px;padding:8px;right:14px;top:auto;transform:none}.ai-drawer-launcher:focus-visible,.ai-drawer-launcher:hover{border-radius:50%;padding:8px;transform:translateY(-2px)}.ai-drawer-launcher.is-hidden{transform:translateY(10px)}.ai-drawer-launcher:focus-visible .ai-drawer-launcher-copy,.ai-drawer-launcher:hover .ai-drawer-launcher-copy{max-width:0;opacity:0}.ai-drawer-launcher:focus-visible .ai-drawer-launcher-icon,.ai-drawer-launcher:hover .ai-drawer-launcher-icon{border-radius:12px;height:40px;width:40px}.ai-drawer-panel{border-radius:0;bottom:0;right:0;top:0;width:100vw}}.kpi-container{margin:0 auto;max-width:1600px;padding:24px}.kpi-loading{color:#6b7280;color:var(--text-secondary,#6b7280);flex-direction:column;gap:16px;justify-content:center;min-height:400px}.kpi-header,.kpi-loading{align-items:center;display:flex}.kpi-header{flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.kpi-title-section h1{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);display:flex;font-weight:700;gap:12px;margin:0 0 4px}.kpi-title-section h1 i{color:#3b82f6;color:var(--primary-blue,#3b82f6)}.kpi-title-section .lead-text{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;margin:0}.kpi-controls{gap:12px}.kpi-controls,.year-selector{align-items:center;display:flex}.year-selector{gap:8px}.year-selector label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.9rem;font-weight:500}.year-selector .form-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;color:#1f2937;color:var(--text-primary,#1f2937);font-weight:500;padding:8px 12px;width:100px}.kpi-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.kpi-summary-4{grid-template-columns:repeat(4,1fr)}.summary-card{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-left:4px solid;border-radius:12px;display:flex;gap:14px;padding:14px 18px;transition:all .2s}.summary-card:hover{box-shadow:0 4px 12px #00000014}.summary-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.125rem;height:44px;justify-content:center;width:44px}.summary-content{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-value{font-size:1.35rem;font-weight:700;line-height:1.2}.summary-label,.summary-value{color:#1f2937;color:var(--text-primary,#1f2937)}.summary-label{font-size:1rem;font-weight:600;margin-bottom:4px}.summary-fact,.summary-plan{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.85rem}.summary-fact-label,.summary-plan-label{font-size:.7rem;font-weight:600;margin-right:4px;text-transform:uppercase}.summary-fact-label,.summary-plan,.summary-plan-label,.summary-target{color:#6b7280;color:var(--text-secondary,#6b7280)}.summary-target{font-size:.75rem}.summary-completion{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 6px;width:fit-content}.summary-completion.positive{background:#10b9811a;color:#10b981}.summary-completion.warning{background:#f59e0b1a;color:#f59e0b}.summary-completion.negative{background:#ef44441a;color:#ef4444}.kpi-metric-table-wrapper{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;margin-bottom:20px;overflow:hidden}.kpi-metric-table-header{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);border-left:4px solid;display:flex;gap:14px;padding:16px 20px}[data-theme=dark] .kpi-metric-table-header{background:#1e293b;background:var(--bg-secondary,#1e293b)}.kpi-metric-table-header .metric-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;width:40px}.kpi-metric-table-header .metric-info h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1rem;font-weight:600;margin:0}.kpi-metric-table-header .metric-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem}.kpi-table-container{overflow-x:auto}.kpi-table-container::-webkit-scrollbar{height:6px}.kpi-table-container::-webkit-scrollbar-track{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.kpi-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--border-color,#cbd5e1);border-radius:3px}.kpi-monthly-table{border-collapse:initial;border-spacing:0;font-size:.85rem;table-layout:fixed;width:100%}.kpi-monthly-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:10px 12px;text-align:center;text-transform:uppercase;white-space:nowrap}[data-theme=dark] .kpi-monthly-table th{background:#1e293b;background:var(--bg-secondary,#1e293b)}.kpi-monthly-table th.row-type-col{background:#f8fafc;background:var(--bg-secondary,#f8fafc);left:0;min-width:120px;position:sticky;text-align:left;width:120px;z-index:10}[data-theme=dark] .kpi-monthly-table th.row-type-col{background:#1e293b;background:var(--bg-secondary,#1e293b)}.kpi-monthly-table th.total-col{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);border-left:2px solid #e5e7eb;border-left:2px solid var(--border-color,#e5e7eb);font-weight:700}[data-theme=dark] .kpi-monthly-table th.total-col{background:#334155;background:var(--bg-tertiary,#334155)}.kpi-monthly-table td{font-feature-settings:"tnum";border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);font-variant-numeric:tabular-nums;padding:10px 12px;text-align:center;white-space:nowrap}.kpi-monthly-table td.row-type-col{background:#fff;background:var(--card-bg,#fff);left:0;position:sticky;text-align:left;z-index:10}[data-theme=dark] .kpi-monthly-table td.row-type-col{background:#1e293b;background:var(--card-bg,#1e293b)}.kpi-monthly-table td.total-cell{background:#f1f5f9;background:var(--bg-tertiary,#f1f5f9);border-left:2px solid #e5e7eb;border-left:2px solid var(--border-color,#e5e7eb);font-weight:600}[data-theme=dark] .kpi-monthly-table td.total-cell{background:#334155;background:var(--bg-tertiary,#334155)}.row-type-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:4px 10px;text-transform:uppercase}.row-type-badge.calculated{background:#10b9811a;color:#10b981}.row-type-badge.target{background:#3b82f61a;color:#3b82f6}.row-type-badge.diff{background:#8b5cf61a;color:#8b5cf6}.calculated-row td{color:#1f2937;color:var(--text-primary,#1f2937);font-weight:500}.target-row td{color:#6b7280;color:var(--text-secondary,#6b7280)}.diff-row td{font-weight:500}.diff-cell.positive{color:#10b981}.diff-cell.negative{color:#ef4444}.diff-cell.neutral{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.target-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;color:#1f2937;color:var(--text-primary,#1f2937);font-size:.8rem;max-width:80px;padding:4px 8px;text-align:center;width:100%}.target-input:focus{border-color:#3b82f6;border-color:var(--primary-blue,#3b82f6);box-shadow:0 0 0 2px #3b82f633;outline:none}[data-theme=dark] .target-input{background:#1e293b;background:var(--bg-secondary,#1e293b);border-color:#475569;border-color:var(--border-color,#475569)}.kpi-empty-state{color:#6b7280;color:var(--text-secondary,#6b7280);flex-direction:column;padding:60px 20px}.kpi-empty-state,.kpi-empty-state .empty-icon{align-items:center;display:flex;justify-content:center}.kpi-empty-state .empty-icon{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-radius:20px;color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:2rem;height:80px;margin-bottom:20px;width:80px}.kpi-empty-state h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.1rem;margin:0 0 8px}.kpi-empty-state p{font-size:.9rem;margin:0}.kpi-controls .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.kpi-controls .btn-primary{background:#3b82f6;background:var(--primary-blue,#3b82f6);color:#fff}.kpi-controls .btn-primary:hover{background:#2563eb;background:var(--primary-blue-dark,#2563eb)}.kpi-controls .btn-success{background:#10b981;color:#fff}.kpi-controls .btn-success:hover{background:#059669}.kpi-controls .btn-secondary{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#1f2937;color:var(--text-primary,#1f2937)}.kpi-controls .btn-secondary:hover{background:#e5e7eb;background:var(--border-color,#e5e7eb)}.kpi-controls .btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1200px){.kpi-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.kpi-container{padding:16px}.kpi-header{align-items:flex-start;flex-direction:column}.kpi-summary{grid-template-columns:1fr}.kpi-controls{flex-wrap:wrap;width:100%}}[data-theme=dark] .kpi-metric-table-wrapper,[data-theme=dark] .summary-card{background:#1e293b;background:var(--card-bg,#1e293b);border-color:#334155;border-color:var(--border-color,#334155)}[data-theme=dark] .calculated-row td,[data-theme=dark] .kpi-controls .btn-secondary,[data-theme=dark] .kpi-empty-state h3,[data-theme=dark] .kpi-metric-table-header .metric-info h3,[data-theme=dark] .kpi-title-section h1,[data-theme=dark] .summary-value{color:#f1f5f9;color:var(--text-primary,#f1f5f9)}[data-theme=dark] .kpi-controls .btn-secondary{background:#334155;background:var(--bg-secondary,#334155)}[data-theme=dark] .kpi-controls .btn-secondary:hover{background:#475569;background:var(--border-color,#475569)}:root{--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--card-bg-secondary:#f8fafc;--background-secondary:#f1f5f9;--background-hover:#e2e8f0;--surface-color:#f8fafc;--panel-bg:#f8fafc;--border-color:#e2e8f0;--border-color-light:#f1f5f9;--input-bg:#fff;--input-border:#cbd5e1;--input-focus-border:#3b82f6;--table-bg:#fff;--table-border:#e1e5e9;--table-stripe:#00000005;--table-hover:#f1f5f9;--total-row-bg:#f1f5f9;--total-column-bg:#dbeafe;--total-intersection-bg:#bfdbfe;--primary-blue:#3b82f6;--primary-blue-light:#dbeafe;--accent:#7c3aed;--accent-hover:#8b5cf6;--accent-soft:#7c3aed26;--success-green:#10b981;--success-green-light:#d1fae5;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--border-radius:0.5rem;--border-radius-sm:0.25rem;--border-radius-lg:0.75rem;--tooltip-bg:#2c3e50;--tooltip-text:#fff;--tooltip-header-bg:#34495e;--tooltip-border:#1a252f;--upload-zone-bg:#f8fafc;--upload-zone-border:#cbd5e1;--preview-bg:#f8fafc;--debug-bg:#f8fafc}[data-theme=dark]{--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--card-bg-secondary:#334155;--background-secondary:#334155;--background-hover:#ffffff0f;--surface-color:#334155;--panel-bg:#334155;--border-color:#475569;--border-color-light:#334155;--input-bg:#1e293b;--input-border:#475569;--input-focus-border:#60a5fa;--table-bg:#1e293b;--table-border:#475569;--table-stripe:#ffffff05;--table-hover:#ffffff0a;--total-row-bg:#334155;--total-column-bg:#1e3a8a;--total-intersection-bg:#1d4ed8;--primary-blue:#60a5fa;--primary-blue-light:#3b82f626;--accent:#7c3aed;--accent-hover:#8b5cf6;--accent-soft:#7c3aed26;--success-green:#34d399;--success-green-light:#064e3b;--tooltip-bg:#1e293b;--tooltip-text:#f8fafc;--tooltip-header-bg:#334155;--tooltip-border:#475569;--upload-zone-bg:#1e293b;--upload-zone-border:#475569;--preview-bg:#1e293b;--debug-bg:#1e293b}.table tbody tr:hover,.table tbody tr:hover td,[data-theme=dark] .table tbody tr:hover,[data-theme=dark] .table tbody tr:hover td{background-color:#f1f5f9;background-color:var(--table-hover)}[data-theme=dark] .table{--bs-table-bg:var(--table-bg);--bs-table-accent-bg:#0000;--bs-table-striped-bg:var(--table-stripe);--bs-table-hover-bg:var(--table-hover);--bs-table-active-bg:var(--table-hover);--bs-table-border-color:var(--table-border);color:#1e293b;color:var(--text-primary)}[data-theme=dark] .table>:not(caption)>*>*{background-color:#fff;background-color:var(--table-bg);border-color:#e1e5e9;border-color:var(--table-border);color:#1e293b;color:var(--text-primary)}.ds-tab-rail{align-items:flex-end;display:flex;gap:2px;margin-bottom:-1px;padding:0 4px;position:relative;z-index:2}.ds-tab-rail button{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #0000;border-bottom:0;border-radius:10px 10px 0 0;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:11px 18px;position:relative;transition:color .15s ease,background .15s ease}.ds-tab-rail button i{font-size:14px}.ds-tab-rail button:hover{background:#7f7f7f14;color:var(--text-primary)}.ds-tab-rail button.is-active{background:var(--card-bg);border-color:var(--table-border);color:var(--text-primary)}.ds-tab-rail button.is-active:after{background:var(--card-bg);bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.data-surface{background:var(--card-bg);border:1px solid var(--table-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.ds-tab-rail+.data-surface{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) var(--border-radius-lg)}.data-surface .table-container{border:0;border-radius:0;box-shadow:none}.data-surface .card{background:#0000;border:0;border-radius:0;box-shadow:none;margin:0}.data-surface .card .card-body{padding:16px 20px 20px}.data-surface>.fade-in{margin:0}.ds-body{padding:16px 20px 20px}.ds-body>.alert:first-child{margin-top:0}.data-surface .ds-tab-loading{color:var(--text-secondary);padding:24px 16px 32px;text-align:center}.ds-context{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.015),#0000);border-bottom:1px solid var(--table-border);display:flex;flex-wrap:wrap;gap:16px;padding:14px 16px}.ds-context-title{color:var(--text-primary);font-size:15px;font-weight:700;letter-spacing:-.01em}.ds-context-sub{color:var(--text-secondary);font-size:12px;margin-top:2px}.ds-context-spacer{flex:1 1}.month-range-pill{align-items:center;background:#ffffff08;border:1px solid var(--border-color-light);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.month-range-pill .mrp-lbl{align-items:center;border-right:1px solid var(--border-color-light);color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:700;gap:6px;height:26px;letter-spacing:.06em;margin-right:4px;padding:0 10px;text-transform:uppercase}.month-range-pill .mrp-select{-webkit-appearance:none;appearance:none;background:#0000;background-image:linear-gradient(45deg,#0000 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,#0000 50%);background-position:calc(100% - 10px) 50%,calc(100% - 6px) 50%;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:0;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;outline:none;padding:5px 22px 5px 10px}.month-range-pill .mrp-select:hover{background-color:#ffffff0a}.month-range-pill .mrp-select option{background:var(--card-bg);color:var(--text-primary)}.month-range-pill .mrp-dash{color:var(--text-muted);font-size:11px;padding:0 2px}.ds-footer-summary{align-items:center;background:#7f7f7f05;border-top:1px solid var(--table-border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:16px;padding:12px 16px}.ds-footer-summary .stat{align-items:center;display:inline-flex;gap:8px}.ds-footer-summary .stat strong{font-feature-settings:"tnum";color:var(--text-primary);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700}.ds-footer-summary .footer-dot{color:var(--success-green);font-size:6px}.ds-footer-summary .footer-sep{background:var(--border-color-light);height:16px;width:1px}.ds-footer-summary .footer-spacer{flex:1 1}.ds-footer-summary .footer-muted{color:var(--text-muted)}.ds-page-head{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:1fr auto;margin-bottom:18px}.ds-breadcrumb{color:var(--text-muted);font-size:12px;letter-spacing:.04em;margin-bottom:6px}.ds-breadcrumb .sep{margin:0 6px;opacity:.5}.ds-breadcrumb .here{color:var(--text-secondary)}.ds-page-title{color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.ds-page-sub{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0;max-width:680px}.ds-year-rail{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 1px 2px #0000001a;display:inline-flex;padding:4px}.ds-year-rail button{font-feature-settings:"tnum";-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:7px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;padding:7px 14px;transition:color .15s ease,background .15s ease}.ds-year-rail button:hover{background:#7f7f7f14;color:var(--text-primary)}.ds-year-rail button.is-active{background:var(--accent);box-shadow:0 1px 3px #7c3aed66;color:#fff}@media (max-width:1024px){.ds-page-head{align-items:start;grid-template-columns:1fr}.ds-tab-rail{flex-wrap:nowrap;overflow-x:auto}}@media (max-width:768px){.ds-year-rail{max-width:100%;overflow-x:auto}.ds-context{align-items:stretch;flex-direction:column;gap:10px}.ds-context .ds-context-spacer{display:none}}.copy-year-btn{align-items:center;background:#0000;border:1px solid #7c3aed;border:1px solid var(--accent,#7c3aed);border-radius:7px;color:#7c3aed;color:var(--accent,#7c3aed);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:background .15s ease,color .15s ease;white-space:nowrap}.copy-year-btn:hover{background:#7c3aed26;background:var(--accent-soft,#7c3aed26)}.copy-year-btn:active{background:#7c3aed;background:var(--accent,#7c3aed);color:#fff}.copy-year-btn i{font-size:14px}.ds-title-row{align-items:center;display:flex;gap:12px}.capsule-help-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:inline-flex;font-size:14px;height:28px;justify-content:center;line-height:1;padding:0;transition:color .15s,border-color .15s,background .15s;width:28px}.capsule-help-btn:focus-visible,.capsule-help-btn:hover{background:#7c3aed14;border-color:#7c3aed;border-color:var(--accent,#7c3aed);color:#7c3aed;color:var(--accent,#7c3aed);outline:none}.capsule-help-btn i{font-size:14px;line-height:1}:root{--bg-color:#f8fafc;--text-color:#1e293b;--navbar-gradient-1:#2a5298;--navbar-gradient-2:#1e3c72;--footer-bg:#1e293b;--footer-text:#f8fafc;--card-bg:#fff;--shadow-color:#00000014;--shadow-hover:#0000001f;--icon-color:#2a5298;--text-muted:#64748b;--badge-bg:#2a52981a;--badge-text:#1e3c72;--badge-border:#2a529833;--primary-gradient:linear-gradient(135deg,#2a5298,#1e3c72);--card-gradient:linear-gradient(145deg,#fff,#f8fafc);--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#2a5298}[data-theme=dark]{--bg-color:#0f172a;--text-color:#f1f5f9;--navbar-gradient-1:#1e293b;--navbar-gradient-2:#334155;--footer-bg:#0f172a;--footer-text:#f1f5f9;--card-bg:#1e293b;--shadow-color:#00000040;--shadow-hover:#00000059;--icon-color:#60a5fa;--text-muted:#94a3b8;--badge-bg:#60a5fa26;--badge-text:#93c5fd;--badge-border:#60a5fa4d;--primary-gradient:linear-gradient(135deg,#3b82f6,#1d4ed8);--card-gradient:linear-gradient(145deg,#1e293b,#334155);--success-color:#34d399;--warning-color:#fbbf24;--danger-color:#f87171;--info-color:#60a5fa}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--bg-color);color:#1e293b;color:var(--text-color);font-family:Inter,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0;padding:0}body.menu-open{height:100%;position:fixed;width:100%}body.ai-drawer-open,body.menu-open{overflow:hidden}.app-container{display:flex;flex-direction:column;min-height:100vh}.navbar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172ad9;border-bottom:1px solid #94a3b81f;box-shadow:0 4px 20px #00000040;padding:0;position:sticky;top:0;z-index:1000}.navbar:before{background:linear-gradient(90deg,#0000,#60a5fa66 50%,#0000);content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;top:0}.navbar-content{gap:16px;height:60px;justify-content:space-between;padding:0 24px;width:100%}.navbar-content,.navbar-left{align-items:center;display:flex}.navbar-left{gap:4px}.app-nav-brand{border-right:1px solid #94a3b82e;gap:10px;margin-right:12px;padding-right:16px}.app-nav-brand,.app-nav-logo{align-items:center;display:flex;height:32px}.app-nav-logo{background:#0f172a66;border-radius:8px;box-shadow:0 0 16px #60a5fa40,inset 0 0 0 1px #ffffff0f;justify-content:center;overflow:hidden;width:32px}.app-nav-logo img{height:100%;object-fit:cover;width:100%}.app-nav-logo .logo-fallback{color:#f1f5f9;font-size:14px;font-weight:700}.app-nav-wordmark{color:#f1f5f9;font-size:16px;font-weight:700;letter-spacing:-.01em;text-decoration:none}.app-nav-wordmark:hover{color:#fff}.navbar-nav-items{align-items:center;display:flex;gap:2px}.app-nav-pill{align-items:center;border:1px solid #0000;border-radius:8px;color:#94a3b8;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:36px;padding:0 14px;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-nav-pill-icon{font-size:13px;opacity:.8}.app-nav-pill:hover{background:#ffffff0a;color:#f1f5f9}.app-nav-pill.is-active{background:linear-gradient(135deg,#7c3aed2e,#60a5fa24);border-color:#7c3aed59;box-shadow:0 4px 12px #7c3aed26;color:#fff}.app-nav-pill.is-active .app-nav-pill-icon{color:#c4b5fd;opacity:1}.app-nav-pill-locked{color:#94a3b866;cursor:not-allowed;-webkit-user-select:none;user-select:none}.app-nav-pill-locked:hover{background:#0000;color:#94a3b866}.nav-link-locked{align-items:center;border-radius:8px;color:#fff6;cursor:not-allowed;display:inline-flex;font-weight:500;gap:4px;padding:.75rem 1rem;-webkit-user-select:none;user-select:none}.navbar-right{align-items:center;display:flex;gap:4px}.app-scenario-pill{align-items:center;background:linear-gradient(135deg,#7c3aed26,#60a5fa1f);border:1px solid #7c3aed59;border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:10px;height:32px;max-width:320px;padding:0 10px 0 8px;text-decoration:none;transition:border-color .15s ease,background .15s ease}.app-scenario-pill:hover{border-color:#7c3aed99;color:#fff}.app-scenario-pill-icon{align-items:center;background:linear-gradient(135deg,#7c3aed,#60a5fa);border-radius:5px;color:#fff;display:inline-flex;flex-shrink:0;font-size:10px;height:20px;justify-content:center;width:20px}.app-scenario-pill-name{font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-scenario-pill-chevron{flex-shrink:0;font-size:10px;opacity:.6}.app-nav-divider{background:#94a3b82e;height:22px;margin:0 8px;width:1px}.app-theme-toggle{background:#0f172a99;border:1px solid #94a3b82e;border-radius:14px;cursor:pointer;flex-shrink:0;height:28px;padding:0;position:relative;width:56px}.app-theme-toggle-bg-moon,.app-theme-toggle-bg-sun{color:#64748b;font-size:10px;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.app-theme-toggle-bg-sun{left:8px}.app-theme-toggle-bg-moon{right:8px}.app-theme-toggle-thumb{align-items:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;box-shadow:0 2px 6px #0000004d;color:#fff;display:inline-flex;font-size:10px;height:22px;justify-content:center;left:2px;position:absolute;top:2px;transition:transform .25s cubic-bezier(.4,0,.2,1),background .25s ease;width:22px}.app-theme-toggle.is-dark .app-theme-toggle-thumb{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateX(28px)}.app-logout-btn{align-items:center;background:#0000;border:1px solid #94a3b82e;border-radius:8px;color:#94a3b8;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:8px;height:32px;margin-left:4px;padding:0 12px;transition:background-color .15s linear,border-color .15s linear,color .15s linear}.app-logout-btn:hover{background:#f8717114;border-color:#f871714d;color:#fca5a5}@media (max-width:1100px){.app-scenario-pill{max-width:220px}}@media (max-width:900px) and (min-width:768px){.app-scenario-pill-chevron{display:none}.app-scenario-pill{max-width:160px;padding-right:8px}}.mobile-ai-button{align-items:center;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;color:#fffffff5;cursor:pointer;display:inline-flex;font-weight:600;gap:.55rem;justify-content:center;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.mobile-ai-button:hover{background:#fff3;border-color:#ffffff52;transform:translateY(-1px)}.mobile-ai-button{background:#ffffff29;padding:1rem;width:100%}.navbar-links{display:none}.mobile-menu-button{align-items:center;background:#0f172a99;border:1px solid #94a3b82e;border-radius:10px;color:#f1f5f9;cursor:pointer;display:none;font-size:20px;height:40px;justify-content:center;line-height:1;padding:0;position:relative;transition:background-color .15s ease,border-color .15s ease,color .15s ease;width:40px;z-index:1001}.mobile-menu-button:focus-visible,.mobile-menu-button:hover{background:#0f172ad9;border-color:#7c3aed73;color:#fff;outline:none}.mobile-menu-button i{font-size:18px;line-height:1}@media (max-width:767px){.navbar-nav-items,.navbar-right{display:none}.mobile-menu-button{display:inline-flex}.navbar-links{align-items:center;background-color:#1e3c72;background-color:var(--navbar-gradient-2);flex-direction:column;gap:1rem;height:100vh;left:0;overflow-y:auto;padding:80px 20px 20px;position:fixed;top:0;width:100%;z-index:1000}.navbar-links.active{display:flex}.navbar-links li{list-style:none;width:100%}.navbar-links a{border-radius:8px;color:#ffffffe6;display:block;font-size:1rem;padding:1rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.navbar-links a:hover{background:#ffffff1a;color:#fff}.navbar-links .theme-toggle-button{margin:1rem 0}.navbar-links .logout-button{justify-content:center;width:100%}.mobile-ai-button{font-size:1rem}.navbar-links .active-scenario-badge{justify-content:center;margin:.5rem 0;text-align:center;width:100%}}.active-scenario-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem .75rem}.theme-toggle-button{background:#ffffff1a;border:1px solid #fff3;border-radius:16px;cursor:pointer;height:32px;margin:0 .5rem;min-width:56px;overflow:hidden;padding:0;position:relative;transition:all .3s ease;width:56px}.theme-toggle-button:before{background:#fff;border-radius:50%;content:"";height:24px;left:4px;position:absolute;top:3px;transition:transform .3s ease;width:24px;z-index:2}.theme-toggle-button.dark-mode:before{transform:translateX(24px)}.theme-toggle-button .moon-icon,.theme-toggle-button .sun-icon{font-size:14px;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.theme-toggle-button .sun-icon{left:8px;opacity:0}.theme-toggle-button .moon-icon{opacity:1;right:8px}.theme-toggle-button.dark-mode .sun-icon{opacity:1}.theme-toggle-button.dark-mode .moon-icon{opacity:0}.theme-toggle-button:hover{background:#fff3}@media (max-width:992px){.theme-toggle-button{height:28px;min-width:48px;width:48px}.theme-toggle-button:before{height:20px;width:20px}.theme-toggle-button.dark-mode:before{transform:translateX(20px)}.theme-toggle-button .moon-icon,.theme-toggle-button .sun-icon{font-size:12px}}.logout-button{align-items:center;background:#2a52981a;background:var(--badge-bg);border:1px solid #2a529833;border:1px solid var(--badge-border);border-radius:6px;color:#1e3c72;color:var(--badge-text);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.logout-button:hover{background:#2a529833;background:var(--badge-border)}@media (max-width:1200px){.navbar-content{padding:.75rem 1rem}.navbar-links{gap:.25rem}.navbar-links a{font-size:.85rem;padding:.5rem}.active-scenario-badge{font-size:.85rem;padding:.5rem .75rem}}@media (min-width:993px) and (max-width:1200px){.navbar-content{gap:1rem}.navbar-links{-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.navbar-links::-webkit-scrollbar{display:none}.navbar-right{flex-shrink:0}}[data-theme=dark] .navbar{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .navbar-links a:hover{background:#ffffff26}[data-theme=dark] .active-scenario-badge{background:#ffffff26;border-color:#ffffff4d}.main-content{animation:fadeInUp .6s ease-out;flex:1 1;padding:20px}.footer{background-color:#1e293b;background-color:var(--footer-bg);color:#f8fafc;color:var(--footer-text);padding:10px 0;text-align:center}@media (max-width:768px){.main-content{padding:10px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (min-width:768px) and (max-width:1024px){.navbar-content{padding:0 1rem}.navbar-links{gap:.2rem}.navbar-links a{font-size:.9em;padding:.6rem .8rem}.navbar-logo{margin-right:.5rem}.navbar-brand{font-size:1.5em}}.active-scenario-badge{align-items:center;background:#ffffff26;border:1px solid #fff3;border-radius:6px;color:#fffffff2;display:flex;font-size:.9em;margin:0 .3rem;padding:.6rem .8rem;white-space:nowrap}@media (max-width:1024px){.active-scenario-badge{font-size:.85em;padding:.5rem .8rem}}@media (max-width:768px){.active-scenario-badge{display:none}}.active-scenario-item{padding:8px 15px}.active-scenario-item .alert{font-size:.9rem;margin:0;padding:8px 15px}@media (max-width:768px){.active-scenario-item{width:100%}.active-scenario-item .alert{text-align:center}}@media (max-width:1200px){.active-scenario-badge,.navbar-links a{font-size:.85em;padding:.6rem}}@media (max-width:992px){.navbar-links{gap:.2rem}.navbar-links a{font-size:.8em;padding:.5rem}}@media (min-width:769px) and (max-width:1024px){.theme-toggle-button{height:32px;margin:0 .75rem;min-width:65px;width:65px}}.navbar-links{list-style:none;margin:0;padding:0}.navbar-links,.navbar-links.active{transition:none}@media (min-width:2000px){.navbar-content{gap:2rem;max-width:2200px;padding:1rem 2rem}.navbar-links{gap:1.5rem}.navbar-links a{font-size:1.1rem;padding:.8rem 1.2rem}.navbar-brand{font-size:1.8rem}.navbar-logo img{height:48px}.active-scenario-badge{font-size:1.1rem;padding:.8rem 1.2rem}.theme-toggle-button{height:36px;min-width:64px;width:64px}}@media (min-width:1600px) and (max-width:1999px){.navbar-content{gap:1.5rem;max-width:1800px;padding:.9rem 1.8rem}.navbar-links{gap:1rem;margin-right:1rem}.navbar-right{gap:1.2rem;margin-left:0;min-width:max-content}.navbar-links a{font-size:1.05rem;padding:.75rem 1rem}.navbar-brand{font-size:1.6rem}.navbar-brand,.navbar-logo{min-width:max-content}.navbar-logo img{height:44px}.active-scenario-badge{font-size:1rem;min-width:max-content;padding:.75rem 1.1rem}.theme-toggle-button{height:34px;min-width:60px;width:60px}.logout-button{min-width:max-content;padding:.75rem 1.1rem}}@media (min-width:1200px) and (max-width:1599px){.navbar-content{gap:1.5rem;max-width:1400px;padding:.75rem 1.5rem}.navbar-links{gap:1rem}.navbar-links a{font-size:1rem;padding:.75rem 1rem}}.loading{align-items:center;background:#f8fafc;background:var(--bg-color);color:#1e293b;color:var(--text-color);display:flex;flex-direction:column;gap:1.25rem;justify-content:center;min-height:100vh}.loading .spinner-container{min-height:auto}.loading-label{animation:pulse 2s ease-in-out infinite;color:#64748b;color:var(--text-muted);font-size:1.1rem;font-weight:600;letter-spacing:.02em;margin:0}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.error{align-items:center;background:#f8fafc;background:var(--bg-color);color:#ef4444;color:var(--danger-color);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.error:before{content:"⚠️";font-size:4rem;margin-bottom:1rem;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logout-button,.navbar-brand,.navbar-links a,.theme-toggle-button{overflow:hidden;position:relative}.logout-button:before,.navbar-links a:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.logout-button:hover:before,.navbar-links a:hover:before{left:100%}:focus{outline:none}:focus-visible{border-radius:4px;outline:2px solid #2a5298;outline:2px solid var(--icon-color);outline-offset:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#64748b;background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2a5298;background:var(--icon-color)}::selection{background:#2a5298;background:var(--icon-color);color:#fff}::-moz-selection{background:#2a5298;background:var(--icon-color);color:#fff}