.fresh-login-body{margin:0;min-height:100vh;background:#f5f7fb;color:#25324a;font-family:Inter,sans-serif}.fresh-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(440px,.95fr)}.fresh-login-brand{position:relative;overflow:hidden;display:flex;align-items:center;padding:8vw;background:linear-gradient(145deg,#172554 0%,#263c78 52%,#3f64c6 100%);color:#fff}.fresh-login-brand:before,.fresh-login-brand:after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(255,255,255,.14)}.fresh-login-brand:before{width:520px;height:520px;right:-250px;top:-140px}.fresh-login-brand:after{width:360px;height:360px;left:-190px;bottom:-130px}.fresh-login-brand-inner{position:relative;z-index:1;max-width:620px}.fresh-login-logo{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#fff;color:#3657ae;font-size:22px;font-weight:800;box-shadow:0 18px 50px rgba(0,0,0,.18)}.fresh-login-eyebrow{margin:34px 0 14px;font-size:12px;letter-spacing:.18em;font-weight:700;color:#c9d5ff}.fresh-login-brand h1{margin:0;font-size:clamp(38px,4.3vw,68px);line-height:1.03;letter-spacing:-.045em;max-width:680px}.fresh-login-brand>div>p:not(.fresh-login-eyebrow){font-size:17px;line-height:1.7;color:#dbe4ff;max-width:570px}.fresh-login-features{display:grid;gap:14px;margin-top:40px}.fresh-login-features span{display:flex;align-items:center;gap:12px;font-weight:600}.fresh-login-features i{color:#78e6bd;font-size:21px}.fresh-login-panel{display:grid;place-items:center;padding:42px}.fresh-login-card{width:min(100%,430px);background:#fff;border:1px solid #e8ecf4;border-radius:24px;padding:46px;box-shadow:0 25px 70px rgba(31,45,75,.1)}.fresh-login-mobile-logo{display:none;font-weight:800;align-items:center;gap:10px}.fresh-login-mobile-logo span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#3657ae;color:#fff}.fresh-login-kicker{margin:0 0 9px;color:#4f6fc3;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.fresh-login-card h2{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:0}.fresh-login-copy{margin:10px 0 30px;color:#768196}.fresh-login-label{display:block;margin:18px 0 8px;font-size:13px;font-weight:700}.fresh-login-input{height:50px;border:1px solid #dce2ed;border-radius:12px;display:flex;align-items:center;padding:0 15px;gap:11px;transition:.2s}.fresh-login-input:focus-within{border-color:#5576d1;box-shadow:0 0 0 4px rgba(85,118,209,.11)}.fresh-login-input i{color:#8792a7}.fresh-login-input input{border:0;outline:0;width:100%;font:inherit;color:#25324a;background:transparent}.fresh-login-remember{display:flex;align-items:center;gap:9px;margin:18px 0;color:#657086;font-size:13px}.fresh-login-submit{width:100%;height:52px;border:0;border-radius:12px;background:#3657ae;color:#fff;font:700 14px Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 12px 25px rgba(54,87,174,.23)}.fresh-login-submit:hover{background:#2d4b99}.fresh-login-foot{text-align:center;color:#99a2b3;font-size:12px;margin:22px 0 0}.fresh-login-error{display:flex;gap:9px;align-items:flex-start;padding:12px 14px;margin:18px 0;border-radius:10px;background:#fff0f1;color:#b33f4a;font-size:13px;line-height:1.45}@media(max-width:900px){.fresh-login-shell{grid-template-columns:1fr}.fresh-login-brand{display:none}.fresh-login-panel{min-height:100vh;padding:22px}.fresh-login-card{padding:34px 26px}.fresh-login-mobile-logo{display:flex;margin-bottom:34px}}@media(max-width:520px){.fresh-login-card{border:0;box-shadow:none;background:transparent;padding:24px 4px}.fresh-login-panel{background:#fff}.fresh-login-card h2{font-size:27px}}
/* Fail-safe: authenticated CRM content must never remain hidden behind the retired Metronic boot state. */
body.crm-app #app{visibility:visible!important;opacity:1!important}
/* CRM-scoped light/dark palettes. Do not use Metronic's global .light/.dark
   helpers here: their generated utility selectors can override the CRM shell. */
body.crm-app.crm-theme-light{
  --crm-canvas:#fff;--crm-ink:#17213c;--crm-muted:#6b7280;--crm-border:#e7eaf0;
  background:#fff!important;color:#17213c!important
}
body.crm-app.crm-theme-dark{
  --crm-canvas:#111827;--crm-ink:#e7eaf0;--crm-muted:#9aa6b8;--crm-border:#283347;
  background:#111827!important;color:#e7eaf0!important
}
body.crm-app.crm-theme-light #app,body.crm-app.crm-theme-dark #app,
body.crm-app.crm-theme-light .crm-shell,body.crm-app.crm-theme-dark .crm-shell,
body.crm-app.crm-theme-light .crm-main,body.crm-app.crm-theme-dark .crm-main,
body.crm-app.crm-theme-light .crm-content,body.crm-app.crm-theme-dark .crm-content{
  visibility:visible!important;opacity:1!important
}
body.crm-app.crm-theme-dark .crm-header,body.crm-app.crm-theme-dark .crm-card,
body.crm-app.crm-theme-dark .crm-btn,body.crm-app.crm-theme-dark .crm-icon-btn,
body.crm-app.crm-theme-dark .crm-input,body.crm-app.crm-theme-dark .crm-select,
body.crm-app.crm-theme-dark .crm-modal,body.crm-app.crm-theme-dark .crm-stat-box{
  background:#182236;color:#dbe1eb;border-color:#2a3549
}
body.crm-app.crm-theme-dark .crm-header{background:rgba(24,34,54,.94)}
body.crm-app.crm-theme-dark .crm-card-head,body.crm-app.crm-theme-dark .crm-table-toolbar,
body.crm-app.crm-theme-dark .crm-table td,body.crm-app.crm-theme-dark .crm-table th,
body.crm-app.crm-theme-dark .crm-table-foot,body.crm-app.crm-theme-dark .crm-modal-head,
body.crm-app.crm-theme-dark .crm-modal-foot{border-color:#293448}
body.crm-app.crm-theme-dark .crm-table th,body.crm-app.crm-theme-dark .crm-modal-foot{background:#151f32}
body.crm-app.crm-theme-dark .crm-table tbody tr:hover,body.crm-app.crm-theme-dark .crm-search-trigger{
  background:#1c2840;color:#b9c3d2;border-color:#2a3549
}
body.crm-app.crm-theme-dark .crm-page-head h2,body.crm-app.crm-theme-dark .crm-header-title h1,
body.crm-app.crm-theme-dark .crm-card-head h3,body.crm-app.crm-theme-dark .crm-kpi-value,
body.crm-app.crm-theme-dark .crm-table a,body.crm-app.crm-theme-dark .crm-table-customer strong,
body.crm-app.crm-theme-dark .crm-amount,body.crm-app.crm-theme-dark .crm-address strong,
body.crm-app.crm-theme-dark .crm-invoice-id h2,body.crm-app.crm-theme-dark .crm-meta-row strong,
body.crm-app.crm-theme-dark .crm-data-row strong,body.crm-app.crm-theme-dark .crm-stat-box strong{color:#eef2f8!important}
body.crm-app.crm-theme-dark .crm-table td,body.crm-app.crm-theme-dark .crm-activity-copy p,
body.crm-app.crm-theme-dark .crm-command-item{color:#c5cedb}
body.crm-app.crm-theme-dark .crm-sync-banner{border-color:#5d4d2c;background:linear-gradient(95deg,#2b261a,#1f2330)}
body.crm-app.crm-theme-dark .crm-sync-copy strong{color:#f2d48b}
body.crm-app.crm-theme-dark .crm-invoice-note{background:#151f32}
/* All-white CRM light theme, including navigation */
body.crm-app.crm-theme-light #app,
body.crm-app.crm-theme-light .crm-shell,
body.crm-app.crm-theme-light .crm-main,
body.crm-app.crm-theme-light .crm-content{
  background:#fff!important;
}
body.crm-app.crm-theme-light .crm-header,
body.crm-app.crm-theme-light .crm-card,
body.crm-app.crm-theme-light .crm-table-toolbar,
body.crm-app.crm-theme-light .crm-table th,
body.crm-app.crm-theme-light .crm-table-foot{
  background:#fff!important;
}
body.crm-app.crm-theme-light .crm-sidebar{
  background:#fff!important;
  color:#17213c!important;
  border-right:1px solid #e7eaf0;
  box-shadow:8px 0 24px rgba(23,33,60,.06);
}
body.crm-app.crm-theme-light .crm-brand{
  border-bottom-color:#edf0f4;
  color:#17213c;
}
body.crm-app.crm-theme-light .crm-brand-name{color:#17213c}
body.crm-app.crm-theme-light .crm-brand-sub{color:#8a94a7}
body.crm-app.crm-theme-light .crm-nav{
  scrollbar-color:#d7dce5 transparent;
}
body.crm-app.crm-theme-light .crm-nav-section{color:#929caf}
body.crm-app.crm-theme-light .crm-nav-link{color:#536077}
body.crm-app.crm-theme-light .crm-nav-link i{color:#8490a5}
body.crm-app.crm-theme-light .crm-nav-link:hover{
  background:#f5f7fb;
  color:#17213c;
}
body.crm-app.crm-theme-light .crm-nav-link:hover i{color:#4f6fc3}
body.crm-app.crm-theme-light .crm-nav-link.active{
  background:#fff7e6!important;
  color:#17213c!important;
}
body.crm-app.crm-theme-light .crm-nav-link.active i{color:#c98a13}
body.crm-app.crm-theme-light .crm-nav-badge{
  background:#f1f3f7;
  color:#68758b;
}
body.crm-app.crm-theme-light .crm-nav-badge.sql{
  background:#fff0c9;
  color:#91620a;
}
body.crm-app.crm-theme-light .crm-user-mini{
  border:1px solid #e7eaf0;
  background:#f8f9fb;
}
body.crm-app.crm-theme-light .crm-user-mini-copy strong{color:#17213c}
body.crm-app.crm-theme-light .crm-user-mini-copy span{color:#7f899c}
body.crm-app.crm-theme-light .crm-user-mini .crm-icon-btn{
  color:#68758b;
  background:transparent;
}
body.crm-app.crm-theme-light .crm-user-mini .crm-icon-btn:hover{
  background:#eef1f6;
  color:#17213c;
}
/* Dinnovia lavender portal theme */
:root{
  --dinnovia-purple:#7c4dff;--dinnovia-purple-deep:#6d35e8;
  --dinnovia-purple-soft:#f0eaff;--dinnovia-purple-pale:#f8f5ff;
  --dinnovia-canvas:#f6f6fb;--dinnovia-ink:#151b31;
  --dinnovia-muted:#737d94;--dinnovia-border:#e2e5ee
}
/* Login */
.fresh-login-body{background:var(--dinnovia-canvas);color:var(--dinnovia-ink)}
.fresh-login-brand{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.92) 0 7%,transparent 33%),linear-gradient(145deg,#f6f1ff 0%,#eee7ff 52%,#e4d8ff 100%);color:var(--dinnovia-ink)}
.fresh-login-brand:before,.fresh-login-brand:after{border-color:rgba(124,77,255,.16);background:rgba(255,255,255,.12)}
.fresh-login-logo,.fresh-login-mobile-logo span{background:linear-gradient(145deg,#8b5cf6,#6d35e8);color:#fff;box-shadow:0 18px 42px rgba(109,53,232,.24)}
.fresh-login-eyebrow,.fresh-login-kicker{color:var(--dinnovia-purple-deep)}
.fresh-login-brand h1,.fresh-login-card h2{color:var(--dinnovia-ink)}
.fresh-login-brand>div>p:not(.fresh-login-eyebrow),.fresh-login-copy{color:var(--dinnovia-muted)}
.fresh-login-features span{color:#3f4660}.fresh-login-features i{color:var(--dinnovia-purple)}
.fresh-login-panel{background:#faf9fd}
.fresh-login-card{border-color:rgba(124,77,255,.14);background:rgba(255,255,255,.97);box-shadow:0 26px 70px rgba(69,45,122,.13)}
.fresh-login-input{border-color:#dedfea;background:#fff}.fresh-login-input:focus-within{border-color:var(--dinnovia-purple);box-shadow:0 0 0 4px rgba(124,77,255,.11)}
.fresh-login-input i{color:#9587bb}.fresh-login-remember input{accent-color:var(--dinnovia-purple)}
.fresh-login-submit{background:linear-gradient(135deg,#8557f5,#6d35e8);box-shadow:0 13px 28px rgba(109,53,232,.25)}
.fresh-login-submit:hover{background:linear-gradient(135deg,#7848ed,#5f2bd1)}
/* Authenticated portal */
body.crm-app.crm-theme-light{--crm-primary:var(--dinnovia-purple);--crm-primary-soft:var(--dinnovia-purple-soft);--crm-canvas:var(--dinnovia-canvas);--crm-ink:var(--dinnovia-ink);--crm-muted:var(--dinnovia-muted);--crm-border:var(--dinnovia-border);background:var(--dinnovia-canvas)!important;color:var(--dinnovia-ink)!important}
body.crm-app.crm-theme-light #app,body.crm-app.crm-theme-light .crm-shell,body.crm-app.crm-theme-light .crm-main,body.crm-app.crm-theme-light .crm-content{background:var(--dinnovia-canvas)!important}
body.crm-app.crm-theme-light .crm-sidebar{border-right-color:var(--dinnovia-border);background:#fff!important;box-shadow:7px 0 24px rgba(43,35,75,.045)}
body.crm-app.crm-theme-light .crm-brand{border-bottom-color:var(--dinnovia-border)}
body.crm-app.crm-theme-light .crm-brand-mark{background:linear-gradient(145deg,#8b5cf6,#6d35e8);color:#fff;box-shadow:0 10px 24px rgba(109,53,232,.22)}
body.crm-app.crm-theme-light .crm-brand-name,body.crm-app.crm-theme-light .crm-header-title h1,body.crm-app.crm-theme-light .crm-page-head h2,body.crm-app.crm-theme-light .crm-card-head h3,body.crm-app.crm-theme-light .crm-kpi-value,body.crm-app.crm-theme-light .crm-user-mini-copy strong{color:var(--dinnovia-ink)!important}
body.crm-app.crm-theme-light .crm-brand-sub,body.crm-app.crm-theme-light .crm-breadcrumb,body.crm-app.crm-theme-light .crm-page-head p,body.crm-app.crm-theme-light .crm-kpi-label,body.crm-app.crm-theme-light .crm-kpi-foot{color:#7f879c}
body.crm-app.crm-theme-light .crm-nav-link{color:#687188}body.crm-app.crm-theme-light .crm-nav-link i{color:#929ab0}
body.crm-app.crm-theme-light .crm-nav-link:hover{background:#f8f5ff;color:var(--dinnovia-purple-deep)}
body.crm-app.crm-theme-light .crm-nav-link:hover i,body.crm-app.crm-theme-light .crm-nav-link.active i{color:var(--dinnovia-purple)}
body.crm-app.crm-theme-light .crm-nav-link.active{background:var(--dinnovia-purple-soft)!important;color:var(--dinnovia-purple-deep)!important;box-shadow:inset 3px 0 0 var(--dinnovia-purple)}
body.crm-app.crm-theme-light .crm-nav-badge,body.crm-app.crm-theme-light .crm-nav-badge.sql{background:#eee8ff;color:var(--dinnovia-purple-deep)}
body.crm-app.crm-theme-light .crm-user-mini{border-color:#e5e0f3;background:var(--dinnovia-purple-pale)}
body.crm-app.crm-theme-light .crm-header,body.crm-app.crm-theme-light .crm-subnav{border-color:var(--dinnovia-border);background:rgba(255,255,255,.97)!important}
body.crm-app.crm-theme-light .crm-card,body.crm-app.crm-theme-light .crm-table-toolbar,body.crm-app.crm-theme-light .crm-table-foot,body.crm-app.crm-theme-light .crm-modal,body.crm-app.crm-theme-light .crm-stat-box{border-color:var(--dinnovia-border);background:#fff!important}
body.crm-app.crm-theme-light .crm-card{box-shadow:0 3px 16px rgba(42,35,72,.035)}
body.crm-app.crm-theme-light .crm-table th{border-color:var(--dinnovia-border);background:#faf9fd!important;color:#858da2}
body.crm-app.crm-theme-light .crm-table td,body.crm-app.crm-theme-light .crm-card-head,body.crm-app.crm-theme-light .crm-table-toolbar,body.crm-app.crm-theme-light .crm-table-foot{border-color:var(--dinnovia-border)}
body.crm-app.crm-theme-light .crm-table tbody tr:hover{background:#fbf9ff}
body.crm-app.crm-theme-light .crm-tab:hover,body.crm-app.crm-theme-light .crm-tab.active,body.crm-app.crm-theme-light .crm-table a,body.crm-app.crm-theme-light .workspace-doc-number{color:var(--dinnovia-purple-deep)}
body.crm-app.crm-theme-light .crm-tab.active:after,body.crm-app.crm-theme-light .crm-page-btn.active{background:var(--dinnovia-purple)}
body.crm-app.crm-theme-light .crm-tab span,body.crm-app.crm-theme-light .crm-avatar-fallback,body.crm-app.crm-theme-light .workspace-module-icon,body.crm-app.crm-theme-light .workspace-quick-link i{border-color:#ddd2ff;background:var(--dinnovia-purple-soft);color:var(--dinnovia-purple-deep)}
body.crm-app.crm-theme-light .crm-btn-primary,body.crm-app.crm-theme-light .crm-btn-gold{border-color:var(--dinnovia-purple);background:var(--dinnovia-purple);color:#fff}
body.crm-app.crm-theme-light .crm-btn-primary:hover,body.crm-app.crm-theme-light .crm-btn-gold:hover{border-color:var(--dinnovia-purple-deep);background:var(--dinnovia-purple-deep);color:#fff}
body.crm-app.crm-theme-light .crm-input:focus,body.crm-app.crm-theme-light .crm-select:focus,body.crm-app.crm-theme-light .crm-form-control:focus{border-color:var(--dinnovia-purple);box-shadow:0 0 0 3px rgba(124,77,255,.09)}
body.crm-app.crm-theme-light input[type=checkbox]{accent-color:var(--dinnovia-purple)}
body.crm-app.crm-theme-light .crm-sync-banner{border-color:#ddd2ff;background:linear-gradient(95deg,#faf8ff,#f2ecff)}
body.crm-app.crm-theme-light .crm-sync-icon{background:#e9e0ff;color:var(--dinnovia-purple-deep)}
/* Keep the purple identity in dark mode. */
body.crm-app.crm-theme-dark{--crm-primary:#9b7cff;--crm-primary-soft:#2d2550}
body.crm-app.crm-theme-dark .crm-brand-mark,body.crm-app.crm-theme-dark .crm-btn-primary,body.crm-app.crm-theme-dark .crm-btn-gold,body.crm-app.crm-theme-dark .crm-page-btn.active{border-color:#8b63f6;background:#7c4dff;color:#fff}
body.crm-app.crm-theme-dark .crm-nav-link.active{background:#2c2548;color:#c5b6ff}
body.crm-app.crm-theme-dark .crm-nav-link.active i,body.crm-app.crm-theme-dark .crm-tab.active,body.crm-app.crm-theme-dark .crm-table a{color:#ad94ff}
body.crm-app.crm-theme-dark .crm-tab.active:after{background:#9b7cff}
@media(max-width:520px){.fresh-login-panel{background:linear-gradient(180deg,#f4efff,#fff 45%)}.fresh-login-card{background:transparent}}
/* Unified workspace shell themes v72 */
body.crm-app.crm-theme-light,
body.crm-app.crm-theme-light #app,
body.crm-app.crm-theme-light .crm-shell,
body.crm-app.crm-theme-light .crm-main,
body.crm-app.crm-theme-light .crm-content{
  background:#fff!important;
}
body.crm-app.crm-theme-light .crm-sidebar,
body.crm-app.crm-theme-light .crm-header,
body.crm-app.crm-theme-light .crm-subnav{
  background:#fff!important;
}
body.crm-app.crm-theme-dark,
body.crm-app.crm-theme-dark #app,
body.crm-app.crm-theme-dark .crm-shell,
body.crm-app.crm-theme-dark .crm-main,
body.crm-app.crm-theme-dark .crm-content{
  background:#111827!important;
  color:#e7eaf0!important;
}
body.crm-app.crm-theme-dark .crm-sidebar{
  border-right-color:#283347;
  background:#111827!important;
  color:#dbe1eb;
  box-shadow:none;
}
body.crm-app.crm-theme-dark .crm-header,
body.crm-app.crm-theme-dark .crm-subnav{
  border-color:#283347;
  background:rgba(17,24,39,.98)!important;
}
body.crm-app.crm-theme-dark .crm-brand{border-bottom-color:#283347;color:#eef2f8}
body.crm-app.crm-theme-dark .crm-brand-name,
body.crm-app.crm-theme-dark .crm-user-mini-copy strong{color:#eef2f8!important}
body.crm-app.crm-theme-dark .crm-brand-sub,
body.crm-app.crm-theme-dark .crm-user-mini-copy span{color:#9aa6b8}
body.crm-app.crm-theme-dark .crm-nav-link{color:#b9c3d2}
body.crm-app.crm-theme-dark .crm-nav-link i{color:#8796ad}
body.crm-app.crm-theme-dark .crm-nav-link:hover{background:#1c2840;color:#fff}
body.crm-app.crm-theme-dark .crm-nav-link:hover i{color:#ad94ff}
body.crm-app.crm-theme-dark .crm-nav-link.active{background:#2c2548!important;color:#c5b6ff!important;box-shadow:inset 3px 0 0 #9b7cff}
body.crm-app.crm-theme-dark .crm-nav-link.active i{color:#ad94ff}
body.crm-app.crm-theme-dark .crm-nav-badge,
body.crm-app.crm-theme-dark .crm-nav-badge.sql{background:#273653;color:#c5b6ff}
body.crm-app.crm-theme-dark .crm-user-mini{border-color:#334059;background:#182236;color:#dbe1eb}
body.crm-app.crm-theme-dark .crm-user-mini .crm-icon-btn{border-color:transparent;background:transparent;color:#9aa6b8}
body.crm-app.crm-theme-dark .crm-user-mini .crm-icon-btn:hover{background:#212c40;color:#fff}
