.sim{min-height:100vh;display:flex;flex-direction:column;background:var(--slate-50)}.sim-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--white);border-bottom:1px solid var(--slate-200);position:sticky;top:0;z-index:50}.sim-logo{font-weight:800;font-size:1rem;color:var(--navy)}.sim-steps{display:flex;gap:.5rem}.sim-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:var(--slate-100);color:var(--slate-500);transition:all var(--transition)}.sim-step-dot.active{background:var(--green);color:var(--white)}.sim-step-dot.done{background:var(--green-l);color:var(--green)}.sim-layout{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0}.sim-map-panel{position:relative;min-height:400px}.sim-map{position:absolute;top:0;right:0;bottom:0;left:0}.sim-content{padding:2rem;overflow-y:auto;display:flex;flex-direction:column}.sim-panel h2{font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:.5rem}.sim-hint{font-size:.88rem;color:var(--slate-500);margin-bottom:1.5rem}.sim-search-wrap{position:relative;margin-bottom:1rem}.sim-input{width:100%;padding:.85rem 1.25rem;border:2px solid var(--slate-200);border-radius:var(--radius);font-size:.95rem;font-family:var(--font);outline:none;transition:border-color var(--transition)}.sim-input:focus{border-color:var(--green)}.sim-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);margin-top:4px;box-shadow:var(--shadow-lg);z-index:50;max-height:200px;overflow-y:auto}.sim-sug-item{padding:.65rem 1rem;cursor:pointer;font-size:.88rem;border-bottom:1px solid var(--slate-100)}.sim-sug-item:hover{background:var(--green-l)}.sim-selected-addr{padding:.75rem 1rem;background:var(--green-l);border:1px solid var(--green);border-radius:var(--radius-sm);color:var(--green-d);font-weight:600;font-size:.88rem}.sim-dpe-display{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);margin-bottom:1.5rem}.sim-dpe-letter{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.8rem;font-weight:900;flex-shrink:0}.sim-dpe-display strong{font-size:1rem;color:var(--navy)}.sim-dpe-display p{font-size:.85rem;color:var(--slate-500);margin:.15rem 0 0}.sim-dpe-num{font-size:.78rem;color:var(--slate-500);margin-top:1rem}.sim-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.sim-info-grid>div{padding:.75rem;background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-sm)}.sim-info-grid span{display:block;font-size:.75rem;color:var(--slate-500);margin-bottom:.15rem}.sim-info-grid strong{font-size:.9rem;color:var(--navy)}.sim-income-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.sim-income-btn{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--white);border:2px solid var(--slate-200);border-radius:var(--radius);text-align:left;transition:all var(--transition)}.sim-income-btn:hover{border-color:var(--green)}.sim-income-btn.active{border-color:var(--green);background:var(--green-l)}.sim-income-btn strong{font-size:.9rem;color:var(--navy)}.sim-income-btn span{font-size:.78rem;color:var(--slate-500)}.sim-scenarios{display:flex;flex-direction:column;gap:1rem}.sim-sc-card{padding:1.25rem;background:var(--white);border:2px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);position:relative}.sim-sc-card:hover{border-color:var(--green)}.sim-sc-card.selected{border-color:var(--green);background:var(--green-l)}.sim-sc-badge{position:absolute;top:-10px;right:12px;background:var(--green);color:var(--white);padding:.2rem .75rem;border-radius:100px;font-size:.7rem;font-weight:700}.sim-sc-card h3{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}.sim-sc-dpe{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.88rem;font-weight:600}.sim-sc-dpe-letter{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--white);font-weight:900;font-size:.75rem}.sim-sc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.5rem}.sim-sc-metrics span{display:block;font-size:.7rem;color:var(--slate-500)}.sim-sc-metrics strong{font-size:.95rem;color:var(--navy)}.sim-sc-metrics .green{color:var(--green)}.sim-sc-metrics .blue{color:var(--blue)}.sim-sc-works{font-size:.78rem;color:var(--slate-500);margin-top:.5rem}.sim-form{display:flex;flex-direction:column;gap:.75rem}.sim-rgpd{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--slate-500);cursor:pointer}.sim-rgpd input{margin-top:3px}.sim-rgpd a{color:var(--green)}.sim-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:2rem}.sim-nav button:disabled{opacity:.4;cursor:not-allowed}.sim-loader{text-align:center;padding:3rem 0}.spinner{width:36px;height:36px;border:3px solid var(--slate-200);border-top:3px solid var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.sim-loader p{font-size:.88rem;color:var(--slate-500)}.sim-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:#991b1b;font-size:.85rem;margin-bottom:1rem}.sim-disclaimer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--slate-200);font-size:.72rem;color:var(--slate-500);line-height:1.5}@media(max-width:768px){.sim-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sim-map-panel{height:160px;min-height:0}.sim-content{padding:1rem;overflow-y:visible}.sim-sc-metrics{grid-template-columns:repeat(2,1fr)}.sim-info-grid,.sim-income-grid{grid-template-columns:1fr}.sim-steps{display:none}.sim{min-height:100vh;overflow-y:auto}}@media(max-width:480px){.sim-map-panel{height:120px}.sim-content{padding:.75rem}.sim-panel h2{font-size:1.1rem}.sim-sc-metrics{grid-template-columns:1fr 1fr}.btn{padding:.65rem 1rem;font-size:.88rem}}.sim-title{font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:.5rem;line-height:1.3}.sim-title em{font-style:normal;background:linear-gradient(135deg,var(--green),var(--green-d));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sim-step-label{font-size:.78rem;color:var(--slate-500)}.sim-banner{padding:1rem;margin-bottom:1.5rem;font-size:.88rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.sim-banner-success{background:var(--green-l);border-left:3px solid var(--green);color:var(--slate-700)}.sim-banner-warning{background:#fffbeb;border-left:3px solid #F59E0B;color:var(--slate-700)}.step-done{color:var(--green);font-weight:600}.sim-income-controls{margin-bottom:1.5rem}.sim-region-toggle{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--slate-500)}.sim-region-toggle .active{color:var(--navy);font-weight:700}.sim-switch{position:relative;display:inline-block;width:40px;height:22px}.sim-switch input{opacity:0;width:0;height:0}.sim-switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--slate-300);border-radius:22px;transition:.3s}.sim-switch-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.sim-switch input:checked+.sim-switch-slider{background:var(--green)}.sim-switch input:checked+.sim-switch-slider:before{transform:translate(18px)}.sim-income-btn{position:relative;padding-left:2.5rem}.sim-income-dot{position:absolute;left:1rem;top:1rem;width:12px;height:12px;border-radius:50%}.panel-card{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.panel-card h3{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.75rem}.sim-sc-dpe{display:flex;align-items:center;gap:.25rem;margin-bottom:.75rem;font-size:.88rem;font-weight:600}.sim[style*=--green] .btn-primary{background:var(--green)!important}.sim[style*=--green] .sim-step-dot.active,.sim[style*=--green] .sim-step-dot.done{background:var(--green)}.sim[style*=--green] .sim-selected-addr{color:var(--green)}.sim[style*=--green] .sim-dpe-display{border-color:var(--green)}.sim-edit-field{width:100%;padding:.65rem .75rem;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-family:var(--font);font-size:.92rem;color:var(--navy);background:var(--white);transition:border-color .2s}.sim-edit-field:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #0596691f}.sim-header{background:var(--green-dd)!important;box-shadow:0 2px 12px #0000001f;border-bottom:none!important}.sim-logo{color:#fff!important}.sim-step-dot{background:#ffffff26!important;color:#ffffff80!important;border:2px solid transparent}.sim-step-dot.active{background:#fff!important;color:var(--green-dd)!important;transform:scale(1.1)}.sim-step-dot.done{background:#ffffff40!important;color:#fff!important}.sim-step-label{color:#ffffffb3!important}.sim-map-panel{position:sticky;top:56px;height:calc(100vh - 56px)}.sim-map{position:absolute!important;top:0;right:0;bottom:0;left:0}.sim-info-grid>div{transition:border-color .2s,box-shadow .2s}.sim-info-grid>div:hover{border-color:var(--green-dim);box-shadow:0 2px 8px #0596690f}.sim-info-grid span{text-transform:uppercase;letter-spacing:.04em;font-weight:600!important;font-size:.72rem!important}.sim-edit-field{width:100%;padding:.6rem .75rem;border:2px solid var(--slate-200);border-radius:10px;font-family:var(--font);font-size:.88rem;color:var(--navy);background:var(--white);transition:border-color .2s,box-shadow .2s}.sim-edit-field:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #0596691a}.sim-sc-card{transition:all .25s cubic-bezier(.4,0,.2,1)!important}.sim-sc-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0596691a}.sim-sc-card.selected{box-shadow:0 4px 16px #0596691f!important}.animate-in{animation:simFadeUp .4s cubic-bezier(.4,0,.2,1) both}@keyframes simFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #05966940}.sim[style*=--green] .sim-header{background:var(--green)!important}.sim-map-panel,.sim-map{z-index:1}.sim-map *{pointer-events:auto}
