.page{min-height:100vh;padding:1.25rem 1rem 2rem;max-width:720px;margin:0 auto}.page-wide{max-width:1040px}.app-header{margin-bottom:1rem}.tab-panel-header{margin-bottom:1.5rem}.tab-panel-header h1,.header h1{margin:0;font-size:clamp(1.6rem,5vw,2rem);line-height:1.15}.tabs{display:flex;gap:.35rem;margin-bottom:1.25rem;padding:.35rem;background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 4px 16px #0f172a0a}.tab{flex:1;min-height:44px;padding:.65rem .75rem;border:none;border-radius:10px;background:transparent;color:#64748b;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.tab:hover:not(.tab-active){background:#f8fafc;color:#334155}.tab-active{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb40}.tab-panel{animation:tab-fade .2s ease}@keyframes tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card-empty{min-height:200px;display:flex;align-items:center;justify-content:center}.empty-state{margin:0;color:#94a3b8;font-size:.95rem}.header{margin-bottom:1.5rem}.eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.subtitle{margin:.75rem 0 0;color:#475569;font-size:.98rem}.card{background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:1.25rem;box-shadow:0 10px 30px #0f172a0f}.section+.section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.section h2,.result h2{margin:0 0 .35rem;font-size:1.05rem}.hint{margin:0 0 1rem;color:#64748b;font-size:.92rem}.hint-emphasis{color:#dc2626;font-weight:700}.field-label{display:block;margin-bottom:.4rem;font-size:.88rem;font-weight:600;color:#334155}.select-input{width:100%;min-height:48px;margin-bottom:1rem;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font:inherit}.select-input:disabled{opacity:.55}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:48px;padding:.75rem 1rem;border-radius:12px;border:1px solid transparent;text-decoration:none;font-weight:600;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.btn-secondary:hover:not(:disabled){background:#f1f5f9}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger .spinner{border-color:#ffffff59;border-top-color:#fff}.btn-inline{margin-top:.75rem}.btn:disabled{opacity:.55}.spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.btn-secondary .spinner{border-color:#0f172a26;border-top-color:#0f172a}@keyframes spin{to{transform:rotate(360deg)}}.file-list{list-style:none;margin:.75rem 0 0;padding:0;max-height:260px;overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.file-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.file-select-all{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;font-weight:600;color:#334155}.file-select-all input,.file-list-item input{width:1rem;height:1rem;margin:0;flex-shrink:0}.file-list-links{display:flex;gap:.75rem}.link-btn{padding:0;border:0;background:transparent;color:#2563eb;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{opacity:.45;cursor:not-allowed}.file-list li{padding:0}.file-list-item{display:flex;align-items:flex-start;gap:.65rem;width:100%;padding:.65rem .85rem;color:inherit;font-size:.88rem;word-break:break-word;cursor:pointer;transition:background .15s ease}.file-list-item span{flex:1}.file-list-item:hover{background:#f8fafc}.file-list-item.selected{background:#eff6ff;color:#1d4ed8}.file-list-item.selected span{font-weight:600}.file-list-item.identificado{background:#d9fdd3}.file-list-item.identificado:hover{background:#ccf0c4}.file-list-item.identificado.selected{background:#d9fdd3;color:#0f172a;box-shadow:inset 0 0 0 2px #2563eb}.file-list-item.identificado.selected span{color:#0f172a}.file-list-actions{margin-top:.75rem}.file-list li+li{border-top:1px solid #eef2f7}.alert{margin-top:1.25rem;padding:.85rem 1rem;border-radius:12px;font-size:.92rem}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert-info{background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}.alert-warning ul,.alert-info ul{margin:.5rem 0 0;padding-left:1.1rem}.result{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:0 0 1rem}.meta div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem .75rem}.meta dt{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.meta dd{margin:.15rem 0 0;font-size:.92rem;word-break:break-word}.actions{display:grid;gap:.75rem}.page-actions{margin-top:1rem;display:flex;justify-content:center}@media(min-width:560px){.page{padding:2rem 1.5rem 3rem}.card{padding:1.5rem}.actions{grid-template-columns:1fr 1fr}}@media(min-width:720px){.btn{width:auto;min-width:220px}}.analise-pagamentos{display:flex;flex-direction:column;gap:1rem}.analise-bloco h2{margin:0 0 .25rem;font-size:1.05rem}.analise-bloco-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.analise-bloco-header .hint,.analise-bloco-referencia .hint{margin-bottom:0}.analise-grid{display:grid;gap:1rem}.analise-hint-inline,.analise-empty-inline{margin:1rem 0 0}.analise-resultado-vazio{min-height:180px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:1rem}.analise-meta{margin-bottom:1rem}.analise-acoes{display:flex;justify-content:center}.upload-zone{border:1.5px dashed #cbd5e1;border-radius:14px;background:#f8fafc;transition:border-color .15s ease,background .15s ease}.upload-zone-drag{border-color:#2563eb;background:#eff6ff}.upload-zone-compact{margin-bottom:.75rem}.upload-zone-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:140px;padding:1rem;border:none;background:transparent;color:inherit;text-align:center}.upload-zone-compact .upload-zone-button{min-height:88px}.upload-zone-button:disabled{opacity:.55;cursor:not-allowed}.upload-zone-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:1.1rem;font-weight:700}.upload-zone-label{font-size:.95rem;font-weight:600;color:#0f172a}.upload-zone-hint{font-size:.84rem;color:#64748b}.file-preview{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.file-preview-media{background:#f1f5f9}.file-preview-hero .file-preview-media{min-height:280px}.file-preview-compact .file-preview-media{min-height:160px}.file-preview-frame{display:block;width:100%;min-height:280px;border:0;background:#fff}.file-preview-image,.file-preview-thumb{display:block;width:100%;max-height:360px;object-fit:contain;margin:0 auto;background:#fff}.file-preview-generic{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#64748b;font-size:.92rem}.file-preview-generic-icon{font-size:2rem}.file-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid #e2e8f0}.file-preview-name,.file-card-name,.resultado-item-nome{margin:0;font-size:.9rem;font-weight:600;word-break:break-word}.file-preview-size,.file-card-size,.resultado-item-original,.resultado-item-motivo{margin:.15rem 0 0;font-size:.82rem;color:#64748b;word-break:break-word}.resultado-item-motivo-divergencia{color:#b91c1c;font-weight:700}.file-card-list,.resultado-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem;max-height:360px;overflow:auto}.file-card,.resultado-item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.65rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.resultado-item,.resultado-item-simples{grid-template-columns:auto 1fr auto}.resultado-item-simples{display:grid;gap:.75rem;align-items:center;padding:.65rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;grid-template-columns:1fr auto}.resultado-item-simples.identificado{background:#d9fdd3;border-color:#bde8b5}.resultado-item-acoes{display:flex;align-items:center;gap:.5rem}.file-card-thumb-wrap{flex-shrink:0}.file-card-thumb,.pdf-thumb-shell,.pdf-thumb-loading,.pdf-thumb-fallback,.file-card-thumb-generic,.file-card-thumb-loading{width:56px;height:72px;border-radius:8px;border:1px solid #dbe3ef;background:#f8fafc;object-fit:cover}.pdf-thumb-shell{overflow:hidden;position:relative}.pdf-thumb-frame{position:absolute;top:0;left:0;width:224px;height:288px;border:0;pointer-events:none;transform:scale(.25);transform-origin:top left}.pdf-thumb-loading,.file-card-thumb-loading{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.pdf-thumb-fallback,.file-card-thumb-generic{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#64748b}.file-card-body,.resultado-item-body{min-width:0}.file-card-remove{width:2rem;height:2rem;border:none;border-radius:8px;background:#f8fafc;color:#64748b;font-size:1.2rem;line-height:1}.file-card-remove:hover:not(:disabled){background:#fee2e2;color:#b91c1c}.btn-compact{width:auto;min-width:88px;min-height:40px;padding:.5rem .75rem;font-size:.86rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:820px){.analise-grid{grid-template-columns:1fr 1fr;align-items:start}}:root{color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#eef2f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button,a.btn{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}
