@import url("../opendesign/design-systems/recebora-product/tokens/colors_and_type.css");

:root{--ink:#10231c;--muted:#53675f;--line:#d9e3dd;--paper:#f5f7f5;--panel:#fff;--green:#08795c;--green-dark:#075c47;--green-soft:#e7f4ee;--blue:#2463eb;--blue-soft:#eaf0ff;--amber:#f0a51a;--amber-soft:#fff5d8;--coral:#d9584d;--coral-soft:#fde9e7;--shadow:0 12px 34px rgba(19,33,28,.08);--radius:8px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:320px;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select,textarea{font:inherit}button{cursor:pointer}.demo-banner{position:fixed;z-index:100;top:0;left:0;right:0;min-height:32px;display:flex;align-items:center;justify-content:center;padding:6px 16px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;text-align:center}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh;padding-top:32px}.sidebar{position:sticky;top:32px;height:calc(100vh - 32px);display:flex;flex-direction:column;gap:20px;padding:20px;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:21px;font-weight:850}.brand img{width:40px;height:40px}.nav{display:grid;gap:4px}.nav-item{width:100%;min-height:40px;border:1px solid transparent;border-radius:7px;padding:0 11px;background:transparent;color:var(--muted);text-align:left;font-weight:750}.nav-item:hover,.nav-item.is-active{border-color:#c9ded5;background:var(--green-soft);color:var(--green-dark)}.side-panel,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.side-panel{margin-top:auto;padding:15px}.side-panel strong{display:block;margin:6px 0;font-size:22px}.side-panel>span{display:block;color:var(--muted);line-height:1.5}.install-app-button{width:100%;margin-top:12px}.connection-status{display:inline-flex!important;align-items:center;width:fit-content;min-height:26px;margin-top:9px;border-radius:13px;padding:0 9px;background:var(--green-soft);color:var(--green-dark)!important;font-size:11px;font-weight:850}.connection-status.is-offline{background:var(--amber-soft);color:#765200!important}.main{min-width:0;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.topbar h1{max-width:720px;margin:4px 0 0;font-size:clamp(25px,3vw,36px);line-height:1.08;letter-spacing:0}.topbar-actions,.stacked-actions,.filters{display:flex;gap:9px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:7px;padding:0 13px;background:#fff;color:var(--ink);font-weight:800}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary:hover{background:var(--green-soft)}.button.danger{border-color:var(--coral);color:var(--coral)}.button.is-disabled{pointer-events:none;opacity:.55}.eyebrow{margin:0;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.view{display:none}.view.is-active{display:block}.operation-strip{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:14px;padding:13px 16px;border-left:4px solid var(--blue);background:var(--blue-soft)}.operation-strip strong{display:block}.operation-strip p{margin:4px 0 0;color:var(--muted);font-size:13px}.operation-strip span{color:var(--blue);font-size:12px;font-weight:850}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric-card{min-height:112px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.metric-card strong{display:block;margin-top:9px;font-size:27px}.metric-card span{display:block;margin-top:5px;color:var(--muted);font-size:13px}.work-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:14px}.span-2{grid-column:span 2}.panel{min-width:0;padding:17px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}.panel-header.compact{margin-bottom:11px}.panel h2{margin:4px 0 0;font-size:21px;letter-spacing:0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:10px 11px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,116,87,.13)}.filters input{min-width:min(45vw,320px)}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:11px;text-transform:uppercase}.customer-cell{display:grid;gap:3px}.customer-cell span{color:var(--muted);font-size:12px}.status-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:13px;padding:0 9px;font-size:11px;font-weight:850}.status-open{background:var(--amber-soft);color:#765200}.status-deal{background:var(--blue-soft);color:#194fb5}.status-paid{background:var(--green-soft);color:var(--green-dark)}.status-risk{background:var(--coral-soft);color:#a72e25}.status-paused{background:#eee;color:#555}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.row-actions .button{min-height:32px;padding:0 9px;font-size:12px}.message-preview{min-height:168px;padding:13px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--muted);line-height:1.55;white-space:pre-wrap}.action-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:11px;color:var(--muted);font-size:12px;font-weight:800}.risk-text-high{color:#a72e25}.risk-text-warn{color:#826000}.risk-text-ok{color:var(--green-dark)}.stacked-actions{margin-top:11px;flex-wrap:wrap}.charge-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.charge-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.charge-form .full{grid-column:1/-1}.checkbox-line{display:flex!important;align-items:center;gap:9px;color:var(--ink)}.checkbox-line input{width:18px;height:18px;flex:0 0 auto}.timeline,.template-grid,.projection-grid,.checklist,.merchant-grid,.risk-grid,.report-grid,.aging-grid,.event-log,.integration-grid,.script-list{display:grid;gap:11px}.timeline-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:7px}.timeline-item p,.template-card p,.check-item p{color:var(--muted);line-height:1.5}.template-grid{grid-template-columns:repeat(5,minmax(180px,1fr))}.template-card,.projection-card,.check-item{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.template-card h3,.projection-card h3,.check-item h3{margin:0 0 7px;font-size:16px}.projection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.projection-card strong{display:block;font-size:29px}.projection-card p{color:var(--muted)}.merchant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-card{display:grid;gap:11px;padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.merchant-card-top{display:flex;justify-content:space-between;gap:11px;align-items:flex-start}.merchant-card h3{margin:4px 0 0;font-size:19px}.merchant-card p,.script-list p,.risk-card p{margin:0;color:var(--muted);line-height:1.5}.mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mini-metrics span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:11px}.mini-metrics strong{color:var(--ink);font-size:14px}.script-list article{padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.script-list strong{display:block;margin-bottom:4px}.debtor-portal{display:grid;gap:13px}.portal-hero{display:flex;justify-content:space-between;gap:17px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.portal-hero h3{margin:4px 0 7px;font-size:27px}.portal-hero p,.portal-card p,.agreement-box p,.portal-trust p{margin:0;color:var(--muted);line-height:1.5}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.portal-card,.agreement-box,.portal-trust{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.portal-card span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.portal-card strong{display:block;margin-bottom:5px;font-size:22px}.portal-actions{display:flex;flex-wrap:wrap;gap:9px}.agreement-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:17px;align-items:center}.agreement-box h3{margin:4px 0 7px;font-size:21px}.agreement-values{display:grid;gap:7px;min-width:210px}.agreement-values span{padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--green-soft);color:var(--green-dark);font-weight:850}.portal-trust{border-color:#bfd0fa;background:var(--blue-soft)}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-card,.aging-card,.event-item,.integration-card,.import-result{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.report-card span,.aging-card span,.integration-card span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.report-card strong{display:block;margin-bottom:6px;font-size:23px}.report-card p,.aging-card p,.event-item p,.integration-card p{margin:0;color:var(--muted);line-height:1.45}.aging-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.aging-card strong{display:block;font-size:28px}.event-log{max-height:420px;overflow:auto}.event-item{display:grid;gap:4px}.event-item span{color:var(--muted);font-size:11px;font-weight:800}.integration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.integration-card strong{display:block;margin-bottom:6px;font-size:18px}.import-result{min-height:42px;margin-top:11px;color:var(--muted);font-weight:800}.risk-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.risk-card{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.risk-card span{display:block;font-size:28px;font-weight:850}.risk-card strong{display:block;margin-bottom:3px}.risk-card.risk-high{border-color:#efb7b1;background:var(--coral-soft)}.risk-card.risk-warn{border-color:#edd38f;background:var(--amber-soft)}.risk-card.risk-ok{border-color:#b9ddcf;background:var(--green-soft)}.check-item{display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px}.check-dot{width:22px;height:22px;border:6px solid var(--green);border-radius:50%;background:var(--green-soft)}.empty-state{padding:24px;color:var(--muted);text-align:center}
@media(max-width:1120px){.metrics-grid,.template-grid,.merchant-grid,.risk-grid,.report-grid,.aging-grid,.integration-grid,.projection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
@media(max-width:760px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.demo-banner{justify-content:flex-start}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:block;padding:14px;border-right:0;border-bottom:1px solid var(--line)}.brand{width:fit-content}.nav{position:fixed;z-index:80;left:0;right:0;bottom:0;display:flex;gap:4px;width:100%;overflow-x:auto;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;width:auto;min-width:96px;padding:0 10px;text-align:center;font-size:12px}.side-panel{display:none}.topbar,.panel-header,.filters,.topbar-actions{flex-direction:column;align-items:stretch}.main{padding:14px}.topbar{align-items:stretch}.topbar h1{font-size:27px}.operation-strip{grid-template-columns:1fr}.metrics-grid,.projection-grid,.template-grid,.merchant-grid,.risk-grid,.report-grid,.aging-grid,.integration-grid,.portal-grid,.charge-form{grid-template-columns:1fr}.filters input{min-width:0}.timeline-item{grid-template-columns:1fr}.portal-hero,.agreement-box{grid-template-columns:1fr;flex-direction:column}.charge-form .full{grid-column:auto}}


/* Recebora: experiência simplificada para o pequeno empreendedor */
.sidebar{gap:18px}.brand img{width:166px;height:44px;object-fit:contain;object-position:left}.brand span{display:none}.nav{display:grid;gap:18px}.nav-primary,.nav-tools{display:grid;gap:4px}.nav-tools>p{margin:0 0 4px;padding:0 11px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.admin-tools{border-top:1px solid var(--line);padding-top:10px}.admin-tools summary{cursor:pointer;padding:8px 11px;color:var(--muted);font-size:11px;font-weight:850}.admin-tools[open]{display:grid;gap:4px}.focus-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:15px 16px;border-left:4px solid var(--blue);background:var(--blue-soft)}.focus-strip div{display:grid;gap:4px}.focus-strip span{color:var(--blue);font-size:11px;font-weight:900;text-transform:uppercase}.focus-strip strong{font-size:15px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border-top:3px solid var(--line)}.metric-open{border-top-color:var(--blue)}.metric-success{border-top-color:var(--green)}.metric-attention{border-top-color:var(--amber)}.case-panel{position:sticky;top:54px}.primary-case-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.case-options{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.case-options summary,.form-optional summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:850}.case-options>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.case-options .button{min-height:36px;font-size:12px}.simple-charge-form{align-content:start}.demo-context{padding:10px;border-left:3px solid var(--blue);background:var(--blue-soft)}.form-optional{border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--paper)}.form-optional[open] summary{margin-bottom:12px}.optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.optional-grid .full{grid-column:1/-1}.form-assurance{margin:0;color:var(--muted);font-size:11px;text-align:center}.row-actions .button,td>.button{min-height:34px}.side-panel strong{font-size:20px}
@media(max-width:1120px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-panel{position:static}}
@media(max-width:760px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.app-shell{padding-top:42px}.demo-banner{min-height:42px}.sidebar{position:static;height:auto;display:block;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand img{width:150px;height:40px}.nav{position:static;display:block;width:auto;padding:0;border:0;background:transparent}.nav-primary{position:fixed;z-index:90;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.nav-tools,.admin-tools{display:none}.nav-item{width:100%;min-width:0;text-align:center;font-size:12px}.main{padding:14px}.topbar h1{font-size:27px}.topbar-actions{display:grid;grid-template-columns:1fr}.topbar-actions .quiet{order:2}.focus-strip{align-items:stretch;flex-direction:column}.metrics-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.metric-card{flex:0 0 82%;scroll-snap-align:start}.table-wrap{overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block;width:100%}tbody{display:grid;gap:10px}tr{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}td{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:8px;padding:8px 0;border:0}td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.customer-cell{grid-column:1/-1}.customer-cell strong{font-size:17px}td:first-child::before{display:none}td>.button{width:100%}.primary-case-actions,.case-options>div,.optional-grid{grid-template-columns:1fr}.form-optional{padding:11px}.simple-charge-form{grid-template-columns:1fr}.simple-charge-form .full,.optional-grid .full{grid-column:auto}}


/* RECEBORA DESIGN STUDIO V2 */
:root {
  --ink: var(--rc-ink);
  --muted: var(--rc-muted);
  --line: var(--rc-line);
  --paper: var(--rc-paper);
  --panel: var(--rc-surface);
  --green: var(--rc-green);
  --green-dark: var(--rc-green-dark);
  --green-soft: var(--rc-mint);
  --blue: var(--rc-blue);
  --blue-soft: var(--rc-blue-soft);
  --amber: var(--rc-amber);
  --amber-soft: var(--rc-amber-soft);
  --coral: var(--rc-coral);
  --coral-soft: var(--rc-coral-soft);
  --shadow: none;
  --radius: var(--rc-radius-lg);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--rc-font-body);
}

html { background: var(--paper); }
body { background: var(--paper); }
button, input, select, textarea { letter-spacing: 0; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(36, 87, 197, 0.28); outline-offset: 2px; }

.demo-banner { min-height: 34px; background: var(--ink); color: #eef5f1; font-weight: 700; }
.app-shell { grid-template-columns: 226px minmax(0, 1fr); padding-top: 34px; }
.sidebar { top: 34px; height: calc(100vh - 34px); gap: 22px; padding: 22px 16px; background: #fff; }
.brand { min-height: 44px; }
.brand img { width: 164px; height: 44px; }
.nav { gap: 20px; }
.nav-primary, .nav-tools { gap: 2px; }
.nav-tools > p { padding: 0 12px; font-size: 10px; letter-spacing: 0; }
.nav-item { position: relative; min-height: 42px; border: 0; border-radius: 4px; padding: 0 12px; color: var(--muted); font-weight: 700; }
.nav-item:hover { background: var(--paper); color: var(--ink); }
.nav-item.is-active { border: 0; background: var(--green-soft); color: var(--green-dark); }
.nav-item.is-active::before { content: ""; position: absolute; left: 0; width: 3px; height: 20px; background: var(--green); }
.admin-tools { padding-top: 12px; }
.admin-tools summary { border-radius: 4px; }
.side-panel { padding: 15px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.side-panel strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.connection-status { min-height: 24px; border-radius: 4px; padding: 0 7px; }

.main { width: 100%; max-width: 1580px; margin: 0 auto; padding: 26px 28px 48px; }
.topbar { margin-bottom: 20px; }
.topbar h1 { max-width: 760px; margin-top: 6px; font-size: 34px; line-height: 1.1; letter-spacing: 0; }
.eyebrow { letter-spacing: 0; font-weight: 800; }
.button { min-height: 42px; border-radius: 6px; font-weight: 750; transition: transform var(--rc-fast) ease, background var(--rc-standard) ease, border-color var(--rc-standard) ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(1px); }
.button.primary { border-color: var(--green); background: var(--green); }
.button.primary:hover { background: var(--green-dark); }
.button.secondary:hover, .button.quiet:hover { background: var(--paper); }

.focus-strip { padding: 16px 18px; border: 1px solid #bdcbea; border-left: 1px solid #bdcbea; border-radius: 6px; background: var(--blue-soft); }
.focus-strip span { color: var(--blue); }
.focus-strip strong { font-size: 15px; }

.metrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.metric-card { min-height: 114px; padding: 17px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: #fff; }
.metric-card:last-child { border-right: 0; }
.metric-card strong { margin-top: 10px; font-size: 28px; font-variant-numeric: tabular-nums; }
.metric-card span { font-size: 12px; }
.metric-open, .metric-success, .metric-attention { border-top: 0; }
.metric-card::before { content: ""; display: block; width: 24px; height: 3px; margin-bottom: 10px; background: var(--line); }
.metric-open::before { background: var(--blue); }
.metric-success::before { background: var(--green); }
.metric-attention::before { background: var(--amber); }

#dashboard .work-grid { grid-template-columns: minmax(0, 1.62fr) minmax(310px, 0.68fr); gap: 16px; align-items: start; }
#dashboard .span-2 { grid-column: auto; }
.panel { padding: 18px; border: 1px solid var(--line); border-radius: 8px; box-shadow: none; }
.panel-header { margin-bottom: 16px; }
.panel h2 { font-size: 21px; letter-spacing: 0; }
.case-panel { top: 54px; border-color: #b9d6ca; }
.message-preview { min-height: 174px; border: 0; border-block: 1px solid var(--line); border-radius: 0; padding: 16px 0; background: transparent; color: #40564d; }
.action-meta { gap: 8px 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.primary-case-actions { gap: 8px; }
.whatsapp-note { margin: 8px 0 0; font-size: 12px; color: var(--muted); }
.case-options { margin-top: 12px; }
.case-options summary, .form-optional summary { color: var(--blue); }

input, select, textarea { border-radius: 6px; border-color: #cbd8d1; background: #fff; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(36, 87, 197, 0.13); }
.filters { align-items: stretch; }
.filters input { min-height: 42px; }
table { font-variant-numeric: tabular-nums; }
th { color: #667a71; letter-spacing: 0; }
tbody tr { transition: background var(--rc-fast) ease; }
tbody tr:hover { background: #fafcfb; }
th, td { padding: 12px 9px; }
.customer-cell strong { font-weight: 750; }
.status-pill { min-height: 25px; border-radius: 4px; padding: 0 7px; font-weight: 750; }
.row-actions .button, td > .button { min-height: 34px; }

.charge-form { gap: 13px; }
.charge-form label { color: #4e645b; font-weight: 750; }
.demo-context { padding: 12px; border: 1px solid #bdcbea; border-left: 1px solid #bdcbea; border-radius: 6px; background: var(--blue-soft); }
.form-optional { border-radius: 6px; background: #fbfcfb; }
.form-assurance { line-height: 1.5; }

.timeline { gap: 0; border-top: 1px solid var(--line); }
.timeline-item { grid-template-columns: 96px minmax(0, 1fr) auto; gap: 14px; padding: 15px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.timeline-item p { margin: 4px 0 0; }
.template-grid, .projection-grid, .merchant-grid, .risk-grid, .report-grid, .aging-grid, .integration-grid { gap: 12px; }
.template-card, .projection-card, .check-item, .merchant-card, .risk-card, .report-card, .aging-card, .event-item, .integration-card, .import-result, .portal-card, .agreement-box, .portal-trust, .script-list article { border-radius: 6px; box-shadow: none; }
.projection-card strong, .report-card strong, .aging-card strong, .risk-card span { font-variant-numeric: tabular-nums; }
.portal-hero { border-radius: 6px; }
.portal-grid { gap: 12px; }
.agreement-values span { border-radius: 4px; }
.empty-state { border: 1px dashed #b9c9c1; background: #fbfcfb; }

@media (max-width: 1120px) {
  #dashboard .work-grid { grid-template-columns: 1fr; }
  #dashboard .span-2 { grid-column: auto; }
  .case-panel { position: static; }
}

@media (max-width: 760px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .app-shell { display: block; padding-top: 42px; }
  .demo-banner { min-height: 42px; padding: 6px 14px; text-align: left; }
  .sidebar { position: static; height: auto; padding: 12px 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand img { width: 150px; height: 40px; }
  .nav { display: block; }
  .nav-primary { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 8px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fff; }
  .nav-tools, .admin-tools, .side-panel { display: none; }
  .nav-item { width: 100%; min-width: 0; text-align: center; font-size: 12px; }
  .nav-item.is-active::before { top: 0; left: 50%; width: 20px; height: 3px; transform: translateX(-50%); }
  .main { padding: 14px 14px 24px; }
  .topbar { gap: 14px; }
  .topbar h1 { font-size: 28px; }
  .topbar-actions { display: grid; grid-template-columns: 1fr; }
  .focus-strip { align-items: stretch; flex-direction: column; }
  .metrics-grid { display: flex; gap: 10px; border: 0; border-radius: 0; overflow-x: auto; scroll-snap-type: x mandatory; background: transparent; }
  .metric-card { flex: 0 0 82%; border: 1px solid var(--line); border-radius: 6px; scroll-snap-align: start; }
  .metric-card:last-child { border-right: 1px solid var(--line); }
  .panel { padding: 16px; }
  .panel-header, .filters { flex-direction: column; align-items: stretch; }
  .table-wrap { overflow: visible; }
  table { min-width: 0; }
  thead { display: none; }
  tbody, tr, td { display: block; width: 100%; }
  tbody { display: grid; gap: 10px; }
  tbody tr { padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
  td { display: grid; grid-template-columns: 102px minmax(0, 1fr); align-items: center; gap: 8px; padding: 8px 0; border: 0; }
  td::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
  td:first-child::before { display: none; }
  td[data-label="Status"] { display: none; } /* no celular a Situação já resume; cartão fica 40% menor */
  td { padding: 5px 0; }
  .customer-cell { grid-column: 1 / -1; }
  .customer-cell strong { font-size: 17px; }
  td > .button { width: 100%; }
  .primary-case-actions, .case-options > div, .optional-grid, .charge-form { grid-template-columns: 1fr; }
  .simple-charge-form .full, .optional-grid .full { grid-column: auto; }
  .timeline-item { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}


/* Accessibility target sizing */
.row-actions .button, td > .button { min-height: 40px; }
