/* DaniTrade Finance — «Midnight & Violet» theme.
   Loaded LAST on every page: tokens + overrides of shared components.
   Dark navigation rail, airy light workspace, violet accent, soft depth. */
:root{
  --bg:#f4f5fa;--panel:#ffffff;--panel-2:#f9f9fd;--ink:#141726;--ink-2:#3a3f55;--muted:#7c8299;
  --line:#e6e7f0;--line-soft:#eff0f6;--accent:#6d4aff;--accent-2:#a855f7;--accent-soft:#6d4aff1f;
  --accent-ink:#5b3df0;--good:#10b981;--warn:#f59e0b;--bad:#ef4444;
  --nav-bg:#0d1020;--nav-bg-2:#151a33;--rail-ink:#a9afc8;--rail-active:#ffffff;
  --shadow:0 1px 2px #1417260a,0 8px 24px -12px #1417261f;--shadow-lg:0 24px 60px -20px #14172640;
  --radius:16px;--teal:var(--accent);--teal-soft:var(--accent-soft);
  font-family:Inter,"Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  color:var(--ink);background:var(--bg);
}
html,body{background:var(--bg)}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink)}
::selection{background:#6d4aff33}
*{scrollbar-width:thin;scrollbar-color:#c9cbe0 transparent}

/* ---------- navigation rail ---------- */
.sidebar{background:radial-gradient(120% 60% at 0% 0%,#2a1f6b 0%,transparent 55%),linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-2) 100%)!important;
  color:var(--rail-ink)!important;border-right:0!important;box-shadow:4px 0 30px -10px #0d102066}
.brand{color:#fff!important}
.brand-symbol{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;color:#fff!important;border-radius:12px!important;box-shadow:0 6px 18px -6px #a855f7aa}
.brand-light{color:#8d92b4!important}
.sidebar-caption{color:#5d6386!important}
.nav-link{color:var(--rail-ink)!important;border-radius:11px!important;position:relative;transition:background .18s,color .18s,transform .18s}
.nav-link:hover{background:#ffffff0d!important;color:#fff!important;transform:translateX(2px)}
.nav-link.active{background:linear-gradient(90deg,#6d4aff40,#6d4aff10)!important;color:var(--rail-active)!important;font-weight:650}
.nav-link.active::before{content:"";position:absolute;left:-22px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--accent),var(--accent-2))}
.nav-icon{opacity:.9}
.network-caption{color:#6c7296!important;border-bottom-color:#ffffff12!important}
.network-caption i{background:var(--good)!important;box-shadow:0 0 0 3px #10b98133}
.sidebar-user strong{color:#e8e9f5}
.sidebar-user div>span{color:#7d82a3!important}
.avatar{background:linear-gradient(135deg,#2a2f55,#1b1f3d)!important;border-color:#353b66!important;color:#c9ccef!important}
.logout{color:#7d82a3!important}.logout:hover{color:#fff!important}

/* ---------- workspace ---------- */
.workspace{background:transparent}
h1{font-weight:780!important;letter-spacing:-1.2px!important;color:var(--ink)}
h2{color:var(--ink)}
.eyebrow{color:var(--accent-ink)!important;letter-spacing:2px!important;font-weight:700!important;opacity:.85}
.page-header p{color:var(--muted)!important}
.workspace-footer{color:#a6aac0!important}
.footnote,.field-help,.dialog-help,.unit-label{color:var(--muted)!important}

/* top tab bars of the data pages */
.database-topnav,.crm-topnav{border-bottom:1px solid var(--line)!important}
.database-topnav a,.crm-topnav a{color:var(--muted)!important;font-weight:550;transition:color .15s}
.database-topnav a:hover,.crm-topnav a:hover{color:var(--ink)!important}
.database-topnav a.active,.crm-topnav a.active{color:var(--ink)!important;border-bottom-color:var(--accent)!important}

/* ---------- surfaces ---------- */
.content-card,.table-card,.metric,.crm-metric,.set-card,.database-tab,.wallet-card{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}
.metric,.crm-metric{transition:transform .18s,box-shadow .18s}
.metric:hover,.crm-metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)!important}
.metric>strong,.crm-metric>strong{color:var(--ink)!important;font-weight:750!important}

/* ---------- controls ---------- */
input,select,textarea{border:1px solid var(--line)!important;border-radius:10px!important;background:var(--panel)!important;color:var(--ink)!important;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#cfd1e3!important}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--accent)!important;box-shadow:0 0 0 4px var(--accent-soft)!important}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);box-shadow:none!important}
label{color:var(--ink-2)}
.button{border-radius:10px!important;font-weight:650!important;transition:transform .12s,box-shadow .15s,background .15s,filter .15s}
.button:active:not(:disabled){transform:translateY(1px)}
.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 20px -8px #6d4affaa!important}
.button.primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 26px -8px #6d4affcc!important}
.button.secondary{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important}
.button.secondary:hover:not(:disabled){border-color:#cfd1e3!important;background:var(--panel-2)!important}
.button.danger{background:#fef2f2!important;color:#dc2626!important;border-color:#fecaca!important}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6d4aff66!important;outline-offset:2px}

/* ---------- tables ---------- */
th{background:var(--panel-2)!important;color:var(--muted)!important;font-weight:650!important;letter-spacing:.3px}
td{border-bottom-color:var(--line-soft)!important}
tbody tr{transition:background .12s}
tbody tr:hover{background:#f6f4ff!important}
.positive{color:var(--good)!important}.negative{color:var(--bad)!important}
.badge.income{color:#047857;background:#d1fae5}.badge.expense{color:#b91c1c;background:#fee2e2}.badge.self{color:#4338ca;background:#e0e7ff}

/* ---------- states ---------- */
.notice.error{background:#fef2f2!important;border-color:#fecaca!important;color:#b91c1c!important;border-radius:12px!important}
.subtle-status{background:#f1edff!important;color:var(--accent-ink)!important;border-radius:10px!important}
.subtle-status.warning{background:#fffbeb!important;color:#b45309!important}
.database-connection{border-radius:999px}
.database-connection.connected{color:#047857!important;background:#d1fae5!important}
.database-state-badge{border-radius:999px!important;font-weight:650}
.database-state-badge[data-state=completed]{background:#d1fae5!important;color:#047857!important}
.database-state-badge[data-state=failed],.database-state-badge[data-state=interrupted]{background:#fee2e2!important;color:#b91c1c!important}
.database-state-badge[data-state=running],.database-state-badge[data-state=queued],.database-state-badge[data-state=saving]{background:#ede9fe!important;color:#6d28d9!important}
.database-progress span{background:linear-gradient(90deg,var(--accent),var(--accent-2))!important}
.database-service-mark,.database-report-icon,.card-symbol,.wallet-icon{background:linear-gradient(135deg,#ede9fe,#f5f3ff)!important;color:var(--accent-ink)!important;border-radius:12px!important}
.set-tabs button.active{border-bottom-color:var(--accent)!important}
.set-health{box-shadow:var(--shadow)}
.toast{background:#1b1e33!important;border-radius:12px!important;box-shadow:var(--shadow-lg)!important}
.toast.error{background:#991b1b!important}
dialog{border-radius:20px!important;border-color:var(--line)!important;box-shadow:var(--shadow-lg)!important}
dialog::backdrop{background:#0d102099!important;backdrop-filter:blur(6px)}

/* ---------- login ---------- */
.login-body{background:radial-gradient(80% 60% at 10% 10%,#ede9fe 0%,transparent 60%),radial-gradient(70% 60% at 90% 90%,#e0f2fe 0%,transparent 60%),var(--bg)!important}
.login-shell{border-radius:26px!important;box-shadow:var(--shadow-lg)!important}
.login-intro{background:radial-gradient(120% 70% at 0% 0%,#3b2a8f 0%,transparent 60%),linear-gradient(160deg,var(--nav-bg),var(--nav-bg-2))!important}
.login-intro-content .eyebrow{color:#b4a5ff!important}

/* ---------- messenger top bar ---------- */
.topbar{background:linear-gradient(90deg,var(--nav-bg),var(--nav-bg-2))!important;border-bottom:0!important;color:#fff}
.topbar .wordmark{color:#fff!important}
.topbar .wordmark span{color:#a5a9cc!important}
.topbar .topnav a{color:var(--rail-ink)!important;border-radius:9px}
.topbar .topnav a:hover{color:#fff!important;background:#ffffff10}
.topbar .topnav a.active{color:#fff!important;background:#6d4aff40!important}

@media(prefers-reduced-motion:reduce){*:not(.money-throw-note):not(.brand-logo):not(.rail-logo):not(.celebrate-hero):not(.celebrate-line):not(.celebrate-layer){transition:none!important;transform:none!important}}

/* checkbox/radio + caption on one line wherever a label wraps them */
label:has(> input[type=checkbox]),label:has(> input[type=radio]){flex-direction:row!important;align-items:center!important;gap:8px!important}
label > input[type=checkbox],label > input[type=radio]{width:16px!important;min-height:16px!important;height:16px;margin:0;flex:0 0 auto;padding:0}
.broker-period{border-color:var(--line)!important;background:var(--panel-2);border-radius:12px!important}

/* ---------- database grid (light versions of the old dark leftovers) ---------- */
.database-tab[aria-selected=true]{border-color:var(--accent)!important;background:#f1edff!important;color:var(--accent-ink)!important}
.database-advanced{background:var(--panel-2)!important}
.database-grid th{background:var(--panel-2)!important;color:var(--ink-2)!important;font-weight:600!important}
.database-column-filter-row th{background:#fbfbfe!important}
.database-column-filter{background:var(--panel)!important;border-color:var(--line)!important;color:var(--ink)!important}
.database-grid .database-row-number,.database-grid th.database-row-number{background:var(--panel-2)!important;color:var(--muted)!important}
.database-grid tbody tr:hover td,.database-grid tbody tr:hover .database-row-number{background:#f6f4ff!important}
.database-cell.selected{background:#efeaff!important;box-shadow:inset 0 0 0 2px var(--accent)!important}
.database-cell-copy:before{box-shadow:2px -2px 0 -1px var(--panel),2px -2px 0 0 currentColor!important}
.database-cell-editor{background:var(--panel)!important;color:var(--ink)!important}
.database-service-mark{border-color:#ddd6fe!important}
.database-state-badge{background:#eef0f7;color:var(--ink-2)}
.database-progress{background:#ece9fb!important}

/* ===== Client card (CRM): light design — the card was originally dark ===== */
.crm-drawer{background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-lg)!important}
.crm-drawer::backdrop{background:#0d102099!important;backdrop-filter:blur(4px)}
.crm-drawer .crm-drawer-header{background:var(--panel)}
.crm-drawer .crm-card-identity h2{color:var(--ink)!important;font-weight:750;letter-spacing:-.5px}
.crm-drawer .crm-card-identity .eyebrow{color:var(--accent)!important}
.crm-drawer .crm-card-identity p{color:var(--muted)!important}
.crm-drawer .crm-client-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;color:#fff!important;border:0!important}
.crm-drawer .icon-button{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;border-radius:10px}
.crm-drawer .icon-button:hover{background:var(--accent-soft)!important;color:var(--accent-ink)!important}
/* totals */
.crm-drawer .crm-profile-totals{background:var(--panel);padding-top:4px}
.crm-drawer .crm-profile-metric{background:var(--panel-2)!important;border:1px solid var(--line)!important;border-radius:8px;position:relative;overflow:hidden}
.crm-drawer .crm-profile-metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}
.crm-drawer .crm-profile-metric>span{color:var(--muted)!important}
.crm-drawer .crm-profile-metric>strong,.crm-drawer .crm-profile-metric .crm-money{color:var(--ink)!important;font-weight:750;letter-spacing:-.5px}
.crm-drawer .crm-money small{color:#b45309!important}
.crm-drawer .crm-profile-asof{color:var(--muted)!important}
/* toolbar buttons */
.crm-drawer .crm-card-toolbar{background:var(--panel)}
.crm-drawer .button,.crm-drawer .crm-card-links>a{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;box-shadow:0 1px 2px #1417260d}
.crm-drawer .button:hover,.crm-drawer .crm-card-links>a:hover{background:var(--accent-soft)!important;border-color:#6d4aff55!important;color:var(--accent-ink)!important}
.crm-drawer .button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;border:0!important;color:#fff!important}
/* tabs */
.crm-drawer .crm-tabs{background:var(--panel);border-color:var(--line)!important}
.crm-drawer .crm-tabs>button{color:var(--muted)!important}
.crm-drawer .crm-tabs>button:hover{color:var(--ink)!important}
.crm-drawer .crm-tabs>button.active{color:var(--accent-ink)!important;border-bottom-color:var(--accent)!important;font-weight:650}
.crm-drawer .crm-tabs>button span{background:var(--accent-soft)!important;color:var(--accent-ink)!important}
/* sections */
.crm-drawer .crm-card-content{background:var(--bg)}
.crm-drawer .crm-card-section h3,.crm-drawer .crm-brokers-heading h3{color:var(--ink)!important;font-size:15px}
.crm-drawer .crm-card-section>p,.crm-drawer .crm-brokers-heading p{color:var(--muted)!important}
.crm-drawer .crm-card-section{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.crm-drawer .crm-followup-section{background:#f6f3ff!important;border-color:#6d4aff40!important}
.crm-drawer .crm-followup-section h3{color:var(--accent-ink)!important}
/* broker accounts table */
.crm-drawer .crm-brokers-table-wrap{border:1px solid var(--line)!important;border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.crm-drawer .crm-brokers-table th{background:var(--panel-2)!important;color:var(--muted)!important;letter-spacing:.4px;text-transform:uppercase}
.crm-drawer .crm-brokers-table td{background:var(--panel)!important;color:var(--ink)!important;border-top:1px solid var(--line-soft)!important}
.crm-drawer .crm-brokers-table tr:hover td{background:var(--panel-2)!important}
.crm-drawer .crm-brokers-table tr.selected td{background:#f3efff!important}
.crm-drawer .crm-brokers-table tr.selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
.crm-drawer .crm-brokers-table td small{color:var(--muted)!important}
.crm-drawer .crm-brokers-table td strong{color:var(--ink)}
.crm-drawer .crm-deposit-state{background:#eef0f6!important;color:var(--ink-2)!important;font-weight:600}
.crm-drawer .crm-deposit-state.positive{background:#dcfce7!important;color:#047857!important}
.crm-drawer .crm-deposit-state.unknown{background:#fef3c7!important;color:#92400e!important}
.crm-drawer .crm-record-link{color:var(--accent-ink)!important;font-weight:600}
.crm-drawer .crm-record-link.active{color:var(--ink)!important;font-weight:750}
.crm-drawer .crm-broker-warning{color:#b45309!important}.crm-drawer .crm-broker-explanation{color:var(--muted)!important}
/* fields */
.crm-drawer .crm-field-grid label{color:var(--ink-2)!important}
.crm-drawer .crm-field-grid input,.crm-drawer .crm-field-grid select,.crm-drawer .crm-field-grid textarea,
.crm-drawer .crm-source-field input,.crm-drawer .crm-source-field textarea,.crm-drawer .crm-activity-form textarea{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.crm-drawer .crm-field-grid input:focus,.crm-drawer .crm-field-grid select:focus,.crm-drawer .crm-field-grid textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important;outline:0}
.crm-drawer .crm-field-grid input[readonly],.crm-drawer .crm-field-grid textarea[readonly],.crm-drawer .crm-source-field .crm-readonly-value{background:var(--panel-2)!important;color:var(--ink-2)!important;border-color:var(--line)!important}
.crm-drawer .crm-field-grid .crm-field-hint{color:var(--muted)!important}
.crm-drawer .crm-field-grid .crm-field-issue,.crm-drawer .crm-card-issues,.crm-drawer .crm-form-message{color:#b45309!important}
.crm-drawer .crm-card-warning{background:#fffbeb!important;color:#92400e!important;border-color:#fcd34d!important}
.crm-drawer .crm-detail-chip{background:var(--panel)!important;border-color:var(--line)!important}
.crm-drawer .crm-detail-chip strong{color:var(--ink)!important}
/* related, all fields, history */
.crm-drawer .crm-related-card{border-color:var(--line)!important;background:var(--panel)}
.crm-drawer .crm-related-card summary{background:var(--panel-2)!important;color:var(--ink-2)!important}
.crm-drawer .crm-related-card summary strong{color:var(--ink)!important}
.crm-drawer .crm-details-list dd{color:var(--ink)!important}
.crm-drawer .crm-related-links>a{background:var(--accent-soft)!important;color:var(--accent-ink)!important}
.crm-drawer .crm-empty strong{color:var(--ink)!important}
.crm-drawer .crm-activity-form{background:var(--panel)!important;border-color:var(--line)!important}
.crm-drawer .crm-activity-item{border-color:var(--line)!important}
.crm-drawer .crm-activity-dot{background:var(--accent)!important;border-color:var(--panel)!important}
.crm-drawer .crm-activity-top strong{color:var(--ink)!important}
.crm-drawer .crm-activity-item p{color:var(--ink-2)!important}
.crm-drawer .crm-source-field-header{color:var(--ink-2)!important}
.crm-drawer .crm-source-column{background:var(--accent-soft)!important;color:var(--accent-ink)!important;border-color:transparent!important}
/* footer */
.crm-drawer .crm-drawer-footer{background:var(--panel)!important;border-top:1px solid var(--line)!important}
.crm-drawer .crm-drawer-footer>span{color:var(--muted)!important}
/* clients page view switch (same dark leftover) */
.crm-view-switch{background:var(--panel)!important;border-color:var(--line)!important}
.crm-view-switch button{color:var(--muted)!important}
.crm-view-switch button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;color:#fff!important}.crm-drawer .crm-money{color:var(--ink)!important;font-weight:650;font-variant-numeric:tabular-nums}
.crm-drawer .crm-brokers-table .crm-money small{color:var(--muted)!important;font-weight:400}

/* ===== Card money split: balance · deposits (exel/broker) · CPA (exel/broker) ===== */
.crm-drawer .crm-profile-totals{grid-template-columns:1.2fr repeat(5,minmax(0,1fr))!important;gap:10px}
.crm-drawer .crm-profile-metric>span{font-family:inherit;font-size:11px;letter-spacing:.2px}
.crm-drawer .crm-profile-metric>strong,.crm-drawer .crm-profile-metric .crm-money{font-size:16px!important}
.crm-drawer .crm-metric-balance>strong,.crm-drawer .crm-metric-balance .crm-money{font-size:26px!important}
.crm-drawer .crm-metric-deposit::before{background:linear-gradient(180deg,#10b981,#059669)!important}
.crm-drawer .crm-metric-cpa::before{background:linear-gradient(180deg,#f59e0b,#d97706)!important}
.crm-drawer .crm-metric-deposit{background:#f3fbf7!important}
.crm-drawer .crm-metric-cpa{background:#fffaf0!important}
.crm-drawer .crm-brokers-table th.crm-col-deposit{color:#047857!important}
.crm-drawer .crm-brokers-table th.crm-col-cpa{color:#b45309!important}
.crm-drawer .crm-brokers-table td.crm-col-deposit{background:#fbfefc!important}
.crm-drawer .crm-brokers-table td.crm-col-cpa{background:#fffdf8!important}
@media(max-width:1300px){.crm-drawer .crm-profile-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.crm-drawer .crm-profile-totals{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* client list: stacked exel/broker figures, header sublabels */
.crm-stacked{display:grid;gap:3px;justify-items:end}
.crm-stacked>div{display:flex;gap:8px;align-items:baseline;white-space:nowrap}
.crm-stacked small{font-size:9.5px;color:var(--muted);letter-spacing:.2px}
.crm-stacked b{font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink)}
#crm-deposit-heading small,.crm-table th small{display:block;font-size:9px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:.2px;margin-top:2px}
.crm-view-note{font-size:12px;color:var(--muted);margin-bottom:16px;line-height:1.6}
.crm-view-note a{color:var(--accent-ink);font-weight:600}.crm-drawer .crm-brokers-table th.crm-col-deposit,.crm-drawer .crm-brokers-table th.crm-col-cpa{text-transform:none!important;letter-spacing:.2px}
/* list money values were pale (dark-theme leftover) */
#crm-clients-body .crm-money{color:var(--ink)!important;font-weight:650;font-variant-numeric:tabular-nums}
#crm-clients-body .crm-money small{color:var(--muted)!important}

/* ===== Logo: animated «dani» (pixel art) instead of the DT badge ===== */
.brand-logo{width:58px;height:60px;object-fit:contain;flex-shrink:0;image-rendering:auto;filter:drop-shadow(0 6px 14px #00000066);margin:-8px 0 -6px -4px}
.brand:hover .brand-logo{transform:scale(1.06);transition:transform .2s}
@media(max-width:850px){.brand-logo{width:44px;height:46px;margin:-4px 0}}
.login-money .brand-logo{width:72px;height:74px;margin:-14px 0 -10px -8px}
.logo-mark .rail-logo{width:46px;height:48px;object-fit:contain;display:block;filter:drop-shadow(0 4px 10px #00000055)}
@media(max-width:700px){.logo-mark .rail-logo{width:38px;height:40px}}@media(min-width:851px){.sidebar .brand-logo{width:76px;height:78px;margin:-12px 0 -10px -8px}}

/* Camilo on the Corvette in the client card header (top-right corner, left of the close button) */
.crm-drawer .crm-drawer-header{position:relative}
.crm-card-mascot{height:120px;width:auto;margin:-22px auto -26px;pointer-events:none;user-select:none;filter:drop-shadow(0 10px 16px #1417262e);flex-shrink:1;min-width:0;object-fit:contain}
@media(max-width:900px){.crm-card-mascot{height:80px;margin:-10px auto -14px}}
@media(max-width:600px){.crm-card-mascot{display:none}}

/* ===== Logo click: dani throws dollars at the screen (static/logo-fx.js) ===== */
.brand-logo,.rail-logo{cursor:pointer}
.brand-logo.is-throwing,.rail-logo.is-throwing{animation:logo-throw .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes logo-throw{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.22) rotate(-8deg)}70%{transform:scale(.96) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
.money-throw-layer{position:fixed;inset:0;pointer-events:none;z-index:2147483000;overflow:hidden;perspective:900px}
.money-throw-note{position:absolute;width:110px;height:auto;border-radius:3px;box-shadow:0 8px 22px #0006;will-change:transform,opacity;backface-visibility:visible}
/* card header: project chip, FD date from Registrations, Camilo title mascot (Spain only) */
.crm-card-project{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:650;letter-spacing:.2px}
.crm-card-project[hidden]{display:none}
.crm-drawer .crm-card-mascot{height:96px;margin:-10px 10px -6px auto}   /* top-right corner, next to ✕ */
.crm-drawer .crm-card-mascot[hidden]{display:none}
@media(max-width:900px){.crm-drawer .crm-card-mascot{height:76px;margin:-8px 8px -20px auto}}
.crm-fd-date{display:inline-flex;padding:4px 9px;border-radius:6px;background:#ecfdf5;color:#047857;font-weight:650;font-size:12px;font-variant-numeric:tabular-nums}
.crm-fd-date.empty{background:transparent;color:var(--muted);font-weight:400}
/* sidebar bottom: neon «Блэкджек и шлюхи — soon» instead of the caption */
.network-caption.sidebar-neon{display:block;padding:0;margin:0 0 14px;line-height:0}
.network-caption.sidebar-neon::before,.network-caption.sidebar-neon i{display:none!important}
.sidebar-neon img{width:100%;max-width:260px;height:auto;border-radius:8px;box-shadow:0 0 24px -6px #ff2bd666,0 0 30px -10px #22d3ee55}

/* ===== Project colours everywhere: Daniyar blue, Camilo bright yellow, Simon red ===== */
:root{--project-daniyar:#2563eb;--project-daniyar-soft:#eff5ff;--project-camilo:#facc15;--project-camilo-ink:#713f12;--project-camilo-soft:#fffbe0;--project-simon:#dc2626;--project-simon-soft:#fff1f1}
.project-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.2px;white-space:nowrap;background:#eef0f6;color:var(--ink-2)}
.project-chip.project-daniyar,.crm-card-project.project-daniyar{background:var(--project-daniyar)!important;color:#fff!important}
.project-chip.project-camilo,.crm-card-project.project-camilo{background:var(--project-camilo)!important;color:var(--project-camilo-ink)!important}
.project-chip.project-simon,.crm-card-project.project-simon{background:var(--project-simon)!important;color:#fff!important}
.project-chip+.project-chip{margin-left:4px}
/* delete a broker record (deposit) from the client card */
.crm-drawer .crm-record-row{display:flex;align-items:center;gap:6px}
.crm-drawer .crm-broker-row{cursor:pointer}
.crm-drawer .crm-broker-cell{display:flex;align-items:center;gap:6px}
.crm-drawer .crm-broker-cell>span{flex:1;min-width:0}
.crm-drawer .crm-broker-row .crm-record-delete{opacity:0;flex:none}
.crm-drawer .crm-broker-row:hover .crm-record-delete,.crm-drawer .crm-broker-row .crm-record-delete:focus-visible{opacity:1}
.crm-drawer .crm-record-row+.crm-record-row{margin-top:6px}
.crm-drawer .crm-record-row .crm-record-link+.crm-record-link{margin-top:0}
.crm-drawer .crm-record-delete{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#b4b8c7;cursor:pointer;transition:all .15s}
.crm-drawer .crm-record-delete:hover{color:#dc2626;background:#fff1f1;border-color:#fecaca}

/* lots in the client card (7 totals) */
.crm-drawer .crm-profile-totals{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;gap:6px!important}
.crm-drawer .crm-metric-lots::before{background:linear-gradient(180deg,#0ea5e9,#0284c7)!important}
.crm-drawer .crm-metric-lots{background:#f0f9ff!important}
.crm-drawer .crm-brokers-table th.crm-col-lots{color:#0369a1!important;text-transform:none!important}
.crm-drawer .crm-brokers-table td.crm-col-lots{background:#f8fcff!important}
@media(max-width:1300px){.crm-drawer .crm-profile-totals{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important}}
@media(max-width:700px){.crm-drawer .crm-profile-totals{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))!important}}

/* ===== New deposit celebration (static/celebrate.js) ===== */
.celebrate-layer{position:fixed;inset:0;z-index:2147482000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;margin:0;padding:0;border:0;width:100vw;height:100vh;max-width:none;max-height:none;overflow:hidden;cursor:pointer;
  background:radial-gradient(circle at 50% 42%,#6ea0ff55 0,#1b2a6b99 45%,#05081dcc 100%);animation:celebrate-in .35s ease-out both}
.celebrate-layer::backdrop{background:transparent}
.celebrate-layer.leaving{animation:celebrate-out .6s ease-in both}
.celebrate-hero{width:min(300px,52vw);height:auto;image-rendering:pixelated;filter:drop-shadow(0 18px 24px #0008);animation:celebrate-jump .55s cubic-bezier(.3,.7,.4,1) infinite alternate}
.celebrate-lines{display:flex;flex-direction:column;align-items:center;gap:10px}
.celebrate-line{display:block;max-width:92vw;height:auto;image-rendering:pixelated;opacity:0;animation:celebrate-line .45s steps(4) forwards}
@keyframes celebrate-in{from{opacity:0}to{opacity:1}}
@keyframes celebrate-out{to{opacity:0;transform:scale(1.04)}}
@keyframes celebrate-jump{from{transform:translateY(18px) scaleY(.96)}to{transform:translateY(-46px) scaleY(1.02)}}
@keyframes celebrate-line{0%{opacity:0;transform:translateY(24px) scale(.6)}60%{opacity:1;transform:translateY(-6px) scale(1.08)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.celebrate-hero,.celebrate-line{transform:none}}@media(prefers-reduced-motion:reduce){.celebrate-layer{animation:celebrate-in .35s ease-out both!important}.celebrate-layer.leaving{animation:celebrate-out .6s ease-in both!important}.celebrate-hero{animation:celebrate-jump .55s cubic-bezier(.3,.7,.4,1) infinite alternate!important}.celebrate-line{animation:celebrate-line .45s steps(4) forwards!important}}
.celebrate-hero{width:min(400px,60vw)!important}
.celebrate-layer{background:radial-gradient(circle at 50% 40%,#7aa8ff66 0,#1b2a6bbb 42%,#05081de6 100%)!important}

/* точки у имени клиента: каналы и КОПИ */
.client-dots{display:inline-flex;gap:3px;margin-left:7px;vertical-align:middle}
.client-dot{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1.5px #fff,0 1px 2px rgba(0,0,0,.25)}
.client-dot.vip{background:#16a34a}
.client-dot.fx{background:#2563eb}
.client-dot.kopi{background:#f97316}
.ch-status.sheet{background:transparent;border:1px dashed #cbd5e1;color:#64748b;font-weight:600}

/* минусы больше 100 — красным (Deposits, Клиенты, карточка) */
.neg-big{color:#dc2626!important;font-weight:700}

/* карточка клиента: брокеры как на Deposits — проект, брокер, UID с копированием, цвет брокера */
.crm-drawer .copy-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;margin-left:2px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink-2);font:inherit;font-size:11px;cursor:copy;vertical-align:middle;transition:all .15s}
.crm-drawer .copy-chip:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
.crm-drawer .copy-chip svg{flex-shrink:0;opacity:.75}
.crm-drawer .copy-chip.copied{border-color:#10b981;color:#047857;background:#ecfdf5}
.crm-drawer .copy-chip.copy-failed{border-color:#ef4444;color:#b91c1c}
.crm-drawer .crm-broker-row td:first-child{box-shadow:inset 4px 0 0 #d6d9e4}
.crm-drawer .crm-broker-row.broker-bullwaves td:first-child{box-shadow:inset 4px 0 0 #3b82f6}
.crm-drawer .crm-broker-row.broker-vantage td:first-child{box-shadow:inset 4px 0 0 #f97316}
.crm-drawer .crm-broker-row.broker-vt td:first-child{box-shadow:inset 4px 0 0 #64748b}
.crm-drawer .crm-broker-row.broker-startrader td:first-child{box-shadow:inset 4px 0 0 #22a35a}
.crm-drawer .crm-broker-row.broker-fxpro td:first-child{box-shadow:inset 4px 0 0 #9333ea}
.crm-drawer .crm-broker-cell .project-chip{font-size:10.5px;padding:1px 7px;margin-right:4px;vertical-align:1px}
.crm-drawer .crm-broker-cell small{display:block;margin-top:3px}
/* Настройки → Пользователи */
.set-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:12px}
.set-user{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:10px}
.set-user label{display:grid;gap:5px;font-size:12px;font-weight:650}
.set-user-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.set-user-head strong{font-size:15px}
.set-user-state{font-size:11.5px;font-weight:700;color:#b45309}
.set-user-state.on{color:#15803d}

/* карточка: «Все брокеры клиента» — таблица как на вкладке Deposits */
.crm-drawer .crm-dep-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);max-height:420px}
.crm-drawer .crm-dep-table{min-width:0;width:max-content;font-size:12.5px}
.crm-drawer .crm-dep-table thead th{position:sticky;top:0}
.crm-drawer .crm-dep-table tbody tr.crm-broker-row.selected td{background:#f1edff}
.crm-drawer .crm-dep-table tbody tr.crm-broker-row.selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
.crm-drawer .crm-dep-table .crm-record-delete{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;padding:0;border:0;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer;vertical-align:middle}
.crm-drawer .crm-dep-table .crm-record-delete:hover{background:#fee2e2;color:#dc2626}
.crm-drawer .crm-dep-table .dep-empty{color:var(--muted);text-align:center;padding:18px}
