@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Space+Grotesk:wght@400;500;700&display=swap";
@font-face{font-family:Funnel Display;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/funnel-display-latin-800-normal.woff2)format("woff2"),url(/fonts/funnel-display-latin-800-normal.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--black:#0f1216;--white:#fff;--gray-100:#e6e6e6;--gray-400:#a3a3a3;--gray-600:#5c5c5c;--gray-700:#2b2b2b;--gray-900:#1a1e25;--blue:#2563eb;--green:#22c55e;--orange:#f97316;--red:#ef4444;--yellow:#eab308;--grid-dot:#ffffff1a;--grid-dot-soft:#ffffff0f;--bg:var(--black);--surface:var(--gray-900);--surface-invert:var(--white);--ink:var(--white);--ink-invert:var(--black);--muted:var(--gray-400);--text-muted:var(--gray-400);--text-disabled:var(--gray-600);--line:var(--gray-700);--border:var(--gray-700);--border-strong:var(--white);--accent:var(--blue);--focus-ring:var(--white);--state-info:var(--blue);--state-success:var(--green);--state-warning:var(--orange);--state-error:var(--red);--data-ecd:var(--blue);--data-efd:var(--green);--data-fiscal:var(--orange);--data-unknown:var(--red);--font-display:"Funnel Display", "Space Grotesk", Arial, sans-serif;--font-sans:"Space Grotesk", Arial, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-display:800;--text-display-xl:clamp(42px, 8vw, 96px);--text-display-lg:clamp(40px, 6vw, 74px);--text-display-md:34px;--text-heading:22px;--text-body-lg:17px;--text-body:15px;--text-body-sm:14px;--text-label:12px;--text-mono-sm:11px;--text-mono:13px;--leading-display:.9;--leading-tight:1;--leading-snug:1.2;--leading-body:1.45;--tracking-display:.01em;--tracking-label:.02em;--tracking-caption:.04em;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:16px;--space-7:18px;--space-8:24px;--space-9:32px;--space-10:40px;--space-12:54px;--border-width:1px;--border-width-strong:2px;--radius:0;--control-height:44px;--shadow-popover:0 12px 32px #0000008c;--shadow-lift:0 8px 18px #00000080;--ease-snap:steps(4, end);--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.16s;--duration-base:.25s;--shell-max:1120px;--content-max:860px}*{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-sans);isolation:isolate;margin:0;overflow:hidden}body:before{z-index:0;pointer-events:none;content:"";background-image:radial-gradient(var(--grid-dot) 1px, transparent 1.4px);background-position:0 0;background-size:12px 12px;position:fixed;inset:-40px}button,input{font-family:var(--font-mono)}button,a,label{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,label:focus-visible{outline:2px solid var(--ink);outline-offset:4px}h1{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(42px,8vw,96px);line-height:.9}h2{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:22px;font-weight:800;line-height:1}p{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.minimal-shell{z-index:1;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:clamp(12px,2.5vh,24px);width:min(1120px,100vw - 32px);height:100dvh;margin:0 auto;padding:clamp(12px,2.5vh,24px) 0 clamp(12px,2.5vh,28px);display:grid;position:relative;overflow:hidden}.header{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:6px 12px;display:flex}.header-actions{align-items:center;gap:12px;display:inline-flex}.quota-badge{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);height:34px;font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:8px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.quota-badge-dot{background:var(--muted);border-radius:0;flex:none;width:8px;height:8px}.quota-badge--active .quota-badge-dot{background:var(--green)}.quota-badge--super .quota-badge-dot{background:var(--orange)}.quota-badge strong{color:var(--ink);text-transform:uppercase;letter-spacing:.02em;font-weight:600}.quota-badge-detail{color:var(--muted);text-transform:lowercase}.quota-badge--anon{color:var(--ink)}.quota-badge--joined{border-right:none;margin-right:-12px;padding-right:14px}.auth-slot{width:96px;height:34px;display:inline-block}.auth-enter{background:var(--blue);color:#fff;height:34px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border:none;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:filter .16s,transform .12s;display:inline-flex}.auth-enter:hover:not(:disabled){filter:brightness(1.12)}.auth-enter:active:not(:disabled){transform:translateY(1px)}.auth-enter:disabled{opacity:.65;cursor:progress}.auth-google{border-radius:var(--radius);background:#fff;flex:none;width:18px;height:18px;padding:1px;display:block}.auth-avatar{background:var(--blue);color:#fff;border:2px solid var(--bg);width:34px;height:34px;font-family:var(--font-mono);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .16s;display:inline-flex;overflow:hidden}.auth-avatar:hover{box-shadow:0 0 0 2px var(--blue);transform:scale(1.06)}.auth-avatar img{object-fit:cover;width:100%;height:100%;display:block}.admin-shell{z-index:1;max-width:1080px;margin:0 auto;padding:clamp(16px,3vw,32px);position:relative}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-title{font-family:var(--font-display);margin:0;font-size:clamp(28px,5vw,44px);line-height:.95}.admin-note{max-width:60ch;color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.45}.admin-note strong{color:var(--ink)}.admin-refresh,.admin-tab,.admin-manage-toggle,.admin-field button,.admin-danger button{font-family:var(--font-mono);cursor:pointer}.admin-refresh{color:var(--ink);border:1px solid var(--line);background:0 0;padding:8px 14px;font-size:13px}.admin-refresh:hover:not(:disabled){border-color:var(--ink)}.admin-toast{border-left:3px solid;margin:16px 0 0;padding:10px 14px;font-size:14px}.admin-toast.ok{border-color:var(--green);background:#22c55e1f}.admin-toast.err{border-color:var(--red);background:#ef44441f}.admin-tabs{gap:8px;margin:20px 0 16px;display:flex}.admin-tab{color:var(--muted);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.03em;background:0 0;padding:8px 18px;font-size:13px}.admin-tab:hover{color:var(--ink);border-color:var(--ink)}.admin-tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.admin-search{width:100%;color:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);background:0 0;padding:10px 14px;font-size:14px}.admin-search:focus{border-color:var(--blue);outline:none}.admin-count{color:var(--muted);font-family:var(--font-mono);margin:8px 0 12px;font-size:12px}.admin-list{flex-direction:column;gap:10px;display:flex}.admin-user{border:1px solid var(--line);background:#ffffff04}.admin-user.open{border-color:var(--blue)}.admin-user-main{flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;display:flex}.admin-user-id{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.admin-email{font-size:15px;font-weight:600}.admin-uid{font-family:var(--font-mono);color:var(--muted);font-size:11px}.admin-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;padding:3px 8px;font-size:11px}.badge.you{background:var(--blue);color:#fff;border-color:var(--blue)}.badge.role-super_admin{background:var(--orange);color:var(--bg);border-color:var(--orange);font-weight:700}.badge.role-admin{border-color:var(--blue);color:var(--blue)}.badge.plan{border-color:var(--ink)}.badge.plan.courtesy{border-color:var(--green);color:var(--green)}.badge.status-banned{background:var(--red);color:#fff;border-color:var(--red)}.badge.status-deleted{color:var(--muted)}.badge.status-active{color:var(--green);border-color:var(--green)}.badge.muted{color:var(--muted)}.admin-manage-toggle{color:var(--ink);border:1px solid var(--ink);background:0 0;margin-left:auto;padding:7px 16px;font-size:12px}.admin-manage-toggle:hover{background:var(--ink);color:var(--bg)}.admin-manage{border-top:1px solid var(--line);gap:14px;padding:16px 14px;display:grid}.admin-field{gap:6px;display:grid}.admin-field>label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.admin-field-row{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.admin-field-row.wrap{flex-wrap:wrap}.admin-field input,.admin-field select{background:var(--bg);color:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);padding:8px 10px;font-size:13px}.admin-field input[type=number]{width:84px}.admin-field input[type=email]{flex:1;min-width:220px}.admin-field input:focus,.admin-field select:focus{border-color:var(--blue);outline:none}.admin-suffix{color:var(--muted);font-family:var(--font-mono);font-size:12px}.admin-field button{background:var(--blue);color:#fff;border:none;padding:8px 14px;font-size:12px;font-weight:600}.admin-field button:hover:not(:disabled){filter:brightness(1.12)}.admin-field button:disabled{opacity:.45;cursor:not-allowed}.admin-field button.ghosty{color:var(--muted);border:1px solid var(--line);background:0 0}.admin-field button.danger{background:var(--red)}.admin-danger{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-audit{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.admin-audit li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding:8px 0;font-size:13px;display:flex}.audit-action{font-family:var(--font-mono);text-transform:uppercase;color:var(--blue);font-weight:700}.audit-meta{color:var(--muted)}.audit-time{color:var(--muted);font-family:var(--font-mono);margin-left:auto;font-size:12px}.admin-empty{color:var(--muted);padding:16px 0}@media (max-width:640px){.admin-user-main{gap:10px}.admin-manage-toggle{margin-left:0}.admin-field-row{flex-wrap:wrap}}.brand-lockup{align-items:center;gap:8px;min-width:0;display:inline-flex}.brand-lockup img{object-fit:contain;opacity:1;flex:none;width:16px;height:auto;display:block}.brand-lockup p{color:var(--ink);font-family:var(--font-display);letter-spacing:.01em;background:0 0;align-self:stretch;align-items:center;padding:0;font-size:22px;font-weight:800;line-height:.9;display:inline-flex}.process-grid{grid-template-columns:minmax(0,1fr);place-self:center;gap:18px;width:min(860px,100%);max-height:100%;display:grid;overflow:hidden}.upload-panel,.review-panel,.progress-panel,.result-panel,.error-panel{border:0;min-width:0;padding:clamp(20px,4vw,40px)}.upload-panel{background:0 0;border:0;padding:0}.step-panel{align-content:start;gap:clamp(10px,2vh,18px);max-height:100%;display:grid;overflow:hidden}.step-copy{gap:10px;display:grid}.step-copy>span{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:12px;font-weight:600}.step-copy p{max-width:640px;color:var(--muted);font-size:15px;line-height:1.45}.result-copy{gap:6px}.result-copy h1{font-size:clamp(48px,8vw,74px);line-height:.92}.success-label{color:var(--green)!important}.dropzone{border:1px dashed var(--line);cursor:pointer;min-height:min(48dvh,400px);transition:transform .3 ease;background:linear-gradient(#ffffff09,#ffffff04),#ffffff03;align-content:center;gap:12px;padding:clamp(20px,4vw,40px);display:grid;position:relative;overflow:hidden}.dropzone.dragging,.dropzone:hover{border-color:var(--ink);color:var(--ink)}.dropzone.filled{aspect-ratio:1;text-align:center;place-content:center;justify-items:center;gap:8px;width:clamp(170px,24vw,230px);min-height:0;margin:0 auto;padding:16px}.dropzone.filled strong{justify-items:center;font-size:clamp(16px,1.9vw,22px)}.dropzone.filled .drop-description,.dropzone.filled .drop-outcome{display:none}.dropzone.dragging .drop-hint,.dropzone:hover .drop-hint{background:var(--ink);color:var(--bg)}.dropzone input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dropzone strong{max-width:720px;font-family:var(--font-display);text-transform:uppercase;gap:0;font-size:clamp(42px,7vw,80px);font-weight:800;line-height:.9;display:grid}.file-type-row{display:block}.file-type-ecd{color:#2563eb}.file-type-efd{color:#22c55e}.drop-papers{pointer-events:none;z-index:0;width:clamp(180px,26vw,340px);position:absolute;bottom:clamp(8px,2vw,32px);right:clamp(8px,2vw,40px)}.drop-papers svg{width:100%;height:auto;display:block}.drop-papers path{transition:fill .25s}.lote-scatter{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px 6px;padding:16px 8px 10px;display:flex}.lote-paper{cursor:pointer;background:0 0;border:0;width:clamp(80px,10vw,128px);margin:0;padding:0;transition:transform .2s,filter .2s;position:relative}.lote-paper svg{width:100%;height:auto;display:block;overflow:visible}.lote-paper:hover,.lote-paper.open{z-index:6;filter:drop-shadow(var(--shadow-lift))}.lote-paper .paper{transform-box:fill-box;transform-origin:50%}.lote-popover-anchor{z-index:40;pointer-events:none}.lote-popover{background:var(--surface);width:max-content;max-width:300px;box-shadow:var(--shadow-popover);text-align:left;border:1px solid #ffffff29;padding:10px 12px}.lote-popover strong{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.lote-popover ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.lote-popover li{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.lote-file-name{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.lote-popover.pinned{pointer-events:auto;width:min(340px,100vw - 24px);max-width:min(360px,100vw - 24px);padding:14px}.lote-popover.pinned strong{text-transform:none;margin-bottom:10px;font-size:12px}.lote-popover.pinned ul{gap:8px}.lote-popover.pinned li{gap:10px;font-size:14px}.lote-remove{width:26px;height:26px;color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff38;flex:none;place-items:center;margin-left:auto;font-size:19px;line-height:1;display:grid}.lote-remove:hover{background:var(--red);border-color:var(--red);color:var(--ink)}.classification-manual-list .lote-remove{width:30px;height:30px}.dot{flex:none;width:8px;height:8px;display:inline-block}.dot.ecd{background:#2563eb}.dot.efd{background:#22c55e}.dot.fiscal{background:#f97316}.dropzone strong,.dropzone>.drop-description{z-index:1;position:relative}.drop-hint{z-index:2;background:var(--ink);color:var(--bg);font-family:var(--font-mono);text-transform:uppercase;border:0;padding:8px 10px;font-size:12px;font-weight:600;line-height:1;position:absolute;top:0;right:0}.dropzone>span:not(.drop-hint):not(.drop-papers){max-width:540px;color:var(--muted);font-size:15px;line-height:1.45}.drop-description{flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:min(820px,100%);margin-top:clamp(8px,1.8vw,18px);display:flex}.drop-description b{color:var(--ink);font-weight:700}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.primary,.ghost,.download{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;font-size:13px;font-weight:600;text-decoration:none}.primary{background:var(--blue);border-color:var(--blue);min-width:150px;color:var(--ink)}.primary:disabled,.ghost:disabled{border-color:var(--line);color:#5c5c5c;cursor:not-allowed;background:0 0}.ghost{min-width:110px}.message{min-height:22px;color:var(--muted);font-family:var(--font-mono);font-size:13px}.message.error{color:var(--red)}.classification-summary{color:var(--muted);font-family:var(--font-mono);gap:7px;font-size:12px;line-height:1.2;display:grid}.classification-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.classification-head>span{color:var(--ink);text-transform:uppercase;font-weight:700}.classification-toggle{color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.classification-toggle:hover{color:var(--ink)}.classification-compact{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classification-summary ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.classification-summary li{border:1px solid #ffffff24;align-items:center;gap:6px;min-width:0;max-width:min(100%,310px);padding:4px 6px;display:inline-flex;overflow:hidden}.classification-chip{color:var(--bg);text-transform:uppercase;flex:none;padding:3px 5px;font-size:10px;font-weight:700;line-height:1}.classification-chip.ecd{background:var(--blue);color:var(--ink)}.classification-chip.contrib{background:var(--green)}.classification-chip.fiscal{background:var(--orange)}.classification-chip.unknown{background:var(--red);color:var(--ink)}.classification-file{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classification-confirm{border:1px solid var(--blue);background:var(--blue);width:max-content;color:var(--ink);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;margin-top:2px;padding:8px 12px;font-size:12px;font-weight:700}.classification-manual-tag{color:var(--blue);text-transform:uppercase;letter-spacing:.02em;flex:none;font-size:9px;font-weight:700}.classification-manual{border:1px solid var(--red);gap:8px;margin-top:10px;padding:10px;display:grid}.classification-manual-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.classification-summary ul.classification-manual-list{gap:6px;display:grid}.classification-summary li{min-width:0}.classification-summary ul.classification-manual-list li{border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:100%;padding:6px 8px;display:flex}.classification-manual-select{border:1px solid var(--blue);background:var(--bg);color:var(--ink);cursor:pointer;font-family:var(--font-mono);flex:none;padding:6px 8px;font-size:12px}.file-list{border-top:1px solid var(--line);gap:0;max-height:min(22dvh,220px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.file-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) max-content;gap:12px;padding:9px 0;display:grid}.file-list span,.file-list b{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);font-size:12px}.file-list b{color:var(--muted);font-weight:600}.transfer-figure{flex-direction:column;align-items:center;gap:10px;margin:4px 0 8px;display:flex;overflow:visible}.transfer-scene{width:100%;max-width:420px;height:auto;overflow:visible}.transfer-caption{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px}.flow-packet{shape-rendering:crispedges}.progress-head{font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;display:flex}.progress-mosaic{gap:4px;width:100%;height:26px;display:flex}.mosaic-cell{border:1px solid var(--line);flex:1 1 0;place-items:center;min-width:0;display:grid}.mosaic-shape{background:var(--line);width:62%;height:62%}.mosaic-cell.filled{border-color:var(--ink)}.mosaic-cell.filled .mosaic-shape{background:var(--ink)}.mosaic-cell.frontier{border-color:var(--blue)}.mosaic-cell.frontier .mosaic-shape{background:var(--blue)}.progress-panel p,.result-panel p,.progress-panel small{color:var(--muted);font-size:14px;line-height:1.45}.step-detail{max-width:640px;min-height:1.4em;font-weight:500;color:var(--ink)!important;font-size:clamp(15px,2.4vw,18px)!important;line-height:1.4!important}.step-context{font-family:var(--font-mono);letter-spacing:.03em;font-size:12px;color:var(--muted)!important}.stage-stepper{flex-wrap:wrap;gap:6px 14px;margin:2px 0 4px;padding:0;list-style:none;display:flex}.stage-item{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);opacity:.5;align-items:center;gap:7px;font-size:12px;transition:opacity .3s,color .3s;display:flex}.stage-dot{border:1px solid;flex:none;width:9px;height:9px}.stage-done{opacity:.85;color:var(--ink)}.stage-done .stage-dot{background:var(--ink)}.stage-active{opacity:1;color:var(--blue)}.stage-active .stage-dot{background:var(--blue);animation:1s steps(2,end) infinite stage-pulse}@keyframes stage-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.5)}}.progress-mosaic.working .mosaic-cell.frontier .mosaic-shape{animation:1.1s steps(2,end) infinite mosaic-working}@keyframes mosaic-working{0%,to{opacity:1}50%{opacity:.3}}.summary-grid{border-top:1px solid var(--line);gap:0;margin:0;display:grid}.summary-grid div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) max-content;gap:12px;padding:10px 0;display:grid}.summary-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:flex-start;align-items:center;gap:clamp(20px,5vw,54px);padding:10px 0;display:flex}.summary-strip div{border-bottom:0;grid-template-columns:none;align-items:center;gap:8px;padding:0;display:inline-flex}.summary-icon{fill:none;stroke:currentColor;stroke-width:2px;width:18px;height:18px;display:block}.summary-icon-file,.summary-icon-weight{color:var(--muted)}.summary-icon-x{color:var(--red)}dt,dd{font-family:var(--font-mono);text-transform:uppercase;margin:0;font-size:12px}dt{color:var(--muted)}dd{overflow-wrap:anywhere}.result-summaries{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.result-summaries>div{align-content:start;gap:12px;display:grid}.privacy-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);padding-top:10px;font-size:12px;line-height:1.35}.consent-banner{z-index:900;background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-size:13px;line-height:var(--leading-body);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,3vw,28px);display:flex;position:fixed;bottom:0;left:0;right:0}.consent-banner-actions{flex:none;gap:8px;display:flex}.consent-btn{border-radius:var(--radius);height:36px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);cursor:pointer;padding:0 16px;font-size:13px;font-weight:600;transition:filter .16s,background-color .16s,color .16s,border-color .16s,transform .12s}.consent-btn--accept{background:var(--blue);color:#fff;border:none}.consent-btn--accept:hover{filter:brightness(1.12)}.consent-btn--accept:active{transform:translateY(1px)}.consent-btn--decline{color:currentColor;background:0 0;border:1px solid}.consent-btn--decline:hover{background:var(--bg);color:var(--ink);border-color:var(--bg)}.download{background:var(--ink);width:max-content;max-width:100%;color:var(--bg);justify-content:center;align-items:center;gap:9px;padding:0 18px;display:inline-flex}.download-icon{flex:none;width:17px;height:17px}.download.preparing{opacity:.55;cursor:progress;pointer-events:none}.resume-banner{border:1px solid var(--ink);background:var(--bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.partial-warning{background:#fffbeb;border:1px solid #b45309;border-left-width:4px;padding:12px 16px;font-size:14px}.partial-warning ul{margin:8px 0 0;padding-left:18px}.error-support{opacity:.85;font-size:13.5px}.error-support a{text-decoration:underline}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.help-button{border:1px solid var(--ink);width:44px;min-height:44px;color:var(--ink);cursor:pointer;font-family:var(--font-mono);background:0 0;font-size:18px;font-weight:600}.timing-breakdown{color:var(--muted);border-top:none;font-size:12px}.timing-breakdown dt{text-transform:uppercase;letter-spacing:.02em}@media (max-width:720px){h1{font-size:clamp(36px,11vw,54px)}.minimal-shell{gap:10px;width:min(100vw - 20px,1120px);padding:10px 0}.header{flex-direction:row;align-items:center;min-height:44px;padding-bottom:8px}.quota-badge{display:none!important}.header-actions{gap:8px}.auth-enter{padding:0 12px}.process-grid{grid-template-columns:minmax(0,1fr);gap:10px}.dropzone{min-height:clamp(300px,56dvh,420px);padding:18px}.dropzone strong{max-width:100%;font-size:clamp(42px,11.5vw,66px)}.step-copy{gap:6px}.step-copy p{font-size:13px;line-height:1.35}.dropzone>span:not(.drop-hint){max-width:100%;font-size:14px;line-height:1.35}.drop-description{gap:5px 7px;margin-top:12px;display:flex}.review-panel,.progress-panel,.result-panel,.error-panel{padding:18px}.file-list{max-height:18dvh}.result-summaries{grid-template-columns:minmax(0,1fr);gap:10px}.result-copy h1{font-size:clamp(34px,11vw,48px)}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.privacy-footer{padding-top:8px;font-size:10px;line-height:1.25}.actions,.result-actions,.primary,.ghost,.download{width:100%}.help-button{width:44px;min-width:44px}.primary,.ghost{min-width:0;font-size:12px}}.doc-page{z-index:1;height:100dvh;font-family:var(--font-sans);color:var(--ink);padding:clamp(24px,6vw,64px) clamp(20px,6vw,48px) 80px;position:relative;overflow-y:auto}.doc-page>*{width:min(720px,100%);margin-left:auto;margin-right:auto}.doc-header{margin-bottom:28px}.doc-back{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-size:12px;text-decoration:none;display:inline-block}.doc-back:hover{color:var(--ink)}.doc-page h1{font-size:clamp(32px,6vw,44px)}.doc-updated{font-family:var(--font-mono);color:var(--muted);margin:6px 0 0;font-size:12px}.doc-page section{margin-bottom:22px}.doc-page h2{font-family:var(--font-display);margin:0 0 8px;font-size:19px}.doc-page p{color:var(--ink);margin:0 0 10px;line-height:1.6}.doc-page a{color:var(--blue);text-underline-offset:3px}.doc-footer{border-top:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;gap:18px;margin-top:36px;padding-top:14px;font-size:12px;display:flex}.plans-alert{border:1px solid var(--red);color:var(--red);font-family:var(--font-mono);margin-bottom:18px;padding:10px 14px;font-size:13px}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px;display:grid}.plan-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:10px;padding:22px 20px;display:flex}.plan-card h2{font-size:16px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0}.plan-price{font-family:var(--font-display);margin:0;font-size:30px;font-weight:800}.plan-perks{color:var(--ink);gap:6px;margin:0;padding:0;font-size:14px;line-height:1.45;list-style:none;display:grid}.plan-perks li:before{content:"— ";color:var(--muted)}.plan-input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);padding:10px 12px;font-size:14px}.plan-input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.plan-cta{background:var(--blue);color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:0;margin-top:auto;padding:12px 16px;font-size:13px;font-weight:700}.plan-cta:disabled{opacity:.6;cursor:progress}.privacy-footer{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.footer-links{white-space:nowrap}.footer-links a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.footer-links a:hover{color:var(--ink)}.drop-outcome{z-index:2;max-width:26ch;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);margin-top:14px;font-size:12.5px;display:block;position:relative}.admin-billing-status{font-family:var(--font-mono);border:1px solid var(--line);padding:12px 14px;font-size:14px}.admin-billing-status.ok{color:#22c55e;border-color:#22c55e66}.admin-billing-status.err{color:var(--red);border-color:var(--red)}.admin-billing-h{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 8px;font-size:12px}.landing-intro{max-width:560px;margin-bottom:18px}.landing-intro h1{letter-spacing:-.01em;margin:0 0 10px;font-size:26px;line-height:1.2}.landing-intro p{opacity:.85;margin:0 0 6px;font-size:14.5px}.landing-help a{text-decoration:underline}.result-cta{opacity:.85;max-width:520px;font-size:13.5px}.result-cta a{text-decoration:underline}@media (max-width:540px){.quota-badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;padding:4px 8px;font-size:11px;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.landing-proof{font-family:var(--font-mono);color:var(--muted);margin:2px 0 6px;font-size:12px}.plans-page>*{width:min(1040px,100%)}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:16px}.plan-card{gap:14px;padding:28px 24px}.plan-price{font-size:30px;font-weight:700}.plan-price--skeleton{background:linear-gradient(90deg, var(--gray-700) 25%, var(--gray-900) 50%, var(--gray-700) 75%);background-size:200% 100%;border-radius:0;width:110px;animation:1.2s ease-in-out infinite shield-skeleton}@keyframes shield-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-height:800px){.landing-intro{display:none}}.partial-warning ul{max-height:22dvh;overflow-y:auto}.drop-outcome a{color:inherit;text-decoration:underline}.plan-price--indisponivel{color:var(--muted);font-size:15px;font-family:var(--font-mono)}.lote-paper{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.lote-caption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}.demo-link{color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-self:center;min-height:36px;padding:4px 8px;font-size:12px;text-decoration:underline}.demo-link:hover:not(:disabled){color:var(--ink)}.demo-link:disabled{cursor:default;opacity:.7}.demo-note{color:var(--muted);border-left:2px solid var(--yellow);margin:0;padding-left:10px;font-size:12px;line-height:1.5}.multi-lote-aviso{border:1px solid var(--gray-700);border-left:2px solid var(--orange);background:var(--surface);flex-direction:column;gap:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.multi-lote-aviso p{margin:0}.multi-lote-acoes{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.multi-lote-acoes a{color:var(--ink);text-underline-offset:3px;font-size:12px;text-decoration:underline}.lote-origem{text-align:center;font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);margin:-6px 0 0;font-size:11px}.recibo{background:var(--surface);border:1px solid var(--gray-700);width:min(440px,100%);font-family:var(--font-mono);padding:14px 16px 12px;font-size:12px;line-height:1.5;position:relative}.recibo-head{border-bottom:1px dashed var(--gray-700);flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.recibo-head strong{letter-spacing:.14em;font-size:14px}.recibo-head span{color:var(--muted);letter-spacing:.05em}.recibo-linhas{border-bottom:1px dashed var(--gray-700);flex-direction:column;gap:5px;margin:0;padding:9px 0;display:flex}.recibo-linhas>div{align-items:baseline;display:flex}.recibo-linhas dt{color:var(--muted);flex:1;align-items:baseline;display:flex}.recibo-linhas dt:after{content:"";border-bottom:1px dotted var(--gray-700);flex:1;margin:0 8px;transform:translateY(-3px)}.recibo-linhas dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.recibo-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.recibo-copy{border:1px solid var(--ink);min-height:36px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;padding:7px 12px;font-size:11px}.recibo-copy[data-copied=true]{border-color:var(--green);color:var(--green)}.recibo-stamp{border:2px solid var(--green);color:var(--green);font-family:var(--font-mono);letter-spacing:.18em;pointer-events:none;padding:4px 10px;font-size:13px;font-weight:700;position:absolute;top:10px;right:12px;transform:rotate(-8deg)}.recibo-stamp[data-partial=true]{border-color:var(--orange);color:var(--orange)}@media (max-height:800px){.recibo{padding:10px 12px 8px}.recibo-linhas{gap:3px;padding:6px 0}}
