/* Identidad compartida para portada, acceso, panel y QR. */
:root{--sc-ink:#11283b;--sc-teal:#137f7d;--sc-mint:#e8f3f1;--sc-muted:#526574;--sc-line:#dce8e8}html{scroll-behavior:smooth}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.intro-chip{display:inline-block;padding:8px 12px;border-radius:99px;background:var(--sc-mint);color:#17605e;font-size:12px;font-weight:700;letter-spacing:.3px}.welcome h1,.dashboard-welcome h1{font-size:clamp(36px,4.4vw,53px);line-height:1.12;letter-spacing:-1.7px;margin:20px 0;color:var(--sc-ink)}.welcome em,.access-story em{font-style:normal;color:var(--sc-teal)}.welcome p,.dashboard-welcome p{line-height:1.65}.home-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:36px;align-items:center;padding:30px 0 35px}.hero-copy>p{font-size:17px;color:var(--sc-muted);max-width:490px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.welcome-actions .btn{padding:14px 18px;display:inline-flex;align-items:center;gap:9px}.hero-note{display:flex;align-items:center;gap:8px;color:var(--sc-muted);font-size:12px}.hero-visual{position:relative;border-radius:26px;overflow:hidden;border:8px solid white;background:var(--sc-mint);box-shadow:0 18px 50px #11283b12;transform:rotate(1deg)}.hero-visual img{display:block;width:100%;height:370px;object-fit:cover;object-position:51% center}.photo-label{position:absolute;top:16px;left:16px;right:16px;z-index:1;background:#ffffffed;backdrop-filter:blur(8px);color:var(--sc-ink);font-size:12px;font-weight:600;border-radius:12px;padding:12px}.photo-foot{display:flex;align-items:center;gap:9px;padding:18px 12px;background:white;font-size:12px;font-weight:600}.photo-dot{width:8px;height:8px;border-radius:50%;background:#1eadaa;flex-shrink:0}.welcome-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:25px 0;border-top:1px solid var(--sc-line);border-bottom:1px solid var(--sc-line)}.welcome-benefits article{display:flex;gap:12px;align-items:flex-start}.welcome-benefits .menu-icon{width:20px;height:20px;padding:10px;background:white;border-radius:12px;flex-shrink:0}.welcome-benefits h2{font-size:16px;letter-spacing:0;margin:1px 0 6px}.welcome-benefits p{margin:0;font-size:13px;color:var(--sc-muted)}.welcome-businesses{padding:44px 0}.section-heading,.dashboard-section{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.section-heading h2{font-size:29px;letter-spacing:-.7px;margin:8px 0 0}.business-search{font-weight:400;min-width:270px}.business-search input{background:white;border-radius:12px;margin:0;padding:13px;font-size:13px}.business-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.public-business{background:white;border:1px solid var(--sc-line);border-radius:18px;padding:22px;transition:box-shadow .15s,transform .15s}.public-business[hidden]{display:none}.public-business:hover{box-shadow:0 12px 28px #11283b0c;transform:translateY(-2px)}.business-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.business-avatar{display:inline-flex;padding:12px;background:var(--sc-mint);border-radius:14px}.business-avatar .menu-icon{width:21px;height:21px}.category-chip{font-size:11px;font-weight:600;color:var(--sc-muted);padding:7px 10px;background:#f4f7fa;border-radius:99px}.public-business h3{font-size:21px;margin:0 0 8px;letter-spacing:-.4px;overflow-wrap:anywhere}.public-business p{font-size:13px;color:var(--sc-muted);margin:5px 0}.business-book{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:17px;border-top:1px solid #edf1f3;text-decoration:none;font-weight:700;font-size:13px}.owner-invitation{background:var(--sc-ink);color:white;border-radius:22px;padding:30px;display:flex;justify-content:space-between;gap:24px;align-items:center}.owner-invitation .eyebrow{color:#79ddd5}.owner-invitation h2{font-size:27px;margin:10px 0}.owner-invitation p{font-size:14px;color:#d5e2e8;max-width:620px;margin:0}.owner-invitation .btn{flex-shrink:0;background:#1eadaa;color:#082b2a;font-weight:700}.welcome-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 0;font-size:12px;color:var(--sc-muted)}.access-layout{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--sc-line);border-radius:24px;overflow:hidden;margin:35px 0;box-shadow:0 20px 60px #11283b09}.access-story{background:var(--sc-ink);color:white;padding:32px;display:flex;flex-direction:column}.access-story .intro-chip{background:#ffffff12;color:#a3ede6;align-self:flex-start}.access-story h2{font-size:31px;line-height:1.2;letter-spacing:-.8px;margin:24px 0 16px}.access-story em{color:#78d9d1}.access-story>p{font-size:14px;color:#d5e2e8;line-height:1.7;margin:0 0 25px}.access-story img{width:100%;height:200px;object-fit:cover;object-position:center;border-radius:15px;display:block;margin:auto 0 18px}.access-story-foot{display:flex;gap:9px;align-items:center;font-size:12px;color:#d5e2e8}.access-form{padding:44px 35px;align-self:center}.access-form h1{font-size:31px;letter-spacing:-1px;margin:12px 0}.access-form>p{font-size:14px;color:var(--sc-muted);line-height:1.65;margin-bottom:26px}.access-form label{font-size:13px}.access-form input{padding:13px;background:#fbfcfd;border-radius:10px}.password-field{position:relative}.password-field input{padding-right:68px}.password-field button{position:absolute;right:5px;top:5px;background:transparent;color:var(--sc-teal);padding:8px 9px;font-size:12px;min-height:36px}.access-submit{width:100%;display:flex;justify-content:space-between;padding:14px 16px}.access-help{margin-top:24px;padding-top:20px;border-top:1px solid var(--sc-line);color:var(--sc-muted);font-size:12px;line-height:1.65}.access-help p{margin:6px 0}.access-help strong{color:var(--sc-ink)}.access-back{display:inline-block;font-size:13px;margin-top:17px}.dashboard-welcome{display:grid;grid-template-columns:1.3fr .8fr;gap:30px;align-items:center;padding:16px 0 32px}.dashboard-welcome h1{font-size:38px;margin:13px 0}.dashboard-welcome p{font-size:15px;color:var(--sc-muted);max-width:560px}.dashboard-photo{border-radius:20px;overflow:hidden;position:relative;background:var(--sc-ink)}.dashboard-photo img{width:100%;height:230px;object-fit:cover;display:block;opacity:.8}.dashboard-photo span{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 20px;background:linear-gradient(transparent,#11283bea);color:white;font-size:16px;line-height:1.5}.dashboard-tabs{display:flex;gap:8px;background:#e9eff1;padding:4px;border-radius:10px}.dashboard-tabs a{padding:8px 12px;border-radius:7px;text-decoration:none;margin:0;font-size:12px}.dashboard-tabs a.selected{background:white;box-shadow:0 2px 5px #11283b0a}.dashboard-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.dashboard-card-actions .btn{font-size:13px;display:inline-flex;gap:7px;align-items:center}.empty-businesses{padding:30px;background:white;border:1px dashed var(--sc-line);border-radius:18px}.empty-businesses h3{margin-top:0}.empty-businesses p{color:var(--sc-muted);font-size:14px}.qr-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.qr-invitation{text-align:center;border-radius:24px;background:white;border:1px solid var(--sc-line);padding:32px;box-shadow:0 12px 35px #11283b09}.qr-brand{width:155px;height:auto}.qr-invitation h2{font-size:24px;overflow-wrap:anywhere;margin:20px 0 8px}.qr-invitation>p{font-size:14px;color:var(--sc-muted)}.qr-image{display:block;width:100%;max-width:280px;height:auto;margin:20px auto}.qr-invitation small{color:var(--sc-muted);display:block;overflow-wrap:anywhere}.qr-tools{background:white;border:1px solid var(--sc-line);border-radius:18px;padding:25px}.qr-tools h2{margin-top:0;font-size:21px}.qr-tools p{font-size:14px;color:var(--sc-muted);line-height:1.6}.qr-tools .btn,.qr-tools button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;margin:10px 0;min-height:46px;font-size:14px}.qr-url-label{font-size:12px}.qr-tools input{font-size:12px;background:#f4f7fa}.qr-status{min-height:20px;font-size:12px!important;color:var(--sc-teal)!important}.qr-tip{padding:15px;background:var(--sc-mint);border-radius:12px;margin-top:20px}.qr-tip p{margin:0;font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #137f7d;outline-offset:3px}@media(max-width:760px){.home-hero,.dashboard-welcome{grid-template-columns:1fr;gap:22px;padding-top:16px}.hero-visual{transform:none}.hero-visual img{height:255px}.welcome h1{font-size:38px}.hero-copy>p{font-size:16px}.welcome-benefits{grid-template-columns:1fr;gap:18px}.section-heading{align-items:stretch;flex-direction:column}.business-search{min-width:0}.owner-invitation{flex-direction:column;align-items:flex-start;padding:25px}.access-layout{grid-template-columns:1fr;margin-top:18px}.access-story{padding:23px}.access-story h2{font-size:26px;margin:18px 0 12px}.access-story img{height:145px;margin:0 0 14px}.access-story>p{margin-bottom:18px}.access-form{padding:28px 23px}.access-form h1{font-size:29px}.dashboard-photo{display:none}.dashboard-welcome h1{font-size:33px}.dashboard-section{align-items:flex-start}.dashboard-section h2{font-size:22px;margin:8px 0}.qr-layout{grid-template-columns:1fr}.qr-invitation{padding:24px}.qr-tools{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.public-business{transition:none}}@media print{header,.qr-heading,.qr-tools,main>.card,.qr-status,.err{display:none!important}.qr-layout{display:block}.qr-invitation{max-width:420px;margin:20px auto;border:1px solid #ddd;box-shadow:none;break-inside:avoid}body{background:white}main{margin:0;padding:0}}

/* Texto y controles legibles en acceso, portada, panel y QR. */
.access-form label,.access-form input{font-size:18px}.access-form input{min-height:52px}.access-submit{min-height:56px;font-size:18px}.password-field button{min-height:44px;min-width:54px;font-size:16px;top:4px}.password-field input{padding-right:76px}.access-help,.access-back,.access-form>p,.public-business p,.business-book,.business-search input,.dashboard-card-actions .btn,.qr-tools p,.qr-tools .btn,.qr-tools button,.qr-url-label,.qr-tools input{font-size:16px}.dashboard-tabs a,.business-book{min-height:44px;display:flex;align-items:center}.dashboard-tabs a{font-size:16px}.welcome-benefits p,.hero-note,.welcome-footer,.qr-tip p,.qr-status{font-size:15px!important}.qr-tools .btn,.qr-tools button{min-height:52px}.public-business .business-book:focus-visible{outline:3px solid #11283b;outline-offset:3px}.access-layout>*{min-width:0}@media(max-width:760px){.dashboard-section{flex-wrap:wrap}.access-story{padding:18px}.access-story h2{font-size:24px;margin:8px 0}.access-story img,.access-story-foot{display:none}.access-story>p{font-size:16px;margin-bottom:0}.access-form{padding:22px 18px}.welcome-actions .btn{flex:1;text-align:center;justify-content:center}.dashboard-card-actions .btn{flex:1;justify-content:center}.owner-invitation .btn{width:100%;text-align:center}}

.welcome-actions .btn:first-child{font-weight:700}.welcome-businesses{scroll-margin-top:18px}.business-book{min-height:52px}.occupied-hours summary{font-size:16px}

.business-cover{display:block;width:100%;height:150px;object-fit:cover;border-radius:12px;margin:0 0 16px}@media(max-width:600px){.business-cover{height:130px}}

.dashboard-card-actions .share-booking{width:100%;box-sizing:border-box;background:#f4f9fa;border:1px solid #d0e3e5;border-radius:10px;padding:10px 12px}.share-booking summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;color:#11283b}.share-booking input{width:100%;font-size:16px;min-height:48px;box-sizing:border-box}.share-booking .actions{display:flex;flex-wrap:wrap;gap:8px}.share-booking .actions>*{min-height:48px;box-sizing:border-box}.share-booking label{display:block;font-size:16px}.share-booking p{font-size:16px;line-height:1.5}.share-booking [data-share-status]:empty{display:none}

/* La marca, el negocio y su equipo tienen imágenes distintas. */
.business-identity-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:12px 0}.business-identity-images>div{min-width:0}.public-business .identity-label{font-size:13px;font-weight:700;color:#526574;margin:0 0 8px}.identity-place>img{width:100%;height:140px;object-fit:cover;border-radius:12px}.identity-placeholder{height:140px;border-radius:12px;background:#edf5f5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#137f7d;gap:8px}.identity-placeholder>span{font-size:32px;font-weight:700}.identity-placeholder small{font-size:13px;color:#526574}.identity-person{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:#11283b}.identity-person>img,.identity-initials{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.identity-initials{display:flex;align-items:center;justify-content:center;background:#e7f4f3;color:#11283b;font-weight:700}.identity-person>span:last-child{overflow-wrap:anywhere}.identity-edit{display:inline-flex;align-items:center;min-height:44px;margin-bottom:8px;font-size:15px}.dashboard-photo>img{object-position:center}.identity-team>a{font-size:14px;display:inline-flex;align-items:center;min-height:44px}@media(max-width:380px){.business-identity-images{gap:8px}.identity-person{flex-direction:column;align-items:flex-start}.identity-place>img,.identity-placeholder{height:155px}}

.dashboard-brand-stamp{position:absolute;left:14px;top:14px;z-index:2;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 3px 12px #11283b22}.dashboard-photo .dashboard-brand-stamp img{width:145px;height:auto;display:block;object-fit:contain;opacity:1}

main .welcome-footer{flex-wrap:wrap;gap:12px}
main .support-email{display:inline-flex;align-items:center;min-height:44px;font-size:16px;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
main .access-help .support-email{margin-top:8px}

main .support-phone{display:inline-flex;align-items:center;min-height:44px;font-size:16px;max-width:100%;box-sizing:border-box}
main .access-help .support-phone{display:flex;margin-top:4px}
