/* V5.5 — professional themed access-choice modal used by Main/Mainkan. */
body.has-access-modal{overflow:hidden!important}
.banner-choice-overlay{
  position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;
  padding:clamp(12px,3vw,26px);overflow:auto;background:rgba(2,7,16,.84);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.banner-choice-overlay.open{display:flex;animation:access-overlay-in .18s ease-out}
.banner-choice-dialog{
  position:relative;width:min(780px,100%);max-height:min(90vh,850px);overflow:auto;
  border:1px solid color-mix(in srgb,var(--gold,#f0c040) 24%,rgba(148,163,184,.2));
  border-radius:23px;background:linear-gradient(180deg,#17233c 0%,#0b1425 100%);
  box-shadow:0 34px 110px rgba(0,0,0,.67),inset 0 1px rgba(255,255,255,.035);
  transform-origin:center;animation:access-dialog-in .22s cubic-bezier(.2,.8,.2,1)
}
.banner-choice-dialog:focus{outline:none}
.banner-choice-head{
  position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:18px;min-height:86px;padding:17px 18px 16px 22px;
  border-bottom:1px solid rgba(148,163,184,.16);
  background:linear-gradient(135deg,rgba(25,38,65,.98),rgba(12,21,38,.98));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.banner-choice-head-copy{min-width:0;display:grid;align-content:center;gap:3px}
.banner-choice-kicker{display:block;color:var(--gold-light,#f8da80);font-size:10px;font-weight:900;letter-spacing:.16em;line-height:1.2}
.banner-choice-head h2{margin:0;color:#f6f9ff;font-size:clamp(18px,2.2vw,22px);font-weight:850;line-height:1.25;letter-spacing:-.02em}
.banner-choice-head p{margin:0;color:#94a6c4;font-size:11px;line-height:1.45}
.banner-choice-close{
  position:static;z-index:3;display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;
  border:1px solid rgba(148,163,184,.22);border-radius:13px;background:rgba(255,255,255,.055);
  color:#c9d4e7;font-size:25px;font-weight:500;line-height:1;cursor:pointer;transition:.18s ease
}
.banner-choice-close span{display:block;transform:translateY(-1px)}
.banner-choice-close:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateY(-1px)}
.banner-choice-list{display:grid;grid-template-columns:1fr;gap:16px;padding:20px}
.banner-choice-item{margin:0;padding:16px;border:1px solid rgba(148,163,184,.15);border-radius:17px;background:rgba(5,12,25,.58);box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 34px rgba(0,0,0,.15)}
.banner-choice-title{margin:0 0 12px;color:#f5f8ff;font-size:16px;font-weight:800;line-height:1.35;letter-spacing:-.01em;text-align: center;}
.banner-choice-image{display:block;width:100%;max-height:320px;object-fit:cover;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:#07101f}
.banner-choice-image-empty{min-height:150px;display:grid;place-items:center;color:var(--grey-300,#9a9a9a);font-size:2rem;background:linear-gradient(145deg,rgba(148,163,184,.08),rgba(4,9,18,.62))}
.banner-choice-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.banner-choice-actions a{min-height:47px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;border:1px solid transparent;border-radius:12px;text-decoration:none;text-align:center;font-size:13px;font-weight:900;transition:.18s ease}
.banner-choice-actions a::before{font-family:"Font Awesome 6 Free";font-weight:900}
.banner-login{background:#223250!important;color:#f3f6fb!important;border-color:rgba(148,163,184,.18)!important}
.banner-login::before{content:"\f2f6"}.banner-login:hover{background:#2d4268!important;transform:translateY(-1px)}
.banner-register{background:linear-gradient(135deg,var(--gold-light,#f8da80),var(--gold,#f0c040))!important;color:#111722!important;box-shadow:0 11px 27px var(--gold-dim,rgba(240,192,64,.16))}
.banner-register::before{content:"\f234"}.banner-register:hover{filter:brightness(1.05);transform:translateY(-1px)}
.banner-choice-empty{margin:22px;padding:35px 18px;display:grid;justify-items:center;gap:7px;border:1px dashed rgba(148,163,184,.22);border-radius:15px;text-align:center;color:#9fb0ca;background:rgba(5,12,25,.42)}
.banner-choice-empty strong{color:var(--white,#fff);font-size:.88rem}.banner-choice-empty span{color:var(--mute,#93a4c7);font-size:.7rem}
.banner-choice-empty.is-loading{min-height:160px;align-content:center}
.access-loader{width:30px;height:30px;border:3px solid rgba(148,163,184,.2);border-top-color:var(--gold,#f0c040);border-radius:50%;animation:access-spin .75s linear infinite}
.banner-choice-actions a:focus-visible,.banner-choice-close:focus-visible{outline:3px solid color-mix(in srgb,var(--gold,#f0c040) 50%,transparent);outline-offset:3px}

/* Entire access modal follows the selected tenant palette. */
body[data-agent-theme] .banner-choice-dialog{background:linear-gradient(180deg,var(--theme-card-soft),var(--theme-card))!important;border-color:rgba(var(--theme-rgb),.38)!important;box-shadow:0 34px 100px rgba(0,0,0,.62),0 0 48px rgba(var(--theme-rgb),.12)!important}
body[data-agent-theme] .banner-choice-head{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-card-soft) 96%,#000),color-mix(in srgb,var(--theme-card) 97%,#000))!important;border-bottom-color:var(--theme-border)!important}
body[data-agent-theme] .banner-choice-kicker{color:var(--theme-accent-light)!important}
body[data-agent-theme] .banner-choice-head h2{color:var(--theme-text)!important}
body[data-agent-theme] .banner-choice-head p{color:var(--theme-muted)!important}
body[data-agent-theme] .banner-choice-close{background:linear-gradient(145deg,rgba(var(--theme-rgb),.15),rgba(var(--theme-rgb-2),.09))!important;border-color:rgba(var(--theme-rgb),.38)!important;color:var(--theme-accent-light)!important;box-shadow:inset 0 1px rgba(255,255,255,.05),0 7px 20px rgba(var(--theme-rgb),.12)}
body[data-agent-theme] .banner-choice-close:hover{background:linear-gradient(135deg,var(--theme-accent-2),var(--theme-accent))!important;border-color:transparent!important;color:var(--theme-button-text)!important;box-shadow:0 10px 26px rgba(var(--theme-rgb),.3)!important}
body[data-agent-theme] .banner-choice-item{background:color-mix(in srgb,var(--theme-card) 90%,#000)!important;border-color:var(--theme-border)!important}
body[data-agent-theme] .banner-choice-title{color:var(--theme-text)!important}
body[data-agent-theme] .banner-choice-image-empty{color:var(--theme-muted);background:linear-gradient(145deg,rgba(var(--theme-rgb),.08),var(--theme-card))}
body[data-agent-theme] .access-loader{border-color:rgba(var(--theme-rgb),.2);border-top-color:var(--theme-accent)}
body[data-agent-theme] .banner-login{background:var(--theme-card-soft)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
body[data-agent-theme] .banner-login:hover{border-color:rgba(var(--theme-rgb),.5)!important;background:rgba(var(--theme-rgb),.14)!important}
body[data-agent-theme] .banner-register{background:linear-gradient(135deg,var(--theme-accent-2),var(--theme-accent))!important;color:var(--theme-button-text)!important;box-shadow:0 11px 27px rgba(var(--theme-rgb),.2)!important}

@keyframes access-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes access-dialog-in{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes access-spin{to{transform:rotate(360deg)}}

@media(max-width:600px){
  .banner-choice-overlay{align-items:center;justify-content:center;padding:12px}
  .banner-choice-dialog{width:100%;max-height:90vh;border-radius:19px}
  .banner-choice-head{min-height:78px;gap:12px;padding:14px 13px 13px 16px}
  .banner-choice-head p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .banner-choice-close{width:39px;height:39px;border-radius:12px}
  .banner-choice-list{padding:14px 12px 13px;gap:12px}
  .banner-choice-item{padding:12px;border-radius:14px}
  .banner-choice-title{font-size:14px}
  .banner-choice-image{max-height:235px;border-radius:10px}
  .banner-choice-actions{grid-template-columns:1fr 1fr;gap:8px}
  .banner-choice-actions a{min-height:44px;padding:9px 8px;font-size:12px}
}
@media(max-height:620px){.banner-choice-dialog{max-height:94vh}.banner-choice-list{padding-top:12px}.banner-choice-image{max-height:190px}}
@media(prefers-reduced-motion:reduce){.banner-choice-overlay.open,.banner-choice-dialog,.access-loader{animation:none}}
