/* ===================== */
/* JA EVENT PREMIUM UI */
/* ===================== */

body{
    background:var(--jaos-bg) !important;
}

/* MAIN */
.fi-main{
    background:
        radial-gradient(900px 520px at 12% -8%, rgba(var(--jaos-primary-rgb),.10), transparent 55%),
        radial-gradient(700px 420px at 92% 0%, rgba(var(--jaos-primary-rgb),.06), transparent 50%),
        var(--jaos-bg) !important;
}

.fi-main-ctn{
    padding-left:24px !important;
    padding-right:24px !important;
}

/* TOPBAR */
.fi-topbar{
    background:var(--jaos-topbar-bg) !important;
    border-bottom:1px solid var(--jaos-border) !important;
    backdrop-filter:blur(10px);
}

/* SIDEBAR */
.fi-sidebar{
    background:var(--jaos-sidebar-bg) !important;
    border-right:1px solid var(--jaos-border) !important;
}

.fi-sidebar-header{
    padding:24px 18px !important;
}

.fi-sidebar-header .fi-brand{
    color:var(--jaos-primary) !important;
    font-size:26px !important;
    font-weight:800 !important;
    letter-spacing:1px;
}

/* GROUP LABELS */
.fi-sidebar-group-label{
    color:var(--jaos-text-subtle) !important;
    font-size:11px !important;
    text-transform:uppercase;
    letter-spacing:1.2px;
    margin-top:18px;
}

/* SIDEBAR ITEMS */
.fi-sidebar-item a{
    margin:4px 10px !important;
    border-radius:14px !important;
    min-height:44px;
    transition:all .18s ease;
}

.fi-sidebar-item a:hover{
    background:rgba(var(--jaos-primary-rgb),.12) !important;
    transform:translateX(3px);
}

.fi-sidebar-item-active a{
    background:linear-gradient(
        90deg,
        rgba(var(--jaos-primary-rgb),.25),
        rgba(var(--jaos-primary-rgb),.08)
    ) !important;

    border:1px solid rgba(var(--jaos-primary-rgb),.25);

    box-shadow:0 0 18px rgba(var(--jaos-primary-rgb),.10);
}

.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon{
    color:var(--jaos-primary) !important;
    font-weight:700 !important;
}

/* HEADINGS */
.fi-header-heading{
    font-family:Georgia, Times, serif !important;
    letter-spacing:.02em;
    color:var(--jaos-text) !important;
}

/* SEARCH */
.fi-topbar .fi-input-wrp{
    background:var(--jaos-input-bg) !important;
    border:1px solid rgba(var(--jaos-primary-rgb),.18) !important;
    border-radius:14px !important;
}

/* CARDS / WIDGETS */
.fi-wi-stats-overview-stat,
.fi-widget,
.fi-section,
.fi-ta{
    background:var(--jaos-card-gradient) !important;

    border:1px solid rgba(var(--jaos-primary-rgb),.08) !important;

    border-radius:18px !important;

    box-shadow:0 10px 25px rgba(0,0,0,.35);

    transition:all .22s ease;
}

.fi-wi-stats-overview-stat:hover,
.fi-widget:hover{
    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(0,0,0,.45);
}

/* KPI */
.fi-wi-stats-overview-stat{
    position:relative;
    overflow:hidden;
}

.fi-wi-stats-overview-stat::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(var(--jaos-primary-rgb),.16),
            transparent 45%
        );

    pointer-events:none;
    opacity:.55;
}

.fi-wi-stats-overview-stat > *{
    position:relative;
    z-index:1;
}

/* KPI VALUE */
.fi-wi-stats-overview-stat-value{
    font-size:38px !important;
    font-weight:800 !important;
    color:var(--jaos-accent) !important;
}

/* KPI DESCRIPTION */
.fi-wi-stats-overview-stat-description,
.fi-wi-stats-overview-stat-description-icon{
    color:#cfc6b2 !important;
}

/* FIX GRAPH OVER TEXT */
.fi-wi-stats-overview-stat-chart{
    margin-top:12px !important;
    padding-bottom:8px !important;
}

/* COLORS */
.fi-wi-stats-overview-stat [class*="text-success"],
.fi-wi-stats-overview-stat [class*="text-warning"],
.fi-wi-stats-overview-stat [class*="text-danger"]{
    color:var(--jaos-text-muted) !important;
}

/* CHART */
.fi-wi-chart{
    border:1px solid rgba(var(--jaos-primary-rgb),.10) !important;
}

.fi-wi-chart canvas{
    filter:drop-shadow(0 0 10px rgba(var(--jaos-primary-rgb),.15));
}

/* TABLES */
.fi-ta-header{
    border-bottom:1px solid rgba(var(--jaos-primary-rgb),.18) !important;
}

.fi-ta-header-cell{
    color:#e8e4dc !important;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:11px !important;
}

.fi-ta-row:hover:not(.ja-premium-row){
    background:rgba(var(--jaos-primary-rgb),.06) !important;
}

.fi-ta-cell{
    border-color:rgba(255,255,255,.06) !important;
}

/* BUTTONS */
.fi-btn-color-primary{
    background:var(--jaos-primary) !important;
    border-color:var(--jaos-primary) !important;
    color:var(--jaos-on-primary) !important;
    font-weight:700;
}

.fi-btn-color-primary:hover{
    background:var(--jaos-accent) !important;
}

/* SCROLLBAR */
::-webkit-scrollbar{
    width:6px;
}

::-webkit-scrollbar-thumb{
    background:#2a2a2a;
    border-radius:20px;
}
/* FIX KPI CHART */
.fi-wi-stats-overview-stat-chart{
    position:relative !important;
    margin-top:16px !important;
    padding-top:10px !important;
    height:52px !important;
}

.fi-wi-stats-overview-stat-description{
    position:relative !important;
    z-index:5 !important;
    margin-top:8px !important;
}

.fi-wi-stats-overview-stat canvas{
    transform:translateY(10px);
}

/* -------------------------------------------------------------------------- */
/* Catalogue prestations — cartes grille (CatalogItemResource)                */
/* -------------------------------------------------------------------------- */

.fi-ta-content.fi-ta-content-grid{
    gap:1.25rem !important;
}

.fi-ta-content-grid .fi-ta-record{
    align-items:stretch;
}

.fi-ta-content-grid .fi-ta-record .fi-ta-actions{
    margin-top:auto;
    padding-top:0.75rem;
    border-top:1px solid rgba(var(--jaos-primary-rgb),.12);
}

.fi-ta-content-grid .ja-catalog-card.fi-ta-panel{
    height:100%;
    display:flex;
    flex-direction:column;
    background:var(--jaos-panel-gradient) !important;
    border:1px solid rgba(var(--jaos-primary-rgb),.22) !important;
    border-radius:20px !important;
    box-shadow:
        0 4px 6px rgba(0,0,0,.35),
        0 0 0 1px rgba(255,255,255,.03) inset !important;
    overflow:hidden;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.fi-ta-content-grid .ja-catalog-card.fi-ta-panel:hover{
    transform:translateY(-4px);
    border-color:rgba(var(--jaos-accent-rgb),.45) !important;
    box-shadow:
        0 14px 36px rgba(0,0,0,.5),
        0 0 28px rgba(var(--jaos-primary-rgb),.12) !important;
}

.fi-ta-content-grid .ja-catalog-card .fi-ta-split{
    gap:1rem;
}

@media (max-width: 767px){
    .fi-ta-content-grid .ja-catalog-card .fi-ta-split{
        flex-direction:column;
    }
}

/* Galerie slider (cartes catalogue) */
.fi-ta-content-grid .ja-gallery-slider{
    position:relative;
    width:100%;
    max-width:100%;
    border-radius:14px;
    overflow:hidden;
    border:1px solid rgba(var(--jaos-primary-rgb),.2);
    background:var(--jaos-surface-2);
    box-shadow:0 6px 22px rgba(0,0,0,.45);
}

.fi-ta-content-grid .ja-gallery-slider--empty .ja-gallery-slide-img{
    display:block;
    width:100%;
    height:140px;
    object-fit:cover;
}

.fi-ta-content-grid .ja-gallery-viewport{
    overflow:hidden;
    border-radius:14px 14px 0 0;
}

.fi-ta-content-grid .ja-gallery-track{
    display:flex;
    width:100%;
    transition:transform .38s cubic-bezier(.4,0,.2,1);
    will-change:transform;
}

.fi-ta-content-grid .ja-gallery-slide{
    flex:0 0 100%;
    width:100%;
    min-height:140px;
}

.fi-ta-content-grid .ja-gallery-slide-img{
    display:block;
    width:100%;
    height:140px;
    object-fit:cover;
}

.fi-ta-content-grid .ja-gallery-chrome{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.5rem;
    padding:0.45rem 0.5rem 0.55rem;
    background:linear-gradient(180deg, rgba(12,12,12,.95), rgba(6,6,6,.98));
    border-top:1px solid rgba(var(--jaos-primary-rgb),.15);
}

.fi-ta-content-grid .ja-gallery-btn{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.1rem;
    height:2.1rem;
    border-radius:10px;
    border:1px solid rgba(var(--jaos-primary-rgb),.25);
    background:rgba(30,30,30,.9);
    color:var(--jaos-accent);
    cursor:pointer;
    transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.fi-ta-content-grid .ja-gallery-btn:hover{
    background:rgba(var(--jaos-primary-rgb),.14);
    border-color:rgba(var(--jaos-accent-rgb),.5);
    transform:scale(1.05);
}

.fi-ta-content-grid .ja-gallery-dots{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.35rem;
    flex:1;
    min-width:0;
}

.fi-ta-content-grid .ja-gallery-dot{
    width:0.45rem;
    height:0.45rem;
    border-radius:999px;
    border:none;
    padding:0;
    background:rgba(255,255,255,.22);
    cursor:pointer;
    transition:transform .2s ease, background .2s ease, width .2s ease;
}

.fi-ta-content-grid .ja-gallery-dot--active{
    background:linear-gradient(90deg,var(--jaos-accent),var(--jaos-primary));
    width:1.1rem;
    transform:scaleY(1.15);
}

.fi-ta-content-grid .ja-catalog-desc{
    margin:0;
    font-size:0.8125rem;
    line-height:1.55;
    color:rgba(232,228,220,.88);
}

.fi-ta-content-grid .ja-catalog-desc--empty{
    font-style:italic;
    color:rgba(180,175,165,.55);
}

/* Matériel de location — catalogue compact (aligné prestations) */
.fi-ta-content-grid .ja-rental-catalog-card.fi-ta-panel .fi-ta-stack{
    gap:0.45rem !important;
}

.fi-ta-content-grid .ja-rental-catalog-card .fi-ta-split{
    gap:0.75rem;
    align-items:flex-start;
}

.fi-ta-content-grid .ja-gallery-slider--compact .ja-gallery-slide-img{
    height:112px;
}

@media (min-width: 768px){
    .fi-ta-content-grid .ja-gallery-slider--compact{
        width:132px;
        flex-shrink:0;
    }

    .fi-ta-content-grid .ja-rental-catalog-card .fi-ta-split{
        flex-direction:row;
        align-items:stretch;
    }

    .fi-ta-content-grid .ja-gallery-slider--compact .ja-gallery-slide-img{
        width:132px;
        height:100%;
        min-height:112px;
        max-height:140px;
        object-fit:cover;
        border-radius:12px;
    }
}

.ja-rental-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:0.5rem;
    margin-bottom:0.1rem;
}

.ja-rental-card-head__title{
    margin:0;
    font-size:1rem;
    font-weight:700;
    line-height:1.25;
    color:var(--jaos-text);
    flex:1;
    min-width:0;
}

.ja-rental-card-head__edit{
    flex-shrink:0;
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.03em;
    text-transform:uppercase;
    text-decoration:none;
    color:var(--jaos-accent);
    padding:0.3rem 0.55rem;
    border-radius:8px;
    border:1px solid rgba(var(--jaos-primary-rgb),.28);
    background:rgba(var(--jaos-primary-rgb),.08);
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}

.ja-rental-card-head__edit:hover{
    background:rgba(var(--jaos-primary-rgb),.18);
    border-color:rgba(var(--jaos-accent-rgb),.5);
    color:var(--jaos-accent);
}

.ja-rental-prices{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.5rem 1rem;
    margin:0.15rem 0 0.1rem;
}

.ja-rental-price{
    font-weight:800;
    font-variant-numeric:tabular-nums;
    color:var(--jaos-accent);
    font-size:1.05rem;
    line-height:1.2;
}

.ja-rental-price small{
    font-size:0.72rem;
    font-weight:600;
    color:rgba(var(--jaos-accent-rgb),.75);
    margin-left:0.15rem;
}

.ja-rental-price--weekend{
    color:var(--jaos-text-soft);
    font-size:0.95rem;
}

.ja-rental-stock-row{
    display:flex;
    align-items:center;
    gap:0.4rem;
    font-size:0.8rem;
    color:rgba(220,212,195,.88);
}

.ja-rental-stock-row__lbl{
    font-size:0.68rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:rgba(180,175,165,.65);
    margin-left:0.15rem;
}

.ja-rental-stock-row__sep{
    opacity:0.45;
}

.ja-rental-stock-row__ok{
    color:#4ade80;
}

.ja-rental-stock-row__low{
    color:#f87171;
}

.fi-ta-content-grid .ja-rental-catalog-card .fi-ta-record .fi-ta-actions:empty,
.fi-ta-content-grid .ja-rental-catalog-card.fi-ta-record .fi-ta-actions{
    display:none !important;
}

/* -------------------------------------------------------------------------- */
/* Journal email (MailLogResource) — CRM noir & or                             */
/* -------------------------------------------------------------------------- */

.fi-ta .ja-mail-log-panel.fi-ta-panel{
    background:var(--jaos-panel-gradient) !important;
    border:1px solid rgba(var(--jaos-primary-rgb),.22) !important;
    border-radius:18px !important;
    box-shadow:
        0 4px 14px rgba(0,0,0,.4),
        0 0 0 1px rgba(255,255,255,.03) inset !important;
    padding:1rem 1.15rem !important;
    margin-bottom:0.65rem;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.fi-ta .ja-mail-log-panel.fi-ta-panel:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--jaos-accent-rgb),.42) !important;
    box-shadow:
        0 12px 32px rgba(0,0,0,.48),
        0 0 26px rgba(var(--jaos-primary-rgb),.1) !important;
}

.ja-mail-avatar{
    flex:0 0 auto;
    width:3rem;
    height:3rem;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg, rgba(var(--jaos-primary-rgb),.35), rgba(90,70,20,.5));
    border:1px solid rgba(var(--jaos-accent-rgb),.45);
    box-shadow:0 0 18px rgba(var(--jaos-primary-rgb),.12);
}

.ja-mail-avatar__text{
    font-size:0.95rem;
    font-weight:800;
    letter-spacing:0.04em;
    color:var(--jaos-text-soft);
}

.ja-mail-excerpt{
    margin:0;
    font-size:0.8125rem;
    line-height:1.5;
    color:rgba(200,195,185,.82);
    max-width:52rem;
}

.ja-mail-date-stack{
    text-align:right;
}

.ja-mail-date-stack__main{
    display:block;
    font-weight:700;
    font-size:0.9rem;
    color:var(--jaos-text);
    letter-spacing:0.02em;
}

.ja-mail-date-stack__sub{
    display:block;
    font-size:0.75rem;
    color:rgba(var(--jaos-primary-rgb),.85);
    margin-top:0.15rem;
}

.ja-mail-date-stack--muted .ja-mail-date-stack__main{
    color:rgba(210,205,195,.75);
    font-weight:600;
    font-size:0.8rem;
}

.ja-mail-date-stack--muted .ja-mail-date-stack__sub{
    color:rgba(160,155,145,.65);
}

.ja-mail-preview{
    padding:0.25rem 0.15rem 0.5rem;
}

.ja-mail-preview__meta{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr));
    gap:0.75rem 1rem;
    margin:0 0 1.1rem;
    padding:0 0 1rem;
    border-bottom:1px solid var(--jaos-border) !important;
}

.ja-mail-preview__meta dt{
    font-size:0.65rem;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:rgba(180,175,165,.75);
    margin:0 0 0.2rem;
}

.ja-mail-preview__meta dd{
    margin:0;
    font-size:0.875rem;
    color:var(--jaos-text-soft);
}

.ja-mail-preview__pill{
    display:inline-flex;
    padding:0.15rem 0.55rem;
    border-radius:999px;
    border:1px solid rgba(var(--jaos-primary-rgb),.35);
    background:rgba(var(--jaos-primary-rgb),.1);
    font-size:0.78rem;
    font-weight:600;
    color:var(--jaos-accent);
}

.ja-mail-preview__subject{
    margin-bottom:1rem;
}

.ja-mail-preview__subject-label,
.ja-mail-preview__body-label{
    font-size:0.65rem;
    text-transform:uppercase;
    letter-spacing:0.14em;
    color:rgba(var(--jaos-primary-rgb),.75);
}

.ja-mail-preview__subject-text{
    margin:0.35rem 0 0;
    font-size:1.05rem;
    font-weight:700;
    color:var(--jaos-text);
    line-height:1.35;
}

.ja-mail-preview__body{
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.35);
    padding:0.85rem 1rem;
}

.ja-mail-preview__html{
    margin-top:0.45rem;
    font-size:0.875rem;
    line-height:1.55;
    color:rgba(228,222,210,.92);
    max-height:min(52vh, 28rem);
    overflow:auto;
}

.ja-mail-preview__empty{
    margin:0.35rem 0 0;
    font-style:italic;
    color:rgba(170,165,155,.65);
}

.ja-mail-timeline{
    position:relative;
    padding:0.35rem 0 0.15rem 1.6rem;
}

.ja-mail-timeline__item{
    position:relative;
    padding-bottom:1.1rem;
    opacity:0.55;
}

.ja-mail-timeline__item--done{
    opacity:1;
}

.ja-mail-timeline__dot{
    position:absolute;
    left:-1.35rem;
    top:0.35rem;
    width:0.55rem;
    height:0.55rem;
    border-radius:999px;
    background:rgba(120,115,105,.5);
    border:1px solid rgba(255,255,255,.12);
}

.ja-mail-timeline__item--done .ja-mail-timeline__dot{
    background:linear-gradient(145deg,var(--jaos-accent),var(--jaos-primary));
    border-color:rgba(255,220,140,.45);
    box-shadow:0 0 10px rgba(var(--jaos-primary-rgb),.35);
}

.ja-mail-timeline__line{
    position:absolute;
    left:-1.08rem;
    top:1rem;
    bottom:1.4rem;
    width:2px;
    background:linear-gradient(180deg, rgba(var(--jaos-primary-rgb),.45), rgba(80,75,65,.25));
    border-radius:2px;
}

.ja-mail-timeline__title{
    display:block;
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:rgba(var(--jaos-primary-rgb),.8);
}

.ja-mail-timeline__time{
    display:block;
    margin-top:0.2rem;
    font-size:0.875rem;
    color:var(--jaos-text-soft);
}

@media (max-width: 1023px){
    .ja-mail-date-stack{
        text-align:left;
        margin-top:0.35rem;
    }

    .fi-ta .ja-mail-log-panel .fi-ta-split{
        flex-direction:column;
        align-items:flex-start !important;
    }
}

/* -------------------------------------------------------------------------- */
/* Listes CRM (évènements, clients, factures, devis) — cartes noir & or       */
/* -------------------------------------------------------------------------- */

.fi-ta .ja-event-panel.fi-ta-panel,
.fi-ta .ja-client-panel.fi-ta-panel,
.fi-ta .ja-invoice-panel.fi-ta-panel,
.fi-ta .ja-quote-panel.fi-ta-panel{
    background:var(--jaos-panel-gradient) !important;
    border:1px solid rgba(var(--jaos-primary-rgb),.22) !important;
    border-radius:18px !important;
    box-shadow:
        0 4px 14px rgba(0,0,0,.4),
        0 0 0 1px rgba(255,255,255,.03) inset !important;
    padding:1.1rem 1.25rem !important;
    margin-bottom:0.75rem;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.fi-ta .ja-event-panel.fi-ta-panel:hover,
.fi-ta .ja-client-panel.fi-ta-panel:hover,
.fi-ta .ja-invoice-panel.fi-ta-panel:hover,
.fi-ta .ja-quote-panel.fi-ta-panel:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--jaos-accent-rgb),.42) !important;
    box-shadow:
        0 12px 32px rgba(0,0,0,.48),
        0 0 26px rgba(var(--jaos-primary-rgb),.1) !important;
}

.fi-ta .ja-event-panel .fi-ta-split,
.fi-ta .ja-client-panel .fi-ta-split,
.fi-ta .ja-invoice-panel .fi-ta-split,
.fi-ta .ja-quote-panel .fi-ta-split{
    gap:1.35rem !important;
    align-items:flex-start !important;
}

.ja-event-client{
    display:inline-block;
    margin-top:0.35rem;
    font-size:0.8125rem;
    font-weight:500;
    color:rgba(200,195,185,.88);
    letter-spacing:0.01em;
}

.ja-event-montant{
    display:inline-block;
    font-size:1.1rem;
    font-weight:800;
    color:var(--jaos-accent);
    letter-spacing:0.02em;
    text-shadow:0 0 20px rgba(var(--jaos-primary-rgb),.15);
}

.ja-crud-title{
    font-size:1.05rem;
    font-weight:800;
    color:var(--jaos-text);
    letter-spacing:0.02em;
}

.ja-crud-sub{
    display:inline-block;
    margin-top:0.35rem;
    font-size:0.875rem;
    font-weight:600;
    color:rgba(220,212,195,.92);
}

.ja-event-montant--option{
    font-size:0.78rem;
    font-weight:800;
    letter-spacing:0.18em;
    color:var(--jaos-accent);
    padding:0.2rem 0.55rem;
    border-radius:8px;
    border:1px solid rgba(var(--jaos-primary-rgb),.4);
    background:rgba(var(--jaos-primary-rgb),.1);
}

.ja-event-payment-block{
    text-align:right;
    max-width:16rem;
    margin-left:auto;
}

.ja-event-payment-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:0.35rem 0.5rem;
    margin-bottom:0.35rem;
    font-size:0.78rem;
    color:rgba(210,205,195,.9);
}

.ja-event-payment-row--acompte{
    padding-bottom:0.25rem;
    border-bottom:1px solid rgba(var(--jaos-primary-rgb),.12);
    margin-bottom:0.45rem;
}

.ja-event-payment-row--balance{
    margin-top:0.25rem;
    margin-bottom:0;
}

.ja-event-payment-sublabel{
    width:100%;
    text-align:right;
    font-size:0.62rem;
    font-weight:500;
    color:rgba(150,145,135,.9);
    line-height:1.25;
}

.ja-event-payment-label{
    width:100%;
    text-align:right;
    font-size:0.68rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:rgba(160,155,145,.95);
}

.ja-event-payment-value{
    font-weight:700;
    color:#e8e4dc;
}

.ja-event-montant-secondary{
    display:inline-block;
    font-size:1rem;
    font-weight:800;
    color:#c8e6c9;
    letter-spacing:0.02em;
}

.ja-event-acompte-badge{
    display:inline-block;
    font-size:0.62rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    padding:0.12rem 0.4rem;
    border-radius:6px;
    white-space:nowrap;
}

.ja-event-acompte-badge--ok{
    color:#86efac;
    border:1px solid rgba(74,222,128,.35);
    background:rgba(34,197,94,.08);
}

.ja-event-acompte-badge--wait{
    color:#fcd34d;
    border:1px solid rgba(252,211,77,.35);
    background:rgba(250,204,21,.08);
}

.ja-event-payment-hint{
    margin:0.5rem 0 0;
    font-size:0.68rem;
    line-height:1.35;
    color:rgba(170,165,155,.95);
    text-align:right;
}

@media (max-width: 1023px){
    .fi-ta .ja-event-panel .fi-ta-split,
    .fi-ta .ja-client-panel .fi-ta-split,
    .fi-ta .ja-invoice-panel .fi-ta-split,
    .fi-ta .ja-quote-panel .fi-ta-split{
        flex-direction:column !important;
    }
}

/* Formulaire évènement (création / édition) */
.fi-section.ja-event-form-section{
    border:1px solid rgba(var(--jaos-primary-rgb),.14) !important;
    border-radius:16px !important;
    background:var(--jaos-surface) !important;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
}

.fi-section.ja-event-form-section .fi-section-header-heading{
    color:var(--jaos-text) !important;
    font-weight:700 !important;
    letter-spacing:0.02em;
}

.fi-section.ja-event-form-section .fi-section-header-description{
    color:rgba(200,195,185,.82) !important;
    font-size:0.8125rem !important;
    line-height:1.45;
}

.fi-section.ja-event-form-section .fi-section-header-icon{
    color:var(--jaos-accent) !important;
}

/* Rendez-vous — section Logistique / installation matériel */
.fi-section.ja-appointment-logistique-section{
    border:1px solid rgba(230,126,34,.35) !important;
    border-radius:16px !important;
    background:var(--jaos-surface-2) !important;
    box-shadow:0 6px 20px rgba(0,0,0,.28);
    margin-bottom:0.5rem !important;
}

.fi-section.ja-appointment-logistique-section .fi-section-header-heading{
    color:var(--jaos-text) !important;
    font-weight:700 !important;
}

.fi-section.ja-appointment-logistique-section .fi-section-header-description{
    color:rgba(200,195,185,.82) !important;
    font-size:0.8125rem !important;
}

.fi-section.ja-appointment-logistique-section .fi-section-header-icon{
    color:#e67e22 !important;
}

.fi-section.ja-appointment-logistique-section .fi-fo-field-wrp-helper-text{
    color:rgba(200,195,185,.78) !important;
}

@media (max-width: 768px){
    .fi-section.ja-appointment-logistique-section{
        margin-bottom:0.75rem !important;
    }
}

/* Paramètres entreprise (page Settings) */
.fi-section.ja-settings-section{
    border:1px solid rgba(var(--jaos-primary-rgb),.14) !important;
    border-radius:16px !important;
    background:var(--jaos-surface) !important;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
}

.fi-section.ja-settings-section .fi-section-header-heading{
    color:var(--jaos-text) !important;
    font-weight:700 !important;
}

.fi-section.ja-settings-section .fi-section-header-description{
    color:rgba(200,195,185,.82) !important;
    font-size:0.8125rem !important;
    line-height:1.45;
}

.fi-section.ja-settings-section .fi-section-header-icon{
    color:var(--jaos-accent) !important;
}

/* Sous-titres de page (listes, planning) */
.fi-header-subheading{
    max-width:52rem;
    color:rgba(200,195,185,.88) !important;
    font-size:0.9375rem !important;
    line-height:1.55 !important;
    margin-top:0.35rem !important;
}

/* -------------------------------------------------------------------------- */
/* Planning général (FullCalendar) — voir public/css/ja-calendar.css          */
/* -------------------------------------------------------------------------- */

/* Sélection créneaux (réservation publique / propositions) */
.ja-calendar-shell--selectable{
    position:relative;
    touch-action:manipulation;
}

.ja-calendar-shell--selectable .fc{
    position:relative;
    z-index:5;
}

.ja-calendar-shell--selectable .fc .fc-scrollgrid,
.ja-calendar-shell--selectable .fc .fc-view-harness,
.ja-calendar-shell--selectable .fc .fc-timegrid-slot,
.ja-calendar-shell--selectable .fc .fc-timegrid-col,
.ja-calendar-shell--selectable .fc .fc-daygrid-day-frame{
    pointer-events:auto;
}

.ja-calendar-shell--selectable .fc-event:not(.ja-cal-proposal-slot){
    pointer-events:none !important;
}

.ja-calendar-shell--selectable .fc .fc-bg-event{
    pointer-events:none !important;
}

.ja-calendar-shell .fc-event.ja-cal-proposal-slot,
.ja-calendar-shell .fc-bg-event.ja-cal-proposal-slot{
    background:linear-gradient(135deg, var(--jaos-accent) 0%, var(--jaos-primary) 55%, var(--jaos-primary) 100%) !important;
    border:2px solid rgba(var(--jaos-accent-rgb),.9) !important;
    color:#1a1508 !important;
    font-weight:700;
    box-shadow:0 2px 12px rgba(var(--jaos-primary-rgb),.35);
}

.ja-calendar-shell .fc-event.ja-cal-proposal-slot .fc-event-title{
    color:#1a1508 !important;
}

.ja-calendar-shell .fc .fc-highlight{
    background:rgba(var(--jaos-primary-rgb),.28) !important;
}

.ja-calendar-shell .fc .fc-event-mirror{
    background:rgba(var(--jaos-accent-rgb),.45) !important;
    border:2px dashed var(--jaos-accent) !important;
}

/* ===================== */
/* DASHBOARD JA EVENT     */
/* ===================== */

.fi-page-dashboard .fi-wi-table{
    border:1px solid rgba(var(--jaos-primary-rgb),.16);
    border-radius:16px;
    background:var(--jaos-surface);
    backdrop-filter:blur(10px);
    box-shadow:0 4px 24px rgba(0,0,0,.25);
}

.fi-page-dashboard .fi-wi-table .fi-section-header{
    border-bottom:1px solid rgba(var(--jaos-primary-rgb),.12);
    padding-bottom:0.35rem;
}

.fi-page-dashboard .fi-wi-table .fi-section-header-heading{
    font-size:1rem;
    font-weight:700;
    letter-spacing:0.02em;
    color:var(--jaos-accent);
}

.fi-page-dashboard .fi-wi-stats-overview{
    border:1px solid rgba(var(--jaos-primary-rgb),.14);
    border-radius:16px;
    background:var(--jaos-surface);
    backdrop-filter:blur(8px);
}

.fi-page-dashboard .fi-wi-stats-overview-stat{
    border-radius:12px;
}

/* Grille évènements (cartes carrées) */
.ja-dashboard-events-wrap{
    padding:1rem 1.1rem 1.25rem;
}

.ja-dashboard-events-head{
    margin-bottom:1rem;
}

.ja-dashboard-events-title{
    margin:0;
    font-size:1.05rem;
    font-weight:800;
    letter-spacing:0.04em;
    color:var(--jaos-accent);
    text-transform:uppercase;
}

.ja-dashboard-events-sub{
    margin:0.35rem 0 0;
    font-size:0.8rem;
    color:#8a8a8a;
}

.ja-dashboard-events-empty{
    padding:1.5rem 1rem;
    text-align:center;
    font-size:0.9rem;
    color:#7a7a7a;
    border:1px dashed rgba(var(--jaos-primary-rgb),.2);
    border-radius:12px;
}

.ja-dashboard-events-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
    gap:0.75rem;
}

.ja-dashboard-event-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    min-height:148px;
    padding:0.85rem 0.75rem;
    border-radius:14px;
    border:1px solid rgba(var(--jaos-primary-rgb),.18);
    background:linear-gradient(165deg,rgba(22,22,22,.95),rgba(8,8,8,.88));
    text-decoration:none;
    color:#e8e4dc;
    transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
    position:relative;
    overflow:hidden;
}

.ja-dashboard-event-card:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--jaos-accent-rgb),.45);
    box-shadow:0 8px 28px rgba(var(--jaos-primary-rgb),.12);
}

.ja-dashboard-event-date{
    font-size:0.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--jaos-primary);
    margin-bottom:0.45rem;
}

.ja-dashboard-event-title{
    font-size:0.82rem;
    font-weight:700;
    line-height:1.3;
    color:var(--jaos-text);
    flex:1;
}

.ja-dashboard-event-client{
    font-size:0.72rem;
    color:#9a9a9a;
    margin-top:0.5rem;
    line-height:1.25;
}

.ja-dashboard-event-badge{
    margin-top:auto;
    padding-top:0.55rem;
    font-size:0.65rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:#a89a6a;
}

/* -------------------------------------------------------------------------- */
/* Module Location (JA EVENT)                                                 */
/* -------------------------------------------------------------------------- */

/* ja-rental-panel : réservations (liste planning) — conservé */
.fi-ta:not(.fi-ta-content-grid) .ja-rental-panel.fi-ta-panel{
    background:var(--jaos-panel-gradient) !important;
    border:1px solid rgba(var(--jaos-primary-rgb),.24) !important;
    border-radius:18px !important;
    box-shadow:
        0 4px 14px rgba(0,0,0,.45),
        0 0 0 1px rgba(255,255,255,.03) inset !important;
    padding:1rem 1.15rem !important;
    margin-bottom:0.65rem;
    transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.fi-ta:not(.fi-ta-content-grid) .ja-rental-panel.fi-ta-panel:hover{
    transform:translateY(-1px);
    border-color:rgba(var(--jaos-accent-rgb),.42) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.42), 0 0 22px rgba(var(--jaos-primary-rgb),.08) !important;
}

.ja-rental-timeline{display:flex;flex-wrap:wrap;gap:.25rem .35rem;margin-top:.35rem}
.ja-rental-timeline__step{display:inline-flex;align-items:center;gap:.25rem;font-size:.64rem;color:#64748b;padding:.15rem .35rem;border-radius:999px;background:rgba(255,255,255,.04)}
.ja-rental-timeline__step--done{color:#86efac}
.ja-rental-timeline__step--current{color:#e9d5ff;background:rgba(124,77,255,.16)}
.ja-rental-timeline__dot{width:.4rem;height:.4rem;border-radius:999px;background:currentColor}

.ja-rental-stock{
    font-size:0.78rem;
    font-weight:700;
    color:var(--jaos-accent);
}

.ja-rental-planning{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.ja-rental-planning__toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:0.75rem;
}

.ja-rental-planning__hint{
    font-size:0.8rem;
    color:rgba(200,195,185,.85);
}

.ja-rental-planning__modes{
    display:flex;
    gap:0.35rem;
}

.ja-rental-planning__modes button{
    border-radius:999px;
    border:1px solid rgba(var(--jaos-primary-rgb),.28);
    background:rgba(0,0,0,.35);
    color:var(--jaos-text-soft);
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:0.35rem 0.85rem;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}

.ja-rental-planning__modes button.is-active{
    background:rgba(var(--jaos-primary-rgb),.16);
    border-color:rgba(var(--jaos-accent-rgb),.55);
    color:var(--jaos-accent);
}

.ja-rental-planning__grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:0.75rem;
}

.ja-rental-planning__card{
    border-radius:14px;
    border:1px solid rgba(var(--jaos-primary-rgb),.2);
    background:var(--jaos-surface);
    padding:0.75rem 0.85rem;
    box-shadow:0 4px 14px rgba(0,0,0,.35);
    transition:transform .15s ease, border-color .15s ease;
}

.ja-rental-planning__card:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--jaos-accent-rgb),.45);
}

.ja-rental-planning__card--ok{ border-left:3px solid #4ade80; }
.ja-rental-planning__card--wait{ border-left:3px solid #fbbf24; }
.ja-rental-planning__card--draft{ border-left:3px solid #9ca3af; }

.ja-rental-planning__card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:0.35rem;
}

.ja-rental-planning__badge{
    font-size:0.62rem;
    font-weight:800;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#d4c49a;
}

.ja-rental-planning__qty{
    font-size:0.72rem;
    font-weight:800;
    color:var(--jaos-accent);
}

.ja-rental-planning__title{
    margin:0;
    font-size:0.95rem;
    font-weight:800;
    color:var(--jaos-text);
}

.ja-rental-planning__dates{
    margin:0.35rem 0 0;
    font-size:0.78rem;
    color:rgba(220,212,195,.92);
}

.ja-rental-planning__client{
    margin:0.25rem 0 0;
    font-size:0.72rem;
    color:rgba(170,165,155,.95);
}

.ja-rental-planning__empty{
    font-size:0.85rem;
    color:rgba(200,195,185,.85);
}

.ja-rental-planning__rdv{
    margin:0.5rem 0 0;
    font-size:0.72rem;
    line-height:1.45;
    color:rgba(210,205,195,.95);
}

.ja-rental-planning__badge--install{
    display:inline-block;
    margin-right:0.35rem;
    padding:0.12rem 0.45rem;
    border-radius:999px;
    background:rgba(230,126,34,.2);
    border:1px solid rgba(230,126,34,.45);
    color:var(--jaos-accent);
}

.ja-rental-planning__badge--location{
    display:inline-block;
    margin-right:0.35rem;
    padding:0.12rem 0.45rem;
    border-radius:999px;
    background:rgba(124,58,237,.2);
    border:1px solid rgba(124,58,237,.4);
    color:#ddd6fe;
}

.fi-section.ja-appointment-rental-section,
.fi-section.ja-rental-liaison-section{
    border:1px solid rgba(var(--jaos-primary-rgb),.18) !important;
    border-radius:16px !important;
    background:var(--jaos-surface-2) !important;
}

.fi-section.ja-appointment-rental-section .fi-section-header-icon,
.fi-section.ja-rental-liaison-section .fi-section-header-icon{
    color:var(--jaos-accent) !important;
}

.ja-cal-event--installation .fc-event-title,
.ja-cal-event--rental .fc-event-title{
    font-weight:700;
}

/* =============================================================================
   JAOS — Page de connexion (dark premium, centré, responsive)
   ============================================================================= */

.fi-simple-layout {
    min-height: 100dvh;
    background:
        radial-gradient(60% 50% at 50% -10%, rgba(99, 102, 241, 0.14), transparent 55%),
        radial-gradient(40% 35% at 90% 10%, rgba(245, 158, 11, 0.08), transparent 50%),
        var(--jaos-bg);
}

.fi-simple-main-ctn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100dvh - 2rem);
    padding: 1.5rem 1rem 2.5rem;
}

.fi-simple-main {
    width: 100%;
    max-width: 26rem;
}

.fi-simple-page {
    margin-inline: auto;
}

.fi-simple-header {
    text-align: center;
    margin-bottom: 1.75rem;
}

.fi-simple-header .fi-logo,
.fi-simple-header img.fi-logo {
    margin-inline: auto;
    width: min(100%, 22rem);
    height: auto !important;
    max-height: 5rem;
    object-fit: contain;
    filter: drop-shadow(0 0 28px rgba(99, 102, 241, 0.35));
}

.fi-simple-header-heading {
    margin-top: 1.25rem !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #f4f4f5 !important;
}

.fi-simple-header-subheading {
    margin-top: 0.5rem !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: #a1a1aa !important;
}

.fi-simple-page-content .fi-section {
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}

@media (max-width: 480px) {
    .fi-simple-header .fi-logo,
    .fi-simple-header img.fi-logo {
        max-height: 3.75rem;
    }

    .fi-simple-header-heading {
        font-size: 1.2rem !important;
    }
}

@media (max-width: 1023px){
    .fi-ta .ja-rental-panel .fi-ta-split{
        flex-direction:column !important;
    }
}

/* ── Wizard réservation pack (mobile-first) ── */
.ja-rental-wizard-packs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));
    gap:.75rem;
}
.ja-rental-wizard-pack-card{
    position:relative;
    display:flex;
    flex-direction:column;
    border-radius:1rem;
    border:2px solid rgba(148,163,184,.16);
    background:rgba(15,23,42,.72);
    overflow:hidden;
    transition:border-color .15s,box-shadow .15s,transform .15s;
}
.ja-rental-wizard-pack-card:hover{ border-color:rgba(124,77,255,.35); transform:translateY(-1px); }
.ja-rental-wizard-pack-card--selected{
    border-color:#a78bfa;
    box-shadow:0 0 0 1px rgba(167,139,250,.35),0 8px 24px rgba(124,77,255,.15);
}
.ja-rental-wizard-pack-card--detail{ border-color:#c4b5fd; }
.ja-rental-wizard-pack-card__badges{
    display:flex;
    flex-wrap:wrap;
    gap:.3rem;
    padding:.55rem .65rem 0;
}
.ja-rental-wizard-pack-badge{
    font-size:.58rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:.2rem .45rem;
    border-radius:999px;
}
.ja-rental-wizard-pack-badge--fire{ background:rgba(239,68,68,.18); color:#fca5a5; }
.ja-rental-wizard-pack-badge--gold{ background:rgba(245,158,11,.18); color:#fcd34d; }
.ja-rental-wizard-pack-badge--purple{ background:rgba(124,77,255,.2); color:#c4b5fd; }
.ja-rental-wizard-pack-card__body{
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:.75rem .85rem;
    border:0;
    background:transparent;
    text-align:left;
    cursor:pointer;
    width:100%;
    color:inherit;
}
.ja-rental-wizard-pack-card__icon{ font-size:2rem; line-height:1; }
.ja-rental-wizard-pack-card__name{ margin:0; font-size:1rem; font-weight:800; color:#fff; }
.ja-rental-wizard-pack-card__desc{ margin:0; font-size:.76rem; color:#94a3b8; line-height:1.4; }
.ja-rental-wizard-pack-card__includes{
    list-style:none;
    margin:.35rem 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.15rem;
}
.ja-rental-wizard-pack-card__includes li{
    font-size:.68rem;
    color:#cbd5e1;
    padding-left:.65rem;
    position:relative;
}
.ja-rental-wizard-pack-card__includes li::before{
    content:'•';
    position:absolute;
    left:0;
    color:#a78bfa;
}
.ja-rental-wizard-pack-card__more{ color:#64748b !important; font-style:italic; }
.ja-rental-wizard-pack-card__pricing{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.35rem;
    margin-top:.45rem;
    padding:.55rem;
    border-radius:.65rem;
    background:rgba(0,0,0,.2);
}
.ja-rental-wizard-pack-card__label{
    display:block;
    font-size:.58rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#64748b;
    font-weight:700;
}
.ja-rental-wizard-pack-card__pricing strong{
    display:block;
    margin-top:.1rem;
    font-size:.82rem;
    color:#f1f5f9;
}
.ja-rental-wizard-pack-card__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.4rem;
    padding:.55rem .65rem .65rem;
    border-top:1px solid rgba(148,163,184,.1);
}
.ja-rental-wizard-pack-card__btn{
    padding:.5rem .65rem;
    border-radius:.65rem;
    font-size:.75rem;
    font-weight:700;
    cursor:pointer;
    border:1px solid transparent;
}
.ja-rental-wizard-pack-card__btn--ghost{
    background:rgba(255,255,255,.04);
    border-color:rgba(148,163,184,.2);
    color:#cbd5e1;
}
.ja-rental-wizard-pack-card__btn--primary{
    background:linear-gradient(135deg,#7c4dff,#6366f1);
    color:#fff;
}
.ja-rental-wizard-pack-card__btn--selected{
    background:rgba(34,197,94,.18);
    border-color:rgba(34,197,94,.35);
    color:#86efac;
}

/* Panneau détail pack */
.ja-rental-wizard-pack-detail-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:40;
    backdrop-filter:blur(2px);
}
.ja-rental-wizard-pack-detail{
    position:fixed;
    z-index:50;
    top:0;
    right:0;
    bottom:0;
    width:min(100%,22rem);
    background:rgba(15,23,42,.98);
    border-left:1px solid rgba(124,77,255,.3);
    overflow-y:auto;
    padding:1rem;
    box-shadow:-12px 0 40px rgba(0,0,0,.4);
    animation:ja-rental-slide-in .2s ease;
}
@keyframes ja-rental-slide-in{
    from{ transform:translateX(100%); }
    to{ transform:translateX(0); }
}
.ja-rental-wizard-pack-detail__head{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.65rem;
    align-items:start;
    margin-bottom:1rem;
}
.ja-rental-wizard-pack-detail__close{
    position:absolute;
    top:.75rem;
    right:.75rem;
    border:0;
    background:rgba(255,255,255,.06);
    color:#94a3b8;
    width:2rem;
    height:2rem;
    border-radius:999px;
    cursor:pointer;
}
.ja-rental-wizard-pack-detail__icon{ font-size:2.25rem; grid-row:span 2; }
.ja-rental-wizard-pack-detail__head h2{ margin:0; font-size:1.05rem; color:#fff; }
.ja-rental-wizard-pack-detail__head p{ margin:.25rem 0 0; font-size:.78rem; color:#94a3b8; line-height:1.4; }
.ja-rental-wizard-pack-detail__stats{
    display:grid;
    grid-template-columns:1fr;
    gap:.45rem;
    margin-bottom:1rem;
}
.ja-rental-wizard-pack-detail__stats div{
    display:flex;
    justify-content:space-between;
    padding:.5rem .65rem;
    border-radius:.55rem;
    background:rgba(124,77,255,.08);
    font-size:.78rem;
    color:#94a3b8;
}
.ja-rental-wizard-pack-detail__stats strong{ color:#f1f5f9; }
.ja-rental-wizard-pack-detail__items h3{
    margin:0 0 .55rem;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#a78bfa;
}
.ja-rental-wizard-pack-detail__items ul{
    list-style:none;
    margin:0 0 1rem;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.35rem;
}
.ja-rental-wizard-pack-detail__items li{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:.5rem;
    padding:.45rem .55rem;
    border-radius:.5rem;
    background:rgba(255,255,255,.03);
    font-size:.78rem;
}
.ja-rental-wizard-pack-detail__item-name{ color:#e2e8f0; }
.ja-rental-wizard-pack-detail__item-qty{ color:#64748b; }
.ja-rental-wizard-pack-detail__item-price{ color:#c4b5fd; font-weight:700; }
.ja-rental-wizard-pack-detail__value{
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:.75rem;
    border-radius:.75rem;
    border:1px solid rgba(124,77,255,.25);
    margin-bottom:1rem;
}
.ja-rental-wizard-pack-detail__value div{
    display:flex;
    justify-content:space-between;
    font-size:.8rem;
    color:#94a3b8;
}
.ja-rental-wizard-pack-detail__value strong{ color:#fcd34d; font-size:.95rem; }
.ja-rental-wizard-pack-detail__foot{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem;
    position:sticky;
    bottom:0;
    padding-top:.75rem;
    background:linear-gradient(transparent,rgba(15,23,42,.98) 30%);
}

/* Options e-commerce */
.ja-rental-wizard-product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));
    gap:.65rem;
    margin-bottom:1rem;
}
.ja-rental-wizard-product{
    display:flex;
    flex-direction:column;
    padding:.75rem;
    border-radius:.85rem;
    border:1px solid rgba(148,163,184,.16);
    background:rgba(15,23,42,.55);
    transition:border-color .15s,transform .15s;
}
.ja-rental-wizard-product--in-cart{
    border-color:rgba(34,197,94,.35);
    background:rgba(34,197,94,.06);
}
.ja-rental-wizard-product__visual{
    width:2.5rem;
    height:2.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:.65rem;
    background:rgba(124,77,255,.15);
    font-size:1.25rem;
    margin-bottom:.45rem;
}
.ja-rental-wizard-product__name{
    margin:0 0 .25rem;
    font-size:.82rem;
    font-weight:700;
    color:#fff;
    line-height:1.25;
}
.ja-rental-wizard-product__desc{
    margin:0 0 .45rem;
    font-size:.68rem;
    color:#94a3b8;
    line-height:1.35;
    flex:1;
}
.ja-rental-wizard-product__price{
    margin:0 0 .55rem;
    font-size:1rem;
    font-weight:800;
    color:#c4b5fd;
}
.ja-rental-wizard-product__price small{ font-size:.65rem; font-weight:600; color:#94a3b8; }
.ja-rental-wizard-product__add{
    width:100%;
    padding:.5rem;
    border-radius:.55rem;
    border:0;
    background:linear-gradient(135deg,#7c4dff,#6366f1);
    color:#fff;
    font-weight:700;
    font-size:.75rem;
    cursor:pointer;
}
.ja-rental-wizard-product__cart-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.35rem;
}
.ja-rental-wizard-qty__val{
    min-width:1.5rem;
    text-align:center;
    font-weight:800;
    color:#fff;
    font-size:.82rem;
}
.ja-rental-wizard-product__remove{
    border:0;
    background:transparent;
    color:#fca5a5;
    font-size:.68rem;
    font-weight:700;
    cursor:pointer;
}
.ja-rental-wizard-cart-compact{
    margin-top:1rem;
    padding:.75rem;
    border-radius:.75rem;
    background:rgba(124,77,255,.08);
    border:1px solid rgba(124,77,255,.2);
}
.ja-rental-wizard-cart-compact h3{
    margin:0 0 .5rem;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#a78bfa;
}
.ja-rental-wizard-cart-compact__row{
    display:flex;
    justify-content:space-between;
    font-size:.78rem;
    color:#cbd5e1;
    padding:.25rem 0;
}
.ja-rental-wizard-sidebar__duration{
    margin:0;
    font-size:.82rem;
    font-weight:700;
    color:#c4b5fd;
}

.ja-rental-wizard-hint{ margin:0 0 .75rem; font-size:.82rem; color:#94a3b8; }
.ja-rental-wizard-empty{ margin:0; padding:1rem; border-radius:.75rem; background:rgba(255,255,255,.04); color:#94a3b8; font-size:.85rem; }

.ja-rental-wizard-pricing{
    margin-top:1rem;
    padding:1rem;
    border-radius:1rem;
    border:1px solid rgba(124,77,255,.25);
    background:rgba(15,23,42,.5);
}
.ja-rental-wizard-pricing__row{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:.45rem 0;
    font-size:.88rem;
    color:#cbd5e1;
    border-bottom:1px solid rgba(148,163,184,.12);
}
.ja-rental-wizard-pricing__row:last-child{ border-bottom:0; }
.ja-rental-wizard-pricing__row strong{ color:#f8fafc; font-size:1rem; }
.ja-rental-wizard-pricing__row--solde strong{ color:#c4b5fd; font-size:1.1rem; }

.ja-rental-wizard-recap{
    margin-top:.75rem;
    padding:.85rem 1rem;
    border-radius:.75rem;
    background:rgba(124,77,255,.08);
    font-size:.85rem;
    color:#cbd5e1;
}
.ja-rental-wizard-recap p{ margin:.25rem 0; }

/* ── Wizard layout + sidebar récap ── */
.ja-rental-wizard-layout{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.ja-rental-wizard-layout__main{ min-width:0; flex:1; }

.ja-rental-wizard-sidebar{
    order:-1;
}
.ja-rental-wizard-sidebar__inner{
    padding:1rem;
    border-radius:1rem;
    border:1px solid rgba(124,77,255,.25);
    background:rgba(15,23,42,.65);
    position:sticky;
    top:.5rem;
}
.ja-rental-wizard-sidebar__title{
    margin:0 0 .75rem;
    font-size:.95rem;
    font-weight:800;
    color:#fff;
}
.ja-rental-wizard-sidebar__preview{
    margin:0 0 .75rem;
    padding:.5rem .65rem;
    border-radius:.5rem;
    background:rgba(245,158,11,.1);
    color:#fcd34d;
    font-size:.72rem;
    line-height:1.35;
}
.ja-rental-wizard-sidebar__block{
    margin-bottom:.85rem;
    padding-bottom:.75rem;
    border-bottom:1px solid rgba(148,163,184,.12);
}
.ja-rental-wizard-sidebar__block h3{
    margin:0 0 .4rem;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#a78bfa;
    font-weight:700;
}
.ja-rental-wizard-sidebar__pack-name{
    margin:0;
    font-size:.88rem;
    font-weight:700;
    color:#f1f5f9;
}
.ja-rental-wizard-sidebar__meta{
    margin:.2rem 0 0;
    font-size:.75rem;
    color:#94a3b8;
}
.ja-rental-wizard-sidebar__list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.3rem;
}
.ja-rental-wizard-sidebar__list li{
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    font-size:.78rem;
    color:#cbd5e1;
}
.ja-rental-wizard-sidebar__line-price{
    color:#c4b5fd;
    font-weight:700;
    white-space:nowrap;
}
.ja-rental-wizard-sidebar__totals{
    display:flex;
    flex-direction:column;
    gap:.35rem;
}
.ja-rental-wizard-sidebar__total-row{
    display:flex;
    justify-content:space-between;
    gap:.75rem;
    font-size:.82rem;
    color:#94a3b8;
}
.ja-rental-wizard-sidebar__total-row strong{
    color:#f8fafc;
    font-size:.92rem;
}
.ja-rental-wizard-sidebar__total-row--accent strong{
    color:#c4b5fd;
    font-size:1rem;
}

/* ── Section matériel complémentaire ── */
.ja-rental-wizard-section__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    margin-bottom:.75rem;
}
.ja-rental-wizard-section__head h2{
    margin:0;
    font-size:1rem;
    font-weight:800;
    color:#fff;
}
.ja-rental-wizard-preview-badge{
    font-size:.65rem;
    padding:.2rem .45rem;
    border-radius:999px;
    background:rgba(245,158,11,.15);
    color:#fcd34d;
    font-weight:700;
}

.ja-rental-wizard-search{ margin-bottom:.65rem; }
.ja-rental-wizard-search__input{
    width:100%;
    padding:.65rem .85rem;
    border-radius:.75rem;
    border:1px solid rgba(148,163,184,.25);
    background:rgba(15,23,42,.55);
    color:#f1f5f9;
    font-size:.88rem;
}
.ja-rental-wizard-search__input:focus{
    outline:none;
    border-color:#a78bfa;
    box-shadow:0 0 0 2px rgba(167,139,250,.25);
}

.ja-rental-wizard-search-results{
    display:flex;
    flex-direction:column;
    gap:.35rem;
    margin-bottom:.85rem;
    max-height:12rem;
    overflow-y:auto;
}
.ja-rental-wizard-search-item{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:.5rem;
    align-items:center;
    padding:.55rem .75rem;
    border-radius:.65rem;
    border:1px solid rgba(148,163,184,.18);
    background:rgba(15,23,42,.45);
    text-align:left;
    cursor:pointer;
    transition:border-color .15s,background .15s;
}
.ja-rental-wizard-search-item:hover{
    border-color:rgba(124,77,255,.4);
    background:rgba(124,77,255,.08);
}
.ja-rental-wizard-search-item__name{ font-size:.82rem; color:#e2e8f0; font-weight:600; }
.ja-rental-wizard-search-item__price{ font-size:.72rem; color:#a78bfa; }
.ja-rental-wizard-search-item__add{
    font-size:.68rem;
    font-weight:700;
    color:#86efac;
    padding:.2rem .45rem;
    border-radius:999px;
    background:rgba(34,197,94,.12);
}

.ja-rental-wizard-cart{
    border:1px solid rgba(148,163,184,.14);
    border-radius:.85rem;
    overflow:hidden;
    margin-bottom:.85rem;
}
.ja-rental-wizard-cart__head,
.ja-rental-wizard-cart__row{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(4rem,.8fr) minmax(5.5rem,1fr) minmax(4rem,.8fr) 2rem;
    gap:.35rem;
    align-items:center;
    padding:.55rem .65rem;
}
.ja-rental-wizard-cart__head{
    background:rgba(124,77,255,.1);
    font-size:.62rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#a78bfa;
    font-weight:700;
}
.ja-rental-wizard-cart__row{
    border-top:1px solid rgba(148,163,184,.1);
    font-size:.78rem;
    color:#cbd5e1;
}
.ja-rental-wizard-cart__name{ font-weight:600; color:#f1f5f9; }
.ja-rental-wizard-cart__unit{ font-size:.72rem; color:#94a3b8; }
.ja-rental-wizard-cart__subtotal{ color:#c4b5fd; font-size:.82rem; text-align:right; }
.ja-rental-wizard-cart__remove{
    border:0;
    background:transparent;
    color:#fca5a5;
    cursor:pointer;
    font-size:.85rem;
    padding:.2rem;
}

.ja-rental-wizard-qty{
    display:flex;
    align-items:center;
    gap:.15rem;
}
.ja-rental-wizard-qty__btn{
    width:1.65rem;
    height:1.65rem;
    border-radius:.4rem;
    border:1px solid rgba(148,163,184,.25);
    background:rgba(15,23,42,.55);
    color:#e2e8f0;
    font-size:.9rem;
    cursor:pointer;
    line-height:1;
}
.ja-rental-wizard-qty__btn:disabled{ opacity:.35; cursor:not-allowed; }
.ja-rental-wizard-qty__input{
    width:2.25rem;
    text-align:center;
    padding:.25rem;
    border-radius:.4rem;
    border:1px solid rgba(148,163,184,.25);
    background:rgba(15,23,42,.55);
    color:#fff;
    font-size:.78rem;
    -moz-appearance:textfield;
}
.ja-rental-wizard-qty__input::-webkit-outer-spin-button,
.ja-rental-wizard-qty__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.ja-rental-wizard-save-pack{
    display:flex;
    flex-direction:column;
    gap:.5rem;
    padding-top:.75rem;
    border-top:1px dashed rgba(148,163,184,.2);
}
.ja-rental-wizard-save-pack__btn{
    padding:.65rem 1rem;
    border-radius:.75rem;
    border:1px solid rgba(124,77,255,.35);
    background:rgba(124,77,255,.12);
    color:#c4b5fd;
    font-weight:700;
    font-size:.82rem;
    cursor:pointer;
}
.ja-rental-wizard-save-pack__btn:hover{
    background:rgba(124,77,255,.22);
}

@media (max-width:640px){
    .ja-rental-wizard-pack-detail{ width:100%; }
    .ja-rental-wizard-product-grid,
    .ja-rental-wizard-catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .ja-rental-wizard-pack-card__pricing{
        grid-template-columns:1fr 1fr;
    }
    .ja-rental-wizard-modes{ grid-template-columns:1fr; }
}

/* ── Modes de création ── */
.ja-rental-wizard-modes{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));
    gap:.75rem;
}
.ja-rental-wizard-mode{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.35rem;
    padding:1rem;
    border-radius:1rem;
    border:2px solid rgba(148,163,184,.16);
    background:rgba(15,23,42,.65);
    text-align:left;
    cursor:pointer;
    transition:border-color .15s,transform .15s;
}
.ja-rental-wizard-mode:hover{ border-color:rgba(124,77,255,.35); transform:translateY(-1px); }
.ja-rental-wizard-mode--active{
    border-color:#a78bfa;
    background:rgba(124,77,255,.12);
    box-shadow:0 0 0 1px rgba(167,139,250,.3);
}
.ja-rental-wizard-mode__icon{ font-size:1.75rem; }
.ja-rental-wizard-mode__title{ font-size:.92rem; color:#fff; }
.ja-rental-wizard-mode__desc{ font-size:.72rem; color:#94a3b8; line-height:1.35; }

/* ── Catalogue matériel ── */
.ja-rental-wizard-catalog-filters{
    display:flex;
    flex-direction:column;
    gap:.5rem;
    margin-bottom:.75rem;
}
.ja-rental-wizard-catalog-select{ cursor:pointer; }
.ja-rental-wizard-catalog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));
    gap:.65rem;
}
.ja-rental-wizard-catalog-card{
    display:flex;
    flex-direction:column;
    border-radius:.85rem;
    border:1px solid rgba(148,163,184,.16);
    background:rgba(15,23,42,.55);
    overflow:hidden;
    transition:border-color .15s;
}
.ja-rental-wizard-catalog-card--selected{
    border-color:rgba(34,197,94,.4);
    box-shadow:0 0 0 1px rgba(34,197,94,.25);
}
.ja-rental-wizard-catalog-card__photo{
    aspect-ratio:4/3;
    background:rgba(0,0,0,.25);
    overflow:hidden;
}
.ja-rental-wizard-catalog-card__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.ja-rental-wizard-catalog-card__body{
    padding:.65rem;
    display:flex;
    flex-direction:column;
    gap:.25rem;
    flex:1;
}
.ja-rental-wizard-catalog-card__cat{
    font-size:.58rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#a78bfa;
    font-weight:700;
}
.ja-rental-wizard-catalog-card__name{
    margin:0;
    font-size:.82rem;
    font-weight:700;
    color:#fff;
    line-height:1.25;
}
.ja-rental-wizard-catalog-card__price{
    margin:0;
    font-size:.95rem;
    font-weight:800;
    color:#c4b5fd;
}
.ja-rental-wizard-catalog-card__price small{ font-size:.62rem; color:#94a3b8; font-weight:600; }
.ja-rental-wizard-catalog-card__stock{
    margin:0;
    font-size:.68rem;
    color:#94a3b8;
}
.ja-rental-wizard-catalog-card__stock--ok strong{ color:#86efac; }
.ja-rental-wizard-catalog-card__stock--low strong{ color:#fcd34d; }
.ja-rental-wizard-catalog-card__qty-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.35rem;
    margin-top:auto;
    padding-top:.35rem;
}

@media (min-width:768px){
    .ja-rental-wizard-catalog-filters{
        flex-direction:row;
    }
    .ja-rental-wizard-catalog-filters .ja-rental-wizard-search__input:first-child{ flex:1; }
    .ja-rental-wizard-catalog-select{ max-width:12rem; }
}

@media (min-width:900px){
    .ja-rental-wizard-layout{
        flex-direction:row;
        align-items:flex-start;
        gap:1.25rem;
    }
    .ja-rental-wizard-sidebar{
        order:0;
        flex:0 0 min(100%,18rem);
    }
    .ja-rental-wizard-cart__head,
    .ja-rental-wizard-cart__row{
        grid-template-columns:minmax(0,1.6fr) 5rem 6.5rem 5rem 2rem;
        padding:.6rem .85rem;
    }
}

@media (max-width:640px){
    .ja-rental-wizard-cart__head{ display:none; }
    .ja-rental-wizard-cart__row{
        grid-template-columns:1fr auto;
        grid-template-areas:
            "name remove"
            "unit unit"
            "qty subtotal";
        gap:.35rem .5rem;
        padding:.75rem;
    }
    .ja-rental-wizard-cart__name{ grid-area:name; }
    .ja-rental-wizard-cart__remove{ grid-area:remove; justify-self:end; }
    .ja-rental-wizard-cart__unit{ grid-area:unit; font-size:.72rem; }
    .ja-rental-wizard-qty{ grid-area:qty; }
    .ja-rental-wizard-cart__subtotal{ grid-area:subtotal; justify-self:end; }
    .ja-rental-wizard-search-item{
        grid-template-columns:1fr auto;
        grid-template-rows:auto auto;
    }
    .ja-rental-wizard-search-item__add{ grid-column:1/-1; justify-self:start; }
}

/* ── Liste contrats ── */
.ja-rental-contracts{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));
    gap:.75rem;
}
.ja-rental-contracts__card{
    padding:1rem;
    border-radius:1rem;
    border:1px solid rgba(124,77,255,.2);
    background:rgba(15,23,42,.45);
}
.ja-rental-contracts__head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.5rem;
    margin-bottom:.5rem;
}
.ja-rental-contracts__ref{
    font-size:.72rem;
    font-weight:700;
    color:#c4b5fd;
    letter-spacing:.04em;
}
.ja-rental-contracts__status{
    font-size:.65rem;
    padding:.2rem .45rem;
    border-radius:999px;
    background:rgba(251,191,36,.15);
    color:#fcd34d;
    text-transform:uppercase;
}
.ja-rental-contracts__status--signed{
    background:rgba(74,222,128,.15);
    color:#86efac;
}
.ja-rental-contracts__title{ margin:0 0 .35rem; font-size:1rem; color:#f1f5f9; }
.ja-rental-contracts__meta{ margin:0 0 .75rem; font-size:.78rem; color:#94a3b8; }
.ja-rental-contracts__actions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.ja-rental-contracts__link{
    font-size:.75rem;
    color:#a78bfa;
    text-decoration:none;
}
.ja-rental-contracts__link:hover{ text-decoration:underline; }
.ja-rental-contracts__empty{
    grid-column:1/-1;
    padding:1.25rem;
    border-radius:.75rem;
    background:rgba(255,255,255,.04);
    color:#94a3b8;
    font-size:.85rem;
}

/* ── Date / heure : calendrier Filament (panel admin + wizard location) ── */
body.fi-panel-admin .fi-section,
body.fi-panel-admin .fi-sc-section,
body.fi-panel-admin .fi-sc-wizard-step.fi-active,
body.fi-panel-admin .ja-rental-wizard-layout,
body.fi-panel-admin .ja-rental-wizard-layout__main,
body.fi-panel-admin .fi-fo-field-wrp,
body.fi-panel-admin .fi-fo-date-time-picker,
body.fi-panel-admin .fi-input-wrp,
body.fi-panel-admin .fi-input-wrp-content-ctn {
    overflow: visible !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-panel {
    z-index: 80 !important;
    min-width: 18rem;
    background: rgba(15, 23, 42, 0.98) !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-calendar {
    grid-template-columns: repeat(7, minmax(2rem, 1fr)) !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-calendar-day {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2rem !important;
    min-width: 2rem !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    color: #f8fafc !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-calendar-day.fi-selected {
    color: #a78bfa !important;
    background: rgba(124, 77, 255, 0.2) !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-calendar-day.fi-fo-date-time-picker-calendar-day-today:not(.fi-selected) {
    color: #c4b5fd !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-calendar-header-day {
    color: #94a3b8 !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-month-select,
body.fi-panel-admin .fi-fo-date-time-picker-year-input {
    color: #f8fafc !important;
}

body.fi-panel-admin .fi-fo-date-time-picker-panel-header .fi-icon-btn {
    color: #cbd5e1 !important;
}

body.fi-panel-admin .fi-sc-wizard-step.fi-active {
    overflow: visible !important;
    position: relative;
    z-index: 1;
}

/* Champs date/heure natifs — lisibles sur fond sombre */
body.fi-panel-admin input[type="date"],
body.fi-panel-admin input[type="time"],
body.fi-panel-admin input[type="datetime-local"] {
    color-scheme: dark;
    color: #f8fafc !important;
    cursor: pointer;
}

body.fi-panel-admin .fi-fo-date-time-picker-trigger {
    width: 100%;
    pointer-events: auto !important;
    cursor: pointer;
}

body.fi-panel-admin .fi-sc-wizard {
    overflow: visible !important;
}

body.fi-panel-admin .fi-sc-wizard-step.fi-active .fi-sc-section {
    overflow: visible !important;
}


/* Planning location — calendrier + badges financiers */
.ja-rental-planning__calendar-shell{min-height:680px;margin-bottom:1.25rem;border-radius:16px;border:1px solid rgba(var(--jaos-primary-rgb),.22);background:rgba(0,0,0,.25);padding:.5rem}
#rental-planning-calendar{min-height:660px}
.ja-rental-planning__legend{display:flex;flex-wrap:wrap;gap:.45rem}
.ja-rental-planning__legend-item{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.12)}
.ja-rental-planning__legend-item--violet{color:#c4b5fd;background:rgba(124,77,255,.15)}
.ja-rental-planning__legend-item--orange{color:#fdba74;background:rgba(249,115,22,.15)}
.ja-rental-planning__legend-item--green{color:#86efac;background:rgba(34,197,94,.15)}
.ja-rental-planning__legend-item--red{color:#fca5a5;background:rgba(239,68,68,.15)}
.ja-rental-planning__list-title{margin:0 0 .75rem;font-size:.95rem;color:var(--jaos-text-soft)}
.ja-rental-planning__card--late{border-left:3px solid #ef4444}
.ja-rental-planning__link{display:inline-block;margin-top:.55rem;font-size:.75rem;color:var(--jaos-accent);text-decoration:none}
.ja-rental-planning__link:hover{text-decoration:underline}
.ja-rental-finance{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin:.45rem 0}
.ja-rental-finance__item{font-size:.72rem;color:#cbd5e1}
.ja-rental-finance__item--alert strong{color:#fca5a5}
.ja-rental-finance__item--ok strong{color:#86efac}
.ja-rental-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0}
.ja-rental-badges__item{display:inline-flex;align-items:center;gap:.3rem;font-size:.66rem;font-weight:700;padding:.2rem .45rem;border-radius:999px;border:1px solid rgba(255,255,255,.08)}
.ja-rental-badges__item--ok{color:#86efac;background:rgba(34,197,94,.12)}
.ja-rental-badges__item--pending{color:#94a3b8;background:rgba(255,255,255,.04)}
.ja-rental-badges__dot{width:.45rem;height:.45rem;border-radius:999px;background:currentColor}
.ja-rental-status{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;background:rgba(124,77,255,.14);color:#ddd6fe}
.ja-rental-status--danger{background:rgba(239,68,68,.16);color:#fecaca}
.ja-rental-status--success{background:rgba(34,197,94,.14);color:#bbf7d0}
.ja-rental-status--warning{background:rgba(245,158,11,.14);color:#fde68a}

.ja-cockpit__booking-widget{margin-bottom:1.25rem;padding:1rem;border-radius:1rem;border:1px solid rgba(124,77,255,.25);background:linear-gradient(135deg,rgba(124,77,255,.08),rgba(0,0,0,.2))}
.ja-cockpit__section-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.ja-cockpit__section-link{font-size:.85rem;color:#c89c11;text-decoration:none}
.ja-cockpit__stats--booking .ja-cockpit__stat--accent{border-color:rgba(200,156,17,.35)}
