/* SAIWANA CABIN | Register 9106 | login.css is the shared design system. */
.register-shell{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}
.register-shell .login-visual{min-height:calc(100svh - 24px)}
.register-shell .login-visual h1{font-size:clamp(38px,4.1vw,65px)}
.register-shell .login-box{width:min(100%,590px)}
.register-shell .login-panel{padding:clamp(24px,3vw,54px)}
.register-shell .brand-lockup{margin-bottom:17px}
.register-shell .workspace-chip{margin-bottom:23px}
.register-shell .login-subtitle{margin-bottom:19px}
.register-shell .login-visual-content{max-width:540px}
.register-form{display:grid;gap:0;min-width:0}
.register-roles{margin:0;padding:0;border:0;min-width:0}
.register-section-label{padding:0;margin-bottom:10px;color:#415749;font-size:12px;font-weight:700}
.role-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.role-card{position:relative;display:flex;align-items:center;min-width:0;min-height:80px;gap:10px;padding:12px;border:1px solid #dce5dc;border-radius:12px;background:#fbfcfa;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}
.role-card:hover:not(.disabled){border-color:#7b9979;background:#f6f9f3}
.role-card:has(input:checked){border-color:#7b9979;background:#f4f7ef;box-shadow:0 0 0 2px rgba(105,149,99,.1)}
.role-card:has(input:focus-visible){outline:3px solid var(--login-gold);outline-offset:3px}
.role-card input{position:absolute;left:12px;top:12px;width:1px;height:1px;opacity:0}
.role-card-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#e7eddf;color:#345c3b;font-size:11px;font-weight:700}
.role-card-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.role-card-copy strong{font-size:12px;color:#1e3024;line-height:1.2}
.role-card-copy small{font-size:9px;color:#738276;line-height:1.45;overflow-wrap:anywhere}
.role-state{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;margin-left:auto;border:1px solid #d6e2d2;border-radius:50%;background:white;color:#345c3b;font-size:11px}
.role-card:has(input:checked) .role-state{background:var(--login-forest);color:white;border-color:var(--login-forest)}
.role-card.disabled{opacity:.55;cursor:not-allowed;background:#f3f4f0}
.role-info{margin:10px 0 17px;min-height:37px;display:flex;align-items:center;padding:9px 12px;border:1px solid #e4eadf;border-radius:9px;background:#f4f6f0;color:#456049;font-size:10px;line-height:1.6}
.register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}
.register-full{grid-column:1/-1}
.register-grid .login-field{min-width:0;gap:6px}
.register-grid .login-input input{height:48px;font-size:13px}
.register-grid .login-password input{padding-right:94px}
.register-grid .password-toggle{min-height:38px;top:5px;right:5px;font-size:10px}
.optional-label{margin-left:3px;color:#8b998b;font-size:10px;font-weight:400}
.register-submit{width:100%;margin-top:19px;text-align:left;text-decoration:none}
.register-foot{margin-top:12px}
.register-shell .brand-copyright{margin-top:21px}
.register-result{display:grid;gap:5px;padding:15px 16px;border:1px solid #b8d5b7;border-radius:11px;background:#f0f7ee;color:#31543b;font-size:12px;line-height:1.7}
.register-result strong{font-size:13px}
@media(max-width:1199px) and (min-width:851px){
  .register-shell .login-panel{padding:28px}
  .register-shell .login-visual{padding:30px}
  .register-grid{grid-template-columns:1fr}
  .register-full{grid-column:auto}
  .role-card{padding:9px;gap:7px;min-height:72px}
  .role-card-icon{width:27px;flex-basis:27px;height:27px;font-size:10px}
  .role-card-copy strong{font-size:11px}
  .role-card-copy small{font-size:8px}
}
@media(max-width:850px){
  .register-shell{grid-template-columns:1fr;gap:0;padding:0}
  .register-shell .login-visual{min-height:auto;padding:24px 30px}
  .register-shell .login-visual h1{font-size:clamp(24px,3.9vw,34px)}
  .register-shell .login-panel{padding:32px 26px 30px;min-height:calc(100svh - 166px)}
  .register-shell .login-box{width:min(100%,540px)}
  .register-shell .brand-lockup{margin-bottom:19px}
  .register-shell .workspace-chip{margin-bottom:20px}
  .register-shell .login-subtitle{margin-bottom:19px}
}
@media(max-width:560px){
  .register-shell .login-visual{padding:18px 20px 16px}
  .register-shell .login-visual h1{font-size:24px}
  .register-shell .login-panel{padding:24px max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));min-height:calc(100svh - 146px)}
  .register-shell .brand-lockup{margin-bottom:15px}
  .register-shell .workspace-chip{margin-bottom:20px}
  .role-card{min-height:70px;padding:9px;gap:7px}
  .role-card-icon{width:28px;flex-basis:28px;height:28px;font-size:10px}
  .role-card-copy strong{font-size:11px}
  .role-card-copy small{font-size:8px}
  .role-state{width:18px;flex-basis:18px;height:18px}
  .register-grid{grid-template-columns:1fr;gap:13px}
  .register-full{grid-column:auto}
  .register-grid .login-input input{height:50px;font-size:16px} /* prevent iOS focus zoom */
  .register-submit{min-height:50px}
  .register-shell .brand-copyright{margin-top:21px}
}
@media(max-width:360px){
  .register-shell .login-visual{padding-inline:15px}
  .register-shell .login-panel{padding-inline:15px}
  .role-picker{gap:7px}
  .role-card{padding:8px 6px;gap:5px}
  .role-card-icon{width:23px;flex-basis:23px;height:23px;font-size:9px}
  .role-card-copy strong{font-size:10px}
  .role-card-copy small{font-size:8px}
  .role-state{width:15px;flex-basis:15px;height:15px;font-size:9px}
}
@media(min-width:851px) and (max-height:730px){.register-shell .login-visual{min-height:calc(100svh - 24px)}.register-shell .workspace-chip{margin-bottom:15px}.register-shell .brand-lockup{margin-bottom:13px}}



/* SAIWANA CABIN V2 9112 — register alignment */
.register-shell .login-panel{background:linear-gradient(180deg,#fff 0%,#fcfbf7 100%)}
.register-shell .login-box{width:min(100%,470px)}
.role-grid,.register-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.role-card{border-radius:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);box-shadow:0 12px 26px rgba(17,24,39,.04)}
.role-card:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(17,24,39,.06)}
.role-card.active,.role-card[aria-checked="true"],.role-card input:checked+span{border-color:#c5a56a;box-shadow:0 0 0 4px rgba(47,106,69,.06)}
.register-shell .login-form{gap:14px}
.register-shell .login-input input,.register-shell select{border-radius:14px;background:#fff}
.register-shell .login-button{min-height:50px;border-radius:14px}
@media(max-width:650px){.role-grid,.register-role-grid{grid-template-columns:1fr}.role-card{min-height:64px;padding:10px 12px}.register-shell .workspace-chip{padding:10px 11px}.register-shell .login-box{width:100%}}
