/* CRM v3 — calm, high-contrast workspace inspired by Virtual Bay's green system. */
:root{
  --crm-green:#00a862;
  --crm-green-bright:#00e58a;
  --crm-green-deep:#007746;
  --crm-green-soft:#e8f8ef;
  --crm-gradient:linear-gradient(135deg,#00d985 0%,#00844b 100%);
  --crm-bg:#f4f7f5;
  --crm-surface:#ffffff;
  --crm-surface-raised:#f9fbfa;
  --crm-text:#17251d;
  --crm-muted:#6d7f74;
  --crm-border:#dfe8e2;
  --crm-shadow:0 8px 28px rgba(21,48,33,.06);
  --crm-radius:14px;
  --crm-sidebar:244px;
  --crm-topbar:56px;
  --bs-primary:#009b59;
  --bs-primary-rgb:0,155,89;
  color-scheme:light;
}

html[data-ui-scale="compact"]{font-size:15px}
html[data-ui-scale="comfortable"]{font-size:16px}
html[data-ui-scale="large"]{font-size:17.5px}

html[data-theme="dark"]{
  --crm-bg:#07100b;
  --crm-surface:#0c1710;
  --crm-surface-raised:#111e16;
  --crm-text:#effbf3;
  --crm-muted:#91a398;
  --crm-border:rgba(190,225,202,.13);
  --crm-green-soft:rgba(0,217,133,.11);
  --crm-shadow:0 10px 34px rgba(0,0,0,.22);
  color-scheme:dark;
}

html,body{min-height:100%;background:var(--crm-bg);color:var(--crm-text)}
body{font-family:"Segoe UI",Inter,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.52;text-rendering:optimizeLegibility}
body,.crm-shell,.dashboard-content,.admin-main{background:var(--crm-bg)!important;color:var(--crm-text)}
a{color:var(--crm-green-deep)}
html[data-theme="dark"] a{color:#46eaa2}
:focus-visible{outline:3px solid rgba(0,217,133,.35)!important;outline-offset:2px}

/* Compact fixed navigation */
.crm-sidebar{width:var(--crm-sidebar)!important;background:var(--crm-surface)!important;border-color:var(--crm-border)!important;box-shadow:none!important}
.crm-brand-wrap{height:var(--crm-topbar)!important;min-height:var(--crm-topbar);padding:7px 16px!important;border-color:var(--crm-border)!important}
.crm-brand{gap:9px!important}
.crm-brand-logo{width:34px!important;height:34px!important;border-radius:10px!important;background:var(--crm-gradient)!important;color:#fff!important;box-shadow:0 7px 16px rgba(0,168,98,.2)}
.crm-brand .brand-title{font-size:1.05rem!important;line-height:1.1!important;letter-spacing:.02em!important;color:var(--crm-text)!important}
.crm-brand .brand-subtitle{font-size:.7rem!important;color:var(--crm-muted)!important}
.crm-nav{padding:8px 8px 12px!important}
.crm-nav .nav-link{min-height:40px!important;margin:1px 0!important;padding:8px 10px!important;border-radius:9px!important;gap:9px!important;color:var(--crm-muted)!important;font-size:.91rem!important;font-weight:600!important;line-height:1.1!important}
.crm-nav .nav-link:hover{background:var(--crm-green-soft)!important;color:var(--crm-text)!important}
.crm-nav .nav-link.active,.crm-nav .nav-group.open>.nav-group-toggle{background:var(--crm-gradient)!important;color:#fff!important;box-shadow:0 6px 14px rgba(0,153,88,.16)}
.crm-nav .nav-icon{width:21px!important;font-size:1rem!important}
.nav-submenu{padding:3px 0 5px 31px!important}
.nav-submenu .nav-link{min-height:35px!important;font-size:.84rem!important;padding:7px 9px!important}
.sidebar-account{padding:10px 12px!important;border-color:var(--crm-border)!important;background:var(--crm-surface)!important}
.sidebar-account-copy strong{font-size:.88rem!important;color:var(--crm-text)!important}
.sidebar-account-copy small{font-size:.72rem!important;color:var(--crm-muted)!important}

.admin-main{margin-left:var(--crm-sidebar)!important}
.crm-navbar{height:var(--crm-topbar)!important;min-height:var(--crm-topbar)!important;background:color-mix(in srgb,var(--crm-surface) 94%,transparent)!important;border-color:var(--crm-border)!important;box-shadow:none!important;backdrop-filter:blur(14px)}
.crm-navbar .container-fluid{padding-top:4px!important;padding-bottom:4px!important}
.navbar-actions{gap:6px!important}
.icon-button,.sidebar-toggle{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important;color:var(--crm-muted)!important}
.icon-button:hover,.sidebar-toggle:hover{background:var(--crm-green-soft)!important;color:var(--crm-green)!important}
.global-search-trigger{height:38px!important;padding:0 12px!important;border-radius:10px!important;background:var(--crm-surface-raised)!important;border:1px solid var(--crm-border)!important;color:var(--crm-muted)!important}
.global-search-trigger span{font-size:.84rem!important}
.global-search-trigger kbd{font-size:.67rem!important}
.brand-switcher .form-select,.brand-switcher .select2-selection{min-height:38px!important;height:38px!important;border-radius:10px!important;background:var(--crm-surface-raised)!important;border-color:var(--crm-border)!important;color:var(--crm-text)!important}
.profile-button{min-height:40px!important;padding:3px 7px!important;border-radius:11px!important}
.profile-copy strong{font-size:.82rem!important}.profile-copy small{font-size:.68rem!important;color:var(--crm-muted)!important}
.top-role-pill{background:var(--crm-green-soft)!important;color:var(--crm-green-deep)!important;border:1px solid rgba(0,168,98,.12)!important;font-size:.73rem!important;padding:5px 9px!important}
html[data-theme="dark"] .top-role-pill{color:#63edaf!important}

/* Surfaces and typography */
.dashboard-content{min-height:calc(100vh - var(--crm-topbar))!important}
.dashboard-content>.container-fluid{padding-top:20px!important;padding-bottom:24px!important}
.panel,.metric-card,.dashboard-panel{background:var(--crm-surface)!important;border:1px solid var(--crm-border)!important;border-radius:var(--crm-radius)!important;box-shadow:var(--crm-shadow)!important;color:var(--crm-text)!important}
.panel-header,.dashboard-panel-head{padding:14px 16px!important;border-color:var(--crm-border)!important}
.page-heading{gap:14px!important;margin-bottom:16px!important}
.page-heading h1,.page-heading .h3{font-size:1.55rem!important;line-height:1.22!important;letter-spacing:-.02em!important;color:var(--crm-text)!important}
.page-heading p{font-size:.88rem!important;line-height:1.45!important}
.page-icon{width:40px!important;height:40px!important;border-radius:11px!important;background:var(--crm-green-soft)!important;color:var(--crm-green)!important;font-size:1.08rem!important}
.eyebrow{color:var(--crm-green-deep)!important;font-size:.68rem!important;letter-spacing:.1em!important}
html[data-theme="dark"] .eyebrow{color:#54eaa8!important}
.text-muted,.form-text{color:var(--crm-muted)!important}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,strong{color:var(--crm-text)}

.btn{min-height:40px;border-radius:10px;font-weight:650;font-size:.88rem;padding:.48rem .86rem}
.btn-sm{min-height:34px!important;padding:.35rem .66rem!important;font-size:.8rem!important}
.btn-primary{background:var(--crm-gradient)!important;border:0!important;color:#fff!important;box-shadow:0 7px 16px rgba(0,153,88,.17)!important}
.btn-primary:hover{filter:brightness(.94);transform:translateY(-1px)}
.btn-light,.btn-outline-secondary{background:var(--crm-surface-raised)!important;border:1px solid var(--crm-border)!important;color:var(--crm-text)!important}
.btn-light:hover,.btn-outline-secondary:hover{background:var(--crm-green-soft)!important;border-color:rgba(0,168,98,.3)!important;color:var(--crm-green-deep)!important}
html[data-theme="dark"] .btn-light:hover,html[data-theme="dark"] .btn-outline-secondary:hover{color:#63edaf!important}

.form-control,.form-select,.select2-selection{min-height:42px!important;background:var(--crm-surface)!important;border:1px solid var(--crm-border)!important;border-radius:10px!important;color:var(--crm-text)!important;font-size:.92rem!important}
.form-control:focus,.form-select:focus{border-color:var(--crm-green)!important;box-shadow:0 0 0 3px rgba(0,217,133,.12)!important}
.form-label{font-size:.82rem!important;font-weight:700!important;color:var(--crm-text)!important;margin-bottom:6px!important}
.dropdown-menu,.modal-content{background:var(--crm-surface)!important;border:1px solid var(--crm-border)!important;border-radius:14px!important;box-shadow:0 18px 48px rgba(0,0,0,.16)!important;color:var(--crm-text)!important}
.dropdown-item{color:var(--crm-text)!important;font-size:.9rem!important}.dropdown-item:hover{background:var(--crm-green-soft)!important}

.table{--bs-table-bg:transparent;--bs-table-color:var(--crm-text);--bs-table-border-color:var(--crm-border);margin:0!important}
.table>:not(caption)>*>*{padding:.72rem .78rem!important;color:var(--crm-text)!important;font-size:.88rem!important;vertical-align:middle}
.table thead th{background:var(--crm-surface-raised)!important;color:var(--crm-muted)!important;font-size:.72rem!important;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.table tbody tr:hover>*{background:var(--crm-green-soft)!important}
.badge{border-radius:999px!important;font-size:.72rem!important;padding:.42em .66em!important}
.progress{background:var(--crm-green-soft)!important;border-radius:999px!important}.progress-bar{background:var(--crm-gradient)!important}
.alert{border-radius:12px!important;border:1px solid var(--crm-border)!important}

/* Dashboard */
.dash-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.dash-welcome-copy span{display:block;margin-bottom:4px;color:var(--crm-green-deep);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dash-welcome-copy h1{margin:0;font-size:1.75rem;letter-spacing:-.035em;color:var(--crm-text)}
.dash-welcome-copy p{margin:5px 0 0;color:var(--crm-muted);font-size:.9rem}
.dash-period{display:flex;gap:4px;padding:4px;border:1px solid var(--crm-border);border-radius:12px;background:var(--crm-surface)}
.dash-period a{min-height:32px;padding:6px 11px;border-radius:8px;color:var(--crm-muted);font-size:.78rem;font-weight:700;text-decoration:none}
.dash-period a.active{background:var(--crm-gradient);color:#fff}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.dash-kpi{position:relative;overflow:hidden;padding:16px;background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:var(--crm-radius);box-shadow:var(--crm-shadow)}
.dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--crm-gradient)}
.dash-kpi-head{display:flex;align-items:center;justify-content:space-between;color:var(--crm-muted);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em}
.dash-kpi-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--crm-green-soft);color:var(--crm-green)}
.dash-kpi strong{display:block;margin-top:10px;font-size:1.72rem;line-height:1;letter-spacing:-.04em}
.dash-kpi small{display:block;margin-top:7px;color:var(--crm-muted);font-size:.75rem}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:12px;margin-bottom:12px}
.dash-panel{overflow:hidden;background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:var(--crm-radius);box-shadow:var(--crm-shadow)}
.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--crm-border)}
.dash-panel-head h2{margin:0;font-size:1rem}.dash-panel-head small{color:var(--crm-muted);font-size:.75rem}
.dash-chart{display:flex;align-items:flex-end;gap:8px;height:210px;padding:26px 16px 14px;overflow-x:auto}
.dash-chart-item{display:flex;flex:1 0 48px;min-width:48px;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.dash-chart-bar{position:relative;width:min(34px,70%);min-height:4px;border-radius:7px 7px 3px 3px;background:var(--crm-gradient)}
.dash-chart-bar span{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:.65rem;font-weight:700;color:var(--crm-muted);white-space:nowrap}
.dash-chart-item small{font-size:.65rem;color:var(--crm-muted);white-space:nowrap}
.dash-list{margin:0;padding:0;list-style:none}.dash-list li{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid var(--crm-border)}.dash-list li:last-child{border-bottom:0}
.dash-list-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:var(--crm-green-soft);color:var(--crm-green)}
.dash-list-copy{min-width:0;flex:1}.dash-list-copy strong,.dash-list-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-copy strong{font-size:.86rem}.dash-list-copy span{color:var(--crm-muted);font-size:.73rem}
.dash-list-meta{color:var(--crm-muted);font-size:.72rem;white-space:nowrap}
.dash-empty{padding:30px;text-align:center;color:var(--crm-muted);font-size:.86rem}
.dash-table-link{font-weight:700;text-decoration:none;color:var(--crm-text)}
.dash-status-row{display:flex;gap:7px;flex-wrap:wrap;padding:12px 15px;border-top:1px solid var(--crm-border)}
.dash-status-row span{padding:6px 9px;border-radius:999px;background:var(--crm-green-soft);color:var(--crm-muted);font-size:.7rem;font-weight:650}

/* Appearance */
.appearance-settings{max-width:900px;overflow:hidden}
.appearance-preview{padding:24px;background:linear-gradient(135deg,var(--crm-green-soft),var(--crm-surface));border-bottom:1px solid var(--crm-border)}
.appearance-preview span,.appearance-preview strong,.appearance-preview small{display:block}.appearance-preview span{color:var(--crm-green-deep);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.appearance-preview strong{margin-top:8px;font-size:1.45rem}.appearance-preview small{margin-top:5px;color:var(--crm-muted)}
.appearance-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}
.appearance-choice{position:relative;min-height:150px;padding:18px;border:1px solid var(--crm-border);border-radius:12px;cursor:pointer;background:var(--crm-surface-raised)}
.appearance-choice input{position:absolute;opacity:0}.appearance-choice:has(input:checked){border-color:var(--crm-green);box-shadow:0 0 0 3px rgba(0,217,133,.1)}
.appearance-choice strong,.appearance-choice small{display:block}.appearance-choice small{margin-top:5px;color:var(--crm-muted);font-size:.78rem}.appearance-choice-mark{position:absolute;right:12px;top:12px;display:none;width:24px;height:24px;border-radius:50%;background:var(--crm-gradient);color:#fff;place-items:center}.appearance-choice:has(input:checked) .appearance-choice-mark{display:grid}
.appearance-aa{position:absolute;left:18px;bottom:14px;font-weight:800;color:var(--crm-green)}.appearance-aa.size-compact{font-size:1rem}.appearance-aa.size-comfortable{font-size:1.3rem}.appearance-aa.size-large{font-size:1.65rem}.appearance-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--crm-border)}

/* Compact modal contract: only small add, edit and view surfaces opt in. */
.app-record-modal .modal-dialog{width:calc(100% - 24px)!important;max-width:680px!important;margin-left:auto!important;margin-right:auto!important}
.app-record-modal .modal-dialog.app-modal-sm{max-width:480px!important}
.app-record-modal .modal-dialog.app-modal-md{max-width:680px!important}
.app-record-modal .modal-header{padding:15px 18px!important}.app-record-modal .modal-body{padding:18px!important}
.app-record-modal .modal-body>.container-fluid{padding:0!important}.app-record-modal .panel{box-shadow:none!important}

/* Lead connection is a deliberate full-page workflow. */
.connect-lead-panel{max-width:820px;margin:0 auto;overflow:hidden}.connect-project-box{padding:16px;border:1px solid var(--crm-border);border-radius:12px;background:var(--crm-surface-raised)}

/* Single-card login */
.crm-login-page{min-height:100vh!important;display:grid!important;place-items:center!important;padding:24px!important;background:radial-gradient(circle at 20% 10%,rgba(0,217,133,.12),transparent 34%),var(--crm-bg)!important;color:var(--crm-text)!important}
.crm-login-shell{display:block!important;width:min(460px,100%)!important;min-height:0!important;border:1px solid var(--crm-border)!important;border-radius:18px!important;background:var(--crm-surface)!important;box-shadow:0 24px 70px rgba(8,42,24,.13)!important;overflow:hidden!important}
.crm-login-form-wrap{position:relative!important;display:block!important;width:100%!important;min-height:0!important;padding:38px!important;border:0!important;background:var(--crm-surface)!important;color:var(--crm-text)!important}
.crm-login-form-brand{display:flex!important;margin-bottom:30px!important}.crm-login-form-brand .crm-brand-logo{background:var(--crm-gradient)!important}.crm-login-form-wrap h1{margin:0 0 7px!important;font-size:1.75rem!important;line-height:1.2!important;color:var(--crm-text)!important}.crm-login-form-wrap>p{margin:0 0 24px!important;color:var(--crm-muted)!important}.crm-login-form-wrap .btn-primary{min-height:46px!important}.crm-login-help{margin-top:20px!important;color:var(--crm-muted)!important;text-align:center!important;font-size:.78rem!important}

/* Final dark-theme contrast pass. Legacy theme files load first; these rules own the result. */
html[data-theme="dark"]{--crm-text:#f7fff9;--crm-muted:#c2d2c7;--crm-border:rgba(213,238,220,.18)}
html[data-theme="dark"] body,html[data-theme="dark"] .crm-shell,html[data-theme="dark"] .admin-main,html[data-theme="dark"] .dashboard-content,html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] .metric-card,html[data-theme="dark"] .dashboard-panel,html[data-theme="dark"] .modal-content,html[data-theme="dark"] .dropdown-menu,html[data-theme="dark"] .list-group-item{color:#f7fff9!important}
html[data-theme="dark"] p,html[data-theme="dark"] li,html[data-theme="dark"] dt,html[data-theme="dark"] dd,html[data-theme="dark"] td,html[data-theme="dark"] th,html[data-theme="dark"] label,html[data-theme="dark"] .form-check-label,html[data-theme="dark"] .rich-content,html[data-theme="dark"] .modal-body,html[data-theme="dark"] .dropdown-item{color:#f7fff9!important}
html[data-theme="dark"] .text-muted,html[data-theme="dark"] .form-text,html[data-theme="dark"] small,html[data-theme="dark"] .dash-list-copy span,html[data-theme="dark"] .dash-list-meta{color:#c2d2c7!important}
html[data-theme="dark"] .table>:not(caption)>*>*,html[data-theme="dark"] .dashboard-content table.table>tbody>tr>td{color:#f7fff9!important;border-color:var(--crm-border)!important}
html[data-theme="dark"] .table thead th,html[data-theme="dark"] .dashboard-content table.table>thead>tr>th{color:#dcebe1!important;background:var(--crm-surface-raised)!important}
html[data-theme="dark"] .form-control,html[data-theme="dark"] .form-select,html[data-theme="dark"] .select2-selection,html[data-theme="dark"] .select2-dropdown,html[data-theme="dark"] .input-group-text{background:#0d1a12!important;border-color:var(--crm-border)!important;color:#fff!important}
html[data-theme="dark"] .form-control::placeholder{color:#aebfb4!important}
html[data-theme="dark"] .crm-navbar,html[data-theme="dark"] .crm-sidebar,html[data-theme="dark"] .crm-brand-wrap,html[data-theme="dark"] .sidebar-account,html[data-theme="dark"] .crm-login-shell,html[data-theme="dark"] .crm-login-form-wrap{background:var(--crm-surface)!important;border-color:var(--crm-border)!important;color:#f7fff9!important}
html[data-theme="dark"] .crm-nav .nav-link,html[data-theme="dark"] .profile-copy strong,html[data-theme="dark"] .sidebar-account-copy strong{color:#f7fff9!important}
html[data-theme="dark"] .btn-light,html[data-theme="dark"] .btn-outline-secondary{background:var(--crm-surface-raised)!important;border-color:var(--crm-border)!important;color:#f7fff9!important}
html[data-theme="dark"] .conversion-lock,html[data-theme="dark"] .conversion-ready,html[data-theme="dark"] .connect-project-box{background:var(--crm-surface-raised)!important;border-color:var(--crm-border)!important;color:#f7fff9!important}
html[data-theme="dark"] body,html[data-theme="dark"] .crm-shell,html[data-theme="dark"] .admin-main,html[data-theme="dark"] .dashboard-content{background:var(--crm-bg)!important}
html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] .metric-card,html[data-theme="dark"] .dashboard-panel,html[data-theme="dark"] .dash-panel,html[data-theme="dark"] .modal-content,html[data-theme="dark"] .dropdown-menu{background:var(--crm-surface)!important;border-color:var(--crm-border)!important}
html[data-theme="dark"] .panel-header,html[data-theme="dark"] .table thead th,html[data-theme="dark"] .dashboard-content table.table>thead>tr>th{background:var(--crm-surface-raised)!important}

/* Source-locked invoice builder: cards should fit their content, not inherit the legacy equal-height dashboard rule. */
.invoice-simple-form .row>[class*="col-"]>.panel{height:auto!important}
.invoice-simple-form .invoice-simple-item:last-child{margin-bottom:0!important}
.invoice-simple-form{padding-bottom:76px}

/* The printable invoice stays a white document in either app theme. */
html[data-theme="dark"] .inv-doc,html[data-theme="dark"] .inv-doc *{color:#20364d!important}
html[data-theme="dark"] .inv-doc .status-paid{color:#166534!important}
html[data-theme="dark"] .inv-doc .status-unpaid{color:#991b1b!important}
html[data-theme="dark"] .inv-doc .status-partial{color:#92400e!important}
html[data-theme="dark"] .inv-doc .status-cancelled{color:#374151!important}
html[data-theme="dark"] .dashboard-content table.table>tbody>tr>td,html[data-theme="dark"] .table tbody td{background:var(--crm-surface)!important;color:#f7fff9!important}
html[data-theme="dark"] .dashboard-content table.table>tbody>tr:nth-child(even)>td{background:#0f1c14!important}
html[data-theme="dark"] .dashboard-content table.table>tbody>tr:hover>td{background:#13261a!important}
html[data-theme="dark"] .dashboard-content table.table>tbody>tr>td>a:not(.btn),html[data-theme="dark"] .table a:not(.btn){color:#8dffca!important}
html[data-theme="dark"] .table .btn-sm{background:var(--crm-surface-raised)!important;border-color:var(--crm-border)!important;color:#f7fff9!important}
html[data-theme="dark"] .crm-navbar,html[data-theme="dark"] .crm-sidebar,html[data-theme="dark"] .crm-brand-wrap,html[data-theme="dark"] .sidebar-account{background:#08130c!important}

html[data-theme="dark"] .bg-white,html[data-theme="dark"] .bg-body,html[data-theme="dark"] .bg-body-tertiary,html[data-theme="dark"] .list-group-item{background:var(--crm-surface)!important;color:var(--crm-text)!important}
html[data-theme="dark"] .border,html[data-theme="dark"] .border-top,html[data-theme="dark"] .border-bottom{border-color:var(--crm-border)!important}
html[data-theme="dark"] .table-light,html[data-theme="dark"] .text-bg-light{background:var(--crm-surface-raised)!important;color:var(--crm-text)!important}

@media(max-width:1199.98px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}
@media(max-width:991.98px){.admin-main{margin-left:0!important}.crm-sidebar{transform:translateX(-100%)}body.sidebar-open .crm-sidebar{transform:translateX(0)}.dashboard-content>.container-fluid{padding-top:16px!important}.dash-welcome{align-items:flex-start;flex-direction:column}.appearance-choice-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){html[data-ui-scale="large"]{font-size:16.5px}.dash-kpis{grid-template-columns:1fr 1fr;gap:8px}.dash-kpi{padding:13px}.dash-kpi strong{font-size:1.45rem}.dash-kpi small{display:none}.dash-grid{gap:8px}.dash-welcome-copy h1{font-size:1.45rem}.page-heading{align-items:flex-start!important}.page-heading-copy{align-items:flex-start!important}.dashboard-content>.container-fluid{padding-left:12px!important;padding-right:12px!important}.appearance-choice-grid{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* CRM v3.3 compact workflow dashboard and staged record flow */
.workflow-mini{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--crm-border);border-radius:12px;background:var(--crm-surface)}
.workflow-mini>span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 9px;border-radius:8px;background:var(--crm-surface-raised);color:var(--crm-muted);font-size:.75rem;font-weight:750}
.workflow-mini>span i{color:var(--crm-green)}.workflow-mini>.bi-chevron-right{color:var(--crm-muted);font-size:.65rem}
.flow-state{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 8px;border-radius:999px;background:var(--crm-surface-raised);color:var(--crm-muted);font-size:.7rem;font-weight:750;white-space:nowrap}.flow-state.good{background:var(--crm-green-soft);color:var(--crm-green-deep)}.flow-state.warn{background:#fff3d8;color:#9a6300}.flow-state.muted{color:var(--crm-muted)}
.brand-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--brand-dot,var(--crm-green))}
.flow-confirm{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--crm-border);border-radius:12px;background:var(--crm-surface-raised)}.flow-confirm-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:var(--crm-green-soft);color:var(--crm-green)}
.compact-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.compact-detail-grid>div{padding:9px 0;border-bottom:1px solid var(--crm-border)}.compact-detail-grid small{display:block;color:var(--crm-muted)}
.compact-item-list{padding:4px 14px}.compact-item-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--crm-border)}.compact-item-list>div:last-child{border-bottom:0}.compact-item-list small{color:var(--crm-muted);white-space:nowrap}

.flow-dashboard{max-width:1480px;margin:0 auto}.flow-dash-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.flow-dash-head h1{margin:2px 0 0;font-size:1.55rem;letter-spacing:-.03em}.flow-head-actions{display:flex;gap:8px}
.flow-steps{display:grid;grid-template-columns:minmax(95px,1fr) 22px minmax(95px,1fr) 22px minmax(95px,1fr) 22px minmax(95px,1fr) 22px minmax(95px,1fr) 22px minmax(95px,1fr);align-items:center;gap:4px;margin-bottom:12px;padding:10px;border:1px solid var(--crm-border);border-radius:14px;background:var(--crm-surface)}
.flow-step{display:flex;align-items:center;gap:9px;min-width:0;padding:7px}.flow-step>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:var(--crm-green-soft);color:var(--crm-green)}.flow-step div{display:flex;min-width:0;flex-direction:column}.flow-step strong{font-size:1rem;line-height:1}.flow-step small{margin-top:3px;color:var(--crm-muted);font-size:.68rem}.flow-arrow{justify-self:center;color:var(--crm-muted);font-size:.68rem}
.flow-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.flow-metric{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--crm-border);border-radius:13px;background:var(--crm-surface);color:var(--crm-text)!important;text-decoration:none!important;box-shadow:var(--crm-shadow)}.flow-metric:hover{border-color:color-mix(in srgb,var(--crm-green) 38%,var(--crm-border));transform:translateY(-1px)}.flow-metric-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:var(--crm-green-soft);color:var(--crm-green)}.flow-metric-icon.warn{background:#fff3d8;color:#ad7200}.flow-metric-icon.good{background:var(--crm-green-soft);color:var(--crm-green)}.flow-metric div{display:flex;min-width:0;flex-direction:column}.flow-metric strong{overflow:hidden;font-size:1.05rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.flow-metric small{margin-top:3px;color:var(--crm-muted);font-size:.68rem}
.flow-dash-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:12px}.flow-panel{overflow:hidden}.flow-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--crm-border)}.flow-panel-head h2{margin:0;font-size:.9rem}.flow-panel-head small{display:block;margin-top:2px;color:var(--crm-muted);font-size:.65rem}.flow-panel-head>a{font-size:.72rem;font-weight:750;text-decoration:none}
.flow-action-list>a,.flow-task-list>a,.flow-record-list>a,.flow-project-list>a{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 14px;border-bottom:1px solid var(--crm-border);color:var(--crm-text)!important;text-decoration:none!important}.flow-action-list>a:last-child,.flow-task-list>a:last-child,.flow-record-list>a:last-child,.flow-project-list>a:last-child{border-bottom:0}.flow-action-list>a:hover,.flow-task-list>a:hover,.flow-record-list>a:hover,.flow-project-list>a:hover{background:var(--crm-green-soft)}
.flow-action-icon,.flow-task-check{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:var(--crm-green-soft);color:var(--crm-green)}.flow-action-icon.warn{background:#fff3d8;color:#a96e00}.flow-action-icon.danger{background:#ffe9e8;color:#c43b35}.flow-action-icon.good{background:var(--crm-green-soft);color:var(--crm-green)}.flow-action-list>a>div,.flow-task-list>a>div,.flow-record-list>a>div{display:flex;min-width:0;flex:1;flex-direction:column}.flow-action-list strong,.flow-task-list strong,.flow-record-list strong,.flow-project-list strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.flow-action-list small,.flow-task-list small,.flow-record-list small,.flow-project-list small{overflow:hidden;margin-top:2px;color:var(--crm-muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.flow-action-list>a>.bi-chevron-right{color:var(--crm-muted);font-size:.7rem}.flow-task-list time{color:var(--crm-muted);font-size:.68rem;white-space:nowrap}.flow-task-list time.overdue{color:#d0443e;font-weight:800}.flow-clear{display:flex;align-items:center;justify-content:center;gap:8px;min-height:78px;padding:15px;color:var(--crm-muted);font-size:.75rem}.flow-clear i{color:var(--crm-green);font-size:1rem}
.flow-record-list .flow-state{margin-left:auto}.flow-project-list>a{justify-content:space-between}.flow-project-main{display:flex;min-width:0;flex:1;flex-direction:column}.flow-project-progress{width:92px;flex:0 0 92px}.flow-project-progress>span{display:block;margin-bottom:4px;color:var(--crm-muted);font-size:.64rem;text-align:right}.flow-project-progress .progress{height:5px}
.flow-setup-empty{display:flex;align-items:center;gap:16px;max-width:760px;margin:8vh auto 0;padding:26px}.flow-setup-empty>div{min-width:0;flex:1}.flow-setup-empty h1{margin:0 0 4px;font-size:1.3rem}.flow-setup-empty p{margin:0;color:var(--crm-muted);font-size:.82rem}.flow-setup-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:14px;background:var(--crm-green-soft);color:var(--crm-green);font-size:1.25rem}
html[data-theme="dark"] .flow-state.warn,html[data-theme="dark"] .flow-metric-icon.warn,html[data-theme="dark"] .flow-action-icon.warn{background:rgba(217,153,0,.15);color:#ffd36f}html[data-theme="dark"] .flow-action-icon.danger{background:rgba(208,68,62,.16);color:#ff9691}html[data-theme="dark"] .flow-task-list time.overdue{color:#ff9691}
@media(max-width:1199.98px){.flow-steps{grid-template-columns:repeat(6,minmax(0,1fr))}.flow-arrow{display:none}.flow-step{justify-content:center}.flow-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.workflow-mini>.bi-chevron-right{display:none}.flow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-step{justify-content:flex-start}.flow-dash-grid{grid-template-columns:1fr}.flow-setup-empty{align-items:flex-start;flex-wrap:wrap}.compact-detail-grid{grid-template-columns:1fr}}
@media(max-width:479.98px){.flow-dash-head{align-items:flex-start}.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-metrics{grid-template-columns:1fr}.flow-step>span{width:30px;height:30px;flex-basis:30px}.flow-project-progress{width:72px;flex-basis:72px}}
.workflow-mini>span.done{background:var(--crm-green-soft);color:var(--crm-green-deep)}
html[data-theme="dark"] .workflow-mini>span.done{color:#70f0b4}
