/* Base visual da tela independente de custo rápido */
:root{--font-d:'Sora',sans-serif;--font-b:'Archivo',sans-serif;--ink:#0B1825;--muted:#64748B;--paper:#F4F6F8;--line:#E2E8EE;--orange:#E85218}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-b);line-height:1.42}
.top{background:linear-gradient(180deg,#142536,#0B1825);color:#fff;box-shadow:0 8px 24px rgba(11,24,37,.14);position:sticky;top:0;z-index:40}
.topin{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:16px 18px}
.back{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#ff794f;text-decoration:none;font-size:28px;font-weight:800;line-height:1}
.ttl{min-width:0;flex:1}.ttl h1{font-family:var(--font-d);font-size:24px;line-height:1.1;margin:0}.ttl p{margin:4px 0 0;color:#b9c6d8;font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8e0ea;border-radius:14px;padding:10px 14px;min-height:42px;background:#fff;color:#0b1825;text-decoration:none;font-family:var(--font-d);font-weight:700;cursor:pointer}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.ghost{background:#fff;color:#0b1825}.btn:disabled{opacity:.55;cursor:not-allowed}.top .btn.ghost{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.12)}
@media(max-width:720px){.topin{padding:12px}.ttl h1{font-size:20px}.top .btn.ghost{display:none}}

/* Custo Rápido (V53.2) — layout simples e responsivo (mobile-first) */
main.cr{max-width:1040px;margin:0 auto;padding:14px 14px 120px}
.cr-status{font-size:13px;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;margin:6px 0 10px}
.cr-status.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.cr-note{font-size:12.5px;color:#475569;background:#eef6ff;border:1px solid #cfe4fb;border-radius:12px;padding:10px 12px;margin-bottom:14px}
.cr-note b{color:#0b1825}

/* Seções dobráveis */
.cr-sec{background:#fff;border:1px solid #e6e9ef;border-radius:16px;margin-bottom:12px;overflow:hidden}
.cr-sec>summary{list-style:none;cursor:pointer;padding:14px 16px;font-family:var(--font-d,'Sora',sans-serif);font-weight:700;color:#0b1825;display:flex;align-items:center;gap:10px}
.cr-sec>summary::-webkit-details-marker{display:none}
.cr-sec>summary::after{content:'▸';margin-left:auto;color:#94a3b8;transition:transform .15s}
.cr-sec[open]>summary::after{transform:rotate(90deg)}
.cr-sec>summary .sum{font-family:var(--font-b,'Archivo',sans-serif);font-weight:700;color:#0b6b3a;background:#e7f7ee;border-radius:999px;padding:3px 10px;font-size:12.5px}
.cr-sec>summary .sum.tag-est{color:#9a3412;background:#fff1e6}
.cr-sec>summary+*{margin-top:0}
.cr-sec .cr-grid,.cr-sec .rows-head,.cr-sec #mdoRows,.cr-sec [id$=Rows],.cr-sec .add-btn,.cr-sec .cr-hint{padding-left:16px;padding-right:16px}
.cr-sec .add-btn{margin:6px 16px 16px}

/* Grids de formulário base/impostos */
.cr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding-top:4px;padding-bottom:16px}
.cr-grid.pct{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.fg{display:flex;flex-direction:column;gap:4px}
.fg.wide{grid-column:1/-1}
.fg label{font-size:12px;color:#475569;font-weight:600}
.cr-help{font-size:12px;color:#64748b;line-height:1.45}
.fg.chk label{flex-direction:row;display:flex;align-items:center;gap:8px;font-size:13px;color:#0b1825}
.cr input,.cr select,.cr textarea{font:inherit;font-size:14px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0b1825;width:100%}
.cr input:focus,.cr select:focus,.cr textarea:focus{outline:2px solid #2563eb33;border-color:#2563eb}
.cr input:disabled,.cr input[readonly]{background:#f1f5f9;color:#475569}
.cr-hint{font-size:12px;color:#64748b;padding-bottom:14px}

/* Linhas dinâmicas */
.rows-head{display:grid;gap:8px;font-size:11.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.02em;padding-top:6px;padding-bottom:4px}
.row{display:grid;gap:8px;align-items:center;padding:8px 16px;border-top:1px solid #f1f5f9}
.rows-head.mdo-head,.row.mdo-row{grid-template-columns:1.7fr .85fr .55fr .8fr .55fr .65fr .7fr .75fr .9fr 36px}
.rows-head.item-head.mat,.row.item-row.mat{grid-template-columns:1.6fr .6fr .6fr .9fr .9fr 1.2fr 36px}
.rows-head.item-head.ter,.row.item-row.ter{grid-template-columns:1.7fr 1fr .55fr .85fr .9fr 1.1fr 36px}
.rows-head.item-head.desloc,.row.item-row.desloc{grid-template-columns:1fr 1.6fr .6fr .9fr .9fr 36px}
.rows-head.item-head.outros,.row.item-row.outros{grid-template-columns:2fr .6fr .9fr .9fr 36px}
.cell{min-width:0;display:block}
.cell-label{display:none}
.total-cell b{font-family:var(--font-b,'Archivo',sans-serif);font-weight:700;color:#0b1825}
.del-cell{display:flex;justify-content:center}
.row-del{border:1px solid #fecaca;background:#fff;color:#dc2626;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:13px}
.row-del:hover{background:#fef2f2}
.row-empty{padding:12px 16px;color:#94a3b8;font-size:13px}

/* Resumo */
.cr-resume{background:#0b1825;color:#fff;border-radius:18px;padding:16px;margin:16px 0}
.cr-resume h3{margin:0 0 10px;font-family:var(--font-d,'Sora',sans-serif);font-size:16px}
.resume-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 18px}
.rrow{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13.5px}
.rrow span{color:#b9c6d8}
.rrow b{color:#fff;font-family:var(--font-b,'Archivo',sans-serif)}
.rrow.strong b,.rrow.strong span{color:#fff;font-weight:800}
.rrow.big b{color:#34d399;font-size:18px;font-weight:800}
.rrow.muted span,.rrow.muted b{color:#8aa0b8}
.rrow.bad b{color:#fca5a5}
.resume-aviso{margin-top:10px;font-size:12.5px;color:#fde68a;background:rgba(253,230,138,.12);border-radius:10px;padding:8px 10px}

/* Ações */
.cr-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-bottom:16px}
.cr-memoria{width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;margin-top:8px}
.cr-memoria[aria-hidden=true]{display:none}

/* Barra fixa */
.cr-sticky{position:fixed;left:0;right:0;bottom:0;background:#0b1825;color:#fff;display:flex;gap:16px;justify-content:center;align-items:center;padding:10px 14px;box-shadow:0 -8px 24px rgba(0,0,0,.18);z-index:50}
.cr-sticky>div{display:flex;flex-direction:column;align-items:center;min-width:90px}
.cr-sticky span{font-size:11px;color:#9fb0c4}
.cr-sticky b{font-family:var(--font-b,'Archivo',sans-serif);font-weight:800;font-size:15px}
.cr-sticky #stSugerido{color:#34d399}
.cr-sticky #stMargem.ok{color:#34d399}.cr-sticky #stMargem.warn{color:#fbbf24}.cr-sticky #stMargem.bad{color:#fca5a5}

/* Toast */
.toast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%) translateY(20px);background:#0b1825;color:#fff;padding:11px 16px;border-radius:12px;font-size:13.5px;opacity:0;pointer-events:none;transition:.2s;z-index:60;max-width:92vw;text-align:center}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* Mobile: vira lista com rótulos */
@media (max-width:760px){
  .rows-head{display:none}
  .row{grid-template-columns:1fr 1fr!important;gap:10px;padding:12px 16px;border-top:8px solid #f1f5f9;position:relative}
  .cell-label{display:block;font-size:11px;color:#64748b;font-weight:600;margin-bottom:2px}
  .cell.total-cell,.row .cell:first-child{grid-column:1/-1}
  .del-cell{position:absolute;top:10px;right:12px}
  .cr-actions{justify-content:stretch}
  .cr-actions .btn{flex:1}
  .cr-sticky{gap:10px}
}
