/* Persona brand system. Digital purple sampled from supplied brand manual vector fills. */
:root {
 --persona-purple:#6e2a61; --persona-black:#000; --persona-white:#fff;
 --purple-950:#2d1028; --purple-900:#47203f; --purple-800:#57214d;
 --purple-700:#6e2a61; --purple-600:#7d3b70; --purple-500:#8c507f;
 --purple-100:#eadfe7; --purple-50:#f7f2f6;
 --ink:#211e22; --black:#000; --muted:#68616a; --line:#e7e2e7;
 --background:#f7f7f8; --surface:#fff;
 --shadow:0 6px 22px rgba(0,0,0,.035); --radius-lg:20px; --radius-md:14px;
}
body { background:var(--background); line-height:1.5; }
.app-view .page-heading h1 { font-size:clamp(28px,3.2vw,42px); line-height:1.18; letter-spacing:-.035em; }
.app-view .page-heading h1 span, .eyebrow, .app-view .panel-heading>div>span { color:var(--persona-purple); }
.app-view .page-heading>div>p:not(.eyebrow) { color:var(--muted); max-width:76ch; }
.app-view .data-panel { border-color:var(--line); border-radius:18px; box-shadow:var(--shadow); }
.app-view .panel-heading { gap:16px; }
.app-view .panel-heading h2 { line-height:1.3; }
.button-primary { background:var(--persona-purple); color:#fff; box-shadow:none; }
.button-primary:hover { background:var(--purple-800); }
.button-secondary, .button-ghost { border-color:var(--purple-100); }
.button:focus-visible, .module-tabs button:focus-visible, summary:focus-visible { outline:3px solid #b48ca9; outline-offset:3px; }
.app-view .module-tabs { background:#f0ecf0; border:1px solid var(--line); padding:5px; gap:5px; }
.app-view .module-tabs button { border-radius:10px; box-shadow:none; }
.app-view .module-tabs button.active { background:var(--persona-purple); color:#fff; box-shadow:0 2px 5px rgba(0,0,0,.06); }
.app-view .kpi-card { border-color:var(--line); box-shadow:var(--shadow); border-radius:16px; }
.app-view .kpi-card::after { display:none; }
.app-view .kpi-card small { color:var(--muted); font-size:11px; }
.app-view .data-table th { background:#f7f5f7; color:#665d67; letter-spacing:.05em; }
.app-view .data-table tbody tr:hover { background:#faf7f9; }
.app-view .data-table td { border-color:#eee9ee; }
.editor-grid label { min-width:0; }
.editor-grid input:not([type=checkbox]):not([type=radio]), .editor-grid select, .editor-grid textarea { border-color:#ddd5de; border-radius:10px; min-height:42px; }
.editor-grid input:focus, .editor-grid select:focus, .editor-grid textarea:focus { border-color:var(--persona-purple); outline-color:var(--purple-100); }
dialog { border-color:var(--line); border-radius:20px; }
.welcome-card h1 span { color:var(--persona-purple); }
#financialDashboardView .finance-summary-card { background:#fff; border-top-color:var(--persona-purple); box-shadow:none; }
#financialDashboardView .finance-summary-card.payable { background:#fff; border-top-color:#211e22; }
#financialDashboardView .finance-card-kicker, #financialDashboardView .finance-month-total { color:var(--persona-purple); }
#financialDashboardView .payable .finance-card-kicker, #financialDashboardView .payable .finance-month-total { color:#211e22; }
#financialDashboardView .finance-card-metrics { background:#f8f6f8; border:0; border-radius:10px; padding:14px; }
@media(max-width:640px) {
 .app-view .page-heading h1 { font-size:28px; }
 .app-view .module-tabs { overflow-x:auto; }
 .app-view .panel-heading { flex-wrap:wrap; }
}

.client-pace-cards { display:grid; gap:20px; }
.client-pace-card { border:1px solid var(--line); border-radius:16px; padding:20px; background:#fff; }
.client-pace-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.client-pace-heading h3 { margin:0; font-size:16px; color:var(--persona-purple); }
.client-pace-highlight { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:14px; }
.client-pace-highlight>div { display:grid; gap:4px; }
.client-pace-highlight span { font-size:12px; color:var(--muted); }
.client-pace-highlight strong { font-size:28px; color:var(--persona-purple); }
.client-pace-progress { display:block; width:100%; height:8px; accent-color:var(--persona-purple); margin:0 0 20px; border:0; border-radius:8px; overflow:hidden; }
.client-pace-progress::-webkit-progress-bar { background:var(--purple-100); }
.client-pace-progress::-webkit-progress-value { background:var(--persona-purple); border-radius:8px; }
.client-pace-progress::-moz-progress-bar { background:var(--persona-purple); }
@media(max-width:640px) { .client-pace-card { padding:16px; } .client-pace-card .sdr-pace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

#financeMonthOverviewRows tr[data-overview-status="paid"], #financeMonthOverviewRows tr[data-overview-status="paid"]:hover { background:#edf8f0; }
#financeMonthOverviewRows .overview-status-button { min-width:88px; border-radius:999px; padding:7px 12px; font-weight:750; }
#financeMonthOverviewRows .overview-paid { background:#dff2e5; color:#23663c; border-color:#bcdcc7; }
#financeMonthOverviewRows .overview-pending { background:#f7f2f6; color:var(--persona-purple); }
#financeMonthOverviewRows .overview-partial { background:#fff3df; color:#805b18; border-color:#efd7aa; }
#financeEntryForm[data-view-only="true"] #financeEntryFields :disabled { opacity:1; color:var(--ink); background:#f8f7f9; cursor:default; }
