@import '_content/CCA.Web.Desktop.UI/CCA.Web.Desktop.UI.vokwsutxt3.bundle.scp.css';

/* /Components/CcaChipList.razor.rz.scp.css */
/* Maquette .chips, .chip, .chip.more, .chip.hit. Numéros sans gras (recette). */

.chips[b-mp4fc3l7t4] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: 300px;
    max-height: 44px;
    overflow: hidden;
}

    .chips.open[b-mp4fc3l7t4] {
        max-height: none;
    }

.chip[b-mp4fc3l7t4] {
    padding: 1px 9px;
    border: 0;
    border-radius: 10px;
    background: var(--doc-chip-bg);
    color: var(--doc-chip-fg);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

    .chip.more[b-mp4fc3l7t4] {
        padding: 0 8px;
        border: 1px solid var(--doc-btn-border);
        background: var(--doc-btn-bg);
        color: var(--doc-text-2);
    }

    /* Numéro trouvé par la recherche. Anneau en box-shadow : suit l'arrondi de la pastille proprement
       (l'outline dessinait des « parenthèses » autour du texte). */
    .chip.hit[b-mp4fc3l7t4] {
        box-shadow: 0 0 0 2px var(--doc-nav-border);
    }
/* /Components/CcaTable.razor.rz.scp.css */
/* Maquette : .grid, table, th, td, tbody tr.sel, td.n, td.empty. Les lignes viennent de l'écran : ::deep. */

.cca-table[b-a7d04hlmth] {
    overflow-x: auto;
}

    .cca-table table[b-a7d04hlmth] {
        border-collapse: collapse;
        width: 100%;
        min-width: 760px;
    }

    .cca-table.compact[b-a7d04hlmth] {
        overflow-x: visible;
    }

        .cca-table.compact table[b-a7d04hlmth] {
            min-width: 0;
        }

    .cca-table[b-a7d04hlmth]  th {
        padding: 6px 8px;
        background: var(--doc-grid-head-bg);
        color: var(--doc-grid-head-fg);
        border-bottom: 1px solid var(--doc-grid-head-border);
        border-right: 1px solid var(--doc-grid-head-border);
        font-size: 12px;
        font-weight: 600;
        text-align: left;
        white-space: nowrap;
    }

        .cca-table[b-a7d04hlmth]  th:last-child {
            border-right: 0;
        }

    .cca-table[b-a7d04hlmth]  td {
        padding: 5px 8px;
        border-bottom: 1px solid var(--doc-grid-border);
        border-right: 1px solid var(--doc-grid-border);
        vertical-align: middle;
    }

        .cca-table[b-a7d04hlmth]  td:last-child {
            border-right: 0;
        }

    .cca-table[b-a7d04hlmth]  tbody tr {
        cursor: pointer;
    }

        .cca-table[b-a7d04hlmth]  tbody tr:nth-child(even) td {
            background: var(--doc-grid-alt);
        }

        /* Survol : léger. Sélection : fond seulement, pas de barre de couleur (recette), plus marqué en sombre
           (--doc-row-selected). La sélection l'emporte sur le survol. */
        .cca-table[b-a7d04hlmth]  tbody tr:hover td {
            background: var(--doc-row-active);
        }

        /* Même livraison que la ligne choisie (mode document) : plus pâle que la sélection. */
        .cca-table[b-a7d04hlmth]  tbody tr.sel-group td {
            background: var(--doc-row-group);
        }

        .cca-table[b-a7d04hlmth]  tbody tr.sel td {
            background: var(--doc-row-selected);
        }

    .cca-table[b-a7d04hlmth]  td.n {
        text-align: right;
    }

    .cca-table[b-a7d04hlmth]  td.cur {
        font-weight: 600;
    }

    .cca-table[b-a7d04hlmth]  td.empty {
        padding: 30px 12px;
        color: var(--doc-text-3);
        text-align: center;
        cursor: default;
    }

    .cca-table.compact[b-a7d04hlmth]  tbody tr {
        cursor: default;
    }

@media (prefers-reduced-motion: no-preference) {
    .cca-table[b-a7d04hlmth]  tbody tr td {
        transition: background .12s;
    }
}
/* /Components/PhotoViewer.razor.rz.scp.css */
.viewer[b-wndre4jl4d] {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--cca-sub-menu-opened-color);
    outline: none;
    cursor: zoom-out;
}

    /* Bornée sur la FENÊTRE (vw/vh), pas en % : dans une grille, un max-height en % ne se résout pas et la photo
       (4000 px de haut) gardait sa taille réelle (Luc, 2026-09-23). 48 px = le padding du voile. */
    .viewer img[b-wndre4jl4d] {
        display: block;
        max-width: calc(100vw - 48px);
        max-height: calc(100vh - 48px);
        max-height: calc(100dvh - 48px);
        width: auto;
        height: auto;
        object-fit: contain;
        box-shadow: var(--cca-shadow-bottom);
    }

.viewer-text[b-wndre4jl4d] {
    padding: 8px 14px;
    background: var(--doc-content);
    color: var(--doc-text);
    border-radius: 3px;
}

.viewer-close[b-wndre4jl4d] {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: var(--doc-content);
    border: 1px solid var(--doc-grid-border);
    border-radius: 16px;
    color: var(--doc-text);
    font-size: 14px;
}
/* /Features/Deliveries/DeliveriesScreen.razor.rz.scp.css */
/* Maquette : .wrap, .toolbar, .export, .tabs, .seg, .split, .sig. Champs et boutons : app.css. */

.wrap[b-59ey39ep14] {
    display: grid;
    gap: 12px;
    padding: 12px 16px 16px;
}

/* ---- barre d'outils ---- */

.toolbar[b-59ey39ep14] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px 14px;
    padding: 10px 12px;
    background: var(--doc-content);
    border: 1px solid var(--doc-grid-border);
}

    .toolbar input[type="date"][b-59ey39ep14] {
        width: 150px;
    }

    .toolbar .search[b-59ey39ep14] {
        width: 260px;
    }

.spacer[b-59ey39ep14] {
    flex: 1;
}

.export[b-59ey39ep14] {
    position: relative;
}

    .export .menu[b-59ey39ep14] {
        position: absolute;
        top: 34px;
        right: 0;
        z-index: 6;
        min-width: 260px;
        padding: 8px 0;
        background: var(--doc-content);
        border: 1px solid var(--doc-grid-border);
        box-shadow: var(--doc-shadow);
    }

        .export .menu .hint[b-59ey39ep14] {
            padding: 4px 12px 8px;
        }

        .export .menu label[b-59ey39ep14] {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px 12px;
            cursor: pointer;
        }

        .export .menu .go[b-59ey39ep14] {
            display: flex;
            justify-content: flex-end;
            padding: 4px 12px 0;
        }

/* Voile transparent : un clic hors du menu le ferme. */
.export-backdrop[b-59ey39ep14] {
    position: fixed;
    inset: 0;
    z-index: 5;
}

/* ---- regroupement, résumé (onglets Liste / Carte retirés : carte en veille) ---- */

.tabs[b-59ey39ep14] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.seg[b-59ey39ep14] {
    display: inline-flex;
    border: 1px solid var(--doc-btn-border);
    border-radius: 3px;
    overflow: hidden;
}

    .seg button[b-59ey39ep14] {
        padding: 5px 12px;
        background: var(--doc-btn-bg);
        border: 0;
        color: var(--doc-text-2);
    }

        .seg button + button[b-59ey39ep14] {
            border-left: 1px solid var(--doc-btn-border);
        }

        .seg button.on[b-59ey39ep14] {
            background: var(--doc-chrome);
            color: var(--doc-chrome-text);
        }

.sum[b-59ey39ep14] {
    margin-left: auto;
    color: var(--doc-text-2);
}

    .sum b[b-59ey39ep14] {
        color: var(--doc-text);
    }

/* ---- liste + fiche ---- */

.split[b-59ey39ep14] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
    gap: 12px;
    align-items: start;
}

    /* Rien à montrer dans la fiche (avant la première recherche) : la liste occupe toute la largeur. */
    .split.single[b-59ey39ep14] {
        grid-template-columns: minmax(0, 1fr);
    }

@media (max-width: 980px) {
    .split[b-59ey39ep14] {
        grid-template-columns: 1fr;
    }
}

/* Signature de la ligne (maquette .sig, 92 × 34) ; le cadre vide garde la même taille pendant le chargement. */
.sig[b-59ey39ep14] {
    display: block;
    width: 92px;
    height: 34px;
    object-fit: contain;
}

/* Sombre : l'encre est noire dans l'image (SVG, PNG ou JPEG) ; inversée, elle devient claire comme dans la maquette. */
[data-theme="dark"] img.sig[b-59ey39ep14] {
    filter: invert(1);
}

.sum .error[b-59ey39ep14] {
    color: var(--cca-error-color);
}

.pager[b-59ey39ep14] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 8px 12px;
    border-top: 1px solid var(--doc-grid-border);
    color: var(--doc-text-2);
}
/* /Features/Deliveries/DeliveryDetail.razor.rz.scp.css */
/* Maquette : .detail, .sigbig, .lead, .facts, .actions, .docs, .badge, .empty */

.detail[b-j8f38zyedj] {
    display: grid;
    gap: 0;
}

    .detail h2[b-j8f38zyedj] {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0;
        padding: 7px 12px;
        background: var(--doc-grid-head-bg);
        border-bottom: 1px solid var(--doc-grid-head-border);
        font-size: 14px;
        font-weight: 600;
    }

        .detail h2 .muted[b-j8f38zyedj] {
            font-weight: 400;
        }

/* Cadre de hauteur fixe ; l'image le remplit sans jamais en sortir. Un SVG de signature n'a souvent qu'une viewBox,
   sans taille intrinsèque : avec max-height seul, il prenait sa hauteur naturelle et débordait (Luc, 2026-09-23).
   width/height 100 % + object-fit: contain le ramènent dans le cadre en gardant ses proportions. */
.sigbig[b-j8f38zyedj] {
    height: 190px;
    margin: 12px;
    padding: 8px;
    border: 1px solid var(--doc-grid-border);
    background: var(--doc-content);
    overflow: hidden;
}

    .sigbig img[b-j8f38zyedj] {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

/* Sombre : encre noire de l'image inversée en encre claire (maquette --sig-ink). */
[data-theme="dark"] .sigbig img[b-j8f38zyedj] {
    filter: invert(1);
}

.lead[b-j8f38zyedj] {
    padding: 0 12px 10px;
    font-size: 14px;
}

.facts[b-j8f38zyedj] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 14px;
    margin: 0;
    padding: 0 12px 12px;
}

    .facts dt[b-j8f38zyedj] {
        color: var(--doc-text-2);
    }

    .facts dd[b-j8f38zyedj] {
        margin: 0;
    }

.actions[b-j8f38zyedj] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 12px 12px;
}

    .actions a.btn[b-j8f38zyedj] {
        text-decoration: none;
    }

.docs[b-j8f38zyedj] {
    border-top: 1px solid var(--doc-grid-border);
}

.badge[b-j8f38zyedj] {
    display: inline-block;
    padding: 0 6px;
    border-radius: 3px;
    background: var(--doc-warn-bg);
    color: var(--doc-warn-fg);
    font-size: 11px;
    font-weight: 400;
}

.empty[b-j8f38zyedj] {
    padding: 30px 12px;
    color: var(--doc-text-3);
    text-align: center;
}
/* /Layout/TopBar.razor.rz.scp.css */
/* Maquette .top */
.top[b-1jm8x2ylfx] {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 16px;
    height: 40px;
    padding: 0 16px;
    background: var(--doc-chrome);
    color: var(--doc-chrome-text);
    box-shadow: var(--doc-shadow);
}

/* Logo + « Documents », comme le pied du tableau de bord mobile (logo + « Mobile »). */
.brand[b-1jm8x2ylfx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .brand[b-1jm8x2ylfx]  .brand-logo {
        height: 16px;
    }

.brand-name[b-1jm8x2ylfx] {
    opacity: .85;
}

.who[b-1jm8x2ylfx] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
    opacity: .9;
}

/* Rond de profil (mobile .cca-dash-profile : 40 px, fond de marque, icône blanche, ombre douce). Réduit à 30 px pour
   la barre de 40 px ; fond --cca-main-color (plus clair que la barre, sinon le rond disparaîtrait dans le bleu). */
.profile-button[b-1jm8x2ylfx] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    padding: 0;
    background: var(--cca-main-color);
    border: 0;
    border-radius: 50%;
    color: var(--cca-dark-color-text);
    box-shadow: var(--cca-shadow-bottom);
}

    .profile-button:hover[b-1jm8x2ylfx] {
        filter: brightness(1.1);
    }

    .profile-button[b-1jm8x2ylfx]  svg {
        width: 18px;
        height: 18px;
        fill: currentColor;
    }

/* ---- panneau de profil (mobile .cca-overlay, .cca-profile*) ---- */

.profile-overlay[b-1jm8x2ylfx] {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 10vh 5% 0;
    background: var(--cca-sub-menu-opened-color);
}

.profile[b-1jm8x2ylfx] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: 500px;
    padding: 20px;
    background: var(--doc-content);
    color: var(--doc-text);
    border-radius: 20px;
    box-shadow: var(--doc-shadow);
}

    .profile[b-1jm8x2ylfx]  .profile-avatar {
        align-self: center;
        width: 100px;
        height: 100px;
        fill: var(--doc-grid-border);
    }

.profile-name[b-1jm8x2ylfx] {
    font-size: 20px;
    text-align: center;
}

.profile-company[b-1jm8x2ylfx] {
    font-size: 14px;
    text-align: center;
    color: var(--cca-variation-down-color);   /* vert lisible dans les deux thèmes (mobile : AccentGreen) */
}

.profile-divider[b-1jm8x2ylfx] {
    height: 1px;
    margin: 10px 0;
    background: var(--doc-grid-border);
}

.profile-row[b-1jm8x2ylfx] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    width: 100%;
    padding: 12px 6px;
    background: none;
    border: 0;
    border-radius: 10px;
    font-size: 16px;
    color: var(--doc-text);
    text-align: left;
}

    .profile-row:hover:not(:disabled)[b-1jm8x2ylfx] {
        background: var(--doc-row-active);
    }

    .profile-row:disabled[b-1jm8x2ylfx] {
        opacity: .6;
        cursor: default;
    }

    .profile-row[b-1jm8x2ylfx]  svg {
        width: 24px;
        height: 24px;
        fill: var(--doc-text-2);
    }

.profile-companies[b-1jm8x2ylfx] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 50vh;
    overflow-y: auto;
}

/* Ligne de compagnie (mobile .cca-companyrow) ; la courante en bleu et gras (.is-current).
   Nom distinct de .profile-company (texte sous l'avatar) : le même nom donnait l'air d'un bouton à ce texte. */
.profile-company-row[b-1jm8x2ylfx] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 14px;
    background: var(--doc-content);
    border: 1px solid var(--doc-grid-border);
    border-radius: 10px;
    font-size: 15px;
    color: var(--doc-text);
    text-align: left;
}

    .profile-company-row:hover:not(:disabled)[b-1jm8x2ylfx] {
        background: var(--doc-row-active);
    }

    .profile-company-row.is-current[b-1jm8x2ylfx] {
        border-color: var(--doc-accent);
        color: var(--doc-accent);
        font-weight: 700;
    }

    .profile-company-row:disabled[b-1jm8x2ylfx] {
        opacity: .6;
        cursor: default;
    }

    .profile-company-row.busy:disabled[b-1jm8x2ylfx] {
        opacity: 1;
        border-color: var(--doc-accent);
    }

.profile-error[b-1jm8x2ylfx] {
    font-size: 13px;
    color: var(--cca-error-color);
}
/* /Pages/NotFound.razor.rz.scp.css */
.doc-not-found[b-zwlbnpecdm] {
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: 20vh 16px 0;
    color: var(--doc-text-2);
}

.doc-not-found-title[b-zwlbnpecdm] {
    font-size: 16px;
    font-weight: 600;
    color: var(--doc-text);
}

.doc-not-found a[b-zwlbnpecdm] {
    color: var(--doc-nav-border);
}
