.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.ui-card--elevated{box-shadow:var(--shadow-md)}.ui-card__title{font-size:1.05rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.ui-card__meta{color:var(--color-text-muted);font-size:.92rem}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);padding:.62rem 1rem;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.ui-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.ui-btn--primary:focus,.ui-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-contrast)}.ui-btn--ghost{background:0 0;border-color:var(--color-border);color:var(--color-text)}.ui-btn--ghost:focus,.ui-btn--ghost:hover{background:var(--color-surface-soft);color:var(--color-text)}.ui-action-btn{display:inline-flex;align-items:baseline;justify-content:center;gap:.42rem;border:1px solid transparent;border-radius:var(--radius-pill);padding:.62rem 1rem;font-size:.8rem;font-weight:700;line-height:1.2;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:var(--action-btn-shadow);transition:transform .2s,box-shadow .2s,filter .2s,border-color .2s,background-color .2s}.ui-action-btn:focus,.ui-action-btn:hover{transform:translateY(-1px);box-shadow:var(--action-btn-shadow-hover);text-decoration:none}.ui-action-btn--success{color:var(--color-success-contrast,var(--color-primary-contrast));background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 86%,var(--color-success-strong)) 0,var(--color-success) 100%);border-color:color-mix(in srgb,var(--color-success) 74%,var(--color-success-strong))}.ui-action-btn--success:focus,.ui-action-btn--success:hover{color:var(--color-success-contrast,var(--color-primary-contrast));background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 82%,var(--color-success-strong)) 0,color-mix(in srgb,var(--color-success) 94%,var(--color-success-strong)) 100%);border-color:color-mix(in srgb,var(--color-success) 68%,var(--color-success-strong))}.ui-action-btn--danger{color:var(--color-danger-contrast,var(--color-primary-contrast));background:linear-gradient(135deg,color-mix(in srgb,var(--color-danger) 90%,var(--color-danger-strong)) 0,var(--color-danger) 100%);border-color:color-mix(in srgb,var(--color-danger) 74%,var(--color-danger-strong))}.ui-action-btn--danger:focus,.ui-action-btn--danger:hover{color:var(--color-danger-contrast,var(--color-primary-contrast));background:linear-gradient(135deg,color-mix(in srgb,var(--color-danger) 88%,var(--color-danger-strong)) 0,color-mix(in srgb,var(--color-danger) 94%,var(--color-danger-strong)) 100%);border-color:color-mix(in srgb,var(--color-danger) 68%,var(--color-danger-strong))}.ui-action-btn--neutral{color:var(--color-primary-contrast);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 78%,var(--color-text-strong)) 0,color-mix(in srgb,var(--color-primary) 92%,var(--color-text-muted)) 100%);border-color:color-mix(in srgb,var(--color-primary) 70%,var(--color-text-strong))}.ui-action-btn--neutral:focus,.ui-action-btn--neutral:hover{color:var(--color-primary-contrast);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 72%,var(--color-text-strong)) 0,color-mix(in srgb,var(--color-primary) 88%,var(--color-text-muted)) 100%);border-color:color-mix(in srgb,var(--color-primary) 64%,var(--color-text-strong))}.ui-action-btn--ghost{color:var(--color-text-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 90%,var(--color-bg)) 0,var(--color-surface) 100%);border-color:color-mix(in srgb,var(--color-border) 76%,var(--color-primary));box-shadow:var(--action-btn-shadow-ghost)}.ui-action-btn--ghost:focus,.ui-action-btn--ghost:hover{color:var(--color-text-strong);background:color-mix(in srgb,var(--color-surface-soft) 84%,var(--color-bg));border-color:color-mix(in srgb,var(--color-border-strong) 70%,var(--color-primary))}.ui-header{margin-bottom:var(--space-4)}.ui-header__kicker{color:var(--color-text-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}.ui-header__title{font-size:1.35rem;line-height:1.2;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.ui-header__subtitle{color:var(--color-text-muted);font-size:.95rem}.ui-list{display:grid;gap:var(--space-3)}.ui-list__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.ui-list__label{font-weight:600;color:var(--color-text)}.ui-list__detail{color:var(--color-text-muted);font-size:.9rem;margin-top:var(--space-1)}.ui-hero{border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-hero-start),var(--color-hero-end));color:var(--color-hero-text);box-shadow:var(--shadow-lg);padding:var(--space-5)}.ui-hero__kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.82;margin-bottom:var(--space-2)}.ui-hero__title{font-size:1.5rem;line-height:1.15;font-weight:700;margin-bottom:var(--space-2);color:inherit}.ui-hero__subtitle{color:var(--color-hero-text-soft);margin-bottom:0}.ui-pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);border:1px solid var(--color-border);padding:.2rem .7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text);background:var(--color-surface-soft)}.ui-pill--muted{color:var(--color-text-muted);background:var(--color-surface-soft)}.ui-status{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:.25rem .7rem;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ui-status--success{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface));color:var(--color-success-strong)}.ui-status--warning{background:color-mix(in srgb,var(--color-warning) 18%,var(--color-surface));color:var(--color-warning-strong)}.ui-status--danger{background:color-mix(in srgb,var(--color-danger) 18%,var(--color-surface));color:var(--color-danger-strong)}.ui-status--neutral{background:var(--color-primary-soft);color:var(--color-primary-strong)}.ui-link{color:var(--color-link);font-weight:600;font-size:.9rem;text-decoration:none}.ui-link:focus,.ui-link:hover{color:var(--color-link-hover);text-decoration:underline}.ui-empty{border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.ui-empty__image{max-width:150px;border-radius:var(--radius-lg)}.ui-feedback{border-radius:var(--radius-md)}.appointments-list{display:grid;gap:.9rem}.appointment-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.appointment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.appointment-card-body{padding:var(--space-4)}.appointment-date{font-weight:600}.appointment-time{font-weight:700;color:var(--color-text-strong)}.appointment-meta{color:var(--color-text-muted);font-size:.88rem}.appointment-review-request{width:100%;border:0;border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-primary-strong);padding:.6rem .75rem;text-align:left;display:flex;align-items:center;gap:.65rem;transition:background .2s}.appointment-review-request:focus,.appointment-review-request:hover{background:var(--color-primary-soft)}.review-stars-placeholder{color:var(--color-warning);letter-spacing:.08rem}.appointments-timeline{border-left:2px solid var(--color-border-strong);margin-left:.45rem;padding-left:.9rem;display:grid;gap:.85rem}.timeline-item{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:.75rem .9rem;cursor:pointer}.timeline-item::before{content:"";position:absolute;width:.65rem;height:.65rem;left:-1.28rem;top:1rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-bg)}.timeline-date{font-weight:700;font-size:.92rem;color:var(--color-text-strong)}.timeline-service{color:var(--color-text-muted);font-size:.86rem}.appointments-cta{position:fixed;left:0;right:0;bottom:0;z-index:100;background:linear-gradient(90deg,var(--color-cta-start) 0,var(--color-cta-end) 100%);box-shadow:var(--shadow-top)}.ui-detail-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-sm);position:relative}.ui-detail-card::before{content:"";position:absolute;inset:0;pointer-events:none}.ui-detail-card .card-footer,.ui-detail-card .card-header{border:0}.ui-detail-card__header{background:linear-gradient(135deg,var(--color-hero-start),var(--color-hero-end));color:var(--color-primary-contrast);border-bottom:1px solid color-mix(in srgb,var(--color-primary-contrast) 14%,transparent);position:relative}.ui-detail-card__header::after{content:"";position:absolute;left:1rem;right:1rem;bottom:0;border-bottom:1px dashed color-mix(in srgb,var(--color-primary-contrast) 22%,transparent)}.ui-detail-card__body{display:flex;flex-direction:column}.ui-detail-card__section{border-bottom:1px solid color-mix(in srgb,var(--color-border) 86%,var(--color-primary))}.ui-detail-card__body>:last-child{border-bottom:0}.ui-detail-card__footer{display:flex;flex-wrap:wrap;gap:.65rem;border-top:1px solid color-mix(in srgb,var(--color-border) 86%,var(--color-primary));background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 70%,transparent),transparent)}.ui-detail-card__footer .ui-action-btn{flex:1;min-width:12.5rem}.private-root{font-family:var(--theme-font-sans);color:var(--theme-text);background:radial-gradient(circle at 10% 20%,var(--theme-bg-spot-1) 0,transparent 50%),radial-gradient(circle at 90% 10%,var(--theme-bg-spot-2) 0,transparent 50%),radial-gradient(circle at 50% 100%,var(--theme-bg-spot-3) 0,transparent 50%),linear-gradient(180deg,var(--theme-bg-start) 0,var(--theme-bg) 100%);background-attachment:fixed;min-height:100vh}.topbar{background:var(--theme-topbar-bg);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--theme-topbar-border);box-shadow:var(--theme-topbar-shadow);transition:var(--theme-transition-smooth)}.brand-wrapper{display:flex;flex-direction:column;gap:.125rem}.brand-name{font-family:var(--theme-font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;color:var(--theme-primary-dark);line-height:1.2}.brand-subtitle{font-size:.75rem;color:var(--theme-text-light);letter-spacing:.02em;text-transform:uppercase;font-weight:500}.desktop-nav{display:none}.btn-nav{border:0;background:0 0;color:var(--theme-text-muted);font-size:.9375rem;padding:.625rem 1.125rem;font-weight:500;border-radius:var(--theme-radius-md);transition:var(--theme-transition)}.btn-nav.menu-item.is-active,.btn-nav:hover{color:var(--theme-primary-dark);background:var(--theme-surface-muted)}.btn-account{background:var(--theme-surface);border:1px solid var(--theme-border);color:var(--theme-text);padding:.625rem 1rem;border-radius:var(--theme-radius-md);box-shadow:var(--theme-shadow-xs);font-weight:600}.btn-account:hover{background:var(--theme-surface-muted);border-color:var(--theme-border-strong);box-shadow:var(--theme-shadow-sm)}.btn-lang-select .header-lang-current{min-width:1.7rem;text-align:center;letter-spacing:.04em}.dropdown-menu{border-radius:var(--theme-radius-lg);border:1px solid var(--theme-border);box-shadow:var(--theme-shadow-lg);padding:.5rem;background:var(--theme-surface)}.dropdown-item{border-radius:var(--theme-radius-md);padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--theme-text)}.dropdown-item:hover{background:var(--theme-surface-muted);color:var(--theme-primary-dark)}.dropdown-divider{border-color:var(--theme-border)}.hero{background:linear-gradient(135deg,var(--theme-hero-overlay-start) 0,var(--theme-hero-overlay-mid) 50%,var(--theme-hero-overlay-end) 100%),var(--theme-hero-image);border-radius:var(--theme-radius-xl);color:var(--theme-hero-on-image);overflow:hidden;box-shadow:var(--theme-shadow-xl);position:relative;background-position:center;background-size:cover;background-repeat:no-repeat}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,var(--theme-hero-overlay-spot),transparent 70%);pointer-events:none}.hero .overlay-content{position:relative;z-index:1;padding:3.5rem}.hero-title{font-family:var(--theme-font-display);font-size:2.5rem;font-weight:600;letter-spacing:-.03em;color:var(--theme-hero-on-image);text-shadow:var(--theme-hero-title-shadow)}.hero-subtitle{font-size:1.125rem;opacity:.95;font-weight:400;text-shadow:var(--theme-hero-subtitle-shadow)}.btn-hero{background:linear-gradient(135deg,var(--theme-hero-button-bg-start) 0,var(--theme-hero-button-bg-end) 100%);border:1px solid var(--theme-hero-button-border);color:var(--theme-primary-dark);font-weight:700;box-shadow:var(--theme-hero-button-shadow),inset 0 1px 0 var(--theme-hero-button-highlight);border-radius:var(--theme-radius-lg)}.btn-hero:hover{color:var(--theme-primary-dark)}.info-card{background:var(--theme-info-card-bg);backdrop-filter:blur(12px);border-radius:var(--theme-radius-lg);padding:1.75rem;border:1px solid var(--theme-info-card-border);box-shadow:var(--theme-info-card-shadow)}.info-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-weight:600}.info-value{font-size:.9375rem;font-weight:500}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:1050;background:var(--theme-mobile-nav-bg);backdrop-filter:blur(16px) saturate(180%);border-top:1px solid var(--theme-border);box-shadow:var(--theme-mobile-nav-shadow);padding:.5rem 0}.btn-mobile-nav{border:none;background:0 0;color:var(--theme-text-muted);padding:.75rem .5rem;font-size:.75rem;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border-radius:var(--theme-radius-md);transition:var(--theme-transition)}.btn-mobile-nav.menu-item.is-active,.btn-mobile-nav:hover{background:var(--theme-surface-muted);color:var(--theme-primary-dark)}.btn-mobile-nav i{font-size:1rem;opacity:.82}.btn-mobile-nav.menu-item.is-active i,.btn-mobile-nav:hover i{opacity:1}.mobile-lang-menu{min-width:14rem}@media (min-width:992px){.desktop-nav{display:flex!important}.mobile-nav{display:none!important}}@media (max-width:991.98px){.hero .overlay-content{padding:2rem}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:1rem}.home-heavy{display:none}}@media (max-width:575.98px){.brand-name{font-size:1.125rem}.hero .overlay-content{padding:1.5rem}}.modal .modal-content{box-shadow:-8px 12px 18px 0 rgba(25,42,70,.13);border:3px solid #d0d7ef;border-radius:1rem}.bs-fixed-alert-modal .modal-dialog{max-width:var(--fixed-alert-max-width)}.bs-fixed-alert-content{background:var(--fixed-alert-bg);border:2px solid var(--fixed-alert-border);border-radius:var(--fixed-alert-radius);box-shadow:var(--fixed-alert-shadow);color:var(--fixed-alert-text)}.bs-fixed-alert-header{border-bottom:0;padding:.8rem .9rem 0;justify-content:flex-end}.bs-fixed-alert-close{border:0;background:0 0;color:var(--fixed-alert-close);font-size:1.7rem;line-height:1;width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:color .2s,background-color .2s}.bs-fixed-alert-close:focus,.bs-fixed-alert-close:hover{color:var(--fixed-alert-close-hover);background:var(--fixed-alert-close-bg-hover)}.bs-fixed-alert-body{min-height:6.25rem;padding:.1rem 1.5rem 1.5rem;text-align:center}.bs-fixed-alert-title{font-size:1.85rem;line-height:1.2;font-weight:700;color:var(--fixed-alert-title);margin-bottom:.8rem}.bs-fixed-alert-text{font-size:.9rem;line-height:1.35;font-weight:400;color:var(--fixed-alert-text)}.bs-fixed-alert-actions{margin-top:1.4rem}.bs-fixed-alert-content--danger{border-color:var(--fixed-alert-border-danger)}.bs-fixed-alert-content--info{border-color:var(--fixed-alert-border-info)}.bs-fixed-alert-content--warning{border-color:var(--fixed-alert-border-warning)}.bs-fixed-alert-content--success{border-color:var(--fixed-alert-border-success)}.bs-fixed-alert-content--neutral{border-color:var(--fixed-alert-border)}@media (max-width:575.98px){.bs-fixed-alert-body{padding-left:1rem;padding-right:1rem}.bs-fixed-alert-title{font-size:1.55rem}.bs-fixed-alert-text{font-size:.9rem}}