.portal-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--portal-surface);border-bottom:1px solid var(--portal-border);transition:box-shadow var(--portal-transition)}.portal-header__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.portal-header__brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:1.125rem;color:var(--portal-text)}.portal-header__logo{width:auto}.portal-header__logo,.portal-header__logo-text{height:36px;border-radius:var(--portal-radius-sm)}.portal-header__logo-text{display:flex;align-items:center;justify-content:center;width:36px;background:var(--portal-primary);color:var(--portal-primary-contrast);font-size:1.125rem;font-weight:700}.portal-header__nav{display:flex;align-items:center;gap:8px}.portal-header__link{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--portal-radius-md);font-weight:500;font-size:.9375rem;line-height:1;color:var(--portal-text-secondary);transition:all var(--portal-transition)}.portal-header__link--active,.portal-header__link:hover{color:var(--portal-primary);background:var(--portal-primary-light)}.portal-header__actions{display:flex;align-items:center;gap:8px;margin-left:8px}.portal-header__locale{position:relative;display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 12px;border-radius:var(--portal-radius-sm);font-size:.8125rem;font-weight:600;color:var(--portal-muted);border:1px solid var(--portal-border);transition:all var(--portal-transition);cursor:pointer}.portal-header__locale:after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid;opacity:.7}.portal-header__locale:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.portal-header__locale-select{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;cursor:pointer;font-size:1rem}.portal-header__locale-code{pointer-events:none}.portal-header__auth{display:inline-flex;padding:0 20px;font-size:.875rem}.portal-header__auth,.portal-header__hamburger{align-items:center;justify-content:center;height:40px}.portal-header__hamburger{display:none;width:40px;border-radius:var(--portal-radius-sm)}.portal-header__hamburger-line,.portal-header__hamburger-line:after,.portal-header__hamburger-line:before{display:block;width:22px;height:2px;background:var(--portal-text);border-radius:1px;transition:all var(--portal-transition);position:relative}.portal-header__hamburger-line:after,.portal-header__hamburger-line:before{content:"";position:absolute;left:0}.portal-header__hamburger-line:before{top:-7px}.portal-header__hamburger-line:after{top:7px}.portal-header__hamburger-line--open{background:transparent}.portal-header__hamburger-line--open:before{top:0;transform:rotate(45deg)}.portal-header__hamburger-line--open:after{top:0;transform:rotate(-45deg)}.portal-header__overlay{display:none}@media (max-width:767px){.portal-header__hamburger{display:flex}.portal-header__nav{position:fixed;top:64px;right:-300px;width:280px;height:calc(100vh - 64px);background:var(--portal-surface);flex-direction:column;align-items:stretch;padding:24px;gap:8px;transition:right .3s ease;box-shadow:var(--portal-shadow-lg);z-index:200}.portal-header__nav--open{right:0}.portal-header__actions{margin-left:0;margin-top:16px;padding-top:16px;border-top:1px solid var(--portal-border);flex-direction:column}.portal-header__auth{width:100%}.portal-header__overlay{display:block;position:fixed;inset:64px 0 0;background:rgba(0,0,0,.3);z-index:150}}.portal-footer{background:var(--portal-text);color:rgba(255,255,255,.85);padding:48px 0 0}.portal-footer__inner{display:grid;grid-gap:32px;gap:32px;grid-template-columns:1fr;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}@media (min-width:768px){.portal-footer__inner{grid-template-columns:1.5fr 1fr 1fr}}.portal-footer__name{color:#fff;font-size:1.25rem;margin-bottom:8px}.portal-footer__tagline{color:rgba(255,255,255,.6);font-size:.9375rem}.portal-footer__desc{margin-top:10px;max-width:38ch;color:rgba(255,255,255,.5);font-size:.875rem;line-height:1.5}.portal-footer__item{margin-bottom:12px;font-size:.9375rem}.portal-footer__item a{color:rgba(255,255,255,.85);transition:color var(--portal-transition)}.portal-footer__item a:hover{color:var(--portal-primary-light)}.portal-footer__label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.5);margin-bottom:4px}.portal-footer__social-links{display:flex;gap:12px;margin-top:8px}.portal-footer__social-link{padding:6px 14px;border:1px solid rgba(255,255,255,.2);border-radius:var(--portal-radius-sm);font-size:.8125rem;text-transform:capitalize;transition:all var(--portal-transition)}.portal-footer__social-link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}.portal-footer__cta{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px 26px;text-align:center;text-decoration:none;border-top:1px solid rgba(255,255,255,.08);transition:opacity .15s ease}.portal-footer__cta:hover{opacity:.92}.portal-footer__cta-text{color:rgba(255,255,255,.6);font-size:.9rem;font-weight:600;max-width:460px}.brand__name--footer{font-size:1.5rem;font-weight:850;letter-spacing:-.045em;line-height:1;color:#fff;white-space:nowrap}.brand__name--footer .brand__dot,.brand__name--footer .brand__pro{color:#4f7cff}.brand__name--footer .brand__o{position:relative;display:inline-grid;place-items:center;width:1.05em;height:1.05em;margin-right:-.04em;color:transparent;vertical-align:-.06em}.brand__name--footer .brand__o:before{content:"";width:.78em;height:.78em;border:.13em solid #4f7cff;border-radius:999px;box-sizing:border-box}.brand__name--footer .brand__o:after{content:"";position:absolute;width:.24em;height:.24em;right:.08em;top:.1em;border-radius:999px;background:#4f7cff;box-shadow:0 0 0 .12em var(--portal-text,#171728)}.portal-hero{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:50%;overflow:hidden}@media (min-width:768px){.portal-hero{min-height:500px;background-attachment:fixed}}.portal-hero--gradient{background:linear-gradient(135deg,var(--portal-primary-dark) 0,var(--portal-primary) 50%,var(--portal-accent) 100%)}.portal-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.6))}.portal-hero--gradient .portal-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.25))}.portal-hero__content{position:relative;z-index:1;text-align:center;padding:48px 16px}.portal-hero__logo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 20px;border:3px solid rgba(255,255,255,.8);box-shadow:var(--portal-shadow-lg)}@media (min-width:768px){.portal-hero__logo{width:100px;height:100px}}.portal-hero__title{color:#fff;font-size:2.25rem;margin-bottom:12px;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media (min-width:768px){.portal-hero__title{font-size:3rem}}@media (min-width:1024px){.portal-hero__title{font-size:3.5rem}}.portal-hero__tagline{color:rgba(255,255,255,.9);font-size:1.125rem;margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto}@media (min-width:768px){.portal-hero__tagline{font-size:1.25rem}}.portal-hero__cta{font-size:1.125rem;padding:16px 40px}@media (max-width:767px){.portal-hero__cta{width:100%;max-width:320px}}.portal-service-card{background:var(--portal-surface);border:2px solid var(--portal-border);border-radius:var(--portal-radius-lg);padding:24px;position:relative;transition:all var(--portal-transition);cursor:pointer}.portal-service-card:hover{border-color:var(--portal-primary-light);box-shadow:var(--portal-shadow-md);transform:translateY(-2px)}.portal-service-card--selected{border-color:var(--portal-primary);background:linear-gradient(135deg,rgba(37,99,235,.03),rgba(139,92,246,.03))}.portal-service-card__category{display:inline-block;padding:4px 12px;background:var(--portal-primary-light);color:var(--portal-primary-dark);border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}.portal-service-card__name{font-size:1.125rem;margin-bottom:8px;color:var(--portal-text)}.portal-service-card__meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}.portal-service-card__duration{font-size:.9375rem;color:var(--portal-muted)}.portal-service-card__price{font-size:1rem;font-weight:700;color:var(--portal-text)}.portal-service-card__badge-today{position:absolute;top:12px;right:12px;background:var(--portal-success);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:4px}.portal-service-card__desc{margin-bottom:16px;max-height:48px;overflow:hidden;transition:max-height .3s ease}.portal-service-card__desc--open{max-height:500px}.portal-service-card__desc p{font-size:.875rem;color:var(--portal-text-secondary);line-height:1.5;margin:0}.portal-service-card__expand{background:none;border:none;padding:0;margin-top:4px;font-size:.8125rem;color:var(--portal-primary);font-weight:500;cursor:pointer}.portal-service-card__expand:hover{text-decoration:underline}.portal-service-card__btn{width:100%;padding:10px 20px;font-size:.9375rem}.portal-service-card__check{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--portal-primary);color:var(--portal-primary-contrast);border-radius:50%;font-size:.875rem}.portal-service-list__empty{text-align:center;padding:48px 16px;color:var(--portal-muted);font-size:1.1rem}.portal-service-list__filters{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.portal-service-list__filter{padding:8px 20px;border-radius:24px;font-size:.875rem;font-weight:500;white-space:nowrap;background:var(--portal-surface);color:var(--portal-text-secondary);border:1px solid var(--portal-border);transition:all var(--portal-transition)}.portal-service-list__filter:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.portal-service-list__filter--active{background:var(--portal-primary);color:var(--portal-primary-contrast);border-color:var(--portal-primary)}.portal-spinner{border:3px solid var(--portal-border);border-top-color:var(--portal-primary);border-radius:50%;animation:portal-spin .7s linear infinite}.portal-timeslot__days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.portal-timeslot__day{flex-shrink:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 18px;border-radius:var(--portal-radius-md,var(--radius,10px));font-size:.875rem;font-weight:500;background:var(--portal-surface,var(--surface,#fff));color:var(--portal-text-secondary,var(--text-secondary,var(--muted,#64748b)));border:1px solid var(--portal-border,var(--border,#e2e8f0));transition:border-color .15s ease,background .15s ease,color .15s ease;white-space:nowrap;min-height:48px;cursor:pointer}.portal-timeslot__day:hover{border-color:var(--portal-primary,var(--primary,#16a34a));color:var(--portal-primary,var(--primary,#16a34a))}.portal-timeslot__day--selected,.portal-timeslot__day--selected:hover{background:var(--portal-primary,var(--primary,#16a34a));color:var(--portal-primary-contrast,#fff);border-color:var(--portal-primary,var(--primary,#16a34a))}.portal-timeslot__day--closed{background:var(--portal-neutral-100,#f1f5f9);color:var(--portal-muted,var(--muted,#64748b));border-style:dashed;cursor:not-allowed;opacity:.85}.portal-timeslot__day--closed:hover{border-color:var(--portal-border,var(--border,#e2e8f0));color:var(--portal-muted,var(--muted,#64748b))}.portal-timeslot__day--closedSel{border-style:dashed}.portal-timeslot__dayClosed{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--portal-danger,var(--danger,#dc2626))}.portal-timeslot__dayInput{position:relative}.portal-timeslot__dayInputNative{position:absolute;inset:0;opacity:0;cursor:pointer}.portal-timeslot__slots{min-height:120px}.portal-timeslot__grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.portal-timeslot__slot{flex:1 0 auto;min-width:104px;padding:12px 8px;border-radius:var(--portal-radius-md,var(--radius,10px));font-size:.9375rem;font-weight:500;background:var(--portal-surface,var(--surface,#fff));color:var(--portal-text,var(--text,#0f172a));border:1px solid var(--portal-border,var(--border,#e2e8f0));transition:border-color .15s ease,background .15s ease,color .15s ease;min-height:48px;cursor:pointer}.portal-timeslot__slot:hover{border-color:var(--portal-primary,var(--primary,#16a34a));background:var(--portal-primary-light,var(--primary-light,#f0fdf4));color:var(--portal-primary-dark,var(--primary,#15803d))}.portal-timeslot__slot--selected,.portal-timeslot__slot--selected:hover{background:var(--portal-primary,var(--primary,#16a34a));color:var(--portal-primary-contrast,#fff);border-color:var(--portal-primary,var(--primary,#16a34a))}.portal-timeslot__turn{display:block;margin-bottom:2px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.portal-timeslot__time{display:block}.portal-timeslot__slot--full{border-style:dashed;color:var(--portal-text-muted,var(--muted,#6b7280))}.portal-timeslot__loading{display:flex;justify-content:center;padding:32px}.portal-timeslot__empty{text-align:center;padding:32px 16px;color:var(--portal-muted,var(--muted,#64748b))}.portal-timeslot__avail{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.5}.portal-timeslot__avail--high{background:#dcfce7;color:#15803d}.portal-timeslot__avail--med{background:#fef3c7;color:#b45309}.portal-timeslot__avail--low{background:#fee2e2;color:#b91c1c}.portal-timeslot__avail--full{background:var(--portal-border,var(--border,#e5e7eb));color:var(--portal-muted,var(--muted,#64748b))}.portal-timeslot__avail--count{background:var(--portal-border,var(--border,#eef2f7));color:var(--portal-text,var(--text,#334155));font-weight:600}.portal-timeslot__slot--selected .portal-timeslot__avail{background:rgba(255,255,255,.85);color:var(--portal-text,var(--text,#0f172a))}.partySize{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.partySize__btn,.partySize__input{min-width:52px;height:52px;border-radius:12px;border:1px solid var(--portal-border,var(--border,#e2e8f0));background:var(--portal-surface,var(--surface,#fff));font-size:1.0625rem;font-weight:600;color:var(--portal-text,var(--text,#0f172a));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease,background .15s ease,color .15s ease}.partySize__btn.is-active,.partySize__btn:hover{border-color:var(--portal-primary,var(--primary,#16a34a))}.partySize__btn.is-active{background:var(--portal-primary,var(--primary,#16a34a));color:#fff}.partySize__input{width:76px;text-align:center;padding:0 8px}.partySize__input.is-active{border-color:var(--portal-primary,var(--primary,#16a34a));color:var(--portal-primary,var(--primary,#16a34a))}.partySize__note{margin:10px 0 0;font-size:.8125rem;color:var(--portal-muted,var(--muted,#64748b));line-height:1.4}.portal-stepper{display:flex;align-items:flex-start;justify-content:center;gap:0;padding:16px 0 32px}.portal-stepper__item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1;max-width:160px}.portal-stepper__line{position:absolute;top:18px;right:50%;width:100%;height:2px;background:var(--portal-border);z-index:0}.portal-stepper__line--completed{background:var(--portal-primary)}.portal-stepper__circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;border:2px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-muted);position:relative;z-index:1;transition:all var(--portal-transition)}.portal-stepper__circle--active{box-shadow:0 0 0 4px var(--portal-primary-light)}.portal-stepper__circle--active,.portal-stepper__circle--completed{border-color:var(--portal-primary);background:var(--portal-primary);color:var(--portal-primary-contrast)}.portal-stepper__label{margin-top:8px;font-size:.75rem;color:var(--portal-muted);text-align:center;font-weight:500}.portal-stepper__label--active{color:var(--portal-primary);font-weight:600}.portal-stepper__label--completed{color:var(--portal-text-secondary)}@media (max-width:767px){.portal-stepper__label{display:none}.portal-stepper__label--active{display:block}}.portal-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;letter-spacing:.02em}.portal-status-badge--blue{background:#dbeafe;color:#1d4ed8}.portal-status-badge--green{background:#d1fae5;color:#047857}.portal-status-badge--purple{background:#ede9fe;color:#6d28d9}.portal-status-badge--gray{background:#f3f4f6;color:#4b5563}.portal-status-badge--red{background:#fee2e2;color:#b91c1c}.portal-status-badge--orange{background:#ffedd5;color:#c2410c}.portal-status-badge--yellow{background:#fef9c3;color:#a16207}.portal-apt-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);overflow:hidden;transition:all var(--portal-transition)}.portal-apt-card:hover{box-shadow:var(--portal-shadow-sm)}.portal-apt-card--past{opacity:.7}.portal-apt-card__header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;cursor:pointer;gap:12px}.portal-apt-card__service{font-size:1rem;font-weight:600;margin-bottom:4px}.portal-apt-card__datetime{font-size:.9375rem;color:var(--portal-text-secondary);margin-bottom:2px}.portal-apt-card__location{font-size:.8125rem;color:var(--portal-muted)}.portal-apt-card__details{border-top:1px solid var(--portal-border);margin-top:-4px;padding:16px 20px}.portal-apt-card__notes{font-size:.9375rem;color:var(--portal-text-secondary);margin-bottom:8px}.portal-apt-card__code{font-size:.875rem;color:var(--portal-muted)}.portal-apt-card__code strong{color:var(--portal-primary);font-family:monospace;letter-spacing:.05em}.portal-apt-card__actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 20px;align-items:center}.portal-apt-card__action{flex:1 1;padding:8px 16px;font-size:.875rem;min-height:40px}.portal-apt-card__action-sm{padding:5px 14px;font-size:.75rem;min-height:auto;border-radius:var(--portal-radius-sm);opacity:.8;flex:0 0 auto}.portal-apt-card__action-sm:hover{opacity:1}.portal-modal__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:portal-fadeIn .2s ease}.portal-modal__dialog{background:var(--portal-surface);border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:portal-fadeIn .25s ease}@media (max-width:767px){.portal-modal__backdrop{align-items:flex-end;padding:0}.portal-modal__dialog{border-radius:var(--portal-radius-lg) var(--portal-radius-lg) 0 0;max-width:100%;max-height:85vh;animation:portal-slideUp .3s ease}}@keyframes portal-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.portal-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.portal-modal__title{font-size:1.25rem;font-weight:600}.portal-modal__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--portal-muted);border-radius:var(--portal-radius-sm);transition:all var(--portal-transition)}.portal-modal__close:hover{background:var(--portal-bg);color:var(--portal-text)}.portal-modal__body{padding:20px 24px}.portal-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 20px}.portal-phone{display:flex;border:1px solid var(--portal-border,var(--border,#e2e8f0));border-radius:var(--portal-radius-md,var(--radius,8px));overflow:visible;position:relative;background:var(--portal-surface,var(--surface,#fff));transition:border-color var(--portal-transition,.15s ease);min-height:48px}.portal-phone:focus-within{border-color:var(--portal-primary,var(--primary,#2563eb));box-shadow:0 0 0 3px var(--portal-primary-light,rgba(37,99,235,.15))}.portal-phone--error{border-color:var(--portal-danger,var(--danger,#dc2626))}.portal-phone--error:focus-within{box-shadow:0 0 0 3px rgba(220,38,38,.15)}.portal-phone__prefix{display:flex;align-items:center;gap:4px;padding:0 10px;border:none;background:var(--portal-bg,var(--bg,#f1f5f9));border-right:1px solid var(--portal-border,var(--border,#e2e8f0));cursor:pointer;font-size:.875rem;white-space:nowrap;border-radius:var(--portal-radius-md,var(--radius,8px)) 0 0 var(--portal-radius-md,var(--radius,8px));transition:background var(--portal-transition,.15s ease)}.portal-phone__prefix:hover{background:var(--portal-border,var(--border,#e2e8f0))}.portal-phone__flag{font-size:1.25rem;line-height:1}.portal-phone__dial{font-weight:500;color:var(--portal-text-secondary,var(--text-secondary,#475569));font-size:.8125rem}.portal-phone__arrow{font-size:.625rem;color:var(--portal-muted,var(--muted,#94a3b8));margin-left:2px}.portal-phone__input{flex:1 1;border:none;padding:12px;font-size:1rem;background:transparent;outline:none;min-width:0;color:var(--portal-text,var(--text,#1a3353))}.portal-phone__dropdown{position:absolute;top:100%;left:0;width:300px;max-height:320px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--portal-border,var(--border,#e2e8f0));border-radius:var(--portal-radius-md,var(--radius,8px));box-shadow:var(--portal-shadow-lg,0 8px 24px rgba(0,21,41,.16));z-index:50;margin-top:4px}.portal-phone__dropdown,.portal-phone__search{background:var(--portal-surface,var(--surface,#fff))}.portal-phone__search{padding:8px;border-bottom:1px solid var(--portal-border,var(--border,#e2e8f0))}.portal-phone__searchInput{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--portal-border,var(--border,#e2e8f0));border-radius:var(--portal-radius-md,var(--radius,8px));font-size:.875rem;outline:none;color:var(--portal-text,var(--text,#1a3353));background:var(--portal-bg,var(--bg,#f1f5f9))}.portal-phone__searchInput:focus{border-color:var(--portal-primary,var(--primary,#2563eb));background:var(--portal-surface,var(--surface,#fff))}.portal-phone__options{overflow-y:auto}.portal-phone__empty{padding:16px 12px;text-align:center;font-size:.8125rem;color:var(--portal-muted,var(--muted,#94a3b8))}.portal-phone__option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;font-size:.875rem;text-align:left;transition:background .1s}.portal-phone__option:hover{background:var(--portal-bg,var(--bg,#f1f5f9))}.portal-phone__option--active{background:var(--portal-primary-light,rgba(37,99,235,.12));font-weight:600}.portal-phone__optName{flex:1 1;color:var(--portal-text,var(--text,#1a3353))}.portal-phone__optDial{color:var(--portal-muted,var(--muted,#94a3b8));font-size:.8125rem}.portal-guest-form{max-width:480px}.portal-guest-form__notes{resize:vertical;min-height:80px}.portal-guest-form__login-link{text-align:center;margin-top:16px;font-size:.9375rem;color:var(--portal-muted)}.portal-guest-form__link{color:var(--portal-primary);font-weight:600;background:none;padding:0;text-decoration:underline}.portal-guest-form__link:hover{color:var(--portal-primary-dark)}.guest-form__guests{display:flex;gap:16px;margin-bottom:4px}.guest-form__guests .portal-field{flex:1 1;margin-bottom:0}.guest-form__guests-title{font-size:.9375rem;font-weight:600;margin-bottom:12px;color:var(--portal-text)}.guest-form__guests input[type=number]{text-align:center}.guest-form__capacity-hint{font-size:.8125rem;color:var(--portal-muted);margin-top:4px;margin-bottom:16px}.portal-guest-form__consent{display:flex;align-items:flex-start;gap:8px;margin:4px 0 12px;font-size:.875rem;color:var(--portal-text-secondary,#64748b);cursor:pointer;line-height:1.4}.portal-guest-form__consent input{margin-top:2px;flex-shrink:0}@keyframes portal-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.portal-skeleton{background:linear-gradient(90deg,var(--portal-border) 25%,#f0f0f0 50%,var(--portal-border) 75%);background-size:200px 100%;animation:portal-shimmer 1.5s ease-in-out infinite;margin-bottom:8px}.portal-skeleton-card{padding:24px;border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);display:flex;flex-direction:column;gap:12px}.portal-reviews{background:var(--portal-bg)}.portal-reviews__grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}@media (min-width:768px){.portal-reviews__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.portal-reviews__grid{grid-template-columns:repeat(3,1fr)}}.portal-review{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);padding:24px}.portal-review__stars{display:block;margin-bottom:12px;font-size:1.125rem}.portal-review__star--filled{color:#f59e0b}.portal-review__star--empty{color:var(--portal-border)}.portal-review__text{font-size:.9375rem;line-height:1.6;color:var(--portal-text-secondary);margin-bottom:16px;font-style:italic}.portal-review__author{display:flex;align-items:center;gap:10px}.portal-review__avatar{width:36px;height:36px;border-radius:50%;background:var(--portal-primary-light);color:var(--portal-primary-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.portal-review__name{display:block;font-weight:600;font-size:.875rem;color:var(--portal-text)}.portal-review__date{display:block;font-size:.75rem;color:var(--portal-muted)}.portal-staff__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:24px;gap:24px}.portal-staff-card{text-align:center;padding:24px 16px}.portal-staff-card__avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;overflow:hidden;background:var(--portal-primary-light);display:flex;align-items:center;justify-content:center;border:3px solid var(--portal-surface);box-shadow:var(--portal-shadow-md)}.portal-staff-card__avatar img{width:100%;height:100%;object-fit:cover}.portal-staff-card__initials{font-size:1.5rem;font-weight:700;color:var(--portal-primary-dark)}.portal-staff-card__name{font-size:1rem;margin-bottom:4px}.portal-staff-card__spec{font-size:.875rem;color:var(--portal-primary);font-weight:500;margin-bottom:8px}.portal-staff-card__bio{font-size:.8125rem;color:var(--portal-muted);line-height:1.5}.portal-hours{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);padding:20px}.portal-hours__title{font-size:1rem;margin-bottom:12px}.portal-hours__list{display:flex;flex-direction:column}.portal-hours__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--portal-bg);font-size:.9375rem}.portal-hours__row:last-child{border-bottom:none}.portal-hours__row--today{font-weight:600;color:var(--portal-primary)}.portal-hours__day{display:flex;align-items:center;gap:8px}.portal-hours__today-badge{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;background:var(--portal-primary);color:var(--portal-primary-contrast);padding:2px 6px;border-radius:4px;font-weight:700}.portal-hours__time{color:var(--portal-text-secondary);display:flex;flex-direction:column;gap:2px;text-align:right}.portal-hours__shift{white-space:nowrap}.portal-hours__shift-label{font-weight:500;color:var(--portal-muted);font-size:.8125rem}.portal-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--portal-surface);border-top:1px solid var(--portal-border);padding:4px 0 env(safe-area-inset-bottom,4px);z-index:100}@media (max-width:767px){.portal-bottom-nav{display:flex;justify-content:space-around}body{padding-bottom:64px}}.portal-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;color:var(--portal-muted);text-decoration:none;font-size:.625rem;font-weight:500;transition:color var(--portal-transition);min-width:60px}.portal-bottom-nav__item--active{color:var(--portal-primary)}.portal-bottom-nav__icon{font-size:1.25rem;line-height:1}.portal-bottom-nav__label{white-space:nowrap}.portal-breadcrumb{flex-wrap:wrap;font-size:.8125rem;margin-bottom:16px}.portal-breadcrumb,.portal-breadcrumb__item{display:flex;align-items:center;gap:2px}.portal-breadcrumb__sep{color:var(--portal-border);margin:0 4px}.portal-breadcrumb__link{color:var(--portal-muted);text-decoration:none;transition:color var(--portal-transition)}.portal-breadcrumb__link:hover{color:var(--portal-primary)}.portal-breadcrumb__current{color:var(--portal-text);font-weight:500}