:root{
  --portal-primary:#173659;
  --portal-primary-soft:#2a5a8f;
  --portal-accent:#0f8b8d;
  --portal-accent-soft:#24b39d;
  --portal-bg:#e7eef4;
  --portal-surface:#ffffff;
  --portal-border:rgba(23, 54, 89, .12);
  --portal-text:#1f2937;
  --portal-muted:#5f6f82;
  --portal-shadow:0 14px 28px rgba(15, 23, 42, .07);
  --portal-shadow-strong:0 18px 34px rgba(15, 23, 42, .11);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;
  font-family:system-ui, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(36, 179, 157, .12), transparent 28%),
    linear-gradient(135deg, #f7fafc 0%, var(--portal-bg) 100%);
  color:var(--portal-text);
}

.portal-faq-topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(255, 255, 255, .88);
  border-bottom:1px solid rgba(255, 255, 255, .6);
  box-shadow:0 12px 24px rgba(15, 23, 42, .06);
}

.portal-faq-topbar-inner{
  max-width:1180px;
  margin:0 auto;
  padding:.78rem 1rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.9rem;
}

.portal-faq-topbar-left{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:.5rem;
}

.portal-faq-topbar-center{
  justify-self:center;
}

.portal-faq-topbar-right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:.55rem;
}

.portal-faq-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:999px;
  background:rgba(255, 255, 255, .95);
  border:1px solid var(--portal-border);
  color:var(--portal-text);
  text-decoration:none;
  box-shadow:0 8px 16px rgba(15, 23, 42, .05);
}

.portal-faq-home-link:hover{
  color:var(--portal-primary);
  border-color:rgba(23, 54, 89, .22);
  background:#fff;
}

.portal-faq-home-link i{
  font-size:1rem;
}

.portal-faq-logo-sigma{
  height:48px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(15, 23, 42, .08));
}

.portal-faq-logo-row{
  display:flex;
  align-items:center;
  gap:.5rem;
}

.portal-faq-logo-mini{
  height:34px;
  width:auto;
  object-fit:contain;
  opacity:.92;
  filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .06));
}

.portal-lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:.12rem;
  padding:.18rem;
  border-radius:999px;
  border:1px solid rgba(23, 54, 89, .12);
  background:rgba(255, 255, 255, .92);
  box-shadow:0 6px 14px rgba(15, 23, 42, .05);
}

.portal-lang-pill{
  border:0;
  background:transparent;
  color:#475569;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2rem;
  padding:.26rem .46rem;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
}

.portal-lang-pill:hover{
  background:rgba(15, 23, 42, .08);
  color:#0f172a;
}

.portal-lang-pill.is-active{
  background:#0f172a;
  color:#fff;
  box-shadow:0 6px 14px rgba(15, 23, 42, .22);
}

.portal-lang-code{
  font-size:.7rem;
  letter-spacing:.12em;
}

.portal-lang-name{
  display:none;
}

.portal-faq-page{
  max-width:1180px;
  margin:0 auto;
  padding:1rem 1rem 2rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.portal-faq-hero,
.portal-faq-shortcuts,
.portal-faq-block,
.portal-faq-sidecard{
  border:1px solid var(--portal-border);
  border-radius:1.18rem;
  box-shadow:var(--portal-shadow);
}

.portal-faq-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.75fr) minmax(260px, .9fr);
  gap:.9rem;
  padding:1.12rem 1.15rem;
  color:#fff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .08), transparent 30%),
    linear-gradient(135deg, rgba(23, 54, 89, .98) 0%, rgba(28, 84, 122, .95) 100%);
}

.portal-faq-kicker{
  margin:0 0 .3rem;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.portal-faq-hero .portal-faq-kicker{
  color:rgba(255, 255, 255, .72);
}

.portal-faq-hero h1{
  margin:0;
  max-width:15ch;
  font-size:clamp(1.6rem, 1.6vw + 1rem, 2.2rem);
  line-height:1.1;
  font-weight:900;
}

.portal-faq-lead{
  max-width:60ch;
  margin:.7rem 0 .8rem;
  color:rgba(255, 255, 255, .86);
  font-size:.95rem;
}

.portal-faq-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
}

.portal-faq-chip{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.34rem .6rem;
  border-radius:999px;
  border:1px solid rgba(255, 255, 255, .12);
  background:rgba(255, 255, 255, .08);
  font-size:.76rem;
  font-weight:700;
}

.portal-faq-hero-panel{
  padding:.92rem .95rem;
  border-radius:.98rem;
  background:rgba(255, 255, 255, .08);
  border:1px solid rgba(255, 255, 255, .12);
  backdrop-filter:blur(10px);
}

.portal-faq-hero-panel h2{
  margin:0 0 .7rem;
  font-size:.96rem;
  font-weight:850;
}

.portal-faq-hero-panel ul{
  margin:0;
  padding-left:1.1rem;
  color:rgba(255, 255, 255, .86);
}

.portal-faq-hero-panel li + li{
  margin-top:.65rem;
}

.portal-faq-shortcuts,
.portal-faq-block,
.portal-faq-sidecard{
  background:linear-gradient(180deg, rgba(255, 255, 255, .99) 0%, rgba(247, 250, 252, .98) 100%);
}

.portal-faq-shortcuts,
.portal-faq-block{
  padding:1rem 1.05rem 1.08rem;
}

.portal-faq-section-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.7rem;
  margin-bottom:.82rem;
}

.portal-faq-section-header .portal-faq-kicker{
  color:#31598a;
}

.portal-faq-section-header h2{
  margin:0;
  font-size:1.08rem;
  font-weight:900;
  color:var(--portal-text);
}

.portal-faq-shortcuts-grid,
.portal-faq-role-grid{
  display:grid;
  gap:.85rem;
}

.portal-faq-shortcuts-grid{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.portal-faq-shortcut{
  display:flex;
  flex-direction:column;
  gap:.48rem;
  min-height:154px;
  padding:.9rem;
  border-radius:.95rem;
  border:1px solid rgba(23, 54, 89, .1);
  background:linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  color:var(--portal-text);
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15, 23, 42, .05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portal-faq-shortcut:hover{
  transform:translateY(-2px);
  box-shadow:var(--portal-shadow-strong);
  border-color:rgba(23, 54, 89, .2);
}

.portal-faq-shortcut i{
  width:2.35rem;
  height:2.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.78rem;
  background:rgba(23, 54, 89, .08);
  color:var(--portal-primary);
  font-size:1rem;
}

.portal-faq-shortcut strong{
  font-size:.95rem;
  font-weight:850;
}

.portal-faq-shortcut span{
  color:var(--portal-muted);
  font-size:.86rem;
}

.portal-faq-shortcut--primary{
  color:#fff;
  background:
    radial-gradient(circle at top right, rgba(36, 179, 157, .18), transparent 36%),
    linear-gradient(135deg, rgba(23, 54, 89, .98) 0%, rgba(15, 139, 141, .95) 100%);
  border-color:rgba(15, 139, 141, .24);
}

.portal-faq-shortcut--primary i{
  background:rgba(255, 255, 255, .14);
  color:#fff;
}

.portal-faq-shortcut--primary span{
  color:rgba(255, 255, 255, .82);
}

.portal-faq-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.7fr) minmax(260px, .92fr);
  gap:.9rem;
}

.portal-faq-main,
.portal-faq-side{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.portal-faq-role-grid{
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
}

.portal-faq-role-card{
  padding:.9rem;
  border-radius:.95rem;
  border:1px solid rgba(23, 54, 89, .1);
  background:linear-gradient(180deg, #f7fafc 0%, #ffffff 100%);
}

.portal-faq-role-icon{
  width:2.35rem;
  height:2.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.78rem;
  background:linear-gradient(135deg, rgba(23, 54, 89, .11), rgba(36, 179, 157, .16));
  color:var(--portal-primary);
  font-size:1rem;
}

.portal-faq-role-card h3{
  margin:.7rem 0 .3rem;
  font-size:.94rem;
  font-weight:850;
}

.portal-faq-role-card p{
  margin:0;
  color:var(--portal-muted);
  font-size:.86rem;
}

.portal-faq-item{
  border:1px solid rgba(23, 54, 89, .1);
  border-radius:.92rem;
  background:#fff;
  box-shadow:0 8px 16px rgba(15, 23, 42, .04);
}

.portal-faq-item + .portal-faq-item{
  margin-top:.8rem;
}

.portal-faq-item summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:.92rem 2.8rem .92rem .95rem;
  font-size:.93rem;
  font-weight:850;
  color:var(--portal-text);
}

.portal-faq-item summary::-webkit-details-marker{
  display:none;
}

.portal-faq-item summary::after{
  content:"+";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  width:1.7rem;
  height:1.7rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(23, 54, 89, .08);
  color:var(--portal-primary);
  font-size:1.08rem;
  font-weight:800;
}

.portal-faq-item[open] summary{
  border-bottom:1px solid rgba(23, 54, 89, .1);
}

.portal-faq-item[open] summary::after{
  content:"-";
}

.portal-faq-answer{
  padding:.92rem .95rem;
}

.portal-faq-answer p{
  margin:0;
  color:var(--portal-muted);
  font-size:.88rem;
}

.portal-faq-answer p + p{
  margin-top:.62rem;
}

.portal-faq-inline-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--portal-primary);
  font-weight:800;
  text-decoration:none;
}

.portal-faq-inline-link:hover{
  color:#0f2945;
}

.portal-faq-sidecard{
  padding:.92rem .95rem 1rem;
}

.portal-faq-sidecard h2{
  margin:0;
  font-size:.98rem;
  font-weight:850;
}

.portal-faq-sidecard p{
  margin:.55rem 0 0;
  color:var(--portal-muted);
  font-size:.88rem;
}

.portal-faq-sidecard--accent{
  background:
    radial-gradient(circle at top right, rgba(36, 179, 157, .15), transparent 32%),
    linear-gradient(180deg, #eef8f6 0%, #ffffff 100%);
}

.portal-faq-steps{
  margin:.72rem 0 0;
  padding-left:1.12rem;
  color:var(--portal-muted);
}

.portal-faq-steps li + li{
  margin-top:.55rem;
}

.portal-faq-linklist{
  display:flex;
  flex-direction:column;
  gap:.78rem;
  margin-top:.85rem;
}

@media (max-width: 1100px){
  .portal-faq-hero,
  .portal-faq-grid{
    grid-template-columns:1fr;
  }

  .portal-faq-hero h1{
    max-width:none;
  }
}

@media (max-width: 920px){
  .portal-faq-topbar-inner{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .portal-faq-topbar-left,
  .portal-faq-topbar-center,
  .portal-faq-topbar-right{
    justify-self:center;
  }

  .portal-faq-topbar-right{
    flex-direction:row;
  }
}

@media (max-width: 760px){
  .portal-faq-page{
    padding:.9rem .85rem 1.75rem;
    gap:1rem;
  }

  .portal-faq-hero,
  .portal-faq-shortcuts,
  .portal-faq-block,
  .portal-faq-sidecard{
    border-radius:1.08rem;
  }

  .portal-faq-hero,
  .portal-faq-shortcuts,
  .portal-faq-block,
  .portal-faq-sidecard{
    padding:1rem;
  }

  .portal-faq-shortcuts-grid,
  .portal-faq-role-grid{
    grid-template-columns:1fr;
  }

  .portal-faq-shortcut{
    min-height:auto;
  }

  .portal-faq-chip{
    width:100%;
    justify-content:center;
  }

  .portal-lang-pill{
    min-width:1.85rem;
    padding:.24rem .42rem;
  }

  .portal-faq-logo-sigma{
    height:38px;
  }

  .portal-faq-logo-mini{
    height:28px;
  }
}
