/* DomiXpress · capa visual premium preservada y compatible con CSP. */
:root {
    --premium-blue: #087bff;
    --premium-blue-strong: #075dcc;
    --premium-cyan: #00b8ff;
    --premium-ink: #0b172a;
    --premium-muted: #5f6f86;
    --premium-bg: #f5f8fc;
    --premium-surface: #ffffff;
    --premium-line: #dce5f1;
    --premium-success: #16a34a;
    --premium-danger: #dc2626;
    --premium-radius: 20px;
    --premium-shadow: 0 18px 48px rgba(13, 48, 93, .10);
    --premium-shadow-soft: 0 8px 26px rgba(13, 48, 93, .08);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body:not(.storefront-page) { background-color: var(--premium-bg); color: var(--premium-ink); }

.app-main,
.content-area,
.auth-card,
.install-card,
.error-card,
.content-card,
.info-card,
.panel,
.module-card,
.report-kpi,
.analytics-card {
    border-color: var(--premium-line);
}

.content-card,
.info-card,
.panel,
.module-card,
.report-kpi,
.analytics-card,
.auth-card,
.install-card,
.error-card-wrap,
.market-item-card,
.market-store-card {
    border-radius: var(--premium-radius);
    box-shadow: var(--premium-shadow-soft);
}

.content-card:hover,
.info-card:hover,
.panel:hover,
.module-card:hover,
.market-item-card:hover,
.market-store-card:hover {
    box-shadow: var(--premium-shadow);
}

.sidebar {
    box-shadow: 12px 0 40px rgba(8, 38, 82, .11);
}

.topbar,
.market-header,
.package-public-header,
.rides-header,
.special-public-header {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.button,
button,
input[type="submit"] {
    min-height: 42px;
    border-radius: 12px;
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.button:hover:not(:disabled),
button:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled) {
    transform: translateY(-1px);
}

.button-primary,
.button.primary,
button.button-primary,
button.primary {
    box-shadow: 0 10px 24px rgba(8, 123, 255, .23);
}

.button[href*="wa.me"],
.button[href*="api.whatsapp.com"],
a[href*="wa.me"].button,
a[href*="api.whatsapp.com"].button,
.whatsapp-button {
    background: var(--premium-success) !important;
    border-color: var(--premium-success) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(22, 163, 74, .23) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
select,
textarea {
    min-height: 44px;
    border-radius: 12px;
    border-color: #cfdbea;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

textarea { min-height: 108px; }
input:focus,
select:focus,
textarea:focus {
    border-color: var(--premium-blue);
    box-shadow: 0 0 0 4px rgba(8, 123, 255, .12);
    outline: 0;
}

.table-wrap {
    border-radius: 16px;
    border: 1px solid var(--premium-line);
    overflow: auto;
    background: #fff;
}
.data-table thead th {
    background: #f3f7fc;
    color: #30445f;
    font-size: .78rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.data-table tbody tr:hover { background: #f8fbff; }

.module-hero,
.page-header,
.page-toolbar {
    border-radius: var(--premium-radius);
}

.flash,
.alert,
.notice,
.notice-card,
.privacy-note {
    border-radius: 14px;
}

.identity-color-dots { display: flex; gap: 8px; align-items: center; }
.identity-color-swatch {
    width: 28px;
    height: 28px;
    min-height: 28px;
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 0;
    box-shadow: 0 0 0 1px var(--premium-line), 0 4px 10px rgba(13, 48, 93, .12);
    opacity: 1;
}
.identity-color-swatch::-webkit-color-swatch-wrapper { padding: 0; }
.identity-color-swatch::-webkit-color-swatch { border: 0; border-radius: 50%; }
.identity-color-swatch::-moz-color-swatch { border: 0; border-radius: 50%; }

.market-store-cover-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 132px;
    background:
        radial-gradient(circle at 78% 22%, rgba(0, 184, 255, .30), transparent 34%),
        linear-gradient(135deg, #087bff, #075dcc 58%, #092d63);
}

[hidden] { display: none !important; }

@media (max-width: 768px) {
    :root { --premium-radius: 17px; }
    .content-card,
    .info-card,
    .panel,
    .module-card,
    .auth-card,
    .install-card { padding: clamp(16px, 4vw, 22px); }
    .form-actions .button,
    .form-actions button { width: 100%; justify-content: center; }
    .table-wrap { border-radius: 14px; }
}

/* Dimensiones cuantizadas para gráficas sin estilos inline. */
.u-width-0 { width: 0% !important; }
.u-width-1 { width: 1% !important; }
.u-width-2 { width: 2% !important; }
.u-width-3 { width: 3% !important; }
.u-width-4 { width: 4% !important; }
.u-width-5 { width: 5% !important; }
.u-width-6 { width: 6% !important; }
.u-width-7 { width: 7% !important; }
.u-width-8 { width: 8% !important; }
.u-width-9 { width: 9% !important; }
.u-width-10 { width: 10% !important; }
.u-width-11 { width: 11% !important; }
.u-width-12 { width: 12% !important; }
.u-width-13 { width: 13% !important; }
.u-width-14 { width: 14% !important; }
.u-width-15 { width: 15% !important; }
.u-width-16 { width: 16% !important; }
.u-width-17 { width: 17% !important; }
.u-width-18 { width: 18% !important; }
.u-width-19 { width: 19% !important; }
.u-width-20 { width: 20% !important; }
.u-width-21 { width: 21% !important; }
.u-width-22 { width: 22% !important; }
.u-width-23 { width: 23% !important; }
.u-width-24 { width: 24% !important; }
.u-width-25 { width: 25% !important; }
.u-width-26 { width: 26% !important; }
.u-width-27 { width: 27% !important; }
.u-width-28 { width: 28% !important; }
.u-width-29 { width: 29% !important; }
.u-width-30 { width: 30% !important; }
.u-width-31 { width: 31% !important; }
.u-width-32 { width: 32% !important; }
.u-width-33 { width: 33% !important; }
.u-width-34 { width: 34% !important; }
.u-width-35 { width: 35% !important; }
.u-width-36 { width: 36% !important; }
.u-width-37 { width: 37% !important; }
.u-width-38 { width: 38% !important; }
.u-width-39 { width: 39% !important; }
.u-width-40 { width: 40% !important; }
.u-width-41 { width: 41% !important; }
.u-width-42 { width: 42% !important; }
.u-width-43 { width: 43% !important; }
.u-width-44 { width: 44% !important; }
.u-width-45 { width: 45% !important; }
.u-width-46 { width: 46% !important; }
.u-width-47 { width: 47% !important; }
.u-width-48 { width: 48% !important; }
.u-width-49 { width: 49% !important; }
.u-width-50 { width: 50% !important; }
.u-width-51 { width: 51% !important; }
.u-width-52 { width: 52% !important; }
.u-width-53 { width: 53% !important; }
.u-width-54 { width: 54% !important; }
.u-width-55 { width: 55% !important; }
.u-width-56 { width: 56% !important; }
.u-width-57 { width: 57% !important; }
.u-width-58 { width: 58% !important; }
.u-width-59 { width: 59% !important; }
.u-width-60 { width: 60% !important; }
.u-width-61 { width: 61% !important; }
.u-width-62 { width: 62% !important; }
.u-width-63 { width: 63% !important; }
.u-width-64 { width: 64% !important; }
.u-width-65 { width: 65% !important; }
.u-width-66 { width: 66% !important; }
.u-width-67 { width: 67% !important; }
.u-width-68 { width: 68% !important; }
.u-width-69 { width: 69% !important; }
.u-width-70 { width: 70% !important; }
.u-width-71 { width: 71% !important; }
.u-width-72 { width: 72% !important; }
.u-width-73 { width: 73% !important; }
.u-width-74 { width: 74% !important; }
.u-width-75 { width: 75% !important; }
.u-width-76 { width: 76% !important; }
.u-width-77 { width: 77% !important; }
.u-width-78 { width: 78% !important; }
.u-width-79 { width: 79% !important; }
.u-width-80 { width: 80% !important; }
.u-width-81 { width: 81% !important; }
.u-width-82 { width: 82% !important; }
.u-width-83 { width: 83% !important; }
.u-width-84 { width: 84% !important; }
.u-width-85 { width: 85% !important; }
.u-width-86 { width: 86% !important; }
.u-width-87 { width: 87% !important; }
.u-width-88 { width: 88% !important; }
.u-width-89 { width: 89% !important; }
.u-width-90 { width: 90% !important; }
.u-width-91 { width: 91% !important; }
.u-width-92 { width: 92% !important; }
.u-width-93 { width: 93% !important; }
.u-width-94 { width: 94% !important; }
.u-width-95 { width: 95% !important; }
.u-width-96 { width: 96% !important; }
.u-width-97 { width: 97% !important; }
.u-width-98 { width: 98% !important; }
.u-width-99 { width: 99% !important; }
.u-width-100 { width: 100% !important; }
.u-height-0 { height: 0% !important; }
.u-height-1 { height: 1% !important; }
.u-height-2 { height: 2% !important; }
.u-height-3 { height: 3% !important; }
.u-height-4 { height: 4% !important; }
.u-height-5 { height: 5% !important; }
.u-height-6 { height: 6% !important; }
.u-height-7 { height: 7% !important; }
.u-height-8 { height: 8% !important; }
.u-height-9 { height: 9% !important; }
.u-height-10 { height: 10% !important; }
.u-height-11 { height: 11% !important; }
.u-height-12 { height: 12% !important; }
.u-height-13 { height: 13% !important; }
.u-height-14 { height: 14% !important; }
.u-height-15 { height: 15% !important; }
.u-height-16 { height: 16% !important; }
.u-height-17 { height: 17% !important; }
.u-height-18 { height: 18% !important; }
.u-height-19 { height: 19% !important; }
.u-height-20 { height: 20% !important; }
.u-height-21 { height: 21% !important; }
.u-height-22 { height: 22% !important; }
.u-height-23 { height: 23% !important; }
.u-height-24 { height: 24% !important; }
.u-height-25 { height: 25% !important; }
.u-height-26 { height: 26% !important; }
.u-height-27 { height: 27% !important; }
.u-height-28 { height: 28% !important; }
.u-height-29 { height: 29% !important; }
.u-height-30 { height: 30% !important; }
.u-height-31 { height: 31% !important; }
.u-height-32 { height: 32% !important; }
.u-height-33 { height: 33% !important; }
.u-height-34 { height: 34% !important; }
.u-height-35 { height: 35% !important; }
.u-height-36 { height: 36% !important; }
.u-height-37 { height: 37% !important; }
.u-height-38 { height: 38% !important; }
.u-height-39 { height: 39% !important; }
.u-height-40 { height: 40% !important; }
.u-height-41 { height: 41% !important; }
.u-height-42 { height: 42% !important; }
.u-height-43 { height: 43% !important; }
.u-height-44 { height: 44% !important; }
.u-height-45 { height: 45% !important; }
.u-height-46 { height: 46% !important; }
.u-height-47 { height: 47% !important; }
.u-height-48 { height: 48% !important; }
.u-height-49 { height: 49% !important; }
.u-height-50 { height: 50% !important; }
.u-height-51 { height: 51% !important; }
.u-height-52 { height: 52% !important; }
.u-height-53 { height: 53% !important; }
.u-height-54 { height: 54% !important; }
.u-height-55 { height: 55% !important; }
.u-height-56 { height: 56% !important; }
.u-height-57 { height: 57% !important; }
.u-height-58 { height: 58% !important; }
.u-height-59 { height: 59% !important; }
.u-height-60 { height: 60% !important; }
.u-height-61 { height: 61% !important; }
.u-height-62 { height: 62% !important; }
.u-height-63 { height: 63% !important; }
.u-height-64 { height: 64% !important; }
.u-height-65 { height: 65% !important; }
.u-height-66 { height: 66% !important; }
.u-height-67 { height: 67% !important; }
.u-height-68 { height: 68% !important; }
.u-height-69 { height: 69% !important; }
.u-height-70 { height: 70% !important; }
.u-height-71 { height: 71% !important; }
.u-height-72 { height: 72% !important; }
.u-height-73 { height: 73% !important; }
.u-height-74 { height: 74% !important; }
.u-height-75 { height: 75% !important; }
.u-height-76 { height: 76% !important; }
.u-height-77 { height: 77% !important; }
.u-height-78 { height: 78% !important; }
.u-height-79 { height: 79% !important; }
.u-height-80 { height: 80% !important; }
.u-height-81 { height: 81% !important; }
.u-height-82 { height: 82% !important; }
.u-height-83 { height: 83% !important; }
.u-height-84 { height: 84% !important; }
.u-height-85 { height: 85% !important; }
.u-height-86 { height: 86% !important; }
.u-height-87 { height: 87% !important; }
.u-height-88 { height: 88% !important; }
.u-height-89 { height: 89% !important; }
.u-height-90 { height: 90% !important; }
.u-height-91 { height: 91% !important; }
.u-height-92 { height: 92% !important; }
.u-height-93 { height: 93% !important; }
.u-height-94 { height: 94% !important; }
.u-height-95 { height: 95% !important; }
.u-height-96 { height: 96% !important; }
.u-height-97 { height: 97% !important; }
.u-height-98 { height: 98% !important; }
.u-height-99 { height: 99% !important; }
.u-height-100 { height: 100% !important; }
