/* NegocioGo Spring / Onyx visual system. Loaded last to keep legacy components coherent. */
:root {
    color-scheme: light;
    --focus-ring: 0 0 0 4px rgba(14, 143, 102, 0.24);
}

html, body, body.vendly-light {
    background: var(--bg-page);
    color: var(--text-primary);
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -0.01em;
}

/* Shared page shells */
.max-w-6xl { max-width: var(--page-max-width); }
.creator-main, .public-main { min-width: 0; }
.creator-main > *, .public-main > * { max-width: 100%; }

/* Accessible focus that works consistently in native and custom controls. */
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--color-spring-green) !important;
    outline-offset: 3px;
    box-shadow: var(--focus-ring);
}

/* Buttons: dark is the default conversion action; spring green is reserved for emphasis. */
.btn-primary, .btn-brand, .public-nav-cta, .landing-btn-primary,
.dash-btn--primary, .creator-btn-primary, .catalog-btn--primary,
.auth-submit, .app-btn--primary {
    border-color: var(--color-deep-onyx) !important;
    background: var(--color-deep-onyx) !important;
    color: var(--text-inverse) !important;
    box-shadow: 0 10px 24px rgba(7, 25, 30, 0.16);
}

.btn-primary:hover, .btn-brand:hover, .public-nav-cta:hover, .landing-btn-primary:hover,
.dash-btn--primary:hover, .creator-btn-primary:hover, .catalog-btn--primary:hover,
.auth-submit:hover, .app-btn--primary:hover {
    border-color: var(--bg-dark-soft) !important;
    background: var(--bg-dark-soft) !important;
    color: var(--text-inverse) !important;
    box-shadow: var(--shadow-green-glow);
}

.btn-secondary, .app-btn--secondary, .landing-btn-secondary, .auth-home-button {
    border-color: var(--border-strong) !important;
    background: var(--bg-surface) !important;
    color: var(--text-primary) !important;
}
.btn-secondary:hover, .app-btn--secondary:hover, .landing-btn-secondary:hover, .auth-home-button:hover {
    border-color: var(--border-green) !important;
    background: var(--accent-soft) !important;
}

button:disabled, .btn:disabled, .app-btn:disabled, [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .52;
    box-shadow: none !important;
}

/* Inputs and form controls */
.input, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea {
    border-color: var(--border-subtle);
    background-color: var(--bg-surface);
    color: var(--text-primary);
    border-radius: 12px;
}
.input::placeholder, input::placeholder, textarea::placeholder { color: #8A9A9E; }
.input:focus, input:focus, select:focus, textarea:focus {
    border-color: var(--color-spring-green) !important;
    box-shadow: var(--focus-ring) !important;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--color-deep-onyx); }

/* Cards, tables and floating surfaces */
.card, .app-card, .ng-app-card, .dash-stat-card, .stats-kpi, .seller-product-card,
.seller-service-card, .catalog-item-card, .catalog-mobile-card, .billing-card,
.profile-menu-dropdown, .lang-picker__menu, .mobile-drawer {
    border-color: var(--border-subtle) !important;
    background-color: var(--bg-surface);
    box-shadow: var(--shadow-soft);
}
.card, .app-card, .ng-app-card, .dash-stat-card, .stats-kpi, .seller-product-card,
.seller-service-card, .catalog-item-card, .catalog-mobile-card, .billing-card {
    border-radius: 20px;
}
.card-interactive:hover, .app-card--interactive:hover, .catalog-item-card:hover {
    border-color: var(--border-green) !important;
    box-shadow: var(--shadow-medium);
}

.table-wrap, .billing-table-wrap, .catalog-table-wrap { border-color: var(--border-subtle); border-radius: 18px; }
thead, .table-head { background: var(--bg-surface-soft); color: var(--text-muted); }
tbody tr:hover { background: rgba(14, 143, 102, 0.035); }

/* Header and popovers */
.public-nav, .creator-topbar, .seller-private-nav {
    border-color: var(--border-subtle) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 1px 0 rgba(7,25,30,.04);
    backdrop-filter: blur(16px);
}
.public-nav-link { color: var(--text-secondary); font-weight: 600; }
.public-nav-link:hover { color: var(--text-primary); background: var(--accent-soft); }
.lang-picker__trigger, .profile-menu-trigger, .mobile-nav-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    border-color: var(--border-subtle) !important;
    background: #fff !important;
    color: var(--text-primary);
}
.lang-picker__trigger,
.profile-menu-trigger {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 0.7rem 0 0.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    gap: 0.4rem;
}
.lang-picker__icon,
.profile-menu-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    line-height: 0;
}
.lang-picker__icon svg,
.profile-menu-icon svg,
.lang-picker__chevron {
    display: block;
    flex-shrink: 0;
}
.lang-picker__option.is-selected { background: var(--accent-soft); color: var(--text-primary); }
.lang-picker__option.is-selected .lang-picker__option-code, .lang-picker__check { color: #068C61; }

/* Landing: depth without ecommerce noise. */
.landing-home-client .landing-hero.home-hero {
    background: linear-gradient(145deg, #F6FAF8 0%, #F9FBFA 54%, #E9FFF7 100%);
}
.landing-home-client .landing-saas-bg {
    background:
      radial-gradient(ellipse 55% 48% at 91% 8%, rgba(14,143,102,.22), transparent 62%),
      radial-gradient(ellipse 58% 56% at 8% 22%, rgba(7,25,30,.09), transparent 64%),
      linear-gradient(145deg, #F6FAF8 0%, #FFFFFF 100%) !important;
}
.landing-home-client .home-hero__title, .landing-home-client .landing-title { color: var(--color-deep-onyx) !important; }
.landing-home-client .landing-live-pill, .landing-home-client .landing-saas-badge {
    border-color: var(--border-green); color: #056947; background: rgba(255,255,255,.78);
}
.landing-home-client .landing-saas-badge span { background: var(--color-spring-green); box-shadow: 0 0 0 4px var(--accent-soft); }
.landing-home-client .home-search-card { border-color: var(--border-subtle); box-shadow: var(--shadow-medium); }
.landing-home-client .home-search-button { background: var(--color-deep-onyx); box-shadow: 0 8px 20px rgba(7,25,30,.16); }
.landing-home-client .home-search-button:hover { background: var(--bg-dark-soft); box-shadow: var(--shadow-green-glow); }
.landing-seller-cta { background: var(--color-deep-onyx) !important; }

/* Authentication and storefront surfaces */
.auth-split-media { background: var(--color-deep-onyx); }
.auth-form-card { border-color: var(--border-subtle); box-shadow: var(--shadow-medium); }
.storefront-lang-bar .lang-picker__trigger { box-shadow: var(--shadow-soft); }

/* Premium accents, badges and empty states. */
.app-badge--green, .catalog-status-badge--published, .catalog-item-card__status--published {
    border-color: var(--border-green) !important;
    background: var(--accent-soft) !important;
    color: #056947 !important;
}
.app-empty-state__icon, .catalog-empty__icon, .stores-empty__icon, .billing-empty-state__icon {
    background: var(--accent-soft) !important;
    color: #056947 !important;
}
dialog::backdrop { background: rgba(7,25,30,.56); backdrop-filter: blur(5px); }

@media (max-width: 1023px) {
    .public-nav-inner { padding-inline: var(--page-padding-mobile-x); }
}
@media (max-width: 767px) {
    .card, .app-card, .ng-app-card { border-radius: 18px; }
    .btn, .app-btn, .public-nav-cta { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}


/* Final audit guardrails: no page-level component may escape its shell. */
body, main, section, article, aside, nav, header, footer { min-width: 0; }
img, svg, video, canvas { max-width: 100%; }

/* Compact control groups and data views retain usable proportions on smaller screens. */
.creator-form, .auth-form, .publish-form, .store-profile-form, .catalog-filters,
.billing-filters, .map-filters, .filter-bar { min-width: 0; }

:where(.creator-form, .auth-form, .publish-form, .store-profile-form) label {
    color: var(--text-secondary);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .01em;
}

/* Shared floating UI receives a restrained entry motion and a reliable stacking layer. */
:where(.profile-menu-dropdown, .lang-picker__menu, .catalog-actions-menu, .popover, .dropdown-menu) {
    z-index: 10050;
    transform-origin: top right;
    animation: ng-popover-in 160ms var(--ease-out) both;
}
@keyframes ng-popover-in {
    from { opacity: 0; transform: translateY(-4px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Keep the Spring accent legible: deep text on bright fills and dark actions elsewhere. */
:where(.whatsapp-btn, .whatsapp-cart__checkout, .map-btn--accent) {
    background: var(--color-spring-green);
    border-color: var(--color-spring-green);
    color: var(--color-deep-onyx);
    font-weight: 750;
}

@media (max-width: 767px) {
    .app-actions, .catalog-item-card__actions, .billing-actions, .form-actions { gap: .625rem; }
    .app-actions > :not(.app-btn--icon), .catalog-item-card__actions > :not(.app-btn--icon) { min-width: 0; }
    :where(.table-wrap, .billing-table-wrap, .catalog-table-wrap) { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    :where(.mobile-drawer, .lang-picker__menu) { max-width: calc(100vw - 1rem); }
}

@media (prefers-reduced-motion: reduce) {
    :where(.profile-menu-dropdown, .lang-picker__menu, .catalog-actions-menu, .popover, .dropdown-menu) { animation: none; }
}

.ui-action-approve {
    color: #056947;
    font-weight: 700;
}
.ui-action-approve:hover,
.ui-action-approve:focus-visible { color: var(--text-primary); }


/* --------------------------------------------------------------------------
   Screenshot-led refinements: auth, seller surfaces, catalog and storefront.
   -------------------------------------------------------------------------- */

/* Auth: the visual column needs enough contrast to read as a deliberate product story. */
.auth-split-page .auth-split-media {
    background:
        radial-gradient(circle at 70% 14%, rgba(14,143,102,.16), transparent 28rem),
        linear-gradient(145deg, #07191e 0%, #0b242a 100%) !important;
}
.auth-split-page .auth-visual-content,
.auth-split-page .auth-visual-title,
.auth-split-page .auth-visual-text { color: #fff !important; }
.auth-split-page .auth-visual-kicker { color: #0E8F66 !important; }
.auth-split-page .auth-visual-text { opacity: .7; }
.auth-split-page .auth-form-card {
    padding: clamp(1.5rem, 3vw, 2.35rem);
    border: 1px solid var(--border-subtle);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 22px 52px rgba(7,25,30,.09);
}
.auth-split-page .auth-panel { background: #f9fbfa; }
.auth-split-page .auth-submit { border-radius: 14px; }

/* Stores: reduce empty canvas, reinforce the chosen store and the next action. */
.stores-page.app-page-container { max-width: 1280px; padding-top: 2.4rem; }
.stores-page .stores-header { margin-bottom: 1.45rem; }
.stores-page .stores-header h1 { font-size: clamp(2rem, 4vw, 3.05rem); letter-spacing: -.05em; }
.stores-page .stores-toolbar {
    padding: .7rem;
    border: 1px solid var(--border-subtle);
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    box-shadow: var(--shadow-soft);
}
.stores-page .stores-search { min-height: 2.7rem; border-radius: 12px; border-color: var(--border-subtle); }
.stores-page .stores-filters__item.is-active {
    border-color: var(--border-green);
    background: var(--accent-soft);
    color: #056947;
}
.stores-page .stores-grid { gap: 1.25rem; }
.stores-page .stores-card {
    padding: 1.25rem;
    border-color: var(--border-subtle);
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
}
.stores-page .stores-card--active { border-color: var(--border-green); box-shadow: 0 18px 38px rgba(7,25,30,.08); }
.stores-page .stores-card--create {
    background: linear-gradient(145deg, #fff, #f5fff9);
    border-color: var(--border-green);
}
.stores-page .stores-btn--primary {
    background: #07191e;
    border-color: #07191e;
    color: #fff;
}
.stores-page .stores-btn--primary:hover { background: #0b242a; box-shadow: var(--shadow-green-glow); }

/* Seller dashboard: consolidate visual groups so metrics do not become stacked white boxes. */
.dash-home--premium { max-width: 1280px; }
.dash-home--premium .dash-hero-header {
    padding: 1.45rem 1.6rem;
    border: 1px solid var(--border-green);
    border-radius: 20px;
    background: linear-gradient(105deg, #f4fffa, #fff);
}
.dash-home--premium .dash-hero-header h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); letter-spacing: -.05em; }
.dash-home--premium .dash-store-card--premium,
.dash-home--premium .dash-panel-card,
.dash-home--premium .dash-quick-metrics {
    border-color: var(--border-subtle);
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
}
.dash-home--premium .dash-store-card__actions--premium { gap: .65rem; }
.dash-home--premium .dash-btn--action { min-height: 2.75rem; border-radius: 12px; }
.dash-home--premium .dash-btn--primary,
.dash-home--premium .dash-store-card--premium .dash-btn--primary.dash-btn--action {
    background: #07191e;
    border-color: #07191e;
    color: #fff;
}
.dash-home--premium .dash-btn--primary:hover { background: #0b242a; box-shadow: var(--shadow-green-glow); }
.dash-home--premium .dash-quick-link { border-radius: 13px; border-color: var(--border-subtle); }
.dash-home--premium .dash-quick-link:hover { border-color: var(--border-green); background: var(--accent-soft); }

/* Catalog: denser rows, clearer actions and no visual collision with the assistant. */
.catalog-page--compact { max-width: 1280px; }
.catalog-page--compact .catalog-header { margin-bottom: 1.2rem; }
.catalog-page--compact .catalog-header__title { font-size: clamp(2rem, 3.5vw, 2.7rem); letter-spacing: -.05em; }
.catalog-page--compact .catalog-summary-card {
    min-height: 6.3rem;
    padding: 1rem 1.1rem;
    border-color: var(--border-subtle);
    border-radius: 17px;
    box-shadow: var(--shadow-soft);
}
.catalog-page--compact .catalog-tabs,
.catalog-page--compact .catalog-filter-card,
.catalog-page--compact .catalog-list-card {
    border-color: var(--border-subtle);
    box-shadow: var(--shadow-soft);
}
.catalog-page--compact .catalog-table thead th { height: 2.5rem; font-size: .7rem; letter-spacing: .09em; }
.catalog-page--compact .catalog-table tbody td { padding-top: .78rem; padding-bottom: .78rem; }
.catalog-page--compact .catalog-table__thumb { width: 3.2rem; height: 3.2rem; border-radius: 10px; }
.catalog-page--compact .catalog-table__actions { gap: .45rem; }
.catalog-page--compact .catalog-btn--primary { background: #07191e; border-color: #07191e; color: #fff; }
.catalog-page--compact .catalog-btn--primary:hover { background: #0b242a; }
body.catalog-page-active .tomas-root,
body.catalog-page-active .vendly-assistant-root { right: 1.35rem; bottom: 1.35rem; }
body.catalog-page-active .tomas-fab,
body.catalog-page-active .vendly-assistant-fab { background: #07191e; box-shadow: var(--shadow-green-glow); min-height: 2.5rem; }
@media (max-width: 767px) {
    body.catalog-page-active .tomas-root,
    body.catalog-page-active .vendly-assistant-root { bottom: calc(var(--ng-bottom-nav-clearance, 72px) + 0.75rem); right: 1rem; }
}

/* Storefront: give sparse catalogs a composed canvas instead of a lone card on an empty page. */
.sfv-store:not(.is-dark-theme) { background: linear-gradient(180deg, #f7faf9 0%, #fff 42rem); }
.sfv-store .sfv-hero-card {
    border-color: var(--border-subtle);
    border-radius: 24px;
    box-shadow: 0 22px 55px rgba(7,25,30,.13);
}
.sfv-store .sfv-shell { max-width: 1280px; }
.sfv-store:not(.is-dark-theme) .sfv-tabs,
.sfv-store:not(.is-dark-theme) .sfv-catalog-toolbar {
    border-color: var(--border-subtle);
    background: rgba(255,255,255,.88);
    box-shadow: var(--shadow-soft);
}
.sfv-store:not(.is-dark-theme) .sfv-tab.is-active { background: var(--accent-soft); color: #056947; }
.sfv-store .sfv-panel-head { margin-top: 2.4rem; }
.sfv-store .sfv-product-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    gap: 1.25rem;
    align-items: stretch;
}
.sfv-store:not(.is-dark-theme) .sfv-product-card {
    max-width: none;
    border-color: var(--border-subtle);
    border-radius: 18px;
    box-shadow: var(--shadow-soft);
}
.sfv-store:not(.is-dark-theme) .sfv-product-card:hover { border-color: var(--border-green); box-shadow: var(--shadow-medium); }
.sfv-store .sfv-product-card:only-child { max-width: 25rem; }
.sfv-store:not(.is-dark-theme) .sfv-btn--primary,
.sfv-store:not(.is-dark-theme) .sfv-btn--card.sfv-btn--primary { background: var(--sfv-accent, #07191e); border-color: var(--sfv-accent, #07191e); color: #fff; }
.sfv-store:not(.is-dark-theme) .sfv-btn--primary:hover { background: color-mix(in srgb, var(--sfv-accent, #07191e), #000 12%); }
.sfv-store.is-dark-theme .sfv-btn--primary,
.sfv-store.is-dark-theme .sfv-btn--card.sfv-btn--primary { background: var(--sfv-accent, #068C61); border-color: transparent; color: #fff; }
.sfv-store.is-dark-theme .sfv-btn--primary:hover { filter: brightness(1.15); }
.sfv-store .sfv-btn--whatsapp { background: #0E8F66; color: #ffffff; border-color: #0E8F66; }

/* Product detail uses the same depth but with a more balanced information panel. */
.pdp-page:not(.is-dark-theme) { background: radial-gradient(36rem 26rem at 0 0, color-mix(in srgb, var(--sfv-accent, #0e8f66) 11%, transparent), transparent 68%), #f8faf9; }
.pdp-page .pdp-commerce-layout { gap: 1.35rem; }
.pdp-page:not(.is-dark-theme) .pdp-gallery-card,
.pdp-page:not(.is-dark-theme) .pdp-product-card,
.pdp-page:not(.is-dark-theme) .pdp-sold-by,
.pdp-page:not(.is-dark-theme) .pdp-modern-content,
.pdp-page:not(.is-dark-theme) .pdp-related-modern {
    border-color: var(--border-subtle);
    box-shadow: var(--shadow-soft);
}
.pdp-page .pdp-product-card { padding: 1.45rem; }
.pdp-page:not(.is-dark-theme) .pdp-commerce-price { color: #07191e; letter-spacing: -.04em; }
.pdp-page:not(.is-dark-theme) .pdp-badge--status { background: var(--accent-soft); color: #056947; }
.pdp-page:not(.is-dark-theme) .pdp-whatsapp-btn,
.pdp-page:not(.is-dark-theme) .pdp-btn--primary { background: var(--sfv-accent, #07191e); border-color: var(--sfv-accent, #07191e); color: #fff; }
.pdp-page.is-dark-theme .pdp-gallery-card,
.pdp-page.is-dark-theme .pdp-product-card,
.pdp-page.is-dark-theme .pdp-sold-by {
    background: var(--sfv-card-bg, rgba(15, 23, 42, 0.72));
    border-color: var(--sfv-card-border, rgba(148, 163, 184, 0.16));
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

.pdp-page.is-dark-theme .pdp-modern-content,
.pdp-page.is-dark-theme .pdp-related-modern {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
.pdp-page.is-dark-theme .pdp-whatsapp-btn,
.pdp-page.is-dark-theme .pdp-btn--primary { background: var(--sfv-accent, #068C61); border-color: transparent; color: #fff; }
.pdp-page.is-dark-theme .pdp-commerce-price { color: var(--sfv-text, #f1f5f9); }

@media (max-width: 767px) {
    .auth-split-page .auth-form-card { padding: 1.25rem; border-radius: 18px; }
    .stores-page.app-page-container { padding-top: 1.25rem; }
    .stores-page .stores-header__actions { width: 100%; }
    .stores-page .stores-header__actions .stores-btn { flex: 1; }
    .dash-home--premium .dash-hero-header { padding: 1.2rem; }
    .dash-home--premium .dash-store-card__actions--premium { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .catalog-page--compact .catalog-summary-grid { gap: .4rem; }
    .catalog-page--compact .catalog-summary-card { min-height: 0; padding: .5rem .55rem; }
    .catalog-page--compact .catalog-table-wrap { margin-inline: -.15rem; }
    .sfv-store .sfv-product-grid:not(.is-list-view) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .sfv-store .sfv-product-grid.is-list-view {
        grid-template-columns: 1fr;
    }

    .sfv-store .sfv-product-card:only-child { max-width: none; }
    .pdp-page .pdp-commerce-layout { gap: 1rem; }
}

/* Mobile: evitar desplazamiento horizontal y contenido pegado a la derecha */
@media (max-width: 767px) {
    html {
        overflow-x: clip;
        width: 100%;
    }

    body {
        overflow-x: clip;
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    body > main.flex-1 {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: clip;
        min-width: 0;
    }

    .site-nav-shell,
    .public-nav,
    .public-nav-inner,
    .public-nav-bar,
    .site-footer,
    .site-footer-inner {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }

    .market-page,
    .market-page--compact,
    .market-toolbar__inner,
    .market-search,
    .market-search--compact,
    .market-search__row,
    .market-results,
    .market-tabs {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .market-search-advanced,
    .market-search__row {
        grid-template-columns: 1fr !important;
    }

    body.market-page-body > main.flex-1 {
        overflow-x: clip;
        max-width: 100%;
    }

    /* Landing — decoraciones y mapa no deben empujar el viewport */
    body.landing-home-client .ng-home-hero::after {
        display: none;
    }

    body.landing-home-client .landing-container,
    body.landing-home-client .ng-home-hero__inner,
    body.landing-home-client .landing-map-block,
    body.landing-home-client .landing-map-copy,
    body.landing-home-client .home-map-preview,
    body.landing-home-client .home-map-preview__wrapper {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: clip;
    }

    body.landing-home-client .landing-map-actions__primary,
    body.landing-home-client .landing-map-actions {
        width: 100%;
        max-width: 100%;
    }

    body.landing-home-client .landing-btn-primary,
    body.landing-home-client .landing-btn-secondary {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Auth — formulario contenido dentro del viewport */
    .auth-page,
    .auth-split-page,
    .auth-shell,
    .auth-split,
    .auth-panel,
    .auth-split-panel,
    .auth-panel-body,
    .auth-form-card,
    .auth-form {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: clip;
    }

    /* Drawer móvil: botones contenidos y compactos */
    .mobile-drawer {
        max-width: min(85vw, 360px);
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .mobile-drawer__body,
    .mobile-drawer__actions {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .mobile-drawer__btn-secondary,
    .mobile-drawer__btn-primary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 2.5rem !important;
        height: auto !important;
        padding: 0.55rem 0.85rem !important;
        margin: 0 !important;
        font-size: 0.875rem !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }
}
