/* Canonical responsive type scale. Component sizes use these tokens. */
:root{--type-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--type-body:clamp(.9375rem,.91rem + .12vw,1rem);--type-control:1rem;--type-small:.8125rem;--type-caption:.75rem;--type-label:.875rem;--type-subtitle:clamp(1.125rem,1.05rem + .35vw,1.375rem);--type-title:clamp(1.5rem,1.3rem + .8vw,2rem);--type-display:clamp(1.5rem,1.3rem + .8vw,2rem)}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--type-body);line-height:1.6;font-family:var(--type-font)}
button,input,select,textarea{font-family:inherit;font-size:var(--type-control);line-height:1.4}
h1{font-size:var(--type-title);line-height:1.2}h2{font-size:var(--type-subtitle);line-height:1.3}h3,h4{line-height:1.35}
label{font-size:var(--type-label);line-height:1.45}small{font-size:var(--type-small);line-height:1.5}
p,li,dd{overflow-wrap:break-word}code,pre,kbd{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}th,td{font-variant-numeric:tabular-nums}
:root{
  --bg:#182760;
  --bg2:#224e96;

  --surface:#1e3377;
  --surface2:#27448d;
  --surface3:#eef3ff;

  --white:#ffffff;
  --ink:#152347;
  --muted:#b8c8ef;
  --muted-dark:#7282a8;

  --line:
    rgba(255,255,255,.13);

  --line-light:#dbe4f8;

  --violet:#7139ff;
  --purple:#a346ff;
  --blue:#2480ff;
  --cyan:#29d1ee;

  --green:#36d7a0;
  --gold:#ffc15a;

  --radius:14px;
  --radius-sm:10px;

  --max:1180px;
}

*{
  box-sizing:border-box;
}

html{
  min-height:100%;
  background:var(--bg);
}

body{
  margin:0;

  min-height:100vh;

  font-family:
    var(--type-font);

  color:var(--white);

  background:
    radial-gradient(
      circle at 0 0,
      rgba(132,59,255,.42),
      transparent 30%
    ),
    radial-gradient(
      circle at 100% 4%,
      rgba(24,169,255,.30),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #202264,
      #172963 45%,
      #214c8e
    );

  -webkit-font-smoothing:
    antialiased;
}

button,
input{
  font:inherit;
  line-height:1.4;
  font-size:var(--type-control);
}

button{
  cursor:pointer;
}

button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.shell{
  width:min(
    calc(100% - 22px),
    var(--max)
  );

  margin:0 auto;

  padding:
    max(
      9px,
      env(safe-area-inset-top)
    )
    0
    calc(
      75px
      + env(safe-area-inset-bottom)
    );
}

.topbar{
  height:55px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:10px;
}

.brand{
  display:flex;
  align-items:center;

  gap:8px;
}

.logo{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:11px;

  font-style:italic;
  font-weight:950;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--cyan),
      var(--violet) 50%,
      #e345ff
    );

  box-shadow:
    0 8px 20px
    rgba(87,45,255,.30);
}

.brand-name{
  font-size:18px;
  font-weight:950;

  letter-spacing:.2px;
}

.brand-key{
  margin-top:1px;

  color:#c2cdf2;

  font-size:8px;
  font-weight:750;

  letter-spacing:.15px;
}

.top-actions{
  display:flex;
  align-items:center;

  gap:6px;
}

.user-chip{
  max-width:125px;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  border:
    1px solid var(--line);

  border-radius:999px;

  padding:6px 9px;

  color:#fff;

  background:
    rgba(255,255,255,.09);

  font-size:var(--type-caption);
  font-weight:800;
}

.icon-btn{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border:
    1px solid var(--line);

  border-radius:11px;

  color:#fff;

  background:
    rgba(255,255,255,.08);

  font-size:18px;
}

.desktop-nav{
  display:none;
}

.hero{
  position:relative;

  overflow:hidden;

  min-height:162px;

  padding:16px;

  border:
    1px solid rgba(255,255,255,.16);

  border-radius:18px;

  background:
    linear-gradient(
      125deg,
      #3446b9,
      #6934de 48%,
      #265be4
    );

  box-shadow:
    0 18px 40px
    rgba(7,14,60,.20);
}

.hero::after{
  content:"";

  position:absolute;

  width:210px;
  height:210px;

  right:-70px;
  bottom:-85px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(43,218,255,.70),
      rgba(110,55,255,.14) 60%,
      transparent 72%
    );
}

.profile{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;

  gap:9px;
}

.avatar{
  width:45px;
  height:45px;

  flex:none;

  display:grid;
  place-items:center;

  border-radius:14px;

  color:#fff;

  background:
    rgba(255,255,255,.17);

  border:
    1px solid
    rgba(255,255,255,.22);

  font-size:1.125rem;
  font-weight:950;
}

.profile-main{
  flex:1;
  min-width:0;
}

.profile-key{
  color:#dce4ff;

  font-size:var(--type-caption);
  font-weight:850;

  text-transform:uppercase;

  letter-spacing:.6px;
}

.profile-name{
  margin-top:2px;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  font-size:var(--type-body);
  font-weight:950;
}

.role-chip{
  display:inline-flex;

  margin-top:3px;

  padding:3px 6px;

  border-radius:999px;

  background:
    rgba(255,255,255,.15);

  font-size:var(--type-caption);
  font-weight:850;

  text-transform:uppercase;
}

.hero-title{
  position:relative;
  z-index:2;

  margin-top:18px;

  max-width:520px;

  font-size:
    var(--type-display);

  line-height:1.25;

  letter-spacing:-.9px;

  font-weight:950;
}

.hero-tags{
  position:relative;
  z-index:2;

  margin-top:12px;

  display:flex;
  flex-wrap:wrap;

  gap:5px;
}

.hero-tag{
  padding:4px 7px;

  border-radius:999px;

  background:
    rgba(255,255,255,.14);

  font-size:var(--type-caption);
  font-weight:800;
}

.section-head{
  margin:
    16px 2px 9px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

.section-head h2{
  margin:0;

  font-size:var(--type-body);
  font-weight:950;
}

.section-head span{
  color:#c4d0f5;

  font-size:var(--type-caption);
  font-weight:800;

  text-transform:uppercase;
}

.services{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:8px;
}

.service{
  position:relative;

  min-height:108px;

  padding:12px;

  text-align:left;

  border:
    1px solid var(--line);

  border-radius:13px;

  color:#fff;

  background:
    rgba(28,45,111,.80);

  box-shadow:
    0 9px 22px
    rgba(7,17,63,.12);
}

.service.active{
  border-color:
    rgba(255,255,255,.20);

  background:
    linear-gradient(
      145deg,
      #7240ff,
      #3c52ff 55%,
      #2782ff
    );
}

.service-icon{
  width:31px;
  height:31px;

  display:grid;
  place-items:center;

  border-radius:9px;

  background:
    rgba(255,255,255,.12);

  font-size:15px;
  font-weight:950;
}

.service-name{
  margin-top:11px;

  font-size:var(--type-small);
  font-weight:950;
}

.service-keys{
  margin-top:3px;

  color:#bdcaef;

  font-size:var(--type-caption);
  font-weight:650;
}

.active .service-keys{
  color:#edf0ff;
}

.arrow{
  position:absolute;

  right:10px;
  bottom:8px;

  font-size:var(--type-label);
}

.quick{
  margin-top:8px;

  display:grid;
  grid-template-columns:
    repeat(3,1fr);

  gap:6px;
}

.quick div{
  padding:8px 5px;

  border:
    1px solid var(--line);

  border-radius:10px;

  background:
    rgba(255,255,255,.09);

  text-align:center;

  font-size:var(--type-caption);
  font-weight:850;
}

.page-head{
  margin:
    3px 0 11px;

  display:flex;
  align-items:center;

  gap:9px;
}

.page-head h1{
  margin:0;

  font-size:
    var(--type-display);

  font-weight:950;

  letter-spacing:-.7px;
}

.back,.app-back{
  width:96px;min-width:96px;height:42px;min-height:42px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:0 10px;border:1px solid var(--line);border-radius:5px;
  color:var(--white);background:var(--surface);font-size:var(--type-label);font-weight:600;
}

.filters{
  display:flex;

  gap:6px;

  overflow-x:auto;

  padding-bottom:8px;

  scrollbar-width:none;
}

.filter{
  flex:none;

  border:
    1px solid var(--line);

  border-radius:999px;

  background:
    rgba(255,255,255,.09);

  color:#fff;

  padding:
    6px 10px;

  font-size:var(--type-caption);
  font-weight:800;
}

.filter.active{
  border-color:transparent;

  background:
    linear-gradient(
      135deg,
      var(--violet),
      var(--blue)
    );
}

.card-grid{
  display:grid;

  gap:8px;
}

.credit-card{
  display:grid;

  grid-template-columns:
    78px minmax(0,1fr);

  gap:9px;

  padding:10px;

  border:
    1px solid var(--line);

  border-radius:13px;

  background:
    rgba(25,42,104,.84);

  box-shadow:
    0 9px 22px
    rgba(7,16,58,.12);
}

.card-art{
  height:50px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:7px;

  border-radius:8px;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      #142963,
      #1078cd 55%,
      #783de5
    );

  border:
    1px solid
    rgba(255,255,255,.17);
}

.card-art strong{
  font-size:var(--type-caption);
}

.card-art span{
  font-size:var(--type-caption);
  opacity:.82;
}

.badge{
  display:inline-flex;

  padding:3px 6px;

  border-radius:999px;

  color:#ffe08b;

  background:
    rgba(255,190,73,.13);

  font-size:var(--type-caption);
  font-weight:850;
}

.card-name{
  margin-top:4px;

  font-size:var(--type-caption);
  font-weight:950;
}

.card-bank{
  margin-top:2px;

  color:#aebde8;

  font-size:var(--type-caption);
}

.benefits{
  grid-column:
    1 / -1;

  display:flex;
  flex-wrap:wrap;

  gap:4px;
}

.benefit{
  padding:3px 5px;

  border-radius:6px;

  color:#cfdbfa;

  background:
    rgba(255,255,255,.07);

  font-size:var(--type-caption);
  font-weight:700;
}

.actions{
  grid-column:
    1 / -1;

  display:grid;

  grid-template-columns:
    .8fr 1.2fr;

  gap:6px;
}

.btn{
  min-height:38px;

  border:0;

  border-radius:10px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0 10px;

  font-size:var(--type-caption);
  font-weight:900;
}

.btn-primary{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--violet),
      var(--blue)
    );
}

.btn-secondary{
  color:#fff;

  background:
    rgba(255,255,255,.09);

  border:
    1px solid var(--line);
}

.form-card{
  padding:12px;

  border:
    1px solid var(--line);

  border-radius:14px;

  background:
    rgba(28,45,110,.82);
}

.form-grid{
  display:grid;

  gap:9px;
}

.form-section{
  grid-column:
    1 / -1;

  font-size:var(--type-caption);
  font-weight:950;

  color:#fff;
}

.field{
  display:grid;
  gap:4px;
}

.field label{
  color:var(--white);

  font-size:var(--type-label);
  font-weight:600;
}

.field input{
  width:100%;
  height:44px;

  border:
    1px solid
    var(--line);

  border-radius:5px;

  padding:0 10px;

  outline:none;

  color:var(--white);

  background:
    var(--surface2);

  font-size:var(--type-control);
}

.field input::placeholder{
  color:var(--muted);
}

.field input:focus{
  border-color:var(--gold);

  box-shadow:
    0 0 0 3px
    color-mix(in srgb,var(--gold) 18%,transparent);
}

.consent{
  grid-column:
    1 / -1;

  display:flex;
  align-items:flex-start;

  gap:7px;

  padding:8px;

  border-radius:9px;

  color:#c4d0ef;

  background:
    rgba(255,255,255,.06);

  font-size:var(--type-caption);
  line-height:1.35;
}

.submit{
  grid-column:
    1 / -1;
}

.submit .btn{
  width:100%;

  min-height:43px;
}

.auth-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,450px);gap:24px;align-items:start}
.auth-page .page-head{margin:0;align-items:center}
.auth-wrap{width:100%;margin:0}
.role-select,.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;margin:0 0 12px;border:0;background:transparent}
.role-btn,.auth-tab{width:100%;height:42px;min-height:42px;font-size:var(--type-label);font-weight:600;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}
.role-btn.active,.auth-tab.active{background:var(--surface2);color:var(--gold);border-color:var(--gold)}
.auth-card{margin:0;padding:22px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--white)}
.auth-recovery-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.auth-recovery-links button{border:0;background:transparent;color:var(--blue);padding:0;font-size:var(--type-small)}
#authRecovery{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
#authRecovery p{white-space:normal}
@media(max-width:1100px){.auth-page{display:block}.auth-wrap{max-width:450px;margin:16px auto 0}.auth-page h1{font-size:var(--type-display)}}
.auth-title{
  margin-bottom:11px;

  font-size:1.125rem;
  font-weight:950;
}

.auth-fields{
  display:grid;

  gap:8px;
}

.dashboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:8px;

  margin-bottom:9px;
}

.dashboard-role{
  color:#b9c9f5;

  font-size:var(--type-caption);
  font-weight:900;

  text-transform:uppercase;
}

.dashboard-name{
  margin-top:2px;

  font-size:var(--type-subtitle);
  font-weight:950;
}

.metrics{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:7px;
}

.metric{
  padding:11px;

  border:
    1px solid var(--line);

  border-radius:12px;

  background:
    rgba(255,255,255,.08);
}

.metric-label{
  color:#b9c8ef;

  font-size:var(--type-caption);
  font-weight:850;

  text-transform:uppercase;
}

.metric-value{
  margin-top:4px;

  font-size:1.125rem;
  font-weight:950;
}

.dashboard-grid{
  display:grid;

  gap:7px;

  margin-top:7px;
}

.panel{
  padding:11px;

  border:
    1px solid var(--line);

  border-radius:12px;

  background:
    rgba(27,44,105,.80);
}

.panel-title{
  margin-bottom:8px;

  font-size:var(--type-caption);
  font-weight:950;
}

.row{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:7px;

  padding:7px 0;

  border-bottom:
    1px solid rgba(255,255,255,.08);

  font-size:var(--type-caption);
}

.row:last-child{
  border-bottom:0;
}

.row strong{
  font-size:var(--type-caption);
}

.support-grid{
  display:grid;

  gap:7px;
}

.support-card{
  padding:11px;

  border:
    1px solid var(--line);

  border-radius:12px;

  background:
    rgba(27,44,105,.82);
}

.support-icon{
  width:31px;
  height:31px;

  display:grid;
  place-items:center;

  border-radius:9px;

  color:#fff;

  background:
    rgba(143,77,255,.25);

  font-weight:950;
}

.support-name{
  margin-top:8px;

  font-size:var(--type-caption);
  font-weight:950;
}

.support-key{
  margin-top:2px;

  color:#bdcaf0;

  font-size:var(--type-caption);
}

.drawer-layer{
  position:fixed;

  inset:0;

  z-index:80;

  opacity:0;

  pointer-events:none;

  background:
    rgba(4,11,44,.48);

  backdrop-filter:
    blur(6px);

  transition:.18s ease;
}

.drawer-layer.open{
  opacity:1;
  pointer-events:auto;
}

.drawer{
  position:absolute;

  top:0;
  right:0;
  bottom:0;

  width:min(
    88vw,
    355px
  );

  padding:
    max(
      13px,
      env(safe-area-inset-top)
    )
    13px
    20px;

  background:
    linear-gradient(
      180deg,
      #28377f,
      #252a78 55%,
      #173c77
    );

  transform:
    translateX(102%);

  transition:.2s ease;
}

.open .drawer{
  transform:
    translateX(0);
}

.drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin-bottom:14px;
}

.drawer-menu{
  display:grid;

  gap:4px;
}

.drawer-item{
  width:100%;

  min-height:49px;

  border:0;

  border-radius:11px;

  color:#fff;

  background:transparent;

  display:flex;
  align-items:center;

  gap:9px;

  padding:7px 9px;

  text-align:left;
}

.drawer-item:hover{
  background:
    rgba(255,255,255,.08);
}

.drawer-icon{
  width:32px;
  height:32px;

  flex:none;

  display:grid;
  place-items:center;

  border-radius:9px;

  background:
    rgba(255,255,255,.10);
}

.drawer-item strong{
  display:block;

  font-size:var(--type-caption);
}

.drawer-item span{
  display:block;

  margin-top:1px;

  color:#bdc9ed;

  font-size:var(--type-caption);
}

.drawer-account{
  margin-top:18px;

  padding-top:10px;

  border-top:
    1px solid var(--line);
}

.ai-fab{
  position:fixed;

  right:14px;

  bottom:
    calc(
      68px
      + env(safe-area-inset-bottom)
    );

  z-index:45;

  width:48px;
  height:48px;

  border:0;

  border-radius:15px;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--violet),
      var(--blue),
      var(--cyan)
    );

  box-shadow:
    0 14px 30px
    rgba(27,38,140,.32);

  font-size:1.125rem;
}

.ai-box{
  position:fixed;

  right:11px;

  bottom:
    calc(
      125px
      + env(safe-area-inset-bottom)
    );

  z-index:44;

  width:min(
    calc(100vw - 22px),
    320px
  );

  display:none;

  padding:12px;

  border:
    1px solid var(--line);

  border-radius:14px;

  background:
    linear-gradient(
      145deg,
      #3046aa,
      #6d34d8
    );

  box-shadow:
    0 20px 55px
    rgba(5,13,55,.32);
}

.ai-box.open{
  display:block;
}

.ai-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  font-size:var(--type-caption);
  font-weight:950;
}

.ai-content{
  margin-top:8px;

  padding:8px;

  border-radius:9px;

  background:
    rgba(255,255,255,.09);

  font-size:var(--type-caption);
}

.bottom-nav{
  position:fixed;

  left:50%;

  bottom:
    max(
      6px,
      env(safe-area-inset-bottom)
    );

  z-index:40;

  width:min(
    calc(100% - 18px),
    510px
  );

  transform:
    translateX(-50%);

  display:grid;
  grid-template-columns:
    repeat(4,1fr);

  gap:3px;

  padding:5px;

  border:
    1px solid rgba(255,255,255,.15);

  border-radius:15px;

  background:
    rgba(23,38,91,.92);

  backdrop-filter:
    blur(18px);

  box-shadow:
    0 14px 32px
    rgba(6,13,52,.22);
}

.nav{
  min-height:43px;

  border:0;

  border-radius:10px;

  color:#acbce9;

  background:transparent;

  display:grid;
  place-items:center;

  gap:1px;

  font-size:var(--type-caption);
  font-weight:800;
}

.nav b{
  font-size:var(--type-body);
}

.nav.active{
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--violet),
      var(--blue)
    );
}

.toast{
  position:fixed;

  z-index:120;

  left:50%;

  bottom:
    calc(
      120px
      + env(safe-area-inset-bottom)
    );

  width:min(
    calc(100% - 24px),
    390px
  );

  padding:9px 11px;

  border-radius:10px;

  color:#fff;

  background:#273474;

  text-align:center;

  font-size:var(--type-caption);
  font-weight:750;

  opacity:0;

  transform:
    translateX(-50%)
    translateY(8px);

  pointer-events:none;

  transition:.15s ease;
}

.toast.show{
  opacity:1;

  transform:
    translateX(-50%)
    translateY(0);
}

@media (min-width:640px){

  .shell{
    width:min(
      calc(100% - 32px),
      var(--max)
    );
  }

  .services{
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }

  .form-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .card-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .metrics{
    grid-template-columns:
      repeat(
        4,
        minmax(0,1fr)
      );
  }

  .dashboard-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .support-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }
}

@media (min-width:1000px){

  .shell{
    padding-bottom:26px;
  }

  .topbar{
    height:66px;
  }

  .desktop-nav{
    display:flex;

    align-items:center;

    gap:3px;

    padding:4px;

    border:
      1px solid var(--line);

    border-radius:12px;

    background:
      rgba(255,255,255,.07);
  }

  .desktop-nav button{
    border:0;

    border-radius:8px;

    color:#c8d3f5;

    background:transparent;

    padding:7px 10px;

    font-size:var(--type-caption);
    font-weight:850;
  }

  .desktop-nav button:hover{
    color:#fff;

    background:
      rgba(255,255,255,.09);
  }

  .hero{
    min-height:182px;

    padding:19px 22px;
  }

  .hero-title{
    font-size:var(--type-title);
  }

  .services{
    grid-template-columns:
      repeat(
        6,
        minmax(0,1fr)
      );
  }

  .service{
    min-height:118px;
  }

  .card-grid{
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }

  .dashboard-grid{
    grid-template-columns:
      1.2fr 1fr 1fr;
  }

  .support-grid{
    grid-template-columns:
      repeat(
        4,
        minmax(0,1fr)
      );
  }

  .bottom-nav{
    display:none;
  }

  .ai-fab{
    bottom:20px;

    right:
      max(
        22px,
        calc(
          (100vw - var(--max))/2
        )
      );
  }

  .ai-box{
    bottom:76px;

    right:
      max(
        22px,
        calc(
          (100vw - var(--max))/2
        )
      );
  }

  .toast{
    bottom:24px;
  }
}


/* FINNOK_V032A_EMPTY_STATE_CSS */

.catalog-empty{
  width:min(720px,100%);
  margin:42px auto 0;
  padding:36px 24px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;

  background:rgba(10,20,55,.28);

  text-align:center;
}

.catalog-empty-icon{
  width:54px;
  height:54px;

  display:grid;
  place-items:center;

  margin:0 auto 16px;

  border-radius:5px;

  background:
    linear-gradient(
      135deg,
      #7047ff,
      #18bfff
    );

  color:#fff;
  font-weight:800;
  font-size:24px;
}

.catalog-empty h2{
  margin:0 0 8px;

  color:#fff;
  font-size:var(--type-subtitle);
}

.catalog-empty p{
  max-width:520px;

  margin:0 auto 18px;

  color:rgba(255,255,255,.72);
  line-height:1.55;
}



/* FINNOK_V032B_FLOW_CSS */

.finnok-product-detail,
.flow-box,
.eligibility-summary,
.recommendation-card{
  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;
  background:rgba(10,20,55,.38);
}

.finnok-product-detail{
  padding:18px;
}

.product-detail-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:16px;
}

.product-detail-title>div{min-width:0;max-width:100%}

.product-detail-title h2{
  margin:4px 0;
}

.product-detail-title p{
  margin:0;
  opacity:.7;
}

.flow-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}

.flow-stat-grid>div{
  padding:11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:5px;
}

.flow-stat-grid small,
.eligibility-summary small,
.dsa-code-box small{
  display:block;
  margin-bottom:4px;
  opacity:.65;
}

.flow-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}

.flow-disclaimer{
  margin-top:14px;
  padding:11px;
  border-left:3px solid #6f50ff;
  background:rgba(255,255,255,.05);
  font-size:var(--type-caption);
  line-height:1.5;
}

.flow-box{
  max-width:700px;
  margin:30px auto;
  padding:24px;
  text-align:center;
}

.secure-form-note{
  grid-column:1/-1;
  padding:10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:5px;
  background:rgba(5,12,35,.48);
  font-size:var(--type-caption);
  line-height:1.5;
}

.form-card select{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;
  background:#0e1833;
  color:#fff;
  padding:0 10px;
}

.eligibility-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:10px;
  overflow:hidden;
}

.eligibility-summary>div{
  padding:14px;
  background:rgba(255,255,255,.025);
}

.eligibility-summary strong{
  display:block;
  font-size:1.125rem;
}

.recommendation-list{
  display:grid;
  gap:8px;
}

.recommendation-card{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
  padding:13px;
}

.recommendation-card h3{
  margin:4px 0 8px;
}

.recommendation-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.recommendation-tags span{
  padding:4px 6px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:5px;
  font-size:var(--type-caption);
}

.application-panel{
  margin-top:10px;
}

.application-list{
  display:grid;
  gap:7px;
  margin-top:10px;
}

.application-item{
  display:grid;
  grid-template-columns:1.4fr 1fr auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
}

.application-item strong,
.application-item small{
  display:block;
}

.application-item small{
  margin-top:3px;
  opacity:.65;
}

.dsa-code-box{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:5px;
  text-align:center;
}

.flow-empty{
  padding:12px 0;
  opacity:.65;
}

@media(max-width:700px){

  .flow-stat-grid{
    grid-template-columns:1fr 1fr;
  }

  .eligibility-summary{
    grid-template-columns:1fr;
  }

  .recommendation-card,
  .application-item{
    grid-template-columns:1fr;
  }

}



/* FINNOK_V032C_SELECTED_CARD_CSS */

.selected-card-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  margin-bottom:10px;
  padding:11px 12px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;

  background:rgba(9,18,55,.42);
}

.selected-card-context small{
  display:block;
  margin-bottom:3px;
  opacity:.66;
}

.selected-card-context strong{
  display:block;
}

@media(max-width:700px){

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

}

/* FINNOK_D3_AGENT_KYC_CSS_SINGLE_OWNER */

/*
  Canonical owner for:
  - Agent dashboard / portal
  - Agent catalogue / ledger
  - DBR breakdown
  - Agent KYC
  - Responsive behaviour

  Historical CSS owners consolidated here.
  No patch layer.
  No priority overrides.
*/


/* =========================================================
   AGENT PORTAL
   ========================================================= */

.agent-status-card,
.agent-progress-shell,
.agent-benefits,
.agent-section{
  margin-bottom:14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:5px;
  background:rgba(9,18,55,.42);
}

.agent-status-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.agent-status-card h3,
.agent-section h3,
.agent-benefits h3{
  margin:4px 0 6px;
}

.agent-status-card p{
  margin:0;
  opacity:.74;
}

.agent-progress-copy,
.agent-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.agent-progress-track{
  width:100%;
  height:9px;
  margin:12px 0;
  overflow:hidden;
  border-radius:5px;
  background:rgba(255,255,255,.10);
}

.agent-progress-bar{
  height:100%;
  background:currentColor;
  opacity:.75;
  transition:width .25s ease;
}

.agent-verification-grid,
.agent-ledger-summary{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
}

.agent-benefit-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
}



.agent-benefit-grid article,
.agent-state-pill,
.agent-ledger-summary > div{
  padding:12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:5px;
  background:rgba(255,255,255,.035);
}

.agent-benefit-grid span,
.agent-state-pill span,
.agent-ledger-summary small{
  display:block;
  margin-top:4px;
  opacity:.68;
}

.agent-state-pill.is-complete{
  border-color:rgba(80,220,150,.38);
}

.agent-state-pill.is-pending{
  border-color:rgba(255,190,70,.32);
}

.agent-private-badge,
.agent-status-tag{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:5px;
  font-size:var(--type-small);
}

.agent-catalogue{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.agent-card-row,
.agent-list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:5px;
  background:rgba(255,255,255,.035);
}

.agent-card-main,
.agent-card-commercial{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.agent-card-commercial{
  text-align:right;
}

.agent-card-main small,
.agent-card-main span,
.agent-card-commercial small,
.agent-card-commercial span,
.agent-list-row small{
  opacity:.68;
}

.agent-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.agent-list-row > div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.agent-empty{
  padding:14px 0;
  opacity:.65;
}





.dbr-disclaimer{
  display:block;
  margin-top:12px;
  opacity:.62;
}


/* =========================================================
   AGENT KYC
   ========================================================= */

.kyc-status-panel,
.kyc-panel{
  margin-bottom:14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:5px;
  background:rgba(9,18,55,.42);
}

.kyc-status-head,
.kyc-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.kyc-status-head h3,
.kyc-section-head h3,
.kyc-panel h3{
  margin:4px 0 6px;
}

.kyc-status-head p,
.kyc-note{
  margin:0;
  opacity:.72;
}

.kyc-state-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
}

.kyc-state-item{
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
}

.kyc-state-item span{
  display:block;
  margin-bottom:5px;
  opacity:.68;
}

.kyc-state-item.is-complete{
  border-color:rgba(80,220,150,.42);
}

.kyc-state-item.is-pending{
  border-color:rgba(255,190,70,.32);
}

.kyc-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:12px;
}

.kyc-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kyc-grid label span{
  font-size:var(--type-label);
  opacity:.76;
}

.kyc-grid input,
.kyc-verify-row input{
  width:100%;
  min-height:42px;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;
  color:inherit;
  background:rgba(255,255,255,.05);
  outline:none;
}

.kyc-grid input:focus,
.kyc-verify-row input:focus{
  border-color:rgba(255,255,255,.36);
}

.kyc-terms{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:14px;
}

.kyc-terms input{
  margin-top:3px;
}

.kyc-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
}

.kyc-inline-state{
  min-height:18px;
  font-size:var(--type-label);
  opacity:.76;
}

.kyc-verify-row{
  display:grid;
  grid-template-columns:
    auto minmax(160px,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:12px;
}

.kyc-complete-badge{
  display:inline-flex;
  padding:5px 8px;
  border:1px solid rgba(80,220,150,.42);
  border-radius:5px;
  font-size:var(--type-small);
}

.kyc-document-grid{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
}

.kyc-document-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
}

.kyc-document-card > div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.kyc-document-card small{
  opacity:.66;
}

.kyc-document-card input[type="file"]{
  width:100%;
  font-size:var(--type-control);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:700px){

  .agent-status-card,
  .agent-card-row,
  .agent-list-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .agent-verification-grid,
  .agent-benefit-grid,
  .agent-ledger-summary,
  

  .agent-card-commercial{
    text-align:left;
  }

  .kyc-status-head,
  .kyc-section-head{
    flex-direction:column;
  }

  .kyc-state-grid,
  .kyc-grid,
  .kyc-document-grid{
    grid-template-columns:1fr;
  }

  .kyc-verify-row{
    grid-template-columns:1fr;
  }

  .kyc-actions{
    align-items:flex-start;
    flex-direction:column;
  }

}


/* FINNOK_PHASE4B_MULTI_SERVICE_UI_SINGLE_OWNER */

.fin-hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);
  gap:18px;
  padding:26px;
  margin-bottom:20px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:
    radial-gradient(
      circle at top right,
      rgba(77,125,255,.18),
      transparent 42%
    ),
    rgba(8,17,48,.54);
}

.fin-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.fin-eyebrow{
  display:block;
  margin-bottom:7px;
  font-size:var(--type-caption);
  font-weight:800;
  letter-spacing:.12em;
  opacity:.66;
}

.fin-hero h1,
.fin-service-hero h1,
.fin-eligibility-head h1{
  margin:0;
  max-width:680px;
  font-size:var(--type-display);
  line-height:1.25;
  letter-spacing:-.035em;
}

.fin-hero p,
.fin-service-hero p,
.fin-eligibility-head p{
  max-width:680px;
  margin:14px 0 0;
  line-height:1.65;
  opacity:.72;
}

.fin-hero-actions,
.fin-service-actions,
.fin-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.fin-hero-panel{
  display:flex;
  min-height:180px;
  padding:20px;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.045);
}

.fin-hero-panel span{
  font-size:var(--type-small);
  opacity:.62;
}

.fin-hero-panel strong{
  margin-top:7px;
  font-size:var(--type-subtitle);
}

.fin-hero-panel small{
  margin-top:9px;
  line-height:1.5;
  opacity:.62;
}

.fin-section{
  margin-bottom:22px;
}

.fin-section-head,
.fin-panel-head,
.fin-selector-head,
.fin-eligibility-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.fin-section-head h2,
.fin-panel-head h2,
.fin-selector-head h2{
  margin:0;
  font-size:var(--type-subtitle);
}

.fin-text-action{
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  cursor:pointer;
  opacity:.76;
}

.fin-service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.fin-service-card{
  display:flex;
  min-height:115px;
  padding:15px;
  align-items:center;
  gap:12px;
  text-align:left;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  color:inherit;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.fin-service-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.065);
}

.fin-service-icon,
.fin-service-large-icon{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
}

.fin-service-icon{
  width:42px;
  height:42px;
  border-radius:8px;
  font-size:19px;
}

.fin-service-large-icon{
  width:68px;
  height:68px;
  border-radius:12px;
  font-size:28px;
}

.fin-service-copy{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
}

.fin-service-copy strong{
  font-size:var(--type-body);
  line-height:1.3;
}

.fin-service-copy small{
  margin-top:5px;
  line-height:1.35;
  opacity:.58;
}

.fin-service-arrow{
  opacity:.46;
}

.fin-inline-message{
  margin:12px 0 0;
  font-size:var(--type-label);
  opacity:.68;
}

.fin-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:20px;
}

.fin-trust-grid article{
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:rgba(255,255,255,.025);
}

.fin-trust-grid article > span{
  display:block;
  margin-bottom:12px;
  font-size:var(--type-caption);
  opacity:.5;
}

.fin-trust-grid strong{
  display:block;
}

.fin-trust-grid p{
  margin:7px 0 0;
  font-size:var(--type-label);
  line-height:1.55;
  opacity:.62;
}

.fin-service-hero{
  padding:22px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(9,18,55,.48);
}

.fin-service-hero-main{
  display:flex;
  align-items:flex-start;
  gap:17px;
  margin-top:20px;
}

.fin-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}

.fin-badges span{
  display:inline-flex;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  font-size:var(--type-caption);
  opacity:.75;
}

.fin-two-column{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.fin-panel{
  padding:17px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:rgba(255,255,255,.025);
}

.fin-workflow-version{
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  font-size:var(--type-caption);
  opacity:.65;
}

.fin-assessment-list{
  display:grid;
  gap:8px;
}

.fin-assessment-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:7px;
}

.fin-assessment-row span{
  display:flex;
  width:27px;
  height:27px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  font-size:var(--type-caption);
}

.fin-assessment-row strong{
  font-size:var(--type-label);
}

.fin-product-list{
  display:grid;
  gap:8px;
}

.fin-product-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;
}

.fin-product-card small{
  opacity:.58;
}

.fin-product-card h3{
  margin:5px 0 2px;
  font-size:var(--type-body);
}

.fin-product-card p{
  margin:0;
  font-size:var(--type-small);
  opacity:.62;
}

.fin-product-mode{
  align-self:flex-start;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  font-size:var(--type-caption);
  text-transform:capitalize;
}

.fin-empty-state{
  padding:22px 12px;
  text-align:center;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:7px;
}

.fin-empty-state p{
  max-width:420px;
  margin:7px auto 0;
  font-size:var(--type-label);
  line-height:1.55;
  opacity:.62;
}

.fin-selector{
  padding:16px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:rgba(255,255,255,.025);
}

.fin-selector-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.fin-selector-card{
  display:flex;
  min-height:74px;
  padding:11px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;
  color:inherit;
  background:rgba(255,255,255,.025);
  cursor:pointer;
}

.fin-selector-card.active{
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.085);
}

.fin-selector-card span{
  font-size:1.125rem;
}

.fin-selector-card strong{
  font-size:var(--type-small);
  line-height:1.3;
}

.fin-eligibility-shell{
  display:block;
}

.fin-eligibility-head{
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px 9px 0 0;
  background:rgba(9,18,55,.42);
}

.fin-eligibility-head h1{
  font-size:var(--type-title);
}

.fin-form-panel{
  padding:18px;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  border-left:1px solid rgba(255,255,255,.12);
  border-radius:0 0 9px 9px;
  background:rgba(255,255,255,.02);
}

.fin-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}

.fin-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.fin-field > span{
  font-size:var(--type-small);
  opacity:.7;
}

.fin-field input,
.fin-field select{
  width:100%;
  min-height:43px;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  color:inherit;
  background:rgba(255,255,255,.045);
  outline:none;
}

.fin-field select option{
  color:#111;
}

.fin-field input:focus,
.fin-field select:focus{
  border-color:rgba(255,255,255,.34);
}

.fin-consent-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:15px;
  font-size:var(--type-small);
  line-height:1.5;
  opacity:.76;
}

.fin-consent-row input{
  margin-top:3px;
}

.fin-disclaimer{
  margin-top:12px;
  padding:13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;
  background:rgba(255,255,255,.02);
}

.fin-disclaimer strong{
  font-size:var(--type-small);
}

.fin-disclaimer p{
  margin:5px 0 0;
  font-size:var(--type-small);
  line-height:1.55;
  opacity:.62;
}


@media(max-width:900px){

  .fin-service-grid,
  .fin-selector-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .fin-hero,
  .fin-two-column{
    grid-template-columns:1fr;
  }

}


@media(max-width:600px){

  .fin-hero{
    padding:18px;
  }

  .fin-service-grid,
  .fin-selector-grid,
  .fin-trust-grid,
  .fin-form-grid{
    grid-template-columns:1fr;
  }

  .fin-service-card{
    min-height:86px;
  }

  .fin-service-hero-main{
    flex-direction:column;
  }

  .fin-section-head,
  .fin-panel-head,
  .fin-selector-head,
  .fin-eligibility-head{
    flex-direction:column;
  }

  .fin-service-actions,
  .fin-form-actions,
  .fin-hero-actions{
    width:100%;
  }

  .fin-service-actions .btn,
  .fin-form-actions .btn,
  .fin-hero-actions .btn{
    flex:1 1 auto;
  }

}


/* FINNOK_PHASE5_AGENT_BUSINESS_UI_SINGLE_OWNER */

.ab-dashboard{
  display:block;
}

.ab-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:15px;
  padding:19px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:rgba(9,18,55,.42);
}

.ab-dashboard-head h1{
  margin:0;
  font-size:var(--type-title);
  line-height:1.25;
}

.ab-dashboard-head p{
  max-width:640px;
  margin:8px 0 0;
  font-size:var(--type-label);
  line-height:1.55;
  opacity:.65;
}

.ab-account-box{
  display:flex;
  min-width:185px;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:7px;
  background:rgba(255,255,255,.035);
}

.ab-account-box small{
  display:block;
  margin-bottom:2px;
  font-size:var(--type-caption);
  opacity:.55;
}

.ab-account-box strong{
  font-size:var(--type-label);
}

.ab-account-dot{
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(255,255,255,.28);
}

.ab-account-dot.active{
  background:#43d17a;
  box-shadow:0 0 0 4px rgba(67,209,122,.11);
}

.ab-kyc-button{
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:5px;
  color:inherit;
  background:transparent;
  font-size:var(--type-caption);
  cursor:pointer;
}

.ab-service-tabs{
  display:flex;
  gap:7px;
  margin-bottom:13px;
  padding-bottom:2px;
  overflow-x:auto;
  scrollbar-width:none;
}

.ab-service-tabs::-webkit-scrollbar{
  display:none;
}

.ab-service-tab{
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:6px;
  color:inherit;
  background:rgba(255,255,255,.025);
  font-size:var(--type-caption);
  cursor:pointer;
}

.ab-service-tab.active{
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.09);
}

.ab-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:13px;
}

.ab-metrics article{
  min-width:0;
  padding:13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;
  background:rgba(255,255,255,.028);
}

.ab-metrics small,
.ab-earning-summary small{
  display:block;
  margin-bottom:6px;
  font-size:var(--type-caption);
  opacity:.55;
}

.ab-metrics strong,
.ab-earning-summary strong{
  font-size:var(--type-body);
}

.ab-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:11px;
  margin-bottom:11px;
}

.ab-panel{
  padding:15px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:rgba(255,255,255,.025);
}

.ab-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.ab-panel-head h2{
  margin:0;
  font-size:1.125rem;
}

.ab-private-pill{
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  font-size:var(--type-caption);
  letter-spacing:.05em;
  opacity:.58;
}

.ab-commercial-list,
.ab-application-list,
.ab-ledger-list{
  display:grid;
  gap:7px;
}

.ab-commercial-row{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:6px;
}

.ab-commercial-product{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.ab-commercial-product small{
  margin-bottom:5px;
  font-size:var(--type-caption);
  opacity:.52;
}

.ab-commercial-product strong{
  font-size:var(--type-label);
  line-height:1.4;
}

.ab-commercial-data{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.ab-commercial-data > div{
  min-width:0;
}

.ab-commercial-data small{
  display:block;
  margin-bottom:4px;
  font-size:var(--type-caption);
  opacity:.5;
}

.ab-commercial-data strong{
  display:block;
  overflow:hidden;
  font-size:var(--type-caption);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ab-application-row,
.ab-ledger-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:11px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:6px;
}

.ab-application-row > div:first-child,
.ab-ledger-row > div{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}

.ab-application-row small,
.ab-ledger-row small{
  font-size:var(--type-caption);
  opacity:.54;
}

.ab-application-row strong,
.ab-ledger-row strong{
  font-size:var(--type-small);
}

.ab-application-row span{
  font-size:var(--type-caption);
  opacity:.62;
}

.ab-application-meta{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:4px;
}

.ab-status{
  display:inline-flex;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  font-size:var(--type-caption);
  opacity:.8;
}

.ab-status.positive{
  border-color:rgba(67,209,122,.28);
  background:rgba(67,209,122,.07);
}

.ab-status.negative{
  border-color:rgba(255,96,96,.28);
  background:rgba(255,96,96,.07);
}

.ab-status.pending{
  border-color:rgba(255,196,77,.24);
  background:rgba(255,196,77,.06);
}

.ab-earning-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}

.ab-earning-summary article{
  min-width:0;
  padding:11px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:6px;
}

.ab-ledger-row > div:last-child{
  align-items:flex-end;
  text-align:right;
}

.ab-empty{
  padding:24px 12px;
  text-align:center;
  border:1px dashed rgba(255,255,255,.11);
  border-radius:6px;
}

.ab-empty strong{
  display:block;
  font-size:var(--type-label);
}

.ab-empty p{
  max-width:430px;
  margin:6px auto 0;
  font-size:var(--type-caption);
  line-height:1.55;
  opacity:.56;
}

.ab-ledger-empty{
  margin-top:4px;
}


@media(max-width:1000px){

  .ab-metrics,
  .ab-earning-summary{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }

  .ab-grid{
    grid-template-columns:1fr;
  }

}


@media(max-width:720px){

  .ab-dashboard-head{
    flex-direction:column;
  }

  .ab-account-box{
    width:100%;
    box-sizing:border-box;
  }

  .ab-commercial-row{
    grid-template-columns:1fr;
  }

  .ab-commercial-data{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


@media(max-width:520px){

  .ab-metrics,
  .ab-earning-summary{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .ab-commercial-data{
    grid-template-columns:1fr 1fr;
  }

  .ab-application-row,
  .ab-ledger-row{
    flex-direction:column;
  }

  .ab-application-meta,
  .ab-ledger-row > div:last-child{
    align-items:flex-start;
    text-align:left;
  }

}

/* =========================================================
   FINNOK H5A ONE-OWNER CUSTOMER JOURNEY
   ========================================================= */

.h5-products-page{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
}

.h5-detail-head{
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:rgba(8,17,48,.42);
}


.h5-catalogue-head>div{min-width:0;max-width:100%}

.h5-product-detail h1{
  margin:4px 0 8px;
  font-size:var(--type-display);
  line-height:1.25;
}

.h5-product-detail p{
  max-width:720px;
  margin:0;
  line-height:1.55;
  opacity:.72;
}

.h5-detail-actions,
.h5-empty-actions,
.h5-product-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.h5-catalogue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:nowrap}
.h5-catalogue-head>div{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.atelier-shell .h5-catalogue-head h2{margin:0;min-width:0;line-height:1.25;display:flex;align-items:center;height:44px}
.h5-catalogue-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;width:min(440px,52%);min-width:0;flex-shrink:0}
.h5-catalogue-search input{box-sizing:border-box;width:100%;min-width:0;height:44px;padding:10px 12px;border:1px solid var(--muted);border-radius:5px;background:var(--surface);color:var(--white)}
.h5-catalogue-search .btn{height:44px;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center}
.h5-catalogue-search .h5-product-count{text-align:right;white-space:nowrap}
@media(max-width:639px){
 .h5-catalogue-head{gap:6px}
 .h5-catalogue-head>div{gap:4px}
 .atelier-shell .h5-catalogue-head h2{font-size:var(--type-small);height:36px}
 .h5-catalogue-search{width:72%;gap:3px}
 .h5-catalogue-search input{height:36px;padding:6px;font-size:var(--type-control)}
 .h5-catalogue-search .btn{height:36px;min-height:36px;padding:0 5px;font-size:var(--type-caption)}
 .h5-catalogue-search .h5-product-count{font-size:var(--type-caption);padding:3px}
}

.h5-product-count{
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  font-size:var(--type-caption);
  opacity:.7;
}

.h5-product-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
@media(min-width:640px){.h5-product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.h5-product-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.h5-product-pagination{margin-top:16px;min-width:0}
.h5-pagination-controls{display:flex;gap:8px;max-width:420px;margin-inline:auto}
.h5-pagination-controls .btn{flex:1;min-width:0;height:44px;padding:0 8px;white-space:nowrap}
.h5-product-pagination p{text-align:center;font-size:var(--type-small);margin:10px 0 0}

.h5-empty-products{
  padding:38px 18px;
  text-align:center;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:9px;
}

.h5-empty-products strong{
  display:block;
  font-size:1.125rem;
}

.h5-empty-products p{
  max-width:560px;
  margin:9px auto 18px;
  line-height:1.55;
  opacity:.68;
}

.h5-empty-actions{
  justify-content:center;
}

.h5-product-detail{
  display:grid;
  gap:18px;
}

.h5-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.h5-detail-grid article{
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
}

.h5-detail-grid small{
  display:block;
  margin-bottom:5px;
  opacity:.58;
}

.h5-detail-grid strong{
  font-size:var(--type-body);
}

.h5-official-source{
  display:inline-block;
  width:max-content;
  max-width:100%;
  opacity:.82;
  text-decoration:none;
}

.h5-selected-product{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
}

.h5-selected-product small{
  opacity:.6;
}

.h5-selected-product h3{
  margin:4px 0 2px;
}

.h5-selected-product p{
  margin:0;
  opacity:.65;
}

.h5-form-section-head{
  padding:13px 15px;
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
}

.h5-form-section-head p{
  margin:5px 0 0;
  font-size:var(--type-small);
  opacity:.68;
}

@media (max-width:820px){

    .h5-detail-head,
  .h5-selected-product{
    flex-direction:column;
  }

  .h5-detail-grid{
    grid-template-columns:1fr;
  }

    .h5-detail-actions,
  .h5-product-actions{
    width:100%;
  }

  .h5-detail-actions .btn,
  .h5-product-actions .btn{
    flex:1 1 130px;
  }
}


/* FINNOK_H6C1A_PRODUCT_EVIDENCE_CSS */

.h6c1-card-art-image{
  overflow:hidden;
  padding:8px;
}

.h6c1-card-art-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.h6c1-product-evidence{
  display:grid;
  grid-template-columns:
    minmax(220px,340px)
    minmax(0,1fr);
  gap:22px;
  margin:22px 0;
  padding:18px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}

.h6c1-product-image{
  align-self:start;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:10px;
  overflow:hidden;
}

.h6c1-product-image img{
  display:block;
  width:100%;
  max-height:250px;
  object-fit:contain;
}

.h6c1-product-image-empty{
  text-align:center;
  opacity:.65;
  font-size:var(--type-label);
}

.h6c1-product-evidence-body{
  min-width:0;
}

.h6c1-evidence-heading small{
  font-weight:800;
  letter-spacing:.08em;
}

.h6c1-evidence-heading p{
  margin:10px 0 0;
  line-height:1.65;
}

.h6c1-evidence-section{
  margin-top:20px;
}

.h6c1-evidence-section h3{
  margin:0 0 10px;
  font-size:var(--type-body);
}

.h6c1-evidence-grid{
  display:grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(180px,1fr)
    );
  gap:10px;
}

.h6c1-evidence-item{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:11px 12px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:8px;
}

.h6c1-evidence-item small{
  opacity:.68;
  line-height:1.35;
}

.h6c1-evidence-item strong{
  line-height:1.45;
  overflow-wrap:anywhere;
}

.h6c1-official-source{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(148,163,184,.16);
}

.h6c1-official-source > div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

@media(max-width:720px){

  .h6c1-product-evidence{
    grid-template-columns:1fr;
    padding:14px;
  }

  .h6c1-product-image{
    min-height:160px;
  }

  .h6c1-official-source{
    flex-direction:column;
    align-items:stretch;
  }

  .h6c1-official-source .btn{
    width:100%;
  }
}


/* FINNOK_CC_FIRST_LISTING_MEDIA_OWNER */

.h5-product-media{
  display:flex;
  width:300px;
  max-width:100%;
  height:210px;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  overflow:visible;
  margin:0 0 10px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.h5-product-media img,
.h5-product-media .finnok-credit-card-canvas{
  display:block;
  width:300px;
  max-width:100%;
  height:210px;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:transparent;
  filter:drop-shadow(
    0 14px 16px
    rgba(0,0,0,.28)
  );
}

@media (max-width:720px){

  .h5-product-media{
    width:100%;
    height:196px;
    flex:0 0 auto;
    margin:0 0 10px;
  }

  .h5-product-media img,
  .h5-product-media .finnok-credit-card-canvas{
    width:280px;
    max-width:92%;
    height:196px;
  }

}


/* Canonical eight-service product card component. */
.h5-product-card{min-width:0;display:flex;flex-direction:column;background:var(--surface);color:var(--white);border:1px solid var(--line);border-radius:5px;gap:12px;padding:20px;box-shadow:0 5px 18px #143c3210;transition:box-shadow .2s,border-color .2s,transform .2s}
.h5-card-heading{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:start;gap:8px;min-width:0;height:50px}
.h5-card-badges{display:flex;flex-direction:column;gap:4px;width:112px;margin-right:-20px;justify-self:end}
.h5-card-badges span{display:block;width:100%;height:23px;box-sizing:border-box;font-size:var(--type-caption);font-weight:700;line-height:23px;padding:0 5px 0 15px;border:0;border-radius:0!important;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.h5-fee-badge{background:linear-gradient(110deg,#8b2635,#3b0c16);clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%)}
.h5-category-badge{background:linear-gradient(110deg,#173f78,#081a39);clip-path:polygon(23px 0,100% 0,100% 100%,0 100%)}
.h5-product-card:hover{border-color:var(--gold);box-shadow:0 12px 28px #143c3226;transform:translateY(-3px)}
.h5-product-card .h5-product-identity{min-width:0}
.h5-product-card .h5-product-provider{display:block;opacity:1;color:var(--muted);font-size:var(--type-small);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h5-product-card h3{margin:5px 0 0;font-size:1.125rem;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h5-product-card .h5-product-media{width:100%;height:210px;margin:0;align-self:center}
.h5-product-card .h5-product-media img{width:300px;max-width:100%;height:210px;object-fit:contain;filter:drop-shadow(0 10px 12px #123c322e);transition:filter .2s,transform .2s}
.h5-product-card:hover .h5-product-media img{filter:drop-shadow(0 16px 16px #123c3252);transform:translateY(-4px)}
.h5-product-card .image-unavailable{background:var(--surface2);color:var(--muted);border-radius:5px}
.h5-product-card .h5-product-description{margin:0!important;font-size:var(--type-label);line-height:20px;height:40px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:break-word;overflow:hidden;color:var(--muted)}
.h5-product-card .h5-product-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}
.h5-product-card .h5-product-actions .btn{width:100%;min-width:0;height:44px;padding:0 8px;border-radius:5px}
html[data-atelier-theme=dark] .h5-product-card{box-shadow:0 5px 18px #0005}
html[data-atelier-theme=dark] .h5-product-card:hover{box-shadow:0 12px 30px #0009}
html[data-atelier-theme=dark] .h5-product-card .h5-product-media img{filter:drop-shadow(0 12px 14px #0009)}
html[data-atelier-theme=dark] .h5-product-card:hover .h5-product-media img{filter:drop-shadow(0 17px 18px #000c)}
@media(max-width:600px){.h5-product-card{padding:16px}.h5-product-card h3{font-size:var(--type-body)}.h5-product-card .h5-product-media,.h5-product-card .h5-product-media img{height:196px}}

.h5-product-card[data-product-service=personal_loans] .h5-fee-badge{background:linear-gradient(110deg,#854c29,#362012);clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%)}
.h5-product-card[data-product-service=personal_loans] .h5-category-badge{background:linear-gradient(110deg,#4c385d,#20152e);clip-path:polygon(0 0,100% 0,100% 100%,8px 100%)}
.h5-product-card[data-product-service=vehicle_finance] .h5-fee-badge{background:linear-gradient(110deg,#08715c,#023a31);clip-path:polygon(10px 0,100% 0,100% 100%,0 100%)}
.h5-product-card[data-product-service=vehicle_finance] .h5-category-badge{background:linear-gradient(110deg,#225b89,#0b233e);clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%)}
.h5-product-card[data-product-service=mortgage] .h5-fee-badge{background:linear-gradient(110deg,#625298,#251c4b);clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%)}
.h5-product-card[data-product-service=mortgage] .h5-category-badge{background:linear-gradient(110deg,#934c64,#401e31);clip-path:polygon(0 0,100% 0,100% 100%,12px 100%)}
.h5-product-card[data-product-service=insurance] .h5-fee-badge{background:linear-gradient(110deg,#a13957,#491528);clip-path:polygon(14px 0,100% 0,100% 100%,0 100%)}
.h5-product-card[data-product-service=insurance] .h5-category-badge{background:linear-gradient(110deg,#345a6c,#162c3b);clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}
.h5-product-card[data-product-service=business_accounts] .h5-fee-badge{background:linear-gradient(110deg,#186779,#08353f);clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%)}
.h5-product-card[data-product-service=business_accounts] .h5-category-badge{background:linear-gradient(110deg,#65502c,#2c2110);clip-path:polygon(0 0,100% 0,100% 100%,16px 100%)}
.h5-product-card[data-product-service=sme_finance] .h5-fee-badge{background:linear-gradient(110deg,#9b501f,#45230d);clip-path:polygon(18px 0,100% 0,100% 100%,0 100%)}
.h5-product-card[data-product-service=sme_finance] .h5-category-badge{background:linear-gradient(110deg,#494473,#201d39);clip-path:polygon(18px 0,100% 0,100% 100%,18px 100%,0 50%)}
.h5-product-card[data-product-service=investments] .h5-fee-badge{background:linear-gradient(110deg,#427247,#163d24);clip-path:polygon(20px 0,100% 0,100% 100%,20px 100%,0 50%)}
.h5-product-card[data-product-service=investments] .h5-category-badge{background:linear-gradient(110deg,#7a6130,#35260e);clip-path:polygon(0 0,100% 0,100% 100%,20px 100%)}

/* Card Details: source-backed offer tiles replace the large artwork panel. */
/* Canonical credit-card details */
.cc-detail-page{background:none;border:0;padding:0;min-width:0;color:var(--white)}
.cc-detail-page .product-detail-title h2{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;height:auto}
.cc-detail-content{display:grid;gap:24px;min-width:0}
.cc-highlight-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.cc-highlight{background:none;border:1px solid var(--line);border-radius:5px;padding:10px;min-width:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:center;gap:10px;height:82px;box-sizing:border-box}
.cc-highlight small{font-size:var(--type-small);color:var(--muted)}
.cc-highlight strong{font-size:var(--type-label);line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;text-align:right;overflow-wrap:anywhere}
.cc-detail-content h3,.cc-detail-content h4{white-space:normal;overflow:visible;margin:0 0 8px;line-height:1.4}
.cc-detail-row{padding:14px 0;border-bottom:1px solid var(--line);background:none;min-width:0;overflow-wrap:anywhere}
.cc-detail-row ul{margin:0;padding-left:20px}
.cc-detail-row li{margin:6px 0}
.cc-detail-content p{margin:8px 0;overflow-wrap:anywhere}
.cc-source-status{display:block;color:var(--muted)}
@media(min-width:640px){.cc-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.cc-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Atelier Gold: canonical FINNOK presentation; financial source detail remains complete. */
:root{--bg:#f4f4ef;--bg2:#ecf1e9;--surface:#fffffc;--surface2:#eff3eb;--surface3:#f8faf5;--white:#173b31;--ink:#173b31;--muted:#63766f;--muted-dark:#63766f;--line:#dce4dc;--line-light:#dce4dc;--violet:#7d622f;--purple:#917337;--blue:#356951;--cyan:#4b8974;--green:#2a7c5d;--gold:#ad873f;--radius:5px;--radius-sm:5px;--max:1280px}
html[data-atelier-theme=dark]{--bg:#101f1b;--bg2:#172920;--surface:#172a24;--surface2:#24392e;--surface3:#20362b;--white:#edf3ec;--ink:#edf3ec;--muted:#a6b9ad;--muted-dark:#a6b9ad;--line:#31483d;--line-light:#31483d;--violet:#d2b675;--purple:#d2b675;--blue:#99bea5;--cyan:#99bea5;--gold:#d2b675}
body{background:radial-gradient(ellipse at 95% 0%,#e1eee345,transparent 48%),var(--bg);color:var(--white);font-family:var(--type-font);font-size:var(--type-body);line-height:1.5}button,input,select,textarea{font:inherit;line-height:1.4;font-size:var(--type-control)}button,input,select,textarea,.btn,.logo,.user-chip,.icon-btn,.drawer,[class*="card"],[class*="panel"],[class*="tile"],[class*="badge"],.fin-service-icon,.offer-art,.fin-discovery-status,.fin-offers-scroll,.role-btn,.auth-tab,.atelier-command-box{border-radius:5px!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a68c50;outline-offset:3px}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,h4,.card-name,.fin-service-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em}h1{font-size:var(--type-title)}h2{font-size:var(--type-subtitle)}h3{font-size:1.125rem}.atelier-layout{min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr)}.atelier-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(155deg,#103e32,#132e28 65%,#223529);color:#e9eef0;padding:28px 20px;display:flex;flex-direction:column}.atelier-sidebar .brand-name{color:#e9eef0;font-size:21px;letter-spacing:.07em}.atelier-sidebar .brand-key{color:#a9c0b5;font-size:8px}.logo{background:linear-gradient(135deg,#ecc879,#a8792e);color:#21352d;box-shadow:0 4px 14px #0002;width:36px;height:36px}.atelier-nav{display:grid!important;padding:0!important;background:none!important;border:0!important;gap:8px;margin-top:38px}.atelier-nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;background:transparent;border:1px solid transparent;color:#d2dfd6;font-size:var(--type-label)}.atelier-nav button.active{background:linear-gradient(90deg,#d7b46b28,#d7b46b08);border-color:#d7b46b38;box-shadow:inset 3px 0 #d8b76f;color:#fff}.atelier-nav button.active svg{color:#e3c784}.atelier-sidebar-foot{margin-top:auto}.atelier-sidebar-foot button{display:flex;align-items:center;gap:10px;background:transparent;color:#d2dfd6;border:0;padding:12px 14px;width:100%;text-align:left}.atelier-shell{width:100%;max-width:none;margin:0;padding:0!important;min-width:0}.topbar{height:78px;padding:0 36px;background:var(--surface);border-bottom:1px solid var(--line);margin:0}.topbar>.brand{display:none}.topbar #menuOpen{display:none}.topbar .user-chip,.topbar .icon-btn{background:var(--surface);border:1px solid var(--line);color:var(--white);font-size:12px}.atelier-command{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 13px;background:var(--bg);color:var(--muted);border:1px solid var(--line);font-size:var(--type-small);width:270px}.atelier-command kbd{font:10px system-ui;border:1px solid var(--line);padding:2px 4px;border-radius:5px}.atelier-content{max-width:1280px;margin:auto;padding:32px 36px 48px;min-width:0}.atelier-home-quick{display:none}.atelier-home{margin:0}.atelier-home .fin-section-head{margin:0 0 25px}.atelier-home h1{font-size:var(--type-title);margin:0}.atelier-home .fin-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fin-service-card{--tone:#376cb0;--wash:#edf4fc;position:relative;min-width:0;height:188px;min-height:0;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px;background:linear-gradient(150deg,var(--surface) 25%,var(--wash));border:1px solid color-mix(in srgb,var(--tone) 16%,var(--line));border-top:2px solid var(--tone);box-shadow:0 5px 18px #143b2405}.fin-service-card:nth-child(2){--tone:#26795e;--wash:#eaf6ee}.fin-service-card:nth-child(3){--tone:#b2712d;--wash:#fff3e5}.fin-service-card:nth-child(4){--tone:#875aae;--wash:#f2ecfb}.fin-service-card:nth-child(5){--tone:#b35e7d;--wash:#fceef3}.fin-service-card:nth-child(6){--tone:#347f8c;--wash:#eaf7f7}.fin-service-card:nth-child(7){--tone:#9b792d;--wash:#fbf4df}.fin-service-card:nth-child(8){--tone:#627b3b;--wash:#f0f6e7}.fin-service-icon{width:36px;height:36px;background:var(--wash);border:1px solid color-mix(in srgb,var(--tone) 15%,transparent);color:var(--tone)}.fin-service-copy{min-width:0;width:100%}.fin-service-copy strong{font-size:var(--type-body);display:block;line-height:1.4}.fin-service-copy small{display:none}.fin-service-arrow{position:absolute;right:16px;bottom:17px;color:var(--tone)}.fin-service-card:hover{transform:translateY(-2px);border-color:var(--tone);box-shadow:0 10px 22px #263b300b}
.atelier-shell .panel,.atelier-shell .auth-card,.atelier-shell .credit-card,.atelier-shell .fin-service-panel,.atelier-shell .fin-discovery-top,.atelier-shell .fin-discovery-detail-head,.atelier-shell .fin-discovery-search-panel,.atelier-shell .fin-filter-panel,.atelier-shell .fin-compare-panel,.atelier-shell .fin-discovery-product-card,.atelier-shell .fin-offers-overview,.atelier-shell .selected-card-context,.atelier-shell .recommendation-card,.atelier-shell .application-panel,.atelier-shell .fin-workflow-panel,.atelier-shell .ab-dashboard-card{background:var(--surface);border:1px solid var(--line);color:var(--white);box-shadow:0 4px 15px #173b3104}.atelier-shell .panel,.atelier-shell .auth-card{padding:22px}.atelier-shell .panel-title{font-size:var(--type-body);font-weight:650}.atelier-shell p,.atelier-shell small{color:var(--muted)}.atelier-shell input,.atelier-shell select,.atelier-shell textarea,.drawer input{background:var(--surface2);border:1px solid var(--line);color:var(--white);padding:11px 13px}.btn{font-size:var(--type-label);font-weight:600;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(120deg,#987535,#806020);border:1px solid #806020;color:#fff;box-shadow:0 4px 10px #80602018}.btn-secondary{background:var(--surface2);border:1px solid var(--line);color:var(--blue)}.fin-text-action,.atelier-shell a,.fin-source-link,.fin-discovery-detail-back{color:var(--blue)}.atelier-shell .auth-tab,.atelier-shell .role-btn{background:var(--surface);border:1px solid var(--line);color:var(--muted)}.atelier-shell .auth-tab.active,.atelier-shell .role-btn.active{background:var(--surface2);color:var(--gold);border-color:var(--gold)}.auth-card{color:var(--white)}.auth-title h2,.auth-title h3{font-size:var(--type-subtitle)}.auth-card label{font-size:var(--type-small)}.atelier-shell .card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.atelier-shell .credit-card{display:flex;flex-direction:column;padding:18px;min-width:0}.atelier-shell .card-art{height:140px;width:100%;background:var(--surface2);border-radius:5px;display:grid;place-items:center}.atelier-shell .card-art img{max-height:135px;object-fit:contain}.atelier-shell .card-name{font-size:var(--type-body);color:var(--white);line-height:1.5}.atelier-shell .card-bank{font-size:var(--type-caption);color:var(--muted)}.atelier-shell .credit-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--type-small);line-height:1.5;height:3em}.atelier-shell .card-offer-intro h3{font-size:var(--type-subtitle);color:var(--white)}.atelier-shell .card-offer-intro small{color:var(--muted)}.atelier-shell .fin-discovery-top{padding:20px}.atelier-shell .fin-discovery-heading h1{font-size:var(--type-title);color:var(--white)}.atelier-shell .fin-discovery-heading p{font-size:var(--type-small)}.atelier-shell .fin-discovery-status{background:var(--surface2);border:1px solid var(--line);color:var(--white)}.atelier-shell .fin-discovery-status span{color:var(--muted)}.atelier-shell .fin-offers-table{background:var(--surface);color:var(--white)}.atelier-shell .fin-offers-table th,.atelier-shell .fin-offers-table td{color:var(--white);background:var(--surface);border-color:var(--line);font-size:var(--type-small)}.atelier-shell .fin-offers-table thead th,.atelier-shell .fin-offers-table caption{background:var(--surface2);color:var(--muted)}.atelier-shell .fin-offers-table td p{font-size:var(--type-small);line-height:1.6}.atelier-shell .fin-web-table td>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:3.2em}.atelier-shell .fin-offers-table th strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atelier-shell .fin-empty-state,.atelier-shell .fin-disclaimer{background:var(--surface2);color:var(--muted);border-color:var(--line)}.atelier-shell .fin-disclaimer strong{color:var(--white)}.atelier-shell .fin-service-large-icon{color:var(--gold);background:var(--surface2);border-color:var(--line)}.drawer{background:var(--surface);color:var(--white);max-width:320px}.drawer-item{color:var(--white);border:1px solid transparent;background:transparent}.drawer-item:hover{background:var(--surface2)}.drawer-item span,.drawer-item strong{color:var(--white)}.drawer-item>span>span{display:none}.drawer-icon{background:var(--surface2);color:var(--gold)}.drawer-head .brand-name{color:var(--white)}.bottom-nav{display:none!important}.atelier-command-layer{position:fixed;inset:0;z-index:100;background:#08251aaa;backdrop-filter:blur(5px);padding:12vh 20px;display:flex;justify-content:center;align-items:flex-start}.atelier-command-box{padding:22px;width:min(600px,100%);max-height:70vh;overflow:auto;background:var(--surface);color:var(--white);border:1px solid var(--line);box-shadow:0 30px 90px #0003}.atelier-command-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:17px}.atelier-command-head button{background:transparent;color:var(--white);border:0}.atelier-command-box input{width:100%;background:var(--surface2);color:var(--white);border:1px solid var(--line);padding:12px}.atelier-command-results{display:grid;gap:8px;margin-top:12px}.atelier-command-results button{padding:12px;text-align:left;background:var(--surface2);color:var(--white);border:1px solid var(--line)}button,.btn,.fin-service-card{transition:transform .15s,box-shadow .15s,border-color .15s}.btn:active{transform:translateY(1px)}html[data-atelier-theme=dark] .fin-service-card{background:linear-gradient(145deg,var(--surface),var(--surface2));border-color:var(--line)}html[data-atelier-theme=dark] .fin-service-icon{background:var(--surface2);color:#d5c697;border-color:var(--line)}
@media(max-width:1099px){.atelier-layout{grid-template-columns:minmax(0,1fr)}.atelier-sidebar{display:none}.topbar{padding:0 26px}.topbar>.brand{display:flex}.topbar #menuOpen{display:block}.atelier-command{display:none}.atelier-content{padding:26px}.atelier-home-quick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}.atelier-home .fin-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.atelier-shell .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .brand-name{color:var(--white)}.topbar .brand-key{color:var(--muted)}}
@media(max-width:639px){.topbar{height:auto;min-height:67px;padding:12px 16px;flex-wrap:wrap;gap:8px;justify-content:space-between}.topbar .brand-name{font-size:18px}.topbar .brand-key{font-size:7px}.topbar .logo{width:31px;height:31px}.top-actions{gap:6px}.topbar .user-chip{font-size:var(--type-caption);padding:7px}.topbar .icon-btn{width:29px;height:29px;font-size:14px}.atelier-content{padding:22px 16px 32px}.atelier-home h1{font-size:var(--type-title)}.atelier-home .fin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fin-service-card{height:148px;padding:16px;gap:15px}.fin-service-copy strong{font-size:var(--type-small)}.fin-service-icon{width:31px;height:31px}.fin-service-arrow{font-size:var(--type-body);right:12px;bottom:12px}.atelier-shell .card-grid{grid-template-columns:minmax(0,1fr)}.atelier-shell .fin-discovery-heading h1{font-size:var(--type-title)}.atelier-shell .fin-discovery-heading p{font-size:var(--type-caption)}.atelier-shell .panel,.atelier-shell .auth-card{padding:18px}h1{font-size:var(--type-title)}h2{font-size:var(--type-subtitle)}.atelier-shell .fin-discovery-top{padding:17px}.atelier-command-layer{padding:9vh 14px}.atelier-shell [class*="grid"]>*{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Canonical module surfaces */
.atelier-shell .fin-service-hero,.atelier-shell .fin-product-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;color:var(--white)}
.atelier-shell .fin-service-hero{padding:18px}.atelier-shell .fin-service-hero p{display:none}

.atelier-shell label,.atelier-shell .field-label{color:var(--ink)}.atelier-shell input::placeholder,.atelier-shell textarea::placeholder{color:var(--muted);opacity:1}.atelier-shell .back-btn{color:var(--ink)}

.atelier-shell section,.atelier-shell article,.atelier-shell .fin-discovery-heading,.atelier-shell .fin-discovery-icon{border-radius:5px!important}.atelier-shell .fin-discovery-heading{padding:16px}.atelier-shell .fin-discovery-icon{width:32px;height:32px}.atelier-shell .fin-discovery-heading p{display:none}

/* Accepted Home poster cards: canonical presentation owner */
.atelier-home .fin-service-card{position:relative;display:block;padding:0;isolation:isolate;height:auto;min-width:0;text-align:left;border-radius:5px;transition:transform .2s}
.atelier-home .fin-service-card img{position:absolute;display:block;border:0;transition:transform .2s}
.atelier-home .fin-service-card:hover{transform:translateY(-3px)}
.atelier-home .fin-service-card span.poster-shape{display:block}
.atelier-home .fin-service-card:hover img{transform:scale(1.02)}
/* Canonical service posters: separate copy, artwork and footer regions. */
.atelier-home .fin-service-card.poster{container-type:inline-size;aspect-ratio:1/1;width:100%;min-width:0;height:auto;min-height:220px;padding:0;background:#ffe55b;color:#112b30;border-color:#dac440;box-shadow:0 3px 10px #1a304518;overflow:hidden;isolation:isolate}
.atelier-home .fin-service-card.poster:after{display:none}
.atelier-home .fin-service-card.poster .poster-shape{position:absolute;width:130%;height:68%;left:-12%;bottom:-18%;border-radius:50%;background:#efb828;transform:rotate(-16deg);z-index:0}
.atelier-home .fin-service-card.poster div.poster-copy{position:absolute;inset:6% 5% auto;display:block;color:inherit;padding:0;z-index:3;text-align:left;transform:none}
.atelier-home .fin-service-card.poster strong{display:block;font-size:clamp(.75rem,5.6cqw,1.25rem);font-weight:750;letter-spacing:-.25px;text-shadow:none;line-height:1.3;white-space:nowrap;color:inherit}
.atelier-home .fin-service-card.poster small{display:block;font-size:clamp(.6875rem,4.1cqw,.875rem);line-height:1.4;margin-top:4px;font-weight:500;white-space:nowrap;color:inherit}
.atelier-home .fin-service-card.poster>img{position:absolute;inset:27% 6% auto;width:88%;height:39%;object-fit:contain;object-position:center;clip-path:none;border-radius:0;background:transparent;filter:none;z-index:1}
.atelier-home .fin-service-card.poster .poster-label{position:absolute;left:5%;right:5%;top:69%;font-size:clamp(.625rem,3.7cqw,.75rem);font-weight:750;letter-spacing:.3px;line-height:1.4;white-space:nowrap;color:inherit;z-index:3;text-align:left}
.atelier-home .fin-service-card.poster .poster-cta{position:absolute;right:5%;bottom:5%;border-radius:5px;background:#14253e;color:white;padding:7px 10px;font-size:clamp(.6875rem,3.9cqw,.8125rem);line-height:1.3;font-weight:650;white-space:nowrap;z-index:4}
.atelier-home .fin-service-card.poster.p1{background:#f6eee3;color:#492519;border-color:#d4bda5}.atelier-home .fin-service-card.p1 .poster-shape{background:#f89878;bottom:-12%;left:33%;transform:rotate(33deg)}
.atelier-home .fin-service-card.poster.p2{background:#004e42;color:#fff;border-color:#006d56}.atelier-home .fin-service-card.p2 .poster-shape{background:#09ac73;bottom:-24%;left:-30%}.atelier-home .fin-service-card.p2 .poster-cta{background:#f6de50;color:#073b30}
.atelier-home .fin-service-card.poster.p3{background:#dadcff;color:#282050;border-color:#aeadd9}.atelier-home .fin-service-card.p3 .poster-shape{background:#aaa6fa;left:45%;bottom:3%;width:80%;height:58%}.atelier-home .fin-service-card.p3 .poster-cta{background:#3f338b}
.atelier-home .fin-service-card.poster.p4{background:#ffd9df;color:#652536;border-color:#dba4ae}.atelier-home .fin-service-card.p4 .poster-shape{background:#f494aa;left:-58%;bottom:-15%}.atelier-home .fin-service-card.p4 .poster-cta{background:#7c2943}
.atelier-home .fin-service-card.poster.p5{background:#c8edf2;color:#083c4d;border-color:#83bccb}.atelier-home .fin-service-card.p5 .poster-shape{background:#4ba9c3;left:40%;bottom:-27%;transform:rotate(30deg)}.atelier-home .fin-service-card.p5 .poster-cta{background:#064961}
.atelier-home .fin-service-card.poster.p6{background:#ffbe73;color:#522b0b;border-color:#d99848}.atelier-home .fin-service-card.p6 .poster-shape{background:#ffecaf;bottom:-25%;left:-16%;width:140%}.atelier-home .fin-service-card.p6 .poster-cta{background:#713810}
.atelier-home .fin-service-card.poster.p7{background:#d8ecd0;color:#173e2b;border-color:#9db891}.atelier-home .fin-service-card.p7 .poster-shape{background:#8ec398;left:40%;bottom:-10%}.atelier-home .fin-service-card.p7 .poster-cta{background:#174d31}
.atelier-home .poster-card-fan{position:absolute;inset:28% 6% auto;height:37%;z-index:1;display:block}
.atelier-home .fin-service-card.poster .poster-card-fan img{position:absolute;inset:0 auto auto 0;width:64%;height:90%;object-fit:contain;transform:none}
.atelier-home .fin-service-card.poster .poster-card-fan img:nth-child(2){left:18%;top:0;z-index:2}
.atelier-home .fin-service-card.poster .poster-card-fan img:nth-child(3){left:36%;top:7%;z-index:3}
@media(max-width:639px){.atelier-home .fin-service-card.poster .poster-cta{padding:6px 8px}}
@media(min-width:1100px){.atelier-content:has(.atelier-home){padding:10px 24px 14px}.atelier-home{margin-bottom:0}.atelier-home .fin-section-head{margin-bottom:8px}.atelier-shell:has(.atelier-home){min-height:0}.atelier-layout:has(.atelier-home){min-height:100dvh}.atelier-home h1{line-height:36px;margin:0;font-size:var(--type-title)}.atelier-home .fin-service-grid{gap:16px;width:min(100%,calc(200dvh - 360px));margin-inline:auto}}

/* Header shortcuts and viewport-safe Home */
.atelier-shell{padding:0}.header-shortcuts{display:flex;gap:10px}.topbar{--header-control-height:42px;--header-action-width:124px}.topbar .header-action{width:var(--header-action-width);height:var(--header-control-height);padding:0 10px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--type-label);box-sizing:border-box}.topbar .header-theme{width:var(--header-control-height);height:var(--header-control-height);padding:0;box-sizing:border-box}.ai-box{top:88px;bottom:auto;right:24px;max-height:calc(100dvh - 108px);overflow:auto}

@media(max-width:1099px){.topbar{--header-control-height:36px;--header-action-width:clamp(112px,13vw,124px)}.topbar .header-action{font-size:var(--type-caption)}.header-shortcuts{display:none}.ai-box{right:16px;top:76px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 92px)}}

/* Six-step independent eligibility component */
.wizard-panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:24px;max-width:100%;color:var(--white)}
.wizard-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:22px}.wizard-progress span{padding:8px;border-bottom:2px solid var(--line);color:var(--muted)}.wizard-progress span.current{border-color:var(--gold);color:var(--white)}.wizard-progress small{display:block;font-size:var(--type-caption)}
.wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wizard-fields input,.wizard-fields select{width:100%}.wizard-span,.wizard-services{grid-column:1/-1}.wizard-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wizard-service{display:flex;align-items:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:5px;background:var(--surface2)}.wizard-service:has(input:checked){border-color:var(--gold)}.wizard-service input,.wizard-preferences input,.wizard-fields .fin-consent-row input{width:auto}.wizard-service span{font-size:var(--type-small)}.wizard-preferences{border:1px solid var(--line);padding:16px}.wizard-preferences label{display:inline-flex;gap:8px;margin:8px 16px 8px 0;align-items:center}.wizard-actions{display:flex;justify-content:flex-end;gap:12px;margin:18px 0}.wizard-error{color:var(--white)}.wizard-table-scroll{overflow-x:auto}.wizard-results{width:100%;border-collapse:collapse;margin:18px 0}.wizard-results th,.wizard-results td{padding:14px;text-align:left;border-bottom:1px solid var(--line);font-size:var(--type-small)}.wizard-results th{background:var(--surface2)}
@media(max-width:900px){.wizard-services{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.wizard-panel{padding:16px}.wizard-fields{grid-template-columns:1fr}.wizard-services{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-progress small{font-size:var(--type-caption)}.wizard-results{min-width:650px}}

/* Applications share canonical eligibility wizard visuals and field definitions. */
.application-steps [data-application-step]{border:0;padding:0;margin:0;min-width:0}
.application-steps [data-application-step][hidden],.application-steps [data-application-prev][hidden]{display:none}
.application-steps [data-application-step]>legend{font-size:var(--type-subtitle);font-weight:700;margin-bottom:18px}
.application-steps .wizard-progress{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
@media(max-width:900px){.application-steps .wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Desktop wizard density: shared by every eligibility/application step. */
@media(min-width:1000px){
 .atelier-content:has(.wizard-panel){padding:18px 28px 20px}
 .atelier-content:has(.wizard-panel) .page-head{margin:0 0 10px}
 .atelier-content:has(.wizard-panel) .page-head .app-back{padding:8px 14px;min-height:38px}
 .atelier-content:has(.wizard-panel) .selected-card-context{padding:8px 12px;margin-bottom:10px}
 .atelier-content:has(.wizard-panel) .application-context-actions .btn{padding:8px 12px;min-height:38px}
 .wizard-panel{padding:16px 18px}
 .wizard-progress{gap:8px;margin-bottom:12px}
 .wizard-progress span{padding:4px 6px;line-height:1.25;min-width:0}
 .wizard-progress small{font-size:12px;line-height:1.35;margin-top:3px}
 .wizard-panel>h2,.application-steps [data-application-step]>legend{font-size:20px;line-height:1.3;margin:0 0 12px;white-space:normal}
 .wizard-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
 .wizard-fields .field{min-width:0;gap:4px;align-content:start}
 .wizard-fields .field label{font-size:13px;line-height:1.35}
 .wizard-fields .field input,.wizard-fields .field select{height:38px;min-height:38px;padding:7px 10px;font-size:14px;box-sizing:border-box}
 .wizard-services{gap:10px}
 .wizard-service{padding:12px;min-height:52px;box-sizing:border-box}
 .wizard-preferences{padding:10px 12px;margin:0}
 .wizard-preferences label{margin:4px 14px 4px 0;font-size:13px}
 .wizard-panel .fin-consent-row{margin-top:10px;line-height:1.4}
 .wizard-error:empty{display:none}
 .wizard-error{margin:8px 0;font-size:13px}
 .wizard-actions{gap:10px;margin:12px 0 0;align-items:center;flex-wrap:wrap}
 .wizard-actions .btn,.wizard-actions .app-back{min-height:38px;padding:8px 16px;font-size:14px}
}

/* Canonical submitted application facts; two columns keep desktop receipts compact. */
.application-intake-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;min-width:0}.application-intake-preview>div{min-width:0}.application-intake-preview strong{min-width:0;max-width:100%}@media(max-width:700px){.application-intake-preview{grid-template-columns:1fr}}

/* Application process guidance canonical component. */
.application-context-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.application-process-dialog{width:min(680px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line,#aab6af);border-radius:5px;padding:20px;background:var(--surface,#fff);color:var(--ink,#12382e)}
.application-process-dialog::backdrop{background:rgba(0,0,0,.5)}
.application-process-dialog header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.application-process-dialog h2{font-size:var(--type-subtitle);margin:0;white-space:normal;overflow:visible;text-overflow:clip;min-width:0;line-height:1.35}
.application-process-row{padding:16px 0;border-bottom:1px solid var(--line,#cfd8d2);overflow-wrap:anywhere}
.application-process-row p{white-space:pre-wrap;margin:8px 0 0;line-height:1.6}
@media(max-width:600px){.application-context-actions{width:100%;justify-content:flex-start}.application-context-actions .btn{flex:1;white-space:normal}.application-process-dialog header{align-items:flex-start}.application-process-dialog h2{font-size:1.125rem}}

/* Shared application tracking component; public and agent dashboard owner. */
.tracking-row{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.tracking-row strong,.tracking-row small{display:block}.tracking-row small{color:var(--muted);margin-top:6px}.tracking-row p{margin:8px 0;white-space:pre-wrap}.tracking-row details{grid-column:1/-1}.tracking-row summary{cursor:pointer;font-weight:600}.tracking-event{padding:12px;border-top:1px solid var(--line)}
@media(max-width:600px){.tracking-row{grid-template-columns:1fr;gap:10px}}

/* Canonical final assessment/result presentation. */
.final-result{width:100%;min-width:0;color:var(--ink);margin:0 auto}.final-result .page-head{margin-bottom:12px}.result-panel{background:none;border:1px solid var(--line);border-radius:5px;padding:14px 18px;margin-bottom:12px;min-width:0}.result-panel h2{font-size:1.125rem;margin:0 0 10px}.result-panel p{margin:8px 0;line-height:1.45}.result-facts{margin:0}.result-facts>div{display:grid;grid-template-columns:minmax(150px,28%) minmax(0,1fr);gap:16px;padding:8px 0;border-bottom:1px solid var(--line);align-items:baseline}.result-facts>div:last-child{border-bottom:0}.result-facts dt{color:var(--muted);font-size:var(--type-body)}.result-facts dd{margin:0;font-size:var(--type-body);font-weight:600;overflow-wrap:anywhere}.result-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:12px}.result-note{font-size:var(--type-small);color:var(--muted);margin:8px 0}.result-table-scroll{max-width:100%;overflow:auto}.result-table{width:100%;border-collapse:collapse;table-layout:fixed}.result-table th,.result-table td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:var(--type-label)}.result-table th{background:none;color:var(--muted);font-weight:600}.result-table small{display:block;margin-top:4px}.result-table .btn{min-height:38px;padding:8px 12px}.result-table ul{padding-left:18px}.result-table details{line-height:1.5}@media(min-width:1024px){.atelier-content:has(>.final-result){padding-top:18px;padding-bottom:16px}.final-result .page-head h1{font-size:var(--type-title)}.final-result .result-panel{padding-top:10px;padding-bottom:10px}.final-result .result-facts>div{padding:6px 0}}@media(max-width:600px){.result-panel{padding:12px}.result-facts>div{grid-template-columns:minmax(95px,38%) minmax(0,1fr);gap:10px}.result-table{min-width:580px}.result-actions>*{flex:1}.final-result .page-head h1{font-size:var(--type-subtitle)}}
