/* =========================================================
   FORTIS CRM / BRAND IDENTITY 2026
   Visual-only product skin. No application behavior lives here.
   Brand source: FORTIS CRM Brand Identity, pages 3-16.
========================================================= */
:root{
  --fortis-blue:#0716C9;
  --fortis-navy:#030726;
  --fortis-electric:#2F6BFF;
  --fortis-white:#FFFFFF;
  --fortis-ice:#F4F7FF;
  --fortis-ink:#0B1230;
  --fortis-copy:#53607A;
  --fortis-line:#DCE3F4;
  --fortis-line-strong:#C8D2EB;
  --fortis-soft-blue:#EAF0FF;
  --fortis-font-brand:'Sora','Inter',Arial,sans-serif;
  --fortis-font-ui:'Inter',Arial,sans-serif;
  --fortis-font-data:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --fortis-radius-panel:14px;
  --fortis-radius-control:9px;
  --fortis-shadow:0 14px 40px rgba(3,7,38,.075);
  --fortis-shadow-hover:0 18px 48px rgba(3,7,38,.11);
  --fortis-signal-gradient:linear-gradient(110deg,var(--fortis-navy) 0%,var(--fortis-blue) 58%,var(--fortis-electric) 100%);
  --surface:var(--fortis-white);
  --surface-soft:var(--fortis-ice);
  --surface-blue:var(--fortis-soft-blue);
  --text:var(--fortis-ink);
  --muted:var(--fortis-copy);
  --border:var(--fortis-line);
  --border-strong:var(--fortis-line-strong);
  --shadow:var(--fortis-shadow);
  --shadow-soft:0 6px 20px rgba(3,7,38,.055);
  --radius-xl:18px;
  --radius-lg:14px;
  --radius-md:9px;
}

html,body,button,input,select,textarea{font-family:var(--fortis-font-ui)}
body{
  color:var(--fortis-ink);
  background:var(--fortis-ice);
  font-feature-settings:'cv02','cv03','cv04','cv11';
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:before{
  opacity:.34;
  background-image:
    linear-gradient(rgba(7,22,201,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,22,201,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 42%,transparent 92%);
  mask-image:linear-gradient(90deg,transparent 2%,#000 42%,transparent 92%);
}

h1,h2,h3,.hero h2,.dashboard-hero h2,.fortis-login-brand h1,
.settings-page h2,.security-page h2,.transfer-page h2,.saas-content h2{
  font-family:var(--fortis-font-brand);
  font-weight:800;
  letter-spacing:-.045em;
}
strong,b{letter-spacing:-.012em}
input,select,textarea{letter-spacing:-.01em}

/* ---------- responsive brand lockup ---------- */
.fortis-crm-lockup{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-width:0;
  line-height:1;
}
.fortis-crm-lockup .fortis-signal{
  display:block;
  width:31px;
  height:26px;
  object-fit:contain;
  flex:0 0 auto;
  filter:none!important;
}
.fortis-crm-wordmark{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  white-space:nowrap;
}
.fortis-crm-wordmark b{
  font-family:var(--fortis-font-brand);
  font-size:19px;
  font-weight:800;
  letter-spacing:.015em;
}
.fortis-crm-wordmark em{
  font-family:var(--fortis-font-ui);
  font-size:19px;
  font-style:normal;
  font-weight:500;
  letter-spacing:-.04em;
}
.fortis-crm-lockup--dark .fortis-crm-wordmark b{color:#fff}
.fortis-crm-lockup--dark .fortis-crm-wordmark em{color:#BFD1FF}
.fortis-crm-lockup--light .fortis-crm-wordmark b{color:var(--fortis-navy)}
.fortis-crm-lockup--light .fortis-crm-wordmark em{color:var(--fortis-blue)}

/* ---------- navigation / persistent architecture ---------- */
.sidebar,
.saas-sidebar{
  color:#fff;
  background:
    linear-gradient(rgba(47,107,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,107,255,.055) 1px,transparent 1px),
    linear-gradient(158deg,#02051D 0%,var(--fortis-navy) 54%,#07114F 100%);
  background-size:46px 46px,46px 46px,auto;
  box-shadow:18px 0 50px rgba(3,7,38,.18);
}
.sidebar:after,.saas-sidebar:after{
  width:280px;
  height:280px;
  right:-195px;
  bottom:-120px;
  border-radius:0;
  transform:rotate(45deg);
  background:linear-gradient(135deg,transparent 26%,rgba(7,22,201,.42) 27%,rgba(47,107,255,.18) 58%,transparent 59%);
}
.sidebar .brand-full,
.saas-sidebar .brand-full{
  justify-content:flex-start;
  height:104px;
  min-height:104px;
  flex-basis:104px;
  padding:20px 10px 17px;
  border-bottom:1px solid rgba(191,209,255,.15);
}
.sidebar .brand-full .fortis-crm-lockup,
.saas-sidebar .brand-full .fortis-crm-lockup{margin-left:3px}
.sidebar .brand-full img.fortis-signal,
.saas-sidebar .brand-full img.fortis-signal{width:31px;max-width:31px;height:26px;max-height:26px;object-fit:contain;filter:none}
.nav-label{
  color:rgba(191,209,255,.54);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}
.sidebar nav a,.sidebar .grouped-nav a,
.saas-sidebar nav a,.saas-sidebar .grouped-nav a{
  min-height:42px;
  padding:9px 11px;
  border-radius:8px 2px 8px 8px;
  color:rgba(240,244,255,.72);
  font-size:13px;
  font-weight:650;
  letter-spacing:-.012em;
  box-shadow:none;
  position:relative;
  isolation:isolate;
}
.sidebar nav a:before,.saas-sidebar nav a:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background:linear-gradient(95deg,rgba(47,107,255,.20),rgba(47,107,255,.035));
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);
  transition:opacity .18s ease;
}
.sidebar nav a:hover,.saas-sidebar nav a:hover{color:#fff;background:transparent;box-shadow:none}
.sidebar nav a:hover:before,.saas-sidebar nav a:hover:before{opacity:1}
.sidebar nav a.active,.saas-sidebar nav a.active{
  color:#fff;
  background:transparent;
  box-shadow:none;
}
.sidebar nav a.active:before,.saas-sidebar nav a.active:before{
  opacity:1;
  background:linear-gradient(100deg,var(--fortis-blue),#102BE0 67%,var(--fortis-electric));
  box-shadow:0 9px 24px rgba(7,22,201,.28);
}
.sidebar nav a.active:after,.saas-sidebar nav a.active:after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:11px;
  height:11px;
  background:#80A7FF;
  clip-path:polygon(100% 0,0 0,100% 100%);
}
.nav-bottom{border-top-color:rgba(191,209,255,.14)}
.logout-link{color:#FF7B8D!important}

/* Sidebar iconography — refined compact line set.
   Restores the cleaner earlier treatment: consistent 24 px geometry,
   restrained Fortis-blue facet, and a subtle clipped container rather than
   oversized experimental signal fragments. */
.fortis-nav-icon{
  position:relative;
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  color:currentColor;
  border:1px solid rgba(191,209,255,.16);
  border-radius:6px 1px 6px 6px;
  background:rgba(255,255,255,.025);
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);
  overflow:hidden;
}
.fortis-nav-icon .fortis-icon-glyph{
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
}
.fortis-nav-icon svg{
  width:17px;
  height:17px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.fortis-nav-icon .fortis-icon-facet{
  position:absolute;
  right:0;
  bottom:0;
  width:6px;
  height:6px;
  background:var(--fortis-electric);
  clip-path:polygon(100% 0,100% 100%,0 100%);
  opacity:.92;
  pointer-events:none;
  filter:none;
  transform:none;
}
.sidebar nav a:hover .fortis-nav-icon,
.saas-sidebar nav a:hover .fortis-nav-icon{
  border-color:rgba(127,176,255,.34);
  background:rgba(255,255,255,.045);
}
.sidebar nav a.active .fortis-nav-icon,
.saas-sidebar nav a.active .fortis-nav-icon{
  color:#fff;
  background:rgba(3,7,38,.19);
  border-color:rgba(255,255,255,.26);
}
.sidebar nav a.active .fortis-icon-facet,
.saas-sidebar nav a.active .fortis-icon-facet{background:#86B0FF}
.topbar .fortis-nav-icon,.notification-button .fortis-nav-icon{
  color:var(--fortis-navy);
  border-color:var(--fortis-line);
  background:var(--fortis-white);
}

/* ---------- top bar ---------- */
.topbar,.saas-topbar{
  min-height:82px;
  padding:14px 30px;
  background:rgba(244,247,255,.94);
  border-bottom:1px solid var(--fortis-line);
  backdrop-filter:blur(18px) saturate(140%);
}
.topbar h1,.saas-topbar h1{
  font-family:var(--fortis-font-brand);
  color:var(--fortis-navy);
  font-size:23px;
  font-weight:800;
  letter-spacing:-.045em;
}
.user-chip{
  min-height:46px;
  padding:5px 11px 5px 5px;
  border:1px solid var(--fortis-line);
  border-radius:10px 2px 10px 10px;
  background:#fff;
  box-shadow:none;
  position:relative;
}
.user-chip:after{
  content:"";
  position:absolute;
  right:-1px;top:-1px;
  width:9px;height:9px;
  background:var(--fortis-electric);
  clip-path:polygon(100% 0,0 0,100% 100%);
  opacity:.9;
}
.user-avatar{
  border-radius:8px 1px 8px 8px;
  background:var(--fortis-signal-gradient);
  font-family:var(--fortis-font-data);
}
.global-search{
  min-height:43px;
  padding:10px 15px 10px 17px;
  border-radius:9px 2px 9px 9px;
  background:#fff;
  box-shadow:none;
}
.global-search:focus{border-color:var(--fortis-electric);box-shadow:0 0 0 3px rgba(47,107,255,.10)}
.notification-button,.mobile-search-toggle,.menu-btn{
  border-radius:9px 2px 9px 9px!important;
  background:#fff;
  color:var(--fortis-navy);
  box-shadow:none;
}

/* ---------- content hierarchy ---------- */
.content{padding:26px 30px 44px}
.content-inner{max-width:1680px;margin:0 auto}
.card,.dashboard-panel,.settings-card,.settings-section,.security-panel,.security-card,
.org-card,.conversation-card,.sequence-card,.integration-card,.channel-card,
.transfer-card,.transfer-panel,.role-card,.commerce-card,.saved-view-card,.ai-card,
.saas-card,.production-card,.launch-card,.professional-stat-card{
  background:rgba(255,255,255,.98);
  border:1px solid var(--fortis-line);
  border-radius:var(--fortis-radius-panel) 4px var(--fortis-radius-panel) var(--fortis-radius-panel);
  box-shadow:var(--fortis-shadow);
}
.card:hover,.dashboard-panel:hover,.org-card:hover,.integration-card:hover,.channel-card:hover{
  border-color:#CAD6F5;
}

/* A single clipped signal terminal, never ornamental */
.card,.dashboard-panel,.settings-section,.security-panel,.org-card,.integration-card,.channel-card,.saas-card{
  position:relative;
}
.card:before,.dashboard-panel:before,.settings-section:before,.security-panel:before,.org-card:before,.integration-card:before,.channel-card:before,.saas-card:before{
  content:"";
  position:absolute;
  right:-1px;
  top:-1px;
  width:12px;
  height:12px;
  background:linear-gradient(135deg,var(--fortis-electric),var(--fortis-blue));
  clip-path:polygon(100% 0,0 0,100% 100%);
  opacity:.28;
  pointer-events:none;
}

/* ---------- buttons and controls ---------- */
.btn,.fortis-sign-in-button,.settings-action,.saas-btn,.notification-mark-all,
button[type="submit"]{
  min-height:40px;
  border-radius:8px 1px 8px 8px;
  font-weight:750;
  letter-spacing:-.01em;
}
.btn-primary,.fortis-sign-in-button,.saas-btn-primary{
  color:#fff;
  background:var(--fortis-blue);
  box-shadow:0 8px 22px rgba(7,22,201,.18);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);
}
.btn-primary:hover,.fortis-sign-in-button:hover,.saas-btn-primary:hover{
  background:linear-gradient(100deg,var(--fortis-blue),#102BE0 72%,var(--fortis-electric));
  box-shadow:0 10px 26px rgba(7,22,201,.24);
}
.btn-secondary,.btn-soft{
  background:#fff;
  border:1px solid var(--fortis-line-strong);
  color:var(--fortis-navy);
}
.btn-soft{background:var(--fortis-soft-blue);color:var(--fortis-blue)}
.search-control,.field input,.field select,.field textarea,
input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="datetime-local"],select,textarea{
  border-radius:8px 2px 8px 8px;
  border-color:var(--fortis-line-strong);
  background:#fff;
}
.search-control:focus,.field input:focus,.field select:focus,.field textarea:focus,
input:focus,select:focus,textarea:focus{
  border-color:var(--fortis-electric);
  box-shadow:0 0 0 3px rgba(47,107,255,.09);
}

/* ---------- data / tables ---------- */
.table-wrap,.professional-table-wrap,.settings-table-wrap{
  border-radius:12px 3px 12px 12px;
  border-color:var(--fortis-line);
  box-shadow:var(--fortis-shadow);
}
th{
  background:#F8FAFF;
  color:#63708C;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
}
td{color:#313C58}
tbody tr:hover{background:#F7F9FF}
.badge,.status-badge,.stage-badge,.pill{
  border-radius:6px 1px 6px 6px;
}
.badge:not(.success):not(.warning):not(.danger),.status-badge:not(.success):not(.warning):not(.danger){
  background:var(--fortis-soft-blue);
  color:var(--fortis-blue);
}

/* Numbers use the data face from the identity system */
.stat strong,.dashboard-kpi-card strong,.dashboard-secondary-kpis strong,
.dashboard-finance-strip strong,.finance-card strong,.saas-kpi strong,.saas-kpi-card strong,
.security-kpis strong,.security-kpi-grid strong,.integration-kpis strong,.transfer-kpis strong,
.professional-stat strong,.conversion-ring strong,.dashboard-money-list b,.money,
.metric-value,.kpi-value,.amount,.report-kpi strong{
  font-family:var(--fortis-font-data);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.045em;
}

/* ---------- dashboard / data visualization ---------- */
.dashboard-shell{gap:15px}
.dashboard-hero,.hero{
  border-radius:16px 4px 16px 16px;
  background:
    linear-gradient(rgba(47,107,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,107,255,.08) 1px,transparent 1px),
    linear-gradient(116deg,var(--fortis-navy) 0%,#07104C 46%,var(--fortis-blue) 84%,#102BE0 100%);
  background-size:48px 48px,48px 48px,auto;
  box-shadow:0 18px 46px rgba(3,7,38,.18);
  overflow:hidden;
}
.dashboard-hero:after,.hero:after{
  width:390px;height:160px;
  right:-110px;bottom:-68px;
  border-radius:0;
  transform:rotate(-12deg);
  background:linear-gradient(90deg,transparent,rgba(47,107,255,.28));
  clip-path:polygon(0 42%,100% 0,100% 35%,12% 72%,100% 52%,100% 84%,0 100%);
}
.dashboard-hero h2,.hero h2{
  font-size:clamp(28px,3.2vw,43px);
  text-transform:none;
  letter-spacing:-.055em;
}
.dashboard-hero .eyebrow,.hero .eyebrow{
  border-radius:6px 1px 6px 6px;
  border-color:rgba(191,209,255,.24);
  background:rgba(47,107,255,.10);
  color:#BFD1FF;
  font-weight:800;
}
.dashboard-kpi-card,.dashboard-secondary-kpis article,.dashboard-finance-strip article{
  border-radius:12px 3px 12px 12px;
  border-color:var(--fortis-line);
  box-shadow:0 7px 22px rgba(3,7,38,.045);
}
.dashboard-kpi-icon,.stat-icon,.professional-stat-icon,.integration-kpi-icon,.transfer-icon,
.settings-module-icon,.settings-section-icon,.task-section-icon,.security-kpi-icon,.org-card-icon{
  border-radius:8px 1px 8px 8px!important;
  background:var(--fortis-soft-blue)!important;
  color:var(--fortis-blue)!important;
  border:1px solid #D7E1FF!important;
  position:relative;
}
.dashboard-kpi-icon:after,.stat-icon:after,.professional-stat-icon:after,.integration-kpi-icon:after,
.transfer-icon:after,.settings-module-icon:after,.settings-section-icon:after,.task-section-icon:after,
.security-kpi-icon:after,.org-card-icon:after{
  content:"";
  position:absolute;
  right:-1px;bottom:-1px;
  width:9px;height:9px;
  background:var(--fortis-electric);
  clip-path:polygon(100% 0,100% 100%,0 100%);
}
.chart-legend i,.pipeline-bar-meta span i,.stage-dot,.donut-list span i{border-radius:2px}
.legend-revenue{background:var(--fortis-blue)!important}
.legend-expense{background:var(--fortis-electric)!important}
.conversion-ring{background:conic-gradient(var(--fortis-blue) calc(var(--pct)*1%),#E9EEFA 0)!important}

/* ---------- automation / sequences / conversations ---------- */
.automation-card,.automation-builder,.sequence-step,.journey-step,.conversation-message,
.conversation-side-card,.conversation-thread,.automation-history-card{
  border-radius:12px 3px 12px 12px!important;
}
.sequence-step,.journey-step,.automation-step{
  border-color:#D8E1F5!important;
}
.sequence-step:before,.journey-step:before,.automation-step:before{
  background:var(--fortis-electric)!important;
}
.conversation-message.received,.conversation-message.inbound{
  background:#F0F4FF!important;
  border-color:#DCE5FF!important;
}
.conversation-message.sent,.conversation-message.outbound{
  background:var(--fortis-navy)!important;
  color:#fff!important;
}

/* ---------- dropdowns ---------- */
.fortis-select-trigger,.fortis-select-menu,.dropdown-menu,.custom-select-trigger{
  border-radius:8px 2px 8px 8px!important;
}
.fortis-select-option.is-selected,.fortis-select-option:hover,
.dropdown-menu a:hover,.custom-select-option:hover{
  background:var(--fortis-soft-blue)!important;
  color:var(--fortis-blue)!important;
}

/* ---------- SaaS control ---------- */
.saas-control-body{background:var(--fortis-ice)!important}
.saas-platform-pill{
  border-radius:7px 1px 7px 7px!important;
  background:#fff!important;
  border-color:var(--fortis-line)!important;
  color:#66708B!important;
}
.saas-platform-pill span{background:var(--fortis-electric)!important;box-shadow:0 0 0 4px rgba(47,107,255,.10)}

/* ---------- login surfaces ---------- */
body.fortis-login-page{
  color:#fff!important;
  font-family:var(--fortis-font-ui)!important;
  background:
    linear-gradient(rgba(47,107,255,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,107,255,.065) 1px,transparent 1px),
    radial-gradient(circle at 78% 44%,rgba(47,107,255,.22),transparent 29rem),
    linear-gradient(128deg,#010319 0%,var(--fortis-navy) 50%,#07104B 100%)!important;
  background-size:52px 52px,52px 52px,auto,auto!important;
}
body.fortis-login-page::before{
  opacity:.7!important;
  background:
    linear-gradient(116deg,transparent 0 56%,rgba(47,107,255,.10) 56.2% 57%,transparent 57.2% 65%,rgba(7,22,201,.18) 65.2% 66%,transparent 66.2%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
body.fortis-login-page::after{
  width:46vw!important;
  max-width:680px!important;
  height:46vw!important;
  max-height:680px!important;
  right:-18vw!important;
  bottom:-28vw!important;
  border:0!important;
  border-radius:0!important;
  transform:rotate(45deg)!important;
  background:linear-gradient(135deg,transparent 28%,rgba(7,22,201,.32) 28.3% 40%,rgba(47,107,255,.10) 40.3% 55%,transparent 55.3%)!important;
  box-shadow:none!important;
}
.fortis-login-decoration{
  width:420px!important;height:2px!important;
  left:-100px!important;top:22%!important;
  border:0!important;border-radius:0!important;
  background:linear-gradient(90deg,transparent,var(--fortis-electric),transparent)!important;
  box-shadow:0 0 26px rgba(47,107,255,.46)!important;
  transform:rotate(-24deg)!important;
}
.fortis-login-shell{width:min(520px,100%)!important}
.fortis-login-card{
  padding:36px 38px 34px!important;
  color:var(--fortis-ink)!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid rgba(191,209,255,.34)!important;
  border-radius:16px 4px 16px 16px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(18px)!important;
  position:relative;
}
.fortis-login-card:before{
  content:"";
  position:absolute;right:-1px;top:-1px;width:18px;height:18px;
  background:linear-gradient(135deg,var(--fortis-electric),var(--fortis-blue));
  clip-path:polygon(100% 0,0 0,100% 100%);
}
.fortis-login-brand{margin-bottom:26px!important}
.fortis-login-logo-wrap{
  width:auto!important;height:auto!important;max-width:none!important;
  margin:0 auto 22px!important;overflow:visible!important;
}
.fortis-login-logo-wrap .fortis-crm-lockup{justify-content:center}
.fortis-login-logo-wrap .fortis-signal{width:38px;height:32px}
.fortis-login-logo-wrap .fortis-crm-wordmark b,.fortis-login-logo-wrap .fortis-crm-wordmark em{font-size:23px}
.fortis-login-brand h1{font-size:clamp(24px,3vw,31px)!important;color:var(--fortis-navy)!important}
.fortis-login-brand p{color:#6D7891!important}
.fortis-platform-label{
  border-radius:6px 1px 6px 6px!important;
  background:var(--fortis-soft-blue)!important;
  border-color:#D8E2FF!important;
  color:var(--fortis-blue)!important;
}
.fortis-login-card .field input{background:#FAFBFF!important;border-radius:8px 2px 8px 8px!important}
.fortis-login-footer{color:rgba(210,221,255,.72)!important}

/* ---------- motion identity / page loader ---------- */
html.fortis-motion-boot body{background:var(--fortis-navy)!important}
html.fortis-motion-boot .app-shell,
html.fortis-motion-boot .fortis-login-shell,
html.fortis-motion-boot .fortis-login-decoration{opacity:0!important}
.fortis-motion-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(rgba(47,107,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,107,255,.055) 1px,transparent 1px),
    radial-gradient(circle at 62% 46%,rgba(7,22,201,.20),transparent 28rem),
    var(--fortis-navy);
  background-size:64px 64px,64px 64px,auto,auto;
  opacity:1;
  visibility:visible;
  transition:opacity .24s ease,visibility .24s ease;
}
.fortis-motion-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.fortis-motion-stage{
  width:min(420px,78vw);
  display:grid;
  place-items:center;
  text-align:center;
  position:relative;
}
.fortis-motion-mark{
  position:relative;
  width:118px;
  height:94px;
  perspective:720px;
}
.fortis-motion-plane,.fortis-motion-lock{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:contain;
  opacity:0;
  filter:drop-shadow(0 0 0 rgba(47,107,255,0));
}
.fortis-motion-plane--top{
  clip-path:polygon(0 0,100% 0,100% 57%,0 69%);
  transform-origin:32% 52%;
  animation:fortisPlaneTop 1.12s cubic-bezier(.18,.75,.2,1) both;
}
.fortis-motion-plane--lower{
  clip-path:polygon(0 34%,100% 25%,100% 100%,0 100%);
  transform-origin:40% 48%;
  animation:fortisPlaneLower 1.12s cubic-bezier(.18,.75,.2,1) both;
}
.fortis-motion-lock{animation:fortisSignalLock 1.12s ease both}
.fortis-motion-line{
  position:absolute;
  z-index:-1;
  left:50%;top:50%;
  width:260px;height:2px;
  transform:translate(-50%,-50%) scaleX(0) rotate(-23deg);
  transform-origin:left center;
  background:linear-gradient(90deg,transparent 0%,var(--fortis-electric) 22%,#7CB0FF 72%,transparent 100%);
  box-shadow:0 0 18px rgba(47,107,255,.8);
  animation:fortisLineEnter 1.12s ease both;
}
/* Login/navigation handoff fix: suppress the decorative pulse outline that can remain visible during auth redirects. */
.fortis-motion-pulse{display:none!important}
.fortis-motion-pulse{
  position:absolute;
  left:50%;top:50%;
  width:142px;height:116px;
  transform:translate(-50%,-50%) scale(.76);
  border:1px solid rgba(47,107,255,.74);
  border-radius:18px 3px 18px 18px;
  opacity:0;
  animation:fortisPulse 1.12s ease both;
}
.fortis-motion-wordmark{
  margin-top:22px;
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:5px;
  opacity:0;
  transform:translateY(8px);
  animation:fortisWordmark 1.12s ease both;
}
.fortis-motion-wordmark b{font:800 22px/1 var(--fortis-font-brand);letter-spacing:.02em}
.fortis-motion-wordmark span{font:500 22px/1 var(--fortis-font-ui);color:#8FB0FF;letter-spacing:-.04em}
.fortis-motion-caption{
  margin-top:10px;
  color:#9CABCE;
  font:600 10px/1.2 var(--fortis-font-ui);
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  animation:fortisCaption 1.12s ease both;
}
.fortis-motion-progress{
  width:168px;height:1px;margin-top:20px;overflow:hidden;background:rgba(191,209,255,.14);
}
.fortis-motion-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--fortis-blue),var(--fortis-electric));transform:translateX(-100%);animation:fortisProgress 1.12s ease both}
@keyframes fortisLineEnter{
  0%,7%{opacity:0;transform:translate(-50%,-50%) scaleX(0) rotate(-23deg)}
  9%{opacity:1}
  31%{opacity:1;transform:translate(-50%,-50%) scaleX(1) rotate(-23deg)}
  68%,100%{opacity:0;transform:translate(-50%,-50%) scaleX(1) rotate(-23deg)}
}
@keyframes fortisPlaneTop{
  0%,20%{opacity:0;transform:translate(-18px,9px) rotateY(-76deg) rotateZ(-7deg) scale(.88)}
  28%{opacity:1}
  57%{opacity:1;transform:none}
  69%,100%{opacity:0;transform:none}
}
@keyframes fortisPlaneLower{
  0%,25%{opacity:0;transform:translate(13px,-7px) rotateY(72deg) rotateZ(5deg) scale(.88)}
  33%{opacity:1}
  61%{opacity:1;transform:none}
  70%,100%{opacity:0;transform:none}
}
@keyframes fortisSignalLock{
  0%,59%{opacity:0;transform:scale(.965)}
  67%{opacity:1;transform:scale(1)}
  78%{opacity:1;filter:drop-shadow(0 0 0 rgba(47,107,255,0))}
  88%{opacity:1;filter:drop-shadow(0 0 16px rgba(47,107,255,.86))}
  100%{opacity:1;filter:drop-shadow(0 0 5px rgba(47,107,255,.28))}
}
@keyframes fortisPulse{
  0%,76%{opacity:0;transform:translate(-50%,-50%) scale(.72)}
  84%{opacity:.62}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}
}
@keyframes fortisWordmark{0%,61%{opacity:0;transform:translateY(8px)}75%,100%{opacity:1;transform:none}}
@keyframes fortisCaption{0%,72%{opacity:0}88%,100%{opacity:1}}
@keyframes fortisProgress{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}

/* ---------- responsive ---------- */
@media(max-width:760px){
  .content{padding:18px 15px 34px}
  .topbar,.saas-topbar{min-height:72px;padding:11px 15px}
  .topbar h1,.saas-topbar h1{font-size:20px}
  .sidebar .brand-full,.saas-sidebar .brand-full{height:90px;min-height:90px;flex-basis:90px;padding:16px 14px}
  .fortis-crm-wordmark b,.fortis-crm-wordmark em{font-size:18px}
  .fortis-login-card{padding:30px 23px 28px!important;border-radius:14px 3px 14px 14px!important}
  .dashboard-hero,.hero{border-radius:14px 3px 14px 14px}
  .card,.dashboard-panel{border-radius:12px 3px 12px 12px}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .fortis-motion-overlay{display:none!important}
  html.fortis-motion-boot .app-shell,html.fortis-motion-boot .fortis-login-shell,html.fortis-motion-boot .fortis-login-decoration{opacity:1!important}
}

/* ---------- module-level visual unification ---------- */
.ai-hero,.automation-hero,.calendar-hero,.cf-admin-hero,.channels-hero,.commerce-hero,
.conversation-hero,.deal-detail-hero,.deals-hero,.detail-hero,.email-hero,.integration-hero,
.lead-profile-hero,.notification-settings-hero,.org-hero,.rbac-hero,.reports-hero,
.security-hero,.tasks-hero,.transfer-hero,.wa-hero{
  border:1px solid var(--fortis-line)!important;
  border-radius:15px 3px 15px 15px!important;
  background:
    linear-gradient(90deg,rgba(47,107,255,.035),transparent 48%),
    #fff!important;
  box-shadow:var(--fortis-shadow)!important;
  color:var(--fortis-ink)!important;
  position:relative;
  overflow:hidden;
}
.ai-hero:after,.automation-hero:after,.calendar-hero:after,.cf-admin-hero:after,.channels-hero:after,
.commerce-hero:after,.conversation-hero:after,.deal-detail-hero:after,.deals-hero:after,
.detail-hero:after,.email-hero:after,.integration-hero:after,.lead-profile-hero:after,
.notification-settings-hero:after,.org-hero:after,.rbac-hero:after,.reports-hero:after,
.security-hero:after,.tasks-hero:after,.transfer-hero:after,.wa-hero:after{
  content:"";
  position:absolute;
  right:-32px;top:-55px;
  width:190px;height:150px;
  background:linear-gradient(130deg,transparent 32%,rgba(7,22,201,.07) 32.5% 45%,rgba(47,107,255,.09) 45.5% 60%,transparent 60.5%);
  transform:rotate(-6deg);
  pointer-events:none;
}
.ai-hero h2,.automation-hero h2,.calendar-hero h2,.cf-admin-hero h2,.channels-hero h2,
.commerce-hero h2,.conversation-hero h2,.deal-detail-hero h2,.deals-hero h2,
.detail-hero h2,.email-hero h2,.integration-hero h2,.lead-profile-hero h2,
.notification-settings-hero h2,.org-hero h2,.rbac-hero h2,.reports-hero h2,
.security-hero h2,.tasks-hero h2,.transfer-hero h2,.wa-hero h2{
  color:var(--fortis-navy)!important;
  font-family:var(--fortis-font-brand)!important;
  letter-spacing:-.045em!important;
}
.ai-hero p,.automation-hero p,.calendar-hero p,.cf-admin-hero p,.channels-hero p,
.commerce-hero p,.conversation-hero p,.deal-detail-hero p,.deals-hero p,
.detail-hero p,.email-hero p,.integration-hero p,.lead-profile-hero p,
.notification-settings-hero p,.org-hero p,.rbac-hero p,.reports-hero p,
.security-hero p,.tasks-hero p,.transfer-hero p,.wa-hero p{color:var(--fortis-copy)!important}

.org-eyebrow,.org-section-head span,.org-form-head>span,.commerce-eyebrow,.security-eyebrow,
.integration-eyebrow,.channels-eyebrow,.automation-eyebrow,.conversation-eyebrow,.reports-eyebrow,
.task-eyebrow,.calendar-eyebrow,.email-eyebrow,.wa-eyebrow,.ai-eyebrow,.rbac-eyebrow,
.transfer-eyebrow,.cf-eyebrow{
  color:var(--fortis-blue)!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
}

.org-kpis article,.automation-kpi,.calendar-kpi,.commerce-kpi,.conversation-kpis article,
.deal-kpis article,.detail-kpi,.integration-kpis article,.report-kpi-card,.reports-kpis article,
.saas-kpi,.security-kpis article,.transfer-kpis article,.wa-kpis article,.prod-kpis article{
  border:1px solid var(--fortis-line)!important;
  border-radius:12px 3px 12px 12px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(3,7,38,.045)!important;
}

/* Strong signal-line focus for active tabs and local navigation */
.record-tabs button.active,.detail-tabs a.active,.settings-tabs a.active,.security-tabs a.active,
.commerce-tabs a.active,.automation-tabs a.active,.conversation-tabs a.active,.reports-tabs a.active,
.saas-tabs a.active,.transfer-tabs a.active{
  color:var(--fortis-blue)!important;
  border-color:var(--fortis-blue)!important;
}

/* Decorative pastel accents are normalized to the disciplined Fortis palette. */
.icon-fill,.lead-table-icon,.file-icon,.notification-icon,.deal-detail-icon{
  background:var(--fortis-soft-blue)!important;
  color:var(--fortis-blue)!important;
  border-color:#D8E2FF!important;
  border-radius:8px 1px 8px 8px!important;
}
