:root {
  color-scheme: light;
  font-family: Inter, Pretendard, "Noto Sans KR", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #17253b;
  background: #edf2f7;
  font-synthesis: none;
  --navy-950: #0a1728;
  --navy-900: #10243f;
  --navy-800: #183759;
  --blue-600: #315bea;
  --blue-500: #4a73f0;
  --green-100: #e5f6ef;
  --ink-900: #17253b;
  --ink-700: #465870;
  --ink-500: #718095;
  --line: #dce4ed;
  --surface: #ffffff;
  --surface-soft: #f6f8fb;
  --shadow: 0 24px 60px rgba(20, 37, 61, .11);
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  background: #edf2f7;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 78% -10%, rgba(74, 115, 240, .14), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(24, 55, 89, .07), transparent 30%),
    #edf2f7;
}

button,
input,
select {
  font: inherit;
}

button,
select {
  cursor: pointer;
}

button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(74, 115, 240, .22);
  outline-offset: 2px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.auth-pending {
  display: grid;
  min-height: 100vh;
  place-content: center;
  justify-items: center;
  gap: 13px;
  color: var(--ink-500);
  font-size: 13px;
}

.auth-pending strong {
  color: var(--navy-900);
  font-size: 14px;
  letter-spacing: .13em;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--navy-900);
  text-decoration: none;
}

.brand-copy {
  display: grid;
  line-height: 1;
}

.brand-copy strong {
  font-size: 15px;
  letter-spacing: .14em;
}

.brand-copy small {
  margin-top: 5px;
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .28em;
}

.language-picker {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 0 9px 0 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink-500);
  background: rgba(255, 255, 255, .96);
}

.language-picker:focus-within {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(74, 115, 240, .12);
}

.language-picker select {
  border: 0;
  outline: 0;
  color: var(--ink-900);
  background: transparent;
  font-size: 13px;
  font-weight: 750;
}

.login-view {
  width: min(1180px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 32px 42px;
}

.login-header {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
}

.login-stage {
  display: grid;
  min-height: calc(100vh - 128px);
  place-items: center;
  padding: 34px 0 58px;
}

.signin-card {
  width: min(100%, 480px);
  padding: 38px;
  border: 1px solid rgba(220, 228, 237, .96);
  border-radius: 26px;
  background: rgba(255, 255, 255, .97);
  box-shadow: var(--shadow);
}

.signin-heading {
  display: flex;
  align-items: center;
  gap: 14px;
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.signin-heading h1 {
  margin: 0;
  color: var(--navy-950);
  font-size: 25px;
  letter-spacing: -.035em;
}

.signin-copy {
  margin: 22px 0 25px;
  color: var(--ink-500);
  font-size: 14px;
  line-height: 1.7;
}

#signin-form {
  display: grid;
}

#signin-form label {
  margin: 0 0 8px;
  color: var(--ink-700);
  font-size: 12px;
  font-weight: 800;
}

#signin-form label:not(:first-child) {
  margin-top: 17px;
}

.input-shell {
  display: flex;
  height: 49px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: #8b98a9;
  background: var(--surface-soft);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.input-shell:focus-within {
  border-color: var(--blue-500);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(74, 115, 240, .11);
}

.input-shell input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--ink-900);
  background: transparent;
  font-size: 14px;
}

.input-shell input::placeholder {
  color: #9ba7b7;
}

#signin-button {
  width: 100%;
  min-height: 49px;
  margin-top: 23px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(110deg, var(--navy-900), var(--navy-800));
  box-shadow: 0 9px 20px rgba(16, 36, 63, .17);
  font-size: 13px;
  font-weight: 850;
}

#signin-button:disabled {
  color: #7f8c9d;
  background: #e6ebf1;
  box-shadow: none;
  cursor: not-allowed;
}

.auth-status {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 17px;
  padding: 12px 13px;
  border: 1px solid #e1e7ee;
  border-radius: 11px;
  background: #f8fafc;
}

.auth-status > span {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  margin-top: 5px;
  border-radius: 50%;
  background: #8d9bad;
}

.auth-status p,
.account-help p {
  margin: 0;
  color: var(--ink-500);
  font-size: 11px;
  line-height: 1.55;
}

.account-help {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6ebf0;
}

.account-help strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink-700);
  font-size: 12px;
}

.portal-app {
  width: min(1560px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  background: rgba(255, 255, 255, .56);
  box-shadow: 0 0 70px rgba(16, 36, 63, .06);
}

.portal-topbar {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  height: 76px;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid rgba(220, 228, 237, .95);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px);
}

.portal-actions {
  display: flex;
  align-items: center;
  gap: 11px;
}

.user-summary {
  display: grid;
  padding-right: 5px;
  text-align: right;
}

.user-summary strong {
  max-width: 230px;
  overflow: hidden;
  color: var(--ink-700);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-summary span {
  margin-top: 3px;
  color: var(--ink-500);
  font-size: 10px;
}

.logout-button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink-700);
  background: #fff;
  font-size: 12px;
  font-weight: 800;
}

.logout-button:hover {
  border-color: #bec9d5;
  color: var(--navy-900);
}

.portal-grid {
  display: grid;
  min-height: calc(100vh - 76px);
  grid-template-columns: 260px minmax(0, 1fr);
}

.sidebar {
  display: flex;
  flex-direction: column;
  padding: 27px 19px 23px;
  border-right: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(247, 249, 252, .92));
}

.organization-card {
  display: grid;
  gap: 6px;
  margin-bottom: 23px;
  padding: 16px;
  border: 1px solid #dbe4ee;
  border-radius: 14px;
  background: #fff;
}

.organization-card .eyebrow {
  margin-bottom: 1px;
}

.organization-card > strong {
  overflow: hidden;
  color: var(--navy-900);
  font-size: 14px;
  text-overflow: ellipsis;
}

.organization-card > span {
  color: var(--ink-500);
  font-size: 11px;
}

.organization-card b {
  margin-right: 4px;
  color: var(--ink-700);
}

.primary-nav {
  display: grid;
  gap: 5px;
}

.nav-item {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 47px;
  align-items: center;
  gap: 12px;
  padding: 0 13px;
  border: 0;
  border-radius: 11px;
  color: #53657a;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}

.nav-item:hover {
  color: var(--navy-900);
  background: #eef3f9;
}

.nav-item.is-active {
  color: #fff;
  background: linear-gradient(110deg, var(--navy-900), var(--navy-800));
  box-shadow: 0 8px 18px rgba(16, 36, 63, .16);
}

.nav-symbol {
  display: grid;
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: inherit;
  background: rgba(125, 156, 255, .10);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: -.02em;
}

.nav-item.is-active .nav-symbol {
  background: rgba(255, 255, 255, .12);
}

.sidebar-policy {
  margin-top: auto;
  padding: 16px;
  border: 1px solid #dbe7ff;
  border-radius: 14px;
  background: #f3f6ff;
}

.sidebar-policy strong {
  color: var(--navy-900);
  font-size: 12px;
}

.sidebar-policy p {
  margin: 6px 0 0;
  color: var(--ink-500);
  font-size: 11px;
  line-height: 1.55;
}

.main-content {
  min-width: 0;
  padding: 43px clamp(24px, 4.2vw, 68px) 58px;
}

.content-column {
  width: min(100%, 1000px);
  margin: 0 auto;
}

.page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
}

.page-heading h1 {
  margin: 0;
  color: var(--navy-950);
  font-size: clamp(30px, 3vw, 40px);
  letter-spacing: -.045em;
  line-height: 1.14;
}

.page-heading > div > p:last-child {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--ink-500);
  font-size: 15px;
  line-height: 1.65;
}

.version-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #d9e2ec;
  border-radius: 8px;
  color: var(--ink-500);
  background: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
}

.empty-state {
  position: relative;
  display: flex;
  min-height: 455px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 52px 30px;
  border: 1px solid var(--line);
  border-radius: 23px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 18%, rgba(74, 115, 240, .09), transparent 33%),
    var(--surface);
  box-shadow: var(--shadow);
}

.empty-art {
  display: grid;
  width: 76px;
  height: 76px;
  margin-bottom: 23px;
  place-items: center;
  border: 1px solid #dbe5ff;
  border-radius: 24px;
  color: var(--blue-600);
  background: linear-gradient(145deg, #fff, #edf2ff);
  box-shadow: 0 13px 30px rgba(49, 91, 234, .13);
  font-size: 19px;
  font-weight: 900;
}

.empty-kicker {
  margin: 0 0 9px;
  color: var(--blue-600);
  font-size: 12px;
  font-weight: 850;
}

.empty-state h2 {
  margin: 0;
  color: var(--navy-950);
  font-size: clamp(22px, 2.3vw, 29px);
  letter-spacing: -.03em;
}

.empty-state > p:not(.empty-kicker) {
  max-width: 570px;
  margin: 14px 0 0;
  color: var(--ink-500);
  font-size: 14px;
  line-height: 1.7;
}

.empty-meta {
  margin-top: 25px;
  padding: 9px 12px;
  border-radius: 999px;
  color: #477061;
  background: var(--green-100);
  font-size: 11px;
  font-weight: 750;
}

@media (max-width: 820px) {
  .login-view {
    padding: 0 20px 30px;
  }

  .login-header {
    min-height: 74px;
  }

  .login-stage {
    min-height: calc(100vh - 104px);
    padding: 24px 0 44px;
  }

  .portal-topbar {
    height: auto;
    min-height: 70px;
    padding: 10px 18px;
  }

  .user-summary {
    display: none;
  }

  .portal-grid {
    display: block;
    min-height: calc(100vh - 70px);
  }

  .sidebar {
    position: sticky;
    z-index: 10;
    top: 70px;
    display: block;
    padding: 10px 16px;
    overflow: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    background: rgba(248, 250, 252, .96);
    backdrop-filter: blur(14px);
  }

  .organization-card,
  .sidebar-policy {
    display: none;
  }

  .primary-nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .primary-nav::-webkit-scrollbar {
    display: none;
  }

  .nav-item {
    width: auto;
    min-width: max-content;
    min-height: 41px;
    padding: 0 12px;
    font-size: 12px;
  }

  .nav-item.is-active {
    box-shadow: none;
  }

  .nav-symbol {
    width: 22px;
    height: 22px;
  }

  .main-content {
    padding: 33px 20px 45px;
  }

  .empty-state {
    min-height: 380px;
  }
}

@media (max-width: 560px) {
  .auth-pending {
    padding: 24px;
  }

  .login-view {
    padding: 0 14px 24px;
  }

  .login-header {
    min-height: 68px;
  }

  .brand {
    gap: 9px;
  }

  .brand-copy strong {
    font-size: 13px;
  }

  .brand-copy small {
    font-size: 9px;
  }

  .language-picker {
    min-height: 39px;
    padding-left: 10px;
  }

  .language-picker > span:not(.visually-hidden) {
    display: none;
  }

  .login-stage {
    min-height: calc(100vh - 92px);
    place-items: start center;
    padding: 22px 0 34px;
  }

  .signin-card {
    padding: 25px 20px;
    border-radius: 20px;
  }

  .signin-heading h1 {
    font-size: 22px;
  }

  .signin-copy {
    margin: 19px 0 22px;
  }

  .portal-topbar {
    padding: 9px 12px;
  }

  .portal-actions {
    gap: 7px;
  }

  .logout-button {
    min-height: 39px;
    padding: 0 10px;
  }

  .sidebar {
    top: 64px;
    padding-inline: 11px;
  }

  .main-content {
    padding: 28px 14px 38px;
  }

  .page-heading {
    margin-bottom: 20px;
  }

  .page-heading h1 {
    font-size: 28px;
  }

  .empty-state {
    min-height: 350px;
    padding: 40px 20px;
    border-radius: 19px;
  }

  .empty-art {
    width: 67px;
    height: 67px;
    border-radius: 21px;
  }

  .empty-state h2 {
    font-size: 21px;
  }

  .empty-meta {
    border-radius: 12px;
    line-height: 1.5;
  }
}

/* WORK_CLIENT_POSTLOGIN_IA_RUNTIME_V1 — authenticated CLIENT shell only */
.portal-app .client-nav-toggle,.portal-app .client-nav-backdrop{display:none}
.portal-app .client-context-nav{display:flex;align-items:center;gap:5px;min-height:46px;margin:-4px 0 17px;padding:5px;border:1px solid #dce5e8;border-radius:12px;background:#fff;overflow-x:auto;scrollbar-width:thin}
.portal-app .client-context-nav button{min-height:34px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:#637482;font:inherit;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.portal-app .client-context-nav button:hover,.portal-app .client-context-nav button.is-active{background:#e9f4f2;color:#0b7169}
.portal-app .account-scope>p:not(.eyebrow){color:#60737f;line-height:1.65}.portal-app .account-scope>strong{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#eaf4f2;color:#0a7169}
@media(max-width:1280px) and (min-width:1025px){.portal-app .portal-topbar{gap:10px;padding-left:17px;padding-right:17px}.portal-app .portal-topbar .nav-item{padding-left:7px;padding-right:7px}.portal-app .portal-actions .language-switcher button{padding-left:6px;padding-right:6px}}
@media(max-width:1024px){
 .portal-app .portal-topbar{grid-template-columns:auto auto minmax(0,1fr);gap:10px;min-height:64px;padding:0 16px}
 .portal-app .client-nav-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d7e2e5;border-radius:9px;background:#fff;color:#123c48;font-size:19px;cursor:pointer}
 .portal-app .portal-topbar .primary-nav{position:fixed;z-index:70;top:0;bottom:0;left:0;display:flex;width:min(320px,84vw);padding:82px 18px 24px;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:5px;background:#fff;box-shadow:18px 0 40px rgba(11,35,48,.2);transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto}
 .portal-app.client-nav-open .portal-topbar .primary-nav{transform:translateX(0)}
 .portal-app .portal-topbar .nav-item{justify-content:flex-start;width:100%;height:46px;padding:0 14px;font-size:13px}
 .portal-app .portal-topbar .nav-symbol{display:inline}
 .portal-app .client-nav-backdrop:not([hidden]){display:block;position:fixed;z-index:60;inset:0;border:0;background:rgba(10,30,40,.42)}
 .portal-app .portal-actions{justify-self:end}.portal-app .portal-actions .language-switcher{display:none}
 .portal-app .content-column{width:calc(100% - 28px)}
}

/* CLIENT V0.2.3 — CLIENT_PRELOGIN_FINAL_CANON_V1 (Figma 306:2100). */
.auth-pending-identity {
  display: grid;
  justify-items: center;
  line-height: 1;
}

.auth-pending-identity small {
  margin-top: 7px;
  color: #0a6c63;
  font-size: 10px;
  font-weight: 800;
}

.login-view {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #17242d;
  background: #eef4f6;
}

.login-header {
  position: relative;
  z-index: 4;
  display: flex;
  width: 100%;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(32px, calc(50% - 673px));
  border: 1px solid #d7e1e6;
  background: #fff;
}

.login-brand {
  display: block;
}

.login-text-identity {
  position: relative;
  display: grid;
  min-width: 280px;
  padding-bottom: 7px;
  line-height: 1;
}

.login-text-identity::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 66px;
  height: 2px;
  border-radius: 1px;
  background: #0a6c63;
  content: "";
}

.login-text-identity strong {
  color: #183b56;
  font-family: Inter, sans-serif;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: .025em;
}

.login-text-identity small {
  margin-top: 6px;
  color: #0a6c63;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

.language-switcher {
  display: flex;
  width: 236px;
  height: 40px;
  align-items: center;
  padding: 4px;
  border-radius: 10px;
  background: #f8f6f1;
}

.language-switcher button {
  position: relative;
  height: 32px;
  flex: 1 1 0;
  padding: 0 7px;
  border: 0;
  border-radius: 8px;
  color: #536675;
  background: transparent;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

.language-switcher button + button::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 1px;
  height: 22px;
  background: rgba(215, 225, 230, .9);
  content: "";
}

.language-switcher button.is-active {
  z-index: 1;
  color: #fff;
  background: #0a6c63;
  font-weight: 800;
}

.language-switcher button.is-active::before,
.language-switcher button.is-active + button::before {
  display: none;
}

.login-stage {
  position: relative;
  display: block;
  width: min(1440px, 100%);
  height: 824px;
  min-height: 824px;
  margin: 0 auto;
  padding: 0;
  background: #eef4f6;
}

.login-product-panel {
  position: absolute;
  z-index: 1;
  top: 86px;
  left: calc(50% - 170px);
  display: block;
  width: 770px;
  height: 680px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 26px;
  color: #fff;
  background: linear-gradient(90deg, #123b66 2.2%, #0e4f6b 62.2%, #0a6c63 108.9%);
}

.client-hero-arc {
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
}

.client-hero-arc-top {
  top: -110px;
  left: 365px;
  width: 520px;
  height: 520px;
}

.client-hero-arc-right {
  top: 410px;
  left: -155px;
  width: 400px;
  height: 400px;
}

.client-hero-arc-bottom {
  top: 330px;
  left: 445px;
  width: 380px;
  height: 380px;
}

.client-hero-line {
  position: absolute;
  width: 145px;
  height: 96px;
  border-top: 1px solid rgba(231, 243, 241, .28);
  border-left: 1px solid rgba(231, 243, 241, .28);
  pointer-events: none;
}

.client-hero-line-a {
  top: 155px;
  left: 560px;
}

.client-hero-line-b {
  top: 216px;
  left: 500px;
  width: 110px;
  height: 56px;
}

.client-hero-copy {
  position: absolute;
  z-index: 2;
  top: 102px;
  left: 118px;
  width: 570px;
}

.login-product-panel .client-hero-eyebrow {
  margin: 0 0 28px;
  color: #e7f3f1;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}

.login-product-panel .client-hero-copy h2 {
  margin: 0;
  color: #fff;
  font-size: 35px;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 46px;
}

.login-product-panel .client-hero-description {
  max-width: 560px;
  margin: 22px 0 0;
  color: #e7f3f1;
  font-size: 14px;
  line-height: 22px;
}

.client-hero-policy {
  display: grid;
  width: 525px;
  min-height: 88px;
  align-content: center;
  gap: 11px;
  margin-top: 44px;
  padding: 15px 22px;
  border-radius: 14px;
  background: #183b56;
}

.client-hero-policy strong {
  color: #fff;
  font-size: 12px;
}

.client-hero-policy span {
  max-width: none;
  margin: 0;
  color: #e7f3f1;
  font-size: 10px;
  line-height: 18px;
}

.login-product-panel .client-hero-footer {
  position: absolute;
  z-index: 2;
  top: 600px;
  left: 118px;
  margin: 0;
  color: #e7f3f1;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .03em;
}

.login-stage .signin-card {
  position: absolute;
  z-index: 3;
  top: 148px;
  left: calc(50% - 570px);
  display: block;
  width: 480px;
  height: 566px;
  min-height: 0;
  margin: 0;
  padding: 32px 35px 27px;
  overflow: hidden;
  border: 1px solid #d7e1e6;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(13, 38, 56, .12);
}

.signin-heading {
  display: block;
}

.signin-heading .eyebrow {
  margin: 0 0 13px;
  color: #0a6c63;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.signin-heading h1 {
  color: #183b56;
  font-size: 28px;
}

.signin-copy {
  margin: 7px 0 23px;
  color: #536675;
  font-size: 11px;
  line-height: 18px;
}

#signin-form label {
  margin-bottom: 8px;
  color: #17242d;
  font-size: 11px;
  font-weight: 700;
}

#signin-form label:not(:first-child) {
  margin-top: 14px;
}

.input-shell {
  height: 46px;
  padding: 0 13px;
  border-color: #d7e1e6;
  border-radius: 8px;
  background: #fff;
}

.input-shell:focus-within {
  border-color: #0a6c63;
  box-shadow: 0 0 0 3px rgba(10, 108, 99, .11);
}

.input-shell input {
  font-size: 12px;
}

.signin-options {
  display: flex;
  min-height: 31px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 13px;
}

#signin-form .remember-session {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #536675;
  font-size: 10px;
  font-weight: 650;
}

.remember-session input {
  width: 12px;
  height: 12px;
  margin: 0;
  accent-color: #0a6c63;
}

.login-support-link {
  padding: 2px 0;
  border: 0;
  color: #0a6c63;
  background: transparent;
  font-size: 10px;
  font-weight: 800;
}

#signin-button {
  min-height: 48px;
  margin-top: 8px;
  border-radius: 8px;
  background: #0a6c63;
  box-shadow: none;
}

.auth-status {
  min-height: 44px;
  align-items: center;
  margin-top: 16px;
  padding: 10px 17px;
  border: 0;
  border-radius: 8px;
  background: #f8f6f1;
}

.auth-status > span {
  display: none;
}

.auth-status p {
  color: #536675;
  font-size: 10px;
}

.account-help {
  margin-top: 19px;
  padding-top: 12px;
  border-top-color: #d7e1e6;
  outline: 0;
}

.account-help strong {
  margin-bottom: 6px;
  color: #183b56;
  font-size: 11px;
}

.account-help p {
  color: #536675;
  font-size: 9px;
  line-height: 14px;
}

.client-login-footer {
  position: absolute;
  top: 790px;
  left: 50%;
  width: 220px;
  margin: 0 0 0 -110px;
  color: #536675;
  font-size: 9px;
  text-align: center;
}

.portal-topbar .language-switcher {
  width: 216px;
  height: 36px;
  padding: 3px;
}

.portal-topbar .language-switcher button {
  height: 30px;
  font-size: 10px;
}

@media (max-width: 1100px) {
  .login-header {
    padding-right: 32px;
    padding-left: 32px;
  }

  .login-stage .signin-card {
    left: 24px;
    width: 420px;
  }

  .login-product-panel {
    left: 380px;
    width: calc(100% - 404px);
  }

  .client-hero-copy {
    left: 116px;
    width: calc(100% - 150px);
  }

  .login-product-panel .client-hero-copy h2 {
    font-size: 31px;
    line-height: 42px;
  }

  .client-hero-policy {
    width: min(100%, 470px);
  }
}

@media (max-width: 840px) {
  .login-header {
    min-height: 96px;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding-top: 14px;
    padding-bottom: 12px;
  }

  .language-switcher {
    width: 100%;
  }

  .login-stage {
    height: 1160px;
    min-height: 1160px;
  }

  .login-stage .signin-card {
    top: 28px;
    left: 20px;
    width: calc(100% - 40px);
  }

  .login-product-panel {
    top: 548px;
    left: 20px;
    width: calc(100% - 40px);
    height: 560px;
  }

  .client-hero-copy {
    top: 74px;
    left: 44px;
    width: calc(100% - 88px);
  }

  .client-hero-policy {
    margin-top: 32px;
  }

  .login-product-panel .client-hero-footer {
    top: 505px;
    left: 44px;
  }

  .client-login-footer {
    top: 1128px;
  }
}

@media (max-width: 520px) {
  .login-header {
    padding-right: 20px;
    padding-left: 20px;
  }

  .login-text-identity {
    min-width: 0;
  }

  .login-stage .signin-card {
    left: 12px;
    width: calc(100% - 24px);
    padding-right: 24px;
    padding-left: 24px;
  }

  .login-product-panel {
    left: 12px;
    width: calc(100% - 24px);
  }

  .login-product-panel .client-hero-copy h2 {
    font-size: 27px;
    line-height: 38px;
  }
}

/* CLIENT A1 customer vertical V2 */
:root {
  --navy-950: #102a43;
  --navy-900: #123c48;
  --navy-800: #16535a;
  --blue-600: #0b776e;
  --blue-500: #128b80;
  --surface-soft: #f5f8f7;
}

body {
  background:
    radial-gradient(circle at 78% -10%, rgba(18, 139, 128, .10), transparent 34%),
    #eef3f2;
}

.nav-item.is-active {
  background: linear-gradient(110deg, #123c48, #0b776e);
}

.sidebar-policy {
  border-color: #cee4df;
  background: #eef8f5;
}

.client-customer-identity,
.client-official-documents {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(18, 60, 72, .07);
}

.client-customer-identity {
  padding: 24px;
}

.client-identity-main {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.client-company-logo,
.client-brand-logo {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d9e7e4;
  background: #f6faf9;
}

.client-company-logo {
  width: 82px;
  height: 82px;
  border-radius: 15px;
}

.client-company-logo img,
.client-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.client-identity-main h2 {
  margin: 0;
  color: #102a43;
  font-size: 28px;
  letter-spacing: -.045em;
}

.client-identity-main > div:nth-child(2) > strong {
  display: block;
  margin-top: 4px;
  color: #41586b;
  font-size: 13px;
}

.client-identity-main > div:nth-child(2) > p:last-child {
  margin: 9px 0 0;
  color: var(--ink-500);
  font-size: 12px;
}

.client-active-badge,
.client-published,
.official-lock {
  display: inline-flex;
  width: max-content;
  border-radius: 999px;
  color: #08715a;
  background: #e5f6ef;
  font-size: 10px;
  font-weight: 850;
}

.client-active-badge {
  padding: 7px 11px;
}

.client-brand-grid {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.client-brand-card {
  display: flex;
  min-width: 210px;
  align-items: center;
  gap: 11px;
  padding: 10px;
  border: 1px solid #e2e9e8;
  border-radius: 12px;
  background: #fafcfb;
}

.client-brand-logo {
  width: 43px;
  height: 43px;
  flex: 0 0 auto;
  border-radius: 9px;
  color: #0b776e;
  font-size: 10px;
  font-weight: 900;
}

.client-brand-card strong,
.client-brand-card small {
  display: block;
}

.client-brand-card strong {
  color: #172b3d;
  font-size: 12px;
}

.client-brand-card small {
  margin-top: 4px;
  color: var(--ink-500);
  font-size: 9px;
}

.client-fact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 18px 0 0;
  overflow: hidden;
  border: 1px solid #e2e9e8;
  border-radius: 12px;
}

.client-fact-grid > div {
  min-height: 82px;
  padding: 15px;
  border-right: 1px solid #e2e9e8;
}

.client-fact-grid > div:last-child {
  border-right: 0;
}

.client-fact-grid dt {
  color: var(--ink-500);
  font-size: 10px;
  font-weight: 750;
}

.client-fact-grid dd {
  margin: 9px 0 0;
  color: #263d4e;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.5;
}

.client-official-documents {
  margin-top: 15px;
  padding: 23px;
}

.client-official-documents > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.client-official-documents h2 {
  margin: 0;
  color: #102a43;
  font-size: 18px;
  letter-spacing: -.03em;
}

.client-official-documents h2 em {
  color: #0b776e;
  font-style: normal;
}

.official-lock {
  padding: 6px 9px;
}

.client-document-head,
.client-document-row {
  display: grid;
  grid-template-columns: 145px minmax(190px, 1.5fr) 82px 112px 52px 128px;
  align-items: center;
  column-gap: 10px;
}

.client-document-head {
  min-height: 37px;
  margin-top: 15px;
  padding: 0 12px;
  border: 1px solid #e0e8e7;
  border-bottom: 0;
  border-radius: 11px 11px 0 0;
  color: #637488;
  background: #eff5f3;
  font-size: 9px;
  font-weight: 850;
}

.client-document-list {
  overflow: hidden;
  border: 1px solid #e0e8e7;
  border-radius: 0 0 11px 11px;
}

.client-document-row {
  min-height: 68px;
  padding: 10px 12px;
  border-top: 1px solid #e7edec;
  color: #617184;
  font-size: 10px;
}

.client-document-row:first-child {
  border-top: 0;
}

.client-document-row:hover {
  background: #f7fbfa;
}

.client-document-row strong,
.client-document-row small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-document-row strong {
  color: #263d4e;
  font-size: 11px;
}

.client-document-row small {
  margin-top: 4px;
  color: #7a8998;
  font-size: 9px;
}

.client-category {
  color: #315767;
  font-weight: 750;
}

.client-published {
  padding: 5px 7px;
  font-size: 8px;
}

.client-document-actions {
  display: flex;
  gap: 5px;
}

.client-document-actions a,
.client-document-actions button {
  display: inline-flex;
  min-height: 30px;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
}

.product-icon {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  object-fit: contain;
}

.login-brand .product-icon {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
}

.client-document-actions a {
  border: 0;
  color: #fff;
  background: #0b776e;
}

.client-document-actions button {
  border: 1px solid #ccd9d6;
  color: #365264;
  background: #fff;
}

@media (max-width: 1120px) {
  .client-fact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-fact-grid > div:nth-child(2) {
    border-right: 0;
  }

  .client-fact-grid > div:nth-child(-n+2) {
    border-bottom: 1px solid #e2e9e8;
  }

  .client-document-head {
    display: none;
  }

  .client-document-list {
    margin-top: 15px;
    border-radius: 11px;
  }

  .client-document-row {
    grid-template-columns: 135px minmax(190px, 1fr) 76px 120px;
  }

  .client-document-row > span:nth-of-type(3),
  .client-document-row > span:nth-of-type(4) {
    display: none;
  }
}

/* CLIENT V0.2.2 — canonical product identity, shared IA and category-first documents */
html,body,#app-root{max-width:100%;overflow-x:hidden}
.portal-app{min-height:100vh;background:#f3f6f8}.portal-topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;width:100%;min-height:68px;padding:0 28px;border-bottom:1px solid #dfe6e9;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.portal-topbar .brand{display:flex;align-items:center;gap:12px;color:#142e52;text-decoration:none}.portal-topbar .brand strong{font-size:16px;letter-spacing:.04em}.portal-topbar .brand small{color:#0b776e;font-size:9px;font-weight:900;letter-spacing:.12em}
.portal-topbar .primary-nav{display:flex;min-width:0;align-items:center;justify-content:center;gap:3px}.portal-topbar .nav-item{display:flex;height:40px;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:9px;color:#617084;background:transparent;font-size:11px;font-weight:760;white-space:nowrap}.portal-topbar .nav-item:hover,.portal-topbar .nav-item.is-active{color:#0b776e;background:#eaf5f3}.portal-topbar .nav-symbol{font-size:8px;opacity:.65}.portal-actions{display:flex;align-items:center;gap:8px}.logout-button{height:34px;padding:0 12px}
.portal-scopebar{display:flex;align-items:center;gap:19px;min-height:39px;padding:0 max(24px,calc((100% - 1296px)/2));border-bottom:1px solid #e2e8eb;background:#fff;color:#677589;font-size:10px}.portal-scopebar span{white-space:nowrap}.portal-scopebar b{margin-right:5px;color:#8995a4}.portal-scopebar strong{color:#32445b}.portal-scopebar small{margin-left:auto;color:#7a8898}
.main-content{width:100%;padding:0}.content-column{width:min(1296px,calc(100% - 40px));max-width:none;margin:0 auto;padding:24px 0 46px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:25px}.version-badge{font-size:9px}
.client-customer-identity{border-radius:16px;box-shadow:0 8px 24px rgba(20,37,61,.055)}.client-customer-identity.is-compact{padding:18px 21px}.client-customer-identity.is-compact .client-identity-main{grid-template-columns:76px minmax(0,1fr) auto}.client-customer-identity.is-compact .client-company-logo{width:76px;height:76px}.client-customer-identity.is-compact .client-brand-grid{position:absolute;right:190px;top:18px;margin:0}.client-customer-identity.is-compact{position:relative}.client-customer-identity.is-compact .client-brand-card{min-width:205px;padding:7px}.client-customer-identity.is-compact .client-brand-logo{width:54px;height:54px}
.client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.client-summary-grid.client-home-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.client-summary-grid article{display:flex;min-height:102px;align-items:flex-end;justify-content:space-between;padding:18px 20px;border:1px solid #dce4e8;border-radius:14px;background:#fff}.client-summary-grid small{color:#718095;font-size:11px;font-weight:750}.client-summary-grid strong{color:#143357;font-size:30px;line-height:1}
.client-dashboard-columns{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:12px;margin-top:12px}.client-dashboard-panel{min-width:0;padding:19px;border:1px solid #dce4e8;border-radius:16px;background:#fff}.client-dashboard-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.client-dashboard-panel h2{margin:2px 0 0;font-size:15px}.client-dashboard-panel header button{height:31px;padding:0 10px;border:1px solid #cbd7dc;border-radius:8px;color:#0b776e;background:#fff;font-size:10px;font-weight:800}.client-activity-list{display:grid}.client-activity-list article{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;min-height:57px;border-top:1px solid #e8edef}.client-activity-list span{color:#0b776e;font-size:9px;font-weight:850}.client-activity-list strong{font-size:11px}.client-activity-list small{color:#7a8795;font-size:9px}.client-real-empty{display:grid;min-height:116px;place-items:center;border:1px dashed #d8e0e4;border-radius:11px;color:#7b8998;font-size:11px}
.client-dashboard-panel .client-document-row{grid-template-columns:minmax(0,1fr) 112px;min-height:58px;padding:9px 5px}.client-dashboard-panel .client-document-row>.client-category,.client-dashboard-panel .client-document-row>.client-published,.client-dashboard-panel .client-document-row>span:nth-of-type(n+2){display:none}.client-dashboard-panel .client-document-actions{justify-content:flex-end}
.client-document-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:12px}.client-document-categories button{display:flex;min-height:88px;align-items:flex-end;justify-content:space-between;padding:17px;border:1px solid #dce4e8;border-radius:14px;color:#54657a;background:#fff;font-weight:800}.client-document-categories button b{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#eef3f4;color:#365069;font-size:15px}.client-document-categories button.is-active{border-color:#0b776e;color:#0b776e;background:#edf8f5;box-shadow:inset 0 0 0 1px #0b776e}.client-document-categories button.is-active b{color:#fff;background:#0b776e}.client-official-documents{border-radius:16px;box-shadow:none}.client-official-documents>header{padding-bottom:15px}.client-document-browser .client-document-list{border:1px solid #e1e7ea;border-radius:12px;overflow:hidden}
@media(max-width:1180px){.portal-topbar{gap:12px;padding:0 18px}.portal-topbar .nav-item{padding:0 8px}.portal-topbar .nav-symbol{display:none}.portal-scopebar{padding:0 18px}.content-column{width:calc(100% - 28px)}.client-customer-identity.is-compact .client-brand-grid{position:static;margin-top:12px}.client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-dashboard-columns{grid-template-columns:1fr 1fr}.client-document-row{grid-template-columns:150px minmax(180px,1fr) 82px 104px 45px 125px}}
@media(max-width:900px){.portal-topbar{grid-template-columns:auto 1fr}.portal-topbar .primary-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;padding-bottom:7px}.portal-topbar{padding-top:8px}.portal-actions{justify-self:end}.portal-scopebar small{display:none}.client-dashboard-columns{grid-template-columns:1fr}.client-document-row{grid-template-columns:minmax(0,1fr) 125px}.client-document-row>.client-category,.client-document-row>.client-published,.client-document-row>span:nth-of-type(n+2){display:none}}
@media(max-width:720px){.portal-scopebar{overflow-x:auto}.client-summary-grid,.client-summary-grid.client-home-summary,.client-document-categories{grid-template-columns:1fr}.client-identity-main{grid-template-columns:64px 1fr}.client-active-badge{grid-column:1/-1}.client-brand-grid{overflow-x:auto}}

@media (max-width: 720px) {
  .client-customer-identity,
  .client-official-documents {
    padding: 18px;
  }

  .client-identity-main {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .client-company-logo {
    width: 62px;
    height: 62px;
  }

  .client-identity-main h2 {
    font-size: 23px;
  }

  .client-active-badge {
    grid-column: 1 / -1;
  }

  .client-brand-grid {
    overflow-x: auto;
  }

  .client-fact-grid {
    grid-template-columns: 1fr;
  }

  .client-fact-grid > div,
  .client-fact-grid > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e2e9e8;
  }

  .client-fact-grid > div:last-child {
    border-bottom: 0;
  }

  .client-document-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .client-document-row > span:nth-of-type(1),
  .client-document-row > span:nth-of-type(2),
  .client-document-row > span:nth-of-type(3),
  .client-document-row > span:nth-of-type(4) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .published-card {
    transition: none;
  }
}

/* WORK_CLIENT_POSTLOGIN_IA_RUNTIME_REPAIR_V2 — Figma 324:2099 */
.client-postlogin-ia-v2{--ia-navy:#183b56;--ia-teal:#0a6c63;--ia-teal-soft:#e7f3f1;--ia-line:#d6e0e5;--ia-soft:#eef4f6;--ia-warm:#f8f6f1;background:var(--ia-warm)}
.client-postlogin-ia-v2 .client-portal-header{position:sticky;z-index:30;top:0;background:#fff;box-shadow:0 3px 14px rgba(20,50,66,.06)}
.client-postlogin-ia-v2 .portal-topbar{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;height:52px;min-height:52px;padding:0 clamp(18px,2.5vw,32px);border-bottom:1px solid var(--ia-line);background:#fff;backdrop-filter:none}
.client-postlogin-ia-v2 .portal-actions{grid-column:3;display:flex;align-items:center;gap:8px}.client-postlogin-ia-v2 .client-account-button{height:36px;padding:0 13px;border:1px solid var(--ia-line);border-radius:9px;color:#536675;background:#fff;font-size:11px;font-weight:800}.client-postlogin-ia-v2 .client-account-button:hover,.client-postlogin-ia-v2 .client-account-button.is-active{border-color:var(--ia-teal);color:var(--ia-teal);background:var(--ia-teal-soft)}
.client-postlogin-ia-v2>.client-portal-header>.primary-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-height:56px;align-items:center;gap:8px;padding:6px clamp(18px,2.5vw,32px);border-bottom:1px solid var(--ia-line);background:#fff}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item{display:flex;width:100%;height:44px;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 8px;border:0;border-radius:9px;color:var(--ia-navy);background:transparent;font-size:14px;font-weight:800;white-space:nowrap;cursor:pointer}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item:hover{color:var(--ia-teal);background:var(--ia-teal-soft)}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item.is-active{color:var(--ia-teal);background:var(--ia-teal-soft);box-shadow:inset 0 -3px var(--ia-teal)}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item:focus-visible{outline:2px solid var(--ia-teal);outline-offset:2px}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-symbol{display:inline;font-size:10px;opacity:.75}
.client-postlogin-ia-v2 .portal-scopebar{min-height:40px;background:#fff}.client-postlogin-ia-v2 .content-column{width:min(1320px,calc(100% - 48px));padding-top:28px}.client-postlogin-ia-v2 .page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.client-postlogin-ia-v2 .page-heading p:last-child{margin-bottom:0;color:#647887}
.client-case-taxonomy{display:flex;gap:8px;margin:0 0 16px;padding:14px;border:1px solid var(--ia-line);border-radius:14px;background:#fff;overflow-x:auto}.client-case-taxonomy button{min-height:38px;padding:0 17px;border:1px solid #cad7dc;border-radius:999px;color:#536675;background:#fff;font-size:11px;font-weight:800;white-space:nowrap}.client-case-taxonomy button:hover,.client-case-taxonomy button.is-active{border-color:var(--ia-teal);color:#fff;background:var(--ia-teal)}
.client-postlogin-ia-v2 .client-document-browser{margin-top:18px}.client-postlogin-ia-v2 .client-document-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-support-select{display:none}.client-support-layout{display:grid;grid-template-columns:356px minmax(0,1fr);min-height:570px;overflow:hidden;border:1px solid var(--ia-line);border-radius:16px;background:#fff}.client-support-layout>nav{display:grid;align-content:start;gap:5px;padding:20px 16px;border-right:1px solid var(--ia-line)}.client-support-layout>nav button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:51px;padding:8px 11px;border:0;border-radius:10px;color:#526978;background:transparent;text-align:left}.client-support-layout>nav button:hover,.client-support-layout>nav button.is-active{color:var(--ia-teal);background:var(--ia-teal-soft)}.client-support-layout>nav button span{font-size:9px}.client-support-layout>nav button strong{font-size:12px;line-height:1.4}.client-support-panel{padding:31px;background:var(--ia-warm)}.client-support-panel h2{margin:5px 0 22px;color:var(--ia-navy);font-size:23px}.client-support-panel .portal-state{min-height:360px;border-style:dashed;box-shadow:none}.client-published-boundary{margin-top:14px;padding:13px 16px;border:1px solid var(--ia-line);border-radius:10px;color:#697e8c;background:#fff;font-size:11px}.client-statistics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
@media(max-width:1280px) and (min-width:1025px){.client-postlogin-ia-v2>.client-portal-header>.primary-nav{gap:5px;padding-left:18px;padding-right:18px}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item{padding-left:5px;padding-right:5px;font-size:13px}.client-postlogin-ia-v2 .portal-topbar{padding-left:18px;padding-right:18px}.client-postlogin-ia-v2 .portal-actions .language-switcher{width:198px}.client-support-layout{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:1024px){.client-postlogin-ia-v2 .portal-topbar{grid-template-columns:auto auto minmax(0,1fr);gap:10px;padding:0 16px}.client-postlogin-ia-v2 .client-nav-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ia-line);border-radius:9px;background:#fff;color:var(--ia-navy);font-size:19px}.client-postlogin-ia-v2>.client-portal-header>.primary-nav{position:fixed;z-index:80;top:0;bottom:0;left:0;display:flex;width:min(330px,86vw);min-height:100vh;padding:82px 18px 24px;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:5px;border:0;background:#fff;box-shadow:18px 0 40px rgba(11,35,48,.2);transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto}.client-postlogin-ia-v2.client-nav-open>.client-portal-header>.primary-nav{transform:none}.client-postlogin-ia-v2>.client-portal-header>.primary-nav .nav-item{justify-content:flex-start;width:100%;height:47px;padding:0 14px;font-size:13px}.client-postlogin-ia-v2 .client-nav-backdrop:not([hidden]){display:block;position:fixed;z-index:70;inset:0;border:0;background:rgba(10,30,40,.42)}.client-postlogin-ia-v2 .portal-actions{justify-self:end}.client-postlogin-ia-v2 .portal-actions .language-switcher{display:none}.client-postlogin-ia-v2 .content-column{width:calc(100% - 30px)}.client-support-select{display:grid;gap:7px;margin-bottom:12px;color:#526978;font-size:11px;font-weight:800}.client-support-select select{min-height:44px;padding:0 12px;border:1px solid var(--ia-line);border-radius:10px;background:#fff}.client-support-layout{display:block;min-height:0}.client-support-layout>nav{display:none}.client-support-panel{padding:22px}.client-postlogin-ia-v2 .client-document-categories{grid-template-columns:1fr}.client-postlogin-ia-v2 .portal-scopebar{overflow-x:auto}}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

.feature-dot {
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-radius: 50%;
  background: #9aa9ba;
  box-shadow: 0 0 0 3px rgba(154, 169, 186, .16);
}

.portal-state,
.account-scope,
.detail-card,
.boundary-form {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 18px 44px rgba(20, 37, 61, .08);
}

.portal-state {
  min-height: 340px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 44px;
  text-align: center;
}

.portal-state h2,
.portal-state p {
  margin: 0;
}

.published-list {
  display: grid;
  gap: 14px;
}

.published-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: inherit;
  background: var(--surface);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.published-card:hover {
  transform: translateY(-1px);
  border-color: rgba(49, 91, 234, .45);
  box-shadow: 0 14px 30px rgba(20, 37, 61, .08);
}

.published-card h2,
.published-card p {
  margin: 5px 0 0;
}

.published-card button,
.boundary-form button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: var(--blue-600);
  font-weight: 750;
}

.detail-card,
.account-scope,
.boundary-form {
  padding: 28px;
}

.detail-card > a {
  color: var(--blue-600);
  font-weight: 750;
  text-decoration: none;
}

.detail-card h2 {
  margin: 18px 0 10px;
}

.detail-card dl,
.account-scope dl {
  display: grid;
  grid-template-columns: minmax(120px, .35fr) 1fr;
  gap: 9px 18px;
  margin: 24px 0 0;
}

.detail-card dt,
.account-scope dt {
  color: var(--ink-500);
  font-weight: 700;
}

.detail-card dd,
.account-scope dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.boundary-form {
  display: grid;
  gap: 18px;
}

.boundary-form label {
  display: grid;
  gap: 8px;
  color: var(--ink-700);
  font-weight: 750;
}

.boundary-form input,
.boundary-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}

.boundary-form textarea {
  min-height: 150px;
  resize: vertical;
}

.boundary-form :disabled {
  cursor: not-allowed;
  opacity: .58;
}

.boundary-form > p {
  margin: 0;
  color: var(--ink-500);
  font-size: 13px;
}

.client-genuine-reference {
  margin-top: 24px;
  padding: 24px;
  border: 1px solid var(--line, #d9e2ec);
  border-radius: 18px;
  background: #fff;
}
.client-genuine-reference > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.client-genuine-reference h2 { margin: 4px 0 0; }
.client-genuine-reference h2 em { color: #1f6f78; font-style: normal; }
.client-genuine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}
.client-genuine-card {
  overflow: hidden;
  border: 1px solid var(--line, #d9e2ec);
  border-radius: 14px;
  background: #f8fafc;
}
.client-genuine-card > a {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: #edf2f7;
}
.client-genuine-card img { width: 100%; height: 100%; object-fit: contain; }
.client-genuine-card > a span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #fff;
  background: rgba(15, 50, 58, .86);
  font-size: 12px;
  font-weight: 700;
}
.client-genuine-card > div { padding: 14px; }
.client-genuine-card small,
.client-genuine-card strong,
.client-genuine-card p { display: block; }
.client-genuine-card strong { margin-top: 4px; }
.client-genuine-card p { margin: 8px 0; color: #52616b; font-size: 12px; overflow-wrap: anywhere; }
.client-genuine-card > div > a { color: #145b65; font-weight: 700; }

.client-admin-shell .content-column { max-width: 1480px; }
.client-admin-scope { border-bottom-color: rgba(49, 91, 234, .18); background: #f6f8ff; }
.client-admin-qa,
.client-admin-qa-detail { display: grid; gap: 18px; }
.client-admin-qa-head,
.client-admin-detail-card {
  border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 22px;
}
.client-admin-qa-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.client-admin-qa-head h2,
.client-admin-detail-card h2,
.client-admin-detail-card h3 { margin: 4px 0 8px; }
.client-admin-qa-head p { margin: 0; color: var(--ink-500); }
.client-admin-qa-head > div:last-child { display: grid; justify-items: end; gap: 6px; }
.client-admin-qa button,
.client-admin-qa-detail button {
  min-height: 40px; border: 1px solid var(--line); border-radius: 10px; padding: 0 14px;
  color: var(--ink-900); background: #fff; font-weight: 750; cursor: pointer;
}
.client-admin-qa button:hover,
.client-admin-qa-detail button:hover { border-color: var(--blue-600); }
.client-admin-qa-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.client-admin-qa-summary article { border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 18px; }
.client-admin-qa-summary small,
.client-admin-qa-summary strong { display: block; }
.client-admin-qa-summary small { color: var(--ink-500); font-weight: 700; }
.client-admin-qa-summary strong { margin-top: 8px; font-size: 28px; }
.client-admin-qa-search { display: flex; gap: 9px; }
.client-admin-qa-search input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 11px; padding: 11px 14px; }
.client-admin-qa-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.client-admin-qa-filters button.is-active { border-color: var(--blue-600); color: var(--blue-600); background: #eef2ff; }
.client-admin-qa-list { display: grid; gap: 8px; }
.client-admin-qa-row {
  display: grid; grid-template-columns: 100px minmax(240px,1fr) 150px 150px 44px;
  align-items: center; gap: 12px; width: 100%; text-align: left;
}
.client-admin-qa-row strong,
.client-admin-qa-row small { display: block; }
.client-admin-qa-row small { margin-top: 4px; color: var(--ink-500); }
.qa-status { display: inline-flex; justify-content: center; border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 800; }
.qa-healthy { color: #08724c; background: #e8f8f1; }
.qa-warning,.qa-delayed { color: #8a5700; background: #fff4d7; }
.qa-file_error,.qa-auth_error,.qa-projection_error,.qa-mismatch,.qa-unknown { color: #a12622; background: #ffebe9; }
.client-admin-preview-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border-radius: 12px; padding: 13px 16px; color: #fff; background: #173a70; }
.client-admin-preview-banner em { margin-left: auto; font-style: normal; opacity: .8; }
.client-admin-detail-actions { display: flex; justify-content: space-between; gap: 10px; }
.client-admin-compare { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.client-admin-compare article { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.client-admin-compare pre { overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.client-admin-issue { display: grid; grid-template-columns: minmax(180px,1fr) 160px 210px; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.client-admin-preview-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.client-admin-preview-list span { border-radius: 999px; padding: 6px 10px; background: #f2f5f8; }

@media (max-width: 820px) {
  .client-admin-qa-head { align-items: stretch; flex-direction: column; }
  .client-admin-qa-head > div:last-child { justify-items: start; }
  .client-admin-qa-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .client-admin-qa-row { grid-template-columns: 90px 1fr 44px; }
  .client-admin-qa-row > span:nth-child(3),.client-admin-qa-row > span:nth-child(4) { display: none; }
  .client-admin-compare { grid-template-columns: 1fr; }
  .client-admin-issue { grid-template-columns: 1fr; }
  .portal-state {
    min-height: 300px;
    padding: 32px 22px;
  }

  .published-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .detail-card dl,
  .account-scope dl {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .portal-state,
  .detail-card,
  .account-scope,
  .boundary-form {
    padding: 22px 18px;
    border-radius: 17px;
  }
}
