/* Optional extension stylesheet bundled for offline desktop use. */

.booking-phone-field{position:relative}
.booking-guest-search-status{display:block;min-height:15px;color:#7897a4;font-size:8.5px;line-height:1.4}
.booking-guest-search-status[data-kind="success"]{color:#6ee7b7;font-weight:800}
.booking-guest-matches{position:absolute;z-index:12;top:calc(100% - 17px);left:0;right:0;display:grid;gap:3px;max-height:190px;overflow:auto;padding:5px;background:#07131f;border:1px solid #2a5363;border-radius:9px;box-shadow:0 16px 36px rgba(0,0,0,.48)}
.booking-guest-match{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;padding:8px;text-align:left;color:#dff8f5;background:#0c2130;border:1px solid #1f4254;border-radius:7px}
.booking-guest-match:hover,.booking-guest-match:focus{background:#103246;border-color:#2dd4bf;outline:none}
.booking-guest-match b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}
.booking-guest-match span{color:#99f6e4;font-size:9px}
.booking-guest-match small{grid-column:1/-1;color:#8fa7bd;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.light .booking-guest-matches{background:#fff;border-color:#8fb8c0}
.light .booking-guest-match{color:#102331;background:#f4fafb;border-color:#c8dce0}
.light .booking-guest-match:hover,.light .booking-guest-match:focus{background:#e8f7f5;border-color:#0f766e}

@media(max-width:700px){
 .booking-guest-matches{position:relative;top:auto;max-height:150px;box-shadow:none;margin-top:2px}
 .booking-guest-match{min-height:44px}
}

/* Keep every mobile header action, especially Logout, visible without horizontal scrolling. */
@media(max-width:600px){
 html .topbar>.top-actions,
 html .topbar.mobile-actions-forced>.top-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  overflow:visible!important;
  gap:5px!important;
  padding:2px 0!important;
  white-space:normal!important;
 }
 html .topbar>.top-actions>*{width:auto!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:6px 4px!important;font-size:9px!important;line-height:1.15!important;white-space:normal!important}
 html .topbar>.top-actions #logoutBtn{display:inline-flex!important;visibility:visible!important;opacity:1!important;order:-20!important;grid-column:1/-1!important;min-height:38px!important;font-size:10px!important}
 html .topbar>.top-actions .clock{display:none!important}
}
/* Every image field offers an explicit mobile camera or gallery/file choice. */
.image-source-picker{display:grid;gap:6px;width:100%}
.image-source-input,.image-source-picker>input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.image-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.image-source-actions button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#0d2737;color:var(--text);font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}
.image-source-actions .image-source-camera{border-color:#1bbfb3;background:linear-gradient(135deg,#12a99e,#078276);color:#fff}
.image-source-actions .image-source-upload{border-color:#3d6680;background:#102b3d;color:#e8f8ff}
.image-source-actions button:active{transform:translateY(1px)}
.image-source-status{display:block;min-height:16px;color:var(--muted);font-size:9px;overflow-wrap:anywhere}
@media(max-width:480px){.image-source-actions button{min-height:42px;font-size:11px}}

/* Keep registration visually separate from login and obvious on small screens. */
.loginform.register-open #showRegister{box-shadow:0 0 0 2px rgba(45,212,191,.28)}
.loginform.register-open #registerForm{display:grid;gap:8px}
.loginform.register-open #regBtn{min-height:42px;font-size:11px;font-weight:900}
.loginform.register-open #loginForm{display:none!important}
