.wlc-page{background:#0a1628;display:flex;flex-direction:column;min-height:100vh}.wlc-hero{background:radial-gradient(ellipse at 50% 0,#52b78826 0,#0000 70%);padding:5rem 2rem 4rem;text-align:center}.wlc-hero-brand{align-items:baseline;display:inline-flex;font-size:5rem;font-weight:900;letter-spacing:-.04em;line-height:1;margin-bottom:1rem}.wlc-hero-terra{color:#fff}.wlc-hero-dot{color:#52b788;font-size:5.5rem;line-height:.85}.wlc-hero-ai{color:#52b788}.wlc-hero-tag{color:#ffffffa6;font-size:1.1rem;letter-spacing:.01em;margin:0 0 1.75rem}.wlc-hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.wlc-pill{background:#52b7881f;border:1px solid #52b7884d;border-radius:999px;color:#52b788;font-size:.82rem;font-weight:700;letter-spacing:.03em;padding:.35rem .85rem}.wlc-modules{flex:1 1;margin:0 auto;max-width:1400px;padding:0 2rem 3rem;width:100%}.wlc-modules-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.wlc-card{background:#111e30;border:1px solid #ffffff14;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}.wlc-card:hover{border-color:#fff3;box-shadow:0 20px 50px #0006;transform:translateY(-5px)}.wlc-card-top{padding:1.5rem 1.5rem 1.25rem;position:relative}.wlc-tag{background:#ffffff26;border-radius:4px;color:#ffffffbf;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin-bottom:.6rem;padding:.2rem .55rem;text-transform:uppercase}.wlc-name{color:#fff;font-size:1.5rem;font-weight:900;letter-spacing:-.02em;margin:0 0 .4rem}.wlc-headline{color:#ffffffd1;font-size:.88rem;line-height:1.45;margin:0}.wlc-card-body{display:flex;flex:1 1;flex-direction:column;gap:.85rem;padding:1.25rem 1.5rem 1.5rem}.wlc-desc{color:#ffffff8c;font-size:.86rem;line-height:1.6;margin:0}.wlc-features{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.wlc-features li{align-items:center;color:#ffffffa6;display:flex;font-size:.82rem;font-weight:500;gap:.55rem}.wlc-bullet{border-radius:50%;flex-shrink:0;height:6px;opacity:.85;width:6px}.wlc-open{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;letter-spacing:.01em;margin-top:auto;padding:.7rem 1.25rem;text-align:left;transition:opacity .2s,transform .2s}.wlc-card:hover .wlc-open{opacity:.9;transform:translateX(3px)}.wlc-footer{color:#fff3;font-size:.75rem;font-style:italic;padding:1rem 2rem 2rem;text-align:center}@media (max-width:1200px){.wlc-modules-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.wlc-hero{padding:3rem 1rem 2.5rem}.wlc-hero-brand{font-size:3.5rem}.wlc-hero-dot{font-size:4rem}.wlc-hero-tag{font-size:.95rem}.wlc-modules{padding:0 1rem 2rem}.wlc-modules-grid{grid-template-columns:1fr}}@media (max-width:480px){.wlc-hero{padding:2rem .75rem}.wlc-hero-brand{font-size:2.6rem}.wlc-hero-dot{font-size:3rem}.wlc-hero-tag{font-size:.88rem;margin-bottom:1.25rem}.wlc-modules{padding:0 .75rem 1.5rem}.wlc-card-top{padding:1.1rem 1.1rem 1rem}.wlc-card-body{padding:1rem 1.1rem 1.1rem}.wlc-name{font-size:1.25rem}}.project-form{gap:1.5rem}.form-group,.project-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#2c3e50;font-size:.95rem;font-weight:600}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.market-signal-row{align-items:center;color:#5b7281;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.8rem}.market-signal-button{background:#f4f7f9;border:2px solid #d7e1e7;border-radius:8px;color:#1f5a78;cursor:pointer;font-weight:700;padding:.75rem .9rem}.market-signal-button:disabled{cursor:not-allowed;opacity:.6}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.form-group--error input,.form-group--error select{border-color:#e53935}.field-error{color:#e53935;font-size:.83rem;font-weight:500}.field-optional{color:#999;font-size:.78rem;font-weight:400;margin-left:.25rem}.field-hint{color:#888;display:block;font-size:.78rem;margin-top:.25rem}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.form-actions .submit-button{flex:1 1;margin-top:0}.reset-button{background:#f2f6f8;border:2px solid #d7e1e7;border-radius:8px;color:#12344d;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.25rem;transition:background .2s ease}.reset-button:hover:not(:disabled){background:#e2eaf0}.reset-button:disabled{cursor:not-allowed;opacity:.6}.cost-prediction{background:#fff}.cost-prediction h2{color:#12344d;margin-bottom:1.5rem}.prototype-note{background:linear-gradient(180deg,#fff8ea,#fff4df);border:1px solid #ecd39a;border-radius:14px;color:#7a5a13;line-height:1.6;margin-bottom:1.25rem;padding:.95rem 1rem}.prototype-note strong{color:#5f470e}.cost-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.main-cost{background:linear-gradient(135deg,#12344d,#1f5a78 55%,#d96c2f);border-radius:18px;box-shadow:0 18px 38px #12344d38;color:#fff;padding:2rem}.cost-label{font-size:.86rem;letter-spacing:.08em;margin-bottom:.65rem;opacity:.82;text-transform:uppercase}.cost-value{font-size:3rem;font-weight:800;letter-spacing:-.04em;margin:.5rem 0}.cost-range{font-size:.98rem;margin-top:.75rem;opacity:.88}.range-bar-wrapper{margin-top:1.25rem}.range-bar-track{background:#ffffff40;border-radius:4px;height:8px;overflow:visible;position:relative}.range-bar-fill{background:#ffffff73;border-radius:4px;inset:0;position:absolute}.range-bar-marker{background:#fff;border-radius:50%;box-shadow:0 1px 6px #00000059;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);width:14px}.range-bar-labels{display:flex;font-size:.78rem;justify-content:space-between;margin-top:.5rem;opacity:.82}.range-bar-mid{font-style:italic}.chart-tooltip{background:#12344d;border-radius:10px;box-shadow:0 4px 14px #0003;color:#fff;font-size:.9rem;padding:.6rem .9rem}.chart-tooltip-label{font-weight:700;margin-bottom:.2rem;text-transform:capitalize}.chart-tooltip-value{font-size:1.05rem;font-weight:800}.chart-tooltip-pct{font-size:.82rem;margin-top:.2rem;opacity:.78}.risk-score{background:linear-gradient(180deg,#fff,#f5f8fb);border:2px solid #dbe5eb;border-radius:18px;box-shadow:inset 0 1px 0 #fffc;padding:2rem;text-align:center}.risk-label{color:#58707f;font-size:.86rem;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.risk-value{font-size:3rem;font-weight:800;letter-spacing:-.04em;margin:.5rem 0}.risk-level{font-size:1.05rem;font-weight:700;margin-top:.5rem}.cost-drivers-section{background:linear-gradient(180deg,#f7fafc,#f1f6f9);border:1px solid #dde7ed;border-radius:18px;margin:2rem 0;padding:1.5rem}.cost-drivers-section h3{color:#12344d;margin-bottom:1rem}.risk-factors-section{margin-top:2rem}.risk-factors-section h3{color:#12344d;margin-bottom:1rem}.risk-factors-list{display:flex;flex-direction:column;gap:1rem}.risk-factor{border-left:5px solid;border-radius:14px;box-shadow:0 8px 22px #12344d0d;padding:1rem 1.1rem}.risk-factor.risk-high{background:#fff3ef;border-color:#d96c2f}.risk-factor.risk-medium{background:#fff7eb;border-color:#d5a021}.risk-factor.risk-low{background:#eef8f3;border-color:#3a8c61}.risk-factor-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.risk-factor-name{color:#12344d;font-weight:700;text-transform:capitalize}.risk-severity{border-radius:999px;font-size:.8rem;font-weight:700;padding:.32rem .78rem}.severity-high{background:#d96c2f;color:#fff}.severity-medium{background:#d5a021;color:#fff}.severity-low{background:#3a8c61;color:#fff}.risk-description{color:#456070;font-size:.95rem;margin:.5rem 0}.risk-impact{color:#5c7180;font-size:.9rem;font-style:italic}@media (max-width:900px){.cost-summary{grid-template-columns:1fr}.cost-value,.risk-value{font-size:2.4rem}}.whatif-panel{background:#fff;border-radius:16px;padding:2rem}.whatif-panel h2{color:#12344d;margin-bottom:.5rem}.whatif-description{color:#5b7281;line-height:1.6;margin-bottom:1.5rem}.whatif-controls{background:linear-gradient(180deg,#f7fafc,#f2f6f8);border:1px solid #dde7ed;border-radius:18px;margin-bottom:2rem;padding:1.5rem}.intervention-group{margin-bottom:1rem}.intervention-group label{color:#12344d;display:block;font-size:.92rem;font-weight:700;letter-spacing:.03em;margin-bottom:.5rem}.intervention-group input,.intervention-group select{background:#fff;border:2px solid #d5e0e7;border-radius:10px;color:#12344d;font-size:1rem;padding:.85rem .95rem;width:100%}.intervention-group input:focus,.intervention-group select:focus{border-color:#1f5a78;box-shadow:0 0 0 4px #1f5a781f;outline:none}.whatif-actions{display:flex;gap:1rem;margin-top:1.5rem}.clear-button,.run-whatif-button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:1rem;transition:all .25s ease}.run-whatif-button{background:linear-gradient(135deg,#12344d,#1f5a78 55%,#d96c2f);box-shadow:0 12px 24px #12344d2e;color:#fff}.run-whatif-button:hover:not(:disabled){box-shadow:0 16px 30px #12344d3d;transform:translateY(-2px)}.clear-button:disabled,.run-whatif-button:disabled{cursor:not-allowed;opacity:.5}.clear-button{background:#f4f7f9;border:2px solid #d7e1e7;color:#486273}.clear-button:hover:not(:disabled){background:#eaf0f4}.whatif-error{background:linear-gradient(180deg,#fff6f1,#fff2ef);border:1px solid #efc3b3;border-radius:14px;color:#9c3e1d;margin-top:1rem;padding:1rem 1.1rem}.whatif-error-title{font-weight:800;margin-bottom:.35rem}.whatif-error p{line-height:1.6;margin:0}.whatif-results{margin-top:2rem}.whatif-results h3{color:#12344d;margin-bottom:1.5rem}.cost-comparison{align-items:center;background:linear-gradient(180deg,#f7fafc,#f2f6f8);border:1px solid #dde7ed;border-radius:18px;display:flex;gap:2rem;justify-content:center;margin:2rem 0;padding:2rem}.cost-item{text-align:center}.cost-item-label{color:#5c7180;font-size:.86rem;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.cost-item-value{font-size:2rem;font-weight:800}.cost-item-value.current{color:#5c7180}.cost-item-value.savings{color:#2f7a55}.cost-item-value.increase{color:#bb4f22}.cost-arrow{color:#7b909e;font-size:2rem}.cost-impact{border:2px solid;border-radius:18px;margin:1.5rem 0;padding:1.5rem;text-align:center}.cost-impact.positive{background:#eef8f3;border-color:#67a786}.cost-impact.negative{background:#fff3ef;border-color:#d96c2f}.impact-amount{font-size:1.5rem;font-weight:800;margin-bottom:.5rem}.cost-impact.positive .impact-amount{color:#2f7a55}.cost-impact.negative .impact-amount{color:#bb4f22}.impact-percent{color:#486273;font-size:1.1rem;opacity:.82}.whatif-explanation{background:linear-gradient(180deg,#f0f6fb,#ecf4f8);border-left:5px solid #1f5a78;border-radius:14px;margin-top:2rem;padding:1.5rem}.whatif-explanation h4{color:#12344d;margin-bottom:1rem}.whatif-explanation p{color:#456070;line-height:1.7}.changed-variables{background:#f7fafc;border:1px solid #dde7ed;border-radius:14px;margin-top:1.5rem;padding:1.5rem}.changed-variables h4{color:#12344d;margin-bottom:1rem}.changed-variables ul{list-style:none;padding:0}.changed-variables li{border-bottom:1px solid #dfe7ec;color:#486273;padding:.6rem 0}.changed-variables li:last-child{border-bottom:none}.changed-variables strong{color:#1f5a78;text-transform:capitalize}.slider-group{background:#f7fafc;border:2px solid #d5e0e7;border-radius:10px;padding:.85rem 1rem;transition:border-color .2s}.slider-group--active{background:#eef5fa;border-color:#1f5a78}.slider-label-row{align-items:center;display:flex;gap:.6rem;margin-bottom:.6rem}.slider-label-row label{flex:1 1;margin:0}.slider-display{color:#496273;font-size:.85rem;white-space:nowrap}.slider-group--active .slider-display{color:#1f5a78;font-weight:700}.slider-reset-btn{background:none;border:1px solid #1f5a78;border-radius:6px;color:#1f5a78;cursor:pointer;font-size:.78rem;padding:.2rem .5rem;white-space:nowrap}.slider-reset-btn:hover{background:#1f5a78;color:#fff}.range-slider{-webkit-appearance:none;background:#d5e0e7;border:none;border-radius:3px;cursor:pointer;height:6px;outline:none;padding:0;width:100%}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#1f5a78;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #12344d4d;cursor:pointer;height:18px;width:18px}.range-slider::-moz-range-thumb{background:#1f5a78;border:2px solid #fff;border-radius:50%;cursor:pointer;height:18px;width:18px}.slider-range-labels{color:#7b909e;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.3rem}.scenario-save-row{border-top:1px solid #dde7ed;display:flex;gap:.6rem;margin-top:1.5rem;padding-top:1.25rem}.scenario-name-input{background:#fff;border:1.5px solid #c8d8e4;border-radius:8px;color:#12344d;flex:1 1;font-size:.9rem;outline:none;padding:.6rem .85rem}.scenario-name-input:focus{border-color:#1f5a78}.scenario-name-input::placeholder{color:#a0b4c0}.btn-save-scenario{background:#1f5a78;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:.6rem 1.1rem;transition:background .2s;white-space:nowrap}.btn-save-scenario:hover{background:#12344d}.scenarios-library{border-top:2px solid #dde7ed;margin-top:2rem;padding-top:1.5rem}.scenarios-library-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.scenarios-library-header h3{align-items:center;color:#12344d;display:flex;font-size:1rem;gap:.5rem;margin:0}.scenarios-count{background:#1f5a78;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800;padding:.1rem .45rem}.btn-clear-scenarios{background:none;border:1px solid #c8d8e4;border-radius:6px;color:#7b909e;cursor:pointer;font-size:.8rem;padding:.25rem .65rem;transition:all .15s}.btn-clear-scenarios:hover{background:#fff0ec;border-color:#e4a99a;color:#bb4f22}.scenarios-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.scenario-card{background:#fff;border:1px solid #dde7ed;border-left:4px solid #1f5a78;border-radius:12px;box-shadow:0 4px 12px #12344d12;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.scenario-card--savings{border-left-color:#2f7a55}.scenario-card--increase{border-left-color:#d96c2f}.scenario-card-header{align-items:flex-start;display:flex;gap:.4rem;justify-content:space-between}.scenario-card-name{color:#12344d;font-size:.85rem;font-weight:800;line-height:1.3}.scenario-card-remove{background:none;border:none;color:#a0b4c0;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:0}.scenario-card-remove:hover{color:#bb4f22}.scenario-card-cost{color:#12344d;font-size:1.2rem;font-weight:900}.scenario-card-delta{border-radius:6px;display:inline-block;font-size:.82rem;font-weight:700;padding:.2rem .5rem;width:-webkit-fit-content;width:fit-content}.delta--savings{background:#eef8f3;color:#2f7a55}.delta--increase{background:#fff3ef;color:#bb4f22}.scenario-card-changes{border-top:1px solid #eef3f7;display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:.25rem 0 0;padding:.5rem 0 0}.scenario-card-changes li{align-items:center;display:flex;flex-wrap:wrap;font-size:.78rem;gap:.3rem}.sc-key{color:#7b909e;text-transform:capitalize}.sc-arrow{color:#c0cdd5}.sc-val{color:#12344d}@media (max-width:900px){.cost-comparison,.whatif-actions{flex-direction:column}.scenarios-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.scenarios-grid{grid-template-columns:1fr}.scenario-save-row{flex-direction:column}}@media (max-width:480px){.whatif-controls,.whatif-panel{padding:1rem}.cost-item-value{font-size:1.5rem}.impact-amount{font-size:1.2rem}.changed-variables,.whatif-explanation{padding:1rem}}.causal-graph{background:#fff;border:1px solid #dde7ed;border-radius:16px;box-shadow:0 4px 14px #12344d12;overflow:hidden}.causal-graph-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.5rem;text-align:left;transition:background .18s;width:100%}.causal-graph-toggle:hover{background:#f4f8fb}.causal-graph-toggle-left{display:flex;flex-direction:column;gap:.15rem}.causal-graph-toggle-title{color:#12344d;font-size:1.05rem;font-weight:800}.causal-graph-toggle-sub{color:#7b909e;font-size:.8rem}.causal-graph-toggle-icon{color:#7b909e;flex-shrink:0;font-size:.75rem}.causal-graph-preview{align-items:center;border-top:1px solid #eef3f7;display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem 1.5rem 1rem}.cg-preview-badge{border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .6rem}.cg-preview-badge--exogenous{background:linear-gradient(135deg,#12344d,#1f5a78)}.cg-preview-badge--endogenous{background:linear-gradient(135deg,#5f8aa2,#7db0c8)}.cg-preview-badge--target{background:linear-gradient(135deg,#d96c2f,#c24f28)}.cg-preview-hint{color:#a0b4c0;font-size:.78rem;font-style:italic;margin-left:.25rem}.causal-graph h2{display:none}.graph-description{border-top:1px solid #eef3f7;color:#5c7180;font-size:.95rem;margin:0 0 1.5rem;padding:1rem 2rem 0}.graph-legend{background:linear-gradient(180deg,#f7fafc,#f2f6f8);border:1px solid #dde7ed;border-radius:14px;display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:0 2rem 2rem;padding:1rem 1.25rem}.legend-item{align-items:center;color:#456070;display:flex;font-size:.9rem;gap:.5rem}.legend-color{border-radius:7px;flex-shrink:0;height:24px;width:24px}.legend-color.exogenous{background:linear-gradient(135deg,#12344d,#1f5a78)}.legend-color.endogenous{background:linear-gradient(135deg,#5f8aa2,#7db0c8)}.legend-color.target{background:linear-gradient(135deg,#d96c2f,#c24f28)}.causal-flow{background:radial-gradient(circle at top center,#1f5a7814,#0000 30%),linear-gradient(180deg,#f7fafc,#f1f6f9);border:1px solid #dde7ed;border-radius:18px;margin:0 2rem;padding:2rem 1.5rem;text-align:center}.causal-layer{margin:1.25rem 0}.causal-layer h4{color:#5c7180;font-size:.8rem;letter-spacing:.14em;margin-bottom:1rem;text-transform:uppercase}.nodes{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.node{border:none;border-radius:999px;box-shadow:0 8px 18px #12344d1f;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;outline:3px solid #0000;outline-offset:2px;padding:.75rem 1.3rem;transition:transform .18s ease,box-shadow .18s ease,outline .15s ease}.node:hover{box-shadow:0 14px 26px #12344d2e;transform:translateY(-2px)}.node.exogenous{background:linear-gradient(135deg,#12344d,#1f5a78)}.node.endogenous{background:linear-gradient(135deg,#5f8aa2,#7db0c8)}.node.target{background:linear-gradient(135deg,#d96c2f,#c24f28);font-size:1rem}.node--selected{box-shadow:0 16px 32px #12344d38;outline-color:#ffca28;transform:translateY(-2px) scale(1.04)}.node--changed{animation:pulse-changed 1.8s ease-in-out infinite;box-shadow:0 0 0 5px #1565c038,0 14px 28px #12344d38;outline-color:#1565c0;outline-width:3px;transform:translateY(-2px) scale(1.05)}@keyframes pulse-changed{0%,to{box-shadow:0 0 0 4px #1565c038,0 14px 28px #12344d33}50%{box-shadow:0 0 0 8px #1565c024,0 14px 28px #12344d33}}.node--on-path{box-shadow:0 0 0 3px #f57f172e,0 10px 22px #12344d2e;outline-color:#f57f17;outline-width:2px}.node--dimmed{box-shadow:none;opacity:.3;transform:none}.causal-graph-toggle-sub--active{color:#1565c0;font-weight:700}.arrow-down{color:#8094a2;font-size:2rem;margin:.25rem 0;-webkit-user-select:none;user-select:none}.node-detail{animation:slide-in .2s ease;background:linear-gradient(135deg,#f4f8fb,#edf4f9);border-left:5px solid #1f5a78;border-radius:16px;margin:1.25rem 2rem 0;padding:1.4rem 1.5rem}.node-detail--exogenous{border-color:#1f5a78}.node-detail--endogenous{border-color:#5f8aa2}.node-detail--target{border-color:#d96c2f}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.node-detail-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.85rem}.node-detail-title{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.node-detail-name{color:#12344d;font-size:1.15rem;font-weight:800}.node-detail-badge{border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.2rem .55rem;text-transform:uppercase}.badge--exogenous{background:#e3edf5;color:#1f5a78}.badge--endogenous{background:#ddedf5;color:#3d7a96}.badge--target{background:#fde8d8;color:#c24f28}.node-detail-close{background:none;border:none;color:#7b909e;cursor:pointer;flex-shrink:0;font-size:1.4rem;line-height:1;padding:0 .2rem}.node-detail-close:hover{color:#12344d}.node-detail-desc{color:#3a5165;font-size:.93rem;line-height:1.65;margin:0 0 1rem}.node-detail-impact{background:#ffffffb3;border:1px solid #d4e6f0;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.node-detail-impact strong{color:#496273;display:block;font-size:.78rem;letter-spacing:.07em;margin-bottom:.3rem;text-transform:uppercase}.node-detail-impact p{color:#12344d;font-size:.9rem;line-height:1.55;margin:0}.node-detail-links{display:flex;flex-direction:column;gap:.65rem}.node-detail-rel{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.6rem}.rel-label{color:#496273;font-size:.77rem;font-weight:700;letter-spacing:.07em;padding-top:.25rem;text-transform:uppercase;white-space:nowrap}.rel-chips{display:flex;flex-wrap:wrap;gap:.4rem}.rel-chip{background:#fff;border:1px solid #b8d0de;border-radius:999px;color:#1f5a78;cursor:pointer;font-size:.8rem;font-weight:600;padding:.22rem .65rem;transition:all .15s}.rel-chip:hover{background:#1f5a78;border-color:#1f5a78;color:#fff}.rel-chip--child{border-color:#b0ccd8;color:#3d7a96}.rel-chip--child:hover{background:#3d7a96;border-color:#3d7a96;color:#fff}.graph-note{background:#eef6fb;border-left:5px solid #1f5a78;border-radius:12px;color:#456070;font-size:.93rem;line-height:1.6;margin:1.5rem 2rem 2rem;padding:1rem 1.1rem}.graph-note strong{color:#12344d}.causal-graph-error,.causal-graph-loading{color:#5c7180;padding:2rem;text-align:center}@media (max-width:720px){.causal-graph-toggle{padding:1rem}.graph-description{padding:.75rem 1rem 0}.graph-legend{margin:0 1rem 1.5rem}.causal-flow{margin:0 1rem;padding:1.25rem .75rem}.node{font-size:.82rem;padding:.6rem 1rem}.node-detail{margin:1rem 1rem 0;padding:1rem}.node-detail-name{font-size:1rem}.graph-note{margin:1.25rem 1rem}.causal-graph-preview{padding:.5rem 1rem .75rem}}@media (max-width:480px){.causal-graph-toggle{padding:.85rem .75rem}.causal-graph-toggle-title{font-size:.95rem}.graph-description{font-size:.88rem;padding:.6rem .75rem 0}.graph-legend{flex-direction:column;gap:.5rem;margin:0 .75rem 1rem;padding:.75rem}.causal-flow{margin:0 .75rem;padding:1rem .5rem}.node{font-size:.78rem;padding:.5rem .75rem}.node-detail{margin:.75rem .75rem 0;padding:.85rem}.graph-note{font-size:.85rem;margin:1rem .75rem}.causal-graph-preview{padding:.4rem .75rem .6rem}.nodes{gap:.4rem}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.location-map-card{background:#fff;border-radius:14px;box-shadow:0 6px 20px #00000014;margin-top:1.25rem;padding:1.25rem}.location-map-title{color:#1565c0;font-size:.82rem;font-weight:800;letter-spacing:.05em;margin-bottom:.3rem;text-transform:uppercase}.location-map-address{color:#1a2a3a;font-size:.92rem;font-weight:500;margin-bottom:.75rem}.location-map-wrap{border-radius:10px;height:220px;overflow:hidden}.location-map{height:220px;width:100%}.location-map-coords{color:#7b909e;font-size:.78rem;margin-top:.5rem;text-align:right}.compare-open-btn{background:#fff;border:2px dashed #cdd8e0;border-radius:12px;color:#1f5a78;cursor:pointer;display:block;font-size:.93rem;font-weight:600;padding:.8rem 1rem;text-align:center;transition:all .2s;width:100%}.compare-open-btn:hover{background:#f0f7fb;border-color:#1f5a78}.comparison-panel{background:#fff;border:1px solid #dce8f0;border-radius:16px;box-shadow:0 4px 20px #12344d12;padding:1.5rem}.comparison-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.comparison-panel-header h3{color:#12344d;font-size:1.1rem;margin:0}.comparison-close{background:none;border:none;color:#7b909e;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .2rem}.comparison-close:hover{color:#12344d}.comparison-form-title{color:#496273;font-size:.78rem;font-weight:700;letter-spacing:.07em;margin-bottom:.75rem;text-transform:uppercase}.comparison-form-grid{grid-gap:.6rem 1rem;display:grid;gap:.6rem 1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.cform-group{display:flex;flex-direction:column;gap:.18rem}.cform-group label{color:#496273;font-size:.77rem;font-weight:600}.cform-group input[type=number],.cform-group select{background:#f8fafc;border:1px solid #cdd8e0;border-radius:7px;color:#12344d;font-size:.84rem;outline:none;padding:.35rem .5rem}.cform-group input:focus,.cform-group select:focus{background:#fff;border-color:#2196f3}.comparison-error{background:#fff6f1;border:1px solid #efc3b3;border-radius:8px;color:#9c3e1d;font-size:.84rem;margin-bottom:.75rem;padding:.5rem .85rem}.comparison-run-btn{background:#1f5a78;border:none;border-radius:9px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.6rem 1.6rem;transition:background .2s}.comparison-run-btn:hover:not(:disabled){background:#174560}.comparison-run-btn:disabled{cursor:not-allowed;opacity:.55}.comparison-results{grid-gap:.75rem;align-items:start;border-top:1px solid #e8f0f5;display:grid;gap:.75rem;grid-template-columns:1fr 72px 1fr;margin-top:1.5rem;padding-top:1.5rem}.compare-col{background:#f8fafc;border-radius:12px;padding:1.1rem 1rem}.compare-col--a{border-left:4px solid #2196f3}.compare-col--b{border-left:4px solid #7c4dff}.compare-col-label{color:#496273;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin-bottom:.55rem;text-transform:uppercase}.compare-cost{color:#12344d;font-size:1.55rem;font-weight:800;line-height:1.1}.compare-range{color:#7b909e;font-size:.77rem;margin:.2rem 0 .55rem}.compare-risk{font-size:.9rem;font-weight:700;margin-bottom:.85rem}.compare-drivers-title{color:#496273;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:.35rem;text-transform:uppercase}.compare-driver-row{border-bottom:1px solid #e8f0f5;color:#3a5165;display:flex;font-size:.82rem;justify-content:space-between;padding:.22rem 0}.compare-driver-row:last-child{border-bottom:none}.compare-divider{align-items:center;display:flex;flex-direction:column;gap:.45rem;justify-content:center;padding-top:2rem}.compare-vs{color:#9ab0be;font-size:.75rem;font-weight:800;letter-spacing:.12em}.compare-delta{border-radius:6px;font-size:.77rem;font-weight:700;padding:.22rem .45rem;text-align:center;white-space:nowrap}.compare-delta--better{background:#e8f5e9;color:#2e7d32}.compare-delta--worse{background:#ffebee;color:#c62828}@media (max-width:900px){.comparison-form-grid{grid-template-columns:repeat(2,1fr)}.comparison-results{grid-template-columns:1fr}.compare-divider{flex-direction:row;justify-content:center;padding:.25rem 0}}@media (max-width:600px){.comparison-form-grid{grid-template-columns:1fr}}.ms-card{background:#fff;border:1px solid #dde7ed;border-radius:14px;box-shadow:0 4px 12px #12344d12;overflow:hidden}.ms-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:.6rem;padding:.85rem 1.1rem;text-align:left;transition:background .18s;width:100%}.ms-header:hover{background:#f4f8fb}.ms-title{color:#12344d;flex-shrink:0;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.ms-badges{display:flex;flex:1 1;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.ms-badge{border-radius:999px;font-size:.72rem;font-weight:700;padding:.18rem .5rem;white-space:nowrap}.ms-badge--ok{background:#e8f5e9;color:#2e7d32}.ms-badge--warn{background:#fff8e1;color:#e65100}.ms-badge--danger{background:#fff3f0;color:#b71c1c}.ms-badge--loading{background:#f0f4f7;color:#a0b4c0}.ms-chevron{color:#a0b4c0;flex-shrink:0;font-size:.65rem}.ms-body{border-top:1px solid #eef3f7;gap:1rem;padding:.75rem 1.1rem 1rem}.ms-body,.ms-skeleton-wrap{display:flex;flex-direction:column}.ms-skeleton-wrap{gap:.75rem}@keyframes ms-shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.ms-skeleton{animation:ms-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#e8edf1 25%,#d4dde4 50%,#e8edf1 75%);background-size:300px 100%;border-radius:8px;height:80px}.ms-chart-block{display:flex;flex-direction:column;gap:.2rem}.ms-chart-header{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.ms-chart-title{color:#496273;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ms-chart-meta{color:#7b909e;font-size:.72rem}.ms-chart-meta strong{color:#12344d}.ms-x-labels{color:#a0b4c0;display:flex;font-size:.68rem;justify-content:space-between;padding:0 2px}.ms-tooltip{background:#12344d;border-radius:6px;color:#fff;font-size:.75rem;padding:.3rem .6rem;pointer-events:none;white-space:nowrap}.ms-weather-row{align-items:center;border-top:1px solid #eef3f7;display:flex;justify-content:space-between;padding:.45rem 0}.ms-weather-label{color:#496273;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ms-source{border-top:1px solid #eef3f7;color:#a0b4c0;font-size:.68rem;font-style:italic;margin:0;padding-top:.6rem}.bm-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-top:1rem;padding:1.25rem 1.5rem}.bm-card--loading{font-size:.88rem;padding:1rem 1.5rem}.bm-card--empty,.bm-card--loading{align-items:center;color:#6b7280;display:flex;gap:.75rem}.bm-card--empty{font-size:.85rem;font-style:italic}.bm-card--empty .bm-icon{flex-shrink:0;font-size:1.3rem}.bm-spinner{animation:bm-spin .7s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#1565c0;flex-shrink:0;height:16px;width:16px}@keyframes bm-spin{to{transform:rotate(1turn)}}.bm-header{align-items:baseline;display:flex;gap:.75rem;margin-bottom:1rem}.bm-title{color:#12344d;font-size:.95rem;font-weight:700;margin:0}.bm-meta{color:#9ca3af;font-size:.75rem;margin-left:auto}.bm-hero{align-items:center;display:flex;flex-direction:column;gap:.2rem;margin-bottom:1.2rem}.bm-percentile{align-items:flex-start;display:flex;font-size:3rem;font-weight:900;gap:.1rem;line-height:1}.bm-pct-sup{font-size:1.2rem;font-weight:700;margin-top:.5rem}.bm-pct-label{align-self:flex-end;color:#6b7280;font-size:.78rem;font-weight:600;margin-bottom:.35rem;margin-left:.3rem}.bm-verdict{font-size:.92rem;font-weight:700;letter-spacing:.01em}.bm-sub{color:#6b7280;font-size:.78rem;text-align:center}.bm-iqr{align-items:center;display:flex;gap:.5rem;margin-bottom:.2rem}.bm-iqr-label{color:#9ca3af;flex-shrink:0;font-size:.68rem;font-weight:700;text-align:center;width:22px}.bm-iqr-track{background:#e0f2fe;border-radius:4px;flex:1 1;height:8px;position:relative}.bm-iqr-range{background:#bae6fd;border-radius:4px;inset:0;position:absolute}.bm-iqr-marker{background:#1565c0;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #00000040;cursor:pointer;height:16px;position:absolute;top:-4px;transform:translateX(-50%);transition:transform .15s;width:16px}.bm-iqr-marker:hover{transform:translateX(-50%) scale(1.2)}.bm-iqr-vals{color:#9ca3af;display:flex;font-size:.68rem;justify-content:space-between;margin-bottom:1rem;padding:0 22px}.bm-iqr-med{color:#374151;font-weight:700}.bm-dist{margin-top:.25rem}.bm-dist-title{color:#9ca3af;font-size:.72rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}body.dark-theme .bm-card{background:var(--bg-card);border-color:var(--border)}body.dark-theme .bm-title{color:var(--text-primary)}body.dark-theme .bm-meta,body.dark-theme .bm-sub{color:var(--text-muted)}body.dark-theme .bm-iqr-track{background:#1e3a4f}body.dark-theme .bm-iqr-range{background:#1a3a5c}body.dark-theme .bm-iqr-marker{background:#3b82f6;border-color:var(--bg-card)}@media (max-width:480px){.bm-card{padding:1rem}.bm-percentile{font-size:2.4rem}}.dashboard{background:radial-gradient(circle at top left,#1b537b1f,#0000 28%),linear-gradient(180deg,#f3f6f8,#eef3f7);min-height:100vh;width:100%}.dashboard-header{background:linear-gradient(135deg,#12344d,#1f5a78 52%,#d96c2f);box-shadow:0 12px 30px #12344d2e;color:#fff;padding:2.5rem 2rem;text-align:center}.dashboard-header h1{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;margin:0}.subtitle{font-size:1rem;margin-top:.5rem;opacity:.88}.dash-disclaimer{font-size:.82rem;font-style:italic;opacity:.65}.intro-section{margin:-1.5rem auto 0;max-width:1800px;padding:0 2rem;position:relative;z-index:1}.intro-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.intro-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #12344d14;border-radius:18px;box-shadow:0 18px 45px #12344d14;padding:1.5rem}.intro-problem{background:linear-gradient(135deg,#fffffff5,#f5f8fbf2)}.intro-eyebrow{color:#b35622;display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.intro-card h2,.intro-card h3{color:#12344d;margin:0}.intro-card h2{font-size:1.65rem;line-height:1.2}.intro-card h3{font-size:1.2rem}.intro-card p{color:#496273;line-height:1.6;margin:.9rem 0 0}.how-it-works{background:#ffffffeb;border:1px solid #12344d1a;border-radius:14px;box-shadow:0 8px 22px #12344d0f;margin-top:1rem;overflow:hidden}.how-it-works-toggle{align-items:center;background:none;border:none;color:#12344d;cursor:pointer;display:flex;font-size:.97rem;font-weight:700;justify-content:space-between;padding:1rem 1.25rem;text-align:left;width:100%}.how-it-works-toggle:hover{background:#12344d0a}.toggle-icon{color:#7b909e;font-size:.75rem}.how-it-works-body{grid-gap:1.25rem;border-top:1px solid #12344d14;display:grid;gap:1.25rem;grid-template-columns:1fr auto 1fr;padding:1.25rem}.hiw-col h4{color:#12344d;margin:0 0 .5rem}.hiw-col p{color:#496273;font-size:.93rem;line-height:1.6;margin:0}.hiw-divider{background:#12344d1a;width:1px}.intro-disclaimer{background:#fff5dceb;border:1px solid #d6b55680;border-radius:14px;box-shadow:0 12px 28px #12344d0f;color:#6b5315;line-height:1.6;margin-top:1rem;padding:.95rem 1rem}.use-case-strip{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.use-case-card{background:#fffffff0;border:1px solid #12344d14;border-radius:16px;box-shadow:0 14px 30px #12344d12;padding:1.25rem}.use-case-card h3{color:#12344d;font-size:1.05rem;margin:0}.use-case-card p{color:#496273;line-height:1.6;margin:.8rem 0 0}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:400px 1fr;margin:0 auto;max-width:1800px;padding:2rem}.panel{background:#fff;border-radius:16px;box-shadow:0 10px 28px #12344d14;padding:2rem}.dashboard-left{display:flex;flex-direction:column;gap:1rem;position:-webkit-sticky;position:sticky;top:2rem}.dashboard-left,.input-panel{height:-webkit-fit-content;height:fit-content}.input-panel h2{color:#12344d;margin-bottom:1.5rem}.results-panel{gap:2rem}.error-action-primary{background:#1f5a78;border:1px solid #1f5a78}.error-action-primary:hover:not(:disabled){background:#12344d}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:4px solid #e3e9ee;border-radius:50%;border-top-color:#1f5a78;height:50px;width:50px}.loading-spinner p{color:#5c7180;margin-top:1rem}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-block{animation:shimmer 1.4s ease-in-out infinite}.demo-button,.empty-state h3{color:#12344d}.demo-button{background:#f2f6f8;border:2px solid #d7e1e7;margin-top:1rem}.demo-button:hover:not(:disabled){background:#1f5a78;border-color:#1f5a78}.demo-button:disabled,.error-action-primary:disabled,.error-action-secondary:disabled{cursor:not-allowed;opacity:.5}.results-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-bottom:.5rem}.share-button{background:#f2f6f8;border:1px solid #d0dce5;border-radius:8px;color:#1f5a78;cursor:pointer;font-size:.88rem;font-weight:600;padding:.55rem 1rem;transition:background .2s}.share-button:hover{background:#e2ecf3}.report-button{background:#1f5a78;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.55rem 1.1rem;transition:background .2s}.report-button:hover:not(:disabled){background:#174560}.report-button:disabled{cursor:not-allowed;opacity:.55}.report-error{background:#fff6f1;border:1px solid #efc3b3;border-radius:8px;color:#9c3e1d;font-size:.85rem;margin-bottom:.75rem;padding:.5rem .85rem}@media (max-width:1200px){.dashboard-content,.intro-grid,.use-case-strip{grid-template-columns:1fr}.dashboard-left{position:static}}@media (max-width:900px){.how-it-works-body{grid-template-columns:1fr}.hiw-divider{height:1px;width:100%}}@media (max-width:720px){.dashboard-header{padding:2rem 1.25rem}.dashboard-header h1{font-size:2rem}.dashboard-content,.intro-section{padding-left:1rem;padding-right:1rem}.intro-card,.panel{padding:1.25rem}.error-actions{flex-direction:column}}@media (max-width:480px){.dashboard-header{padding:1.5rem .75rem}.dashboard-header h1{font-size:1.6rem}.dashboard-content{gap:.75rem;padding:.75rem}.panel{padding:1rem}.results-actions{align-items:stretch;flex-direction:column}.report-button,.share-button{text-align:center}}.leaching-map-wrapper{border-radius:16px;box-shadow:0 10px 30px #12344d1f;flex:1 1;min-height:100%;overflow:hidden;position:relative}.leaching-map{border-radius:16px;height:100%;min-height:calc(100vh - 160px);width:100%}.map-legend{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border-radius:12px;bottom:24px;box-shadow:0 4px 14px #00000026;display:flex;flex-direction:column;gap:.45rem;padding:.75rem 1rem;position:absolute;right:12px;z-index:1000}.legend-row{align-items:center;color:#12344d;display:flex;font-size:.88rem;font-weight:600;gap:.55rem}.legend-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #00000040;flex-shrink:0;height:14px;width:14px}.map-popup{font-family:inherit;min-width:220px}.popup-header{align-items:center;border-bottom:2px solid;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.popup-id{color:#12344d;font-size:1rem;font-weight:800}.popup-label{border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .6rem}.popup-limit{background:#fff3f3;border-radius:6px;color:#b71c1c;font-size:.82rem;line-height:1.4;margin-bottom:.4rem;padding:.35rem .5rem}.popup-confidence{color:#5c7180;font-size:.8rem;margin-bottom:.6rem}.popup-table{border-collapse:collapse;font-size:.83rem;width:100%}.popup-row td{border-bottom:1px solid #eee;padding:.2rem .3rem}.popup-row--ok{background:#0000}.popup-row--marginal{background:#fff8e8}.popup-row--critical{background:#fff0f0}.popup-param{color:#496273}.popup-value{color:#12344d;font-weight:700;text-align:right}.popup-status{color:#7b909e;font-size:.75rem;text-align:right;text-transform:capitalize}.popup-row--marginal .popup-status{color:#e65100;font-weight:700}.popup-row--critical .popup-status{color:#b71c1c;font-weight:700}.popup-why{border-top:1px solid #eee;margin-top:.5rem;padding-top:.4rem}.popup-why-title{color:#5c7180;font-size:.72rem;font-weight:800;letter-spacing:.02em;margin-bottom:.3rem;text-transform:uppercase}.popup-why-row{grid-gap:.4rem;align-items:center;display:grid;gap:.4rem;grid-template-columns:64px 1fr 64px;margin-bottom:.2rem}.popup-why-label{color:#496273;font-size:.76rem}.popup-why-bar-track{background:#eef3f0;border-radius:999px;display:block;height:6px;overflow:hidden}.popup-why-bar-fill{border-radius:999px;display:block;height:100%}.popup-why-bar-fill--marginal{background:#e65100}.popup-why-bar-fill--critical{background:#b71c1c}.popup-why-value{color:#12344d;font-size:.74rem;font-weight:700;text-align:right}.popup-suggestion{background:#f0faf4;border:1px solid #c2dece;border-radius:6px;color:#1b4332;font-size:.78rem;line-height:1.4;margin-top:.5rem;padding:.35rem .5rem}.site-score-badge{margin-bottom:1rem}.site-score-title{color:#1b4332;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin-bottom:.6rem;text-transform:uppercase}.site-score-box{align-items:center;border-radius:12px;box-shadow:0 4px 14px #1b43321f;display:flex;gap:.9rem;padding:.85rem 1.1rem}.site-score-letter{font-size:2.1rem;font-weight:900;line-height:1;min-width:2.4rem;text-align:center}.site-score-value{font-size:1.05rem;font-weight:800;line-height:1.2}.site-score-label{font-size:.85rem;font-weight:600;opacity:.9}.site-score-box>div:not(.site-score-letter){display:flex;flex-direction:column;gap:.15rem}body.dark-theme .site-score-title{color:var(--text-primary)}.species-section h3{color:#1b4332;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin:0 0 .25rem;text-transform:uppercase}.species-sub{color:#5c7180;font-size:.85rem;line-height:1.5;margin:0 0 1rem}.species-empty{background:#f0faf4;border:1px solid #c2dece;border-radius:8px;color:#2d6a4f;font-size:.85rem;margin-top:.5rem;padding:.75rem}.species-list{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.species-card{background:#f6fbf8;border:1px solid #c2dece;border-radius:12px;padding:.9rem 1rem}.species-card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.4rem}.species-issue{color:#1b4332;font-size:.92rem;font-weight:700}.species-severity{border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.species-meta{color:#5c7180;font-size:.78rem;margin-bottom:.6rem}.species-meta-sep{margin:0 .4rem;opacity:.5}.species-plant-list{color:#2d3e36;font-size:.85rem;line-height:1.6;margin:0;padding-left:1.1rem}.species-latin{color:#5c7180;font-style:italic}.species-mechanism{color:#5c7180}body.dark-theme .species-section h3{color:var(--text-primary)}body.dark-theme .species-latin,body.dark-theme .species-mechanism,body.dark-theme .species-meta,body.dark-theme .species-sub{color:var(--text-muted)}body.dark-theme .species-card{background:#ffffff08;border-color:var(--border)}body.dark-theme .species-issue,body.dark-theme .species-plant-list{color:var(--text-primary)}body.dark-theme .species-empty{background:#52b78814;border-color:var(--border);color:var(--text-primary)}@media (max-width:480px){.species-list{grid-template-columns:1fr}}.risk-drivers-section{margin-bottom:1.6rem}.risk-drivers-section h3{color:#1b4332;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin:0 0 .25rem;text-transform:uppercase}.risk-drivers-sub{color:#5c7180;font-size:.85rem;line-height:1.5;margin:0 0 1rem}.risk-drivers-empty{background:#f0faf4;border:1px solid #c2dece;border-radius:8px;color:#2d6a4f;font-size:.85rem;margin-top:.5rem;padding:.75rem}.risk-drivers-list{display:flex;flex-direction:column;gap:.6rem}.risk-driver-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:180px 1fr 140px}.risk-driver-label{color:#1b4332;font-size:.85rem;font-weight:700}.risk-driver-bar-track{background:#eef3f0;border-radius:999px;display:block;height:10px;overflow:hidden}.risk-driver-bar-fill{border-radius:999px;display:block;height:100%}.risk-driver-bar-fill--marginal{background:#e65100}.risk-driver-bar-fill--critical{background:#b71c1c}.risk-driver-meta{color:#5c7180;font-size:.78rem;text-align:right;white-space:nowrap}body.dark-theme .risk-drivers-section h3{color:var(--text-primary)}body.dark-theme .risk-driver-meta,body.dark-theme .risk-drivers-sub{color:var(--text-muted)}body.dark-theme .risk-driver-label{color:var(--text-primary)}body.dark-theme .risk-driver-bar-track{background:#ffffff14}body.dark-theme .risk-drivers-empty{background:#52b78814;border-color:var(--border);color:var(--text-primary)}@media (max-width:600px){.risk-driver-row{gap:.5rem;grid-template-columns:110px 1fr 90px}.risk-driver-label,.risk-driver-meta{font-size:.75rem}}.opt-suggestions-section{margin-bottom:1.6rem}.opt-suggestions-section h3{color:#1b4332;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin:0 0 .25rem;text-transform:uppercase}.opt-suggestions-sub{color:#5c7180;font-size:.85rem;line-height:1.5;margin:0 0 1rem}.opt-suggestions-empty{background:#f0faf4;border:1px solid #c2dece;border-radius:8px;color:#2d6a4f;font-size:.85rem;margin-top:.5rem;padding:.75rem}.opt-suggestions-list{display:flex;flex-direction:column;gap:.5rem;max-height:420px;overflow-y:auto;padding-right:4px}.opt-suggestion-row{grid-gap:.75rem;align-items:center;background:#f6fbf8;border:1px solid #c2dece;border-radius:10px;display:grid;gap:.75rem;grid-template-columns:110px 1fr auto;padding:.6rem .9rem}.opt-sample-id{color:#1b4332;font-size:.85rem;font-weight:800}.opt-action{color:#2d3e36;font-size:.85rem}.opt-projection{align-items:center;display:flex;gap:.4rem;white-space:nowrap}.opt-arrow{color:#5c7180;font-weight:700}.opt-badge{border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.2rem .6rem;text-transform:uppercase}body.dark-theme .opt-suggestions-section h3{color:var(--text-primary)}body.dark-theme .opt-suggestions-sub{color:var(--text-muted)}body.dark-theme .opt-suggestion-row{background:#ffffff08;border-color:var(--border)}body.dark-theme .opt-action,body.dark-theme .opt-sample-id{color:var(--text-primary)}body.dark-theme .opt-arrow{color:var(--text-muted)}.opt-suggestions-list::-webkit-scrollbar{width:5px}.opt-suggestions-list::-webkit-scrollbar-track{background:#0000}.opt-suggestions-list::-webkit-scrollbar-thumb{background:#c2dece;border-radius:3px}body.dark-theme .opt-suggestions-list::-webkit-scrollbar-thumb{background:var(--border)}body.dark-theme .opt-suggestions-empty{background:#52b78814;border-color:var(--border);color:var(--text-primary)}@media (max-width:600px){.opt-suggestion-row{gap:.35rem;grid-template-columns:1fr}}.leaching-page{background:linear-gradient(180deg,#f0f4f2,#e8f0ec);min-height:100vh}.leaching-header{background:linear-gradient(135deg,#1b4332,#2d6a4f 55%,#52b788);box-shadow:0 12px 30px #1b433233;color:#fff;padding:2.5rem 2rem}.leaching-header h1{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .6rem}.leaching-header p{font-size:1rem;line-height:1.6;margin:0;max-width:700px;opacity:.9}.leaching-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:360px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.leaching-sidebar{display:flex;flex-direction:column;gap:1.25rem}.sidebar-section{background:#fff;border-radius:16px;box-shadow:0 8px 22px #1b433214;padding:1.4rem}.sidebar-section h3{color:#1b4332;font-size:1rem;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin:0 0 1rem;text-transform:uppercase}.drop-zone{background:#f6fbf8;border:2px dashed #a8c5b5;border-radius:12px;cursor:pointer;padding:1.5rem 1rem;text-align:center;transition:background .2s,border-color .2s}.drop-zone--active,.drop-zone:hover{background:#e8f5ee;border-color:#2d6a4f}.drop-icon{font-size:2rem;margin-bottom:.5rem}.drop-text{color:#496273;font-size:.88rem;line-height:1.5;margin:0}.upload-actions{display:flex;gap:.6rem;margin-top:.85rem}.btn-demo,.btn-template{border-radius:8px;cursor:pointer;flex:1 1;font-size:.88rem;font-weight:700;padding:.7rem .5rem;text-align:center;text-decoration:none;transition:all .2s}.btn-demo{background:#2d6a4f;border:none;color:#fff}.btn-demo:hover:not(:disabled){background:#1b4332}.btn-demo:disabled{cursor:not-allowed;opacity:.55}.btn-template{background:#f2f8f5;border:1.5px solid #a8c5b5;color:#2d6a4f}.btn-template:hover{background:#e0f0e8}.file-info{align-items:center;background:#f0faf4;border:1px solid #c2dece;border-radius:8px;display:flex;justify-content:space-between;margin-top:.75rem;padding:.5rem .75rem}.file-name{color:#1b4332;font-size:.85rem;font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-count{color:#5c7180;font-size:.82rem;white-space:nowrap}.upload-error{background:#fff0f0;border-radius:8px;color:#b71c1c;font-size:.85rem;line-height:1.5;margin-top:.75rem;padding:.6rem .75rem}.columns-hint code{background:#f4faf7;border:1px solid #c2dece;border-radius:8px;color:#2d6a4f;display:block;font-size:.8rem;line-height:1.7;padding:.75rem}.stats-row{display:flex;gap:.6rem}.stat-badge{background:#fff;border:2px solid;border-radius:12px;flex:1 1;padding:.75rem .4rem;text-align:center}.stat-count{font-size:1.8rem;font-weight:800;line-height:1}.stat-label{color:#5c7180;font-size:.72rem;line-height:1.3;margin-top:.3rem}.slider-hint{color:#5c7180;font-size:.86rem;line-height:1.5;margin:0 0 1rem}.rem-slider{margin-bottom:1rem}.rem-slider-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.rem-param{color:#1b4332;font-size:.88rem;font-weight:600}.rem-value{color:#2d6a4f;font-size:.85rem;font-weight:700;min-width:70px;text-align:right}.rem-range{-webkit-appearance:none;background:#c2dece;border:none;border-radius:3px;cursor:pointer;height:6px;outline:none;padding:0;width:100%}.rem-range::-webkit-slider-thumb{-webkit-appearance:none;background:#2d6a4f;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #1b433266;cursor:pointer;height:18px;width:18px}.rem-range::-moz-range-thumb{background:#2d6a4f;border:2px solid #fff;border-radius:50%;cursor:pointer;height:18px;width:18px}.rem-range-ends{color:#7b909e;display:flex;font-size:.73rem;justify-content:space-between;margin-top:.25rem}.btn-reset-rem{background:#f2f8f5;border:1.5px solid #a8c5b5;border-radius:8px;color:#2d6a4f;cursor:pointer;font-size:.87rem;font-weight:700;margin-top:.5rem;padding:.6rem;transition:background .2s;width:100%}.btn-reset-rem:hover{background:#e0f0e8}.trend-section{background:#fff;border-radius:16px;box-shadow:0 8px 22px #1b433214;padding:1.4rem}.trend-section h3{color:#1b4332;font-size:.82rem;font-weight:800;letter-spacing:.02em;margin:0 0 .25rem;text-transform:uppercase}.trend-sub{color:#5c7180;font-size:.82rem;line-height:1.4;margin:0 0 1rem}.leaching-map-area{align-items:stretch;align-self:start;height:calc(100vh - 160px);position:-webkit-sticky;position:sticky;top:1.5rem}.leaching-map-area,.map-empty,.map-loading{border-radius:16px;display:flex;min-height:calc(100vh - 160px)}.map-empty,.map-loading{align-items:center;background:#fff;box-shadow:0 8px 22px #1b433214;color:#5c7180;flex:1 1;flex-direction:column;justify-content:center}.map-spinner{animation:spin 1s linear infinite;border:4px solid #c2dece;border-radius:50%;border-top-color:#2d6a4f;height:48px;margin-bottom:1rem;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.address-row{display:flex;gap:.5rem;position:relative}.address-suggestions{background:#fff;border:1.5px solid #a8c5b5;border-radius:8px;box-shadow:0 6px 18px #12344d26;left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:1100}.address-suggestions li{color:#12344d;cursor:pointer;font-size:.85rem;line-height:1.3;padding:.5rem .75rem}.address-suggestions li:hover{background:#f0faf4}.address-input{background:#f6fbf8;border:1.5px solid #a8c5b5;border-radius:8px;flex:1 1;font-size:.9rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.address-input:focus{background:#fff;border-color:#2d6a4f}.btn-geocode{background:#2d6a4f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:background .2s;white-space:nowrap}.btn-geocode:hover:not(:disabled){background:#1b4332}.btn-geocode:disabled{cursor:not-allowed;opacity:.5}.address-confirmed{color:#2d6a4f;font-size:.8rem;font-weight:600;margin-top:.5rem}.address-err{background:#fff0f0;border-radius:6px;color:#b71c1c;font-size:.82rem;margin-top:.5rem;padding:.4rem .6rem}.leaching-results{background:#fff;border-radius:16px;box-shadow:0 8px 22px #1b433214;box-sizing:border-box;margin:0 auto 2rem;max-width:1800px;padding:1.4rem 2rem}.leaching-results-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.btn-leaching-report{background:#1b4332;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.7rem 1.4rem;transition:background .2s}.btn-leaching-report:hover:not(:disabled){background:#143527}.btn-leaching-report:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1100px){.leaching-layout{grid-template-columns:1fr}.leaching-map-area{height:460px;min-height:460px;position:static}}@media (max-width:600px){.leaching-header{padding:1.5rem 1rem}.leaching-layout{padding:1rem}.stats-row{flex-wrap:wrap}.leaching-results{margin:0 1rem 1rem;padding:1rem}}@media (max-width:480px){.leaching-header{flex-direction:column;padding:1.25rem .75rem}.leaching-layout{gap:.75rem;padding:.75rem}.leaching-map-area{height:300px;min-height:300px}.leaching-results{margin:0 .75rem .75rem;padding:.85rem}.leaching-results-toolbar{justify-content:stretch}.btn-leaching-report{width:100%}}.building-form{display:flex;flex-direction:column;gap:.75rem}.bf-demo-strip{align-items:center;background:#f8f4ee;border:1px solid #e8ddd0;border-radius:10px;display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem}.bf-demo-label{color:#7b5a3a;font-size:.78rem;font-weight:700;margin-right:.2rem;white-space:nowrap}.bf-demo-btn{align-items:center;background:#fff;border:1.5px solid #d8c8b4;border-radius:6px;color:#5a4030;cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:.35rem;padding:.3rem .65rem;transition:background .15s}.bf-demo-btn:hover:not(:disabled){background:#f0e8de}.bf-demo-btn:disabled{cursor:not-allowed;opacity:.5}.bf-demo-dpe{border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:900;height:18px;line-height:18px;text-align:center;width:18px}.bf-section{border:1px solid #e8e0d8;border-radius:10px;overflow:hidden}.bf-section-header{align-items:center;background:#faf7f4;border:none;color:#5a3a1a;cursor:pointer;display:flex;font-size:.85rem;font-weight:800;justify-content:space-between;letter-spacing:.05em;padding:.7rem 1rem;text-transform:uppercase;transition:background .15s;width:100%}.bf-section-header:hover{background:#f2ede6}.bf-section-arrow{color:#a08060;font-size:.65rem}.bf-section-body{gap:.7rem;padding:.85rem 1rem}.bf-field,.bf-section-body{display:flex;flex-direction:column}.bf-field{gap:.3rem}.bf-label{color:#4a3828;font-size:.82rem;font-weight:600}.bf-field input,.bf-field select{background:#fff;border:1.5px solid #d8cfc4;border-radius:8px;color:#2c1f10;font-size:.9rem;padding:.55rem .75rem;transition:border-color .2s}.bf-field input:focus,.bf-field select:focus{border-color:#c87941;box-shadow:0 0 0 3px #c879411f;outline:none}.bf-actions{display:flex;gap:.6rem;margin-top:.25rem}.bf-submit{background:linear-gradient(135deg,#c87941,#e0531a);border:none;border-radius:10px;box-shadow:0 4px 14px #c8794159;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:.9rem 1rem;transition:transform .2s,box-shadow .2s}.bf-submit:hover:not(:disabled){box-shadow:0 6px 18px #c8794173;transform:translateY(-1px)}.bf-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.bf-reset{background:#f5ede4;border:1.5px solid #d8c8b4;border-radius:10px;color:#7b5a3a;cursor:pointer;font-size:.9rem;font-weight:600;padding:.9rem 1rem;transition:background .15s}.bf-reset:hover:not(:disabled){background:#ecdfd2}.bf-reset:disabled{cursor:not-allowed;opacity:.5}.dpe-badge{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000014;padding:1.75rem}.dpe-scale{margin-bottom:1.5rem}.dpe-scale-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.6rem}.scale-eco{color:#009a44;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.scale-units{color:#7b909e;display:flex;font-size:.72rem;font-weight:600;gap:1.5rem}.dpe-row{gap:.5rem;margin-bottom:3px;position:relative}.dpe-bar,.dpe-row{align-items:center;display:flex}.dpe-bar{border-radius:0 4px 4px 0;height:28px;min-width:38%;padding-right:.5rem;transition:opacity .2s}.dpe-row:not(.dpe-row--active) .dpe-bar{opacity:.55}.dpe-letter{color:#fff;font-size:.95rem;font-weight:900;margin-left:auto;padding:0 .3rem;text-shadow:0 1px 2px #0000004d}.dpe-thresholds{color:#5c7180;display:flex;font-size:.76rem;gap:1.5rem;min-width:120px}.dpe-row--active .dpe-thresholds{color:#12344d;font-weight:700}.dpe-marker{align-items:center;border-radius:8px;box-shadow:0 3px 10px #0003;display:flex;gap:.5rem;margin-left:.5rem;padding:.3rem .75rem}.dpe-marker-letter{color:#fff;font-size:1.6rem;font-weight:900;line-height:1;text-shadow:0 1px 3px #0000004d}.dpe-marker-value{color:#ffffffeb;font-size:.78rem;font-weight:700;white-space:nowrap}.dpe-scale-footer{margin-top:.5rem}.scale-waste{color:#d7221e;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dpe-values{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:1fr 1fr 1fr}.dpe-value-card{border:2px solid;border-radius:12px;padding:1rem .75rem;position:relative;text-align:center}.dpe-value-label{color:#5c7180;font-size:.75rem;font-weight:600;line-height:1.3;margin-bottom:.4rem;min-height:2em}.dpe-value-number{font-size:1.8rem;font-weight:900;letter-spacing:-.04em;line-height:1}.dpe-value-cost{color:#12344d!important}.dpe-value-unit{color:#7b909e;font-size:.7rem;margin-top:.25rem}.dpe-value-letter{border-radius:6px;color:#fff;display:inline-block;font-size:.9rem;font-weight:900;margin-top:.5rem;padding:.15rem .55rem;text-shadow:0 1px 2px #00000040}.dpe-value-card--cost{border-color:#d0dce5}.dpe-disclaimer{color:#8a9eb0;font-size:.75rem;font-style:italic;line-height:1.5;margin-top:1rem}@media (max-width:600px){.dpe-values{grid-template-columns:1fr}.dpe-marker{display:none}}.rc-wrapper{display:flex;flex-direction:column;gap:1.25rem}.rc-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.rc-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0 0 .25rem}.rc-subtitle{color:#8a6040;font-size:.85rem;margin:0}.rc-selection-badge{background:#c87941;border-radius:999px;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;padding:.3rem .8rem;white-space:nowrap}.rc-group{display:flex;flex-direction:column;gap:.5rem}.rc-group-header{align-items:center;border-bottom:2px solid #f0e0d0;display:flex;gap:.6rem;padding-bottom:.3rem}.rc-group-label{color:#c87941;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rc-group-count{color:#a08060;font-size:.75rem}.rc-card{background:#fff;border:1.5px solid #e8ddd0;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.rc-card:hover{border-color:#c87941;box-shadow:0 4px 14px #c879411f}.rc-card--selected{background:#fff8f2;border-color:#c87941;box-shadow:0 4px 16px #c879412e}.rc-card--neutral{opacity:.7}.rc-main{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto auto auto;padding:.9rem 1rem}.rc-info{min-width:0}.rc-label-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.45rem}.rc-label{color:#3a2010;font-size:.93rem;font-weight:700}.rc-maprime{background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;color:#1565c0;font-size:.7rem;font-weight:700;padding:.1rem .4rem;white-space:nowrap}.rc-stats-row{display:flex;flex-wrap:wrap;gap:1.2rem}.rc-stat{display:flex;flex-direction:column;gap:.05rem}.rc-stat-label{color:#a08060;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.rc-stat-value{color:#3a2010;font-size:.85rem;font-weight:700}.rc-stat-savings{color:#2e7d32}.rc-stat-aide{color:#1565c0}.rc-dpe-change{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.rc-letter{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:1rem;font-weight:900;height:30px;justify-content:center;text-shadow:0 1px 2px #00000040;width:30px}.rc-arrow{color:#a08060;font-size:1rem;font-weight:700}.rc-roi{align-items:center;display:flex;flex-direction:column;flex-shrink:0;min-width:44px}.rc-roi-value{font-size:1.25rem;font-weight:900;line-height:1}.rc-roi-label{font-size:.62rem;font-weight:700;letter-spacing:.06em;opacity:.7;text-transform:uppercase}.rc-toggle{background:#c87941;border:none;border-radius:8px;box-shadow:0 2px 8px #c879414d;color:#fff;cursor:pointer;flex-shrink:0;font-size:.82rem;font-weight:700;padding:.45rem .9rem;transition:all .18s;white-space:nowrap}.rc-toggle:hover{background:#a0602e;transform:translateY(-1px)}.rc-toggle--remove{background:#f5ede4;border:1.5px solid #d8c0a8;box-shadow:none;color:#a05030}.rc-toggle--remove:hover{background:#f0e0d0;transform:none}.rc-detail{background:#fdf8f4;border-top:1px solid #f0e0d0;padding:.75rem 1rem 1rem}.rc-description{color:#5a3a20;font-size:.85rem;line-height:1.6;margin:0 0 .75rem}.rc-detail-grid{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.rc-detail-item{display:flex;flex-direction:column;gap:.1rem}.rc-detail-label{color:#a08060;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.rc-detail-item span:last-child{color:#3a2010;font-size:.88rem;font-weight:600}@media (max-width:800px){.rc-main{gap:.6rem;grid-template-columns:1fr}.rc-dpe-change,.rc-roi,.rc-toggle{align-self:flex-start}}.sim-panel{background:#fff;border:2px solid #e8ddd0;border-radius:16px;box-shadow:0 8px 24px #7b2d0012;padding:1.75rem;transition:border-color .3s}.sim-panel--improved{border-color:#c87941;box-shadow:0 8px 28px #c8794126}.sim-panel--loading{align-items:center;color:#8a6040;display:flex;flex-direction:column;padding:3rem}.sim-spinner{animation:sim-spin .9s linear infinite;border:3px solid #f0d8b8;border-radius:50%;border-top-color:#c87941;height:36px;margin-bottom:.75rem;width:36px}@keyframes sim-spin{to{transform:rotate(1turn)}}.sim-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.sim-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0 0 .2rem}.sim-subtitle{color:#8a6040;font-size:.84rem;margin:0}.sim-clear{background:#f5ede4;border:1.5px solid #d8c0a8;border-radius:8px;color:#a05030;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:700;padding:.4rem .85rem;transition:background .15s;white-space:nowrap}.sim-clear:hover{background:#f0ddd0}.sim-gain-badge{border:2px solid;border-radius:8px;display:inline-block;font-size:.9rem;font-weight:800;margin-bottom:1.2rem;padding:.3rem .9rem}.sim-progress{border-radius:8px;display:flex;gap:3px;margin-bottom:1.5rem;overflow:hidden}.sim-prog-cell{align-items:center;background:#f0e8de;color:#a08060;display:flex;flex:1 1;font-size:.85rem;font-weight:700;height:32px;justify-content:center;transition:all .3s}.sim-prog-cell--in{color:#fff;text-shadow:0 1px 2px #00000040}.sim-prog-cell--after{font-size:1rem;outline:3px solid #00000040;outline-offset:-3px}.sim-prog-cell--before{font-size:.75rem;opacity:.7;text-decoration:line-through}.sim-comparison{background:#fdf8f4;border:1px solid #f0e0d0;border-radius:14px;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem}.sim-comparison,.sim-side{align-items:center;display:flex}.sim-side{flex:1 1;flex-direction:column;gap:.5rem}.sim-side-label{color:#a08060;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.sim-letter-block{flex-direction:column;gap:.35rem}.sim-letter,.sim-letter-block{align-items:center;display:flex}.sim-letter{border-radius:14px;color:#fff;font-size:2.4rem;font-weight:900;height:70px;justify-content:center;text-shadow:0 2px 6px #0000004d;width:70px}.sim-letter-sub{color:#7b5a3a;font-size:.78rem;font-weight:600}.sim-side-cost{color:#7b5a3a;font-size:.9rem;font-weight:600}.sim-side-cost--after{color:#2e7d32;font-weight:800}.sim-middle{flex-direction:column;flex-shrink:0;gap:.4rem}.sim-arrow-track,.sim-middle{align-items:center;display:flex}.sim-arrow-line{background:linear-gradient(90deg,#c87941,#009a44);border-radius:2px;height:3px;width:60px}.sim-arrow-tip{color:#009a44;font-size:1.2rem;margin-left:-4px}.sim-gain-label{font-size:.82rem;font-weight:800}.sim-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem}.sim-stat{background:#fdf8f4;border:1px solid #f0e0d0;border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.85rem}.sim-stat--highlight{background:#fff4e8;border-color:#f0c880}.sim-stat-label{color:#a08060;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sim-stat-value{color:#3a2010;font-size:1.1rem;font-weight:900;line-height:1}.sim-stat--highlight .sim-stat-value{color:#c87941}.sim-stat-sub{color:#a08060;font-size:.7rem}.sim-selected-list{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.sim-selected-title{color:#8a6040;font-size:.78rem;font-weight:700;margin-right:.2rem}.sim-selected-tag{background:#f0e0d0;border-radius:5px;color:#7b3a10;font-size:.75rem;font-weight:600;padding:.2rem .55rem}@media (max-width:900px){.sim-stats{grid-template-columns:repeat(2,1fr)}.sim-comparison{flex-direction:column}.sim-middle{transform:rotate(90deg)}}@media (max-width:500px){.sim-stats{grid-template-columns:1fr}}.roi-chart-wrapper{display:flex;flex-direction:column;gap:.75rem}.roi-chart-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:1rem}.roi-chart-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0}.roi-chart-sub{color:#8a6040;font-size:.82rem;margin:0}.roi-legend{display:flex;flex-wrap:wrap;gap:1.25rem}.roi-legend span{align-items:center;color:#5a3010;display:flex;font-size:.8rem;font-weight:600;gap:.4rem}.roi-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;display:inline-block;height:12px;width:12px}.roi-tooltip{background:#3a2010;border-radius:10px;box-shadow:0 6px 20px #00000040;min-width:190px;padding:.75rem 1rem}.roi-tooltip-title{border-bottom:1px solid #ffffff26;color:#fff;font-size:.85rem;font-weight:800;margin-bottom:.5rem;padding-bottom:.4rem}.roi-tooltip-row{align-items:center;color:#ffffffbf;display:flex;font-size:.8rem;gap:.75rem;justify-content:space-between;padding:.15rem 0}.roi-tooltip-row span:last-child{color:#fff;font-weight:700}.roi-tooltip-green{color:#81c784!important}.roi-chip{border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:900;height:20px;line-height:20px;text-align:center;width:20px}.roi-chart-note{color:#a08060;font-size:.75rem;font-style:italic;line-height:1.5;margin:0}.tl-wrapper{display:flex;flex-direction:column;gap:.85rem}.tl-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0 0 .2rem}.tl-subtitle{color:#8a6040;font-size:.84rem;margin:0}.tl-track{align-items:flex-start;display:flex;gap:0;overflow-x:auto;padding:1.25rem .5rem 1rem;scrollbar-color:#d8c0a8 #fdf8f4;scrollbar-width:thin}.tl-track::-webkit-scrollbar{height:5px}.tl-track::-webkit-scrollbar-track{background:#fdf8f4;border-radius:3px}.tl-track::-webkit-scrollbar-thumb{background:#d8c0a8;border-radius:3px}.tl-node{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.45rem;max-width:120px;min-width:100px}.tl-node--start .tl-bubble{border:3px solid #00000026}.tl-node--best .tl-bubble{outline:3px solid #fff;outline-offset:3px}.tl-bubble{align-items:center;border-radius:50%;display:flex;height:60px;justify-content:center;transition:transform .25s;width:60px}.tl-node:hover .tl-bubble{transform:scale(1.08)}.tl-letter{font-size:1.75rem;font-weight:900;line-height:1;text-shadow:0 1px 3px #0003}.tl-gain{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:4px;color:#2e7d32;font-size:.7rem;font-weight:800;padding:.1rem .4rem}.tl-label{color:#3a2010;font-size:.78rem;font-weight:700;line-height:1.3;text-align:center}.tl-sub{color:#8a6040;font-size:.72rem;font-weight:600;text-align:center}.tl-connector{align-items:center;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding:18px 4px 0}.tl-line{background:linear-gradient(90deg,#d8c0a8,#c87941);border-radius:2px;height:3px;margin-bottom:4px;width:32px}.tl-rank{color:#a08060;font-size:.65rem;font-weight:700}.tl-note{color:#a08060;font-size:.75rem;font-style:italic;line-height:1.5;margin:0}.mpr-panel{display:flex;flex-direction:column;gap:1.1rem}.mpr-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.mpr-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0 0 .2rem}.mpr-sub{color:#8a6040;font-size:.82rem;margin:0}.mpr-link{border-bottom:1px dashed #1565c0;color:#1565c0;flex-shrink:0;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}.mpr-link:hover{opacity:.75}.mpr-brackets{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.mpr-brackets-label{color:#5a3010;font-size:.82rem;font-weight:700;margin-right:.2rem}.mpr-bracket-btn{align-items:center;background:#fff;border:1.5px solid #d8c0a8;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:.4rem .75rem;transition:all .18s}.mpr-bracket-btn:hover:not(.mpr-bracket-btn--active){background:#fdf4ec;border-color:#c87941}.mpr-bracket-btn--active{box-shadow:0 3px 10px #0003;color:#fff}.mpr-bracket-name{font-size:.82rem;font-weight:800}.mpr-bracket-sub{font-size:.68rem;opacity:.85}.mpr-table{border-collapse:collapse;font-size:.86rem;width:100%}.mpr-table th{border-bottom:2px solid #f0e0d0;color:#8a6040;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.4rem .75rem;text-align:left;text-transform:uppercase}.mpr-table th:not(:first-child){text-align:right}.mpr-table td{border-bottom:1px solid #f5ede4;padding:.55rem .75rem;vertical-align:middle}.mpr-table tbody tr:hover{background:#fdf8f4}.mpr-td-label{color:#3a2010;font-weight:600}.mpr-td-number{color:#5a3010;font-weight:600;text-align:right;white-space:nowrap}.mpr-td-aide{color:#1565c0;font-weight:700}.mpr-td-net{color:#2e7d32;font-weight:800}.mpr-total-row{background:#fdf4ec}.mpr-total-row td{border-bottom:none;border-top:2px solid #f0e0d0;color:#3a2010;font-size:.9rem;font-weight:800}.mpr-summary{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.mpr-summary-card{background:#f5f8ff;border:1px solid #c5d8f0;border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem}.mpr-summary-card--aide{background:#e8f4fd;border-color:#90caf9}.mpr-summary-label{color:#5a6080;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mpr-summary-value{color:#1565c0;font-size:1.4rem;font-weight:900;line-height:1}.mpr-summary-value--net{color:#2e7d32}.mpr-summary-pct{color:#7b90a0;font-size:.75rem}.mpr-disclaimer{background:#fdf8f0;border:1px solid #eed8b8;border-radius:8px;color:#a08060;font-size:.74rem;font-style:italic;line-height:1.55;margin:0;padding:.75rem}@media (max-width:600px){.mpr-summary{grid-template-columns:1fr}.mpr-brackets{align-items:flex-start;flex-direction:column}}.dpe-page{background:linear-gradient(180deg,#fdf6ee,#f8ede0);min-height:100vh}.dpe-header{align-items:center;background:linear-gradient(135deg,#7b2d00,#c87941 55%,#f5a800);box-shadow:0 12px 30px #7b2d0040;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2.5rem 2rem}.dpe-header-text h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .6rem}.dpe-header-text p{font-size:.97rem;line-height:1.6;margin:0;max-width:680px;opacity:.9}.dpe-header-letter{align-items:center;border:3px solid #fff6;border-radius:14px;box-shadow:0 4px 16px #00000040;color:#fff;display:flex;flex-shrink:0;font-size:2.6rem;font-weight:900;height:72px;justify-content:center;text-shadow:0 2px 4px #0000004d;width:72px}.dpe-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:400px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.dpe-sidebar{position:-webkit-sticky;position:sticky;top:64px}.dpe-sidebar-panel{background:#fff;border-radius:16px;box-shadow:0 8px 24px #7b2d0014;padding:1.25rem}.dpe-panel-title{color:#7b2d00;font-size:.82rem;font-weight:800;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.dpe-results{display:flex;flex-direction:column;gap:1.5rem}.dpe-section{background:#fff;border-radius:16px;box-shadow:0 8px 24px #7b2d0012;padding:1.75rem}.dpe-section-title{color:#5a3010;font-size:1.1rem;font-weight:800;margin:0 0 1.25rem}.dpe-demo-banner{align-items:baseline;background:#fff8f0;border:1px solid #f0d8b8;border-radius:10px;display:flex;flex-wrap:wrap;gap:.6rem;padding:.75rem 1rem}.dpe-demo-tag{background:#fde8cc;border-radius:4px;color:#c87941;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:.15rem .5rem;text-transform:uppercase}.dpe-demo-banner strong{color:#5a3010;font-size:.95rem}.dpe-demo-desc{color:#8a6040;font-size:.82rem;line-height:1.5}.dpe-loading{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 24px #7b2d0012;color:#8a6040;display:flex;flex-direction:column;justify-content:center;padding:4rem}.dpe-spinner{animation:dpe-spin 1s linear infinite;border:4px solid #f0d8b8;border-radius:50%;border-top-color:#c87941;height:44px;margin-bottom:1rem;width:44px}@keyframes dpe-spin{to{transform:rotate(1turn)}}.dpe-empty,.dpe-phase-notice{background:#fff;border-radius:12px;box-shadow:0 4px 12px #7b2d000f;color:#8a6040;font-size:.9rem;line-height:1.6;padding:1.5rem;text-align:center}.dpe-phase-notice{background:#fff8f0;border:1px dashed #f0d8b8;font-style:italic}.dpe-section--sim{background:#0000;box-shadow:none;padding:0}.dpe-optimizing{align-items:center;color:#8a6040;display:flex;font-size:.9rem;gap:.75rem;padding:1rem 0}.dpe-spinner--small{border-width:2px;height:20px;width:20px}.dpe-error{background:#fff3f0;border:1px solid #f0c0b0;border-radius:12px;color:#a03020;padding:1.25rem}.dpe-error strong{display:block;margin-bottom:.4rem}.dpe-error p{font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.dpe-error button{background:#c87941;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.5rem 1rem}.dep-chart{display:flex;flex-direction:column;gap:.65rem}.dep-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:110px 1fr 160px}.dep-label{color:#5a3010;font-size:.88rem;font-weight:600;text-align:right}.dep-bar-track{background:#f0e8de;border-radius:4px;height:18px;overflow:hidden}.dep-bar-fill{border-radius:4px;height:100%;transition:width .4s ease}.dep-values{align-items:center;display:flex;gap:.5rem}.dep-kwh{color:#5a3010;font-size:.82rem;font-weight:600;white-space:nowrap}.dep-pct{color:#a08060;font-size:.78rem;min-width:35px}.dep-total{color:#8a6040;font-size:.82rem;font-style:italic;margin-top:.25rem;text-align:right}@media (max-width:1100px){.dpe-layout{grid-template-columns:1fr}.dpe-sidebar{position:static}}@media (max-width:600px){.dpe-header{align-items:flex-start;flex-direction:column;padding:1.5rem 1rem}.dpe-layout{padding:1rem}.dep-row{grid-template-columns:90px 1fr 120px}}@media (max-width:480px){.dpe-header{padding:1.25rem .75rem}.dpe-layout{gap:.75rem;padding:.75rem}.dep-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.dep-row>:first-child{grid-column:1/-1}}.sol-page{background:linear-gradient(180deg,#e8f1f8,#eef4f9);min-height:100vh}.sol-header{align-items:center;background:linear-gradient(135deg,#0d47a1,#1565c0 55%,#f57f17);box-shadow:0 8px 24px #0d47a140;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2.5rem 2rem}.sol-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem}.sol-header p{font-size:.95rem;margin:0;opacity:.9}.sol-header-chip{background:#ffffff2e;border:1px solid #ffffff59;border-radius:8px;color:#fff;flex-shrink:0;font-size:.9rem;font-weight:700;padding:.5rem 1rem;white-space:nowrap}.sol-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:360px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.sol-sidebar{position:-webkit-sticky;position:sticky;top:64px}.sol-form{background:#fff;border:1px solid #d8e6f0;border-radius:16px;box-shadow:0 6px 20px #0d47a112;gap:.75rem;padding:1.25rem}.sol-form,.sol-form-section{display:flex;flex-direction:column}.sol-form-section{gap:.6rem}.sol-section-title{border-bottom:2px solid #bbdefb;color:#1565c0;font-size:.72rem;font-weight:800;letter-spacing:.07em;padding-bottom:.3rem;text-transform:uppercase}.sol-field{display:flex;flex-direction:column;gap:.25rem}.sol-field label{color:#3a5165;font-size:.8rem;font-weight:600}.sol-field input,.sol-field select{background:#f4f8fb;border:1px solid #c5d8e8;border-radius:8px;color:#12344d;font-size:.88rem;padding:.52rem .75rem;transition:border-color .2s}.sol-field input:focus,.sol-field select:focus{background:#fff;border-color:#1565c0;outline:none}.sol-field input::placeholder{color:#a0b4c0}.sol-field select option{background:#fff;color:#12344d}.sol-field-row{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.sol-field-row .sol-field input{max-width:100%}.sol-latlon-row{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:130px 130px}.sol-form-actions{display:flex;gap:.6rem;margin-top:.25rem}.sol-btn-calc{background:linear-gradient(135deg,#1565c0,#f57f17);border:none;border-radius:10px;box-shadow:0 4px 14px #1565c040;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:.9rem;transition:transform .2s,box-shadow .2s}.sol-btn-calc:hover:not(:disabled){box-shadow:0 6px 18px #1565c059;transform:translateY(-1px)}.sol-btn-calc:disabled{cursor:not-allowed;opacity:.6;transform:none}.sol-btn-demo{background:#f0f6fb;border:1px solid #c5d8e8;border-radius:10px;color:#1565c0;cursor:pointer;font-size:.88rem;font-weight:600;padding:.9rem 1rem;transition:background .2s}.sol-btn-demo:hover:not(:disabled){background:#dceefb}.sol-btn-demo:disabled{cursor:not-allowed;opacity:.5}.sol-results{gap:1.5rem}.sol-loading,.sol-results{display:flex;flex-direction:column}.sol-loading{align-items:center;color:#5c7180;justify-content:center;padding:4rem}.sol-spinner{animation:sol-spin .9s linear infinite;border:3px solid #bbdefb;border-radius:50%;border-top-color:#1565c0;height:40px;margin-bottom:.75rem;width:40px}@keyframes sol-spin{to{transform:rotate(1turn)}}.sol-error{background:#fff3f0;border:1px solid #ffcdd2;border-radius:10px;color:#b71c1c;font-size:.9rem;padding:1rem}.sol-empty{color:#5c7180;line-height:1.7;padding:3rem 2rem;text-align:center}.sol-empty strong{color:#1565c0}.sol-stats-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}.sol-stat{background:#fff;border:1px solid #d8e6f0;border-radius:10px;box-shadow:0 3px 10px #0d47a10f;display:flex;flex-direction:column;gap:.15rem;padding:.9rem}.sol-stat--accent{background:#fff8e1;border-color:#ffe082}.sol-stat-label{color:#7b909e;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sol-stat-value{color:#12344d;font-size:1.2rem;font-weight:900;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sol-stat--accent .sol-stat-value{color:#e65100}.sol-stat-unit{color:#7b909e;font-size:.72rem}.sol-stat-sub{color:#a0b4c0;font-size:.68rem;line-height:1.35;margin-top:.15rem}.sol-chart-section{background:#fff;border:1px solid #d8e6f0;border-radius:16px;box-shadow:0 4px 14px #0d47a10f;padding:1.5rem}.sol-chart-section h2{color:#12344d;font-size:1.05rem;margin:0 0 .25rem}.sol-chart-sub{color:#7b909e;font-size:.82rem;margin:0 0 1rem}.sol-bilan{background:#fff;border:1px solid #d8e6f0;border-radius:12px;box-shadow:0 4px 14px #0d47a10f;display:flex;flex-direction:column;gap:0;overflow:hidden}.sol-bilan-item{border-bottom:1px solid #eef3f8;display:flex;font-size:.92rem;justify-content:space-between;padding:.85rem 1.25rem}.sol-bilan-item:last-child{border-bottom:none}.sol-bilan-item--neg span:last-child{color:#c62828;font-weight:700}.sol-bilan-item--pos span:last-child{color:#2e7d32;font-weight:700}.sol-bilan-item--total{background:#e3f2fd;font-weight:800}.sol-bilan-item--total span{color:#1565c0}.sol-bilan-item span:first-child{color:#496273}.sol-source{color:#a0b4c0;font-size:.73rem;font-style:italic;text-align:right}@media (max-width:1100px){.sol-layout{grid-template-columns:1fr}.sol-sidebar{position:static}.sol-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.sol-stats-grid{grid-template-columns:1fr}.sol-header{align-items:flex-start;flex-direction:column;padding:1.5rem 1rem}.sol-layout{padding:1rem}.sol-latlon-row{grid-template-columns:1fr 1fr}}@media (max-width:480px){.sol-header{padding:1.25rem .75rem}.sol-layout{gap:.75rem;padding:.75rem}.sol-form{padding:1rem}.sol-field-row,.sol-latlon-row{grid-template-columns:1fr}.sol-form-actions{flex-direction:column}}.vv-page{background:linear-gradient(180deg,#e8f5e9,#f1f8f2);min-height:100vh}.vv-header{align-items:center;background:linear-gradient(135deg,#1b5e20,#2e7d32 60%,#81c784);box-shadow:0 8px 24px #1b5e2040;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2.5rem 2rem}.vv-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem}.vv-header p{font-size:.95rem;margin:0;opacity:.9}.vv-header-delta{flex-shrink:0;font-size:2rem;font-weight:900}.vv-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:360px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.vv-sidebar{position:-webkit-sticky;position:sticky;top:64px}.vv-form{background:#fff;border-radius:16px;box-shadow:0 8px 24px #1b5e2014;display:flex;flex-direction:column;gap:.65rem;padding:1.25rem}.vv-section-title{border-bottom:2px solid #c8e6c9;color:#2e7d32;font-size:.72rem;font-weight:800;letter-spacing:.07em;padding-bottom:.3rem;text-transform:uppercase}.vv-field{display:flex;flex-direction:column;gap:.25rem}.vv-field label{color:#2c3e50;font-size:.8rem;font-weight:600}.vv-field input,.vv-field select{background:#fff;border:1.5px solid #c8e6c9;border-radius:8px;color:#1b4d20;font-size:.9rem;padding:.55rem .75rem;transition:border-color .2s}.vv-field input:focus,.vv-field select:focus{border-color:#2e7d32;outline:none}.vv-field-row{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.vv-actions{display:flex;gap:.6rem;margin-top:.25rem}.vv-btn-calc{background:linear-gradient(135deg,#2e7d32,#81c784);border:none;border-radius:10px;box-shadow:0 4px 14px #2e7d324d;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:.9rem}.vv-btn-calc:hover:not(:disabled){opacity:.9}.vv-btn-calc:disabled{cursor:not-allowed;opacity:.6}.vv-btn-demo{background:#f1f8f2;border:1.5px solid #a5d6a7;border-radius:10px;color:#2e7d32;cursor:pointer;font-size:.88rem;font-weight:600;padding:.9rem 1rem}.vv-btn-demo:hover:not(:disabled){background:#e8f5e9}.vv-btn-demo:disabled{cursor:not-allowed;opacity:.5}.vv-results{gap:1.5rem}.vv-loading,.vv-results{display:flex;flex-direction:column}.vv-loading{align-items:center;color:#5a7a5a;padding:4rem}.vv-spinner{animation:vv-spin .9s linear infinite;border:3px solid #c8e6c9;border-radius:50%;border-top-color:#2e7d32;height:36px;margin-bottom:.75rem;width:36px}@keyframes vv-spin{to{transform:rotate(1turn)}}.vv-error{background:#fff3f3;border:1px solid #ffcdd2;border-radius:10px;color:#b71c1c;padding:1rem}.vv-empty{color:#5a7a5a;line-height:1.7;padding:3rem;text-align:center}.vv-empty strong{color:#2e7d32}.vv-comparison{background:#fff;border-radius:16px;box-shadow:0 8px 24px #1b5e2014;gap:1.5rem;padding:2rem}.vv-comparison,.vv-side{align-items:center;display:flex}.vv-side{flex:1 1;flex-direction:column;gap:.6rem}.vv-side-label{color:#7b9a7b;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vv-chip{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0003;color:#fff;display:inline-flex;font-size:2rem;font-weight:900;height:56px;justify-content:center;width:56px}.vv-price{color:#1b4d20;font-size:1.6rem;font-weight:900}.vv-price--after{color:#2e7d32}.vv-price-m2{color:#7b9a7b;font-size:.85rem}.vv-middle{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem}.vv-arrow-line{background:linear-gradient(90deg,#e0f0e0,#2e7d32);border-radius:2px;height:3px;width:60px}.vv-delta{font-size:1.1rem;font-weight:800;text-align:center}.vv-delta span{display:block;font-size:.82rem;font-weight:600;opacity:.8}.vv-roi-section{background:#fff;border-radius:16px;box-shadow:0 8px 24px #1b5e2014;padding:1.75rem}.vv-roi-section h2{color:#1b4d20;font-size:1.1rem;margin:0 0 1rem}.vv-roi-stats{display:flex;flex-direction:column;gap:0;margin-top:.75rem}.vv-roi-item{border-bottom:1px solid #e8f5e9;color:#3a5a3a;display:flex;font-size:.9rem;justify-content:space-between;padding:.7rem 0}.vv-roi-item:last-child{border-bottom:none}.vv-roi-item--total{font-size:1rem;font-weight:800;padding-top:.9rem}.vv-pos{color:#2e7d32;font-weight:700}.vv-neg{color:#b71c1c;font-weight:700}.vv-reco{background:#e8f5e9;border-left:4px solid #2e7d32;border-radius:10px;color:#1b4d20;font-size:.9rem;line-height:1.6;padding:1rem 1.25rem}.vv-reco-tag{background:#c8e6c9;border-radius:4px;color:#2e7d32;display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.07em;margin-right:.5rem;padding:.1rem .45rem;text-transform:uppercase}.vv-disclaimer{color:#7b9a7b;font-size:.74rem;font-style:italic;line-height:1.5}@media (max-width:1100px){.vv-layout{grid-template-columns:1fr}.vv-sidebar{position:static}}@media (max-width:700px){.vv-comparison,.vv-header{flex-direction:column}}@media (max-width:600px){.vv-field-row{grid-template-columns:1fr}}@media (max-width:480px){.vv-layout{gap:.75rem;padding:.75rem}.vv-header{padding:1.25rem .75rem}.vv-panel{padding:1rem}}.geo-map-wrapper{border-radius:16px;box-shadow:0 10px 30px #00000026;flex:1 1;min-height:100%;overflow:hidden;position:relative}.geo-map{border-radius:16px;height:100%;min-height:calc(100vh - 160px);width:100%}.geo-legend{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border-radius:12px;bottom:24px;box-shadow:0 4px 14px #00000026;display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem;position:absolute;right:12px;z-index:1000}.geo-legend-row{align-items:center;color:#12344d;display:flex;font-size:.85rem;font-weight:600;gap:.5rem}.geo-legend-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #00000040;flex-shrink:0;height:14px;width:14px}.geo-popup{font-family:inherit;min-width:210px}.geo-popup-header{align-items:center;border-bottom:2px solid;display:flex;justify-content:space-between;margin-bottom:.45rem;padding-bottom:.45rem}.geo-popup-id{color:#12344d;font-size:1rem;font-weight:800}.geo-popup-badge{border-radius:999px;color:#fff;font-size:.73rem;font-weight:700;padding:.18rem .55rem}.geo-popup-limit{background:#fff8e0;border-radius:6px;color:#7b5015;font-size:.8rem;line-height:1.4;margin-bottom:.45rem;padding:.3rem .5rem}.geo-popup-table{border-collapse:collapse;font-size:.82rem;width:100%}.geo-row td{border-bottom:1px solid #f0f0f0;padding:.22rem .3rem}.geo-row:last-child td{border-bottom:none}.geo-cat{color:#496273}.geo-level{font-weight:700;text-align:right}.geo-row--high{background:#fff3f0}.geo-row--medium{background:#fff8f0}.gr-page{background:linear-gradient(180deg,#e8eef5,#edf2f7);min-height:100vh}.gr-header{align-items:center;background:linear-gradient(135deg,#01579b,#0288d1 60%,#4fc3f7);box-shadow:0 8px 24px #01579b40;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2.5rem 2rem}.gr-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem}.gr-header p{font-size:.95rem;margin:0;opacity:.9}.gr-header-info{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.3rem}.gr-header-info span:first-child{font-size:1.1rem;font-weight:800}.gr-header-source{font-size:.75rem;opacity:.75}.gr-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:340px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.gr-sidebar{display:flex;flex-direction:column;gap:1rem}.gr-panel{background:#fff;border-radius:14px;box-shadow:0 6px 20px #01579b12;padding:1.2rem}.gr-panel-title{border-bottom:2px solid #b3e5fc;color:#0288d1;font-size:.72rem;font-weight:800;letter-spacing:.07em;margin-bottom:.85rem;padding-bottom:.35rem;text-transform:uppercase}.gr-drop{background:#f0f6fb;border:2px dashed #b3cfe0;border-radius:10px;cursor:pointer;padding:1.25rem;text-align:center;transition:background .2s,border-color .2s}.gr-drop--active,.gr-drop:hover{background:#e0f0fb;border-color:#0288d1}.gr-drop-text{color:#496273;font-size:.85rem;line-height:1.5;margin:0 0 .3rem}.gr-drop-cols{color:#7b909e;font-family:monospace;font-size:.73rem;margin:0}.gr-upload-actions{display:flex;gap:.5rem;margin-top:.75rem}.gr-btn-demo{background:#0288d1;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.82rem;font-weight:700;padding:.65rem}.gr-btn-demo:hover:not(:disabled){background:#01579b}.gr-btn-demo:disabled{cursor:not-allowed;opacity:.55}.gr-btn-template{background:#e8f4fb;border:1.5px solid #b3cfe0;border-radius:8px;color:#0288d1;display:block;flex:1 1;font-size:.82rem;font-weight:700;padding:.65rem;text-align:center;text-decoration:none}.gr-btn-template:hover{background:#d0eaf8}.gr-error{background:#fff3f0;border:1px solid #ffd0c0;border-radius:8px;color:#b71c1c;font-size:.85rem;margin-top:.5rem;padding:.7rem}.gr-file-info{background:#e8f4fb;border-radius:6px;color:#0288d1;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;margin-top:.6rem;padding:.4rem .6rem}.gr-address-row{display:flex;gap:.5rem}.gr-address-input{background:#f0f6fb;border:1px solid #b3cfe0;border-radius:8px;color:#12344d;flex:1 1;font-size:.85rem;outline:none;padding:.5rem .7rem}.gr-address-input:focus{background:#fff;border-color:#0288d1}.gr-btn-locate{background:#0288d1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:700;padding:.5rem .85rem;transition:background .2s;white-space:nowrap}.gr-btn-locate:hover:not(:disabled){background:#01579b}.gr-btn-locate:disabled{cursor:not-allowed;opacity:.55}.gr-address-err{color:#b71c1c}.gr-address-err,.gr-address-ok{font-size:.8rem;margin-top:.4rem}.gr-address-ok{color:#2e7d32;font-weight:600}.gr-stats{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}.gr-badge{background:#fff;border:2px solid;border-radius:10px;padding:.7rem;text-align:center}.gr-badge-count{font-size:1.8rem;font-weight:900;line-height:1}.gr-badge-label{color:#7b909e;font-size:.72rem;margin-top:.2rem}.gr-categories{display:flex;flex-direction:column;gap:.45rem}.gr-cat-row{display:flex;font-size:.83rem;justify-content:space-between}.gr-cat-label{color:#2c4a5a;font-weight:600}.gr-cat-src{color:#0288d1;font-size:.73rem}.gr-api-note{color:#7b909e;font-size:.73rem;font-style:italic;line-height:1.5;margin-top:.75rem}.gr-map-area{align-items:stretch;align-self:start;height:calc(100vh - 160px);position:-webkit-sticky;position:sticky;top:1.5rem}.gr-empty,.gr-loading,.gr-map-area{border-radius:16px;display:flex;min-height:calc(100vh - 160px)}.gr-empty,.gr-loading{align-items:center;background:#fff;box-shadow:0 6px 20px #01579b12;color:#7b909e;flex:1 1;flex-direction:column;justify-content:center}.gr-spinner{animation:gr-spin 1s linear infinite;border:4px solid #b3cfe0;border-radius:50%;border-top-color:#0288d1;height:44px;margin-bottom:1rem;width:44px}@keyframes gr-spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.gr-layout{grid-template-columns:1fr}.gr-map-area{height:460px;min-height:460px;position:static}}@media (max-width:600px){.gr-header{flex-direction:column;padding:1.5rem 1rem}.gr-layout{padding:1rem}}@media (max-width:480px){.gr-header{padding:1.25rem .75rem}.gr-layout{gap:.75rem;padding:.75rem}.gr-panel{padding:1rem}.gr-stats{grid-template-columns:1fr 1fr}.gr-map-area{height:320px;min-height:320px}}.agent-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-top:1.5rem;padding:1.25rem 1.5rem}.agent-header{margin-bottom:.9rem}.agent-title{color:#12344d;font-size:.95rem;font-weight:700;margin:0 0 .2rem}.agent-subtitle{color:#6b7280;font-size:.8rem;margin:0}.agent-controls{display:flex;flex-direction:column;gap:.6rem}.agent-prompt{border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.85rem;padding:.6rem .75rem;resize:vertical;width:100%}.agent-prompt:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f120;outline:none}.agent-controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.agent-n-label{align-items:center;color:#475569;display:flex;font-size:.8rem;gap:.4rem}.agent-n-label select{border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem;padding:.25rem .4rem}.agent-generate-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;transition:background .15s}.agent-generate-btn:hover:not(:disabled){background:#4f46e5}.agent-generate-btn:disabled{cursor:not-allowed;opacity:.6}.agent-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.82rem;margin-top:.75rem;padding:.6rem .85rem}.agent-results{margin-top:1rem}.agent-summary{color:#374151;font-size:.85rem;font-style:italic;margin:0 0 .75rem}.agent-baseline{color:#6b7280;font-size:.85rem;margin-bottom:.85rem}.agent-baseline strong{color:#12344d}.agent-scenario-list{display:flex;flex-direction:column;gap:.6rem}.agent-scenario-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.7rem .9rem}.agent-scenario-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.agent-scenario-name{color:#12344d;font-size:.88rem;font-weight:700}.agent-scenario-delta{font-size:.85rem;font-weight:700;white-space:nowrap}.agent-scenario-delta--down{color:#2e7d32}.agent-scenario-delta--up{color:#c62828}.agent-scenario-rationale{color:#6b7280;font-size:.78rem;margin:.3rem 0 .5rem}.agent-scenario-changes{display:flex;flex-wrap:wrap;gap:.4rem}.agent-chip{background:#e0e7ff;border-radius:999px;color:#3730a3;font-size:.72rem;padding:.2rem .6rem;text-transform:capitalize}.agent-report-btn{background:#12344d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:1rem;padding:.6rem 1.2rem;transition:background .15s}.agent-report-btn:hover:not(:disabled){background:#0d2538}.agent-report-btn:disabled{cursor:not-allowed;opacity:.6}body.dark-theme .agent-panel{background:var(--bg-card);border-color:var(--border)}body.dark-theme .agent-title{color:var(--text-primary)}body.dark-theme .agent-baseline,body.dark-theme .agent-n-label,body.dark-theme .agent-subtitle{color:var(--text-muted)}body.dark-theme .agent-baseline strong,body.dark-theme .agent-scenario-name{color:var(--text-primary)}body.dark-theme .agent-n-label select,body.dark-theme .agent-prompt{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}body.dark-theme .agent-scenario-card{background:#ffffff08;border-color:var(--border)}body.dark-theme .agent-scenario-rationale,body.dark-theme .agent-summary{color:var(--text-muted)}@media (max-width:480px){.agent-panel{padding:1rem}.agent-controls-row{align-items:stretch;flex-direction:column}.agent-generate-btn{width:100%}}.dp-page{margin:0 auto;max-width:1100px;padding:2rem 1.5rem 4rem}.dp-header{margin-bottom:2rem}.dp-header h1{color:#0f172a;font-size:1.75rem;font-weight:700;margin:0 0 .4rem}.dp-subtitle{color:#64748b;font-size:.95rem;margin:0}.dp-modules{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.dp-module-btn{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;text-align:left;transition:border-color .15s,box-shadow .15s}.dp-module-btn--active,.dp-module-btn:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f120}.dp-module-btn--active{background:#f5f3ff}.dp-module-icon{font-size:1.3rem}.dp-module-label{color:#0f172a;font-size:.9rem;font-weight:600}.dp-module-desc{color:#64748b;font-size:.75rem}.dp-dropzone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;margin-bottom:1.25rem;padding:2.5rem;text-align:center;transition:border-color .15s,background .15s}.dp-dropzone--over,.dp-dropzone:hover{background:#f5f3ff;border-color:#6366f1}.dp-dropzone-inner{align-items:center;display:flex;flex-direction:column;gap:.4rem}.dp-dropzone-icon{font-size:2.2rem}.dp-dropzone p{color:#475569;font-size:.95rem;margin:0}.dp-dropzone-hint{color:#94a3b8!important;font-size:.8rem!important}.dp-dropzone-file{color:#6366f1!important;font-size:.8rem!important}.dp-spinner{animation:dp-spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:28px;width:28px}@keyframes dp-spin{to{transform:rotate(1turn)}}.dp-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.9rem;margin-bottom:1rem;padding:.9rem 1.1rem}.dp-validation{border:1px solid;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.2rem}.dp-validation--ok{background:#f0fdf4;border-color:#86efac}.dp-validation--fail{background:#fef2f2;border-color:#fca5a5}.dp-validation-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.dp-validation-badge{font-size:.9rem;font-weight:700}.dp-validation--ok .dp-validation-badge{color:#15803d}.dp-validation--fail .dp-validation-badge{color:#b91c1c}.dp-validation-warn{background:#fff7ed;border:1px solid #fdba74;border-radius:999px;color:#c2410c;font-size:.78rem;font-weight:600;padding:.1rem .7rem}.dp-issue-list{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem;margin:.4rem 0 0;padding-left:1.2rem}.dp-issue-list--error li{color:#b91c1c}.dp-issue-list--warn li{color:#c2410c}.dp-sections{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.dp-section-tab{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#475569;cursor:pointer;font-size:.82rem;padding:.45rem 1rem;transition:background .12s,border-color .12s}.dp-section-tab:hover{background:#f1f5f9}.dp-section-tab--active{background:#6366f1;border-color:#6366f1;color:#fff;font-weight:600}.dp-summary-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:1.25rem}.dp-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.9rem 1rem;text-align:center}.dp-summary-card--accent{background:#fff7ed;border-color:#fdba74}.dp-summary-value{color:#0f172a;font-size:1.5rem;font-weight:700}.dp-summary-label{color:#64748b;font-size:.75rem;margin-top:.15rem}.dp-col-list{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.35rem}.dp-col-chip{background:#e0e7ff;border-radius:4px;color:#4338ca;font-family:monospace;font-size:.78rem;padding:.1rem .45rem}.dp-col-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dp-col-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem}.dp-col-header{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.dp-col-name{color:#1e293b;font-family:monospace;font-size:.9rem;font-weight:600}.dp-col-badge{border-radius:999px;font-size:.7rem;font-weight:600;padding:.1rem .55rem}.dp-col-badge--num{background:#dbeafe;color:#1d4ed8}.dp-col-badge--cat{background:#f3e8ff;color:#7e22ce}.dp-col-badge--miss{background:#fef9c3;color:#854d0e}.dp-col-badge--warn{background:#fff7ed;color:#c2410c}.dp-col-badge--err{background:#fee2e2;color:#b91c1c}.dp-col-stats{color:#64748b;display:flex;flex-wrap:wrap;font-size:.78rem;gap:.5rem}.dp-col-stats strong{color:#0f172a}.dp-col-range{color:#94a3b8;font-size:.75rem}.dp-col-invalid{background:#fef2f2;border-radius:4px;color:#b91c1c;font-size:.75rem;padding:.2rem .45rem}.dp-col-allowed{color:#64748b;font-size:.72rem;font-style:italic}.dp-section-title{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 .75rem}.dp-chart-empty{color:#94a3b8;font-size:.9rem;padding:1rem 0}.dp-heatmap{overflow-x:auto}.dp-heatmap-grid{grid-gap:2px;display:grid;font-size:.72rem;gap:2px;min-width:100%;width:-webkit-fit-content;width:fit-content}.dp-heatmap-label{color:#475569;font-weight:600;max-width:100px;overflow:hidden;padding:.3rem .4rem;text-overflow:ellipsis;white-space:nowrap}.dp-heatmap-label--row{font-family:monospace;font-size:.7rem;text-align:right}.dp-heatmap-cell{align-items:center;border-radius:4px;color:#1e293b;cursor:default;display:flex;font-size:.7rem;font-weight:500;height:36px;justify-content:center;min-width:52px;width:100%}.dp-heatmap-legend{color:#64748b;font-size:.75rem;margin-top:.75rem}.dp-sample-wrap{overflow-x:auto}.dp-sample-table{border-collapse:collapse;font-size:.8rem;width:100%}.dp-sample-table th{background:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#475569;font-family:monospace;font-weight:600;padding:.5rem .75rem;text-align:left;white-space:nowrap}.dp-sample-table td{border-bottom:1px solid #f1f5f9;color:#374151;padding:.45rem .75rem}.dp-sample-table td em{color:#94a3b8;font-style:normal}.dp-sample-table tr:last-child td{border-bottom:none}.dp-proceed{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:2rem;padding:1.25rem 1.5rem}.dp-proceed-status{color:#475569;flex:1 1;font-size:.9rem;min-width:200px}.dp-proceed-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.7rem 1.75rem;transition:opacity .15s,background .15s}.dp-proceed-btn--ready{background:#6366f1;color:#fff}.dp-proceed-btn--ready:hover{background:#4f46e5}.dp-proceed-btn--disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.dp-section{animation:dp-fade .15s ease}@keyframes dp-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:640px){.dp-modules{grid-template-columns:1fr 1fr}.dp-col-grid{grid-template-columns:1fr}.dp-proceed{align-items:stretch;flex-direction:column}}.dp-anomaly{display:flex;flex-direction:column;gap:1rem}.dp-anomaly-summary{align-items:center;background:#fefce8;border:1px solid #fbbf24;border-radius:8px;display:flex;flex-wrap:wrap;gap:.6rem;padding:.75rem 1rem}.dp-anomaly-summary--none{background:#f0fdf4;border-color:#86efac}.dp-anomaly-badge{align-items:center;background:#fbbf24;border-radius:999px;color:#78350f;display:inline-flex;font-size:.78rem;font-weight:600;gap:.3rem;padding:.2rem .65rem}.dp-anomaly-badge--warn{background:#f97316;color:#fff}.dp-anomaly-badge--ok{background:#86efac;color:#166534}.dp-anomaly-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem}.dp-anomaly-meta span{color:#374151;font-weight:500}.dp-anomaly-table-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.dp-anomaly-table{border-collapse:collapse;font-size:.82rem;width:100%}.dp-anomaly-table thead th{background:#374151;color:#f9fafb;font-size:.78rem;font-weight:600;padding:.5rem .75rem;text-align:left;white-space:nowrap}.dp-anomaly-table tbody tr{border-bottom:1px solid #f3f4f6}.dp-anomaly-table tbody tr:last-child{border-bottom:none}.dp-anomaly-row--high{background:#fff1f2}.dp-anomaly-row--med{background:#fff7ed}.dp-anomaly-rownum{color:#6b7280;font-weight:600;padding:.45rem .75rem;white-space:nowrap}.dp-anomaly-bar{align-items:center;display:flex;gap:.5rem;padding:.45rem .75rem}.dp-anomaly-bar-fill{background:#ef4444;border-radius:4px;height:8px;min-width:4px;transition:width .2s}.dp-anomaly-row--med .dp-anomaly-bar-fill{background:#f97316}.dp-anomaly-bar-label{color:#374151;font-size:.78rem;font-weight:600;white-space:nowrap}.dp-anomaly-table td:last-child{padding:.4rem .75rem}.dp-anomaly-col-tag{align-items:center;background:#ede9fe;border-radius:4px;color:#5b21b6;display:inline-flex;font-size:.72rem;font-weight:500;gap:.2rem;margin:.1rem .15rem .1rem 0;padding:.15rem .45rem}.dp-anomaly-col-tag .dp-anomaly-iqr{color:#7c3aed;font-size:.68rem}.ag-page{background:linear-gradient(180deg,#f5f7f0,#eef3e6);min-height:100vh}.ag-header{background:linear-gradient(135deg,#2d4a1f,#5a7d2e 55%,#d9a23f);box-shadow:0 12px 30px #2d4a1f33;color:#fff;padding:2.5rem 2rem;text-align:center}.ag-header h1{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;margin:0}.ag-subtitle{font-size:1rem;margin-top:.5rem;opacity:.9}.ag-disclaimer{font-size:.82rem;font-style:italic;opacity:.7}.ag-content{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:240px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem}.ag-content--empty{grid-template-columns:1fr;max-width:280px}.ag-left{position:-webkit-sticky;position:sticky;top:1.5rem}.ag-panel,.panel{background:#fff;border-radius:16px;box-shadow:0 10px 28px #2d4a1f14;padding:1.25rem}.ag-input-panel h2{color:#2d4a1f;margin:0 0 1.25rem}.results-panel{display:flex;flex-direction:column;gap:1.5rem}.ag-form-grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:1fr}.ag-field{color:#3a4a2f;display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:.4rem}.ag-field input[type=number],.ag-field select{background:#fbfdf8;border:1px solid #d4ddc6;border-radius:8px;color:#2d3a24;font-size:.92rem;padding:.6rem .7rem}.ag-field--checkbox{align-items:center;flex-direction:row;gap:.6rem}.ag-analyze-btn{background:#5a7d2e;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1.5rem;padding:.9rem 1rem;transition:background .2s ease;width:100%}.ag-analyze-btn:hover:not(:disabled){background:#2d4a1f}.ag-analyze-btn:disabled{cursor:not-allowed;opacity:.6}.demo-button{background:#f5f7f0;border:2px solid #d4ddc6;border-radius:10px;color:#2d4a1f;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.75rem;padding:.85rem 1rem;transition:all .25s ease;width:100%}.demo-button:hover:not(:disabled){background:#5a7d2e;border-color:#5a7d2e;color:#fff}.demo-button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:linear-gradient(180deg,#fff6f1,#fff2ef);border:1px solid #efc3b3;border-radius:14px;color:#9c3e1d;padding:1.15rem 1.2rem}.error-title{font-weight:800;margin-bottom:.4rem}.error-message p{line-height:1.6;margin:.4rem 0 0}.error-actions{display:flex;gap:.8rem;margin-top:1rem}.error-action-primary,.error-action-secondary{border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 1rem;transition:all .2s ease}.error-action-primary{background:#5a7d2e;border:1px solid #5a7d2e;color:#fff}.error-action-primary:hover:not(:disabled){background:#2d4a1f}.error-action-secondary{background:#fff;border:1px solid #e3b3a2;color:#7b4c3e}.error-action-secondary:hover:not(:disabled){background:#fff7f4}.error-action-primary:disabled,.error-action-secondary:disabled{cursor:not-allowed;opacity:.5}@keyframes ag-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.results-skeleton{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.skeleton-block{animation:ag-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#e8edf1 25%,#d4dde4 50%,#e8edf1 75%);background-size:600px 100%;border-radius:14px}.skeleton-block--tall{height:220px}.skeleton-block--medium{height:140px}.skeleton-block--short{height:90px}.empty-state{color:#5c7180;padding:4rem 2rem;text-align:center}.empty-state h3{color:#2d4a1f;margin-bottom:1rem}.ag-card{background:#fff;border-radius:16px;box-shadow:0 10px 28px #2d4a1f14;padding:1.5rem 1.75rem}.ag-card h3{color:#2d4a1f;margin:0 0 1rem}.ag-card h4{color:#2d4a1f;font-size:.95rem;margin:1rem 0 .5rem}.ag-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.ag-card-header h3{margin:0}.ag-card-hint{color:#5c7180;font-size:.88rem;line-height:1.5;margin:0 0 1rem}.ag-metric-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ag-metric{background:#f5f7f0;border-radius:12px;display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem}.ag-metric--hero{grid-column:span 2}.ag-metric-label{color:#6f7d5e;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ag-metric-value{color:#2d4a1f;font-size:1.4rem;font-weight:800}.ag-metric--hero .ag-metric-value{font-size:2rem}.ag-metric-value--negative{color:#c0392b}.ag-metric-sub{color:#5c7180;font-size:.82rem}.ag-gauge-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ag-gauge-header{align-items:baseline;color:#3a4a2f;display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;margin-bottom:.4rem}.ag-gauge-value{font-size:1.1rem;font-weight:800}.ag-gauge-value--low{color:#2e7d32}.ag-gauge-value--medium{color:#d9a23f}.ag-gauge-value--high{color:#c0392b}.ag-gauge-track{background:#e6ebdc;border-radius:6px;height:10px;overflow:hidden}.ag-gauge-fill{border-radius:6px;height:100%;transition:width .3s ease}.ag-gauge-fill--low{background:#2e7d32}.ag-gauge-fill--medium{background:#d9a23f}.ag-gauge-fill--high{background:#c0392b}.ag-unit-toggle{display:flex;gap:.4rem}.ag-toggle-btn{background:#fff;border:1px solid #d4ddc6;border-radius:8px;color:#5a7d2e;cursor:pointer;font-size:.82rem;font-weight:700;padding:.4rem .85rem;transition:all .2s ease}.ag-toggle-btn--active{background:#5a7d2e;border-color:#5a7d2e;color:#fff}.ag-factor-list{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}.ag-factor-list li{align-items:center;background:#f5f7f0;border-radius:10px;display:flex;gap:1rem;justify-content:space-between;padding:.7rem 1rem}.ag-factor-name{color:#2d4a1f;font-weight:600}.ag-factor-gain{color:#5a7d2e;font-size:.85rem;font-weight:700;white-space:nowrap}.ag-risk-list{display:flex;flex-direction:column;gap:.9rem}.ag-risk-item{background:#f5f7f0;border-left:4px solid #d4ddc6;border-radius:10px;padding:.9rem 1rem}.ag-risk-item--high{background:#fdf1ef;border-left-color:#c0392b}.ag-risk-item--medium{background:#fdf8ec;border-left-color:#d9a23f}.ag-risk-item-header{align-items:center;display:flex;gap:.6rem;margin-bottom:.4rem}.ag-severity-badge{border-radius:6px;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:.2rem .55rem;text-transform:uppercase}.ag-severity-badge--high{background:#c0392b}.ag-severity-badge--medium{background:#d9a23f}.ag-risk-factor-name{color:#2d4a1f;font-weight:700}.ag-risk-desc{color:#3a4a2f;font-size:.9rem;line-height:1.5;margin:0 0 .3rem}.ag-risk-rec{color:#5c7180;font-size:.85rem;line-height:1.5;margin:0}.ag-explanation-text{color:#3a4a2f;line-height:1.7;white-space:pre-line}.ag-recommendation-list{color:#3a4a2f;line-height:1.7;margin:.5rem 0 0;padding-left:1.2rem}.ag-twin-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ag-twin-group h4{margin:0 0 .6rem}.ag-twin-row{border-bottom:1px solid #eef1e6;color:#3a4a2f;display:flex;font-size:.88rem;justify-content:space-between;padding:.4rem 0}.ag-twin-row:last-child{border-bottom:none}.ag-whatif-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.ag-whatif-controls .ag-field{min-width:180px}.ag-whatif-result{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.ag-error-text{color:#c0392b;font-size:.88rem}.ag-run-btn{background:#5a7d2e;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:700;padding:.7rem 1.3rem;transition:background .2s ease;white-space:nowrap}.ag-run-btn:hover:not(:disabled){background:#2d4a1f}.ag-run-btn:disabled{cursor:not-allowed;opacity:.6}.ag-apply-btn,.ag-table{margin-top:1rem}.ag-table{border-collapse:collapse;font-size:.88rem;width:100%}.ag-table td,.ag-table th{border-bottom:1px solid #eef1e6;padding:.6rem .7rem;text-align:left}.ag-table th{background:#f5f7f0;color:#2d4a1f;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ag-table-row--current{background:#f0f7e6;font-weight:700}@media (max-width:1200px){.ag-content{grid-template-columns:1fr}.ag-left{position:static}}@media (max-width:720px){.ag-header{padding:2rem 1.25rem}.ag-header h1{font-size:1.9rem}.ag-content{gap:1rem;padding:1rem}.ag-card,.ag-panel,.panel{padding:1.1rem}.ag-form-grid{grid-template-columns:1fr}.ag-metric--hero{grid-column:span 1}.error-actions{flex-direction:column}}.og-page{background:linear-gradient(180deg,#f4f1ea,#f8f6f1);min-height:100vh}.og-header{align-items:center;background:linear-gradient(135deg,#0d1b2a,#1b3a4b 55%,#e09f3e);box-shadow:0 8px 24px #0d1b2a4d;color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2.5rem 2rem}.og-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem}.og-header p{font-size:.95rem;margin:0;opacity:.9}.og-grade-badge{align-items:center;border-radius:14px;box-shadow:0 4px 14px #00000040;display:flex;flex-direction:column;flex-shrink:0;height:74px;justify-content:center;width:74px}.og-grade-letter{color:#0d1b2a;font-size:1.8rem;font-weight:900;line-height:1}.og-grade-score{color:#0d1b2a;font-size:.68rem;font-weight:700}.og-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:340px 1fr;margin:0 auto;max-width:1800px;padding:1.5rem 2rem 2rem}.og-sidebar{align-self:start;position:-webkit-sticky;position:sticky;top:64px}.og-form{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0d1b2a14;display:flex;flex-direction:column;gap:.65rem;padding:1.25rem}.og-section-title{border-bottom:2px solid #e8ddc8;color:#1b3a4b;font-size:.72rem;font-weight:800;letter-spacing:.07em;margin-bottom:.25rem;padding-bottom:.3rem;text-transform:uppercase}.og-field{display:flex;flex-direction:column;gap:.25rem}.og-field label{color:#2c3e50;font-size:.8rem;font-weight:600}.og-field input,.og-field select{background:#fff;border:1.5px solid #e8ddc8;border-radius:8px;color:#1b2a3a;font-size:.9rem;padding:.55rem .75rem;transition:border-color .2s}.og-field input:focus,.og-field select:focus{border-color:#e09f3e;outline:none}.og-field-row{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.og-checkbox{align-items:center;color:#2c3e50;display:flex;font-size:.85rem;gap:.5rem}.og-actions{display:flex;gap:.6rem;margin-top:.25rem}.og-btn-calc{background:linear-gradient(135deg,#1b3a4b,#e09f3e);border:none;border-radius:10px;box-shadow:0 4px 14px #1b3a4b4d;color:#fff;cursor:pointer;flex:1 1;font-size:.92rem;font-weight:700;padding:.85rem}.og-btn-calc:hover:not(:disabled){opacity:.9}.og-btn-calc:disabled{cursor:not-allowed;opacity:.6}.og-btn-demo{background:#f8f4ea;border:1.5px solid #e8ddc8;border-radius:10px;color:#1b3a4b;cursor:pointer;font-size:.85rem;font-weight:600;padding:.85rem 1rem}.og-btn-demo:hover:not(:disabled){background:#f0ead9}.og-btn-demo:disabled{cursor:not-allowed;opacity:.5}.og-hint{color:#6b7a89;font-size:.8rem;line-height:1.4;margin:0 0 .4rem}.og-file-input{font-size:.82rem}.og-template-link{color:#1b3a4b;display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:underline}.og-results{gap:1.5rem}.og-loading,.og-results{display:flex;flex-direction:column}.og-loading{align-items:center;color:#6b7a89;padding:4rem}.og-spinner{animation:og-spin .9s linear infinite;border:3px solid #e8ddc8;border-radius:50%;border-top-color:#e09f3e;height:36px;margin-bottom:.75rem;width:36px}@keyframes og-spin{to{transform:rotate(1turn)}}.og-error{background:#fff3f3;border:1px solid #ffcdd2;border-radius:10px;color:#b71c1c;padding:1rem}.og-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0d1b2a14;padding:1.75rem}.og-card h2{color:#0d1b2a;font-size:1.05rem;margin:0 0 1rem}.og-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.og-card-header h2{margin:0}.og-breakdown-row{border-bottom:1px solid #f0ead9;color:#3a4a5a;display:flex;font-size:.88rem;justify-content:space-between;padding:.55rem 0}.og-breakdown-row:last-of-type{border-bottom:none}.og-breakdown-row--strong{color:#0d1b2a;font-size:1rem;font-weight:800;padding-top:.8rem}.og-baisa{color:#e09f3e;font-size:.85rem;font-weight:700;margin-top:.25rem;text-align:right}.og-btn-report{background:#f8f4ea;border:1.5px solid #e8ddc8;border-radius:8px;color:#1b3a4b;cursor:pointer;font-size:.8rem;font-weight:700;padding:.55rem 1rem;white-space:nowrap}.og-btn-report:hover:not(:disabled){background:#f0ead9}.og-btn-report:disabled{cursor:not-allowed;opacity:.6}.og-stats-row{display:flex;gap:.75rem;margin-bottom:1.25rem}.og-stat{align-items:center;background:#f8f4ea;border-radius:10px;color:#4a5a6a;display:flex;flex:1 1;flex-direction:column;font-size:.75rem;gap:.15rem;padding:.75rem}.og-stat-num{font-size:1.4rem;font-weight:900}.og-chip{border-radius:6px;color:#fff;display:inline-block;font-size:.72rem;font-weight:700;padding:.2rem .6rem;text-transform:capitalize}.og-table-wrap{overflow-x:auto}.og-table{border-collapse:collapse;font-size:.82rem;width:100%}.og-table th{background:#0d1b2a;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.5rem .6rem;text-align:left;text-transform:uppercase}.og-table td{border-bottom:1px solid #f0ead9;color:#2c3e50;padding:.5rem .6rem}.og-table tr:nth-child(2n) td{background:#faf8f2}.og-whatif-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.og-whatif-result{border-top:1px solid #f0ead9;margin-top:1rem;padding-top:1rem}.og-delta{font-size:1.3rem;font-weight:900;margin-bottom:1rem;text-align:center}.og-sensitivity{display:flex;flex-direction:column;gap:.5rem}.og-sens-row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:150px 1fr 70px}.og-sens-label{color:#3a4a5a;font-size:.78rem}.og-sens-bar-track{background:#f0ead9;border-radius:6px;height:10px;overflow:hidden}.og-sens-bar{background:linear-gradient(90deg,#1b3a4b,#e09f3e);border-radius:6px;height:100%}.og-sens-value{color:#4a5a6a;font-size:.76rem;text-align:right}.og-disclaimer{color:#8a95a0;font-size:.74rem;font-style:italic;line-height:1.5}@media (max-width:1100px){.og-layout{grid-template-columns:1fr}.og-sidebar{position:static}}@media (max-width:700px){.og-header{align-items:flex-start;flex-direction:column}}@media (max-width:600px){.og-field-row{grid-template-columns:1fr}.og-sens-row{grid-template-columns:100px 1fr 60px}}@media (max-width:480px){.og-layout{gap:.75rem;padding:.75rem}.og-header{padding:1.25rem .75rem}}@media (prefers-color-scheme:dark){body.dark-theme .og-page{background:linear-gradient(180deg,#141b22,#1a222b)}body.dark-theme .og-card,body.dark-theme .og-form{background:#1e2830;box-shadow:0 8px 24px #0006}body.dark-theme .og-breakdown-row--strong,body.dark-theme .og-card h2{color:#f0ead9}body.dark-theme .og-breakdown-row,body.dark-theme .og-checkbox,body.dark-theme .og-field label{color:#c8d0d8}body.dark-theme .og-field input,body.dark-theme .og-field select{background:#141b22;border-color:#2c3a48;color:#f0ead9}body.dark-theme .og-btn-demo,body.dark-theme .og-btn-report{background:#141b22;border-color:#2c3a48;color:#e09f3e}body.dark-theme .og-stat{background:#141b22;color:#c8d0d8}body.dark-theme .og-table td{border-color:#2c3a48;color:#c8d0d8}body.dark-theme .og-table tr:nth-child(2n) td{background:#182028}body.dark-theme .og-sens-bar-track{background:#2c3a48}body.dark-theme .og-breakdown-row,body.dark-theme .og-whatif-result{border-color:#2c3a48}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f5f7fa;--bg-card:#fff;--bg-card-alt:#f0f4f8;--bg-input:#fff;--bg-input-alt:#f4f8fb;--text-primary:#12344d;--text-body:#374151;--text-muted:#6b7280;--border:#e2e8f0;--border-input:#d1d5db;--shadow-card:0 2px 12px #0000000f;--shadow-panel:0 18px 45px #12344d14}body.dark-theme{--bg-page:#0f172a;--bg-card:#1e293b;--bg-card-alt:#162032;--bg-input:#1e293b;--bg-input-alt:#172131;--text-primary:#e2e8f0;--text-body:#cbd5e1;--text-muted:#94a3b8;--border:#334155;--border-input:#475569;--shadow-card:0 2px 12px #00000059;--shadow-panel:0 18px 45px #0006}body{-webkit-font-smoothing:antialiased;background:#f5f7fa;background:var(--bg-page);color:#374151;color:var(--text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background .25s,color .25s}.App{min-height:100vh}.app-nav{background:#0d2137;box-shadow:0 2px 12px #00000047;position:-webkit-sticky;position:sticky;top:0;z-index:2000}.app-nav-inner{align-items:center;display:flex;height:52px;margin:0 auto;max-width:1800px;padding:0 1.5rem}.app-brand{align-items:baseline;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;font-size:1.15rem;font-weight:900;gap:0;letter-spacing:-.02em;margin-right:.5rem;padding:0}.app-brand-terra{color:#fff}.app-brand-dot{color:#52b788;font-size:1.3rem;line-height:1}.app-brand-ai{color:#52b788}.app-tabs{display:flex;flex:1 1;gap:0;height:52px;min-width:0;overflow-x:auto;scrollbar-width:none}.app-tabs::-webkit-scrollbar{display:none}.app-tab{background:none;border:none;border-bottom:3px solid #0000;color:#ffffff8c;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:600;height:100%;padding:0 .9rem;transition:color .2s,border-color .2s;white-space:nowrap}.app-tab:hover{color:#ffffffe0}.app-tab--active{border-bottom-color:#52b788;color:#fff}.app-report-btn{background:#52b788;border:none;border-radius:6px;box-shadow:0 1px 4px #52b78859;color:#fff;cursor:pointer;flex-shrink:0;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.35rem .85rem;transition:background .15s,box-shadow .15s;white-space:nowrap}.app-report-btn:hover:not(:disabled){background:#40916c;box-shadow:0 2px 8px #52b78873}.app-report-btn--loading{cursor:not-allowed;opacity:.65}.app-theme-btn{background:none;border:1px solid #ffffff2e;border-radius:4px;color:#ffffffa6;cursor:pointer;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-left:.5rem;padding:.22rem .55rem;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.app-theme-btn:hover{background:#ffffff12;border-color:#fff6;color:#fff}.app-lang-toggle{align-items:center;border-left:1px solid #ffffff1f;display:flex;flex-shrink:0;gap:.15rem;margin-left:.75rem;padding-left:.75rem}.lang-btn{background:none;border:none;border-radius:4px;color:#ffffff73;cursor:pointer;font-size:.75rem;font-weight:800;letter-spacing:.06em;line-height:1;padding:.22rem .38rem;transition:color .15s,background .15s}.lang-btn:hover{color:#ffffffd9}.lang-btn--active{background:#52b78824;color:#52b788}.lang-sep{color:#ffffff2e;font-size:.68rem;-webkit-user-select:none;user-select:none}@media (max-width:720px){.app-nav-inner{padding:0 .75rem}.app-brand{font-size:1rem;margin-right:.25rem}.app-tab{font-size:.78rem;padding:0 .6rem}.app-lang-toggle{margin-left:.4rem;padding-left:.4rem}}@media (max-width:480px){.app-brand{display:none}.app-tab{font-size:.73rem;padding:0 .5rem}.app-lang-toggle{border-left:none;margin-left:.25rem;padding-left:.25rem}}body.dark-theme .ag-page,body.dark-theme .dashboard,body.dark-theme .dp-page,body.dark-theme .dpe-page,body.dark-theme .gr-page,body.dark-theme .leaching-page,body.dark-theme .sol-page,body.dark-theme .vv-page{background:#f5f7fa;background:var(--bg-page)}body.dark-theme .ag-card,body.dark-theme .ag-factor-list li,body.dark-theme .ag-gauge-track,body.dark-theme .ag-metric,body.dark-theme .ag-panel,body.dark-theme .ag-results,body.dark-theme .ag-risk-item,body.dark-theme .ag-table th,body.dark-theme .ag-table-row--current,body.dark-theme .ag-toggle-btn,body.dark-theme .dp-anomaly-table-wrap,body.dark-theme .dp-col-card,body.dark-theme .dp-corr-card,body.dark-theme .dp-missing-card,body.dark-theme .dp-section,body.dark-theme .dpe-loading,body.dark-theme .dpe-section,body.dark-theme .dpe-sidebar-panel,body.dark-theme .gr-card,body.dark-theme .gr-risk-grid,body.dark-theme .intro-card,body.dark-theme .leaching-card,body.dark-theme .leaching-results,body.dark-theme .leaching-upload,body.dark-theme .result-card,body.dark-theme .skeleton-block,body.dark-theme .sol-form,body.dark-theme .sol-result-card,body.dark-theme .vv-card,body.dark-theme .vv-roi-card,body.dark-theme .vv-waterfall{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border);color:#374151;color:var(--text-body)}body.dark-theme .ag-toggle-btn--active{background:#5a7d2e;color:#fff}body.dark-theme .ag-risk-item--high{background:#c0392b2e}body.dark-theme .ag-risk-item--medium{background:#d9a23f2e}body.dark-theme .dp-anomaly-summary,body.dark-theme .dpe-demo-banner,body.dark-theme .gr-drop,body.dark-theme .gr-info-row{background:#f0f4f8;background:var(--bg-card-alt);border-color:#e2e8f0;border-color:var(--border)}body.dark-theme input,body.dark-theme select,body.dark-theme textarea{background:#fff!important;background:var(--bg-input)!important;border-color:#d1d5db!important;border-color:var(--border-input)!important;color:#12344d!important;color:var(--text-primary)!important}body.dark-theme input::placeholder,body.dark-theme textarea::placeholder{color:#6b7280;color:var(--text-muted)}body.dark-theme select option{background:#fff;background:var(--bg-card);color:#12344d;color:var(--text-primary)}body.dark-theme input:focus,body.dark-theme select:focus,body.dark-theme textarea:focus{background:#fff!important;background:var(--bg-card)!important}body.dark-theme .ag-card h3,body.dark-theme .ag-card h4,body.dark-theme .ag-input-panel h2,body.dark-theme .dp-col-card h4,body.dark-theme .dpe-section h3,body.dark-theme .gr-card h3,body.dark-theme .intro-card h3,body.dark-theme .intro-card p,body.dark-theme .leaching-card h3,body.dark-theme .result-card h3,body.dark-theme .vv-card h3{color:#12344d;color:var(--text-primary)}body.dark-theme .dash-disclaimer,body.dark-theme .dp-meta,body.dark-theme .gr-address-hint,body.dark-theme .subtitle,body.dark-theme .vv-label{color:#6b7280;color:var(--text-muted)}body.dark-theme table th{background:#1a2d42;color:#12344d;color:var(--text-primary)}body.dark-theme table td{border-color:#e2e8f0;border-color:var(--border);color:#374151;color:var(--text-body)}body.dark-theme .dp-anomaly-table thead th{background:#1a2d42}body.dark-theme .dp-anomaly-table tbody tr{border-color:#e2e8f0;border-color:var(--border)}body.dark-theme .dp-anomaly-row--high{background:#2d1a1e}body.dark-theme .dp-anomaly-row--med{background:#2a1f10}body.dark-theme .dp-section-nav{background:#f0f4f8;background:var(--bg-card-alt);border-color:#e2e8f0;border-color:var(--border)}body.dark-theme .dp-section-tab{color:#6b7280;color:var(--text-muted)}body.dark-theme .dp-section-tab--active{color:#6366f1}body.dark-theme .dp-section-tab--active,body.dark-theme .dp-section-tab:hover:not(.dp-section-tab--active){background:#fff;background:var(--bg-card)}body.dark-theme .dp-module-btn{background:#f0f4f8;background:var(--bg-card-alt);border-color:#e2e8f0;border-color:var(--border);color:#6b7280;color:var(--text-muted)}body.dark-theme .dp-module-btn--active{background:#6366f12e;border-color:#6366f1;color:#818cf8}body.dark-theme .wlc-module-card{background:#ffffff0d;border-color:#ffffff14}body.dark-theme .dp-validation--ok{background:#14532d40;border-color:#16a34a}body.dark-theme .dp-validation--warn{background:#78350f40;border-color:#d97706}body.dark-theme .dp-validation--err{background:#7f1d1d40;border-color:#dc2626}body.dark-theme .gr-address-input{background:#fff!important;background:var(--bg-input)!important;border-color:#d1d5db!important;border-color:var(--border-input)!important;color:#12344d!important;color:var(--text-primary)!important}body.dark-theme .leaching-threshold-card{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}body.dark-theme .leaching-legend{background:#f0f4f8;background:var(--bg-card-alt)}body.dark-theme .sol-result-section{background:#f5f7fa;background:var(--bg-page)}body.dark-theme .sol-kpi-card{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}body.dark-theme .sol-kpi-card span,body.dark-theme .vv-form-field label{color:#6b7280;color:var(--text-muted)}body.dark-theme .vv-rec{background:#14532d40;border-color:#16a34a}body.dark-theme .vv-error{background:#7f1d1d33;border-color:#dc2626;color:#fca5a5}body.dark-theme .dpe-demo-banner{background:#78350f33;border-color:#c87941}body.dark-theme .dpe-demo-tag{background:#78350f59;color:#fbbf24}body.dark-theme ::-webkit-scrollbar{height:6px;width:6px}body.dark-theme ::-webkit-scrollbar-track{background:#f5f7fa;background:var(--bg-page)}body.dark-theme ::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}body.dark-theme ::-webkit-scrollbar-thumb:hover{background:#475569}