:root{--font-sans: Inter, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "Cascadia Mono", "JetBrains Mono", Consolas, monospace;--background: #050914;--app-shell: #08111f;--surface: #0c1524;--surface-muted: #111d2e;--surface-raised: #131f31;--surface-overlay: #172338;--text: #f7fbff;--text-muted: #b7c5d8;--text-subtle: #8fa2b8;--border: rgba(148, 163, 184, .18);--border-strong: rgba(191, 219, 254, .26);--primary: #4aa8ff;--primary-strong: #87c7ff;--primary-soft: #0c2b47;--secondary: #10243d;--warning: #f2b24d;--danger: #ff756c;--success: #37d9a4;--radius-sm: 1px;--radius-md: 2px;--radius-lg: 3px;--radius-xl: 4px;--radius-panel: 4px;--shadow-shell: 0 22px 80px rgba(0, 0, 0, .48);--shadow-panel: 0 14px 36px rgba(0, 0, 0, .34);--shadow-glow: 0 14px 36px rgba(74, 168, 255, .18)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--text);background:radial-gradient(circle at 14% 0%,rgba(74,168,255,.18),transparent 30%),radial-gradient(circle at 92% 10%,rgba(37,99,235,.11),transparent 34%),linear-gradient(180deg,#07111f 0%,var(--background) 100%);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{border:0}.app-console-wrapper{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px),transparent;background-size:32px 32px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;margin:12px 12px 0;padding:10px 14px;background:#0c1524eb;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-shell);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-brand{display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-brand span{color:var(--primary);font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.topbar h1{margin:0;color:var(--text);font-size:17px;font-weight:800;letter-spacing:-.01em}.topbar .persona{display:flex;align-items:center;gap:10px;min-width:0}.persona-chip{display:grid;justify-items:end;gap:1px;max-width:380px;padding:8px 12px;color:var(--text);background:#4aa8ff1a;border:1px solid rgba(74,168,255,.22);border-radius:var(--radius-md)}.persona-chip strong,.persona-chip small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-chip strong{font-size:13px;font-weight:800;line-height:1.25}.persona-chip small{color:var(--primary);font-size:11px;font-weight:700}.product-kicker{display:inline-flex;align-items:center;width:fit-content;gap:8px;margin-bottom:12px;padding:5px 10px;color:var(--primary);background:#4aa8ff1c;border:1px solid rgba(74,168,255,.24);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.product-kicker:before{content:"";width:6px;height:6px;border-radius:var(--radius-sm);background:var(--primary);box-shadow:0 0 14px #4aa8ff85}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,rgba(74,168,255,.18),transparent 28%),radial-gradient(circle at 80% 0%,rgba(37,99,235,.14),transparent 34%),var(--background)}.login-card{position:relative;isolation:isolate;width:min(100%,460px);display:grid;gap:16px;padding:28px;background:#0c1524e6;border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-shell);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.login-card:before{content:"";position:absolute;inset:auto -90px -110px auto;width:240px;height:240px;border-radius:var(--radius-sm);background:#4aa8ff29;filter:blur(54px);pointer-events:none;z-index:-1}.login-brand{display:grid;gap:7px;padding-bottom:14px;border-bottom:1px solid var(--border)}.login-brand h1,.page h2,.detail-heading h3{margin:0;color:var(--text);font-weight:900;letter-spacing:-.02em}.login-brand h1{font-size:clamp(2rem,5vw,2.6rem);line-height:1.04}.login-brand p,.subtitle{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.field-label{color:var(--text-muted);font-size:13px;font-weight:700}select,input.chave-nfe{width:100%;min-height:40px;padding:9px 12px;color:var(--text);background:#0c1524eb;border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}select:focus,input.chave-nfe:focus{border-color:#4aa8ffa6;box-shadow:0 0 0 3px #4aa8ff24}.profile-preview{display:grid;gap:7px;padding:14px;background:#4aa8ff1c;border:1px solid rgba(74,168,255,.24);border-radius:var(--radius-lg)}.profile-preview strong{color:var(--text)}.profile-preview>span{color:var(--text-muted);font-size:13px}.profile-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-tags span,.tag,.status-pill,.badge-critico{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:4px 9px;border-radius:var(--radius-sm);font-size:11px;font-weight:800;line-height:1;justify-self:end;align-self:start;white-space:nowrap}.profile-tags span{color:var(--primary-strong);background:var(--surface-raised);border:1px solid rgba(74,168,255,.24)}.page{position:relative;width:calc(100% - 24px);max-width:1440px;margin:12px auto 16px;flex:1;padding:24px;background:#09101df0;border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-shell);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;animation:pageReveal .36s cubic-bezier(.22,1,.36,1) both}.page:before{content:"";position:absolute;top:-180px;right:-160px;width:380px;height:380px;border-radius:var(--radius-sm);background:#4aa8ff1f;filter:blur(80px);pointer-events:none}.page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 30%,#000 12%,transparent 100%);mask-image:radial-gradient(ellipse 78% 72% at 50% 30%,#000 12%,transparent 100%);pointer-events:none}.page>*{position:relative;z-index:1}@keyframes pageReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes shimmerSweep{0%{opacity:0;transform:translate(-120%)}30%{opacity:1}to{opacity:0;transform:translate(230%)}}.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.page h2{margin-top:8px;font-size:clamp(2rem,4.2vw,3.2rem);line-height:.98}.hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(132px,1fr));gap:12px}.hero-metrics div{min-width:132px;padding:16px;background:#0f1b2fd1;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.hero-metrics strong{display:block;color:var(--text);font-size:28px;font-weight:900;line-height:1}.hero-metrics span{display:block;margin-top:6px;color:var(--text-subtle);font-size:12px;line-height:1.35}.card,.context-strip,.alert{background:#0c1524eb;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.card{padding:16px}.data-panel{position:relative;overflow:hidden;padding:0}.data-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at top right,rgba(74,168,255,.08),transparent 42%)}.data-panel>*{position:relative;z-index:1}.context-strip{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px}.context-strip span{color:var(--text-subtle);font-size:12px;font-weight:700}.context-strip strong{color:var(--text)}.context-strip small{color:var(--primary)}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.hub-grid .hub-btn{animation:cardEnter .26s cubic-bezier(.22,1,.36,1) both}.hub-grid .hub-btn:nth-child(1){animation-delay:0ms}.hub-grid .hub-btn:nth-child(2){animation-delay:45ms}.hub-grid .hub-btn:nth-child(3){animation-delay:90ms}.hub-grid .hub-btn:nth-child(4){animation-delay:135ms}.hub-grid .hub-btn:nth-child(5){animation-delay:.18s}.hub-grid .hub-btn:nth-child(6){animation-delay:225ms}.hub-grid .hub-btn:nth-child(7){animation-delay:.27s}.hub-grid .hub-btn:nth-child(8){animation-delay:315ms}.hub-grid .hub-btn:nth-child(9){animation-delay:.36s}.hub-grid .hub-btn:nth-child(10){animation-delay:405ms}.hub-btn{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;height:124px;min-height:124px;padding:18px;text-align:left;color:var(--text);background:#0e192bfa;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s ease,border-color .2s ease,box-shadow .2s ease}.hub-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:42%;background:linear-gradient(90deg,transparent,rgba(191,219,254,.2),transparent);opacity:0;transform:translate(-120%);pointer-events:none}.hub-btn:hover{transform:translateY(-2px);background:var(--surface-raised);border-color:#4aa8ff5c;box-shadow:var(--shadow-glow)}.hub-btn:hover:before{animation:shimmerSweep .62s ease forwards}.hub-btn:active,.btn:active,.link-btn:active{transform:translateY(1px) scale(.99)}.hub-btn-copy{display:grid;gap:6px;min-width:0;align-self:start}.hub-btn-copy strong{min-height:38px;color:var(--text);font-size:15px;font-weight:800;line-height:1.25}.hub-btn-copy small{min-height:32px;color:var(--text-subtle);font-size:12px;line-height:1.35}.tag.poc,.status-pill.neutral{color:var(--success);background:#37d9a41f;border:1px solid rgba(55,217,164,.24)}.tag.legacy,.status-pill.warning,.badge-critico{color:var(--warning);background:#f2b24d21;border:1px solid rgba(242,178,77,.28)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.toolbar>span:first-child{color:var(--text);font-size:14px;font-weight:800}.last-update{color:var(--text-subtle);font-family:var(--font-mono);font-size:12px}.table-shell{width:100%;overflow-x:auto}table.grid{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;font-size:13px}table.grid th{padding:13px 14px;text-align:left;color:#f8fbff;background:var(--secondary);border-bottom:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}table.grid td{padding:13px 14px;color:var(--text);background:#0c1524bd;border-bottom:1px solid rgba(148,163,184,.12);vertical-align:middle}table.grid tbody tr:nth-child(2n) td{background:#111d2eeb}table.grid tbody tr:hover td{background:#4aa8ff11}.font-mono,.text-mono{font-family:var(--font-mono);font-size:12px}.strong-cell{color:var(--text);font-weight:800}.muted-cell{color:var(--text-subtle)}.plate-cell{letter-spacing:.04em}.align-right{text-align:right}.accent-cell,.inline-status{color:var(--primary);font-weight:800}.status-dot{display:inline-flex;width:8px;height:8px;margin-right:7px;vertical-align:middle;border-radius:var(--radius-sm);background:#64748bb3;box-shadow:0 0 0 3px #64748b14}.status-GREEN{background:var(--success);box-shadow:0 0 0 3px #0478571f,0 0 12px #04785733}.status-ORANGE{background:var(--warning);box-shadow:0 0 0 3px #b7791f1f,0 0 12px #b7791f2e}.status-RED{background:var(--danger);box-shadow:0 0 0 3px #b423181f,0 0 12px #b423182e}.alert{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:14px 16px;font-size:13px}.alert.error{color:var(--danger);background:#ff756c1f;border-color:#ff756c42}.alert.success{color:var(--success);background:#04785714;border-color:#0478572e}.alert.info{color:var(--primary-strong);background:#4aa8ff1f;border-color:#4aa8ff2e}.link-btn{padding:2px 0;color:var(--primary);background:transparent;border-bottom:1px solid rgba(74,168,255,.38);cursor:pointer;font-weight:800}.link-btn:hover{color:var(--primary-strong);border-color:currentColor}.link-btn:disabled{color:#b7c5d89e;border-color:transparent;cursor:not-allowed}.lock-info{display:grid;gap:4px;margin:0 16px 16px;padding:14px 16px;color:var(--warning);background:#f2b24d1f;border:1px solid rgba(242,178,77,.26);border-radius:var(--radius-md)}.lock-info span{color:#ffd38a;font-size:13px}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--border)}.detail-heading h3{margin-top:4px;font-size:clamp(1.5rem,3vw,2.15rem)}.form-actions{display:flex;justify-content:flex-end;padding:16px;border-top:1px solid var(--border)}input.chave-nfe{min-width:340px;font-family:var(--font-mono);font-size:12px}input.chave-nfe.invalida{border-color:#ff756cb8;background:#ff756c1f}.empty-cell{padding:36px!important;text-align:center;color:var(--text-subtle)!important}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;color:#04111f;background:linear-gradient(90deg,var(--primary-strong),var(--primary));border:1px solid rgba(74,168,255,.22);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 2px 12px #4aa8ff2e;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}.btn:hover{border-color:#4aa8ff61;box-shadow:0 4px 20px #4aa8ff3d}.btn:disabled{color:#b7c5d89e;background:#94a3b81a;border-color:var(--border);cursor:not-allowed;box-shadow:none}.btn.secondary{color:var(--primary);background:#0f1b2fd6;border-color:#4aa8ff29;box-shadow:none}.btn.secondary:hover{color:var(--primary-strong);background:#4aa8ff1f;border-color:#4aa8ff42}.page-return{align-self:flex-start;min-height:42px;padding-inline:18px;color:#04111f;background:linear-gradient(90deg,var(--primary-strong),var(--primary));border-color:#87c7ff85;text-decoration:none;box-shadow:0 8px 24px #4aa8ff3d}.page-return:hover{color:#020817;background:linear-gradient(90deg,#b7ddff,var(--primary));border-color:#b7ddffb8;box-shadow:0 10px 28px #4aa8ff52;text-decoration:none}.topbar-action{min-height:34px}.table-shell::-webkit-scrollbar,.page::-webkit-scrollbar{height:10px;width:10px}.table-shell::-webkit-scrollbar-track,.page::-webkit-scrollbar-track{background:#94a3b814}.table-shell::-webkit-scrollbar-thumb,.page::-webkit-scrollbar-thumb{background:#4aa8ff42;border-radius:var(--radius-sm)}@media (max-width: 820px){.topbar,.page-hero,.detail-heading,.toolbar,.context-strip{align-items:stretch;flex-direction:column}.topbar{position:static}.topbar .persona{align-items:stretch;flex-direction:column}.persona-chip{justify-items:start;max-width:none}.page{width:calc(100% - 16px);margin-top:8px;padding:16px}.hero-metrics,.hub-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn,.detail-heading .btn{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.system-popup{position:fixed;top:92px;right:24px;z-index:40;width:min(420px,calc(100vw - 32px));padding:16px;color:var(--text);background:linear-gradient(180deg,#131f31fa,#09101dfa);border:1px solid var(--border-strong);border-left:3px solid var(--warning);border-radius:var(--radius-panel);box-shadow:var(--shadow-shell);animation:popupIn .18s ease-out both}.system-popup.is-closing{pointer-events:none;animation:popupOut .16s ease-in forwards}.system-popup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.system-popup-header span{color:var(--warning);font-family:var(--font-mono);font-size:11px;font-weight:800;text-transform:uppercase}.system-popup strong{display:block;color:var(--text);font-size:15px;line-height:1.25}.system-popup p{margin:6px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45}@keyframes popupIn{0%{opacity:0;transform:translate3d(8px,-4px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes popupOut{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(8px,-4px,0)}}
