/* Kingscross V132 Fix12 — shared customer experience refinement.
   Presentation only: existing journeys, storage and transaction logic are preserved. */
:root{
  --kx-ink:#17313f;
  --kx-muted:#627580;
  --kx-navy:#073b5d;
  --kx-blue:#075f91;
  --kx-green:#087747;
  --kx-line:#d8e2e7;
  --kx-soft:#f3f6f8;
  --kx-white:#fff;
  --kx-radius:10px;
  --kx-shadow:0 5px 18px rgba(18,48,63,.07);
}

/* Calm banking-app density */
body.account,
body.simple-journey,
body.kx-customer-page{background:#eef3f6;color:var(--kx-ink);font-size:14px;line-height:1.42}
body.account *,body.simple-journey *,body.kx-customer-page *{box-sizing:border-box}
body.account h1,body.simple-journey h1,body.kx-customer-page h1{font-size:clamp(1.42rem,2.1vw,1.9rem);line-height:1.15;letter-spacing:-.02em}
body.account h2,body.simple-journey h2,body.kx-customer-page h2{font-size:1.12rem;line-height:1.25}
body.account h3,body.simple-journey h3,body.kx-customer-page h3{font-size:.96rem}
body.account p,body.simple-journey p,body.kx-customer-page p{margin-block:.38rem .68rem}

/* Keep brand navigation recognisable, but remove excess vertical space */
body.account .acc-head .nav-wrap,
body.simple-journey .site-header .nav-wrap{min-height:62px}
body.account .acc-head .brand img,
body.simple-journey .site-header .brand img{max-height:42px;width:auto}
body.account .acc-hero{padding:16px 0 14px}
body.account .acc-hero h1{margin:3px 0 4px}
body.account .acc-hero p{margin:0;max-width:680px}
body.account .section-kicker{font-size:.72rem;letter-spacing:.08em}

/* Shared content widths and surfaces */
body.account .shell{max-width:1180px;padding:18px 20px 34px}
body.account .card,
body.account .panel,
body.account .mini,
body.simple-journey .simple-card,
body.kx-customer-page .payment-card,
body.kx-customer-page .pay-card,
body.kx-customer-page .receipt{border:1px solid var(--kx-line);border-radius:var(--kx-radius);box-shadow:var(--kx-shadow)}
body.account .card,body.account .panel{padding:16px}
body.account .panel+ .panel{margin-top:12px}

/* Form controls: short, consistent and easy to scan */
body.account label,
body.simple-journey label,
body.kx-customer-page label{font-size:.78rem;font-weight:700;color:#314d5c}
body.account input:not([type=checkbox]):not([type=radio]),
body.account select,body.account textarea,
body.simple-journey input:not([type=checkbox]):not([type=radio]),
body.simple-journey select,body.simple-journey textarea,
body.kx-customer-page input:not([type=checkbox]):not([type=radio]),
body.kx-customer-page select,body.kx-customer-page textarea{
  min-height:38px;height:38px;padding:7px 10px;margin-top:4px;border:1px solid #bdccd4;border-radius:7px;
  background:#fff;color:var(--kx-ink);font:500 .88rem/1.2 Arial,sans-serif
}
body.account textarea,body.simple-journey textarea,body.kx-customer-page textarea{height:auto;min-height:76px}
body.account input:focus,body.account select:focus,body.account textarea:focus,
body.simple-journey input:focus,body.simple-journey select:focus,body.simple-journey textarea:focus,
body.kx-customer-page input:focus,body.kx-customer-page select:focus,body.kx-customer-page textarea:focus{
  outline:3px solid rgba(7,95,145,.15);border-color:var(--kx-blue)
}
body.account .grid,body.simple-journey .form-grid{gap:10px 12px}
body.account .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Buttons share one compact size */
body.account .btn,body.account .button,
body.simple-journey .button,body.simple-journey button,
body.kx-customer-page .button,body.kx-customer-page button{
  min-height:36px;padding:8px 14px;border-radius:7px;font-size:.83rem;font-weight:800;line-height:1.15
}
body.account .actions,body.simple-journey .actions,body.kx-customer-page .actions{gap:8px;margin-top:12px}

/* Customer dashboard: stable sidebar and information-dense workspace */
body.account .dash{grid-template-columns:188px minmax(0,1fr);gap:14px}
body.account .side{padding:12px;border-radius:var(--kx-radius);position:sticky;top:10px;height:max-content}
body.account .side h3{margin:2px 8px 8px}
body.account .side nav{gap:3px}
body.account .side nav button{min-height:34px;padding:8px 10px;font-size:.8rem;border-radius:6px}
body.account .welcome{gap:12px;align-items:center}
body.account .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
body.account .stat{padding:10px;border-radius:8px}
body.account .stat span{font-size:.72rem}
body.account .stat strong{font-size:1.22rem}
body.account .quick{gap:8px;margin-top:10px}
body.account .quick a{padding:11px;border-radius:8px;min-height:72px}
body.account .quick a b{font-size:.87rem}
body.account .quick a small{font-size:.72rem;line-height:1.3;margin-top:3px}
body.account .cards{gap:9px}
body.account .mini{padding:11px}
body.account .pill,body.account .status{font-size:.69rem;padding:4px 7px;border-radius:999px}

/* Tables resemble compact transaction registers */
body.account table{font-size:.79rem;border-collapse:collapse}
body.account th{font-size:.69rem;text-transform:uppercase;letter-spacing:.035em;color:#5e717c;background:#f3f6f8}
body.account th,body.account td{padding:9px 10px;border-bottom:1px solid #e2e9ed}

/* Registration and login */
body.account .auth-grid{gap:14px;align-items:start}
body.account .auth-grid .card{max-width:760px}
body.account .auth-grid form{display:grid;gap:10px}

/* Send Money and FX retain their current workflow, with less empty space */
body.simple-journey main>.container{max-width:1120px;padding-top:14px;padding-bottom:30px}
body.simple-journey .journey-intro{margin-bottom:10px}
body.simple-journey .journey-intro h1{margin-bottom:4px}
body.simple-journey .simple-card{padding:15px}
body.simple-journey .wizard-progress{margin:8px 0 12px}
body.simple-journey .wizard-step{font-size:.72rem}
body.simple-journey .form-section{padding:12px 0}
body.simple-journey .form-section h2{margin:0 0 8px}
body.simple-journey .upload-card{padding:10px;min-height:72px}
body.simple-journey .review-panel{padding:13px;border-radius:8px}

/* Payment and receipt pages */
body.kx-customer-page .payment-shell,
body.kx-customer-page .pay-workspace,
body.kx-customer-page .receipt{max-width:900px;margin:18px auto;padding:18px}
body.kx-customer-page .payment-head,
body.kx-customer-page .pay-head,
body.kx-customer-page .receipt-head,
body.kx-customer-page .head{padding-bottom:12px;gap:14px}
body.kx-customer-page .payment-head img,
body.kx-customer-page .pay-head img,
body.kx-customer-page .receipt-head img,
body.kx-customer-page .head img{width:150px;max-height:54px;object-fit:contain}
body.kx-customer-page .payment-grid,
body.kx-customer-page .pay-grid{gap:10px;margin:10px 0}
body.kx-customer-page .payment-card,
body.kx-customer-page .pay-card{padding:13px}
body.kx-customer-page dl{gap:7px!important;margin:14px 0!important;font-size:.82rem}

@media(max-width:800px){
  body.account .dash{grid-template-columns:1fr}
  body.account .side{position:static;overflow:auto}
  body.account .side nav{display:flex;min-width:max-content}
  body.account .side nav button{white-space:nowrap}
  body.account .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.account,body.simple-journey,body.kx-customer-page{font-size:14px}
  body.account .shell,body.simple-journey main>.container{padding-left:12px;padding-right:12px}
  body.account .grid.two{grid-template-columns:1fr}
  body.account .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.account .quick{grid-template-columns:1fr 1fr}
  body.kx-customer-page .payment-shell,body.kx-customer-page .pay-workspace,body.kx-customer-page .receipt{margin:8px;padding:14px}
}
@media(max-width:390px){body.account .quick{grid-template-columns:1fr}}

@media print{
  body.kx-customer-page{background:#fff}
  body.kx-customer-page .receipt{box-shadow:none;border:0;margin:0;max-width:none}
}
