:root{
  --bg:#f6f9fc; --text:#0f172a; --muted:#667085; --border:#e5e7eb; --border-2:#d7dde5; --card:#ffffff;
  --accent:#2563eb; --accent-2:#1e40af; --danger:#b42318;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.titlebar{background:#1f2937;color:#fff;padding:18px 0;margin-bottom:8px}
.titlebar h1{max-width:1200px;margin:0 auto;padding:0 16px;font-size:26px;font-weight:800}

/* Tabs (top) */
.tabsbar{position:sticky;top:0;z-index:5;background:linear-gradient(var(--accent),var(--accent)) top/100% 3px no-repeat var(--card);
  border:1px solid var(--border-2);border-radius:10px;margin:18px 0 14px;box-shadow:0 6px 16px rgba(16,24,40,.06)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px}
.tabbtn{appearance:none;border:0;background:transparent;padding:10px 12px;border-radius:8px;color:#7a7f89;font-weight:700;cursor:pointer}
.tabbtn.active{color:#fff;background:var(--accent)}

/* Layout */
.app{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
@media (max-width:980px){.app{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 16px rgba(16,24,40,.06);overflow:hidden}
.card .hd{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}
.card .hd h2{margin:0;font-size:20px}
.hd-actions{display:flex;gap:8px}

/* Esquerda */
.section{padding:16px}
.section h3{margin:0 0 6px 0}
.section p.note{margin:0 0 14px;color:#667085;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}

.radio-img{display:block;border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;cursor:pointer;transition:.15s}
.radio-img:hover{border-color:#cbd5e1;box-shadow:0 4px 10px rgba(16,24,40,.05)}
.radio-img input{display:none}
.imgwrap{height:140px;display:flex;align-items:center;justify-content:center;background:#fff}
.imgwrap img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.meta{padding:10px 12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.ttl{font-weight:700;font-size:14px}
.lblprice{font-size:13px;color:#334155}
.badge{font-size:12px;font-weight:800;color:#0b3b99;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.25);padding:2px 6px;border-radius:999px}
.radio-img.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.15)}

/* Campos */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.cols-3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:980px){.cols-3{grid-template-columns:1fr}}
@media (max-width:720px){.cols{grid-template-columns:1fr}}
.field{margin-bottom:10px}
.field label{display:block;font-weight:600;margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;padding:12px;border:1px solid var(--border-2);border-radius:10px;background:#fff;color:#0f172a;outline:none;
}
.field textarea{resize:vertical}
.hint{border:1px dashed #d6dde6;background:#fbfdff;border-radius:10px;padding:10px;color:#334155;font-size:13px}
.error{color:var(--danger);font-size:13px;display:none;margin-top:4px}

/* Footers & botões */
.footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}
.left-footer{padding:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}
.btn{padding:10px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#1f2937;cursor:pointer;font-weight:700}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent-2)}
.btn.danger{color:#fff;background:var(--danger);border-color:#982119}

/* Direita (resumo) */
.sticky-right{position:sticky;top:12px;align-self:start}
.sum-hd{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.sum-hd h3{margin:0;font-size:18px}
.table{width:100%;border-collapse:collapse}
.table thead th{background:#f3f6f9;border-bottom:1px solid var(--border-2);text-align:left;padding:10px;font-size:13px;color:#374151}
.table tbody td{border-bottom:1px solid var(--border);padding:10px;font-size:14px}
.sumbody{padding:0 0 6px 0}
.tfooter{padding:14px 16px;border-top:1px solid var(--border);display:grid;gap:6px}
.rowline{display:flex;justify-content:space-between;font-weight:700}
.rowline.total{font-size:20px}
.submitbar{padding:16px;border-top:1px solid var(--border);background:#fafbfc}
.submitbar button{width:100%;padding:14px 18px;border-radius:10px;border:0;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}
small.muted{color:#667085}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal-backdrop.show{display:flex}
.modal{width:min(980px,100%);background:#fff;border:1px solid var(--border-2);border-radius:14px;box-shadow:0 20px 50px rgba(16,24,40,.18);overflow:hidden}
.mhd{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.mhd h3{margin:0;font-size:18px}
.mbody{padding:12px 16px;max-height:70vh;overflow:auto;display:grid;gap:18px}
.mft{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:8px}
.msec{border:1px solid var(--border-2);border-radius:12px;padding:12px;background:#fbfdff}
.msec h4{margin:0 0 10px 0;font-size:15px}
.inline-grid{display:grid;grid-template-columns:1fr 160px;gap:8px;align-items:center}
.table-like{width:100%;border-collapse:collapse}
.table-like th,.table-like td{border-bottom:1px solid var(--border-2);padding:8px}
.table-like th{text-align:left;background:#f3f6f9;font-size:13px;color:#374151}
.tag{display:inline-block;padding:2px 8px;border:1px solid var(--border-2);border-radius:999px;background:#fff;font-size:12px}
.small{font-size:12px;color:#667085}

/* Sistemas preview */
.sys-grid{display:grid;grid-template-columns:1fr 1fr 120px 120px;gap:8px;align-items:center;margin-bottom:6px}
.sys-grid .img-preview{width:100%;height:56px;border:1px solid var(--border-2);border-radius:8px;object-fit:contain;background:#fff}

/* Logo preview */
.logo-preview{margin-top:8px;border:1px dashed var(--border-2);border-radius:10px;padding:8px;background:#fff}
.logo-preview img{max-width:100%;max-height:80px;display:block;margin:auto}

/* Tabela carrinho */
.cart-table{width:100%;border-collapse:collapse}
.cart-table th,.cart-table td{padding:10px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:top}
.cart-actions{display:flex;gap:8px;align-items:center}
.qty-input{width:80px;padding:8px;border:1px solid var(--border-2);border-radius:8px}
.muted-small{color:var(--muted);font-size:12px}
.desc-edit{width:100%;min-height:64px;padding:8px;border:1px solid var(--border-2);border-radius:8px;font-size:13px}
