.visitor-pass-heading,.visitor-pass-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.visitor-pass-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.visitor-pass-form label{display:grid;gap:6px}.visitor-pass-form input{min-width:0;width:100%;padding:12px}.visitor-pass-form fieldset{grid-column:1/-1;border:1px solid #ccd3df;border-radius:10px;padding:14px}.visitor-gate-choices{display:flex;flex-wrap:wrap;gap:16px}.visitor-gate-choices label{display:flex;align-items:center}.visitor-gate-choices input{width:auto}
.visitor-pass-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.visitor-pass-card{padding:18px;border:1px solid #ccd3df;border-radius:12px}.visitor-pass-card h4{margin:0 0 10px}.visitor-pass-card strong{color:#173d59}.visitor-pass-card p{overflow-wrap:anywhere}.visitor-pass-actions{justify-content:flex-start}.visitor-pass-actions button{min-height:44px}.visitor-global{margin:16px 0;padding:12px;border-radius:10px;background:#edf3fa;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#visitorQrDialog{max-width:min(550px,94vw);border:0;border-radius:16px;padding:28px;text-align:center}#visitorQrDialog::backdrop{background:#00142a99}#visitorQrImage{width:min(360px,100%);height:auto}#visitorQrDetails{white-space:normal;overflow-wrap:anywhere}.visitor-print-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:650px){.visitor-pass-form{grid-template-columns:1fr}.visitor-pass-list{grid-template-columns:1fr}}
@media print{body:has(#visitorQrDialog[open])>*:not(#visitorQrDialog){display:none!important}#visitorQrDialog[open]{position:static;display:block;max-width:100%;border:0}.visitor-print-actions{display:none!important}}
.visitor-pass-form>label:first-of-type,.visitor-pass-form>p{grid-column:1/-1}.visitor-pass-form>p{margin:0;font-size:.9rem;line-height:1.5;color:#53647c}.visitor-pass-form label{align-content:start}.visitor-pass-form input{box-sizing:border-box;min-height:44px;background:#fff}
#visitorPassPanel button,#visitorQrDialog button{border:1px solid #cad3e2;border-radius:9px;background:#fff;color:#202861;padding:10px 14px;min-height:44px;font:inherit;font-weight:600;cursor:pointer}#visitorPassPanel button:hover,#visitorQrDialog button:hover{background:#edf2fa}#visitorPassPanel button:disabled{opacity:.55;cursor:wait}#visitorPassPanel #visitorPassSave{background:#202861;border-color:#202861;color:#fff}.visitor-pass-actions{margin-top:8px}
