:root{
  --ink:#0f172a;
  --muted:#475569;
  --bg:#f8fafc;
  --accent:#47abff;
  --accent2:#0f74c9;
  --accent-dark:#2d8fe3;
  --accent-deep:#0d5f9f;
  --border:#e2e8f0;
  --shadow: 0 10px 20px rgba(2,6,23,.08);
  --anchor-offset: 100px;
}
html{
  scroll-padding-top:var(--anchor-offset);
}
header[id],
section[id]{
  scroll-margin-top:var(--anchor-offset);
}
body{
  background:var(--bg);
  color:var(--ink);
}
.btn-primary{
  --bs-btn-bg:var(--accent);
  --bs-btn-border-color:var(--accent);
  --bs-btn-hover-bg:var(--accent-dark);
  --bs-btn-hover-border-color:var(--accent-dark);
  --bs-btn-active-bg:var(--accent2);
  --bs-btn-active-border-color:var(--accent2);
  --bs-btn-disabled-bg:var(--accent);
  --bs-btn-disabled-border-color:var(--accent);
}
.btn-outline-primary{
  --bs-btn-color:var(--accent2);
  --bs-btn-border-color:var(--accent);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--accent);
  --bs-btn-hover-border-color:var(--accent);
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:var(--accent-dark);
  --bs-btn-active-border-color:var(--accent-dark);
}
.text-bg-primary{
  background-color:var(--accent2) !important;
}
.nav-blur{
  background:rgba(248,250,252,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.template-menu .mod-menu,
.template-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:.25rem;
}
.template-menu li{
  margin:0;
}
.template-menu a{
  display:inline-block;
  padding:.5rem .75rem;
  color:rgba(15,23,42,.8);
  text-decoration:none;
  border-radius:.5rem;
}
.template-menu a:hover,
.template-menu .current > a,
.template-menu .active > a{
  color:var(--ink);
  background:rgba(71,171,255,.10);
}
.template-footer-menu .mod-menu,
.template-footer-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:flex-end;
  gap:1rem;
}
.template-footer-menu a{
  color:rgba(15,23,42,.8);
  text-decoration:none;
}
.template-footer-menu a:hover{
  color:var(--ink);
}
.ptn-nav-actions{
  flex-wrap:wrap;
}
.ptn-login-btn{
  --bs-btn-bg:#0b1222;
  --bs-btn-border-color:#0b1222;
  --bs-btn-hover-bg:#1a2742;
  --bs-btn-hover-border-color:#1a2742;
  --bs-btn-active-bg:#24385d;
  --bs-btn-active-border-color:#24385d;
  color:#fff !important;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(15,23,42,.22);
  transition:all .15s ease;
}
.ptn-login-btn:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(15,23,42,.3);
}
.ptn-auth-edge{
  position:absolute;
  top:50%;
  right:28px;
  transform:translateY(-50%);
  z-index:1050;
}
.ptn-theme-edge{
  position:absolute;
  top:50%;
  left:28px;
  transform:translateY(-50%);
  z-index:1050;
}
.ptn-brand-shift{
  margin-left:.4rem;
}
.ptn-brand-pill{
  margin-left:var(--axpia-brand-pill-offset, -4px);
  font-size:var(--axpia-brand-pill-font-size, 13px);
  padding:var(--axpia-brand-pill-pad-y, 6px) var(--axpia-brand-pill-pad-x, 12px);
  line-height:1.15;
  max-width:min(52vw, 360px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.has-theme-toggle .ptn-brand-shift{
  margin-left:4.4rem;
}
.ptn-theme-btn{
  --bs-btn-bg:#0b1222;
  --bs-btn-border-color:#0b1222;
  --bs-btn-hover-bg:#1a2742;
  --bs-btn-hover-border-color:#1a2742;
  --bs-btn-active-bg:#24385d;
  --bs-btn-active-border-color:#24385d;
  color:#fff !important;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(15,23,42,.22);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}
.ptn-theme-icon{
  line-height:1;
}
.ptn-theme-label{
  line-height:1.1;
}
.member-strip{
  background:rgba(248,250,252,.9);
  border-bottom:1px solid var(--border);
}
.member-menu .mod-menu,
.member-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.4rem;
}
.member-menu li{
  margin:0;
}
.member-menu a{
  display:inline-block;
  padding:.48rem .8rem;
  color:rgba(15,23,42,.86);
  text-decoration:none;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.88);
}
.member-menu a:hover,
.member-menu .current > a,
.member-menu .active > a{
  color:var(--ink);
  border-color:rgba(15,23,42,.2);
  background:rgba(71,171,255,.12);
}
.hero{
  padding:5.5rem 0 3rem;
  background:
    radial-gradient(1200px 520px at 15% 15%, rgba(71,171,255,.24), transparent 60%),
    radial-gradient(1000px 520px at 85% 25%, rgba(122,195,255,.16), transparent 55%);
}
.badge-soft{
  background:rgba(71,171,255,.12);
  color:var(--accent2);
  border:1px solid rgba(71,171,255,.24);
}
.brand-logo{
  height:var(--axpia-brand-logo-height, 39px);
  width:auto;
  display:block;
}
.hero-logo{
  height:44px;
  width:auto;
  display:block;
}
.signaldock-logo{
  height:var(--axpia-signaldock-logo-height, 88px);
  width:auto;
  display:block;
}
.card{
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:1.25rem;
}
.feature-icon{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(71,171,255,.12);
  border:1px solid rgba(71,171,255,.24);
  color:var(--accent2);
  font-weight:800;
}
.mono{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.section{
  padding:3.5rem 0;
}
.cta{
  background:linear-gradient(135deg, rgba(71,171,255,.12), rgba(122,195,255,.12));
  border:1px solid rgba(2,6,23,.06);
}
.pill{
  border:1px solid var(--border);
  border-radius:999px;
  padding:.45rem .75rem;
  background:rgba(255,255,255,.85);
}
.muted{
  color:var(--muted);
}
.list-check{
  padding-left:0;
  margin:0;
}
.list-check li{
  list-style:none;
  margin-bottom:.45rem;
}
.list-check li:before{
  content:"\2713";
  color:var(--accent2);
  font-weight:900;
  margin-right:.55rem;
}
.screenshot-thumb{
  cursor:zoom-in;
}
.signaldock-media-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
}
.signaldock-shot-wrap{
  border:1px solid var(--border);
  border-radius:1rem;
  padding:.75rem;
  background:#fff;
}
.signaldock-shot-image{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 24px rgba(2,6,23,.12);
}
.signaldock-modal .modal-dialog{
  max-width:min(96vw, 1841px);
}
.modal-click-close{
  cursor:zoom-out;
  overflow:hidden;
  max-height:95vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-image{
  display:block;
  margin:0;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:90vh;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:auto;
}
.signaldock-video-pop{
  border:1px solid var(--border);
  border-radius:1rem;
  padding:.7rem;
  background:#fff;
}
.signaldock-video-player{
  width:100%;
  border-radius:.75rem;
  display:block;
  background:#0f172a;
  border:1px solid rgba(15,23,42,.12);
}
.template-component{
  padding:3.5rem 0;
}
.member-strip.member-strip-login{
  background:linear-gradient(180deg, #13243e, #0f1d33);
  border-bottom:1px solid #223a5d;
}
.member-strip.member-strip-login .member-strip-title{
  color:#dbe7ff !important;
  letter-spacing:.06em;
}
.member-strip.member-strip-login .member-menu a{
  color:#dbe7ff;
  border-color:#4d6489;
  background:rgba(18,36,60,.85);
}
.member-strip.member-strip-login .member-menu a:hover,
.member-strip.member-strip-login .member-menu .current > a,
.member-strip.member-strip-login .member-menu .active > a{
  color:#fff;
  border-color:#83a6d4;
  background:rgba(41,171,226,.28);
}
.template-component.is-auth{
  padding:2.6rem 0 3.6rem;
  background:
    linear-gradient(180deg, #f7fafe 0%, #eef4fb 100%),
    radial-gradient(900px 380px at 8% -10%, rgba(41,171,226,.14), transparent 62%);
}
.component-surface{
  min-width:0;
}
.component-surface-generic{
  min-width:0;
}
.component-surface-article{
  background:#fff;
  color:#10223c;
  border:1px solid rgba(15,23,42,.12);
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(2,6,23,.08);
  padding:1.3rem 1.4rem;
}
.component-surface-article :is(h1, h2, h3, h4, h5, h6){
  color:#0f1f36;
}
.component-surface-article :is(p, li, td, th, label, small, .small){
  color:#253a58;
}
.component-surface-article .text-secondary,
.component-surface-article .muted{
  color:#405575 !important;
}
.component-surface-article a{
  color:#0a6cae;
}
.component-surface-article a:hover{
  color:#085a92;
}
.template-component.component-page-white{
  background:#fff !important;
  color:#10223c !important;
}
.template-component.component-page-white .component-surface-generic{
  background:transparent;
}
.template-component .component-surface-white,
.template-component.component-page-white .component-surface-generic{
  background:#fff !important;
  color:#10223c !important;
  border:1px solid rgba(15,23,42,.12);
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(2,6,23,.08);
  padding:1.25rem 1.35rem;
}
.template-component .component-surface-white :is(h1, h2, h3, h4, h5, h6),
.template-component.component-page-white .component-surface-generic :is(h1, h2, h3, h4, h5, h6){
  color:#0f1f36;
}
.template-component .component-surface-white :is(p, li, td, th, label, small, .small),
.template-component.component-page-white .component-surface-generic :is(p, li, td, th, label, small, .small){
  color:#253a58;
}
.template-component .component-surface-white .text-secondary,
.template-component .component-surface-white .muted,
.template-component.component-page-white .component-surface-generic .text-secondary,
.template-component.component-page-white .component-surface-generic .muted{
  color:#405575 !important;
}
.template-component .component-surface-white a,
.template-component.component-page-white .component-surface-generic a{
  color:#0a6cae;
}
.template-component .component-surface-white a:hover,
.template-component.component-page-white .component-surface-generic a:hover{
  color:#085a92;
}
.template-component .component-surface-white .card,
.template-component .component-surface-white .bg-white,
.template-component .component-surface-white .fabrikDataContainer,
.template-component .component-surface-white .fabrikForm,
.template-component .component-surface-white .fabrikDetails,
.template-component.component-page-white .component-surface-generic .card,
.template-component.component-page-white .component-surface-generic .bg-white,
.template-component.component-page-white .component-surface-generic .fabrikDataContainer,
.template-component.component-page-white .component-surface-generic .fabrikForm,
.template-component.component-page-white .component-surface-generic .fabrikDetails{
  background:#fff !important;
  color:#10223c !important;
}
.template-component .component-surface-white .table,
.template-component.component-page-white .component-surface-generic .table{
  --bs-table-bg:#fff;
  --bs-table-color:#10223c;
  --bs-table-striped-bg:#f5f9ff;
  --bs-table-striped-color:#10223c;
  --bs-table-border-color:rgba(15,23,42,.14);
  color:#10223c !important;
  border-color:rgba(15,23,42,.14) !important;
}
.template-component .component-surface-white .table > :not(caption) > * > *,
.template-component.component-page-white .component-surface-generic .table > :not(caption) > * > *{
  background-color:var(--bs-table-bg) !important;
  color:var(--bs-table-color) !important;
  border-color:rgba(15,23,42,.14) !important;
}
.template-component .component-surface-white .table.table-striped > tbody > tr:nth-of-type(odd) > *,
.template-component.component-page-white .component-surface-generic .table.table-striped > tbody > tr:nth-of-type(odd) > *{
  background-color:var(--bs-table-striped-bg) !important;
  color:var(--bs-table-striped-color) !important;
}
.template-component .component-surface-white :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control, .form-select),
.template-component.component-page-white .component-surface-generic :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control, .form-select){
  background:#fff !important;
  color:#10223c !important;
  border-color:rgba(15,23,42,.24) !important;
}
.template-component .component-surface-white :is(input, textarea)::placeholder,
.template-component.component-page-white .component-surface-generic :is(input, textarea)::placeholder{
  color:#6b7f9b !important;
}
.template-component .component-surface-white :is(input, select, textarea, .form-control, .form-select):focus,
.template-component.component-page-white .component-surface-generic :is(input, select, textarea, .form-control, .form-select):focus{
  background:#fff !important;
  color:#10223c !important;
  border-color:#5a9ed6 !important;
  box-shadow:0 0 0 .2rem rgba(71,171,255,.2) !important;
}
.template-component .component-surface-white .input-group-text,
.template-component.component-page-white .component-surface-generic .input-group-text{
  background:#f8fbff !important;
  color:#28405f !important;
  border-color:rgba(15,23,42,.24) !important;
}
.template-component .component-surface-white .btn-outline-secondary,
.template-component .component-surface-white .btn-secondary,
.template-component.component-page-white .component-surface-generic .btn-outline-secondary,
.template-component.component-page-white .component-surface-generic .btn-secondary{
  --bs-btn-color:#27415f;
  --bs-btn-bg:#eef4fc;
  --bs-btn-border-color:#9bb5d3;
  --bs-btn-hover-color:#13243e;
  --bs-btn-hover-bg:#ddeaf8;
  --bs-btn-hover-border-color:#8eaacc;
}
.auth-layout{
  display:grid;
  grid-template-columns:minmax(280px, 430px) minmax(0, 1fr);
  gap:1rem;
  align-items:start;
}
.auth-kicker{
  color:var(--accent2);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.auth-home-brand{
  text-decoration:none;
}
.auth-home-logo{
  height:32px;
  width:auto;
  display:block;
}
.auth-side{
  background:linear-gradient(180deg, #13243e, #0f1d33);
  border-color:#223a5d;
  color:#e9f0ff;
}
.auth-side .text-secondary,
.auth-side .small.text-secondary{
  color:#c5d6f6 !important;
}
.auth-side .pill{
  background:rgba(255,255,255,.95);
  color:#0f1f34;
  border-color:rgba(15,31,52,.16);
}
.auth-member-links .member-menu .mod-menu,
.auth-member-links .member-menu ul{
  justify-content:flex-start;
  gap:.42rem;
}
.auth-main .auth-login-card{
  min-height:100%;
  background:#fbfdff !important;
  color:#10223c !important;
  border-color:rgba(15,23,42,.12);
  box-shadow:0 12px 26px rgba(15,23,42,.10);
}
.auth-main .auth-login-card :is(h1, h2, h3, h4, h5, h6, legend, label){
  color:#0f1f36;
}
.auth-main .auth-login-card .text-secondary,
.auth-main .auth-login-card .small.text-secondary{
  color:#42597c !important;
}
.is-users-login .auth-login-card .com-users-login{
  max-width:none;
}
.is-users-login .auth-login-card input[type="text"],
.is-users-login .auth-login-card input[type="password"],
.is-users-login .auth-login-card input[type="email"]{
  border-radius:.7rem;
  min-height:46px;
  border-color:rgba(15,23,42,.2);
  color:#12243f;
  background:#fff;
}
.is-users-login .auth-login-card .input-group{
  align-items:stretch;
}
.is-users-login .auth-login-card .input-group > .form-control{
  min-height:46px;
}
.is-users-login .auth-login-card .input-group > .form-control + .input-password-toggle{
  border-left:0;
}
.is-users-login .auth-login-card .input-group > .form-control:not(:last-child){
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}
.is-users-login .auth-login-card .input-group .input-group-text{
  background:#fff;
  border-color:rgba(15,23,42,.2);
  border-left:0;
  padding:0;
}
.is-users-login .auth-login-card .input-password-toggle{
  --bs-btn-bg:#fff;
  --bs-btn-border-color:rgba(15,23,42,.2);
  --bs-btn-color:#42597c;
  --bs-btn-hover-bg:#eef3fa;
  --bs-btn-hover-border-color:rgba(15,23,42,.28);
  --bs-btn-active-bg:#e5edf8;
  --bs-btn-active-border-color:rgba(15,23,42,.3);
  min-height:46px;
  min-width:46px;
  padding:0 .72rem;
  margin-left:-1px;
  border-radius:0 .7rem .7rem 0 !important;
  box-shadow:none !important;
}
.is-users-login .auth-login-card .input-group-text .input-password-toggle{
  margin-left:0;
  border:0;
}
.is-users-login .auth-login-card .btn{
  border-radius:999px;
}
.is-users-login .auth-login-card .axpia-login-submit,
.is-users-login .auth-login-card button[type="submit"],
.is-users-login .auth-login-card input[type="submit"]{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%, 440px);
  min-height:46px;
  margin:.9rem auto .45rem;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.is-users-login .auth-login-card .com-users-login__options,
.is-users-login .auth-login-card .com-users-login__links,
.is-users-login .auth-login-card .login-links,
.is-users-login .auth-login-card .form-links{
  margin-top:.8rem;
}
.is-users-login .auth-login-card .passkey-login,
.is-users-login .auth-login-card .webauthn-login,
.is-users-login .auth-login-card [class*="passkey"] .btn{
  border-radius:999px;
}
footer{
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.55);
}
@media (max-width:991.98px){
  :root{
    --anchor-offset: 88px;
  }
  .nav-blur > .container{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    row-gap:.4rem;
  }
  .nav-blur > .container > .navbar-brand{
    grid-column:1;
    min-width:0;
    max-width:100%;
    margin-right:.5rem;
  }
  .nav-blur > .container > .navbar-toggler{
    grid-column:2;
    margin-left:.15rem;
  }
  .nav-blur > .container > .navbar-collapse{
    grid-column:1 / -1;
  }
  .ptn-nav-actions{
    margin-top:.6rem;
  }
  .template-menu .mod-menu,
  .template-menu ul{
    flex-direction:column;
    align-items:flex-start;
  }
  .modal-image{
    max-width:100%;
    max-height:86vh;
  }
  .template-footer-menu .mod-menu,
  .template-footer-menu ul{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .member-menu .mod-menu,
  .member-menu ul{
    gap:.35rem;
  }
  .auth-layout{
    grid-template-columns:1fr;
  }
  .component-surface-article{
    padding:1.05rem .95rem;
  }
  .template-component .component-surface-white,
  .template-component.component-page-white .component-surface-generic{
    padding:1.05rem .95rem;
  }
  .member-menu a{
    padding:.42rem .68rem;
    font-size:.92rem;
  }
  .has-theme-toggle .ptn-brand-shift{
    margin-left:.4rem;
  }
  .ptn-brand-pill{
    max-width:40vw;
    font-size:11.5px;
    padding:.28rem .55rem;
    margin-left:var(--axpia-brand-pill-offset-mobile, -2px);
  }
  .brand-logo{
    height:var(--axpia-brand-logo-height-mobile, 36px);
  }
}
@media (max-width:575.98px){
  .ptn-brand-pill{
    display:none;
  }
}
