:root {
  --ink: #172927;
  --muted: #6e7b79;
  --line: #e2e7e4;
  --canvas: #f4f6f2;
  --card: #fff;
  --green-950: #0d2929;
  --green-900: #123333;
  --green-700: #24705e;
  --green-600: #2b826b;
  --green-100: #e2f2eb;
  --gold: #d49c42;
  --gold-100: #fff1d6;
  --red: #bf5454;
  --red-100: #fde7e5;
  --blue: #4c74a3;
  --blue-100: #e7eff8;
  --purple: #7662a7;
  --purple-100: #eee9f8;
  --shadow: 0 10px 30px rgba(18, 51, 51, .06);
  --radius: 15px;
}

* { box-sizing: border-box; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.5; overflow-x: hidden; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, strong, b { letter-spacing: -.02em; }
.muted { color: var(--muted); }
.block { display: block; margin-top: 3px; color: var(--muted); }
.positive { color: var(--green-600) !important; }
.negative { color: var(--red) !important; }
.eyebrow { margin: 0 0 5px; color: var(--green-600); font-size: 10px; line-height: 1.2; font-weight: 800; letter-spacing: .15em; }

.app-body { min-height: 100vh; overflow-x: hidden; width: 100%; }
.sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; width: 256px; display: flex; flex-direction: column; padding: 20px 14px 16px; color: #e3ede9; background: var(--green-950); overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.12) transparent; }
.sidebar::-webkit-scrollbar { width: 4px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 4px; }
.sidebar-header { padding: 4px 8px 16px; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark { width: 36px; height: 36px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--green-950); background: #d6ad67; font: 800 19px Georgia, serif; box-shadow: 0 4px 12px rgba(214,173,103,.25); }
.brand b { display: block; font: 700 20px Georgia, serif; letter-spacing: .01em; color: #fff; }
.brand small { display: block; margin-top: -2px; font-size: 8px; letter-spacing: .24em; opacity: .7; color: #d6ad67; font-weight: 700; }

.main-nav { margin-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.nav-section-title { display: flex; align-items: center; justify-content: space-between; margin: 18px 8px 8px; color: #6f8c85; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nav-section-badge { font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 10px; background: rgba(255,255,255,.08); color: #a4bbb6; }

.nav-links-group { display: flex; flex-direction: column; gap: 2px; }
.nav-item, .sidebar-bottom a { display: flex; align-items: center; gap: 11px; min-height: 38px; padding: 0 11px; border-radius: 8px; color: #9ab3ae; font-size: 13px; font-weight: 600; text-decoration: none; transition: all 0.15s ease; }
.nav-item .nav-icon, .sidebar-bottom a span { width: 18px; color: #698a83; text-align: center; font-size: 15px; transition: color 0.15s ease; }
.nav-item:hover, .sidebar-bottom a:hover { color: #ffffff; background: rgba(255, 255, 255, .06); }
.nav-item:hover .nav-icon, .sidebar-bottom a:hover span { color: #ffffff; }
.nav-item.active, .sidebar-bottom a.active { color: #ffffff; font-weight: 700; background: rgba(255, 255, 255, .09); box-shadow: inset 3px 0 #d6ad67; }
.nav-item.active .nav-icon { color: #d6ad67; }

/* Business Accordion Section */
.businesses-list { display: flex; flex-direction: column; gap: 4px; }
.bu-accordion { margin: 0; border-radius: 9px; transition: all 0.2s ease; }
.bu-accordion-trigger { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; min-height: 40px; padding: 6px 10px !important; border-radius: 8px; color: #b8ccc7; font-weight: 600; cursor: pointer; list-style: none !important; list-style-type: none !important; user-select: none; outline: none; border: 1px solid transparent; transition: all 0.15s ease; }
.bu-accordion-trigger::-webkit-details-marker,
.bu-accordion-trigger::marker { display: none !important; content: "" !important; }
.bu-accordion-trigger:hover { color: #ffffff; background: rgba(255, 255, 255, 0.05); }
.bu-accordion[open] > .bu-accordion-trigger { color: #ffffff; background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.05); }

.bu-avatar-icon { width: 26px; height: 26px; min-width: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; border: 1px solid; font-size: 13px; flex-shrink: 0; }
.bu-meta { flex: 1; display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
.bu-meta-name { font-size: 12.5px; font-weight: 600; color: #d1e0dc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -0.01em; }
.bu-meta-pill { font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 1px 5px; border-radius: 4px; background: rgba(214,173,103,.18); color: #d6ad67; border: 1px solid rgba(214,173,103,.3); flex-shrink: 0; }
.bu-chevron-icon { width: 14px; height: 14px; color: #6a8982; flex-shrink: 0; transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), color 0.15s ease; }
.bu-accordion-trigger:hover .bu-chevron-icon { color: #ffffff; }
.bu-accordion[open] > .bu-accordion-trigger .bu-chevron-icon { transform: rotate(180deg); color: var(--bu-color, #d6ad67); }

/* Sub Navigation Items */
.bu-subnav-panel { position: relative; margin: 3px 0 5px 15px; padding: 3px 0 3px 12px; border-left: 1.5px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; gap: 1px; animation: buSubFade .18s ease-out; }
@keyframes buSubFade { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }

.bu-subnav-link { display: flex; align-items: center; gap: 9px; min-height: 31px; padding: 0 9px; border-radius: 6px; color: #8faea7; font-size: 12px; font-weight: 500; text-decoration: none; transition: all 0.12s ease; }
.bu-subnav-link .sub-dot { width: 4px; height: 4px; border-radius: 50%; background: #577770; transition: all 0.15s ease; flex-shrink: 0; }
.bu-subnav-link:hover { color: #ffffff; background: rgba(255, 255, 255, 0.05); }
.bu-subnav-link:hover .sub-dot { background: #ffffff; transform: scale(1.4); }
.bu-subnav-link.active { color: #ffffff; font-weight: 700; background: rgba(255, 255, 255, 0.08); box-shadow: inset 2.5px 0 var(--bu-color, #d6ad67); }
.bu-subnav-link.active .sub-dot { background: var(--bu-color, #d6ad67); transform: scale(1.4); }

.sidebar-bottom { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 2px; }

.app-shell { min-height: 100vh; margin-left: 256px; max-width: calc(100vw - 256px); width: calc(100% - 256px); min-width: 0; overflow-x: hidden; }
.topbar { height: 89px; display: flex; align-items: center; gap: 20px; padding: 0 32px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); }
.page-heading h1 { margin: 0 0 1px; font: 700 24px Georgia, serif; display: flex; align-items: center; gap: 10px; }
.bu-badge { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; font-size: 12px; }
.page-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 21px; margin-left: auto; }
.quick-add { display: inline-flex; align-items: center; gap: 6px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; font-weight: 700; background: white; }
.quick-add:first-letter { color: var(--green-600); }
.user-menu { display: flex; align-items: center; gap: 10px; padding-left: 19px; border-left: 1px solid var(--line); }
.user-menu > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green-700); font-weight: 800; }
.user-menu b, .user-menu small { display: block; }
.user-menu b { font-size: 12px; }
.user-menu small { color: var(--muted); font-size: 10px; }
.content { max-width: 1560px; margin: 0 auto; padding: 27px 32px 50px; min-width: 0; width: 100%; box-sizing: border-box; }
.menu-button, .sidebar-backdrop { display: none; }

.button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 16px; border: 1px solid transparent; border-radius: 9px; font-weight: 750; white-space: nowrap; }
.button.primary { color: white; border-color: var(--green-700); background: var(--green-700); box-shadow: 0 6px 15px rgba(36,112,94,.17); }
.button.primary:hover { background: var(--green-900); }
.button.secondary, .button.ghost { color: var(--ink); border-color: var(--line); background: white; }
.button.secondary:hover, .button.ghost:hover { border-color: #bdcac5; background: #fafbf9; }
.icon-button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 8px; color: var(--green-700); background: white; }
.text-button { border: 0; color: var(--red); background: transparent; font-size: 12px; font-weight: 700; }

.card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.card-header.padded { padding: 22px 24px 0; }
.card-header h2 { margin: 0; font: 700 18px Georgia, serif; }
.card-header > a { color: var(--green-700); font-size: 12px; font-weight: 800; }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px 18px; margin-bottom: 20px; flex-wrap: wrap; width: 100%; }
.list-toolbar { align-items: center; }
.list-toolbar > div, .export-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.inline-form { display: inline-flex; }
.search-filters, .period-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; max-width: 100%; }
.live-filter-indicator { align-self:center;min-width:72px;color:var(--muted);font-size:8px;font-weight:700;white-space:nowrap;transition:opacity .2s; }.search-filters:not(.is-filtering) .live-filter-indicator { opacity:.72; }.search-filters.is-filtering .search-box { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.08); }.search-filters.is-filtering .live-filter-indicator { color:var(--green-700);opacity:1; }[data-live-results][aria-busy="true"] { opacity:.62;transition:opacity .15s; }
.search-filters label, .period-filter label { color: var(--muted); font-size: 10px; font-weight: 700; }
.search-box { width: 240px; max-width: 100%; height: 41px; display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; color: #87918e; background: white; }
.search-box input { width: 100%; padding: 0; border: 0; outline: 0; background: transparent; }
.search-filters select, .period-filter select, .period-filter input, .search-filters > label:not(.search-box) input { height: 41px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: white; font-size: 12px; }
.search-filters > label:not(.search-box) { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.search-filters > label:not(.search-box) input[type=date] { width: 130px; font-size: 11.5px; }

.rate-pill { min-height: 50px; display: flex; align-items: center; gap: 10px; padding: 7px 8px 7px 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #49a982; box-shadow: 0 0 0 4px #e6f6ef; }
.rate-pill div small, .rate-pill div b { display: block; }
.rate-pill div small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.rate-pill div b { font-size: 13px; }
.rate-pill > span:nth-last-of-type(1) { padding-left: 11px; border-left: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.35; }
.rate-pill .icon-button { border: 0; }
.inline-warning { margin: -8px 0 18px; padding: 9px 13px; border-radius: 8px; color: #835f23; background: var(--gold-100); font-size: 12px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { min-height: 121px; display: flex; align-items: flex-start; gap: 15px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.metric-card > div:last-child { min-width: 0; }
.metric-card span, .metric-card strong, .metric-card small { display: block; }
.metric-card span { margin-bottom: 8px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.metric-card strong { margin-bottom: 5px; font: 700 22px Georgia, serif; }
.metric-card small { color: var(--muted); font-size: 10px; }
.metric-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 10px; font-size: 18px; }
.metric-icon.green { color: var(--green-700); background: var(--green-100); }
.metric-icon.gold { color: #9a6b20; background: var(--gold-100); }
.metric-icon.blue { color: var(--blue); background: var(--blue-100); }
.metric-icon.purple { color: var(--purple); background: var(--purple-100); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(285px, 1fr); gap: 18px; margin-bottom: 18px; }
.dashboard-grid .card { padding: 22px 24px; }
.span-2 { grid-column: span 2; }
.span-full { grid-column: 1 / -1; }
.chart-legend { display: flex; gap: 15px; color: var(--muted); font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 5px; }
.chart-legend i { width: 8px; height: 8px; display: inline-block; border-radius: 2px; }
.chart-legend .revenue, .bars .revenue { background: var(--green-600); }
.chart-legend .cost, .bars .cost { background: #dfbd7e; }
.bar-chart { height: 206px; display: flex; align-items: stretch; gap: 10px; padding: 12px 6px 0; border-bottom: 1px solid var(--line); background-image: linear-gradient(to bottom, var(--line) 1px, transparent 1px); background-size: 100% 25%; }
.chart-column { min-width: 0; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.bars { width: min(42px, 78%); height: calc(100% - 24px); display: flex; align-items: flex-end; justify-content: center; gap: 3px; }
.bars i { width: 42%; min-height: 2px; border-radius: 4px 4px 0 0; transition: height .5s ease; }
.chart-column > span { height: 24px; padding-top: 7px; color: var(--muted); font-size: 9px; }
.health-score { display: flex; align-items: center; gap: 16px; padding: 1px 0 18px; border-bottom: 1px solid var(--line); }
.score-ring { --score: 0; width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green-600) calc(var(--score) * 1%), #e7ebe8 0); position: relative; }
.score-ring::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: white; }
.score-ring span { z-index: 1; font: 700 22px Georgia, serif; }
.health-score div:last-child b, .health-score div:last-child small { display: block; }
.health-score div:last-child b { font: 700 17px Georgia, serif; }
.health-score div:last-child small { color: var(--muted); font-size: 10px; }
.summary-list { margin: 12px 0 0; }
.summary-list div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; }
.summary-list dt { color: var(--muted); }
.summary-list dd { margin: 0; font-weight: 700; }
.summary-list .total { margin-top: 5px; padding-top: 12px; border-top: 1px solid var(--line); }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 10px 12px; color: #75827f; background: #f8faf8; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
th.sortable-column { padding:0; }
.table-sort-link { width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 12px;color:inherit;background:transparent;transition:color .16s ease,background .16s ease; }
.table-sort-link:hover { color:var(--green-700);background:#f0f6f3; }
.table-sort-link:focus-visible { position:relative;z-index:1;outline:2px solid var(--green-600);outline-offset:-3px; }
.table-sort-indicator { width:17px;height:17px;display:grid;flex:0 0 auto;place-items:center;border-radius:5px;color:#9aa6a2;background:#edf2ef;font-size:10px;line-height:1;letter-spacing:0; }
.sortable-column.is-sorted .table-sort-link { color:var(--green-700);background:#f2f8f5; }
.sortable-column.is-sorted .table-sort-indicator { color:white;background:var(--green-700);box-shadow:0 2px 5px rgba(25,91,75,.2); }
.actions-column { width:44px; }
td { padding: 13px 12px; border-top: 1px solid #edf0ee; color: #4b5956; font-size: 12px; vertical-align: middle; }
td b { color: var(--ink); }
.table-card { overflow: hidden; }
.table-meta { display:flex;align-items:center;justify-content:space-between;gap:15px;padding: 15px 21px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.table-meta b { color: var(--ink); }
.table-meta small { font-size:9px; }
.table-range-summary small { display:block;margin-top:3px;color:#88928f; }.table-meta-actions { display:flex;align-items:center;gap:18px; }.page-size-form label { display:flex;align-items:center;gap:8px;color:#6f7d79;font-size:9px;font-weight:800;white-space:nowrap; }.page-size-form select { width:70px;height:32px;padding:0 25px 0 9px;border:1px solid #dce4e0;border-radius:8px;outline:0;color:var(--ink);background-color:white;font-size:10px;font-weight:750; }.page-size-form select:focus { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.08); }
.check-column { width:38px;text-align:center; }.check-column input { width:15px;height:15px;accent-color:var(--green-700); }
.bulk-date { display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:white;font-size:9px;font-weight:800; }.bulk-date input { width:116px;height:38px;border:0;outline:0;color:var(--ink);background:transparent;font-size:10px; }.receive-button { color:white;border-color:var(--green-700);background:var(--green-700); }.receive-button:disabled { cursor:not-allowed;opacity:.45; }
.entity { display: flex; align-items: center; gap: 10px; min-width: 165px; }
.entity > span:last-child b, .entity > span:last-child small { display: block; }
.entity small { max-width: 260px; color: var(--muted); }
.country-cell { display:inline-flex;align-items:center;gap:8px;white-space:nowrap; }.entity-country { display:flex!important;align-items:center;gap:5px; }.flag-icon { position:relative;width:26px;height:17px;display:inline-block;flex:0 0 auto;overflow:hidden;border:1px solid rgba(23,41,39,.16);border-radius:3px;vertical-align:middle;box-shadow:0 1px 2px rgba(13,41,41,.12); }.flag-br { background:#159447; }.flag-br::before { content:'';position:absolute;left:7px;top:3px;width:10px;height:10px;background:#ffdf3e;transform:rotate(45deg); }.flag-br::after { content:'';position:absolute;left:8px;top:4px;width:8px;height:8px;border-radius:50%;background:#2455a4;box-shadow:inset 0 1px 0 rgba(255,255,255,.65); }.flag-us { background:repeating-linear-gradient(to bottom,#b22234 0,#b22234 1.31px,#fff 1.31px,#fff 2.62px); }.flag-us::before { content:'';position:absolute;z-index:1;left:0;top:0;width:11px;height:9px;background:#3c3b6e; }.flag-us::after { content:'';position:absolute;z-index:2;left:1px;top:1px;width:9px;height:7px;background:radial-gradient(circle,#fff 0 .45px,transparent .55px);background-size:3px 2px; }
.avatar-sm { width: 30px; height: 30px; display: inline-grid; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--green-700); background: var(--green-100); font-size: 11px; font-weight: 800; }
.badge { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 3px 8px; border-radius: 20px; font-size: 9px; font-weight: 800; }
.badge.success { color: #28715c; background: var(--green-100); }
.badge.warning { color: #946822; background: var(--gold-100); }
.badge.danger { color: #a94444; background: var(--red-100); }
.badge.info { color: var(--purple); background: var(--purple-100); }
.badge.muted { color: #697572; background: #edf0ee; }
.service-badge-list { display:flex;flex-wrap:wrap;gap:4px;margin-top:6px; }
.service-badge { --service-color:#24705e;--service-bg:#e2f2eb;--service-border:#c6e5d8;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:27px;padding:4px 9px 4px 6px;border:1px solid var(--service-border);border-radius:9px;color:var(--service-color);background:linear-gradient(145deg,#fff,var(--service-bg));box-shadow:0 3px 9px rgba(18,51,51,.06);white-space:nowrap; }
.service-badge svg { width:16px;height:16px;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(18,51,51,.12)); }.service-badge b { min-width:0;overflow:hidden;color:inherit!important;font-size:9px;font-weight:850;line-height:1;text-overflow:ellipsis; }
.service-badge.compact { min-height:22px;padding:3px 7px 3px 5px;border-radius:7px;box-shadow:none; }.service-badge.compact svg { width:13px;height:13px; }.service-badge.compact b { font-size:7px; }
.service-badge.tone-emerald,.service-badge-icon.tone-emerald { --service-color:#176650;--service-bg:#e3f5ed;--service-border:#bfe2d3; }
.service-badge.tone-gold,.service-badge-icon.tone-gold { --service-color:#8c5e16;--service-bg:#fff1d2;--service-border:#efd59f; }
.service-badge.tone-sapphire,.service-badge-icon.tone-sapphire { --service-color:#365f94;--service-bg:#e8f1fc;--service-border:#c6d9ef; }
.service-badge.tone-amethyst,.service-badge-icon.tone-amethyst { --service-color:#674f9d;--service-bg:#f0ebfb;--service-border:#d8cdef; }
.service-badge.tone-ruby,.service-badge-icon.tone-ruby { --service-color:#a13f50;--service-bg:#fdebed;--service-border:#efc8ce; }
.service-badge.tone-graphite,.service-badge-icon.tone-graphite { --service-color:#4f5e5a;--service-bg:#edf1ef;--service-border:#d3dcD8; }
.row-action { display: inline-grid; width: 30px; height: 28px; place-items: center; border-radius: 7px; color: var(--muted); font-weight: 800; }
.row-action:hover { background: #edf2ef; }
.empty-cell { height: 150px; color: var(--muted); text-align: center; }
.pagination { display: flex; gap: 5px; justify-content: flex-end; padding: 14px 18px; border-top: 1px solid var(--line); }
.pagination a { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; background: white; font-size: 11px; }
.pagination a.active { color: white; border-color: var(--green-700); background: var(--green-700); }

.lower-grid .card { min-width:0;max-width:100%;min-height:275px; }
.upcoming-list a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 10px 0; border-top: 1px solid #edf0ee; }
.upcoming-list a:first-of-type { border: 0; }
.upcoming-list a > span:nth-child(2) b, .upcoming-list a > span:nth-child(2) small { display: block; }
.upcoming-list a > span:nth-child(2) small { color: var(--muted); font-size: 10px; }
.upcoming-list a > strong { font-size: 11px; }
.date-box { width: 38px; padding: 5px 0; border: 1px solid var(--line); border-radius: 8px; text-align: center; }
.date-box b, .date-box small { display: block; }
.date-box b { font: 700 15px Georgia, serif; }
.date-box small { color: var(--red); font-size: 7px; font-weight: 800; }
.empty-mini { padding: 24px 0; color: var(--muted); font-size: 12px; text-align: center; }

.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.product-card { padding: 21px; }
.product-card.disabled { opacity: .65; }
.product-top { display: flex; align-items: center; justify-content: space-between; }
.product-icon, .expense-icon, .flow-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; color: var(--green-700); background: var(--green-100); font-size: 18px; }
.product-card h2 { margin: 17px 0 6px; font: 700 18px Georgia, serif; }
.product-card > p { height: 39px; margin-bottom: 18px; overflow: hidden; color: var(--muted); font-size: 11px; }
.product-pricing-mode { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-7px 0 10px; }.product-pricing-mode b { color:var(--green-700);font-size:9px; }.product-pricing-mode span { color:var(--muted);font-size:8px;text-align:right; }
.local-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--line); }
.local-prices div { padding: 12px; background: #f9faf8; }
.local-prices small, .local-prices strong { display: block; }
.local-prices small { margin-bottom: 3px; color: var(--muted); font-size: 8px; font-weight: 800; }
.local-prices strong { font: 700 16px Georgia, serif; }
.product-card footer { display: flex; justify-content: space-between; margin-top: 16px; color: var(--muted); font-size: 10px; }
.product-card footer a { color: var(--green-700); font-weight: 800; }
.empty-state { min-height: 370px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; text-align: center; }
.empty-state > span { color: var(--green-600); font: 700 40px Georgia, serif; }
.empty-state h2 { margin: 11px 0 5px; font: 700 21px Georgia, serif; }
.empty-state p { color: var(--muted); }

.mini-stats { display: flex; gap: 11px; margin-bottom: 19px; flex-wrap: wrap; }
.mini-stats > div { min-width: 125px; display: flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.mini-stats b { font: 700 17px Georgia, serif; }
.mini-stats small { color: var(--muted); font-size: 10px; }
.subscription-unit-overview { margin-bottom:19px; }.subscription-unit-overview>header { margin-bottom:11px; }.subscription-unit-overview>header h2 { margin:1px 0 3px;font:700 19px Georgia,serif; }.subscription-unit-overview>header>div>p:last-child { margin:0;color:var(--muted);font-size:9px; }.subscription-unit-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px; }.subscription-unit-card { min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:105px;padding:15px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 5px 16px rgba(18,51,51,.035); }.subscription-unit-card.inactive { opacity:.62; }.subscription-unit-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--green-700);background:var(--green-100);font:800 15px Georgia,serif; }.subscription-unit-card div { min-width:0; }.subscription-unit-card small,.subscription-unit-card strong,.subscription-unit-card b,.subscription-unit-card p { display:block; }.subscription-unit-card small { color:#81908c;font-size:7px;font-weight:850;letter-spacing:.1em; }.subscription-unit-card strong { margin:1px 0;color:var(--ink);font:700 25px Georgia,serif;line-height:1; }.subscription-unit-card b { overflow:hidden;color:#31403d;font-size:10px;line-height:1.3;text-overflow:ellipsis; }.subscription-unit-card p { margin:3px 0 0;color:var(--muted);font-size:8px; }.subscription-unit-card.total { border-color:#194a42;color:white;background:radial-gradient(circle at 90% 15%,rgba(209,161,80,.18),transparent 35%),linear-gradient(135deg,#123c36,#1f6356);box-shadow:0 8px 22px rgba(18,60,54,.16); }.subscription-unit-card.total .subscription-unit-icon { color:#f4d99c;background:rgba(255,255,255,.1); }.subscription-unit-card.total small,.subscription-unit-card.total p { color:#a9cbc2; }.subscription-unit-card.total strong,.subscription-unit-card.total b { color:white; }
.subscription-radar { margin-bottom:19px;padding:19px 20px;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f9fcfa 62%,#eef7f2 100%); }.subscription-radar>header { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px; }.subscription-radar h2 { margin:0;font:700 19px Georgia,serif; }.subscription-radar header p:last-child { margin:3px 0 0;color:var(--muted);font-size:9px; }.radar-notification { display:flex;align-items:center;gap:7px;min-height:37px;padding:0 12px;border:1px solid #efd6a7;border-radius:9px;color:#79551c;background:var(--gold-100);font-size:9px;font-weight:800; }.radar-notification span { width:21px;height:21px;display:grid;place-items:center;border-radius:6px;color:white;background:var(--gold); }.radar-notification b { font-size:13px; }.radar-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px; }.radar-item { position:relative;display:grid;grid-template-columns:35px 1fr;align-items:center;gap:9px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:white;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }.radar-item:hover,.radar-item.active { transform:translateY(-2px);box-shadow:0 9px 20px rgba(18,51,51,.09); }.radar-item.active::after { content:'✓';position:absolute;right:7px;top:6px;font-size:9px;font-weight:900; }.radar-item>span { width:34px;height:34px;display:grid;place-items:center;border-radius:9px;font-weight:900; }.radar-item small,.radar-item b,.radar-item p { display:block; }.radar-item small { color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.08em; }.radar-item b { margin:-1px 0;font:700 19px Georgia,serif; }.radar-item p { margin:0;color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.radar-item.overdue>span { color:var(--red);background:var(--red-100); }.radar-item.overdue.active { border-color:#e9b5b2; }.radar-item.today>span { color:#9b702a;background:var(--gold-100); }.radar-item.today.active { border-color:#e7c987; }.radar-item.tomorrow>span { color:#a36915;background:#fff0cf; }.radar-item.tomorrow.active { border-color:#dfb75d; }.radar-item.two-days>span { color:var(--blue);background:var(--blue-100); }.radar-item.two-days.active { border-color:#b8cce2; }.radar-item.week>span { color:var(--green-700);background:var(--green-100); }.radar-item.week.active { border-color:#a9d2c1; }
.urgency-legend { display:flex;align-items:center;gap:7px; }.urgency-legend span { display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:8px;font-weight:800; }.urgency-legend span::before { content:'';width:7px;height:7px;border-radius:2px; }.urgency-legend .tomorrow::before { background:#e2a13a; }.urgency-legend .two-days::before { background:var(--blue); }.urgency-legend .overdue::before { background:var(--red); }.subscription-row td { transition:background .18s ease; }.subscription-row.urgency-overdue td { background:#fff9f8; }.subscription-row.urgency-today td { background:#fffdf7; }.subscription-row.urgency-tomorrow td { background:#fffaf0; }.subscription-row.urgency-two-days td { background:#f8fbff; }.subscription-row.urgency-week td { background:#fbfdfc; }.subscription-row.urgency-overdue td:first-child { box-shadow:inset 4px 0 var(--red); }.subscription-row.urgency-today td:first-child { box-shadow:inset 4px 0 var(--gold); }.subscription-row.urgency-tomorrow td:first-child { box-shadow:inset 4px 0 #e2a13a; }.subscription-row.urgency-two-days td:first-child { box-shadow:inset 4px 0 var(--blue); }.due-date-cell { display:flex;align-items:center;gap:8px;min-width:135px; }.due-date-cell>span { width:28px;height:28px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--muted);background:#f0f3f1;font-size:10px;font-weight:900; }.due-date-cell b,.due-date-cell small { display:block; }.due-date-cell b { color:var(--ink); }.due-date-cell small { margin-top:1px;color:var(--muted);font-size:8px;font-weight:700; }.due-date-cell.overdue>span { color:var(--red);background:var(--red-100); }.due-date-cell.overdue small { color:var(--red); }.due-date-cell.today>span,.due-date-cell.tomorrow>span { color:#98661c;background:var(--gold-100); }.due-date-cell.tomorrow small,.due-date-cell.today small { color:#8d5e18; }.due-date-cell.two-days>span { color:var(--blue);background:var(--blue-100); }.due-date-cell.two-days small { color:var(--blue); }.due-date-cell.week>span { color:var(--green-700);background:var(--green-100); }
.due-alert-open { overflow:hidden; }.due-alert-overlay { position:fixed;z-index:380;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,24,23,.62);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease; }.due-alert-overlay.open { opacity:1;visibility:visible; }.due-alert-popup { position:relative;width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));padding:25px;border:1px solid rgba(255,255,255,.45);border-radius:17px;background:white;box-shadow:0 28px 80px rgba(8,24,23,.34);overflow-y:auto;transform:translateY(14px) scale(.98);transition:transform .2s ease; }.due-alert-overlay.open .due-alert-popup { transform:translateY(0) scale(1); }.due-alert-close { position:absolute;right:13px;top:11px;width:31px;height:31px;border:0;border-radius:8px;color:var(--muted);background:#f1f4f2;font-size:20px; }.due-alert-popup>header { display:grid;grid-template-columns:49px 1fr;gap:14px;padding:2px 32px 20px 0;border-bottom:1px solid var(--line); }.due-alert-symbol { width:47px;height:47px;display:grid;place-items:center;border-radius:13px;color:#8d5e18;background:var(--gold-100);font-size:21px;font-weight:900; }.due-alert-popup h2 { margin:0 0 4px;font:700 21px Georgia,serif; }.due-alert-popup header p:last-child { margin:0;color:var(--muted);font-size:10px; }.due-alert-list { display:grid;margin:10px 0; }.due-alert-list a { display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #edf0ee; }.due-alert-list a:last-child { border-bottom:0; }.due-alert-list b,.due-alert-list small { display:block; }.due-alert-list b { font-size:11px; }.due-alert-list small { color:var(--muted);font-size:8px; }.due-alert-list strong { font-size:11px; }.due-alert-more { margin:5px 0 0;color:var(--muted);font-size:9px;text-align:center; }.due-alert-popup>footer { display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:17px;border-top:1px solid var(--line); }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot.green { background: var(--green-600); }.dot.gold { background: var(--gold); }.dot.red { background: var(--red); }.dot.purple { background: var(--purple); }
.money-stats > div { min-width: 170px; flex: 1 1 170px; max-width: 280px; }
.money-stats > div > span:last-child small, .money-stats > div > span:last-child b { display: block; }
.money-stats > div > span:last-child b { font-size: 16px; }
.expense-icon.red, .flow-icon.out { color: var(--red); background: var(--red-100); }
.expense-icon.purple { color: var(--purple); background: var(--purple-100); }
.flow-icon.in { color: var(--green-600); background: var(--green-100); }
.lock-icon { color: #aab3b0; }

.cash-hero { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.cash-hero article { padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.cash-hero span, .cash-hero strong, .cash-hero small { display: block; }
.cash-hero span { margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.cash-hero strong { margin-bottom: 4px; font: 700 23px Georgia, serif; }
.cash-hero small { color: var(--muted); font-size: 9px; }

.report-summary { display: flex; align-items: center; justify-content: center; gap: 35px; margin-bottom: 18px; padding: 22px; }
.report-summary > div { min-width: 170px; }
.report-summary span, .report-summary strong, .report-summary small { display: block; }
.report-summary span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.report-summary strong { margin: 4px 0 2px; font: 700 22px Georgia, serif; }
.report-summary small { color: var(--muted); font-size: 9px; }
.report-summary > i { color: #a7b1ae; font: normal 25px Georgia, serif; }
.report-summary .highlight { padding: 12px 20px; border-radius: 10px; background: #f3f8f5; }
.reports-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.currency-report > div { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.currency-report > div:first-child { border-top: 0; }
.currency-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; font-size: 10px; font-weight: 900; }
.currency-mark.brl { color: var(--green-700); background: var(--green-100); }.currency-mark.usd { color: var(--blue); background: var(--blue-100); }
.currency-report b, .currency-report small { display: block; }.currency-report small { color: var(--muted); font-size: 9px; }
.currency-report strong { font-size: 12px; }
.rate-foot { margin-top: 12px; padding: 9px; border-radius: 7px; color: var(--muted); background: #f7f9f7; font-size: 9px; text-align: center; }
.rank-bars > div { display: grid; grid-template-columns: 1fr auto; gap: 4px 15px; margin: 14px 0; }
.rank-bars span b, .rank-bars span small { display: block; }.rank-bars span small { color: var(--muted); font-size: 9px; }
.rank-bars strong { font-size: 11px; }
.rank-bars i { grid-column: 1 / -1; width: var(--width); height: 5px; border-radius: 5px; background: var(--green-600); }
.rank-bars.costs i { background: #dfbd7e; }
.country-report { padding: 22px 24px; }
.country-report > div:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.country-report article { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; }
.country-report article .flag-icon { margin-left:3px; }.country-report article b, .country-report article small { display:block; }.country-report article small { color: var(--muted); font-size: 9px; }.country-report article strong { font: 700 16px Georgia,serif; }

.settings-layout { display: grid; grid-template-columns: 170px minmax(0,850px); gap: 24px; align-items: start; }
.settings-nav { position: sticky; top: 20px; display: flex; flex-direction: column; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.settings-nav a { padding: 9px 11px; border-radius: 7px; color: var(--muted); font-size: 11px; font-weight: 700; }.settings-nav a:hover { color: var(--green-700); background: var(--green-100); }
.settings-content { display: grid; gap: 18px; }
.settings-card { padding: 24px; scroll-margin-top: 20px; }
.settings-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 21px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.settings-heading h2 { margin: 0 0 3px; font: 700 19px Georgia,serif; }.settings-heading p:last-child { margin:0;color:var(--muted);font-size:10px; }
.settings-icon { width: 37px;height:37px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;color:var(--green-700);background:var(--green-100);font-weight:800; }
.current-rate { margin-left:auto;padding-left:20px;border-left:1px solid var(--line); }.current-rate small,.current-rate b,.current-rate span { display:block; }.current-rate small { color:var(--muted);font-size:8px;font-weight:800; }.current-rate b { font:700 16px Georgia,serif; }.current-rate span { color:var(--muted);font-size:8px; }
.provider-note { display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:11px 13px;border:1px solid #d7e8e0;border-radius:9px;background:#f3f8f5; }.provider-note b { color:var(--green-700); }.provider-note span { color:var(--muted);font-size:10px; }.rate-refresh { margin-top:12px;width:max-content; }.rate-history { margin-top:20px;padding-top:16px;border-top:1px solid var(--line); }.rate-history summary { color:var(--green-700);font-size:11px;font-weight:800;cursor:pointer; }.rate-history .table-wrap { margin-top:10px; }
.user-list > div { display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line); }.user-list > div:first-child{border:0}.user-list > div > span:nth-child(2){flex:1}.user-list b,.user-list small{display:block}.user-list small{color:var(--muted);font-size:9px}.add-user{margin-top:16px}.add-user summary{width:max-content;list-style:none}.add-user form{margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}
.audit-list > div { display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line); }.audit-list > div:first-child{border:0}.audit-list > div > span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--green-700);background:var(--green-100);font-size:9px;font-weight:800}.audit-list p{margin:0;font-size:11px}.audit-list small{display:block;color:var(--muted);font-size:9px}

.modal { position: fixed; z-index: 100; inset: 0; display: none; align-items: stretch; justify-content: flex-end; }
.modal.open { display: flex; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(8,24,23,.54); backdrop-filter: blur(2px); }
.modal-panel { position: relative; width: min(540px, 100%); height: 100%; padding: 25px 28px 35px; overflow-y: auto; background: white; box-shadow: -20px 0 50px rgba(8,24,23,.15); animation: slide-in .2s ease; }
.modal-panel.wide { width: min(650px, 100%); }
.modal-panel.renewal-panel { width: min(1050px, 100%); padding-bottom: 0; }
.modal.renewal-receipt-modal { align-items: center; justify-content: center; padding: 20px; }
.modal-panel.renewal-receipt-panel { width: min(560px, 100%); max-height: 90vh; height: auto; border-radius: 18px; box-shadow: 0 25px 70px rgba(8,24,23,.28); animation: receipt-pop .22s cubic-bezier(0.16, 1, 0.3, 1); padding: 28px; display: flex; flex-direction: column; }
@keyframes receipt-pop { from { transform: scale(0.96) translateY(12px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
.receipt-badge-icon { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--green-600); color: white; font-size: 11px; font-weight: 800; margin-right: 4px; }
.renewal-receipt-body { overflow-y: auto; display: flex; flex-direction: column; gap: 16px; margin-bottom: 8px; }
.receipt-card { background: #fbfdfc; border: 1px solid #dce8e2; border-radius: 14px; padding: 18px; box-shadow: 0 2px 8px rgba(8,24,23,.03); }
.receipt-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.receipt-client-info { display: flex; align-items: center; gap: 10px; }
.receipt-client-info b { display: block; font-size: 14px; color: var(--ink); }
.receipt-client-info small { display: block; color: var(--muted); font-size: 11px; }
.receipt-status-pill { font-size: 11px; font-weight: 700; color: var(--green-700); background: var(--green-100); padding: 4px 10px; border-radius: 20px; }
.whatsapp-bubble-wrap { background: #f4faf6; border: 1px solid #cfe5db; border-radius: 12px; padding: 14px; margin-bottom: 14px; }
.whatsapp-bubble-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid rgba(43,130,107,.12); }
.whatsapp-bubble-tag { font-size: 11px; font-weight: 750; color: var(--green-700); text-transform: uppercase; letter-spacing: .5px; }
.whatsapp-bubble-header small { font-size: 11px; color: var(--muted); }
.whatsapp-bubble-content { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 12.5px; line-height: 1.6; color: #1a2f27; white-space: pre-wrap; background: white; padding: 14px; border-radius: 10px; border: 1px solid #d9e6e0; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.receipt-actions { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 12px 16px; background: #f8faf9; border: 1px solid #dce8e2; border-radius: 12px; flex-wrap: wrap; }
.copy-receipt-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 42px !important; padding: 10px 18px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; color: #ffffff !important; background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important; border: 1px solid #059669 !important; box-shadow: 0 2px 6px rgba(16, 185, 129, 0.28) !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; }
.copy-receipt-btn:hover { background: linear-gradient(135deg, #059669 0%, #047857 100%) !important; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4) !important; transform: translateY(-1px); }
.copy-receipt-btn:active { transform: translateY(0); }
.copy-receipt-btn.copied { background: linear-gradient(135deg, #047857 0%, #065f46 100%) !important; border-color: #047857 !important; box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.35) !important; color: #ffffff !important; }
.copy-receipt-btn .btn-copy-icon { display: inline-flex; align-items: center; justify-content: center; }
.whatsapp-direct-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 42px !important; padding: 10px 18px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; cursor: pointer !important; color: #ffffff !important; background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important; border: 1px solid #1ebd59 !important; box-shadow: 0 2px 8px rgba(37, 211, 102, 0.3) !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; }
.whatsapp-direct-btn:hover { background: linear-gradient(135deg, #20ba5a 0%, #0e7064 100%) !important; box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45) !important; transform: translateY(-1px); color: #ffffff !important; }
.whatsapp-direct-btn:active { transform: translateY(0); }
.whatsapp-direct-btn .btn-wa-icon { display: inline-flex; align-items: center; justify-content: center; }
.receipt-modal-footer { display: flex; justify-content: flex-end; align-items: center; padding-top: 18px; margin-top: 20px; border-top: 1px solid var(--line); }
.receipt-modal-footer .button { min-height: 40px; padding: 0 24px; border-radius: 8px; font-size: 13px; font-weight: 700; color: #334155; background: #f1f5f9; border: 1px solid #cbd5e1; transition: all 0.18s ease; }
.receipt-modal-footer .button:hover { background: #e2e8f0; color: #0f172a; border-color: #94a3b8; }
.modal-panel > header { display: flex; justify-content: space-between; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.modal-panel > header h2 { margin: 0; font: 700 22px Georgia,serif; }
.modal-panel > header p:last-child { max-width:720px;margin:5px 0 0;color:var(--muted);font-size:10px; }
.modal-close { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: var(--muted); background: #f2f4f2; font-size: 22px; }
@keyframes slide-in { from { transform: translateX(30px); opacity: .5; } }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.form-grid label { display: flex; flex-direction: column; gap: 6px; color: #4f5d5a; font-size: 10px; font-weight: 750; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #dce3df; border-radius: 8px; outline: none; color: var(--ink); background: white; font-size: 12px; font-weight: 450; }
.form-grid textarea { resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(43,130,107,.09); }
.form-grid label small { color: var(--muted); font-size: 8px; font-weight: 500; }
.form-grid footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--line); }
.check-label { flex-direction: row !important; align-items: center; }
.check-label input { width: 17px; min-height: 17px; }
.check-inline { padding-top: 25px; }
.field-disabled { opacity: .55; }
.conversion-preview { padding: 13px 15px; border: 1px solid #cfe5dc; border-radius: 10px; background: #f1f8f5; }
.conversion-preview span, .conversion-preview strong, .conversion-preview small { display: block; }
.conversion-preview span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.conversion-preview strong { margin: 3px 0; color: var(--green-700); font: 700 21px Georgia,serif; }
.conversion-preview small { color: var(--muted); font-size: 8px; }
.pricing-quote { min-height:57px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid #cfe5dc;border-radius:9px;background:#f1f8f5; }.pricing-quote div small,.pricing-quote div b { display:block; }.pricing-quote div small { color:var(--muted);font-size:8px;font-weight:800; }.pricing-quote div b { color:var(--green-700);font-size:12px; }.pricing-quote em { margin-left:auto;color:var(--muted);font-size:8px;font-style:normal;text-align:right; }.form-grid label.calculated-price { opacity:.72; }.form-grid label.calculated-price input { cursor:not-allowed;background:#f2f5f3; }
.danger-zone { margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--red-100); }
.danger-zone button { padding: 0; border: 0; color: var(--red); background: transparent; font-size: 11px; font-weight: 800; }
.row-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap; }.row-actions>a:first-child { color:var(--green-700);font-size:10px;font-weight:800; }.row-actions .row-badge-action { display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #d7e6df;border-radius:7px;color:var(--green-700);background:#f3f9f6;font-size:8px;font-weight:850;transition:.17s ease; }.row-actions .row-badge-action:hover { border-color:#afd2c3;background:var(--green-100); }.row-badge-action svg { width:11px;height:11px; }
.subscription-renew-link { border-radius:8px;color:inherit;text-decoration:none;transition:background .18s ease,box-shadow .18s ease; }.subscription-renew-link:hover b { color:var(--green-700);text-decoration:underline; }.subscription-renew-link:focus-visible { outline:2px solid var(--green-600);outline-offset:4px; }
.individual-renewal-panel { width:min(1000px,100%); }
.renewal-toolbar { position:sticky;z-index:2;top:-25px;display:flex;align-items:center;justify-content:space-between;margin:-8px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8faf8;box-shadow:0 5px 12px rgba(18,51,51,.04); }.renewal-toolbar label { display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800; }.renewal-toolbar input { width:17px;height:17px;accent-color:var(--green-700); }.renewal-toolbar span { color:var(--muted);font-size:10px; }.renewal-toolbar span b { color:var(--ink); }
.renewal-list { display:grid;gap:14px;padding-bottom:115px; }.renewal-card { border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 6px 18px rgba(18,51,51,.04);overflow:hidden; }.renewal-card-head { display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:14px 16px;background:#f9fbf9;border-bottom:1px solid var(--line); }.renewal-selector input { position:absolute;opacity:0; }.renewal-selector span { width:18px;height:18px;display:grid;place-items:center;border:1px solid #bdc9c5;border-radius:5px;background:white; }.renewal-selector input:checked+span { border-color:var(--green-700);background:var(--green-700); }.renewal-selector input:checked+span::after { content:'✓';color:white;font-size:12px;font-weight:900; }.renewal-due { min-width:125px;text-align:right; }.renewal-due small,.renewal-due b,.renewal-due span { display:block; }.renewal-due small { color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase; }.renewal-due b { font-size:13px; }.renewal-due span { margin-top:2px;color:var(--muted);font-size:8px;font-weight:700; }.renewal-due span.on-time { color:var(--green-700); }.renewal-due span.late { color:var(--red); }.renewal-due span.early { color:var(--blue); }
.renewal-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px; }.renewal-grid label { min-width:0;display:flex;flex-direction:column;gap:5px;color:#4f5d5a;font-size:9px;font-weight:800; }.renewal-grid input,.renewal-grid select,.renewal-grid textarea { width:100%;min-height:39px;padding:8px 9px;border:1px solid #dce3df;border-radius:7px;outline:0;color:var(--ink);background:white;font-size:11px;font-weight:450; }.renewal-grid input:focus,.renewal-grid select:focus,.renewal-grid textarea:focus { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.09); }.renewal-grid label small { color:var(--muted);font-size:8px;font-weight:500; }.renewal-grid .span-2 { grid-column:span 2; }
.renewal-period-config,.renewal-financial-breakdown { grid-column:1/-1;padding:14px;border:1px solid #dce7e2;border-radius:11px;background:#f8fbf9; }.renewal-period-config>header,.renewal-financial-breakdown>header { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px; }.renewal-period-config>header b,.renewal-period-config>header small,.renewal-financial-breakdown>header b,.renewal-financial-breakdown>header small { display:block; }.renewal-period-config>header b,.renewal-financial-breakdown>header b { font-size:11px; }.renewal-period-config>header small,.renewal-financial-breakdown>header small { margin-top:2px;color:var(--muted);font-size:8px; }.renewal-period-config>header>span { padding:5px 9px;border-radius:20px;color:var(--green-700);background:var(--green-100);font-size:9px;font-weight:850;white-space:nowrap; }.renewal-mode-switch { display:flex;gap:7px;margin-bottom:12px; }.renewal-mode-switch label { position:relative;cursor:pointer; }.renewal-mode-switch input { position:absolute;width:1px;min-height:1px;opacity:0; }.renewal-mode-switch span { display:block;padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:white;font-size:9px;font-weight:800; }.renewal-mode-switch input:checked+span { border-color:#9bcbb8;color:var(--green-700);background:var(--green-100);box-shadow:0 0 0 2px rgba(43,130,107,.07); }.renewal-period-fields { display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;align-items:stretch; }.renewal-period-fields label.inactive { opacity:.48; }.renewal-period-result { display:flex;flex-direction:column;justify-content:center;padding:9px 11px;border:1px solid #d8e5df;border-radius:8px;background:white; }.renewal-period-result small,.renewal-period-result b,.renewal-period-result span { display:block; }.renewal-period-result small { color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase; }.renewal-period-result b { margin:2px 0;color:var(--ink);font-size:10px; }.renewal-period-result span { color:var(--green-700);font-size:8px;font-weight:750; }.renewal-financial-breakdown { background:#fffcf6;border-color:#ebdfc7; }.renewal-financial-breakdown>header button { padding:0;border:0;color:#805f28;background:transparent;font-size:8px;font-weight:850; }.renewal-financial-breakdown>div { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px; }.renewal-financial-breakdown input { background:#fff; }.warning-text { color:#9a6d24!important; }.payment-coverage { margin-top:3px!important;color:var(--green-700)!important;font-weight:750!important; }
.renewal-summary { display:flex;align-items:center;gap:22px;padding:11px 16px;border-top:1px solid var(--line);background:#fbfcfb; }.renewal-summary span { color:var(--muted);font-size:9px; }.renewal-summary span b { display:block;color:var(--ink);font-size:11px; }.renewal-match { margin-left:auto;padding:5px 9px;border-radius:20px;color:var(--green-700);background:var(--green-100);font-size:9px; }.renewal-match.invalid { color:var(--red);background:var(--red-100); }
.renewal-footer { position:sticky;z-index:3;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 -28px;padding:14px 28px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 -10px 25px rgba(18,51,51,.07);backdrop-filter:blur(8px); }.renewal-footer p { max-width:480px;margin:0;color:var(--muted);font-size:9px; }.renewal-footer p b { color:var(--ink); }.renewal-footer>div { display:flex;gap:8px; }.renewal-footer button:disabled { cursor:not-allowed;opacity:.5; }.empty-renewals { padding:45px 20px;text-align:center; }.empty-renewals b { font:700 22px Georgia,serif; }.empty-renewals p { color:var(--muted); }
.history-section { margin-top:23px; }.history-section>h3 { margin:0 0 11px;font:700 16px Georgia,serif; }.history-timeline { position:relative;display:grid;gap:0; }.history-timeline::before { content:'';position:absolute;left:16px;top:17px;bottom:17px;width:1px;background:var(--line); }.history-timeline article { position:relative;display:grid;grid-template-columns:34px 1fr;gap:11px;padding:10px 0; }.history-dot { z-index:1;width:34px;height:34px;display:grid;place-items:center;border:4px solid white;border-radius:50%;color:var(--green-700);background:var(--green-100);font-weight:900; }.history-dot.gold { color:#91641f;background:var(--gold-100); }.history-timeline b { display:block;font-size:11px; }.history-timeline p { margin:2px 0;color:var(--muted);font-size:9px; }.history-timeline small { color:#8a9592;font-size:8px; }.history-empty { padding:18px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:10px;text-align:center; }
.renewal-grid .renewal-use-total { width:max-content;min-height:0;padding:0;border:0;color:var(--green-700);background:transparent;font-size:8px;font-weight:800; }
.form-note { margin: -10px 0 20px; padding: 10px 12px; border-radius: 8px; color: #685835; background: var(--gold-100); font-size: 10px; }
.form-divider { position: relative; margin: 5px 0; border-top: 1px solid var(--line); }.form-divider span { position:absolute;top:-9px;padding-right:8px;color:var(--muted);background:white;font-size:9px;font-weight:800;letter-spacing:.08em; }

/* Badges de serviços */
.badge-library-hero { display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:18px;padding:25px 28px;overflow:hidden;background:radial-gradient(circle at 88% 15%,rgba(212,156,66,.12),transparent 32%),linear-gradient(135deg,#fff,#f5faf7); }.badge-library-hero h2 { margin:0 0 5px;font:700 24px Georgia,serif; }.badge-library-hero>div>p:last-child { max-width:620px;margin:0;color:var(--muted);font-size:11px; }.badge-hero-preview { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px; }
.service-badge-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }.service-badge-card { min-width:0;padding:20px; }.service-badge-card.disabled { opacity:.68; }.service-badge-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }.service-badge-icon { width:43px;height:43px;display:grid;place-items:center;border:1px solid var(--service-border);border-radius:12px;color:var(--service-color);background:linear-gradient(145deg,#fff,var(--service-bg));box-shadow:0 8px 20px rgba(18,51,51,.08); }.service-badge-icon svg { width:23px;height:23px; }.service-badge-card h2 { margin:16px 0 11px;font:700 18px Georgia,serif; }.service-badge-card footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px -20px -20px;padding:13px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:9px; }.service-badge-card footer a { color:var(--green-700);font-weight:850; }
.service-badge-modal { width:min(760px,100%); }.badge-option-field { min-width:0;margin:0;padding:0;border:0; }.badge-option-field legend { margin-bottom:8px;color:#4f5d5a;font-size:10px;font-weight:800; }.badge-icon-options { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }.badge-icon-options label,.badge-tone-options label { position:relative;min-width:0;cursor:pointer; }.badge-icon-options input,.badge-tone-options input { position:absolute;opacity:0;pointer-events:none; }.badge-icon-options label>span { width:100%;height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fbfcfb;transition:.17s ease; }.badge-icon-options svg { width:23px;height:23px; }.badge-icon-options small,.badge-tone-options small { display:block;margin-top:4px;color:var(--muted);font-size:7px;text-align:center; }.badge-icon-options input:checked+span { border-color:var(--green-600);color:var(--green-700);background:var(--green-100);box-shadow:0 0 0 3px rgba(43,130,107,.09); }.badge-tone-options { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px; }.badge-tone-options label>span { width:100%;height:34px;display:block;border:1px solid var(--service-border,var(--line));border-radius:9px;background:var(--service-bg,#edf1ef);box-shadow:inset 0 0 0 5px white; }.badge-tone-options input:checked+span { outline:2px solid var(--service-color,var(--green-700));outline-offset:2px; }
.badge-tone-options .tone-emerald { --service-color:#176650;--service-bg:#d8f2e7;--service-border:#aad7c5; }.badge-tone-options .tone-gold { --service-color:#8c5e16;--service-bg:#fbe7b8;--service-border:#e8c573; }.badge-tone-options .tone-sapphire { --service-color:#365f94;--service-bg:#dceafb;--service-border:#aec8e7; }.badge-tone-options .tone-amethyst { --service-color:#674f9d;--service-bg:#e7def8;--service-border:#c8b8e9; }.badge-tone-options .tone-ruby { --service-color:#a13f50;--service-bg:#f8dce1;--service-border:#e5aeba; }.badge-tone-options .tone-graphite { --service-color:#4f5e5a;--service-bg:#e2e8e5;--service-border:#bbc8c3; }
.subscription-badge-field { padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafcfb; }.subscription-badge-field>div:first-child { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px; }.subscription-badge-field>div:first-child>span { color:#4f5d5a;font-size:10px;font-weight:800; }.subscription-badge-field>div:first-child>a,.subscription-badge-field>p a { color:var(--green-700);font-size:8px;font-weight:850; }.subscription-badge-field>p { margin:0;color:var(--muted);font-size:9px; }.subscription-badge-options { display:flex;flex-wrap:wrap;gap:7px; }.subscription-badge-options label { position:relative;cursor:pointer; }.subscription-badge-options input { position:absolute;opacity:0;pointer-events:none; }.subscription-badge-options .service-badge { opacity:.5;filter:saturate(.55);transition:.17s ease; }.subscription-badge-options input:checked+.service-badge { opacity:1;filter:none;box-shadow:0 0 0 2px white,0 0 0 4px var(--service-border); }.subscription-badge-options label.inactive::after { content:'inativo';position:absolute;right:-2px;top:-7px;padding:1px 4px;border-radius:5px;color:#697572;background:#edf0ee;font-size:6px;font-weight:800; }
.badge-assignment-panel { width:min(620px,100%); }.badge-assignment-lead { margin:0 0 16px;color:var(--muted);font-size:10px;line-height:1.5; }.badge-assignment-footer { display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line); }

.alert { position: relative; margin-bottom: 16px; padding: 12px 38px 12px 14px; border: 1px solid; border-radius: 9px; font-size: 12px; }
.alert.success { color: #24624f; border-color: #cce6dc; background: var(--green-100); }.alert.danger { color:#934242;border-color:#f0ccca;background:var(--red-100); }.alert.warning { color:#835f23;border-color:#efdaa9;background:var(--gold-100); }
.alert button { position:absolute;right:10px;top:5px;border:0;color:inherit;background:transparent;font-size:20px; }

.toast-stack { position:fixed;z-index:350;top:18px;right:18px;width:min(390px,calc(100vw - 28px));display:grid;gap:10px;pointer-events:none; }
.toast { position:relative;min-height:76px;display:grid;grid-template-columns:38px 1fr 25px;align-items:center;gap:11px;padding:13px 12px 15px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 18px 45px rgba(13,41,41,.18);overflow:hidden;pointer-events:auto;animation:toast-in .25s ease both; }
.toast.leaving { animation:toast-out .22s ease both; }.toast-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--green-700);background:var(--green-100);font-weight:900; }.toast.danger .toast-icon { color:var(--red);background:var(--red-100); }.toast.warning .toast-icon { color:#946822;background:var(--gold-100); }.toast b,.toast p { display:block;margin:0; }.toast b { margin-bottom:2px;font-size:12px; }.toast p { color:var(--muted);font-size:11px;line-height:1.4; }.toast>button { align-self:start;width:25px;height:25px;padding:0;border:0;border-radius:6px;color:#7c8885;background:transparent;font-size:18px; }.toast>button:hover { background:#f0f3f1; }.toast-progress { position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--green-600);transform-origin:left;animation:toast-progress 5.5s linear both; }.toast.danger .toast-progress { background:var(--red);animation-duration:8s; }.toast:hover .toast-progress { animation-play-state:paused; }
@keyframes toast-in { from { opacity:0;transform:translateX(25px) scale(.98); } }
@keyframes toast-out { to { opacity:0;transform:translateX(25px) scale(.98); } }
@keyframes toast-progress { to { transform:scaleX(0); } }

.confirm-overlay { position:fixed;z-index:400;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,24,23,.58);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease; }.confirm-overlay.open { opacity:1; }.confirm-overlay.closing { opacity:0; }.confirm-popup { position:relative;width:min(430px,100%);display:grid;grid-template-columns:48px 1fr;gap:15px;padding:25px;border:1px solid rgba(255,255,255,.4);border-radius:16px;background:white;box-shadow:0 25px 70px rgba(8,24,23,.3);transform:translateY(12px) scale(.98);transition:transform .18s ease; }.confirm-overlay.open .confirm-popup { transform:translateY(0) scale(1); }.confirm-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:var(--green-700);background:var(--green-100);font:800 20px Georgia,serif; }.confirm-icon.danger { color:var(--red);background:var(--red-100); }.confirm-popup h2 { margin:0 0 6px;font:700 21px Georgia,serif; }.confirm-popup #confirm-message { margin:0;color:var(--muted);font-size:12px;line-height:1.55; }.confirm-popup footer { grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:5px;padding-top:18px;border-top:1px solid var(--line); }.confirm-close { position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:20px; }.confirm-close:hover { background:#f0f3f1; }.danger-button { color:white;border-color:var(--red);background:var(--red); }.danger-button:hover { background:#9f3f3f; }

/* Dashboard executivo */
.card-subtitle { margin:4px 0 0;color:var(--muted);font-size:10px; }
.executive-hero { position:relative;display:grid;grid-template-columns:minmax(280px,1.3fr) auto minmax(430px,1fr);align-items:center;gap:28px;margin-bottom:16px;padding:25px 28px;overflow:hidden;color:white;border-color:#173f3b;background:radial-gradient(circle at 78% -40%,rgba(102,181,149,.34),transparent 48%),linear-gradient(128deg,#0d2929,#174740);box-shadow:0 18px 38px rgba(13,41,41,.14); }
.executive-hero::after { content:'';position:absolute;right:-45px;bottom:-90px;width:230px;height:230px;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.018); }
.executive-copy,.executive-pulse,.executive-kpis { position:relative;z-index:1; }
.executive-copy .eyebrow { color:#d8b978; }.executive-copy h2 { margin:4px 0 7px;font:700 24px Georgia,serif; }.executive-copy>p:not(.eyebrow) { max-width:560px;margin:0 0 11px;color:#c1d3ce;font-size:11px; }
.executive-update { display:flex;align-items:center;gap:7px;color:#8faaa4;font-size:8px;font-weight:700; }.executive-update i { width:6px;height:6px;border-radius:50%;background:#69c49f;box-shadow:0 0 0 4px rgba(105,196,159,.1); }
.executive-pulse { display:flex;align-items:center;gap:13px;padding:0 28px;border-right:1px solid rgba(255,255,255,.11);border-left:1px solid rgba(255,255,255,.11); }
.executive-score { --score:0;width:72px;height:72px;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:conic-gradient(#68c39f calc(var(--score) * 1%),rgba(255,255,255,.12) 0);position:relative; }.executive-score.warning { background:conic-gradient(#e0b566 calc(var(--score) * 1%),rgba(255,255,255,.12) 0); }.executive-score.danger { background:conic-gradient(#df7771 calc(var(--score) * 1%),rgba(255,255,255,.12) 0); }
.executive-score::before { content:'';position:absolute;inset:7px;border-radius:50%;background:#123735; }.executive-score span { z-index:1;display:flex;align-items:baseline; }.executive-score strong { font:700 22px Georgia,serif; }.executive-score small { color:#90aaa4;font-size:8px; }
.executive-pulse>div:last-child small,.executive-pulse>div:last-child strong,.executive-pulse>div:last-child span { display:block; }.executive-pulse>div:last-child small { color:#90aaa4;font-size:8px;font-weight:800;letter-spacing:.11em; }.executive-pulse>div:last-child strong { margin:2px 0;font:700 17px Georgia,serif; }.executive-pulse>div:last-child span { max-width:135px;color:#abc0bb;font-size:8px; }
.executive-kpis { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0; }.executive-kpis div { min-width:0;padding:3px 17px;border-left:1px solid rgba(255,255,255,.1); }.executive-kpis div:first-child { border:0; }.executive-kpis span,.executive-kpis strong,.executive-kpis small { display:block; }.executive-kpis span { color:#9eb5af;font-size:8px;font-weight:700; }.executive-kpis strong { margin:3px 0;color:white;font:700 15px Georgia,serif;white-space:nowrap; }.executive-kpis small { color:#7f9b95;font-size:7px; }
.executive-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }.executive-metrics .metric-card { position:relative;overflow:hidden; }.executive-metrics .metric-card::after { content:'';position:absolute;right:-25px;bottom:-37px;width:85px;height:85px;border-radius:50%;background:linear-gradient(135deg,transparent,rgba(43,130,107,.045)); }.metric-trend { width:max-content;padding:3px 7px;border-radius:14px;font-weight:700; }.metric-trend.up { color:var(--green-700);background:var(--green-100); }.metric-trend.down { color:var(--red);background:var(--red-100); }
.customer-command { margin-bottom:18px;padding:22px 24px; }.customer-command .card-header { margin-bottom:16px; }
.tomorrow-subscriptions { margin-bottom:18px;padding:22px 24px;overflow:hidden; }.tomorrow-subscriptions .card-header { margin-bottom:16px; }.tomorrow-subscriptions table { min-width:560px; }
.customer-status-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px; }.customer-status-grid>a { position:relative;min-width:0;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:13px 12px;border:1px solid #e7ebe8;border-radius:11px;background:#fafcfb;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.customer-status-grid>a:hover { z-index:1;transform:translateY(-2px);border-color:#cbd8d3;box-shadow:0 9px 22px rgba(18,51,51,.08); }.customer-status-grid>a.needs-attention { border-color:#f0cfcc;background:#fff9f8; }
.status-signal { width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-weight:900; }.status-signal.total { color:var(--green-700);background:var(--green-100); }.status-signal.active,.status-signal.recurring { color:#23755d;background:#def1e9; }.status-signal.inactive { color:#6f7b78;background:#e9edeb; }.status-signal.lead { color:#8c6f2d;background:var(--gold-100); }.status-signal.overdue { color:var(--red);background:var(--red-100); }
.customer-status-grid span { min-width:0; }.customer-status-grid small,.customer-status-grid strong,.customer-status-grid em { display:block; }.customer-status-grid small { overflow:hidden;color:var(--muted);font-size:8px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap; }.customer-status-grid strong { margin:1px 0;font:700 21px Georgia,serif; }.customer-status-grid em { overflow:hidden;color:#8a9592;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap; }.status-chevron { position:absolute;right:9px;top:9px;color:var(--red);font-size:10px; }
.intelligence-grid { display:grid;grid-template-columns:minmax(0,1.85fr) minmax(320px,.75fr);gap:18px;margin-bottom:18px; }.intelligence-grid>.card,.management-grid>.card,.portfolio-grid>.card { padding:22px 24px; }.performance-card .bar-chart { height:245px; }
.health-state { padding:5px 9px;border-radius:20px;font-size:8px;font-weight:900;text-transform:uppercase; }.health-state.good { color:var(--green-700);background:var(--green-100); }.health-state.warning { color:#956820;background:var(--gold-100); }.health-state.danger { color:var(--red);background:var(--red-100); }
.health-dimensions { display:grid;gap:14px;padding:3px 0 16px;border-bottom:1px solid var(--line); }.health-dimensions>div>span { display:flex;justify-content:space-between;margin-bottom:6px;font-size:9px; }.health-dimensions b { color:#51605d;font-weight:700; }.health-dimensions strong { font-size:9px; }.health-dimensions i { height:5px;display:block;overflow:hidden;border-radius:5px;background:#edf1ee; }.health-dimensions em { height:100%;display:block;border-radius:5px;background:linear-gradient(90deg,#2b826b,#69b99b); }.executive-summary { font-size:11px; }
.management-grid { display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr);gap:18px;margin-bottom:18px; }.action-count { min-width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:var(--red);background:var(--red-100);font-size:10px;font-weight:900; }
.action-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }.action-list>a,.all-clear { min-width:0;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb; }.action-list>a>i,.all-clear>i { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-weight:900; }.action-list a.danger>i { color:var(--red);background:var(--red-100); }.action-list a.warning>i { color:#986c27;background:var(--gold-100); }.action-list a.neutral>i { color:var(--purple);background:var(--purple-100); }.action-list a.info>i { color:var(--blue);background:var(--blue-100); }.action-list a:hover { border-color:#c9d5d1;background:white;box-shadow:0 6px 16px rgba(18,51,51,.06); }
.action-list b,.action-list small { display:block; }.action-list b { margin-bottom:2px;font-size:10px; }.action-list small { color:var(--muted);font-size:8px;line-height:1.35; }.action-list em { color:var(--green-700);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap; }.all-clear { grid-column:1/-1; }.all-clear>i { color:var(--green-700);background:var(--green-100); }
.lifecycle-visual { display:grid;grid-template-columns:130px 1fr;align-items:center;gap:25px; }.lifecycle-donut { width:126px;height:126px;display:grid;place-items:center;border-radius:50%;position:relative; }.lifecycle-donut::before { content:'';position:absolute;inset:18px;border-radius:50%;background:white;box-shadow:0 0 0 1px rgba(226,231,228,.7); }.lifecycle-donut span { z-index:1;text-align:center; }.lifecycle-donut strong,.lifecycle-donut small { display:block; }.lifecycle-donut strong { font:700 24px Georgia,serif; }.lifecycle-donut small { color:var(--muted);font-size:8px; }
.lifecycle-legend { display:grid;gap:6px; }.lifecycle-legend a { display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;padding:3px 0;color:var(--muted);font-size:9px; }.lifecycle-legend a:hover span { color:var(--ink); }.lifecycle-legend i { width:7px;height:7px;border-radius:50%; }.lifecycle-legend i.active { background:#2b826b; }.lifecycle-legend i.trial { background:#7aa6d8; }.lifecycle-legend i.past-due { background:#d49c42; }.lifecycle-legend i.paused { background:#8d79b6; }.lifecycle-legend i.canceled { background:#d9dfdc; }.lifecycle-legend strong { color:var(--ink); }
.portfolio-grid { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.8fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px; }
.executive-rank { display:grid; }.executive-rank>a { display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #edf0ee; }.executive-rank>a:first-child { border-top:0; }.rank-number { width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:var(--green-700);background:var(--green-100);font-size:8px;font-weight:900; }.rank-product { min-width:0; }.rank-product b,.rank-product small { display:block; }.rank-product b { overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }.rank-product small { color:var(--muted);font-size:8px; }.rank-product>i,.geography-list>div>i { height:3px;display:block;margin-top:6px;overflow:hidden;border-radius:5px;background:#edf1ee; }.rank-product>i em,.geography-list>div>i em { height:100%;display:block;border-radius:5px;background:linear-gradient(90deg,#2b826b,#6cbaa0); }.executive-rank>a>strong { font-size:10px;text-align:right; }.executive-rank>a>strong small { display:block;color:var(--muted);font-size:7px;font-weight:500; }
.pipeline-value { margin-bottom:12px;padding:14px;border:1px solid #dcebe5;border-radius:11px;background:linear-gradient(135deg,#f1f8f5,#f9fbfa); }.pipeline-value span,.pipeline-value strong,.pipeline-value small { display:block; }.pipeline-value span { color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase; }.pipeline-value strong { margin:3px 0;color:var(--green-700);font:700 23px Georgia,serif; }.pipeline-value small { color:var(--muted);font-size:8px; }
.pipeline-stages { display:grid;gap:6px; }.pipeline-stages a { display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:8px; }.pipeline-stages span { font-size:9px;font-weight:800; }.pipeline-stages i { width:17px;height:17px;display:inline-grid;place-items:center;margin-right:5px;border-radius:5px;font-style:normal; }.pipeline-stages strong { font:700 15px Georgia,serif; }.pipeline-stages small { grid-column:1/-1;margin-left:24px;color:var(--muted);font-size:7px; }.pipeline-stages .overdue i { color:var(--red);background:var(--red-100); }.pipeline-stages .today i { color:#956820;background:var(--gold-100); }.pipeline-stages .future i { color:var(--blue);background:var(--blue-100); }
.geography-list { display:grid;gap:4px; }.geography-list>div { padding:9px 0;border-top:1px solid #edf0ee; }.geography-list>div:first-child { border:0; }.country-identity { display:flex;align-items:center;gap:8px; }.country-identity>span b,.country-identity>span small { display:block; }.country-identity b { font-size:10px; }.country-identity small { color:var(--muted);font-size:7px; }.geography-list>div>strong { display:block;margin-top:-28px;font-size:10px;text-align:right; }.geography-list>div>strong small { display:block;color:var(--muted);font-size:7px;font-weight:500; }.currency-foot { display:grid;grid-template-columns:1fr auto 1fr auto;gap:7px;margin-top:13px;padding:9px 10px;border-radius:8px;color:var(--muted);background:#f5f8f6;font-size:8px; }.currency-foot b { color:var(--ink); }

/* Lembretes WhatsApp */
.reminder-hero { display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px;padding:23px 25px;color:white;border-color:#17453f;background:radial-gradient(circle at 90% 20%,rgba(91,190,145,.22),transparent 34%),linear-gradient(130deg,#0d2929,#175247); }.reminder-hero h2 { margin:2px 0 5px;font:700 24px Georgia,serif; }.reminder-hero>div>p:last-child { margin:0;color:#b8cdc7;font-size:11px; }.integration-state { display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:20px;font-size:9px;font-weight:900;white-space:nowrap; }.integration-state i { width:7px;height:7px;border-radius:50%; }.integration-state.enabled { color:#d8f4e8;background:rgba(94,190,150,.18); }.integration-state.enabled i { background:#69d3a9;box-shadow:0 0 0 4px rgba(105,211,169,.12); }.integration-state.disabled { color:#d9e2df;background:rgba(255,255,255,.09); }.integration-state.disabled i { background:#9aaea9; }
.reminder-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px; }.reminder-metrics article { padding:17px 19px; }.reminder-metrics span,.reminder-metrics strong,.reminder-metrics small { display:block; }.reminder-metrics span { color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase; }.reminder-metrics strong { margin:2px 0;font:700 23px Georgia,serif; }.reminder-metrics small { color:#8a9592;font-size:8px; }
.reminder-control { display:grid;gap:16px; }.reminder-section { padding:23px 25px; }.reminder-section .settings-heading { align-items:center; }.switch-control { display:flex;align-items:center;gap:8px;margin-left:auto;font-size:9px;cursor:pointer; }.switch-control input,.compact-switch input { position:absolute;opacity:0; }.switch-control>span,.compact-switch>span { position:relative;width:38px;height:21px;display:block;border-radius:20px;background:#dce3e0;transition:background .18s; }.switch-control>span::after,.compact-switch>span::after { content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:white;box-shadow:0 1px 4px rgba(13,41,41,.2);transition:transform .18s; }.switch-control input:checked+span,.compact-switch input:checked+span { background:var(--green-600); }.switch-control input:checked+span::after,.compact-switch input:checked+span::after { transform:translateX(17px); }
.integration-summary { display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:12px 13px;border:1px solid;border-radius:10px; }.integration-summary>span { width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-weight:900; }.integration-summary b,.integration-summary small { display:block; }.integration-summary b { font-size:10px; }.integration-summary small { color:var(--muted);font-size:8px; }.integration-summary.ready { border-color:#cce4da;background:#f3f9f6; }.integration-summary.ready>span { color:var(--green-700);background:var(--green-100); }.integration-summary.pending { border-color:#eed7aa;background:#fffaf0; }.integration-summary.pending>span { color:#956820;background:var(--gold-100); }
.reminder-rules { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.rule-heading { display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;margin-bottom:18px; }.rule-heading h2 { margin:0;font:700 18px Georgia,serif; }.rule-heading p:last-child { margin:3px 0 0;color:var(--muted);font-size:9px; }.rule-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-weight:900; }.rule-icon.upcoming { color:var(--blue);background:var(--blue-100); }.rule-icon.overdue { color:var(--red);background:var(--red-100); }.compact-switch { cursor:pointer; }.frequency-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }.frequency-grid label { min-width:0;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase; }.frequency-grid input { width:100%;height:40px;margin:5px 0 2px;padding:0 9px;border:1px solid var(--line);border-radius:8px;outline:0;background:white; }.frequency-grid small { display:block;color:#8a9592;font-size:7px;font-weight:600;text-transform:none; }
.template-section .settings-heading { margin-bottom:14px; }.variable-picker { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px; }.variable-picker button { padding:5px 8px;border:1px solid #cfddd7;border-radius:7px;color:var(--green-700);background:#f4f9f6;font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace; }.variable-picker button:hover { border-color:var(--green-600);background:var(--green-100); }.template-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.template-grid>label { min-width:0;display:flex;flex-direction:column;gap:6px;color:#4f5d5a;font-size:10px;font-weight:800; }.template-grid textarea { width:100%;padding:11px;border:1px solid #dce3df;border-radius:9px;outline:0;resize:vertical;font:450 11px/1.5 inherit; }.template-grid textarea:focus { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.09); }.template-grid label>small { color:var(--muted);font-size:8px; }.message-preview { min-height:105px;padding:12px 13px;border-radius:10px;color:#33433f;background:#eef7f3;font-size:10px;font-style:normal;font-weight:450;line-height:1.55;white-space:pre-wrap; }
.reminder-save { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 17px;border:1px solid #cfe0d9;border-radius:11px;background:white;box-shadow:var(--shadow); }.reminder-save p { margin:0;color:var(--muted);font-size:9px; }.reminder-operations { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0;padding:20px 24px; }.reminder-operations h2 { margin:0;font:700 18px Georgia,serif; }.reminder-operations>div>p:last-child { margin:3px 0 0;color:var(--muted);font-size:9px; }.reminder-operations>div:last-child { display:flex;gap:8px; }.reminder-history { margin-bottom:16px;padding:22px 24px;overflow:hidden; }.reminder-history .card-header { margin-bottom:15px; }.reminder-history table { min-width:760px; }.cron-note { display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid #d6e2dd;border-radius:10px;color:var(--muted);background:#eef4f1;font-size:9px; }.cron-note b { color:var(--green-700);white-space:nowrap; }.cron-note code { color:var(--ink);font-size:8px; }
.automation-guardrails .settings-heading { margin-bottom:18px; }.guardrail-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px; }.guardrail-grid label,.step-core-grid label,.step-assets-grid label,.whatsapp-test-panel label { min-width:0;color:#53615e;font-size:8px;font-weight:800;text-transform:uppercase; }.guardrail-grid input,.step-core-grid input,.step-assets-grid input,.whatsapp-test-panel input,.whatsapp-test-panel select { width:100%;height:40px;margin-top:5px;padding:0 10px;border:1px solid #d9e2de;border-radius:8px;outline:0;background:white;font:500 10px inherit; }.guardrail-grid input:focus,.step-core-grid input:focus,.step-assets-grid input:focus,.whatsapp-test-panel input:focus,.whatsapp-test-panel select:focus { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.08); }.guardrail-grid small,.step-assets-grid small { display:block;margin-top:3px;color:var(--muted);font-size:7px;font-weight:500;text-transform:none; }.weekday-picker { display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:15px; }.weekday-picker>span { margin-right:5px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase; }.weekday-picker label { cursor:pointer; }.weekday-picker input { position:absolute;opacity:0; }.weekday-picker label span { min-width:40px;height:30px;display:grid;place-items:center;border:1px solid #d6e1dc;border-radius:8px;color:var(--muted);background:#fafcfb;font-size:8px;font-weight:800; }.weekday-picker input:checked+span { border-color:#9fcdbb;color:var(--green-700);background:var(--green-100); }.automation-safety-note { display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:15px;padding:11px 13px;border:1px solid #d7e8e0;border-radius:9px;color:var(--muted);background:#f3f8f5;font-size:8px;line-height:1.45; }.automation-safety-note b { color:var(--green-700);white-space:nowrap; }
.automation-flow { overflow:hidden; }.automation-flow .rule-heading { margin-bottom:15px; }.flow-switch { width:auto;margin-left:0; }.automation-step-list { display:grid;gap:13px; }.automation-step { padding:15px;border:1px solid #dce4e0;border-radius:12px;background:#fbfcfb;box-shadow:0 3px 12px rgba(18,51,51,.025); }.automation-step>header { display:grid;grid-template-columns:30px 1fr auto 27px;align-items:center;gap:9px;margin-bottom:13px; }.step-sequence { width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:var(--green-700);background:var(--green-100);font-size:9px;font-weight:900; }.automation-flow.overdue .step-sequence { color:var(--red);background:var(--red-100); }.automation-step>header b,.automation-step>header small { display:block; }.automation-step>header b { font-size:10px; }.automation-step>header small { margin-top:2px;color:var(--muted);font-size:7px;font-weight:500; }.step-remove { width:27px;height:27px;border:0;border-radius:7px;color:#9c5f61;background:#fff0f0;font-size:17px;line-height:1;cursor:pointer; }.step-core-grid { display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.6fr) minmax(105px,.7fr);gap:9px;margin-bottom:10px; }.step-message-layout { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:11px; }.step-template-field { min-width:0;display:flex;flex-direction:column;gap:5px;color:#53615e;font-size:8px;font-weight:800;text-transform:uppercase; }.step-template-field textarea { width:100%;min-height:145px;padding:11px;border:1px solid #d9e2de;border-radius:9px;outline:0;resize:vertical;background:white;font:450 10px/1.55 inherit;text-transform:none; }.step-template-field textarea:focus { border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.08); }.step-template-field small { color:var(--muted);font-size:7px;font-weight:500;text-transform:none; }.step-preview { min-width:0;display:flex;flex-direction:column;gap:5px; }.step-preview>span { color:#53615e;font-size:8px;font-weight:800;text-transform:uppercase; }.step-preview em { flex:1;min-height:145px;padding:12px;border-radius:10px;color:#33433f;background:#eef7f3;font-size:9px;font-style:normal;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere; }.step-variables { margin:10px 0; }.step-assets-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }.step-assets-grid input[type=file] { padding:8px;height:40px;font-size:8px; }.stored-media { display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--muted);font-size:8px; }.stored-media span { color:var(--green-700);font-weight:800; }.stored-media input { margin-left:auto; }.add-automation-step { width:100%;margin-top:13px;padding:11px;border:1px dashed #a9cbbd;border-radius:10px;color:var(--green-700);background:#f5faf7;font-size:9px;font-weight:850;cursor:pointer; }.add-automation-step:hover { border-color:var(--green-600);background:var(--green-100); }
.whatsapp-test-panel { display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);align-items:center;gap:22px;margin-bottom:16px;padding:20px 24px; }.whatsapp-test-panel h2 { margin:0;font:700 18px Georgia,serif; }.whatsapp-test-panel>div>p:last-child { margin:3px 0 0;color:var(--muted);font-size:9px; }.whatsapp-test-panel form { display:grid;grid-template-columns:125px minmax(150px,1fr) minmax(180px,1.2fr) auto;align-items:end;gap:8px; }.whatsapp-test-panel .button { height:40px;white-space:nowrap; }.history-error { max-width:230px;display:block;margin-top:4px;color:var(--red);font-size:7px;line-height:1.35; }.table-link { border:0;color:var(--green-700);background:transparent;font-size:8px;font-weight:850;cursor:pointer;white-space:nowrap; }

.login-page, .install-page { min-height: 100vh; background: #edf1ed; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(390px, .9fr) minmax(500px,1.1fr); }
.login-panel { min-height: 100vh; display:flex;flex-direction:column;padding:45px 10%;color:white;background:radial-gradient(circle at 85% 75%,rgba(62,138,111,.35),transparent 32%),linear-gradient(145deg,#0d2929,#17423d); }
.login-message { max-width: 490px; margin: auto 0; }.login-message .eyebrow { color:#ddb974; }.login-message h1 { margin:12px 0 20px;font:700 clamp(34px,4vw,54px)/1.08 Georgia,serif; }.login-message > p:last-child { max-width:430px;color:#abc2bc;font-size:14px; }
.login-proof { display:grid;grid-template-columns:40px 20px 40px 1fr;align-items:center;gap:8px;color:#b9cbc6;font-size:10px; }.login-proof span { width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;font-size:9px;font-weight:800; }.login-proof i { text-align:center; }.login-proof p { margin:0; }
.login-form-wrap { display:grid;place-items:center;padding:40px; }.login-card { width:min(390px,100%);display:flex;flex-direction:column;gap:19px; }.login-card h2 { margin:4px 0;font:700 28px Georgia,serif; }.login-card label { display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:750; }.login-card input { width:100%;height:47px;padding:0 13px;border:1px solid #d6dfda;border-radius:9px;outline:0;background:white; }.login-card input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(43,130,107,.08)}.login-card .button { height:48px; }.password-field { position:relative; }.password-field button { position:absolute;right:10px;top:8px;height:30px;border:0;color:var(--green-700);background:transparent;font-size:10px;font-weight:800; }.login-help { margin:0;color:var(--muted);font-size:9px;text-align:center; }
.install-shell { min-height:100vh;display:grid;grid-template-columns:minmax(320px,.75fr) minmax(560px,1.25fr); }.install-intro { display:flex;flex-direction:column;justify-content:center;padding:8%;color:white;background:var(--green-950); }.install-intro .eyebrow{margin-top:30px;color:#ddb974}.install-intro h1{font:700 43px/1.1 Georgia,serif}.install-intro>p:last-of-type{color:#afc2bd}.install-benefits{margin-top:25px;padding:0;list-style:none}.install-benefits li{margin:12px 0;color:#cfddd9}.install-benefits li::before{content:'✓';margin-right:10px;color:#ddb974}.install-card { margin:auto;width:min(680px,calc(100% - 50px));padding:36px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow); }.install-card h2{margin:4px 0;font:700 27px Georgia,serif}.install-card>.form-grid{margin-top:24px}

@media (max-width: 1180px) {
  .metric-grid, .cash-hero { grid-template-columns: repeat(2,1fr); }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .radar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .search-filters { flex-wrap: wrap; }
  .money-stats { flex-wrap: wrap; }
  .executive-hero { grid-template-columns:1fr auto; }.executive-kpis { grid-column:1/-1;padding-top:15px;border-top:1px solid rgba(255,255,255,.1); }.executive-pulse { padding-right:0;border-right:0; }
  .customer-status-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-intelligence { grid-column:1/-1; }
  .service-badge-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  .menu-open .sidebar { transform: translateX(0); }
  .sidebar-backdrop { position:fixed;z-index:40;inset:0;background:rgba(8,24,23,.5); }
  .menu-open .sidebar-backdrop { display:block; }
  .app-shell { margin-left:0; }
  .menu-button { display:grid; }
  .topbar { height:78px;padding:0 20px; }.content{padding:22px 20px 40px}.page-heading p{display:none}.quick-add span{display:none}
  .dashboard-grid,.reports-grid { grid-template-columns:minmax(0,1fr); }.dashboard-grid .span-2 { grid-column:auto; }
  .settings-layout { grid-template-columns:1fr; }.settings-nav { position:static;flex-direction:row;overflow:auto; }
  .login-shell,.install-shell { grid-template-columns:1fr; }.login-panel{display:none}.install-intro{min-height:340px}.install-card{margin:30px auto}
  .renewal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .intelligence-grid,.management-grid { grid-template-columns:1fr; }
  .reminder-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.reminder-rules { grid-template-columns:1fr; }.guardrail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.step-message-layout{grid-template-columns:1fr}.step-assets-grid{grid-template-columns:1fr}.whatsapp-test-panel{grid-template-columns:1fr}.whatsapp-test-panel form{grid-template-columns:repeat(3,minmax(0,1fr))}.whatsapp-test-panel .button{grid-column:1/-1}
  .service-badge-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .topbar { gap:11px }.page-heading h1{font-size:19px}.user-menu>div,.quick-add{display:none}.user-menu{padding-left:0;border:0}.content{padding:17px 12px 35px}
  .toolbar,.list-toolbar,.dashboard-toolbar { align-items:stretch;flex-direction:column; }.list-toolbar>div,.export-group{flex-wrap:wrap}.search-filters,.period-filter{align-items:stretch;flex-direction:column}.search-box{width:100%}.search-filters select,.period-filter select,.period-filter input{width:100%}.rate-pill{width:100%}
  .metric-grid,.product-grid,.cash-hero { grid-template-columns:1fr; }.metric-card{min-height:105px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mini-stats>div,.money-stats>div{min-width:0;padding:9px}.money-stats{grid-template-columns:1fr}.money-stats>div{min-width:0}
  .subscription-unit-overview>header h2{font-size:17px}.subscription-unit-grid{grid-template-columns:1fr}.subscription-unit-card{min-height:92px;padding:13px}
  .subscription-radar{padding:16px 13px}.subscription-radar>header{align-items:flex-start;flex-direction:column}.radar-notification{width:100%;justify-content:center}.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-item:last-child{grid-column:1/-1}.urgency-legend{display:none}.due-alert-popup{padding:20px 15px}.due-alert-popup>header{grid-template-columns:42px 1fr}.due-alert-symbol{width:40px;height:40px}.due-alert-popup>footer{flex-direction:column-reverse}.due-alert-popup>footer .button{width:100%}
  .table-meta.with-page-size{align-items:stretch;flex-direction:column;padding:13px 15px}.table-meta-actions{align-items:stretch;flex-direction:column;gap:8px}.page-size-form label{justify-content:space-between}.page-size-form select{width:82px}
  .dashboard-grid .card{padding:18px 15px}.bar-chart{height:180px}.lower-grid .span-2{grid-column:auto}.report-summary{align-items:stretch;flex-direction:column;gap:8px}.report-summary>i{display:none}.country-report>div:last-child{grid-template-columns:1fr}.settings-card{padding:19px 15px}.current-rate{display:none}
  .modal-panel{padding:21px 17px 30px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.check-inline{padding-top:0}.rate-refresh{margin:15px 0 0}.login-form-wrap{padding:25px 20px}.install-intro{padding:45px 25px}.install-card{width:calc(100% - 24px);padding:25px 17px}
  .renewal-grid{grid-template-columns:1fr}.renewal-grid .span-2{grid-column:auto}.renewal-card-head{grid-template-columns:24px 1fr}.renewal-due{grid-column:2;text-align:left}.renewal-summary{align-items:flex-start;flex-direction:column;gap:7px}.renewal-match{margin-left:0}.renewal-footer{align-items:stretch;flex-direction:column;margin:0 -17px;padding:12px 17px}.renewal-footer>div{display:grid;grid-template-columns:1fr}.renewal-toolbar{top:-21px}.row-actions>a:first-child{display:none}.renewal-period-config,.renewal-financial-breakdown{grid-column:auto;padding:12px 10px}.renewal-period-config>header,.renewal-financial-breakdown>header{align-items:flex-start;flex-direction:column}.renewal-period-fields,.renewal-financial-breakdown>div{grid-template-columns:1fr}.renewal-mode-switch{display:grid;grid-template-columns:1fr 1fr}.renewal-mode-switch span{text-align:center}
  .toast-stack{top:10px;right:10px}.confirm-popup{grid-template-columns:40px 1fr;padding:21px 17px}.confirm-icon{width:40px;height:40px}.confirm-popup footer{flex-direction:column-reverse}.confirm-popup footer .button{width:100%}
  .executive-hero{grid-template-columns:1fr;gap:19px;padding:22px 17px}.executive-copy h2{font-size:21px}.executive-pulse{justify-content:flex-start;padding:17px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);border-left:0}.executive-kpis{grid-column:auto;grid-template-columns:1fr;padding:0;border:0}.executive-kpis div,.executive-kpis div:first-child{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 0;border:0;border-top:1px solid rgba(255,255,255,.08)}.executive-kpis small{grid-column:1/-1}.executive-score{width:64px;height:64px}
  .customer-command,.tomorrow-subscriptions{padding:18px 13px}.customer-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-status-grid>a{grid-template-columns:26px 1fr;padding:11px 8px}.status-signal{width:26px;height:26px}.customer-status-grid strong{font-size:18px}.intelligence-grid>.card,.management-grid>.card,.portfolio-grid>.card{padding:18px 14px}.action-list{grid-template-columns:1fr}.all-clear{grid-column:auto}.lifecycle-visual{grid-template-columns:110px 1fr;gap:15px}.lifecycle-donut{width:106px;height:106px}.portfolio-grid{grid-template-columns:1fr}.product-intelligence{grid-column:auto}.performance-card .bar-chart{height:200px}
  .reminder-hero{align-items:flex-start;flex-direction:column;padding:20px 16px}.reminder-hero h2{font-size:21px}.reminder-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reminder-metrics article{padding:14px 12px}.reminder-section{padding:18px 14px}.reminder-section .settings-heading{align-items:flex-start;flex-wrap:wrap}.switch-control{width:100%;margin:4px 0 0}.frequency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-grid{grid-template-columns:1fr}.reminder-save,.reminder-operations{align-items:stretch;flex-direction:column}.reminder-save .button{width:100%}.reminder-operations>div:last-child{display:grid;grid-template-columns:1fr}.reminder-history{padding:18px 13px}.cron-note{flex-direction:column}.cron-note b{white-space:normal}.guardrail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday-picker label span{min-width:36px}.automation-safety-note{grid-template-columns:1fr}.automation-safety-note b{white-space:normal}.automation-flow .rule-heading{grid-template-columns:36px 1fr}.automation-flow .rule-heading .flow-switch{grid-column:1/-1;width:100%}.automation-step{padding:13px 10px}.automation-step>header{grid-template-columns:28px minmax(0,1fr) auto 27px}.step-core-grid{grid-template-columns:1fr 1fr}.step-core-grid label:first-child{grid-column:1/-1}.step-assets-grid{grid-template-columns:1fr}.step-message-layout{grid-template-columns:1fr}.step-preview em{min-height:110px}.step-variables{max-height:105px;overflow:auto}.whatsapp-test-panel{grid-template-columns:1fr;padding:18px 13px}.whatsapp-test-panel form{grid-template-columns:1fr}.whatsapp-test-panel .button{grid-column:auto}.operation-actions{width:100%}
  .badge-library-hero{align-items:flex-start;flex-direction:column;padding:20px 16px}.badge-hero-preview{justify-content:flex-start}.service-badge-grid{grid-template-columns:1fr}.badge-icon-options{grid-template-columns:repeat(3,minmax(0,1fr))}.badge-tone-options{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-badge-field>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}.row-badge-action span{display:none}.badge-assignment-footer{align-items:stretch;flex-direction:column-reverse}.badge-assignment-footer .button{width:100%}
}

/* Escala tipográfica acessível — Lembretes WhatsApp */
.reminder-hero h2 { font-size:1.625rem;line-height:1.2; }
.reminder-hero>div>p:last-child { font-size:.875rem;line-height:1.55; }
.reminder-hero .eyebrow { font-size:.6875rem; }
.integration-state { font-size:.75rem;line-height:1.2; }
.reminder-metrics span { font-size:.6875rem;line-height:1.35;letter-spacing:.04em; }
.reminder-metrics strong { margin:5px 0 3px;font-size:1.75rem;line-height:1.1; }
.reminder-metrics small { font-size:.75rem;line-height:1.45; }
.reminder-section .settings-heading h2 { font-size:1.375rem;line-height:1.25; }
.reminder-section .settings-heading p:last-child { font-size:.8125rem;line-height:1.5; }
.reminder-section .eyebrow,.reminder-operations .eyebrow,.whatsapp-test-panel .eyebrow,.reminder-history .eyebrow { font-size:.6875rem; }
.switch-control { font-size:.8125rem;line-height:1.35; }
.integration-summary b { font-size:.8125rem;line-height:1.35; }
.integration-summary small { margin-top:2px;font-size:.75rem;line-height:1.45; }
.reminder-section .form-grid label { font-size:.75rem;line-height:1.4; }
.reminder-section .form-grid input,.reminder-section .form-grid select,.reminder-section .form-grid textarea { min-height:46px;font-size:.875rem;line-height:1.45; }
.reminder-section .form-grid label small { font-size:.6875rem;line-height:1.45; }
.guardrail-grid label,.step-core-grid label,.step-assets-grid label,.whatsapp-test-panel label { font-size:.6875rem;line-height:1.4; }
.guardrail-grid input,.step-core-grid input,.step-assets-grid input,.whatsapp-test-panel input,.whatsapp-test-panel select {
  height:46px;
  font-family:inherit;
  font-size:.875rem;
  font-weight:500;
  line-height:1.4;
  text-transform:none;
}
.guardrail-grid small,.step-assets-grid small { font-size:.6875rem;line-height:1.45; }
.weekday-picker>span { font-size:.6875rem; }
.weekday-picker label span { min-width:44px;height:36px;font-size:.75rem; }
.automation-safety-note { font-size:.75rem;line-height:1.55; }
.rule-heading h2 { font-size:1.375rem;line-height:1.25; }
.rule-heading p:last-child { font-size:.8125rem;line-height:1.5; }
.flow-switch { font-size:.8125rem; }
.step-sequence { font-size:.75rem; }
.automation-step>header b { font-size:.8125rem;line-height:1.35; }
.automation-step>header small { font-size:.6875rem;line-height:1.45; }
.step-template-field,.step-preview>span { font-size:.6875rem;line-height:1.4; }
.step-template-field textarea {
  min-height:170px;
  font-family:inherit;
  font-size:.875rem;
  font-weight:450;
  line-height:1.6;
}
.step-template-field small { font-size:.6875rem;line-height:1.5; }
.step-preview em { min-height:170px;font-size:.875rem;line-height:1.6; }
.variable-picker button { min-height:30px;padding:6px 9px;font-size:.6875rem;line-height:1.2; }
.step-assets-grid input[type=file] { height:46px;padding:10px;font-size:.75rem; }
.stored-media { font-size:.75rem;line-height:1.45; }
.add-automation-step { min-height:44px;font-size:.8125rem;line-height:1.3; }
.reminder-save p { font-size:.75rem;line-height:1.5; }
.reminder-save .button,.reminder-operations .button,.whatsapp-test-panel .button { min-height:44px;font-size:.875rem; }
.reminder-operations h2,.whatsapp-test-panel h2,.reminder-history .card-header h2 { font-size:1.375rem;line-height:1.25; }
.reminder-operations>div>p:last-child,.whatsapp-test-panel>div>p:last-child { font-size:.8125rem;line-height:1.5; }
.whatsapp-test-panel input,.whatsapp-test-panel select { margin-top:6px; }
.reminder-history .card-subtitle { font-size:.75rem;line-height:1.5; }
.reminder-history th { font-size:.6875rem;line-height:1.35; }
.reminder-history td { font-size:.8125rem;line-height:1.5; }
.reminder-history td small { font-size:.75rem;line-height:1.45; }
.history-error { font-size:.6875rem;line-height:1.45; }
.table-link { font-size:.75rem;line-height:1.3; }
.cron-note { font-size:.75rem;line-height:1.55; }
.cron-note code { font-size:.6875rem; }

@media (max-width: 680px) {
  .reminder-hero h2 { font-size:1.5rem; }
  .reminder-metrics span { font-size:.625rem; }
  .reminder-metrics small { font-size:.6875rem; }
  .reminder-section .settings-heading h2,.rule-heading h2,.reminder-operations h2,.whatsapp-test-panel h2,.reminder-history .card-header h2 { font-size:1.25rem; }
  .guardrail-grid { grid-template-columns:1fr; }
  .weekday-picker { gap:8px; }
  .weekday-picker label span { min-width:42px;height:38px; }
  .step-template-field textarea,.step-preview em { min-height:150px; }
  .variable-picker button { min-height:34px;font-size:.75rem; }
}
