/* VIP Portfolio — Sprint 7 Product Design System
   Light + Dark themes, admin/CRM refinement, mobile-first experience. */

:root,
html[data-theme="light"]{
  --v7-bg:#f5f6f3;
  --v7-surface:#ffffff;
  --v7-surface-2:#f8f8f5;
  --v7-surface-3:#eff2ee;
  --v7-ink:#101714;
  --v7-ink-2:#36413b;
  --v7-muted:#78817c;
  --v7-line:#e2e6e1;
  --v7-line-strong:#d3d9d3;
  --v7-forest:#10221a;
  --v7-forest-2:#18352a;
  --v7-gold:#c6a96b;
  --v7-gold-strong:#9b7637;
  --v7-gold-soft:#f8f2e5;
  --v7-blue:#4d7fbb;
  --v7-blue-soft:#edf4fb;
  --v7-green:#2f8a5f;
  --v7-green-soft:#eaf6ef;
  --v7-red:#d65e54;
  --v7-red-soft:#fff0ee;
  --v7-amber:#c18b2c;
  --v7-amber-soft:#fff7e6;
  --v7-shadow:0 12px 34px rgba(20,32,25,.055);
  --v7-shadow-soft:0 1px 2px rgba(20,32,25,.02),0 6px 20px rgba(20,32,25,.035);
  --page:var(--v7-bg);
  --surface:var(--v7-surface);
  --surface-soft:var(--v7-surface-2);
  --surface-warm:#fbf8f0;
  --ink:var(--v7-ink);
  --ink-2:var(--v7-ink-2);
  --muted:var(--v7-muted);
  --muted-2:#9ba29e;
  --line:var(--v7-line);
  --line-strong:var(--v7-line-strong);
  --gold:var(--v7-gold);
  --gold-strong:var(--v7-gold-strong);
  --gold-soft:var(--v7-gold-soft);
  --blue:var(--v7-blue);
  --blue-soft:var(--v7-blue-soft);
  --green:var(--v7-green);
  --green-soft:var(--v7-green-soft);
  --red:var(--v7-red);
  --red-soft:var(--v7-red-soft);
  --amber:var(--v7-amber);
  --amber-soft:var(--v7-amber-soft);
  --shadow-sm:var(--v7-shadow-soft);
  --shadow-md:var(--v7-shadow);
}

html[data-theme="dark"]{
  --v7-bg:#0d1411;
  --v7-surface:#141b18;
  --v7-surface-2:#18211d;
  --v7-surface-3:#202a25;
  --v7-ink:#eeeae0;
  --v7-ink-2:#c8cec9;
  --v7-muted:#8f9993;
  --v7-line:#28332e;
  --v7-line-strong:#35423b;
  --v7-forest:#0b1511;
  --v7-forest-2:#163126;
  --v7-gold:#c8a96b;
  --v7-gold-strong:#d1b576;
  --v7-gold-soft:#2a251c;
  --v7-blue:#6f9ed5;
  --v7-blue-soft:#172534;
  --v7-green:#37b678;
  --v7-green-soft:#152a20;
  --v7-red:#ef776e;
  --v7-red-soft:#321e1e;
  --v7-amber:#d8a34a;
  --v7-amber-soft:#30271a;
  --v7-shadow:0 18px 46px rgba(0,0,0,.28);
  --v7-shadow-soft:0 1px 1px rgba(0,0,0,.24),0 8px 24px rgba(0,0,0,.16);
  --page:var(--v7-bg);
  --surface:var(--v7-surface);
  --surface-soft:var(--v7-surface-2);
  --surface-warm:#211d17;
  --ink:var(--v7-ink);
  --ink-2:var(--v7-ink-2);
  --muted:var(--v7-muted);
  --muted-2:#75817a;
  --line:var(--v7-line);
  --line-strong:var(--v7-line-strong);
  --gold:var(--v7-gold);
  --gold-strong:var(--v7-gold-strong);
  --gold-soft:var(--v7-gold-soft);
  --blue:var(--v7-blue);
  --blue-soft:var(--v7-blue-soft);
  --green:var(--v7-green);
  --green-soft:var(--v7-green-soft);
  --red:var(--v7-red);
  --red-soft:var(--v7-red-soft);
  --amber:var(--v7-amber);
  --amber-soft:var(--v7-amber-soft);
  --shadow-sm:var(--v7-shadow-soft);
  --shadow-md:var(--v7-shadow);
}

html,body{background:var(--v7-bg);color:var(--v7-ink)}
body{font-size:14px;transition:background .2s ease,color .2s ease}
html[data-lang="en"] body{font-family:"Inter","Cairo",Arial,sans-serif}
html[data-lang="ar"] body{font-family:"Cairo","Inter",Tahoma,Arial,sans-serif}
::selection{background:rgba(198,169,107,.28)}

/* Global refinement */
.panel{background:var(--v7-surface);border-color:var(--v7-line);box-shadow:none;border-radius:16px;padding:20px}
.panel:hover{border-color:color-mix(in srgb,var(--v7-line-strong) 82%,var(--v7-gold) 18%)}
.panel-title{margin-bottom:16px}.panel-title span{color:var(--v7-ink);font-size:14px}.panel-title small{color:var(--v7-muted);font-size:9px}.panel-title a{color:var(--v7-gold-strong)}
.section-kicker,.eyebrow{color:var(--v7-gold-strong);text-transform:none;letter-spacing:.03em}
.btn{border-radius:10px;min-height:40px;box-shadow:none;transform:none!important}.btn-primary{background:var(--v7-forest);border-color:var(--v7-forest);color:#fff}.btn-primary:hover{background:var(--v7-forest-2)}.btn-secondary{background:var(--v7-surface);border-color:var(--v7-line-strong);color:var(--v7-ink-2)}.btn-secondary:hover{background:var(--v7-surface-2)}
.icon-button{background:var(--v7-surface);border-color:var(--v7-line);color:var(--v7-ink-2);border-radius:10px;transition:.16s ease}.icon-button:hover{border-color:var(--v7-gold);color:var(--v7-gold-strong);transform:translateY(-1px)}
.soft-badge{background:var(--v7-blue-soft);color:var(--v7-blue)}
.form-control,.login-form input,.field input,.field select,.field textarea,.stack-form input,.stack-form select,.stack-form textarea,.monitor-filter select,.inline-add-form select,.crm-filter-form select{background:var(--v7-surface)!important;color:var(--v7-ink)!important;border-color:var(--v7-line-strong)!important}
input::placeholder,textarea::placeholder{color:var(--v7-muted)}

/* Brand */
.brand-mark{background:linear-gradient(150deg,var(--v7-forest),#0d1813);color:var(--v7-gold);font-family:Georgia,"Times New Roman",serif;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(198,169,107,.38)}
.brand-mark.small{border-radius:9px;width:38px;height:38px;font-size:20px}
.v7-brand{padding:4px 4px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.v7-brand strong{color:#f4f0e7;font-family:Georgia,"Times New Roman",serif;font-size:12px;letter-spacing:.08em;white-space:nowrap}
.v7-brand span{color:var(--v7-gold);font-size:6px;letter-spacing:.10em;white-space:nowrap}

/* Shell + admin sidebar */
.staff-shell.v7-shell{grid-template-columns:244px minmax(0,1fr);background:var(--v7-bg)}
.staff-sidebar.v7-sidebar{background:linear-gradient(180deg,#0d1813 0%,#101c17 100%);border-inline-start:0;border-inline-end:1px solid rgba(255,255,255,.06);padding:20px 15px;color:#dce4df}
html[dir="rtl"] .staff-sidebar.v7-sidebar{border-right:0;border-left:1px solid rgba(255,255,255,.06)}
.staff-workspace-label{font-size:8px;color:#77857d;padding:18px 8px 8px;letter-spacing:.02em}
.staff-sidebar.v7-sidebar nav{margin-top:0;gap:3px}
.staff-sidebar.v7-sidebar nav a{color:#9eaaa3;border:1px solid transparent;border-radius:9px;min-height:42px;padding:9px 10px;font-size:10px;font-weight:600}
.staff-sidebar.v7-sidebar nav a:hover{background:rgba(255,255,255,.045);color:#eef2ef}
.staff-sidebar.v7-sidebar nav a.active{background:linear-gradient(90deg,rgba(198,169,107,.16),rgba(198,169,107,.06));color:#f0e6cc;border-color:rgba(198,169,107,.16)}
.staff-sidebar.v7-sidebar nav a.active:before{display:none}
.staff-sidebar.v7-sidebar nav a .ui-icon{width:17px;height:17px;stroke-width:1.55}
.sidebar-insight-card{display:flex;gap:10px;margin:20px 2px 0;padding:13px 11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:11px}
.sidebar-insight-icon{width:30px;height:30px;border-radius:8px;background:rgba(198,169,107,.11);color:var(--v7-gold);display:grid;place-items:center;flex:0 0 auto}.sidebar-insight-icon .ui-icon{width:15px;height:15px}
.sidebar-insight-card span{display:block;font-size:7px;color:var(--v7-gold);font-weight:700}.sidebar-insight-card p{font-size:7px;color:#829089;line-height:1.8;margin:3px 0 0}
.sidebar-spacer{flex:1;min-height:16px}
.experience-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 10px}
.experience-control{min-width:0;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#aeb9b2;border-radius:9px;padding:7px 5px;display:grid;justify-items:center;gap:4px;transition:.16s}
.experience-control:hover{background:rgba(255,255,255,.07);color:#f1eee6}.experience-control .ui-icon{width:15px;height:15px}.experience-control>span{display:grid;gap:1px;text-align:center;min-width:0}.experience-control b{font-size:6px;font-weight:600}.experience-control small{font-size:6px;color:var(--v7-gold)}
.v7-user-card{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.07)!important;margin-top:0!important}.v7-user-card>div strong{color:#e4ebe6}.v7-user-card>div span{color:#77857d}.v7-user-card>b{background:rgba(198,169,107,.12)!important;color:var(--v7-gold)!important}
.staff-sidebar.v7-sidebar .logout-form button{color:#7f8d85}.staff-sidebar.v7-sidebar .logout-form button:hover{color:#efb3ad;background:rgba(239,119,110,.06)}

/* Main admin */
.crm-admin-main,.v7-main{background:var(--v7-bg)!important;padding:26px 28px 52px}
.v7-topbar{align-items:center;gap:24px;margin-bottom:18px}.v7-topbar .topbar-copy{min-width:0}.v7-topbar h1{font-size:25px;line-height:1.35;color:var(--v7-ink);margin-top:0}.v7-topbar p{color:var(--v7-muted);font-size:9px}
.v7-topbar-tools{display:flex;align-items:center;gap:7px;min-width:0}.v7-search{height:40px;width:230px;display:flex;align-items:center;gap:7px;padding:0 11px;background:var(--v7-surface);border:1px solid var(--v7-line);border-radius:10px}.v7-search .ui-icon{width:15px;height:15px;color:var(--v7-muted)}.v7-search input{border:0;outline:0;background:transparent;color:var(--v7-ink);width:100%;font:inherit;font-size:9px}.desktop-experience-buttons{display:flex;gap:5px}.desktop-experience-buttons .icon-button{width:40px;height:40px}.lang-pill{display:flex;align-items:center;justify-content:center;gap:3px}.lang-pill span{font-size:6px;font-weight:800}
.v7-kpi-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:9px;margin-bottom:10px}
.v7-kpi{min-width:0;min-height:106px;background:var(--v7-surface);border:1px solid var(--v7-line);border-radius:14px;padding:14px;display:flex;align-items:flex-start;gap:10px;box-shadow:none;transition:.18s}.v7-kpi:hover{transform:translateY(-1px);border-color:var(--v7-line-strong)}
.kpi-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--v7-gold-soft);color:var(--v7-gold-strong);flex:0 0 auto}.kpi-icon .ui-icon{width:15px;height:15px}.kpi-icon.blue{background:var(--v7-blue-soft);color:var(--v7-blue)}.kpi-icon.green{background:var(--v7-green-soft);color:var(--v7-green)}.kpi-icon.gold{background:var(--v7-gold-soft);color:var(--v7-gold-strong)}.kpi-icon.coral{background:var(--v7-red-soft);color:var(--v7-red)}
.v7-kpi>div:last-child{min-width:0;display:grid;gap:4px}.v7-kpi span{font-size:8px;color:var(--v7-muted);font-weight:700}.v7-kpi strong{font-size:22px;line-height:1.15;color:var(--v7-ink);white-space:nowrap}.v7-kpi strong small{font-size:7px;color:var(--v7-muted)}.v7-kpi p{font-size:7px;color:var(--v7-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v7-kpi.attention{border-color:color-mix(in srgb,var(--v7-red) 24%,var(--v7-line));background:color-mix(in srgb,var(--v7-red-soft) 25%,var(--v7-surface))}
.kpi-aum{background:linear-gradient(145deg,var(--v7-forest),#162a21);border-color:transparent}.kpi-aum span,.kpi-aum p,.kpi-aum strong small{color:#96a59d}.kpi-aum strong{color:#fff}.kpi-aum .kpi-icon{background:rgba(198,169,107,.12);color:var(--v7-gold)}

.v7-command-grid{display:grid;grid-template-columns:.95fr 1.1fr .72fr;gap:10px;margin-bottom:10px}.v7-command-grid>.panel{min-height:285px}
.health-overview-layout{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:14px;min-height:205px}.health-score-ring{width:132px;height:132px;position:relative;display:grid;place-items:center;margin:auto}.health-score-ring svg{width:132px;height:132px;transform:rotate(-90deg)}.health-score-ring circle{fill:none;stroke-width:8}.health-score-ring .ring-track{stroke:var(--v7-surface-3)}.health-score-ring .ring-value{stroke:var(--v7-green);stroke-linecap:round}.health-score-ring.watch .ring-value{stroke:var(--v7-amber)}.health-score-ring.risk .ring-value{stroke:var(--v7-red)}.health-score-ring>div{position:absolute;display:grid;text-align:center}.health-score-ring strong{font-size:26px;line-height:1}.health-score-ring span{font-size:7px;color:var(--v7-muted);margin-top:5px}.health-breakdown{display:grid;gap:8px}.health-breakdown>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid var(--v7-line)}.health-breakdown>div:last-child{border-bottom:0}.health-breakdown span{font-size:8px;color:var(--v7-ink-2)}.health-breakdown b{font-size:9px}.dot{width:7px;height:7px;border-radius:50%;background:var(--v7-muted)}.dot.healthy{background:var(--v7-green)}.dot.watch{background:var(--v7-amber)}.dot.risk{background:var(--v7-red)}.dot.neutral{background:var(--v7-blue)}
.v7-followup-list{display:grid;gap:4px}.v7-followup-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 7px;border-bottom:1px solid var(--v7-line);border-radius:9px;transition:.15s}.v7-followup-row:hover{background:var(--v7-surface-2)}.client-avatar{background:var(--v7-surface-3)!important;color:var(--v7-ink)!important}.followup-copy{min-width:0;display:grid;gap:2px}.followup-copy strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-copy span,.followup-time small{font-size:7px;color:var(--v7-muted)}.followup-time{display:grid;text-align:end}.followup-time b{font-size:8px;color:var(--v7-gold-strong)}
.v7-status-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(145deg,var(--v7-surface),var(--v7-surface-2));overflow:hidden;position:relative}.v7-status-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(47,138,95,.05);inset:auto -55px -60px auto}.status-illustration{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--v7-green-soft);color:var(--v7-green);margin-bottom:15px}.status-illustration .ui-icon{width:20px;height:20px}.v7-status-card.has-attention .status-illustration{background:var(--v7-amber-soft);color:var(--v7-amber)}.v7-status-card h2{font-size:16px;margin:0 0 7px;line-height:1.5}.v7-status-card p{font-size:8px;line-height:1.9;color:var(--v7-muted);margin:0 0 13px;max-width:260px}

.v7-lower-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px;margin-bottom:10px}.v7-task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 3px;border-bottom:1px solid var(--v7-line)}.v7-task-row:last-child{border-bottom:0}.task-state{width:8px;height:8px;border-radius:50%;background:var(--v7-amber)}.v7-task-row>div{min-width:0;display:grid;gap:2px}.v7-task-row strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v7-task-row small{font-size:7px;color:var(--v7-muted)}
.v7-pipeline-list{padding-top:5px}.pipeline-row{grid-template-columns:110px minmax(70px,1fr) 25px!important}.pipeline-row>div{background:var(--v7-surface-3)!important}.pipeline-row i{background:linear-gradient(90deg,var(--v7-gold),#d4bb81)!important}.pipeline-row span{color:var(--v7-ink-2)!important}
.v7-recent-clients{margin-bottom:0}.v7-client-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v7-client-card{min-width:0;overflow:hidden;background:var(--v7-surface);border-color:var(--v7-line);transition:.16s}.v7-client-card:hover{background:var(--v7-surface-2);border-color:var(--v7-gold)}.client-card-head{display:flex;align-items:center;gap:8px;min-width:0}.client-card-identity{min-width:0;display:grid;gap:2px}.client-card-identity strong{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.client-card-identity span{font-size:7px;color:var(--v7-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-compact-values{border-color:var(--v7-line)!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.crm-compact-values div{min-width:0}.crm-compact-values b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* CRM list */
.crm-filter-panel{background:var(--v7-surface);border-color:var(--v7-line)}.crm-filter-form .search-shell{background:var(--v7-surface);border-color:var(--v7-line-strong)}
.crm-table-shell{background:var(--v7-surface)}.crm-table-head{background:var(--v7-surface-2);border-color:var(--v7-line);color:var(--v7-muted)}.crm-table-row{background:var(--v7-surface);border-color:var(--v7-line)}.crm-table-row:hover{background:var(--v7-surface-2)}.crm-stage{background:var(--v7-surface-3);color:var(--v7-ink-2)}.stage-active{background:var(--v7-green-soft);color:var(--v7-green)}.stage-at_risk{background:var(--v7-red-soft);color:var(--v7-red)}.stage-follow_up{background:var(--v7-amber-soft);color:var(--v7-amber)}.stage-analysis,.stage-onboarding{background:var(--v7-blue-soft);color:var(--v7-blue)}
.crm-person{min-width:0}.crm-person strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-table-row>div{overflow:hidden}

/* Client 360 */
.crm-client-header{background:var(--v7-surface);border:1px solid var(--v7-line);border-radius:15px;padding:14px 15px;margin-bottom:10px}.client-profile{min-width:0}.client-profile>div:last-child{min-width:0}.client-profile h1{font-size:21px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-profile p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.client-health-header{background:var(--v7-surface-2)!important;border-color:var(--v7-line)!important}.client-360-card{background:var(--v7-surface);border-color:var(--v7-line)}.financial-card{background:linear-gradient(145deg,var(--v7-forest),#183127);border-color:transparent}.client-360-card>div{border-color:var(--v7-line)}.financial-card>div{border-color:rgba(255,255,255,.1)}
.crm-overview-grid>div{border-color:var(--v7-line);background:var(--v7-surface-2)}.internal-summary{background:var(--v7-surface-2)!important}.crm-tags span{background:var(--v7-gold-soft);color:var(--v7-gold-strong)}.crm-task-row{background:var(--v7-surface-2)}.crm-task-row form button{background:var(--v7-surface);border-color:var(--v7-line);color:var(--v7-ink-2)}.secondary-admin-details summary{color:var(--v7-ink)}

/* Client portal sidebar + dashboard */
.app-shell.client-shell{grid-template-columns:220px minmax(0,1fr);background:var(--v7-bg)}
.client-sidebar{background:var(--v7-surface)!important;border-inline-start:0!important;border-inline-end:1px solid var(--v7-line)!important;padding:20px 14px}.client-sidebar .sidebar-brand{border-color:var(--v7-line)}.client-sidebar .sidebar-brand strong{font-family:Georgia,"Times New Roman",serif;letter-spacing:.06em}.client-sidebar nav a{border-radius:9px;color:var(--v7-muted);font-size:10px}.client-sidebar nav a.active,.client-sidebar nav a:hover{background:var(--v7-gold-soft);color:var(--v7-ink)}.client-sidebar nav a.active:before{background:var(--v7-gold)}.sidebar-trust-card{background:var(--v7-surface-2)!important;border-color:var(--v7-line)!important}.sidebar-trust-card strong{color:var(--v7-ink)}.sidebar-trust-card small{color:var(--v7-muted)}
.client-main{max-width:1460px;padding-top:25px}.client-topbar{margin-bottom:16px}.client-topbar h1{font-size:24px}.user-chip{background:var(--v7-surface);border-color:var(--v7-line)}.user-chip>b{background:var(--v7-forest);color:var(--v7-gold)}
.portfolio-balance-card{background:linear-gradient(145deg,var(--v7-forest),#183127)!important;border-color:transparent!important;box-shadow:none!important}.today-card{background:var(--v7-surface)!important;border-color:var(--v7-line)!important;box-shadow:none!important}.today-card.calm .today-icon{background:var(--v7-green-soft)!important;color:var(--v7-green)!important}.today-card.needs-read .today-icon{background:var(--v7-amber-soft)!important;color:var(--v7-amber)!important}
.quick-metrics article{background:var(--v7-surface)!important;border-color:var(--v7-line)!important;box-shadow:none!important}.quick-metrics article:hover{border-color:var(--v7-line-strong)!important}.line-chart,.donut-wrap,.scenario{border-color:var(--v7-line)!important}.donut{background-color:var(--v7-surface-3)}
.assets-table th{color:var(--v7-muted)}.assets-table td,.assets-table th{border-color:var(--v7-line)!important}.assets-table tbody tr:hover{background:var(--v7-surface-2)!important}.rebalance-action{border-color:var(--v7-line)}
.client-footnote{color:var(--v7-muted)}

/* Simple client pages */
.premium-simple-page{background:var(--v7-bg)!important;min-height:100vh}.simple-product-header{background:color-mix(in srgb,var(--v7-surface) 92%,transparent)!important;border-color:var(--v7-line)!important;backdrop-filter:blur(16px)}.mini-brand strong,.page-intro h1{color:var(--v7-ink)}.mini-brand span,.page-intro p{color:var(--v7-muted)}.plan-overview-card,.alert-page-item,.detail-card{background:var(--v7-surface)!important;border-color:var(--v7-line)!important;box-shadow:none!important}.plan-decision-box,.levels-mini-grid>div{background:var(--v7-surface-2)!important;border-color:var(--v7-line)!important}.alert-page-item.unread{background:color-mix(in srgb,var(--v7-gold-soft) 45%,var(--v7-surface))!important}

/* Login */
.login-card{background:var(--v7-surface);border-color:var(--v7-line);box-shadow:var(--v7-shadow)}.trust-icon,.input-shell{background:var(--v7-surface);border-color:var(--v7-line)}.secure-note{background:var(--v7-surface-2)}

/* Toasts */
.toast{background:var(--v7-surface);color:var(--v7-ink);border-color:var(--v7-line);box-shadow:var(--v7-shadow)}

/* Dark mode - hard-coded legacy surfaces */
html[data-theme="dark"] .crm-admin-main,
html[data-theme="dark"] .premium-simple-page,
html[data-theme="dark"] .client-main{background:var(--v7-bg)!important}
html[data-theme="dark"] .staff-sidebar.v7-sidebar{background:linear-gradient(180deg,#09110e,#0d1713)}
html[data-theme="dark"] .sidebar,.staff-sidebar{border-color:var(--v7-line)}
html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .icon-button,
html[data-theme="dark"] .user-chip,
html[data-theme="dark"] .crm-table-row,
html[data-theme="dark"] .crm-compact-card,
html[data-theme="dark"] .executive-kpi,
html[data-theme="dark"] .client-360-card,
html[data-theme="dark"] .work-item{background:var(--v7-surface);color:var(--v7-ink);border-color:var(--v7-line)}
html[data-theme="dark"] .work-item:hover,html[data-theme="dark"] .crm-table-row:hover,html[data-theme="dark"] .crm-compact-card:hover{background:var(--v7-surface-2)}
html[data-theme="dark"] .hero-kpi,html[data-theme="dark"] .financial-card{background:linear-gradient(145deg,#10271d,#153428)}
html[data-theme="dark"] .crm-table-head{background:#18221d}
html[data-theme="dark"] .task-mini-row,html[data-theme="dark"] .health-row,html[data-theme="dark"] .crm-compact-values,html[data-theme="dark"] .client-360-card>div,html[data-theme="dark"] .crm-task-row{border-color:var(--v7-line)}
html[data-theme="dark"] .internal-summary,html[data-theme="dark"] .crm-task-row,html[data-theme="dark"] .quiet-empty.large{background:var(--v7-surface-2);border-color:var(--v7-line)}
html[data-theme="dark"] .mobile-nav{background:rgba(13,20,17,.94);border-color:var(--v7-line)}
html[data-theme="dark"] .mobile-nav a{color:#77847d}html[data-theme="dark"] .mobile-nav a.active{color:#f1ede4}
html[data-theme="dark"] .chart-empty-hint{color:var(--v7-muted)}

/* Direction-aware arrows and alignment */
html[dir="ltr"] .ui-icon use[href="#i-arrow"],html[dir="ltr"] .ui-icon use[href="#i-back"]{transform-origin:center}
html[dir="ltr"] .section-kicker{text-align:left}
html[dir="ltr"] .sidebar-brand span{text-align:left}
html[dir="ltr"] .work-meta,html[dir="ltr"] .health-row b,html[dir="ltr"] .followup-time{text-align:right}

/* Mobile */
@media(max-width:1180px){
  .v7-kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-aum{grid-column:span 2}
  .v7-command-grid{grid-template-columns:1fr 1fr}.v7-status-card{grid-column:1/-1;min-height:190px}.v7-client-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v7-topbar-tools .v7-search{width:190px}
}
@media(max-width:980px){
  .staff-shell.v7-shell,.app-shell.client-shell{grid-template-columns:1fr}.v7-main,.client-main{padding:18px 16px 88px}.desktop-experience-buttons{display:flex}
  .v7-topbar{align-items:flex-start}.v7-topbar-tools{flex-wrap:wrap;justify-content:flex-end}.v7-search{order:3;width:100%!important}.v7-new-client{order:2}
}
@media(max-width:760px){
  .v7-kpi-grid{grid-template-columns:1fr 1fr}.kpi-aum{grid-column:1/-1}.v7-command-grid,.v7-lower-grid{grid-template-columns:1fr}.v7-command-grid>.panel{min-height:auto}.v7-status-card{grid-column:auto}.health-overview-layout{grid-template-columns:120px 1fr}.health-score-ring,.health-score-ring svg{width:112px;height:112px}.v7-client-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;padding-bottom:3px}.v7-client-card{min-width:235px;scroll-snap-align:start}
  .crm-client-header{grid-template-columns:1fr!important}.client-health-header{grid-column:auto!important;grid-row:auto!important}.client-profile p{max-width:100%}
}
@media(max-width:560px){
  body{font-size:13px}.v7-main,.client-main{padding:14px 11px 84px}.v7-topbar{display:grid;gap:10px}.v7-topbar h1{font-size:21px}.v7-topbar-tools{width:100%;display:grid;grid-template-columns:1fr auto auto auto;gap:5px}.v7-topbar-tools .v7-search{grid-column:1/-1;order:2;height:38px}.v7-new-client{grid-column:1;grid-row:1;justify-self:start}.desktop-experience-buttons{grid-column:2/-1;display:flex}.desktop-experience-buttons .icon-button{width:37px;height:37px}.v7-kpi-grid{gap:6px}.v7-kpi{min-height:92px;padding:11px;gap:8px}.kpi-aum{min-height:102px}.kpi-icon{width:28px;height:28px}.v7-kpi strong{font-size:18px}.v7-kpi p{font-size:6px}.v7-command-grid,.v7-lower-grid{gap:7px}.panel{border-radius:14px;padding:15px}.health-overview-layout{grid-template-columns:96px 1fr;gap:8px}.health-score-ring,.health-score-ring svg{width:90px;height:90px}.health-score-ring strong{font-size:20px}.health-breakdown>div{padding:5px 0}.v7-status-card{min-height:180px}.v7-recent-clients{margin-bottom:0}
  .client-topbar .topbar-copy p{display:none}.client-focus-grid{gap:7px}.quick-metrics{gap:7px}.quick-metrics article{min-width:170px}.client-sidebar{display:none!important}
  .crm-table-row{background:var(--v7-surface)!important}.crm-table-shell{background:transparent!important}.crm-table-row>div{overflow:visible}.crm-person strong{max-width:220px}
  .client-profile{align-items:center}.client-profile h1{font-size:19px!important}.client-profile p{font-size:8px!important}.client-health-header{width:100%}
}

/* Utility controls on client + simple pages */
.client-sidebar .client-experience-controls{margin-top:auto;margin-bottom:9px}
.client-sidebar .experience-control{background:var(--v7-surface-2);border-color:var(--v7-line);color:var(--v7-muted)}
.client-sidebar .experience-control:hover{background:var(--v7-gold-soft);color:var(--v7-ink)}
.client-sidebar .experience-control small{color:var(--v7-gold-strong)}
.mobile-experience-toggle{display:none}
.simple-header-tools{display:flex;align-items:center;gap:6px}.simple-header-tools .icon-button{width:38px;height:38px}.simple-header-tools .header-alert-link{position:relative}
.login-experience-tools{position:fixed;top:18px;inset-inline-end:18px;display:flex;gap:6px;z-index:20}.login-experience-tools .icon-button{width:39px;height:39px}
html[data-theme="dark"] .client-sidebar{background:var(--v7-surface)!important}
html[data-theme="dark"] .client-sidebar .experience-control{background:var(--v7-surface-2);border-color:var(--v7-line);color:var(--v7-muted)}

@media(max-width:980px){
  .mobile-experience-toggle{display:grid}.client-experience-controls{display:none}
}
@media(max-width:560px){
  .simple-header-tools .icon-button{width:34px;height:34px}.login-experience-tools{top:10px;inset-inline-end:10px}.login-experience-tools .icon-button{width:35px;height:35px}
}

.global-mobile-controls{display:none}
@media(max-width:980px){
  .global-mobile-controls{position:fixed;top:10px;inset-inline-start:10px;z-index:120;display:flex;gap:5px;padding:4px;background:color-mix(in srgb,var(--v7-surface) 88%,transparent);border:1px solid var(--v7-line);border-radius:12px;backdrop-filter:blur(14px);box-shadow:var(--v7-shadow-soft)}
  .global-mobile-controls button{width:31px;height:31px;border:0;background:transparent;color:var(--v7-muted);border-radius:8px;display:grid;place-items:center;position:relative}
  .global-mobile-controls button:hover{background:var(--v7-surface-2);color:var(--v7-ink)}
  .global-mobile-controls .ui-icon{width:15px;height:15px}.global-mobile-controls span{position:absolute;inset:auto -2px -5px auto;background:var(--v7-gold);color:#101714;border-radius:99px;padding:1px 3px;font-size:5px;font-weight:800}
  body:has(.login-page) .global-mobile-controls{display:none}
}

.client-360-tabs{display:flex;gap:4px;margin:-2px 0 10px;padding:5px;background:var(--v7-surface);border:1px solid var(--v7-line);border-radius:12px;overflow-x:auto;scrollbar-width:none}.client-360-tabs::-webkit-scrollbar{display:none}.client-360-tabs a{flex:0 0 auto;padding:7px 12px;border-radius:8px;color:var(--v7-muted);font-size:8px;font-weight:700;white-space:nowrap}.client-360-tabs a:hover,.client-360-tabs a.active{background:var(--v7-gold-soft);color:var(--v7-ink)}
@media(max-width:560px){.client-360-tabs{margin-inline:-2px}.client-360-tabs a{padding:7px 10px}}

/* Legacy hard-coded surfaces made theme-safe */
html[data-theme="dark"] .donut:after{background:var(--v7-surface);border-color:var(--v7-line)}
html[data-theme="dark"] .chart-empty-hint{background:linear-gradient(180deg,var(--v7-surface),var(--v7-surface-2))}
html[data-theme="dark"] .positive-box{background:#14241b;border-color:#244332}
html[data-theme="dark"] .neutral-box{background:#262116;border-color:#44371f}
html[data-theme="dark"] .negative-box{background:#291a1a;border-color:#4c2a28}
html[data-theme="dark"] .responsive-asset-table tr{background:var(--v7-surface)!important;border-color:var(--v7-line)!important}
html[data-theme="dark"] .responsive-asset-table td:first-child,html[data-theme="dark"] .responsive-asset-table .row-action{border-color:var(--v7-line)!important}
html[data-theme="dark"] .logout-form button:hover{background:var(--v7-surface-2);color:var(--v7-ink)}
html[data-theme="dark"] .alert-item,html[data-theme="dark"] .alert-page-item{border-color:var(--v7-line)!important}
html[data-theme="dark"] .task-priority{background:var(--v7-surface-3);color:var(--v7-muted)}
html[data-theme="dark"] .task-high,html[data-theme="dark"] .task-urgent{background:var(--v7-red-soft);color:var(--v7-red)}
html[data-theme="dark"] .task-vip{background:var(--v7-amber-soft);color:var(--v7-amber)}
