/* Figma 08: account authentication. All rules are limited to this component. */
.fs-auth { width:100%; max-width:1312px; padding:32px 16px 0; margin:0 auto; color:#1b2839; }
.fs-auth + footer.fs-footer { margin-top:32px; }
.fs-auth *,.fs-auth *::before,.fs-auth *::after { box-sizing:border-box; }
.fs-auth [hidden] { display:none!important; }
.fs-auth a { color:#2d5fa8; text-decoration:none; text-underline-offset:4px; transition:color .2s,text-decoration-color .2s; }
.fs-auth a:hover { color:#244e89; text-decoration:underline; }
.fs-auth a:focus-visible,.fs-auth button:focus-visible { outline:2px solid #2d5fa8; outline-offset:3px; }
.fs-auth__breadcrumbs { margin-bottom:28px; font-size:12px; color:#657285; }
.fs-auth__breadcrumbs ol { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; gap:8px; }
.fs-auth__breadcrumbs li { display:flex; gap:8px; }
.fs-auth__breadcrumbs li + li::before { content:'/'; }
.fs-auth__breadcrumbs a { color:#657285; }
.fs-auth__page-layout { display:grid; gap:24px; grid-template-columns:minmax(0,1fr); }
.fs-auth__page-layout--left { grid-template-columns:220px minmax(0,1fr); }
.fs-auth__page-layout--right { grid-template-columns:minmax(0,1fr) 220px; }
.fs-auth__page-layout--left.fs-auth__page-layout--right { grid-template-columns:180px minmax(0,1fr) 180px; }
.fs-auth__page-layout > #column-left,.fs-auth__page-layout > #column-right { float:none; width:100%; padding:0; }
.fs-auth__page-layout > aside .list-group {padding:16px;background:#fff;border-radius:20px;margin:0;}
.fs-auth__page-layout > aside .list-group-item {display:flex;align-items:center;min-height:48px;padding:12px;border:0;border-radius:10px;color:#2d5fa8;background:transparent;font-size:14px;line-height:1.6;}
.fs-auth__page-layout > aside .list-group-item:hover {background:#eef3f9;}
.fs-auth .fs-auth__content { min-width:0; padding:0; }
.fs-auth .fs-auth__heading { margin:0 0 24px; background:transparent; color:#1b2839; }
.fs-auth__heading h1 { margin:0; color:#1b2839; font-size:32px; line-height:1.3; font-weight:600; letter-spacing:-.5px; }
.fs-auth__heading p { margin:24px 0 0; font-size:14px; line-height:1.65; color:#657285; }
.fs-auth__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); gap:24px; align-items:start; }
.fs-auth__pitch { border-radius:20px; background:#eef3f9; padding:24px; min-width:0; }
.fs-auth__pitch h2 { margin:0; font-size:30px; line-height:1.3; font-weight:600; letter-spacing:-.35px; }
.fs-auth__pitch p { margin:18px 0; color:#657285; font-size:14px; line-height:1.65; }
.fs-auth__pitch ul { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.fs-auth__pitch li { color:#2d5fa8; font-size:14px; font-weight:600; line-height:1.6; display:flex; gap:10px; }
.fs-auth__pitch li::before { content:'✓'; }
.fs-auth__card { background:#fff; border-radius:20px; padding:24px; min-width:0; }
.fs-auth__tabs { display:grid; grid-template-columns:180px 180px; gap:16px; margin:0 0 16px; }
.fs-auth__tabs a { display:flex; align-items:center; justify-content:center; min-height:44px; border-radius:14px; font-size:14px; font-weight:600; transition:background .2s,color .2s; }
.fs-auth__tabs a:hover { background:#eef3f9; text-decoration:none; }
.fs-auth__tabs a[aria-current] { color:#fff; background:#2d5fa8; }
.fs-auth__form { margin:0; }
.fs-auth__field { min-width:0; margin:0 0 16px; }
.fs-auth__field > label { display:block; color:#1b2839; margin:0 0 8px; font-size:12px; font-weight:400; line-height:1.5; }
.fs-auth__field > input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=file]),.fs-auth__field > select,.fs-auth__field > textarea,.fs-auth__field .input-group > input { display:block; width:100%; min-width:0; height:48px; border:1px solid #d8e2ef; border-radius:14px; background:#fff; box-shadow:none; color:#1b2839; font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; padding:10px 12px; transition:border-color .2s,box-shadow .2s; }
.fs-auth__field input::placeholder,.fs-auth__field textarea::placeholder { color:#7d8ba0; opacity:1; }
.fs-auth__field textarea { height:auto; min-height:96px; resize:vertical; }
.fs-auth__field input:focus,.fs-auth__field select:focus,.fs-auth__field textarea:focus { outline:none; border-color:#2d5fa8; box-shadow:0 0 0 3px #2d5fa814; }
.fs-auth__field--error input,.fs-auth__field--error select,.fs-auth__field--error textarea { border-color:#c44242!important; }
.fs-auth__field input[aria-invalid="true"] { border-color:#c44242; }
.fs-auth__error { font-size:12px; color:#bb3434; margin:6px 0 0; line-height:1.5; overflow-wrap:anywhere; }
.fs-auth__secondary { display:flex; align-items:center; justify-content:center; min-height:44px; margin:16px 0; font-size:14px; font-weight:600; }
.fs-auth__submit { display:flex; justify-content:center; align-items:center; width:100%; min-height:52px; padding:12px 16px; margin-top:16px; border:0; border-radius:14px; background:#2d5fa8; color:#fff; font-family:inherit; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .22s,box-shadow .22s; }
.fs-auth__submit:hover { background:#244e89; box-shadow:0 4px 12px #2d5fa81a; }
.fs-auth__submit:active { background:#1f4478; }
.fs-auth__submit:disabled { opacity:.6; cursor:wait; }
.fs-auth__lead { margin:0 0 16px; color:#657285; font-size:14px; line-height:1.65; }
.fs-auth__notice { margin:0 0 20px; padding:16px; border-radius:16px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.fs-auth__notice--error { background:#fbf1dd; color:#876939; }
.fs-auth__notice--success { background:#eaf5ee; color:#387d51; }
.fs-auth__form fieldset { min-width:0; padding:0; margin:0; border:0; }
.fs-auth__form fieldset + fieldset { margin-top:4px; }
.fs-auth__form legend { float:none; width:auto; padding:0; margin:0 0 16px; font-size:22px; font-weight:600; line-height:1.4; letter-spacing:-.25px; }
.fs-auth__field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
.fs-auth__custom-field { grid-column:1 / -1; }
.fs-auth__check { display:flex; align-items:flex-start; gap:12px; min-height:44px; padding:10px 0; margin:8px 0; font-size:14px; line-height:1.7; cursor:pointer; }
.fs-auth__check input { flex-shrink:0; width:20px; height:20px; margin:2px 0 0; accent-color:#2d5fa8; }
.fs-auth__check span { min-width:0; overflow-wrap:anywhere; }
.fs-auth__check .agree b { font-weight:500; }
.fs-auth__custom-options { display:grid; gap:4px; }
.fs-auth__custom-options .fs-auth__check { margin:0; padding:8px 0; }
.fs-auth__field.required > label::after { content:' *'; }
.fs-auth__upload-button,.fs-auth__field .input-group button { background:#eef3f9; color:#2d5fa8; border:1px solid #d8e2ef; border-radius:10px; min-height:44px; padding:8px 12px; font:inherit; cursor:pointer; }
.fs-auth__field .input-group { display:flex; flex-wrap:nowrap; }
.fs-auth__field .input-group > input { border-radius:14px 0 0 14px; }
.fs-auth__field .input-group button { border-radius:0 14px 14px 0; height:48px; }
.fs-auth__captcha { min-width:0; overflow-wrap:anywhere; }
.fs-auth__captcha img { max-width:100%; }
.fs-auth .fs-auth__success-icon,.fs-auth .fs-auth__success-title { display:none; }
.fs-auth__success-message { color:#167653; background:#e8f3ed; padding:16px; border-radius:16px; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.fs-auth__success-message p { margin:0 0 12px; }
.fs-auth__success-message p:last-child { margin:0; }
.fs-auth--success .fs-auth__submit { max-width:260px; min-height:48px; text-decoration:none; }
.fs-auth--success a.fs-auth__submit { color:#fff; }
@media(max-width:991px) {
  .fs-auth__layout { grid-template-columns:minmax(0,1fr); }
  .fs-auth__pitch { display:none; }
  .fs-auth__page-layout--left,.fs-auth__page-layout--right,.fs-auth__page-layout--left.fs-auth__page-layout--right { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:767px) {
  .fs-auth { padding-top:32px; }
  .fs-auth__breadcrumbs { margin-bottom:28px; }
  .fs-auth__heading h1 { font-size:28px; }
  .fs-auth__heading { margin-bottom:24px; }
  .fs-auth__heading p { margin-top:24px; }
  .fs-auth__card { padding:16px; }
  .fs-auth__tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .fs-auth__field-grid { grid-template-columns:minmax(0,1fr); }
  .fs-auth__form legend { font-size:22px; }
  .fs-auth__secondary { margin:20px 0 0; }
  .fs-auth__form .fs-auth__secondary + .fs-auth__submit { margin-top:20px; }
  .fs-auth--success .fs-auth__heading p { display:none; }
  .fs-auth--success .fs-auth__card { padding:40px 16px; text-align:center; }
  .fs-auth--success .fs-auth__success-icon { display:block; margin:8px auto 20px; }
  .fs-auth--success .fs-auth__success-title { display:block; margin:0 0 16px; font-size:22px; font-weight:600; line-height:1.4; }
  .fs-auth--success .fs-auth__success-message { background:transparent; color:#657285; padding:0; }
  .fs-auth--success .fs-auth__submit { margin:24px auto 8px; width:100%; max-width:240px; }
}
@media(prefers-reduced-motion:reduce) { .fs-auth a,.fs-auth button,.fs-auth input,.fs-auth select,.fs-auth textarea { transition:none; } }
