
:root {
  --bg: #F5F6F6;
  --surface: #FFFFFF;
  --surface-2: #E6E8EA;
  --text: #222428;
  --muted: #7B8187;
  --primary: #8BAF4F;
  --primary-strong: #71963B;
  --border: #E0E3E5;
  --danger: #a82c2c;
  --radius: 16px;
  --shadow: 0 8px 28px rgba(34, 36, 40, .07);
  --tap: 48px;
}

* { box-sizing: border-box; }
html { font-size: 16px; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.container { width: min(100% - 32px, 1180px); margin-inline: auto; }
.screen { min-height: 100vh; padding-bottom: 92px; }

.topbar {
  position: sticky; top: 0; z-index: 20;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}
.topbar-inner { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { display: flex; flex-direction: column; line-height: 1; }
.brand strong { font-size: 1.3rem; letter-spacing: -.04em; }
.brand small { color: var(--muted); margin-top: 5px; }

.page { padding: 24px 0; }
.page-title { margin: 0 0 6px; font-size: 1.55rem; letter-spacing: -.035em; }
.page-subtitle { color: var(--muted); margin: 0 0 24px; }

.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.card-pad { padding: 18px; }
.grid { display: grid; gap: 14px; }
.stat-grid { grid-template-columns: 1fr 1fr; }
.stat { padding: 16px; }
.stat-label { color: var(--muted); font-size: .82rem; }
.stat-value { display: block; margin-top: 6px; font-size: 1.25rem; font-weight: 760; }

.btn {
  min-height: var(--tap); border: 1px solid transparent; border-radius: 13px; padding: 0 18px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-weight: 700; cursor: pointer; text-decoration: none; user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .12s ease, background-color .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.btn:focus-visible { outline: 3px solid rgba(139,175,79,.24); outline-offset: 2px; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 7px 18px rgba(139,175,79,.20); }
.btn-primary:hover { background: var(--primary-strong); border-color: var(--primary-strong); }
.btn-primary:active { transform: translateY(1px); background: #658934; border-color: #658934; }
.btn-secondary { background: #fff; border-color: #cfd8ca; color: #3f4a3b; box-shadow: 0 2px 7px rgba(34,36,40,.04); }
.btn-secondary:hover { background: #f7faf3; border-color: #9eb687; color: #456422; }
.btn-ghost { background: transparent; border-color: transparent; color: #59615f; }
.btn-ghost:hover { background: #f4f5f3; color: var(--text); }
.btn-danger { background: #fff6f6; border-color: #e6caca; color: var(--danger); }
.btn-danger:hover { background: #fdecec; border-color: #d9a9a9; }
.btn:disabled,.btn[aria-disabled="true"] { background: #eef0ef!important; border-color: #e3e6e4!important; color: #9aa09d!important; box-shadow: none!important; cursor: not-allowed!important; transform: none!important; opacity: 1; }
.btn-block { width: 100%; }
.btn-icon { flex: 0 0 var(--tap); width: var(--tap); height: var(--tap); padding: 0; }

.field { display: grid; gap: 7px; }
.field label { font-weight: 650; font-size: .9rem; }
.input {
  width: 100%; min-height: 50px; border: 1px solid var(--border); border-radius: 12px;
  padding: 11px 13px; background: white; color: var(--text); outline: none;
}
.input:focus { border-color: #8298ad; box-shadow: 0 0 0 3px rgba(25,58,90,.1); }
.form-grid { display: grid; gap: 15px; }
.error { color: var(--danger); font-size: .9rem; min-height: 20px; }

.login-shell { min-height: 100vh; display: grid; align-items: center; padding: 28px 0; }
.login-card { padding: 24px; }
.login-brand { margin-bottom: 28px; }
.login-brand h1 { margin: 0; font-size: 2rem; letter-spacing: -.055em; }
.login-brand p { margin: 8px 0 0; color: var(--muted); }

.quick-action { min-height: 76px; padding: 16px; display: flex; align-items: center; justify-content: space-between; }
.quick-action strong { display: block; }
.quick-action span { color: var(--muted); font-size: .88rem; }
.section-title { font-size: 1.05rem; margin: 26px 0 12px; }

.list { overflow: hidden; }
.list-item { padding: 15px 16px; border-bottom: 1px solid var(--border); display: flex; gap: 12px; justify-content: space-between; align-items: center; }
.list-item:last-child { border-bottom: 0; }
.list-main strong { display: block; }
.list-main small { color: var(--muted); display: block; margin-top: 4px; }
.amount { font-weight: 760; white-space: nowrap; }


.hidden { display: none !important; }
.desktop-only { display: none; }

@media (min-width: 700px) {
  .container { width: min(100% - 48px, 1180px); }
  .login-shell .container { max-width: 460px; }
  .login-card { padding: 34px; }
  .stat-grid { grid-template-columns: repeat(4, 1fr); }
  .content-grid { grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); align-items: start; }
  .form-grid.two { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1000px) {
  .screen { padding-bottom: 32px; }

  .desktop-only { display: flex; }
}

/* Fase 2 — administração mobile first */
.admin-actions { display: grid; gap: 12px; }
.admin-toolbar { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.admin-toolbar .field { flex: 1 1 220px; }
.admin-toolbar .btn { flex: 0 0 auto; }
.card-stack { display: grid; gap: 12px; }
.entity-card { padding: 16px; }
.entity-head { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; }
.entity-title { min-width: 0; }
.entity-title strong { display: block; font-size: 1rem; overflow-wrap: anywhere; }
.entity-title small { display: block; color: var(--muted); margin-top: 4px; overflow-wrap: anywhere; }
.entity-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.badge { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 9px; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: .78rem; font-weight: 650; }
.badge-primary { background: rgba(25,58,90,.1); color: var(--primary); }
.badge-danger { background: rgba(168,44,44,.09); color: var(--danger); }
.entity-meta { display: grid; gap: 7px; margin-top: 13px; color: var(--muted); font-size: .86rem; }
.entity-meta-row { display: flex; justify-content: space-between; gap: 14px; }
.entity-meta-row b { color: var(--text); font-weight: 700; text-align: right; }
.empty-state { padding: 30px 20px; text-align: center; color: var(--muted); }
.empty-state strong { display: block; color: var(--text); margin-bottom: 6px; }

.dialog { width: min(100% - 20px, 720px); max-height: calc(100dvh - 20px); padding: 0; border: 0; border-radius: 20px; background: var(--surface); color: var(--text); box-shadow: 0 24px 80px rgba(18,38,63,.25); }
.dialog::backdrop { background: rgba(10,20,30,.48); backdrop-filter: blur(2px); }
.dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--border); }
.dialog-head h2 { margin: 0; font-size: 1.15rem; }
.dialog-body { padding: 18px; display: grid; gap: 17px; }
.dialog-foot { position: sticky; bottom: 0; z-index: 2; padding: 13px 18px max(13px, env(safe-area-inset-bottom)); background: rgba(255,255,255,.98); border-top: 1px solid var(--border); display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.check-grid { display: grid; gap: 9px; }
.check-card { min-height: 46px; display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: white; }
.check-card input { width: 20px; height: 20px; accent-color: var(--primary); }
.check-card span { min-width: 0; }
.check-card strong, .check-card small { display: block; }
.check-card small { color: var(--muted); margin-top: 2px; }
.switch-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; min-height: 46px; }
.switch-row input { width: 22px; height: 22px; accent-color: var(--primary); }
.hint { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }

.product-photo { width: 72px; height: 72px; border-radius: 14px; object-fit: cover; background: var(--surface-2); border: 1px solid var(--border); flex: 0 0 auto; }
.product-photo-placeholder { display: grid; place-items: center; color: var(--muted); font-size: .7rem; text-align: center; padding: 4px; }
.product-row { display: flex; gap: 13px; align-items: flex-start; }
.product-row .entity-title { flex: 1; }
.photo-preview { width: 100%; max-height: 230px; object-fit: contain; border-radius: 14px; border: 1px solid var(--border); background: var(--surface-2); }

.color-editor { display: flex; gap: 8px; }
.color-editor .input { flex: 1; }
.color-list { display: flex; flex-wrap: wrap; gap: 8px; min-height: 32px; }
.color-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 5px 8px 5px 11px; border-radius: 999px; background: var(--surface-2); font-size: .85rem; }
.color-chip button { width: 24px; height: 24px; border: 0; border-radius: 999px; background: white; cursor: pointer; }

.price-list { display: grid; gap: 9px; max-height: 48dvh; overflow: auto; padding-right: 2px; }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) 126px; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--border); border-radius: 12px; }
.price-product strong { display: block; font-size: .9rem; }
.price-product small { display: block; color: var(--muted); margin-top: 3px; }
.price-input { text-align: right; }
.price-row.inactive { opacity: .55; }

.subnav { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 4px; margin-bottom: 18px; scrollbar-width: none; }
.subnav::-webkit-scrollbar { display: none; }
.subnav a { white-space: nowrap; min-height: 39px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: .84rem; font-weight: 700; }
.subnav a.active { background: var(--primary); color: white; border-color: var(--primary); }

.toast-root { position: fixed; z-index: 100; left: 12px; right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); display: grid; gap: 8px; pointer-events: none; }
.toast { justify-self: center; max-width: 520px; padding: 12px 14px; border-radius: 12px; background: #183a2b; color: white; box-shadow: var(--shadow); font-size: .9rem; }
.toast-error { background: #7f2424; }
.btn-small { min-height: 38px; padding: 0 12px; border-radius: 11px; font-size: .84rem; }
.muted { color: var(--muted); }
.required::after { content: ' *'; color: var(--danger); }

@media (min-width: 700px) {
  .admin-actions { grid-template-columns: 1fr 1fr; }
  .check-grid.two { grid-template-columns: 1fr 1fr; }
  .dialog-foot { display: flex; justify-content: flex-end; }
  .dialog-foot .btn { min-width: 150px; }
  .toast-root { bottom: 22px; }
}

/* Fase 3 — clientes */
.client-toolbar { display: grid; gap: 12px; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.section-heading .section-title { margin-bottom: 12px; }
.client-card .entity-actions { flex-wrap: wrap; justify-content: flex-end; }
.form-section { display: grid; gap: 13px; padding-top: 2px; }
.form-section + .form-section { border-top: 1px solid var(--border); padding-top: 18px; }
.form-section h3 { margin: 0; font-size: .98rem; }
.cnpj-row { display: grid; gap: 9px; }
.cnpj-row .btn { align-self: end; }
.text-uppercase { text-transform: uppercase; }
.textarea { min-height: 104px; resize: vertical; line-height: 1.45; }
.form-alert { padding: 11px 13px; border-radius: 11px; font-size: .88rem; line-height: 1.4; }
.form-alert-error { color: #7f2424; background: rgba(168,44,44,.09); border: 1px solid rgba(168,44,44,.18); }
.form-alert-info { color: var(--primary); background: rgba(25,58,90,.08); border: 1px solid rgba(25,58,90,.14); }
.form-alert-warning { color: #6b4d14; background: #fff7df; border: 1px solid #ead49a; }
.dialog-wide { width: min(100% - 14px, 820px); }
.dialog-small { width: min(100% - 20px, 520px); }
.dialog-head > div { min-width: 0; }
.dialog-head small { display: block; margin-top: 3px; overflow-wrap: anywhere; }

@media (min-width: 700px) {
  .client-toolbar { grid-template-columns: minmax(0, 1fr) 260px; align-items: end; }
  .cnpj-row { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .cnpj-row .btn { min-width: 130px; }
  .field-span-2 { grid-column: 1 / -1; }
}

/* Fase 4 — operação comercial */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.order-screen { padding-bottom: 150px; }
.order-page { display:grid; gap:14px; }
.order-step { position:relative; padding-top:22px; }
.step-number { position:absolute; left:14px; top:-11px; width:27px; height:27px; border-radius:999px; display:grid; place-items:center; background:var(--primary); color:white; font-size:.78rem; font-weight:800; box-shadow:0 4px 10px rgba(25,58,90,.22); }
.catalog-list { display:grid; gap:9px; max-height:430px; overflow:auto; margin-top:12px; }
.catalog-card { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:11px; align-items:center; min-height:68px; padding:10px; border:1px solid var(--border); border-radius:13px; background:white; }
.catalog-photo { width:48px; height:48px; object-fit:cover; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); }
.catalog-main { min-width:0; }
.catalog-main strong,.catalog-main small { display:block; }
.catalog-main strong { font-size:.9rem; line-height:1.25; }
.catalog-main small { color:var(--muted); font-size:.75rem; margin-top:3px; }
.order-item-card { padding:14px; }
.order-item-warning { border-color:#e6c96f; }
.order-item-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.order-item-head > div { min-width:0; }
.order-item-head strong { display:block; }
.order-item-head small { display:block; color:var(--muted); margin-top:4px; }
.order-item-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; margin-top:12px; font-size:.8rem; color:var(--muted); }
.order-item-meta b { color:var(--text); }
.order-item-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:12px; }
.order-summary { display:grid; gap:9px; }
.order-summary.compact { padding:14px; background:var(--surface-2); border-radius:14px; }
.summary-row { display:flex; justify-content:space-between; gap:16px; color:var(--muted); }
.summary-row strong { color:var(--text); }
.summary-total { margin-top:3px; padding-top:11px; border-top:1px solid var(--border); font-size:1.08rem; color:var(--primary); font-weight:800; }
.summary-total strong { color:var(--primary); font-size:1.2rem; }
.order-actionbar { position:fixed; z-index:29; left:0; right:0; bottom:68px; padding:10px 0; background:rgba(255,255,255,.98); border-top:1px solid var(--border); padding-bottom:max(10px, env(safe-area-inset-bottom)); }
.order-actionbar-inner { display:grid; grid-template-columns:1fr 1.18fr; gap:9px; }
.product-dialog-head { display:flex; gap:12px; align-items:center; }
.product-dialog-head > div { min-width:0; }
.product-dialog-head strong,.product-dialog-head small { display:block; }
.mini-summary { display:flex; justify-content:space-between; gap:12px; padding:12px; border-radius:12px; background:var(--surface-2); color:var(--muted); font-size:.88rem; }
.mini-summary b { color:var(--text); }
.segment { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin-bottom:15px; border-radius:13px; background:var(--surface-2); }
.segment-btn { min-height:42px; border:0; border-radius:10px; background:transparent; color:var(--muted); font-weight:750; cursor:pointer; }
.segment-btn.active { background:white; color:var(--primary); box-shadow:0 2px 8px rgba(17,36,55,.08); }
.history-card { padding:15px; }
.history-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:13px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:13px; border-radius:13px; background:var(--surface-2); }
.detail-grid small,.detail-grid strong { display:block; }
.detail-grid small { color:var(--muted); font-size:.74rem; margin-bottom:3px; }
.detail-grid strong { font-size:.88rem; overflow-wrap:anywhere; }
.detail-items { display:grid; gap:0; border:1px solid var(--border); border-radius:13px; overflow:hidden; }
.detail-item { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; padding:12px; border-bottom:1px solid var(--border); }
.detail-item:last-child { border-bottom:0; }
.detail-item > div { min-width:0; }
.detail-item strong,.detail-item small { display:block; }
.detail-item small { color:var(--muted); margin-top:4px; font-size:.78rem; line-height:1.35; }
.share-panel { display:grid; gap:11px; padding-top:5px; }
.share-panel + .share-panel { padding-top:16px; border-top:1px solid var(--border); }
.share-panel h3 { margin:0; font-size:.96rem; }
.share-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.share-actions .btn-primary { grid-column:1/-1; }

@media (min-width:700px) {
  .order-screen { padding-bottom:90px; }
  .order-page { gap:18px; }
  .order-item-meta { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .order-actionbar { bottom:0; }
  .order-actionbar-inner { display:flex; justify-content:flex-end; }
  .order-actionbar-inner .btn { min-width:190px; }
  .catalog-list { grid-template-columns:1fr 1fr; max-height:520px; }
  .share-actions { display:flex; }
  .share-actions .btn { flex:1; }
}

/* Fase 5 — configurações comerciais e identidade */
.settings-card { padding: 17px; margin-bottom: 16px; }
.settings-form { display: grid; gap: 18px; }
.company-logo-box { display: grid; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.company-logo-preview { width: 100%; max-width: 280px; max-height: 90px; object-fit: contain; object-position: left center; background: transparent; }
.settings-actions { display: flex; justify-content: flex-end; }
@media (min-width:700px) { .company-logo-box { grid-template-columns: 310px 1fr; } }


/* Fase 5.3 — autocomplete real de clientes */
.client-autocomplete { position: relative; }
.client-search-results {
  position: absolute;
  z-index: 60;
  left: 0; right: 0;
  margin-top: .35rem;
  background: #fff;
  border: 1px solid var(--border, #d8dee6);
  border-radius: 14px;
  box-shadow: 0 14px 35px rgba(18, 38, 58, .14);
  max-height: 320px;
  overflow-y: auto;
}
.client-search-result {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: .85rem 1rem;
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #edf0f3;
  cursor: pointer;
  color: inherit;
}
.client-search-result:last-child { border-bottom: 0; }
.client-search-result:hover, .client-search-result:focus { background: #f3f7fb; outline: none; }
.client-search-result strong { font-size: .96rem; }
.client-search-result span { color: #667085; font-size: .82rem; }
.client-search-empty { padding: .95rem 1rem; color: #667085; }
.selected-client-card {
  margin-top: .6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .8rem .9rem;
  border: 1px solid #bfd2e3;
  border-radius: 14px;
  background: #f4f8fb;
}
.selected-client-card > div { min-width: 0; display: flex; flex-direction: column; gap: .12rem; }
.selected-client-card small { color: #667085; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; }
.selected-client-card strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.selected-client-card span { color: #667085; font-size: .82rem; }
@media (max-width: 600px) {
  .client-search-results { max-height: 45vh; }
  .client-search-result { padding: .95rem .9rem; }
}


/* Fase 5.4 — refinamento mobile da tela de orçamento */
@media (max-width: 699px) {
  :root { --radius: 14px; --tap: 46px; }

  .container { width: calc(100% - 24px); }
  .screen { padding-bottom: 0; }
  .topbar-inner { min-height: 56px; gap: 10px; }
  .brand strong { font-size: 1.08rem; }
  .brand small { font-size: .72rem; margin-top: 4px; }
  .topbar .btn-icon { width: 42px; height: 42px; min-height: 42px; }

  .page { padding: 16px 0 112px; }
  .order-page { gap: 12px; }
  .page-title { font-size: 1.35rem; margin-bottom: 4px; }
  .page-subtitle { margin-bottom: 16px; font-size: .9rem; line-height: 1.35; }
  .section-heading { gap: 8px; }

  .card-pad { padding: 14px; }
  .order-step { padding-top: 18px; }
  .step-number {
    left: 12px; top: -10px; width: 24px; height: 24px;
    font-size: .72rem;
  }
  .form-grid { gap: 12px; }
  .form-grid.two { grid-template-columns: 1fr; }
  .field { gap: 6px; }
  .field label { font-size: .9rem; }
  .input { min-height: 48px; padding: 10px 12px; border-radius: 11px; }
  .hint { font-size: .76rem; line-height: 1.35; }

  /* Cliente selecionado: evitar duplicação entre busca e cartão */
  .client-autocomplete.client-has-selection #clientSearch { display: none; }
  .client-autocomplete.client-has-selection .client-search-results { display: none !important; }
  .selected-client-card { margin-top: 0; padding: .72rem .78rem; align-items: flex-start; }
  .selected-client-card strong {
    white-space: normal; overflow: visible; text-overflow: clip;
    line-height: 1.25; font-size: .92rem;
  }
  .selected-client-card span { font-size: .76rem; }
  .selected-client-card .btn-icon { margin-top: 1px; }

  .client-search-results {
    position: fixed;
    left: 12px; right: 12px; top: 128px;
    margin-top: 0; max-height: min(52dvh, 420px);
    z-index: 80;
  }

  .catalog-list { max-height: none; }
  .catalog-card {
    grid-template-columns: 44px minmax(0,1fr) auto;
    min-height: 64px; padding: 9px; gap: 9px;
  }
  .catalog-photo { width: 44px; height: 44px; }
  .catalog-main strong { font-size: .86rem; }
  .catalog-main small { font-size: .72rem; }
  .catalog-card .btn-small { min-height: 40px; padding-inline: 10px; font-size: .78rem; }

  .order-item-card { padding: 12px; }
  .order-item-head { gap: 8px; }
  .order-item-head strong { font-size: .9rem; }
  .order-item-meta { gap: 6px 10px; margin-top: 10px; }
  .order-item-actions { margin-top: 10px; }

  .order-summary.compact { padding: 12px; }
  .summary-row { font-size: .9rem; }


  .order-screen { padding-bottom: 0; }
  .order-actionbar {
    bottom: 0;
    padding: 8px 0 max(8px, env(safe-area-inset-bottom));
    box-shadow: 0 -8px 24px rgba(18,38,63,.09);
  }
  .order-actionbar-inner { grid-template-columns: .95fr 1.2fr; gap: 8px; }
  .order-actionbar .btn { min-height: 48px; padding-inline: 10px; font-size: .86rem; }

  .dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 18px; }
  .dialog-head { padding: 13px 14px; }
  .dialog-body { padding: 14px; gap: 14px; }
  .dialog-foot { padding: 10px 14px max(10px, env(safe-area-inset-bottom)); }
  .dialog-foot .btn { min-width: 0; }
}

/* Fase 5.5 — comportamento unificado da busca de clientes em desktop/tablet/mobile */
.client-autocomplete.client-has-selection #clientSearch { display: none; }
.client-autocomplete.client-has-selection .client-search-results { display: none !important; }
.client-autocomplete.client-has-selection .selected-client-card { margin-top: 0; }
@media (min-width: 700px) {
  .client-autocomplete { width: 100%; }
  .client-search-results {
    top: calc(100% + 4px);
    margin-top: 0;
    max-height: 360px;
  }
  .selected-client-card {
    min-height: 52px;
    padding: .8rem .95rem;
  }
  .selected-client-card strong {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.25;
  }
}


/* Fase 5.7 — Identidade Visual Representa Mazzu
   Referência oficial: carvão #222428, verde oliva #8BAF4F,
   branco #FFFFFF, cinza claro #E6E8EA, cinza médio #9AA0A6. */
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1,h2,h3,.page-title,.section-title,.stat-value,.quick-action strong,.entity-title strong,.login-welcome h1 { font-family: Sora, Inter, ui-sans-serif, system-ui, sans-serif; }
.topbar { background: rgba(255,255,255,.96); }
.brand-visual { flex-direction: row; align-items: center; gap: 11px; min-width: 0; }
.brand-logo { display: block; width: 164px; height: 38px; object-fit: contain; object-position: left center; }
.brand-visual small { margin: 0; padding-left: 10px; border-left: 1px solid var(--border); font-size: .73rem; line-height: 1.2; white-space: nowrap; }

.input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(139,175,79,.16); }
.check-card input,.switch-row input { accent-color: var(--primary); }

.subnav a.active { background: var(--primary); border-color: var(--primary); }
.badge-primary { background: rgba(139,175,79,.13); color: #62852F; }
.step-number { background: var(--text); box-shadow: 0 4px 10px rgba(34,36,40,.18); }
.summary-total,.summary-total strong { color: #62852F; }
.segment-btn.active { color: #62852F; }
.form-alert-info { color: #5D7E2D; background: rgba(139,175,79,.10); border-color: rgba(139,175,79,.25); }
.client-search-result:hover,.client-search-result:focus { background: #F6F9F1; }
.selected-client-card { border-color: rgba(139,175,79,.38); background: rgba(139,175,79,.08); }
.toast { background: #28341F; }

/* Login: assinatura clara, modular e eficiente */
.login-shell { background:
  radial-gradient(circle at 78% 18%, rgba(139,175,79,.17), transparent 26%),
  linear-gradient(135deg, #F7F8F7 0%, #EEF0F0 100%); }
.login-shell .container { max-width: 980px; }
.login-card { position: relative; overflow: hidden; max-width: 460px; margin-inline: auto; border-color: rgba(34,36,40,.08); }
.login-card::after { content:""; position:absolute; width:230px; height:230px; right:-110px; top:70px; opacity:.08; background:
  linear-gradient(#8BAF4F,#8BAF4F) 70px 70px/58px 58px no-repeat,
  linear-gradient(#222428,#222428) 0 0/58px 58px no-repeat,
  linear-gradient(#222428,#222428) 70px 0/58px 58px no-repeat,
  linear-gradient(#222428,#222428) 0 70px/58px 58px no-repeat,
  linear-gradient(#222428,#222428) 0 140px/58px 58px no-repeat; transform: rotate(-5deg); pointer-events:none; }
.login-card > * { position: relative; z-index: 1; }
.login-brand { margin-bottom: 24px; }
.login-logo { width: min(100%, 330px); height: auto; display:block; margin-bottom: 30px; }
.login-welcome h1 { margin:0; font-size:1.34rem; letter-spacing:-.035em; }
.login-welcome p { margin:7px 0 0; color:var(--muted); }

/* Cards com contorno leve, sem excesso de sombras */
.card { box-shadow: 0 7px 24px rgba(34,36,40,.055); }
.quick-action:hover { border-color: rgba(139,175,79,.45); box-shadow: 0 9px 26px rgba(139,175,79,.10); }
.stat-value { color: var(--text); }

/* Estados comerciais */
.badge[data-status="FATURADO"], .badge[data-status="RECEBIDO"], .status-approved { background:rgba(139,175,79,.14); color:#5D7E2D; }
.badge[data-status="CANCELADO"], .status-cancelled { background:rgba(168,44,44,.09); color:var(--danger); }

@media (max-width: 699px) {
  .brand-logo { width: 126px; height: 31px; }
  .brand-visual { gap: 8px; }
  .brand-visual small { font-size: .66rem; padding-left: 8px; max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
  .login-shell { padding: 18px 0; }
  .login-card { padding: 22px 20px; }
  .login-logo { width: 260px; max-width: 100%; margin-bottom: 26px; }
}
@media (min-width: 700px) {
  .login-card { padding: 38px; }
}

/* Fase 6.0 — Dashboard Comercial (tablet e desktop) */
.rep-photo-row { display:grid; grid-template-columns:92px minmax(0,1fr); gap:16px; align-items:center; margin-bottom:16px; }
.rep-photo-preview { width:92px; height:92px; border-radius:22px; overflow:hidden; display:grid; place-items:center; background:#222428; color:#fff; font:700 1.35rem Sora,Inter,sans-serif; border:1px solid #E6E8EA; }
.rep-photo-preview img { width:100%; height:100%; object-fit:cover; }
.dashboard-header-actions { display:flex; align-items:center; gap:12px; }
.dashboard-sync { color:#70767c; font-size:.78rem; font-weight:600; }
.dashboard-desktop-shell { display:none; }

@media (min-width: 768px) {
  .dashboard-screen { padding-bottom:0; min-height:100vh; background:#f5f6f5; }
  .dashboard-screen .topbar { position:sticky; top:0; z-index:90; border-bottom:1px solid #e9ebea; }
  .dashboard-mobile-home { display:none !important; }
  .dashboard-desktop-shell { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 64px); }
  .dashboard-sidebar { position:sticky; top:64px; align-self:start; height:calc(100vh - 64px); padding:24px 16px; background:#222428; display:flex; flex-direction:column; justify-content:space-between; }
  .dashboard-nav { display:grid; gap:7px; }
  .dashboard-nav a { min-height:45px; padding:0 13px; border-radius:12px; display:flex; align-items:center; gap:11px; color:#cfd2d4; font-weight:650; font-size:.87rem; text-decoration:none; }
  .dashboard-nav a span { width:22px; text-align:center; font-size:1rem; }
  .dashboard-nav a:hover { background:rgba(255,255,255,.06); color:#fff; }
  .dashboard-nav a.active { background:#8BAF4F; color:#fff; }
  .dashboard-sidebar-note { padding:14px; border:1px solid rgba(255,255,255,.09); border-radius:14px; display:grid; gap:4px; }
  .dashboard-sidebar-note strong { color:#fff; font-family:Sora,Inter,sans-serif; }
  .dashboard-sidebar-note span { color:#9ca1a4; font-size:.73rem; line-height:1.35; }
  .dashboard-main { min-width:0; padding:28px clamp(22px,3vw,44px) 48px; }
  .dashboard-title-row { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:22px; }
  .dashboard-title-row h1 { margin:2px 0 5px; font-size:1.75rem; letter-spacing:-.04em; }
  .dashboard-title-row p { margin:0; color:#777d82; font-size:.88rem; }
  .dashboard-view-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:-6px 0 18px; }
  .dashboard-view-nav .btn { min-height:36px; padding:7px 12px; }
  .dashboard-view { min-width:0; }
  .dashboard-kpis-secondary { grid-template-columns:minmax(220px,320px); }
  .dashboard-eyebrow { color:#71963B !important; font-size:.68rem !important; font-weight:800; letter-spacing:.11em; }
  .dashboard-period-filter { display:flex; align-items:flex-end; gap:8px; padding:9px; background:#fff; border:1px solid #e7e9e7; border-radius:14px; }
  .dashboard-period-filter label { display:grid; gap:4px; color:#777d82; font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
  .dashboard-period-filter .input { min-height:38px; height:38px; width:142px; padding:6px 9px; border-radius:9px; font-size:.8rem; }
  .dashboard-period-filter .btn { min-height:38px; height:38px; padding:0 15px; border-radius:9px; font-size:.78rem; }
  .dashboard-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
  .dashboard-kpis.dashboard-kpis-secondary { grid-template-columns:minmax(220px,320px); }
  .dashboard-kpi { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr); gap:11px; align-items:center; background:#fff; border:1px solid #e7e9e7; border-radius:16px; padding:17px; }
  .kpi-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#f1f5eb; color:#71963B; font:700 .78rem Sora,Inter,sans-serif; }
  .dashboard-kpi>div:last-child { min-width:0; display:grid; gap:3px; }
  .dashboard-kpi span { color:#73797e; font-size:.72rem; font-weight:650; }
  .dashboard-kpi strong { overflow:hidden; text-overflow:ellipsis; color:#222428; font:700 1.14rem Sora,Inter,sans-serif; white-space:nowrap; }
  .dashboard-kpi small { font-size:.63rem; color:#8c9296; white-space:nowrap; }
  .dashboard-kpi small.up { color:#638a2c; }.dashboard-kpi small.down { color:#a55252; }
  .dashboard-grid { display:grid; gap:12px; margin-bottom:12px; }
  .dashboard-grid-primary { grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr); }
  .dashboard-grid-secondary { grid-template-columns:1fr 1fr; }
  .dashboard-panel { min-width:0; background:#fff; border:1px solid #e7e9e7; border-radius:16px; padding:18px; }
  .panel-head { min-height:42px; display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:12px; }
  .panel-head h2 { margin:0 0 3px; font-size:.96rem; letter-spacing:-.02em; }
  .panel-head p { margin:0; color:#8a9094; font-size:.7rem; }
  .panel-head>strong { font:700 .88rem Sora,Inter,sans-serif; color:#71963B; }
  .line-chart { height:235px; width:100%; display:grid; place-items:center; overflow:hidden; }
  .line-chart svg { width:100%; height:100%; overflow:visible; }
  .chart-guide { stroke:#edf0ed; stroke-width:1; }
  .chart-line { stroke:#8BAF4F; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
  .chart-dot { fill:#222428; stroke:#fff; stroke-width:2; }
  .chart-label { fill:#8a9094; font:10px Inter,sans-serif; text-transform:capitalize; }
  .status-donut-wrap { min-height:235px; display:grid; grid-template-columns:144px minmax(0,1fr); align-items:center; gap:18px; }
  .status-donut { width:144px; height:144px; border-radius:50%; position:relative; display:grid; place-items:center; }
  .status-donut::after { content:""; position:absolute; inset:23px; border-radius:50%; background:#fff; }
  .status-donut>div { position:relative; z-index:2; display:grid; text-align:center; }
  .status-donut strong { font:700 1.35rem Sora,Inter,sans-serif; }.status-donut span { color:#8a9094; font-size:.66rem; }
  .status-legend { display:grid; gap:9px; }.status-legend>div { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:8px; font-size:.7rem; }
  .status-legend strong { font-family:Sora,Inter,sans-serif; }.legend-dot { width:8px; height:8px; border-radius:50%; background:var(--legend); }
  .rep-ranking { display:grid; gap:2px; }
  .rep-rank-row { min-width:0; display:grid; grid-template-columns:24px 42px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #f0f1f0; }
  .rep-rank-row:last-child { border-bottom:0; }.rep-position { font:700 .7rem Sora,Inter,sans-serif; color:#9AA0A6; text-align:center; }
  .rep-avatar { width:42px; height:42px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:#222428; color:#fff; font:700 .7rem Sora,Inter,sans-serif; }
  .rep-avatar img { width:100%; height:100%; object-fit:cover; }
  .rep-rank-main { min-width:0; display:grid; gap:7px; }.rep-rank-main>div:first-child { min-width:0; display:grid; gap:2px; }
  .rep-rank-main strong { font-size:.76rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.rep-rank-main span { color:#8a9094; font-size:.62rem; }
  .rep-sales { font:700 .75rem Sora,Inter,sans-serif; white-space:nowrap; }
  .mini-bar { height:5px; background:#eef0ee; border-radius:999px; overflow:hidden; }.mini-bar i { display:block; height:100%; border-radius:inherit; background:#8BAF4F; }
  .dashboard-bars { display:grid; gap:13px; }.dashboard-bars.compact { gap:10px; }.dashboard-bar-row { display:grid; gap:5px; }
  .bar-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }.bar-head span { min-width:0; max-width:72%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.71rem; font-weight:650; }.bar-head strong { font:700 .7rem Sora,Inter,sans-serif; white-space:nowrap; }
  .dashboard-bar-row small { color:#92979b; font-size:.6rem; }
  .dashboard-table-list { display:grid; }.dashboard-table-row { min-width:0; display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:9px; align-items:center; padding:9px 0; border-bottom:1px solid #f0f1f0; }.dashboard-table-row:last-child{border-bottom:0}.dashboard-table-row.simple{grid-template-columns:minmax(0,1fr) auto}
  .dashboard-table-row>div { min-width:0; display:grid; gap:2px; }.dashboard-table-row strong { font-size:.72rem; }.dashboard-table-row>strong:last-child { font:700 .7rem Sora,Inter,sans-serif; white-space:nowrap; }.dashboard-table-row small { color:#8a9094; font-size:.61rem; }.table-rank { color:#9AA0A6; font:700 .67rem Sora,Inter,sans-serif; text-align:center; }
  .region-columns { display:grid; grid-template-columns:.82fr 1.18fr; gap:22px; }.region-columns h3 { margin:0 0 10px; font-size:.69rem; color:#777d82; text-transform:uppercase; letter-spacing:.06em; }
  .dashboard-footer-stat { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:9px; padding:12px 16px; border-radius:14px; background:#eef3e8; color:#5f6d52; font-size:.69rem; }.dashboard-footer-stat strong { color:#537829; font:700 .82rem Sora,Inter,sans-serif; }.dashboard-footer-stat small { justify-self:end; color:#7b8572; }
  .dashboard-empty { width:100%; min-height:86px; display:grid; place-items:center; color:#969b9f; font-size:.72rem; text-align:center; padding:14px; }
}

@media (min-width:768px) and (max-width:1050px) {
  .dashboard-desktop-shell { grid-template-columns:76px minmax(0,1fr); }
  .dashboard-sidebar { padding-inline:10px; }.dashboard-nav a { justify-content:center; padding:0; }.dashboard-nav a span { width:auto; }.dashboard-nav a { font-size:0; }.dashboard-nav a span { font-size:1.08rem; }.dashboard-sidebar-note { display:none; }
  .dashboard-title-row { align-items:flex-start; }.dashboard-period-filter { flex-wrap:wrap; justify-content:flex-end; max-width:380px; }.dashboard-period-filter .input { width:128px; }
  .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid-primary,.dashboard-grid-secondary { grid-template-columns:1fr; }
  .dashboard-sidebar { top:64px; }
}

@media (max-width:767px) {
  .dashboard-desktop-shell { display:none !important; }
  .dashboard-mobile-home { display:block; }
  nav.dashboard-mobile-home { display:block; }
  a.dashboard-mobile-home { display:flex; }
  .rep-photo-row { grid-template-columns:72px minmax(0,1fr); }.rep-photo-preview{width:72px;height:72px;border-radius:18px;}
}


/* Fase 6.1 — desempenho individual por representante */
@media (min-width: 768px) {
  .dashboard-rep-filter .input { width:220px; }
  .dashboard-rep-profile { display:grid; grid-template-columns:minmax(240px,1.45fr) repeat(3,minmax(130px,.6fr)) auto; gap:12px; align-items:center; margin-bottom:12px; padding:15px 16px; background:#222428; border:1px solid #303338; border-radius:16px; color:#fff; }
  .dashboard-rep-profile.hidden { display:none; }
  .rep-profile-person { min-width:0; display:flex; align-items:center; gap:12px; }
  .rep-profile-avatar { flex:0 0 52px; width:52px; height:52px; border-radius:15px; overflow:hidden; display:grid; place-items:center; background:#8BAF4F; color:#fff; font:700 .9rem Sora,Inter,sans-serif; }
  .rep-profile-avatar img { width:100%; height:100%; object-fit:cover; }
  .rep-profile-person>div:last-child { min-width:0; }
  .rep-profile-label { display:block; color:#a9c77b; font-size:.58rem; font-weight:800; letter-spacing:.08em; }
  .rep-profile-person h2 { margin:3px 0 2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#fff; font-size:1rem; }
  .rep-profile-person p { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#aeb3b6; font-size:.63rem; }
  .rep-profile-stat { min-width:0; padding-left:12px; border-left:1px solid rgba(255,255,255,.1); display:grid; gap:2px; }
  .rep-profile-stat span { color:#aeb3b6; font-size:.61rem; }
  .rep-profile-stat strong { color:#fff; font:700 1.05rem Sora,Inter,sans-serif; }
  .rep-profile-stat small { color:#81878b; font-size:.55rem; }
  .rep-profile-stat.attention strong { color:#b8d98a; }
  .rep-profile-clear { min-height:36px; height:36px; padding:0 11px; border-color:#45494e; background:#303338; color:#fff; font-size:.66rem; white-space:nowrap; }
  .rep-profile-clear:hover { background:#3a3e43; }
  button.rep-rank-row { width:100%; border:0; background:transparent; font:inherit; color:inherit; text-align:left; cursor:pointer; border-radius:10px; }
  button.rep-rank-row:hover { background:#f6f8f4; padding-left:7px; padding-right:7px; }
  button.rep-rank-row.selected { background:#eef3e8; padding-left:7px; padding-right:7px; box-shadow:inset 3px 0 0 #8BAF4F; }
  button.rep-rank-row:disabled { cursor:default; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .dashboard-rep-profile { grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(105px,.6fr)); }
  .rep-profile-clear { grid-column:1/-1; justify-self:start; }
  .dashboard-rep-filter { width:100%; }
  .dashboard-rep-filter .input { width:100%; min-width:210px; }
}

/* Fase 6.2 — estado de conexão e operação offline */
.connection-status{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:120;border:1px solid #dfe3e6;border-radius:999px;background:#fff;color:#222428;padding:7px 11px;font:600 12px/1 Inter,system-ui,sans-serif;box-shadow:0 4px 18px rgba(34,36,40,.10);cursor:pointer}
.connection-status.is-offline{background:#222428;color:#fff;border-color:#222428}.connection-status.has-review{background:#fff8e5;color:#735600;border-color:#e6c95c}
.offline-banner{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#f4f6f0;border:1px solid #dce7ca;color:#38432b}.offline-banner strong{display:block}.offline-banner small{display:block;margin-top:2px;color:#69705f}
.offline-pending-card{border-left:4px solid #8baf4f}.offline-review-card{border-left:4px solid #d29b20}.offline-review-list{margin:8px 0 0;padding-left:18px;font-size:13px}
@media(max-width:767px){.connection-status{top:auto;bottom:calc(76px + env(safe-area-inset-bottom));right:12px}.order-screen .connection-status{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* Fase 7 — Representa Intelligence */
.intelligence-screen{min-height:100dvh;background:#f6f7f5;}
.intelligence-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100dvh - 64px);}
.intelligence-sidebar{display:block;position:sticky;top:64px;height:calc(100dvh - 64px);}
.intelligence-main{min-width:0;padding:28px clamp(20px,3vw,42px) 50px;}
.intelligence-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;}
.intelligence-heading h1{margin:4px 0 6px;font-size:clamp(1.7rem,2.4vw,2.35rem);letter-spacing:-.03em;}
.intelligence-heading p{margin:0;color:var(--muted);}
.ai-filter{flex-wrap:wrap;justify-content:flex-end;}
.ai-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.ai-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:14px;align-items:start;}
.ai-column-main,.ai-column-side{display:grid;gap:14px;min-width:0;}
.ai-chat-card{min-height:640px;display:flex;flex-direction:column;}
.ai-online-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(139,175,79,.14);color:#5f7f2f;font-size:.74rem;font-weight:800;white-space:nowrap;}
.ai-conversation{display:flex;flex-direction:column;gap:10px;min-height:260px;max-height:430px;overflow:auto;padding:4px 2px 12px;margin-top:4px;}
.ai-message{max-width:88%;padding:13px 14px;border-radius:15px;line-height:1.5;font-size:.92rem;}
.ai-message strong,.ai-message span{display:block;}
.ai-message strong{font-size:.78rem;margin-bottom:5px;letter-spacing:.02em;}
.ai-message-system{align-self:stretch;max-width:100%;background:#f0f2ef;color:var(--text);border:1px solid var(--border);}
.ai-message-user{align-self:flex-end;background:var(--primary);color:white;border-bottom-right-radius:5px;}
.ai-message-assistant{align-self:flex-start;background:white;border:1px solid var(--border);box-shadow:0 4px 14px rgba(34,36,40,.05);border-bottom-left-radius:5px;}
.ai-feedback{display:flex!important;gap:6px;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem;}
.ai-feedback span{display:inline!important;margin-right:2px;}
.ai-feedback button{border:1px solid var(--border);background:white;border-radius:999px;padding:4px 9px;font:inherit;cursor:pointer;color:var(--text);}
.ai-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px;}
.ai-suggestions button{border:1px solid #d9ddd5;background:#f8faf6;color:#53643b;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:700;cursor:pointer;}
.ai-suggestions button:hover{border-color:var(--accent);background:rgba(139,175,79,.09);}
.ai-composer{margin-top:auto;border-top:1px solid var(--border);padding-top:14px;}
.ai-composer textarea{width:100%;min-height:92px;}
.ai-composer>div{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:9px;}
.ai-composer small{color:var(--muted);font-size:.72rem;line-height:1.4;max-width:520px;}
.ai-composer .btn{flex:0 0 auto;}
.ai-insights,.ai-list{display:grid;gap:9px;}
.ai-insight{display:grid;grid-template-columns:9px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--border);border-radius:12px;background:#fff;}
.ai-insight i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#9aa0a6;}
.ai-insight.attention i{background:#c79336}.ai-insight.positive i,.ai-insight.opportunity i{background:var(--accent)}.ai-insight.info i{background:#60666c}
.ai-insight strong,.ai-insight span{display:block;}.ai-insight strong{font-size:.85rem;margin-bottom:3px}.ai-insight span{color:var(--muted);font-size:.78rem;line-height:1.42;}
.ai-list-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}
.ai-list-row:last-child{border-bottom:0}.ai-list-row>div{min-width:0}.ai-list-row strong,.ai-list-row span,.ai-list-row b,.ai-list-row small{display:block}.ai-list-row strong{font-size:.83rem;overflow-wrap:anywhere}.ai-list-row span,.ai-list-row small{color:var(--muted);font-size:.72rem;margin-top:3px}.ai-list-row>div:last-child{text-align:right;flex:0 0 auto}.ai-list-row b{font-size:.8rem}.ai-list-row b.negative{color:#9a443f;}
.ai-history-panel{margin-top:14px;}.ai-history{display:grid;gap:8px}.ai-history-item{border:1px solid var(--border);border-radius:11px;background:#fff;overflow:hidden}.ai-history-item summary{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;cursor:pointer;list-style:none}.ai-history-item summary::-webkit-details-marker{display:none}.ai-history-item summary span{font-weight:700;font-size:.83rem}.ai-history-item summary small{color:var(--muted);font-size:.7rem;text-align:right}.ai-history-item>div{padding:0 13px 13px;color:var(--muted);font-size:.82rem;line-height:1.5;border-top:1px solid var(--border);padding-top:11px}
@media(max-width:1050px){.ai-kpis{grid-template-columns:1fr 1fr}.ai-layout{grid-template-columns:1fr}.ai-chat-card{min-height:auto}.intelligence-shell{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:767px){.intelligence-shell{display:block}.intelligence-sidebar{display:none}.intelligence-main{padding:18px 12px 110px}.intelligence-heading{display:block}.ai-filter{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}.ai-filter label:first-child{grid-column:1/-1}.ai-filter .btn{grid-column:1/-1}.ai-kpis{grid-template-columns:1fr 1fr}.ai-composer>div{display:grid}.ai-composer .btn{width:100%}.ai-message{max-width:96%}.ai-history-item summary{display:grid}.ai-history-item summary small{text-align:left}}

/* Fase 7.1 — Catálogo visual e fotos por cor */
.catalog-page{padding-bottom:90px}.catalog-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.catalog-heading h1{margin:3px 0 5px}.catalog-heading p{margin:0;color:var(--muted)}.catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,.6fr)) minmax(220px,1.2fr);gap:10px;align-items:end;padding:14px;margin-bottom:16px}.catalog-filters .field{margin:0}.catalog-search-field{min-width:0}.visual-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.visual-product-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(34,36,40,.04);cursor:pointer;transition:.18s ease}.visual-product-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(34,36,40,.09);border-color:#cdd8bd}.visual-product-image{aspect-ratio:1.18/1;background:#f1f2ef;display:grid;place-items:center;overflow:hidden}.visual-product-image img{width:100%;height:100%;object-fit:cover}.visual-product-image .product-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#8b9094}.visual-product-info{padding:13px;display:grid;gap:5px}.visual-product-info>strong{font:700 .95rem Sora,Inter,sans-serif}.visual-product-info>small{color:var(--muted);font-size:.74rem}.visual-product-price{margin-top:4px;font:700 1.02rem Sora,Inter,sans-serif}.visual-product-price small{font:500 .68rem Inter,sans-serif;color:var(--muted)}.color-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.color-dots span{max-width:100%;padding:3px 7px;border-radius:999px;background:#f1f3ef;color:#555c50;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.catalog-product-dialog{max-width:820px}.catalog-detail-layout{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(260px,.85fr);gap:20px}.catalog-detail-image{width:100%;aspect-ratio:1.12/1;object-fit:cover;border-radius:14px;background:#f1f2ef}.catalog-detail-layout .product-photo-placeholder{display:grid;place-items:center}.catalog-price{display:grid;gap:2px;padding:14px 0}.catalog-price span,.catalog-price small{color:var(--muted);font-size:.75rem}.catalog-price strong{font:800 1.55rem Sora,Inter,sans-serif}.btn-block{width:100%}.catalog-thumbs{display:flex;gap:7px;overflow:auto;margin-top:8px;padding-bottom:2px}.catalog-thumb{padding:0;border:2px solid transparent;background:transparent;border-radius:9px;overflow:hidden;cursor:pointer;flex:0 0 64px;height:54px}.catalog-thumb.active{border-color:var(--accent)}.catalog-thumb img{width:100%;height:100%;object-fit:cover}.copy-row{display:flex;gap:8px}.copy-row .input{min-width:0}.share-result{margin-top:12px}.link-button{border:0;background:transparent;color:#6b833f;text-decoration:underline;cursor:pointer;font:600 .72rem Inter,sans-serif;margin-top:3px}.catalog-request{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.catalog-request:last-child{border:0}.catalog-request strong,.catalog-request span,.catalog-request small{display:block}.catalog-request span,.catalog-request small{color:var(--muted);font-size:.71rem;margin-top:3px}.catalog-request-actions{text-align:right;display:flex;align-items:center;gap:7px}.color-gallery-admin{padding:13px;border:1px solid var(--border);border-radius:14px;background:#fafbf9;margin-bottom:14px}.color-gallery-admin .panel-head{margin-bottom:10px}.color-gallery-admin h3{margin:0}.color-gallery-admin p{margin:2px 0 0;color:var(--muted);font-size:.76rem}.color-gallery-admin .field{margin:0}.color-gallery-admin #uploadColorPhotosBtn{margin-top:7px}.color-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.color-photo-item{margin:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.color-photo-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.color-photo-item figcaption{padding:6px;display:flex;align-items:center;justify-content:space-between;gap:5px}.color-photo-item figcaption strong{font-size:.65rem;color:#64803b}.empty-state.compact{min-height:74px;padding:12px}.public-catalog-body{background:#f5f6f3;min-height:100dvh}.public-catalog-header{height:68px;background:#222428;color:#fff}.public-catalog-header .container{height:100%;display:flex;align-items:center;gap:14px}.public-catalog-logo{height:31px;width:auto;filter:brightness(0) invert(1)}.public-catalog-header strong,.public-catalog-header span{display:block}.public-catalog-header span{color:#adb1b4;font-size:.72rem;margin-top:2px}.public-catalog-page{padding-top:26px;padding-bottom:120px}.public-catalog-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.public-catalog-hero h1{margin:4px 0 5px}.public-catalog-hero p{margin:0;color:var(--muted)}.secure-catalog-badge{padding:8px 12px;border:1px solid #ced8bf;background:#f7fbf1;border-radius:999px;color:#617943;font-size:.72rem;font-weight:700;white-space:nowrap}.catalog-page .catalog-filters.public{grid-template-columns:minmax(280px,1fr);grid-template-areas:"search" "type" "size";gap:14px;padding:16px;align-items:start}.catalog-page .catalog-filters.public>.catalog-chip-field:nth-child(1){grid-area:type}.catalog-page .catalog-filters.public>.catalog-chip-field:nth-child(2){grid-area:size}.catalog-page .catalog-filters.public>.catalog-search-field{grid-area:search}.public-cart{position:fixed;z-index:90;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px 10px 16px;border:1px solid #35383d;background:#222428;color:#fff;border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.22)}.public-cart strong,.public-cart span{display:block}.public-cart span{color:#aeb3b6;font-size:.72rem;margin-top:2px}.request-items{display:grid;gap:7px;margin-bottom:14px}.request-item{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border);border-radius:10px}.request-item strong,.request-item span{display:block}.request-item span{font-size:.72rem;color:var(--muted);margin-top:3px}
@media(max-width:1100px){.visual-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-filters{grid-template-columns:repeat(3,1fr)}.catalog-search-field{grid-column:span 2}.color-photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.catalog-heading,.public-catalog-hero{display:block}.catalog-heading .btn{width:100%;margin-top:13px}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-search-field{grid-column:1/-1}.visual-catalog-grid{grid-template-columns:1fr 1fr;gap:9px}.visual-product-info{padding:10px}.visual-product-info>strong{font-size:.82rem}.visual-product-price{font-size:.88rem}.catalog-management-grid{grid-template-columns:1fr}.catalog-detail-layout{grid-template-columns:1fr}.catalog-detail-image{aspect-ratio:1.2/1}.color-photo-grid{grid-template-columns:repeat(3,1fr)}.public-catalog-header{height:60px}.public-catalog-logo{height:26px}.secure-catalog-badge{display:inline-block;margin-top:12px}.public-cart{bottom:max(10px,env(safe-area-inset-bottom))}.public-cart .btn{min-height:40px;padding-inline:12px}.catalog-request{display:grid}.catalog-request-actions{justify-content:space-between;text-align:left}}
@media(max-width:430px){.visual-catalog-grid{grid-template-columns:1fr}.catalog-filters{grid-template-columns:1fr}.catalog-search-field{grid-column:auto}.color-photo-grid{grid-template-columns:repeat(2,1fr)}}


/* Refino visual do dashboard comercial */
@media (min-width: 768px) {
  .dashboard-rep-profile {
    grid-template-columns: minmax(250px, 1.4fr) repeat(5, minmax(140px, .72fr)) auto;
    gap: 14px;
    align-items: stretch;
    padding: 16px;
    background: linear-gradient(135deg, #222428 0%, #2d3136 100%);
    border: 1px solid #2f3338;
    box-shadow: 0 18px 34px rgba(34,36,40,.16);
  }
  .rep-profile-person,
  .rep-profile-stat {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding: 14px;
    backdrop-filter: blur(2px);
  }
  .rep-profile-person {
    gap: 14px;
  }
  .rep-profile-avatar {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
  }
  .rep-profile-label {
    font-size: .66rem;
    letter-spacing: .12em;
    color: #c1dd93;
  }
  .rep-profile-person h2 {
    margin: 6px 0 4px;
    font-size: 1.35rem;
    line-height: 1.1;
  }
  .rep-profile-person p {
    font-size: .76rem;
    color: #d0d5d8;
  }
  .rep-profile-stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 6px;
    border-left: 0;
    padding-left: 14px;
    min-height: 100%;
  }
  .rep-profile-stat span {
    font-size: .72rem;
    font-weight: 700;
    color: #c3c8cb;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .rep-profile-stat strong {
    font-size: 1.08rem;
    line-height: 1.15;
  }
  .rep-profile-stat small {
    font-size: .70rem;
    line-height: 1.45;
    color: #d8dddf;
  }
  .rep-profile-stat.attention strong,
  .rep-profile-stat.attention span {
    color: #c9e898;
  }
  .goal-progress {
    margin-top: 8px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    overflow: hidden;
  }
  .goal-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #8BAF4F 0%, #a6cb67 100%);
  }
  .rep-profile-clear {
    align-self: center;
    justify-self: stretch;
    min-height: 46px;
    height: auto;
    padding: 0 16px;
    border-radius: 14px;
    font-size: .78rem;
    font-weight: 700;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
  }

  .panel-head.panel-head-trend {
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
  }
  .trend-head-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
  }
  .trend-head-actions .trend-mode {
    min-width: 120px;
  }
  .trend-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
  }
  .trend-summary-card {
    border: 1px solid #e8ece8;
    background: linear-gradient(180deg, #fbfcfa 0%, #f3f7ef 100%);
    border-radius: 14px;
    padding: 12px 14px;
    min-width: 0;
  }
  .trend-summary-card span {
    display: block;
    color: #7a8084;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
  }
  .trend-summary-card strong {
    display: block;
    color: #222428;
    font: 700 1rem Sora,Inter,sans-serif;
    line-height: 1.2;
  }
  .trend-summary-card small {
    display: block;
    margin-top: 4px;
    color: #7c8387;
    font-size: .72rem;
  }
  .line-chart {
    height: 290px;
    border: 1px solid #edf1eb;
    border-radius: 16px;
    background: #ffffff;
    padding: 8px;
  }
  .line-chart svg {
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  .chart-guide {
    stroke: #eef1ee;
    stroke-width: 1;
  }
  .chart-axis-line {
    stroke: #ccd4cd;
    stroke-width: 1.2;
  }
  .chart-axis-label {
    fill: #8b9295;
    font: 11px Inter,sans-serif;
  }
  .chart-area {
    fill: url(#trendAreaFill);
  }
  .chart-line {
    stroke: #89ac49;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
  }
  .chart-dot {
    fill: #ffffff;
    stroke: #2a2d31;
    stroke-width: 2.5;
  }
  .chart-dot-hit {
    fill: transparent;
  }
  .chart-label {
    fill: #7f8689;
    font: 11px Inter,sans-serif;
    text-transform: capitalize;
  }

  #trendCompare { min-width: 190px; }
  .chart-line-comparison {
    stroke: #a8afb2;
    stroke-width: 2;
    stroke-dasharray: 7 7;
    opacity: .9;
  }
  .chart-dot {
    fill: #ffffff;
    stroke: #89ac49;
    stroke-width: 1.8;
    opacity: .65;
  }
  .chart-dot.is-key {
    stroke: #2a2d31;
    stroke-width: 2.5;
    opacity: 1;
  }
  .dashboard-bar-action { cursor: pointer; border-radius: 10px; padding: 5px 6px; margin-inline: -6px; }
  .dashboard-bar-action:hover, .dashboard-bar-action:focus-visible { background: #f7f9f5; outline: none; }
}

@media (min-width: 768px) and (max-width: 1330px) {
  .dashboard-rep-profile {
    grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(145px, 1fr));
  }
  .rep-profile-clear {
    grid-column: 1 / -1;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .trend-summary-grid {
    grid-template-columns: 1fr;
  }
}


/* Fase 7.1.2 — integração das métricas 7.0.3 no dashboard seguro */
@media (min-width: 1060px) {
  .dashboard-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .trend-head-actions { display:flex; align-items:center; gap:10px; }
  .trend-head-actions>strong { font:700 .88rem Sora,Inter,sans-serif; color:#71963B; white-space:nowrap; }
  .trend-mode { min-height:34px; height:34px; width:110px; padding:5px 8px; border-radius:9px; font-size:.72rem; }
  .rep-rank-main small { color:#73797e; font-size:.62rem; line-height:1.35; }
}

/* Fase 7.1.13 — bonificações e amostras */
.bonus-page{padding-bottom:110px}.bonus-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:14px}.bonus-filters .field{margin:0}.bonus-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 22px}.bonus-client-list{display:grid;gap:10px}.bonus-client-card{padding:0;overflow:hidden}.bonus-client-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}.bonus-client-card summary::-webkit-details-marker{display:none}.bonus-client-card summary>div:first-child{min-width:0}.bonus-client-card summary strong,.bonus-client-card summary small{display:block}.bonus-client-card summary>div:first-child>strong{font-size:.95rem}.bonus-client-card summary>div:first-child>small{color:var(--muted);margin-top:3px}.bonus-client-numbers{text-align:right;display:grid;grid-template-columns:auto auto;gap:3px 14px;align-items:center}.bonus-client-numbers span{font-size:.72rem;color:var(--muted)}.bonus-client-numbers strong{font-size:.92rem}.bonus-client-numbers small{grid-column:1/-1;font-size:.68rem;color:#789643}.bonus-order-stack{border-top:1px solid var(--border);padding:0 18px}.bonus-order-row{padding:15px 0;border-bottom:1px solid var(--border)}.bonus-order-row:last-child{border-bottom:0}.bonus-order-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.bonus-order-head>div{display:grid;gap:4px}.bonus-order-head>div>strong{font-size:.85rem}.bonus-order-head small{font-size:.7rem;color:var(--muted)}.bonus-badge{background:#edf4e3;color:#617d36;border-color:#dbe8c8}.bonus-badge.sample{background:#eef1f3;color:#555f65;border-color:#dde2e5}.bonus-items{display:grid;gap:6px;margin:10px 0}.bonus-items>div{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:9px;background:#f7f8f7;font-size:.75rem}.bonus-items span{min-width:0;overflow-wrap:anywhere}.bonus-items strong{white-space:nowrap}.condition-special-note{color:#66833b}
@media(max-width:900px){.bonus-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-filters .btn{grid-column:1/-1}.bonus-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bonus-filters{grid-template-columns:1fr}.bonus-filters .btn{grid-column:auto}.bonus-summary-grid{grid-template-columns:1fr 1fr}.bonus-client-card summary{align-items:flex-start;padding:14px}.bonus-client-numbers{grid-template-columns:1fr;text-align:right;gap:2px}.bonus-client-numbers small{grid-column:auto}.bonus-order-stack{padding:0 14px}.bonus-order-head{display:grid}.bonus-order-head>strong{text-align:left}.bonus-items>div{display:grid}}

/* Fase 7.1.13 — ajuste manual de preço pelo Admin */
.admin-price-field {
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #dfe8d4;
  border-radius: 12px;
  background: #f7faF3;
}
.admin-price-field label { color:#4f7523; font-weight:800; }
.admin-price-field .input { font-weight:700; }
.admin-price-badge {
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef5e5;
  color:#5f7f35;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
}


/* Fase 7.1.13 — revisão mobile/iOS e safe areas */
html { min-height: 100%; background: var(--bg); }
body { min-height: 100dvh; }
.topbar {
  padding-top: env(safe-area-inset-top);
}

@media (max-width: 767px) {
  body { overflow-x: hidden; }
  .container {
    width: auto;
    margin-left: max(12px, env(safe-area-inset-left));
    margin-right: max(12px, env(safe-area-inset-right));
  }
  .screen { min-height: 100dvh; }
  .topbar {
    top: 0;
    min-height: calc(60px + env(safe-area-inset-top));
    background: rgba(255,255,255,.98);
  }
  .topbar-inner {
    min-height: 60px;
    gap: 8px;
  }
  .brand-visual {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 54px);
    gap: 7px;
  }
  .brand-logo {
    flex: 0 1 116px;
    width: 116px;
    height: 30px;
    max-width: 42vw;
  }
  .brand-visual small {
    min-width: 0;
    max-width: 132px;
    padding-left: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .66rem;
  }
  .topbar .btn-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    min-height: 42px;
    border-radius: 13px;
  }
  .dashboard-header-actions {
    flex: 0 0 auto;
    gap: 6px;
  }
  .dashboard-header-actions .dashboard-sync {
    display: none;
  }

  .page {
    padding-top: 20px;
    padding-bottom: calc(158px + env(safe-area-inset-bottom));
  }
  .page-title { line-height: 1.12; }
  .page-subtitle { line-height: 1.4; }


  /* O estado de conexão ocupa a área inferior esquerda; ações flutuantes ficam à direita. */
  .connection-status {
    left: max(12px, env(safe-area-inset-left));
    right: auto;
    bottom: calc(84px + env(safe-area-inset-bottom));
    max-width: min(48vw, 178px);
    min-height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 8px 24px rgba(34,36,40,.13);
  }
  .order-screen .connection-status {
    bottom: calc(76px + env(safe-area-inset-bottom));
  }


  .quick-action {
    min-height: 94px;
    padding: 18px 16px;
    gap: 14px;
  }
  .quick-action > div { min-width: 0; }
  .quick-action strong { font-size: 1.02rem; }
  .quick-action span { display:block; margin-top: 4px; line-height: 1.35; }
  .quick-action > b {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #f0f2ef;
    font-size: 1.25rem;
  }
  .quick-action-primary {
    border-color: rgba(139,175,79,.46);
    background: linear-gradient(135deg, rgba(139,175,79,.12), #fff 64%);
    box-shadow: 0 10px 26px rgba(139,175,79,.12);
  }
  .quick-action-primary > b {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 7px 16px rgba(139,175,79,.24);
  }

  .intelligence-main {
    padding-bottom: calc(152px + env(safe-area-inset-bottom));
  }
  .catalog-page,
  .bonus-page {
    padding-bottom: calc(152px + env(safe-area-inset-bottom));
  }
  .public-catalog-header {
    height: auto;
    min-height: calc(60px + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
  }
  .public-cart {
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  .dialog {
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);
  }
}

@media (max-width: 390px) {
  .brand-logo { width: 104px; max-width: 38vw; }
  .brand-visual small { max-width: 104px; }
  .connection-status { max-width: 44vw; font-size: 11px; }
}


/* Fase 7.1.13 — auditoria mobile completa */
@media (max-width: 767px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  body { padding-left: 0; padding-right: 0; }

  /* Login e topo: sempre dentro das safe areas do iOS. */
  .login-shell {
    min-height: 100dvh;
    padding-top: max(18px, env(safe-area-inset-top));
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }
  .topbar { isolation: isolate; }
  .topbar-inner { width: 100%; }
  .brand-visual { overflow: hidden; }
  .brand-visual small { white-space: nowrap; }

  /* Estrutura comum das páginas. */
  .page { min-width: 0; }
  .card, .dashboard-panel, .dashboard-kpi, .entity-card, .history-card { min-width: 0; }
  .section-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .section-heading > :first-child { min-width: 0; }
  .section-heading > .btn,
  .section-heading > .history-actions { flex: 0 0 auto; }
  .section-title { line-height: 1.2; }

  /* Componentes do dashboard usados também por Segurança e Inteligência. */
  .dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 12px;
  }
  .dashboard-kpi {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 9px;
    align-items: center;
    padding: 14px;
    background: #fff;
    border: 1px solid #e7e9e7;
    border-radius: 14px;
  }
  .dashboard-kpi:not(:has(.kpi-icon)) { grid-template-columns: 1fr; }
  .dashboard-kpi .kpi-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #f1f5eb;
    color: #71963B;
    font-weight: 800;
    font-size: .74rem;
  }
  .dashboard-kpi > div:last-child { min-width: 0; display: grid; gap: 3px; }
  .dashboard-kpi span { color: #73797e; font-size: .72rem; font-weight: 650; }
  .dashboard-kpi strong { min-width:0; color:#222428; font-size:1.02rem; line-height:1.18; overflow-wrap:anywhere; }
  .dashboard-kpi small { color:#8c9296; font-size:.66rem; line-height:1.35; white-space:normal; }
  .dashboard-panel {
    padding: 15px;
    background: #fff;
    border: 1px solid #e7e9e7;
    border-radius: 15px;
  }
  .panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
  }
  .panel-head > div { min-width: 0; }
  .panel-head h2 { margin:0 0 3px; font-size:.98rem; line-height:1.2; }
  .panel-head p { margin:0; color:#8a9094; font-size:.72rem; line-height:1.4; }
  .dashboard-table-list { display:grid; }
  .dashboard-table-row {
    min-width:0;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:10px 0;
    border-bottom:1px solid #f0f1f0;
  }
  .dashboard-table-row:last-child { border-bottom:0; }
  .dashboard-table-row.simple { grid-template-columns:minmax(0,1fr) auto; }
  .dashboard-table-row > div { min-width:0; }
  .dashboard-table-row strong, .dashboard-table-row small { overflow-wrap:anywhere; }

  /* Administração: ações nunca espremem o conteúdo lateralmente. */
  .admin-toolbar { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .admin-toolbar .field, .admin-toolbar .btn { width:100%; min-width:0; }
  .entity-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .entity-actions { flex-wrap:wrap; justify-content:flex-end; }
  .entity-meta-row { align-items:flex-start; }
  .entity-meta-row b { max-width:60%; overflow-wrap:anywhere; }
  .settings-actions { display:grid; }
  .settings-actions .btn { width:100%; }
  .price-row { grid-template-columns:minmax(0,1fr) minmax(104px, 34vw); }
  .color-editor { align-items:stretch; }
  .color-editor .btn { flex:0 0 auto; }

  /* Modais: roláveis, com cabeçalho/rodapé sempre acessíveis e sem invadir notch/home indicator. */
  .dialog {
    width: calc(100% - max(16px, env(safe-area-inset-left) + env(safe-area-inset-right)));
    max-height: calc(var(--representa-vh, 100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    margin-block: max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-bottom));
  }
  .dialog-head {
    padding-top: max(13px, env(safe-area-inset-top));
  }
  .dialog-head > div { min-width:0; }
  .dialog-head h2, .dialog-head small { overflow-wrap:anywhere; }
  .dialog-body { min-width:0; }
  .dialog-foot {
    grid-template-columns:1fr 1fr;
    padding-bottom:max(12px, env(safe-area-inset-bottom));
  }

  /* Clientes: resultados respeitam viewport visível e teclado do iPhone. */
  .client-search-results {
    top: calc(68px + env(safe-area-inset-top));
    max-height: min(52dvh, calc(var(--representa-vh, 100dvh) - 150px - env(safe-area-inset-top)));
    overscroll-behavior:contain;
  }
  .client-toolbar { min-width:0; }
  .selected-client-card { min-width:0; }

  /* Novo pedido: foco em leitura, toque e teclado. */
  .order-page { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .order-item-head { flex-wrap:wrap; }
  .order-item-head > strong, .order-item-head > .badge { flex:0 0 auto; }
  .order-item-meta { grid-template-columns:1fr 1fr; }
  .order-item-actions { flex-wrap:wrap; }
  .order-item-actions .btn { flex:1 1 120px; }
  .catalog-card { min-width:0; }
  .catalog-main { min-width:0; }
  .catalog-main strong, .catalog-main small { overflow-wrap:anywhere; }
  .mini-summary { flex-wrap:wrap; }
  .summary-row { align-items:flex-start; }
  .summary-row span { min-width:0; }
  .summary-row strong { text-align:right; white-space:nowrap; }
  .order-actionbar {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  body.keyboard-open .order-actionbar,
  body.keyboard-open .connection-status { display:none !important; }
  body.keyboard-open .page,
  body.keyboard-open .order-page { padding-bottom:24px; }

  /* Pedidos/histórico: ações e metadados quebram sem overflow horizontal. */
  .history-actions { justify-content:flex-start; }
  .history-actions .btn { flex:1 1 132px; }
  .detail-grid { grid-template-columns:1fr; }
  .detail-item { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .share-actions { grid-template-columns:1fr; }
  .share-actions .btn-primary { grid-column:auto; }

  /* Catálogo interno e público. */
  .catalog-heading { min-width:0; }
  .catalog-filters { padding:12px; }
  .visual-product-card { min-width:0; }
  .catalog-detail-layout { min-width:0; }
  .copy-row { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .public-catalog-page {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }
  .public-cart {
    left:max(10px, env(safe-area-inset-left));
    right:max(10px, env(safe-area-inset-right));
    width:auto;
    transform:none;
    bottom:max(10px, env(safe-area-inset-bottom));
  }
  .request-item { min-width:0; }

  /* Bonificações: leitura por cliente sem números comprimidos. */
  .bonus-client-card summary { min-width:0; }
  .bonus-client-card summary > div:first-child { min-width:0; }
  .bonus-client-numbers { min-width:96px; }
  .bonus-order-head > div { min-width:0; }

  /* Inteligência: conversa e filtros adaptados a teclado e telas estreitas. */
  .intelligence-main {
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .ai-chat-card { min-width:0; }
  .ai-conversation {
    max-height:min(430px, calc(var(--representa-vh, 100dvh) - 390px));
    overscroll-behavior:contain;
  }
  .ai-message { overflow-wrap:anywhere; }
  .ai-composer textarea { font-size:16px; }
  body.keyboard-open .ai-conversation { max-height:220px; }

  /* Controles com 16px evitam zoom automático do Safari ao receber foco. */
  input, select, textarea, .input { font-size:16px; }
}

@media (max-width: 430px) {
  .section-heading { display:grid; grid-template-columns:1fr; }
  .section-heading > .btn, .section-heading > .history-actions { width:100%; }
  .section-heading > .btn { justify-self:stretch; }
  .history-actions { width:100%; }
  .entity-head { grid-template-columns:1fr; }
  .entity-actions { justify-content:flex-start; }
  .entity-actions .btn { flex:1 1 110px; }
  .price-row { grid-template-columns:1fr; }
  .price-input { text-align:left; }
  .copy-row { grid-template-columns:1fr; }
  .copy-row .btn { width:100%; }
  .public-cart { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:9px 10px; }
  .public-cart .btn { white-space:nowrap; }
  .bonus-client-card summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .bonus-client-numbers { min-width:82px; }
}

@media (max-width: 370px) {
  .dashboard-kpis, .ai-kpis, .bonus-summary-grid { grid-template-columns:1fr; }
  .stat-grid { grid-template-columns:1fr; }
  .dashboard-mobile-home .stat-value { font-size:1.35rem; }
  .order-item-meta { grid-template-columns:1fr; }
  .dialog-foot { grid-template-columns:1fr; }
  .public-cart { grid-template-columns:1fr; }
  .public-cart .btn { width:100%; }
  .bonus-client-card summary { grid-template-columns:1fr; }
  .bonus-client-numbers { text-align:left; min-width:0; }
}


/* v7.1.13 — lista completa de produtos e cores */
.panel-count{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#f0f5ea;color:#668c34;font-size:.7rem;font-weight:800;white-space:nowrap}
.dashboard-product-search{display:grid;gap:5px;margin:0 0 12px;color:#73797e;font-size:.68rem;font-weight:700}
.dashboard-products-list{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:3px;scrollbar-width:thin}
.dashboard-product-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e8ebe8;border-radius:13px;background:#fff}
.dashboard-product-main{min-width:0}.dashboard-product-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.dashboard-product-head>div{min-width:0}.dashboard-product-head strong,.dashboard-product-head small{display:block}.dashboard-product-head strong{font-size:.8rem;overflow-wrap:anywhere}.dashboard-product-head small{margin-top:3px;color:#858b8f;font-size:.66rem}.dashboard-product-head b{font-size:.78rem;white-space:nowrap;color:#222428}
.product-color-list{display:grid;gap:4px;margin-top:9px;padding-top:8px;border-top:1px solid #eef0ee}.product-color-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,auto) auto;gap:8px;align-items:center;font-size:.66rem}.product-color-row span{display:flex;align-items:center;gap:6px;min-width:0;font-weight:700}.product-color-row span i{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#8BAF4F}.product-color-row small{color:#8a9094}.product-color-row strong{font-size:.68rem;white-space:nowrap}.product-no-color{display:block;margin-top:7px;color:#91979a;font-size:.64rem}
@media(max-width:767px){.dashboard-products-list{max-height:none;overflow:visible}.dashboard-product-row{grid-template-columns:24px minmax(0,1fr);padding:11px}.dashboard-product-head{display:grid;gap:4px}.dashboard-product-head b{font-size:.82rem}.product-color-row{grid-template-columns:1fr auto}.product-color-row small{grid-column:1/-1;padding-left:13px}.product-color-row strong{grid-column:2;grid-row:1}.dashboard-product-search{font-size:.75rem}}


/* v7.1.13 — ranking de produtos compacto e progressivo */
.dashboard-products-list{max-height:none;overflow:visible;padding-right:0}
.dashboard-products-actions{display:flex;justify-content:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #eef0ee}
.dashboard-products-actions.hidden{display:none}
.product-colors-details{margin-top:8px;border-top:1px solid #eef0ee;padding-top:7px}
.product-colors-details summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#668c34;font-size:.66rem;font-weight:800;list-style:none;user-select:none}
.product-colors-details summary::-webkit-details-marker{display:none}
.product-colors-details summary::after{content:'›';font-size:.9rem;transition:transform .18s ease}
.product-colors-details[open] summary::after{transform:rotate(90deg)}
.product-colors-details summary span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#f0f5ea;color:#668c34;font-size:.62rem}
.product-colors-details .product-color-list{margin-top:8px}
@media(max-width:767px){.dashboard-products-actions{display:grid;grid-template-columns:1fr}.dashboard-products-actions .btn{width:100%}.product-colors-details summary{font-size:.72rem}}

/* v7.1.20 — catálogo compacto, filtros responsivos e campanhas */
.catalog-page .catalog-filters{grid-template-columns:minmax(210px,.9fr) minmax(200px,.85fr) minmax(260px,1.25fr);grid-template-areas:"rep table search" "type type type" "size size size";gap:14px 18px;padding:16px;align-items:start}
.catalog-page .catalog-filters.catalog-filters-no-rep{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);grid-template-areas:"table search" "type type" "size size"}
.catalog-page .catalog-filters #repFilterWrap{grid-area:rep}.catalog-page .catalog-filters>.field:nth-child(2){grid-area:table}.catalog-page .catalog-filters>.catalog-chip-field:nth-child(3){grid-area:type}.catalog-page .catalog-filters>.catalog-chip-field:nth-child(4){grid-area:size}.catalog-page .catalog-filters .catalog-search-field{grid-area:search}
.catalog-page .catalog-chip-field{min-width:0}.catalog-page .filter-chips{display:flex;flex-wrap:wrap;overflow:visible;gap:7px;padding:1px;scrollbar-width:none}.catalog-page .filter-chips::-webkit-scrollbar{display:none}.catalog-page .filter-chip{flex:0 0 auto;border:1px solid var(--border);background:#fff;color:#59615a;border-radius:999px;padding:8px 11px;font:700 .7rem Inter,sans-serif;cursor:pointer}.catalog-page .filter-chip.active{border-color:#779b46;background:#eef5e7;color:#55752d}.catalog-page .catalog-filters .field{min-width:0;margin:0}.catalog-page .catalog-filters .input{width:100%;min-width:0}
.catalog-heading-actions{display:flex;gap:8px;align-items:center}.catalog-empty-help{grid-column:1/-1;gap:9px}.catalog-empty-help .btn{margin-top:4px}
.visual-catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.visual-product-card{border-radius:14px}.visual-product-image{position:relative;aspect-ratio:1/1}.visual-product-info{padding:10px;gap:4px}.visual-product-info>strong{font-size:.84rem;line-height:1.25;min-height:2.1em}.visual-product-info>small{font-size:.68rem}.visual-product-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:end}.visual-product-row>div{display:grid;gap:2px;min-width:0}.visual-product-price{display:grid;gap:1px;margin-top:3px;font-size:.9rem}.visual-product-price>small{font-size:.61rem;text-decoration:line-through;color:var(--muted)}.visual-product-price>strong{font-size:.94rem;color:#50772b}.catalog-add-button{width:34px;height:34px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:700 1.25rem/1 Inter,sans-serif;cursor:pointer}.promotion-badge{position:absolute;top:8px;left:8px;padding:5px 7px;border-radius:999px;background:#52762f;color:#fff;font:800 .62rem Inter,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.12)}.catalog-detail-image{aspect-ratio:1/1}.promotion-detail{display:grid;gap:5px;margin:4px 0 14px;padding:10px;border:1px solid #dbe7ce;border-radius:12px;background:#f6faf1}.promotion-detail>strong{font-size:.78rem;color:#55752d}.promotion-detail>div{display:flex;justify-content:space-between;gap:12px;font-size:.74rem}.promotion-detail span{color:var(--muted)}.promotion-detail b{color:#41651e}.entity-actions{display:flex;gap:7px;align-items:center}.promotion-tiers{display:grid;gap:7px;margin:10px 0}.promotion-tier{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.promotion-tier .field{margin:0}.admin-price-badge.promotion-price-badge{background:#f0f6e8;color:#54752f;border-color:#d8e6c8}
.admin-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.admin-section-heading .section-title{margin-bottom:4px}.admin-section-heading p{margin:0;font-size:.78rem}
.campaign-filters{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(200px,1fr) minmax(200px,1fr);gap:14px;padding:16px;margin-bottom:16px}.campaign-filters .field{margin:0;min-width:0}.campaign-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.campaign-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-width:0;flex:1}.campaign-card-main>div:first-child{display:grid;gap:4px;min-width:0}.campaign-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campaign-card-title>strong{font:700 .96rem Sora,Inter,sans-serif}.campaign-product{font-weight:650}.campaign-card small{color:var(--muted)}.campaign-card-summary{text-align:right;display:grid;gap:3px;white-space:nowrap}.campaign-card-summary strong{font-size:.8rem}.campaign-card-summary span{font-weight:750;color:#55752d}.campaign-dialog{max-width:760px}.campaign-tier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:16px}.campaign-tier-heading strong{display:block}.campaign-tier-heading .hint{margin:4px 0 0;max-width:560px}.form-span-2{grid-column:1/-1}
@media(max-width:1100px){.visual-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.catalog-page .catalog-filters,.catalog-page .catalog-filters.catalog-filters-no-rep{grid-template-columns:1fr 1fr;grid-template-areas:"rep table" "search search" "type type" "size size";gap:12px 14px}.catalog-page .catalog-filters.catalog-filters-no-rep{grid-template-areas:"table search" "type type" "size size"}.campaign-filters{grid-template-columns:1fr 1fr}.campaign-card{align-items:flex-start}.campaign-card-main{display:grid;gap:10px}.campaign-card-summary{text-align:left}.campaign-card>.entity-actions{flex-direction:column;align-items:stretch}}
@media(max-width:767px){.catalog-page .catalog-filters,.catalog-page .catalog-filters.catalog-filters-no-rep{grid-template-columns:1fr;grid-template-areas:"rep" "table" "search" "type" "size";padding:12px;gap:12px}.catalog-page .catalog-filters.catalog-filters-no-rep{grid-template-areas:"table" "search" "type" "size"}.catalog-page .filter-chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:1px 0 4px}.visual-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.visual-product-info{padding:9px}.visual-product-info>strong{font-size:.78rem}.catalog-add-button{width:32px;height:32px}.catalog-heading-actions{display:grid;grid-template-columns:1fr;margin-top:13px}.catalog-heading-actions .btn{width:100%;margin-top:0}.promotion-tier{grid-template-columns:1fr 1fr}.promotion-tier .btn{grid-column:1/-1}.entity-actions{flex-wrap:wrap;justify-content:flex-end}.admin-section-heading{display:block}.campaign-filters{grid-template-columns:1fr;padding:12px}.campaign-card{display:grid;gap:14px}.campaign-card>.entity-actions{flex-direction:row;flex-wrap:wrap}.campaign-tier-heading{display:grid}.campaign-tier-heading .btn{width:max-content}}
@media(max-width:390px){.visual-product-row{grid-template-columns:minmax(0,1fr) 30px}.catalog-add-button{width:30px;height:30px}}


/* Fase 7.1.20 — mesma informação comercial no catálogo e na montagem do pedido. */
.catalog-photo-wrap{position:relative;width:48px;height:48px;align-self:start}.catalog-photo-wrap .catalog-photo{width:100%;height:100%}.promotion-badge-compact{top:-7px;left:-7px;right:auto;font-size:.55rem;padding:4px 6px;white-space:nowrap}.catalog-card-promoted{border-color:#dce7d0;background:#fbfcf9}.order-product-promo-price{display:flex;align-items:baseline;gap:7px;margin-top:4px}.order-product-promo-price span{color:#8b9093;font-size:.68rem;text-decoration:line-through}.order-product-promo-price strong{color:#557c2b;font-size:.92rem}.order-product-base-price{margin-top:4px;font-size:.82rem;font-weight:750}.catalog-main .promotion-catalog-hint{color:#55752d;font-weight:700}.item-promotion-summary{display:block;margin-top:6px;padding:7px 9px;border-radius:9px;background:#f1f6e9;color:#55752d}.item-promotion-summary b{font-weight:800}.item-promotion-tiers{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.item-promotion-tiers>span{padding:4px 6px;border:1px solid #dce7d0;border-radius:7px;background:#fbfcf9;color:#59605f}.product-dialog-head #itemPrice em{display:block;margin-top:5px;color:#73797e;font-size:.68rem;font-style:normal;line-height:1.35}
.campaign-communication{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fafbf9}.campaign-communication .switch-row{margin:0}
.campaign-notice-dialog{width:min(560px,calc(100vw - 28px));max-width:560px;padding:0;border:0;border-radius:24px;overflow:auto}.campaign-notice-dialog::backdrop{background:rgba(24,28,24,.58);backdrop-filter:blur(2px)}.campaign-notice-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 8px}.campaign-notice-body{display:grid;gap:14px;padding:10px 22px 22px}.campaign-notice-visual{position:relative;width:min(100%,420px);aspect-ratio:1/1;margin:0 auto;border:1px solid #dce6d2;border-radius:20px;overflow:hidden;background:#edf2e7}.campaign-notice-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.campaign-notice-placeholder{position:absolute;inset:0;background:linear-gradient(145deg,#eef3e8,#dfe8d5)}.campaign-notice-copy{display:grid;gap:5px;padding:16px;border-radius:14px;background:#f8faf5;border:1px solid #edf2e8}.campaign-notice-copy small{color:#55752d;font-weight:800;letter-spacing:.04em}.campaign-notice-copy strong{font:800 1.45rem/1.08 Sora,Inter,sans-serif}.campaign-notice-copy b{color:#55752d;font-size:.86rem}.campaign-notice-copy span{color:#646a69;font-size:.78rem}.campaign-notice-body p{margin:0;line-height:1.45}.campaign-notice-tier-summary{color:#6d7472;font-size:.78rem}.campaign-notice-text{color:#7a807f;font-size:.78rem}.campaign-notice-body>.btn{width:100%;min-height:48px}.campaign-notice-count{display:block;color:#55752d;font-weight:700}.campaign-notice-hide{display:flex;align-items:flex-start;gap:8px;color:#676d6c;font-size:.78rem;line-height:1.35}.campaign-notice-hide input{margin-top:2px}
@media(max-width:767px){.catalog-card{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.catalog-card .btn-small{align-self:center}.campaign-notice-dialog{width:calc(100vw - 24px);border-radius:20px}.campaign-notice-head{padding:16px 16px 7px}.campaign-notice-body{padding:8px 16px 18px;gap:12px}.campaign-notice-visual{width:100%}.campaign-notice-copy{padding:14px}.campaign-notice-copy strong{font-size:1.2rem}}

/* v7.1.26 — home móvel operacional e navegação única */
.mobile-global-nav{display:none}
.client-detail-body{display:grid;gap:18px}.client-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.client-commercial-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.client-commercial-stats>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}.client-commercial-stats strong,.client-commercial-stats span{display:block}.client-commercial-stats strong{font:750 .95rem Sora,Inter,sans-serif}.client-commercial-stats span{margin-top:4px;color:var(--muted);font-size:.72rem}.client-assistant-card{display:grid;gap:8px;padding:16px;border:1px solid #dbe7ce;border-radius:16px;background:#fbfcf8}.client-assistant-card .badge{width:max-content}.client-assistant-card>strong{font:750 .92rem/1.35 Sora,Inter,sans-serif}.client-assistant-card p{margin:0;color:#606866;line-height:1.5}.client-detail-section-title{margin:0 0 9px}.client-top-products{display:grid;border:1px solid var(--border);border-radius:14px;overflow:hidden}.client-top-products>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.client-top-products>div:last-child{border-bottom:0}.client-top-products strong,.client-top-products span{display:block}.client-top-products span{margin-top:3px;color:var(--muted);font-size:.7rem}.client-top-products b{white-space:nowrap}.client-representative-notes{margin:0;padding:12px 14px;border-radius:12px;background:#f5f6f4;color:#626967;font-size:.76rem;line-height:1.5}

@media(max-width:767px){
  body.has-mobile-global-nav{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .dashboard-screen>.topbar{display:none}
  .mobile-sales-home.page{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(108px + env(safe-area-inset-bottom));max-width:560px}
  .mobile-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.mobile-home-heading h1{margin:0;font:800 clamp(1.55rem,7vw,2rem)/1.1 Sora,Inter,sans-serif}.mobile-home-heading p{margin:5px 0 0;color:#668c34;font-size:.78rem}.mobile-month-chip{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f2f5ee;color:#4d5351;font-size:.72rem;font-weight:800;text-transform:uppercase}
  .mobile-month-card{display:grid;gap:12px;padding:18px;border-radius:20px}.mobile-month-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-month-card-head>span{color:#68706d;font-weight:700}.mobile-month-card-head>strong{padding:6px 9px;border-radius:999px;background:#eff5e8;color:#668c34;font-size:.72rem}.mobile-month-sales{font:800 clamp(1.75rem,8vw,2.25rem)/1 Sora,Inter,sans-serif;letter-spacing:-.035em}.mobile-goal-progress{height:8px;border-radius:999px;background:#edf0eb;overflow:hidden}.mobile-goal-progress i{display:block;width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .25s ease}.mobile-month-details{display:flex;justify-content:space-between;gap:16px}.mobile-month-details>div{display:grid;gap:3px;min-width:0}.mobile-month-details>div:last-child{text-align:right}.mobile-month-details strong{font-size:.76rem}.mobile-month-details span{color:var(--muted);font-size:.72rem;line-height:1.3}
  .mobile-home-section{margin-top:24px}.mobile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.mobile-section-heading h2{margin:0;font:750 1rem/1.2 Sora,Inter,sans-serif}.mobile-section-heading p{margin:3px 0 0;color:var(--muted);font-size:.72rem}.mobile-section-heading>a{color:#668c34;font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap}
  .mobile-price-card{display:grid;gap:9px;padding:12px;border-radius:18px}.mobile-price-table{min-height:38px;height:38px;padding-top:6px;padding-bottom:6px;font-size:.72rem}.mobile-price-results{display:grid;gap:2px}.mobile-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 4px;border-top:1px solid var(--border);text-decoration:none;color:inherit}.mobile-price-row>div{min-width:0}.mobile-price-row strong,.mobile-price-row span,.mobile-price-row b,.mobile-price-row small{display:block}.mobile-price-row strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-price-row span{margin-top:3px;color:var(--muted);font-size:.66rem}.mobile-price-row>div:last-child{text-align:right}.mobile-price-row b{font-size:.82rem}.mobile-price-row small{margin-top:3px;color:#668c34;font-size:.64rem;font-weight:800}.mobile-empty-hint{display:block;padding:10px 4px;color:var(--muted);font-size:.72rem;line-height:1.4}
  .mobile-continue-list,.mobile-opportunity-list{display:grid;gap:9px}.mobile-continue-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;text-decoration:none;color:inherit;border-radius:17px}.mobile-continue-card strong,.mobile-continue-card span{display:block}.mobile-continue-card strong{font-size:.82rem}.mobile-continue-card span{margin-top:4px;color:var(--muted);font-size:.68rem}.mobile-continue-card>b{font-size:1.2rem;color:#6c7370}.mobile-empty-card{padding:16px;color:var(--muted);font-size:.76rem;border-radius:17px}
  .mobile-opportunity-card{display:grid;gap:7px;padding:15px 16px;text-decoration:none;color:inherit;border-radius:18px;border-color:#dce7d0}.mobile-opportunity-card .badge{width:max-content}.mobile-opportunity-card>strong{font:750 .9rem Sora,Inter,sans-serif}.mobile-opportunity-card p{margin:0;font-size:.77rem;line-height:1.45}.mobile-opportunity-card small{color:var(--muted);font-size:.68rem;line-height:1.35}

  .mobile-global-nav{position:fixed;z-index:900;display:block;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));height:72px;border:1px solid rgba(34,36,40,.09);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 12px 34px rgba(31,35,31,.16);backdrop-filter:blur(14px)}.mobile-global-nav-inner{height:100%;display:grid;grid-template-columns:1fr 1fr 1.08fr 1fr 1fr;align-items:center}.mobile-nav-item{border:0;background:transparent;color:#777e7a;display:grid;justify-items:center;gap:3px;padding:6px 2px;text-decoration:none;font:500 .62rem Inter,sans-serif}.mobile-nav-item span{display:grid;place-items:center;min-width:28px;height:26px;font-size:1.08rem}.mobile-nav-item b{font-weight:650}.mobile-nav-item.active{color:#668c34}.mobile-nav-new{align-self:start;justify-self:center;transform:translateY(-18px);display:grid;place-items:center;width:64px;height:64px;border:7px solid #fff;border-radius:50%;background:var(--primary);color:#fff;text-decoration:none;box-shadow:0 9px 22px rgba(95,132,45,.34),0 0 0 1px rgba(34,36,40,.08);font:700 2rem/1 Inter,sans-serif}.mobile-nav-more-menu{position:absolute;right:0;bottom:82px;width:min(250px,calc(100vw - 36px));padding:7px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 14px 32px rgba(31,35,31,.18)}.mobile-nav-more-menu>a{display:flex;align-items:center;gap:11px;padding:11px 10px;color:inherit;text-decoration:none;border-radius:11px}.mobile-nav-more-menu>a:hover{background:#f5f7f3}.mobile-nav-more-menu>a>span{font-size:1rem;color:#668c34}.mobile-nav-more-menu strong,.mobile-nav-more-menu small{display:block}.mobile-nav-more-menu strong{font-size:.78rem}.mobile-nav-more-menu small{margin-top:2px;color:var(--muted);font-size:.65rem}
  body.keyboard-open .mobile-global-nav{display:none}
  .client-detail-dialog{width:calc(100vw - 24px);max-width:560px}.client-detail-actions{display:grid;grid-template-columns:1fr 1fr}.client-commercial-stats{gap:7px}.client-commercial-stats>div{padding:11px}.client-commercial-stats strong{font-size:.8rem}.client-commercial-stats span{font-size:.64rem}
}
.ai-column-side{order:-1}


/* v7.1.26 — shell mobile comercial único e clientes sob pesquisa */
@media(max-width:767px){
  .commercial-mobile-shell>.screen>.topbar,
  .commercial-mobile-shell>.topbar{display:none}
  .commercial-mobile-shell .page{padding-top:calc(64px + env(safe-area-inset-top));padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .commercial-mobile-shell .connection-status{top:max(12px,env(safe-area-inset-top));bottom:auto;left:auto;right:max(16px,env(safe-area-inset-right));min-height:34px;max-width:58vw;padding:0 10px;font-size:.68rem;box-shadow:none;background:transparent;border-color:transparent;color:#668c34}
  .commercial-mobile-shell .connection-status.is-offline{background:#222428;color:#fff;border-color:#222428;box-shadow:0 5px 16px rgba(34,36,40,.12)}
  .commercial-mobile-shell .connection-status.has-review{background:#fff8e5;color:#735600;border-color:#e6c95c}
  .dashboard-screen~.connection-status{display:none}

  .mobile-global-nav{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));height:74px;border-radius:24px}
  .mobile-global-nav-inner{grid-template-columns:1fr 1fr 1.12fr 1fr 1fr}
  .mobile-nav-new{width:66px;height:66px;transform:translateY(-19px);box-shadow:0 11px 26px rgba(95,132,45,.36),0 0 0 1px rgba(34,36,40,.07)}

  .client-list-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:20px;margin-bottom:14px}.client-list-heading .section-title{margin:0 0 3px}.client-list-heading>.btn{width:auto;justify-self:end;white-space:nowrap;min-height:44px;padding-inline:16px}
  .client-card{cursor:pointer}.client-card .client-view-btn{display:none}.client-card:focus-visible{outline:3px solid rgba(139,175,79,.25);outline-offset:2px}
  .client-search-empty{border-style:dashed;box-shadow:none;background:rgba(255,255,255,.62)}

  .intelligence-main{padding-top:calc(64px + env(safe-area-inset-top))}
  .intelligence-heading{margin-bottom:18px}.ai-filter{margin-top:16px;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff}.ai-filter label{display:grid;gap:6px;font-size:.72rem;font-weight:700}.ai-filter .btn{margin-top:2px;min-height:46px}

  .order-screen{padding-bottom:0}.order-page{padding-bottom:calc(190px + env(safe-area-inset-bottom))}.order-actionbar{bottom:calc(88px + env(safe-area-inset-bottom));padding-bottom:8px;box-shadow:0 -8px 24px rgba(18,38,63,.08)}
  body.keyboard-open .order-actionbar{display:none!important}

  .bonus-filters{gap:12px;padding:14px}.bonus-filters .btn{margin-top:2px}
}
@media(min-width:768px){
  .client-card .client-view-btn{display:inline-flex}
}

/* v7.1.27 — Info Cliente e refinamentos finais da carteira */
.client-info-section{display:grid;gap:12px}.client-info-heading p{margin:4px 0 0;font-size:.74rem;line-height:1.45}.client-info-form{display:grid;gap:8px}.client-info-form .btn{justify-self:start}.client-info-list{display:grid;gap:8px}.client-info-entry{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:#fff}.client-info-entry>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-info-entry strong{font-size:.74rem}.client-info-entry time,.client-info-entry small{color:var(--muted);font-size:.65rem}.client-info-entry p{margin:0;color:#4f5754;font-size:.75rem;line-height:1.48;white-space:pre-wrap}.client-assistant-card .btn{justify-self:start;margin-top:2px}.client-list-heading{margin-top:18px;margin-bottom:12px;padding:0 2px}
@media(max-width:767px){.client-info-form .btn,.client-assistant-card .btn{width:100%}.client-info-entry>div{align-items:flex-start}.client-info-entry time{text-align:right}.client-detail-body{padding-bottom:24px}}
.client-suggestion-section{display:grid;gap:10px}.client-suggestion-section>div:first-child p{margin:4px 0 0;font-size:.73rem;line-height:1.4}.client-suggestion-list{display:grid;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}.client-suggestion-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--border)}.client-suggestion-row:last-child{border-bottom:0}.client-suggestion-row strong,.client-suggestion-row span{display:block}.client-suggestion-row strong{font-size:.78rem}.client-suggestion-row span{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.35}.client-suggestion-row .btn-icon{width:38px;height:38px}.client-suggestion-section>.btn{justify-self:start}
@media(max-width:767px){.client-suggestion-section>.btn{width:100%}}
.ai-list-link{text-decoration:none;color:inherit}.ai-list-link:hover{background:#fafbf8}
@media(max-width:767px){.order-actionbar-inner{grid-template-columns:auto minmax(0,1fr) minmax(0,1.14fr)}.order-actionbar-inner #deleteBudgetBtn{padding-inline:12px}}


/* v7.1.32 — prioridades proativas e refinamento mobile final */
@media(max-width:767px){
  .mobile-opportunity-list{gap:11px}
  .mobile-priority-card{padding:16px 17px;gap:8px;border:1px solid #dbe6d1;background:linear-gradient(180deg,#fff 0%,#fbfcf8 100%);box-shadow:0 8px 22px rgba(34,36,40,.055)}
  .mobile-priority-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-priority-top small{color:#668c34;font-size:.65rem;font-weight:800}
  .mobile-priority-card>strong{font-size:.92rem}.mobile-priority-card>p{color:#404744}.mobile-priority-action{margin-top:2px;color:#668c34;font-size:.7rem;font-weight:800}
  .priority-follow_up{border-color:#d9e4cf}.priority-decline{border-color:#eadfc7;background:linear-gradient(180deg,#fff 0%,#fffdf7 100%)}
  .priority-campaign_mix,.priority-campaign_rebuy{border-color:#d4e4c3;background:linear-gradient(180deg,#fff 0%,#f8fbf3 100%)}
  .ai-priority-row{padding-block:13px}.ai-priority-row>div:last-child{max-width:44%;text-align:right}.ai-priority-row small{white-space:normal;line-height:1.3}
  .intelligence-heading{gap:14px}.ai-filter{display:grid;grid-template-columns:1fr 1fr;align-items:end}.ai-filter #aiRepresentativeWrap{grid-column:1/-1}.ai-filter .btn{grid-column:1/-1;width:100%}
  .bonus-filters{display:grid;grid-template-columns:1fr;align-items:end}.bonus-filters .btn{width:100%;min-height:46px}
}


/* v7.1.32 — leitura estruturada da assistente */
.client-assistant-heading{display:grid;gap:7px}.client-assistant-heading>strong{font:750 .96rem/1.35 Sora,Inter,sans-serif}
.client-assistant-summary{display:grid;gap:9px}.client-assistant-summary>div{display:grid;gap:4px;padding:10px 11px;border:1px solid #e5eadf;border-radius:11px;background:#fff}.client-assistant-summary small{color:#62852f;font-size:.62rem;font-weight:800;letter-spacing:.06em}.client-assistant-summary p{font-size:.76rem;line-height:1.48}
.client-assistant-question{display:grid;gap:9px;padding:11px 12px;border-radius:12px;background:#f1f6e9}.client-assistant-question>strong{font-size:.76rem;line-height:1.45}.client-assistant-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.client-assistant-reply-form .input{min-height:44px}.client-assistant-details{border-top:1px solid #e2e8dc;padding-top:9px}.client-assistant-details summary{cursor:pointer;color:#55752d;font-size:.72rem;font-weight:800;list-style:none}.client-assistant-details summary::-webkit-details-marker{display:none}.client-assistant-details summary::after{content:' ›';font-size:.9rem}.client-assistant-details[open] summary::after{content:' ↓'}.client-assistant-details-text{margin-top:9px;color:#5f6764;font-size:.74rem;line-height:1.58;white-space:pre-line}
@media(max-width:767px){.client-assistant-reply-form{grid-template-columns:1fr}.client-assistant-reply-form .btn{width:100%}}

/* v7.1.47 — catálogo compartilhado usa os mesmos controles visuais do catálogo oficial */
@media(max-width:767px){.catalog-page .catalog-filters.public{grid-template-columns:1fr;grid-template-areas:"search" "type" "size";padding:12px;gap:12px}.catalog-page .catalog-filters.public .filter-chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:1px 0 4px}}

/* v7.1.47 — ficha técnica: mesmos padrões de formulário, modal e cards do catálogo */
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.technical-admin-section{display:grid;gap:14px;margin:4px 0 18px;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fafbf9}.technical-admin-section .panel-head{margin:0}.technical-admin-section h3{margin:0}.technical-admin-section .panel-head p{margin:3px 0 0;color:var(--muted);font-size:.75rem}.technical-admin-section .field{margin:0}.technical-dependent{margin-top:7px}.technical-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.technical-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-choice-grid .check-card{min-height:44px;margin:0;padding:9px 10px}.technical-extra-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.technical-list{display:grid;gap:6px;margin-top:8px}.technical-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:#fff}.technical-list-row span,.technical-list-row strong,.technical-list-row small{display:block}.technical-list-row strong{font-size:.74rem}.technical-list-row small{margin-top:2px;color:var(--muted);font-size:.65rem}
.technical-product-section{display:grid;gap:8px;margin:4px 0 14px}.technical-summary-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dce5d4;border-radius:12px;background:#f8faf5;color:inherit;text-align:left;cursor:pointer}.technical-summary-button>span{display:grid;gap:3px;min-width:0}.technical-summary-button small{color:var(--muted);font-size:.63rem;font-weight:700}.technical-summary-button strong{font-size:.76rem;line-height:1.35}.technical-summary-button>b{flex:0 0 auto;color:#5f7d31;font-size:.67rem}.technical-summary-button:hover{border-color:#c7d8b7;background:#f4f8ee}.technical-summary-button:focus-visible{outline:3px solid rgba(139,175,79,.25);outline-offset:2px}.technical-sheet{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.technical-sheet-group{display:grid;gap:2px}.technical-sheet-group+ .technical-sheet-group{padding-top:9px;border-top:1px solid #eef0ed}.technical-sheet-group h4{margin:0 0 5px;font:750 .7rem Sora,Inter,sans-serif;color:#4f5c48}.technical-sheet-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:4px 0;font-size:.7rem}.technical-sheet-row span{color:var(--muted)}.technical-sheet-row strong{text-align:right;font-weight:700}.technical-component-row{display:grid;gap:2px;padding:6px 0}.technical-component-row span{font-size:.72rem;font-weight:700}.technical-component-row small{color:var(--muted);font-size:.64rem}
@media(max-width:767px){.form-grid.three,.form-grid.four{grid-template-columns:1fr 1fr}.technical-choice-grid{grid-template-columns:1fr 1fr}.technical-choice-grid.three{grid-template-columns:1fr}.technical-extra-editor{grid-template-columns:1fr}.technical-extra-editor .btn{width:100%}.technical-summary-button{align-items:flex-start}.technical-summary-button>b{padding-top:2px}.technical-sheet-row{font-size:.72rem}}
@media(max-width:390px){.form-grid.three,.form-grid.four{grid-template-columns:1fr}}
