.op-product,:root:has(.op-product){--t-caption:11px;--t-caption-lh:14px;--t-meta:12px;--t-meta-lh:16px;--t-small:13px;--t-small-lh:18px;--t-body:14px;--t-body-lh:20px;--t-body-lg:15px;--t-body-lg-lh:22px;--t-title:16px;--t-title-lh:22px;--t-heading:20px;--t-heading-lh:26px;--t-page:24px;--t-page-lh:30px;--t-display:30px;--t-display-lh:36px;--t-hero:40px;--t-hero-lh:46px;--action:#0f172a;--action-hover:#1e293b;--on-action:#fff;--accent:#0f172a;--accent-fg:#0f172a;--accent-hover:#334155;--accent-subtle:#f1f5f9;--accent-border:#e2e8f0;--swipe-neutral:#e5e7eb;--shadow-card:inset 0 0 0 1px #e9eef4,0 1px 6px rgba(15,23,42,.04);--chat-card-radius:22px;--card-time-1:#ff453a;--card-time-2:#d92d20;--card-money-1:#8fec2c;--card-money-2:#03b08b;--card-place-1:#00c7be;--card-place-2:#00a89f;--card-photos-1:#ff375f;--card-photos-2:#d81b4f;--card-service-1:#ff9f0a;--card-service-2:#ea6c00;--card-neutral-1:#64748b;--card-neutral-2:#475569;--card-glyph-light:#fff;--card-glyph-dark:#0f172a}.op-icard-wrap{width:100%;max-width:440px}.op-icard-wrap:has(.op-icard-wide){max-width:560px}.op-icard{border-radius:var(--chat-card-radius);padding:16px;box-sizing:border-box;width:100%;min-width:0}.op-icard-bare{padding:0}.op-icard-bare .op-icard-head{padding:0 2px}.op-icard-head{display:flex;align-items:center;gap:10px;min-width:0}.op-icard-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:600;color:var(--fg-secondary)}.op-icard-meta{flex-shrink:0;font-size:var(--t-meta);line-height:var(--t-meta-lh);color:var(--fg-muted)}.op-icard-tile{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.28),inset 0 0 0 1px rgba(15,23,42,.06)}.op-icard-tile-time{background:linear-gradient(135deg,var(--card-time-1),var(--card-time-2));color:var(--card-glyph-light)}.op-icard-tile-money{background:linear-gradient(135deg,var(--card-money-1),var(--card-money-2));color:var(--card-glyph-dark)}.op-icard-tile-place{background:linear-gradient(135deg,var(--card-place-1),var(--card-place-2));color:var(--card-glyph-dark)}.op-icard-tile-photos{background:linear-gradient(135deg,var(--card-photos-1),var(--card-photos-2));color:var(--card-glyph-light)}.op-icard-tile-service{background:linear-gradient(135deg,var(--card-service-1),var(--card-service-2));color:var(--card-glyph-dark)}.op-icard-tile-neutral{background:linear-gradient(135deg,var(--card-neutral-1),var(--card-neutral-2));color:var(--card-glyph-light)}.op-icard-tile-page{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border),0 1px 2px rgba(15,23,42,.06)}.op-icard-page-band{fill:var(--card-time-2)}.op-icard-page-weekday{fill:var(--card-glyph-light);font:700 7.5px/1 Inter,system-ui,sans-serif;letter-spacing:.02em}.op-icard-page-day{fill:var(--fg);font:600 15px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.op-icard-hero{margin-top:12px;font-size:var(--t-page);line-height:var(--t-page-lh);font-weight:700;letter-spacing:-.02em;color:var(--fg);text-wrap:balance}.op-icard-herosub{margin-top:2px;font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--fg-muted)}.op-icard-status{margin-top:10px}.op-icard-map{display:block;width:100%;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;margin-top:12px;border-radius:12px;background:var(--surface-sunken)}.op-icard-days{display:flex;gap:6px;margin-top:14px;overflow-x:auto;scrollbar-width:none;padding:2px;margin-left:-2px;margin-right:-2px}.op-icard-days::-webkit-scrollbar{display:none}.op-icard-days.op-icard-days-wrap{flex-wrap:wrap;overflow:visible}.op-icard-days.op-icard-days-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.op-icard-days.op-icard-days-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}.op-icard-days.op-icard-days-l.op-icard-days-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}.op-icard-day{flex:0 0 auto;width:48px;min-height:56px;border:none;border-radius:12px;background:var(--surface-sunken);color:var(--fg);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.op-icard-day-wk{font-size:var(--t-caption);line-height:var(--t-caption-lh);font-weight:600;color:var(--fg-muted)}.op-icard-day-num{font-size:var(--t-title);line-height:var(--t-title-lh);font-weight:600;font-variant-numeric:tabular-nums}.op-icard-day[aria-pressed=true]{background:var(--action);color:var(--on-action)}.op-icard-day[aria-pressed=true] .op-icard-day-wk{color:var(--on-action)}.op-icard-day:disabled{background:transparent;color:var(--fg-subtle);cursor:default}.op-icard-day:disabled .op-icard-day-wk{color:var(--fg-subtle)}.op-icard-day[aria-pressed=true]:disabled{background:var(--action);color:var(--on-action)}.op-icard-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.op-icard-field-label{font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:600;color:var(--fg-secondary)}.op-icard-input{width:100%;box-sizing:border-box}.op-icard-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:12px}.op-icard-choice{min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--slate-300);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-body);font-weight:500;cursor:pointer}.op-icard-choice:hover:not(:disabled){background:var(--surface-subtle)}.op-icard-choice[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--on-action)}.op-icard-choice:disabled{cursor:default;background:var(--surface-sunken);border-color:transparent;color:var(--fg-muted)}.op-icard-choice[aria-pressed=true]:disabled{background:var(--action);color:var(--on-action)}.op-icard-media{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.op-icard-media-item{position:relative;aspect-ratio:1;padding:0;border:none;border-radius:12px;overflow:hidden;background:var(--surface-sunken);cursor:pointer}.op-icard-media-item:disabled{cursor:default}.op-icard-media-item img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.op-icard-media-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.45);color:var(--on-action);font-size:var(--t-heading);font-weight:600}.op-icard-offering{margin-top:12px}.op-icard-offerings{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.op-icard-offerings::-webkit-scrollbar{display:none}.op-icard-offerings .op-icard-offering-item{flex:0 0 min(240px,82%);scroll-snap-align:start}.op-icard-rows{margin:12px 0 0;padding:0}.op-icard-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:var(--t-body);line-height:var(--t-body-lh);box-shadow:inset 0 1px 0 var(--border)}.op-icard-row dt{color:var(--fg-muted);flex-shrink:0}.op-icard-row dd{margin:0;color:var(--fg);text-align:right;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.op-icard-disclose{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-top:4px;padding:0;border:none;background:none;font:inherit;font-size:var(--t-small);font-weight:600;color:var(--fg);cursor:pointer}.op-icard-disclose svg{transition:transform .15s}.op-icard-disclose-open{transform:rotate(180deg)}.op-icard-breakdown{margin-top:0}.op-icard-note{margin:12px 0 0;font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--fg-muted)}.op-icard-receipt{margin:10px 0 0;display:flex;align-items:flex-start;gap:6px;font-size:var(--t-body);line-height:var(--t-body-lh);font-weight:600;color:var(--fg)}.op-icard-receipt>svg{flex-shrink:0;margin-top:3px;color:var(--fg)}.op-icard-error{margin:8px 0 0;padding-left:2px;font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--danger-fg)}.op-icard-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}@media (prefers-reduced-motion:no-preference){.op-icard-choice:active:not(:disabled),.op-icard-day:active:not(:disabled){transform:scale(.97)}}.op-section-title{margin:0;font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg-secondary)}.op-link{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--slate-300);text-underline-offset:3px;text-decoration-thickness:1px;background:none;border:0;padding:0;font-family:inherit;font-size:inherit;cursor:pointer}.op-link:hover{text-decoration-color:currentColor}.op-link-standalone{text-decoration-color:transparent}.op-link-standalone:focus-visible{text-decoration-color:currentColor}.op-sms-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.op-t-caption{font-size:var(--t-caption);line-height:var(--t-caption-lh)}.op-t-meta{font-size:var(--t-meta);line-height:var(--t-meta-lh)}.op-t-small{font-size:var(--t-small);line-height:var(--t-small-lh)}.op-t-body{font-size:var(--t-body);line-height:var(--t-body-lh)}.op-t-body-lg{font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh)}.op-t-title{font-size:var(--t-title);line-height:var(--t-title-lh);font-weight:600;letter-spacing:-.01em}.op-t-heading{font-size:var(--t-heading);line-height:var(--t-heading-lh);font-weight:700;letter-spacing:-.01em}.op-t-page{font-size:var(--t-page);line-height:var(--t-page-lh);font-weight:700;letter-spacing:-.02em}.op-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap;text-decoration:none;cursor:pointer;flex-shrink:0;transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}.op-btn-sm{height:36px;padding:0 14px;font-size:13px}.op-btn-md{height:40px;padding:0 18px;font-size:14px}.op-btn-lg{height:48px;padding:0 22px;font-size:15px}.op-btn-xl{height:56px;padding:0 26px;font-size:16px}.op-btn-block{width:100%}.op-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-btn:disabled,.op-btn[aria-disabled=true]{background:var(--slate-100)!important;background-image:none!important;border-color:var(--slate-200)!important;color:var(--fg-muted)!important;cursor:not-allowed;box-shadow:none!important;filter:none!important}.op-btn-primary{background:var(--action);border-color:var(--action);color:var(--on-action)}.op-btn-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.op-btn.op-btn-money{color:var(--fg-on-brand);border-color:transparent;background-origin:border-box}.op-btn-secondary{background:#fff;border-color:var(--slate-300);color:var(--fg)}.op-btn-secondary:hover:not(:disabled){background:rgba(15,23,42,.05);border-color:var(--slate-400)}.op-btn-ghost{background:transparent;color:var(--fg-secondary)}.op-btn-ghost:hover:not(:disabled){background:rgba(15,23,42,.05);color:var(--fg)}.op-btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.op-btn-danger:hover:not(:disabled){background:var(--danger-fg);border-color:var(--danger-fg)}.op-btn-danger-outline{background:#fff;border-color:#fca5a5;color:var(--danger-fg)}.op-btn-danger-outline:hover:not(:disabled){background:var(--danger-subtle)}.op-btn-danger-text,.op-btn-link{height:auto;min-height:36px;padding:0 2px;border:none;background:none}.op-btn-danger-text{color:var(--danger-fg)}.op-btn-link{color:var(--fg);text-decoration:underline;text-decoration-color:var(--slate-300);text-underline-offset:3px}.op-btn-danger-text:hover:not(:disabled),.op-btn-link:hover:not(:disabled){text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}.op-btn-danger-text:disabled,.op-btn-link:disabled{background:none!important}.op-ibtn{box-sizing:border-box;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--fg-muted);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.op-ibtn-sm{width:30px;height:30px}.op-ibtn:hover:not(:disabled){background:rgba(15,23,42,.06);color:var(--fg)}.op-ibtn-outline{background:#fff;border-color:var(--slate-300)}.op-ibtn-filled{background:var(--action);color:var(--on-action)}.op-ibtn-filled:hover:not(:disabled){background:var(--action-hover);color:var(--on-action)}.op-ibtn-outline:hover:not(:disabled){background:rgba(15,23,42,.05);border-color:var(--slate-400)}.op-ibtn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-ibtn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:819px){.op-btn-md,.op-btn-sm{height:44px;font-size:15px}.op-ibtn,.op-ibtn-sm{width:44px;height:44px}}.op-tag{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:var(--t-meta);font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap;background:var(--slate-100);color:var(--fg-secondary)}.op-tag-wrap{height:auto;min-height:22px;padding-block:3px;white-space:normal;line-height:16px}.op-tag-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0;background:var(--slate-500)}.op-tag-muted{color:var(--fg-muted)}.op-tag-muted .op-tag-dot{background:var(--slate-400)}.op-tag-success{background:var(--success-subtle);color:var(--success-fg)}.op-tag-success .op-tag-dot{background:var(--success)}.op-tag-warning{background:var(--warning-subtle);color:var(--warning-fg)}.op-tag-warning .op-tag-dot{background:var(--warning)}.op-tag-danger{background:var(--danger-subtle);color:var(--danger-fg)}.op-tag-danger .op-tag-dot{background:var(--danger)}.op-tag-live{background:var(--success-subtle);color:var(--success-fg)}.op-tag-live .op-tag-dot{background:#36d060}.op-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;flex-shrink:0;border-radius:999px;border:1px solid var(--slate-300);background:#fff;color:var(--fg-secondary);font:inherit;font-size:var(--t-small);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.op-chip:hover:not(:disabled):not([aria-pressed=true]){background:rgba(15,23,42,.05);border-color:var(--slate-400);color:var(--fg)}.op-chip[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--on-action)}.op-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-chip:disabled{opacity:.5;cursor:not-allowed}.op-chip-count{font-variant-numeric:tabular-nums;color:var(--fg-muted)}.op-chip[aria-pressed=true] .op-chip-count{color:hsla(0,0%,100%,.78)}@media (max-width:819px){.op-chip{height:40px;padding:0 14px;font-size:14px}}.op-card-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.op-card-title{margin:0;font-size:var(--t-title);line-height:var(--t-title-lh);font-weight:600;letter-spacing:-.01em;color:var(--fg)}.op-card-desc{margin:2px 0 0;font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--fg-muted)}.op-swipe-tray{position:absolute;inset:0 0 0 auto;display:flex;align-items:center}.op-btn.op-swipe-action{height:100%;min-height:64px;padding:8px 0;border:0;border-radius:12px}.op-btn.op-swipe-action,.op-btn.op-swipe-action:hover:not(:disabled){background:transparent;color:var(--fg-secondary)}.op-swipe-circle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--swipe-neutral);color:var(--fg-secondary)}.op-swipe-action:focus-visible .op-swipe-circle,.op-swipe-action:hover .op-swipe-circle{background:var(--slate-300)}.op-swipe-content{border-radius:0}.op-swipe-content-open{border-radius:0 16px 16px 0;overflow:hidden}.op-swipe-content-open:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--slate-900);opacity:.08}