:root{--bg:#f6f7fb;--surface:#fff;--text:#0f172a;--muted:#64748b;--border:rgba(15,23,42,.1);--panel:#f8fafc;--primary:#111827;--primaryText:#fff;--danger:#b91c1c;--dangerText:#fff;--shadow-sm:0 1px 2px rgba(15,23,42,.06);--shadow-md:0 10px 30px rgba(15,23,42,.08);--r-lg:18px;--r-md:14px;--r-sm:12px;--pad:20px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1040px;margin:0 auto;padding:var(--pad)}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 0 18px}.brand{display:flex;flex-direction:column;gap:6px}.brandTitle{font-size:18px;font-weight:850;letter-spacing:-.02em}.badge,.brandSubtitle{font-size:12px;color:var(--muted)}.badge{border:1px solid var(--border);background:rgba(248,250,252,.9);padding:7px 10px;border-radius:999px}.main{padding:6px 0 26px}.footer{margin-top:18px;border-top:1px solid var(--border);padding-top:14px;color:var(--muted);font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}.cardHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.h1{font-size:18px;font-weight:850;margin:0;letter-spacing:-.01em}.p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:780px){.grid{grid-template-columns:1fr}}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:rgba(15,23,42,.9)}.field input,.field select,.input{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:#fff;outline:none;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:rgba(100,116,139,.85)}.field input:focus,.field select:focus{border-color:rgba(17,24,39,.35);box-shadow:0 0 0 4px rgba(17,24,39,.08)}.hint{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.35}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--r-sm);padding:10px 14px;cursor:pointer;font-weight:800;font-size:14px;transition:transform .06s ease,box-shadow .15s ease,background .15s ease;box-shadow:0 1px 0 rgba(15,23,42,.04)}.btn:active{transform:translateY(1px)}.btnPrimary{background:var(--primary);color:var(--primaryText)}.btnPrimary:hover{box-shadow:var(--shadow-sm)}.btnSecondary{background:rgba(248,250,252,.9);color:var(--text);border:1px solid var(--border)}.btnSecondary:hover{box-shadow:var(--shadow-sm)}.btnDanger{background:var(--danger);color:var(--dangerText)}.btnDanger:hover{box-shadow:var(--shadow-sm)}.alert{margin-top:14px;border-radius:var(--r-md);padding:12px;border:1px solid rgba(239,68,68,.3);background:hsla(0,93%,94%,.35)}.alertTitle{font-weight:900;font-size:13px;margin-bottom:6px}.alert ul{margin:8px 0 0 18px;padding:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.kpi{color:var(--muted);font-size:12px;line-height:1.4}.out{white-space:pre-wrap;border-radius:var(--r-lg);min-height:220px}.document .out{background:#fff;border:1px solid var(--border);padding:28px;line-height:1.7;font-size:15px;box-shadow:var(--shadow-md)}.firmaArea{margin-top:40px}.firmaImg{height:70px;display:block}.firmaNome{margin-top:6px;font-size:14px;font-weight:600}.small{font-size:12px;color:var(--muted)}.fixedInfo{margin-top:16px;border:1px solid var(--border);background:rgba(248,250,252,.9);border-radius:var(--r-lg);padding:12px 14px}.fixedTitle{font-size:12px;font-weight:900;color:var(--text);margin-bottom:6px}.fixedLine{font-size:13px;color:var(--muted);line-height:1.55}.firmaImg{height:auto}@media print{.footer,.header,.noPrint{display:none!important}body{background:#fff!important}.container{max-width:none;padding:0}.card,.document .out{border:none;box-shadow:none;padding:0}.document .out{border-radius:0}}