/* Acabamento compartilhado: usa as cores semânticas dos temas e os azuis da Vindex. */
:root{--muted:#596b84;--text-subtle:#596b84;--focus:#0756ff;--input-line:#8292aa;--warning-text:#795916;--danger-text:#9e3447;--success-text:#21674e;--shadow:0 4px 18px #0b235208;--ease:cubic-bezier(.2,.7,.3,1)}
body{font-size:14px;line-height:1.65}h1{font-size:clamp(26px,2.4vw,34px);font-weight:720;letter-spacing:-.85px}h2{font-weight:650}h3{letter-spacing:-.25px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:var(--font)}
[hidden]{display:none!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.js :is(body,.topbar,.panel,.stat-card,.notice,.message,.button,input,select,textarea,.pill,.theme-toggle,.auth-tabs,.auth-tabs a){transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}
.content{max-width:1560px;padding:34px 36px 40px}.page-heading{gap:20px;margin-bottom:26px}.page-heading p{max-width:760px;line-height:1.75}.page-heading>div,.panel-heading>div{min-width:0}.page-heading .button-row{flex-wrap:wrap}
.eyebrow{font-size:10px;letter-spacing:1.7px}.section-toolbar{flex-wrap:wrap}.section-title h2{font-size:16px}
.topbar{position:sticky;top:0;z-index:30;height:auto;min-height:88px;padding:16px 36px;gap:16px}.topbar-left{flex:1;min-width:0}.topbar-right{gap:16px;flex-shrink:0}.breadcrumb{font-size:12px;line-height:1.6;color:var(--muted)}.breadcrumb strong{color:var(--text-secondary)}.breadcrumb span{margin:0 8px}.account-text{max-width:145px}.local-pill{color:var(--muted)}
.theme-controls{gap:10px}.theme-toggle{min-height:42px;border-color:var(--input-line);font-size:12px}.theme-toggle:active{transform:translateY(1px)}
.sidebar{padding:30px 20px 20px;z-index:50}.sidebar .brand-link{margin-bottom:30px}.nav-caption{font-size:10px;color:#93a5c8;letter-spacing:1.4px}.nav-list{gap:5px}.nav-item{min-height:44px;border:1px solid transparent}.nav-item.active{border-color:#4684ff}.nav-item:hover{transform:translateX(2px)}.nav-item:active{transform:translateX(1px)}.nav-item:focus-visible,.sidebar-import:focus-visible{outline-color:#8db3ff;outline-offset:2px}.sidebar-version,.sidebar-note{color:#91a3c6}.sidebar-note strong{color:#d3def2}.sidebar-close{display:none;background:transparent;color:#d3def2;border:1px solid #334969;border-radius:8px;padding:8px 12px;min-height:42px;align-items:center;justify-content:center;gap:8px;margin:0 0 22px auto}.menu-backdrop{display:none}
.panel{border-radius:14px}.panel-heading{padding:23px 24px 19px;flex-wrap:wrap}.panel-heading h2{font-size:16px;line-height:1.5}.panel-heading p{font-size:12px;line-height:1.7}.panel-heading .table-actions{flex-wrap:wrap;justify-content:flex-start}.stat-grid{gap:18px}.stat-card{padding:22px 20px;min-height:150px;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #050b1d12}.stat-label{font-size:12px;margin-bottom:14px}.stat-card>strong{font-size:30px;font-variant-numeric:tabular-nums}.stat-card>small{font-size:11px;line-height:1.6}.stat-card>strong.money-stat{font-size:clamp(19px,1.8vw,27px);overflow-wrap:anywhere}
.content :is(.stat-label,.stat-card>small,.section-title>span,.panel-heading p,td small,th,.demo-label,.forecast-row>div:first-child,.company-summary .grow small,.activity-item p,.activity-item small,.empty-inline,.demo-note,.company-legal,.cnpj-line,.company-card-stats span,.cert-line,.empty-state p,.field-help,.guidance p,.guidance li,.footnote,.pagination,.drop-zone p,.title-secondary,.detail-label,.invoice-summary small,.key-panel p,.account-banner small,.demo-panel p){color:var(--muted)}
.button{font-size:13px;min-height:44px;padding:11px 17px;border-radius:9px}.button.small{font-size:12px;min-height:36px}.button:hover{filter:brightness(1.025)}.button:active,.icon-button:active,.text-button:active{transform:translateY(1px)}.button.secondary{color:var(--text-secondary)}.text-button,.text-link{font-size:12px}.text-button{min-height:36px}.icon-button{width:42px;height:42px}.button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.65}.button[aria-disabled=true]{cursor:wait}.danger-text{color:var(--danger-text)}
.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--input-line) transparent}.table-scroll:focus-visible{outline-offset:-3px}.table-scroll table{min-width:560px;font-size:12px}th{font-size:11px;font-weight:600;letter-spacing:.02em;padding:14px 22px;background:var(--table-head)}td{padding:18px 22px;line-height:1.6}td small{font-size:11px;line-height:1.6;margin-top:5px}.align-right,.section-total,.money-stat,.invoice-value,.company-card-stats strong{font-variant-numeric:tabular-nums}.company-tag{font-size:10px;padding:4px 8px}.pill{font-size:11px;padding:5px 9px;gap:5px}.table-empty{font-size:13px;line-height:1.8;padding:38px 24px}.table-actions{flex-wrap:wrap}.pagination{font-size:12px;flex-wrap:wrap;padding:18px 24px}.panel-heading .section-total{overflow-wrap:anywhere}
.notice,.message{font-size:13px;line-height:1.75;border-radius:11px;padding:16px 18px}.notice.compact{font-size:12px;padding:13px 16px}.notice a,.field-help a{text-decoration:underline;text-underline-offset:3px}.notice.warning strong,.notice.warning>.icon{color:var(--warning-text)}.message{align-items:flex-start}.message.error{border-left-width:3px}.messages:empty{display:none}.js .message{animation:vindex-appear .18s var(--ease)}
.form-panel{padding:30px;max-width:760px}.stack-form{gap:21px}.form-field{gap:8px}.form-field>label,.filter-field>label,.choice-group legend{font-size:13px;line-height:1.6}.form-field input:not([type=checkbox]):not([type=file]),select,textarea{min-height:46px;font-size:14px;line-height:1.5}.form-field textarea{resize:vertical;min-height:100px}.form-field input::placeholder{color:var(--muted);opacity:1}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--focus);outline-offset:2px;box-shadow:none}.field-help{font-size:12px;line-height:1.75}.checkbox-field label{font-size:12px}.choice-group label{font-size:13px}.choice-group input[type=checkbox]{width:18px;height:18px}.checkbox-field input{width:18px;height:18px}.form-actions{padding-top:22px;gap:12px}.form-actions .button{white-space:normal}
input[type=file]{min-height:54px;background:var(--surface);border-color:var(--input-line);padding:12px;font-size:12px;color:var(--text-secondary);overflow:hidden}input[type=file]::file-selector-button{min-height:36px;padding:7px 11px;border-radius:6px;font-weight:600}.file-summary{font-size:12px;line-height:1.7;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}.drop-zone{padding:34px 24px;border-color:var(--input-line)}.drop-zone.dragging{border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link)}.drop-zone .selected-files{font-size:12px;color:var(--muted)}.drop-zone:focus-within{outline:3px solid var(--focus);outline-offset:3px}.drop-zone .file-label{white-space:normal}.errorlist{font-size:12px;line-height:1.75;padding:12px 14px 12px 29px}.errorlist:focus{outline:3px solid var(--focus);outline-offset:3px}.form-field:has(.errorlist) input:not([type=checkbox]),.form-field:has(.errorlist) select,.form-field:has(.errorlist) textarea,[aria-invalid=true]{border-color:var(--danger-text)}
.filters{gap:14px}.filter-panel{padding:22px 24px}.filter-field{min-width:150px}.filter-field.filter-search{min-width:210px}.filter-field label{font-size:12px}.filter-field input,.filter-field select{font-size:13px;min-height:44px}.filter-field.date-field{max-width:190px}input[type=date]{min-width:0;max-width:100%}.company-filter{max-width:100%;align-items:center}.company-filter select{font-size:12px;width:260px;max-width:100%;min-height:42px}.filter-submit{min-height:44px}
.forecast-row>div:first-child,.forecast-row strong{font-size:12px}.bar-track{height:8px}.bar-track>span{transform-origin:left center}.js .bar-track>span{animation:vindex-bar .3s var(--ease)}.forecast-footer{font-size:12px}.company-summary .grow strong{font-size:13px}.company-summary .grow small,.company-summary>.muted{font-size:11px}.activity-item p{font-size:12px}.activity-item small{font-size:11px}.guidance p,.guidance li{font-size:13px}.footnote{font-size:12px}.key-panel code{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-all;line-height:1.8;font-size:13px;letter-spacing:.5px}.key-panel p{font-size:12px;line-height:1.8}.key-panel dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 14px}.key-panel dd{margin:0;overflow-wrap:anywhere}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;flex-wrap:wrap}.copy-row .detail-label{margin:0}.copy-button{min-width:104px;white-space:nowrap}.copy-button.is-copied{color:var(--success-text);background:var(--success-bg);border-color:var(--success-line)}
form.is-submitting [aria-disabled=true]{cursor:wait}form.is-submitting .button[aria-disabled=true]::before{content:'';width:14px;height:14px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vindex-spin .6s linear infinite}.auth-tabs a{font-size:13px}.auth-form-box>.muted{font-size:13px}.auth-local{font-size:11px;color:var(--muted)}.auth-form-box .field-help{font-size:11px}.auth-step{font-size:10px}.auth-form-area{padding:42px 36px}.auth-form-box{max-width:440px}.auth-form-box .theme-toolbar{justify-content:flex-start;margin-bottom:28px}.auth-form-box .theme-controls{justify-content:flex-start}.auth-form-box .theme-controls{align-items:flex-end}.app-footer{font-size:10px;color:var(--muted);letter-spacing:.08em}
@keyframes vindex-appear{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes vindex-spin{to{transform:rotate(360deg)}}@keyframes vindex-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1300px){.topbar{padding:16px 26px}.topbar .account-text,.local-pill{display:none}.content{padding:30px 26px}.topbar-right{gap:12px}.dashboard-columns{gap:18px}}
@media(max-width:1000px){.content{padding:28px 24px}.stat-card>strong.money-stat{font-size:24px}.auth-brand{padding:36px 28px}.auth-form-area{padding:36px 26px}}
@media(max-width:760px){.sidebar{width:min(300px,calc(100vw - 40px));padding:22px;transition:transform .18s var(--ease)}.sidebar-close{display:flex}.menu-open{overflow:hidden}.menu-open .sidebar{box-shadow:10px 0 60px #0005}.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:45;background:#050b1d88;border:0;padding:0}.mobile-toggle{display:inline-flex;flex-shrink:0}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:0;padding:14px 18px;position:relative}.topbar-left{grid-column:1;grid-row:1;gap:8px}.topbar-right{display:contents}.topbar .account-link{grid-column:2;grid-row:1}.topbar .theme-controls{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-start}.topbar .theme-toggle{width:auto;min-height:44px;font-size:12px;padding:10px 12px}.topbar .theme-toggle span{display:inline}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 5px}.breadcrumb strong{overflow-wrap:anywhere}.content{padding:25px 18px 32px}.app-shell{min-width:0}.stat-grid{gap:12px}.stat-card{padding:18px 15px;min-height:142px}.stat-label{font-size:12px}.stat-card>strong.money-stat{font-size:22px}.stat-card>small{font-size:11px}.page-heading{gap:16px}.page-heading p{font-size:13px}.page-heading>.button,.page-heading>.button-row{max-width:100%}.page-heading .button{white-space:normal}.section-toolbar{align-items:flex-start;gap:13px}.company-filter{width:100%}.company-filter select{width:100%}.panel-heading{padding:21px 20px 17px}.panel-heading .table-actions{gap:8px}.panel-heading .table-actions .button{white-space:normal}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px}.form-panel,.guidance{padding:24px 20px}.form-field input:not([type=checkbox]):not([type=file]),select,textarea{font-size:16px}.filter-panel{padding:19px 18px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filter-field,.filter-field.filter-search,.filter-field.date-field{min-width:0;max-width:none;width:100%}.filter-field.filter-search{grid-column:1/-1}.filter-submit{grid-column:1/-1;width:100%}.filters>.text-link{min-height:36px}.filter-field input,.filter-field select{font-size:16px}.notice.compact{font-size:12px}.app-footer{padding:18px;font-size:10px}.key-panel{padding:21px 20px}.key-panel code{font-size:12px}.invoice-summary{padding:24px 20px}.invoice-summary strong.invoice-value{font-size:24px}.copy-row{align-items:flex-start}.auth-layout{min-height:100svh}.auth-brand{padding:26px 22px}.auth-copy{padding-top:26px}.auth-copy h1{font-size:28px}.auth-copy>p{font-size:12px}.auth-form-area{padding:28px 22px 38px}.auth-form-box .theme-controls{display:flex;justify-content:flex-start}.auth-form-box .theme-toggle{font-size:12px;min-height:44px}.auth-form-box .theme-toolbar{margin-bottom:25px}.limit-panel{padding:28px 22px}.limit-panel .theme-controls{justify-content:flex-start}}
@media(max-width:400px){.content{padding:22px 14px}.topbar{padding:12px 14px}.topbar .theme-toggle,.auth-form-box .theme-toggle{font-size:11px;padding:10px}.theme-toggle .icon{width:16px;height:16px}.topbar .theme-controls,.auth-form-box .theme-controls{gap:8px}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:125px}.stat-card>strong.money-stat{font-size:27px}.filters{grid-template-columns:1fr}.filter-field,.filter-field.filter-search,.filter-submit{grid-column:1}.hero-panel{padding:26px 20px}.hero-panel h2{font-size:26px}.hero-copy{max-width:100%}.button-row{width:100%}.invoice-summary{grid-template-columns:1fr}.invoice-summary>div:first-child{grid-column:auto}.pagination{justify-content:flex-start}.form-actions{justify-content:flex-start}.form-actions .button{flex:1}.auth-form-area{padding:25px 16px}.auth-copy .eyebrow{font-size:8px}.auth-form-box h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sidebar-import.active{background:#102c67;border-color:#4684ff;color:#fff}
@media(max-width:760px){html:not(.js) .sidebar{position:static;transform:none;width:100%;max-height:none}html:not(.js) .mobile-toggle,html:not(.js) .sidebar-close{display:none}}

:root[data-theme="dark"]{--focus:#8db3ff;--input-line:#62748f}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--focus:#8db3ff;--input-line:#62748f}}
.auth-tabs a{color:var(--muted)}

.page-heading h1,.company-card h2,.company-legal,.company-summary .grow strong,.account-banner strong{overflow-wrap:anywhere}
@media(max-width:500px){.stat-grid{grid-template-columns:1fr}.stat-card>strong.money-stat{font-size:27px}}

/* Área de NFS-e: usa os tokens compartilhados nos dois temas. */
.nfse-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.nfse-summary .panel{padding:20px 24px;display:flex;flex-direction:column;gap:10px}
.nfse-summary span,.nfse-data dt{color:var(--muted);font-size:12px}
.nfse-summary strong{font-size:28px;font-variant-numeric:tabular-nums}
.nfse-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.nfse-filters label{min-width:0}.nfse-filters .button-row{grid-column:1/-1}
.nfse-panel{padding:24px;margin-bottom:20px}.nfse-panel h2{font-size:17px;margin-bottom:18px}
.nfse-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px;margin:0}
.nfse-data div{min-width:0}.nfse-data dd{margin:6px 0 0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.65}
.nfse-description{grid-column:1/-1}.nfse-key{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.8}
.nfse-money{white-space:nowrap;font-variant-numeric:tabular-nums}.nfse-panel .page-heading{gap:20px}
@media(max-width:900px){.nfse-filters,.nfse-data{grid-template-columns:repeat(2,minmax(0,1fr))}.nfse-panel .page-heading{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.nfse-summary,.nfse-filters,.nfse-data{grid-template-columns:1fr}.nfse-summary{gap:10px}.nfse-summary .panel{padding:16px 20px;flex-direction:row;align-items:center;justify-content:space-between}.nfse-panel{padding:20px 16px}.nfse-filters .button-row{width:100%}}
