body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 55%,transparent),color-mix(in srgb,var(--color-bg) 76%,transparent) 42%,color-mix(in srgb,var(--color-bg) 90%,transparent))}ocean-app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:100dvh}ocean-app>*{min-width:0}ocean-app[state=loading] app-main,ocean-app[state=loading] app-foot{visibility:hidden}app-bar{position:sticky;top:0;z-index:var(--z-sticky);display:block;padding-block:var(--space-4);background:var(--color-surface-frost);backdrop-filter:blur(14px);border-bottom:var(--border-1) solid var(--color-border)}app-bar app-wrap{display:flex;align-items:center;gap:var(--space-6)}brand-name{flex:none}brand-name span{white-space:nowrap}app-nav{display:flex;align-items:center;gap:var(--space-1);margin-inline:auto}nav-link{display:inline-flex;align-items:center;gap:var(--space-2);height:2.5rem;padding-inline:var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;user-select:none;white-space:nowrap;transition:color var(--dur-quick),background var(--dur-quick)}nav-link:hover{color:var(--color-text);background:var(--color-surface)}nav-link[state=current]{color:var(--color-text);background:var(--color-surface-2)}nav-link[state=current] m-symbol{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" -25,"opsz" 24}nav-link m-symbol{font-size:21px;transition:font-variation-settings var(--dur-quick)}app-session{display:flex;align-items:center;gap:var(--space-2);flex:none}session-name{font-size:var(--text-sm);color:var(--color-text-muted);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ocean-app[session=open] m-btn[data-action=login]{display:none}ocean-app[session=none] m-btn[data-action=logout],ocean-app[session=none] session-name{display:none}ocean-app[session=none] nav-link[data-view=turnos],ocean-app[session=none] nav-link[data-view=cuenta]{display:none}app-main{display:block;padding-block:var(--space-12) var(--space-16)}app-main>*[hidden=true]{display:none}app-main>*{display:block}app-main h2{font-size:var(--text-3xl);margin-bottom:var(--space-8)}hero-block{display:block;max-width:var(--container-narrow);padding-block:var(--space-12) var(--space-20)}hero-block h1{margin-block:var(--space-4) var(--space-6)}hero-block h1 em{font-style:italic;font-weight:var(--weight-semibold);background:var(--grad-shore);-webkit-background-clip:text;background-clip:text;color:transparent}hero-lead{display:block;max-width:34rem;font-size:var(--text-md);color:var(--color-text-muted);margin-bottom:var(--space-10)}hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}services-block{display:block;padding-bottom:var(--space-10)}services-block h2{margin-block:var(--space-2) var(--space-8)}services-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-4)}service-tile,service-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius-lg);border:var(--border-1) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-2);cursor:pointer;user-select:none}service-tile:hover,service-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-3)}tile-name,service-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text)}tile-meta,service-meta{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}tile-meta m-symbol,service-meta m-symbol{font-size:18px;color:var(--color-secondary)}tile-price,service-price{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-accent)}step-block{display:block;margin-bottom:var(--space-12)}step-block[hidden=true]{display:none}step-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-5)}service-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--space-3)}service-card[state=chosen]{border-color:var(--color-primary);box-shadow:var(--glow-coral)}booking-bar{position:sticky;bottom:0;z-index:var(--z-raised);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-inline:var(--gutter);margin-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:var(--border-1) solid var(--color-border-strong);background:var(--color-surface-frost);backdrop-filter:blur(16px);box-shadow:var(--shadow-4)}booking-bar[hidden=true]{display:none}booking-summary{font-size:var(--text-sm);color:var(--color-text)}turno-group{display:block;margin-bottom:var(--space-10)}group-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-4)}turno-list{display:flex;flex-direction:column;gap:var(--space-3)}turno-card{display:grid;grid-template-columns:13rem 1fr auto;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);border:var(--border-1) solid var(--color-border);border-left:var(--border-3) solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;user-select:none}turno-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-2)}turno-card[state=pendiente]{border-left-color:var(--color-warning)}turno-card[state=confirmado]{border-left-color:var(--color-secondary)}turno-card[state=cancelado]{border-left-color:var(--color-danger);opacity:.62}turno-when{display:flex;flex-direction:column;gap:var(--space-1)}turno-day{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text)}turno-time{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-secondary)}turno-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}turno-service{font-size:var(--text-base);color:var(--color-text)}turno-note{font-size:var(--text-sm);color:var(--color-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}turno-state{flex:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-2);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);white-space:nowrap}list-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);border-radius:var(--radius-xl);border:var(--border-1) dashed var(--color-border-strong);text-align:center}list-empty m-symbol{font-size:44px;color:var(--color-secondary)}dialog-lines{display:flex;flex-direction:column;gap:var(--space-4)}dialog-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border-1) solid var(--color-border)}dialog-line span{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-subtle)}dialog-line strong{font-weight:var(--weight-regular);color:var(--color-text);text-align:right}profile-card{display:block;max-width:var(--container-narrow);margin-bottom:var(--space-6);padding:var(--space-8);border-radius:var(--radius-lg);border:var(--border-1) solid var(--color-border);background:var(--color-surface)}card-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-5)}profile-card p{font-size:var(--text-sm);margin-bottom:var(--space-4)}profile-email{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}profile-email m-symbol{font-size:18px;color:var(--color-secondary)}form-row{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-bottom:var(--space-6)}access-view app-wrap,access-view{display:block}access-card{display:block;max-width:26rem;margin:var(--space-8) auto;padding:var(--space-10);border-radius:var(--radius-xl);border:var(--border-1) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-3)}access-card h2{font-size:var(--text-2xl);margin-bottom:var(--space-2)}access-lead{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}access-form{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}access-swap{display:flex;align-items:center;justify-content:center;gap:var(--space-1);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}app-foot{display:block;padding-block:var(--space-8);border-top:var(--border-1) solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-subtle)}app-foot app-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}@media(max-width:1024px){app-nav nav-link span{display:none}nav-link{padding-inline:var(--space-3)}}@media(max-width:768px){app-bar{background:var(--color-bg-elev);backdrop-filter:none}app-bar app-wrap{gap:var(--space-3);justify-content:space-between}app-nav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);margin:0;justify-content:space-around;gap:0;padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface-frost);backdrop-filter:blur(16px);border-top:var(--border-1) solid var(--color-border)}app-nav nav-link{flex-direction:column;gap:2px;height:auto;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}app-nav nav-link span{display:block;font-size:var(--text-xs)}app-main{padding-bottom:var(--space-24)}app-notice{bottom:calc(4.75rem + env(safe-area-inset-bottom))}booking-bar{bottom:calc(4.5rem + env(safe-area-inset-bottom))}app-main h2{font-size:var(--text-2xl)}hero-block{padding-block:var(--space-6) var(--space-12)}turno-card{grid-template-columns:1fr auto;gap:var(--space-3)}turno-when{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:var(--space-3)}profile-card{padding:var(--space-6)}access-card{padding:var(--space-6);margin-top:var(--space-4)}booking-bar{flex-direction:column;align-items:stretch}booking-bar m-btn{width:100%}app-foot app-wrap{flex-direction:column;align-items:flex-start}}@media(max-width:480px){services-list,service-list{grid-template-columns:1fr}session-name{display:none}hero-actions m-btn{flex:1 1 100%}}
