    :root{
      --atlas-orange:#FF5618;--atlas-graphite:#333333;--atlas-white:#FFFFFF;
      --atlas-yellow:#FFC500;--atlas-orange-2:#FF8008;--atlas-orange-3:#FF6B10;
      --paper:#F7F7F5;--surface:#FFFFFF;--line:#E7E5E2;--muted:#7A7773;
      --soft-orange:#FFF3ED;--soft-yellow:#FFF8D6;--shadow:0 18px 50px rgba(51,51,51,.08);
      --radius:20px;
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--atlas-graphite);font-family:"Montserrat",Arial,sans-serif}button,select,input{font:inherit}button{cursor:pointer}a{color:inherit}.shell{min-height:100vh}
    .topbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .topbar-inner{max-width:1600px;margin:auto;padding:13px 24px;display:flex;align-items:center;gap:20px;justify-content:space-between}
    .brand{display:flex;align-items:center;gap:18px;min-width:280px}.brand img{width:128px;height:auto;display:block}.brand-copy{padding-left:16px;border-left:1px solid var(--line)}.brand-copy strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.brand-copy span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
    .top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill,.btn{border:1px solid var(--line);background:#fff;color:var(--atlas-graphite);padding:9px 12px;border-radius:9px;font-size:10px;font-weight:800;letter-spacing:.02em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.pill:hover,.btn:hover{border-color:var(--atlas-orange)}.pill.primary,.btn.primary{background:var(--atlas-orange);border-color:var(--atlas-orange);color:#fff}.pill.dark,.btn.dark{background:var(--atlas-graphite);border-color:var(--atlas-graphite);color:#fff}
    .page{max-width:1600px;margin:auto;padding:24px 24px 48px}
    .hero{display:grid;grid-template-columns:1.55fr .75fr;gap:16px;margin-bottom:16px}.hero-main{position:relative;min-height:285px;background:var(--atlas-graphite);color:#fff;border-radius:24px;padding:36px 40px;overflow:hidden;box-shadow:var(--shadow)}
    .hero-main:before{content:"";position:absolute;inset:0 0 0 auto;width:38%;background:linear-gradient(90deg,transparent,rgba(255,86,24,.06))}.hero-pattern{position:absolute;right:-12px;top:-20px;width:390px;height:330px;opacity:.09;background-image:url('./atlas-symbol-negative.png');background-size:86px auto;background-repeat:repeat;transform:rotate(-7deg);pointer-events:none}.hero-rule{position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--atlas-orange)}
    .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--atlas-yellow);font-weight:800;position:relative;z-index:2}.hero h1{font-size:clamp(34px,4.7vw,68px);line-height:.98;letter-spacing:-.045em;margin:15px 0 15px;max-width:960px;position:relative;z-index:2}.hero-main p{max-width:920px;color:#D9D9D9;line-height:1.65;margin:0;font-size:13px;position:relative;z-index:2}.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:2}.hero-tag{border:1px solid rgba(255,255,255,.18);padding:7px 9px;border-radius:7px;font-size:9px;font-weight:700;color:#F4F4F4}
    .leader{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);position:relative;overflow:hidden}.leader:before{content:"";position:absolute;right:0;top:0;width:9px;height:100%;background:var(--atlas-orange)}.leader .label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}.leader h2{font-size:28px;line-height:1.08;letter-spacing:-.035em;margin:9px 14px 5px 0}.leader .region{font-size:11px;color:var(--muted);line-height:1.5}.score-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:26px}.score-big{font-size:68px;line-height:.8;font-weight:900;letter-spacing:-.065em}.score-big small{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:700}.leader-status{font-size:9px;text-transform:uppercase;font-weight:900;padding:7px 9px;border-radius:7px;background:var(--soft-orange);color:var(--atlas-orange)}
    .brand-strip{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:8px;background:var(--atlas-orange);border-radius:16px;padding:10px;margin-bottom:16px;color:#fff}.brand-strip .intro{padding:10px}.brand-strip .intro strong{font-size:14px;display:block}.brand-strip .intro span{font-size:9px;line-height:1.45;display:block;margin-top:4px;opacity:.86}.strip-kpi{background:rgba(51,51,51,.95);border-radius:10px;padding:12px}.strip-kpi span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#CFCFCF;font-weight:800}.strip-kpi b{display:block;font-size:22px;margin-top:4px;letter-spacing:-.04em}.strip-kpi small{font-size:8px;color:#AFAFAF}
    .filters{display:flex;flex-wrap:wrap;gap:9px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:16px}.control{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.control label{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.control select,.control input{height:40px;border:1px solid var(--line);border-radius:8px;background:#FAFAF9;padding:0 11px;color:var(--atlas-graphite);outline:none;font-size:11px}.control input:focus,.control select:focus{border-color:var(--atlas-orange);box-shadow:0 0 0 3px rgba(255,86,24,.09)}
    .data-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}.data-panel.open{display:block}.data-panel-inner{padding:18px;display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.card-head{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0;font-size:12px;letter-spacing:-.01em}.card-head p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.mode-badge{font-size:8px}.mode-badge i{width:7px;height:7px;border-radius:50%;background:var(--atlas-orange)}
    .data-panel h3{margin:0 0 6px;font-size:15px}.data-panel p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 12px}.drop-zone{position:relative;border:1.5px dashed #D3CFCA;border-radius:12px;padding:20px;text-align:center;background:#FCFCFB;transition:.18s}.drop-zone.drag{border-color:var(--atlas-orange);background:var(--soft-orange)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-zone strong{display:block;font-size:11px}.drop-zone span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.data-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.source-note{font-size:9px;line-height:1.55;color:#625F5B;background:#F7F6F4;border-radius:9px;padding:10px;margin-top:10px}.source-note b{color:var(--atlas-graphite)}.data-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini{background:#F7F6F4;padding:12px;border-radius:10px}.mini span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.mini b{display:block;font-size:20px;margin-top:4px}.progress-wrap{display:none;margin-top:11px}.progress-wrap.show{display:block}.progress-line{height:5px;background:#EEEAE5;border-radius:99px;overflow:hidden}.progress-line i{display:block;height:100%;width:0;background:var(--atlas-orange);transition:.15s}.progress-copy{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:5px}
    .icp-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.tier{border:1px solid var(--line);border-radius:10px;padding:11px}.tier b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.tier span{font-size:8px;color:var(--muted);line-height:1.5;display:block;margin-top:4px}.tier.a{border-top:4px solid var(--atlas-orange)}.tier.b{border-top:4px solid var(--atlas-orange-2)}.tier.c{border-top:4px solid var(--atlas-yellow)}
    .stats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}.stat .k{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800}.stat .v{font-size:27px;font-weight:900;letter-spacing:-.045em;margin-top:6px}.stat .s{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}
    .grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(355px,.78fr);gap:16px;align-items:start}.map-card,.ranking-card,.detail-card,.method-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.legend{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.legend span{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%}#map{height:620px;background:#EFEDE9}.side{display:grid;gap:16px}.ranking{max-height:620px;overflow:auto}.rank-item{display:grid;grid-template-columns:31px 1fr auto;gap:9px;padding:12px 14px;border-bottom:1px solid #F0EEEB;cursor:pointer;transition:.15s;background:#fff}.rank-item:hover{background:#FAF8F6}.rank-item.active{background:var(--soft-orange);border-left:3px solid var(--atlas-orange)}.rank-n{width:26px;height:26px;border-radius:6px;background:#F0EEEB;display:grid;place-items:center;font-size:9px;font-weight:900}.rank-title{font-size:10px;font-weight:800;margin-bottom:3px}.rank-meta{font-size:8px;color:var(--muted);line-height:1.45}.rank-score{font-size:18px;font-weight:900;align-self:center;color:var(--atlas-orange)}.rank-score small{font-size:7px;color:var(--muted);display:block;text-align:right}.detail-body{padding:18px}.detail-flag{display:inline-flex;padding:6px 8px;border-radius:6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.detail-title{font-size:22px;margin:9px 0 2px;letter-spacing:-.03em}.detail-sub{font-size:9px;color:var(--muted);margin-bottom:15px;line-height:1.5}.metric{display:grid;grid-template-columns:84px 1fr 25px;gap:8px;align-items:center;margin:9px 0}.metric span{font-size:8px;color:var(--muted);font-weight:700}.bar{height:6px;background:#EEEAE5;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--atlas-orange);border-radius:99px}.metric b{font-size:9px;text-align:right}.detail-section{margin-top:15px;border-top:1px solid var(--line);padding-top:13px}.detail-section h4{font-size:8px;text-transform:uppercase;letter-spacing:.11em;margin:0 0 7px;color:var(--muted)}.detail-section p{font-size:10px;line-height:1.58;margin:0;color:#55514D}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{font-size:8px;padding:5px 7px;border-radius:6px;background:#F3F1EE;color:#55514D}
    .bottom{margin-top:16px;display:grid;grid-template-columns:1.04fr .96fr;gap:16px}.method-body{padding:18px}.formula{background:var(--atlas-graphite);color:#fff;border-radius:11px;padding:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.6}.formula strong{color:var(--atlas-yellow)}.weights{display:grid;gap:8px;margin-top:13px}.weight{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center;font-size:9px}.weight .wbar{height:6px;background:#EEEAE5;border-radius:99px;overflow:hidden;margin-top:4px}.weight .wbar i{height:100%;display:block;background:var(--atlas-orange);border-radius:99px}.notice{padding:12px;border-radius:9px;background:var(--soft-yellow);border:1px solid #F3D867;color:#5E5220;font-size:9px;line-height:1.55;margin-top:12px}.phase-list{display:grid;gap:9px}.phase{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:9px}.phase b{display:grid;place-items:center;width:28px;height:28px;background:var(--atlas-orange);color:#fff;border-radius:6px;font-size:10px}.phase strong{font-size:9px;display:block}.phase span{font-size:8px;color:var(--muted);line-height:1.5;display:block;margin-top:3px}.phase em{font-style:normal;font-size:7px;font-weight:800;text-transform:uppercase;padding:5px 6px;border-radius:5px;background:#F3F1EE}.phase.done em{background:var(--soft-orange);color:var(--atlas-orange)}
    .brand-rule{height:5px;background:linear-gradient(90deg,var(--atlas-orange) 0 58%,var(--atlas-orange-3) 58% 72%,var(--atlas-orange-2) 72% 86%,var(--atlas-yellow) 86% 100%);border-radius:99px;margin-top:16px}.foot{padding:25px 3px 8px;color:#77736F;font-size:8px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot strong{color:var(--atlas-graphite)}
    .leaflet-container{font-family:"Montserrat",Arial,sans-serif}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 10px 30px rgba(51,51,51,.17)}.leaflet-popup-content{margin:12px 14px}.map-popup strong{display:block;font-size:11px;margin-bottom:3px}.map-popup span{font-size:8px;color:#777;line-height:1.5}.map-popup b{color:var(--atlas-orange);font-size:18px;float:right}
    @media(max-width:1100px){.hero,.grid,.bottom,.data-panel-inner{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.brand-strip{grid-template-columns:1fr 1fr}.brand-strip .intro{grid-column:1/-1}#map{height:540px}.ranking{max-height:430px}}
    @media(max-width:760px){.topbar-inner,.page{padding-left:14px;padding-right:14px}.brand-copy,.top-actions .pill:not(.primary){display:none}.brand img{width:112px}.hero-main,.leader{padding:23px;border-radius:18px}.hero-main{min-height:325px}.hero-pattern{opacity:.05}.stats{grid-template-columns:1fr 1fr}.brand-strip{grid-template-columns:1fr 1fr}.strip-kpi b{font-size:17px}.control{min-width:135px}#map{height:480px}.legend{display:none}.icp-tiers{grid-template-columns:1fr}.score-big{font-size:55px}}

    .sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sim-field{display:flex;flex-direction:column;gap:5px}.sim-field label{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.sim-field input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#FAFAF9;color:var(--atlas-graphite)}.territory-hero{background:var(--atlas-graphite);color:#fff;border-radius:13px;padding:16px;margin-bottom:12px;position:relative;overflow:hidden}.territory-hero:after{content:"";position:absolute;right:-25px;top:-35px;width:130px;height:130px;background:url('./atlas-symbol-negative.png') center/55px repeat;opacity:.08;transform:rotate(-8deg)}.territory-hero span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--atlas-yellow);font-weight:800}.territory-hero strong{display:block;font-size:20px;margin-top:5px;letter-spacing:-.025em}.territory-hero small{display:block;color:#CCC;margin-top:4px;font-size:9px}.calc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.calc-kpis .mini b{font-size:17px}.decision{margin-top:12px;border-left:4px solid var(--atlas-orange);background:var(--soft-orange);padding:12px;border-radius:8px;font-size:9px;line-height:1.6}.risk-note{font-size:8px;color:var(--muted);line-height:1.55;margin-top:9px}.census-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}@media(max-width:900px){.sim-grid,.calc-kpis{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sim-grid,.calc-kpis{grid-template-columns:1fr}}
    
    /* Melhorias de Integração e Loading */
    body.in-app { background: #FFFFFF; }
    body.in-app .topbar { display: none; }
    body.in-app .page { padding-top: 0; max-width: none; }
    
    .rank-item, .pill, .btn { transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1); }
    .rank-item:hover { transform: translateX(4px); background: var(--soft-orange); border-radius: 8px; }
    
    .loading-overlay { position: fixed; inset: 0; background: rgba(255,255,255,0.9); backdrop-filter: blur(8px); z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 0.4s ease, visibility 0.4s ease; }
    .loading-overlay.hidden { opacity: 0; visibility: hidden; }
    .loading-spinner { width: 40px; height: 40px; border: 3px solid var(--line); border-top-color: var(--atlas-orange); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 16px; }
    @keyframes spin { to { transform: rotate(360deg); } }
    .loading-title { font-size: 16px; font-weight: 800; letter-spacing: -0.02em; color: var(--atlas-graphite); margin-bottom: 4px; }
    .loading-status { font-size: 11px; color: var(--muted); }
  </style>
