:root{--brand-900: #14294a;--brand-800: #1a3a6b;--brand-700: #1d4a8a;--brand-600: #2563b0;--brand-500: #3b82f6;--brand-100: #dbeafe;--brand-50: #eef4fc;--ink-900: #0f172a;--ink-700: #334155;--ink-600: #475569;--ink-500: #64748b;--ink-400: #94a3b8;--line-300: #cbd5e1;--line-200: #dde3ea;--line-100: #eceff3;--surface: #ffffff;--surface-2: #f7f9fb;--canvas: #f1f4f8;--ok-700: #146c2e;--ok-100: #dcf5e3;--ok-300: #8fd6a5;--warn-700: #9a5b00;--warn-100: #fdf1d6;--warn-300: #ecc46a;--err-700: #b42318;--err-100: #fde8e6;--err-300: #f0a9a2;--info-700: #1b4fb8;--info-100: #dde9fd;--info-300: #9cbdf5;--font-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, "Courier New", monospace;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-sm: 3px;--r-md: 5px;--r-lg: 8px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(15,23,42,.06);--sh-2: 0 2px 8px rgba(15,23,42,.1);--sh-3: 0 12px 32px rgba(15,23,42,.22);--header-h: 52px;--sidebar-w: 236px;--tap: 40px;--focus: 0 0 0 3px rgba(37,99,176,.4);--t-fast: .12s;--z-drawer: 150;--z-sidebar: 100;--z-header: 200;--z-modal: 1000;--z-toast: 1200}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink-900);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg,iframe{max-width:100%}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}code{font-size:var(--fs-xs);background:var(--line-100);padding:1px 5px;border-radius:var(--r-sm)}.num,.kpi-value{font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--r-sm)}.header :where(button,a,[tabindex]):focus-visible,.sidebar :where(button,a,[tabindex]):focus-visible{outline-color:#fff}.skip-link{position:absolute;left:var(--sp-2);top:-60px;z-index:500;background:var(--surface);color:var(--brand-800);border:2px solid var(--brand-600);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4);font-weight:700;font-size:var(--fs-sm);transition:top var(--t-fast)}.skip-link:focus{top:var(--sp-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);min-height:var(--header-h);background:var(--brand-800);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4);border-bottom:3px solid var(--brand-600);box-shadow:var(--sh-2)}.header-brand{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.header-logo{font-size:var(--fs-xl);line-height:1}.header-name{font-size:var(--fs-lg);font-weight:700;color:#fff;white-space:nowrap}.header-tagline{font-size:var(--fs-2xs);color:#ffffffc7;margin-left:var(--sp-1);white-space:nowrap}.header-right{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.header-user{color:#ffffffeb;font-size:var(--fs-xs);white-space:nowrap}.header-role{background:var(--brand-600);color:#fff;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-3xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.btn-sair{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-3);min-height:30px;font-size:var(--fs-xs);font-weight:600;cursor:pointer;font-family:inherit}.btn-sair:hover{background:#ffffff24}.nav-toggle{display:none;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);margin-left:calc(var(--sp-2) * -1);background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-md);color:#fff;cursor:pointer;font-size:var(--fs-lg);line-height:1}.nav-toggle:hover{background:#ffffff24}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);background:#0f172a8c;border:0}.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;z-index:var(--z-sidebar);width:var(--sidebar-w);background:var(--brand-900);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;padding-bottom:var(--sp-8)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#ffffff0d}.sidebar::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:var(--r-pill)}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar-group-block{border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2xs);font-weight:700;color:#ffffffb8;text-transform:uppercase;letter-spacing:1px}.sidebar-brand-toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap);background:none;border:0;text-align:left;font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-brand-toggle:hover{color:#fff;background:#ffffff12}.sidebar-brand-toggle[aria-expanded=true]{color:#fff}.sidebar-brand-label{flex:1}.sidebar-chevron{font-size:var(--fs-3xs);color:#fff9}.sidebar-submenu{padding-bottom:var(--sp-1)}.sidebar-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-4) var(--sp-2) 30px;color:#ffffffdb;background:none;border:0;border-left:3px solid transparent;text-align:left;font-family:inherit;font-size:var(--fs-sm);cursor:pointer}.sidebar-item:hover{background:#ffffff1a;color:#fff}.sidebar-item.active,.sidebar-item[aria-current=page]{background:#2563b06b;border-left-color:#7cb0f5;color:#fff;font-weight:700}.sidebar-item .si-icon,.sidebar-brand-toggle .si-icon{font-size:var(--fs-md);min-width:18px;text-align:center}.content{margin-left:var(--sidebar-w);margin-top:var(--header-h);padding:var(--sp-5) var(--sp-6) var(--sp-8);min-height:calc(100vh - var(--header-h) - 32px);min-height:calc(100dvh - var(--header-h) - 32px);background:var(--canvas)}.content>*{max-width:1760px}.breadcrumb{font-size:var(--fs-xs);color:var(--ink-600);margin-bottom:var(--sp-1)}.bc-root{color:var(--brand-700);font-weight:600}.page-title{font-size:var(--fs-xl);font-weight:700;color:var(--brand-800);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:2px solid var(--brand-600);display:flex;align-items:center;gap:var(--sp-2)}.footer{background:var(--brand-800);color:#fffc;text-align:center;padding:var(--sp-2) var(--sp-6);font-size:var(--fs-2xs);margin-left:var(--sidebar-w)}.consult-box{background:var(--surface);border:1px solid var(--line-200);border-top:3px solid var(--brand-600);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--sh-1)}.consult-box h3{font-size:var(--fs-lg);font-weight:700;color:var(--brand-800);margin-bottom:var(--sp-4)}.result-card{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-4);box-shadow:var(--sh-1)}.result-card-header{padding:var(--sp-3) var(--sp-4);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.result-card-header.success{background:var(--ok-100);border-bottom:1px solid var(--ok-300);color:var(--ok-700)}.result-card-header.error{background:var(--err-100);border-bottom:1px solid var(--err-300);color:var(--err-700)}.result-card-header.warning{background:var(--warn-100);border-bottom:1px solid var(--warn-300);color:var(--warn-700)}.result-card-body{padding:var(--sp-4)}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--sp-3)}.result-field label{font-size:var(--fs-2xs);font-weight:700;color:var(--ink-600);letter-spacing:.3px;display:block;margin-bottom:3px}.result-field span{font-size:var(--fs-sm);color:var(--ink-900);font-weight:600}.result-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap}.danfe-frame-wrap{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-4)}.danfe-frame-header{padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border-bottom:1px solid var(--line-200);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.danfe-frame-header h3{font-size:var(--fs-sm);font-weight:700;color:var(--ink-700)}.danfe-iframe{width:100%;border:none;min-height:600px;background:#fff}.actions-bar{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md)}.form-group{margin-bottom:var(--sp-3)}.form-group label,.chave-label{display:block;font-size:var(--fs-2xs);font-weight:700;color:var(--ink-700);margin-bottom:var(--sp-1);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea,.input-search,.chave-input,.cruzamento-input,.monitor-add-row input{width:100%;min-height:38px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-300);border-radius:var(--r-md);background:var(--surface);color:var(--ink-900);font-family:inherit;font-size:var(--fs-md);line-height:1.4}.input-search{width:auto}.form-group input:hover:not(:disabled):not([readonly]),.form-group select:hover:not(:disabled),.chave-input:hover{border-color:var(--ink-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.chave-input:focus,.cruzamento-input:focus,.input-search:focus,.monitor-add-row input:focus{outline:none;border-color:var(--brand-600);box-shadow:var(--focus)}.form-group input:disabled,.form-group select:disabled,.form-group input[readonly]{background:var(--line-100);color:var(--ink-600);cursor:not-allowed}.form-group input[aria-invalid=true],.field-error input,.field-error select{border-color:var(--err-700);box-shadow:0 0 0 3px #b4231826}.field-hint{font-size:var(--fs-2xs);color:var(--ink-600);margin-top:3px}.field-msg-error{font-size:var(--fs-xs);color:var(--err-700);font-weight:600;margin-top:3px}.form-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.form-row>*{min-width:0}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--brand-600);cursor:pointer;flex-shrink:0}.chave-input-row{display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap}.chave-input-wrap{flex:1 1 280px;min-width:0}.chave-input{font-family:var(--font-mono);font-size:var(--fs-lg);letter-spacing:.5px}.chave-counter{font-size:var(--fs-2xs);color:var(--ink-600);margin-top:3px}.chave-counter.ok{color:var(--ok-700);font-weight:700}.chave-counter.err{color:var(--err-700)}.tipo-toggle{display:flex;flex-wrap:wrap;border:1px solid var(--line-300);border-radius:var(--r-md);overflow:hidden}.tipo-btn{padding:var(--sp-2) var(--sp-3);min-height:38px;font-family:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer;border:0;border-right:1px solid var(--line-300);background:var(--surface);color:var(--ink-700)}.tipo-btn:last-child{border-right:0}.tipo-btn:hover{background:var(--brand-50)}.tipo-btn.active,.tipo-btn[aria-pressed=true]{background:var(--brand-600);color:#fff}.cruzamento-input{min-height:130px;font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical}.monitor-add-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.monitor-add-row input{flex:1 1 260px;font-family:var(--font-mono)}.btn,.btn-consultar,.login-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:36px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast)}.btn-primary{background:var(--brand-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-outline{background:var(--surface);color:var(--brand-700);border-color:var(--brand-600)}.btn-outline:hover:not(:disabled){background:var(--brand-50)}.btn-danger{background:var(--err-700);color:#fff}.btn-danger:hover:not(:disabled){background:#93190f}.btn-green{background:var(--ok-700);color:#fff}.btn-green:hover:not(:disabled){background:#0f5523}.btn-ghost{background:transparent;color:var(--ink-700);border-color:var(--line-300)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-sm{min-height:32px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}.btn-icon{min-width:32px;padding:var(--sp-1)}.btn:disabled,.btn-consultar:disabled,.login-btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.btn[data-blocked=true]{background:var(--ink-400);border-color:var(--ink-400);color:#fff}.btn-consultar{background:var(--brand-600);color:#fff;min-height:40px;padding:var(--sp-2) var(--sp-5)}.btn-consultar:hover:not(:disabled){background:var(--brand-700)}.btn-busy{position:relative;pointer-events:none}.btn-busy:after{content:"";width:13px;height:13px;margin-left:var(--sp-2);border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.table-container{position:relative;background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);overflow-x:auto;overflow-y:visible;margin-bottom:var(--sp-5);box-shadow:var(--sh-1);-webkit-overflow-scrolling:touch;background-image:linear-gradient(to right,var(--surface) 30%,rgba(255,255,255,0)),linear-gradient(to left,var(--surface) 30%,rgba(255,255,255,0)),linear-gradient(to right,#0f172a24,#0f172a00),linear-gradient(to left,#0f172a24,#0f172a00);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:36px 100%,36px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.table-container::-webkit-scrollbar{height:10px}.table-container::-webkit-scrollbar-track{background:var(--line-100)}.table-container::-webkit-scrollbar-thumb{background:var(--line-300);border-radius:var(--r-pill)}.table-container::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}.table-header{padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border-bottom:1px solid var(--line-200);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;position:sticky;left:0}.table-header h3{font-size:var(--fs-sm);font-weight:700;color:var(--ink-700)}table{width:100%;border-collapse:collapse;min-width:100%}thead th{position:sticky;top:0;z-index:2;padding:var(--sp-2) var(--sp-3);text-align:left;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:var(--brand-800);white-space:nowrap}thead th[aria-sort]{cursor:pointer}thead th[aria-sort=ascending]:after{content:" ▲";font-size:9px}thead th[aria-sort=descending]:after{content:" ▼";font-size:9px}tbody tr{border-bottom:1px solid var(--line-100)}tbody tr:nth-child(2n){background:var(--surface-2)}tbody tr:hover{background:var(--brand-50)}tbody tr[aria-selected=true],tbody tr.is-selected{background:var(--brand-100)}tbody td{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);vertical-align:middle}tbody td .btn{margin-right:var(--sp-1)}tbody td:last-child{white-space:nowrap}.empty-row{text-align:center;color:var(--ink-600);font-style:normal;padding:var(--sp-8) var(--sp-4)!important;font-size:var(--fs-sm)}.empty-state{text-align:center;padding:var(--sp-10) var(--sp-5);color:var(--ink-600)}.empty-state-icon{font-size:34px;opacity:.55;margin-bottom:var(--sp-3)}.empty-state h4{font-size:var(--fs-md);color:var(--ink-900);margin-bottom:var(--sp-1)}.empty-state p{font-size:var(--fs-sm);max-width:46ch;margin:0 auto var(--sp-4)}.badge{display:inline-block;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-3xs);font-weight:700;letter-spacing:.3px;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.badge-green{background:var(--ok-100);color:var(--ok-700);border-color:var(--ok-300)}.badge-red{background:var(--err-100);color:var(--err-700);border-color:var(--err-300)}.badge-yellow{background:var(--warn-100);color:var(--warn-700);border-color:var(--warn-300)}.badge-blue{background:var(--info-100);color:var(--info-700);border-color:var(--info-300)}.badge-gray{background:var(--line-100);color:var(--ink-600);border-color:var(--line-300)}.badge:before{font-weight:900;margin-right:3px}.badge-green:before{content:"✓"}.badge-red:before{content:"✕"}.badge-yellow:before{content:"!"}.alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);margin-bottom:var(--sp-3);border:1px solid transparent;border-left-width:4px}.alert-ok{background:var(--ok-100);color:var(--ok-700);border-color:var(--ok-300)}.alert-error{background:var(--err-100);color:var(--err-700);border-color:var(--err-300)}.alert-info{background:var(--info-100);color:var(--info-700);border-color:var(--info-300)}.alert-warn{background:var(--warn-100);color:var(--warn-700);border-color:var(--warn-300)}.alert strong{display:block;margin-bottom:2px}.alert-detail{font-size:var(--fs-2xs);opacity:.85;margin-top:var(--sp-1);font-family:var(--font-mono)}.msg-ok{color:var(--ok-700);font-size:var(--fs-xs);font-weight:700}.msg-error{color:var(--err-700);font-size:var(--fs-xs);font-weight:700}.skeleton{background:linear-gradient(90deg,var(--line-100) 25%,#e3e8ee 37%,var(--line-100) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--r-sm)}.skeleton-line{height:12px;margin-bottom:var(--sp-2)}.skeleton-row{height:34px;margin-bottom:1px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.kpi-card{background:var(--surface);border:1px solid var(--line-200);border-top:3px solid var(--brand-600);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);box-shadow:var(--sh-1)}a.kpi-card,button.kpi-card{cursor:pointer;text-align:left;width:100%;font-family:inherit}a.kpi-card:hover,button.kpi-card:hover{border-color:var(--brand-600);box-shadow:var(--sh-2)}.kpi-label{font-size:var(--fs-2xs);text-transform:uppercase;color:var(--ink-600);letter-spacing:.6px;margin-bottom:var(--sp-1);font-weight:700}.kpi-value{font-size:var(--fs-3xl);font-weight:700;color:var(--brand-800);line-height:1.1}.kpi-sub{font-size:var(--fs-2xs);color:var(--ink-600);margin-top:var(--sp-1)}.sped-upload{display:block;border:2px dashed var(--line-300);border-radius:var(--r-lg);padding:var(--sp-10) var(--sp-8);text-align:center;background:var(--surface-2);cursor:pointer;overflow:hidden;transition:border-color var(--t-fast),background var(--t-fast)}.sped-upload:hover,.sped-upload:focus-within{border-color:var(--brand-600);background:var(--brand-50)}.sped-upload.is-dragging{border-color:var(--brand-600);background:var(--brand-100);border-style:solid}.sped-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.sped-upload-icon{font-size:38px;margin-bottom:var(--sp-3);display:block}.sped-upload p{color:var(--ink-600);font-size:var(--fs-sm);margin:var(--sp-1) 0;word-break:break-word}.sped-upload strong{color:var(--brand-700)}.upload-list{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.upload-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm)}.upload-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-bar{width:90px;height:5px;background:var(--line-100);border-radius:var(--r-pill);overflow:hidden}.upload-bar>span{display:block;height:100%;background:var(--brand-600);border-radius:inherit;transition:width .2s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);overflow-y:auto}.modal{background:var(--surface);color:var(--ink-900);border-radius:var(--r-lg);width:100%;max-width:620px;max-height:calc(100vh - var(--sp-8));max-height:calc(100dvh - var(--sp-8));display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh-3)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-200);background:var(--surface-2);flex-shrink:0}.modal-header strong{font-size:var(--fs-lg);color:var(--brand-800)}.modal-body{padding:var(--sp-5);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line-200);background:var(--surface-2);flex-shrink:0}.btn-close{background:none;border:0;color:var(--ink-600);font-size:var(--fs-lg);cursor:pointer;width:32px;height:32px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center}.btn-close:hover{color:var(--ink-900);background:var(--line-100)}.modal-tabs{display:flex;border-bottom:1px solid var(--line-200);padding:0 var(--sp-5);background:var(--surface-2);flex-shrink:0;overflow-x:auto}.modal-tab{padding:var(--sp-3) var(--sp-4);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;font-size:var(--fs-sm);color:var(--ink-600);white-space:nowrap}.modal-tab[aria-selected=true]{color:var(--brand-700);font-weight:700;border-bottom-color:var(--brand-600)}.login-page{min-height:100vh;min-height:100dvh;background:var(--canvas);display:flex;flex-direction:column}.login-topbar{background:var(--brand-800);min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) var(--sp-4);flex-wrap:wrap}.login-topbar span{color:#ffffffd1;font-size:var(--fs-2xs)}.login-banner{background:var(--brand-800);padding:var(--sp-8) var(--sp-5);text-align:center;color:#fff}.login-banner-icon{font-size:40px;margin-bottom:var(--sp-2)}.login-banner h1{font-size:var(--fs-2xl);font-weight:700;margin-bottom:3px}.login-banner p{font-size:var(--fs-sm);color:#ffffffd9}.login-body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--sp-10) var(--sp-4)}.login-card{background:var(--surface);border:1px solid var(--line-200);border-top:3px solid var(--brand-600);border-radius:var(--r-lg);padding:var(--sp-8);width:100%;max-width:400px;box-shadow:var(--sh-2)}.login-card-title{font-size:var(--fs-xl);font-weight:700;color:var(--brand-800);margin-bottom:3px}.login-card-sub{font-size:var(--fs-sm);color:var(--ink-600);margin-bottom:var(--sp-5)}.login-error{color:var(--err-700);font-size:var(--fs-sm);background:var(--err-100);border:1px solid var(--err-300);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3)}.login-btn{width:100%;background:var(--brand-600);color:#fff;min-height:42px;font-size:var(--fs-md);margin-top:var(--sp-2)}.login-btn:hover:not(:disabled){background:var(--brand-700)}.login-card-footer{display:flex;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line-100);font-size:var(--fs-2xs);color:var(--ink-600)}@media (min-width: 1600px){.content{padding:var(--sp-6) var(--sp-8) var(--sp-10)}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 1280px){:root{--sidebar-w: 212px}}@media (max-width: 1024px){.nav-toggle{display:inline-flex}.sidebar{width:280px;transform:translate(-100%);transition:transform .18s ease;z-index:var(--z-drawer);box-shadow:var(--sh-3)}.sidebar.is-open{transform:translate(0)}.content,.footer{margin-left:0}.content{padding:var(--sp-4) var(--sp-4) var(--sp-8)}.header-tagline{display:none}}@media (max-width: 768px){:root{--header-h: 56px}.header{padding:0 var(--sp-3);gap:var(--sp-2)}.header-right{gap:var(--sp-2)}.header-user{display:none}.header-name{font-size:var(--fs-md)}.content{padding:var(--sp-3) var(--sp-3) var(--sp-10)}.consult-box{padding:var(--sp-4)}.page-title{font-size:var(--fs-lg)}.form-group input,.form-group select,.form-group textarea,.chave-input,.cruzamento-input,.input-search,.monitor-add-row input,input,select,textarea{font-size:16px}.form-row{flex-direction:column;gap:var(--sp-3)}.chave-input-row{flex-direction:column;align-items:stretch}.chave-input-row>*{width:100%}.tipo-toggle{width:100%}.tipo-btn{flex:1 1 25%}.result-grid{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:var(--sp-2)}.kpi-value{font-size:var(--fs-2xl)}.btn,.btn-sm{min-height:var(--tap);padding-left:var(--sp-3);padding-right:var(--sp-3)}.actions-bar{gap:var(--sp-2)}.bulk-bar{position:sticky;bottom:0;z-index:90;background:var(--surface);border-top:1px solid var(--line-200);box-shadow:0 -2px 10px #0f172a1a;padding:var(--sp-3);display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh}.modal-body{padding:var(--sp-4)}.modal-footer{padding:var(--sp-3) var(--sp-4)}.modal-footer .btn{flex:1}.danfe-iframe{min-height:420px}}@media (max-width: 480px){.header-role{display:none}.result-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.login-body{padding:var(--sp-5) var(--sp-3)}.login-card{padding:var(--sp-5)}.sped-upload{padding:var(--sp-6) var(--sp-4)}.footer{font-size:10px;padding:var(--sp-2) var(--sp-3)}}@media (max-width: 768px){.t-cards thead{display:none}.t-cards,.t-cards tbody,.t-cards tr,.t-cards td{display:block;width:100%}.t-cards tr{border:1px solid var(--line-200);border-radius:var(--r-md);margin:0 0 var(--sp-2);padding:var(--sp-2);background:var(--surface)!important}.t-cards td{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line-100);text-align:right}.t-cards td:last-child{border-bottom:0;justify-content:flex-end;flex-wrap:wrap}.t-cards td:before{content:attr(data-label);font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;color:var(--ink-600);text-align:left;flex-shrink:0}}@media print{.header,.sidebar,.footer,.actions-bar,.nav-toggle,.scrim,.breadcrumb,.modal-overlay,.btn,.skip-link{display:none!important}.content{margin:0;padding:0;background:#fff}.table-container{overflow:visible;border:0;box-shadow:none;background-image:none}thead th{position:static;background:#e8e8e8!important;color:#000!important}tbody tr{break-inside:avoid}.badge{border:1px solid #666!important;color:#000!important;background:#fff!important}}
