*{box-sizing:border-box}body,html{min-height:100%;height:100%;overflow-x:clip}body{margin:0;color:var(--color-ink);font-family:var(--font-sans);font-feature-settings:var(--num-feat);font-optical-sizing:auto;background-color:var(--color-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--color-accent);color:var(--color-bone)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}.shell{display:grid;grid-template-columns:280px 1fr 320px;grid-template-rows:1fr;height:100%;width:100%;overflow:hidden}.topbar{grid-column:1/-1;grid-row:1;z-index:3;display:flex;align-items:center;gap:var(--space-5);padding:0 var(--space-5);background:var(--color-paper-1);border-bottom:1px solid var(--color-rule)}.topbar .brand{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em;flex-shrink:0}.topbar .brand .dot{color:var(--color-accent)}.topbar .meta{font-size:var(--text-sm);color:var(--color-ink-mute);letter-spacing:.04em;text-transform:uppercase}.topbar-search-slot{flex:1 1;display:flex;justify-content:flex-end;min-width:0}.topbar-right{display:flex;align-items:center;gap:var(--space-5);flex-shrink:0}.sidebar{position:relative;grid-column:1;grid-row:1;z-index:2;background:var(--color-paper-1);border-right:1px solid var(--color-rule);overflow:hidden;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.sidebar.collapsed{transform:translateX(-242px)}.sidebar-inner{height:100%;overflow-y:auto;padding:var(--space-9) var(--space-3) var(--space-4);transition:opacity var(--dur-fast) var(--ease-out)}.sidebar.collapsed .sidebar-inner{opacity:0;pointer-events:none}.sidebar h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin:var(--space-4) var(--space-1) var(--space-2)}.sidebar h3:first-child{margin-top:var(--space-1)}.layer-row{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.layer-row.active{background:var(--color-accent-soft)}.layer-row.active .swatch{border-color:var(--color-accent-bright)}.layer-row.loading{background:var(--color-paper-2);animation:layer-row-pulse 1.4s var(--ease-in-out) infinite}@keyframes layer-row-pulse{0%,to{background:var(--color-paper-2)}50%{background:var(--color-accent-soft)}}.layer-row input{accent-color:var(--color-accent);cursor:pointer}.layer-row .swatch{width:12px;height:12px;border-radius:var(--radius-xs);border:1px solid var(--color-rule-strong);flex-shrink:0}.layer-row .swatch-spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-ink-faint);border-top-color:var(--color-accent-bright);animation:spin .7s linear infinite;flex-shrink:0;box-sizing:border-box}.layer-row .label{font-size:var(--text-base);color:var(--color-ink-soft);flex:1 1}.layer-row.active .label{font-weight:500}.layer-row.active .label,.layer-row.loading .label{color:var(--color-accent-bright)}.sidebar-collapse-toggle{position:absolute;top:var(--space-3);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-paper-2);border:1px solid var(--color-rule-strong);color:var(--color-ink-steel);border-radius:var(--radius-sm);cursor:pointer;z-index:10;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform 60ms var(--ease-out)}.sidebar-collapse-toggle:hover{background:var(--color-paper-4);color:var(--color-ink);border-color:var(--color-accent)}.sidebar-collapse-toggle:active{transform:translateY(1px)}.sidebar-collapse-toggle.left{right:var(--space-2)}.sidebar-collapse-toggle.right{left:var(--space-2)}.sidebar.collapsed .sidebar-collapse-toggle.left{right:7px}.info-panel.collapsed .sidebar-collapse-toggle.right{left:7px}.map-pane{position:relative;grid-column:1/-1;grid-row:1;z-index:0;background:var(--color-paper-3)}.map-pane .map-root{position:absolute;inset:0}.map-loading{grid-column:1/-1;grid-row:1;z-index:0;background:var(--color-paper-3)}.modal.chooser{max-width:560px}.chooser-sub{font-size:var(--text-md);color:var(--color-ink-mute);margin:0 0 var(--space-5)}.chooser-opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:560px){.chooser-opts{grid-template-columns:1fr}}.chooser-opt{position:relative;text-align:left;display:flex;flex-direction:column;gap:4px;padding:var(--space-4);padding-right:var(--space-7);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper-2);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.chooser-opt:hover{border-color:var(--color-ink-faint)}.chooser-opt.on{border-color:var(--color-accent);background:var(--color-paper-3)}.co-check{position:absolute;top:var(--space-3);right:var(--space-3);width:18px;height:18px;border-radius:var(--radius-xs);border:1.5px solid var(--color-rule-strong)}.chooser-opt.on .co-check{background:var(--color-accent);border-color:var(--color-accent)}.chooser-opt.on .co-check:after{content:"✓";display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-bone);font-size:12px;font-weight:700}.co-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:var(--color-ink)}.co-desc{font-size:var(--text-sm);color:var(--color-ink-mute);line-height:1.4}.co-cost{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:var(--space-2);font-weight:600}.chooser-opt.disabled,.chooser-opt:disabled{opacity:.5;cursor:not-allowed}.chooser-opt.disabled:hover{border-color:var(--color-rule-strong)}.chooser-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.btn-cost{font-size:var(--text-xs);font-weight:500;opacity:.7;margin-left:6px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--color-bone-alpha-15)}.info-panel .potencial.locked{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4) var(--space-4);border:1px dashed var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper-2)}.potencial-locked-text{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.45;margin:var(--space-2) 0 0}.potencial-locked-text strong{color:var(--color-ink);font-weight:600}.potencial-locked-rows{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.plr{font-size:var(--text-xs);color:var(--color-ink-faint);background:var(--color-paper-3);border-radius:var(--radius-pill);padding:3px var(--space-2)}.side-rail{position:fixed;left:0;top:0;width:64px;height:100vh;height:100dvh;z-index:30;background:radial-gradient(120% 30% at 50% 0,var(--color-accent-faint),transparent 60%),var(--color-paper-1);border-right:1px solid var(--color-rule);flex-direction:column}.side-rail,.side-rail-brand{display:flex;align-items:center}.side-rail-brand{height:56px;width:100%;justify-content:center;border-bottom:1px solid var(--color-rule);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--color-ink);letter-spacing:-.02em;line-height:1}.side-rail-brand .dot{color:var(--color-accent)}.side-rail-items{display:flex;flex-direction:column;gap:var(--space-2);width:100%;align-items:center;padding-top:var(--space-4)}.side-rail-item{position:relative;width:52px;display:flex;justify-content:center;color:var(--color-ink-mute);border-radius:var(--radius-lg);transition:color var(--dur-base) var(--ease-out)}.side-rail-item:hover{color:var(--color-ink-soft)}.side-rail-item:hover .side-rail-icon-wrap{background:var(--color-accent-faint)}.side-rail-item[aria-current=page]{color:var(--color-accent-bright)}.side-rail-active{position:absolute;inset:0;background:var(--color-accent-soft);border:1px solid var(--color-accent-glow);border-radius:var(--radius-lg);z-index:0}.side-rail-item[aria-current=page]:before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--color-accent-bright);border-radius:var(--radius-pill);box-shadow:0 0 8px var(--color-accent-glow);z-index:2}.side-rail-icon-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;width:52px;padding:var(--space-2) 0;border-radius:var(--radius-lg);transition:background var(--dur-fast) var(--ease-out)}.side-rail-label{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.03em}.side-rail-count{position:absolute;top:2px;right:6px;min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;font-size:9px;font-weight:700;font-feature-settings:var(--num-feat);color:var(--color-bone);background:var(--color-accent);border-radius:var(--radius-pill);line-height:1}.side-rail-bottom{margin-top:auto;width:100%;display:flex;justify-content:center;padding:var(--space-3) 0 var(--space-4);border-top:1px solid var(--color-rule)}.section-nav{display:inline-flex;gap:2px;padding:3px;background:var(--color-paper-2);border-radius:var(--radius-md)}.section-nav-item{position:relative;font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-mute);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);transition:color var(--dur-base) var(--ease-out)}.section-nav-item:hover{color:var(--color-ink-soft)}.section-nav-item[aria-current=page]{color:var(--color-ink)}.section-nav-pill{position:absolute;inset:0;background:var(--color-paper-4);border-radius:var(--radius-sm);z-index:0}.section-nav-label{position:relative;z-index:1;display:inline-block}.analyses-panel{margin-bottom:var(--space-5)}.analyses-empty{font-size:var(--text-sm);color:var(--color-ink-faint);padding:0 var(--space-1) var(--space-2);line-height:1.45}.analyses-list{list-style:none;margin:0;padding:0;gap:2px}.analyses-item,.analyses-list{display:flex;flex-direction:column}.analyses-item{width:100%;text-align:left;gap:1px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.analyses-item:hover{background:var(--color-paper-2);border-color:var(--color-rule)}.ai-label{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:var(--color-ink)}.ai-label,.ai-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-meta{font-size:var(--text-xs);color:var(--color-ink-mute)}.ai-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:3px}.ai-kpi{font-size:var(--text-xs);font-weight:600;color:var(--color-accent);font-feature-settings:var(--num-feat)}.ai-date{font-size:var(--text-xs);color:var(--color-ink-faint);margin-left:auto}.map-pane .map-overlay{position:absolute;bottom:var(--space-3);left:calc(280px + var(--space-3));background:var(--color-glass);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-ink-mute);z-index:5;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.shell.left-collapsed .map-pane .map-overlay{transform:translateX(-242px)}.info-panel{position:relative;grid-column:3;grid-row:1;z-index:2;background:var(--color-paper-1);border-left:1px solid var(--color-rule);overflow:hidden;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.info-panel.collapsed{transform:translateX(282px)}.info-panel-inner{height:100%;overflow-y:auto;padding:var(--space-9) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);transition:opacity var(--dur-fast) var(--ease-out)}.info-panel.collapsed .info-panel-inner{opacity:0;pointer-events:none}.info-panel .empty{color:var(--color-ink-mute);font-size:var(--text-base);line-height:1.5}.info-panel h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;line-height:1.1}.info-panel .lote-insc{margin:5px 0 0;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.info-panel .lote-insc span{font-family:var(--font-mono);font-size:var(--text-sm);text-transform:none;letter-spacing:0;color:var(--color-ink-soft);-webkit-user-select:all;-moz-user-select:all;user-select:all}.info-panel .section{display:flex;flex-direction:column;gap:var(--space-1)}.info-panel .section .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.info-panel .section .value{font-size:var(--text-md);color:var(--color-ink)}.info-panel .grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.info-panel .section .sub-mute{font-size:var(--text-eyebrow);letter-spacing:.04em;color:var(--color-ink-mute)}.info-panel .area-geo{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed rgba(255,255,255,.1)}.info-panel .area-geo-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.info-panel .area-geo-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.info-panel .area-geo-value{font-size:var(--text-sm);color:var(--color-ink-soft);white-space:nowrap;font-feature-settings:var(--num-feat)}.info-panel .area-geo-note{font-size:var(--text-eyebrow);color:var(--color-ink-mute)}.info-panel .area-base-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;margin-top:4px;padding:4px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.info-panel .area-base-toggle-cell{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;transition:background var(--dur-fast) var(--ease-out)}@media (hover:hover) and (pointer:fine){.info-panel .area-base-toggle-cell:hover{background:var(--color-paper-3)}}.info-panel .area-base-toggle-cell.active{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.info-panel .area-base-toggle-cell .abt-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.info-panel .area-base-toggle-cell.active .abt-label{color:var(--color-ink)}.info-panel .area-base-toggle-cell .abt-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-soft)}.info-panel .area-base-toggle-cell.active .abt-value{color:var(--color-ink);font-weight:500}.info-panel .area-base-toggle-cell .abt-check{position:absolute;top:var(--space-2);right:var(--space-2);width:12px;height:12px;color:var(--color-accent)}.info-panel .area-geo-flag{font-size:var(--text-xs);line-height:1.3;color:var(--color-negative);cursor:help}.kpi-hero{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(180deg,var(--color-accent-soft) 0,transparent 100%);border:1px solid var(--color-accent);border-radius:var(--radius-md);position:relative;overflow:hidden;animation:kpi-hero-in var(--dur-slow) var(--ease-out)}.kpi-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-bright) 50%,var(--color-accent) 100%);opacity:.6}@keyframes kpi-hero-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kpi-hero-item{display:flex;flex-direction:column;gap:2px}.kpi-hero-label{font-family:var(--font-display);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.kpi-hero-value{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1.05;color:var(--color-accent-bright);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:4px;text-shadow:none}.kpi-hero-prefix{font-size:14px;margin-right:2px}.kpi-hero-prefix,.kpi-hero-unit{color:var(--color-ink-mute);font-weight:500}.kpi-hero-unit{font-size:12px;margin-left:2px}.kpi-hero-delta{font-size:var(--text-xs);color:var(--color-positive);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.kpi-hero-alerta{color:var(--color-negative,#e5484d)}.skeleton{position:relative;display:inline-block;background:var(--color-paper-2);border-radius:var(--radius-xs);overflow:hidden;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,oklch(87% .21 132/.04) 20%,oklch(87% .21 132/.1) 50%,oklch(87% .21 132/.04) 80%,transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton.line{height:14px;min-width:80px}.skeleton.line-lg{height:22px;min-width:140px}.skeleton.line-xl{height:32px;min-width:180px}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.layer-row{transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.layer-row:hover{background:var(--color-paper-2);transform:translateX(2px)}.layer-row.active:hover{background:var(--color-accent-hover);transform:translateX(2px)}.btn-primary{transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-secondary{transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn-secondary:hover{transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.info-panel .section{animation:section-fade-in var(--dur-slow) var(--ease-out)}@keyframes section-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.info-panel .section .value{transition:color var(--dur-fast) var(--ease-out)}.btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:var(--color-accent);color:var(--color-bone);min-height:40px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:700;font-size:var(--text-base);letter-spacing:0;transition:background var(--dur-fast) var(--ease-out),transform 60ms var(--ease-out);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-primary:hover{background:var(--color-accent-bright)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background:var(--color-paper-3);color:var(--color-ink-mute);cursor:not-allowed}.btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-rule-strong);color:var(--color-ink-soft);min-height:40px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;font-size:var(--text-base);letter-spacing:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform 60ms var(--ease-out)}.btn-secondary:hover{background:var(--color-accent-faint);color:var(--color-accent-bright);border-color:var(--color-accent)}.btn-secondary:active{transform:translateY(1px)}.btn-secondary:disabled{background:var(--color-paper-2);color:var(--color-ink-mute);cursor:not-allowed}.panel-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1)}.panel-actions>*{width:100%}.lot-preparation{min-height:5rem;margin-block:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-soft)}.lot-preparation p{margin:0 0 var(--space-2);line-height:1.5}.lot-preparation .spinner{margin-right:var(--space-2);vertical-align:middle}.lot-testada-status{display:block;min-height:1.5em}.panel-footer-notice{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--color-rule)}.panel-footer-notice>*{width:100%}.arch-decisions{border-top:1px solid var(--color-rule);padding-top:var(--space-3);margin-top:var(--space-1);display:flex;flex-direction:column;gap:2px}.arch-decisions-title{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin-bottom:var(--space-1)}.arch-check{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.arch-check:hover{background:var(--color-paper-2)}.arch-check:has(input:checked){background:var(--color-accent-faint)}.arch-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:1px 0 0;width:16px;height:16px;flex-shrink:0;display:grid;place-content:center;border:1px solid var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-paper-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.arch-check input[type=checkbox]:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform var(--dur-fast) var(--ease-out);background:var(--color-accent-bright);-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}.arch-check input[type=checkbox]:checked{background:var(--color-accent-soft);border-color:var(--color-accent)}.arch-check input[type=checkbox]:checked:before{transform:scale(1)}.arch-check input[type=checkbox]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.arch-check input[type=checkbox]:disabled{opacity:.4;cursor:default}.arch-check-text{font-size:var(--text-sm);line-height:1.35;color:var(--color-ink-soft)}.arch-check-text strong{color:var(--color-ink);font-weight:600}.arch-check:has(input:checked) .arch-check-text{color:var(--color-ink)}.arch-decisions-note{font-size:var(--text-eyebrow);line-height:1.55;color:var(--color-ink-mute);margin:var(--space-2) 0 0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-bone-alpha-25);border-top-color:var(--color-bone);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.als{--als-cycle:3.8s;--als-stagger:0.14s;position:relative;width:168px;aspect-ratio:72/90;color:var(--color-ink)}.als-layer{position:absolute;inset:0}.als-layer svg{display:block;width:100%;height:100%;overflow:visible}.als-ground{position:absolute;left:50%;bottom:10%;width:66%;height:12%;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,oklch(6% .004 265/.55),transparent 72%);filter:blur(3px);pointer-events:none;will-change:transform,opacity;animation:als-ground-breathe var(--als-cycle) var(--ease-in-out) infinite}@keyframes als-ground-breathe{0%,to{transform:translateX(-50%) scaleX(.86);opacity:.65}55%{transform:translateX(-50%) scaleX(1.06);opacity:1}}.als-lot-layer{animation:als-lot-pulse var(--als-cycle) var(--ease-in-out) infinite}.als-lot{fill:color-mix(in oklch,var(--color-ink) 7%,transparent);stroke:color-mix(in oklch,var(--color-ink) 26%,transparent);stroke-width:.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}.als-app{fill:url(#alsHatch);stroke:color-mix(in oklch,var(--color-ink) 22%,transparent);stroke-width:.5;stroke-dasharray:2.4 1.8;stroke-linejoin:round}.als-hatch-line{stroke:color-mix(in oklch,var(--color-ink) 20%,transparent);stroke-width:.9}.als-grid{fill:none;stroke:color-mix(in oklch,var(--color-ink) 14%,transparent);stroke-width:.5;vector-effect:non-scaling-stroke}@keyframes als-lot-pulse{0%,to{opacity:.6}50%{opacity:1}}.als-floor{will-change:transform,opacity;animation:als-floor-life var(--als-cycle) infinite both;animation-delay:calc(var(--i) * var(--als-stagger))}.als-face{stroke:color-mix(in oklch,var(--color-ink) 60%,transparent);stroke-width:.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.als-face--top{fill:color-mix(in oklch,var(--color-ink) 92%,var(--color-paper))}@keyframes als-floor-life{0%{opacity:0;transform:translateY(13px);animation-timing-function:cubic-bezier(.26,1.4,.44,1)}13%{opacity:1;transform:translateY(0)}76%{opacity:1;transform:translateY(0)}90%{opacity:0;transform:translateY(-4px)}to{opacity:0;transform:translateY(13px)}}.als-flash{will-change:opacity;opacity:0;animation:als-flash-pop var(--als-cycle) linear infinite both;animation-delay:calc(var(--i) * var(--als-stagger))}.als-flash polygon{fill:var(--color-accent-bright)}@keyframes als-flash-pop{0%,9%{opacity:0}13%{opacity:.85}26%,to{opacity:0}}.al-caption{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.al-eyebrow{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.16em;color:var(--color-ink-faint)}.al-eyebrow,.al-phase{font-family:var(--font-display);font-weight:600}.al-phase{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--color-ink);animation:al-phase-in .42s var(--ease-out) both}@keyframes al-phase-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.al-track{width:210px;height:2px;margin-top:var(--space-2);background:var(--color-accent-faint);overflow:hidden}.al-track,.al-track span{border-radius:var(--radius-pill)}.al-track span{display:block;height:100%;width:36%;background:var(--color-ink-soft);will-change:transform;animation:al-track-sweep 1.3s var(--ease-in-out) infinite}@keyframes al-track-sweep{0%{transform:translateX(-120%)}to{transform:translateX(380%)}}.al-timer{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-mute);font-feature-settings:var(--num-feat)}.al-hint{font-size:var(--text-sm);color:var(--color-ink-faint);animation:al-phase-in .42s var(--ease-out) both}.al-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--color-scrim);backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);animation:al-overlay-in .3s var(--ease-out) both}.al-overlay.is-leaving{animation:al-overlay-out .28s var(--ease-out) forwards;pointer-events:none}@keyframes al-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes al-overlay-out{0%{opacity:1}to{opacity:0}}.al-overlay-inner{padding:var(--space-8)}.al-inline,.al-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.al-loading{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-md);color:var(--color-ink-mute)}.al-spin{flex:none;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--color-rule-strong);border-top-color:var(--color-ink);will-change:transform;animation:spin .8s linear infinite}.an-state--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);min-height:72vh}@media (prefers-reduced-motion:reduce){.als-floor{animation:none!important;opacity:1!important;transform:none!important}.als-lot-layer{opacity:.85!important}.als-flash,.als-ground,.als-lot-layer{animation:none!important}.als-flash{opacity:0!important}.al-phase,.al-spin{animation:none!important}.al-spin{opacity:.7}.al-track span{animation:none!important;transform:translateX(90%)!important;opacity:.6}}.modal-backdrop{position:fixed;inset:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--color-paper-1);border:1px solid var(--color-rule-strong);border-radius:var(--radius-xl);width:min(1100px,95vw);max-height:90vh;max-height:90dvh;overflow-y:auto;padding:var(--space-6) var(--space-7) var(--space-5);box-shadow:var(--shadow-lg)}.resumo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:start}@media (max-width:900px){.resumo-grid{grid-template-columns:1fr}}.resumo-col{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.resumo-col>.adi-card,.resumo-col>.limites-section,.resumo-col>.oodc-card,.resumo-col>.restricoes{margin:0;border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-paper-2);border:1px solid var(--color-rule)}.resumo-col>.adi-card{background:var(--color-accent-soft);border-color:var(--color-accent-glow)}.resumo-col>.oodc-card-compact{padding:var(--space-4)}.resumo-col>.adi-card .adi-header h3,.resumo-col>.limites-section .limites-header h3,.resumo-col>.oodc-card .oodc-header h3,.resumo-col>.restricoes .restricoes-header h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:0;color:var(--color-ink);margin:0}.resumo-col>.adi-card .adi-header,.resumo-col>.limites-section .limites-header,.resumo-col>.oodc-card .oodc-header,.resumo-col>.restricoes .restricoes-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-accent)}.restricoes-count{font-size:var(--text-xs);color:var(--color-ink-mute)}.modal h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-display-s);letter-spacing:-.02em;margin:0 0 var(--space-1);line-height:1.15}.modal .subtitle{font-size:var(--text-sm);color:var(--color-ink-mute);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-6)}.modal .tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-rule);margin:var(--space-1) 0 var(--space-4)}.modal .tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-ink-steel);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:500;letter-spacing:.01em;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);margin-bottom:-1px}.modal .tab.active,.modal .tab:hover{color:var(--color-ink)}.modal .tab.active{border-bottom-color:var(--color-accent)}.modal .placeholder{padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-ink-mute);font-size:var(--text-base);line-height:1.55;border:1px dashed var(--color-rule-strong);border-radius:var(--radius-lg);margin:var(--space-1) 0 var(--space-4)}.modal .placeholder strong{display:block;color:var(--color-ink-steel);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.modal .footprint-section{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) 0}.modal .footprint-section .header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.modal .footprint-section h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;margin:0;color:var(--color-ink);letter-spacing:0}.modal .footprint-section .grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.modal .footprint-section .stat .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);display:block;margin-bottom:var(--space-1)}.modal .footprint-section .stat .value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-ink);letter-spacing:0}.modal .footprint-section .stat .value .unit{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-mute);margin-left:var(--space-1);font-family:var(--font-sans);letter-spacing:0}.modal .footprint-section .meta{font-size:var(--text-xs);color:var(--color-ink-steel);margin-top:var(--space-3);line-height:1.5}.quadro-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);margin:var(--space-1) 0 var(--space-4)}.quadro-table th{text-align:left;font-weight:500;font-size:var(--text-eyebrow);color:var(--color-ink-mute);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-rule-strong)}.quadro-table td,.quadro-table th{padding:var(--space-2) var(--space-3)}.quadro-table td{border-bottom:1px solid var(--color-rule);color:var(--color-ink-soft)}.quadro-table tbody tr:hover{background:var(--color-paper-2)}.quadro-table tfoot td{border-top:1px solid var(--color-rule-strong);border-bottom:none;padding-top:var(--space-3);color:var(--color-ink)}.pav-pill{padding:2px var(--space-2);border-radius:var(--radius-xl);color:var(--color-bone);letter-spacing:.02em}.binding-badge,.pav-pill{display:inline-block;font-size:var(--text-eyebrow);font-weight:500}.binding-badge{padding:3px 9px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-bright);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--color-accent-glow)}.quadro-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft)}.quadro-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-1)}.quadro-meta>div{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.quadro-meta .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.quadro-meta .value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-ink);letter-spacing:0}.quadro-meta .value .unit{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-mute);margin-left:3px;font-family:var(--font-sans);letter-spacing:0}.quadro-formula{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--color-ink-mute);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.4}.volumetria-tab{display:flex;flex-direction:column;gap:var(--space-4)}.volumetria-summary{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.volumetria-summary .stat{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.volumetria-summary .stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.volumetria-summary .stat .value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-ink);letter-spacing:0}.volumetria-summary .stat .value .unit{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-mute);margin-left:var(--space-1);font-family:var(--font-sans);letter-spacing:0}.volumetria-grid{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-5);gap:var(--space-5);align-items:stretch}.volumetria-side{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.volumetria-side .volumetria-summary{grid-template-columns:1fr 1fr}.volumetria-side .btn-primary{width:100%}.pav-esquema{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-4)}.pav-esquema svg{display:block}.pav-labels{display:flex;flex-direction:column}.pav-label{display:flex;align-items:center;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-ink-soft);white-space:nowrap;letter-spacing:.01em}.esquema-legend{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:4px}.esquema-legend-title{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin-bottom:var(--space-1)}.esquema-legend-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-ink-soft)}.esquema-legend-swatch{width:12px;height:12px;border-radius:var(--radius-xs);border:1px solid rgba(255,255,255,.12);flex-shrink:0}.esquema-hint{font-size:var(--text-xs);color:var(--color-ink-mute);line-height:1.5;margin:0}.map-tilt-toggle{position:absolute;bottom:var(--space-3);right:calc(320px + var(--space-3));-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-rule-strong);background:var(--color-glass-strong);color:var(--color-ink);height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:500;font-size:var(--text-sm);letter-spacing:.04em;z-index:5;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out);will-change:transform;display:inline-flex;align-items:center;gap:var(--space-2)}.shell.right-collapsed .map-tilt-toggle{transform:translateX(282px)}.map-tilt-toggle:hover{background:var(--color-glass-hover);border-color:var(--color-accent);color:var(--color-accent-bright)}.map-tilt-toggle:active{transform:translateY(1px)}.map-banner-blocos-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-rule-strong);background:var(--color-glass-hover);color:var(--color-ink);height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:500;font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.map-banner-blocos-btn.active,.map-banner-blocos-btn:hover{border-color:var(--color-accent);color:var(--color-accent-bright)}.map-banner-blocos-btn.active{background:var(--color-accent-soft)}.map-blocos-badge{top:calc(var(--space-3) + 42px);left:50%;transform:translateX(-50%);padding:4px 10px}.map-app-chip,.map-blocos-badge{position:absolute;background:var(--color-glass-strong);border:1px solid var(--color-rule-subtle);border-radius:var(--radius-sm);color:var(--color-ink-mute);font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.02em;z-index:6;pointer-events:none;white-space:nowrap}.map-app-chip{bottom:calc(var(--space-3) + 32px);left:calc(280px + var(--space-3));display:flex;align-items:center;gap:6px;padding:5px 10px;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.shell.left-collapsed .map-app-chip{transform:translateX(-242px)}.map-tools{position:absolute;top:var(--space-3);left:calc(280px + var(--space-3));display:inline-flex;gap:var(--space-1);z-index:5;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.shell.left-collapsed .map-tools{transform:translateX(-242px)}.map-tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-rule-strong);background:var(--color-glass-strong);color:var(--color-ink);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:500;font-size:var(--text-sm);letter-spacing:.04em;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform 60ms var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-2)}.map-tool-btn:hover{background:var(--color-glass-hover);border-color:var(--color-accent);color:var(--color-accent-bright)}.map-tool-btn:active{transform:translateY(1px)}.map-tool-btn.active{background:var(--color-accent);border-color:var(--color-accent-bright);color:var(--color-bone)}.map-tool-btn.active:hover{background:var(--color-accent-bright)}.measure-hud{position:absolute;top:60px;left:calc(280px + var(--space-3));display:flex;align-items:stretch;gap:var(--space-3);background:var(--color-glass-stronger);border:1px solid var(--color-rule-strong);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);z-index:5;box-shadow:var(--shadow-md);min-width:240px;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.shell.left-collapsed .measure-hud{transform:translateX(-242px)}.measure-hud-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.measure-hud-main .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.measure-hud-main .value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-ink);line-height:1.1;letter-spacing:0}.measure-hud-main .meta{font-size:var(--text-xs);color:var(--color-ink-steel);letter-spacing:.02em;line-height:1.35;margin-top:2px}.measure-hud-actions{display:flex;align-items:center;gap:var(--space-1)}.measure-hud-cut,.measure-hud-finish{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.measure-hud-finish{background:var(--color-accent);border:1px solid var(--color-accent-bright);color:var(--color-bone)}.measure-hud-finish:hover{background:var(--color-accent-bright)}.measure-hud-cut{background:transparent;border:1px solid var(--color-rule-strong);color:var(--color-ink-soft)}.measure-hud-cut:hover{background:var(--color-paper-2);border-color:var(--color-accent);color:var(--color-ink)}.measure-hud-cut:disabled,.measure-hud-finish:disabled{background:var(--color-paper-2);border-color:var(--color-rule-strong);color:var(--color-ink-mute);cursor:not-allowed}.measure-hud-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-rule-strong);color:var(--color-ink-steel);width:24px;height:24px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.measure-hud-close:hover{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-accent)}.map-3d-banner{position:absolute;top:var(--space-3);left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--color-glass-strong);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-ink);font-weight:500;z-index:6;box-shadow:var(--shadow-md)}.map-3d-banner,.map-3d-banner button{font-size:var(--text-sm);letter-spacing:.02em}.map-3d-banner button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-accent);border:none;color:var(--color-bone);font-weight:600;padding:6px var(--space-3);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.map-3d-banner button:hover{background:var(--color-accent-bright)}.map-3d-legend{position:absolute;bottom:var(--space-5);right:calc(320px + var(--space-5));padding:var(--space-3);background:var(--color-glass-strong);border:1px solid var(--color-accent-glow);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-xs);letter-spacing:.01em;z-index:6;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-1);min-width:220px;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.shell.right-collapsed .map-3d-legend{transform:translateX(282px)}.map-3d-legend-title{font-size:var(--text-eyebrow);color:var(--color-ink-mute);letter-spacing:.03em;text-transform:uppercase;margin-bottom:2px}.map-3d-legend-row{display:flex;align-items:center;gap:var(--space-2)}.map-3d-legend-row .swatch{width:14px;height:14px;border-radius:var(--radius-xs);flex-shrink:0;border:1px solid var(--color-bone-alpha-15)}.map-search{position:relative;width:100%;max-width:420px;z-index:6;font-family:var(--font-sans)}.map-search-input-wrap{position:relative;display:flex;align-items:center;height:36px;background:var(--color-glass-strong);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);padding:0 var(--space-2) 0 var(--space-3);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.map-search-input-wrap:focus-within{background:var(--color-glass-hover);border-color:var(--color-accent)}.map-search-icon{color:var(--color-ink-mute);flex-shrink:0;margin-right:var(--space-2)}.map-search-input-wrap:focus-within .map-search-icon{color:var(--color-accent-bright)}.map-search-input{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;color:var(--color-ink);font-family:inherit;font-size:var(--text-sm);letter-spacing:.01em;padding:0;min-width:0}.map-search-input::placeholder{color:var(--color-ink-mute)}.map-search-spinner{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--color-accent-glow);border-top-color:var(--color-accent-bright);animation:map-search-spin .7s linear infinite;flex-shrink:0;margin-left:var(--space-2)}@keyframes map-search-spin{to{transform:rotate(1turn)}}.map-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-ink-mute);cursor:pointer;padding:4px;margin-left:var(--space-1);border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.map-search-clear:hover{color:var(--color-ink);background:var(--color-paper-3)}.map-search-results{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;max-height:360px;overflow-y:auto;background:var(--color-glass-stronger);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1) 0}.map-search-group+.map-search-group{border-top:1px solid var(--color-rule);margin-top:var(--space-1);padding-top:var(--space-1)}.map-search-group-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);padding:var(--space-1) var(--space-3)}.map-search-item{display:flex;align-items:baseline;gap:var(--space-2);width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-ink);font-family:inherit;font-size:var(--text-sm);padding:6px var(--space-3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.map-search-item.active,.map-search-item:hover{background:var(--color-paper-3)}.map-search-item.active{box-shadow:inset 2px 0 0 var(--color-accent)}.map-search-kind{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);flex-shrink:0;min-width:48px}.map-search-name{color:var(--color-ink);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-search-empty{padding:var(--space-2) var(--space-3);color:var(--color-ink-mute);font-size:var(--text-sm)}.modal .row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-3) 0;border-bottom:1px solid var(--color-rule)}.modal .row:last-child{border-bottom:none}.modal .row .label{font-size:var(--text-base);color:var(--color-ink-steel)}.modal .row .value{font-size:var(--text-lg);font-weight:600;color:var(--color-ink)}.modal .row .value .unit{font-size:var(--text-sm);font-weight:400;color:var(--color-ink-mute);margin-left:var(--space-1)}.modal .compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-4) 0}.modal .compare .card{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3)}.modal .compare .card.highlight{border-color:var(--color-accent)}.modal .compare .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin-bottom:var(--space-1)}.modal .compare .value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-ink);letter-spacing:0}.modal .restricoes{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.modal .restricoes .item{display:flex;justify-content:space-between;padding:var(--space-1) 0;font-size:var(--text-base)}.restricao-help{font-size:var(--text-xs);color:var(--color-ink-mute);margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-rule);line-height:1.5}.restricao-row{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.restricao-row+.restricao-row{margin-top:2px}.restricao-row:hover{background:var(--color-paper-3);border-color:var(--color-rule-strong)}.restricao-row.inactive{opacity:.6}.restricao-row.inactive:hover{opacity:.9}.restricao-dot{flex:0 0 14px;width:14px;height:14px;border-radius:50%;margin-top:3px;border:1.5px solid var(--color-ink-steel);background:transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.restricao-row.proibitiva .restricao-dot{border-color:var(--clay)}.restricao-row.proibitiva.active .restricao-dot{background:var(--clay);box-shadow:0 0 0 3px var(--clay-soft)}.restricao-row.restritiva.active .restricao-dot{background:var(--color-ink-steel);box-shadow:0 0 0 3px rgba(230,240,230,.1)}.restricao-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.restricao-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.restricao-nome{font-size:var(--text-base);color:var(--color-ink);line-height:1.3}.restricao-badge{font-size:9px;letter-spacing:.03em;text-transform:uppercase;font-weight:700;padding:2px 5px;border-radius:var(--radius-xs);white-space:nowrap}.restricao-badge.proibitiva{background:var(--clay-soft);color:var(--clay-bright);border:1px solid var(--clay-glow)}.restricao-badge.restritiva{background:var(--color-rule);color:var(--color-ink-steel);border:1px solid var(--color-rule-strong)}.restricao-status{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);white-space:nowrap}.restricao-status.subtracting{color:var(--clay-bright)}.restricao-basis{font-size:var(--text-xs);color:var(--color-ink-mute);line-height:1.4}.restricao-area{flex:0 0 auto;font-size:var(--text-base);color:var(--color-ink);font-variant-numeric:tabular-nums;font-feature-settings:var(--num-feat),"tnum";text-align:right;white-space:nowrap;margin-top:1px}.restricao-area.subtracting{color:var(--clay)}.restricao-area.muted,.restricoes-totals{color:var(--color-ink-mute)}.restricoes-totals{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-2);margin-top:var(--space-2);border-top:1px dashed var(--color-rule);font-size:var(--text-xs)}.restricoes-totals .total-val{color:var(--clay);font-variant-numeric:tabular-nums;font-feature-settings:var(--num-feat),"tnum"}.restricoes-list{position:relative}.restricoes-overlay{position:absolute;inset:0;background:color-mix(in oklch,var(--color-paper) 55%,transparent);border-radius:var(--radius-sm);pointer-events:none;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:1}.restricoes.is-recomputing .restricao-row{pointer-events:none}.restricao-row:disabled{cursor:progress;opacity:.7}.restricoes-spinner-inline{display:inline-flex;align-items:center;gap:6px;color:var(--clay-bright);font-size:var(--text-xs);text-transform:lowercase;letter-spacing:.02em}.spinner-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--clay);border-top:1.5px solid transparent;animation:restricao-spin .6s linear infinite}@keyframes restricao-spin{to{transform:rotate(1turn)}}.modal .versao{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-ink-mute);font-style:italic}.modal .actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.modal .btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-rule-strong);color:var(--color-ink-soft);min-height:40px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;font-size:var(--text-base);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.modal .btn-secondary:hover{background:var(--color-accent-faint);color:var(--color-accent-bright);border-color:var(--color-accent)}.limites-section{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--space-3);margin:var(--space-1) 0 var(--space-4)}.limites-header{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-accent)}.limites-header h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;margin:0;color:var(--color-ink);letter-spacing:0}.limites-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.limites-table td,.limites-table th{padding:6px var(--space-1);border-bottom:1px solid var(--color-rule);text-align:left;font-weight:400}.limites-table th{color:var(--color-ink-steel);width:60%}.limites-table td{text-align:right;color:var(--color-ink);font-variant-numeric:tabular-nums;font-feature-settings:var(--num-feat),"tnum"}.limites-table tr.total td,.limites-table tr.total th{font-weight:700;color:var(--color-ink);border-top:1px solid var(--color-rule-strong);border-bottom:1px solid var(--color-rule-strong)}.limites-note{font-size:var(--text-xs);color:var(--color-ink-mute);margin:var(--space-2) 0 0;line-height:1.5;font-style:italic}.comparado{background:var(--color-paper-2);border:1px solid var(--color-rule-strong);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) 0}.comparado-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin-bottom:var(--space-3)}.comparado-grid{display:grid;grid-template-columns:1fr 24px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.comparado-col{background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.comparado-col.highlight{border-color:var(--color-accent);background:var(--color-accent-soft)}.comparado-tag{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.comparado-col.highlight .comparado-tag{color:var(--color-accent-bright)}.comparado-val{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-ink);letter-spacing:0}.comparado-val .unit{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-mute);font-family:var(--font-sans);letter-spacing:0}.comparado-sub{font-size:var(--text-xs);color:var(--color-ink-steel)}.comparado-arrow{text-align:center;color:var(--color-ink-mute);font-size:var(--text-xl)}.comparado-delta{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-accent-bright);text-align:center;font-weight:500}.adi-card,.oodc-card{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4);margin:var(--space-4) 0}.adi-card .adi-header,.oodc-card .oodc-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.adi-card h3,.oodc-card h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;margin:0;color:var(--color-ink);letter-spacing:0}.oodc-legal{font-size:var(--text-xs);color:var(--color-ink-mute)}.oodc-scenario{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-sm);flex-wrap:wrap}.scenario-badge{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;padding:3px var(--space-2);border-radius:var(--radius-xs);font-weight:700;flex-shrink:0}.scenario-badge.teto{color:var(--color-accent-bright);background:var(--color-accent-soft);border:1px solid var(--color-accent-glow)}.scenario-badge.alvo{color:var(--color-positive-bright);background:var(--color-positive-soft);border:1px solid var(--color-positive-glow)}.scenario-detail{font-size:var(--text-xs);color:var(--color-ink-steel);line-height:1.4;flex:1 1;min-width:0}.oodc-hero{background:linear-gradient(135deg,var(--color-accent-soft) 0,var(--color-accent-faint) 100%);border:1px solid var(--color-accent-glow);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.oodc-hero-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);font-weight:600}.oodc-hero-value{font-family:var(--font-display);font-size:var(--text-display);font-weight:600;color:var(--color-ink);letter-spacing:0;line-height:1.15}.oodc-formula{background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.formula-caption{display:block;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute);margin-bottom:var(--space-3);font-weight:600}.formula-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--space-3)}.formula-term{display:flex;flex-direction:column;gap:3px;padding:var(--space-1) 2px;flex:1 1 calc(25% - var(--space-3));min-width:110px}.term-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);font-weight:700}.term-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-ink);line-height:1.1;letter-spacing:0}.term-unit{font-weight:400;margin-left:2px;font-family:var(--font-sans);letter-spacing:0}.term-sub,.term-unit{font-size:var(--text-eyebrow);color:var(--color-ink-mute)}.term-sub{line-height:1.2}.formula-op{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--color-accent);align-self:center;padding:0 2px}.adi-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.adi-grid .stat{background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.adi-grid .stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.adi-grid .stat .value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-ink);letter-spacing:0}.adi-grid .stat .value .unit{font-size:var(--text-eyebrow);font-weight:400;color:var(--color-ink-mute);margin-left:3px;font-family:var(--font-sans);letter-spacing:0}.adi-card .meta,.oodc-card .meta{font-size:var(--text-xs);color:var(--color-ink-steel);margin-top:var(--space-2);line-height:1.55}@media (max-width:720px){.formula-row{grid-template-columns:1fr;gap:var(--space-2)}.formula-op{display:none}.oodc-hero-value{font-size:var(--text-display-s)}}.oodc-card-compact{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.oodc-card-compact .oodc-header{margin-bottom:0}.oodc-card-compact h3{font-size:var(--text-md)}.oodc-hero-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-4) var(--space-3);background:var(--color-accent-faint);border:1px solid var(--color-accent-glow);border-radius:var(--radius-md);text-align:center}.oodc-hero-compact .oodc-hero-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.oodc-hero-compact .oodc-hero-value{font-family:var(--font-display);font-size:var(--text-display-s);font-weight:600;color:var(--color-accent-bright);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oodc-hero-meta{display:inline-flex;align-items:center;gap:8px;margin-top:2px}.oodc-hero-dot{color:var(--color-ink-faint);font-size:var(--text-xs)}.oodc-hero-construido{font-size:var(--text-xs);color:var(--color-ink-steel);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oodc-chips-block{display:flex;flex-direction:column;gap:6px}.oodc-chips-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;display:flex;gap:6px}.oodc-chips-help,.oodc-chips-label{color:var(--color-ink-mute);align-items:center}.oodc-chips-help{display:inline-flex;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--color-paper-3);font-size:9px;cursor:help}.oodc-chips{display:flex;gap:4px;flex-wrap:wrap}.oodc-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:6px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;flex:1 1 auto;min-width:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.oodc-chip:hover:not(:disabled){background:var(--color-paper-3);border-color:var(--color-accent-glow)}.oodc-chip.active{background:var(--color-accent-soft);border-color:var(--color-accent)}.oodc-chip:disabled{cursor:default;opacity:.6}.oodc-chip-label{font-size:var(--text-xs);color:var(--color-ink);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.oodc-chip-ie{font-size:10px;color:var(--color-ink-mute);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oodc-chip.active .oodc-chip-ie{color:var(--color-accent-bright)}.oodc-chip-tag{font-size:8px;padding:1px 4px;border-radius:2px;background:var(--color-accent);color:var(--color-bone);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.oodc-formula-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:8px 10px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:help}.oodc-formula-line .formula-caption{text-transform:none;letter-spacing:0;color:var(--color-ink-mute);font-weight:500}.formula-term-inline{display:inline-flex;align-items:baseline;gap:4px;color:var(--color-ink)}.term-sub-inline{font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-mute)}.oodc-formula-line .formula-op{color:var(--color-ink-mute);font-size:10px}.oodc-meta-compact{font-size:var(--text-xs);color:var(--color-ink-mute);line-height:1.5}.oodc-selects{display:flex;flex-wrap:wrap;gap:var(--space-3)}.oodc-field{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:5px;cursor:pointer}.oodc-field-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.03em;font-weight:600;color:var(--color-ink-mute)}.oodc-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-width:0;padding:9px 30px 9px 11px;background-color:var(--color-paper-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2392a394' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--color-ink);cursor:pointer;text-overflow:ellipsis;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.oodc-select:hover:not(:disabled){background-color:var(--color-paper-3);border-color:var(--color-accent-glow)}.oodc-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent)}.oodc-select:disabled{opacity:.6;cursor:default}.oodc-select option{background:var(--color-paper-2);color:var(--color-ink)}.adi-card{border-color:var(--color-accent-glow);background:var(--color-accent-soft)}.zona-mix{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-1)}.zona-mix-row{display:grid;grid-template-columns:84px 1fr 48px;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-sm)}.zona-mix-sigla{font-weight:600;color:var(--color-ink);font-size:var(--text-sm);letter-spacing:.02em}.zona-mix-bar{height:6px;background:var(--color-paper-2);overflow:hidden}.zona-mix-bar,.zona-mix-fill{border-radius:var(--radius-xs)}.zona-mix-fill{display:block;height:100%;background:linear-gradient(90deg,var(--color-accent-deep),var(--color-accent-bright))}.zona-mix-pct{text-align:right;color:var(--color-ink-steel);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-banner{position:fixed;bottom:var(--space-4);left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);background:var(--color-glass-stronger);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-soft);letter-spacing:.02em;z-index:40;box-shadow:var(--shadow-md);max-width:80vw}.data-banner.error{border-color:var(--color-accent);background:var(--color-negative-bg);color:var(--color-ink)}.data-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent-bright);animation:data-banner-pulse 1.4s var(--ease-in-out) infinite;flex-shrink:0}.data-banner.error .data-banner-dot{background:var(--color-negative);animation:none}@keyframes data-banner-pulse{0%,to{opacity:.45}50%{opacity:1}}.data-banner-text strong{color:var(--color-accent-bright);font-weight:700}.data-banner-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-rule-strong);color:var(--color-ink-steel);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);flex-shrink:0}.data-banner-close:hover{background:var(--color-paper-2);color:var(--color-ink)}.maplibregl-ctrl-attrib{font-size:var(--text-eyebrow)!important;opacity:.6}.maplibregl-popup-content{background:var(--color-paper-1)!important;color:var(--color-ink)!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.anb-spin,.data-banner-dot,.layer-row.loading,.spinner,.swatch-spinner{animation:none!important}.data-banner-dot{opacity:.85}.spinner,.swatch-spinner{border-top-color:transparent}}.entorno-modal{width:min(1180px,94vw)}.entorno-modal h2{margin-bottom:var(--space-1)}.entorno-context{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-rule)}.entorno-context .coord{min-width:0;overflow:hidden;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-ink-mute);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.entorno-context .badge{flex-shrink:0;font-family:var(--font-sans);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--color-accent-bright);border:1px solid var(--color-rule-strong);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-accent-soft);white-space:nowrap}.entorno-top{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:start;margin:var(--space-3) 0 var(--space-5)}@media (max-width:720px){.entorno-top{grid-template-columns:1fr}}.entorno-hero{position:relative;display:flex;flex-direction:column;padding:var(--space-5);background:var(--color-paper-2);border:1px solid var(--color-rule-strong);border-radius:var(--radius-lg);overflow:hidden}.entorno-hero:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-accent)}.entorno-hero .eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--color-ink-mute);margin-bottom:8px}.entorno-hero .tese-tier{font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.15;color:var(--color-ink);letter-spacing:-.015em}.entorno-hero .tese-sub{margin-top:6px;font-family:var(--font-sans);font-size:12px;color:var(--color-ink-soft);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entorno-hero .tese-sub .accent{color:var(--color-accent-bright);font-weight:600}.entorno-hero .tese-sub .dot{color:var(--color-ink-mute)}.entorno-preco{display:flex;flex-direction:column;padding:var(--space-5);background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-lg)}.entorno-preco .ticket-eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--color-ink-mute);margin-bottom:var(--space-2)}.entorno-preco .ticket-valor{display:flex;align-items:baseline;gap:6px;font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.entorno-preco .moeda{font-size:14px;color:var(--color-ink-mute);font-weight:500}.entorno-preco .faixa{font-size:26px;font-weight:600;color:var(--color-ink);letter-spacing:-.02em}.entorno-preco .separator{margin:0 4px;color:var(--color-ink-mute);font-weight:400}.entorno-preco .ticket-unidade{font-size:11px;margin-top:4px;letter-spacing:.04em}.entorno-confianca,.entorno-preco .ticket-unidade{font-family:var(--font-sans);color:var(--color-ink-mute)}.entorno-confianca{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--color-rule);font-size:10px;letter-spacing:.03em;text-transform:uppercase}.entorno-confianca .track{flex:1 1;height:4px;background:var(--color-paper-3);border-radius:2px;overflow:hidden}.entorno-confianca .fill{height:100%;background:var(--color-accent);border-radius:2px}.entorno-confianca .pct{font-weight:600;color:var(--color-ink-soft);min-width:36px;text-align:right}.entorno-alertas{margin-top:var(--space-3);display:flex;flex-direction:column;gap:6px}.entorno-alertas .alerta{display:flex;align-items:flex-start;gap:var(--space-2);padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-caution-bg);border:1px solid var(--color-caution-soft);font-size:11px;line-height:1.5;color:var(--color-ink-soft)}.entorno-alertas .alerta-icon{color:var(--color-negative);font-weight:700;flex-shrink:0}.entorno-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-4)}.entorno-stack{display:flex;flex-direction:column;gap:var(--space-7);margin-top:var(--space-6)}.entorno-resumo{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px dashed var(--color-rule);font-size:var(--text-md);line-height:1.6;color:var(--color-ink-soft)}.entorno-resumo strong{color:var(--color-ink);font-weight:600}.entorno-grupo{padding:var(--space-5);background:var(--color-paper-1);border:1px solid var(--color-rule);border-radius:var(--radius-lg)}.entorno-grupo-head{margin-bottom:var(--space-4)}.entorno-grupo-head h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.015em;color:var(--color-ink);margin:0}.entorno-grupo-head p{margin:3px 0 0;font-size:var(--text-sm);color:var(--color-ink-mute);line-height:1.45}.entorno-raio{margin:var(--space-2) 0 var(--space-5)}.entorno-raio-label{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-ink)}.entorno-raio-label span{font-size:var(--text-xs);font-weight:400;letter-spacing:0;text-transform:none}.entorno-raio-label span,.entorno-tabs .tab{font-family:var(--font-sans);color:var(--color-ink-mute)}.entorno-tabs .tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:var(--space-3) var(--space-4);font-size:11px;letter-spacing:.03em;text-transform:uppercase;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.entorno-tabs .tab:hover{color:var(--color-ink-soft)}.entorno-tabs .tab.active{color:var(--color-accent-bright);border-bottom-color:var(--color-accent)}.entorno-section{margin:var(--space-5) 0}.entorno-grupo .entorno-section:first-child{margin-top:0}.entorno-grupo .entorno-section:last-child{margin-bottom:0}.entorno-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-rule)}.entorno-section-head h3{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-ink-soft);margin:0}.entorno-section-head .hint{font-family:var(--font-sans);font-size:10px;letter-spacing:.04em;color:var(--color-ink-mute)}.entorno-aneis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;margin-bottom:var(--space-4);padding:4px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.entorno-aneis button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;min-height:52px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:background var(--dur-fast) var(--ease-out);display:flex;flex-direction:column;gap:2px}@media (hover:hover) and (pointer:fine){.entorno-aneis button:hover{background:var(--color-paper-3)}}.entorno-aneis button.active{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.entorno-aneis button:active{transform:translateY(1px)}.entorno-aneis button:disabled{opacity:.55;cursor:not-allowed;color:var(--color-ink-mute)}.entorno-aneis .ring-label{font-size:11px;color:var(--color-ink-soft);font-weight:500;white-space:nowrap}.entorno-aneis button.active .ring-label{color:var(--color-ink)}.entorno-aneis .ring-radius{font-family:var(--font-sans);font-size:10px;letter-spacing:.04em;color:var(--color-ink-mute)}.entorno-aneis button.active .ring-radius{color:var(--color-accent-bright)}