/* Public UI contract. Financial amounts and state belong to financial-core. */
:root {
 color-scheme:dark;
 --fc-bg-deep:#101113!important; --fc-bg-panel:#191a1d!important;
 --fc-bg-panel-alt:#202125!important; --fc-line:#35363c!important;
 --fc-line-faint:#292a30!important; --fc-text:#f4f1e9!important;
 --fc-text-muted:#aaaab2!important; --fc-gold:#d9bd7d!important;
 --fc-gold-soft:#eedbb0!important; --fc-cyan:#d9bd7d!important;
 --fc-cyan-dim:#ad925d!important; --fc-green:#7bd9b0!important;
 --fc-red:#ff9298!important; --fc-amber:#d9bd7d!important;
 --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
 --space-5:24px; --space-6:32px; --space-7:48px;
 --radius-sm:8px; --radius-md:12px; --radius-lg:20px;
 --shadow-panel:0 8px 28px #0002; --shadow-dialog:0 24px 80px #0008;
 --font-body:Inter,system-ui,sans-serif; --font-money:Inter,system-ui,sans-serif;
 --fm-radius:var(--radius-lg); --fm-shadow:var(--shadow-panel);
}
* {box-sizing:border-box}
html,body {background:var(--fc-bg-deep)!important;color:var(--fc-text)!important}
body {font:14px/1.6 var(--font-body)!important}
button,input,select,textarea {font:inherit}
button {cursor:pointer}
button:disabled {opacity:.45!important;cursor:not-allowed;transform:none!important}
:where(button,a,input,select,textarea,[tabindex]):focus-visible {outline:2px solid var(--fc-gold)!important;outline-offset:4px}
input,select,textarea {color:var(--fc-text)!important;background:var(--fc-bg-deep)!important;border:1px solid var(--fc-line)!important;border-radius:var(--radius-sm)!important;min-height:40px;padding:8px 10px;max-width:100%}
input[type=checkbox],input[type=radio] {min-height:20px;width:20px;height:20px;accent-color:var(--fc-gold)}
input::placeholder,textarea::placeholder {color:var(--fc-text-muted);opacity:1}
select option {background:var(--fc-bg-panel);color:var(--fc-text)}
.fc-root {padding:32px 32px 72px!important;max-width:1800px!important;isolation:isolate;background:var(--fc-bg-deep)!important}
.fc-root:has(> .fc-auth) {margin:0!important;width:100%!important;max-width:none!important}
.fc-particles-3d {display:none!important}
.fc-sidebar-safe {background:#151619!important;border-color:var(--fc-line-faint)!important;box-shadow:none!important;padding:28px 14px!important}
.fc-side-mark {background:var(--fc-gold)!important;color:#171511!important;box-shadow:none!important;border-radius:12px!important}
.fc-side-brand,.fc-side-bottom {border-color:var(--fc-line-faint)!important}
.fc-side-brand b,.fc-side-brand strong {color:var(--fc-text)!important}
.fc-side-section>span,.fc-side-brand small {color:var(--fc-text-muted)!important;letter-spacing:.12em!important}
.fc-side-section button,.fc-side-bottom button {color:#b8b7bf!important;background:transparent!important;border:1px solid transparent!important;min-height:44px!important;font-size:13px!important;border-radius:10px!important}
.fc-side-section button:hover,.fc-side-bottom button:hover {background:#ffffff08!important;color:var(--fc-text)!important}
.fc-side-section button.active {background:#d9bd7d12!important;border-color:#d9bd7d26!important;color:var(--fc-gold)!important;box-shadow:none!important}
.fc-header {margin-bottom:24px!important}
.fc-header h1 {font-size:clamp(24px,3vw,36px)!important;font-weight:600!important;color:var(--fc-text)!important;letter-spacing:-.04em}
.fc-header p,.fc-modern-subtitle {color:var(--fc-text-muted)!important}
.fc-meta-field,.fc-util-bar,.fc-v12-commandbar {background:var(--fc-bg-panel)!important;border-color:var(--fc-line-faint)!important;box-shadow:none!important}
.fc-meta-field span,.fc-meta-field b {color:var(--fc-text-muted)!important}
.fc-util-bar {padding:12px!important;gap:8px!important}
.fc-top-btn,.fc-icon-btn,.fc-tab,.ds-button {background:var(--fc-bg-panel-alt)!important;color:var(--fc-text)!important;border:1px solid var(--fc-line)!important;border-radius:10px!important;min-height:42px!important;padding:9px 14px!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important}
.fc-add-btn,button.primary,.ds-button-primary {background:var(--fc-gold)!important;color:#191610!important;border:1px solid var(--fc-gold)!important;border-radius:10px!important;min-height:42px!important;padding:9px 16px!important;font-weight:600!important;box-shadow:none!important}
.fc-top-btn:hover,.fc-add-btn:hover,.fc-icon-btn:hover,.ds-button:hover {border-color:var(--fc-gold)!important;filter:brightness(1.08);transform:none!important}
.fc-panel,.fc-card,.fc-pro-box,.fc-pro-kpi,.fc-premium-panel,.fc-gauge,.fc-v22-summary-item,.fc-premium-card,.ds-card {background:var(--fc-bg-panel)!important;border:1px solid var(--fc-line-faint)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-panel)!important;min-width:0}
.fc-panel {margin-bottom:24px!important;overflow:hidden}
.fc-panel-head {padding:18px 22px!important;background:transparent!important;border-bottom:1px solid var(--fc-line-faint)!important;gap:12px;flex-wrap:wrap}
.fc-panel-title {font-size:14px!important;color:var(--fc-text)!important;letter-spacing:0!important}
.fc-panel-body {padding:20px!important}
.fc-panel:hover,.fc-pro-box:hover,.fc-pro-kpi:hover {box-shadow:var(--shadow-panel)!important}
.fc-gauge {padding:22px!important;min-height:160px!important}
.fc-gauge::after {display:none}
.fc-gauge .fc-gauge-value,.fc-gauge:nth-child(n) .fc-gauge-value {color:var(--fc-gold)!important;font-size:clamp(24px,2.5vw,34px)!important;font-weight:600!important;font-variant-numeric:tabular-nums;line-height:1.2!important;overflow-wrap:anywhere}
.fc-gauge-label,.fc-gauge-clickable-hint,.fc-v22-summary-item span {color:var(--fc-text-muted)!important;font-size:12px!important}
.fc-v22-summary-item strong,.fc-v22-summary-item b {color:var(--fc-text)!important;font-variant-numeric:tabular-nums}
.fc-premium-top {margin:32px 0 24px!important}
.fc-premium-top h1 {font-size:28px!important}
.fc-premium-top p,.fc-premium-insight small {font-size:13px!important}
.fc-premium-eyebrow,.fc-premium-insight span {font-size:10px!important}
.fc-premium-insight {background:#d9bd7d08!important;border-color:#d9bd7d30!important;padding:20px!important}
.fc-premium-insight b {font-size:15px!important}
.fc-premium-cards {gap:16px!important}
.fc-premium-card {padding:24px!important;min-height:160px!important}
.fc-premium-card span {font-size:11px!important;line-height:1.5;letter-spacing:.08em}
.fc-premium-card strong {font:600 clamp(22px,2.2vw,32px)/1.2 var(--font-money)!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fc-premium-card small {font-size:12px!important;margin-top:16px}
.fc-premium-card.featured {border-color:#d9bd7d55!important;background:linear-gradient(140deg,#29251c,#191a1d)!important}
.fc-signature-analytics-safe,.fc-v11-grid {gap:20px!important;margin-top:24px!important}
.fc-premium-panel {padding:22px!important}
.fc-premium-panel-head b {font-size:16px!important}
.fc-premium-panel-head span,.fc-premium-panel-head small {font-size:11px!important;color:var(--fc-text-muted)!important}
.fc-v11-today-list>div,.fc-v11-flow-list>div,.fc-row {border-color:var(--fc-line-faint)!important;min-height:52px}
.fc-row-name {font-size:13px!important}
.fc-v11-today-list span,.fc-v11-flow-list span,.fc-top-categories-safe span {font-size:13px!important}
.fc-v11-today-list small,.fc-v11-flow-list small {font-size:12px!important}
.fc-v11-actions button {background:var(--fc-bg-panel)!important;border-color:var(--fc-line)!important;border-radius:14px!important;padding:18px!important}
.fc-v11-actions b {font-size:14px!important}.fc-v11-actions small {font-size:12px!important}
.fc-card-pro {background:var(--fc-bg-panel)!important;border-color:var(--fc-line)!important}
.fc-card-head {gap:12px;flex-wrap:wrap}
.fc-card-meta-grid {gap:16px!important}
.fc-card-month,.fc-card-limit-panel,.fc-card-note,.fc-callout,.fc-close-checklist {background:var(--fc-bg-panel-alt)!important;border-color:var(--fc-line)!important;color:var(--fc-text-muted)!important;border-radius:12px!important;font-size:12px!important;line-height:1.6}
.fc-card-month.selected {border-color:var(--fc-gold)!important;color:var(--fc-gold)!important}
.fc-empty,.ds-empty {padding:32px 20px!important;text-align:center;color:var(--fc-text-muted)!important;font-size:14px!important;line-height:1.7;border:1px dashed var(--fc-line);border-radius:12px;margin:12px 0}
.fc-modal-overlay {position:fixed!important;inset:0!important;z-index:1500!important;background:#000a!important;backdrop-filter:blur(8px);padding:24px!important;overflow-y:auto!important;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center}
.fc-modal-card {background:var(--fc-bg-panel)!important;border:1px solid var(--fc-line)!important;border-radius:24px!important;box-shadow:var(--shadow-dialog)!important;width:min(720px,100%)!important;max-width:1100px!important;max-height:calc(100dvh - 48px)!important;overflow:auto!important;padding:28px!important;color:var(--fc-text)!important}
.fc-modal-card h3 {font-size:22px!important;line-height:1.3;letter-spacing:-.03em}
.fc-modal-kicker {font-size:10px!important;color:var(--fc-gold)!important}
.fc-modal-actions {gap:10px!important;display:flex;flex-wrap:wrap;margin-top:24px!important}
.fc-edit-field {font-size:13px!important;color:var(--fc-text-muted)!important;gap:8px!important}
.fc-toast {background:var(--fc-bg-panel-alt)!important;color:var(--fc-text)!important;border:1px solid var(--fc-gold)!important;border-radius:12px!important;box-shadow:var(--shadow-dialog)!important;max-width:calc(100vw - 32px);z-index:2000!important;font-size:14px!important}
.fc-save-saved {color:var(--fc-gold)!important;background:#d9bd7d10!important;border-color:#d9bd7d30!important}
.ds-badge {display:inline-flex;padding:4px 8px;border-radius:6px;border:1px solid var(--fc-line);font-size:11px;color:var(--fc-text-muted)}
.ds-transaction {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--fc-line-faint)}
.ds-transaction small {grid-column:1;color:var(--fc-text-muted)}
.ds-transaction b {grid-column:2;grid-row:1/3;align-self:center;font-variant-numeric:tabular-nums}
.ds-positive {color:var(--fc-green)!important}.ds-negative {color:var(--fc-red)!important}
.ds-skip {position:fixed;top:-100px;left:16px;z-index:3000;background:var(--fc-gold);color:#171511;padding:12px}.ds-skip:focus {top:12px}
.ds-panel-toggle {display:flex;align-items:center;gap:12px;color:inherit;background:none;border:0;text-align:left;padding:0;min-height:44px}
.ds-drawer .fc-modal-card {height:100dvh;max-height:100dvh!important;border-radius:20px 0 0 20px!important;margin-left:auto}
.ds-drawer {padding:0!important}
table {border-collapse:collapse;width:100%;font-size:13px}
th {text-align:left;color:var(--fc-text-muted);font-weight:500}
th,td {padding:12px 14px;border-bottom:1px solid var(--fc-line-faint)}
.fc-footer-summary {background:transparent!important;border-color:var(--fc-line)!important;gap:20px!important;color:var(--fc-text-muted)}
@media(max-width:1180px){.fc-premium-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fc-root{padding:24px!important}}
@media(max-width:900px){.fc-root{width:100%!important;margin:0!important;padding:16px 16px 72px!important}.fc-sidebar-safe{padding:16px!important;border-radius:16px!important}.fc-side-section{gap:6px!important}.fc-side-section button{flex:1 1 140px!important}.fc-tabs{display:none!important}.fc-premium-top,.fc-signature-analytics-safe,.fc-v11-grid{grid-template-columns:1fr!important}.fc-header-meta{flex-wrap:wrap}.fc-panel-body{padding:16px!important}}
@media(max-width:600px){.fc-premium-cards,.fc-strip,.fc-v22-summary,.fc-v11-actions{grid-template-columns:1fr!important}.fc-root{padding:12px 12px 56px!important}.fc-modal-overlay{padding:8px!important}.fc-modal-card{padding:20px!important;max-height:calc(100dvh - 16px)!important;border-radius:18px!important}.fc-modal-actions>*{flex:1 1 140px}.fc-premium-card{min-height:140px!important}.fc-card-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fc-panel-head{padding:14px!important}.fc-util-bar{gap:6px!important}.fc-top-btn{flex:initial!important}.fc-side-section button{flex:1 1 120px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.fc-sidebar-safe,.fc-util-bar,.fc-v12-commandbar,.fc-modal-overlay,.ds-skip{display:none!important}.fc-root{width:100%!important;margin:0!important;padding:0!important}body,.fc-panel,.fc-card,.fc-gauge{background:white!important;color:black!important;box-shadow:none!important;break-inside:avoid}}
.ds-dashboard {margin:28px 0}
.ds-section-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.ds-section-heading h2 {font-size:19px;line-height:1.4;letter-spacing:-.025em;margin:5px 0;color:var(--fc-text)}
.ds-section-heading p {font-size:13px;color:var(--fc-text-muted);max-width:640px;margin:6px 0}
.ds-eyebrow {font-size:10px;letter-spacing:.14em;color:var(--fc-gold)}
.ds-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.ds-dashboard-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ds-section {padding:24px}
.ds-category {display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0;font-size:13px}
.ds-category b {font-weight:500;font-variant-numeric:tabular-nums}
.ds-category meter {grid-column:1/-1;width:100%;height:8px;appearance:none;background:var(--fc-line);border-radius:8px}
.ds-category meter::-webkit-meter-bar{background:var(--fc-line);border:0;height:6px}.ds-category meter::-webkit-meter-optimum-value{background:var(--fc-gold)}
.ds-shortcuts {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.ds-table-scroll {max-width:100%;overflow:auto}
.ds-table-scroll td {white-space:nowrap;font-variant-numeric:tabular-nums}
.ds-history {display:flex;gap:16px;align-items:end;min-height:190px}.ds-history>div{flex:1;min-width:0;text-align:center;font-size:11px}.ds-history i{display:block;background:var(--fc-gold);border-radius:6px 6px 0 0;margin:12px auto 6px;width:70%}.ds-history span,.ds-history b{overflow-wrap:anywhere}
.fc-goal-summary>div,.fc-recurring-summary>div,.fc-row,.fc-today-kpis>div,.fc-pro-metric,.fc-insight-box {background:var(--fc-bg-panel-alt)!important;border-color:var(--fc-line)!important}
.fc-v12-command-actions button,.fc-v12-command-title,.fc-v12-command-score,.fc-v13-user {background:var(--fc-bg-panel-alt)!important;color:var(--fc-text-muted)!important;border-color:var(--fc-line)!important}
.fc-section-kicker,.fc-header-kicker,.fc-side-brand span {color:var(--fc-gold)!important}
.fc-v12-fab {position:static!important;box-shadow:none!important;margin-left:auto}
.fc-v12-commandbar {flex-wrap:wrap!important;gap:12px!important;padding:12px!important}
.fc-v12-command-actions {flex-wrap:wrap!important}
.fc-root .fc-v22-positive,.fc-root .fc-v22-negative {color:var(--fc-gold)!important}
@media(max-width:1100px){.ds-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ds-dashboard-grid{grid-template-columns:1fr}.ds-section{padding:18px}.ds-section-heading{gap:12px}.ds-section-heading h2{font-size:18px}.ds-metrics{gap:10px}.ds-metrics .fc-premium-card{padding:16px!important}.fc-v12-commandbar{position:static!important}}
@media(max-width:420px){.ds-metrics{grid-template-columns:1fr}}
.ds-navigation {display:block!important}
.ds-navigation nav {padding-bottom:20px}
.ds-menu-toggle {display:none}
.fc-panel-title,.fc-panel-title span {font-family:var(--font-body)!important;background:transparent!important;border:0!important;padding:0!important;letter-spacing:0!important;text-transform:none!important}
.fc-panel-title {font-weight:600!important}
.fc-fab-stack {position:static!important;display:flex!important;flex-direction:row!important;justify-content:flex-end;gap:10px!important;margin:16px 0!important}
.fc-fab,.fc-fab-secondary {border-radius:10px!important;box-shadow:none!important;min-height:42px!important;padding:10px 16px!important;background:var(--fc-gold)!important;color:#191610!important;font-size:13px!important}
.fc-transfer-shortcut {position:static!important;display:inline-flex;margin:0 0 16px auto!important;min-height:42px!important;font-size:13px!important;box-shadow:none!important}
.fc-empty.ds-empty {display:block!important;width:100%!important;grid-column:1/-1;min-height:100px!important}
.fc-num-wrap,.fc-num-input,.fc-xp-owner-box,.fc-card-limit-panel>div,.fc-invoice-switcher,.fc-card-summary,.fc-card-summary-tile {background:var(--fc-bg-panel-alt)!important;border-color:var(--fc-line)!important;color:var(--fc-text)!important}
.fc-num-wrap input {background:transparent!important;border:0!important}
.fc-card-shortcut,.fc-invoice-modal,.fc-v12-search-modal,.fc-v12-alerts-modal,.fc-v12-score-modal,.fc-v13-backup-modal,.fc-trash-modal {background:var(--fc-bg-panel)!important;border-color:var(--fc-line)!important;color:var(--fc-text)!important}
.ds-dialog-surface {width:min(960px,100%)!important;max-height:calc(100dvh - 48px)!important;overflow:auto!important;overscroll-behavior:contain;padding:24px!important;border-radius:20px!important;background:var(--fc-bg-panel)!important;box-shadow:var(--shadow-dialog)!important}
.fc-card-brand-logo-fallback {opacity:1!important;color:#191610!important;font-weight:700!important}
.fc-card-brand-logo {background:var(--fc-gold-soft)!important;border:0!important}
.fc-card-limit-panel,.fc-invoice-switcher,.fc-card-forecast {background:var(--fc-bg-panel-alt)!important;border-color:var(--fc-line)!important}
.fc-card-shortcut .fc-card-v8-main,.fc-card-shortcut .fc-card-v8-row {background:transparent!important;border-color:var(--fc-line)!important}
.fc-card-limit-panel span,.fc-card-limit-panel small,.fc-card-v8-row,.fc-card-note {color:var(--fc-text-muted)!important}
.fc-root .fc-num-input {background:transparent!important}
.fc-panel-title svg {color:var(--fc-gold)}
.fc-fab span {display:inline!important}
.fc-v22-summary-item,.fc-report-kpis>div,.fc-today-kpis>div,.fc-goal-summary>div,.fc-v11-shared-summary>div {background:var(--fc-bg-panel-alt)!important;border-color:var(--fc-line)!important}
.fc-v22-summary-item span,.fc-report-kpis span,.fc-goal-summary span {color:var(--fc-text-muted)!important}
.fc-v22-summary-item small {font-size:12px!important;color:var(--fc-text-muted)!important}
.fc-root .fc-v22-summary-item:nth-child(n) strong {color:var(--fc-text)!important}
.fc-panel .fc-num-wrap input,.fc-panel .fc-num-box input {background:transparent!important}
.ds-fixed-fields input,.ds-fixed-fields select,.ds-fixed-values>* {min-width:0}
@media(max-width:760px){
 .fc-util-bar {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;white-space:normal!important}
 .fc-util-bar button{width:100%!important;min-width:0!important;padding:9px!important}.fc-util-divider{display:none!important}
 .ds-fixed-fields {grid-template-columns:minmax(0,1fr) 48px!important}.ds-fixed-fields>input,.ds-fixed-fields>select{grid-column:1/-1;width:100%}
 .ds-fixed-values {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .fc-activity-row {grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
 .fc-activity-row>div {grid-column:1/-1!important;grid-row:1!important}
 .fc-activity-row>span:first-child {grid-column:1!important;grid-row:2!important}
 .fc-activity-row>strong {grid-column:2!important;grid-row:2!important}
 .fc-activity-row>button:nth-last-child(2),.fc-activity-row>button:last-child {grid-column:auto!important;grid-row:auto!important;min-width:44px!important;width:auto!important}
 .fc-activity-row>div>b,.fc-activity-row>div>small {white-space:normal!important;overflow-wrap:anywhere}
 .fc-activity-row .fc-reimbursement-quick-btn {grid-column:1/-1!important;width:100%!important}
 .fc-v22-summary {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .fc-v22-summary-item {padding:14px!important}.fc-v22-summary-item strong{font-size:20px!important;overflow-wrap:anywhere}
 .ds-metrics {grid-template-columns:repeat(2,minmax(0,1fr))!important}.ds-metrics .fc-premium-card strong{font-size:20px!important}
 .fc-fab {justify-content:center!important;padding:10px!important}
 .fc-fab span{font-size:12px!important}
 .ds-dialog-surface{padding:18px!important;max-height:calc(100dvh - 16px)!important}
}
.fc-panel small,.fc-panel label,.fc-panel p {line-height:1.6}
.fc-sidebar-safe .fc-side-section {margin:14px 0!important}
.fc-sidebar-safe .fc-side-section>span {font-size:10px!important}
.fc-v12-brand small {color:var(--fc-text-muted)!important;font-size:10px!important}
.fc-v12-score-dot {background:var(--fc-gold)!important;box-shadow:none!important}
@media(max-width:900px){
 .ds-navigation .fc-side-brand{display:flex!important;gap:10px!important;padding:0!important;border:0!important}
 .ds-navigation .fc-side-brand>div:nth-child(2){flex:1}
 .ds-menu-toggle{display:block;background:var(--fc-bg-panel-alt);border:1px solid var(--fc-line);border-radius:8px;color:var(--fc-gold);padding:10px 16px;min-height:44px}
 .ds-navigation nav{display:none}.ds-navigation.is-open nav{display:block}
 .ds-navigation .fc-side-section{display:grid!important;grid-template-columns:1fr 1fr;flex-direction:row!important;gap:6px!important}
 .ds-navigation .fc-side-section>span{grid-column:1/-1}
 .ds-navigation .fc-side-section button{width:100%!important}
 .fc-fab-stack {justify-content:stretch}.fc-fab-stack button{flex:1}
}
