/* Travel Booking v4.5: discreet security controls, self-contained responsive styles */
.v45-security-warning{height:30px;overflow:hidden;background:#edf6ff;border-bottom:1px solid #d8e9ff;color:#365477;font-size:11px;display:flex;align-items:center;margin:-1px 0 9px;white-space:nowrap;letter-spacing:.01em}
.v45-security-warning[hidden]{display:none!important}
.v45-security-warning-track{display:inline-block;padding-left:100%;white-space:nowrap;animation:v45-drift 24s linear infinite}
.v45-security-warning a{color:#1c5ca2;text-decoration:underline;font-weight:700}
@keyframes v45-drift{from{transform:translateX(0)}to{transform:translateX(-115%)}}
@media(prefers-reduced-motion:reduce){.v45-security-warning-track{animation:none;padding-left:14px}}
.v45-security-panel{max-width:940px;margin:0 auto;padding:27px}
.v45-security-panel .panel-head{padding:0 0 22px;align-items:center}
.v45-security-panel p{line-height:1.65}
.v45-sec-good{border:1px solid #cce9d3;background:#f1fbf4;color:#236343;border-radius:12px;padding:16px;margin-bottom:18px}
.v45-twofactor-body form{max-width:420px;margin-top:20px}
.v45-setup{margin-top:22px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px;padding:21px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px}
.v45-setup .v45-qr{width:100%;max-width:240px;aspect-ratio:1;background:white;border:10px solid white;border-radius:12px;box-shadow:0 3px 14px #0d264614}
.v45-setup h4{margin:3px 0 10px;font-size:16px}
.v45-setup .v45-secret{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#eef2f8;padding:10px;border-radius:9px;max-width:100%}
.v45-secret code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:1px}
.v45-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.v45-admin-card{min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.v45-admin-card .btn{margin-top:10px}
.v45-retention{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.v45-retention[hidden]{display:none!important}
.v45-retention p{font-size:12px;color:#66758b;margin:5px 0 0;line-height:1.5}
.v45-retention form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.v45-retention form label{font-size:12px;font-weight:600;display:grid;gap:5px}
.v45-retention input{max-width:122px;border:1px solid #cbd5e1;border-radius:10px;padding:10px}
.v45-session-countdown{display:block;font-size:11px;margin-top:6px;color:#8a4e19;white-space:nowrap}
.v45-schedule-form{display:grid;gap:7px;min-width:185px;font-size:11px}
.v45-schedule-form input{max-width:190px;padding:7px;border:1px solid #cbd5e1;border-radius:9px}
.v45-admin-extra{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #e4eaf1;padding-top:14px;margin-top:14px}
.v45-admin-extra form{background:#f8fafc;border:1px solid #e4eaf1;border-radius:13px;padding:14px;margin-top:0}
#adminIpRow{display:flex;align-items:center;gap:9px;font-size:13px;padding:14px;background:#eef6ff;border-radius:11px}
#adminIpRow[hidden]{display:none!important}
#adminEditModal .modal-card{max-height:90vh;overflow-y:auto}
#loginTwoFactorForm[hidden],#loginForm[hidden]{display:none!important}
#loginTwoFactorForm{display:grid;gap:14px;margin:20px 0}
@media(max-width:720px){.v45-setup{grid-template-columns:1fr}.v45-setup .v45-qr{max-width:230px}.v45-admin-extra{grid-template-columns:1fr}.v45-retention{align-items:stretch;flex-direction:column}}
