.srs-portal-shell{
  --ff: Inter,system-ui,"Segoe UI",Roboto,Arial,sans-serif;

  --ink:#0f172a;
  --muted:#475569;
  --link:#2563eb;

  --bdr: rgba(148,163,184,.28);
  --bdr-strong: rgba(148,163,184,.42);

  --blue:#2563eb;
  --violet:#7c3aed;

  position:relative;
  isolation:isolate;
  overflow:hidden;
  overflow-x:clip;

  font-family:var(--ff);
  color:var(--ink);

  padding:clamp(40px, 6vw, 80px) clamp(14px, 2.8vw, 26px);
  background:linear-gradient(180deg,#f6fbff 0%, #ffffff 100%);
}

.srs-portal-shell::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(900px 520px at 10% 8%, rgba(37,99,235,.22) 0, transparent 58%),
    radial-gradient(880px 500px at 92% 10%, rgba(124,58,237,.18) 0, transparent 62%),
    radial-gradient(760px 420px at 16% 92%, rgba(16,185,129,.12) 0, transparent 60%),
    radial-gradient(900px 520px at 55% 55%, rgba(251,146,60,.10) 0, transparent 64%),
    linear-gradient(120deg, rgba(124,58,237,.06) 0%, rgba(236,72,153,.05) 40%, rgba(245,158,11,.06) 75%, rgba(16,185,129,.06) 100%);
  filter:saturate(118%);
}

.srs-portal-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(2,6,23,.06) 0, transparent 62%),
    radial-gradient(1200px 600px at 50% 115%, rgba(2,6,23,.05) 0, transparent 64%);
  opacity:.95;
}

/* Scoped reset */
.srs-portal-shell,
.srs-portal-shell *{ box-sizing:border-box; }

.srs-portal-shell :where(h1,h2,h3,p,div,section,article,span,form,label,input,select,textarea,button,a){
  min-width:0;
}

.srs-portal-shell :where(a,dd){
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

.srs-portal-shell__wrap{
  max-width:1200px;
  margin:0 auto;
}

/* Panel (clean) */
.srs-portal-shell__panel{
  position:relative;
  border:1px solid var(--bdr);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.70));
  backdrop-filter:saturate(150%) blur(10px);
  box-shadow:none;
  overflow:hidden;
}

.srs-portal-shell__head{
  padding:clamp(16px, 2.2vw, 22px);
  border-bottom:1px solid rgba(148,163,184,.20);
  background:
    radial-gradient(980px 440px at -14% -18%, rgba(37,99,235,.16) 0, transparent 58%),
    radial-gradient(880px 420px at 114% -12%, rgba(124,58,237,.12) 0, transparent 60%),
    linear-gradient(120deg, rgba(230,243,255,.80) 0%, rgba(239,231,255,.72) 55%, rgba(254,246,231,.72) 100%);
}

.srs-portal-shell__title{
  margin:0;
  font:950 clamp(20px, 4vw, 34px)/1.12 var(--ff);
  letter-spacing:-.01em;
}

.srs-portal-shell__lead{
  margin:6px 0 0;
  color:var(--muted);
  font:600 13px/1.55 var(--ff);
  max-width:78ch;
}

.srs-portal-shell__body{
  padding:clamp(16px, 2.4vw, 26px);
}

/* Shortcode area: centered BOX, left-aligned inside */
.srs-portal-shell__rail{
  width:100%;
  max-width:820px;
  margin:0 auto;
  text-align:left;

  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  padding:clamp(16px, 2.2vw, 22px);

  background:
    radial-gradient(900px 420px at 20% -10%, rgba(37,99,235,.10) 0, transparent 62%),
    radial-gradient(900px 420px at 90% 0%, rgba(124,58,237,.08) 0, transparent 64%),
    rgba(255,255,255,.78);
}

/* Keep plugin intro lines left */
.srs-portal-shell__rail :where(p, .description, .message, .notice){
  text-align:left;
  margin:10px 0;
  color:var(--ink);
}

/* Keep form left and consistent */
.srs-portal-shell__rail :where(form){
  width:100%;
  max-width:100%;
  margin:0;
  text-align:left;
}

/* Labels */
.srs-portal-shell__rail :where(label){
  font-weight:800;
  color:var(--ink);
}

/* Generic fields (scoped) */
.srs-portal-shell__rail :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
  select,
  textarea
){
  width:100%;
  max-width:100%;
  font-family:var(--ff);
  color:var(--ink);

  background:rgba(255,255,255,.92);
  border:1px solid var(--bdr);
  border-radius:10px;
  padding:12px 12px;

  outline:none;
  box-shadow:none;
}

.srs-portal-shell__rail :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
  select,
  textarea
):focus{
  background:rgba(255,255,255,.92);
  border-color:var(--bdr-strong);
  box-shadow:none;
  outline:none;
}

.srs-portal-shell__rail :where(textarea){
  min-height:120px;
  resize:vertical;
}

/* Checkbox/radio: aligned and clean */
.srs-portal-shell__rail :where(input[type="checkbox"], input[type="radio"]){
  width:auto;
  height:auto;
  padding:0;
  box-shadow:none;
  margin:0 10px 0 0;
  vertical-align:middle;
  accent-color: var(--blue);
}

.srs-portal-shell__rail :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])){
  display:inline-flex;
  align-items:center;
  gap:8px;
}

/* Button: full width, no shadow, no pressed effect */
.srs-portal-shell__rail :where(button, input[type="submit"], .button, a.button){
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:100%;
  max-width:100%;

  font-family:var(--ff);
  font-weight:950;
  font-size:13px;
  line-height:1;

  padding:12px 16px;
  border-radius:10px;
  border:1px solid rgba(2,6,23,.08);

  color:#fff;
  background:linear-gradient(90deg, var(--blue), var(--violet));

  box-shadow:none;
  cursor:pointer;
  text-decoration:none;
  user-select:none;
}

.srs-portal-shell__rail :where(button, input[type="submit"], .button, a.button):focus,
.srs-portal-shell__rail :where(button, input[type="submit"], .button, a.button):focus-visible{
  outline:none;
  box-shadow:none;
}

.srs-portal-shell__rail :where(button, input[type="submit"], .button, a.button):active{
  transform:none;
  filter:none;
}

/* Links */
.srs-portal-shell__rail :where(a){
  color:var(--link);
  text-decoration:underline;
  text-underline-offset:2px;
}

.srs-portal-shell__rail :where(a:hover){
  text-decoration-thickness:2px;
}

/* ✅ Fluent Support (login) inputs override INSIDE our box only
   Fixes rules like: .fst_login_wrapper form#loginform .input { border-color:#000 } */
.srs-portal-shell__rail .fst_login_wrapper form#loginform .input,
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="text"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="email"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="url"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="password"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="search"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="tel"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform input[type="number"],
.srs-portal-shell__rail .fst_login_wrapper form#loginform textarea,
.srs-portal-shell__rail .fst_login_wrapper form#loginform select{
  margin-top:10px;
  padding:12px;
  width:100%;
  max-width:100%;

  background:#ffffff;
  border:1px solid var(--bdr);
  border-radius:10px;

  color:var(--ink);
  box-shadow:none;
  outline:none;
}

.srs-portal-shell__rail .fst_login_wrapper form#loginform .input:focus,
.srs-portal-shell__rail .fst_login_wrapper form#loginform input:focus,
.srs-portal-shell__rail .fst_login_wrapper form#loginform textarea:focus,
.srs-portal-shell__rail .fst_login_wrapper form#loginform select:focus{
  background:#ffffff;
  border-color:var(--bdr-strong);
  box-shadow:none;
  outline:none;
}

/* Mobile */
@media (max-width:640px){
  .srs-portal-shell{ padding:34px 14px; }
  .srs-portal-shell__rail{
    max-width:100%;
    padding:16px;
    border-radius:16px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .srs-portal-shell *{
    animation:none;
    transition:none;
    scroll-behavior:auto;
  }
}