:root{--font-display: "Syne", "Trebuchet MS", system-ui, sans-serif;--font-sans: "Syne", "Trebuchet MS", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--bg: #f8f4fb;--grid-line: rgba(245, 81, 177, .06);--surface-0: #ffffff;--surface-1: #ffffff;--surface-2: #fdf7fc;--border-subtle: rgba(18, 21, 40, .08);--border: rgba(18, 21, 40, .12);--border-accent: rgba(245, 81, 177, .32);--accent: #f551b1;--accent-glow: rgba(245, 81, 177, .15);--accent-dim: rgba(245, 81, 177, .1);--hot: #ff566a;--success: #10b981;--text-1: #121528;--text-2: #5f5874;--text-3: #9388a9;--shadow: 0 18px 48px rgba(18, 21, 40, .08);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text-1);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}#root{min-height:100vh}@keyframes shellIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.7}50%{opacity:1}}.cadastro-page{position:relative;min-height:100vh;min-height:100dvh;background:var(--bg);isolation:isolate;overflow-x:hidden}.cadastro-page:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.cadastro-page:after{content:"";position:fixed;top:-15%;left:50%;transform:translate(-50%);width:100vw;max-width:700px;height:500px;background:radial-gradient(ellipse at top,rgba(245,81,177,.1) 0%,transparent 65%);pointer-events:none;z-index:0}.cadastro-shell{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 0 calc(68px + env(safe-area-inset-bottom));animation:shellIn .5s cubic-bezier(.16,1,.3,1) both;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:58px;background:#f8f4fbeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border-subtle)}.brand{display:flex;align-items:center;gap:10px}.brand__logo{height:24px;width:auto;object-fit:contain;display:block}.brand__title{margin:0;font-family:var(--font-display);font-size:.875rem;font-weight:700;color:var(--text-1);letter-spacing:.02em;line-height:1}.brand__subtitle{margin:3px 0 0;font-size:.6rem;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-weight:600;line-height:1}.topbar-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent);font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;animation:pulseGlow 3s ease infinite}.tab-nav{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;align-items:stretch;background:#fffffff2;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);height:calc(60px + env(safe-area-inset-bottom))}.tab-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 16px 10px;background:none;border:none;cursor:pointer;color:var(--text-3);font-family:var(--font-sans);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s ease;position:relative;-webkit-tap-highlight-color:transparent}.tab-button:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:36px;height:2px;background:var(--accent);border-radius:0 0 3px 3px;box-shadow:0 0 12px var(--accent-glow);transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.tab-button.is-active{color:var(--accent)}.tab-button.is-active:after{transform:translate(-50%) scaleX(1)}.tab-button__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}.tab-button__icon svg{width:18px;height:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 16px 0;margin-bottom:14px}.page-title{margin:0;font-family:var(--font-display);font-size:clamp(1.3rem,5.5vw,2rem);font-weight:800;color:var(--text-1);letter-spacing:-.03em;line-height:1.15}.page-description{margin:6px 0 0;color:var(--text-2);font-size:.78rem;line-height:1.65}.reference-banner,.surface-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.reference-banner{position:relative;margin:0 16px 14px;padding:14px 14px 14px 48px;border-color:var(--border-accent);box-shadow:0 0 0 1px #f551b10f inset,0 10px 28px #12152812}.reference-banner__toggle{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--border-accent);background:var(--accent-dim);cursor:pointer;color:var(--accent);transition:background .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.reference-banner__toggle:hover{background:#f551b129;box-shadow:0 0 20px var(--accent-glow)}.reference-banner__toggle svg{width:14px;height:14px}.reference-banner__title{display:flex;align-items:center;margin-bottom:10px;color:var(--accent);font-family:var(--font-display);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.reference-banner__items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reference-chip{display:grid;gap:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-2);font-size:.74rem;line-height:1.5;transition:border-color .2s}.reference-chip:hover{border-color:var(--border-accent)}.reference-chip strong{color:var(--text-1);font-family:var(--font-display);font-size:.7rem;font-weight:700}.reference-reopen{display:block;margin:0 16px 14px;padding:8px 16px;border-radius:999px;border:1px solid var(--border-accent);background:var(--accent-dim);color:var(--accent);font-family:var(--font-sans);font-size:.74rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.reference-reopen:hover{background:#f551b124;box-shadow:0 0 24px var(--accent-glow)}.workspace-main{padding:0 16px;display:grid;flex:1}.panel-grid{display:grid;gap:12px}.panel-grid--single{grid-template-columns:1fr}.surface-card{transition:border-color .2s}.surface-card:hover{border-color:#f551b12e}.surface-card--compact{padding:18px}.panel-heading{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.hero-title,.panel-title,.result-title{margin:0;font-family:var(--font-display);color:var(--text-1);letter-spacing:-.02em;line-height:1.2}.panel-title{font-size:1.05rem;font-weight:700}.result-title{font-size:.95rem;font-weight:700}.panel-description{margin:6px 0 0;color:var(--text-2);font-size:.78rem;line-height:1.6}.grid-two-columns{display:grid;grid-template-columns:1fr;gap:14px}.field{display:grid;gap:8px;margin-bottom:16px}.grid-controls{display:grid;grid-template-columns:1fr;gap:14px}.radio-group{display:flex;flex-wrap:wrap;gap:8px;min-height:44px;align-items:center}.radio-option{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:.84rem;cursor:pointer;transition:all .15s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.radio-option:has(input:checked){border-color:var(--border-accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 20px var(--accent-glow)}.radio-option input{margin:0;accent-color:var(--accent)}.stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center}.stepper--small{grid-template-columns:36px minmax(0,56px) 36px}.stepper__button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.stepper__button:hover:not(:disabled){background:var(--accent-dim);border-color:var(--border-accent);color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.stepper__button:active:not(:disabled){transform:scale(.94)}.stepper--small .stepper__button{width:36px;height:36px}.stepper__input{text-align:center}.field__label{color:var(--text-3);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.field__helper{color:var(--text-3);font-size:.76rem;line-height:1.55}.field__error{color:var(--hot);font-size:.76rem;font-weight:600}.input,.textarea,select.input{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);outline:none;transition:border-color .15s,box-shadow .15s;caret-color:var(--accent)}.textarea{min-height:112px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus,select.input:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-glow)}.input--error{border-color:#ff566a73;box-shadow:0 0 0 3px #ff566a14}.input--small{min-height:36px;max-width:56px;padding-inline:6px;font-size:.85rem}.input--mono,.result-cnpj{font-family:var(--font-mono);letter-spacing:.06em}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.status-badge--valid{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.28)}.status-badge--invalid{background:#ff566a1a;color:var(--hot);border:1px solid rgba(255,86,106,.28)}.status-badge--incomplete,.status-badge--neutral{background:var(--accent-dim);color:var(--accent);border:1px solid var(--border-accent)}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.button-row--spread{justify-content:space-between}.button-row--end{justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:scale(.96)}.btn--primary{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 4px 20px var(--accent-glow)}.btn--primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 28px #f551b159;transform:translateY(-1px)}.btn--secondary{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.btn--secondary:hover:not(:disabled){color:var(--text-1);border-color:var(--border-accent);background:var(--accent-dim)}.btn--block{width:100%}.btn:disabled,.icon-btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important;box-shadow:none!important}.result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.result-header--tight{align-items:flex-start}.result-header--tight .status-badge{font-size:.52rem;padding:4px 8px;white-space:nowrap}.result-cnpj{margin:14px 0 10px;color:var(--accent);font-size:clamp(1rem,4.5vw,1.5rem);font-weight:700;letter-spacing:.08em;word-break:break-all;text-shadow:0 0 28px var(--accent-glow)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-row--center{justify-content:center}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.04em;font-family:var(--font-mono)}.chip--accent{background:#818cf81a;border-color:#818cf847;color:#a5b4fc}.mini-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}.empty-state{margin:14px 0 0;color:var(--text-3);font-size:.8rem;line-height:1.65;padding:12px 14px;background:var(--surface-2);border-radius:var(--radius-sm);border:1px dashed var(--border)}.empty-state--success{color:var(--success);background:#10b9810f;border-color:#10b98138;border-style:solid;font-weight:600}.inline-feedback{margin:10px 0 0;color:var(--text-3);font-size:.78rem;font-family:var(--font-mono)}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.cnpj-table{width:100%;border-collapse:collapse}.cnpj-table th,.cnpj-table td{padding:12px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.cnpj-table th{color:var(--text-3);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-family:var(--font-display);background:var(--surface-2);white-space:nowrap}.cnpj-table tbody tr:hover td{background:#f551b108}.cnpj-table__actions{width:100px}.row-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--text-1);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.row-content{display:inline-flex;align-items:center}.row-toggle svg{transition:transform .2s ease;color:var(--text-3);flex-shrink:0;width:16px;height:16px}.row-toggle.is-open svg{transform:rotate(180deg);color:var(--accent)}.row-toggle span,.row-content span{display:grid;gap:2px}.row-toggle small,.branch-item small{color:var(--text-3);font-family:var(--font-mono);font-size:.67rem}.row-toggle strong,.row-content strong,.branch-item strong{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-1);font-size:.83rem}.icon-btn{display:inline-flex;align-items:center;gap:5px;min-height:34px;margin-right:4px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:.76rem;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.icon-btn:hover:not(:disabled){border-color:var(--border-accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.branch-row td{background:#f551b105}.branch-list{display:flex;flex-direction:column;gap:6px;padding:4px 0}.branch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-0);border:1px solid var(--border-subtle);transition:border-color .2s}.branch-item:hover{border-color:#f551b133}.branch-item>div{display:grid;gap:2px}@media(min-width:600px){.grid-controls{grid-template-columns:220px minmax(0,1fr)}.grid-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-banner__items,.mini-grid{grid-template-columns:repeat(2,1fr)}.cnpj-table{min-width:440px}}@media(min-width:900px){.cadastro-shell{max-width:1080px;padding:32px 24px 72px}.topbar{position:relative;height:auto;padding:0 0 24px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-subtle);margin-bottom:28px}.brand__logo{height:30px}.topbar-badge{font-size:.64rem;padding:5px 12px}.tab-nav{position:static;height:auto;padding:5px;background:#ffffffd6;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:var(--radius);width:fit-content;margin-bottom:24px}.tab-button{flex:0 0 auto;flex-direction:row;gap:8px;font-size:.84rem;padding:9px 18px;border-radius:var(--radius-sm);border:1px solid transparent;text-transform:none;letter-spacing:.01em;font-weight:600;color:var(--text-2)}.tab-button:after{display:none}.tab-button:hover:not(.is-active){color:var(--text-1);background:var(--accent-dim)}.tab-button.is-active{background:var(--accent);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 0 24px var(--accent-glow)}.tab-button.is-active .tab-button__icon{color:#fff}.tab-button__icon svg{width:16px;height:16px}.page-header{padding:0;margin-bottom:20px}.reference-banner{margin:0 0 20px}.reference-banner__items{grid-template-columns:repeat(4,1fr)}.workspace-main{padding:0}.panel-grid{gap:20px}.surface-card--compact{padding:26px}.grid-controls{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}.mini-grid{grid-template-columns:repeat(3,1fr)}.result-cnpj{font-size:clamp(1.1rem,2.5vw,1.55rem)}}@media(max-width:599px){.cnpj-table th:nth-child(3),.cnpj-table td:nth-child(3){display:none}.row-toggle small,.row-content small,.branch-row{display:none}.row-toggle{pointer-events:none;cursor:default}.row-toggle>svg:first-child{display:none}}@media(max-width:430px){.topbar{padding:0 12px;height:52px}.brand__subtitle{display:none}.brand__logo{height:20px}.topbar-badge{font-size:.54rem;padding:3px 8px}.page-header{padding:14px 12px 0;margin-bottom:10px}.page-title{font-size:1.25rem}.page-description{font-size:.73rem}.reference-banner{margin:0 12px 12px;padding:12px 12px 12px 44px;box-shadow:0 0 0 1px #f551b10f inset,0 8px 24px #12152814}.reference-banner__toggle{top:10px;left:10px}.reference-banner__items{grid-template-columns:1fr}.reference-chip{padding:8px 10px;font-size:.72rem}.reference-reopen{margin:0 12px 12px}.workspace-main{padding:0 12px}.surface-card--compact{padding:14px}.panel-heading{margin-bottom:12px;padding-bottom:10px}.panel-title{font-size:.95rem}.button-row{gap:6px}.btn{flex:1 1 auto;font-size:.74rem;padding:0 10px;min-height:42px}.field__label{font-size:.62rem}.cnpj-table th,.cnpj-table td{padding:8px 6px}.cnpj-table th{font-size:.55rem;letter-spacing:.1em}.cnpj-table th:nth-child(2),.cnpj-table td:nth-child(2){display:none}.cnpj-table__actions{width:44px;min-width:44px}.cnpj-table .icon-btn{padding:0;width:36px;min-width:36px;justify-content:center;font-size:0;letter-spacing:0}.cnpj-table .icon-btn svg{width:15px;height:15px;flex-shrink:0}.icon-btn{padding:0 8px;font-size:.7rem;min-height:32px;margin-right:0}.tab-button{font-size:.53rem;gap:3px;padding:6px 10px 8px}.tab-button__icon svg{width:16px;height:16px}}
