:root{
    --bg:#f3f5f7;
    --panel:#ffffff;
    --ink:#111827;
    --muted:#6b7280;
    --line:#e5e7eb;
    --soft:#f9fafb;
    --dark:#111827;
    --red:#d71920;
    --red-dark:#b7141a;
    --green:#128c7e;
    --green-dark:#0f766e;
    --radius:18px;
    --shadow:0 20px 50px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);padding:12px 13px;outline:none;transition:.18s;border-color:#d9dee6}
textarea{resize:vertical;min-height:94px}
input:focus,select:focus,textarea:focus{border-color:#9ca3af;box-shadow:0 0 0 4px rgba(17,24,39,.06)}
label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#273142;font-size:13px}
code{background:#f2f4f7;border:1px solid #e5e7eb;border-radius:8px;padding:2px 6px}
.hidden{display:none!important}.muted{color:var(--muted);font-size:13px}.wide{grid-column:1/-1}
.btn{border:0;border-radius:999px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn-full{width:100%}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark)}
.btn-secondary{background:var(--dark);color:#fff}.btn-soft{background:#eef1f5;color:#111827}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.18)}
.btn-whatsapp{background:var(--green);color:#fff}.btn-whatsapp:hover{background:var(--green-dark)}
.icon-btn{width:38px;height:38px;border-radius:999px;border:0;background:#f3f4f6;font-size:24px;line-height:1;cursor:pointer;color:#111827}
.app-shell{display:grid;grid-template-columns:276px 1fr;min-height:100vh}.sidebar{background:#111827;color:#fff;padding:22px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand-card{background:#fff;border-radius:22px;padding:15px;box-shadow:0 20px 50px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:10px}.brand-card img{width:100%;height:auto}.brand-card span{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.side-nav{display:flex;flex-direction:column;gap:8px}.side-nav a{padding:12px 14px;border-radius:14px;color:#e5e7eb;font-weight:700}.side-nav a:hover{background:rgba(255,255,255,.08)}.side-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.main-content{padding:28px;max-width:1500px;width:100%;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.page-header h1{margin:0;font-size:34px;letter-spacing:-.04em}.page-header p{margin:7px 0 0;color:var(--muted)}.eyebrow{margin:0!important;color:var(--red)!important;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900}.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:1.5fr .8fr}.panel{background:var(--panel);border:1px solid rgba(17,24,39,.06);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.panel-head h2{margin:2px 0 4px;font-size:22px;letter-spacing:-.03em}.panel-head p{margin:0;color:var(--muted);font-size:13px}.section-number{display:inline-flex;align-items:center;justify-content:center;background:#111827;color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;letter-spacing:.08em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.input-suffix{display:flex;align-items:center;border:1px solid #d9dee6;border-radius:13px;background:#fff;overflow:hidden}.input-suffix input{border:0;box-shadow:none}.input-suffix span{padding:0 12px;color:var(--muted);font-weight:800}.summary-stack{display:flex;flex-direction:column;gap:14px}.metric-card{border-radius:24px;padding:23px;background:#fff;border:1px solid var(--line)}.metric-card.dark{background:linear-gradient(145deg,#111827,#263141);color:#fff}.metric-card span,.metric-card small{display:block;color:rgba(255,255,255,.72)}.metric-card strong{display:block;font-size:34px;letter-spacing:-.04em;margin:10px 0}.mini-metrics{display:grid;grid-template-columns:1fr;gap:12px}.mini-metrics div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.mini-metrics span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.mini-metrics strong{display:block;font-size:20px;margin-top:5px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table-wrap.compact{max-width:760px}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:#f9fafb;border-bottom:1px solid var(--line);padding:12px;white-space:nowrap}.data-table td{border-bottom:1px solid #edf0f3;padding:10px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.editable-table input,.editable-table select{min-width:115px;padding:10px;border-radius:11px}.editable-table input.name-input{min-width:220px}.money-output{font-weight:900;white-space:nowrap}.danger-text{color:var(--red)}.remove-row{border:0;background:#fee2e2;color:#991b1b;width:34px;height:34px;border-radius:999px;font-weight:900;cursor:pointer}.remove-row:disabled{opacity:.35;cursor:not-allowed}.division-card{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:16px;align-items:end;background:#f9fafb;border:1px solid var(--line);padding:16px;border-radius:16px;margin-bottom:16px}.division-status{font-size:13px;color:#334155;font-weight:700;padding:13px 14px;border-radius:13px;background:#fff;border:1px solid var(--line)}.division-status.invalid{color:#991b1b;background:#fef2f2;border-color:#fecaca}.division-status.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.result-item{background:#f9fafb;border:1px solid var(--line);border-radius:17px;padding:15px}.result-item span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.result-item strong{display:block;font-size:23px;letter-spacing:-.03em;margin-top:7px}.result-item.highlight{background:#111827;color:#fff;border-color:#111827}.result-item.highlight span{color:rgba(255,255,255,.7)}.app-alert{position:fixed;right:24px;bottom:24px;z-index:50;background:#111827;color:#fff;padding:14px 16px;border-radius:16px;box-shadow:var(--shadow);max-width:420px;font-weight:700}.alert{padding:12px 14px;border-radius:14px;margin:12px 0;font-weight:700}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.pill{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900}.pill.ok{background:#dcfce7;color:#166534}.pill.danger{background:#fee2e2;color:#991b1b}.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.62);display:flex;align-items:center;justify-content:center;z-index:100;padding:18px}.modal{width:min(920px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.small-modal{width:min(560px,100%)}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0;color:var(--muted)}.history-list{display:grid;gap:10px}.history-item{border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center}.history-item h3{margin:0 0 5px;font-size:16px}.history-item p{margin:0;color:var(--muted);font-size:13px}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#374151,#111827 42%,#0b111d)}.login-card{width:min(430px,100%);background:#fff;border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.login-logo{width:190px;display:block;margin:0 auto 18px}.login-card h1{margin:0;text-align:center;letter-spacing:-.04em}.login-card p{text-align:center;color:var(--muted);line-height:1.5}.login-card small{display:block;color:var(--muted);margin-top:14px;text-align:center}.shell{padding:28px}.narrow-shell{max-width:920px;margin:0 auto}.topbar{display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:14px 18px;margin-bottom:18px;box-shadow:var(--shadow)}.topbar img{width:120px}.topbar span{display:block;color:var(--muted);font-size:13px}.pdf-sheet{background:#fff;color:#111827;border:1px solid #d9dee6;border-radius:10px;width:794px;max-width:100%;min-height:1123px;margin:0 auto;padding:42px;font-family:Arial,Helvetica,sans-serif}.pdf-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:3px solid #111827;padding-bottom:18px;margin-bottom:24px}.pdf-head img{width:155px}.pdf-title{text-align:right}.pdf-title h2{margin:0;font-size:22px}.pdf-title p{margin:7px 0 0;color:#5b6472}.pdf-block{margin:20px 0}.pdf-block h3{margin:0 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#111827}.pdf-table{width:100%;border-collapse:collapse;font-size:11px}.pdf-table th{background:#111827;color:#fff;padding:8px;text-align:left}.pdf-table td{border:1px solid #d1d5db;padding:7px;vertical-align:top}.pdf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pdf-box{border:1px solid #d1d5db;border-radius:8px;padding:10px;font-size:12px}.pdf-box span{display:block;color:#6b7280;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.pdf-box strong{font-size:15px}.pdf-total{background:#111827;color:#fff;border-color:#111827}.pdf-foot{margin-top:32px;border-top:1px solid #d1d5db;padding-top:12px;font-size:10px;color:#6b7280;text-align:center}.print-preview-panel{background:#eceff3}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{display:none}.main-content{padding:18px}.page-header{flex-direction:column}.header-actions{justify-content:flex-start}.grid.two{grid-template-columns:1fr}.result-grid{grid-template-columns:repeat(2,1fr)}.division-card{grid-template-columns:1fr}}@media(max-width:680px){.form-grid,.result-grid{grid-template-columns:1fr}.panel{padding:16px;border-radius:16px}.page-header h1{font-size:28px}.header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.header-actions .btn{width:100%}.pdf-sheet{padding:24px;min-height:auto}.pdf-head{flex-direction:column}.pdf-title{text-align:left}.pdf-grid{grid-template-columns:1fr}.metric-card strong{font-size:28px}}
@media print{body{background:#fff}.app-shell,.modal-backdrop{display:none!important}.pdf-sheet{display:block;width:100%;border:0;border-radius:0;box-shadow:none;padding:0}.print-preview-panel{display:block;background:#fff}.print-preview-panel .panel-head{display:none}}

/* Build 01.1 ajustes */
.mini-metrics.two-cards{grid-template-columns:1fr 1fr}
.whatsapp-actions{display:grid;gap:10px;margin:14px 0}
.pdf-operation-name{font-size:14px!important;font-weight:700;color:#111827!important}
#costsTable select{min-width:210px}
#investorsTable th,#investorsTable td{font-size:12px}
@media(max-width:680px){.mini-metrics.two-cards{grid-template-columns:1fr}.whatsapp-actions{gap:8px}}

/* Build 01.2 - PDF profissional, aba de operações e upload de logo */
.operations-list{display:grid;gap:12px}.operations-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.operations-table td strong{display:block;font-size:13px}.operations-table td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;border-radius:999px;background:#eef1f5;color:#111827;padding:5px 9px;font-size:11px;font-weight:900}.logo-settings-grid{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.logo-preview-box{border:1px solid var(--line);background:#f9fafb;border-radius:18px;padding:18px}.logo-preview-box span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:12px}.logo-preview-box img{display:block;width:100%;max-height:160px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.logo-upload-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.brand-card img{max-height:120px;object-fit:contain}.login-logo{max-height:140px;object-fit:contain}.topbar img{max-height:70px;object-fit:contain}
.pdf-sheet{position:relative;overflow:hidden;border:0;border-radius:14px;padding:40px 42px 34px;box-shadow:0 10px 30px rgba(17,24,39,.08)}.pdf-cover-line{position:absolute;top:0;left:0;right:0;height:8px;background:#111827}.pdf-head.professional{border-bottom:1px solid #d7dce3;padding-bottom:18px;margin-bottom:20px}.pdf-brand-block{display:flex;align-items:center;gap:16px}.pdf-brand-block img{width:150px;max-height:74px;object-fit:contain}.pdf-brand-block strong{display:block;font-size:15px;letter-spacing:.08em}.pdf-brand-block span{display:block;margin-top:4px;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.pdf-meta-card{min-width:210px;text-align:right;border:1px solid #d7dce3;border-radius:12px;padding:10px 12px}.pdf-meta-card span{display:block;color:#6b7280;font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-top:6px}.pdf-meta-card span:first-child{margin-top:0}.pdf-meta-card strong{display:block;font-size:11px;color:#111827}.pdf-operation-hero{background:#f6f7f9;border:1px solid #e5e7eb;border-radius:16px;padding:18px 20px;margin:20px 0}.pdf-operation-hero span{display:block;color:#6b7280;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.pdf-operation-hero h1{font-size:25px;line-height:1.15;margin:8px 0 7px;letter-spacing:-.035em}.pdf-operation-hero p{font-size:12px;margin:0;color:#4b5563}.pdf-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 22px}.pdf-kpi-row div{border:1px solid #d7dce3;border-radius:12px;padding:10px 11px;background:#fff}.pdf-kpi-row div.dark{background:#111827;color:#fff;border-color:#111827}.pdf-kpi-row span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#6b7280;font-weight:900}.pdf-kpi-row .dark span{color:rgba(255,255,255,.72)}.pdf-kpi-row strong{display:block;margin-top:5px;font-size:14px}.pdf-two-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.pdf-muted-line{font-size:11px;color:#5b6472;margin-top:0}.pdf-notes{font-size:12px;line-height:1.55;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.pdf-summary-list{display:grid;gap:7px}.pdf-summary-list div{display:flex;justify-content:space-between;gap:10px;border:1px solid #d7dce3;border-radius:10px;padding:9px 10px;font-size:11px}.pdf-summary-list span{color:#6b7280;font-weight:800}.pdf-summary-list strong{white-space:nowrap}.pdf-summary-list .total{background:#111827;color:#fff;border-color:#111827}.pdf-summary-list .total span{color:rgba(255,255,255,.72)}.pdf-table th{background:#111827;color:#fff;border:1px solid #111827}.pdf-table td{background:#fff}.pdf-block{break-inside:avoid}.pdf-foot{margin-top:26px}
@media(max-width:900px){.logo-settings-grid{grid-template-columns:1fr}.pdf-kpi-row,.pdf-two-columns{grid-template-columns:1fr}.pdf-meta-card{text-align:left;min-width:0}.pdf-brand-block{align-items:flex-start;flex-direction:column}.pdf-brand-block img{width:140px}.row-actions{flex-direction:column}.row-actions .btn{width:100%}}

/* Build 01.3 - viewers separados, filtros e máscaras */
.side-action{padding:12px 14px;border-radius:14px;color:#e5e7eb;font-weight:700;background:transparent;border:0;text-align:left;cursor:pointer;width:100%}.side-action:hover{background:rgba(255,255,255,.08)}
.filters-grid{display:grid;grid-template-columns:1.4fr repeat(3, minmax(130px, .8fr)) 120px;gap:12px;align-items:end;background:#f9fafb;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:16px}.filter-action{display:flex;align-items:end}.operations-viewer-modal{width:min(1180px,100%)}.logo-settings-grid.single{grid-template-columns:1fr;gap:14px}.logo-settings-grid.single .logo-preview-box img{max-height:220px}.editable-table input[data-mask]{text-align:right;font-weight:800}.pdf-head-centered{align-items:center}.pdf-brand-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;flex:1}.pdf-brand-centered img{width:170px;max-height:78px;object-fit:contain}.pdf-brand-centered strong{font-size:30px;letter-spacing:.08em;font-weight:900;color:#111827}.pdf-head-centered .pdf-meta-card{position:absolute;right:42px;top:42px}.pdf-sheet .pdf-head-centered{min-height:128px;justify-content:center;position:relative}.pdf-sheet .pdf-foot{display:none!important}
@media(max-width:900px){.filters-grid{grid-template-columns:1fr}.pdf-head-centered .pdf-meta-card{position:static}.pdf-sheet .pdf-head-centered{min-height:auto}.pdf-brand-centered strong{font-size:24px}.side-action{display:block}}


/* Build 01.3.1 - PDF: somente logo alinhada à esquerda */
.pdf-head-centered{justify-content:flex-start!important;align-items:center!important}
.pdf-brand-centered{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;gap:8px!important;flex:0 1 auto!important}
.pdf-brand-centered img{width:190px!important;max-height:85px!important;object-fit:contain!important}
.pdf-sheet .pdf-head-centered{justify-content:flex-start!important;position:relative!important}
@media(max-width:900px){.pdf-brand-centered img{width:170px!important;max-height:78px!important}}
