/* Owner Mini App design system. Override the --saas-* tokens on the workspace
 * shell to introduce future themes. Public storefront and admin remain isolated. */
.neon-workspace-shell {
    --saas-app-background: radial-gradient(ellipse at 4% 5%, #064e70 0, transparent 45%), radial-gradient(ellipse at 100% 70%, #132853 0, transparent 50%), #06182d;
    --saas-width: var(--neon-page-max-width, 1060px);
    --saas-gutter: var(--neon-page-gutter, 12px);
    --saas-gap: 14px;
    --saas-space-1: 4px;
    --saas-space-2: 8px;
    --saas-space-3: 12px;
    --saas-space-4: 16px;
    --saas-space-5: 20px;
    --saas-heading-size: clamp(20px, 5vw, 27px);
    --saas-section-title-size: 17px;
    --saas-body-size: 14px;
    --saas-caption-size: 12px;
    --saas-radius: 22px;
    --saas-radius-small: 14px;
    --saas-surface: linear-gradient(130deg, rgba(13, 82, 125, .82), rgba(14, 34, 82, .88));
    --saas-surface-raised: linear-gradient(125deg, rgba(21, 79, 115, .75), rgba(18, 40, 83, .85));
    --saas-surface-inset: rgba(6, 40, 75, .62);
    --saas-border: var(--neon-border, rgba(95, 188, 255, .3));
    --saas-border-focus: #64dafa;
    --saas-fg: #edf8ff;
    --saas-muted: #a1bed6;
    --saas-accent: #39c9fa;
    --saas-accent-strong: #177adf;
    --saas-button-primary: linear-gradient(112deg, #176cf5, #05aaca);
    --saas-button-secondary: rgba(38, 87, 132, .42);
    --saas-nav-background: linear-gradient(115deg, rgba(6, 66, 101, .93), rgba(16, 43, 100, .93));
    --saas-shadow: 0 12px 30px rgba(0, 10, 35, .24), inset 0 1px 0 #d4f4ff15;
    --saas-control-height: 44px;
}
.neon-workspace-content .saas-page,
.neon-workspace-content :is(.bot-management-page, .bot-settings-workspace, .mybots-training-workspace) {
    width: min(100%, var(--saas-width));
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
    display: grid;
    gap: var(--saas-gap);
}
.neon-workspace-content :is(.saas-card, .saas-page > .glass-card, .bot-management-page > .bot-dashboard-section, .bot-management-hero, .bot-settings-workspace__hero, .bot-settings-booking, .mybots-training-workspace > .mybots-scoped-card, .mybots-training-workspace .mybots-training__nanotraining-card) {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--saas-border);
    border-radius: var(--saas-radius);
    color: var(--saas-fg);
    background: var(--saas-surface);
    box-shadow: var(--saas-shadow);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.neon-workspace-content :is(.saas-page-header, .saas-card__header) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    min-width: 0;
    margin: 0 0 14px;
}
.neon-workspace-content :is(.saas-page-header h1, .saas-card__title, .bot-management-header__title, .bot-settings-workspace__title) {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    color: var(--saas-fg);
    font-size: var(--saas-heading-size);
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.neon-workspace-content :is(.saas-card__title, .bot-dashboard-section__title) {
    font-size: var(--saas-section-title-size);
    line-height: 1.35;
}
.neon-workspace-content :is(.saas-card__subtitle, .saas-field__label, .saas-caption) {
    color: var(--saas-muted);
    font-size: var(--saas-caption-size);
    line-height: 1.45;
}
.neon-workspace-content .saas-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.neon-workspace-content .saas-field {
    min-width: 0;
    border: 1px solid rgba(95, 188, 255, .17);
    border-radius: var(--saas-radius-small);
    background: var(--saas-surface-inset);
    padding: 12px;
}
.neon-workspace-content .saas-field__label { display: block; margin-bottom: 6px; }
.neon-workspace-content .saas-field__value {
    display: block;
    color: var(--saas-fg);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.neon-workspace-content .saas-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.neon-workspace-content :is(.saas-actions > button, .saas-page .btn-primary, .saas-page .btn-secondary,
    .bot-management-page :is(.btn-primary, .btn-secondary, .bot-action-row),
    .bot-settings-workspace :is(.btn-primary, .btn-secondary, .settings-module),
    .mybots-training-workspace :is(.btn-primary, .btn-secondary)) {
    min-height: var(--saas-control-height);
    border-radius: var(--saas-radius-small);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 650;
}
.neon-workspace-content .saas-actions--stacked { display: grid; grid-template-columns: minmax(0, 1fr); }
.neon-workspace-content .saas-actions--stacked > button { width: 100%; }
.neon-workspace-content :is(.saas-page select, .saas-page input:not([type='range']),
    .mybots-training-workspace input, .mybots-training-workspace textarea) {
    width: 100%; min-width: 0; min-height: var(--saas-control-height);
    padding: 10px 12px; border: 1px solid var(--saas-border);
    border-radius: var(--saas-radius-small);
    color: var(--saas-fg); background: var(--saas-surface-inset);
}
.neon-workspace-content .saas-progress { display: grid; gap: 8px; }
.neon-workspace-content .saas-progress__labels { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--saas-muted); }
.neon-workspace-content .saas-progress__track {
    width: 100%; height: 9px; overflow: hidden; border-radius: 999px;
    background: rgba(3, 31, 62, .72); border: 1px solid var(--saas-border);
}
.neon-workspace-content .saas-progress__fill {
    height: 100%; border-radius: inherit;
    background: linear-gradient(90deg, var(--saas-accent-strong), var(--saas-accent));
}
.neon-workspace-content .saas-progress--low .saas-progress__fill { background: linear-gradient(90deg, #a95a4a, #ff9d73); }
.neon-workspace-content .saas-progress--medium .saas-progress__fill { background: linear-gradient(90deg, #a47b3b, #ffcd79); }
.neon-workspace-content .saas-money-amount { display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: var(--saas-fg); font-size: clamp(28px, 7vw, 38px); font-weight: 750; font-variant-numeric: tabular-nums; }
.neon-workspace-content .saas-svg-icon {
    display: inline-block; width: 24px; height: 24px; flex: 0 0 24px;
    fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round; vertical-align: middle;
}
.neon-workspace-content .saas-svg-icon--diamond { color: #70e6fd; fill: #4baffd18; }
.neon-workspace-content .saas-svg-icon--star { color: #fbc66b; fill: #ffcc6022; }
.neon-workspace-content .saas-wallet-hero, .neon-workspace-content .saas-wallet-price {
    display: grid; justify-items: center; gap: 6px;
    padding: 18px; border-radius: 18px;
    background: var(--saas-surface-inset); border: 1px solid rgba(95, 188, 255, .24);
    text-align: center;
}
.neon-workspace-content .saas-wallet-topup { display: grid; gap: 18px; }
.neon-workspace-content .saas-wallet-range { display: grid; gap: 10px; }
.neon-workspace-content .saas-wallet-range__ends { display: flex; justify-content: space-between; color: var(--saas-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.neon-workspace-content #topup-slider {
    appearance: none; -webkit-appearance: none; display: block; width: 100%;
    height: 12px; min-height: 12px; margin: 12px 0;
    padding: 0; border: 1px solid rgba(90, 183, 244, .26);
    border-radius: 999px;
    background: linear-gradient(to right, #35cbf9 0%, #257bd5 var(--topup-progress, 0%), rgba(9, 40, 79, .88) var(--topup-progress, 0%), rgba(9, 40, 79, .88) 100%);
    box-shadow: inset 0 1px 5px #0005; cursor: pointer; touch-action: none;
}
.neon-workspace-content #topup-slider::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 28px; height: 28px;
    border-radius: 50%; border: 5px solid #d9faff;
    background: #149be9; box-shadow: 0 0 0 4px #35caff2c, 0 4px 12px #00182f99;
}
.neon-workspace-content #topup-slider::-moz-range-thumb {
    width: 18px; height: 18px; border-radius: 50%;
    border: 5px solid #d9faff; background: #149be9;
    box-shadow: 0 0 0 4px #35caff2c, 0 4px 12px #00182f99;
}
.neon-workspace-content #topup-slider:focus-visible { outline: 3px solid var(--saas-border-focus); outline-offset: 12px; }
.neon-workspace-content .saas-wallet-price .saas-money-amount { font-size: 29px; }
.neon-workspace-content .saas-wallet-history-item { display: flex; justify-content: space-between; gap: 12px; padding: 12px; border-bottom: 1px solid var(--saas-border); }
.neon-workspace-content .saas-wallet-history-item:last-child { border-bottom: 0; }
.neon-workspace-content :is(.bot-management-hero, .bot-dashboard-section, .bot-settings-workspace__hero) { width: 100%; max-width: 100%; }
.neon-workspace-content .bot-dashboard-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.neon-workspace-content .bot-management-page .bot-metric-card { min-width: 0; }
.neon-workspace-content .bot-settings-workspace__map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.neon-workspace-content .bot-settings-workspace .settings-module {
    width: 100%; min-width: 0; margin: 0;
    background: var(--saas-surface-raised);
    border: 1px solid var(--saas-border); box-shadow: var(--saas-shadow);
}
.neon-workspace-content .mybots-training-workspace .mybots-scoped-card { margin-bottom: 0; }
.neon-workspace-content .mybots-training-workspace .mybots-training__nanotraining-card {
    background: var(--saas-surface-raised);
}
@media (max-width: 479px) {
    .neon-workspace-content .saas-fields, .neon-workspace-content .bot-settings-workspace__map { grid-template-columns: 1fr; }
    .neon-workspace-content .bot-dashboard-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .neon-workspace-content :is(.saas-card, .saas-page > .glass-card) { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .neon-workspace-content #topup-slider { transition: none; }
}

/* All authenticated owner routes consume the same theme variables. Change the
 * tokens on .neon-workspace-shell for a future palette/theme switch. */
.app-container.neon-workspace-shell { background: var(--saas-app-background); }
.neon-workspace-content :is(.neon-home, .neon-my-bots, .neon-chat-screen) {
    --neon-panel: var(--saas-surface);
}
.neon-workspace-content {
    --neon-panel: var(--saas-surface);
    --workspace-panel: var(--saas-surface);
    --workspace-panel-soft: var(--saas-surface-raised);
    --workspace-border: var(--saas-border);
    --workspace-muted: var(--saas-muted);
}
.neon-workspace-content .neon-glass {
    border-color: var(--saas-border);
    background: var(--saas-surface);
    box-shadow: var(--saas-shadow);
}
.neon-workspace-content :where(.glass-card, .mybots-scoped-card, .settings-module,
    .bot-dashboard-section, .bot-management-hero, .bot-token-panel, .bot-action-row,
    .bot-settings-workspace__hero, .bot-settings-booking, .mybots-training__nanotraining-card) {
    border-color: var(--saas-border);
    border-radius: var(--saas-radius);
    background: var(--saas-surface-raised);
    box-shadow: var(--saas-shadow);
}
.neon-workspace-content :where(.btn-primary, .btn--primary, .button-primary) {
    border-color: var(--saas-border-focus);
    background: var(--saas-button-primary);
    color: var(--saas-fg);
}
.neon-workspace-content :where(.btn-secondary, .btn--secondary, .button-secondary, .btn--ghost) {
    border-color: var(--saas-border);
    background: var(--saas-button-secondary);
    color: var(--saas-fg);
}
.neon-workspace-content .saas-fields > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--saas-border);
    border-radius: var(--saas-radius-small);
    background: var(--saas-surface-inset);
}
.neon-workspace-content .saas-profile-plan { display: grid; gap: 16px; }
.neon-workspace-content .saas-profile-plan > div[style] { margin: 0 !important; }
.neon-workspace-content .saas-profile-plan .saas-actions { margin: 0; }
.neon-workspace-content .saas-profile-plan .saas-progress__track { width: 100%; }
.neon-workspace-content .saas-profile-plan .saas-progress__fill.low { background: linear-gradient(90deg, #a95a4a, #ff9d73); }
.neon-workspace-content .saas-profile-plan .saas-progress__fill.medium { background: linear-gradient(90deg, #a47b3b, #ffcd79); }
.neon-workspace-content .saas-wallet { width: min(100%, var(--saas-width)); gap: 14px; }
.neon-workspace-content .saas-wallet .saas-page-header { margin-bottom: 0; }
.neon-workspace-content .saas-wallet-hero .saas-money-amount .saas-svg-icon,
.neon-workspace-content .saas-wallet-price .saas-money-amount .saas-svg-icon { width: 30px; height: 30px; flex-basis: 30px; }
.neon-workspace-content .saas-wallet-buy { width: 100%; font-size: 15px; padding: 12px 16px; }
.neon-workspace-content .saas-wallet-topup .text-secondary { margin: 0; }
.neon-workspace-content .saas-wallet-history-list {
    border: 1px solid var(--saas-border);
    border-radius: 18px;
    padding: 4px;
    background: var(--saas-surface-inset);
}
.neon-workspace-content .bot-management-page .bot-action-row__icon .saas-svg-icon,
.neon-workspace-content .bot-management-page .bot-activity-row__icon .saas-svg-icon {
    width: 21px; height: 21px; flex-basis: 21px;
    color: var(--saas-accent);
}
.neon-workspace-content .bot-management-page .bot-action-list { display: grid; gap: 10px; }
.neon-workspace-content .bot-management-page .bot-action-row { background: var(--saas-surface-raised); }
.neon-workspace-content .bot-settings-workspace__map .settings-module__label { font-size: 14px; line-height: 1.35; }
.neon-workspace-content .mybots-training-workspace { padding: 18px; }
.neon-workspace-content .mybots-training-workspace :is(.mybots-training__category-title, .mybots-training__card-title) {
    font-size: 15px; line-height: 1.35; overflow-wrap: anywhere;
}
.neon-workspace-content :is(.bot-management-page, .bot-settings-workspace, .mybots-training-workspace) {
    color: var(--saas-fg);
}
@media (max-width: 767px) {
    .neon-workspace-content :is(.bot-management-page, .bot-settings-workspace, .mybots-training-workspace) {
        width: 100%;
    }
}

/* Shared across the larger owner route matrix (CRM, bookings, shop, skills).
 * Structural grids/scroll behavior remain owned by their features. */
.neon-workspace-content :where(
    .crm-workspace__hero, .mini-shop-dashboard__hero, .mini-shop-workspace-section,
    .owner-calendar, .owner-booking-panel, .owner-contact-panel,
    .crm-contact-card, .crm-kpi, .offerings-editor__item,
    .catalog__card, .orders__detail, .skills-workspace .glass-card,
    .campaigns__item, .providers__item, .billing__plan-card
) {
    border-color: var(--saas-border);
    border-radius: var(--saas-radius);
    background: var(--saas-surface-raised);
    box-shadow: var(--saas-shadow);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.neon-workspace-content .neon-home .filter-btn.active,
.neon-workspace-content .nav-item.active {
    border-color: var(--saas-border-focus);
    background: var(--saas-button-primary);
}
.neon-workspace-content :where(.bot-settings-workspace__back, .settings-module, .bot-action-row) {
    border-color: var(--saas-border);
    background: var(--saas-button-secondary);
    color: var(--saas-fg);
}
.neon-workspace-content :is(.saas-page-header, .saas-card__header, .bot-settings-workspace__hero-row) > button { flex: 0 0 auto; }
.neon-workspace-content .saas-profile__fields { display: grid; gap: 12px; }
.neon-workspace-content .saas-profile-plan__balance {
    display: flex; justify-content: space-between; align-items: baseline;
    flex-wrap: wrap; gap: 8px;
}
.neon-workspace-content .saas-profile-plan__balance .saas-field__label,
.neon-workspace-content .saas-profile-plan__balance .saas-field__value { margin: 0; }
.neon-workspace-content .bot-management-page.saas-page { padding-bottom: 0; }

/* The legacy .glass-card/.btn-* rules use transition: all, which animates
   border-radius when a theme token changes. Keep interaction feedback smooth
   without delaying geometry/token updates (or transiently mixing themes). */
.neon-workspace-content :is(.saas-card, .glass-card, .btn-primary, .btn-secondary) {
    transition-property: background-color, border-color, box-shadow, color, opacity, transform;
}

/* Radius and control geometry also follow tokens, not only palette changes. */
.neon-workspace-content :is(
    .neon-home .neon-agent, .neon-home .session-item,
    .saas-card, .saas-page > .glass-card, .bot-management-hero,
    .bot-dashboard-section, .crm-workspace__hero, .owner-calendar
) { border-radius: var(--saas-radius); }
.neon-workspace-content :is(
    .btn-primary, .btn-secondary, .filter-btn, .session-type-button,
    .bot-settings-workspace__back, .bot-action-row, .settings-module
) { border-radius: var(--saas-radius-small); }

/* Navigation is outside #content; theme must reach it through the owner shell. */
.app-container.neon-workspace-shell .bottom-nav {
    border-color: var(--saas-border);
    background: var(--saas-nav-background);
}
.app-container.neon-workspace-shell .nav-item.active {
    border-color: var(--saas-border-focus);
    background: var(--saas-button-primary);
}
