/* Presentación compartida: no modifica la disponibilidad, los permisos ni los cobros. */
:root{--ui-primary:#137f7d;--ui-primary-hover:#0d6866;--ui-ink:#11283b;--ui-border:#aabdc8;--ui-muted:#526574;--ui-radius:12px}
body main.form-page .card:has(>form),body main.form-page .service-editor,body main.form-page .team-member{border:1px solid #d6e2e8;border-top:3px solid #137f7d;border-radius:16px;background:#fff;box-shadow:0 3px 14px #11283b08}
body main.form-page form{min-width:0}
body main.form-page form>h2,body main.form-page form>h3{color:var(--ui-ink)}
body main.form-page label{font-weight:600;letter-spacing:0}
body main.form-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]),body main.form-page select,body main.form-page textarea{background:#fff;border:1px solid var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-ink);font:inherit;font-size:18px;font-weight:400;line-height:1.4;padding:12px;min-height:52px;box-shadow:none}
body main.form-page input::placeholder,body main.form-page textarea::placeholder{color:#586f7f;opacity:1}
body main.form-page input[readonly]:not([type=hidden]):not([type=checkbox]):not([type=radio]),body main.form-page textarea[readonly]{background:#f2f6f8;border-style:dashed;color:#334f62}
body main.form-page input:disabled:not([type=hidden]):not([type=checkbox]):not([type=radio]),body main.form-page select:disabled{background:#edf1f4;color:#526574;opacity:1;cursor:not-allowed}
body main.form-page input[type=checkbox],body main.form-page input[type=radio]{min-width:22px;min-height:22px;accent-color:var(--ui-primary);flex-shrink:0}
body main.form-page button,body main.form-page .btn{box-sizing:border-box;border-radius:var(--ui-radius);padding:10px 14px;min-height:48px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;letter-spacing:0}
body main.form-page button:not(.secondary):not(.danger):not(:disabled),body main.form-page .btn:not(.secondary):not(.danger):not([aria-disabled=true]){background:var(--ui-primary);color:#fff;border:1px solid var(--ui-primary)}
body main.form-page button.secondary,body main.form-page .btn.secondary{background:#f2f6f8;color:var(--ui-ink);border:1px solid #bdced8}
body main.form-page button.danger,body main.form-page .btn.danger{background:#fff3f1;color:#8b2525;border:1px solid #b66f67}
body main.form-page button:disabled,body main.form-page .btn[aria-disabled=true]{background:#e4eaee;color:#526574;border:1px solid #c5d1d9;opacity:1;box-shadow:none;cursor:not-allowed}
body main.form-page button:focus-visible,body main.form-page .btn:focus-visible{outline:3px solid var(--ui-ink);outline-offset:3px}
body main.form-page .actions{gap:10px}
body main.form-page .actions>form{flex-wrap:wrap;gap:10px}
body main.form-page .actions .btn,body main.form-page .actions button{display:inline-flex;justify-content:center;align-items:center;margin:0}
body main.form-page .service-editor>summary,body main.form-page .team-member>summary{gap:12px}
body main.form-page .service-editor[open]>summary,body main.form-page .team-member[open]>summary{border-bottom:1px solid #d6e2e8;padding-bottom:12px;margin-bottom:16px}
body main.form-page .service-extra>summary{font-size:17px}
body main.form-page .service-extra{background:#f5f9fa;border-color:#d3e1e7}
body main.form-page .required-note{font-weight:700}
body main.form-page .booking-submit{min-height:52px;font-size:18px}
body main.form-page .personal-hours .btn{background:#e5f4eb;color:#075b38;border-color:#8dbaa1}
body main.form-page .absence-entry-row .absence-field-title{font-weight:600}
@media(hover:hover){body main.form-page button:not(.secondary):not(.danger):not(:disabled):hover,body main.form-page .btn:not(.secondary):not(.danger):not([aria-disabled=true]):hover{background:var(--ui-primary-hover);border-color:var(--ui-primary-hover);color:#fff}body main.form-page button.secondary:hover,body main.form-page .btn.secondary:hover{background:#e6eff3}body main.form-page button.danger:hover{background:#ffe5e1}}
@media(max-width:600px){body main.form-page .card:has(>form){padding:16px}body main.form-page form>button{width:100%}body main.form-page .actions>.btn,body main.form-page .actions>form{flex:1 1 180px}body main.form-page .actions>form>button{width:100%}body main.form-page button,body main.form-page .btn{padding:10px 12px}}

body main.form-page .password-field input:not([type=hidden]):not([type=checkbox]):not([type=radio]){padding-right:88px}body main.form-page .password-field button{min-height:44px;height:44px;top:4px;padding:8px 12px;font-size:16px;min-width:60px}

/* Mis negocios: tarjetas de media columna, sin fotos ni cabeceras duplicadas. */
body main .dashboard-business-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
body main .dashboard-business-card{padding:16px;border-radius:16px;min-width:0}
body main .dashboard-card-heading{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}
body main .dashboard-card-photo{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#e8f3f1;border-radius:12px;overflow:hidden;text-decoration:none;font-size:24px;font-weight:700;color:#137f7d}
body main .dashboard-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
body main .dashboard-card-heading h3{font-size:22px;line-height:1.25;margin:6px 0;overflow-wrap:anywhere}
body main .dashboard-card-heading .category-chip{font-size:14px;padding:4px 8px;max-width:100%;white-space:normal;box-sizing:border-box}
body main .dashboard-card-heading .dashboard-card-location{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}
body main .dashboard-card-owner{font-size:16px;line-height:1.4;margin:10px 0;color:#526574;overflow-wrap:anywhere}
body main .dashboard-card-person{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.4;margin:8px 0;min-width:0}
body main .dashboard-card-person>img,body main .dashboard-card-person>.identity-initials{width:36px;height:36px;object-fit:cover;border-radius:50%;flex-shrink:0}
body main .dashboard-card-person>span:last-child{overflow-wrap:anywhere}
body main .dashboard-card-person small{font-size:15px;color:#526574}
body main .dashboard-business-card .dashboard-card-extras{padding:0;border:0;background:transparent;margin:4px 0}
body main .dashboard-card-extras>summary{font-size:16px;min-height:44px;color:#137f7d;font-weight:600;line-height:44px}
body main .dashboard-card-extras>p{font-size:16px;margin:8px 0}
body main .dashboard-business-card .dashboard-card-actions{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8px;margin:8px 0 0}
body main .dashboard-card-actions>a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px;font-size:16px;box-sizing:border-box;text-align:center;white-space:normal}
body main .dashboard-card-actions>a:only-child{grid-column:1/-1}
body main .dashboard-card-actions>.share-booking{grid-column:1/-1;padding:6px 10px;margin:0}
body main .dashboard-card-actions>.share-booking>summary{font-size:16px;min-height:44px;margin:0}
@media(max-width:760px){body main .dashboard-business-list{grid-template-columns:minmax(0,1fr);max-width:540px}body main .dashboard-business-card{padding:14px}}
@media(max-width:360px){body main .dashboard-card-actions>a{grid-column:1/-1}body main .dashboard-card-heading{grid-template-columns:60px minmax(0,1fr);gap:10px}body main .dashboard-card-photo{width:60px;height:60px}}

/* Botones compactos: misma altura y alineación sin reducir la lectura. */
body main button,body main .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle;box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
body main.form-page form>button{min-height:48px;margin-top:6px}
body main .actions,body main .qr-tools .actions{gap:8px;align-items:stretch}
body main .actions>form{margin:0;min-width:0}
body main .actions>form>button,body main .actions>.btn,body main.form-page .actions button{min-height:48px;margin:0}
body main button .menu-icon,body main .btn .menu-icon{width:18px;height:18px;padding:0;flex-shrink:0}
body main.form-page form>button.secondary{width:auto}
body main.form-page .agenda-toolbar button,body main.form-page .professional-form button,body main.form-page .directory-filters button,body main.form-page .personal-filter>button{min-height:52px}
body main.form-page .booking-submit,body main.form-page .access-submit,body main.form-page .contact-submit{min-height:52px;font-size:18px}
body main.form-page .team-form>button,body main.form-page .access-invite>button{min-width:0}
body main.form-page .password-field button{min-height:44px;height:44px}
@media(min-width:601px){body main.form-page form>button{width:auto}body main .actions>.btn,body main .actions>form{flex:0 1 auto}}
@media(max-width:600px){body main.form-page button,body main.form-page .btn{min-height:48px}body main.form-page .actions>.btn,body main.form-page .actions>form{flex:1 1 140px}body main.form-page .password-field button{min-height:44px;height:44px}body main.form-page .actions>form>button{width:100%}}

body main button[hidden],body main .btn[hidden]{display:none!important}
