#stand-visit-dialog{width:min(720px,calc(100vw - 24px));max-height:90dvh;padding:0;overflow:hidden}
#stand-visit-dialog .dialog-top{position:relative;margin:0;padding:20px;align-items:flex-start}
#stand-visit-dialog h2{font-size:1.5rem;margin:0}
#stand-visit-form{display:flex;flex-direction:column;max-height:calc(90dvh - 110px);margin:0}
.stand-visit-content{overflow:auto;padding:16px 20px;overscroll-behavior:contain}
#stand-visit-form fieldset{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px}
#stand-visit-form fieldset label{display:flex;align-items:center;gap:8px;margin:0}
#stand-visit-form input[type=checkbox]{width:20px;height:20px;flex:none;min-height:20px}
#stand-visit-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#stand-visit-details[hidden]{display:none}
.stand-visit-select{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.stand-visit-candidates{display:grid;gap:8px;max-height:32dvh;overflow:auto}
.stand-visit-candidates label{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #cbd5e1;border-radius:8px;margin:0}
.stand-visit-candidates span{min-width:0;overflow-wrap:anywhere}.stand-visit-candidates small{display:block;color:#526580}
.stand-visit-footer{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #cbd5e1;padding:12px 20px;background:white;flex:none}
.stand-visit-footer button{min-height:44px}
@media(max-width:520px){#stand-visit-details{grid-template-columns:1fr}#stand-visit-dialog .dialog-top{padding:14px}#stand-visit-dialog h2{font-size:1.2rem}.stand-visit-content{padding:14px}.stand-visit-footer{padding:12px 14px}}
