/* INFIVO Design System V6 — unified visual layer */
:root{
  --infivo-navy:#071b45;
  --infivo-navy-2:#0b2f68;
  --infivo-blue:#2479f4;
  --infivo-cyan:#3bcde5;
  --infivo-mint:#19b889;
  --infivo-violet:#7458f5;
  --infivo-ink:#102442;
  --infivo-muted:#65758b;
  --infivo-line:#dce6f2;
  --infivo-surface:rgba(255,255,255,.92);
  --infivo-soft:#f4f7fc;
  --infivo-shadow:0 18px 54px rgba(17,48,92,.09);
  --infivo-shadow-hover:0 24px 64px rgba(20,65,132,.14);
  --infivo-radius-sm:12px;
  --infivo-radius:20px;
  --infivo-radius-lg:28px;
  --navy:var(--infivo-navy);
  --blue:var(--infivo-blue);
  --cyan:var(--infivo-cyan);
  --green:var(--infivo-mint);
  --violet:var(--infivo-violet);
  --ink:var(--infivo-ink);
  --muted:var(--infivo-muted);
  --line:var(--infivo-line);
  --soft:var(--infivo-soft);
}
html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden;color:var(--infivo-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.saas-body,body.ic-body,body.login,body.infivo-business-v2{
  background:
    radial-gradient(circle at 4% -8%,rgba(83,172,255,.19),transparent 30rem),
    radial-gradient(circle at 96% 5%,rgba(116,88,245,.13),transparent 32rem),
    radial-gradient(circle at 82% 92%,rgba(25,184,137,.1),transparent 28rem),
    #f5f8fc!important;
  background-attachment:fixed!important;
}
::selection{background:rgba(36,121,244,.2);color:var(--infivo-navy)}
a,button,input,select,textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:focus-visible{outline:3px solid rgba(36,121,244,.3)!important;outline-offset:2px!important}

/* Global application headers */
.saas-top,.ic-top{
  position:sticky!important;top:0!important;z-index:100!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  min-height:74px!important;padding:10px clamp(16px,2.4vw,34px)!important;
  border:0!important;border-bottom:1px solid rgba(204,219,237,.78)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 10px 34px rgba(18,54,99,.07)!important;
  backdrop-filter:blur(20px) saturate(145%)!important;
}
.saas-brand,.ic-brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;padding:6px 9px!important;border-radius:14px!important;background:linear-gradient(145deg,#fff,#f8fbff)!important;box-shadow:0 6px 20px rgba(17,50,94,.07)!important}
.saas-brand img,.ic-brand img{width:clamp(128px,12vw,158px)!important;height:auto!important}
.saas-top nav,.ic-top nav{display:flex!important;min-width:0!important;align-items:center!important;gap:3px!important;margin:0 auto!important;overflow-x:auto!important;scrollbar-width:none!important}
.saas-top nav::-webkit-scrollbar,.ic-top nav::-webkit-scrollbar,.saas-subnav::-webkit-scrollbar{display:none!important}
.saas-top nav a,.ic-top nav a{
  flex:0 0 auto!important;padding:9px 10px!important;border-radius:11px!important;
  color:#4d627d!important;font-size:13px!important;font-weight:780!important;line-height:1!important;text-decoration:none!important;
}
.saas-top nav a:hover,.ic-top nav a:hover{background:#eef5ff!important;color:var(--infivo-blue)!important;transform:translateY(-1px)}
.saas-top nav a.active,.ic-top nav a.active{background:linear-gradient(135deg,#eaf3ff,#eef0ff)!important;color:#145fc8!important;box-shadow:inset 0 0 0 1px rgba(77,133,235,.12)!important}
.saas-user,.ic-user{flex:0 0 auto!important;max-width:150px!important;line-height:1.25!important}
.saas-user span,.ic-user b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important}
.saas-user small,.ic-user small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;color:var(--infivo-muted)!important}
.saas-logout,.ic-top>form:not(.infivo-language-switcher){flex:0 0 auto!important}
.saas-logout button,.ic-top>form:not(.infivo-language-switcher) button{
  min-height:38px!important;padding:8px 11px!important;border:1px solid var(--infivo-line)!important;border-radius:11px!important;
  background:#fff!important;color:var(--infivo-navy)!important;box-shadow:0 5px 16px rgba(17,48,92,.05)!important;
}
.saas-logout button:hover,.ic-top>form:not(.infivo-language-switcher) button:hover{border-color:#a9c8f5!important;background:#f4f8ff!important;color:var(--infivo-blue)!important}
.infivo-language-switcher.is-header{
  flex:0 0 auto!important;max-width:150px!important;margin:0!important;padding:3px 5px!important;
  border-color:#d8e4f2!important;border-radius:11px!important;background:#fff!important;box-shadow:0 5px 16px rgba(17,48,92,.05)!important;
}
.infivo-language-switcher.is-header label span{font-size:12px!important}
.infivo-language-switcher.is-header select{max-width:72px!important;font-size:12px!important}
.infivo-language-switcher.is-header button{min-height:30px!important;padding:5px 7px!important;border-radius:8px!important;background:var(--infivo-navy)!important;color:#fff!important;font-size:11px!important}

/* Shells and internal navigation */
.saas-shell,.ic-shell{width:min(1280px,calc(100% - 40px))!important;min-width:0!important;margin:30px auto 88px!important}
.saas-subnav{
  display:flex!important;max-width:100%!important;gap:5px!important;margin:0 0 24px!important;padding:6px!important;
  overflow-x:auto!important;overflow-y:hidden!important;border:1px solid rgba(207,220,237,.9)!important;border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;box-shadow:0 10px 30px rgba(19,55,101,.06)!important;
  backdrop-filter:blur(16px)!important;scrollbar-width:none!important;
}
.saas-subnav a{padding:9px 12px!important;border-radius:10px!important;color:#52677f!important;font-size:11px!important;font-weight:850!important}
.saas-subnav a:hover{background:#edf5ff!important;color:var(--infivo-blue)!important}
.saas-subnav a.active{background:linear-gradient(135deg,var(--infivo-navy),var(--infivo-navy-2))!important;color:#fff!important;box-shadow:0 8px 20px rgba(7,27,69,.18)!important}

/* Unified heroes */
.saas-hero,.ic-hero{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  align-items:center!important;margin-bottom:24px!important;padding:clamp(24px,3vw,36px)!important;
  border:1px solid rgba(203,220,240,.92)!important;border-radius:var(--infivo-radius-lg)!important;
  background:
    radial-gradient(circle at 88% 24%,rgba(59,205,229,.2),transparent 26%),
    radial-gradient(circle at 74% 120%,rgba(116,88,245,.14),transparent 38%),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(246,250,255,.9))!important;
  box-shadow:var(--infivo-shadow)!important;
}
.saas-hero:after,.ic-hero:after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-170px;width:340px;height:340px;border:1px solid rgba(36,121,244,.11);border-radius:50%}
.saas-hero h1,.ic-hero h1{max-width:860px!important;margin:6px 0 10px!important;color:var(--infivo-navy)!important;font-size:clamp(34px,4vw,56px)!important;letter-spacing:-.052em!important;line-height:1.02!important}
.saas-hero p,.ic-hero p{max-width:790px!important;color:var(--infivo-muted)!important;font-size:clamp(15px,1.45vw,18px)!important;line-height:1.55!important}
.saas-eyebrow,.ic-eyebrow,.saas-group{color:var(--infivo-blue)!important;font-size:10px!important;font-weight:950!important;letter-spacing:.16em!important}
.saas-search-hero,.saas-ai-hero{
  border-color:rgba(112,185,255,.28)!important;
  background:
    radial-gradient(circle at 86% 20%,rgba(59,205,229,.3),transparent 28%),
    radial-gradient(circle at 72% 115%,rgba(116,88,245,.3),transparent 38%),
    linear-gradient(135deg,#071b45,#123c80 57%,#0b777c)!important;
  box-shadow:0 24px 64px rgba(10,43,93,.2)!important;
}
.saas-search-hero h1,.saas-search-hero p,.saas-search-hero .saas-eyebrow,.saas-ai-hero h1,.saas-ai-hero p,.saas-ai-hero .saas-eyebrow{color:#fff!important}
.saas-search-hero p,.saas-ai-hero p{opacity:.82!important}

/* Buttons, chips and notices */
.saas-btn,.ic-btn,.btn,main button:not(.context-help):not(.infi-hide):not(.infi-close){
  min-height:42px!important;padding:9px 15px!important;border:0!important;border-radius:12px!important;
  background:linear-gradient(125deg,var(--infivo-blue),#3e96ed 62%,var(--infivo-cyan))!important;
  color:#fff!important;font-weight:850!important;box-shadow:0 10px 24px rgba(36,121,244,.18)!important;text-decoration:none!important;
}
.saas-btn:hover,.ic-btn:hover,.btn:hover,main button:not(.context-help):not(.infi-hide):not(.infi-close):hover{transform:translateY(-2px)!important;filter:none!important;box-shadow:0 15px 30px rgba(36,121,244,.24)!important}
.saas-btn.light,.btn.secondary{border:1px solid var(--infivo-line)!important;background:#fff!important;color:var(--infivo-navy)!important;box-shadow:0 7px 20px rgba(18,50,94,.06)!important}
.saas-btn.green,.btn.green{background:linear-gradient(125deg,#0d9874,var(--infivo-mint),#35cbb2)!important}
.saas-btn.danger,.btn.danger{background:#fff0f3!important;color:#a92642!important;box-shadow:none!important}
.saas-status,.saas-badge,.status,.badge{border:1px solid transparent!important;border-radius:999px!important;padding:6px 10px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important}
.saas-notice{padding:15px 17px!important;border-radius:15px!important;box-shadow:0 8px 24px rgba(18,55,101,.05)!important}

/* Cards, KPIs and modules */
.saas-card,.saas-module-card,.saas-module-link,.ic-card,.work-card,.card,.business-quick{
  border:1px solid rgba(211,224,239,.94)!important;border-radius:var(--infivo-radius)!important;
  background:var(--infivo-surface)!important;box-shadow:0 12px 38px rgba(19,55,101,.07)!important;
  backdrop-filter:blur(14px)!important;
}
.saas-card,.saas-module-card,.saas-module-link,.ic-card,.work-card{min-width:0!important}
.saas-card:hover,.saas-module-card:hover,.saas-module-link:hover,.ic-option:hover{border-color:#b5cef2!important;box-shadow:var(--infivo-shadow-hover)!important;transform:translateY(-3px)!important}
.saas-grid,.saas-module-grid,.saas-two,.saas-kpis,.ic-kpis,.ic-options,.ic-modules{min-width:0!important}
.saas-kpis{gap:14px!important;margin:18px 0 24px!important}
.saas-kpis article,.ic-kpi{
  position:relative!important;overflow:hidden!important;padding:19px!important;border:1px solid rgba(211,224,239,.95)!important;
  border-radius:18px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 10px 32px rgba(19,55,101,.065)!important;
}
.saas-kpis article:before,.ic-kpi:before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--infivo-blue),var(--infivo-cyan),var(--infivo-violet))}
.saas-kpis b,.ic-kpi strong{color:var(--infivo-navy)!important;font-size:clamp(22px,2vw,28px)!important}
.saas-kpis span,.saas-kpis small,.ic-kpi small{color:var(--infivo-muted)!important}
.saas-icon{border-radius:15px!important;background:linear-gradient(145deg,#e4f6ff,#e9e7ff)!important;color:#167bca!important;box-shadow:inset 0 0 0 1px rgba(87,151,233,.09)!important}
.saas-column{border:1px solid #dce7f3!important;border-radius:18px!important;background:linear-gradient(160deg,rgba(244,248,253,.96),rgba(236,244,252,.84))!important}
.saas-empty{border-color:#c8d8ea!important;border-radius:15px!important;background:rgba(249,252,255,.82)!important}
.saas-deal{border-radius:16px!important;box-shadow:0 9px 25px rgba(20,57,102,.07)!important}

/* Forms and tables */
.saas-form,.saas-inline-form,.saas-mini-form,.card form{min-width:0!important}
.saas-form,.saas-inline-form input,.saas-inline-form select,.saas-inline-form textarea,
.saas-form input,.saas-form select,.saas-form textarea,.saas-mini-form input,.saas-mini-form select,
.main input,.main select,.main textarea{
  border-color:#ccd9e8!important;border-radius:12px!important;background:rgba(255,255,255,.96)!important;color:var(--infivo-ink)!important;
}
.saas-inline-form input:focus,.saas-inline-form select:focus,.saas-inline-form textarea:focus,
.saas-form input:focus,.saas-form select:focus,.saas-form textarea:focus,.main input:focus,.main select:focus,.main textarea:focus{
  border-color:#77aaf2!important;outline:0!important;box-shadow:0 0 0 4px rgba(36,121,244,.12)!important;
}
.saas-table{max-width:100%!important;border:1px solid var(--infivo-line)!important;border-radius:17px!important;box-shadow:0 10px 30px rgba(18,53,97,.055)!important}
.saas-table th{background:linear-gradient(180deg,#f7faff,#eef4fb)!important;color:#58708a!important}
.saas-table tr:hover td{background:#f9fbff!important}

/* Classic INFIVO Business dashboard */
body.infivo-business-v2 .layout{background:transparent!important}
body.infivo-business-v2 .side{
  border-right:1px solid rgba(112,159,225,.2)!important;
  background:
    radial-gradient(circle at 25% 0,rgba(46,132,245,.25),transparent 30%),
    linear-gradient(180deg,#071b45,#0b2759 58%,#0b3557)!important;
  box-shadow:10px 0 38px rgba(7,27,69,.11)!important;
}
body.infivo-business-v2 .main{min-width:0!important}
body.business-dashboard .main>.top{
  position:relative!important;overflow:hidden!important;padding:34px 36px!important;border:1px solid rgba(112,185,255,.28)!important;
  border-radius:var(--infivo-radius-lg)!important;
  background:
    radial-gradient(circle at 90% 18%,rgba(59,205,229,.32),transparent 28%),
    radial-gradient(circle at 74% 115%,rgba(116,88,245,.28),transparent 35%),
    linear-gradient(130deg,#071b45,#124a96 58%,#087a85)!important;
  box-shadow:0 24px 62px rgba(9,47,103,.19)!important;
}
body.business-dashboard .main>.top h1,body.business-dashboard .main>.top .eyebrow,body.business-dashboard .main>.top small{color:#fff!important}
body.business-dashboard .main>.top small{opacity:.74!important}
.business-quick{padding:24px!important}
.business-quick-grid a{border:1px solid #dce7f3!important;border-radius:15px!important;background:linear-gradient(145deg,#fff,#f8fbff)!important;box-shadow:0 7px 22px rgba(17,53,99,.05)!important}
.business-quick-grid a:hover{border-color:#b7d2f3!important;transform:translateY(-2px)!important;box-shadow:0 13px 30px rgba(24,72,137,.1)!important}
body.infivo-business-v2 .card{overflow:hidden!important}
body.infivo-business-v2 .kpi:before{height:3px!important;background:linear-gradient(90deg,var(--infivo-blue),var(--infivo-cyan),var(--infivo-violet))!important}

/* Login and identity pages */
body.login{min-height:100vh!important;padding:clamp(18px,4vw,56px)!important}
body.login .card{
  position:relative!important;overflow:hidden!important;border:1px solid rgba(206,220,237,.92)!important;
  border-radius:28px!important;background:rgba(255,255,255,.93)!important;box-shadow:0 28px 84px rgba(9,40,83,.15)!important;backdrop-filter:blur(18px)!important;
}
body.login .card:before{content:"";position:absolute;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,var(--infivo-blue),var(--infivo-cyan),var(--infivo-violet),var(--infivo-mint))}
body.login input,body.login select{border-radius:12px!important}
body.login button{border-radius:12px!important;background:linear-gradient(125deg,var(--infivo-blue),#3c93ef 62%,var(--infivo-cyan))!important;box-shadow:0 12px 28px rgba(36,121,244,.2)!important}

/* Infi and privacy UI */
.infi-launcher-label{
  padding:8px 13px!important;border:1px solid rgba(72,201,181,.55)!important;border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;color:var(--infivo-navy)!important;
  box-shadow:0 12px 30px rgba(7,27,69,.14),0 0 0 4px rgba(25,184,137,.07)!important;
  backdrop-filter:blur(14px)!important;
}
.infi-online{box-shadow:0 0 0 5px rgba(25,184,137,.13),0 0 18px rgba(25,184,137,.6)!important}
.infi-panel{border:1px solid rgba(160,191,229,.68)!important;border-radius:24px!important;box-shadow:0 30px 90px rgba(7,27,69,.24)!important}
.infivo-privacy-pop{
  right:auto!important;left:18px!important;bottom:18px!important;width:min(430px,calc(100vw - 36px))!important;
  padding:17px 18px!important;border:1px solid rgba(96,205,206,.28)!important;border-radius:20px!important;
  background:linear-gradient(135deg,rgba(7,27,69,.96),rgba(11,86,108,.95))!important;
  box-shadow:0 20px 58px rgba(7,27,69,.28)!important;backdrop-filter:blur(18px)!important;
}
.infivo-privacy-pop button{min-height:34px!important;padding:6px 12px!important;border-radius:10px!important;background:#fff!important;color:var(--infivo-navy)!important;box-shadow:none!important}

/* Work module */
.work-shell{width:min(1280px,calc(100% - 40px))!important}
.work-topbar,.work-nav{border-color:rgba(207,220,237,.9)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px)!important}
.work-card{border-radius:var(--infivo-radius)!important}

/* Responsive consolidation */
@media(max-width:1380px){
  .saas-top,.ic-top{gap:8px!important;padding-inline:16px!important}
  .saas-top nav a,.ic-top nav a{padding-inline:8px!important;font-size:12px!important}
  .saas-user,.ic-user{max-width:110px!important}
}
@media(max-width:1180px){
  .saas-user,.ic-user{display:none!important}
  .saas-top,.ic-top{flex-wrap:wrap!important}
  .saas-top nav,.ic-top nav{order:5;flex:1 1 100%!important;width:100%!important;justify-content:flex-start!important;padding-top:4px!important}
  .saas-shell,.ic-shell,.work-shell{width:min(100% - 28px,1280px)!important;margin-top:22px!important}
}
@media(max-width:760px){
  .saas-top,.ic-top{min-height:64px!important;padding:9px 10px!important}
  .saas-brand img,.ic-brand img{width:122px!important}
  .saas-top nav,.ic-top nav{gap:2px!important}
  .saas-top nav a,.ic-top nav a{padding:8px 9px!important;font-size:11px!important}
  .infivo-language-switcher.is-header{margin-left:auto!important}
  .infivo-language-switcher.is-header label span{display:none!important}
  .infivo-language-switcher.is-header select{max-width:56px!important}
  .saas-hero,.ic-hero{display:block!important;padding:23px 20px!important;border-radius:22px!important}
  .saas-hero h1,.ic-hero h1{font-size:clamp(30px,9vw,42px)!important}
  .saas-hero .saas-btn,.ic-hero .ic-btn{margin-top:18px!important}
  .saas-kpis{grid-template-columns:1fr 1fr!important}
  .saas-card{padding:18px!important}
  .infivo-privacy-pop{right:10px!important;left:10px!important;bottom:10px!important;width:auto!important}
  .infi-launcher-label{right:-20px!important;font-size:11px!important}
  body.business-dashboard .main>.top{padding:25px 22px!important;border-radius:22px!important}
  body.business-dashboard .main>.top .actions{margin-top:18px!important}
}
@media(max-width:520px){
  .saas-kpis{grid-template-columns:1fr!important}
  .saas-grid,.saas-module-grid,.saas-two,.ic-kpis,.ic-options,.ic-modules{grid-template-columns:1fr!important}
  .infivo-language-switcher.is-header select{max-width:48px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
