/* kLinq.app v0.4.2.2
   Shared base notes: global tokens only. Page-specific CSS lives in separate files so homepage, public profiles, client dashboard, and Super Admin no longer fight each other. */
:root{--xl-blue:#0b57d0;--xl-navy:#061b4f;--xl-ink:#101828;--xl-muted:#667085;--xl-line:#e6edf7;--xl-soft:#f6f9ff;--xl-green:#34c759;--xl-radius:24px;--xl-shadow:0 18px 54px rgba(16,24,40,.12)}
*{box-sizing:border-box}img,svg,video,canvas{max-width:100%;height:auto}input,select,textarea,button{font:inherit}.xl-ratio-1,.apple-cropper-stage,.qr-cropper .apple-cropper-stage{aspect-ratio:1/1}.xl-ratio-916,.poster-cropper .apple-cropper-stage{aspect-ratio:9/16}
/* End shared base. */

/* kLinq.app v0.4.2.3 — universal ratio and toggle rules. */
img{max-width:100%;height:auto}.square-media,.square-upload,.square-preview,.qr-preview,.icon-preview,.public-tile-icon{aspect-ratio:1/1}.ios-switch input{position:absolute!important;opacity:0!important;pointer-events:none!important}.ios-switch{display:inline-flex!important;align-items:center!important;cursor:pointer!important}.ios-switch input + span{width:58px!important;height:34px!important;border-radius:999px!important;background:#cfd8e5!important;position:relative!important;display:block!important;transition:.2s!important}.ios-switch input + span:before{content:'';position:absolute;width:28px;height:28px;border-radius:50%;left:3px;top:3px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.2);transition:.2s}.ios-switch input:checked + span{background:#0b57d0!important}.ios-switch input:checked + span:before{transform:translateX(24px)}

/* kLinq.app v0.4.2.5 — universal square media/upload guard.
   Default rule: all normal uploaded images, previews, crop boxes, use-case images/icons,
   QR uploads, logos, avatars, and dashboard image controls are 1:1, centered, and not stretched.
   Exception: explicit .poster-cropper / .ratio-916 assets remain 9:16. */
:where(.square-media,.square-upload,.square-preview,.square-only-cropper,.apple-cropper:not(.poster-cropper),.qr-cropper,.image-upload,.upload-preview,.crop-preview,.usecase-image,.usecase-icon,.usecase-card img,.profile-logo-preview,.brand-logo-preview,.admin-avatar-preview,.founder-image-preview,.payment-qr-preview,.public-tile-icon,.icon-preview){
  aspect-ratio:1 / 1 !important;
}
:where(.square-media,.square-upload,.square-preview,.apple-cropper-stage,.upload-preview,.crop-preview,.usecase-image,.usecase-icon,.usecase-card img,.profile-logo-preview,.brand-logo-preview,.admin-avatar-preview,.founder-image-preview,.payment-qr-preview,.public-tile-icon,.icon-preview){
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
:where(.apple-cropper:not(.poster-cropper) .apple-cropper-stage,.qr-cropper .apple-cropper-stage,.square-only-cropper .apple-cropper-stage){
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}
:where(.apple-cropper:not(.poster-cropper) .apple-cropper-stage img,.qr-cropper .apple-cropper-stage img,.square-only-cropper .apple-cropper-stage img){
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.poster-cropper .apple-cropper-stage,.ratio-916,.xl-ratio-916{aspect-ratio:9 / 16 !important;}

/* v0.5.1.2 universal upload guard */
.square-media,.square-upload,.square-preview,.square-only-cropper,.apple-cropper:not(.poster-cropper),.qr-cropper,.image-upload,.upload-preview,.crop-preview,.usecase-image,.usecase-icon,.usecase-card img,.profile-logo-preview,.brand-logo-preview,.admin-avatar-preview,.founder-image-preview,.payment-qr-preview,.icon-preview{aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;}

/* kLinq.app v0.5.1.2 — universal upload/process helpers */
.klinq-processing-overlay{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
