:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--iban-bg,#061127);color:var(--iban-text,#f4efdf);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:4px 4px,4px 4px}.iban-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:24px 0 44px;position:relative;z-index:1}.iban-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;border:1px solid color-mix(in srgb,var(--iban-muted) 35%,transparent);border-radius:24px;background:color-mix(in srgb,var(--iban-surface) 80%,transparent);backdrop-filter:blur(14px);position:sticky;top:18px;z-index:4}.brand,.home-link,.header-actions{display:flex;align-items:center}.brand{gap:12px;text-decoration:none;color:inherit}.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--iban-text);box-shadow:0 0 0 1px color-mix(in srgb,var(--iban-muted) 45%,transparent)}.brand-mark img{width:29px;height:29px;object-fit:contain}.brand strong{display:block;font-family:Georgia,serif;font-size:17px;letter-spacing:.01em}.brand small{display:block;margin-top:3px;font-size:9px;letter-spacing:.2em;color:var(--iban-muted)}.header-actions{gap:5px}.language{color:var(--iban-muted);font-size:11px;letter-spacing:.12em;text-decoration:none;padding:10px 9px;border-radius:12px}.language.active{color:var(--iban-bg);background:var(--iban-text)}.home-link{margin-left:12px;gap:10px;color:var(--iban-text);text-decoration:none;border:1px solid color-mix(in srgb,var(--iban-strong) 60%,transparent);border-radius:16px;padding:11px 15px;font-size:12px;font-weight:700}.home-link span{font-size:16px;color:var(--iban-strong)}.iban-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;padding:108px 16px 54px}.eyebrow{color:var(--iban-highlight);font-size:11px;letter-spacing:.24em;font-weight:800;margin:0 0 16px}.iban-hero h1{font:clamp(48px,7vw,92px)/.95 Georgia,serif;letter-spacing:-.045em;margin:0;max-width:760px}.hero-copy{color:var(--iban-muted);font-size:16px;line-height:1.8;max-width:430px;margin:0 0 6px}.account-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 18px;padding:12px 14px;border-top:1px solid color-mix(in srgb,var(--iban-muted) 25%,transparent);border-bottom:1px solid color-mix(in srgb,var(--iban-muted) 25%,transparent)}.search-wrap{display:flex;align-items:center;gap:11px;max-width:480px;width:100%;color:var(--iban-muted)}.search-wrap span{font-size:24px;line-height:1}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--iban-text);font:inherit;font-size:14px}.search-wrap input::placeholder{color:color-mix(in srgb,var(--iban-muted) 78%,transparent)}.account-count{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--iban-muted);white-space:nowrap}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.account-card{border:1px solid color-mix(in srgb,var(--iban-muted) 38%,transparent);border-radius:22px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--iban-surface) 92%,transparent),color-mix(in srgb,var(--iban-bg) 70%,transparent));box-shadow:0 18px 50px rgba(0,0,0,.14);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.account-card:hover{transform:translateY(-5px);border-color:var(--bank-tone);box-shadow:0 25px 55px color-mix(in srgb,var(--bank-tone) 16%,transparent)}.card-top{height:112px;padding:20px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,color-mix(in srgb,var(--bank-tone) 17%,var(--iban-surface)),color-mix(in srgb,var(--iban-surface) 82%,transparent));border-bottom:1px solid color-mix(in srgb,var(--bank-tone) 42%,transparent)}.bank-logo{height:64px;min-width:152px;max-width:80%;display:grid;place-items:center;background:#fff;border-radius:12px;padding:10px 18px;box-shadow:0 7px 20px rgba(0,0,0,.12)}.bank-logo img{width:100%;height:100%;object-fit:contain}.bank-logo.text-logo{background:color-mix(in srgb,var(--bank-tone) 25%,var(--iban-surface));color:var(--iban-text);font-family:Georgia,serif;font-size:24px;letter-spacing:.08em}.card-index{color:var(--iban-highlight);font-size:11px;letter-spacing:.2em}.bank-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 0}.bank-name{margin:0;font:24px/1.1 Georgia,serif;letter-spacing:-.02em}.swift{margin:7px 0 0;color:var(--iban-muted);font-size:10px;letter-spacing:.08em}.tl-badge{border:1px solid color-mix(in srgb,var(--iban-strong) 50%,transparent);color:var(--iban-strong);border-radius:9px;padding:5px 7px;font-size:10px;font-weight:800}.account-details{margin:18px 20px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.account-details div{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--iban-muted) 22%,transparent)}.account-details dt{color:var(--iban-muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.account-details dd{margin:5px 0 0;font-size:13px;color:var(--iban-text)}.iban-copy{width:calc(100% - 40px);margin:20px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 12px;text-align:left;border:0;border-top:1px solid color-mix(in srgb,var(--iban-muted) 25%,transparent);padding:15px 0 0;background:transparent;color:var(--iban-strong);cursor:pointer}.iban-copy:focus-visible{outline:2px solid var(--iban-highlight);outline-offset:4px;border-radius:4px}.iban-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;letter-spacing:.02em;overflow-wrap:anywhere}.copy-icon{grid-column:2;grid-row:1/3;font-size:22px;line-height:1;opacity:.9}.copy-label{grid-column:1;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--iban-muted)}.iban-note{display:flex;align-items:center;gap:13px;margin:30px 0 0;padding:17px 20px;border:1px solid color-mix(in srgb,var(--iban-highlight) 32%,transparent);border-radius:16px;background:color-mix(in srgb,var(--iban-highlight) 7%,transparent)}.note-icon{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--iban-highlight);border-radius:50%;color:var(--iban-highlight);font:700 13px Georgia,serif}.iban-note p{margin:0;color:var(--iban-muted);font-size:12px;line-height:1.6}.iban-footer{display:flex;justify-content:space-between;gap:16px;color:var(--iban-muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:38px 16px 0}.empty-state{padding:80px 20px;text-align:center;border:1px dashed color-mix(in srgb,var(--iban-muted) 40%,transparent);border-radius:18px;color:var(--iban-muted)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px);padding:12px 17px;border:1px solid color-mix(in srgb,var(--iban-strong) 70%,transparent);border-radius:14px;background:var(--iban-surface);color:var(--iban-text);font-size:12px;opacity:0;pointer-events:none;transition:.25s ease;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:900px){.iban-shell{width:min(100% - 28px,640px);padding-top:14px}.iban-header{top:10px;padding:10px 12px;border-radius:20px}.brand-mark{width:40px;height:40px}.brand-mark img{width:24px;height:24px}.brand strong{font-size:15px}.brand small{font-size:8px}.home-link{padding:9px 11px;font-size:11px}.iban-hero{display:block;padding:68px 4px 34px}.iban-hero h1{font-size:clamp(46px,13vw,72px);max-width:600px}.hero-copy{font-size:14px;margin-top:22px;max-width:500px}.account-toolbar{margin-left:4px;margin-right:4px}.account-grid{grid-template-columns:1fr;gap:14px}.card-top{height:105px}.account-card:hover{transform:none}.iban-footer{padding-left:4px;padding-right:4px;flex-direction:column;gap:9px}.iban-note{margin-left:4px;margin-right:4px}}
@media (max-width:480px){.header-actions{gap:0}.language{padding:9px 6px}.home-link{margin-left:7px;padding:9px 9px}.home-link span{font-size:14px}.iban-hero h1{font-size:48px}.account-toolbar{padding-left:8px;padding-right:8px}.account-count{font-size:9px}.bank-name{font-size:21px}.iban-value{font-size:12px}}

/* Small-screen guardrails: keep the header, cards and IBAN actions inside the viewport. */
@media (max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  .iban-shell{width:100%;padding:10px 12px 34px}
  .iban-header{position:relative;top:auto;width:100%;gap:8px;padding:9px 10px;border-radius:18px}
  .brand{min-width:0;gap:8px}
  .brand-mark{width:38px;height:38px;flex:0 0 38px}
  .brand-mark img{width:23px;height:23px}
  .brand strong{font-size:13px;white-space:nowrap}
  .brand small{font-size:7px;letter-spacing:.14em;white-space:nowrap}
  .header-actions{min-width:0;flex:0 0 auto}
  .language{font-size:9px;padding:8px 5px;letter-spacing:.08em}
  .home-link{margin-left:3px;gap:4px;padding:8px 8px;font-size:9px;line-height:1.1;max-width:74px}
  .home-link span{font-size:12px}
  .iban-hero{padding:54px 4px 28px}
  .iban-hero h1{font-size:clamp(38px,12vw,52px);line-height:.98;max-width:100%;overflow-wrap:anywhere}
  .hero-copy{font-size:13px;line-height:1.6;margin-top:16px}
  .account-toolbar{margin:0 4px 14px;padding:10px 7px;gap:8px}
  .search-wrap{gap:7px;min-width:0}
  .search-wrap span{font-size:19px}
  .search-wrap input{font-size:12px;min-width:0}
  .account-count{font-size:8px;letter-spacing:.08em}
  .account-grid{gap:12px}
  .account-card{border-radius:18px}
  .card-top{height:88px;padding:14px 12px}
  .bank-logo{height:54px;min-width:0;width:min(190px,70%);padding:7px 12px;border-radius:9px}
  .card-index{font-size:9px}
  .bank-meta{padding:16px 14px 0;gap:8px}
  .bank-name{font-size:20px;overflow-wrap:anywhere}
  .swift{font-size:9px;overflow-wrap:anywhere}
  .tl-badge{font-size:9px;padding:4px 6px}
  .account-details{margin:14px 14px 0;gap:9px 12px}
  .account-details dt{font-size:8px}
  .account-details dd{font-size:12px;overflow-wrap:anywhere}
  .iban-copy{width:calc(100% - 28px);margin:16px 14px;gap:4px 8px;padding-top:12px}
  .iban-value{font-size:11px;line-height:1.45;overflow-wrap:anywhere}
  .copy-icon{font-size:19px}
  .copy-label{font-size:8px;letter-spacing:.08em}
  .iban-note{margin:22px 4px 0;padding:13px 14px;gap:9px}
  .iban-note p{font-size:10px}
  .iban-footer{font-size:8px;padding:26px 4px 0;gap:7px}
}

/* Logo frames: keep every bank mark centered and remove the legacy ribbon
   baked into the old GIF assets without affecting uploaded PNG/SVG logos. */
.card-top{position:relative;justify-content:center;padding:16px 72px 16px 16px}
.card-index{position:absolute;top:20px;right:20px}
.bank-logo{width:min(240px,100%);max-width:240px;min-width:0;height:72px;padding:8px 14px;overflow:hidden}
.bank-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.bank-logo.legacy-logo{padding:0 12px;align-items:start}
.bank-logo.legacy-logo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center top;clip-path:inset(0 0 12% 0)}
@media (max-width:900px){
  .card-top{height:105px;padding:16px 64px 16px 16px}
  .card-index{top:17px;right:17px}
  .bank-logo{height:68px;width:min(230px,100%);max-width:230px}
}
@media (max-width:600px){
  .card-top{height:88px;padding:12px 54px 12px 12px}
  .card-index{top:14px;right:12px}
  .bank-logo{height:54px;width:min(205px,100%);max-width:205px;padding:6px 10px}
  .bank-logo.legacy-logo{padding:0 9px}
}

/* The index is absolutely positioned, so it must not reserve space beside
   the logo. This keeps every bank mark centered on narrow cards as well. */
.card-top{padding-left:16px;padding-right:16px}
.bank-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-inline:0}
@media (max-width:900px){
  .card-top{padding-left:16px;padding-right:16px}
}
@media (max-width:600px){
  .card-top{padding-left:12px;padding-right:12px}
}

/* Make the payment identifier the clearest action on every card. */
.iban-copy{
  border:1px solid color-mix(in srgb,var(--iban-strong) 35%,transparent);
  border-top-color:color-mix(in srgb,var(--iban-strong) 55%,transparent);
  border-radius:12px;
  padding:14px 12px 12px;
  background:color-mix(in srgb,var(--iban-strong) 5%,transparent);
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.iban-copy:hover{
  border-color:var(--iban-strong);
  background:color-mix(in srgb,var(--iban-strong) 10%,transparent);
  transform:translateY(-1px);
}
.iban-value{
  color:var(--iban-strong);
  font-size:15px;
  font-weight:800;
  letter-spacing:.055em;
  line-height:1.45;
}
.copy-label{font-weight:700}
@media (max-width:600px){
  .iban-copy{width:calc(100% - 28px);margin:16px 14px;padding:12px 10px 10px}
  .iban-value{font-size:12px;font-weight:800;letter-spacing:.045em}
}
