:root {
  --ink: #202a3d;
  --ink-strong: #172236;
  --muted: #697992;
  --muted-soft: #8290a6;
  --line: #dfe4ed;
  --surface: #fff;
  --canvas: #fff;
  --accent: #6e45d8;
  --accent-ink: #fff;
  --nav: #fff;
  --nav-raised: #f7f5fd;
  --blue: #6e45d8;
  --teal: #10b6bd;
  --amber: #2684ff;
  font-family: 'Segoe UI', Arial, sans-serif;
  background: #fff;
}
* { box-sizing: border-box; }
body { color: var(--ink); background: #fff; }
#app { display: block; min-height: 100dvh; }
#app[hidden], .view[hidden], #login[hidden], [hidden] { display: none !important; }
.sidebar { position: sticky; z-index: 20; top: 0; height: 61px; display: flex; flex-direction: row; align-items: center; gap: 35px; padding: 0 clamp(18px,2.5vw,38px); border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); }
.brand { flex: none; width: 130px; margin: 0; padding: 0; }
.brand-wordmark { color: #6e45d8; font-size: 20px; font-weight: 800; letter-spacing: -.065em; line-height: 1; }
.brand-wordmark span { color: #263653; font-weight: 600; }
.sidebar nav { min-width: 0; height: 100%; display: flex; flex: 1; align-items: stretch; gap: 2px; overflow-x: auto; scrollbar-width: thin; }
.sidebar nav button { position: relative; flex: none; width: auto; min-height: 0; height: 100%; display: inline-flex; align-items: center; padding: 0 13px; border: 0; border-radius: 0; background: #fff; color: #5d6a80; font-size: 12px; font-weight: 600; white-space: nowrap; transition: color .15s ease, background .15s ease; }
.sidebar nav button span { font-size: inherit; }
.sidebar nav button:hover { background: #faf9fd; color: #5f38c9; }
.sidebar nav button.active { border: 0; background: #fff; color: #633cca; box-shadow: none; }
.sidebar nav button.active::after { position: absolute; right: 10px; bottom: 0; left: 10px; height: 2px; background: #6e45d8; content: ''; }
.sidebar nav button:active { transform: translateY(1px); }
.nav-label, .sidebar-bottom { display: none; }
.main { min-width: 0; background: #fff; }
.topbar { max-width: 1530px; min-height: 98px; margin: auto; padding: 20px clamp(18px,2.5vw,38px) 17px; border: 0; background: #fff; }
.topbar .eyebrow { display: none; }
.topbar h1 { color: #19253a; font-size: 22px; font-weight: 700; letter-spacing: -.04em; }
#page-subtitle { margin-top: 4px; color: #687a95; font-size: 12px; }
.top-controls { gap: 14px; }
.company-identity { min-width: 0; display: grid; gap: 2px; padding: 0 13px 0 0; border: 0; border-right: 1px solid var(--line); background: transparent; }
.company-identity span { color: #8190a6; font-size: 9px; letter-spacing: .04em; }
.company-identity strong { color: #26344d; font-size: 12px; }
.account-pill { gap: 8px; }
.avatar { width: 29px; height: 29px; border: 1px solid #e1daef; border-radius: 50%; background: #f0eafa; color: #6240b8; font-size: 12px; }
.account-copy small { color: #8995a8; }
.account-copy strong { max-width: 160px; font-size: 11px; }
.logout { padding: 7px 10px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: #31415c; font-size: 11px; }
.logout:hover { border-color: #b9a3e9; background: #faf9fd; color: #5b37bd; }
.content { max-width: 1530px; min-height: 0; margin: 0 auto; padding: 0 clamp(18px,2.5vw,38px) 50px; }
.content[aria-busy='true'] { opacity: 1; }
.filterbar { min-height: 49px; justify-content: space-between; margin-bottom: 17px; padding: 0 0 9px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; box-shadow: none; }
.date-filter { gap: 8px; }
.date-filter span:first-child { margin-right: 8px; color: #697990; font-size: 10px; letter-spacing: .04em; }
.date-filter input { min-height: 31px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: #26344d; font-size: 11px; }
.filterbar button { padding: 7px 13px; border: 0; border-radius: 2px; background: #6e45d8; color: #fff; font-size: 11px; font-weight: 600; }
.filterbar button:hover { background: #5f38c8; color: #fff; }
.filterbar button:active, .primary:active { transform: translateY(1px); }
.notice { margin: 0 0 15px; padding: 10px 12px; border-left: 2px solid #be6c48; border-radius: 0; background: #fff7f2; font-size: 12px; }
.report-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 2px 0 12px; }
.report-heading h2 { color: #27344a; font-size: 14px; font-weight: 700; }
.report-heading p { margin-top: 3px; color: #72829b; font-size: 11px; }
.report-source { color: #8b99ad; font-size: 10px; white-space: nowrap; }
.overview-grid { display: grid; grid-template-columns: minmax(0,1.83fr) minmax(292px,1fr); gap: 12px; }
.panel { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 2px; background: #fff; box-shadow: none; }
.panel-head { align-items: flex-start; margin-bottom: 14px; }
.panel h3 { color: #26334b; font-size: 12px; font-weight: 700; letter-spacing: 0; }
.panel-head p { margin-top: 4px; color: #7b89a0; font-size: 11px; }
.report-unit { color: #8795a8; font-size: 10px; white-space: nowrap; }
.chart-panel { min-height: 343px; display: flex; flex-direction: column; }
.chart { flex: 1; width: 100%; height: 255px; min-height: 255px; display: block; padding: 0; overflow: hidden; border: 0; background: #fff; }
.chart svg { width: 100%; height: 100%; display: block; }
.chart svg text { fill: #8d9ab0; font: 10px 'Segoe UI',Arial,sans-serif; }
.legend { justify-content: center; gap: 7px 16px; margin-top: 10px; color: #667792; font-size: 10px; }
.legend i { width: 7px; height: 7px; margin-right: 5px; border-radius: 1px; }
.blue { background: #6e45d8; }.orange { background: #2684ff; }.green { background: #10b6bd; }.purple { background: #8b92aa; }
.metric-stack { min-width: 0; display: grid; grid-template-rows: 1fr 1fr 1fr; gap: 12px; }
.metric-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.metric-cell { min-width: 0; padding: 14px; border: 1px solid var(--line); background: #fff; }
.metric-cell p { color: #667792; font-size: 11px; }
.metric-cell strong { display: block; margin-top: 9px; color: #243047; font-size: clamp(23px,2vw,31px); line-height: 1; letter-spacing: -.045em; font-weight: 700; font-variant-numeric: tabular-nums; }
.metric-cell small { display: block; margin-top: 9px; color: #8a98ad; font-size: 10px; }
.metric-wide { display: flex; align-items: center; justify-content: space-between; }
.metric-glyph { color: #e1daef; font-size: 33px; font-weight: 300; }
.report-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 12px; margin-top: 12px; }
.distribution-panel, .currency-panel { min-height: 258px; }
.doc-list { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 16px; padding: 0; }
.donut { width: 180px; height: 180px; }
.donut svg { display: block; width: 100%; height: 100%; }
.donut-total { fill: #25344c; font: 700 20px 'Segoe UI',Arial,sans-serif; }
.donut-label { fill: #8796aa; font: 10px 'Segoe UI',Arial,sans-serif; }
.distribution-legend { min-width: 0; }
.distribution-row { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #edf0f5; color: #64748e; font-size: 11px; }
.distribution-row:last-child { border-bottom: 0; }
.distribution-swatch { width: 8px; height: 8px; }
.distribution-row strong { color: #25344c; font-variant-numeric: tabular-nums; }
.currency-cards { display: block; }
.currency-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 2px; border-bottom: 1px solid #e9edf4; }
.currency-row span { color: #677994; font-size: 12px; }
.currency-row strong { color: #26344a; font-size: 18px; font-variant-numeric: tabular-nums; }
.footnote { margin-top: 16px; color: #8592a6; font-size: 10px; line-height: 1.5; }
.section-head { margin: 20px 0 14px; }
.section-head .eyebrow { display: none; }
.section-head h2 { color: #243149; font-size: 17px; letter-spacing: -.02em; }
.section-head p:last-child { margin-top: 4px; color: #75849b; font-size: 11px; }
.section-head select, .search, .table-select select { min-height: 35px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: #26344a; font-size: 11px; }
.table-panel { overflow: auto; padding: 0; }
table { width: 100%; border-collapse: collapse; }
table thead { background: #f8f9fc; }
table th { color: #6d7b91; font-size: 10px; text-transform: none; }
table td { color: #35445f; font-size: 11px; }
table th, table td { border-bottom: 1px solid #e9edf3; }
table tbody tr:hover td { background: #faf9fe; }
.pager { border-top: 0; }
.pager button { color: #6743c7; }
.badge { border-radius: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.chat-provider { padding: 5px 8px; border: 1px solid #ded6ef; border-radius: 2px; background: #fbfaff; color: #6440c0; font-size: 10px; font-weight: 600; }
.chat-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: 12px; }
.chat-panel { min-width: 0; min-height: 570px; display: flex; flex-direction: column; padding: 14px; border: 1px solid var(--line); background: #fff; box-shadow: none; }
.chat-messages { flex: 1; min-height: 430px; max-height: 68vh; overflow-y: auto; padding: 6px 8px 18px; }
.chat-welcome { max-width: 470px; margin: 75px auto 30px; text-align: center; }
.chat-symbol, .privacy-icon { width: 35px; height: 35px; display: grid; place-items: center; margin: 0 auto 12px; border: 1px solid #ded5f0; border-radius: 2px; background: #f7f4fc; color: #6d45ce; font-size: 18px; }
.chat-welcome h3 { color: #29364c; font-size: 16px; }
.chat-welcome p { margin-top: 7px; color: #697a92; font-size: 12px; line-height: 1.5; }
.chat-suggestions { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.chat-suggestions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: #6240b9; font-size: 10px; }
.chat-suggestions button:hover { background: #faf9fd; }
.chat-turn { max-width: 80%; margin: 9px 0 14px; padding: 10px 12px; border-radius: 2px; font-size: 12px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-turn.user { margin-left: auto; background: #6e45d8; color: #fff; }
.chat-turn.assistant { margin-right: auto; border: 1px solid #e6e4ec; background: #faf9fc; color: #28364d; }
.chat-turn small { display: block; margin-top: 7px; color: #8290a6; font-size: 10px; }
.chat-form { display: flex; align-items: flex-end; gap: 8px; padding: 6px; border: 1px solid var(--line); background: #fff; }
.chat-form:focus-within { border-color: #8b6ddb; outline: 2px solid #e9e2fa; }
.chat-form textarea { flex: 1; min-width: 0; max-height: 140px; padding: 8px; resize: vertical; border: 0; outline: 0; color: #26344a; font: inherit; font-size: 12px; }
.chat-form .primary { flex: none; width: auto; padding: 9px 14px; border: 0; border-radius: 2px; background: #6e45d8; color: #fff; font-size: 11px; font-weight: 600; }
.chat-panel .error { min-height: 17px; margin: 6px 2px 0; font-size: 11px; }
.chat-info { padding: 16px; border: 1px solid var(--line); background: #fff; }
.chat-info .privacy-icon { margin-left: 0; }
.chat-info h3 { margin: 11px 0 8px; color: #26344c; font-size: 12px; }
.chat-info p { margin-bottom: 12px; color: #6c7c94; font-size: 11px; line-height: 1.55; }
.chat-info-line { display: flex; justify-content: space-between; gap: 8px; padding: 10px 0 0; margin-top: 10px; border-top: 1px solid var(--line); font-size: 10px; }
.chat-info-line span { color: #8390a4; }.chat-info-line strong { color: #34425d; text-align: right; }
.settings-intro { max-width: none; padding: 12px 14px; border: 1px solid #ded6ee; border-left: 3px solid #6e45d8; border-radius: 0; background: #fbfaff; }
.settings-intro strong { color: #5133a5; font-size: 11px; }.settings-intro p { margin-top: 4px; color: #66758d; font-size: 11px; line-height: 1.5; }
.provider-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.provider-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 0; background: #fff; box-shadow: none; }
.provider-card.is-active { border-color: #a48ce0; box-shadow: inset 0 2px #6e45d8; }
.provider-card h3 { color: #24324b; font-size: 14px; }.provider-card .state { display: inline-block; margin-top: 5px; color: #7d8a9f; font-size: 10px; }.provider-card .state.active { color: #5b38b9; font-weight: 700; }
.provider-card label { display: block; margin-top: 15px; color: #4d5f7a; font-size: 11px; font-weight: 600; }
.provider-card input, .provider-card select { width: 100%; min-height: 35px; margin-top: 5px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: #26344a; font: inherit; font-size: 11px; }
.provider-card input::placeholder, .chat-form textarea::placeholder { color: #66758c; }
.provider-card button { min-height: 33px; margin-top: 9px; padding: 7px 10px; border: 1px solid #d9d0ec; border-radius: 2px; background: #fff; color: #5b38b8; font-size: 11px; font-weight: 600; }
.provider-card button:hover { background: #faf9fd; }.provider-card button.activate { width: 100%; margin-top: 14px; border-color: #6e45d8; background: #6e45d8; color: #fff; }.provider-card button.activate:hover { background: #5d37c2; }
.provider-card .provider-error { min-height: 15px; margin-top: 7px; color: #ad4949; font-size: 10px; }
#settings-message { margin-top: 12px; font-size: 11px; }
.users-list button { border-radius: 2px; }
.user-form input:not([type=checkbox]), .user-form select { border-radius: 2px; }
.user-form .primary { border-radius: 2px; background: #6e45d8; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #8d6bdf; outline-offset: 2px; }
@media (max-width: 1110px) { .sidebar { gap: 20px; }.brand { width: 105px; }.sidebar nav button { padding-inline: 10px; }.overview-grid { grid-template-columns: minmax(0,1.4fr) minmax(260px,1fr); }.doc-list { grid-template-columns: 145px minmax(0,1fr); }.donut { width: 140px; height: 140px; } }
@media (max-width: 880px) { .sidebar { height: auto; min-height: 58px; display: block; padding: 11px 18px 0; }.brand { width: auto; margin-bottom: 6px; }.sidebar nav { width: 100%; height: 38px; }.sidebar nav button { height: 38px; }.topbar { min-height: 82px; }.overview-grid, .report-grid { grid-template-columns: 1fr; }.metric-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }.metric-pair { grid-column: 1/-1; }.provider-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.chat-layout { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .topbar { align-items: flex-start; flex-direction: column; gap: 11px; }.top-controls { width: 100%; justify-content: space-between; }.content { padding-bottom: 30px; }.filterbar { align-items: flex-start; flex-wrap: wrap; gap: 8px; }.date-filter { flex-wrap: wrap; }.date-filter span:first-child { width: 100%; }.date-filter input { max-width: none; width: calc(50% - 17px); }.overview-grid, .report-grid { gap: 10px; }.metric-stack { grid-template-columns: 1fr; }.metric-pair { grid-column: auto; }.report-heading { align-items: flex-start; flex-direction: column; }.doc-list { grid-template-columns: 1fr; justify-items: center; }.distribution-legend { width: 100%; }.provider-list { grid-template-columns: 1fr; }.chat-messages { min-height: 340px; }.chat-turn { max-width: 94%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }

/* OptiLabs workspace: quiet surfaces and a data-first hierarchy. */
:root { --ink:#24272d; --ink-strong:#17191e; --muted:#74777e; --muted-soft:#9b9da3; --line:#e5e5e4; --surface:#f7f7f7; --canvas:#d9dadb; --accent:#26272b; --nav:#f7f7f7; --nav-raised:#eaeaea; --blue:#2469ef; --teal:#20b9a9; --amber:#ee8b49; color-scheme:light; font-family:'Segoe UI',Arial,sans-serif; }
body { margin:0; padding:18px clamp(12px,2.5vw,42px) 38px; background:#d9dadb; color:#24272d; }
.login-wrap { width:min(100%,1510px); min-height:calc(100dvh - 56px); margin:0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.8); border-radius:26px; background:#fff; box-shadow:0 18px 55px rgba(54,56,62,.08); }
.login-art { background:#e8ebef; color:#20242b; }
.login-art .orbit { border-color:#aeb8c5; }
.login-art .orbit-b { border-color:#c8b69e; }
.art-copy span { color:#5a6472; }
.art-copy strong { color:#20242b; }
.login-card .primary { background:#262930; color:#fff; }
.login-card .primary:hover { background:#424650; }
.login-card .primary:disabled { opacity:1; background:#6c737d; color:#fff; }
#app { width:min(100%,1510px); min-height:calc(100dvh - 56px); margin:0 auto; overflow:visible; border:1px solid rgba(255,255,255,.8); border-radius:26px; background:#f7f7f7; box-shadow:0 18px 55px rgba(54,56,62,.08); }
.sidebar { position:relative; height:76px; flex-direction:row; gap:18px; padding:0 clamp(20px,2.1vw,34px); border:0; border-radius:26px 26px 0 0; background:#f7f7f7; }
.brand { width:165px; display:flex; align-items:center; gap:9px; }
.brand-symbol { width:24px; height:24px; display:grid; place-items:center; flex:none; border:2px solid #e6913b; border-radius:5px; color:#e38a31; font-size:14px; font-weight:800; line-height:1; box-shadow:0 2px 4px rgba(176,91,23,.12); }
.brand-wordmark { color:#27282b; font-size:21px; font-weight:600; letter-spacing:-.055em; white-space:nowrap; }
.brand-wordmark b { font-weight:750; }
.sidebar nav { height:auto; display:flex; align-items:center; justify-content:center; gap:2px; overflow-x:auto; scrollbar-width:none; }
.sidebar nav::-webkit-scrollbar { display:none; }
.sidebar nav button { height:31px; padding:0 11px; border-radius:9px; background:transparent; color:#53565d; font-size:11px; font-weight:600; transition:background .18s ease,color .18s ease,transform .18s ease; }
.sidebar nav button:hover { background:#eaeaea; color:#24262a; }
.sidebar nav button.active { background:#25262b; color:#fff; box-shadow:0 3px 6px rgba(25,27,34,.16); }
.sidebar nav button.active::after { display:none; }
.sidebar nav button.active:hover { background:#17181c; color:#fff; }
.sidebar .top-controls { flex:none; gap:10px; }
.company-identity { max-width:125px; display:grid; gap:1px; padding:0 10px 0 0; border:0; border-right:1px solid #dededc; }
.company-identity span { color:#9a9c9f; font-size:9px; font-weight:600; letter-spacing:0; text-transform:none; }
.company-identity strong { overflow:hidden; color:#45484e; font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.account-pill { gap:0; }
.avatar { width:32px; height:32px; border:2px solid #fff; background:#e6e5e3; color:#34373e; box-shadow:0 0 0 1px #dededc; }
.account-copy { display:none; }
.logout { min-width:32px; min-height:32px; padding:5px 8px; border:1px solid #e4e4e1; border-radius:50%; background:#fdfdfd; color:#575b62; font-size:10px; }
.logout:hover { border-color:#bfc2c6; background:#fff; color:#202227; }
.main { min-width:0; border-radius:0 0 26px 26px; background:#f7f7f7; }
.topbar { max-width:none; min-height:100px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0; padding:0 clamp(20px,2.1vw,34px) 18px; background:transparent; }
.topbar .eyebrow { display:none; }
.topbar h1 { color:#1e2024; font-size:clamp(30px,3vw,40px); font-weight:500; letter-spacing:-.065em; line-height:1.02; }
#page-subtitle { margin-top:6px; color:#8e9094; font-size:11px; }
.filterbar { min-height:0; display:flex; align-items:center; gap:8px; flex:none; margin:0; padding:0; border:0; background:transparent; }
.date-filter { gap:5px; }
.date-filter span:first-child { margin:0 6px 0 0; color:#73767c; font-size:10px; font-weight:600; letter-spacing:0; text-transform:none; }
.date-filter span:nth-child(3) { color:#b0b2b6; }
.date-filter input { width:115px; min-height:32px; padding:5px 6px; border-color:#e6e6e4; border-radius:8px; background:#fff; color:#34363b; font-size:10px; }
.filterbar button { min-height:32px; padding:6px 13px; border:1px solid #e8e8e6; border-radius:8px; background:#fff; color:#292c32; font-size:10px; box-shadow:0 1px 2px rgba(0,0,0,.025); }
.filterbar button:hover { border-color:#cdd0d4; background:#fdfdfd; color:#202227; }
.content { max-width:none; min-height:0; margin:0; padding:0 clamp(20px,2.1vw,34px) 34px; }
.panel { padding:19px; border:1px solid #ededeb; border-radius:18px; background:#fcfcfc; box-shadow:0 3px 12px rgba(45,47,52,.025); }
.panel-head { min-height:34px; align-items:flex-start; margin-bottom:15px; }
.panel h2,.panel h3 { color:#24262b; font-size:15px; font-weight:650; letter-spacing:-.025em; }
.panel-head p { margin-top:4px; color:#a0a2a5; font-size:10px; }
.panel-more { width:28px; height:28px; display:grid; place-items:center; margin-top:-5px; border:1px solid #e5e5e3; border-radius:50%; color:#5b5e64; font-size:17px; line-height:1; }
.overview-grid { grid-template-columns:minmax(0,1.78fr) minmax(285px,.9fr); gap:10px; }
.chart-panel,.currency-panel { min-height:395px; }
.chart-panel { display:flex; flex-direction:column; }
.chart-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:5px 0 2px 47px; }
.chart-kpi { min-width:0; padding:0 13px; border-left:1px solid #eff0f0; }
.chart-kpi:first-child { border:0; padding-left:0; }
.chart-kpi span { display:flex; align-items:center; gap:6px; color:#96999e; font-size:10px; }
.chart-kpi i { width:6px; height:6px; flex:none; border-radius:50%; }
.chart-kpi strong { display:block; margin-top:8px; color:#2e3238; font-size:21px; font-weight:600; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.chart { flex:1; height:245px; min-height:245px; margin-top:6px; padding:0; border:0; background:none; }
.chart svg text { fill:#a3a6aa; font:10px 'Segoe UI',Arial,sans-serif; }
.currency-panel { display:flex; flex-direction:column; }
.currency-cards { flex:1; }
.currency-row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:11px 0; border-bottom:1px solid #efefed; }
.currency-row:first-child { display:block; padding:11px 0 15px; }
.currency-row:first-child span { display:block; margin-bottom:6px; color:#97999e; font-size:11px; }
.currency-row:first-child strong { display:block; color:#202226; font-size:clamp(31px,2.9vw,43px); font-weight:550; letter-spacing:-.06em; white-space:nowrap; }
.currency-row span { color:#878a90; font-size:10px; }.currency-row strong { font-size:15px; font-weight:600; }
.sales-breakdown { margin-top:9px; }
.sales-mode { margin:12px 0; }.sales-mode div { display:flex; justify-content:space-between; gap:8px; margin-bottom:6px; color:#85888e; font-size:10px; }.sales-mode strong { color:#3b3e44; font-weight:650; font-variant-numeric:tabular-nums; }
.sales-track { height:7px; display:block; overflow:hidden; border-radius:8px; background:#e9ebec; }.sales-track b { height:100%; display:block; border-radius:8px; background:var(--bar); }
.footnote { margin-top:auto; color:#a2a4a8; font-size:9px; line-height:1.4; }
.report-grid { grid-template-columns:minmax(270px,.9fr) minmax(260px,1.2fr) minmax(280px,1fr); align-items:stretch; gap:10px; margin-top:10px; }
.distribution-panel { min-height:337px; }
.doc-list { display:flex; flex-direction:column; align-items:center; gap:5px; }
.donut { width:120px; height:120px; }
.distribution-legend { width:100%; }
.distribution-row { padding:5px 0; border-color:#f0f0ef; color:#777b83; font-size:10px; }
.distribution-row strong { color:#30333a; }
.business-metrics { min-width:0; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:10px; }
.business-metrics .metric-cell:first-child { grid-row:1 / 3; }
.metric-cell { display:flex; flex-direction:column; justify-content:flex-end; min-height:0; padding:18px; }
.metric-cell p { color:#777a81; font-size:11px; }
.metric-cell strong { margin:11px 0 1px; color:#22252b; font-size:clamp(27px,2.3vw,37px); font-weight:600; }
.metric-cell small { margin:8px 0 0; color:#a4a6aa; font-size:10px; }
.metric-rule { width:34px; height:3px; margin-top:20px; border-radius:3px; background:#2a73f3; }
.business-metrics .metric-cell:nth-child(2) .metric-rule { background:#ee90b4; }.business-metrics .metric-cell:nth-child(3) .metric-rule { background:#27b99c; }
.focus-panel { position:relative; display:flex; min-height:337px; overflow:hidden; border:0; background:#e9edf2; color:#fff; }
.focus-pattern { position:absolute; inset:0; background:radial-gradient(circle at 95% 9%,rgba(255,200,105,.92) 0,transparent 34%),radial-gradient(circle at 82% 40%,rgba(240,119,96,.83) 0,transparent 39%),radial-gradient(circle at 64% 75%,rgba(28,108,207,.82) 0,transparent 55%),linear-gradient(130deg,#253b60 0%,#1f4676 45%,#d88974 100%); }
.focus-pattern::after { position:absolute; top:-28%; right:6%; width:52%; height:150%; border-left:16px solid rgba(255,255,255,.52); border-right:9px solid rgba(255,255,255,.28); transform:rotate(27deg); content:''; }
.focus-content { position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.focus-label { align-self:flex-start; margin-bottom:auto; padding:5px 8px; border:1px solid rgba(255,255,255,.45); border-radius:7px; background:rgba(255,255,255,.17); font-size:10px; backdrop-filter:blur(4px); }
.focus-content strong { font-size:clamp(57px,5vw,78px); font-weight:450; letter-spacing:-.08em; line-height:.95; font-variant-numeric:tabular-nums; }
.focus-content h2 { margin-top:15px; color:#fff; font-size:17px; font-weight:650; }
.focus-content p { max-width:26ch; margin-top:5px; color:#f5f8fb; font-size:11px; line-height:1.45; }
.focus-source { width:100%; margin-top:19px; padding-top:9px; border-top:1px solid rgba(255,255,255,.55); color:#f9f9fb; font-size:9px; letter-spacing:.04em; }
.section-head h2 { color:#24272d; }.section-head p:last-child { color:#8d9095; }
.table-panel,.chat-panel,.chat-info,.provider-card { border-color:#e8e8e6; border-radius:15px; background:#fcfcfc; box-shadow:none; }
table thead { background:#f2f2f0; }table th { color:#63666e; }table td { color:#383b41; }table tbody tr:hover td { background:#f5f7fa; }
.pager button { color:#2d5dbd; }.badge { background:#eff2f4; color:#52616b; }
.chat-provider,.chat-suggestions button,.provider-card button { border-color:#dedfe0; background:#fff; color:#374047; }
.chat-turn.user,.chat-form .primary,.provider-card button.activate,.user-form .primary { background:#25272d; color:#fff; }
.chat-turn.assistant { background:#f1f3f4; }.chat-symbol,.privacy-icon { border-color:#e3e3e1; background:#f1f1f0; color:#44484f; }
.settings-intro { border-color:#e2e2df; border-left-color:#e59448; background:#faf9f7; }.settings-intro strong { color:#34373d; }.provider-card.is-active { border-color:#949aa2; box-shadow:inset 0 2px #282b30; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #2d6ef2; outline-offset:2px; }
@media (max-width:1250px) { .brand { width:auto; }.company-identity { display:none; }.sidebar nav button { padding-inline:9px; }.report-grid { grid-template-columns:minmax(220px,.9fr) minmax(230px,1.2fr) minmax(240px,1fr); } }
@media (max-width:1010px) { .sidebar { height:auto; min-height:76px; flex-wrap:wrap; padding-top:14px; padding-bottom:10px; }.sidebar nav { order:3; flex-basis:100%; justify-content:flex-start; height:38px; }.sidebar .top-controls { margin-left:auto; }.overview-grid,.report-grid { grid-template-columns:1fr 1fr; }.chart-panel { grid-column:1 / -1; }.report-grid .focus-panel { grid-column:1 / -1; min-height:260px; }.doc-list { flex-direction:row; }.topbar { align-items:flex-start; flex-wrap:wrap; }.filterbar { margin-left:auto; } }
@media (max-width:700px) { body { padding:0; background:#f7f7f7; }#app { min-height:100dvh; border:0; border-radius:0; box-shadow:none; }.sidebar { border-radius:0; }.topbar { padding-top:15px; }.topbar h1 { font-size:32px; }.filterbar { width:100%; justify-content:space-between; margin-left:0; }.date-filter { flex-wrap:wrap; }.date-filter span:first-child { width:100%; }.overview-grid,.report-grid { grid-template-columns:1fr; }.chart-panel,.report-grid .focus-panel { grid-column:auto; }.chart-kpis { margin-left:0; }.chart-kpi { padding-inline:7px; }.chart-kpi strong { font-size:17px; }.doc-list { flex-direction:column; }.business-metrics { min-height:300px; }.focus-panel { min-height:300px; }.provider-list { grid-template-columns:1fr; } }
@media (max-width:700px) { .sidebar .brand { display:flex; }.sidebar nav button { flex:none; flex-direction:row; } }
.brand-wordmark b { display:inline; }
.chart-kpis { display:flex; }
.chart-kpi { flex:1; }
.client-activity { display:grid; justify-items:center; gap:15px; width:100%; margin:auto 0 6px; padding:26px 0 10px; }
.client-ring { --share:0%; width:min(160px,100%); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#2d6ef2 var(--share),#e6e9ed 0); }
.client-ring > div { width:82%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fcfcfc; }
.client-ring b { color:#252830; font-size:29px; font-weight:600; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.client-ring span { color:#9b9ea4; font-size:10px; }
.client-activity p { color:#868991; font-size:10px; }.client-activity p span { color:#2c3037; font-weight:650; font-variant-numeric:tabular-nums; }
.business-metrics .metric-cell:first-child { justify-content:flex-start; }

/* Floating assistant */
.chat-launcher { position:fixed; z-index:70; right:24px; bottom:24px; display:inline-flex; align-items:center; gap:9px; min-height:47px; padding:0 18px; border:1px solid #5147e3; border-radius:15px; background:#5549ed; color:#fff; box-shadow:0 10px 28px rgba(45,39,165,.2); font:600 13px 'Segoe UI',Arial,sans-serif; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.chat-launcher span { font-size:21px; font-weight:400; line-height:1; }
.chat-launcher:hover { transform:translateY(-2px); background:#473cda; box-shadow:0 14px 32px rgba(45,39,165,.28); }
.chat-widget { position:fixed; z-index:70; right:24px; bottom:24px; width:min(430px,calc(100vw - 32px)); height:min(690px,calc(100dvh - 48px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid #e0e3eb; border-radius:20px; background:#fff; box-shadow:0 22px 65px rgba(24,34,60,.18),0 4px 15px rgba(24,34,60,.07); animation:chat-enter .2s ease-out; }
@keyframes chat-enter { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.chat-widget-head { flex:none; min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 14px; border-bottom:1px solid #e8ebf1; background:#fff; }
.chat-widget-identity { min-width:0; display:flex; align-items:center; gap:11px; }
.chat-widget-icon { width:39px; height:39px; flex:none; display:grid; place-items:center; border-radius:12px; background:#eff0ff; color:#564bea; font-size:23px; }
.chat-widget-identity h2 { margin:0; color:#202a3a; font-size:13px; font-weight:700; letter-spacing:0; }
.chat-widget-identity p { margin:3px 0 0; color:#75829a; font-size:10px; }
.chat-widget-actions { display:flex; align-items:center; gap:2px; }
.chat-widget-actions button { width:32px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:9px; background:transparent; color:#63718c; font:400 21px 'Segoe UI Symbol','Segoe UI',sans-serif; cursor:pointer; }
.chat-widget-actions button:hover { background:#f2f4f8; color:#27344d; }
.chat-widget-context { flex:none; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 15px; border-bottom:1px solid #e8ebf1; background:#f8f9fc; }
.chat-widget-company { color:#758096; font-size:10px; font-weight:600; }
.chat-widget .chat-provider { min-width:0; overflow:hidden; padding:0; border:0; background:transparent; color:#584ce7; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.chat-widget .chat-messages { min-height:0; max-height:none; flex:1; overflow:auto; padding:18px 15px; background:#f7f9fc; scrollbar-color:#cbd3e1 transparent; }
.chat-widget .chat-welcome { max-width:320px; margin:clamp(30px,9vh,75px) auto 20px; }
.chat-widget .chat-symbol { width:47px; height:47px; border:0; border-radius:13px; background:#e9edff; color:#5a4cea; font-size:24px; }
.chat-widget .chat-welcome h3 { color:#1f2a3d; font-size:17px; }
.chat-widget .chat-welcome p { color:#76829a; font-size:12px; }
.chat-widget .chat-suggestions { gap:7px; }
.chat-widget .chat-suggestions button { padding:8px 10px; border:1px solid #dfe5ee; border-radius:100px; background:#fff; color:#4c5a78; font-size:11px; cursor:pointer; }
.chat-widget .chat-suggestions button:hover { border-color:#9eabec; background:#f7f7ff; }
.chat-widget .chat-turn { max-width:88%; margin:0 0 13px; padding:11px 13px; border-radius:14px; font-size:12px; line-height:1.6; }
.chat-widget .chat-turn.user { margin-left:auto; border-bottom-right-radius:4px; background:#5549ed; color:#fff; }
.chat-widget .chat-turn.assistant { margin-right:auto; border:1px solid #e1e6ee; border-bottom-left-radius:4px; background:#fff; color:#26334a; }
.chat-widget-bottom { flex:none; padding:10px 12px 8px; border-top:1px solid #e5e9f0; background:#fff; }
.chat-widget .chat-form { align-items:center; gap:7px; padding:0; border:0; background:transparent; }
.chat-widget .chat-form:focus-within { border:0; outline:0; }
.chat-widget .chat-form textarea { min-height:40px; max-height:100px; padding:10px 12px; border:1px solid #dbe2ec; border-radius:11px; background:#f9fafc; color:#26334a; font-size:11px; line-height:1.5; resize:vertical; }
.chat-widget .chat-form textarea:focus { border-color:#7469ed; outline:2px solid #e9e7ff; }
.chat-widget .chat-form .primary { width:40px; height:40px; display:grid; place-items:center; padding:0; border:0; border-radius:11px; background:#5549ed; color:#fff; font-size:20px; cursor:pointer; }
.chat-widget .chat-form .primary:disabled { background:#cbd3df; cursor:not-allowed; }
.chat-widget .error { min-height:0; margin:4px 2px 0; font-size:10px; }
.chat-widget .error:empty { display:none; }
.chat-privacy { margin-top:6px; color:#8290a5; font-size:10px; text-align:center; }
.chat-privacy summary { list-style:none; cursor:pointer; }
.chat-privacy summary::-webkit-details-marker { display:none; }
.chat-privacy summary:hover { color:#5449d9; }
.chat-privacy p { padding:8px 8px 2px; color:#65738b; line-height:1.55; text-align:left; }
.chat-widget.expanded { right:auto; left:50%; bottom:clamp(20px,4vh,40px); width:min(1300px,calc(100vw - 64px)); height:min(820px,calc(100dvh - 64px)); transform:translateX(-50%); animation:none; }
.chat-widget.expanded .chat-messages { padding:24px clamp(20px,4vw,58px); }
.chat-widget.expanded .chat-turn { max-width:min(74%,780px); font-size:13px; }
.chat-widget.expanded .chat-welcome { max-width:440px; }
.chat-widget.expanded .chat-widget-bottom { padding:12px clamp(20px,4vw,58px) 10px; }
@media (max-width:600px) { .chat-launcher { right:16px; bottom:16px; }.chat-widget,.chat-widget.expanded { right:0; left:0; bottom:0; width:100vw; height:min(80dvh,720px); border-radius:18px 18px 0 0; transform:none; }.chat-widget.expanded { height:100dvh; border-radius:0; }.chat-widget.expanded .chat-turn { max-width:92%; }.chat-widget.expanded .chat-messages { padding:18px 15px; }.chat-widget.expanded .chat-widget-bottom { padding:10px 12px 8px; } }
@media (prefers-reduced-motion:reduce) { .chat-launcher { transition:none; }.chat-widget { animation:none; } }

/* Dynamic monitor */
.monitor-intro { align-items:flex-end; }
.monitor-limit { color:#838992; font-size:11px; white-space:nowrap; }
.monitor-composer { margin-top:18px; padding:23px; background:#fff; }
.monitor-composer > label { display:block; margin-bottom:12px; color:#2d333d; font-size:16px; font-weight:650; letter-spacing:-.02em; }
.monitor-prompt-row { display:flex; align-items:stretch; gap:10px; }
.monitor-prompt-row textarea { min-width:0; min-height:58px; flex:1; padding:12px 14px; border:1px solid #dce1e9; border-radius:11px; background:#fbfcfe; color:#29313d; font:12px/1.5 'Segoe UI',Arial,sans-serif; resize:vertical; }
.monitor-prompt-row .primary { width:auto; min-width:150px; flex:0 0 160px; padding:0 18px; border:0; border-radius:11px; background:#262930; color:#fff; font-size:12px; font-weight:650; cursor:pointer; }
.monitor-prompt-row .primary:hover { background:#454950; }
.monitor-prompt-row .primary:disabled,.monitor-preview-actions .primary:disabled { opacity:.55; cursor:wait; }
.monitor-composer > p:not(.error) { margin:9px 0 0; color:#8b919c; font-size:11px; }
.monitor-composer .error:empty,.monitor-preview .error:empty { display:none; }
.monitor-preview { margin-top:15px; padding:23px; background:#fff; scroll-margin-top:100px; }
.monitor-preview .panel-head { margin-bottom:17px; }
.monitor-text-button { padding:6px 9px; border:0; background:transparent; color:#62708b; font-size:11px; cursor:pointer; }
.monitor-text-button:hover { color:#2d333d; text-decoration:underline; }
.monitor-editor { display:grid; grid-template-columns:minmax(200px,1.7fr) repeat(4,minmax(115px,1fr)); gap:10px; }
.monitor-editor label { min-width:0; display:grid; gap:6px; color:#79818e; font-size:10px; font-weight:650; }
.monitor-editor input,.monitor-editor select { width:100%; min-height:36px; padding:7px 9px; border:1px solid #dfe3e9; border-radius:8px; background:#fff; color:#30353e; font:11px 'Segoe UI',Arial,sans-serif; }
.monitor-editor input:disabled { background:#f4f5f6; color:#a4a8ae; }
.monitor-preview-chart { min-height:255px; margin-top:17px; padding:14px; border:1px solid #edf0f3; border-radius:13px; background:#fcfdff; }
.monitor-preview-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; }
.monitor-preview-actions span { color:#8a919c; font-size:10px; }
.monitor-preview-actions .primary { width:auto; min-height:36px; padding:0 15px; border:0; border-radius:8px; background:#262930; color:#fff; font-size:11px; font-weight:650; cursor:pointer; }
.monitor-list-head { margin:25px 0 13px; }
.monitor-list-head h2 { color:#292d34; font-size:17px; font-weight:650; }
.monitor-list-head p { margin-top:4px; color:#8a9099; font-size:11px; }
.monitor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.monitor-grid > .empty { grid-column:1/-1; }
.monitor-empty { grid-column:1/-1; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.monitor-empty strong { color:#343943; font-size:15px; }
.monitor-empty p { max-width:46ch; margin-top:8px; color:#858c96; font-size:11px; line-height:1.6; }
.monitor-card { min-width:0; padding:18px; background:#fff; }
.monitor-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:15px; }
.monitor-card-head p { color:#7d8592; font-size:10px; }
.monitor-card-head h3 { margin:4px 0; color:#252b34; font-size:16px; font-weight:650; }
.monitor-card-head small { color:#9da3ac; font-size:10px; }
.monitor-card-actions { display:flex; flex:none; gap:5px; }
.monitor-card-actions button { padding:6px 8px; border:1px solid #e4e7ec; border-radius:7px; background:#fff; color:#606a7a; font-size:10px; cursor:pointer; }
.monitor-card-actions button:hover { border-color:#b9c0cc; color:#2d3542; }
.monitor-card-actions button[data-monitor-action=delete]:hover { border-color:#e9b8b8; color:#bc4949; }
.monitor-visual { min-height:230px; display:grid; place-items:center; overflow:hidden; border:1px solid #e9edf2; border-radius:12px; background:#f9faff; }
.monitor-visual.theme-ocean { background:#f7fbfd; }.monitor-visual.theme-emerald { background:#f7fbf9; }.monitor-visual.theme-sunset { background:#fffaf6; }.monitor-visual.theme-slate { background:#f8fafb; }
.monitor-svg { width:100%; height:auto; max-height:265px; padding:13px; overflow:visible; }
.monitor-comparison { width:100%; }.monitor-comparison-legend { display:flex; justify-content:flex-end; gap:16px; padding:12px 18px 0; color:#596579; font-size:11px; }.monitor-comparison-legend span { display:inline-flex; align-items:center; gap:6px; }.monitor-comparison-legend i { width:9px; height:9px; border-radius:50%; }
.monitor-svg text { fill:#8c95a3; font:10px 'Segoe UI',Arial,sans-serif; }
.monitor-donut-layout { width:100%; display:grid; grid-template-columns:minmax(125px,180px) minmax(0,1fr); align-items:center; gap:18px; padding:18px; }
.monitor-donut { width:min(160px,100%); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; }
.monitor-donut > div { width:69%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fff; }
.monitor-donut strong { color:#252a32; font-size:24px; font-weight:650; font-variant-numeric:tabular-nums; }
.monitor-donut span { color:#9aa1ab; font-size:10px; }
.monitor-donut-legend { min-width:0; display:grid; gap:8px; }
.monitor-donut-legend > div { min-width:0; display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:7px; font-size:10px; }
.monitor-donut-legend i { width:7px; height:7px; border-radius:50%; }.monitor-donut-legend span { overflow:hidden; color:#697481; text-overflow:ellipsis; white-space:nowrap; }.monitor-donut-legend strong { color:#303944; font-variant-numeric:tabular-nums; }
.monitor-kpi { width:100%; min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.monitor-kpi strong { color:var(--monitor-accent); font-size:clamp(48px,5vw,75px); font-weight:550; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }.monitor-kpi span { color:#727b88; font-size:11px; }
.monitor-data { margin-top:10px; color:#717b89; font-size:10px; }.monitor-data summary { width:max-content; cursor:pointer; }.monitor-data table { width:100%; margin-top:10px; }.monitor-data td,.monitor-data th { padding:6px 8px; font-size:10px; }.monitor-data td:last-child,.monitor-data th:last-child { text-align:right; }
@media (max-width:1100px) { .monitor-editor { grid-template-columns:repeat(3,minmax(0,1fr)); }.monitor-editor label:first-child { grid-column:1/-1; } }
@media (max-width:760px) { .monitor-grid { grid-template-columns:1fr; }.monitor-intro { align-items:flex-start; flex-direction:column; }.monitor-prompt-row { flex-direction:column; }.monitor-prompt-row .primary { min-height:42px; flex-basis:auto; }.monitor-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }.monitor-editor label:first-child { grid-column:1/-1; } }
@media (max-width:460px) { .monitor-editor { grid-template-columns:1fr 1fr; }.monitor-editor label:nth-child(2),.monitor-editor label:nth-child(3) { grid-column:span 1; }.monitor-donut-layout { grid-template-columns:1fr; justify-items:center; }.monitor-donut-legend { width:100%; } }
