:root { color-scheme: only light !important; }
html { touch-action: manipulation; -webkit-text-size-adjust: 100%; }
input, textarea, select { font-size: max(16px, 1em) !important; }
.qc-select-options { display: grid; gap: 8px; }
.qc-select-options button[aria-selected="true"] { background: #1464ff; color: #fff; }
.qc-overlay { position: fixed; inset: 0; z-index: 100000; background: #132d5066; display: grid; place-items: center; padding: 20px; }
.qc-dialog { box-sizing: border-box; color: #12345a; background: #fff; border-radius: 20px; padding: 24px; width: min(440px, 100%); max-height: 85dvh; overflow: auto; box-shadow: 0 20px 70px #12345a33; font: 16px/1.6 sans-serif; }
.qc-dialog h2 { margin: 0 0 12px; font-size: 21px; }
.qc-dialog p { white-space: pre-wrap; overflow-wrap: anywhere; }
.qc-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 20px; }
.qc-dialog button { min-height: 44px; border: 0; border-radius: 10px; background: #ecf3ff; color: #1457b8; padding: 10px 18px; cursor: pointer; font: inherit; }
.qc-dialog :is(button,input):focus-visible { outline: 2px solid #1464ff; outline-offset: 3px; }
.qc-dialog button.qc-primary { background: #1464ff; color: white; }
.qc-dialog a.qc-primary { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; border-radius: 10px; padding: 10px 18px; background: #1464ff; color: #fff; text-decoration: none; font: inherit; }
.qc-dialog a.qc-primary:focus-visible { outline: 2px solid #1464ff; outline-offset: 3px; }
.qc-phone-link { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 2px; gap: 6px; color: #1260ed; font-weight: 700; text-decoration: none; }
.qc-phone-link::before { content: ''; display: inline-block; width: 18px; height: 18px; background: currentColor; mask: url('/shared/ui/phone.svg') center/contain no-repeat; -webkit-mask: url('/shared/ui/phone.svg') center/contain no-repeat; }
.qc-phone-inline { color: #1260ed; text-decoration: underline; text-underline-offset: 3px; }
[data-site-call] [data-site-phone] { display: inline; color: inherit; font: inherit; margin: 0; }
.qc-phone-link:focus-visible, .qc-phone-inline:focus-visible { outline: 2px solid #1464ff; outline-offset: 3px; }
.qc-dialog button:disabled { opacity: .5; cursor: not-allowed; }
.qc-dialog p[role="status"]:empty { display: none; }
.qc-actions-split { justify-content: space-between; }
.qc-share-preview { display: flex; align-items: flex-start; gap: 12px; padding: 14px; background: #f3f7ff; border: 1px solid #e0eaf8; border-radius: 14px; margin: 16px 0; }
.qc-share-image { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 10px; object-fit: cover; }
.qc-share-detail { min-width: 0; overflow-wrap: anywhere; }
.qc-share-detail strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 16px; }
.qc-share-detail p { color: #526780; font-size: 13px; margin: 6px 0 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.qc-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.qc-fields input { width: 100%; box-sizing: border-box; border: 1px solid #c6d7ec; border-radius: 8px; padding: 8px; color: #12345a; background: white; }
.qc-back-icon { width: 24px !important; height: 24px !important; flex-shrink: 0; }
.qc-back-control { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; min-width: 44px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #12345a !important; box-sizing: border-box !important; flex-shrink: 0; }
.qc-back-control[hidden], .topbar-title[hidden] { display: none !important; }

.qc-has-top-navigation { --qc-top-nav-height: calc(56px + env(safe-area-inset-top, 0px)); scroll-padding-top: calc(var(--qc-top-nav-height) + 12px); }
.qc-top-navigation { position: fixed !important; inset: 0 auto auto var(--qc-nav-left, 0px) !important; width: var(--qc-nav-width, 100%) !important; height: var(--qc-top-nav-height) !important; min-height: var(--qc-top-nav-height) !important; box-sizing: border-box !important; margin: 0 !important; padding: env(safe-area-inset-top, 0px) max(12px, env(safe-area-inset-right, 0px)) 0 max(12px, env(safe-area-inset-left, 0px)) !important; display: flex !important; align-items: center !important; gap: 12px !important; background: #f8fbff !important; border: 0 !important; border-bottom: 1px solid #e3edf5 !important; border-radius: 0 !important; box-shadow: none !important; backdrop-filter: none !important; z-index: 120 !important; transform: none !important; }
.qc-top-navigation .qc-back-control { position: static !important; inset: auto !important; margin: 0 !important; transform: none !important; backdrop-filter: none !important; }
.qc-top-navigation h1, .qc-top-navigation > span:not([hidden]) { margin: 0 !important; font-size: 17px !important; line-height: 1.4 !important; }
.qc-top-navigation > div { min-width: 0; }
.qc-top-navigation p { margin: 2px 0 0 !important; font-size: 12px !important; line-height: 1.3 !important; }
.qc-top-nav-spacer { height: var(--qc-top-nav-height); flex-shrink: 0; }
.qc-has-top-navigation .detail-tabs { top: var(--qc-top-nav-height) !important; }

/* Frontend-only dialog bounds: the backdrop may cover the window; content stays in the H5 shell. */
.qc-h5 .qc-overlay { padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
.qc-h5 .qc-dialog { width: min(440px, 100%); max-width: 100%; min-width: 0; }
.qc-h5 :is(.contact-card,.modal-card,.settings-modal-card) { box-sizing: border-box; max-width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; overflow-wrap: anywhere; }
.qc-h5 :is(.contact-card,.modal-card,.settings-modal-card) img { max-width: 100%; height: auto; }
.qc-h5 .qc-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.qc-h5 .qc-actions { flex-wrap:wrap; }
.qc-h5 .qc-dialog { display:flex; flex-direction:column; overflow:hidden; }
.qc-h5 .qc-dialog > h2, .qc-h5 .qc-dialog > .qc-actions { flex:0 0 auto; }
.qc-h5 .qc-dialog > .qc-select-options { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.qc-h5 .qc-dialog > p { min-height:0; overflow-y:auto; }
.learning-topbar.qc-top-navigation { display:grid !important; grid-template-columns:44px minmax(0,1fr) 44px; gap:0 !important; }
.learning-topbar h1 { text-align:center; }
.qc-h5 .float-contact.is-peek svg { width:20px !important; height:20px !important; }
/* Short-value pickers share alignment; prose and free-form answers remain left aligned. */
.qc-fields label, .qc-fields input, .qc-select-options button { text-align:center; }
.qc-fields label { display:grid; gap:6px; min-width:0; }
.qc-calendar { display:grid; gap:12px; min-width:0; }
.qc-calendar-head { display:grid; grid-template-columns:36px minmax(0,1.2fr) minmax(0,1fr) 36px; gap:4px; align-items:center; }
.qc-calendar button { padding:6px 3px; min-width:0; line-height:1.4; }
.qc-calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; text-align:center; }
.qc-calendar-days > span { color:#60728b; font-size:13px; }
.qc-calendar-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.qc-calendar button[aria-current=date] { box-shadow:inset 0 0 0 1px #1464ff; }
.qc-calendar button[aria-pressed=true] { background:#1464ff; color:#fff; }
.qc-calendar-actions { display:flex; gap:10px; justify-content:space-between; }
.qc-calendar p { margin:0; color:#60728b; font-size:13px; text-align:center; }
.qc-h5 .qc-dialog > .qc-calendar { min-height:0; overflow-y:auto; }
.qc-h5 img[src*="/default-content-cover.png"] { object-fit:cover; object-position:center; }
.qc-h5 .thumb[style*="default-content-cover.png"] { background-size:cover; background-position:center; background-repeat:no-repeat; }
.filters input, .filters select, .questionnaire-filters input, [data-qc-picker] { text-align:center; }
.filters select { text-align-last:center; padding-inline:30px; }
.filters label { text-align:center; }
.qc-qr-wrap { margin:0; max-width:100%; flex-shrink:0; text-align:center; }
.qc-qr-wrap img { width:var(--qc-qr-image-width,100%) !important; max-width:100% !important; height:auto !important; display:block; margin:0 auto !important; -webkit-touch-callout:default; user-select:auto; -webkit-user-select:auto; }
.qc-qr-wrap figcaption { margin:6px 0 0; color:#65758a; font:12px/1.5 sans-serif; text-align:center; }
.qc-qr-wrap figcaption > span { display:block; white-space:nowrap; margin:0; font:inherit; color:inherit; }
.contact:has(> .qc-qr-wrap),.contact-panel:has(> .qc-qr-wrap) { flex-wrap:wrap; gap:16px; }
.contact:has(> .qc-qr-wrap) > div { flex:1 1 140px; min-width:0; }
.contact-panel:has(> .qc-qr-wrap) { grid-template-columns:minmax(0,1fr) 132px; }
@media (max-width:480px) {
  .contact-panel:has(> .qc-qr-wrap) { grid-template-columns:minmax(0,1fr) 116px; gap:10px; padding:12px; }
  .contact-panel > .qc-qr-wrap { justify-self:end; }
  .contact-panel:has(> .qc-qr-wrap) > div { min-width:0; }
  .contact-panel:has(> .qc-qr-wrap) .phone-link { font-size:clamp(13px,3.6vw,16px); white-space:nowrap; }
}
.modal .qc-qr-wrap, .contact-modal .qc-qr-wrap { margin:14px auto; }
