:root{--bg:#faf7f0;--paper:#fffdf8;--ink:#3C2630;--ink-2:#5B2A3C;--muted:#6E5E63;--line:#e3ded0;--mint:#F8F0F2;--accent:#b8975a;--gold-soft:#f1e7d0;--danger:#9d3b30;--ok:#703448;--warn:#8a5a12;--shadow:0 16px 50px #3C263014;--r-sm:10px;--r-md:16px;--r-lg:24px;--sp-1:6px;--sp-2:12px;--sp-3:20px;--sp-4:32px;--font:'Inter','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--display:'Iowan Old Style','Palatino Linotype',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font)}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad844c;outline-offset:3px}button,.button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 17px;background:white;color:#111111;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.danger{color:var(--danger)}.plain{background:transparent;border-color:transparent}.topbar{max-width:1280px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:13px}.brand-mark{font:700 27px Georgia,serif;letter-spacing:-2px;background:var(--ink);color:white;padding:8px 14px;border-radius:12px}.brand-caption{font-size:13px;color:var(--muted)}.header-actions{display:flex;gap:10px}.menu-button{display:inline-flex}.layout{display:block;max-width:1280px;margin:auto;min-height:75vh}.navigation{display:none;width:100%;padding:15px 32px;border-bottom:1px solid var(--line);background:white;flex-direction:column;gap:8px}.navigation.open{display:flex}.navigation:empty,.navigation.open:empty{display:none}.navigation a,.navigation button{justify-content:flex-start;text-align:left;border:0;background:transparent;padding:12px 15px;text-decoration:none;border-radius:9px}.navigation .active{background:var(--mint);font-weight:650}.nav-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:0 15px 10px;color:var(--muted)}main{width:100%;min-width:0;padding:40px 32px}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#927244;font-weight:700;text-transform:uppercase;margin-bottom:12px}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-1.5px;font-weight:650;margin:0 0 16px}h2{font-size:23px;letter-spacing:-.6px;margin:0 0 15px}h3{font-size:17px;margin:0 0 7px}p{margin:0 0 18px;color:var(--muted)}.lead{font-size:17px;max-width:550px;line-height:1.7}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;min-height:420px}.hero h1{font-size:clamp(42px,6vw,67px)}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#927244}.hero-art{padding:30px;background:#F3E4E9;border:1px solid #E3CBD4;border-radius:26px;transform:rotate(-2deg);box-shadow:var(--shadow)}.hero-art h3{font-size:20px}.mock-date{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:1px}.mock-row{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;gap:18px;margin-top:14px}.mock-row strong{font-size:14px}.mock-row p{margin:3px 0 0;font-size:12px}.mock-time{font-size:12px;font-weight:600;padding-top:3px}.mock-dot{width:9px;height:9px;border-radius:50%;background:#A86B80;display:inline-block;margin-right:8px}.badge{border-radius:30px;padding:5px 10px;background:var(--mint);font-size:11px;display:inline-block}.feature-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px;margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.feature-strip b{display:block;margin-bottom:6px}.feature-strip p{font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:10px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{margin:0}.card{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:25px;box-shadow:0 4px 20px #3C263003}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid.three{grid-template-columns:repeat(3,1fr)}.stack{display:grid;gap:20px}.narrow{max-width:580px;margin:auto}.section-gap{margin-top:25px}.muted{font-size:13px;color:var(--muted)}.notice{background:#f4eedf;border:1px solid #e9ddc4;border-radius:10px;padding:12px 15px;color:#735832;font-size:13px}.notice a{overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.stat{padding:20px;border:1px solid var(--line);border-radius:13px;background:white}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:30px;font-weight:600;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:600}.field input,.field select,input[type=date]{border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:11px 12px;min-height:44px;width:100%;min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:10px;font-size:13px;min-height:44px}.schedule{display:grid;gap:7px}.schedule-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;align-items:center}.schedule-row label{font-size:13px}.schedule-row input[type=time]{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:6px;background:white}.assignment{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.assignment input[type=number]{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px;min-height:44px}.agenda-item{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.agenda-item:first-child{border-top:0}.agenda-item p{font-size:13px;margin:4px 0}.agenda-item.cancelled{opacity:.65}.agenda-time{font-size:18px;font-weight:650}.empty{text-align:center;padding:45px 20px}.empty h3{font-size:20px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.list-item:first-child{border-top:0}.list-item p{margin:4px 0;font-size:13px}.list-item .actions{flex-shrink:0}.public-hero{position:relative;overflow:hidden;min-height:180px;background:var(--ink);color:white;border-radius:20px;padding:30px;display:flex;gap:20px;align-items:center;margin-bottom:25px}.public-hero .cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}.public-hero .public-title,.public-hero .logo{position:relative;z-index:1}.public-hero .logo{width:74px;height:74px;object-fit:cover;border-radius:14px;background:white}.public-hero h1{font-size:37px;margin:0 0 10px}.public-hero p{color:#EBD9DF;margin:0;font-size:13px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.service-option{width:100%;text-align:left;justify-content:space-between;min-height:82px;padding:18px;margin-top:10px;border-radius:12px}.service-option.selected{background:var(--mint);border:2px solid var(--ink);padding:17px}.service-option small{display:block;color:var(--muted);margin-top:5px}.service-option strong{white-space:nowrap}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.slot{display:flex;flex-direction:column;gap:2px;padding:9px 6px}.slot small{font-size:10px;color:var(--muted)}.slot.selected{background:var(--ink);color:white;border-color:var(--ink)}.slot.selected small{color:#EBD9DF}.summary{background:var(--mint);border-radius:10px;padding:15px;margin:20px 0;font-size:13px;display:flex;justify-content:space-between;gap:20px}.link-box{border:1px dashed #D8B7C1;border-radius:9px;padding:13px;background:#FBF3F5;font-size:13px;overflow-wrap:anywhere;margin:15px 0}.success-mark{height:55px;width:55px;background:var(--mint);font-size:28px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;border:1px solid #6E4256;background:var(--ink);color:white;border-radius:12px;padding:15px 22px;max-width:calc(100vw - 30px);box-shadow:var(--shadow);font-size:14px}.toast.error{background:#8b332b;border-color:#8b332b}.toast[hidden]{display:none}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:660px;width:calc(100% - 30px);max-height:90dvh;color:var(--ink);background:var(--bg)}dialog::backdrop{background:#2E1A2266}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.dialog-head h2{margin:0}footer{max-width:1280px;margin:0 auto;border-top:1px solid var(--line);padding:23px 32px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.loading{padding:30px}.brand-preview{height:90px;max-width:100%;object-fit:contain;display:block;margin:10px 0}.mobile-only{display:none}.data-label{font-size:11px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:780px){.topbar{padding:16px 18px}.brand-caption{display:none}.brand-mark{font-size:23px}.menu-button{display:inline-flex}.layout{display:block}.navigation{display:none;width:100%;padding:15px 18px;border-bottom:1px solid var(--line);background:white}.navigation.open{display:flex}main{padding:25px 18px}.hero{grid-template-columns:1fr;gap:30px;min-height:auto}.hero h1{font-size:45px}.hero-art{padding:22px;transform:none}.feature-strip{grid-template-columns:1fr;gap:15px;margin-top:30px}.feature-strip p{margin-bottom:0}.grid,.grid.three,.booking-grid{grid-template-columns:1fr}.card{padding:20px}.page-heading{flex-direction:column;gap:15px}.page-heading .actions{width:100%}.stats{gap:8px}.stat{padding:15px 11px}.stat span{font-size:10px}.stat strong{font-size:25px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.agenda-item{grid-template-columns:64px 1fr;gap:12px}.agenda-item>.badge{grid-column:2}.agenda-time{font-size:16px}.list-item{align-items:flex-start;flex-direction:column;gap:12px}.list-item .actions{width:100%}.assignment{grid-template-columns:1.3fr .9fr .9fr;gap:8px}.public-hero{padding:24px;min-height:155px}.public-hero h1{font-size:28px}.public-hero .logo{width:56px;height:56px}.schedule-row{grid-template-columns:1.15fr 1fr 1fr;gap:5px}.schedule-row input[type=time]{font-size:12px;padding:4px}.schedule-row label{font-size:12px}footer{padding:20px 18px;flex-direction:column;gap:6px}.mobile-only{display:block}dialog{padding:20px}.summary{flex-wrap:wrap}.public-title{min-width:0}h1,h2,h3{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.info-section{margin-top:45px;border-top:1px solid var(--line);padding-top:30px;scroll-margin-top:16px}.info-section h2{margin:0 0 10px}.info-section p{max-width:640px;color:var(--muted)}
footer{align-items:flex-start;font-size:13px}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand strong{color:var(--ink)}.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px}.footer-links a{color:var(--ink);padding:8px 0}
@media(max-width:780px){.navigation a,.navigation button{min-height:44px}}

#language{gap:4px;min-width:64px;letter-spacing:.5px;font-size:13px;border:1px solid var(--line);background:#fff}.lang-opt{opacity:.55}.lang-opt.on{opacity:1;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.loading-card{text-align:center}.spinner{width:34px;height:34px;margin:0 auto 18px;border:3px solid var(--mint);border-top-color:var(--ink);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}
/* Visual polish: discreet, no layout changes */
.topbar{position:sticky;top:0;z-index:10;background:#f5f6f1ee;backdrop-filter:blur(6px)}
button,.button{transition:background-color .15s,border-color .15s,transform .15s}.button:hover,button:hover:not(:disabled){border-color:#A86B80}.primary:hover:not(:disabled){background:#5B2A3C}button:active:not(:disabled){transform:translateY(1px)}
.card,.stat{transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow)}
.hero-art{animation:rise .5s ease-out both}@keyframes rise{from{opacity:0;transform:translateY(8px) rotate(-2deg)}}
.info-section{max-width:720px}.badge{letter-spacing:.2px}.empty{background:#f9faf6;border-radius:12px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Agéndame design system v2 ===== */
h1,h2,.hero h1{font-family:var(--display);font-weight:600;letter-spacing:-.02em}
.hero h1 em{color:var(--accent)}.eyebrow{color:var(--accent)}
.primary{background:linear-gradient(180deg,var(--ink-2),var(--ink));border-color:var(--ink);box-shadow:0 2px 8px #3C263033}
button,.button{border-radius:12px;min-height:48px;font-weight:600}
.card{border-radius:var(--r-md);background:var(--paper);border-color:var(--line)}
.topbar{background:#faf7f0ee}.brand-mark{background:var(--ink);color:#f1e7d0;border-bottom:3px solid var(--accent)}
.hero{padding:var(--sp-3) 0}.hero-art{background:linear-gradient(160deg,#F8F0F2,#f1e7d0);border-color:#d9d2bb;border-radius:var(--r-lg)}
.mock-row{border-radius:14px}.mock-dot{background:var(--accent)}
.icon{width:20px;height:20px;flex:none;vertical-align:-4px;margin-right:6px}
.feature-strip>div .icon{width:26px;height:26px;color:var(--accent);display:block;margin:0 0 10px}
.how-strip{margin-top:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--line)}.how-strip h2{font-size:22px}
.how-strip ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}
.how-strip li{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}
.how-strip p{margin:4px 0 0;font-size:13px}.step-n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#f1e7d0;display:grid;place-items:center;font:700 15px var(--display);flex:none}
.navigation a .icon,.navigation button .icon{margin-right:10px}.navigation .active{background:var(--ink);color:#fff}
.stat{position:relative;border-radius:var(--r-md);background:var(--paper)}.stat .icon{position:absolute;right:16px;top:16px;width:22px;height:22px;opacity:.7}
.stat strong{font:600 34px var(--display)}
.st-pending-card .icon,.badge.st-pending{color:var(--warn)}.st-confirmed-card .icon{color:var(--ok)}.st-cancelled-card .icon{color:var(--danger)}
.badge{display:inline-flex;align-items:center;font-weight:700;font-size:12px;padding:6px 12px;border:1.5px solid currentColor;background:transparent}
.badge .icon{width:14px;height:14px;margin-right:5px}
.badge.st-pending{background:#f8efd9;border-style:dashed}.badge.st-confirmed{color:var(--ok);background:#F8F0F2}.badge.st-cancelled{color:var(--danger);background:#f7e6e3;text-decoration:line-through}
.agenda-item{grid-template-columns:84px 1fr auto;border-left:4px solid transparent;padding:18px 16px;margin-top:10px;border-top:0;background:#fff;border-radius:var(--r-md);border-color:var(--line);border-left-color:var(--line);border-style:solid;border-width:1px 1px 1px 4px}
.agenda-item.st-pending-card{border-left-color:var(--warn)}.agenda-item.st-confirmed-card{border-left-color:var(--ok)}.agenda-item.st-cancelled-card{border-left-color:var(--danger)}
.agenda-time{display:flex;flex-direction:column}.agenda-time small{font-size:12px;color:var(--muted);font-weight:500}.agenda-body p{margin:2px 0}
.agenda-item .actions{grid-column:1/-1}
.big-time{font:600 22px var(--display);color:var(--ink);margin-bottom:6px}
.slot{min-height:56px}.slot:hover{border-color:var(--accent)}.service-option:hover{border-color:var(--accent)}
.field input:focus,.field select:focus{border-color:var(--ink-2);outline:3px solid #b8975a55;outline-offset:0}
.field input:user-invalid{border-color:var(--danger)}
footer{background:#f1ece0;max-width:none;padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2));margin-top:var(--sp-4)}
.empty{background:var(--gold-soft);border:1px dashed var(--accent)}
.page-heading h1{font-size:clamp(26px,4vw,36px)}
.navigation{box-shadow:0 12px 30px #3C263014}
@media(min-width:781px){.navigation{position:absolute;right:max(32px,calc((100vw - 1216px)/2));top:78px;width:260px;border:1px solid var(--line);border-radius:var(--r-md);z-index:9}}
@media(max-width:780px){.agenda-item{grid-template-columns:64px 1fr}.agenda-item>.badge{grid-column:2;justify-self:start}.navigation{position:absolute;left:0;right:0;z-index:9}.topbar{padding:12px 16px}main{padding:20px 16px}.stats{grid-template-columns:repeat(2,1fr)}}
.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(min-width:781px){.navigation{position:fixed;top:100px;max-height:calc(100vh - 120px);overflow:auto}}

.brand-sym{width:30px;height:30px;color:var(--accent);flex:none}.brand-caption{font-family:var(--display);font-style:italic;font-size:14px;color:var(--ink-2)}

/* Fase C: descansos, días libres, reglas, seguridad */
.block-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.block-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--line,#e4dccb);border-left:4px solid var(--accent);border-radius:12px;background:#fff}
.block-row .muted{font-size:.88rem}
.block-row button{min-height:44px;flex:none}
.public-hero{border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(60,38,48,.12)}
.public-title h1{letter-spacing:-.01em}
.booking-grid .card{border-radius:18px;box-shadow:0 6px 20px rgba(60,38,48,.07)}
.notice{border-left:4px solid var(--accent);border-radius:12px}
button:disabled{opacity:.6;cursor:progress}
@media (max-width:480px){.block-row{flex-direction:column;align-items:stretch}.block-row button{width:100%}}
.qr-box{display:flex;justify-content:center;padding:.75rem;background:#fff;border:1px solid var(--line,#e4dccb);border-radius:14px}
.qr-box svg{width:min(220px,100%);height:auto}
.block-row.unread{border-left-color:var(--ink);background:#f3f0e4}
.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.st-completed-card{border-left-color:var(--ink)}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--mint);flex:none;border:2px solid var(--accent)}
.avatar-default{display:inline-flex;align-items:flex-end;justify-content:center;overflow:hidden;color:var(--accent);background:var(--ink)}.avatar-default svg{width:78%;height:78%}
.pro-line{display:flex;gap:12px;align-items:center}.pro-line h3,.pro-line p{margin:0}
.photo-box{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:12px}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.pro-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:14px 8px;min-height:150px;background:var(--paper);color:var(--ink);border:2px solid var(--line);border-radius:16px;cursor:pointer;font:inherit}
.pro-card .avatar{width:88px;height:88px}.pro-card .avatar-any{width:88px;height:88px}.pro-card small{color:var(--muted);font-size:12px}
.pro-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pro-card.selected{border-color:var(--ink);background:var(--mint);box-shadow:0 0 0 2px var(--accent)}
.pro-check{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:700;line-height:24px;display:none}
.pro-card.selected .pro-check{display:block}
.pw-wrap{display:flex;gap:8px;align-items:stretch}.pw-wrap input{flex:1;min-width:0}.pw-toggle{min-height:44px;padding:0 12px;white-space:nowrap;font-size:13px}

/* ===== Agéndame design system v3 — rediseño visual completo ===== */
:root{--cream:#f1e7d0;--gold:#c9a96a;--ink-3:#2A1A21;--r-xl:28px;--shadow-lg:0 24px 60px #3C263022}
body{background:radial-gradient(1200px 500px at 85% -10%,#efe6cf 0,transparent 60%),var(--bg);-webkit-font-smoothing:antialiased}
.topbar{border-bottom:1px solid #e6dcc3;box-shadow:0 1px 0 #fff inset,0 6px 20px #3C26300a}
button.gold,.button.gold{background:linear-gradient(180deg,#d6b878,var(--gold));border-color:#b8975a;color:var(--ink-3);box-shadow:0 6px 18px #b8975a55}
.button.ghost{background:transparent;color:var(--cream);border-color:#f1e7d055}
.button.ghost:hover{background:#ffffff14}

/* Formularios */
.field label{font-size:13px;font-weight:650;letter-spacing:.2px;color:var(--ink-2)}
.field input,.field select,input[type=date]{min-height:52px;border:1.5px solid #d9d1bb;border-radius:14px;background:#fff;padding:12px 14px;font-size:16px;box-shadow:0 1px 0 #fff inset}
.field input:hover,.field select:hover{border-color:var(--accent)}
.stack{gap:18px}.form-grid{gap:16px}
.check-label{min-height:48px;padding:10px 14px;border:1.5px solid #e3ddc9;border-radius:14px;background:#fff;display:flex;gap:10px;align-items:center}
.check-label input{width:20px;height:20px;accent-color:var(--ink)}
dialog{border:0;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);background:var(--paper);padding:0;overflow:auto}
dialog>*{margin-left:28px;margin-right:28px}dialog>.dialog-head{margin:0 0 20px;padding:22px 28px;background:linear-gradient(120deg,var(--ink),var(--ink-2));color:var(--cream);position:sticky;top:0;z-index:2}
dialog>.dialog-head h2{color:var(--cream);margin:0;font-size:22px}dialog>.dialog-head button{background:#ffffff1a;color:var(--cream);border-color:#ffffff33;min-height:40px}
dialog>form,dialog>.stack{padding-bottom:28px}
dialog::backdrop{background:#3c263099;backdrop-filter:blur(3px)}

/* Tarjetas y títulos */
.card{border-radius:22px;padding:26px;border:1px solid #e6dfca;box-shadow:0 1px 2px #3C26300a,0 10px 30px #3C26300b}
.card>h2::after{content:"";display:block;width:38px;height:3px;border-radius:2px;background:var(--gold);margin-top:9px}
#root>.page-heading{padding:24px 28px;background:linear-gradient(120deg,#fffdf8,#f6efdc);border:1px solid #e6dcc3;border-left:6px solid var(--gold);border-radius:22px;margin-bottom:24px;align-items:center}
#root>.page-heading h1{margin:2px 0 4px}#root>.page-heading p{margin:0;color:var(--muted)}
.list-item{background:#fff;border:1px solid #e6dfca;border-radius:16px;padding:16px 18px;margin-top:10px}
.list-item:hover{border-color:var(--gold)}.list-item h3{margin:0}
.block-row{border-radius:14px;background:#fff}

/* Estadísticas */
.stats{gap:14px}
.stat{padding:20px 18px;border:1px solid #e6dfca;border-top:4px solid var(--gold);border-radius:20px;box-shadow:0 8px 24px #3C26300d}
.stat strong{font-size:40px;line-height:1.1;display:block;margin-top:8px}
.stat .icon{width:38px;height:38px;padding:9px;border-radius:50%;background:var(--mint);opacity:1;right:14px;top:14px;margin:0}
.stat.st-today-card{background:linear-gradient(150deg,var(--ink),var(--ink-2));color:var(--cream);border-color:var(--ink);border-top-color:var(--gold)}
.stat.st-today-card span{color:#d9d2bb}.stat.st-today-card .icon{background:#ffffff1f;color:var(--gold)}
.stat.st-pending-card{border-top-color:var(--warn)}.stat.st-confirmed-card{border-top-color:var(--ok)}.stat.st-cancelled-card{border-top-color:var(--danger)}.stat.st-completed-card{border-left:1px solid #e6dfca;border-top-color:var(--ink)}
.stat span{font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;padding-right:44px;display:block}
.big-time{font-size:30px}
.link-box{background:var(--gold-soft);border-color:var(--gold)}

/* Agenda */
.agenda-item{border-radius:18px;box-shadow:0 4px 14px #3C26300a;border:1px solid #e9e2cd;border-left-width:5px}
.agenda-time{font:600 20px var(--display);color:var(--ink)}
.avatar{border-color:var(--gold)}
.pro-profile{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:linear-gradient(120deg,var(--ink),var(--ink-2));color:var(--cream);border:0;margin-bottom:22px;box-shadow:var(--shadow-lg)}
.pro-profile .avatar{width:84px;height:84px;border:3px solid var(--gold)}
.pro-profile h2{margin:2px 0;color:#fff}.pro-profile p{margin:0;color:#d9d2bb}.pro-profile .eyebrow{color:var(--gold)}
.pro-count{text-align:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:18px;padding:12px 18px}
.pro-count strong{display:block;font:600 38px/1 var(--display);color:var(--gold)}.pro-count span{font-size:12px;color:#d9d2bb}

/* Portada */
.hero{background:radial-gradient(700px 360px at 90% 0,#b8975a40,transparent 70%),linear-gradient(135deg,var(--ink-3),var(--ink) 55%,var(--ink-2));color:var(--cream);border-radius:34px;padding:clamp(28px,5vw,64px);gap:clamp(24px,4vw,56px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:clamp(40px,5.4vw,68px);line-height:1.04}.hero h1 em{color:var(--gold)}
.hero .lead{color:#e6e0cf;font-size:18px}.hero .eyebrow{color:var(--gold)}.hero .muted{color:#B9A8AE}
.hero .button:not(.primary){background:transparent;color:var(--cream);border-color:#f1e7d066}
.hero .primary{background:linear-gradient(180deg,#d6b878,var(--gold));color:var(--ink-3);border-color:#b8975a;box-shadow:0 8px 22px #00000040}
.hero-art{transform:none;animation:none;background:#fffdf8;border:0;box-shadow:0 30px 60px #00000040;color:var(--ink)}
.hero-art::before{content:"";display:block;height:8px;margin:-4px -4px 18px;border-radius:6px;background:linear-gradient(90deg,var(--gold),#e9d6a4)}
.how-strip{border-top:0}.how-strip h2{font-size:30px;margin-bottom:18px}
.how-strip li{border-radius:22px;padding:22px;box-shadow:0 8px 24px #3C26300a;border-color:#e6dfca}
.step-n{background:linear-gradient(150deg,var(--ink),var(--ink-2));color:var(--gold);width:42px;height:42px;font:600 18px var(--display)}
.feature-strip{border-top:0;gap:18px}
.feature-strip>div{background:var(--paper);border:1px solid #e6dfca;border-radius:22px;padding:24px;box-shadow:0 8px 24px #3C26300a}
.cta-band{margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,var(--ink),var(--ink-2));color:var(--cream);border-radius:28px;padding:clamp(24px,4vw,44px);box-shadow:var(--shadow-lg)}
.cta-band h2{color:#fff;margin:0 0 6px;font-size:clamp(24px,3vw,34px)}.cta-band p{margin:0;color:#d9d2bb}

/* Acceso */
.auth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);max-width:1000px;margin:16px auto;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid #e0d6bb}
.auth-side{background:radial-gradient(400px 260px at 0 100%,#b8975a40,transparent 70%),linear-gradient(160deg,var(--ink-3),var(--ink));color:var(--cream);padding:44px 36px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.auth-sym{width:64px;height:64px;color:var(--gold)}.auth-side h2{color:#fff;font-size:30px;margin:0;line-height:1.15}
.auth-side ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px}.auth-side li{display:flex;align-items:center;gap:10px;color:#e6e0cf}.auth-side li .icon{color:var(--gold);width:22px;height:22px}
.auth-card.card{border:0;border-radius:0;box-shadow:none;max-width:none;margin:0;padding:clamp(24px,4vw,48px)}
.auth-card .eyebrow{margin-bottom:6px}.auth-card h1{margin:0 0 6px;font-size:34px}
.auth-card form .primary{min-height:54px;font-size:17px}

/* Portal público */
.public-hero{background:radial-gradient(520px 260px at 100% 0,#c9a96a55,transparent 70%),linear-gradient(135deg,var(--ink-3),var(--ink) 60%,var(--ink-2));min-height:230px;border-radius:30px;padding:clamp(24px,5vw,48px);box-shadow:var(--shadow-lg);border:0}
.public-hero .logo{width:84px;height:84px;border-radius:22px;border:3px solid var(--gold);background:#fff;object-fit:cover}
.public-title .eyebrow{color:var(--gold)}.public-hero h1{font-size:clamp(30px,5vw,50px);color:#fff}.public-title p{color:#d9d2bb;margin:0}
.booking-grid{gap:22px}.booking-grid .card{padding:26px}
.service-option{border:1.5px solid #e3ddc9;border-radius:16px;background:#fff;min-height:76px}.service-option.selected{border-color:var(--ink);background:var(--mint);box-shadow:0 0 0 3px #c9a96a66}
.service-option strong{color:var(--ink-2);font:600 18px var(--display)}
.pro-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.pro-card{border-radius:20px;padding:18px 10px;min-height:178px;border:1.5px solid #e3ddc9;box-shadow:0 6px 18px #3C26300d}.pro-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.pro-card .avatar,.pro-card .avatar-any{width:96px;height:96px;border:3px solid var(--gold)}
.pro-card.selected{box-shadow:0 0 0 3px var(--gold),0 10px 26px #3C263022}
.slots{gap:10px}.slot{border-radius:16px;border:1.5px solid #e3ddc9;background:#fff;font-weight:700;font-size:17px}.slot:hover{background:var(--gold-soft)}
.slot.selected{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 0 0 3px var(--gold)}
.summary{background:var(--gold-soft);border:1px dashed var(--accent);border-radius:16px;font-size:14px}
#booking-form .primary{min-height:56px;font-size:17px;width:100%}

/* Navegación (panel) */
body.is-app .navigation{background:linear-gradient(170deg,var(--ink-3),var(--ink));color:var(--cream);border:0;border-radius:24px;box-shadow:var(--shadow-lg)}
body.is-app .navigation a,body.is-app .navigation button{color:#e6e0cf;border-radius:14px;min-height:48px}
body.is-app .navigation a:hover,body.is-app .navigation button:hover{background:#ffffff14;border-color:transparent}
body.is-app .navigation .active{background:linear-gradient(180deg,#d6b878,var(--gold));color:var(--ink-3);font-weight:700}
body.is-app .navigation .nav-label{color:var(--gold)}
body.is-app .navigation button[data-action=logout]{border:1px solid #ffffff2e;margin-top:6px;justify-content:center}
.nav-user{display:flex;gap:12px;align-items:center;padding:8px 10px 14px;border-bottom:1px solid #ffffff1f;margin-bottom:6px}
.nav-user strong{display:block;color:#fff;line-height:1.2;overflow-wrap:anywhere}.nav-user small{color:var(--gold);font-size:12px}
.nav-avatar{width:44px;height:44px;border-radius:14px;background:var(--gold);color:var(--ink-3);display:grid;place-items:center;font:700 20px var(--display);flex:none}
@media(min-width:1000px){
 body.is-app .layout{display:grid;grid-template-columns:288px minmax(0,1fr);align-items:start}
 body.is-app .navigation{display:flex;position:sticky;top:96px;left:auto;right:auto;width:auto;margin:28px 0 28px 32px;padding:18px;max-height:calc(100vh - 116px);overflow:auto;z-index:1}
 body.is-app #menu-button{display:none}
 body.is-app main{padding-top:28px}
}

/* Móvil */
@media(max-width:780px){
 .hero{border-radius:26px;padding:26px 20px}.hero h1{font-size:40px}
 .auth{grid-template-columns:1fr;margin:0;border-radius:24px}.auth-side{padding:22px 22px 24px;flex-direction:row;align-items:center;flex-wrap:wrap}.auth-side ul{display:none}.auth-sym{width:44px;height:44px}.auth-side h2{font-size:22px;flex:1;min-width:180px}
 .auth-card h1{font-size:28px}
 #root>.page-heading{padding:18px;border-radius:20px}#root>.page-heading h1{font-size:26px}
 .card{padding:20px;border-radius:20px}
 .stat{padding:16px 14px}.stat strong{font-size:32px}.stat span{font-size:11px;padding-right:38px}.stat .icon{width:32px;height:32px;padding:7px;right:10px;top:10px}
 .pro-profile{grid-template-columns:auto 1fr;gap:14px}.pro-count{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px}.pro-count strong{display:inline}
 .public-hero{min-height:190px;border-radius:24px}.public-hero .logo{width:60px;height:60px}
 .booking-grid .card{padding:20px}.pro-grid{grid-template-columns:repeat(2,1fr)}
 body.is-app .navigation{left:12px;right:12px;width:auto;top:76px;border-radius:22px;padding:14px;max-height:calc(100dvh - 96px);overflow:auto;box-shadow:0 30px 60px #3c263066}
 dialog{margin:auto 0 0;width:100%;max-width:none;max-height:92dvh;border-radius:26px 26px 0 0}
 dialog>*{margin-left:18px;margin-right:18px}dialog>.dialog-head{padding:18px}
 .cta-band{border-radius:24px}.cta-band .actions{width:100%}.cta-band .button,.cta-band button{flex:1}
}
@media(max-width:380px){.stats{grid-template-columns:1fr 1fr}.slots{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:34px}}

/* ===== v4: portada comercial y registro por pasos ===== */
.landing{position:relative;overflow:hidden;color:var(--cream);background:radial-gradient(520px 340px at 88% 18%,#c9a96a38,transparent 70%),linear-gradient(115deg,var(--ink-3) 0%,var(--ink) 55%,#4a2436 100%);border-radius:30px;padding:clamp(28px,5vw,60px) clamp(20px,5vw,60px) 24px;box-shadow:var(--shadow-lg)}
.landing::before{content:"";position:absolute;right:-40px;top:0;bottom:0;width:52%;background:repeating-linear-gradient(115deg,#c9a96a22 0 2px,transparent 2px 28px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%);pointer-events:none}
.landing>*{position:relative}
.landing .eyebrow{color:var(--gold);margin-bottom:14px}
.landing h1{font-family:var(--display);font-size:clamp(38px,6.4vw,68px);line-height:1.05;color:#fff;margin:0 0 16px;letter-spacing:-.02em;font-weight:600}
.landing h1 em{display:block;color:var(--gold);font-style:italic;font-weight:500}
.landing .lead{color:#e6e0cf;font-size:clamp(16px,2.4vw,19px);max-width:520px;margin-bottom:24px}
.landing-actions{display:flex;flex-wrap:wrap;gap:12px;max-width:540px}
.landing-actions>*{flex:1 1 150px;white-space:nowrap;min-height:56px;font-weight:650;font-size:16px;border-radius:14px}
.landing-actions .icon{width:18px;height:18px}.landing-actions .gold{flex-grow:1.4}
.landing .button.ghost{background:#2A1A2199;color:#fff;border-color:#f1e7d088}
.benefits{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0 0;padding:0}
.benefits li{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.25;color:#f1ede0;min-width:0}
.benefit-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ffffff14;color:var(--gold)}
.benefit-ic .icon{width:20px;height:20px}
.how2{margin-top:36px}
.how2 h2{font-family:var(--display);font-size:clamp(26px,4vw,34px);margin:0 0 4px}
.how2>p{margin:0 0 18px}
.how-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0}
.how-cards li{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 24px #3C26300d}
.how-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.how-cards .step-n{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}
.how-ic{color:var(--accent)}.how-ic .icon{width:30px;height:30px}
.how-cards h3{font-size:18px;margin:0 0 6px}.how-cards p{margin:0;font-size:14px}
.test-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px auto 0;padding:10px 16px;max-width:520px;background:var(--mint);border:1px solid #E9DFE3;border-radius:16px;color:var(--ink);font-size:13px;text-align:left}
.reg{max-width:640px;margin:0 auto}
.reg-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.reg-top h1{font-size:clamp(28px,6vw,38px);margin:0 0 6px}.reg-top p{margin:0}
.reg-back{flex:none;width:46px;height:46px;min-height:46px;padding:0;border-radius:14px;background:#fff}
.reg-back .icon{width:20px;height:20px;transform:scaleX(-1)}
.reg-steps{list-style:none;display:flex;margin:0 0 22px;padding:0}
.reg-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--muted);position:relative;text-align:center}
.reg-steps li+li::before{content:"";position:absolute;top:17px;right:50%;width:100%;height:2px;background:var(--line)}
.reg-steps li.done+li::before,.reg-steps li.current::before{background:var(--ink)}
.reg-steps .dot{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-weight:700;color:var(--muted)}
.reg-steps .current .dot{background:var(--ink);border-color:var(--ink);color:#fff}
.reg-steps .current{color:var(--ink);font-weight:700}
.reg-steps .done .dot{background:var(--mint);border-color:var(--ink);color:var(--ink)}
.reg-form{display:grid;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,4vw,28px);box-shadow:0 10px 30px #3C26300d}
.reg-form h2{margin:0}
.kind-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;margin:0;padding:0;min-width:0}
.kind-pick legend{font-size:13px;font-weight:600;margin-bottom:8px;padding:0}
.kind-opt{position:relative;display:block}
.kind-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.kind-opt span{display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px;border:2px solid var(--line);border-radius:14px;background:#fff;font-weight:650;text-align:center}
.kind-opt input:checked+span{border-color:var(--ink);background:var(--mint)}
.kind-opt input:focus-visible+span{outline:3px solid #ad844c;outline-offset:2px}
.svc-list{display:grid;gap:12px}
.svc-row{display:grid;grid-template-columns:1.6fr .8fr .8fr auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.sum-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.sum-card h3{margin:0 0 6px}.sum-card p{margin:0 0 4px;font-size:14px;overflow-wrap:anywhere}
.sum-list{list-style:none;margin:0;padding:0}
.sum-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}.sum-list li:first-child{border-top:0}
.sum-list li.closed{color:var(--muted)}
.reg-error{margin:0;color:var(--danger);font-weight:650;font-size:14px}.reg-error:empty{display:none}
.reg-actions{display:flex;gap:10px}
.reg-actions button{flex:1;min-height:54px;font-size:16px;border-radius:14px}
.reg-actions button[type=submit]{flex:2}
@media(max-width:780px){
.topbar{padding:10px 14px}.brand-mark{font-size:21px;padding:5px 10px}.brand-sym{width:30px;height:30px}
.landing{margin:-20px -16px 0;border-radius:0 0 30px 30px;padding:30px 20px 22px}
.benefits{gap:4px}.benefits li{font-size:12.5px;gap:7px}.benefit-ic{width:34px;height:34px}.benefit-ic .icon{width:17px;height:17px}
.how-cards{grid-template-columns:1fr;gap:10px}.how-cards li{padding:16px}
.how-cards li{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.how-top{grid-row:1/3;margin:0;flex-direction:column;gap:10px;justify-content:flex-start}.how-cards h3{align-self:end}
.svc-row{grid-template-columns:1fr 1fr}.svc-row .field:first-child,.svc-row>button{grid-column:1/-1}
.reg-steps .lbl{font-size:12px}
}
@media(max-width:380px){.benefits li{flex-direction:column;text-align:center;gap:4px}.landing h1{font-size:36px}}
p.test-note .icon{flex:none;width:18px;height:18px;color:var(--accent)}

/* ===== Logo oficial integrado en la cabecera ===== */
.brand{display:flex;align-items:center;min-width:0;flex:none;text-decoration:none}
.logo-h{display:block;height:52px;width:auto;aspect-ratio:176/58;overflow:visible}
.brand-sym,.brand-mark,.brand-caption{display:none}
.header-actions{flex:none;align-items:center}
@media(max-width:780px){.logo-h{height:48px}.topbar{gap:8px}}
@media(max-width:400px){.logo-h{height:46px}.header-actions{gap:6px}.header-actions button{padding:8px 11px}}
@media(max-width:340px){.logo-h{height:38px}.header-actions button{padding:6px 8px}}

/* Avisos abribles */
.block-row .notif-item{display:flex;width:100%;min-height:56px;justify-content:flex-start;text-align:left;border:0;padding:6px 0;background:transparent;border-radius:12px}
.notif-item>span{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-item .muted{font-size:13px}
.block-row:has(.notif-item){padding-top:0;padding-bottom:0}

/* Horarios ocupados y portal público */
.slot.busy,.slot.busy:hover{background:#ecebe6;color:#8A7F85;border-color:#dcdad2;cursor:not-allowed;text-decoration:line-through;font-weight:500}.slot.busy small{text-decoration:none}
body.is-public #menu-button,body.is-public .navigation{display:none!important}


/* Agéndame Modern Fresh — landing and owner dashboard, scoped to these two screens */
:root{--brand-primary:#703448;--brand-heading:#703448;--brand-text:#3C2630;--brand-gold:#d5b36d;--brand-bg:#f7f9f6;--brand-surface:#ffffff;--bg:var(--brand-bg);--paper:var(--brand-surface);--ink:var(--brand-text);--ink-2:#7D4059;--mint:#F8F0F2;--accent:var(--brand-gold);--line:#E9DFE3;--shadow:0 16px 44px #3C263010}
body{background:var(--bg)}
.topbar{background:#ffffffea;border-bottom:1px solid #F0E4E8}body:has(.mb-home){color:#3C2630}body:has(.mb-home) .home-install{color:#703448}
.logo-h{height:58px;max-width:180px}
.mb-home{display:grid;gap:48px}
.mb-home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:28px;min-height:540px}
.mb-home-copy{position:relative;z-index:2}
.mb-pill{display:inline-flex;align-items:center;gap:9px;border-radius:100px;padding:9px 15px;background:#F8F0F2;color:#4A2434;font-size:13px;font-weight:650;margin-bottom:24px}
.mb-pill svg{width:18px;height:18px}
.mb-home-copy h1{font-size:clamp(40px,5vw,67px);font-weight:760;line-height:1.08;letter-spacing:-2.8px;margin-bottom:25px;color:#3C2630}
.mb-home-copy h1 span{color:#703448}
.mb-home-copy>p{font-size:17px;line-height:1.65;max-width:500px;margin-bottom:28px}
.mb-home-actions{display:flex;gap:12px;flex-wrap:wrap}
.mb-home-actions .button,.mb-home-actions button{border-radius:13px;min-height:52px;padding:13px 22px;font-weight:650}
.mb-home-actions .primary,.mb-home-bottom .primary{background:#703448;border-color:#703448;color:white}
.mb-phone-stage{height:510px;position:relative;border-radius:34px;background:radial-gradient(ellipse at 76% 35%,#E9CBD6 0%,#F6E7EC 42%,transparent 75%);overflow:hidden}
.mb-preview-phone{position:absolute;width:51%;height:425px;overflow:hidden;border:7px solid #241419;border-radius:32px;background:#fff;box-shadow:0 24px 44px #3C263035;padding:22px 13px 12px;color:#3C2630;transform-origin:bottom center}
.mb-phone-agenda{left:12%;top:38px;transform:rotate(-8deg);z-index:1}
.mb-phone-booking{right:6%;top:69px;transform:rotate(8deg);z-index:2}
.mb-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;font-size:16px}
.mb-preview-brand{font:700 20px Georgia,serif;letter-spacing:-.5px}
.mb-preview-brand span{color:#bc9957}
.mb-preview-phone h3{font-size:17px;letter-spacing:-.4px;margin:0 0 6px}
.mb-preview-muted{font-size:10px;margin:0 0 17px}
.mb-preview-days{display:flex;justify-content:space-between;margin-bottom:15px;font-size:11px}
.mb-preview-days span{padding:5px}
.mb-preview-days .current{border-radius:50%;background:#7D4059;color:white}
.mb-preview-appt{display:flex;align-items:center;gap:8px;padding:10px 5px;border-bottom:1px solid #F6ECEF;font-size:10px}
.mb-preview-appt>b{font-size:10px}
.mb-preview-appt div{flex:1;min-width:0}
.mb-preview-appt strong,.mb-preview-appt small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb-preview-appt small,.mb-preview-service small{font-size:9px;color:#7A6670}
.mb-preview-appt i{width:9px;height:9px;border-radius:50%;background:#C08CA0}
.mb-preview-appt i.waiting{background:#d5b36d}
.mb-preview-tabs{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:#7D4059}
.mb-preview-service{display:flex;align-items:center;gap:8px;padding:12px 5px;border-bottom:1px solid #F6ECEF}
.mb-preview-service div{flex:1;min-width:0}
.mb-preview-service strong,.mb-preview-service small{display:block;font-size:10px}
.mb-preview-service small{font-size:9px}
.mb-service-glyph{width:30px;height:30px;display:grid;place-items:center;background:#F8F0F2;color:#7D4059;border-radius:10px}
.mb-service-glyph svg{width:18px;height:18px}
.mb-service-radio{display:grid;place-items:center;width:19px;height:19px;border:1px solid #D8C6CD;border-radius:50%;font-size:11px;color:#7D4059}
.mb-preview-next{margin-top:20px;border-radius:9px;background:#703448;color:white;text-align:center;padding:10px;font-size:11px}
.mb-home-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mb-home-feature{background:white;border:1px solid #F0E4E8;border-radius:22px;text-align:center;padding:30px 18px;box-shadow:0 10px 30px #45223008}
.mb-home-feature>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#F8F0F2;color:#7D4059;margin:0 auto 17px}
.mb-home-feature svg{width:29px;height:29px}
.mb-home-feature strong{display:block;font-size:16px;color:#3C2630}
.mb-home-feature p{font-size:13px;margin:8px 0 0}
.mb-home-bottom{border-radius:28px;background:linear-gradient(120deg,#3C2630,#703448);padding:38px;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}
.mb-home-bottom h2{font-size:27px;margin-bottom:7px;color:white}
.mb-home-bottom p{color:#F6E7EC;margin:0}
.mb-home-bottom .primary{background:white;color:#703448;border-color:white;flex-shrink:0}
.mb-home .test-note{font-size:12px;margin:-28px 0 0}
.mb-home-slogan{font:600 15px var(--display);letter-spacing:2.5px;text-transform:uppercase;color:#8A6D2F;margin:-6px 0 16px}
.mb-home-signature{justify-content:center;padding:22px}
.mb-signature-art{width:min(540px,92%);height:auto;display:block;border-radius:16px}
.mb-owner{display:grid;gap:24px}
.mb-owner-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mb-owner-welcome h1{font-size:clamp(29px,4vw,43px);margin:0 0 8px}
.mb-owner-welcome p{margin:0}
.mb-owner-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.mb-owner-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:23px;border:1px solid #F5EBEE;border-radius:19px;background:#fff;box-shadow:0 5px 20px #45223006}

.mb-owner-metric-icon svg{width:24px;height:24px}
.mb-owner-metric strong{font-size:33px;line-height:1.1}
.mb-owner-metric small{font-size:12px;color:var(--muted)}
.mb-owner-metric-primary small{color:#F1E7D0}
.mb-owner-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:18px}
.mb-owner .card{border-radius:22px;background:white;box-shadow:0 8px 30px #45223007}
.mb-owner-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.mb-owner-card-head h2{margin:0}
.mb-owner-row{display:grid;grid-template-columns:125px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 0;border-top:1px solid #EFE6E1}
.mb-owner-row time{font-size:12px;font-weight:700}
.mb-owner-row strong,.mb-owner-row small{display:block}
.mb-owner-row strong{font-size:14px}
.mb-owner-row small{font-size:12px;color:var(--muted)}
.mb-owner-side{display:grid;gap:18px;align-content:start}
.mb-owner-next-time{font-size:27px;font-weight:750;letter-spacing:-1px;margin:10px 0}
.mb-owner-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mb-owner-shortcut{display:flex;align-items:center;gap:12px;padding:22px 15px;background:#fff;border:1px solid #F5EBEE;border-radius:18px;text-decoration:none;font-weight:650;font-size:13px}
.mb-owner-shortcut svg{color:#7D4059;width:23px;height:23px;flex-shrink:0}
.mb-owner-shortcut span:last-child{margin-left:auto}
.mb-owner-extras{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:850px){.mb-home-hero{grid-template-columns:1fr;gap:18px}.mb-home-copy h1{max-width:700px}.mb-phone-stage{max-width:600px;width:100%;margin:auto}.mb-owner-main{grid-template-columns:1fr}.mb-owner-side{grid-template-columns:1fr 1fr}.mb-owner-row{grid-template-columns:100px minmax(0,1fr) auto}}
@media(max-width:600px){.mb-home{gap:25px}.mb-home-hero{gap:8px}.mb-pill{font-size:11px;margin-bottom:18px}.mb-home-copy h1{font-size:clamp(35px,10vw,48px);letter-spacing:-1.7px}.mb-home-copy>p{font-size:15px}.mb-home-actions{display:grid;grid-template-columns:1fr}.mb-phone-stage{height:390px;border-radius:22px}.mb-preview-phone{height:340px;width:56%;border-width:5px;border-radius:26px;padding:15px 9px}.mb-phone-agenda{left:3%;top:24px}.mb-phone-booking{right:2%;top:39px}.mb-preview-head{margin-bottom:15px}.mb-preview-phone h3{font-size:13px}.mb-preview-muted{margin-bottom:10px}.mb-preview-appt{padding:7px 2px;gap:5px}.mb-preview-service{padding:8px 2px}.mb-preview-next{margin-top:10px}.mb-home-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mb-home-feature{padding:20px 10px;border-radius:16px}.mb-home-feature strong{font-size:13px}.mb-home-feature p{font-size:11px}.mb-home-bottom{display:grid;padding:24px;border-radius:20px}.mb-home-bottom h2{font-size:22px}.mb-home-bottom .primary{width:100%}.mb-owner-welcome{align-items:flex-start;flex-direction:column}.mb-owner-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mb-owner-metric{padding:17px}.mb-owner-row{grid-template-columns:64px minmax(0,1fr);gap:8px}.mb-owner-row .badge{grid-column:2;justify-self:start}.mb-owner-side,.mb-owner-extras{grid-template-columns:1fr}.mb-owner-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mb-owner-shortcut{padding:17px 10px;font-size:12px}.mb-owner .card{padding:18px}}
@media(prefers-reduced-motion:reduce){.mb-preview-phone{transition:none}}

/* Portada compacta: solo la página pública de inicio. */
@media(max-width:600px){
 body:has(.mb-home) footer{display:none}
 body:has(.mb-home) main{padding:7px 12px 10px}
 body:has(.mb-home) .topbar{padding:7px 12px}
 body:has(.mb-home) .logo-h{height:43px}
 .mb-home{gap:8px}
 .mb-home-hero{min-height:0;display:grid;grid-template-columns:1fr;gap:0;position:relative;isolation:isolate}
 .mb-home-copy{z-index:3;padding-right:34%}
 .mb-pill{padding:6px 9px;margin-bottom:9px;font-size:10px;line-height:1.2}
 .mb-pill svg{width:13px;height:13px;flex:none}
 .mb-home-copy h1{font-size:clamp(26px,7.4vw,37px);line-height:1.08;letter-spacing:-1.1px;margin:0 0 12px}
 .mb-home-copy>p{font-size:12px;line-height:1.35;margin-bottom:13px}
 .mb-home-actions{gap:7px}
 .mb-home-actions .button,.mb-home-actions button{min-height:39px;padding:8px 7px;font-size:11px;border-radius:10px}
 .mb-phone-stage{position:absolute;z-index:1;top:52px;bottom:0;right:-9px;width:49%;height:auto;min-height:260px;border-radius:24px;overflow:visible;background:radial-gradient(ellipse at center,#F0DDE3 0%,transparent 72%);pointer-events:none}
 .mb-preview-phone{height:min(275px,78%);width:79%;border-width:4px;border-radius:20px;padding:10px 6px;box-shadow:0 12px 25px #3C263029}
 .mb-phone-agenda{left:-6%;top:7%}
 .mb-phone-booking{right:-3%;top:17%}
 .mb-preview-head{font-size:10px;margin-bottom:9px}
 .mb-preview-brand{font-size:17px}
 .mb-preview-phone h3{font-size:11px}
 .mb-preview-muted{font-size:8px;margin-bottom:7px}
 .mb-preview-days{font-size:8px;margin-bottom:7px}
 .mb-preview-days span{padding:2px}
 .mb-preview-appt{font-size:8px;padding:5px 1px;gap:3px}
 .mb-preview-appt b,.mb-preview-appt small,.mb-preview-service strong,.mb-preview-service small{font-size:7px}
 .mb-preview-service{gap:4px;padding:6px 1px}
 .mb-service-glyph{width:19px;height:19px}
 .mb-service-glyph svg{width:12px;height:12px}
 .mb-preview-next{margin-top:8px;padding:7px 3px;font-size:8px}
 .mb-home-features{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .mb-home-feature{border-radius:12px;padding:9px 3px}
 .mb-home-feature>span{width:29px;height:29px;margin-bottom:5px}
 .mb-home-feature svg{width:16px;height:16px}
 .mb-home-feature strong{font-size:9px;line-height:1.15}
 .mb-home-feature p{font-size:8px;line-height:1.15;margin:4px 0 0}
 .mb-home-bottom{padding:11px 14px;border-radius:14px;display:block;text-align:center}
 .mb-home-bottom h2{font-size:14px;line-height:1.15;margin:0 0 3px}
 .mb-home-bottom p{font-size:10px;line-height:1.2}
 .mb-home-bottom .primary{display:none}
 .mb-home .test-note{font-size:9px;line-height:1.15;margin:0;text-align:center}
}
@media(max-width:600px) and (min-height:690px){
 body:has(.mb-home) main{height:calc(100dvh - 67px);box-sizing:border-box}
 .mb-home{height:100%;grid-template-rows:minmax(0,1fr) auto auto auto}
}
@media(max-width:360px){
 .mb-home-copy{padding-right:31%}
 .mb-home-copy h1{font-size:25px}
 .mb-phone-stage{width:45%}
 .mb-home-feature p{display:none}
}
@media(max-width:600px) and (max-height:689px){
 .mb-home-hero{min-height:340px}
 .mb-home-copy{padding-right:33%}
}

/* Vista neutral de un solo negocio dentro del móvil de la portada. */
.mb-phone-dashboard{left:13%;top:5%;width:76%;transform:rotate(6deg);z-index:2}
.mb-preview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.mb-preview-metrics>div{min-width:0;border-radius:9px;padding:9px 4px;background:#F8F0F2;text-align:center}
.mb-preview-metrics>div:nth-child(2){background:#fff3de}
.mb-preview-metrics span{display:block;color:#7D4059}
.mb-preview-metrics svg{width:16px;height:16px}
.mb-preview-metrics strong{display:block;font-size:19px;line-height:1.2}
.mb-preview-metrics small{display:block;font-size:8px;line-height:1.2}
.mb-preview-list-title{font-size:12px;margin:9px 0 4px}
.mb-preview-appointment{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:4px;padding:9px 1px;border-bottom:1px solid #F6ECEF;font-size:9px}
.mb-preview-appointment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb-preview-appointment em{font-style:normal;font-size:8px;padding:4px 5px;border-radius:12px;background:#F8F0F2;color:#703448;white-space:nowrap}
.mb-preview-appointment em.pending{background:#fff2d5;color:#906112}
@media(max-width:600px){
 .mb-phone-dashboard{left:5%;top:2%;width:94%;height:min(315px,95%);transform:rotate(5deg)}
 .mb-preview-metrics{gap:3px;margin:8px 0}
 .mb-preview-metrics>div{padding:5px 2px;border-radius:7px}
 .mb-preview-metrics svg{width:12px;height:12px}
 .mb-preview-metrics strong{font-size:14px}
 .mb-preview-metrics small{font-size:6px}
 .mb-preview-list-title{font-size:9px;margin:5px 0 3px}
 .mb-preview-appointment{grid-template-columns:25px minmax(0,1fr);gap:3px;padding:5px 0;font-size:7px}
 .mb-preview-appointment em{grid-column:2;justify-self:start;font-size:6px;padding:2px 4px}
}

/* Distribución final móvil: el mockup tiene su propia fila, sin superponerse al texto. */
@media(max-width:600px){
 body:has(.mb-home) main{height:auto;min-height:0;overflow:visible}
 .mb-home{height:auto;display:flex;flex-direction:column;gap:10px}
 .mb-home-hero{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0}
 .mb-home-copy{padding-right:0;display:contents}
 .mb-pill{order:0;align-self:flex-start;margin:0 0 3px}
 .mb-home-copy h1{order:1;position:relative;font-size:clamp(26px,7.1vw,34px);line-height:1.06;letter-spacing:-1.1px;margin:0;max-width:100%}
 .mb-home-copy>p{order:2;font-size:12px;line-height:1.35;margin:0}
 .mb-phone-stage{order:3;position:relative;inset:auto;top:auto;right:auto;bottom:auto;width:100%;height:clamp(170px,26dvh,240px);min-height:0;margin:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,#F0DDE3 0%,transparent 70%)}
 .mb-phone-dashboard{position:absolute;top:3%;left:50%;right:auto;bottom:auto;width:min(54%,205px);height:94%;transform:translateX(-50%) rotate(4deg);transform-origin:center center;border-width:4px;border-radius:19px;padding:9px 8px}
 .mb-home-actions{order:4;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
 .mb-home-actions .button,.mb-home-actions button{font-size:12px;min-height:42px;padding:8px 5px}
 .mb-home-features{gap:5px}
 .mb-home-feature{padding:8px 3px}
 .mb-home-bottom{padding:10px 12px}
 .mb-home .test-note{margin:0}
 .mb-preview-metrics{margin:6px 0}
 .mb-preview-metrics strong{font-size:13px}
 .mb-preview-appointment{grid-template-columns:28px minmax(0,1fr) auto;padding:5px 0}
 .mb-preview-appointment em{grid-column:auto;justify-self:end}
 .mb-preview-tabs{bottom:6px}
}
@media(max-width:600px) and (min-height:760px){
 .mb-phone-stage{height:clamp(190px,28dvh,270px)}
}
@media(max-width:600px) and (max-height:650px){
 .mb-phone-stage{height:155px}
 .mb-home-feature p{display:none}
 .mb-home-bottom p{display:none}
}

/* Portada de lanzamiento: composición lateral inspirada en la referencia.
   Columnas reales: ningún teléfono se superpone al texto. */
@media (max-width:600px) {
 body:has(.mb-home) main{height:auto;min-height:0;padding:9px 12px 12px;overflow:visible}
 .mb-home{display:flex;flex-direction:column;gap:9px;height:auto}
 .mb-home-hero{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;column-gap:5px;min-height:0;position:relative;isolation:isolate}
 .mb-home-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;position:relative;z-index:1}
 .mb-pill{order:initial;align-self:flex-start;padding:5px 7px;font-size:9px;line-height:1.2;gap:4px;margin:0 0 14px;white-space:normal}
 .mb-pill svg{width:12px;height:12px}
 .mb-home-copy h1{order:initial;font-size:clamp(23px,5.65vw,30px);line-height:1.08;letter-spacing:-.7px;margin:0 0 12px;max-width:100%;overflow-wrap:normal}
 .mb-home-copy>p{order:initial;font-size:11px;line-height:1.38;margin:0 0 15px}
 .mb-home-actions{order:initial;display:flex;flex-direction:column;gap:7px;width:100%}
 .mb-home-actions .button,.mb-home-actions button{width:100%;min-height:39px;font-size:11px;padding:8px 5px;border-radius:10px}
 .mb-phone-stage{order:initial;position:relative;inset:auto;top:auto;right:auto;bottom:auto;width:100%;height:clamp(270px,42dvh,360px);min-height:0;margin:0;overflow:hidden;border-radius:22px;pointer-events:none;background:radial-gradient(ellipse at 55% 40%,#E9CBD6 0%,#F6E7EC 35%,transparent 74%),radial-gradient(circle at 80% 85%,#e5d8b3 0%,transparent 43%)}
 .mb-phone-dashboard{position:absolute;top:5%;left:50%;right:auto;bottom:auto;width:83%;height:88%;min-height:0;transform:translateX(-50%) rotate(4deg);transform-origin:center center;border:4px solid #241419;border-radius:20px;padding:9px 5px 7px;overflow:hidden;box-sizing:border-box}
 .mb-preview-head{font-size:9px;margin-bottom:8px}
 .mb-preview-brand{font-size:17px}
 .mb-preview-phone h3{font-size:10px;line-height:1.15;margin-bottom:4px}
 .mb-preview-muted{font-size:7px;margin:0 0 7px}
 .mb-preview-metrics{gap:3px;margin:6px 0}
 .mb-preview-metrics>div{padding:5px 1px}
 .mb-preview-metrics svg{width:12px;height:12px}
 .mb-preview-metrics strong{font-size:13px}
 .mb-preview-metrics small{font-size:6px}
 .mb-preview-list-title{font-size:9px;margin:8px 0 3px}
 .mb-preview-appointment{grid-template-columns:26px minmax(0,1fr);gap:2px;padding:5px 0;font-size:7px}
 .mb-preview-appointment em{grid-column:2;justify-self:start;font-size:6px;padding:2px 4px}
 .mb-preview-tabs{bottom:6px}
 .mb-home-features{gap:5px}
 .mb-home-feature{padding:8px 2px}
 .mb-home-feature strong{font-size:9px}
 .mb-home-feature p{font-size:8px}
 .mb-home-bottom{padding:10px 12px}
 .mb-home .test-note{margin:0}
}
@media(max-width:600px) and (min-height:760px) {
 .mb-phone-stage{height:clamp(290px,43dvh,365px)}
}
@media(max-width:600px) and (max-height:689px) {
 .mb-home-hero{min-height:0}
 .mb-phone-stage{height:270px}
 .mb-home-copy h1{font-size:clamp(21px,5.3vw,26px)}
 .mb-home-feature p{display:none}
}
@media(max-width:360px) {
 .mb-home-hero{grid-template-columns:minmax(0,57fr) minmax(0,43fr);gap:3px}
 .mb-home-copy h1{font-size:22px}
 .mb-phone-dashboard{width:88%}
 .mb-pill{font-size:8px}
}

/* Firma de marca inferior: curva borgoña y acento dorado, sin barra del sistema. */
.mb-home-bottom.mb-home-signature{
 position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;
 min-height:132px;padding:26px 20px 20px;margin:0;
 border-radius:48% 43% 18px 18px / 35% 28% 18px 18px;
 background:radial-gradient(ellipse at 83% 10%,#7D4059 0%,transparent 48%),
 linear-gradient(135deg,#3C2630 0%,#703448 58%,#452230 100%);
 text-align:center;color:white;
}
.mb-home-signature::before{
 content:"";position:absolute;z-index:-1;top:-49px;left:-23px;width:50%;height:150px;
 border-radius:0 0 100% 0;transform:rotate(-15deg);
 background:linear-gradient(130deg,#e9d6a2,#af873f 62%,#f3d99d);
}
.mb-home-signature::after{
 content:"";position:absolute;z-index:-1;top:-31px;left:8%;width:57%;height:107px;
 border-radius:0 0 100% 0;transform:rotate(-12deg);
 background:#4A2434;
}
.mb-signature-content{position:relative;z-index:1}
.mb-signature-brand{font:500 38px/1 Georgia,serif;letter-spacing:-2px;color:#fff;margin:0 0 9px}
.mb-signature-brand span{color:#d7b574}
.mb-home-signature .mb-signature-content p{font-size:14px;line-height:1.3;color:#FBF3F5;margin:0}
@media(max-width:600px){
 .mb-home{min-height:calc(100dvh - 85px)}
 .mb-home-bottom.mb-home-signature{margin-top:auto;min-height:130px;padding:20px 10px 15px;border-radius:48% 43% 12px 12px / 34% 28% 12px 12px}
 .mb-signature-brand{font-size:32px}
 .mb-home-signature .mb-signature-content p{font-size:12px}
 .mb-home-signature::before{top:-38px;height:125px}
 .mb-home-signature::after{top:-24px;height:90px}
 .mb-preview-tabs{display:none} /* No tapar citas dentro de la maqueta. */
}
@media(max-width:600px) and (max-height:730px){
 .mb-home-bottom.mb-home-signature{min-height:105px}
}

/* Ajustes de presentación: firma centrada, tarjetas más bajas y acceso legible. */
.mb-home-bottom.mb-home-signature{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;box-sizing:border-box;
}
.mb-home-signature .mb-signature-content{
 position:relative;z-index:2;width:100%;max-width:100%;
 margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;
}
.mb-home-signature .mb-signature-brand{
 display:block;width:max-content;max-width:100%;margin:0 auto 10px;
 font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(37px,8vw,51px);
 line-height:1;letter-spacing:-2.8px;color:#fff;
 text-shadow:0 2px 5px rgba(0,0,0,.12);
}
.mb-home-signature .mb-signature-brand span{
 color:#e5c17c;font-style:italic;font-size:.87em;letter-spacing:-3px;
}
.mb-home-signature .mb-signature-content p{
 display:block;margin:0 auto;max-width:100%;text-align:center;
 font-size:clamp(11px,3vw,14px);line-height:1.35;
}
@media(max-width:600px){
 .mb-home{display:flex;flex-direction:column}
 .mb-home-features{margin-top:auto}
 .mb-home-bottom.mb-home-signature{margin-top:12px;padding:24px 16px 19px}
 .mb-home-actions a.button[href="/login"]{font-size:clamp(13px,3.7vw,16px);font-weight:700}
}
@media(max-width:600px) and (max-height:750px){
 .mb-home-features{margin-top:8px}
 .mb-home-bottom.mb-home-signature{margin-top:8px}
}

/* Refinamiento final de portada: más presencia y cierre de marca premium. */
@media (max-width:600px){
 body:has(.mb-home) main{padding:10px 12px 8px}
 .mb-home{min-height:calc(100dvh - 80px);gap:10px}
 .mb-home-hero{grid-template-columns:minmax(0,54fr) minmax(0,46fr);column-gap:5px}
 .mb-home-copy h1{font-size:clamp(25px,6.15vw,33px);line-height:1.065;letter-spacing:-.8px}
 .mb-home-copy>p{font-size:clamp(11.5px,3.05vw,13px);line-height:1.4}
 .mb-pill{font-size:10px}
 .mb-phone-stage{height:clamp(290px,46dvh,395px);border-radius:26px}
 .mb-phone-dashboard{width:88%;height:92%;top:4%;border-radius:21px}
 .mb-home-features{margin-top:auto;gap:6px}
 .mb-home-feature{padding:11px 3px}
 .mb-home-feature>span{width:33px;height:33px}
 .mb-home-feature svg{width:18px;height:18px}
 .mb-home-feature strong{font-size:10px}
 .mb-home-feature p{font-size:8.5px;line-height:1.2}
 .mb-home-bottom.mb-home-signature{
   margin-top:10px;min-height:clamp(135px,18dvh,175px);
   border-radius:46% 44% 10px 10px / 28% 24% 10px 10px;
   background:radial-gradient(ellipse at 78% 5%,rgba(125,64,89,.58),transparent 55%),linear-gradient(115deg,#2A1A21 0%,#703448 57%,#3C2630 100%);
 }
 .mb-home-signature::before{
   top:-71px;left:-13%;width:70%;height:180px;
   border-radius:0 0 100% 0;transform:rotate(-10deg);
   background:linear-gradient(130deg,#f0dfb1 0%,#c29a53 55%,#e4c883 100%);
 }
 .mb-home-signature::after{
   top:-66px;left:0;width:77%;height:175px;
   border-radius:0 0 100% 0;transform:rotate(-9deg);
   background:linear-gradient(110deg,#4A2434,#6B3145);
 }
 .mb-home-signature .mb-signature-brand{font-size:clamp(38px,9vw,51px);letter-spacing:-3px;margin-bottom:8px}
 .mb-home-signature .mb-signature-content p{font-size:clamp(11px,3vw,14px)}
}
@media(max-width:600px) and (max-height:760px){
 .mb-phone-stage{height:clamp(270px,40dvh,325px)}
 .mb-home-bottom.mb-home-signature{min-height:115px}
 .mb-home-feature{padding:8px 2px}
}
@media(max-width:360px){
 .mb-home-copy h1{font-size:23px}
 .mb-phone-dashboard{width:86%}
}

/* Mantener fija la agenda mientras el menú móvil está abierto. */
@media(max-width:780px){body.is-app.menu-open:has(.navigation.open){overflow:hidden;overscroll-behavior:none}body.is-app.menu-open .navigation.open{overscroll-behavior:contain;overflow-y:auto;max-height:calc(100dvh - 96px)}}

/* Error 1: pantalla informativa compacta, sin espacios artificiales. */
body:has(#how.info-section) main{
  height:auto;
  min-height:0;
  padding-block:clamp(12px,2.5dvh,24px);
}
#how.info-section{
  width:min(100%,960px);
  max-width:960px;
  margin:0 auto;
  padding:0;
  border:0;
  scroll-margin-top:0;
}
#how.info-section h2{margin:0 0 12px;line-height:1.15}
#how.info-section .feature-strip{
  margin:0 0 14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
#how.info-section .feature-strip>div{padding:16px;border-radius:16px;min-width:0}
#how.info-section .feature-strip p{margin:6px 0 0;line-height:1.4}
#how.info-section>.button{margin:0}
@media(max-width:780px){
  body:has(#how.info-section) main{padding:12px 16px}
  #how.info-section h2{font-size:clamp(23px,6vw,30px);margin-bottom:10px}
  #how.info-section .feature-strip{grid-template-columns:1fr;gap:9px;margin-bottom:12px}
  #how.info-section .feature-strip>div{padding:12px 14px;border-radius:14px}
  #how.info-section .feature-strip p{font-size:14px;line-height:1.35;margin-top:3px}
  #how.info-section .feature-strip b{line-height:1.3}
}

/* Keep the menu visible at the current viewport position, even after scrolling. */
@media (max-width:780px){
  .navigation.open{position:fixed;top:clamp(72px, 12dvh, 110px);left:0;right:0;z-index:1001;max-height:calc(100dvh - clamp(72px, 12dvh, 110px));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 30px #3C263030}
  .topbar{z-index:1002}
  body.menu-open:has(.navigation.open){overflow:hidden;overscroll-behavior:none}
}

/* Audit round 2: bounded reflow across public and authenticated screens. */
main,.card,.stack,.field,.page-heading>*,.list-item>*,.agenda-body,.pro-line>*,.booking-grid>*,.form-grid>*{min-width:0}
.grid,.booking-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body{overflow-wrap:anywhere}.actions>*{max-width:100%}button,.button{white-space:normal;overflow-wrap:anywhere;min-height:44px}
input,select,textarea{max-width:100%;min-width:0}input[type=checkbox]{flex-shrink:0}textarea{width:100%;min-height:120px;padding:12px;font:inherit;border:1px solid var(--line);border-radius:9px}
.schedule-row{grid-template-columns:minmax(95px,1fr) repeat(2,minmax(0,1fr))}.schedule-row select{width:100%;min-width:0;padding:9px 5px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.agenda-item.cancelled{opacity:1;background:#faf3f1}.agenda-item.cancelled .agenda-body{color:#583e39}.badge.st-cancelled{color:#7b2d24;text-decoration:none}
.public-hero .logo{object-fit:contain}.copy-value{width:100%;min-height:44px;font-size:14px}.notif-item{width:100%;text-align:left;justify-content:flex-start}.notif-item>span{min-width:0}.block-row.unread{border-left:3px solid var(--ink)}
.demo-services{border:1px solid var(--line);border-radius:10px;margin:18px 0}.slots .full{grid-column:1/-1}.pro-line{min-width:0}.list-item .actions{flex-shrink:1}
@media(max-width:1000px){.grid,.booking-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:780px){.form-grid{grid-template-columns:minmax(0,1fr)}.card{padding:17px;border-radius:16px}.page-heading{gap:12px;margin-bottom:18px}.stack{gap:14px}.section-gap{margin-top:18px}main{padding:18px 14px}.public-hero{padding:20px;min-height:150px;gap:13px}.public-hero h1{font-size:27px}.slot{font-size:14px;border-radius:10px}.service-option{min-height:66px;padding:12px}.service-option.selected{padding:11px}input,select,textarea{font-size:16px}.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.schedule-row>.check-label{grid-column:1/-1}.schedule-row small{grid-column:1/-1}.mb-home-copy h1{font-size:clamp(30px,8vw,43px)}dialog .dialog-head h2{font-size:20px}.dialog-head button{min-height:44px}body.menu-open:has(.navigation.open){overflow:hidden}.agenda-item{grid-template-columns:75px minmax(0,1fr)}.agenda-item>.actions{grid-column:1/-1}.navigation.open{max-height:calc(100dvh - 90px)}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{gap:7px}.actions>button,.actions>.button{flex:1 1 auto}.public-hero{flex-wrap:wrap}.pro-grid{grid-template-columns:minmax(0,1fr)}}

/* Agéndame onboarding visual refinement — approved emerald / cream / gold design */
.reg{max-width:760px;margin:0 auto;padding:clamp(8px,2vw,22px) 0 36px;position:relative}
.reg::after{content:"";display:block;height:9px;margin:24px 4px 0;border-radius:100% 0 0 0;background:linear-gradient(105deg,#b8975a 0%,#e8d4a7 28%,#703448 65%,#3C2630 100%);opacity:.85}
.reg-top{align-items:center;gap:14px;margin-bottom:24px}
.reg-top>div{flex:1;text-align:center;padding-right:44px}
.reg-top h1{font-size:clamp(26px,4vw,34px);line-height:1.14;letter-spacing:-.025em;color:#3C2630}
.reg-top p{font-size:14px;color:#6E5E63}
.reg-back{background:#fffdf9;border:1px solid #E9DFE3;box-shadow:0 2px 8px #3C26300a}
.reg-steps{margin:0 0 26px;gap:0}
.reg-steps li{min-width:0;font-size:clamp(10px,2.5vw,12px);gap:8px}
.reg-steps .dot{width:34px;height:34px;border:1.5px solid #E3D5DB;background:#fffdf9}
.reg-steps .current .dot{background:#703448;border-color:#703448;color:white;box-shadow:0 3px 10px #70344826}
.reg-steps .done .dot{background:#703448;border-color:#703448;color:white}
.reg-steps li.done+li::before,.reg-steps li.current::before{background:#703448}
.reg-form{background:linear-gradient(180deg,#fffdf9,#faf8f1);border:1px solid #e7e7df;border-radius:22px;box-shadow:0 10px 30px #3C26300a;padding:clamp(16px,3vw,28px);gap:20px}
.reg-form .field input,.reg-form .field select,.reg-form input:not([type=checkbox]):not([type=radio]),.reg-form select{max-width:100%;min-width:0}
.reg-form .field label,.reg-form legend{color:#3C2630;font-weight:700}
.reg-form .kind-pick{gap:12px}
.reg-form .kind-opt span{min-height:78px;background:#fff;border:1.5px solid #E9DFE3;border-radius:15px;color:#3C2630;padding:12px}
.reg-form .kind-opt input:checked+span{background:#F8F0F2;border-color:#703448;box-shadow:0 0 0 1px #703448 inset}
.reg-form .svc-row,.reg-form .sum-card{border-color:#EFE3E7;background:#fff;border-radius:15px;box-shadow:0 2px 10px #3C263006}
.reg-form .sum-card{padding:clamp(14px,3vw,20px)}
.reg-actions{margin-top:6px}
.reg-actions button{border-radius:16px;min-height:52px}
.reg-actions button[type=submit]{background:#703448;border-color:#703448;color:#fff}
.reg-actions button[type=submit]:hover{background:#5E2C3E;border-color:#5E2C3E}
.reg-actions button:focus-visible,.reg-form input:focus-visible,.reg-form select:focus-visible{outline:3px solid #b8975a;outline-offset:2px}
@media(max-width:540px){
.reg{padding:4px 0 24px}
.reg-top{gap:8px;margin-bottom:20px}
.reg-top>div{padding-right:40px}
.reg-top h1{font-size:27px}
.reg-steps li .lbl{overflow-wrap:anywhere}
.reg-steps .dot{width:30px;height:30px}
.reg-steps li+li::before{top:15px}
.reg-form{padding:16px 13px;border-radius:18px}
.reg-form .kind-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reg-form .kind-opt span{padding:10px 7px;font-size:13px}
.reg-form .svc-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.reg-form .svc-row .field:first-child,.reg-form .svc-row>button{grid-column:1/-1}
.reg-actions button{min-width:0}
}

/* Android review: scoped refinements, preserving the approved branding. */
.reg{padding-top:20px;scroll-margin-top:100px}.reg-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:4px}.reg-steps .lbl{overflow-wrap:normal;word-break:normal;font-size:clamp(10px,2.7vw,12px)}
.weekly-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:span 2;min-width:0}.weekly-times>label{min-width:0;font-size:12px}.full-time{width:100%;min-width:0;min-height:44px;padding:9px 5px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:9px;font:inherit}.weekly-off{grid-column:span 2;font-size:13px}.weekly-extra{grid-column:1/-1}
[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.brand-form:focus-within{outline-offset:5px}.brand-file:focus-visible~.actions button:first-child{outline:3px solid var(--accent);outline-offset:2px}
.branding-card{min-width:0}.brand-image{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fffdf9;display:grid;place-items:center}.brand-image.logo{aspect-ratio:1;max-width:270px;margin-inline:auto}.brand-image.cover{aspect-ratio:16/9}.brand-image img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.brand-image.logo img{object-fit:contain}.brand-example{display:grid;place-items:center;width:100%;height:100%;padding:12px;color:var(--muted);font-size:12px}.brand-example svg{width:100%;max-height:150px}.brand-status{min-height:1.4em;font-size:13px;margin:0}.brand-form .actions{gap:8px}.brand-form .actions button{min-height:44px;flex:1}.upload-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:brand-spin .8s linear infinite}@keyframes brand-spin{to{transform:rotate(360deg)}}
.client-booking-tools .actions{margin-block:12px}.client-booking-tools .qr-box{margin:12px auto}.client-booking-tools .link-box{overflow-wrap:anywhere}.summary{flex-wrap:wrap;gap:12px}.summary>button{width:100%}#booking-details{scroll-margin-top:105px}.slot.selected{outline:3px solid var(--accent);outline-offset:-3px}
@media(max-width:780px){.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-row>.check-label{grid-column:1/-1}.weekly-times,.weekly-off{grid-column:1/-1}.reg-top{margin-top:10px}.reg-steps{margin-top:16px}.brand-image.logo{max-width:240px}}
@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}

/* Android navigation/help: scoped fixes, preserving the approved home design. */
.navigation button[data-action=register]{background:#703448;color:#fff;border:1px solid #703448;font-weight:700;justify-content:center;margin-top:8px;min-height:48px}.navigation button[data-action=register]:hover{background:#3C2630;border-color:#3C2630}
body:has(dialog[open]){overflow:hidden}dialog[open]{overscroll-behavior:contain}
.reg{height:auto;max-height:none;overflow:visible;padding-bottom:36px}.reg input,.reg select,.reg button{scroll-margin-block:110px 28px}/* USER-GUIDE-001: scoped compact rows; shared controls and branding stay intact. */
.user-guide{max-width:760px;margin-inline:auto;min-width:0}
.user-guide h1{font-size:clamp(26px,4vw,34px);margin-bottom:6px}
.user-guide .guide-intro{font-size:14px;margin-bottom:16px}
.user-guide .guide-search{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:12px;min-width:0}
.user-guide .guide-search input{width:100%;min-width:0;min-height:44px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:16px/1.4 var(--font)}
.user-guide .guide-search button{flex:0 0 44px;min-height:44px;padding:0;border:0;background:transparent;font-size:23px;color:var(--muted)}
.user-guide .help-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}
.user-guide .help-audiences button{min-width:0;min-height:44px;padding:8px 5px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ink);font-size:clamp(11px,3vw,14px)}
.user-guide .help-audiences [aria-pressed=true]{border-bottom-color:var(--accent);font-weight:700}
.user-guide .guide-topics{border-top:1px solid var(--line)}
.user-guide .guide-topic{border-bottom:1px solid var(--line);min-width:0}
.user-guide .guide-topic h2{margin:0;font-size:15px;letter-spacing:0;line-height:1.45}
.user-guide .guide-topic h2 button{display:flex;justify-content:space-between;text-align:left;width:100%;min-height:48px;padding:10px 8px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:15px;font-weight:500}
.user-guide .guide-topic h2 button>span:first-child{min-width:0;overflow-wrap:anywhere}
.user-guide .guide-arrow{flex:none;font-size:20px;line-height:1;color:var(--accent)}
.user-guide .guide-explanation{padding:0 8px 12px;overflow-wrap:anywhere}
.user-guide .guide-explanation p{font-size:14px;line-height:1.65;margin:0 0 10px}
.user-guide .guide-explanation p:last-child{margin-bottom:0}
.user-guide .guide-empty{font-size:14px;padding:16px 8px;margin:0}
.user-guide .help-practice,.user-guide .guide-support{margin-top:18px}
.user-guide .help-practice p{font-size:13px;margin-bottom:8px}
.user-guide .guide-back{margin-top:14px}


/* Access and install helpers reuse existing cards and touch controls. */
.install-card{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line,#E9DFE3)}
.install-card h2{font-size:1.1rem}.pwa-update{position:fixed;bottom:1rem;right:1rem;z-index:100;max-width:calc(100vw - 2rem)}
.auth-card input[type=email],.auth-card input[type=password]{min-width:0;max-width:100%}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}
/* Final Android audit: manual clocks and one shared compact weekly layout. */
.manual-clock{display:grid;grid-template-columns:minmax(3.5rem,1fr) 3.6rem;gap:4px;min-width:0;align-items:center}.manual-clock input.clock-entry,.manual-clock select.clock-period{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:7px 4px;font-size:16px}.manual-clock .midnight-hint{grid-column:1/-1;font-size:11px;line-height:1.3}.schedule-row{grid-template-columns:minmax(6.5rem,.7fr) minmax(0,2fr);gap:8px;align-items:center;padding:8px 0}.schedule-row>.check-label{grid-column:1}.weekly-times{grid-column:2;gap:8px}.weekly-extra{grid-column:1/-1;overflow-wrap:anywhere}.weekly-off{grid-column:2}.weekly-times>label{display:grid;gap:3px}.weekly-times[hidden],.weekly-off[hidden],.midnight-hint[hidden]{display:none!important}.dialog-head h2{min-width:0;overflow-wrap:anywhere}.dialog-head [data-action=close]{flex:0 0 auto;min-width:5rem;white-space:nowrap}.home-install{display:inline-block;margin-top:14px;color:var(--ink);font-size:14px;text-underline-offset:4px}.time-periods{display:flex;gap:6px;flex-wrap:wrap}.time-periods button{flex:1;min-width:5rem;white-space:nowrap}.notif-item .muted{display:block}.block-row.unread{border-inline-start:3px solid var(--gold,#b8975a)}#personal-work{scroll-margin-top:90px}#confirm-dialog{max-width:420px}#confirm-dialog>.actions{padding-bottom:22px;justify-content:flex-end}.service-duration-row{padding:10px 0;border-bottom:1px solid var(--line)}.service-duration-row .duration-input{display:block}.service-duration-row input{max-width:12rem;font-size:16px}.duration-input{grid-template-columns:minmax(0,1fr)}
@media(max-width:620px){.schedule-row{grid-template-columns:minmax(0,1fr)}.schedule-row>.check-label,.weekly-times,.weekly-off{grid-column:1}.weekly-times{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-row small{grid-column:1/-1}}
@media(max-width:360px){.weekly-times{grid-template-columns:minmax(0,1fr)}.weekly-times>label{grid-template-columns:4.5rem minmax(0,1fr);align-items:center}}

/* Connectivity changes preserve live forms; a revoked session hides the private DOM. */
.connection-notice{position:relative;z-index:3;margin:12px auto;padding:12px 16px;max-width:960px;background:var(--gold-soft,#faf4e8);border:1px solid var(--accent,#b8975a);border-radius:12px;overflow-wrap:anywhere}.connection-notice[hidden],#root[hidden],#navigation[hidden]{display:none!important}.connection-notice p{margin:0 0 8px}.connection-notice .actions{flex-wrap:wrap}.connection-notice form{width:min(100%,420px)}.connection-notice form>.field{width:100%}.dialog-connection-notice{margin:8px 0}.dialog-connection-notice p{font-size:14px}.connection-notice input{max-width:100%;min-width:0}#root[data-freshness=unverified]{border-top:2px dashed var(--accent,#b8975a)}

/* Stage 3: shared weekly row, without changing saved intervals or minute precision. */
.schedule-row{grid-template-columns:minmax(5.5rem,.65fr) minmax(0,2fr);gap:8px;padding:6px 0}.schedule-row>.check-label{grid-column:1;gap:5px;min-width:0;font-size:12px}.weekly-times{grid-column:2;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:3px;align-items:center}.weekly-times>label{display:block}.weekly-off{grid-column:2}.weekly-times .manual-clock{grid-template-columns:minmax(3.3rem,1fr) 3rem;gap:3px}.weekly-times .clock-entry,.weekly-times .clock-period{padding-inline:3px}.schedule-divider{font-size:13px}.svc-row{grid-template-columns:minmax(0,1fr) auto}.svc-row>.field,.svc-row>.service-values{grid-column:1/-1}.svc-row>[data-action=reg-del-svc]{grid-column:2;justify-self:end}.service-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;text-align:center}.service-values input,.service-values select{text-align:center;width:100%;min-width:0}.service-values .field{min-width:0}.service-values .duration-input{display:block}.svc-row>.field{text-align:center}.svc-row>.field input{text-align:center}.service-values label{display:block}
@media(max-width:380px){.schedule-row{grid-template-columns:minmax(0,1fr)}.schedule-row>.check-label,.weekly-times,.weekly-off{grid-column:1}.weekly-times{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
@media(max-width:300px){.service-values{grid-template-columns:minmax(0,1fr)}}

#service-form>.field{text-align:center}#service-form>.field input{text-align:center}

.reg-form .svc-row .service-values>.field{grid-column:auto}


/* MOBILE-WEEKLY-002: One complete weekday and both editable times on ONE row.
   Keep all existing names, checkbox roles, clock inputs, AM/PM selects and
   additional split-shift data. Unseen 'from/to' labels remain accessible. */
@media(max-width:780px){
 .schedule .schedule-row{
  display:grid;
  grid-template-columns:clamp(5.6rem,22vw,7rem) minmax(0,1fr);
  align-items:center;
  column-gap:4px;
  row-gap:3px;
  padding:8px 0;
  border-bottom:1px solid var(--line);
  min-width:0;
 }
 .schedule .schedule-row>.check-label{
  grid-column:1;
  display:flex;
  align-items:center;
  box-sizing:border-box;
  min-width:0;
  width:100%;
  min-height:44px;
  padding:2px 0;
  gap:4px;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:clamp(11px,2.8vw,14px);
  line-height:1.15;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
 }
 .schedule .schedule-row>.check-label input{
  box-sizing:border-box;
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 18px;
 }
 .schedule .weekly-times{
  grid-column:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:2px;
  align-items:center;
  width:100%;
  min-width:0;
 }
 .schedule .weekly-times>label{
  display:block;
  width:100%;
  min-width:0;
 }
 .schedule .schedule-divider{
  display:block;
  font-size:11px;
  line-height:1;
 }
 .schedule .weekly-times .manual-clock{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(2.35rem,2.6rem);
  align-items:center;
  width:100%;
  min-width:0;
  gap:2px;
 }
 .schedule .weekly-times .clock-entry,
 .schedule .weekly-times .clock-period{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:44px;
  padding:2px;
  text-align:center;
  font-size:clamp(12px,3.1vw,15px);
  line-height:1.2;
 }
 .schedule .weekly-times .clock-period{
  appearance:none;
  -webkit-appearance:none;
  border-radius:8px;
  padding:2px 10px 2px 1px;
  font-size:clamp(11px,2.7vw,13px);
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 7px) calc(50% - 1px),calc(100% - 3px) calc(50% - 1px);
  background-size:4px 4px,4px 4px;
  background-repeat:no-repeat;
 }
 .schedule .weekly-off{
  grid-column:2;
  padding:0;
  font-size:13px;
 }
 .schedule .weekly-extra{
  grid-column:1/-1;
  overflow-wrap:anywhere;
 }
}
@media(max-width:340px){
 .schedule .schedule-row{
  grid-template-columns:5.05rem minmax(0,1fr);
  column-gap:2px;
 }
 .schedule .schedule-row>.check-label{
  font-size:11px;
  gap:3px;
 }
 .schedule .schedule-row>.check-label input{
  width:16px;
  height:16px;
  flex-basis:16px;
 }
 .schedule .weekly-times .manual-clock{
  grid-template-columns:minmax(0,1fr) 2.15rem;
  gap:1px;
 }
 .schedule .weekly-times .clock-entry,
 .schedule .weekly-times .clock-period{
  font-size:12px;
  padding-inline:1px;
 }
 .schedule .weekly-times .clock-period{
  font-size:11px;
  padding-right:9px;
 }
}

/* MOBILE-SERVICES-001: Registration services are one card per service with
   a centered price/duration pair; service values, free-form durations and
   the unrelated owner/professional editors are unchanged. */
.reg-form .svc-list{gap:12px}
.reg-form .svc-card{
 display:grid;
 grid-template-columns:minmax(0,1fr);
 align-items:stretch;
 gap:12px;
 min-width:0;
 padding:16px;
 border:1px solid #EFE3E7;
 border-radius:16px;
 background:#fff;
}
.reg-form .svc-card-title{
 margin:0;
 font-size:12px;
 font-weight:700;
 letter-spacing:.08em;
 text-transform:uppercase;
 color:#927244;
}
.reg-form .svc-card .field{
 min-width:0;
 gap:6px;
 text-align:left;
}
.reg-form .svc-card .field label{
 display:block;
 margin:0;
 font-size:13px;
 line-height:1.35;
 letter-spacing:0;
 text-align:left;
 white-space:normal;
 overflow-wrap:normal;
 word-break:normal;
}
.reg-form .svc-card .field input{
 box-sizing:border-box;
 width:100%;
 min-width:0;
 min-height:48px;
 padding:10px 12px;
 border-radius:12px;
 font-size:16px;
 line-height:1.35;
}
.reg-form .svc-card .service-values{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 align-items:start;
 gap:12px;
 width:100%;
 max-width:340px;
 margin-inline:auto;
}
.reg-form .svc-card .service-values>.field{grid-column:auto}
.reg-form .svc-card .service-values .duration-input{display:flex}
.reg-form .svc-card .service-values .field label{text-align:center}
.reg-form .svc-card .service-values input{text-align:center}
.reg-form .svc-card-foot{
 display:flex;
 justify-content:flex-end;
 border-top:1px solid #F3E9EC;
 padding-top:10px;
}
.reg-form .svc-card [data-action="reg-del-svc"]{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:44px;
 padding:7px 12px;
 font-size:14px;
 font-weight:600;
}
@media(max-width:340px){
 .reg-form .svc-card .service-values{grid-template-columns:minmax(0,1fr)}
}


/* PWA-WAITING-NOTE-001: A small accessible notice, never a forced update overlay. */
#pwa-update.pwa-update-note:not([hidden]){
 display:block;
 box-sizing:border-box;
 width:min(100% - 32px,960px);
 margin:12px auto 0;
 padding:10px 14px;
 border-inline-start:3px solid var(--accent,#b8975a);
 border-radius:10px;
 background:#f6f2e7;
 color:var(--ink,#3C2630);
 font-size:13px;
 line-height:1.45;
 overflow-wrap:anywhere;
}

/* UI-HOURS-001: shared, borderless clocks; exact h:mm controls remain editable.
   Touch targets stay 44px and keyboard focus is visible on every viewport. */
.manual-clock{grid-template-columns:minmax(3.1rem,1fr) 2.4rem;gap:2px;max-width:10rem}
.manual-clock input.clock-entry,.manual-clock select.clock-period,
.schedule .weekly-times .clock-entry,.schedule .weekly-times .clock-period{
 border:0;border-radius:0;box-shadow:none;background:transparent;background-image:none;
 color:var(--ink);padding:4px 2px;min-height:44px;font-size:16px;text-align:center;
}
.manual-clock select.clock-period{appearance:none;-webkit-appearance:none;cursor:pointer}
.manual-clock input.clock-entry:hover,.manual-clock select.clock-period:hover{background:var(--warm,#faf7f0)}
.manual-clock :is(input.clock-entry,select.clock-period):focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:3px}
.schedule .schedule-row{grid-template-columns:minmax(5.2rem,.7fr) minmax(0,2fr);gap:4px;align-items:center;padding:4px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.schedule .schedule-row>.check-label{grid-column:1;min-width:0;border:0;border-radius:0;background:transparent;font-size:14px;gap:4px;min-height:44px;white-space:nowrap}
.schedule .weekly-times{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2px;min-width:0}
.schedule .weekly-times>.field,.schedule .weekly-times>label{min-width:0}
.schedule .weekly-times .manual-clock{grid-template-columns:minmax(0,1fr) 2.2rem;max-width:none;gap:1px}
.schedule .schedule-row>.check-label input{width:16px;height:16px;flex:0 0 16px;margin:0}
.schedule .weekly-off{grid-column:2}.schedule .weekly-extra{grid-column:1/-1;font-size:12px;padding-bottom:4px}
.schedule-divider,.time-range-divider{color:var(--muted);text-align:center;align-self:center}
.block-row{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.agenda-item{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.agenda-time strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.slots .slot{border:0;border-bottom:1px solid var(--line);border-radius:3px;background:transparent;font-variant-numeric:tabular-nums}
.slots .slot.selected{background:#F8F0F2;color:var(--ink);box-shadow:inset 0 -2px var(--ink)}
@media(max-width:360px){
 .schedule .schedule-row{grid-template-columns:5rem minmax(0,1fr)}
 .schedule .schedule-row>.check-label{font-size:12px}
 .schedule .weekly-times .clock-entry{padding-inline:0;font-size:16px}
 .schedule .weekly-times .clock-period{padding-inline:0;font-size:14px}
}

.agenda-time{font-size:clamp(14px,3.8vw,18px)}
.slots .slot.busy,.slots .slot.busy:hover{background:#ecebe6;color:#6E5E63;cursor:not-allowed}
.field input[type=date],.month-controls input[type=month],.month-controls input[type=date]{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:44px;max-width:100%;box-sizing:border-box}

/* UI-DURATION-001: one two-column table; keep every existing input/action. */
.duration-table{width:100%;table-layout:fixed;border-collapse:collapse;border:0;background:transparent;font-size:14px}
.duration-table th,.duration-table td{box-sizing:border-box;border:0;border-bottom:1px solid var(--line);padding:9px 6px;text-align:left;vertical-align:top;min-width:0}
.duration-table thead th{font-size:12px;font-weight:650;color:var(--muted);padding-block:8px}
.duration-table th:first-child,.duration-table td:first-child{width:64%;overflow-wrap:anywhere;white-space:normal}
.duration-table th:last-child,.duration-table td:last-child{width:36%}
.duration-table tbody th{font-weight:500}.duration-table small{display:block;font-size:12px;font-weight:400;line-height:1.4;margin-top:3px}
.duration-table .duration-group th{width:auto;font-weight:650;padding-top:18px;color:var(--ink)}
.duration-value,.duration-control summary{font-variant-numeric:tabular-nums;line-height:1.5}
.duration-control{min-width:0}.duration-control summary{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:44px;cursor:pointer;list-style:none;overflow-wrap:anywhere}
.duration-control summary::-webkit-details-marker{display:none}.duration-pencil{font-size:16px;color:var(--muted);flex-shrink:0}
.duration-control summary:focus-visible,.duration-table input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.duration-table .field,.duration-table .duration-input{display:block;min-width:0;margin:0}
.duration-table .duration-input>label,.service-config-table .field>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.duration-table .duration-input input,.service-config-table input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:5px 2px;font-size:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}
.duration-control .duration-input input{text-align:center}
.duration-table .duration-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.duration-actions button{min-height:44px;padding:5px 8px;font-size:12px}
.reg-form .duration-table.registration-services{display:table;gap:0}
.reg-form .duration-table .svc-row{display:table-row;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.reg-form .duration-table .svc-row .field{display:block;min-width:0;margin:0}
.reg-form .duration-table .svc-row input{box-sizing:border-box;min-height:44px;padding:5px 2px;font-size:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;text-align:left}
.reg-form .duration-table .svc-row .service-values{display:flex;flex-wrap:wrap;gap:6px;align-items:end;margin-top:4px}
.reg-form .duration-table .svc-row .service-values>.field{flex:1 1 5rem}.reg-form .duration-table .svc-row .service-values label{font-size:11px}
.reg-form .duration-table .svc-row .service-values button{min-height:44px;padding:4px 6px;font-size:12px}
@media(max-width:480px){.duration-table th,.duration-table td{padding:7px 3px}.duration-table th:first-child,.duration-table td:first-child{width:60%}.duration-table th:last-child,.duration-table td:last-child{width:40%}.duration-table .duration-group th{width:auto}.duration-actions button{padding-inline:5px}.duration-table .duration-input input{font-size:16px}.duration-pencil{font-size:14px}}

/* UI-COMPACT-001: shared visual refinement; no changes to data or time rules. */
:root{--r-md:12px;--r-lg:18px;--shadow:0 6px 22px #3C26300b}
main,.card,.form-grid,.field,.stack,.grid,.booking-grid,.page-heading>*{min-width:0}
.card{padding:18px;border-radius:12px;box-shadow:none}
.card .card{padding:12px;border-radius:8px;box-shadow:none}
.stack{gap:14px}.grid,.booking-grid{gap:16px}.form-grid{gap:12px 16px}
.section-gap{margin-top:18px}.page-heading{margin-bottom:18px;gap:12px}
.field{gap:4px}.field label{line-height:1.4;font-weight:600}
.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.field select,
.field textarea{min-height:44px;padding:8px 10px;border-width:1px;border-radius:7px;font-size:16px;max-width:100%;min-width:0}
button,.button{min-height:44px;padding:8px 13px;border-radius:8px;line-height:1.4}
.actions{gap:8px}.check-label{min-height:44px;line-height:1.4}
.stat{padding:14px;border-radius:10px}.stats{gap:10px;margin-bottom:18px}
.stat strong{margin-top:4px;font-size:27px}
.list-item,.agenda-item{gap:12px;padding-block:12px}.list-item>*{min-width:0}
.list-item h3,.agenda-item h3{overflow-wrap:anywhere}
.service-option{min-height:56px;padding:10px 12px;border-radius:8px}
.service-option.selected{border-width:1px;padding:10px 12px;box-shadow:inset 0 0 0 1px var(--ink)}
.service-option>span{min-width:0;overflow-wrap:anywhere}.service-option strong{white-space:normal}
.summary{gap:12px;padding:12px;margin:14px 0}.link-box{padding:10px;border-style:solid}
dialog{padding:20px;border-radius:12px}.dialog-head{gap:10px;margin-bottom:14px}
.reg-top{margin-bottom:16px}.reg-steps{margin-bottom:18px}
.reg-form{padding:clamp(14px,3vw,22px);gap:14px;border-radius:14px;background:var(--paper);box-shadow:none}
.reg-form .kind-pick{gap:8px}.reg-form .kind-pick legend{margin-bottom:5px}
.reg-form .kind-opt span{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;line-height:1.4;font-weight:600}
.reg-form .kind-opt input:checked+span{border-color:var(--ink);background:var(--mint);box-shadow:none}
.reg-form .sum-card{padding:12px;border-radius:8px;box-shadow:none}
.zone-correction,.link-correction{font-size:13px}.zone-correction summary,.link-correction summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.zone-correction .field,.link-correction .field{max-width:24rem;padding-bottom:8px}
/* Preserve the approved borderless clock and compact duration editors. */
.field .manual-clock input.clock-entry,.field .manual-clock select.clock-period,
.duration-table .duration-input input,.duration-table input[id^=service-name],
.reg-form .duration-table .svc-row input{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:44px;padding:5px 2px;font-size:16px}
.field .manual-clock input.clock-entry,.field .manual-clock select.clock-period{border:0;text-align:center}
@media(max-width:600px){
 .card{padding:14px}.grid,.booking-grid{gap:12px}.form-grid{column-gap:10px;row-gap:12px}
 .reg-top>div{padding-right:0}.reg-top h1{font-size:26px}.reg-top p{font-size:13px}
 .reg-form .kind-opt span{font-size:13px;padding:8px 6px}
 dialog{padding:16px}.list-item .actions{flex-shrink:1;flex-wrap:wrap}
 .field input:not([type=checkbox]):not([type=radio]),.field select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.kind-opt span{transition:none}}

/* AGENDAME-BRAND-002: the topbar always carries the Agéndame wordmark; the
   trade is elegant gold text on the business banner (.business-kind). */

/* MEJORA-003: scoped manual form; preserve existing calendar layouts. */
.manual-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}
.manual-services{border:0;padding:0;margin:0;min-width:0}
.manual-services legend{font-weight:600;margin-bottom:6px}
.manual-services .check-label{min-height:44px;overflow-wrap:anywhere}

/* IDENTIDAD-VISUAL-001: semantic colours, without repainting the approved
   home, business logos or private calendar (including its status colours).
   Keep ink/ink-2 as text colours; primary actions have their own token. */
body:not(:has(.mb-home)) .primary:not(#private-calendar *){
 background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;
 box-shadow:0 2px 8px #70344820;
}
body:not(:has(.mb-home)) .primary:not(#private-calendar *):hover:not(:disabled){
 background:var(--brand-heading);border-color:var(--brand-heading);
}
body:not(:has(.mb-home)) .navigation .active{
 background:var(--brand-primary);color:#fff;
}
#root:not(:has(.mb-home)) :is(.page-heading h1,.mb-owner-welcome h1,.auth-card h1,.narrow.card>h1){
 color:var(--brand-heading);
}
.auth{border-color:var(--line);box-shadow:var(--shadow)}
.auth-side{background:var(--mint);color:var(--brand-text)}
.auth-side h2{color:var(--brand-heading)}
.auth-side li{color:var(--brand-text)}
.auth-side li .icon{color:var(--brand-primary)}
.auth-sym{color:var(--brand-gold)}
.auth-card .eyebrow{color:var(--brand-heading)}
.public-hero{background:var(--brand-primary);box-shadow:var(--shadow)}
.public-hero .cover{opacity:.12}
.public-hero h1{color:#fff}
.public-title p{color:#fff}
.public-title .eyebrow{color:#fff}
.public-hero .logo{border-color:var(--brand-gold)}
.mb-owner-metric-primary{background:var(--brand-primary)}
#root:not(:has(.mb-home)) .eyebrow:not(.public-hero *):not(#private-calendar *){color:var(--brand-heading)}
#root:not(:has(.mb-home)) .link-box{background:var(--brand-bg);border-color:var(--line);color:var(--brand-text)}
#root:not(:has(.mb-home)) .success-mark{color:var(--brand-primary)}
#root:not(:has(.mb-home)) .service-option.selected:not(#private-calendar *){
 border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary);
}
#root:not(:has(.mb-home)) .slot.selected:not(#private-calendar *){background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
/* Visible green focus on white/mint surfaces; gold remains a decorative accent. */
#root:not(:has(.mb-home)) :is(button,a,input,select,textarea):not(#private-calendar *):focus-visible{
 outline:3px solid var(--brand-primary);outline-offset:3px;
}
#appointment-form select,#appointment-form input{max-width:100%;min-width:0}

/* AJUSTE-002: compact client confirmation/management only. Native details
   keeps the manual privacy action accessible without adding storage logic. */
.client-appointment h1{font-size:clamp(25px,5vw,32px);margin-bottom:8px}
.client-appointment h2{font-size:20px;margin-bottom:8px;overflow-wrap:anywhere}
.client-appointment .success-mark{width:44px;height:44px;font-size:24px;margin-bottom:12px}
.client-business{margin-bottom:14px}
.client-appointment-details p{margin-bottom:8px}
.client-primary-actions{margin-top:14px}
.client-primary-actions>.primary{flex:1 1 140px}
.client-private-link{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.client-private-link p{margin-bottom:8px}
.client-private-link .link-box{margin:8px 0;font-size:13px}
.client-private-link .actions>*{flex:1 1 120px;min-width:0}
.client-device-privacy{border-top:1px solid var(--line);margin-top:14px}
.client-device-privacy summary{min-height:44px;padding:11px 0;cursor:pointer;font-size:14px;color:var(--muted)}
.client-device-privacy summary:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
.client-device-privacy p{margin:0 0 8px}
.client-device-privacy button{max-width:100%;white-space:normal;text-align:left}
.client-again{display:inline-flex;align-items:center;min-height:44px;padding-block:10px;font-size:14px;color:var(--brand-heading)}

/* REGISTRO-VISUAL-001: only the business step. Leaving this step removes
   these inherited overrides; shared identity, assets and later steps stay intact. */
body:has(#root>.reg[data-register-step="1"]){
 --bg:#faf9f7;--paper:#fff;--ink:#111111;--ink-2:#111111;--muted:#111111;
 --mint:#f8f0f2;--line:#e4e1df;--accent:#d5b36d;--gold:#d5b36d;
 --brand-primary:#703448;--brand-heading:#111111;--brand-text:#111111;
 --brand-bg:#faf9f7;--brand-surface:#fff;
 background:#faf9f7;color:#111111;
}
body:has(#root>.reg[data-register-step="1"]) :is(h1,h2,h3,p,label,legend,a,summary,small,button,input,select){color:#111111}
body:has(#root>.reg[data-register-step="1"]) .primary{background:#703448;border-color:#703448;color:#fff}
body:has(#root>.reg[data-register-step="1"]) .topbar{max-width:624px;background:#faf9f7;border-color:#e4e1df}
body:has(#root>.reg[data-register-step="1"]) .header-actions button{background:#fff;border:1px solid #e4e1df}
body:has(#root>.reg[data-register-step="1"]) #language .lang-opt{color:#111111;opacity:1}
body:has(#root>.reg[data-register-step="1"]) .logo-h .logo-word{fill:#111111}
body:has(#root>.reg[data-register-step="1"]) .logo-h path[stroke]{stroke:#703448}
body:has(#root>.reg[data-register-step="1"]) .logo-h rect[stroke]{stroke:#d5b36d}
body:has(#root>.reg[data-register-step="1"]) .logo-h :is(rect[fill],.logo-sub){fill:#d5b36d}
body:has(#root>.reg[data-register-step="1"]) .navigation{background:#fff;color:#111111}
body:has(#root>.reg[data-register-step="1"]) .navigation .active{background:#f8f0f2;color:#111111}
body:has(#root>.reg[data-register-step="1"]) .nav-user{border-color:#e4e1df}
body:has(#root>.reg[data-register-step="1"]) .nav-user strong{color:#111111}
body:has(#root>.reg[data-register-step="1"]) .navigation .nav-register{background:#703448;border-color:#703448;color:#fff}
body:has(#root>.reg[data-register-step="1"]) footer{max-width:624px;margin-inline:auto;background:#faf9f7;padding:20px 24px;color:#111111}
body:has(#root>.reg[data-register-step="1"]) footer .footer-brand strong{color:#111111}
#root>.reg[data-register-step="1"]{max-width:560px;padding-top:8px;padding-bottom:20px}
#root>.reg[data-register-step="1"]::after{content:none;display:none;background:none}
#root>.reg[data-register-step="1"] .reg-top{gap:12px;margin:0 0 18px}
#root>.reg[data-register-step="1"] .reg-top h1{color:#111111;font-size:clamp(26px,5vw,34px)}
#root>.reg[data-register-step="1"] .reg-top p{color:#111111;font-size:14px}
#root>.reg[data-register-step="1"] .reg-back{background:#fff;color:#111111;border:1px solid #e4e1df;box-shadow:0 2px 8px #11111108}
#root>.reg[data-register-step="1"] .reg-steps{margin:0 0 18px}
#root>.reg[data-register-step="1"] .reg-steps :is(li,.lbl){color:#111111}
#root>.reg[data-register-step="1"] .reg-steps .dot{background:#fff;border-color:#e4e1df;color:#111111}
#root>.reg[data-register-step="1"] .reg-steps :is(.current,.done) .dot{background:#703448;border-color:#703448;color:#fff;box-shadow:none}
#root>.reg[data-register-step="1"] .reg-steps li+li::before{background:#e4e1df}
#root>.reg[data-register-step="1"] .reg-form{background:#fff;border-color:#e4e1df;border-radius:14px;padding:18px;gap:12px;box-shadow:none}
#root>.reg[data-register-step="1"] .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
#root>.reg[data-register-step="1"] .field{gap:5px}
#root>.reg[data-register-step="1"] :is(.field label,.kind-pick legend){color:#111111;font-size:14px;font-weight:600}
#root>.reg[data-register-step="1"] .kind-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
#root>.reg[data-register-step="1"] .kind-opt{min-width:0}
#root>.reg[data-register-step="1"] .kind-opt span{height:100%;min-height:44px;padding:6px 8px;border:1px solid #dedcda;border-radius:8px;background:#fff;color:#111111;font-size:14px;line-height:1.2;font-weight:500}
#root>.reg[data-register-step="1"] .kind-opt input:checked+span{background:#f8f0f2;border-color:#703448;color:#111111;box-shadow:none}
#root>.reg[data-register-step="1"] .kind-opt input:focus-visible+span{outline:3px solid #703448;outline-offset:2px}
#root>.reg[data-register-step="1"] .field :is(input,select){background-color:#fff;color:#111111;border:1px solid #dedcda;border-radius:8px;min-height:44px;font-size:16px;padding:9px 12px}
#root>.reg[data-register-step="1"] input::placeholder{color:#111111;opacity:1;font-size:14px}
#root>.reg[data-register-step="1"] :is(input[type=checkbox],input[type=radio]){accent-color:#703448}
#root>.reg[data-register-step="1"] .check-label{font-size:13px;gap:10px;color:#111111}
#root>.reg[data-register-step="1"] .check-label:has(:is([name=public-address],#keep-registration-draft)){border:1px solid #e4e1df;border-radius:8px;padding:8px 10px;background:#fff}
#root>.reg[data-register-step="1"] .reg-form [hidden]{display:none}
#root>.reg[data-register-step="1"] .reg-form>p.muted{font-size:12px;margin:0}
#root>.reg[data-register-step="1"] #business-address{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.5'%3E%3Cpath d='M19 10c0 5-7 12-7 12S5 15 5 10a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
#root>.reg[data-register-step="1"] #email{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.5'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E")}
#root>.reg[data-register-step="1"] :is(#password,#password-confirm){padding-left:36px;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.5'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V6a4 4 0 0 1 8 0v4M12 14v3'/%3E%3C/svg%3E")}
#root>.reg[data-register-step="1"] :is(#business-address,#email,#password,#password-confirm){background-position:11px center;background-size:18px;background-repeat:no-repeat}
#root>.reg[data-register-step="1"] .pw-wrap{position:relative;display:block}
#root>.reg[data-register-step="1"] .pw-toggle{position:absolute;inset:0 0 0 auto;width:44px;min-height:44px;border:0;background:transparent;color:#111111;padding:0;box-shadow:none}
#root>.reg[data-register-step="1"] .pw-toggle svg{width:20px;height:20px}
#root>.reg[data-register-step="1"] .reg-form>[data-action=discard-registration]{background:#fff;border:1px solid #703448;color:#111111;min-height:44px}
#root>.reg[data-register-step="1"] .reg-actions{display:flex;flex-direction:column;margin:0}
#root>.reg[data-register-step="1"] .reg-actions button[type=submit]{background:#703448;border:1px solid #703448;color:#fff;min-height:44px;box-shadow:none}
#root>.reg[data-register-step="1"] .reg-actions button[type=submit]:hover{background:#703448;border-color:#703448;color:#fff}
#root>.reg[data-register-step="1"] :is(button,input,select,summary):focus-visible{outline:3px solid #703448;outline-offset:2px}
#root>.reg[data-register-step="1"] .reg-error{color:#111111;margin:0}
#root>.reg[data-register-step="1"] .reg-error:empty{display:none}
#root>.reg[data-register-step="1"] .test-note{margin:14px 0 0;padding:12px;border:1px solid #e4e1df;border-radius:12px;background:#fff;color:#111111;font-size:13px}
#root>.reg[data-register-step="1"] .test-note .icon{color:#d5b36d}
@media(max-width:600px){
 #root>.reg[data-register-step="1"] .reg-form{padding:14px}
 #root>.reg[data-register-step="1"] .kind-opt span{font-size:13px}
 body:has(#root>.reg[data-register-step="1"]) .topbar{padding-inline:14px}
 body:has(#root>.reg[data-register-step="1"]) footer{padding-inline:14px}
}

/* BARBER-AGENDA-002: private barber agenda only; public pages and nails keep their identity. */
body:has(#root>.barber-agenda){--ink:#111111;--ink-2:#111111;--muted:#55514f;--paper:#fff;--line:#e9e2df;--brand-primary:#703448;--brand-heading:#111111;--brand-text:#111111;--bg:#f8f5f1;background:#f8f5f1;color:#111111}
body:has(#root>.barber-agenda) .topbar{padding-block:12px;border-bottom:0}
body:has(#root>.barber-agenda) .header-actions button{border-color:#e7d9dd;background:#fff;color:#703448}
body:has(#root>.barber-agenda) #language .lang-opt.on{color:#703448}
body:has(#root>.barber-agenda) .navigation .active{background:#f3e8ec;color:#703448}
#root:has(>.barber-agenda){padding-top:0}
.barber-agenda{max-width:1120px;margin-inline:auto;color:#111111;--barber-wine:#703448;--barber-gold:#bc9b60}
.barber-agenda h1,.barber-agenda h2,.barber-agenda h3{color:#111111}
.barber-agenda .icon{flex:none;width:24px;height:24px}
.barber-identity{position:relative;overflow:hidden;isolation:isolate;border-radius:18px;background:linear-gradient(120deg,#3c2630,#703448);min-height:220px;color:#fff}
.barber-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.barber-identity.has-cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000b,#0004)}
.barber-identity-content{display:flex;align-items:center;gap:20px;padding:30px 24px;min-height:220px}
.barber-business-logo{flex:0 0 124px;width:124px;height:124px;border-radius:50%;background:#fff;outline:2px solid #bc9b60;outline-offset:3px;overflow:hidden;display:grid;place-items:center}
.barber-business-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.barber-business-logo>span{font:700 38px Georgia,serif;color:#703448}
.barber-business-text{flex:1;min-width:0}
.barber-business-text h1{color:#fff;font:700 clamp(26px,4vw,40px)/1.15 var(--display);margin:0 0 6px;overflow-wrap:anywhere}
.business-kind{color:#D5B36D;font-size:11px;font-weight:600;letter-spacing:.3em;margin:0 0 10px}
.barber-description{font-size:16px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 12px;color:#fff}
.barber-edit-cover{align-self:flex-end;color:#fff;background:#1814148c;border:1px solid #ffffffa0;white-space:nowrap;font-size:12.5px;min-height:36px;padding:7px 12px;border-radius:999px;backdrop-filter:blur(2px)}
.barber-logo-wrap{position:relative;flex:none}
.barber-edit-logo{position:absolute;right:-4px;bottom:-4px;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;background:#181414a6;color:#fff;border:1.5px solid #fff;display:grid;place-items:center;z-index:2}
.barber-edit-logo .icon{width:17px;height:17px}
.barber-metrics{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:linear-gradient(120deg,#703448,#614744);border:1px solid #bc9b60;border-radius:16px;color:#fff;margin:-10px 14px 18px;padding:16px;z-index:1;box-shadow:0 3px 10px #70344814}
.barber-metrics>div{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;padding:0 12px;border-right:1px solid #ffffff30}
.barber-metrics>div:last-child{border-right:0}.barber-metrics .icon{width:32px;height:32px}
.barber-metrics strong{display:block;font-size:28px;line-height:1.2;color:#fff}.barber-metrics small{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere;color:#fff}
.barber-agenda .barber-section{margin-block:16px;border-radius:18px;background:#fff;padding:18px;border:1px solid #ece5e1;box-shadow:0 2px 8px #70344805}
.barber-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.barber-section-heading h2{display:flex;align-items:center;gap:10px;font:700 clamp(22px,3vw,28px)/1.3 var(--display);margin:0}
.barber-section-heading h2>.icon{color:#703448;width:28px;height:28px}
.barber-date-chip{font-size:13px;background:#f2e6eb;color:#703448;border-radius:30px;padding:8px 12px;max-width:100%;overflow-wrap:anywhere;font-weight:600}
.barber-section-heading>.button,.barber-section-heading>button{border-color:#d3b9c2;color:#703448;font-size:14px;border-radius:24px;min-height:44px;max-width:100%;white-space:normal}
.barber-empty{display:flex;align-items:center;justify-content:center;gap:14px;background:#f5f2ed;border-radius:12px;padding:24px 18px;text-align:left}
.barber-empty>.icon{color:#703448;width:38px;height:38px}.barber-empty strong{font-size:17px}.barber-empty p{margin:4px 0 0;color:#55514f;font-size:14px}
.barber-agenda-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:12px}.barber-agenda-tools>*{flex:1 1 240px;min-width:0}
.barber-view-tabs{display:flex;gap:4px;border:1px solid #e6dfe0;background:#f9f5f6;padding:4px;border-radius:12px}.barber-view-tabs button{flex:1;border:0;background:transparent;color:#703448;min-height:44px}.barber-view-tabs .primary{background:#703448;color:#fff}
.barber-day-navigation{display:flex;align-items:end;border:1px solid #e6dfe0;border-radius:12px;overflow:hidden}.barber-day-navigation>.field{flex:1;min-width:0;gap:0}.barber-day-navigation>.field>label{padding:2px 8px;font-size:12px}.barber-day-navigation input{border:0;background:#fff;min-height:44px;font-size:16px}.barber-day-navigation>button{border:0;min-width:44px;min-height:54px;padding:5px;font-size:28px;color:#703448;border-radius:0}
.barber-agenda-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-block:12px}
.barber-count{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ede5e4;border-radius:12px;padding:10px 6px;font-size:13px;min-width:0;background:#fdfbfa;flex-wrap:wrap}
.barber-count strong{border-radius:20px;background:#f5edf0;min-width:24px;text-align:center}.barber-count .icon{width:20px;height:20px}.barber-count.st-pending .icon{color:#a16d29}.barber-count.st-confirmed .icon{color:#703448}.barber-count.st-cancelled .icon{color:#9d3b30}.barber-count.st-completed .icon{color:#275b7a}
.barber-pro-appointments h3{font-size:16px;margin:14px 0 4px}.barber-agenda .agenda-item{gap:12px;padding:12px 0;grid-template-columns:85px minmax(0,1fr) auto}.barber-agenda .agenda-item>*{min-width:0}.barber-agenda .agenda-item .actions{grid-column:2/-1;flex-wrap:wrap}.barber-agenda .agenda-body h3,.barber-agenda .agenda-body p{overflow-wrap:anywhere}
.barber-month[hidden]{display:none}.barber-month{border:1px solid #e7dce0;border-radius:14px;padding:12px;margin:12px 0;background:#fff}
.barber-month-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.barber-month-heading h3{flex:1;text-align:center;font-size:16px;margin:0;overflow-wrap:anywhere}.barber-month-heading button{color:#703448;min-width:44px;min-height:44px}.barber-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.barber-month-grid>button{display:flex;flex-direction:column;gap:3px;min-width:0;min-height:44px;padding:5px 1px;border:1px solid transparent;border-radius:8px;font-size:15px;background:#fff;color:#111111}.barber-month-grid>button[aria-pressed=true]{background:#703448;color:#fff}.barber-month-grid>button[aria-current=date]{border-color:#bc9b60}.barber-weekday{text-align:center;font-size:12px;padding-block:5px;color:#55514f}.barber-day-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:transparent}.barber-day-dot.has-bookings{background:#bc9b60}.barber-month-legend{display:flex;align-items:center;gap:8px;margin-bottom:0}
.barber-work-list{display:grid;gap:12px}.barber-work-card{border:1px solid #ebe5e2;border-radius:14px;padding:14px;background:#fff}.barber-work-person{display:flex;align-items:center;gap:12px}.barber-work-person .avatar{flex:none;object-fit:cover}.barber-work-person h3{font-size:18px;margin:0}.barber-work-person p{font-size:14px;color:#55514f;margin:4px 0}
.barber-intervals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #eee7e3;margin-top:10px;padding-top:12px}.barber-intervals>div{min-width:0}.barber-intervals span{font-size:13px;color:#55514f}.barber-intervals p{font-size:14px;overflow-wrap:anywhere;margin:4px 0}.barber-work-card>button{width:100%;justify-content:flex-start;border-color:#e4d7dc;background:#f9f5f3;color:#703448;margin-top:10px;white-space:normal}
.barber-manual{margin:18px 0}.barber-manual button{width:100%;background:#703448;border-color:#703448;color:#fff;min-height:48px;border-radius:18px;font-size:16px;font-weight:600}.barber-agenda button:focus-visible,.barber-agenda a:focus-visible{outline:3px solid #bc9b60;outline-offset:2px}
@media(max-width:600px){
 .barber-identity-content{padding:22px 16px;gap:14px;flex-wrap:wrap;min-height:190px}.barber-business-logo{flex-basis:76px;width:76px;height:76px}.barber-business-text{flex-basis:calc(100% - 100px)}.barber-description{font-size:14px}.barber-edit-cover{margin-left:auto}.barber-identity{border-radius:14px}.barber-metrics{margin:-6px 6px 14px;padding:12px 5px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.barber-metrics>div{justify-content:flex-start;padding-inline:10px}.barber-metrics>div:nth-child(2){border-right:0}.barber-metrics strong{font-size:23px}.barber-metrics .icon{width:25px;height:25px}.barber-metrics small{font-size:13px}.barber-agenda .barber-section{padding:14px;border-radius:14px}.barber-agenda-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.barber-empty{padding:18px 12px}.barber-agenda .agenda-item{grid-template-columns:75px minmax(0,1fr)}.barber-agenda .agenda-item>.badge{grid-column:2}.barber-agenda .agenda-item .actions{grid-column:1/-1}.barber-intervals{grid-template-columns:1fr;gap:8px}.barber-intervals>div+div{border-top:1px solid #eee7e3;padding-top:8px}.barber-month{padding:6px}.barber-month-grid{gap:0}.barber-month-heading button:last-child{flex-basis:100%}
}

/* ===== Portada v8 — diseño aprobado (serif editorial, la app protagonista, sin fotos) ===== */
body:has(.mb-home){background:#FDFCFA;color:#2E2126}
body:has(.mb-home) .topbar{background:#FDFCFA}
.mb-home.v8-home{--serif8:"Fraunces","Playfair Display",Georgia,serif;display:block}
.mb-home .v8-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:center}
@media(min-width:861px){.mb-home .v8-hero{min-height:calc(100vh - 194px);min-height:calc(100svh - 194px)}}
.mb-home .v8-copy{position:relative;z-index:3;min-width:0}
.mb-home .v8-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:2.6px;color:#A8821F;margin:0 0 22px}
.mb-home .v8-title{font-family:var(--serif8);font-size:clamp(40px,4.6vw,57px);font-weight:500;line-height:1.12;letter-spacing:-.01em;color:#2E2126;margin:0 0 24px}
.mb-home .v8-title em{font-style:italic;color:#703448}
.mb-home .v8-lede{font-size:16.5px;line-height:1.6;color:#6B5A62;max-width:480px;margin:0 0 30px}
.mb-home .v8-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.mb-home .v8-actions .primary{background:#703448;border-color:#703448;color:#fff;border-radius:10px;min-height:52px;padding:13px 26px;font-weight:650;font-size:15.5px}
.mb-home .v8-actions .primary:hover{background:#5B2A3C;border-color:#5B2A3C}
.mb-home .v8-login{color:#703448;font-weight:700;font-size:15.5px;text-decoration:none}
.mb-home .v8-login:hover{text-decoration:underline}
.mb-home .v8-checks{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:34px 0 0;padding:26px 0 0;border-top:1px solid #EDE4E7}
.mb-home .v8-checks li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#4A3A41}
.mb-home .v8-checks svg{width:13px;height:13px;flex:none}
/* Escenario: halo + dos teléfonos CSS */
.mb-home .v8-stage{position:relative;height:min(600px,calc(100vh - 235px));height:min(600px,calc(100svh - 235px));min-height:440px}
.mb-home .v8-halo{position:absolute;top:50%;right:-6%;transform:translateY(-50%);width:min(580px,106%);aspect-ratio:1;border-radius:50%;background:#F8F0F2;border:1px solid #D5B36D73;z-index:0}
.mb-home .v8-phone{position:absolute;background:#fff;border:9px solid #2E2126;border-radius:42px;box-shadow:0 30px 60px #3C26302b;overflow:hidden;padding:0;width:auto;container-type:inline-size;color:#2E2126}
.mb-home .v8-screen{height:100%;display:flex;flex-direction:column;padding:5.5cqw 7.5cqw 6.5cqw;box-sizing:border-box}
.mb-home .v8-phone-back{left:0;top:0;height:86%;aspect-ratio:264/520;transform:rotate(-3deg);z-index:1}
.mb-home .v8-phone-front{right:0;top:9%;height:93%;aspect-ratio:288/540;z-index:2}
.mb-home .v8-notch{width:24cqw;height:4.2cqw;border-radius:2.1cqw;background:#EFE4E8;margin:0 auto 5cqw;flex:none}
/* Teléfono trasero: reserva del cliente */
.mb-home .v8-bk-title{font-family:var(--serif8);font-size:7cqw;font-weight:500;color:#2E2126;margin:0 0 1.2cqw}
.mb-home .v8-bk-biz{font-size:3.8cqw;color:#8A7680;margin:0 0 5.5cqw}
.mb-home .v8-bk-label{font-size:3.3cqw;font-weight:700;letter-spacing:.45cqw;color:#A98B97;margin:0 0 2.8cqw}
.mb-home .v8-chips{display:flex;gap:2.8cqw;margin:0 0 5.5cqw;flex-wrap:wrap}
.mb-home .v8-chips span{font-size:3.8cqw;padding:2.6cqw 4cqw;border-radius:10cqw;background:#F8F0F2;color:#703448;white-space:nowrap}
.mb-home .v8-chips span.sel{background:#703448;color:#fff;font-weight:700}
.mb-home .v8-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:2.8cqw;margin:0 0 6cqw}
.mb-home .v8-slots span{text-align:center;font-size:3.8cqw;padding:2.6cqw 0;border-radius:10cqw;background:#F8F0F2;color:#703448}
.mb-home .v8-slots span.sel{background:#D5B36D;color:#2E2126;font-weight:700}
.mb-home .v8-bk-cta{background:#703448;color:#fff;text-align:center;font-weight:700;font-size:4.3cqw;padding:3.8cqw;border-radius:3.5cqw}
.mb-home .v8-bk-note{text-align:center;font-size:3.6cqw;color:#8A7680;margin:auto 0 0;padding-top:4cqw}
/* Teléfono frontal: agenda del dueño */
.mb-home .v8-ag-head{display:flex;justify-content:space-between;align-items:center}
.mb-home .v8-ag-head strong{font-size:4cqw;letter-spacing:.5cqw;color:#703448}
.mb-home .v8-avatar{width:8.4cqw;height:8.4cqw;border-radius:50%;background:#D5B36D;color:#fff;font-size:3.8cqw;font-weight:700;display:grid;place-items:center}
.mb-home .v8-ag-title{font-family:var(--serif8);font-size:8cqw;font-weight:500;color:#2E2126;margin:2cqw 0 1cqw}
.mb-home .v8-cal-head{display:flex;justify-content:space-between;align-items:center;font-size:4.5cqw;font-weight:700;color:#703448}
.mb-home .v8-chev{width:7.5cqw;height:auto}
.mb-home .v8-cal-wk{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:3.3cqw;color:#A98B97;margin-top:3.5cqw}
.mb-home .v8-cal-wk .wknd{color:#C9B4BC}
.mb-home .v8-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:4cqw;color:#4A3A41;margin-top:1.5cqw}
.mb-home .v8-cal-d{display:flex;flex-direction:column;align-items:center;line-height:1.15;padding:.6cqw 0}
.mb-home .v8-cal-d.wknd{color:#B9A3AD}
.mb-home .v8-cal-d .today{background:#703448;color:#fff;border-radius:50%;width:8.6cqw;height:8.6cqw;display:grid;place-items:center;font-weight:700;margin:-1.6cqw 0}
.mb-home .v8-cal-d i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#D5B36D;visibility:hidden;margin-top:.8cqw;flex:none}
.mb-home .v8-cal-d i.dot{visibility:visible}
.mb-home .v8-ag-today{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #EFE4E8;margin-top:3.5cqw;padding-top:4cqw;font-size:4.5cqw;font-weight:700;color:#2E2126}
.mb-home .v8-ag-today b{color:#A8821F;font-size:3.8cqw}
.mb-home .v8-ag-rows{margin-top:1cqw}
.mb-home .v8-ag-row{display:grid;grid-template-columns:11.5cqw 1cqw minmax(0,1fr) auto;gap:3cqw;align-items:center;padding:2.6cqw 0}
.mb-home .v8-ag-time{font-size:4.3cqw;font-weight:700;color:#2E2126}
.mb-home .v8-ag-bar{width:1cqw;min-width:2px;height:12.5cqw;background:#D5B36D;border-radius:2px}
.mb-home .v8-ag-what strong{display:block;font-size:4.3cqw;color:#2E2126;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mb-home .v8-ag-what small{display:block;font-size:3.6cqw;color:#8A7680}
.mb-home .v8-ag-row em{font-style:normal;font-size:2.9cqw;font-weight:700;letter-spacing:.15cqw;padding:1.6cqw 2.6cqw;border-radius:10cqw;white-space:nowrap}
.mb-home .v8-ag-row em.ok{background:#F8F0F2;color:#703448}
.mb-home .v8-ag-row em.wait{background:#FBF3D9;color:#9A7414}
.mb-home .v8-ag-nav{margin-top:auto;border-top:1px solid #EFE4E8;padding-top:3.2cqw;display:flex;justify-content:space-between;font-size:3.3cqw;color:#A98B97;text-align:center}
.mb-home .v8-ag-nav .on{color:#703448;font-weight:700}
.mb-home .v8-ag-nav .on::before{content:"";display:block;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#703448;margin:0 auto 1.2cqw}
/* Tarjeta flotante de confirmación */
.mb-home .v8-toast{position:absolute;z-index:3;left:-3%;bottom:5%;width:min(305px,66%);background:#fff;border:1px solid #EFE3E7;border-radius:12px;box-shadow:0 18px 40px #3C26301f;display:flex;gap:10px;align-items:flex-start;padding:13px 15px}
.mb-home .v8-toast-ck{width:22px;height:22px;border-radius:50%;background:#F8F0F2;display:grid;place-items:center;flex:none}
.mb-home .v8-toast-ck svg{width:13px;height:13px}
.mb-home .v8-toast-tx strong{display:block;font-size:14px;color:#2E2126}
.mb-home .v8-toast-tx small{display:block;font-size:12px;color:#8A7680;margin-top:2px}
.mb-home .v8-toast-when{margin-left:auto;font-size:11px;color:#B9A3AD}
/* Pasos */
.mb-home .v8-steps{border-top:1px solid #EDE4E7;padding-top:44px;margin-top:56px}
.mb-home .v8-steps .v8-eyebrow,.mb-home .v8-trades .v8-eyebrow{margin-bottom:12px}
.mb-home .v8-h2{font-family:var(--serif8);font-size:32px;font-weight:500;color:#2E2126;margin:0 0 40px;letter-spacing:-.01em}
.mb-home .v8-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.mb-home .v8-num{font-family:var(--serif8);font-size:40px;color:#D9B8C4;display:block;margin-bottom:10px}
.mb-home .v8-step h3{font-size:16.5px;margin:0 0 8px;color:#2E2126}
.mb-home .v8-step p{font-size:14px;line-height:1.55;color:#6B5A62;margin:0}
/* Oficios */
.mb-home .v8-trades{margin-top:56px}
.mb-home .v8-trades-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mb-home .v8-trade{background:#fff;border:1px solid #EFDCE3;border-top:4px solid #D5B36D;border-radius:16px;padding:28px 30px}
.mb-home .v8-trade h3{font-family:var(--serif8);font-size:26px;font-weight:500;color:#2E2126;margin:0 0 18px}
.mb-home .v8-trade ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mb-home .v8-trade li{font-size:14.5px;color:#4A3A41;display:flex;gap:10px;align-items:baseline}
.mb-home .v8-trade li::before{content:"";width:7px;height:7px;border-radius:50%;background:#D5B36D;flex:none;transform:translateY(-2px)}
/* Funciones */
.mb-home .v8-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;border-top:1px solid #EDE4E7;padding-top:44px;margin-top:56px}
.mb-home .v8-ficon{display:block;width:34px;height:34px;margin-bottom:16px}
.mb-home .v8-ficon svg{width:100%;height:100%;display:block}
.mb-home .v8-feature strong{display:block;font-size:15.5px;color:#2E2126;margin-bottom:7px}
.mb-home .v8-feature p{font-size:13.5px;line-height:1.55;color:#6B5A62;margin:0}
/* Banda de marca */
.mb-home .v8-band{background:#38222C;text-align:center;padding:56px 24px;margin-top:64px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.mb-home .v8-band-quote{font-family:var(--serif8);font-style:italic;font-size:clamp(24px,3vw,31px);color:#FBF3E4;margin:0 0 14px}
.mb-home .v8-band-slogan{font-size:12px;letter-spacing:3px;color:#D5B36D;margin:0}
/* Barra fija móvil */
.mb-home .v8-sticky{display:none}
@media(max-width:860px){
 .mb-home .v8-hero{grid-template-columns:1fr;gap:6px}
 .mb-home .v8-title{font-size:clamp(34px,9.4vw,46px)}
 .mb-home .v8-stage{height:min(470px,124vw);min-height:360px;margin-top:8px}
 .mb-home .v8-toast{left:0;bottom:2%}
 .mb-home .v8-checks{gap:14px 18px}
 .mb-home .v8-steps-grid{grid-template-columns:1fr;gap:26px}
 .mb-home .v8-trades-grid{grid-template-columns:1fr}
 .mb-home .v8-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .mb-home.v8-home{padding-bottom:74px}
 .mb-home .v8-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;background:#fff;border-top:1px solid #EFE4E7;padding:10px 14px calc(10px + env(safe-area-inset-bottom));align-items:center;gap:12px;box-shadow:0 -8px 24px #3C263012}
 .mb-home .v8-sticky p{margin:0;font-size:12.5px;color:#4A3A41;line-height:1.3;flex:1}
 .mb-home .v8-sticky p strong{color:#2E2126}
 .mb-home .v8-sticky .primary{background:#703448;border-color:#703448;color:#fff;border-radius:9px;min-height:42px;padding:9px 14px;font-weight:650;white-space:nowrap}
}
/* Ajuste móvil v8.2 (reemplaza la técnica v8.1, retirada por rota):
   CAUSA RAÍZ v8.1: el héroe pasó a flex-columna sin anular el align-items:center de
   la regla base (pensado para la parrilla de escritorio). En flex-columna ese
   align-items achica cada hijo a su ancho intrínseco; como TODOS los hijos del
   escenario son absolutos (fuera de flujo), su ancho intrínseco es 0: el escenario
   colapsó a una caja de 0px de ancho centrada, la tarjeta flotante (width:58%)
   quedó en 26px con el texto letra por letra y los teléfonos se anclaron a ese
   punto central. Verificado con Chromium a 412×915: .v8-stage w=0, toast 26×607.
   TÉCNICA v8.2 (simple y robusta, la misma familia que la v8 que funcionaba):
   el héroe vuelve a parrilla de una columna con align-items explícito y el
   escenario tiene ANCHO completo y ALTO DEFINIDO por banda en svh (nada de
   alturas flex ni de cadenas % sobre alturas flex). Los teléfonos usan % de esa
   altura definida + aspect-ratio, con interiores en cqw de contenedor
   inline-size (cada teléfono), igual que en v8. El alto del escenario por banda =
   100svh − (chrome de la banda + alto medido del texto + 8 de aire), de modo que
   encabezado + héroe llenan la primera pantalla en los tamaños de referencia. */
@media(max-width:860px){
 .mb-home .v8-copy{padding-right:0}
 .mb-home .v8-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;height:auto;min-height:0}
 .mb-home .v8-stage{width:100%;height:min(560px,calc(100vh - 506px));height:min(560px,calc(100svh - 506px));min-height:320px;margin-top:0}
 .mb-home .v8-phone{border-width:6px}
 .mb-home .v8-phone-front{top:8%;height:92%}
 .mb-home .v8-eyebrow{font-size:10.5px;letter-spacing:2px;line-height:1.4;margin:0 0 12px}
 .mb-home .v8-title{font-size:clamp(28px,8vw,40px);line-height:1.1;margin:0 0 14px}
 .mb-home .v8-lede{font-size:15px;line-height:1.55;margin:0 0 18px}
 .mb-home .v8-actions{gap:18px}
 .mb-home .v8-actions .primary{min-height:48px;padding:12px 22px}
 .mb-home .v8-checks{margin:16px 0 0;padding:13px 0 0;gap:7px 16px}
 .mb-home .v8-checks li{font-size:12.5px}
 .mb-home .v8-screen{padding-bottom:5.5cqw}
 .mb-home .v8-notch{margin-bottom:4cqw}
 .mb-home .v8-bk-biz{margin-bottom:4cqw}
 .mb-home .v8-chips{margin-bottom:4.5cqw}
 .mb-home .v8-slots{margin-bottom:5cqw}
 .mb-home .v8-cal-wk{margin-top:3cqw}
 .mb-home .v8-ag-today{margin-top:3cqw;padding-top:3.5cqw}
 .mb-home .v8-ag-row{padding:2.2cqw 0}
 .mb-home .v8-ag-row em{font-size:3.15cqw}
 .mb-home .v8-toast{width:min(280px,58%);min-width:230px;padding:11px 12px;gap:9px;bottom:3%}
 .mb-home .v8-toast-tx{min-width:0}
 .mb-home .v8-toast-ck{width:20px;height:20px}
 .mb-home .v8-toast-tx strong{font-size:13px}
 .mb-home .v8-toast-tx small{font-size:11px}
 .mb-home .v8-toast-when{font-size:10.5px}
 .mb-home .v8-steps{padding-top:30px;margin-top:38px}
 .mb-home .v8-h2{font-size:28px;margin:0 0 26px}
 .mb-home .v8-steps-grid{gap:20px}
 .mb-home .v8-num{font-size:34px;margin-bottom:6px}
 .mb-home .v8-trades{margin-top:38px}
 .mb-home .v8-trade{padding:22px}
 .mb-home .v8-features{padding-top:30px;margin-top:38px;gap:20px}
 .mb-home .v8-ficon{margin-bottom:12px}
 .mb-home .v8-band{padding:40px 20px;margin-top:42px}
}
@media(max-width:600px){
 .mb-home .v8-stage{height:min(480px,calc(100vh - 556px));height:min(480px,calc(100svh - 556px));min-height:200px}
}
@media(max-width:374px){
 .mb-home .v8-stage{height:min(480px,calc(100vh - 519px));height:min(480px,calc(100svh - 519px))}
}
@media(min-width:415px) and (max-width:600px){
 .mb-home .v8-stage{height:min(480px,calc(100vh - 502px));height:min(480px,calc(100svh - 502px))}
}
@media(max-width:600px) and (max-height:760px){
 .mb-home .v8-hero{gap:6px}
 .mb-home .v8-eyebrow{margin-bottom:10px}
 .mb-home .v8-title{font-size:26px;margin-bottom:10px}
 .mb-home .v8-lede{font-size:14.5px;margin-bottom:14px}
 .mb-home .v8-checks{margin-top:12px;padding-top:10px}
}
@media(min-width:861px) and (max-height:780px){.mb-home .v8-stage{min-height:400px}.mb-home .v8-title{font-size:clamp(38px,4.2vw,50px)}}
@media(prefers-reduced-motion:reduce){.mb-home .v8-phone{transition:none}}
/* ===== Portada v9 compacta — estructura de la referencia de Santiago (2026-10-28):
   héroe con UN solo teléfono (la agenda del dueño con su mini calendario), fila de
   4 mini-funciones con icono en círculo suave, tarjeta «Comienza hoy» con dos
   caminos (dueño → #register, profesional → /login) y fila de confianza.
   Salen los pasos 01-03, las tarjetas de oficios, las funciones con descripción,
   el teléfono de reserva y la tarjeta flotante. La técnica del héroe móvil es la
   de v8.2 (parrilla de una columna, escenario de ancho completo y alto definido
   por banda en svh; interiores en cqw de contenedor inline-size). ===== */
/* El teléfono único va centrado sobre el halo, en todas las pantallas */
.mb-home .v8-halo{left:50%;right:auto;transform:translate(-50%,-50%)}
.mb-home .v8-phone-front{left:50%;right:auto;top:4%;height:96%;transform:translateX(-50%)}
/* Mini-funciones */
.mb-home .v9-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid #EDE4E7;padding-top:38px;margin-top:46px}
.mb-home .v9-mini-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;min-width:0}
.mb-home .v9-mini-ic{width:58px;height:58px;border-radius:50%;background:#F8F0F2;color:#703448;display:grid;place-items:center;flex:none}
.mb-home .v9-mini-ic svg{width:29px;height:29px;display:block}
.mb-home .v9-mini-label{font-size:13.5px;font-weight:650;color:#2E2126;line-height:1.3}
/* Comienza hoy */
.mb-home .v9-start{background:#fff;border:1px solid #EFDCE3;border-radius:20px;padding:34px 36px;margin-top:46px;text-align:center;box-shadow:0 14px 34px #3C26300d}
.mb-home .v9-start-title{font-family:var(--serif8);font-size:30px;font-weight:500;color:#2E2126;margin:0 0 8px;letter-spacing:-.01em}
.mb-home .v9-start-sub{font-size:14.5px;color:#6B5A62;margin:0 0 24px}
.mb-home .v9-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.mb-home .v9-path{display:flex;align-items:center;gap:14px;border-radius:14px;padding:18px 20px;text-decoration:none;min-width:0}
.mb-home .v9-path-owner{background:#703448;color:#FBF3E4}
.mb-home .v9-path-owner:hover{background:#5B2A3C}
.mb-home .v9-path-pro{background:#fff;border:1.5px solid #703448;color:#703448}
.mb-home .v9-path-pro:hover{background:#F8F0F2}
.mb-home .v9-path-ic{width:30px;height:30px;flex:none}
.mb-home .v9-path-ic svg{width:100%;height:100%;display:block}
.mb-home .v9-path-tx{flex:1;min-width:0}
.mb-home .v9-path-tx strong{display:block;font-size:15.5px;line-height:1.25}
.mb-home .v9-path-owner .v9-path-tx small{display:block;font-size:12.5px;color:#E9CBD6;margin-top:3px}
.mb-home .v9-path-pro .v9-path-tx small{display:block;font-size:12.5px;color:#8A7680;margin-top:3px}
.mb-home .v9-path-arrow{font-size:19px;flex:none}
/* Fila de confianza */
.mb-home .v9-trust-short{display:none}
.mb-home .v9-trust{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:38px}
.mb-home .v9-trust-item{display:flex;align-items:center;gap:10px;padding:6px 26px;font-size:13.5px;font-weight:600;color:#4A3A41}
.mb-home .v9-trust-item+.v9-trust-item{border-left:1px solid #E7D8DE}
.mb-home .v9-trust-ic{width:24px;height:24px;color:#703448;flex:none}
.mb-home .v9-trust-ic svg{width:100%;height:100%;display:block}
.mb-home .v8-band{margin-top:46px}
@media(max-width:860px){
 .mb-home .v8-stage{height:min(560px,calc(100vh - 400px));height:min(560px,calc(100svh - 400px));min-height:240px}
 .mb-home .v9-mini{gap:10px;padding-top:26px;margin-top:30px}
 .mb-home .v9-mini-ic{width:50px;height:50px}
 .mb-home .v9-mini-ic svg{width:25px;height:25px}
 .mb-home .v9-mini-label{font-size:11.5px}
 .mb-home .v9-start{padding:26px 20px;margin-top:30px;border-radius:18px}
 .mb-home .v9-start-title{font-size:26px}
 .mb-home .v9-paths{grid-template-columns:1fr}
 .mb-home .v9-path{padding:16px 18px}
 .mb-home .v9-trust{margin-top:26px}
 .mb-home .v9-trust-item{padding:6px 14px;font-size:12.5px}
 .mb-home .v8-band{margin-top:30px}
}
@media(max-width:600px){
 .mb-home .v8-stage{height:min(520px,calc(100vh - 480px));height:min(520px,calc(100svh - 480px));min-height:220px}
}
@media(max-width:374px){
 .mb-home .v8-stage{height:min(520px,calc(100vh - 410px));height:min(520px,calc(100svh - 410px))}
}
@media(min-width:415px) and (max-width:600px){
 .mb-home .v8-stage{height:min(520px,calc(100vh - 430px));height:min(520px,calc(100svh - 430px))}
}
@media(max-width:600px){
 .mb-home .v9-trust-item+.v9-trust-item{border-left:none}
}
/* ===== Ajuste compacto v9.1 (2026-10-28): TODO el conjunto compacto (héroe +
   mini-funciones + «Comienza hoy» + fila de confianza) cabe en UNA pantalla de
   teléfono sin scroll; solo la banda de marca y el pie quedan bajo el pliegue.
   Solo móvil (≤860px); el escritorio queda exactamente como en v9. La técnica
   del héroe sigue siendo la de v8.2: parrilla de una columna con
   align-items:start, escenario de ancho completo y alto definido por banda en
   svh (con reserva vh), teléfono por % de esa altura + aspect-ratio e
   interiores en cqw de contenedor inline-size. Sin container-type:size. ===== */
@media(max-width:860px){
 /* (1) Fuera la fila de acciones del héroe en móvil, como en la referencia de
    Santiago: «Crear mi negocio» vive en «Comienza hoy» y en la barra fija, e
    «Iniciar sesión» en el menú. El markup se conserva (escritorio intacto). */
 .mb-home .v8-actions{display:none}
 .mb-home .v8-hero{gap:6px}
 .mb-home .v8-eyebrow{margin-bottom:9px}
 .mb-home .v8-title{font-size:clamp(26px,7.4vw,32px);margin-bottom:11px}
 .mb-home .v8-lede{font-size:14.5px;line-height:1.5;margin-bottom:0}
 /* (2) Escenario más bajo (banda ancha 601–860; las bandas de teléfono van
    en las media queries siguientes, que pisan esta constante) */
 .mb-home .v8-stage{height:min(520px,calc(100vh - 600px));height:min(520px,calc(100svh - 600px));min-height:280px}
 /* El halo se dimensiona por el ALTO del escenario (antes era por el ancho y,
    al bajar el escenario, su círculo tapaba las mini-funciones) */
 .mb-home .v8-halo{width:auto;height:114%}
 /* (3) Mini-funciones más compactas */
 .mb-home .v9-mini{gap:8px;padding-top:11px;margin-top:12px}
 .mb-home .v9-mini-item{gap:7px}
 .mb-home .v9-mini-ic{width:40px;height:40px}
 .mb-home .v9-mini-ic svg{width:20px;height:20px}
 .mb-home .v9-mini-label{font-size:10.5px;line-height:1.28}
 /* (4) «Comienza hoy» compacta; los dos caminos van lado a lado (la media
    ≤379px los vuelve a apilar) */
 .mb-home .v9-start{padding:13px 14px;margin-top:15px;border-radius:16px}
 .mb-home .v9-start-title{font-size:22px;margin-bottom:3px}
 .mb-home .v9-start-sub{font-size:12.5px;line-height:1.4;margin-bottom:8px}
 .mb-home .v9-paths{grid-template-columns:1fr 1fr;gap:10px}
 .mb-home .v9-path{padding:10px 11px;gap:9px;border-radius:12px}
 .mb-home .v9-path-ic{width:24px;height:24px}
 .mb-home .v9-path-tx strong{font-size:13.5px;line-height:1.22}
 .mb-home .v9-path-owner .v9-path-tx small,.mb-home .v9-path-pro .v9-path-tx small{font-size:10.5px;line-height:1.28;margin-top:2px}
 .mb-home .v9-path-arrow{font-size:15px}
 /* (5) Confianza: una sola fila de 3 columnas, icono arriba y etiqueta corta
    debajo. El markup trae etiqueta larga (escritorio, intacta de v9) y corta
    (móvil: «Desde cualquier dispositivo» y «Español e inglés», EN en
    sincronía); aquí se muestra la corta y se oculta la larga. */
 .mb-home .v9-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
 .mb-home .v9-trust-long{display:none}
 .mb-home .v9-trust-short{display:inline}
 .mb-home .v9-trust-item{flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0;font-size:10.5px;line-height:1.2}
 .mb-home .v9-trust-item+.v9-trust-item{border-left:none}
 .mb-home .v9-trust-ic{width:20px;height:20px}
 /* La banda de marca sigue bajo el pliegue */
 .mb-home .v8-band{margin-top:36px}
}
@media(max-width:600px){
 .mb-home .v8-stage{height:calc(100vh - 660px);height:calc(100svh - 660px);min-height:180px}
 .mb-home .v8-eyebrow{margin-bottom:8px}
 .mb-home .v8-title{margin-bottom:9px}
 .mb-home .v9-mini-label{font-size:10px}
 .mb-home .v9-path{padding:9px 11px}
 .mb-home .v9-path-tx strong{font-size:13px}
 .mb-home .v9-path-owner .v9-path-tx small,.mb-home .v9-path-pro .v9-path-tx small{line-height:1.24}
}
@media(min-width:415px) and (max-width:600px){
 .mb-home .v8-stage{height:calc(100vh - 664px);height:calc(100svh - 664px);min-height:200px}
}
@media(max-width:379px){
 /* Bajo 380px los caminos se apilan, compactos */
 .mb-home .v9-paths{grid-template-columns:1fr}
 .mb-home .v9-path{padding:9px 12px}
 .mb-home .v8-stage{height:calc(100vh - 535px);height:calc(100svh - 535px);min-height:180px}
}
/* ===== Portada v9.2 (2026-10-29): héroe móvil LADO A LADO — texto a la
   izquierda y teléfono a la derecha, como la referencia de Santiago — y el
   teléfono recupera forma de teléfono. Solo móvil (≤860px); el escritorio
   queda exactamente como en v9/v9.1. La técnica sigue siendo la de v8.2:
   parrilla (ahora de dos columnas con pistas definidas), escenario con alto
   definido por banda en svh (con reserva vh), teléfono por % de esa altura +
   aspect-ratio e interiores en cqw de contenedor inline-size. Sin
   container-type:size, sin alturas flex.
   (a) FORMA DEL TELÉFONO: el marco traía border-radius FIJO de 42px, pensado
   para el teléfono de escritorio (~307px de ancho → 14%). En móvil v9.1 el
   teléfono bajó a 131px de ancho y el radio siguió en 42px = 32% del ancho:
   las esquinas se comían el cuerpo y salía una cápsula («el teléfono está
   redondo»). El radio pasa a ser PROPORCIONAL: 11% del ancho en horizontal y
   5.87% del alto en vertical (= 11% × 288/540, arcos circulares a cualquier
   tamaño, ~21px a 412px de pantalla).
   (b) DOS COLUMNAS: 55% texto / 45% teléfono. Al ir lado a lado, el héroe
   mide lo que mide el escenario (no texto + escenario apilados) y el
   teléfono crece de 245px a ~355px de alto en el Galaxy. El halo se ancla a
   la derecha y sangra fuera de pantalla como en la referencia; el clip
   horizontal del body (solo con la portada presente) evita scroll lateral
   sin tocar la barra fija. ===== */
@media(max-width:860px){
 html:has(.mb-home),body:has(.mb-home){overflow-x:clip}
 .mb-home .v8-hero{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:14px;align-items:center}
 .mb-home .v8-phone{border-radius:11%/5.87%}
 .mb-home .v8-stage{height:calc(100vh - 545px);height:calc(100svh - 545px);min-height:250px}
 .mb-home .v8-halo{left:auto;right:-118%;transform:translateY(-50%);width:auto;height:112%}
}
@media(min-width:601px) and (max-width:860px){
 .mb-home .v8-stage{height:min(520px,calc(100vh - 480px));height:min(520px,calc(100svh - 480px));min-height:320px}
}
/* ===== Portada v9.3 (2026-10-29): adelgazamiento móvil pedido por Santiago
   tras probar la v9.2 en su Galaxy («Ya casi está»): (1) los dos botones de
   «Comienza hoy» más pequeños, (2) la banda oscura de cierre más corta y
   (3) un recorte token en la barra fija. Solo móvil (≤860px); el escritorio
   queda como en v9/v9.1. No se toca el héroe ni el teléfono (forma v9.2
   intacta): la holgura que se gana queda como aire. La técnica sigue siendo
   la de v8.2/v9.2 (este bloque va al final y solo ajusta valores ya
   definidos por los bloques v9.1/v9.2 a igual especificidad). ===== */
@media(max-width:860px){
 /* (1) «Comienza hoy» más delgada: menos padding de tarjeta, título y sub
    más pegados, botones con padding/gaps/icono menores y el texto de los
    caminos con interlineado más cerrado (al ganar ancho útil, «Soy dueño
    de un negocio» pasa de 3 a 2 líneas en el Galaxy). Los botones quedan
    ≥56px de alto: táctiles sin verse grandes. */
 .mb-home .v9-start{padding:10px 12px;margin-top:12px}
 .mb-home .v9-start-title{font-size:18px;line-height:1.15;margin-bottom:2px}
 .mb-home .v9-start-sub{font-size:12px;line-height:1.3;margin-bottom:6px}
 .mb-home .v9-paths{gap:8px}
 .mb-home .v9-path{padding:8px 10px;gap:7px;border-radius:11px}
 .mb-home .v9-path-ic{width:20px;height:20px}
 .mb-home .v9-path-tx strong{font-size:13px;line-height:1.18}
 .mb-home .v9-path-owner .v9-path-tx small,.mb-home .v9-path-pro .v9-path-tx small{font-size:10.5px;line-height:1.15;margin-top:1px}
 .mb-home .v9-path-arrow{font-size:14px}
 /* (2) Banda de marca más corta: el padding vertical baja de 40 a 14px, la
    frase serif se mantiene elegante (25px, interlineado 1.22) y el eslogan
    va más pegado debajo. Mismo texto y mismo fondo borgoña oscuro. */
 .mb-home .v8-band{padding:14px 20px;margin-top:28px}
 .mb-home .v8-band-quote{font-size:25px;line-height:1.22;margin-bottom:7px}
 /* (3) Barra fija: recorte token (padding 10→8px). La barra ya era casi
    mínima; el botón «Crear mi negocio» sube a 44px de alto táctil y el
    texto a 13px, sin encoger nada por debajo de lo legible. */
 .mb-home .v8-sticky{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}
 .mb-home .v8-sticky p{font-size:13px}
 .mb-home .v8-sticky .primary{min-height:44px}
}
@media(max-width:379px){
 /* Apilados (≤379px): un poco más de aire vertical en los caminos para
    conservar una altura táctil cómoda pese al texto más cerrado. */
 .mb-home .v9-path{padding:14px 12px}
}

.kind-fixed{margin:0;border:1px solid var(--line);border-radius:9px;background:#faf7f2;padding:11px 12px;min-height:44px;display:flex;align-items:center}

/* ===== Barber agenda polish — reference look (2026-10-29) ===== */
.barber-agenda .barber-section{border-radius:20px;box-shadow:0 10px 30px #3c263010;border-color:#f0e9e6}
.barber-work-person .avatar{width:64px;height:64px}
.barber-work-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.barber-work-head h3{margin:0}
.barber-active-pill{display:inline-flex;align-items:center;gap:6px;background:#F8F0F2;color:#703448;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px}
.barber-active-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#b8975a}
.barber-count .icon{background:#f5edf0;border-radius:50%;padding:4px;width:27px;height:27px}
.barber-count.st-pending .icon{background:#f7ead0}
.barber-count.st-confirmed .icon{background:#F8F0F2}
.barber-count.st-completed .icon{background:#e3ecf4}
.barber-count.st-cancelled .icon{background:#f9e7e3}
.barber-manual button{min-height:56px;font-size:17px}
.barber-manual button::before{content:"+";display:grid;place-items:center;width:26px;height:26px;border:2px solid currentColor;border-radius:50%;font-weight:700;line-height:1;flex:none}
@media(max-width:600px){
 .barber-identity-content{min-height:296px;padding:26px 18px}
 .barber-business-logo{flex-basis:110px;width:110px;height:110px}
 .barber-business-text{flex-basis:calc(100% - 128px)}
 .barber-business-logo>span{font-size:34px}
 .barber-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:-14px 10px 16px;padding:14px 6px;row-gap:0}
 .barber-metrics>div{flex-direction:column;justify-content:center;padding-inline:4px;gap:3px;text-align:center;border-right:1px solid #ffffff30}
 .barber-metrics>div:nth-child(2){border-right:1px solid #ffffff30}
 .barber-metrics>div:last-child{border-right:0}
 .barber-metrics>div>span{display:flex;flex-direction:column;align-items:center}
 .barber-metrics .icon{width:23px;height:23px}
 .barber-metrics strong{font-size:19px}
 .barber-metrics small{font-size:10.5px;line-height:1.25}
 .barber-agenda .barber-section{padding:18px 16px}
 .barber-agenda-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .barber-count{flex-direction:column;gap:4px;padding:9px 2px;font-size:11px;text-align:center}
 .barber-intervals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .barber-intervals>div+div{border-top:0;padding-top:0}
 .barber-intervals span{font-size:11px}
 .barber-intervals p{font-size:12.5px}
}

/* ===== Header: three-dot menu + language inside the menu (2026-10-29) ===== */
#language{display:none}
body.is-public #language{display:inline-flex}
.menu-button{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;color:#703448}
.menu-dots{display:grid;gap:4.5px;justify-items:center}
.menu-dots span{width:21px;height:2.6px;border-radius:2px;background:currentColor;display:block}
.nav-lang{display:flex;gap:8px;padding:2px 18px 16px}
.nav-lang button{flex:1;min-height:40px;border-radius:10px;font-weight:600}
.nav-lang button.active{background:#703448;border-color:#703448;color:#fff}

/* ===== Settings rework: split cards, sticky save, small QR (2026-10-29) ===== */
.settings-form{background:transparent;border:0;box-shadow:none;padding:0}
.settings-savebar{position:sticky;bottom:10px;z-index:6}
.settings-savebar .primary{width:100%;min-height:54px;font-size:16px;border-radius:14px;box-shadow:0 12px 28px #3c263033}
.qr-row{display:flex;gap:14px;align-items:center;margin-top:12px}
.qr-thumb{flex:none;width:84px;height:84px}
.qr-thumb svg{width:84px;height:84px;display:block}
.qr-actions{display:grid;gap:8px;flex:1}
.qr-actions .button,.qr-actions button{width:100%}

/* Professional profile & availability dress (Agéndame standard, 2026-10-29).
   These views still inherited the legacy green root palette; this scope
   restores the plum ink locally and gives their headings the burgundy serif
   treatment. The photo spot shows the professional exactly where clients
   will see the photo, with a styled picker instead of the raw file input. */
.pro-dress{--ink:#3C2630;--ink-2:#5B2A3C;--muted:#6E5E63;--line:#e3ded0}
.pro-dress h2,.pro-dress h3{color:#703448}
.pro-dress .card{border-radius:20px;box-shadow:0 10px 30px #3c263012}
/* Client dress (Santiago, 2026-10-29): the public booking journey wears the
   Agéndame burgundy like the panels; the legacy green never reaches a client.
   Scoped to the public pages (body.is-public). */
body.is-public{--ink:#3C2630;--muted:#6d5a63}
body.is-public h1,body.is-public h2,body.is-public h3{color:#703448}
body.is-public .public-title h1{color:#fff8ec}
body.is-public .avatar-default{background:linear-gradient(145deg,#7d3a56,#552639)}
body.is-public [data-action="recover-receipt"]{background:transparent;border-color:transparent;color:#703448;text-decoration:underline;font-weight:600}
body.is-public input,body.is-public select{border-radius:12px}
.receipt-band{display:flex;align-items:center;gap:.7rem;background:linear-gradient(135deg,#7d3a56,#5d2a40);color:#fff8ec;border-radius:14px;padding:.65rem .9rem;margin-bottom:1rem;text-align:left}
.receipt-band img{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#fff8ec}
/* The home pass recolors every eyebrow via a high-specificity #root rule;
   the receipt band needs the same weight to keep its gold eyebrow. */
#root:not(:has(.mb-home)) .receipt-band .eyebrow:not(.public-hero *):not(#private-calendar *){color:#D5B36D}
.receipt-band strong{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;line-height:1.1}
.success-mark.pending-mark{background:#fff;color:#703448;border:2px solid #D5B36D;font-size:1.3rem}
.photo-spot{display:flex;gap:16px;align-items:center}
.photo-preview{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;border:2px solid #D5B36D;background:#F8F0F2;display:grid;place-items:center}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-spot-text strong{display:block;font:600 17px var(--display);color:#703448;margin-bottom:4px}
.photo-spot-text p{margin:0 0 4px}
#photo-form label.button{cursor:pointer}
@media(max-width:480px){.photo-spot{flex-direction:column;text-align:center}}
/* The cream page-heading card is keyed to #root children; keep it inside the dress scope. */
.pro-dress>.page-heading{padding:24px 28px;background:linear-gradient(120deg,#fffdf8,#f6efdc);border:1px solid #e6dcc3;border-left:6px solid var(--gold);border-radius:22px;margin-bottom:24px;align-items:center}
.pro-dress>.page-heading h1{margin:2px 0 4px}
.pro-dress>.page-heading p{margin:0;color:var(--muted)}
