/* Approved branding layout; original logo colours and shape stay untouched. */
body.login-active { height:auto; min-height:100svh; overflow:auto; }
#login { display:grid; grid-template-columns:minmax(0,56fr) minmax(0,44fr); grid-template-rows:auto minmax(600px,1fr); min-height:100svh; height:auto; overflow:visible; padding:0; gap:0; align-items:stretch; background:radial-gradient(ellipse at 75% 0%,#eee0bf88,transparent 65%),#f1eee7; }
#login .kh-login-header { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-start; height:auto; gap:20px; padding:20px clamp(28px,6vw,90px); background:#fff; border-top:4px solid #d4a10b; border-bottom:1px solid #dcc999; border-radius:0; box-shadow:none; }
#login .kh-login-header>div { flex:0 1 auto; }
#login .kh-login-header .login-logo-tile { width:80px; height:80px; min-width:80px; display:flex; padding:0; margin:0; background:#fff; border:0; border-radius:0; box-shadow:none; overflow:visible; }
#login .kh-login-header .login-logo-tile img { display:block; width:80px; height:80px; object-fit:contain; filter:none; opacity:1; mix-blend-mode:normal; }
#login .kh-login-brand-name { margin:0 0 10px; color:#9a741c; font:500 23px/1.3 Arial,sans-serif; letter-spacing:5px; }
#login .kh-login-header .brand-kicker { display:block; color:#716e64; margin:0; font-size:11px; letter-spacing:2px; }
#login>.brand { grid-column:1; grid-row:2; min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; margin:0; padding:76px clamp(32px,6vw,90px); background:linear-gradient(130deg,#292824,#35332d); }
#login>.brand h1 { margin:0 0 30px; font-size:clamp(34px,4vw,56px); line-height:1.08; }
#login>.brand p { margin:0; font-size:14px; line-height:1.7; }
#login>#loginForm { grid-column:2; grid-row:2; align-self:center; justify-self:center; width:346px; max-width:calc(100% - 48px); margin:56px 24px; padding:38px 32px; border:1px solid #fff; border-radius:26px; background:#fbfaf7; box-shadow:0 26px 58px #372d201a; }
#loginForm .loginHelp { margin:30px 0 0; }
.kh-interview-location { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:end; gap:10px; }
.candidate-edit [data-interview-map] { order:4; }
.kh-interview-location>label { display:grid; gap:8px; min-width:0; }
.kh-interview-location>button { width:42px; min-height:42px; font-size:21px; }
.kh-interview-location>small,.kh-interview-location>a { grid-column:1/-1; overflow-wrap:anywhere; }
.kh-interview-location>small { letter-spacing:normal; color:#716e64; line-height:1.5; }
.kh-interview-location input[readonly],.kh-interview-location textarea[readonly] { background:#f0ede5; }
#applicationForm .success-panel { padding:0 24px 32px; }
#applicationForm .success-panel .success-brand { position:static; display:flex; flex-direction:column; align-items:center; gap:10px; width:calc(100% + 48px); height:auto; background:#fff; padding:20px 24px; margin:0 -24px 24px; border-bottom:2px solid #ba9228; }
#applicationForm .success-panel .success-brand img { display:block; width:120px; height:90px; max-width:100%; object-fit:contain; filter:none; }
@media(max-width:800px) {
  #login { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; }
  #login .kh-login-header { gap:15px; padding:20px 24px; }
  #login .kh-login-header .login-logo-tile,#login .kh-login-header .login-logo-tile img { width:66px; height:66px; min-width:66px; }
  #login .kh-login-brand-name { font-size:19px; letter-spacing:3px; }
  #login .kh-login-header .brand-kicker { font-size:10px; letter-spacing:1.3px; }
  #login>.brand { grid-column:1; grid-row:2; padding:34px 28px; }
  #login>.brand h1 { font-size:33px; margin-bottom:16px; }
  #login>.brand p { font-size:12px; }
  #login>#loginForm { grid-column:1; grid-row:3; max-width:calc(100% - 40px); margin:34px 20px; padding:30px 25px; }
  #loginForm input { font-size:16px; }
}
