/**
 * Soft UI Force → Aramane
 * Polices Hanken Grotesk / JetBrains Mono + cartes type setup-journey.
 * Visuel uniquement — aucun changement métier.
 */

:root {
    --zp-font-family: var(--zp-font-sans, "Hanken Grotesk", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif);

    /* Accents soft (alignés design system Aramane) */
    --sj-accent: var(--zp-primary, #2563eb);
    --sj-accent-hover: var(--zp-primary-dark, #1d4ed8);
    --sj-line: var(--zp-primary-light, #3b82f6);
    --sj-soft-bg: #f8fafc;
    --sj-soft-border: #e2e8f0;
    --sj-text: var(--zp-primary-dark, #1e40af);
}

/* Cartes soft type « Première vente » (Force) */
.box:not(.box-solid),
.zp-card,
.tw-bg-white.tw-rounded-2xl,
.tw-bg-white.tw-rounded-xl,
.content .info-box,
.home-page .tw-rounded-2xl.tw-shadow-sm.tw-border {
    background: linear-gradient(145deg, #ffffff 0%, var(--sj-soft-bg) 100%) !important;
    border: 1px solid var(--sj-soft-border) !important;
    border-top: 1px solid var(--sj-soft-border) !important; /* pas de bande accent colorée */
    border-radius: 16px !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.box:not(.box-solid):hover,
.zp-card:hover,
.tw-bg-white.tw-rounded-2xl:hover,
.tw-bg-white.tw-rounded-xl:hover,
.home-page .tw-rounded-2xl.tw-shadow-sm.tw-border:hover {
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.box .box-header {
    border-bottom-color: var(--sj-soft-border) !important;
    background: transparent !important;
}

.box .box-title,
.zp-card-title,
.home-page .tw-font-semibold.tw-text-gray-900 {
    font-family: var(--zp-font-sans, "Hanken Grotesk", sans-serif) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #0f172a !important;
}

/* Labels uppercase type setup-journey */
.zp-label,
.home-page .tw-text-xs.tw-text-gray-500,
.home-page .tw-text-sm.tw-font-medium.tw-text-gray-700 {
    letter-spacing: 0.02em;
}

/* Montants / codes en JetBrains Mono */
.display_currency,
.font-mono,
.tw-font-mono,
.tw-tabular-nums,
.total_sell,
.invoice_due,
.total_expense,
code,
kbd,
#invoice_no,
#ref_no,
input[name="invoice_no"],
input[name="ref_no"],
input[name="sku"],
.product-sku,
.sku {
    font-family: var(--zp-font-mono) !important;
    font-variant-numeric: tabular-nums;
}

/* Boutons primaires un peu plus « soft » */
.btn-primary,
.zp-btn-primary,
.tw-dw-btn-primary {
    border-radius: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--sj-accent) 35%, transparent);
}

.btn-primary:hover,
.zp-btn-primary:hover,
.tw-dw-btn-primary:hover {
    box-shadow: 0 6px 18px color-mix(in srgb, var(--sj-accent) 45%, transparent);
}

/* Header dashboard : garder la couleur métier, adoucir la typo */
.zp-bg-primary h1,
.home-page h1 {
    font-family: var(--zp-font-sans, "Hanken Grotesk", sans-serif) !important;
    letter-spacing: -0.03em;
    font-weight: 700 !important;
}

/* Progress bars éventuelles — même langage visuel Force */
.progress {
    height: 14px;
    border-radius: 999px;
    background: #cbd5e1;
    border: 1px solid #94a3b8;
    box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.progress-bar {
    border-radius: inherit;
    background: linear-gradient(90deg, var(--sj-line), var(--sj-accent)) !important;
    box-shadow: 0 0 16px color-mix(in srgb, var(--sj-accent) 45%, transparent);
}
