:root{--navy-900: #0b1d3a;--navy-800: #112d52;--navy-700: #1a3f6b;--navy-600: #245185;--navy-500: #2e649e;--navy-300: #7ba5cf;--navy-200: #b0cae2;--navy-100: #d8e5f1;--navy-50: #edf2f8;--white: #ffffff;--positive: #16a34a;--positive-bg: #f0fdf4;--positive-bd: #bbf7d0;--warning: #d97706;--warning-bg: #fffbeb;--warning-bd: #fde68a;--critical: #dc2626;--critical-bg: #fef2f2;--critical-bd: #fecaca;--info: #245185;--info-bg: #edf2f8;--info-bd: #b0cae2;--positive-ink: #15803d;--warning-ink: #b45309;--critical-ink: #dc2626;--info-ink: #245185;--steel: #8ca5be;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 9999px;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sh-card: 0 1px 2px rgba(11, 29, 58, .05);--sh-lift: 0 8px 24px -12px rgba(11, 29, 58, .28);--sh-bar: 0 -6px 20px -10px rgba(11, 29, 58, .25)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--navy-50);color:var(--navy-900);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.phone{max-width:560px;margin:0 auto;min-height:100dvh;background:transparent;padding:0 0 104px}:focus-visible{outline:2px solid var(--navy-500);outline-offset:2px}.phone>header{background:var(--navy-900);color:var(--white);padding:24px 16px 22px}.phone>header h1{font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.1;margin:0 0 6px;color:var(--white)}.phone>header .sub{font-size:13px;color:var(--navy-200);margin:0}#form{margin:16px;background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:18px 16px}.field label,#periodoField legend{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-500);margin:0 0 8px}#periodoField{border:0;padding:0;margin:14px 0 0;min-width:0}.cpfwrap{position:relative}.cpfwrap input{width:100%;font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:.03em;color:var(--navy-900);background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-md);padding:13px 44px 13px 14px;text-align:center;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}.cpfwrap input::placeholder{color:var(--navy-300)}.cpfwrap input:focus{border-color:var(--navy-500);box-shadow:0 0 0 3px #2e649e26}.cpfwrap input.valid{border-color:var(--positive)}.cpfwrap input.invalid{border-color:var(--critical);background:var(--critical-bg)}.cpfwrap .ok{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--positive);display:none}.cpfwrap input.valid~.ok{display:block}.hint{font-size:12px;color:var(--navy-500);margin:8px 2px 0;min-height:16px}.hint.err{color:var(--critical-ink)}#pchips{display:flex;flex-wrap:wrap;gap:8px;margin:0}.fchip{flex:0 0 auto;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--navy-700);background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-pill);padding:10px 13px;line-height:1.15;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.fchip[aria-pressed=true]{background:var(--navy-600);border-color:var(--navy-600);color:var(--white)}#go{width:100%;min-height:48px;margin-top:16px;font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--white);background:var(--navy-900);border:0;border-radius:var(--r-md);padding:14px 16px;cursor:pointer;transition:background .15s,transform .15s}#go:hover{background:var(--navy-800)}#go:active{transform:scale(.99)}#go:disabled{opacity:.5;cursor:wait;background:var(--navy-700)}#historico{margin:16px;background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:16px;display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:6px;align-items:center}#historico h2{grid-column:1;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-500);margin:0}#histRefresh{grid-column:2;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--navy-600);background:none;border:0;cursor:pointer;padding:4px 0}#histRefresh:hover{text-decoration:underline}#histNote{grid-column:1 / -1;font-size:12px;color:var(--navy-500);margin:0;min-height:0}#historico .histnote{grid-column:1 / -1;font-size:12px;color:var(--navy-500);margin:0}#histList{grid-column:1 / -1;list-style:none;margin:0;padding:0}.histrow{display:grid;grid-template-columns:1fr auto;gap:2px 12px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--navy-100);padding:11px 2px;font-family:var(--sans);color:var(--navy-900);cursor:pointer}#histList li:first-child .histrow{border-top:0}.histrow:hover{background:var(--navy-50)}.histrow .hcpf{font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.02em}.histrow .hmeta{font-size:12px;color:var(--navy-500);grid-column:1}.histrow .hpill{grid-row:1 / 3;grid-column:2;align-self:center;display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px}.hpill .stamp{font-size:10px;padding:3px 9px}.hpill .hact{font-size:11px;font-weight:600;color:var(--navy-600)}#run{margin:16px;background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:18px 16px}.stamprow{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stamp{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--info-ink);background:var(--info-bg);border:1px solid var(--info-bd);border-radius:var(--r-pill);padding:5px 12px}.stamp.done{color:var(--positive-ink);background:var(--positive-bg);border-color:var(--positive-bd)}.stamp.paused{color:var(--warning-ink);background:var(--warning-bg);border-color:var(--warning-bd)}.stamp.off{color:var(--navy-700);background:var(--navy-50);border-color:var(--navy-200)}.stamp.err{color:var(--critical-ink);background:var(--critical-bg);border-color:var(--critical-bd)}.elapsed{font-family:var(--mono);font-size:13px;color:var(--navy-500);font-variant-numeric:tabular-nums}.phases{list-style:none;margin:0;padding:0}.phases li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;color:var(--navy-500);font-size:13px;font-weight:500}.phases li .step-n{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:2px solid var(--navy-200);margin-top:1px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;font-weight:700;line-height:1;color:var(--navy-500)}.phases li.now{color:var(--navy-900);font-weight:600}.phases li.now .step-n{border-color:var(--navy-600);color:var(--navy-600);animation:pulse 1.2s ease-in-out infinite}.phases li.done{color:var(--navy-500)}.phases li.done .step-n{border-color:var(--positive);background:var(--positive);color:var(--white)}@keyframes pulse{50%{opacity:.4}}.years-ticker{font-family:var(--sans);font-size:12px;color:var(--navy-500);margin:14px 0 0;min-height:18px;letter-spacing:.02em}#ctlbtns,#resumebtns{display:flex;gap:8px;margin-top:14px}#ctlbtns button,#resumebtns button{flex:1;min-height:40px;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-700);background:var(--white);border:1px solid var(--navy-500);border-radius:var(--r-md);padding:9px 12px;cursor:pointer;transition:background .15s}#ctlbtns button:hover:not(:disabled),#resumebtns button:hover{background:var(--navy-50)}#ctlbtns button:disabled{opacity:.45;cursor:not-allowed}#btnCancel{color:var(--critical-ink);border-color:var(--critical)}#btnCancel:hover:not(:disabled){background:var(--critical-bg)}#btnCancel.armed{color:var(--white);background:var(--critical);border-color:var(--critical)}#btnResume{color:var(--white);background:var(--navy-900);border-color:var(--navy-900)}#btnResume:hover{background:var(--navy-800)}#errbox{margin:14px 0 0;background:var(--critical-bg);border:1px solid var(--critical-bd);border-left:4px solid var(--critical);border-radius:var(--r-lg);padding:16px}#errMsg{font-size:14px;font-weight:600;line-height:1.45;color:var(--navy-900);margin:0}#result>header{margin:16px;background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:16px}#result>header h2{font-size:17px;font-weight:700;margin:0 0 12px;color:var(--navy-900);letter-spacing:-.01em}#credCpf{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--navy-900);word-break:break-all}.cred-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--navy-100)}.cred-row .k{flex:0 0 84px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-500)}.cred-row .v{flex:1;min-width:0;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--navy-900);word-break:break-all}.copybtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--white);background:var(--navy-500);border:0;border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;transition:background .15s}.copybtn:hover{background:var(--navy-600)}.copybtn:active{transform:scale(.96)}#phMeta{font-size:12px;color:var(--navy-500);margin:0}#count{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-500);padding:14px 18px 4px;margin:0}#list{padding:0 16px 8px}.stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 16px}.stats .chip{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--info-ink);background:var(--info-bg);border:1px solid var(--info-bd);border-radius:var(--r-pill);padding:5px 12px}.stats .chip b{font-family:var(--mono);color:var(--navy-900);font-weight:700}.toolbar{position:sticky;top:0;z-index:20;margin-top:16px;padding:12px 16px 10px;background:#edf2f8eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--navy-100)}.search{position:relative;margin-bottom:10px}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--navy-300)}.search input{width:100%;font-family:var(--sans);font-size:15px;color:var(--navy-900);background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-md);padding:11px 14px 11px 38px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search input::placeholder{color:var(--navy-300)}.search input:focus{border-color:var(--navy-500);box-shadow:0 0 0 3px #2e649e26}.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.filters::-webkit-scrollbar{display:none}.filters .fchip{font-size:12.5px;padding:9px 13px}.fchip .dot{width:7px;height:7px;border-radius:50%;background:var(--navy-300)}.fchip .dot.nfe{background:var(--navy-600)}.fchip .dot.nfce{background:var(--positive)}.fchip small{font-family:var(--sans);color:var(--navy-500);font-size:11px;font-variant-numeric:tabular-nums}.fchip[aria-pressed=true] small{color:var(--navy-100)}.fchip[aria-pressed=true] .dot{background:var(--white)}.fsep{flex:0 0 1px;background:var(--navy-200);margin:5px 4px}.ygroup{margin:0}.yearhead{display:flex;align-items:baseline;justify-content:space-between;margin:20px 2px 10px}.yearhead h3{font-weight:800;font-size:20px;letter-spacing:-.02em;margin:0;color:var(--navy-900)}.yearhead .ysub{font-family:var(--mono);font-size:12px;color:var(--navy-500);font-variant-numeric:tabular-nums}.card{background:var(--white);border:1px solid var(--navy-200);border-radius:var(--r-lg);margin-bottom:10px;overflow:hidden;box-shadow:var(--sh-card);animation:rise .38s cubic-bezier(.2,.7,.3,1) both;transition:border-color .15s,box-shadow .15s}.card.open{border-color:var(--navy-500);box-shadow:var(--sh-lift)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card-head{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;font-family:var(--sans);color:var(--navy-900);padding:14px 15px;cursor:pointer;text-align:left}.card-head:focus-visible{outline-offset:-2px}.badge{flex:0 0 auto;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.06em;border-radius:var(--r-sm);padding:4px 8px;background:var(--white);border:1px solid var(--navy-200);color:var(--navy-500)}.badge.nfe{background:var(--navy-600);border-color:var(--navy-600);color:var(--white)}.badge.nfce{background:var(--positive-ink);border-color:var(--positive-ink);color:var(--white)}.ch-main{flex:1;min-width:0}.ch-main h4{font-size:14px;font-weight:600;line-height:1.3;margin:0 0 3px;color:var(--navy-900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ch-main .meta{font-family:var(--sans);font-size:12px;color:var(--navy-500);margin:0}.ch-val{flex:0 0 auto;text-align:right}.ch-val strong{display:block;font-family:var(--mono);font-size:14.5px;font-weight:700;color:var(--navy-900);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.chev{flex:0 0 auto;color:var(--navy-300);transition:transform .15s,color .15s}.card.open .chev{transform:rotate(180deg);color:var(--navy-600)}.detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.7,.3,1)}.card.open .detail{grid-template-rows:1fr}.detail-in{overflow:hidden}.detail-body{border-top:1px solid var(--navy-100);padding:14px 15px 15px}.sec{margin-bottom:16px}.sec:last-child{margin-bottom:0}.sec h5{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-500);margin:0 0 10px;display:flex;align-items:center;gap:8px}.sec h5:after{content:"";flex:1;height:1px;background:var(--navy-100)}.sec h5 .n{font-family:var(--sans);color:var(--navy-600);letter-spacing:0;font-variant-numeric:tabular-nums}.prods{list-style:none;margin:0;padding:0}.prods li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--navy-100)}.prods li:last-child{border-bottom:0}.pd{font-size:13px;font-weight:500;line-height:1.35;color:var(--navy-900)}.pq{font-family:var(--mono);font-size:11px;color:var(--navy-500);grid-row:2}.pv{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--navy-900);font-variant-numeric:tabular-nums;grid-row:1 / 3;align-self:center;white-space:nowrap}.kv{font-size:13px;line-height:1.6;color:var(--navy-700)}.kv b{font-family:var(--mono);color:var(--navy-900);font-weight:700}.kv .name{font-family:var(--sans);font-weight:700;color:var(--navy-900);display:block}.paypill{display:inline-block;font-size:12px;font-weight:600;color:var(--info-ink);background:var(--info-bg);border:1px solid var(--info-bd);border-radius:var(--r-pill);padding:4px 11px;margin:0 6px 6px 0}.keyrow{display:flex;align-items:center;gap:8px;background:var(--navy-50);border:1px solid var(--navy-100);border-radius:var(--r-md);padding:9px 11px}.keyrow code{flex:1;min-width:0;font-family:var(--mono);font-size:11px;color:var(--navy-700);word-break:break-all;line-height:1.55}.nodoc{font-size:13px;color:var(--navy-500);font-style:italic;margin:0}.empty{padding:44px 24px;text-align:center;color:var(--navy-500)}.empty p{font-family:var(--sans);font-size:13px;margin:0}#result>section[aria-label="Notas sem detalhe"]{margin-top:28px;padding:20px 16px 32px;border-top:1px solid var(--navy-200)}#ftitle{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-500);margin:0 0 10px}#erros{margin:0;padding:0;list-style:none}#erros li{font-family:var(--mono);font-size:11px;color:var(--navy-700);padding:4px 0;word-break:break-all}#gen{font-family:var(--sans);font-size:12px;color:var(--navy-500);line-height:1.6;margin-top:14px}#actions{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#edf2f8f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--navy-200);box-shadow:var(--sh-bar)}#actions:empty{display:none}#actions button{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;border:0;border-radius:var(--r-md);min-height:48px;padding:13px 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}#btnPdf{background:var(--navy-900);color:var(--white)}#btnPdf:hover{background:var(--navy-800)}#btnNew{background:var(--white);color:var(--navy-500);border:1px solid var(--navy-500)}#btnNew:hover{background:var(--navy-50)}#actions button:active{transform:scale(.98)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:var(--navy-900);color:var(--white);font-family:var(--sans);font-size:13px;border-radius:var(--r-pill);padding:11px 20px;z-index:50;white-space:nowrap;box-shadow:var(--sh-lift);animation:toastIn .15s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media print{@page{size:A4;margin:14mm 12mm}body{background:#fff;font-size:11px;padding:0}.phone{max-width:none;padding:0}.phone>header,#form,#run,#actions,#historico,.toolbar,.search,.filters,.chev,.copybtn,.toast,.empty,#count{display:none!important}#result>header{display:block;margin:0 0 12px;padding:0 0 8px;border:0;border-bottom:2px solid var(--navy-900);border-radius:0;box-shadow:none}#result>header h2{font-size:20px;font-weight:900;margin:0 0 4px}#result>header .cred-row{border-bottom:0;padding:4px 0}#phMeta{font-size:9.5px}.card{break-inside:avoid;box-shadow:none;animation:none!important;border-color:var(--navy-200)}.card-head{padding:8px 10px;cursor:default}.detail{display:grid;grid-template-rows:1fr!important}.detail-body{padding:8px 10px 10px}.badge,.stamp,.paypill,.stats .chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}#result>section[aria-label="Notas sem detalhe"]{break-inside:avoid;margin-top:12px;padding:8px 0 0;border-top:1px solid var(--navy-100)}#gen{break-inside:avoid}}@media screen and (min-width:600px){body{padding:24px 0 0}.phone{padding-bottom:112px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
