/* Signed-in account workspace. Never loaded by staff or the shared menu editor. */
.owner-workspace {
    --owner-panel: #1e1b19f7;
    --owner-inset: #ffffff06;
    --owner-border: #ffffff24;
    --success: #91d6b7;
    --error: #ffb0b4;
    --public-background-shade: linear-gradient(110deg, #0c0d10a6, #0c0d10d9);
    --public-background-shade-mobile: linear-gradient(180deg, #0c0d10a6, #0c0d10dd);
}
.owner-workspace .owner-skip-link { position: fixed; z-index: 2000; top: 12px; left: 16px; padding: 14px 20px; background: #211b16; color: white; border: 1px solid white; border-radius: 10px; transform: translateY(-150%); }
.owner-workspace .owner-skip-link:focus { transform: none; }
.owner-workspace .portal-page { padding: calc(var(--public-nav-height, 90px) + 48px) 32px 64px; }
.owner-workspace .portal-shell { max-width: 1440px; margin: auto; padding: 0; min-height: 70svh; display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 40px; overflow: visible; align-items: start; }
.owner-workspace .portal-sidebar { position: sticky; top: calc(var(--public-nav-height, 90px) + 24px); max-height: calc(100svh - var(--public-nav-height, 90px) - 48px); overflow-y: auto; scrollbar-width: thin; margin: 0; padding: 26px 18px; border-radius: 18px; background: #171719eb; border: 1px solid var(--owner-border); box-shadow: 0 16px 50px #0003; backdrop-filter: none; -webkit-backdrop-filter: none; }
.owner-workspace .portal-content { padding: 0; }
.owner-workspace #user-restaurants .portal-empty { grid-column: 1 / -1; }
.owner-workspace .portal-panel { background: none; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 0; margin: 0 0 32px; }
.owner-workspace .portal-title { font-size: clamp(30px, 3vw, 40px); font-weight: 500; letter-spacing: -.035em; line-height: 1.18; text-wrap: balance; }
.owner-workspace .portal-eyebrow { letter-spacing: .14em; font-size: 10px; margin-bottom: 14px; }
.owner-workspace .portal-subtitle { line-height: 1.75; max-width: 600px; margin-top: 14px; }
.owner-workspace :is(.portal-header, .portal-panel > .portal-header:first-child) { margin-bottom: 30px; align-items: center; gap: 24px; }
.owner-workspace .portal-header > div { min-width: 0; }
.owner-workspace :is(.portal-header > .portal-button, .owner-info-save) { flex-shrink: 0; }
.owner-workspace .portal-sidebar-title { color: #aaa49e; font-size: 10px; letter-spacing: .16em; font-weight: 500; }
.owner-workspace .portal-sidebar-add { background: #ffffff0a; color: white; border: 1px solid #ffffff33; width: 32px; height: 32px; font-weight: 400; }
.owner-workspace .portal-sidebar-add:hover { background: #ffffff20; }
.owner-workspace .portal-nav-item { border: 1px solid transparent; border-radius: 9px; color: #c9c3bc; font-weight: 500; min-height: 44px; padding: 12px; line-height: 1.5; }
.owner-workspace .portal-nav-item:hover { color: white; background: #ffffff09; }
.owner-workspace .portal-nav-item.active { color: white; background: #ffffff0e; border-color: #ffffff2c; font-weight: 700; }
.owner-workspace .portal-restaurant-toggle { align-items: start; }
.owner-workspace .portal-restaurant-toggle > span:first-child { overflow-wrap: anywhere; }
.owner-workspace .portal-feature-list { margin: 8px 0 8px 12px; padding-left: 12px; border-left: 1px solid #ffffff22; }
.owner-workspace .portal-feature-item { font-size: 12px; }
.owner-workspace :is(.portal-mini-card, .portal-profile-card, .owner-dialog, .account-plan-card, .owner-plan-card, .portal-empty) { background: var(--owner-panel); border: 1px solid var(--owner-border); border-radius: 16px; box-shadow: 0 12px 36px #0002, inset 0 1px #ffffff05; padding: 26px; }
.owner-workspace :is(.portal-profile-card + .portal-profile-card, .owner-menu-bottom-grid, .owner-stats-main-grid, .owner-plan-section) { margin-top: 24px; }
.owner-workspace :is(.portal-profile-section-header h2, .portal-mini-card h3, .owner-plan-card h3, .account-plan-card h3) { font-size: 18px; line-height: 1.45; }
.owner-workspace .portal-profile-section-header { gap: 14px; margin-bottom: 12px; }
.owner-workspace .portal-profile-form { gap: 22px; }
.owner-workspace .portal-form-row { gap: 22px; }
.owner-workspace .auth-label { font-size: 12px; color: #d6d0c9; }
.owner-workspace :is(.auth-input, .portal-profile-input-shell .auth-input, .owner-info-field-row input, .owner-hours-times input, .owner-reservation-input-grid input, .owner-message-shell textarea) { color: #f7f5f1; background: #111214; border: 1px solid #ffffff30; border-radius: 10px; box-shadow: none; min-height: 48px; font: inherit; font-size: 14px; }
.owner-workspace :is(.owner-info-field-row input, .owner-hours-times input) { width: 100%; padding: 10px 12px; }
.owner-workspace .auth-input[readonly] { background: #ffffff05; color: #c9c3bc; }
.owner-workspace .portal-field-action { right: 12px; min-height: 44px; }
.owner-workspace .portal-verified-pill { background: #183329; border-color: #ffffff25; color: #a5dec3; font-size: 10px; }
.owner-workspace :is(.portal-field-action, .owner-info-edit, .owner-subscription-cancel-link):hover { color: white; }
.owner-workspace :is(.portal-button, .portal-button-secondary, .portal-icon-button) { min-height: 46px; border-radius: 10px; line-height: 1.45; transition: background .18s, border-color .18s; }
.owner-workspace .portal-button { color: white; background: #ff5a5f; }
.owner-workspace .portal-button:hover { color: white; background: #ec484f; transform: none; }
.owner-workspace :is(.portal-button-secondary, .portal-icon-button) { background: #ffffff08; border-color: #ffffff38; color: white; }
.owner-workspace :is(.portal-button-secondary, .portal-icon-button):hover { background: #ffffff15; border-color: #ffffff70; color: white; }
.owner-workspace .owner-danger-button { background: transparent; color: #ff9398; border-color: #ff93984d; }
.owner-workspace .owner-danger-button:hover { background: #ff5a5f; color: white; }
.owner-workspace .portal-profile-card-actions { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--owner-border); gap: 20px; }
.owner-workspace :is(.owner-descriptive-text, .portal-muted, .portal-empty p, .owner-info-note, .owner-reservations-empty p, .account-subscription-meta, .account-subscription-restaurant p, .account-history-empty p, .owner-billing-notice p, .owner-descriptive-input) { font-style: normal; line-height: 1.65; }
.owner-workspace :is(.owner-info-box, .owner-upload-picker, .owner-qr-link-card, .owner-switch-compact, .owner-auto-row, .owner-reservation-row, .owner-public-preview, .owner-managed-plan-note, .owner-insight-row, .owner-entitlement-row, .owner-activity-row, .owner-demographic-card, .owner-location-row, .owner-hours-row, .owner-image-preview-item, .owner-image-preview-media, .owner-image-file, .owner-price-option, .owner-cuisine-chip) { background: var(--owner-inset); border-color: var(--owner-border); box-shadow: none; }
.owner-workspace :is(.owner-info-field-row, .account-history-row, .account-history-table-head, .portal-table th, .portal-table td) { border-color: var(--owner-border); }
.owner-workspace .owner-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.owner-workspace .owner-info-modern-card { min-height: 0; }
.owner-workspace .owner-info-field-row { grid-template-columns: 20px minmax(0,1fr); gap: 10px; padding: 14px 0; }
.owner-workspace .owner-info-field-row input { grid-column: 1 / -1; }
.owner-workspace .owner-hours-row--cluster { grid-template-columns: 20px minmax(0,1fr) auto; padding: 12px; }
.owner-workspace .owner-hours-row--editable { padding: 12px; margin-bottom: 8px; }
.owner-workspace .owner-hours-times { min-width: 0; }
.owner-workspace .owner-preview-logo { background: #ffffff0a; color: white; }
.owner-workspace :is(.owner-price-option.active, .owner-cuisine-chip.active) { background: #ff5a5f; color: white; border-color: #ff5a5f; }
.owner-workspace :is(.owner-chart-toggle, .owner-billing-toggle) { background: #151517; border-color: #ffffff30; box-shadow: none; padding: 5px; }
.owner-workspace :is(.owner-chart-toggle button, .owner-billing-toggle button) { min-height: 40px; }
.owner-workspace :is(.owner-chart-toggle button.active, .owner-billing-toggle button.active) { background: #ff5a5f; color: white; box-shadow: none; }
.owner-workspace .owner-reservation-filter { min-height: 44px; background: #ffffff07; color: #ddd7d0; border-color: #ffffff28; }
.owner-workspace .owner-reservation-filter.active { color: white; background: #ff5a5f; border-color: #ff5a5f; }
.owner-workspace .owner-reservation-filter span { background: #ffffff12; color: inherit; }
.owner-workspace .owner-reservation-filter.active span { background: #ffffff22; }
.owner-workspace .owner-toggle span { background: #ffffff30; }
.owner-workspace .owner-toggle input:checked + span { background: #ff5a5f; }
.owner-workspace .owner-toggle input:focus-visible + span { outline: 2px solid white; outline-offset: 5px; }
.owner-workspace .owner-reservation-card--inactive, .owner-workspace .owner-reservations-card--inactive { opacity: .7; }
.owner-workspace :is(.account-plan-card.active, .owner-plan-card.active) { background: #2a2421; border-color: #ffffff77; }
.owner-workspace .owner-plan-badge { background: #ffffff16; color: white; border: 1px solid #ffffff33; }
.owner-workspace .portal-status { background: #ffffff08; color: #ccc6bf; border-color: #ffffff2b; }
.owner-workspace :is(.portal-status--active, .portal-status--accepted) { background: #19382c; color: #a5dec3; border-color: #ffffff20; }
.owner-workspace .portal-status--locked { background: #3c2225; color: #ffb0b4; border-color: #ffb0b440; }
.owner-workspace .auth-error { color: #ffd3d5; background: #3c2225; border-color: #ad555a; }
.owner-workspace .auth-success { color: #d6f5e7; background: #19382c; border-color: #518872; }
.owner-workspace .owner-progress, .owner-workspace .owner-meter { background: #ffffff12; }
.owner-workspace .owner-gender-donut::after { background: #24201e; }
.owner-workspace .owner-gender-dot-2 { background: #ffffff66; }
.owner-workspace .owner-stats-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.owner-workspace .owner-stat-card { grid-template-columns: minmax(0,1fr) 84px; grid-template-areas: "copy icon" "detail spark"; column-gap: 18px; }
.owner-workspace .owner-stat-icon { width: 40px; height: 40px; justify-self: end; }
.owner-workspace .owner-stat-copy h3 { font-size: 30px; line-height: 1.2; }
.owner-workspace .owner-stat-detail { grid-column: 1; }
.owner-workspace .owner-subscription-logo { filter: brightness(0) invert(1); opacity: .85; max-width: 160px; }
.owner-workspace .portal-profile-input-shell input[type="date"] { padding-right: 100px; }
.owner-workspace .owner-stats-footnote { color: #aaa49e; }
.owner-workspace .owner-menu-action-button.is-idle { background: #ffffff08; color: #cbc5bd; border-color: #ffffff28; }
.owner-workspace .owner-menu-action-button.is-idle:hover { background: #ffffff12; }
.owner-workspace .owner-qr-frame { background: white; color: black; box-shadow: none; }
.owner-workspace .owner-qr-layout { grid-template-columns: 122px minmax(0,1fr); }
.owner-workspace .owner-dialog-backdrop { background: #09090bcc; backdrop-filter: blur(6px); padding: 24px; }
.owner-workspace .owner-dialog { background: #211e1b; box-shadow: 0 28px 100px #0008; max-height: calc(100svh - 48px); overflow-y: auto; }
.owner-workspace .owner-dialog h3 { font-size: 22px; }
.owner-workspace .owner-dialog-copy { color: #ccc6bf; line-height: 1.7; }
.owner-workspace .owner-dialog-actions { padding-top: 20px; border-top: 1px solid var(--owner-border); }
.owner-workspace :is(.auth-input, textarea):focus { border-color: #ffffff99; box-shadow: none; }
.owner-workspace .portal-password-stack { max-width: 540px; }

@media (max-width: 1199px) {
    .owner-workspace .portal-shell { grid-template-columns: 216px minmax(0,1fr); gap: 24px; }
    .owner-workspace :is(.owner-info-grid, .owner-menu-grid, .owner-menu-bottom-grid, .owner-stats-main-grid, .owner-subscription-hero, .account-plan-grid, .owner-plan-grid, .portal-form-row) { grid-template-columns: 1fr; }
    .owner-workspace .portal-header { display: flex; flex-wrap: wrap; }
    .owner-workspace .portal-header .portal-button { width: auto; margin-top: 0; }
    .owner-workspace .owner-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 899px) {
    .owner-workspace .portal-page { padding: calc(var(--public-nav-height,90px) + 28px) 24px 48px; }
    .owner-workspace .portal-shell { display: grid; grid-template-columns: 1fr; gap: 32px; }
    .owner-workspace .portal-sidebar { position: static; max-height: none; margin: 0; padding: 20px; overflow: visible; }
    .owner-workspace .portal-sidebar-title-row { margin-top: 20px !important; padding-top: 16px; border-top: 1px solid #ffffff1c; }
    .owner-workspace .portal-sidebar > .portal-nav-list:not(#owner-restaurant-selector), .owner-workspace .portal-feature-list:not(.portal-nav-list--collapsed) { display: flex; flex-direction: row; overflow-x: auto; scrollbar-width: thin; gap: 8px; padding: 4px 4px 8px; margin: 0; border: 0; }
    .owner-workspace .portal-nav-item { flex: 0 0 auto; width: auto; border-bottom-width: 1px; }
    .owner-workspace .portal-feature-item { white-space: nowrap; }
    .owner-workspace .portal-restaurant-toggle { width: 100%; }
    .owner-workspace .portal-form-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .owner-workspace .portal-header .portal-button-secondary { width: auto; margin-top: 0; }
    .owner-workspace .account-plan-grid, .owner-workspace .owner-plan-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .owner-workspace .owner-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .owner-workspace .portal-page { padding-inline: 18px; }
    .owner-workspace .portal-shell { gap: 28px; }
    .owner-workspace .portal-sidebar { padding: 18px 14px; border-radius: 14px; }
    .owner-workspace :is(.portal-mini-card, .portal-profile-card, .account-plan-card, .owner-plan-card, .portal-empty, .owner-dialog) { padding: 22px 18px; }
    .owner-workspace :is(.portal-form-row, .owner-info-grid, .account-plan-grid, .owner-plan-grid, .owner-reservation-input-grid) { grid-template-columns: 1fr; }
    .owner-workspace .portal-header { gap: 18px; }
    .owner-workspace .portal-header > .portal-button { width: 100%; }
    .owner-workspace .portal-profile-card-actions { display: grid; grid-template-columns: 1fr; }
    .owner-workspace .portal-profile-card-actions > button { width: 100%; }
    .owner-workspace .owner-stats-grid { gap: 12px; }
    .owner-workspace .owner-stat-card { padding: 18px 14px; }
    .owner-workspace .owner-stat-card { grid-template-columns: minmax(0,1fr); grid-template-areas: "icon" "copy" "detail" "spark"; gap: 8px; }
    .owner-workspace .owner-stat-copy h3 { font-size: 26px; }
    .owner-workspace .owner-stat-copy p { overflow-wrap: anywhere; }
    .owner-workspace .owner-qr-layout { grid-template-columns: 1fr; }
    .owner-workspace .owner-qr-frame { width: 150px; }
    .owner-workspace .owner-qr-actions { grid-template-columns: 1fr; }
    .owner-workspace .owner-price-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .owner-workspace .owner-dialog-backdrop { padding: 14px; }
    .owner-workspace .owner-hours-row--cluster { grid-template-columns: 18px minmax(0,1fr); }
    .owner-workspace .owner-hours-row--cluster > span { grid-column: 2; }
}
