:root {
  --bg: #0c0f14;
  --sidebar: #11151c;
  --panel: #151a22;
  --panel-2: #1a202a;
  --panel-3: #202733;
  --border: #2a3341;
  --text: #f4f7fb;
  --muted: #8f9aaa;
  --accent: #5f8cff;
  --accent-soft: rgba(95, 140, 255, .12);
  --good: #43d79e;
  --good-soft: rgba(67, 215, 158, .12);
  --bad: #ff7070;
  --bad-soft: rgba(255, 112, 112, .12);
  --warn: #f3c75f;
  --warn-soft: rgba(243, 199, 95, .12);
  --shadow: 0 18px 45px rgba(0,0,0,.20);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
}
button, input, select { font: inherit; }
button { cursor: pointer; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 76px;
  display: grid;
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
  background: rgba(12,15,20,.96);
  backdrop-filter: blur(12px);
}
.brand-block { display: flex; align-items: center; gap: 11px; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 12px; font-weight: 900; font-size: 20px;
  background: linear-gradient(145deg, var(--accent), #7d66ff);
  box-shadow: 0 8px 25px rgba(95,140,255,.25);
}
.brand-block h1 { margin: 0; font-size: 19px; letter-spacing: 3px; }
.brand-block p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.top-center { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.top-stat {
  min-width: 135px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  background: var(--panel);
  border-radius: 11px;
}
.top-stat.compact { min-width: 78px; }
.top-stat.calendar { min-width: 112px; }
.top-stat span { display: block; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.top-stat strong { display: block; margin-top: 2px; font-size: 14px; }
.speed-controls { display: flex; gap: 5px; }
.speed-controls button {
  min-width: 42px; height: 38px; padding: 0 9px;
  border: 1px solid var(--border); border-radius: 9px;
  background: var(--panel); color: var(--muted);
}
.speed-controls button:hover { color: var(--text); border-color: #465268; }
.speed-controls button.active { color: #fff; background: var(--accent); border-color: var(--accent); }

.app-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: calc(100vh - 76px); }
.sidebar {
  position: sticky; top: 76px; height: calc(100vh - 76px);
  display: flex; flex-direction: column;
  padding: 18px 14px;
  border-right: 1px solid var(--border);
  background: var(--sidebar);
}
.main-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-item, .sidebar-actions button {
  width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 11px 12px; border: 1px solid transparent; border-radius: 10px;
  background: transparent; color: var(--muted); text-align: left;
}
.nav-item:hover, .sidebar-actions button:hover { background: var(--panel-2); color: var(--text); }
.nav-item.active { color: var(--text); border-color: var(--border); background: var(--panel-2); }
.nav-item span { width: 22px; text-align: center; }
.new-business { width: 100%; margin-top: 16px; }
.sidebar-spacer { flex: 1; }

.customer-voice {
  margin-bottom: 10px; padding: 11px;
  border: 1px solid #354158; border-radius: 12px;
  background: linear-gradient(180deg, #171e29 0%, #121821 100%);
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}
.customer-voice.hidden { display: none; }
.voice-head { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--text); font-weight:700; font-size:11px; }
.voice-head button { border:0; background:transparent; color:var(--muted); padding:0 2px; font-size:17px; line-height:1; }
.voice-company { margin-top:8px; font-size:11px; color:#aeb9cc; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.voice-rating { margin-top:4px; color:var(--warn); font-size:11px; }
.voice-rating small { color:var(--muted); margin-left:4px; }
.customer-voice p { margin:7px 0; font-size:11px; line-height:1.42; color:#e6ebf4; }
.voice-issue { display:inline-flex; align-items:center; gap:4px; padding:4px 6px; border-radius:7px; background:rgba(59,211,140,.10); color:var(--good); font-size:10px; font-weight:700; }
.voice-issue.urgent { background:rgba(255,190,69,.10); color:var(--warn); }
.voice-suggestion { display:block; margin:7px 0; color:var(--muted); font-size:10px; line-height:1.35; }
.voice-action { width:100%; padding:7px 8px; border-radius:8px; border:1px solid #405171; background:#1d2a3e; color:#dfe8ff; font-size:10px; font-weight:700; }
.voice-action:hover { background:#24344d; }
.review-meta { display:flex; gap:6px; align-items:center; margin-top:8px; font-size:10px; color:var(--muted); }
.review-meta strong { color:var(--warn); font-weight:700; }

.mini-summary {
  padding: 13px; margin-bottom: 10px;
  border: 1px solid var(--border); border-radius: 12px; background: var(--panel);
}
.mini-summary span, .mini-summary small { display: block; color: var(--muted); font-size: 11px; }
.mini-summary strong { display: block; margin: 5px 0 3px; font-size: 16px; }
.sidebar-actions { display: grid; gap: 3px; }

.content { min-width: 0; padding: 28px 30px 46px; }
.screen { max-width: 1280px; margin: 0 auto; }
.screen-header {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 20px;
  margin-bottom: 22px;
}
.screen-header h2 { margin: 0; font-size: 26px; letter-spacing: -.02em; }
.screen-header p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.header-actions { display: flex; gap: 8px; align-items: center; }
.eyebrow { display: block; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .13em; margin-bottom: 5px; }

button {
  border: 1px solid var(--border); background: var(--panel-2); color: var(--text);
  padding: 10px 13px; border-radius: 10px;
}
button:hover { filter: brightness(1.08); }
button.primary { border-color: transparent; background: var(--accent); color: #fff; font-weight: 750; }
button.ghost { background: transparent; }
button.danger { color: var(--bad); }
button.small { padding: 7px 10px; font-size: 12px; }
button.icon { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.kpi-card {
  min-height: 102px; padding: 16px;
  border: 1px solid var(--border); border-radius: 14px; background: var(--panel);
}
.kpi-card span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.kpi-card strong { display: block; margin-top: 8px; font-size: 21px; }
.kpi-card small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }

.business-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.business-card {
  position: relative; padding: 17px;
  border: 1px solid var(--border); border-radius: 15px; background: var(--panel);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  cursor: pointer;
}
.business-card:hover { transform: translateY(-2px); border-color: #46536a; background: #181e27; }
.business-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.business-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; font-size: 22px; background: var(--panel-3); }
.business-card h3 { margin: 11px 0 2px; font-size: 16px; }
.business-card .location { color: var(--muted); font-size: 12px; }
.status-pill {
  display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px;
  border-radius: 999px; font-size: 10px; font-weight: 700;
}
.status-pill.open { color: var(--good); background: var(--good-soft); }
.status-pill.closed { color: var(--bad); background: var(--bad-soft); }
.business-card-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--border); }
.business-card-metrics span { display: block; color: var(--muted); font-size: 10px; }
.business-card-metrics strong { display: block; margin-top: 3px; font-size: 13px; }
.card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; color: var(--muted); font-size: 11px; }
.card-footer .stars { color: var(--warn); }
.empty-state {
  padding: 70px 20px; border: 1px dashed #354052; border-radius: 16px;
  text-align: center; background: rgba(21,26,34,.55);
}
.empty-state .empty-icon { font-size: 42px; margin-bottom: 12px; }
.empty-state h3 { margin: 0 0 7px; }
.empty-state p { max-width: 520px; margin: 0 auto 16px; color: var(--muted); line-height: 1.55; font-size: 13px; }

.company-header {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;
  margin-bottom: 16px;
}
.company-title-row { display: flex; align-items: center; gap: 12px; }
.back-btn { padding: 8px 10px; }
.company-identity { display: flex; align-items: center; gap: 12px; }
.company-identity .business-icon { width: 52px; height: 52px; font-size: 26px; }
.company-identity h2 { margin: 0; font-size: 24px; }
.company-identity p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.company-tabs {
  display: flex; gap: 4px; overflow-x: auto; padding: 4px;
  border: 1px solid var(--border); border-radius: 12px; background: var(--panel);
  margin-bottom: 20px;
}
.company-tab { white-space: nowrap; border: 0; background: transparent; color: var(--muted); padding: 9px 12px; }
.company-tab.active { background: var(--panel-3); color: var(--text); }

.section-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 14px; }
.panel { border: 1px solid var(--border); border-radius: 14px; background: var(--panel); padding: 17px; }
.panel + .panel { margin-top: 14px; }
.panel-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.panel-header h3 { margin: 0; font-size: 15px; }
.panel-header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.stat-list { display: grid; gap: 1px; }
.stat-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.stat-row:last-child { border-bottom: 0; }
.stat-row span { color: var(--muted); font-size: 12px; }
.stat-row strong { font-size: 13px; text-align: right; }
.driver-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }
.driver-card { padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel-2); }
.driver-card span { display: block; color: var(--muted); font-size: 10px; }
.driver-card strong { display: block; margin-top: 4px; }
.action-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.action-list button { width: 100%; }
.price-box { padding: 13px; margin-bottom: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.price-box strong { display: block; font-size: 18px; }
.price-box span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.progress-wrap { margin: 10px 0 2px; }
.progress-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: 11px; color: var(--muted); }
.progress { height: 9px; overflow: hidden; border-radius: 999px; background: #0d1117; border: 1px solid var(--border); }
.progress > div { height: 100%; background: var(--accent); border-radius: inherit; }
.progress.good > div { background: var(--good); }
.progress.warn > div { background: var(--warn); }
.progress.bad > div { background: var(--bad); }

.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--border); font-size: 12px; }
th { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; background: #11161d; }
tr:last-child td { border-bottom: 0; }

.review-summary { display: grid; grid-template-columns: 210px 1fr; gap: 18px; margin-bottom: 14px; }
.rating-big { display: grid; place-items: center; min-height: 155px; border: 1px solid var(--border); border-radius: 13px; background: var(--panel-2); text-align: center; }
.rating-big strong { display: block; font-size: 40px; }
.rating-big .stars { display: block; color: var(--warn); font-size: 17px; letter-spacing: 2px; margin: 3px 0; }
.rating-big small { color: var(--muted); }
.rating-bars { display: grid; align-content: center; gap: 8px; }
.rating-row { display: grid; grid-template-columns: 30px 1fr 34px; gap: 8px; align-items: center; font-size: 11px; color: var(--muted); }
.review-list { display: grid; gap: 9px; }
.review-card { padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.review-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.review-head .stars { color: var(--warn); letter-spacing: 1px; }
.review-head span { color: var(--muted); font-size: 10px; }
.review-card p { margin: 0; font-size: 12px; line-height: 1.5; }

.staff-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.staff-stat { padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.staff-stat span { display: block; color: var(--muted); font-size: 10px; }
.staff-stat strong { display: block; margin-top: 4px; }
.staff-list { display: grid; gap: 8px; }
.staff-card { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.staff-person { display: flex; align-items: center; gap: 10px; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-soft); color: #a9c0ff; font-weight: 800; }
.staff-card strong { display: block; font-size: 12px; }
.staff-card small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }

.stock-hero { display: grid; grid-template-columns: 180px 1fr; gap: 18px; align-items: center; }
.stock-meter { width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center; margin: auto; background: conic-gradient(var(--accent) var(--stock), #222a36 0); position: relative; }
.stock-meter::after { content: ""; position: absolute; width: 116px; height: 116px; border-radius: 50%; background: var(--panel); }
.stock-meter div { position: relative; z-index: 1; text-align: center; }
.stock-meter strong { display: block; font-size: 28px; }
.stock-meter span { color: var(--muted); font-size: 10px; }
.info-note { margin-top: 13px; padding: 11px 12px; border-left: 3px solid var(--accent); background: var(--accent-soft); border-radius: 7px; color: #b8c8eb; font-size: 11px; line-height: 1.5; }

.city-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; align-items: start; }
.city-map {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); grid-auto-rows: 145px; gap: 9px;
  min-height: 610px; padding: 11px; border: 1px solid var(--border); border-radius: 14px;
  background:
    linear-gradient(90deg, transparent 48%, #232b36 48%, #232b36 52%, transparent 52%),
    linear-gradient(transparent 48%, #232b36 48%, #232b36 52%, transparent 52%),
    #0f141b;
}
.property { display: flex; flex-direction: column; justify-content: space-between; padding: 11px; border: 1px solid #364253; border-radius: 11px; background: #1d2530; cursor: pointer; transition: .15s ease; }
.property:hover, .property.selected { border-color: var(--accent); transform: translateY(-1px); }
.property.owned { border-color: rgba(67,215,158,.6); }
.property .tag { color: var(--muted); font-size: 10px; }
.property .name { margin-top: 4px; font-weight: 800; font-size: 12px; }
.property .foot { display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: 10px; }
.property-detail { position: sticky; top: 102px; }

.event-list { display: grid; gap: 7px; }
.event-item { padding: 12px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); color: #c3cbd7; font-size: 12px; line-height: 1.5; }

.good { color: var(--good) !important; }
.bad { color: var(--bad) !important; }
.warn { color: var(--warn) !important; }
.muted { color: var(--muted); }
.stars { color: var(--warn); }

.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.72); backdrop-filter: blur(4px); }
.hidden { display: none !important; }
.modal-card { width: min(520px, 100%); padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.modal-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.modal-header h2 { margin: 0; }
.modal-card label { display: block; margin: 12px 0 6px; color: var(--muted); font-size: 11px; }
.modal-card select, .modal-card input { width: 100%; padding: 11px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel-2); color: var(--text); }
.cost-preview { margin: 14px 0; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #10151c; }
.modal-primary { width: 100%; }

@media (max-width: 1180px) {
  .business-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .city-map { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 920px) {
  .topbar { grid-template-columns: 1fr auto; }
  .top-center { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .app-shell { grid-template-columns: 78px minmax(0,1fr); }
  .sidebar { top: 132px; height: calc(100vh - 132px); padding: 12px 8px; }
  .nav-item { justify-content: center; font-size: 0; }
  .nav-item span { font-size: 18px; }
  .new-business { font-size: 0; }
  .new-business::after { content: "+"; font-size: 22px; }
  
.customer-voice {
  margin-bottom: 10px; padding: 11px;
  border: 1px solid #354158; border-radius: 12px;
  background: linear-gradient(180deg, #171e29 0%, #121821 100%);
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}
.customer-voice.hidden { display: none; }
.voice-head { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--text); font-weight:700; font-size:11px; }
.voice-head button { border:0; background:transparent; color:var(--muted); padding:0 2px; font-size:17px; line-height:1; }
.voice-company { margin-top:8px; font-size:11px; color:#aeb9cc; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.voice-rating { margin-top:4px; color:var(--warn); font-size:11px; }
.voice-rating small { color:var(--muted); margin-left:4px; }
.customer-voice p { margin:7px 0; font-size:11px; line-height:1.42; color:#e6ebf4; }
.voice-issue { display:inline-flex; align-items:center; gap:4px; padding:4px 6px; border-radius:7px; background:rgba(59,211,140,.10); color:var(--good); font-size:10px; font-weight:700; }
.voice-issue.urgent { background:rgba(255,190,69,.10); color:var(--warn); }
.voice-suggestion { display:block; margin:7px 0; color:var(--muted); font-size:10px; line-height:1.35; }
.voice-action { width:100%; padding:7px 8px; border-radius:8px; border:1px solid #405171; background:#1d2a3e; color:#dfe8ff; font-size:10px; font-weight:700; }
.voice-action:hover { background:#24344d; }
.review-meta { display:flex; gap:6px; align-items:center; margin-top:8px; font-size:10px; color:var(--muted); }
.review-meta strong { color:var(--warn); font-weight:700; }

.mini-summary { display: none; }
  .sidebar-actions button { justify-content: center; font-size: 0; }
  .sidebar-actions button:first-child::after { content: "💾"; font-size: 16px; }
  .sidebar-actions button:last-child::after { content: "↻"; font-size: 20px; }
  .section-grid, .city-layout { grid-template-columns: 1fr; }
  .property-detail { position: static; }
}
@media (max-width: 680px) {
  .topbar { position: static; padding: 11px 12px; }
  .brand-block p { display: none; }
  .top-center { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .top-stat { min-width: 0; }
  .app-shell { display: block; }
  .sidebar { position: sticky; top: 0; z-index: 15; width: 100%; height: auto; flex-direction: row; align-items: center; gap: 6px; border-right: 0; border-bottom: 1px solid var(--border); overflow-x: auto; }
  .main-nav { flex-direction: row; }
  .nav-item { width: 44px; height: 40px; padding: 0; }
  .new-business { width: 44px; height: 40px; margin: 0; }
  .sidebar-spacer, .sidebar-actions { display: none; }
  .content { padding: 20px 13px 34px; }
  .screen-header { align-items: flex-start; flex-direction: column; }
  .kpi-grid, .business-grid { grid-template-columns: 1fr; }
  .company-header { flex-direction: column; }
  .company-title-row { align-items: flex-start; }
  .company-identity .business-icon { display: none; }
  .action-list { grid-template-columns: 1fr; }
  .review-summary, .stock-hero { grid-template-columns: 1fr; }
  .staff-summary { grid-template-columns: 1fr; }
  .city-map { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: 130px; min-height: 0; }
}


/* ===== v0.3.1 — Pessoas e Operação ===== */
.staff-summary.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.employees-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr); gap: 14px; align-items: start; }
.staff-select {
  width: 100%; color: var(--text); text-align: left; cursor: pointer;
  border: 1px solid var(--border); background: var(--panel-2);
}
.staff-select:hover, .staff-select.selected { border-color: var(--accent); background: #1a2230; }
.staff-card-right { min-width: 62px; text-align: right; }
.staff-card-right strong { font-size: 13px; }
.staff-card-right small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.request-dot {
  display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 4px;
  border-radius: 50%; background: var(--warn); color: #15100a; font-size: 10px; font-weight: 900;
}
.employee-detail { position: sticky; top: 102px; }
.employee-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.employee-detail-head h3 { margin: 0; font-size: 17px; }
.employee-detail-head p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.avatar.large { width: 48px; height: 48px; font-size: 18px; }
.employee-attributes { display: grid; gap: 10px; margin: 14px 0; padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: #10151c; }
.attribute-row .progress-head { margin-bottom: 5px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.form-grid label { color: var(--muted); font-size: 10px; }
.form-grid select {
  width: 100%; margin-top: 6px; padding: 10px; border: 1px solid var(--border);
  border-radius: 9px; background: var(--panel-2); color: var(--text);
}
.compact-list .stat-row { padding: 8px 0; }
.employee-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.employee-actions .danger { grid-column: 1 / -1; }
.staff-alert { margin: 10px 0; padding: 10px 11px; border: 1px solid rgba(255,194,92,.28); border-radius: 9px; background: rgba(255,194,92,.08); color: #f4ce86; font-size: 11px; line-height: 1.45; }
.empty-state.mini { padding: 34px 14px; }

.schedule-panel { margin-bottom: 14px; }
.schedule-line { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.schedule-line span { display: block; color: var(--muted); font-size: 10px; }
.schedule-line strong { display: block; margin-top: 3px; font-size: 15px; }
.schedule-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.schedule-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 12px; }
.schedule-metrics span { padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel-2); color: var(--muted); font-size: 10px; }
.schedule-metrics b { display: block; margin-top: 3px; color: var(--text); font-size: 12px; }

.hiring-modal-card { width: min(860px, 100%); max-height: 88vh; overflow: auto; }
.modal-subtitle { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.hiring-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #10151c; }
.hiring-toolbar strong { display: block; font-size: 12px; }
.hiring-toolbar small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.candidate-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.candidate-card { padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.candidate-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.candidate-head > strong { font-size: 11px; white-space: nowrap; }
.candidate-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 12px 0; }
.candidate-stats span { padding: 7px 8px; border: 1px solid var(--border); border-radius: 8px; background: #11161d; color: var(--muted); font-size: 9px; }
.candidate-stats b { display: block; margin-top: 2px; color: var(--text); font-size: 11px; }
.candidate-card > button { width: 100%; }

@media (max-width: 1180px) {
  .staff-summary.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .employees-layout { grid-template-columns: 1fr; }
  .employee-detail { position: static; }
}
@media (max-width: 680px) {
  .staff-summary.four, .candidate-list, .form-grid, .schedule-metrics { grid-template-columns: 1fr; }
  .schedule-line, .hiring-toolbar { align-items: stretch; flex-direction: column; }
  .schedule-actions { justify-content: flex-start; }
  .employee-actions { grid-template-columns: 1fr; }
  .employee-actions .danger { grid-column: auto; }
}

/* ===== v0.3.2 — Horários e compra automática ===== */
.hours-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.hours-grid label, .auto-restock-box label { color: var(--muted); font-size: 10px; }
.hours-grid label span, .auto-restock-box label span { display: block; margin-bottom: 6px; }
.hours-grid select, .auto-restock-box select {
  width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 9px;
  background: var(--panel-2); color: var(--text);
}
.compact-hours { width: min(360px, 100%); margin-top: 0; }
.auto-restock-box { display: grid; gap: 10px; }
.auto-restock-box .stat-row { padding: 8px 0; }

@media (max-width: 680px) {
  .hours-grid { grid-template-columns: 1fr; }
  .compact-hours { width: 100%; }
}

/* ===== v0.3.4 — Escala individual ===== */
.employee-schedule-grid { grid-template-columns: 1.15fr .85fr .85fr; }
@media (max-width: 680px) {
  .employee-schedule-grid { grid-template-columns: 1fr; }
}

/* ===== v0.3.5 — Cargos específicos e equipe mínima ===== */
.status-pill.warn { color: var(--warn); background: rgba(255,194,92,.10); }
.staffing-overview { margin-bottom: 14px; }
.staffing-overview.staffing-ok { border-color: rgba(83,211,144,.24); }
.staffing-overview.staffing-warning { border-color: rgba(255,194,92,.28); }
.staffing-inline { display: flex; flex-wrap: wrap; gap: 7px; }
.staffing-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px;
  border: 1px solid var(--border); border-radius: 999px; background: var(--panel-2);
  color: var(--muted); font-size: 10px;
}
.staffing-chip.ok { border-color: rgba(83,211,144,.28); color: #a8e7c7; }
.staffing-chip.missing { border-color: rgba(255,194,92,.30); color: #f4ce86; }
.warning-note { border-left-color: var(--warn); background: rgba(255,194,92,.07); color: #e6cf9f; }
.staffing-panel { margin-bottom: 14px; }
.staffing-requirements { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.staffing-requirement {
  display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px;
  padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel-2);
}
.staffing-requirement.ok { border-color: rgba(83,211,144,.24); }
.staffing-requirement.missing { border-color: rgba(255,194,92,.28); }
.staffing-requirement .role-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #10151c; font-size: 17px; }
.staffing-requirement strong { display: block; font-size: 11px; }
.staffing-requirement small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.staffing-counts { text-align: right; }
.staffing-counts span { display: block; color: var(--muted); font-size: 8px; }
.staffing-counts b { color: var(--text); font-size: 10px; }
.role-badge.required {
  display: inline-block; margin-left: 5px; padding: 2px 5px; border-radius: 999px;
  background: rgba(255,194,92,.12); color: var(--warn); font-size: 7px; letter-spacing: .04em; vertical-align: middle;
}
@media (max-width: 980px) {
  .staffing-requirements { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .staffing-requirements { grid-template-columns: 1fr; }
  .staffing-requirement { grid-template-columns: 34px 1fr; }
  .staffing-counts { grid-column: 1 / -1; display: flex; justify-content: space-between; text-align: left; }
}

/* ===== v0.3.6 — Consolidação da gestão empresarial ===== */
.company-tabs { overflow-x: auto; scrollbar-width: thin; }
.company-tabs .company-tab { white-space: nowrap; flex: 0 0 auto; }
.admin-capacity-panel { margin-bottom: 14px; }
.admin-capacity-panel .panel-header > strong { font-size: 20px; }
.operation-flow { display: flex; align-items: stretch; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.operation-stage { min-width: 185px; flex: 1; padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); position: relative; }
.operation-stage.bottleneck { border-color: rgba(255,194,92,.45); background: rgba(255,194,92,.06); }
.operation-stage-icon { font-size: 24px; margin-bottom: 8px; }
.operation-stage span { color: var(--muted); font-size: 8px; letter-spacing: .08em; }
.operation-stage h4 { margin: 3px 0 4px; font-size: 13px; }
.operation-stage p { color: var(--muted); margin: 0 0 9px; font-size: 9px; }
.operation-stage strong { font-size: 12px; }
.operation-stage em { position: absolute; right: 9px; top: 9px; font-size: 7px; font-style: normal; color: var(--warn); }
.operation-arrow { display: grid; place-items: center; color: var(--muted); min-width: 18px; }
.campaign-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.campaign-card { padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel-2); }
.campaign-card h4 { margin: 6px 0; font-size: 12px; }
.campaign-card p { min-height: 30px; margin: 0 0 8px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.campaign-card button { width: 100%; margin-top: 9px; }
.campaign-icon { font-size: 23px; }
.campaign-active-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.campaign-active { padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel-2); }
.campaign-active strong, .campaign-active span, .campaign-active b { display: block; }
.campaign-active strong { font-size: 11px; }
.campaign-active span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.campaign-active b { margin-top: 5px; color: var(--good); font-size: 10px; }
.permission-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.permission-item { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel-2); }
.permission-item input { margin-top: 2px; }
.permission-item strong, .permission-item small { display:block; }
.permission-item strong { font-size: 10px; }
.permission-item small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.form-grid input, .panel select, .panel input[type="number"] { width: 100%; margin-top: 6px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel-2); color: var(--text); }
.expansion-box { display: grid; gap: 9px; padding: 14px; border: 1px solid rgba(83,211,144,.24); border-radius: 11px; background: rgba(83,211,144,.05); }
.expansion-box strong { font-size: 17px; }
.expansion-box span { color: var(--muted); font-size: 10px; }
.event-row { padding: 9px 10px; border-bottom: 1px solid var(--border); font-size: 10px; color: var(--muted); }
.event-row:last-child { border-bottom: 0; }
@media (max-width: 980px) {
  .campaign-grid, .campaign-active-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .campaign-grid, .campaign-active-list, .permission-grid { grid-template-columns: 1fr; }
  .operation-flow { align-items: stretch; }
}

/* v0.4.0 — marcas, DRE, unidades e tamanho empresarial */
.startup-tier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0 14px;border-bottom:1px solid var(--border,#263241);margin-bottom:8px}
.startup-tier-head strong{display:block;font-size:15px}.startup-tier-head small{display:block;margin-top:4px;color:var(--muted,#8da0b8);line-height:1.4}
.stat-row.total-row{margin-top:8px;padding-top:12px;border-top:1px solid var(--border,#263241);font-size:14px}
.status-pill.neutral{background:rgba(111,126,151,.14);color:#aebbd0;border:1px solid rgba(111,126,151,.25)}
.brand-overview{margin-top:14px}.brand-progress{margin-top:8px}
.dre-lines{display:flex;flex-direction:column;gap:0;border:1px solid var(--border,#263241);border-radius:10px;overflow:hidden;background:rgba(8,14,23,.28)}
.dre-lines.wide{max-width:900px}
.dre-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid rgba(120,140,160,.12);font-size:12px}
.dre-row:last-child{border-bottom:0}.dre-row span{color:#c4cfdd}.dre-row strong{font-size:13px}
.dre-row.negative span{color:#aab7c8}.dre-row.subtotal{background:rgba(86,113,151,.08);font-weight:700}.dre-row.total{background:rgba(77,115,255,.08);font-weight:800;padding-top:12px;padding-bottom:12px}
.dre-margins{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.dre-margins span{padding:7px 10px;border-radius:8px;background:rgba(93,112,139,.10);font-size:11px;color:#aebbd0}.dre-margins b{color:#e5edf7;margin-left:4px}
.unit-list{display:flex;flex-direction:column;gap:8px}.unit-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border,#263241);background:rgba(20,28,39,.65);padding:12px 14px;border-radius:10px;cursor:pointer;transition:.15s ease}
.unit-card:hover{transform:translateY(-1px);border-color:rgba(90,130,255,.55)}.unit-card.current{border-color:rgba(90,130,255,.65);background:rgba(65,95,180,.10)}
.unit-card>div:first-child strong{display:block;font-size:13px}.unit-card>div:first-child small{display:block;color:#8fa1b7;margin-top:3px}
.unit-card>div:last-child{display:flex;gap:18px;flex-wrap:wrap}.unit-card>div:last-child span{font-size:10px;color:#8fa1b7}.unit-card>div:last-child b{display:block;color:#dbe5f1;font-size:12px;margin-top:2px}
@media(max-width:900px){.unit-card{align-items:flex-start;flex-direction:column}.unit-card>div:last-child{width:100%}.company-tabs{overflow-x:auto;white-space:nowrap}}


/* v0.4.6 — valuation */
.valuation-factors { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.valuation-factors span { padding:7px 10px; border:1px solid var(--border); border-radius:999px; background:var(--panel-2); color:var(--muted); font-size:12px; }


/* v0.5.0 — cadeia de suprimentos e balanço */
.inventory-table td { vertical-align: middle; min-width: 92px; }
.inventory-table td:first-child { min-width: 180px; }
.inventory-table td:nth-child(4) { min-width: 210px; }
.inventory-table small { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.35; }
.compact-select { width:100%; min-width:88px; padding:7px 8px; border-radius:8px; }
.mini-stock-bar { height:5px; background:rgba(255,255,255,.08); border-radius:999px; overflow:hidden; margin-top:7px; min-width:110px; }
.mini-stock-bar span { display:block; height:100%; background:currentColor; opacity:.65; border-radius:999px; }
.stock-dashboard .compact-kpis { margin-top:14px; }
.stock-summary-card .stock-hero { margin-bottom:0; }
.switch-row { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; }
.balance-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.balance-grid h4 { margin:2px 0 10px; color:var(--muted); letter-spacing:.08em; font-size:11px; }
@media (max-width:900px){ .balance-grid{grid-template-columns:1fr;} .inventory-table{min-width:980px;} }

/* v0.6.0 — Gestão Inteligente */
.department-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.department-card { padding:13px; border:1px solid var(--border); border-radius:11px; background:var(--panel-2); min-height:150px; display:flex; flex-direction:column; }
.department-card.covered { border-color:rgba(67,215,158,.22); }
.department-card.uncovered { border-color:rgba(243,199,95,.24); }
.department-head { display:flex; gap:10px; align-items:center; }
.department-head strong,.department-head small { display:block; }
.department-head strong { font-size:12px; }
.department-head small { margin-top:3px; color:var(--muted); font-size:9px; }
.department-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#10151c; font-size:18px; flex:0 0 auto; }
.department-card p { color:var(--muted); font-size:9px; line-height:1.45; margin:10px 0 14px; flex:1; }
.department-foot { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.department-foot b { font-size:13px; }
.management-ticket-list { display:flex; flex-direction:column; gap:9px; }
.management-ticket { border:1px solid var(--border); border-left-width:4px; border-radius:10px; padding:12px; background:var(--panel-2); }
.management-ticket.priority-critical { border-left-color:var(--bad); }
.management-ticket.priority-high { border-left-color:var(--warn); }
.management-ticket.priority-medium { border-left-color:var(--accent); }
.management-ticket.priority-low { border-left-color:#77859a; }
.management-ticket.needs-owner { background:rgba(243,199,95,.055); }
.ticket-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ticket-top>div:first-child { display:flex; align-items:center; gap:8px; }
.ticket-top strong { font-size:12px; }
.ticket-id { color:var(--muted); font-size:9px; font-weight:800; }
.ticket-badges { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.management-ticket>p { color:var(--muted); font-size:10px; line-height:1.45; margin:8px 0; }
.ticket-route { display:flex; gap:7px; align-items:center; color:#b8c4d4; font-size:9px; }
.ticket-route b { color:var(--accent); }
.ticket-last { margin-top:9px; padding:8px 9px; border-radius:8px; background:rgba(255,255,255,.035); color:var(--muted); font-size:9px; line-height:1.45; }
.ticket-last strong { color:#dbe5f1; }
.ticket-last small { display:block; margin-top:3px; opacity:.75; }
.ticket-actions { display:flex; gap:8px; margin-top:10px; }
.ticket-actions button { min-width:100px; }
.warn-text { color:var(--warn)!important; }
@media(max-width:1100px){.department-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.department-grid{grid-template-columns:1fr}.ticket-top{flex-direction:column}.ticket-badges{justify-content:flex-start}.ticket-actions{flex-direction:column}.ticket-actions button{width:100%}}

/* v0.6.1 — política de cobertura */
.coverage-policy{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:6px;min-width:250px}.coverage-policy label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}.coverage-policy .compact-select{min-width:0;width:100%}.inventory-table td{vertical-align:top}.inventory-table td small{display:block;margin-top:4px;line-height:1.35}.stock-summary-card .stock-hero{align-items:center}@media(max-width:1100px){.coverage-policy{grid-template-columns:1fr;min-width:120px}}

/* v0.17.4 — Estoque simples para o jogador */
.stock-simple-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:18px}
.stock-simple-intro h2{margin:4px 0 5px;font-size:20px}
.stock-simple-intro p{margin:0;color:var(--muted);font-size:12px;max-width:700px}
.stock-auto-toggle{flex:none;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}
.stock-auto-toggle input{width:18px;height:18px;accent-color:var(--accent)}
.stock-quick-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.stock-quick-guide span{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted);font-size:11px}
.stock-quick-guide b{display:block;margin-bottom:3px;color:var(--text)}
.stock-simple-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}
.stock-simple-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.stock-simple-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.stock-simple-head h4{margin:3px 0 0;font-size:15px}
.stock-simple-status{padding:5px 8px;border-radius:999px;background:var(--panel-2);font-size:10px;font-weight:700;text-align:center}
.stock-simple-status.good{color:var(--good);background:var(--good-soft)}
.stock-simple-status.warn{color:var(--warn);background:var(--warn-soft)}
.stock-simple-status.bad{color:var(--bad);background:var(--bad-soft)}
.stock-simple-quantities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.stock-simple-quantities>div{padding:9px;border-radius:8px;background:var(--panel-2)}
.stock-simple-quantities small{display:block;color:var(--muted);font-size:10px}
.stock-simple-quantities strong{display:block;margin-top:3px;font-size:14px}
.stock-simple-quantities strong small{display:inline;font-size:10px}
.stock-simple-card .mini-stock-bar{margin:10px 0 12px}
.stock-simple-card .mini-stock-bar span{background:var(--accent)}
.stock-simple-card.warn .mini-stock-bar span{background:var(--warn)}
.stock-simple-card.bad .mini-stock-bar span{background:var(--bad)}
.stock-simple-card button{width:100%;min-height:36px}
.stock-simple-note{margin:0;color:var(--muted);font-size:11px}
.stock-advanced-details{margin-top:16px;border:1px solid var(--border);border-radius:11px;background:rgba(21,26,34,.55)}
.stock-advanced-details>summary{padding:13px 15px;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}
.stock-advanced-content{padding:0 12px 12px}
@media(max-width:760px){.stock-simple-intro{align-items:stretch;flex-direction:column}.stock-auto-toggle{align-self:flex-start}.stock-quick-guide{grid-template-columns:1fr}.stock-simple-grid{grid-template-columns:1fr}}

/* v0.6.3 — relatório offline */
.offline-modal-card { width:min(960px,96vw); max-height:90vh; overflow:auto; }
.offline-hero { padding:4px 0 12px; }
.offline-hero h2 { margin:3px 0 6px; font-size:24px; }
.offline-hero p { margin:0; color:var(--muted); line-height:1.5; }
.offline-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0 16px; }
.offline-kpis > div { border:1px solid var(--border); background:var(--panel-2); border-radius:12px; padding:12px; }
.offline-kpis span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.offline-kpis strong { display:block; margin-top:5px; font-size:17px; }
.offline-section { margin:14px 0; }
.offline-section h3 { margin:0 0 8px; }
@media (max-width:900px){ .offline-kpis{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .offline-kpis{grid-template-columns:1fr;} }


/* v0.7.0 — Mercado vivo */
.market-self{background:rgba(89,129,255,.09)}
.market-self td:first-child{box-shadow:inset 3px 0 0 #6f8cff}
.competitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.competitor-card{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;padding:13px}
.competitor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.competitor-head span{font-weight:800;color:var(--accent)}
.competitor-card small{display:block;color:var(--muted);margin-bottom:10px}
.mini-market-stats{display:flex;flex-wrap:wrap;gap:6px}
.mini-market-stats span{font-size:11px;padding:5px 7px;border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.market-city-panel select{min-width:220px}
.compact-action{padding:6px 10px;font-size:11px}
.offline-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.offline-actions{display:flex;justify-content:flex-end;margin:10px 0}
@media(max-width:900px){.offline-highlight-grid{grid-template-columns:1fr}.market-city-panel .section-grid{grid-template-columns:1fr}}

.table-subtle{display:block;color:var(--muted);font-size:11px;margin-top:2px}


/* v0.7.1 — Consolidação financeira, saúde da empresa e inteligência de mercado */
.balance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.balance-summary-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;gap:5px}
.balance-summary-card span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.balance-summary-card strong{font-size:20px}.balance-summary-card small{color:var(--muted)}
.balance-summary-card.balanced{border-color:rgba(65,214,151,.28);background:rgba(65,214,151,.055)}
.balance-summary-card.unbalanced{border-color:rgba(255,194,92,.32);background:rgba(255,194,92,.055)}
.grand-total-row{margin-top:10px;padding-top:12px;border-top:1px solid rgba(111,126,151,.35);font-size:14px}
.company-health-panel{margin-bottom:16px}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.health-card{padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.015)}
.health-card.good{border-color:rgba(65,214,151,.20)}.health-card.warn{border-color:rgba(255,194,92,.24)}.health-card.bad{border-color:rgba(255,101,121,.26)}
.health-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.health-head span{font-weight:700}.health-head strong{font-size:18px}
.health-meter{height:6px;background:rgba(111,126,151,.16);border-radius:999px;overflow:hidden;margin:9px 0}.health-meter i{display:block;height:100%;border-radius:999px;background:currentColor}
.health-card.good .health-meter{color:var(--good)}.health-card.warn .health-meter{color:var(--warn)}.health-card.bad .health-meter{color:var(--bad)}.health-card small{color:var(--muted);line-height:1.35}
.market-alert-stack{display:grid;gap:8px;margin-bottom:14px}.market-diagnosis-list{display:grid;gap:7px;margin-top:12px}.market-diagnosis{padding:9px 10px;border:1px solid var(--border);border-radius:9px;font-size:12px;color:var(--muted)}
.market-diagnosis.good{border-color:rgba(65,214,151,.24);color:#a9e9cd}.market-diagnosis.warn{border-color:rgba(255,194,92,.25);color:#f2d49b}.market-diagnosis.bad{border-color:rgba(255,101,121,.28);color:#f4a9b5}
.market-history-chart{display:grid;gap:9px;margin-top:8px}.market-history-row{display:grid;grid-template-columns:110px minmax(80px,1fr) 54px;gap:9px;align-items:center;font-size:12px}.market-history-row>span{color:var(--muted)}.market-history-row>strong{text-align:right}.market-history-track{height:9px;border-radius:999px;background:rgba(111,126,151,.16);overflow:hidden}.market-history-track i{display:block;height:100%;border-radius:999px;background:#6f8cff}
@media(max-width:900px){.balance-summary-grid,.health-grid{grid-template-columns:1fr}.market-history-row{grid-template-columns:90px minmax(70px,1fr) 48px}}

/* v0.7.2 — Mercado Avançado */
.segment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.segment-card{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;padding:12px}.segment-head{display:flex;gap:9px;align-items:center}.segment-head>span{font-size:22px}.segment-head strong{display:block}.segment-head small{display:block;color:var(--muted);margin-top:2px}.segment-stats{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:var(--muted)}.segment-stats b{color:var(--text)}
.market-event-list{display:grid;gap:9px}.market-event-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:11px;padding:11px;background:var(--panel-2)}.market-event-card.positive{border-color:rgba(65,214,151,.24);background:rgba(65,214,151,.035)}.market-event-card.negative{border-color:rgba(255,101,121,.24);background:rgba(255,101,121,.035)}.market-event-card .event-icon{font-size:22px}.market-event-card strong,.market-event-card small,.market-event-card div>span{display:block}.market-event-card small{color:var(--muted);margin:3px 0 6px;line-height:1.35}.market-event-card div>span{font-size:11px;color:#c7d1df}.market-events-panel{margin-top:14px}
.choice-list{display:grid;gap:10px}.choice-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px}.choice-row span{color:var(--muted)}.choice-track{height:7px;border-radius:999px;background:rgba(111,126,151,.16);overflow:hidden;margin-top:5px}.choice-track i{display:block;height:100%;border-radius:999px}.choice-track.positive i{background:var(--good)}.choice-track.negative i{background:var(--warn)}
.npc-finance{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border);font-size:10px}.npc-finance span{display:flex;flex-direction:column;gap:2px;color:var(--muted)}.npc-finance b{font-size:11px;color:var(--text)}
.city-segment-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0}.city-segment-row>strong{font-size:11px;color:var(--muted);margin-right:2px}.city-segment-chip{display:flex;gap:6px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:5px 8px;font-size:10px;background:var(--panel-2)}.city-segment-chip span{color:var(--muted)}.city-event-list{margin:10px 0 2px}
@media(max-width:1050px){.segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.segment-grid{grid-template-columns:1fr}.npc-finance{grid-template-columns:1fr}}


/* v0.8.0 — Banco e crédito */
.bank-account-pill{display:flex;flex-direction:column;align-items:flex-end;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.bank-account-pill span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.bank-account-pill strong{font-size:20px;margin-top:3px}
.bank-score-layout{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.bank-score-circle{width:132px;height:132px;border:10px solid rgba(78,203,160,.18);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto}.bank-score-circle strong{font-size:34px;line-height:1}.bank-score-circle span{font-size:12px;color:var(--muted);margin-top:7px}.bank-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px}.bank-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.bank-form-grid label{display:flex;flex-direction:column;gap:6px}.bank-form-grid input,.bank-form-grid select{width:100%}.bank-screen .cost-preview{margin:12px 0}.bank-screen .cost-preview>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.bank-screen .cost-preview small{display:block;margin-top:8px}.bank-screen table small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:900px){.bank-layout,.bank-score-layout{grid-template-columns:1fr}.bank-account-pill{align-items:flex-start}.bank-form-grid{grid-template-columns:1fr}}


/* v0.8.1 — Garantias e refinanciamento */
.collateral-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.collateral-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel-2);display:flex;flex-direction:column;gap:5px}.collateral-card>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.collateral-card>strong{font-size:18px}.collateral-card>small{color:var(--muted);line-height:1.35}.danger-note{border-color:rgba(255,101,121,.24)!important;background:rgba(255,101,121,.04)!important;margin-top:10px}.bank-action-stack{display:flex;gap:6px;flex-wrap:wrap}.refinance-panel{border-color:rgba(111,140,255,.30);box-shadow:0 0 0 1px rgba(111,140,255,.05) inset}.refinance-panel .cost-preview{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.bank-screen button:disabled{opacity:.45;cursor:not-allowed}.bank-screen .good{color:var(--good)}.bank-screen .bad{color:var(--bad)}.bank-screen .warn{color:var(--warn)}
@media(max-width:900px){.collateral-grid{grid-template-columns:1fr}.refinance-panel .cost-preview{grid-template-columns:1fr}}


/* v0.8.2 — Tesouraria */
.top-stat.money-stat{min-width:118px}
.treasury-balance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px}
.treasury-balance-strip span{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.treasury-balance-strip strong{font-size:14px;color:var(--text);text-transform:none;letter-spacing:0}
.treasury-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.treasury-screen .panel input{width:100%;margin-top:6px}
@media(max-width:1050px){.treasury-balance-strip{grid-template-columns:1fr 1fr}.top-stat.money-stat{min-width:105px}}
@media(max-width:700px){.treasury-balance-strip{grid-template-columns:1fr}}

.treasury-screen td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.treasury-screen td strong+small{margin-top:4px}.treasury-screen table td{vertical-align:top}.treasury-screen table td:first-child{min-width:150px}

/* v0.8.3 — Política de remuneração por empresa */
.treasury-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.treasury-policy-grid label{display:flex;flex-direction:column;gap:7px;font-size:.86rem;font-weight:700}.treasury-policy-grid label small{font-weight:400;line-height:1.35}.treasury-policy-grid input,.treasury-policy-grid select{width:100%}@media(max-width:980px){.treasury-policy-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.treasury-policy-grid{grid-template-columns:1fr}}


/* v0.8.4 — Painel Executivo, Central de Pendências e Offline 2.0 */
.nav-item{position:relative}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,194,92,.16);color:#ffd782;border:1px solid rgba(255,194,92,.28);font-size:10px}.nav-badge.hidden{display:none}
.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.executive-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.dashboard-alerts{display:grid;gap:8px}.dashboard-alert{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--border);background:var(--panel-2);border-radius:10px;padding:11px 12px;color:var(--text)}.dashboard-alert span{display:grid;gap:3px}.dashboard-alert small{color:var(--muted)}.dashboard-alert b{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.dashboard-alert.severity-critical{border-color:rgba(255,97,97,.38)}.dashboard-alert.severity-high{border-color:rgba(255,194,92,.35)}.executive-highlight{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:9px;background:var(--panel-2)}.executive-highlight span{grid-column:1/-1;color:var(--muted);font-size:10px;text-transform:uppercase}.executive-highlight b{font-size:16px}.executive-highlight.good-box b{color:var(--good)}.executive-highlight.bad-box b{color:var(--bad)}.executive-risk{display:inline-flex;min-width:28px;justify-content:center;border-radius:999px;padding:4px 8px;background:var(--panel-2)}
.pending-list{display:grid;gap:9px}.pending-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.pending-card.severity-critical{border-color:rgba(255,97,97,.48)}.pending-card.severity-high{border-color:rgba(255,194,92,.38)}.pending-title{display:flex;gap:10px;align-items:flex-start}.severity-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);margin-top:6px;flex:0 0 auto}.severity-critical .severity-dot{background:var(--bad)}.severity-high .severity-dot{background:#ffc25c}.severity-medium .severity-dot{background:#7da7ff}.pending-title div{display:grid;gap:3px}.pending-title small{color:var(--muted);text-transform:uppercase;font-size:9px;letter-spacing:.06em}.pending-main p{margin:8px 0 0;color:var(--muted);font-size:12px}.pending-side{display:flex;align-items:center;gap:10px}.pending-side>span{color:var(--muted);font-size:10px;text-transform:uppercase}.pending-side>strong{font-size:12px}.offline-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid{grid-template-columns:1fr}}
@media(max-width:720px){.executive-kpis{grid-template-columns:1fr}.pending-card{grid-template-columns:1fr}.pending-side{justify-content:space-between;flex-wrap:wrap}}


/* v0.9.0 — Aquisições e M&A */
.acquisition-summary{display:flex;gap:10px;flex-wrap:wrap}.acquisition-summary span{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:10px;color:var(--muted)}.acquisition-summary strong{color:var(--text);font-size:13px}.acquisition-tabs{margin-bottom:14px}.acquisition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.acquisition-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:15px}.acquisition-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.acquisition-head h3{margin:4px 0}.acquisition-head p{margin:0;color:var(--muted);font-size:12px}.acquisition-price{text-align:right;display:grid;gap:4px;white-space:nowrap}.acquisition-price span{font-size:10px;color:var(--muted);text-transform:uppercase}.acquisition-price strong{font-size:18px}.acquisition-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.acquisition-stats span{display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid var(--border);border-radius:9px;color:var(--muted);font-size:10px;background:var(--panel-2)}.acquisition-stats b{color:var(--text);font-size:11px}.valuation-band{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 0;margin:8px 0 12px}.valuation-band span{font-size:11px;color:var(--muted)}.valuation-band strong{font-size:13px}.acquisition-actions{display:flex;gap:8px;flex-wrap:wrap}.acquisition-dossier .status-pill{display:inline-flex;margin-top:10px}.negotiation-card{margin-bottom:12px}.acquisition-offer-label{display:grid;gap:6px;margin:12px 0;font-weight:700}.acquisition-offer-label input{width:100%}.negotiation-log{display:grid;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted)}.acquisition-finance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.acquisition-finance>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--panel-2);display:grid;gap:4px}.acquisition-finance span,.acquisition-finance small{color:var(--muted);font-size:10px}.acquisition-finance strong{font-size:14px}.good-note{border-color:rgba(65,214,151,.25)!important;background:rgba(65,214,151,.04)!important}.acquisition-screen table small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:980px){.acquisition-grid{grid-template-columns:1fr}.acquisition-stats{grid-template-columns:1fr 1fr}}@media(max-width:620px){.acquisition-head{display:grid}.acquisition-price{text-align:left}.acquisition-stats,.acquisition-finance{grid-template-columns:1fr}.valuation-band{align-items:flex-start;flex-direction:column}}

/* v0.9.1 — M&A: estruturas de negócio, parcelamento com vendedor e integração */
.seller-terms{display:flex;gap:10px;align-items:center;margin:10px 0}.seller-terms select,.integration-brand-row select{min-width:220px;max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.integration-options{display:grid;gap:10px;margin:12px 0}.integration-brand-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.acquisition-price small{display:block;margin-top:5px;color:var(--muted);font-weight:500}.valuation-band+ .valuation-band{margin-top:6px}


/* v0.9.2 — entidade compradora e múltiplos saves */
.buyer-selector{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}
.buyer-selector label{display:grid;gap:6px;font-weight:700}.buyer-selector select{width:100%}.buyer-selector small{display:block;margin-top:6px;color:var(--muted)}
.ownership-line{display:block;margin-top:4px;color:var(--muted)}
.active-save-chip{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.active-save-chip span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.active-save-chip strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.save-manager-modal-card{width:min(860px,94vw)}.save-manager-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.save-manager-head>div{display:grid;gap:2px}.save-manager-head small{color:var(--muted)}
.save-slot-list{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:3px}.save-slot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02)}.save-slot.active{border-color:var(--accent);background:rgba(255,255,255,.045)}.save-slot h3{margin:2px 0 4px}.save-slot p,.save-slot small{margin:0;color:var(--muted)}.save-slot-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
@media(max-width:720px){.save-slot{align-items:stretch;flex-direction:column}.save-slot-actions{justify-content:flex-start}.save-manager-head{align-items:stretch;flex-direction:column}}


/* v0.9.3 — Estrutura societária + Saves 2.0 */
.active-save-chip small{font-size:9px;color:var(--good);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.readonly-field{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);font-weight:700;color:var(--text)}
.ownership-preview{display:grid;gap:5px;margin:10px 0;padding:10px 12px;border:1px solid rgba(111,140,255,.28);border-radius:10px;background:rgba(90,125,255,.05)}.ownership-preview small{color:var(--muted);line-height:1.45}
.corporate-roots{grid-template-columns:1fr 1fr}.corp-children{display:grid;gap:9px;margin-top:8px;padding-left:16px;border-left:1px solid var(--border)}.corp-branch{display:grid;gap:7px}.corp-node{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:10px 11px}.corp-company-link{border:0;background:transparent;padding:0;text-align:left;display:grid;gap:3px;color:var(--text)}.corp-company-link:hover{background:transparent}.corp-company-link small,.corp-node>span,.corp-empty{color:var(--muted);font-size:10px}.corp-empty{padding:8px 0}.corporate-actions-grid{grid-template-columns:1fr 1fr}.corporate-screen select,.corporate-screen input{width:100%;margin:6px 0 10px}.corporate-screen table small{display:block;color:var(--muted);margin-top:3px}
.save-manager-tools{display:flex;gap:8px;flex-wrap:wrap}.save-slot-main{min-width:0}.save-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.save-meta small{padding:3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}
.confirm-save-delete-card{width:min(440px,92vw);text-align:center}.confirm-delete-icon{font-size:34px;margin-bottom:6px}.confirm-save-delete-card p{color:var(--muted);line-height:1.55}.confirm-delete-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:900px){.corporate-roots,.corporate-actions-grid{grid-template-columns:1fr}}@media(max-width:720px){.save-manager-tools,.confirm-delete-actions{flex-direction:column}.save-manager-tools button,.confirm-delete-actions button{width:100%}.save-meta{display:grid}.corp-children{padding-left:9px}}

/* v0.9.3.2 — Central de Relatórios Gerenciais */
.report-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.55fr) minmax(190px,.8fr) minmax(220px,1fr);gap:10px;align-items:end;margin:14px 0}
.report-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.report-toolbar select{width:100%}
.report-context{min-height:58px;border:1px solid var(--border);border-radius:12px;padding:9px 12px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;justify-content:center;min-width:0}
.report-context span,.report-context small{color:var(--muted);font-size:11px}.report-context strong{font-size:14px;margin:2px 0}
.report-tabs{margin-bottom:14px;overflow-x:auto;display:flex;flex-wrap:nowrap}.report-tabs button{white-space:nowrap}
.report-note{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:12px;line-height:1.5;background:rgba(255,255,255,.015)}
.report-note.warn{border-color:rgba(245,158,11,.35);color:#d8b36b;background:rgba(245,158,11,.05)}
.reports-screen .table-wrap td small{display:block;margin-top:3px;color:var(--muted)}
.reports-screen .total-row td{font-weight:700;background:rgba(255,255,255,.018)}
@media(max-width:1000px){.report-toolbar{grid-template-columns:1fr 1fr}.report-context{grid-column:1/-1}}
@media(max-width:650px){.report-toolbar{grid-template-columns:1fr}.report-context{grid-column:auto}.reports-screen .kpi-grid{grid-template-columns:1fr 1fr}}

/* ===== v0.9.3.2.2 — Menu principal e fluxo de salvamento ===== */
.main-menu-screen {
  min-height: 100vh;
  padding: 42px 20px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 10%, rgba(95,140,255,.10), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(125,102,255,.08), transparent 24%),
    var(--bg);
}
.main-menu-mode .topbar,
.main-menu-mode .app-shell { display: none !important; }
body:not(.main-menu-mode) .main-menu-screen { display: none; }
.main-menu-shell { width: min(1040px, 100%); }
.main-menu-brand { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
.main-menu-logo {
  width:72px; height:72px; display:grid; place-items:center; flex:0 0 auto;
  border-radius:20px; font-size:32px; font-weight:900;
  background:linear-gradient(145deg,var(--accent),#7d66ff);
  box-shadow:0 18px 48px rgba(95,140,255,.24);
}
.main-menu-brand h1 { margin:0; font-size:42px; letter-spacing:7px; }
.main-menu-brand p { margin:8px 0 0; color:var(--muted); font-size:14px; }
.main-menu-actions { display:flex; justify-content:flex-end; gap:8px; margin:0 0 18px; }
.main-menu-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:14px 0 10px; }
.main-menu-section-head h2 { margin:0; font-size:20px; }
.main-menu-section-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.main-menu-save-list { display:grid; gap:11px; }
.main-menu-empty {
  padding:34px 20px; text-align:center; border:1px dashed var(--border); border-radius:16px;
  background:rgba(255,255,255,.015); color:var(--muted);
}
.main-menu-save-card {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center;
  padding:17px 18px; border:1px solid var(--border); border-radius:15px; background:var(--panel);
}
.main-menu-save-card.last-played { border-color:#46639b; background:linear-gradient(180deg,rgba(95,140,255,.055),var(--panel)); }
.main-menu-save-card.auto-backup-card,.save-slot.auto-backup-slot { border-color:rgba(95,140,255,.48); background:linear-gradient(180deg,rgba(95,140,255,.06),var(--panel)); }
.main-menu-save-card h3 { margin:3px 0 5px; font-size:18px; }
.main-menu-save-card p { margin:0; color:var(--muted); font-size:12px; }
.main-menu-save-card .save-meta { margin-top:8px; }
.main-menu-save-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.main-menu-save-actions .play-save { min-width:86px; }
.main-menu-footer { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; margin-top:18px; color:var(--muted); font-size:11px; }

.top-actions { display:flex; align-items:center; gap:7px; justify-content:flex-end; }
.top-save-chip {
  display:grid; gap:1px; min-width:128px; max-width:180px; padding:6px 9px;
  border:1px solid var(--border); border-radius:9px; background:var(--panel);
}
.top-save-chip span { font-size:11px; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top-save-chip small { color:var(--good); font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top-action-btn { height:38px; padding:0 10px; white-space:nowrap; }
.return-menu-card { width:min(520px,92vw); text-align:center; }
.save-name-modal-card { width:min(460px,94vw); }
.save-name-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.save-name-actions button { min-width:112px; }
.return-menu-icon { font-size:34px; margin-bottom:7px; }
.return-menu-card p { color:var(--muted); line-height:1.55; }
.return-menu-actions { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; margin-top:18px; }

@media (max-width: 760px) {
  .main-menu-screen { padding:24px 12px; place-items:start center; }
  .main-menu-brand { align-items:flex-start; }
  .main-menu-logo { width:54px; height:54px; border-radius:15px; font-size:24px; }
  .main-menu-brand h1 { font-size:30px; letter-spacing:5px; }
  .main-menu-actions { display:grid; grid-template-columns:1fr 1fr; }
  .main-menu-save-card { grid-template-columns:1fr; }
  .main-menu-save-actions { justify-content:flex-start; }
  .main-menu-save-actions button { flex:1 1 120px; }
  .top-actions { justify-content:flex-start; flex-wrap:wrap; width:100%; }
  .top-save-chip { flex:1 1 180px; max-width:none; }
  .return-menu-actions { flex-direction:column; }
  .return-menu-actions button { width:100%; }
  .save-name-actions { flex-direction:column-reverse; }
  .save-name-actions button { width:100%; }
}

/* Ajustes responsivos do topo com Salvar/Menu. */
@media (max-width:1180px) and (min-width:921px) {
  .top-save-chip { display:none; }
  .top-action-btn { padding:0 9px; }
}
@media (max-width:920px) {
  .top-actions { grid-column:2; grid-row:1; width:auto; justify-content:flex-end; }
  .top-save-chip { display:none; }
}
@media (max-width:680px) {
  .top-actions { grid-column:1 / -1; grid-row:3; width:100%; justify-content:flex-start; }
  .top-action-btn { flex:1 1 120px; }
  .speed-controls { margin-left:auto; }
}


/* ===== v0.9.3.3 — Horários, picos, Sidebar 2.0 e pendências agrupadas ===== */
/* A sidebar rola independentemente para que nenhum controle fique fora da tela. */
.sidebar {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.sidebar::-webkit-scrollbar { width: 8px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: #313d50; border-radius: 999px; }
.sidebar-spacer { min-height: 12px; }

.schedule-switch { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.schedule-switch input { width:16px; height:16px; accent-color:var(--accent); }
.schedule-switch span { color:var(--muted); font-size:11px; }

.demand-heat-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:12px; }
.demand-heat-table { min-width:980px; margin:0; border-collapse:separate; border-spacing:2px; padding:6px; }
.demand-heat-table th { position:static; padding:6px 5px; text-align:center; font-size:10px; color:var(--muted); background:transparent; border:0; }
.demand-heat {
  min-width:39px; height:34px; padding:0 3px !important; text-align:center; font-size:10px; font-weight:800;
  color:#e8f2ff; border:0 !important; border-radius:7px;
  background:color-mix(in srgb, var(--good) calc(var(--heat) * 70%), #17202b);
}
.demand-heat.closed { color:#596476; background:#11171f; opacity:.65; }

.hours-summary-line { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.hours-summary-line .tag { margin:0; }

.pending-group { border:1px solid var(--border); border-radius:13px; background:var(--panel); overflow:hidden; }
.pending-group + .pending-group { margin-top:8px; }
.pending-group > summary {
  list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:13px 14px; cursor:pointer; user-select:none;
}
.pending-group > summary::-webkit-details-marker { display:none; }
.pending-group > summary:hover { background:var(--panel-2); }
.pending-group-title { min-width:0; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.pending-group-title strong { font-size:13px; }
.pending-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 7px; border-radius:999px; background:#253146; color:#dce8ff; font-size:10px; font-weight:800; }
.pending-group-meta { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:11px; white-space:nowrap; }
.pending-group-items { display:grid; gap:0; border-top:1px solid var(--border); }
.pending-subitem { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:11px 14px; border-bottom:1px solid rgba(255,255,255,.045); }
.pending-subitem:last-child { border-bottom:0; }
.pending-subitem p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }
.pending-subitem-actions { display:flex; gap:7px; align-items:center; }

/* Modo compacto automático em telas baixas. */
@media (min-width:681px) and (max-height:820px) {
  .sidebar { padding-top:10px; padding-bottom:10px; }
  .main-nav { gap:2px; }
  .nav-item { padding:8px 10px; }
  .new-business { margin-top:8px; padding:8px 10px; }
  .customer-voice { padding:8px; margin-bottom:7px; }
  .customer-voice p { margin:5px 0; max-height:2.85em; overflow:hidden; }
  .voice-suggestion { display:none; }
  .mini-summary { padding:9px; margin-bottom:7px; }
  .mini-summary strong { margin:3px 0 2px; font-size:14px; }
}

@media (max-width:920px) and (min-width:681px) {
  .sidebar { overflow-y:auto; overflow-x:hidden; }
  .customer-voice { display:none; }
}

@media (max-width:680px) {
  .sidebar { overflow-x:auto; overflow-y:hidden; scrollbar-gutter:auto; }
  .pending-group > summary, .pending-subitem { grid-template-columns:1fr; }
  .pending-group-meta, .pending-subitem-actions { justify-content:flex-start; white-space:normal; flex-wrap:wrap; }
}


/* ===== v0.9.4 — Sócios, Participações & Controle Societário ===== */
.stake-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.stake-market-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel-soft);display:flex;flex-direction:column;gap:10px}.stake-market-card>div:first-child{display:flex;flex-direction:column;gap:3px}.stake-market-card small{color:var(--muted)}.stake-market-card>span{display:flex;justify-content:space-between;gap:12px;font-size:.88rem}.stake-actions{display:flex;flex-wrap:wrap;gap:7px}.stake-actions button{flex:1 1 72px}.ownership-line{display:block;margin-top:3px}.corporate-screen .table-wrap td .status-pill{white-space:nowrap}.corporate-actions-grid input,.corporate-actions-grid select{width:100%}.corporate-actions-grid .treasury-balance-strip{margin:10px 0}.cap-control-note{border-left:3px solid var(--accent);padding-left:10px}.minority-badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.75rem;color:var(--muted)}
@media (max-width:760px){.stake-market-grid{grid-template-columns:1fr}.stake-actions button{flex:1 1 45%}}
/* v0.10.0 — Central Logística */
.logistics-screen .logistics-head-cash{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.logistics-head-cash span{font-size:12px;color:var(--muted)}.logistics-head-cash strong{font-size:20px}.logistics-actions-grid{align-items:start}.logistics-warehouse{margin-top:14px}.logistics-warehouse .progress-track{height:7px;background:rgba(148,163,184,.16);border-radius:99px;overflow:hidden;margin:8px 0 12px}.logistics-warehouse .progress-track span{display:block;height:100%;background:var(--accent);border-radius:inherit}.logistics-screen select,.logistics-screen input{max-width:100%}.logistics-screen .panel label{display:grid;gap:6px;margin-top:10px}.logistics-screen .panel button{margin-top:10px}.logistics-screen .table-wrap small{display:block;color:var(--muted);margin-top:2px}@media(max-width:900px){.logistics-actions-grid{grid-template-columns:1fr}.logistics-head-cash{align-items:flex-start}}


/* ===== v0.10.1 — Modais responsivos & polimento logístico ===== */
.modal{overflow-y:auto;overscroll-behavior:contain;align-items:start;place-items:start center;padding:16px;}
.modal-card{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.modal-card>.modal-header{position:sticky;top:-20px;z-index:3;background:var(--panel);padding:20px 0 10px;margin-top:-20px;}
@media(max-height:820px){.modal{padding:10px}.modal-card{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:16px}.modal-card>.modal-header{top:-16px;margin-top:-16px;padding:16px 0 8px}.modal-card label{margin-top:9px}}
.logistics-screen .info-note strong{color:var(--text)}
.modal-card>.modal-primary{position:sticky;bottom:-20px;z-index:4;margin-top:16px;box-shadow:0 -10px 22px rgba(10,14,22,.55)}
@media(max-height:820px){.modal-card>.modal-primary{bottom:-16px}}

/* v0.11.1 — requested reports */
.report-toolbar > .primary { align-self:end; min-height:42px; }
.report-toolbar input[type="date"] { min-width:0; width:100%; }
.report-awaiting { text-align:center; padding:32px 20px; }
.report-awaiting p { color:var(--muted); }

/* ===== v0.12.0 — Holdings & Estrutura Corporativa ===== */
.holding-manager{margin-top:14px}.holding-create-grid{display:grid;grid-template-columns:minmax(180px,2fr) minmax(170px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:end}.holding-create-grid label,.holding-action-grid label{display:grid;gap:6px}.holding-create-grid button{min-height:42px}.holding-focus{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.holding-action-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) auto minmax(140px,1fr) auto auto;gap:9px;align-items:end}.holding-node{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--panel-soft))}.corp-holding-link{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:transparent;border:0;padding:0;color:inherit}.corp-holding-link small{color:var(--muted)}
@media(max-width:900px){.holding-create-grid,.holding-action-grid{grid-template-columns:1fr 1fr}.holding-create-grid button,.holding-action-grid button{width:100%}}
@media(max-width:600px){.holding-create-grid,.holding-action-grid{grid-template-columns:1fr}}


/* ===== v0.13.0 — Franquias ===== */
.franchise-create-grid,.franchise-terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;align-items:end}.franchise-create-grid label,.franchise-terms-grid label,.franchise-marketing-box label{display:grid;gap:6px;font-size:.78rem;color:var(--muted)}.franchise-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}.franchise-kpis{grid-template-columns:repeat(4,minmax(130px,1fr));margin:12px 0}.franchise-marketing-box{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin:14px 0}.franchise-tabs small{opacity:.7;margin-left:4px}.franchise-screen .table-wrap table{min-width:900px}.franchise-screen .status-pill.warn{background:rgba(235,171,44,.15);color:#e9ae36}@media(max-width:900px){.franchise-grid{grid-template-columns:1fr}.franchise-kpis{grid-template-columns:repeat(2,minmax(120px,1fr))}.franchise-create-grid,.franchise-terms-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.franchise-create-grid,.franchise-terms-grid,.franchise-kpis,.franchise-marketing-box{grid-template-columns:1fr}}


/* ===== v0.13.1 — Novo sistema de tempo ===== */
.speed-controls .auto-pause-btn { min-width: 64px; font-size: 10px; }
.speed-controls .auto-pause-btn.active { background: rgba(255,180,70,.16); border-color: var(--warn); color: var(--warn); }
@media (max-width: 760px) { .speed-controls button { min-width: 36px; padding: 0 7px; } .speed-controls .auto-pause-btn { min-width: 58px; } }
/* ===== v0.13.2 — Escalas simplificadas & RH/DP ===== */
.employee-schedule-grid { grid-template-columns: 1fr 1fr; }
.simple-weekly-schedule { margin-top: 12px; }
.simple-weekly-schedule .panel-header.compact { margin-bottom: 8px; align-items: flex-start; }
.simple-weekly-schedule h4 { margin: 0 0 3px; font-size: 12px; }
.simple-weekly-schedule p { margin: 0; color: var(--muted); font-size: 10px; }
.quick-schedule-fields { align-items: end; }
.quick-schedule-fields button { min-height: 38px; }
.quick-schedule-fields select:disabled { opacity: .55; cursor: not-allowed; }
.schedule-advanced { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.schedule-advanced summary { color: var(--accent); font-size: 11px; font-weight: 700; cursor: pointer; }
.schedule-advanced p { margin: 7px 0; }
.employee-week-table td, .employee-week-table th { white-space: nowrap; }
.employee-week-table tr.today-row { background: rgba(255,255,255,.035); }
.employee-week-table select { min-width: 86px; }
@media (max-width: 760px) {
  .employee-schedule-grid { grid-template-columns: 1fr; }
  .simple-weekly-schedule .panel-header.compact { display: block; }
  .simple-weekly-schedule .status-pill { display: inline-flex; margin-top: 8px; }
}

/* v0.13.3 — autonomia independente por gestão */
.autonomy-area-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.autonomy-area-card{border:1px solid var(--border);border-radius:11px;background:var(--panel-2);overflow:hidden}
.autonomy-area-card[open]{border-color:rgba(93,126,255,.28);background:rgba(20,28,39,.86)}
.autonomy-area-card summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.autonomy-area-card summary::-webkit-details-marker{display:none}
.autonomy-summary-main{display:flex;align-items:center;gap:10px;min-width:0}
.autonomy-summary-main strong,.autonomy-summary-main small{display:block}
.autonomy-summary-main strong{font-size:12px}
.autonomy-summary-main small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}
.autonomy-area-body{border-top:1px solid var(--border);padding:13px;display:flex;flex-direction:column;gap:12px}
.autonomy-master{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid rgba(93,126,255,.24);border-radius:9px;background:rgba(93,126,255,.055)}
.autonomy-master input{margin-top:2px}
.autonomy-master strong,.autonomy-master small{display:block}
.autonomy-master strong{font-size:10px}.autonomy-master small{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}
.autonomy-limits{padding-top:2px}
.autonomy-limits h4{margin:0 0 8px;font-size:10px;color:#dbe5f1}
.autonomy-limits label small{display:block;margin-top:4px;color:var(--muted);font-size:8px}
@media(max-width:680px){.autonomy-area-card summary{align-items:flex-start;flex-direction:column}.autonomy-area-card summary>.status-pill{margin-left:46px}}

/* v0.14.0 — Imóveis & Construção */
.real-estate-screen .table-actions{display:flex;gap:6px;flex-wrap:wrap}.real-estate-screen td small{display:block;color:var(--muted);margin-top:3px}.real-estate-land-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.property-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel-2);display:grid;gap:9px}.property-card h4{margin:5px 0}.property-card p{margin:0;color:var(--muted)}

/* v0.15 — Expansão regional */
.regional-city-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}
.regional-city-card{min-width:220px;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:inherit}
.regional-city-card>span{font-size:26px}.regional-city-card>div{display:flex;flex-direction:column;flex:1;min-width:0}.regional-city-card small{opacity:.72;white-space:normal}.regional-city-card>b{font-size:11px;white-space:nowrap}
.regional-city-card.selected{outline:2px solid var(--accent);outline-offset:1px}.regional-city-card.locked{opacity:.72}.regional-city-card.unlocked b{color:var(--success)}
.regional-locked-state{padding:24px;text-align:center;border:1px dashed var(--border);border-radius:14px;background:var(--panel-soft)}
.regional-city-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.regional-city-meta span{padding:4px 8px;border-radius:999px;background:var(--panel-soft);font-size:12px}
@media(max-width:700px){.regional-city-card{min-width:190px}.regional-city-strip{margin-right:-12px;padding-right:12px}}


/* v0.16.0 — Alta gestão / endgame */
.strategy-screen .strategy-rank-chip{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.strategy-rank-chip span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.strategy-rank-chip strong{font-size:24px}
.strategy-tabs{overflow-x:auto;white-space:nowrap;padding-bottom:4px}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.strategy-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);background:var(--panel);border-radius:14px;min-width:0}.strategy-card h3{margin:0}.strategy-card p{margin:0;color:var(--muted);line-height:1.45}.strategy-card small{display:block;color:var(--muted)}.strategy-card button{margin-top:auto}
.reputation-list{display:grid;gap:12px;margin-top:14px}.reputation-row{display:grid;grid-template-columns:110px 1fr 42px;gap:10px;align-items:center}.reputation-track{height:10px;border-radius:999px;background:var(--surface-2,#202631);overflow:hidden}.reputation-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#34d399)}
.achievement-grid{display:grid;gap:8px;max-height:520px;overflow:auto}.achievement-card{display:grid;grid-template-columns:40px 1fr 28px;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:12px;opacity:.55}.achievement-card.unlocked{opacity:1;background:rgba(52,211,153,.08)}.achievement-card>span{font-size:22px}.achievement-card small{display:block;color:var(--muted);margin-top:2px}
.timeline-list{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:12px;border-bottom:1px solid var(--border)}.timeline-row>span{font-size:22px}.timeline-row small{display:block;color:var(--muted);margin-top:4px}.ranking-player{background:rgba(96,165,250,.09)}
.division-business-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin:10px 0 14px;max-height:220px;overflow:auto}.division-business-list label{padding:7px 9px;border:1px solid var(--border);border-radius:9px}
@media (max-width:720px){.strategy-grid{grid-template-columns:1fr}.reputation-row{grid-template-columns:90px 1fr 36px}.strategy-screen .strategy-rank-chip{align-items:flex-start}}

/* v0.16.1 — hotfix responsivo da Central Logística */
.logistics-screen,
.logistics-screen .section-grid,
.logistics-screen .section-grid > *,
.logistics-screen .panel,
.logistics-screen .table-wrap {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.logistics-screen .table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 680px) {
  .logistics-screen .section-grid { width: 100%; }
  .logistics-screen .panel { overflow: hidden; }
  .logistics-screen .table-wrap { overflow-x: auto; }
}

/* v0.17.0 — Simplificação, UX & Gestão Inteligente */
.ux-essential .advanced-only{display:none!important}
.ux-advanced .essential-only{display:none!important}
.nav-section{padding:10px 12px 5px;color:var(--muted,#8d98a8);font-size:10px;font-weight:800;letter-spacing:.14em}
.ux-mode-btn{min-width:104px}
.ux-essential .top-center .top-stat:nth-child(2),
.ux-essential .top-center .top-stat:nth-child(3),
.ux-essential .top-center .top-stat:nth-child(6){display:none}
.essential-dashboard,.ux-hub{max-width:1500px;margin:0 auto}
.essential-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}
.essential-kpi{background:var(--panel,#171c24);border:1px solid var(--border,#2b3340);border-radius:16px;padding:18px;min-width:0}
.essential-kpi span{display:block;color:var(--muted,#95a0af);font-size:12px;margin-bottom:8px}
.essential-kpi strong{display:block;font-size:clamp(20px,2.1vw,30px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.essential-kpi small{display:block;color:var(--muted,#95a0af);margin-top:8px;line-height:1.35}
.ux-primary-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr)}
.advisor-list{display:grid;gap:9px}
.advisor-item{width:100%;display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;text-align:left;border:1px solid var(--border,#2b3340);background:rgba(255,255,255,.025);border-radius:12px;padding:12px}
.advisor-item>span{font-size:22px}.advisor-item strong,.advisor-item small{display:block}.advisor-item small{margin-top:3px;color:var(--muted,#95a0af);line-height:1.35}.advisor-item.good{border-color:rgba(76,175,80,.28)}.advisor-item.warn{border-color:rgba(255,193,7,.3)}.advisor-item.bad{border-color:rgba(244,67,54,.3)}
.goal-panel h3{font-size:24px;margin:10px 0 6px}.goal-panel p{color:var(--muted,#95a0af)}
.goal-track{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:18px 0 7px}.goal-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6e8cff,#78d6b0)}.goal-meta{display:flex;justify-content:space-between;color:var(--muted,#95a0af);margin-bottom:16px}
.ux-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ux-action-grid>button{min-height:116px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-radius:14px;padding:15px;border:1px solid var(--border,#2b3340);background:rgba(255,255,255,.025)}
.ux-action-grid>button>span{font-size:25px;margin-bottom:8px}.ux-action-grid>button strong{font-size:15px}.ux-action-grid>button small{color:var(--muted,#95a0af);margin-top:5px;line-height:1.3}
.ux-advanced-link{white-space:nowrap}
.decision-compare{margin:14px 0}.compare-grid,.city-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.city-compare-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compare-grid>div,.city-compare-grid>div{border:1px solid var(--border,#2b3340);border-radius:12px;padding:14px;background:rgba(255,255,255,.02)}.compare-grid span,.city-compare-grid span,.compare-grid small,.city-compare-grid small{display:block;color:var(--muted,#95a0af);margin-top:5px;line-height:1.35}.compare-grid strong{display:block;font-size:21px;margin-top:6px}.city-compare-grid strong{display:block;font-size:16px}
@media(max-width:1100px){.essential-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ux-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-compare-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.essential-kpis{grid-template-columns:1fr 1fr}.ux-primary-grid,.section-grid.ux-primary-grid{grid-template-columns:1fr}.ux-action-grid,.compare-grid,.city-compare-grid{grid-template-columns:1fr}.ux-advanced-link{width:100%}.ux-essential .top-center .money-stat{display:none}.ux-mode-btn{min-width:0}.essential-kpi{padding:14px}.essential-kpi strong{font-size:20px}}
.insurance-simple{margin:14px 0}.insurance-bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insurance-bundle-grid>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;border:1px solid var(--border,#2b3340);border-radius:12px;padding:14px;background:rgba(255,255,255,.025)}.insurance-bundle-grid>button>span{font-size:22px}.insurance-bundle-grid small{color:var(--muted,#95a0af);line-height:1.3}.insurance-bundle-grid b{margin-top:5px}@media(max-width:700px){.insurance-bundle-grid{grid-template-columns:1fr}}

/* v0.18.2 — melhorias físicas, sem planta ou animação 2D */
.facility-upgrades-panel{margin-top:14px}
.facility-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.facility-upgrade-card{display:flex;gap:12px;min-width:0;padding:15px;border:1px solid var(--border);border-radius:13px;background:linear-gradient(145deg,var(--panel-2),var(--panel))}
.facility-upgrade-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:12px;background:var(--accent-soft);font-size:25px}
.facility-upgrade-content{flex:1;min-width:0}
.facility-level-line{display:flex;gap:6px;align-items:flex-start;justify-content:space-between}
.facility-level-line strong{font-size:14px}
.facility-level-line span{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:#28354a;color:#a8c2ff;font-size:10px;font-weight:800}
.facility-upgrade-content>small{display:block;margin:7px 0;color:var(--muted);font-size:11px}
.facility-level-track{height:5px;margin:9px 0 12px;overflow:hidden;border-radius:6px;background:#303846}
.facility-level-track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#5f8cff,#54d6c6)}
.facility-upgrade-content button{width:100%;min-height:46px;padding:8px;text-align:left;font-size:11px;line-height:1.35}
.facility-upgrade-content button small{display:block;margin-top:3px;opacity:.85;font-size:10px}
.facility-max-label{display:block;padding:10px 0;color:var(--good);font-size:11px;font-weight:700}
.factory-facility-block{margin:14px 0}
@media(max-width:900px){.facility-upgrade-grid{grid-template-columns:1fr}}

/* v0.18.3 — guia prático integrado */
.practical-guide{max-width:1120px;margin:0 auto}
.guide-start,.guide-basics,.guide-section{margin:14px 0}
.guide-steps{display:grid;gap:13px;padding-left:25px}
.guide-steps li{padding-left:4px}
.guide-steps li strong,.guide-steps li span{display:block}
.guide-steps li span,.guide-basics p,.guide-row p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.guide-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.guide-basics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.guide-basics-grid>div{padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}
.guide-section{padding:16px}
.guide-section summary{cursor:pointer;font-size:17px;font-weight:750}
.guide-section>.muted{margin:8px 0}
.guide-list{margin-top:12px}
.guide-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border)}
.guide-row>div{min-width:0}
.guide-row p{max-width:720px}
.guide-nav-section{padding-top:8px}
@media(max-width:760px){.guide-basics-grid{grid-template-columns:1fr}.guide-row{align-items:flex-start}.guide-row .compact-action{flex:0 0 auto}.guide-steps{padding-left:22px}}

.feedback-launch{position:fixed;right:16px;bottom:max(14px,env(safe-area-inset-bottom));z-index:1100;background:#263e74;border:1px solid #839eff;color:white;min-height:44px}
#feedback-dialog{padding:0;color:#eef3ff;background:#101827;border:1px solid #2e405e;border-radius:16px;width:min(640px,calc(100vw - 24px));max-height:90dvh;overflow:auto;margin:auto;box-shadow:0 20px 80px #0008}
#feedback-dialog::backdrop{background:#0009}.feedback-inner{padding:22px}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.feedback-heading h2{font-size:22px}.feedback-heading h3{font-size:18px}
.feedback-inner p{font-size:14px;color:#b4c2db;line-height:1.5}.feedback-inner form{display:grid;gap:14px;margin:18px 0}.feedback-inner label{display:grid;gap:8px;font-size:14px}.feedback-inner input,.feedback-inner select,.feedback-inner textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:#eef3ff;background:#182338;border:1px solid #3a4e6e;padding:10px;border-radius:8px}.feedback-inner button{min-height:40px}.feedback-entry{padding:14px;border:1px solid #2e405e;border-radius:12px;margin:12px 0;background:#151f30}.feedback-entry h4,.feedback-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-entry h4{font-size:16px}.feedback-entry p{font-size:16px;color:#c6d1e5}.feedback-entry small{font-size:14px;color:#b6c7ec}.feedback-inner button:focus-visible{outline:2px solid #8099ff;outline-offset:3px}
