:root {
  --color-primary: #102d48;
  --color-secondary: #b58a45;
  --color-bg: #f5f1e9;
  --color-surface: #fffdf9;
  --color-text: #172a3a;
  --color-text-muted: #73777c;
  --color-success: #39a780;
  --color-warning: #b58a45;
  --color-danger: #c14453;
  --color-info: #456f91;
  --ink: #172a3a;
  --ink-strong: #0b2238;
  --muted: #73777c;
  --muted-strong: #555f68;
  --soft: #eee9df;
  --canvas: #f5f1e9;
  --white: #fffdf9;
  --navy: #102d48;
  --navy-deep: #0a2137;
  --gold: #b58a45;
  --gold-dark: #8f672e;
  --gold-soft: #f1e6d2;
  --sidebar: #0a2137;
  --sidebar-2: #102d48;
  --teal: #b58a45;
  --teal-dark: #8f672e;
  --cyan: #456f91;
  --magenta: #a90b89;
  --red: #c14453;
  --amber: #b58a45;
  --green: #39a780;
  --border: #ddd6ca;
  --line: var(--border);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius: 16px;
  --radius-lg: 20px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --spacing-xs: var(--space-1);
  --spacing-sm: var(--space-2);
  --spacing-md: var(--space-4);
  --spacing-lg: var(--space-6);
  --shadow-sm: 0 1px 3px rgba(10, 33, 55, .07);
  --shadow-md: 0 10px 34px rgba(10, 33, 55, .10);
  --shadow: 0 10px 34px rgba(10, 33, 55, .10);
  --sidebar-width: 264px;
  --sidebar-collapsed: 80px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; min-height: 100%; font-family: "Public Sans", "Segoe UI", Arial, sans-serif; color: var(--ink); background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(17,168,139,.32); outline-offset: 2px; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; border-radius: 8px; color: #fff; background: var(--sidebar); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.ui-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.hidden { display: none !important; }
[hidden] { display: none !important; }

.login-screen { min-height: 100vh; display: grid; grid-template-columns: 1.15fr .85fr; background: #fff; }
.login-visual { position: relative; min-height: 100vh; padding: 36px 48px; overflow: hidden; color: #fff; background: #062126 url("assets/login-bg.png") center/cover no-repeat; }
.login-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(3,30,34,.84), rgba(4,41,45,.38)); }
.login-brand, .login-message { position: relative; z-index: 1; }
.login-brand { display: flex; align-items: center; gap: 12px; letter-spacing: .04em; }
.login-visual > .login-brand { position: absolute; top: clamp(30px,4.5vh,48px); left: 8%; width: 236px; height: 174px; justify-content: flex-start; overflow: hidden; }
.login-brand > div:last-child { display: grid; }
.login-brand span { font-size: 10px; opacity: .72; letter-spacing: .16em; }
.brand-logo { display: block; flex: 0 0 auto; object-fit: contain; background: transparent; }
.login-visual > .login-brand .brand-logo-login { position: absolute; top: -70px; left: -38px; width: 313px; max-width: none; height: 313px; border-radius: 0; transform: none; }
.brand-logo-mobile { width: 42px; height: 42px; border-radius: 8px; }
.brand-logo-sidebar { width: 38px; height: 38px; border-radius: 8px; }
.login-message { position: absolute; left: 8%; bottom: 11%; max-width: 650px; }
.login-message h1 { margin: 16px 0; font-size: clamp(42px, 5vw, 72px); line-height: 1.03; letter-spacing: -.04em; }
.login-message p { max-width: 500px; color: rgba(255,255,255,.74); font-size: 17px; }
.eyebrow { display: inline-block; font-weight: 700; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.teal { color: var(--teal-dark); }
.login-panel { display: grid; place-items: center; padding: 40px; }
.login-card { width: min(410px, 100%); }
.login-card h2 { font-size: 34px; margin: 14px 0 4px; }
.login-card > p { color: var(--muted); margin: 0 0 28px; }
.login-card label { display: grid; gap: 7px; margin: 16px 0; font-size: 13px; font-weight: 650; }
.login-card input { height: 48px; padding: 0 14px; border: 1px solid var(--border); border-radius: 9px; outline: none; }
.login-card input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(17,168,139,.12); }
.login-card small { display: block; margin-top: 18px; color: var(--muted); line-height: 1.5; text-align: center; }
.form-success { min-height: 20px; color: #08745f; font-size: 13px; line-height: 1.5; }
.mobile-brand { display: none; font-weight: 800; align-items: center; gap: 10px; margin-bottom: 28px; }
.form-error { min-height: 21px; color: var(--red); font-size: 13px; }
.admin-provision-card input[aria-invalid="true"] { border-color:#b24949; background:#fff7f7; box-shadow:0 0 0 3px rgba(178,73,73,.11); }
.onboarding-card { max-height: 92vh; overflow-y: auto; }
.onboarding-card > .btn { margin-top: 10px; }

.app { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: var(--sidebar-width); display: flex; flex-direction: column; color: #aebdbf; background: var(--sidebar); box-shadow: 12px 0 30px rgba(1,20,23,.04); transition: width .2s ease, transform .25s ease; }
.sidebar.collapsed { width: var(--sidebar-collapsed); }
.sidebar-head { height: 78px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.04); }
.logo-button { display: flex; align-items: center; gap: 10px; color: #fff; background: transparent; border: 0; cursor: pointer; text-align: left; }
.logo-button > span:last-child { display: grid; }
.logo-button small { color: #78a4a5; font-size: 7px; letter-spacing: .16em; }
.sidebar-scroll { overflow: auto; padding: 0 12px 20px; scrollbar-width: thin; }
.menu-label { margin: 15px 8px 10px; color: #697c7e; font-size: 12px; }
.nav-list { display: grid; gap: 4px; }
.nav-item { width: 100%; min-height: 43px; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 7px; padding: 8px 10px; border: 0; border-radius: 10px; color: #aebdbf; background: transparent; cursor: pointer; text-align: left; font-size: 13px; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.045); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(89,217,203,.16), rgba(8,43,48,.86)); box-shadow: inset 3px 0 0 #59d9cb; }
.nav-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; color: #8da2a4; font-size: 15px; }
.nav-item.active .nav-icon { color: #67dfd1; }
.advanced-toggle { margin-bottom: 3px; }
.advanced .nav-item { min-height: 32px; padding-block: 4px; font-size: 12px; }
.advanced .nav-icon { font-size: 9px; }
.profile-card { margin-top: auto; width: 100%; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; padding: 14px 16px; border: 0; border-top: 1px solid rgba(255,255,255,.05); color: #fff; background: #061d20; cursor: pointer; text-align: left; }
.profile-copy { display: grid; min-width: 0; }
.profile-copy strong, .profile-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { font-size: 10px; color: #aebdbf; }
.avatar { display: inline-grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: #39777b; font-weight: 700; }
.sidebar.collapsed .logo-button > span:last-child, .sidebar.collapsed .nav-item > span:not(.nav-icon), .sidebar.collapsed .menu-label, .sidebar.collapsed .profile-copy, .sidebar.collapsed .profile-card > span:last-child, .sidebar.collapsed .advanced-label { display: none; }
.sidebar.collapsed .nav-item { grid-template-columns: 1fr; place-items: center; }
.sidebar.collapsed .sidebar-head { justify-content: center; }
.sidebar.collapsed .sidebar-head .logo-button { display: none; }
.sidebar.collapsed .sidebar-head .icon-btn { display: inline-grid; }
.sidebar.collapsed .profile-card { grid-template-columns: 1fr; justify-items: center; }

.workspace { margin-left: var(--sidebar-width); min-height: 100vh; transition: margin-left .2s ease; }
.sidebar.collapsed + .workspace { margin-left: var(--sidebar-collapsed); }
.topbar { position: sticky; top: 0; z-index: 20; height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 30px; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--border); backdrop-filter: blur(14px); }
.topbar-context { display: flex; align-items: center; min-width: 0; gap: 10px; }
.breadcrumb { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--muted); font-size: 12px; }
.breadcrumb button { padding: 0; border: 0; color: var(--teal-dark); background: transparent; cursor: pointer; }
.breadcrumb strong { max-width: 240px; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.mobile-menu-toggle { display: none !important; }
.sidebar-backdrop { display: none; }
.top-actions { display: flex; align-items: center; gap: 12px; position: relative; }
.command-button { display:flex; align-items:center; gap:8px; min-height:38px; padding:7px 10px; color:var(--muted-strong); border:1px solid var(--border); border-radius:10px; background:#fff; font:inherit; font-size:12px; font-weight:650; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,color .18s ease; }
.command-button > span:first-child { color:var(--gold-dark); font-size:20px; line-height:1; }
.command-button kbd { padding:3px 6px; color:var(--muted); border:1px solid #ddd6ca; border-radius:5px; background:var(--surface-soft); font:inherit; font-size:9px; }
.command-button:hover,.command-button:focus-visible { color:var(--navy); border-color:var(--gold); box-shadow:0 4px 13px rgba(9,34,55,.08); outline:none; }
.header-popover { position:absolute; right:0; top:calc(100% + 10px); z-index:120; isolation:isolate; width:min(360px,calc(100vw - 24px)); max-height:min(480px,70vh); overflow:auto; padding:14px; border:1px solid var(--border); border-radius:12px; background:#fff; opacity:1; backdrop-filter:none; box-shadow:0 18px 44px rgba(0,0,0,.2); }
.header-popover h3 { margin:0 0 10px; font-size:15px; }.popover-item { display:block; width:100%; padding:10px 6px; border:0; border-top:1px solid var(--border); background:transparent; color:inherit; text-align:left; cursor:pointer; border-radius:8px; }.popover-item:hover { background:var(--soft); }.popover-item.critical { border-left:3px solid var(--red); }.popover-item.warning { border-left:3px solid var(--gold); }.popover-item strong,.popover-item span { display:block; }.popover-item span { color:var(--muted); font-size:12px; margin-top:3px; }.popover-empty { color:var(--muted); padding:10px 0; }.user-popover .account-email { color:var(--muted); font-size:12px; margin:3px 0 12px; }.user-popover button { width:100%; text-align:left; background:transparent; border:0; padding:10px 6px; cursor:pointer; color:inherit; }.user-popover .menu-danger { color:var(--red); border-top:1px solid var(--border); margin-top:6px; }
.offline-pill { padding: 5px 9px; border-radius: 999px; color: #18745e; background: #e4f7f1; font-size: 11px; font-weight: 700; }
.persistence-status { padding: 5px 9px; border-radius: 999px; color: #3f5d60; background: #edf4f4; font-size: 11px; font-weight: 700; }
.persistence-status.saving { color: #91631c; background: #fff2d9; }.persistence-status.saved { color: #116b56; background: #e4f7f1; }.persistence-status.error, .persistence-status.conflict, .persistence-status.session_expired { color: #9f3542; background: #fdecef; }.persistence-status.not_saved, .persistence-status.unconfirmed { color: #80591a; background: #fff2d9; }
.logout-button { min-height: 34px; }
.icon-btn, .notification-btn, .top-profile { border: 0; background: transparent; cursor: pointer; }
.icon-btn { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 9px; font-size: 20px; }
.icon-btn:hover { background: #eff4f4; }
.icon-btn.subtle { color: #829496; }
.notification-btn { position: relative; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 50%; font-size: 24px; }
.notification-btn span { position: absolute; top: -5px; right: -2px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #fff; background: var(--red); font-size: 10px; }
.top-profile { display: flex; align-items: center; gap: 7px; }
.content { max-width: 1540px; margin: 0 auto; padding: 38px 34px 64px; outline: none; }

/* Busca global e ações rápidas */
.command-backdrop { position:fixed; inset:0; z-index:210; display:flex; align-items:flex-start; justify-content:center; padding:clamp(70px,10vh,120px) 20px 20px; background:rgba(3,22,38,.66); backdrop-filter:blur(6px); }
body.command-open { overflow:hidden; }
.command-dialog { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; width:min(680px,100%); max-height:min(700px,calc(100dvh - 100px)); overflow:hidden; color:var(--text); border:1px solid rgba(214,175,103,.35); border-radius:18px; background:#fffdf9; box-shadow:0 30px 80px rgba(2,20,34,.34); animation:command-in .16s ease-out; }
.command-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:21px 22px 14px; }
.command-head h2 { margin:3px 0 0; color:var(--navy); font-family:var(--font-serif); font-size:25px; }
.command-search { display:flex; align-items:center; gap:11px; margin:0 22px 13px; padding:0 14px; border:1px solid #d8cdbb; border-radius:12px; background:#fff; box-shadow:0 4px 16px rgba(9,34,55,.06); }
.command-search:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(181,138,69,.13); }
.command-search > span { color:var(--gold-dark); font-size:24px; }
.command-search input { width:100%; min-height:48px; padding:0; border:0; outline:0; background:transparent; color:var(--navy); font:inherit; font-size:15px; }
.command-search input::placeholder { color:#8a9298; }
.command-results { min-height:120px; overflow:auto; padding:3px 12px 12px; }
.command-result { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:58px; padding:9px 12px; color:var(--text); border:1px solid transparent; border-radius:11px; background:transparent; text-align:left; cursor:pointer; }
.command-result:hover,.command-result.active { color:var(--navy); border-color:#e0d2b7; background:#faf3e6; }
.command-result:focus-visible { outline:3px solid rgba(181,138,69,.35); outline-offset:-2px; }
.command-result-icon { display:grid; place-items:center; width:36px; height:36px; color:var(--gold-dark); border-radius:10px; background:#f2e7d2; }
.command-result-copy { min-width:0; }
.command-result-copy strong,.command-result-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.command-result-copy strong { color:inherit; font-size:13px; }
.command-result-copy small { margin-top:4px; color:var(--muted-strong); font-size:11px; }
.command-result > kbd,.command-help kbd { padding:3px 6px; color:var(--muted); border:1px solid #ddd6ca; border-radius:5px; background:#fff; font:inherit; font-size:9px; }
.command-empty { display:grid; place-items:center; align-content:center; min-height:145px; color:var(--muted-strong); text-align:center; }
.command-empty strong,.command-empty span { display:block; }.command-empty span { margin-top:5px; font-size:12px; }
.command-help { display:flex; align-items:center; gap:18px; padding:12px 22px; color:var(--muted); border-top:1px solid var(--border); background:#faf8f3; font-size:10px; }
.command-help span { display:flex; align-items:center; gap:4px; }
@keyframes command-in { from { opacity:0; transform:translateY(-9px) scale(.985); } }
@media (prefers-reduced-motion: reduce) { .command-dialog { animation:none; } }

.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-head h1 { margin: 2px 0 0; color: var(--ink-strong); font-size: clamp(30px, 3vw, 38px); line-height: 1.12; letter-spacing: -.035em; }
.page-head p { margin: 7px 0 0; color: var(--muted); }
.page-kicker, .section-kicker { display: block; color: var(--teal-dark); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section-kicker { margin-bottom: 4px; color: #789092; font-size: 9px; }
.head-actions, .filter-row, .inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.statement-pager { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); color:var(--muted); font-size:12px; }
.statement-pager label,.statement-pager > div { display:flex; align-items:center; gap:9px; }
.statement-pager select { min-width:74px; }
.statement-pager .statement-page-jump { gap:5px; white-space:nowrap; }.statement-pager .statement-page-jump input { width:54px; min-height:34px; padding:5px 6px; text-align:center; }
.statement-pager .btn { min-height:36px; padding:7px 12px; }
.statement-pager .btn:disabled { opacity:.45; cursor:not-allowed; }
.grid { display: grid; gap: 18px; }
.grid > * { min-width: 0; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid.cols-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.card { background: #fff; border: 1px solid rgba(14,62,66,.075); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card.pad { padding: 22px; }
.section-card { padding: 24px; }
.section-card + .section-card { margin-top: 22px; }
.section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 18px; }
.section-head h2, .section-head h3 { margin: 0; }
.section-head h2 { font-size: 20px; }
.section-head h3 { font-size: 15px; }
.metric-card { min-height: 126px; padding: 20px; display: flex; flex-direction: column; justify-content: center; }
.metric-button { width: 100%; border: 1px solid var(--border); text-align: left; cursor: pointer; color: inherit; }
.metric-button:hover { border-color: #78b7ad; transform: translateY(-1px); }
.metric-label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.metric-value { margin-top: 8px; font-size: clamp(23px, 2.1vw, 30px); font-weight: 680; line-height: 1.1; letter-spacing: -.035em; }
.metric-meta { min-height: 16px; margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.metric-value.green, .money.positive { color: var(--green); }
.metric-value.red, .money.negative { color: var(--red); }
.metric-value.teal { color: var(--teal-dark); }
.metric-icon { font-weight: 800; }
.metric-icon.in { color: var(--teal); }.metric-icon.out { color: var(--red); }.metric-icon.balance { color: var(--teal-dark); }

.btn { min-height: 40px; padding: 9px 15px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--border); border-radius: 9px; background: #fff; cursor: pointer; font-weight: 650; font-size: 13px; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover { filter: brightness(.98); box-shadow: 0 5px 14px rgba(10,40,43,.08); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn.primary { border-color: var(--sidebar); color: #fff; background: var(--sidebar); }
.btn.teal { border-color: var(--teal-dark); color: #fff; background: var(--teal-dark); }
.btn.danger { border-color: #f2d9dc; color: var(--red); background: #fff6f7; }
.btn.ghost { border-color: transparent; color: var(--teal-dark); background: transparent; }
.btn.ghost:hover { background: #edf7f5; box-shadow: none; }
.btn.full { width: 100%; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.field-input[readonly],.field-input:disabled { color:#6f7e80; background:#edf1f1; border-color:#d5dddd; cursor:not-allowed; }
select, .field-input { min-height: 40px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: #fff; outline: none; }
input::placeholder, textarea::placeholder { color: #9aabad; }
select:focus, .field-input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(17,168,139,.1); }
.field { display: grid; gap: 7px; }
.field > span { color: #4f6264; font-size: 12px; font-weight: 650; }
.field textarea { min-height: 84px; resize: vertical; }

.summary-bars { display: grid; gap: 25px; }
.bar-row { display: grid; gap: 8px; }
.bar-meta { display: flex; justify-content: space-between; gap: 10px; color: #445557; font-size: 13px; }
.bar-meta span:last-child { color: var(--muted); }
.progress { height: 12px; overflow: hidden; border-radius: 999px; background: #e5ecec; }
.progress > span { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: var(--teal); }
.progress.magenta > span { background: var(--magenta); }
.progress.cyan > span { background: var(--cyan); }
.progress.red > span { background: var(--red); }
.progress.amber > span { background: var(--amber); }
.progress.green > span { background: var(--green); }
.chart { position: relative; min-height: 275px; overflow: hidden; border-radius: 10px; background: linear-gradient(#fff, #fff), repeating-linear-gradient(to bottom, transparent 0 58px, #e7eeee 59px 60px); }
.chart-bars { height: 245px; display: flex; align-items: end; gap: 9px; padding: 22px 12px 28px; }
.chart-group { flex: 1; height: 100%; display: flex; align-items: end; justify-content: center; gap: 3px; position: relative; min-width: 18px; }
.chart-group i { display: block; width: 34%; min-height: 2px; border-radius: 3px 3px 0 0; }
.chart-group i.in { background: var(--teal); }.chart-group i.out { background: var(--red); }
.chart-group small { position: absolute; bottom: -20px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.legend { display: flex; gap: 16px; padding: 7px 12px; color: var(--muted); font-size: 11px; }
.legend span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: var(--teal); }.legend span:last-child::before { background: var(--red); }

.table-wrap { overflow: auto; border: 1px solid var(--border); border-radius: 12px; }
.table-wrap select { min-width: 150px; }
.table-wrap input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--color-primary); }
.inline-check { display: flex; align-items: center; gap: 6px; margin-top: 7px; color: var(--muted); font-size: 12px; white-space: nowrap; }
table { width: 100%; border-collapse: collapse; min-width: 740px; }
th, td { padding: 13px 14px; border-bottom: 1px solid #edf1f1; text-align: left; font-size: 12px; vertical-align: middle; }
th { color: #617173; background: #f8fafa; font-weight: 700; white-space: nowrap; }
tbody tr:hover { background: #fbfdfd; }
tbody tr:last-child td { border-bottom: 0; }
.transaction-name { font-weight: 650; color: #34484a; }
.subtle-text { color: var(--muted); font-size: 11px; }
.money { font-weight: 700; white-space: nowrap; }
.tag { display: inline-flex; align-items: center; gap: 5px; max-width: 200px; padding: 5px 9px; border-radius: 999px; color: #3f5d60; background: #edf4f4; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tag.success { color: #116b56; background: #e4f7f1; }.tag.danger { color: #9f3542; background: #fdecef; }.tag.warning { color: #91631c; background: #fff2d9; }
.allocation-input { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 220px); gap: 16px; align-items: end; padding: 12px 0; border-bottom: 1px solid var(--line); }
.allocation-input:last-child { border-bottom: 0; }
.allocation-input > div:first-child { display: grid; gap: 4px; }
.allocation-input small { color: var(--muted); }
button.tag { border: 0; cursor: pointer; font-family: inherit; }
.row-actions { display: flex; gap: 6px; }
.mini-btn { width: 30px; height: 30px; border: 1px solid var(--border); border-radius: 8px; background: #fff; cursor: pointer; }
.empty { padding: 44px 20px; display: grid; place-items: center; gap: 12px; text-align: center; color: var(--muted); }
.empty img { width: 150px; max-height: 120px; object-fit: contain; }

.tabs { display: flex; gap: 4px; overflow: auto; padding: 4px; border-radius: 10px; background: #e8eeee; }
.tab { flex: 0 0 auto; min-height: 36px; padding: 7px 13px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-weight: 650; font-size: 12px; }
.tab.active { background: #fff; box-shadow: 0 2px 7px rgba(8,39,42,.08); }
.goal-card { position: relative; padding: 22px; display: grid; gap: 16px; cursor: pointer; }
.goal-card:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.goal-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.goal-title h3 { margin: 0; font-size: 17px; }
.goal-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.goal-stats span { display: grid; gap: 4px; color: var(--muted); font-size: 10px; }.goal-stats strong { color: var(--ink); font-size: 12px; }
.asset-list { display: grid; gap: 15px; }
.asset-card { padding: 18px; display: grid; gap: 14px; }
.asset-card-head { display: flex; justify-content: space-between; gap: 10px; }
.asset-card h3 { margin: 0; font-size: 15px; }
.asset-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.asset-grid div { display: grid; gap: 4px; }.asset-grid span { color: var(--muted); font-size: 10px; }.asset-grid strong { font-size: 12px; }
.donut-wrap { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.donut { width: 170px; height: 170px; display: grid; place-items: center; border-radius: 50%; background: var(--donut-bg, #e5ecec); }
.donut::after { content: attr(data-center); width: 108px; height: 108px; display: grid; place-items: center; border-radius: 50%; background: #fff; font-weight: 700; font-size: 13px; text-align: center; }
.status-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.status-row:last-child { border-bottom: 0; }.status-brand { display: flex; align-items: center; gap: 12px; }.bank-logo { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--sidebar-2); font-weight: 800; }
.notice { padding: 14px 16px; border: 1px solid #cde9e3; border-radius: 10px; color: #365f5a; background: #edf9f6; font-size: 12px; line-height: 1.5; }
.notice.warning { border-color: #f2dfb9; color: #76561f; background: #fff8ea; }
.calculator-grid { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.form-section { margin: 18px 0 0; padding: 16px; border: 1px solid var(--border); border-radius: 12px; }
.form-section legend { padding: 0 7px; color: var(--teal); font-size: 12px; font-weight: 700; }
.form-section[hidden] { display: none; }
.form-wide { grid-column: 1/-1; }
.result-hero { padding: 26px; color: #fff; background: linear-gradient(135deg, #073236, #0b6665); border-radius: 14px; }
.result-hero span { opacity: .72; font-size: 12px; }.result-hero strong { display: block; margin-top: 8px; font-size: 33px; }
.timeline { min-height: 210px; display: flex; align-items: end; gap: 5px; padding: 18px 8px 25px; border-bottom: 1px solid var(--border); }
.timeline i { flex: 1; min-width: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(#37b6a2, #0f766e); }
.health-row { display: grid; grid-template-columns: minmax(130px,1fr) 120px 120px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 12px; }.health-row strong { text-align: right; }
.health-row.total-row { border-top: 2px solid var(--border); border-bottom: 0; font-weight: 700; }
.category-list { display: flex; flex-wrap: wrap; gap: 9px; }
.category-chip { padding: 8px 11px; border: 1px solid var(--border); border-radius: 9px; background: #fff; cursor: pointer; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 22px; background: rgba(1,20,23,.66); backdrop-filter: blur(4px); }
.modal { width: min(690px,100%); max-height: calc(100vh - 44px); overflow: auto; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: #fff; box-shadow: 0 24px 90px rgba(0,0,0,.32); }
.modal.wide { width: min(900px,100%); }
.modal-head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 20px 22px; border-bottom: 1px solid var(--border); background: #fff; }
.modal-head h2 { margin: 0; font-size: 20px; }.modal-close { width: 34px; height: 34px; border: 0; border-radius: 8px; background: #eef3f3; cursor: pointer; font-size: 21px; }
.modal-body { padding: 22px; }.modal-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 22px; border-top: 1px solid var(--border); }
.modal-form-error { min-height: 0; margin: 0 22px; padding: 0; color: var(--red); font-size: 12px; line-height: 1.45; }
.modal-form-error:not(:empty) { min-height: 42px; margin-bottom: 4px; padding: 11px 13px; border: 1px solid #f2d9dc; border-radius: 9px; background: #fff6f7; }
.toast-root { position: fixed; z-index: 200; right: 22px; bottom: 22px; display: grid; gap: 10px; }
.toast { min-width: 280px; max-width: 420px; padding: 13px 14px; display: grid; grid-template-columns: 24px 1fr 24px; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; color: #fff; background: var(--sidebar); box-shadow: var(--shadow); font-size: 13px; animation: toast-in .2s ease; }
.toast.warning { background: #815817; }.toast.error { background: #9f3542; }
.toast-mark { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); font-weight: 800; }
.toast button { border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 18px; }
.top-gap { margin-top: 22px; }
.top-gap-small { margin-top: 14px; }
.filter-tabs { width: max-content; max-width: 100%; }
.check-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.check-field { display: flex; align-items: center; gap: 9px; color: #4f6264; font-size: 12px; }
.check-field input { width: 17px; height: 17px; accent-color: var(--teal-dark); }
.link-field { display: grid; gap: 10px; margin-top: 18px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; }
.link-field legend { padding: 0 7px; color: #4f6264; font-size: 12px; font-weight: 700; }
.integration-flow { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 15px 0; }
.integration-flow span { padding: 8px 11px; border-radius: 8px; color: #31585b; background: #edf4f4; font-size: 12px; font-weight: 650; }
.integration-flow b { color: var(--teal-dark); }
.projection-box { display: grid; gap: 7px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #fafcfc; }
.projection-box span { color: var(--muted); font-size: 10px; text-transform: capitalize; }
.projection-box strong { font-size: 15px; }
.donut-legend { flex: 1; min-width: 220px; display: grid; gap: 10px; }
.donut-legend > div { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; font-size: 11px; }
.donut-legend i { width: 9px; height: 9px; border-radius: 50%; }
.allocation-row { width: 100%; display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: inherit; text-align: left; font: inherit; font-size: 11px; }
button.allocation-row { cursor: pointer; }
button.allocation-row:hover { background: #eef5f4; }
.allocation-row i { width: 9px; height: 9px; border-radius: 50%; }
.patrimony-tabs { margin-bottom: 4px; }
.snapshot-labels { display: flex; justify-content: space-around; gap: 4px; color: var(--muted); }
.snapshot-labels small { font-size: 9px; }
.card-selector { display: flex; gap: 14px; overflow-x: auto; padding: 3px 3px 12px; }
.credit-card { min-width: 285px; min-height: 190px; padding: 18px; display: grid; align-content: space-between; gap: 5px; border: 3px solid transparent; border-radius: 16px; color: #fff; background: linear-gradient(135deg,var(--card-color),color-mix(in srgb,var(--card-color),#000 28%)); box-shadow: var(--shadow); cursor: pointer; text-align: left; }
.credit-card.active { border-color: #61e0cf; }
.credit-card span, .credit-card small { opacity: .75; }
.credit-card strong { font-size: 18px; }
.credit-card small { letter-spacing: .03em; }
.mini-bars { min-height: 190px; display: grid; grid-template-columns: repeat(6,minmax(80px,1fr)); align-items: end; gap: 12px; overflow-x: auto; padding: 18px 2px 2px; }
.mini-bar { min-width: 80px; height: 165px; display: grid; grid-template-rows: 1fr auto auto; align-items: end; gap: 6px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); cursor: pointer; font: inherit; }
.mini-bar > span { width: 34px; min-height: 2px; max-height: 120px; justify-self: center; border-radius: 8px 8px 2px 2px; background: linear-gradient(180deg,var(--teal),#0b786d); transition: height .2s ease; }
.mini-bar small { color: var(--muted); text-transform: capitalize; }
.mini-bar strong { font-size: 10px; }
.mini-bar:hover { background: #eef5f4; }
.help-tip { position: relative; width: 17px; height: 17px; display: inline-grid; place-items: center; border: 1px solid #cbd9d9; border-radius: 50%; color: #6a7d80; font-size: 10px; font-weight: 800; cursor: help; }
.help-tip::after { content: attr(data-tooltip); position: absolute; z-index: 60; left: 50%; bottom: calc(100% + 8px); width: max-content; max-width: 250px; padding: 8px 10px; border-radius: 8px; color: #fff; background: var(--sidebar); box-shadow: var(--shadow); font-size: 10px; font-weight: 500; line-height: 1.4; opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: .15s ease; }
.help-tip:hover::after, .help-tip:focus::after { opacity: 1; transform: translate(-50%, 0); }
.values-hidden .metric-value, .values-hidden .money, .values-hidden .donut::after, .values-hidden .insight-card strong, .values-hidden .compact-row strong:last-child { letter-spacing: .12em; }

/* Home V4.6 */
.dashboard-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 18px; align-items: start; }
.home-span-4 { grid-column: span 4; }.home-span-6 { grid-column: span 6; }.home-span-8 { grid-column: span 8; }.home-span-12 { grid-column: span 12; }
.home-metrics .metric-card { position: relative; overflow: hidden; }
.home-metrics .metric-card::after { content: ""; position: absolute; right: -34px; bottom: -48px; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, rgba(17,168,139,.08), transparent 68%); pointer-events: none; }
.home-chart { min-height: 280px; display: grid; grid-template-rows: 1fr auto; }
.home-chart-grid { min-height: 235px; display: flex; align-items: end; gap: clamp(10px,2vw,24px); padding: 22px 12px 8px; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to bottom, transparent 0 52px, #edf2f2 53px 54px); }
.home-chart-group { height: 210px; flex: 1; min-width: 34px; display: grid; grid-template-rows: 1fr 22px; align-items: end; gap: 5px; }
.home-chart-columns { height: 100%; display: flex; align-items: end; justify-content: center; gap: 5px; }
.home-chart-columns i { width: min(22px,42%); min-height: 2px; border-radius: 5px 5px 1px 1px; transition: height .2s ease; }
.home-chart-columns .income { background: linear-gradient(180deg,#46c8af,var(--teal-dark)); }.home-chart-columns .expense { background: linear-gradient(180deg,#df7a86,var(--red)); }
.home-chart-group small { color: var(--muted); text-align: center; text-transform: capitalize; }
.chart-legend { display: flex; gap: 18px; padding-top: 13px; color: var(--muted); font-size: 11px; }
.chart-legend span::before { content: ""; width: 8px; height: 8px; display: inline-block; margin-right: 6px; border-radius: 50%; background: var(--teal); }.chart-legend .expense::before { background: var(--red); }
.comparison-list, .compact-list, .alert-list { display: grid; }
.comparison-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid #edf2f2; }
.comparison-row:first-child { padding-top: 2px; }.comparison-row:last-child { padding-bottom: 0; border-bottom: 0; }
.comparison-row > div { display: grid; gap: 4px; }.comparison-row small { color: var(--muted); font-size: 10px; }
.comparison-status { min-width: 72px; padding: 6px 8px; border-radius: 999px; color: var(--muted-strong); background: #edf3f3; font-size: 10px; font-weight: 800; text-align: center; }
.comparison-status.good { color: #116b56; background: #e4f7f1; }.comparison-status.warning { color: #91631c; background: #fff2d9; }.comparison-status.risk { color: #9f3542; background: #fdecef; }
.compact-row { width: 100%; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 4px; border: 0; border-bottom: 1px solid #edf2f2; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.compact-row:last-child { border-bottom: 0; }.compact-row:hover { background: #fbfdfd; }
.compact-main { min-width: 0; flex: 1; display: grid; gap: 5px; }.compact-row > span:last-child, .align-end { display: grid; justify-items: end; gap: 5px; }
.compact-row strong { font-size: 12px; }.compact-row small { color: var(--muted); font-size: 9px; }
.compact-row .progress { height: 5px; }
.future-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 14px; }
.future-strip div { min-width: 0; padding: 10px; display: grid; gap: 4px; border-radius: 9px; background: #f4f8f7; }.future-strip small { color: var(--muted); font-size: 9px; text-transform: capitalize; }.future-strip strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; }
.reserve-summary { display: grid; gap: 10px; }.reserve-summary > strong { font-size: 28px; letter-spacing: -.03em; }.reserve-summary > small { color: var(--muted); line-height: 1.45; }.reserve-summary > div { display: flex; justify-content: space-between; color: var(--muted-strong); font-size: 10px; }
.alert-row { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 12px 4px; border: 0; border-bottom: 1px solid #edf2f2; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.alert-row:last-child { border-bottom: 0; }.alert-row:hover { background: #fbfdfd; }
.alert-row > span:nth-child(2) { display: grid; gap: 4px; }.alert-row strong { font-size: 11px; }.alert-row small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.alert-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: #91631c; background: #fff2d9; }.alert-row.critical .alert-icon { color: #9f3542; background: #fdecef; }
.healthy-state { min-height: 150px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #116b56; text-align: left; }.healthy-state > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e4f7f1; font-size: 20px; }.healthy-state div { display: grid; gap: 4px; }.healthy-state small { color: var(--muted); }
.insight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.insight-card { min-height: 112px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: start; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; color: inherit; background: #fbfdfd; cursor: pointer; text-align: left; }.insight-card:hover { border-color: #a6d9d0; background: #f2faf8; }
.insight-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--teal-dark); background: #e4f7f1; }.insight-card > span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }.insight-card small { color: var(--muted); }.insight-card strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; }.insight-card em { color: var(--muted); font-size: 9px; font-style: normal; line-height: 1.4; }
.quick-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.quick-actions > button { min-height: 68px; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--ink); background: #fff; cursor: pointer; text-align: left; }.quick-actions > button:hover { border-color: #a6d9d0; background: #f4faf9; }.quick-actions .ui-icon { color: var(--teal-dark); }.quick-actions span { display: grid; gap: 3px; }.quick-actions strong { font-size: 11px; }.quick-actions small { color: var(--muted); font-size: 8px; line-height: 1.3; }
.pulse-grid { display: grid; gap: 8px; }
.pulse-grid > div { min-width: 0; padding: 10px 11px; display: grid; gap: 4px; border: 1px solid #e8eeee; border-radius: 9px; background: #f8fbfa; }
.pulse-grid small { color: var(--muted); font-size: 9px; }.pulse-grid strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pulse-grid strong.positive { color: var(--green); }.pulse-grid strong.negative { color: var(--red); }
.flow-pulse, .budget-pulse { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; }
.goal-pulse { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 10px; }
.card-pulse { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 10px; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 1440px) {
  .content { max-width: 1320px; }
}
@media (max-width: 1100px) {
  .grid.cols-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid.cols-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid.cols-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calculator-grid { grid-template-columns: 1fr; }
  .asset-grid { grid-template-columns: repeat(2,1fr); }
  .home-span-4, .home-span-8 { grid-column: span 6; }
  .insight-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .sidebar, .sidebar.collapsed { width: min(300px,86vw); transform: translateX(-105%); }
  .sidebar.mobile-open, .sidebar.collapsed.mobile-open { transform: translateX(0); }
  .sidebar.collapsed .logo-button > span:last-child { display: grid; }.sidebar.collapsed .nav-item > span:not(.nav-icon), .sidebar.collapsed .menu-label, .sidebar.collapsed .profile-copy, .sidebar.collapsed .profile-card > span:last-child, .sidebar.collapsed .advanced-label { display: initial; }
  .sidebar.collapsed .nav-item { grid-template-columns: 25px 1fr auto; place-items: initial; }.sidebar.collapsed .sidebar-head { justify-content: space-between; }.sidebar.collapsed .sidebar-head .logo-button { display: flex; }.sidebar .sidebar-head .icon-btn { display: none; }.sidebar.collapsed .profile-card { grid-template-columns: 34px 1fr auto; justify-items: initial; }
  .workspace, .sidebar.collapsed + .workspace { margin-left: 0; }
  .mobile-menu-toggle { display: inline-grid !important; }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 25; width: 100%; border: 0; background: rgba(1,20,23,.55); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .sidebar-backdrop.visible { display: block; opacity: 1; pointer-events: auto; }
  body.menu-open { overflow: hidden; }
  .topbar { padding: 0 18px; }
  .content { padding-inline: 22px; }
  .home-span-4, .home-span-6, .home-span-8, .home-span-12 { grid-column: span 12; }
}
@media (max-width: 768px) {
  .login-screen { grid-template-columns: 1fr; }.login-visual { display: none; }.mobile-brand { display: flex; }
  .topbar { height: 66px; padding: 0 12px; }.top-actions { gap: 5px; }.offline-pill { display: none; }.top-profile > span:last-child { display: none; }
  .command-button { width:40px; height:40px; min-height:40px; justify-content:center; padding:0; border-radius:50%; }.command-button > span:nth-child(2),.command-button kbd { display:none; }
  .command-backdrop { padding:18px 10px; }.command-dialog { max-height:calc(100dvh - 36px); border-radius:15px; }.command-head { padding:18px 17px 12px; }.command-search { margin-inline:17px; }.command-help { gap:11px; padding-inline:17px; }.command-help span:first-child { display:none; }
  .breadcrumb #breadcrumb-section, .breadcrumb span[aria-hidden="true"]:first-of-type { display: none; }
  .content { padding: 24px 14px 42px; }.page-head { align-items: stretch; flex-direction: column; gap: 16px; }.page-head h1 { font-size: 29px; }.head-actions > select { flex: 1; }
  .grid.cols-2, .grid.cols-3, .grid.cols-4, .grid.cols-5 { grid-template-columns: minmax(0,1fr); }
  .form-grid { grid-template-columns: 1fr; }.goal-stats { grid-template-columns: 1fr 1fr; }
  .check-grid { grid-template-columns: 1fr; }
  .health-row { grid-template-columns: 1fr 1fr; }.health-row span:first-child { grid-column: 1/-1; }
  .dashboard-grid { gap: 14px; }.section-card { padding: 18px; }.metric-card { min-height: 108px; }
  .home-chart { min-height: 240px; }.home-chart-grid { min-height: 195px; gap: 8px; padding-inline: 4px; }.home-chart-group { min-width: 26px; height: 175px; }
  .quick-actions { grid-template-columns: 1fr; }
  .flow-pulse, .budget-pulse, .goal-pulse, .card-pulse { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .toast-root { right: 12px; bottom: 12px; left: 12px; }.toast { min-width: 0; max-width: none; }
}
@media (max-width: 700px) { .statement-pager { align-items:stretch; flex-direction:column; }.statement-pager > div { justify-content:space-between; }.statement-pager > div span { text-align:center; } }
@media (max-width: 640px) {
  #backup-button { display: none; }
  .breadcrumb button, .breadcrumb > span { display: none; }.breadcrumb strong { max-width: 135px; }
  .modal-backdrop { align-items: end; padding: 0; }
  .modal, .modal.wide { width: 100%; max-height: 92dvh; border-radius: 18px 18px 0 0; }
  .modal-head { padding: 17px 18px; }.modal-body { padding: 18px; }.modal-actions { position: sticky; bottom: 0; padding: 14px 18px; background: #fff; }
  .future-strip { grid-template-columns: 1fr; }.goal-title { align-items: flex-start; }.asset-grid { grid-template-columns: 1fr; }
}
@media (max-width: 375px) {
  .topbar { padding-inline: 8px; }.top-actions .icon-btn, .notification-btn { width: 34px; height: 34px; }.top-profile .avatar { width: 34px; height: 34px; }
  .content { padding-inline: 10px; }.section-card { padding: 15px; }.page-head h1 { font-size: 27px; }.head-actions { align-items: stretch; }.head-actions .btn { flex: 1; }
  .goal-stats { grid-template-columns: 1fr; }.donut { width: 145px; height: 145px; }.donut::after { width: 92px; height: 92px; }
  .flow-pulse, .budget-pulse, .goal-pulse, .card-pulse { grid-template-columns: 1fr; }
}

/* Atlas Office — azul profundo, dourado e marfim */
:focus-visible { outline-color: rgba(181,138,69,.38); }
.login-screen { background: #fffdf9; }
.login-visual { background-color: var(--navy-deep); background-blend-mode: luminosity; }
.login-visual::after { background: linear-gradient(135deg, rgba(7,25,43,.94), rgba(16,45,72,.64)); }
.login-card input:focus,
select:focus,
.field-input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(181,138,69,.16); }
.sidebar { color: #c4c8cc; box-shadow: 12px 0 30px rgba(10,33,55,.08); }
.logo-button small { color: #c6a66f; }
.menu-label { color: #8795a1; }
.nav-item { color: #c4c8cc; }
.nav-item:hover { background: rgba(255,255,255,.065); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(181,138,69,.24), rgba(16,45,72,.92)); box-shadow: inset 3px 0 0 var(--gold); }
.nav-icon { color: #9ba7b1; }
.nav-item.active .nav-icon { color: #e0bd7b; }
.nav-item[data-route="admin-test"] { min-height: 54px; line-height: 1.25; }
.profile-card { background: #071c2f; }
.profile-copy small { color: #aeb8c0; }
.avatar { color: var(--navy-deep); background: var(--gold); }
.topbar { background: rgba(255,253,249,.96); }
.header-popover { background: #fffdf9; box-shadow: 0 18px 44px rgba(10,33,55,.18); }
.offline-pill { color: #76531e; background: var(--gold-soft); }
.persistence-status { color: #51606d; background: #eeeae3; }
.icon-btn:hover { background: #eee9df; }
.icon-btn.subtle { color: #75818b; }
.section-kicker { color: #8a7d69; }
.card { background: #fffdf9; border-color: rgba(16,45,72,.10); }
.metric-button:hover { border-color: #c7a563; }
.btn:hover { box-shadow: 0 5px 14px rgba(10,33,55,.10); }
.btn.primary { border-color: var(--navy); background: var(--navy); }
.btn.teal { border-color: var(--gold-dark); background: var(--gold-dark); }
.btn.ghost:hover { background: #f3eadb; }
.field-input[readonly],
.field-input:disabled { color: #777b80; background: #eeeae3; border-color: #d9d2c6; }
input::placeholder,
textarea::placeholder { color: #9a9996; }
.field > span,
.bar-meta { color: #4d5963; }
.progress { background: #e9e4dc; }
.chart { background: linear-gradient(#fffdf9,#fffdf9), repeating-linear-gradient(to bottom, transparent 0 58px, #ece7df 59px 60px); }
th,
td { border-bottom-color: #eee9e1; }
th { color: #5e6870; background: #f8f5ef; }
tbody tr:hover,
.compact-row:hover,
.alert-row:hover { background: #faf7f1; }
.transaction-name { color: #2d3e4d; }
.tag { color: #53606a; background: #eeeae3; }
.tabs { background: #e9e4dc; }
.tab.active { background: #fffdf9; box-shadow: 0 2px 7px rgba(10,33,55,.09); }
.donut { --donut-bg: #e9e4dc; }
.notice { border-color: #dfcda9; color: #625033; background: #faf3e7; }
.result-hero { background: linear-gradient(135deg, var(--navy-deep), var(--navy)); }
.timeline i { background: linear-gradient(var(--gold), var(--gold-dark)); }
.modal,
.modal-actions { background: #fffdf9; }
.modal-close { background: #eee9df; }
.integration-flow span { color: #344b5e; background: #eeeae3; }
.projection-box { background: #faf7f1; }
button.allocation-row:hover,
.mini-bar:hover { background: #f6f1e8; }
.credit-card.active { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(181,138,69,.16); }
.mini-bar > span { background: linear-gradient(180deg,var(--gold),var(--gold-dark)); }
.help-tip { border-color: #d6cdbc; color: #6e7479; }
.home-metrics .metric-card::after { background: radial-gradient(circle, rgba(181,138,69,.11), transparent 68%); }
.home-chart-grid { background: repeating-linear-gradient(to bottom, transparent 0 52px, #eee9e1 53px 54px); }
.home-chart-columns .income { background: linear-gradient(180deg,#d2ad69,var(--gold-dark)); }
.comparison-row,
.compact-row,
.alert-row { border-bottom-color: #eee9e1; }
.comparison-status { background: #eeeae3; }
.future-strip div,
.pulse-grid > div { border-color: #e6dfd3; background: #f8f5ef; }
.insight-card { background: #faf7f1; }
.insight-card:hover,
.quick-actions > button:hover { border-color: #d4b878; background: #f8f1e5; }
.insight-icon { color: var(--gold-dark); background: var(--gold-soft); }
.quick-actions > button { background: #fffdf9; }
.quick-actions .ui-icon { color: var(--gold-dark); }
.admin-test-notice { margin-bottom: 18px; border-color: #d4b878; }
.calendar-list { display:grid; gap:2px; }
.calendar-row { display:grid; grid-template-columns:58px 1fr 12px; align-items:center; gap:14px; width:100%; padding:10px 4px; border:0; border-bottom:1px solid #eee9e1; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.calendar-row:hover { background:#faf7f1; }
.calendar-row time { display:grid; place-items:center; min-height:50px; color:var(--navy-deep); border:1px solid var(--border); border-radius:10px; background:#fffdf9; }
.calendar-row time strong { font-size:19px; line-height:1; }.calendar-row time span { margin-top:3px; color:var(--muted); font-size:11px; text-transform:uppercase; }
.calendar-row > span:nth-child(2) { min-width:0; }.calendar-row > span:nth-child(2) strong,.calendar-row > span:nth-child(2) small { display:block; }.calendar-row > span:nth-child(2) small { margin-top:3px; color:var(--muted); }
.calendar-dot { width:9px; height:9px; border-radius:50%; background:var(--cyan); }.calendar-dot.warning { background:var(--gold); }.calendar-dot.critical { background:var(--red); }
.projection-summary { display:grid; gap:8px; padding:20px; border:1px solid #e6dfd3; border-radius:14px; background:#f8f5ef; }.projection-summary > strong { font-size:30px; }.projection-summary > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; }

/* Conceito editorial do login Atlas Office */
#login-screen { grid-template-columns: 1fr 1fr; }
#login-screen .login-visual { background-position: center; }
#login-screen .login-visual::after { z-index: 0; background: linear-gradient(135deg, rgba(5,20,37,.97), rgba(9,35,62,.78)); }
#login-screen .login-visual::before { content: ""; position: absolute; z-index: 1; right: -430px; bottom: -510px; width: 900px; height: 900px; border: 1px solid rgba(181,138,69,.62); border-radius: 50%; box-shadow: 0 0 0 105px rgba(181,138,69,.08), 0 0 0 220px rgba(181,138,69,.05); pointer-events: none; }
#login-screen .login-brand,
#login-screen .login-message { z-index: 2; }
#login-screen .login-visual > .login-brand { top: clamp(42px,7vh,72px); }
#login-screen .login-message { bottom: 20%; max-width: 670px; }
#login-screen .login-message .eyebrow { color: #d4aa61; }
#login-screen .login-message h1 { margin: 26px 0 0; max-width: 670px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px,3.7vw,64px); font-weight: 600; line-height: 1.12; letter-spacing: -.03em; }
#login-screen .login-message p { position: relative; max-width: 470px; margin-top: 58px; font-size: 17px; line-height: 1.65; }
#login-screen .login-message p::before { content: ""; position: absolute; top: -28px; left: 0; width: 82px; height: 2px; background: var(--gold); }

#login-screen .login-panel { position: relative; overflow: hidden; padding: 48px; background: radial-gradient(circle at 12% 48%, rgba(181,138,69,.08), transparent 34%), #fbf8f3; }
#login-screen .login-panel::before,
#login-screen .login-panel::after { content: ""; position: absolute; width: 470px; height: 470px; border: 1px solid rgba(181,138,69,.42); border-radius: 50%; pointer-events: none; }
#login-screen .login-panel::before { top: -365px; right: -210px; }
#login-screen .login-panel::after { right: -245px; bottom: -350px; }

#login-screen .login-card { position: relative; z-index: 1; width: min(570px,100%); padding: 50px 50px 32px; border: 1px solid #ded6ca; border-radius: 22px; background: #fffdfa; box-shadow: 0 22px 55px rgba(10,33,55,.14); }
#login-screen .login-card h2 { margin: 0 0 8px; color: var(--navy-deep); font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px,3vw,48px); font-weight: 600; letter-spacing: -.025em; text-align: center; }
#login-screen .login-card > p { margin-bottom: 28px; font-size: 17px; text-align: center; }
#login-screen .login-card label { gap: 10px; margin: 18px 0; color: var(--navy-deep); font-size: 14px; }
#login-screen .login-card input { height: 62px; padding-inline: 20px; border-color: #cfc8bd; border-radius: 10px; background: #fff; font-size: 16px; }
#login-screen .login-card input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(181,138,69,.14); }
#login-screen .form-error { min-height: 18px; margin-top: 2px; }
#login-screen #login-submit { min-height: 58px; margin-top: 6px; border-color: #092844; border-radius: 9px; background: linear-gradient(100deg,#071f38,#103655); font-size: 16px; }
#login-screen #login-submit::before { content: "›"; color: #d7a74e; font-size: 24px; line-height: 1; }
#login-screen #forgot-password-button { min-height: 44px; color: var(--gold-dark); font-size: 15px; }

#login-screen .login-trust-note { margin-top: 16px; padding-top: 18px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; border-top: 1px solid #e1dbd1; color: #69717a; }
#login-screen .login-trust-icon { width: 38px; height: 42px; display: grid; place-items: center; color: var(--gold-dark); border: 2px solid var(--gold); border-radius: 50% 50% 46% 46%; font-size: 17px; font-weight: 800; }
#login-screen .login-trust-note > span:last-child { display: grid; gap: 2px; }
#login-screen .login-trust-note strong { color: #525c65; font-size: 12px; }
#login-screen .login-trust-note small { margin: 0; color: #7c7f82; font-size: 12px; text-align: left; }

@media (max-width: 1100px) and (min-width: 769px) {
  #login-screen .login-panel { padding: 28px; }
  #login-screen .login-card { padding: 38px 34px 26px; }
  #login-screen .login-message { bottom: 14%; }
  #login-screen .login-message h1 { font-size: 43px; }
}
@media (max-width: 768px) {
  #login-screen { grid-template-columns: 1fr; background: #fbf8f3; }
  #login-screen .login-panel { min-height: 100vh; padding: 30px 18px; }
  #login-screen .login-card { padding: 30px 24px 24px; border-radius: 18px; }
  #login-screen .login-card h2 { font-size: 36px; }
  #login-screen .login-trust-note { margin-top: 12px; }
}

/* Administração operacional */
body[data-current-route="admin"] #content { max-width: 1640px; }
.admin-tabs { display:flex; gap:6px; margin:0 0 22px; padding:6px; overflow-x:auto; border:1px solid var(--border); border-radius:14px; background:#ebe5da; }
.admin-tabs button { min-height:42px; display:inline-flex; align-items:center; gap:8px; padding:0 18px; border:0; border-radius:10px; color:var(--muted-strong); background:transparent; font-weight:700; white-space:nowrap; cursor:pointer; }
.admin-tabs button:hover { color:var(--navy); background:rgba(255,255,255,.6); }
.admin-tabs button.active { color:#fff; background:var(--navy); box-shadow:0 5px 16px rgba(10,33,55,.18); }
.admin-tab-count { display:grid; place-items:center; min-width:23px; height:23px; padding:0 6px; color:var(--navy); border-radius:999px; background:rgba(181,138,69,.2); font-size:9px; line-height:1; }.admin-tabs button.active .admin-tab-count { color:var(--navy); background:#f1dba8; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr); gap:18px; }
.admin-hero-card { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:220px; padding:34px; overflow:hidden; position:relative; color:#fff; border-radius:20px; background:linear-gradient(125deg,var(--navy-deep),#173f60); box-shadow:var(--shadow-md); }
.admin-hero-card::after { content:""; position:absolute; right:-90px; bottom:-170px; width:330px; height:330px; border:1px solid rgba(212,170,97,.5); border-radius:50%; box-shadow:0 0 0 55px rgba(181,138,69,.06),0 0 0 110px rgba(181,138,69,.035); }
.admin-hero-card > * { position:relative; z-index:1; }.admin-hero-card .page-kicker { color:#e0bd7b; }.admin-hero-card h2 { margin:8px 0 10px; max-width:650px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,3vw,43px); }.admin-hero-card p { max-width:650px; margin:0; color:#d4dee6; line-height:1.6; }
.admin-attention { min-height:220px; }.admin-attention ul { display:grid; gap:12px; margin:18px 0 0; padding:0; list-style:none; }.admin-attention li { padding:12px 14px 12px 38px; position:relative; border:1px solid #e8dfd0; border-radius:10px; background:#faf6ee; }.admin-attention li::before { content:"!"; position:absolute; left:14px; width:16px; height:16px; display:grid; place-items:center; color:#fff; border-radius:50%; background:var(--gold); font-size:10px; font-weight:800; }
.admin-good-state { margin-top:20px; padding:18px; color:#22775b; border:1px solid #c9e6dc; border-radius:12px; background:#eef8f4; font-weight:700; }
.admin-count-badge,.admin-security-chip { display:inline-flex; align-items:center; min-height:30px; padding:4px 10px; color:var(--gold-dark); border:1px solid #dbc79f; border-radius:999px; background:#f8efdf; font-size:12px; font-weight:800; white-space:nowrap; }
.admin-metrics { display:grid; grid-template-columns:repeat(6,minmax(140px,1fr)); gap:12px; margin-top:18px; }.admin-metrics .metric-card { min-height:120px; }
.admin-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }.admin-card-heading h2,.admin-card-heading h3 { margin:4px 0 5px; }.admin-card-heading p { margin:0; color:var(--muted); line-height:1.5; }
.admin-split { display:grid; grid-template-columns:minmax(390px,.72fr) minmax(680px,1.28fr); align-items:start; gap:18px; }.admin-provision-card { position:sticky; top:88px; }.admin-provision-card h3 { margin:22px 0 12px; }.admin-form-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; padding-top:18px; border-top:1px solid var(--border); }.admin-form-footer p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.admin-filters { display:grid; grid-template-columns:minmax(260px,1fr) minmax(150px,220px); gap:12px; margin-bottom:16px; }.admin-filters.single { grid-template-columns:minmax(280px,560px); }.admin-filters label { display:grid; gap:6px; color:var(--muted-strong); font-size:12px; font-weight:700; }
.admin-table-wrap { border:1px solid var(--border); border-radius:12px; }.admin-table-wrap table { min-width:780px; }.admin-table-wrap th { color:#68727b; background:#f5f1e9; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }.admin-table-wrap td { vertical-align:middle; }.admin-table-wrap td > small,.admin-table-wrap td > strong + small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }.admin-table-wrap tbody tr:hover { background:#fcfaf6; }.admin-empty-cell { padding:36px !important; color:var(--muted); text-align:center; }
.admin-entity-link { width:100%; min-width:170px; padding:2px 0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; }.admin-entity-link:hover strong { color:var(--gold-dark); text-decoration:underline; }.admin-entity-link strong,.admin-entity-link small { display:block; }.admin-entity-link small { max-width:260px; margin-top:5px; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.admin-entity-link.compact { min-width:150px; }
.admin-row-actions { display:flex; flex-wrap:wrap; gap:6px; }.admin-row-actions .btn { min-height:34px; padding:6px 10px; font-size:11px; }.admin-pager { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:14px; color:var(--muted); font-size:12px; }.admin-pager .btn { min-height:36px; }
.admin-table-wrap details summary { color:var(--gold-dark); cursor:pointer; font-weight:700; }.admin-table-wrap details pre { width:320px; max-height:220px; margin:8px 0 0; padding:10px; overflow:auto; color:#dfe8ef; border-radius:8px; background:var(--navy-deep); font:11px/1.45 Consolas,monospace; white-space:pre-wrap; }
.admin-modal-loading { min-height:180px; display:grid; place-items:center; color:var(--muted); }.admin-detail-summary { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:-4px 0 22px; padding:20px; color:#fff; border-radius:16px; background:linear-gradient(120deg,var(--navy-deep),#173e5d); }.admin-detail-summary > div:first-child { display:flex; align-items:center; gap:14px; }.admin-detail-summary strong,.admin-detail-summary small { display:block; }.admin-detail-summary small { margin-top:4px; color:#cfdae3; }.admin-detail-avatar { width:52px; height:52px; display:grid; place-items:center; flex:0 0 auto; color:var(--navy-deep); border-radius:16px; background:linear-gradient(145deg,#e3c47f,#b58a45); font-family:Georgia,serif; font-size:24px; font-weight:800; }.admin-detail-avatar.tenant { border-radius:50%; }.admin-detail-facts { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.admin-detail-facts span { padding:8px 10px; border:1px solid rgba(255,255,255,.16); border-radius:9px; color:#cbd7df; font-size:11px; background:rgba(255,255,255,.05); }.admin-detail-facts strong { display:inline; color:#fff; }
.admin-modal-section { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }.admin-modal-section:first-of-type { margin-top:0; padding-top:0; border-top:0; }.admin-modal-section h3 { margin:0 0 14px; }.admin-access-list { display:grid; gap:8px; }.admin-access-card { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:#faf7f1; }.admin-access-card strong,.admin-access-card small { display:block; }.admin-access-card small { margin-top:3px; color:var(--muted); font-size:11px; }.admin-timeline { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:20px; padding:12px 14px; color:var(--muted); border-radius:10px; background:#f4f0e8; font-size:11px; }
.admin-security-state { display:inline-flex; align-items:center; min-height:30px; padding:5px 10px; border:1px solid #cbded7; border-radius:999px; color:#20735b; background:#edf8f4; font-size:11px; font-weight:800; white-space:nowrap; }
.admin-security-state.temporarily_blocked { color:#906018; border-color:#ead09a; background:#fff6df; }.admin-security-state.locked_support,.admin-security-state.suspended { color:#a03939; border-color:#edc1c1; background:#fff0f0; }.admin-security-state.pending,.admin-security-state.archived { color:#68727b; border-color:#d9dde0; background:#f1f3f4; }
.admin-security-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; }.admin-security-facts span { padding:12px; color:var(--muted); border:1px solid var(--border); border-radius:10px; background:#faf8f4; font-size:11px; }.admin-security-facts strong { display:block; margin-bottom:4px; overflow-wrap:anywhere; color:var(--navy); font-size:14px; }
.admin-security-events { margin-top:18px; }.admin-security-events h4 { margin:0 0 9px; }.admin-security-events > div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid #eee7db; font-size:11px; }.admin-security-events > div strong { color:var(--navy); }.admin-security-events > div span { color:var(--muted); text-align:right; }
.modal textarea { width:100%; min-height:120px; resize:vertical; padding:12px 14px; color:var(--text); border:1px solid var(--border); border-radius:10px; background:#fff; font:inherit; }.modal textarea:focus { outline:2px solid rgba(181,138,69,.23); border-color:var(--gold); }

@media (max-width:1280px) { .admin-metrics { grid-template-columns:repeat(3,1fr); }.admin-split { grid-template-columns:1fr; }.admin-provision-card { position:static; }.admin-overview-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .admin-tabs { margin-inline:-4px; }.admin-hero-card { align-items:flex-start; flex-direction:column; padding:24px; }.admin-metrics { grid-template-columns:repeat(2,1fr); }.admin-card-heading,.admin-form-footer,.admin-detail-summary { align-items:flex-start; flex-direction:column; }.admin-filters,.admin-security-facts { grid-template-columns:1fr; }.admin-detail-facts { justify-content:flex-start; }.admin-access-card,.admin-security-events > div { align-items:flex-start; flex-direction:column; }.admin-security-events > div span { text-align:left; }.admin-pager { justify-content:space-between; }.admin-pager span { display:none; } }

/* Central de categorias financeiras */
body[data-current-route="categorias"] #content { max-width: 1500px; }
.category-name { display:flex; align-items:center; gap:11px; min-width:190px; }
.category-name > i { width:13px; height:38px; flex:0 0 auto; border-radius:999px; background:var(--category-color,#b58a45); box-shadow:0 0 0 3px color-mix(in srgb,var(--category-color,#b58a45) 14%,transparent); }
.category-name strong,.category-name small { display:block; }
.category-name small { margin-top:3px; color:var(--muted); font-size:10px; }
body[data-current-route="categorias"] .table-wrap table { min-width:820px; }

/* Extrato operacional */
.statement-period { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.statement-period label { display:flex; align-items:center; gap:6px; color:var(--muted-strong); font-size:12px; font-weight:700; }
.statement-period input,.statement-period select { min-height:42px; }
.bulk-toolbar { position:sticky; top:76px; z-index:6; display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:14px 0 4px; padding:10px 12px; color:#fff; border:1px solid rgba(214,175,103,.42); border-radius:12px; background:linear-gradient(110deg,var(--navy-deep),#163c59); box-shadow:0 10px 24px rgba(9,34,55,.2); }
.bulk-toolbar strong { margin-right:auto; font-size:13px; }.bulk-toolbar .btn { min-height:34px; padding:6px 11px; border-color:rgba(255,255,255,.2); color:#fff; background:rgba(255,255,255,.08); font-size:11px; }.bulk-toolbar .btn:hover { background:rgba(255,255,255,.15); }.bulk-toolbar .btn.danger { border-color:rgba(255,166,166,.45); color:#ffd0d0; }
.statement-table .selection-cell { width:42px; text-align:center; }.statement-table .selection-cell input { width:17px; height:17px; accent-color:var(--gold); }.statement-table tr.selected-row { background:#fbf4e6; }
.inline-category-select { width:min(210px,22vw); min-width:150px; min-height:36px; padding:6px 28px 6px 9px; border-color:#ded5c7; border-radius:8px; background:#fff; font-size:12px; }
.statement-cards .metric-card { min-height:108px; box-shadow:none; }.statement-card-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; margin-top:15px; }.statement-card-chip { display:grid; grid-template-columns:7px 1fr auto; align-items:center; gap:11px; min-height:67px; padding:10px 12px; color:var(--text); border:1px solid var(--border); border-radius:12px; background:#fbf9f5; text-align:left; cursor:pointer; }.statement-card-chip:hover,.statement-card-chip.active { border-color:var(--gold); background:#fff8e9; box-shadow:0 5px 14px rgba(181,138,69,.12); }.statement-card-chip > span { align-self:stretch; border-radius:99px; background:var(--chip-color); }.statement-card-chip strong,.statement-card-chip small { display:block; }.statement-card-chip small { margin-top:4px; color:var(--muted); font-size:10px; }.statement-card-chip b { color:var(--navy); font-size:11px; text-align:right; }
.notice.success { color:#176a50; border-color:#c9e7dc; background:#eef9f5; }
@media (max-width:760px) { .statement-period { width:100%; }.statement-period > * { flex:1 1 135px; }.statement-period input,.statement-period select { width:100%; }.bulk-toolbar { top:62px; }.inline-category-select { width:170px; }.statement-card-list { grid-template-columns:1fr; }.statement-card-chip { grid-template-columns:7px 1fr; }.statement-card-chip b { grid-column:2; text-align:left; } }

/* Comparação de carteira e assessoria */
.advisor-comparison { overflow:hidden; background:linear-gradient(145deg,#fff 0%,#fff 72%,#faf4e8 100%); }.advisor-comparison .table-wrap { margin-top:10px; border:1px solid var(--border); border-radius:12px; }.advisor-comparison table small { color:var(--muted); }.advisor-position-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:10px; margin-top:16px; }.advisor-position-list .status-row { border:1px solid var(--border); border-radius:11px; background:#fff; }.advisor-empty { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:110px; margin-top:12px; padding:22px; border:1px dashed #d4c29f; border-radius:14px; background:#fffaf0; }.advisor-empty p { max-width:720px; margin:0; color:var(--muted-strong); line-height:1.55; }
@media (max-width:700px) { .advisor-empty { align-items:flex-start; flex-direction:column; }.advisor-position-list { grid-template-columns:1fr; } }

/* Rotina financeira: hierarquia, divulgação progressiva e formulários guiados. */
.nav-group { margin-top:16px; }
.nav-group h2 { margin:0 10px 7px; color:#c0b291; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.sidebar.collapsed .nav-group h2 { display:none; }
.sidebar.collapsed .nav-group { padding-top:8px; border-top:1px solid rgba(255,255,255,.12); }
.home-today { padding:24px; }
.home-today .metric-card { box-shadow:none; }
.home-month-result { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 20px; padding-top:18px; }
.home-month-result small { color:var(--muted-strong); }
.home-routine-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 24px; }
.home-routine-actions .btn { flex:1 1 175px; background:#fff; }
.home-analysis > summary, .statement-disclosure > summary { padding:20px 24px; color:var(--navy); font-size:16px; font-weight:700; cursor:pointer; }
.home-analysis > summary small, .statement-disclosure > summary small { display:block; margin:6px 0 0 18px; font-size:12px; font-weight:400; color:var(--muted-strong); }
.home-analysis > .grid, .home-analysis > .home-routine-actions { margin:0 24px 24px; }
.home-analysis .metric-card { box-shadow:none; }
.home-analysis .disclosure-body { padding:0 24px 24px; }
.disclosure { margin-top:18px; border-top:1px solid var(--border); padding-top:12px; }
.disclosure > summary { cursor:pointer; color:var(--navy); font-size:13px; font-weight:600; padding:8px 0; }
.field-help { font-size:12px; line-height:1.6; color:var(--muted-strong); margin:12px 0 0; }
.home-analysis details, .home-today details { margin-top:16px; }
.statement-search-row { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px; }
.statement-search-row > label, .statement-search-row > .period-field { display:grid; gap:7px; color:var(--ink); font-size:12px; font-weight:600; flex:1 1 170px; min-width:0; }
.statement-search-row > .statement-search { flex:2 1 260px; }
.statement-search-row > .period-field { flex:2 1 265px; }
.statement-search-row input, .statement-search-row select { min-height:42px; width:100%; }
.statement-search-row .statement-period { margin:0; flex-wrap:wrap; }
.statement-period > select { flex:1 1 100px; width:auto; }
.statement-search-row .btn { min-height:42px; }
.more-filters { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.more-filters label { display:grid; gap:6px; font-size:12px; flex:1 1 145px; }
.filter-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.filter-chip { border:1px solid #d7c7a6; background:#faf4e8; color:var(--navy); padding:7px 11px; border-radius:20px; font-size:12px; cursor:pointer; max-width:100%; overflow-wrap:anywhere; }
.filter-chips .btn { min-height:32px; font-size:12px; }
.statement-totals { display:flex; flex-wrap:wrap; gap:12px 26px; margin:20px 0; padding:14px 0; border-block:1px solid var(--border); font-size:13px; }
.statement-disclosure .statement-cards { border:0; box-shadow:none; margin-top:0; }
.statement-table .row-actions { flex-wrap:wrap; gap:5px; min-width:150px; }
.statement-table .mini-btn { padding:6px 8px; width:auto; min-height:32px; font-size:11px; }
.reconciliation-workbench { overflow:hidden; border-color:#ddd0b8; background:linear-gradient(135deg,#fff 0%,#fffaf0 100%); }
.reconciliation-workbench-list { display:grid; gap:8px; margin-top:16px; }
.reconciliation-workbench-row { display:grid; grid-template-columns:8px minmax(180px,1.5fr) minmax(76px,.45fr) minmax(86px,.55fr) minmax(185px,.9fr); align-items:center; gap:14px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.reconciliation-status-dot { align-self:stretch; min-height:34px; border-radius:99px; background:#b58a45; }.reconciliation-workbench-row.is-ready .reconciliation-status-dot,.reconciliation-workbench-row.is-closed .reconciliation-status-dot { background:#258365; }
.reconciliation-workbench-row strong,.reconciliation-workbench-row small { display:block; }.reconciliation-workbench-row small { margin-top:4px; color:var(--muted-strong); font-size:11px; }
.reconciliation-workbench-fact { text-align:right; }.reconciliation-workbench-fact strong { color:var(--navy); font-size:16px; }.reconciliation-workbench-fact span { color:var(--muted); font-size:10px; }
.reconciliation-workbench-action { display:flex; align-items:center; justify-content:flex-end; gap:8px; }.reconciliation-workbench-action .btn { min-height:34px; padding:7px 10px; font-size:11px; white-space:nowrap; }
.monthly-report-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; overflow:hidden; border-color:#ddd0b8; background:linear-gradient(120deg,#fff 0%,#fffaf1 100%); }.monthly-report-intro h2 { margin:5px 0 8px; color:var(--navy); font-family:var(--font-serif); font-size:clamp(27px,3vw,38px); text-transform:capitalize; }.monthly-report-intro p { max-width:680px; margin:0; color:var(--muted-strong); }.monthly-report-intro-fact { flex:0 0 145px; padding:16px; text-align:center; border:1px solid #e6d6b8; border-radius:14px; background:#fff; }.monthly-report-intro-fact strong,.monthly-report-intro-fact span { display:block; }.monthly-report-intro-fact strong { color:var(--gold-dark); font-size:30px; }.monthly-report-intro-fact span { margin-top:3px; color:var(--muted); font-size:11px; }
.report-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 16px; }.report-facts > div { padding:11px; border:1px solid var(--border); border-radius:10px; background:var(--surface-soft); }.report-facts span,.report-facts strong { display:block; }.report-facts span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }.report-facts strong { margin-top:5px; color:var(--navy); font-size:15px; }.report-link-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }.report-category-list { display:grid; gap:12px; margin-top:16px; }.report-category-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; }.report-category-row > div { min-width:0; }.report-category-row strong { color:var(--navy); }.report-category-row .progress { margin-top:7px; }
.monthly-review { border-color:#e4d7bd; background:linear-gradient(135deg,#fffdf9 0%,#fff9ed 100%); }.monthly-review-list { display:grid; gap:9px; margin-top:16px; }.monthly-review-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; padding:12px; border:1px solid #e5dac5; border-radius:11px; background:#fff; }.monthly-review-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:var(--gold-dark); font-weight:800; }.monthly-review-item.is-advisory .monthly-review-mark { color:var(--navy); background:#f1e6d2; }.monthly-review-item strong,.monthly-review-item small { display:block; }.monthly-review-item strong { color:var(--navy); font-size:13px; }.monthly-review-item small { margin-top:3px; color:var(--muted-strong); font-size:11px; line-height:1.45; }.monthly-review-item .btn { min-height:34px; padding:7px 10px; font-size:11px; white-space:nowrap; }.monthly-review-ready { display:flex; align-items:flex-start; gap:11px; margin-top:14px; padding:13px; border:1px solid #b9dccf; border-radius:11px; background:#f4fbf7; }.monthly-review-ready > span { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; color:#fff; background:#258365; font-weight:800; }.monthly-review-ready strong,.monthly-review-ready small { display:block; }.monthly-review-ready strong { color:#185b47; font-size:13px; }.monthly-review-ready small { margin-top:3px; color:var(--muted-strong); font-size:11px; line-height:1.45; }
.monthly-workflow-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.42fr); align-items:end; gap:24px; margin-top:16px; padding:17px 18px; color:#fff; border-radius:13px; background:linear-gradient(125deg,var(--navy-deep),#173f60); }.monthly-workflow-summary strong,.monthly-workflow-summary small { display:block; }.monthly-workflow-summary > div:first-child > strong { margin:5px 0; font:600 21px/1.25 Georgia,"Times New Roman",serif; }.monthly-workflow-summary small { color:#d3dee6; font-size:10px; }.monthly-workflow-progress { display:grid; gap:7px; }.monthly-workflow-progress > strong { text-align:right; font-size:13px; }.monthly-workflow-progress .progress { background:rgba(255,255,255,.18); }.monthly-workflow-progress .progress span { background:var(--gold); }.monthly-workflow-steps { display:grid; gap:9px; margin:14px 0 0; padding:0; list-style:none; counter-reset:none; }.monthly-workflow-steps li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 13px; border:1px solid var(--border); border-radius:11px; background:#fff; }.monthly-workflow-steps li.is-current { border-color:#cbae70; box-shadow:0 0 0 3px rgba(181,138,69,.1); }.monthly-workflow-steps li.is-done { background:#f5fbf8; border-color:#cce3d9; }.monthly-workflow-number { display:grid; place-items:center; width:29px; height:29px; color:var(--muted-strong); border:1px solid var(--border); border-radius:50%; background:#f7f4ee; font-size:11px; font-weight:800; }.monthly-workflow-steps .is-current .monthly-workflow-number { color:#fff; border-color:var(--gold-dark); background:var(--gold-dark); }.monthly-workflow-steps .is-done .monthly-workflow-number { color:#fff; border-color:#258365; background:#258365; }.monthly-workflow-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }.monthly-workflow-title strong { color:var(--navy); font-size:12px; }.monthly-workflow-steps small { display:block; margin-top:4px; color:var(--muted-strong); font-size:10px; line-height:1.45; }.monthly-workflow-steps .btn { min-height:34px; padding:7px 10px; font-size:10px; white-space:nowrap; }
.transaction-detail-link { padding:0; border:0; background:none; color:var(--navy); text-align:left; font:inherit; font-weight:650; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.transaction-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.transaction-choices button { display:grid; align-content:start; gap:8px; padding:18px; background:#fff; border:1px solid var(--border); border-radius:12px; color:var(--navy); text-align:left; cursor:pointer; font:inherit; }
.transaction-choices button:hover { border-color:var(--gold); background:#faf4e8; }
.transaction-choices small { color:var(--muted-strong); line-height:1.5; }
.form-more { margin-top:20px; padding-top:14px; border-top:1px solid var(--border); }
.form-more summary { cursor:pointer; padding:8px 0 14px; color:var(--navy); font-weight:650; }
.form-more summary small { display:block; margin:6px 0 0 18px; font-weight:400; color:var(--muted-strong); }
.form-more > p { line-height:1.6; margin-bottom:14px; }
.field-error { color:#a02c3b; font-size:12px; line-height:1.5; }
[aria-invalid="true"] { border-color:#a02c3b !important; }
.required-mark { color:#a66b12; font-weight:800; }
.field-invalid > span:first-child { color:#8d2432; }
.inline-validation-error { display:block; margin-top:5px; font-weight:600; }
.field-invalid input,.field-invalid select,.field-invalid textarea { background:#fff9f9; box-shadow:0 0 0 3px rgba(160,44,59,.08); }
.transaction-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:24px; }
.transaction-facts dt { color:var(--muted-strong); font-size:12px; margin-bottom:5px; }
.transaction-facts dd { margin:0; overflow-wrap:anywhere; font-size:14px; }
.transaction-choices button:focus-visible, summary:focus-visible, .filter-chip:focus-visible, .transaction-detail-link:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
@media (max-width:760px) {
  .sidebar.collapsed .nav-group h2 { display:block; }
  .home-today { padding:18px; }
  .home-analysis .disclosure-body { padding:0 18px 18px; }
  .home-analysis > summary, .statement-disclosure > summary { padding:18px; }
  .home-analysis > .grid, .home-analysis > .home-routine-actions { margin:0 18px 18px; }
  .statement-search-row > .statement-search, .statement-search-row > .period-field { flex-basis:100%; }
  .home-routine-actions .btn { flex-basis:calc(50% - 10px); }
  .reconciliation-workbench-row { grid-template-columns:7px 1fr auto; }.reconciliation-workbench-fact { text-align:left; }.reconciliation-workbench-action { grid-column:2 / -1; justify-content:space-between; }
}
@media (max-width:440px) {
  .transaction-choices, .transaction-facts { grid-template-columns:1fr; }
  .home-routine-actions .btn { flex-basis:100%; }
  .statement-search-row > .btn { width:100%; }
}

/* Contextos financeiros e acompanhamento autorizado */
.context-card { width:min(520px,calc(100vw - 32px)); }
.context-options { display:grid; gap:12px; margin:24px 0 16px; }
.context-option { display:grid; gap:6px; width:100%; padding:16px 18px; color:var(--navy); border:1px solid var(--border); border-radius:13px; background:#fff; text-align:left; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.context-option strong { font-size:15px; }.context-option span { color:var(--muted-strong); font-size:12px; }
.context-option:hover,.context-option:focus-visible { border-color:var(--gold); box-shadow:0 9px 24px rgba(9,34,55,.12); transform:translateY(-1px); outline:none; }
.context-option:disabled { opacity:.62; cursor:wait; transform:none; }
.read-only-context { margin-bottom:18px; }
.financial-read-only .persistence-status { display:none; }
.account-context { display:grid; gap:3px; margin:10px 0; padding:10px 12px; border:1px solid #e4d7bd; border-radius:10px; background:#fbf6eb; }
.account-context strong { color:var(--navy); font-size:12px; }.account-context span { color:var(--muted-strong); font-size:10px; }
.advisor-access-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:18px; }
.advisor-access-intro { background:linear-gradient(145deg,#fff 0%,#fff 70%,#faf4e8 100%); }
.advisor-access-intro > p { max-width:760px; color:var(--muted-strong); line-height:1.65; }
.advisor-access-rules { display:grid; gap:9px; margin:18px 0 0; padding-left:20px; color:var(--muted-strong); line-height:1.5; }
.advisor-access-list { display:grid; gap:10px; margin-top:16px; }
.advisor-access-person { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:13px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.advisor-access-person .avatar { width:38px; height:38px; }.advisor-access-person strong,.advisor-access-person small { display:block; }.advisor-access-person small { margin-top:4px; color:var(--muted-strong); overflow-wrap:anywhere; }
.advisor-contact-section { overflow:hidden; }.advisor-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(265px,1fr)); gap:14px; margin-top:18px; }.advisor-contact-card { padding:18px; border:1px solid var(--border); border-radius:14px; background:linear-gradient(145deg,#fff,#fcf9f3); box-shadow:0 8px 18px rgba(15,45,70,.05); }.advisor-contact-heading { display:flex; align-items:center; gap:12px; }.advisor-contact-heading .avatar { width:46px; height:46px; flex:0 0 46px; }.advisor-contact-heading h3 { margin:2px 0; color:var(--navy); }.advisor-contact-heading small { color:var(--muted-strong); }.advisor-contact-methods { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); }.advisor-contact-methods > div { min-width:0; display:grid; gap:4px; }.advisor-contact-methods span { color:var(--muted-strong); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.advisor-contact-methods a { color:var(--navy); font-size:12px; font-weight:700; overflow-wrap:anywhere; text-decoration:none; }.advisor-contact-methods a:hover { color:var(--gold-dark); text-decoration:underline; }.advisor-contact-methods small { color:var(--muted-strong); font-size:12px; }.advisor-contact-empty { margin-top:16px; }.advisor-management { padding:0; overflow:hidden; }.advisor-management summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; cursor:pointer; }.advisor-management summary::-webkit-details-marker { display:none; }.advisor-management summary > span:first-child { display:grid; gap:3px; }.advisor-management summary strong { color:var(--navy); }.advisor-management[open] summary { border-bottom:1px solid var(--border); background:var(--surface-soft); }.advisor-management-body { padding:20px; }.advisor-management .advisor-access-layout { align-items:start; }.advisor-management form,.advisor-management .advisor-access-intro { padding:0; border:0; background:transparent; box-shadow:none; }
.client-focus-card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:0; margin-bottom:24px; overflow:hidden; border:1px solid #d8c49c; border-radius:18px; background:#fff; box-shadow:var(--shadow-md); }.client-focus-copy { position:relative; padding:27px 30px; overflow:hidden; color:#fff; background:linear-gradient(125deg,var(--navy-deep),#173f60); }.client-focus-copy::after { content:""; position:absolute; right:-80px; bottom:-145px; width:260px; height:260px; border:1px solid rgba(212,170,97,.42); border-radius:50%; box-shadow:0 0 0 45px rgba(181,138,69,.06),0 0 0 90px rgba(181,138,69,.035); }.client-focus-copy > * { position:relative; z-index:1; }.client-focus-copy .page-kicker { color:#e8c678; }.client-focus-copy h2 { max-width:680px; margin:7px 0 8px; color:#fff; font:600 clamp(22px,2.4vw,31px)/1.2 Georgia,"Times New Roman",serif; }.client-focus-copy p { max-width:680px; margin:0 0 18px; color:#d1dce5; line-height:1.55; }.client-focus-copy .btn { border-color:#d9b665; background:#d0a751; }.client-focus-copy.is-complete .btn { color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.08); }.organization-score { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:17px; padding:24px; background:linear-gradient(145deg,#fff,#fbf6eb); }.organization-score-ring { width:94px; height:94px; display:grid; place-content:center; position:relative; border-radius:50%; background:conic-gradient(var(--gold) calc(var(--score) * 1%),#e9e3d8 0); text-align:center; }.organization-score-ring::before { content:""; position:absolute; inset:8px; border-radius:50%; background:#fff; }.organization-score-ring strong,.organization-score-ring span { position:relative; z-index:1; }.organization-score-ring strong { color:var(--navy); font-size:25px; }.organization-score-ring span { color:var(--muted); font-size:9px; }.organization-score h3 { margin:3px 0 7px; color:var(--navy); }.organization-score details summary { color:var(--gold-dark); font-size:11px; font-weight:700; cursor:pointer; }.organization-score ul { display:grid; gap:5px; margin:10px 0 0; padding:0; list-style:none; }.organization-score li { display:flex; gap:7px; color:var(--muted); font-size:10px; }.organization-score li.done { color:#23735b; }
.advisor-workspace-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:165px; margin-bottom:18px; padding:28px 30px; color:#fff; border-radius:18px; background:linear-gradient(125deg,var(--navy-deep),#173f60); box-shadow:var(--shadow-md); }.advisor-workspace-hero h2 { margin:5px 0 8px; color:#fff; font:600 clamp(24px,3vw,34px)/1.2 Georgia,"Times New Roman",serif; }.advisor-workspace-hero p { max-width:720px; margin:0; color:#d0dce5; }.advisor-workspace-hero .page-kicker { color:#e7c36d; }.advisor-workspace-hero .btn { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.08); }.advisor-workspace-toolbar { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px; }.advisor-workspace-toolbar h2 { margin:4px 0 0; }.advisor-workspace-toolbar label { width:min(320px,100%); }.advisor-workspace-filters { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }.advisor-workspace-filters select { min-width:190px; }.advisor-client-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:12px; }.advisor-client-card { padding:16px; border:1px solid var(--border); border-radius:14px; background:#fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.advisor-client-card:hover { transform:translateY(-2px); border-color:#cdb47f; box-shadow:0 10px 24px rgba(10,33,55,.08); }.advisor-client-card.needs-attention { border-left:4px solid var(--gold); }.advisor-client-card.active { box-shadow:0 0 0 3px rgba(181,138,69,.14); }.advisor-client-card-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; }.advisor-client-card-head .avatar { width:42px; height:42px; }.advisor-client-card-head strong,.advisor-client-card-head small { display:block; }.advisor-client-card-head small { margin-top:3px; color:var(--muted); font-size:10px; }.advisor-client-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }.advisor-client-card-foot > span { color:var(--muted-strong); font-size:10px; }.advisor-client-card-foot .btn { min-height:35px; padding:7px 10px; font-size:11px; }
.admin-action-hub { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }.admin-action-hub button { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; min-height:74px; padding:14px; color:var(--navy); border:1px solid var(--border); border-radius:12px; background:#fff; text-align:left; cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }.admin-action-hub button:hover { transform:translateY(-2px); border-color:#cdb47f; box-shadow:0 8px 18px rgba(10,33,55,.07); }.admin-action-hub .ui-icon { color:var(--gold-dark); }.admin-action-hub strong,.admin-action-hub small { display:block; }.admin-action-hub strong { font-size:12px; }.admin-action-hub small { margin-top:3px; color:var(--muted); font-size:9px; }.admin-attention-list { display:grid; gap:8px; }.admin-attention-list button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:43px; padding:9px 11px; border:1px solid var(--border); border-radius:9px; background:#fff; cursor:pointer; text-align:left; }.admin-attention-list button.danger { color:#9f3442; border-color:#efc7cc; background:#fff6f7; }.admin-attention-list button.warning { color:#875d1d; border-color:#ead6ad; background:#fff9ea; }.admin-attention-list button.info { color:#365f7d; background:#f4f8fb; }.admin-attention-list strong { min-width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.75); }
.skeleton-card { display:grid; gap:12px; min-height:230px; }.skeleton-line,.skeleton-grid span { display:block; border-radius:8px; background:linear-gradient(90deg,#ece8e0 25%,#f8f5ef 50%,#ece8e0 75%); background-size:200% 100%; animation:atlas-skeleton 1.25s linear infinite; }.skeleton-line { width:68%; height:17px; }.skeleton-line.wide { width:42%; height:28px; }.skeleton-line.short { width:31%; }.skeleton-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }.skeleton-grid span { height:95px; }
.mobile-bottom-nav { display:none; }
@keyframes atlas-skeleton { to { background-position:-200% 0; } }
.advisor-workspace-card { transition:border-color .18s ease, box-shadow .18s ease; }.advisor-workspace-card.active { border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent); }.advisor-workspace-card .tag { white-space:nowrap; }
.advisor-collaboration-compose > :only-child { grid-column:1/-1; }
.advisor-collaboration-list { display:grid; gap:12px; margin-top:16px; }
.advisor-collaboration-item { display:grid; gap:10px; padding:16px; border:1px solid var(--border); border-radius:13px; background:#fff; }
.advisor-collaboration-item.proposal { border-left:4px solid var(--gold); }
.advisor-collaboration-item p { margin:0; color:var(--muted-strong); line-height:1.6; white-space:pre-wrap; }
.advisor-collaboration-item > small { color:var(--muted-strong); }
.page-help-toggle { color:var(--gold-dark); border-color:#dac69e; background:#fffaf0; }.page-help-toggle .ui-icon { flex:0 0 auto; }.page-help-toggle[aria-expanded="true"] { color:#fff; border-color:var(--navy); background:var(--navy); }
.page-context-help { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.8fr); gap:24px; margin:-12px 0 26px; padding:20px 22px; border:1px solid #dac69e; border-radius:16px; background:linear-gradient(135deg,#fffdf8 0%,#fff9eb 100%); box-shadow:0 10px 24px rgba(10,33,55,.06); }.page-context-help-heading { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:12px; }.page-context-help-mark { display:grid; place-items:center; width:36px; height:36px; color:#fff; border-radius:50%; background:var(--gold-dark); font:700 18px/1 Georgia,serif; }.page-context-help-heading h2 { margin:3px 0 4px; color:var(--navy); font:600 21px/1.2 Georgia,"Times New Roman",serif; }.page-context-help-heading p { margin:0; color:var(--muted-strong); font-size:10px; line-height:1.45; }.page-context-help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.page-context-help-grid > div { min-width:0; padding:12px 13px; border:1px solid rgba(181,138,69,.22); border-radius:11px; background:rgba(255,255,255,.72); }.page-context-help-grid strong,.page-context-help-grid span { display:block; }.page-context-help-grid strong { color:var(--navy); font-size:10px; letter-spacing:.02em; }.page-context-help-grid span { margin-top:5px; color:var(--muted-strong); font-size:10px; line-height:1.55; }
@media (max-width:700px) {
  .admin-table-wrap { overflow:visible; border:0; background:transparent; }
  .admin-table-wrap table { min-width:0; border:0; background:transparent; }
  .admin-table-wrap thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .admin-table-wrap tbody { display:grid; gap:12px; }
  .admin-table-wrap tbody tr { display:grid; overflow:hidden; border:1px solid var(--border); border-radius:13px; background:#fff; box-shadow:0 5px 14px rgba(10,33,55,.04); }
  .admin-table-wrap tbody tr:hover { background:#fff; }
  .admin-table-wrap td { display:grid; grid-template-columns:minmax(92px,.38fr) minmax(0,1fr); align-items:start; gap:12px; min-width:0; padding:11px 13px; border-bottom:1px solid #eee9df; overflow-wrap:anywhere; }
  .admin-table-wrap td:last-child { border-bottom:0; }
  .admin-table-wrap td::before { content:attr(data-label); color:var(--muted-strong); font-size:9px; font-weight:800; letter-spacing:.055em; line-height:1.4; text-transform:uppercase; }
  .admin-table-wrap td > .admin-row-actions { justify-content:flex-start; }
  .admin-table-wrap td > details pre { width:100%; max-width:100%; }
  .admin-table-wrap .admin-empty-cell { display:block; padding:28px 18px!important; border:1px dashed var(--border); text-align:center; }
  .admin-table-wrap .admin-empty-cell::before { display:none; }
  .monthly-workflow-summary { grid-template-columns:1fr; align-items:start; gap:15px; }
  .monthly-workflow-progress > strong { text-align:left; }
  .monthly-workflow-steps li { grid-template-columns:auto minmax(0,1fr); }
  .monthly-workflow-steps .btn { grid-column:2; width:100%; }
}
.proposal-summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:12px; border-radius:10px; background:var(--surface-soft); }
.proposal-summary span { color:var(--muted-strong); }
@media (max-width:650px) { .proposal-summary { grid-template-columns:1fr; gap:4px; } }
@media (max-width:850px) { .advisor-access-layout { grid-template-columns:1fr; }.advisor-access-person { grid-template-columns:auto minmax(0,1fr); }.advisor-access-person > .tag,.advisor-access-person > .btn { grid-column:2; justify-self:start; } }
@media (max-width:1000px) { .client-focus-card { grid-template-columns:1fr; }.admin-action-hub { grid-template-columns:repeat(2,minmax(0,1fr)); }.page-context-help { grid-template-columns:1fr; }.page-context-help-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .mobile-bottom-nav { position:fixed; z-index:18; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(52px,1fr)); min-height:66px; padding:7px max(6px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--border); background:rgba(255,253,249,.98); box-shadow:0 -8px 24px rgba(10,33,55,.08); }.mobile-bottom-nav button { display:grid; place-items:center; align-content:center; gap:3px; min-width:0; min-height:50px; padding:4px 2px; color:var(--muted-strong); border:0; border-radius:10px; background:transparent; font-size:9px; cursor:pointer; }.mobile-bottom-nav button .ui-icon { width:19px; height:19px; }.mobile-bottom-nav button.active { color:var(--navy); background:#f1e6d2; }.mobile-bottom-nav button.primary { width:50px; height:50px; justify-self:center; align-self:center; color:#fff; border-radius:50%; background:var(--navy); box-shadow:0 7px 16px rgba(10,33,55,.25); }.mobile-bottom-nav button.primary span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.content { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }.client-focus-copy { padding:23px 21px; }.organization-score { padding:20px; }.advisor-workspace-hero,.advisor-workspace-toolbar { align-items:flex-start; flex-direction:column; }.advisor-workspace-toolbar label { width:100%; }.advisor-workspace-hero { padding:24px; }.advisor-client-grid { grid-template-columns:1fr; }.advisor-client-card-foot { align-items:flex-start; flex-direction:column; }.advisor-client-card-foot .btn { width:100%; }.skeleton-grid { grid-template-columns:1fr; }.skeleton-grid span { height:68px; } }
@media (max-width:520px) { .admin-action-hub { grid-template-columns:1fr; }.organization-score { grid-template-columns:1fr; }.organization-score-ring { width:82px; height:82px; }.advisor-workspace-metrics { grid-template-columns:1fr!important; }.page-context-help { margin-top:-14px; padding:17px; }.page-context-help-grid { grid-template-columns:1fr; }.page-help-toggle { width:100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .skeleton-line,.skeleton-grid span { animation:none; }.advisor-client-card,.admin-action-hub button { transition:none; } }
@media (max-width:520px) { .advisor-contact-methods { grid-template-columns:1fr; }.advisor-management-body { padding:16px; } }
@media (max-width:700px) { .monthly-report-intro { align-items:flex-start; flex-direction:column; }.monthly-report-intro-fact { width:100%; flex-basis:auto; text-align:left; }.report-facts { grid-template-columns:1fr; }.report-category-row { gap:10px; }.monthly-review-item { grid-template-columns:auto minmax(0,1fr); }.monthly-review-item .btn { grid-column:2; justify-self:start; } }
@media print {
  @page { size:A4; margin:11mm; }
  body.printing-monthly-report { background:#fff; }
  body.printing-monthly-report .sidebar, body.printing-monthly-report .topbar, body.printing-monthly-report .sidebar-backdrop, body.printing-monthly-report #modal-root, body.printing-monthly-report #toast-root, body.printing-monthly-report .head-actions, body.printing-monthly-report .report-link-row, body.printing-monthly-report .field-help, body.printing-monthly-report .skip-link { display:none !important; }
  body.printing-monthly-report .workspace, body.printing-monthly-report .sidebar.collapsed + .workspace { margin-left:0; }
  body.printing-monthly-report .content { max-width:none; padding:0; }
  body.printing-monthly-report .page-head { margin-bottom:16px; }
  body.printing-monthly-report .page-head::after { content:"Atlas Office · relatório gerado no Atlas Financeiro"; color:#73777c; font-size:10pt; }
  body.printing-monthly-report .card, body.printing-monthly-report .metric-card { box-shadow:none; break-inside:avoid; }
  body.printing-monthly-report .monthly-report-history .home-chart { min-height:170px; }
}
