:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-synthesis: none;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
}

body.has-open-menu {
    overflow: hidden;
}

form[aria-busy="true"] {
    cursor: wait;
}

button:disabled,
button.is-submitting {
    cursor: wait;
    opacity: .72;
}

button.is-submitting {
    pointer-events: none;
}

.submission-spinner {
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: submission-spin .7s linear infinite;
}

@keyframes submission-spin {
    to { transform: rotate(360deg); }
}

button,
input {
    font: inherit;
}

.auth-page {
    min-width: 320px;
    background: #f3f5f5;
    color: #1d1a18;
}

.login-shell {
    position: relative;
    display: grid;
    min-height: 100svh;
    min-height: 100dvh;
    place-items: center;
    overflow: hidden;
    padding: max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
    isolation: isolate;
}

.industrial-background,
.industrial-background::before,
.industrial-background::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.industrial-background {
    z-index: -2;
    overflow: hidden;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .88) 0 32%, transparent 32% 100%),
        linear-gradient(135deg, #e7ebec 0%, #f8f9f8 55%, #e7e8e6 100%);
}

.industrial-background::before {
    content: "";
    opacity: .45;
    background: linear-gradient(90deg, transparent 49.8%, rgba(132, 61, 31, .10) 50%, transparent 50.2%);
    background-size: 340px 100%;
}

.industrial-background::after {
    content: "";
    z-index: 1;
    opacity: .3;
    background: radial-gradient(circle at center, transparent 0 62%, rgba(117, 67, 48, .1) 62.2% 62.5%, transparent 62.7%);
    transform: translate(39%, -24%) scale(1.3);
}

.industrial-grid {
    position: absolute;
    inset: 0;
    opacity: .46;
    background-image: linear-gradient(rgba(132, 61, 31, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(132, 61, 31, .08) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
}

.industrial-orb {
    position: absolute;
    width: 48rem;
    height: 48rem;
    border: 1px solid rgba(125, 66, 42, .18);
    border-radius: 50%;
}

.industrial-orb-one {
    top: -36rem;
    right: -23rem;
    box-shadow: 0 0 0 3.8rem rgba(255, 255, 255, .17), 0 0 0 3.9rem rgba(125, 66, 42, .07);
}

.industrial-orb-two {
    bottom: -42rem;
    left: -29rem;
    width: 58rem;
    height: 58rem;
    box-shadow: 0 0 0 4.5rem rgba(255, 255, 255, .22), 0 0 0 4.6rem rgba(125, 66, 42, .06);
}

.industrial-lines {
    position: absolute;
    right: 9%;
    bottom: 10%;
    width: 18rem;
    height: 18rem;
    border-top: 1px solid rgba(126, 65, 36, .23);
    border-right: 1px solid rgba(126, 65, 36, .23);
    transform: rotate(45deg);
}

.system-status {
    position: fixed;
    z-index: -1;
    left: clamp(.75rem, 2vw, 2.5rem);
    top: 50%;
    color: rgba(167, 83, 43, .4);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .66rem;
    letter-spacing: .4em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: translateY(-50%) rotate(180deg);
}

.login-layout {
    display: grid;
    width: min(100%, 28rem);
    gap: 1.75rem;
}

.login-layout--with-availability {
    width: min(100%, 74rem);
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem);
    align-items: center;
    gap: clamp(1.25rem, 3vw, 3rem);
}

.login-access-column { display: grid; min-width: 0; grid-column: 2; grid-row: 1; gap: 1.35rem; }
.login-access-column[hidden] { display: none; }

.public-availability {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e6d4cc;
    border-radius: .8rem;
    background: rgba(253, 252, 250, .97);
    box-shadow: 0 1.5rem 3rem rgba(26, 22, 18, .11);
    backdrop-filter: blur(12px);
    grid-column: 1;
    grid-row: 1;
}

.public-availability__header { display: flex; padding: 1.45rem 1.5rem 1.2rem; align-items: flex-start; justify-content: space-between; gap: 1rem; border-top: .3rem solid #963615; border-bottom: 1px solid #eaded8; }
.public-availability__header h2 { margin: 0; color: #1f1b18; font-size: clamp(1.25rem, 2.4vw, 1.65rem); letter-spacing: -.035em; }
.public-availability__header p:last-child { max-width: 31rem; margin: .42rem 0 0; color: #665e58; font-size: .78rem; line-height: 1.5; }
.public-availability__live { display: inline-flex; flex: 0 0 auto; min-height: 2rem; padding: .4rem .65rem; align-items: center; gap: .4rem; border: 1px solid #b9dfce; border-radius: 2rem; background: #eef8f2; color: #146b43; font-size: .64rem; font-weight: 800; white-space: nowrap; }
.public-availability__live i { width: .48rem; height: .48rem; border-radius: 50%; background: #168a55; box-shadow: 0 0 0 .2rem rgba(22,138,85,.12); }
.public-availability__table-wrap { overflow-x: auto; }
.public-availability__table { width: 100%; border-collapse: collapse; }
.public-availability__table th, .public-availability__table td { padding: .75rem .7rem; border-bottom: 1px solid #eee4df; text-align: left; vertical-align: middle; }
.public-availability__table thead th { background: #f7f2ef; color: #695b54; font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.public-availability__table thead th:not(:first-child) { text-align: center; }
.public-availability__table tbody tr:last-child > * { border-bottom: 0; }
.public-brand { display: inline-flex; min-width: 8.5rem; align-items: center; gap: .55rem; }
.public-brand > i { width: 1.4rem; height: 1.4rem; flex: 0 0 1.4rem; border: 2px solid #fff; border-radius: 50%; background: var(--brand-color); box-shadow: 0 0 0 1px rgba(0,0,0,.2); }
.public-brand strong, .public-brand small { display: block; }.public-brand strong { color: #29231f; font-size: .72rem; }.public-brand small { margin-top: .12rem; color: #74675f; font-size: .6rem; font-weight: 600; }
.public-stock-state { display: flex; min-width: 6.5rem; align-items: center; justify-content: center; gap: .4rem; }
.public-stock-state > span:last-child strong, .public-stock-state > span:last-child small { display: block; }
.public-stock-state > span:last-child strong { font-size: .62rem; white-space: nowrap; }.public-stock-state > span:last-child small { margin-top: .08rem; color: #74675f; font-size: .56rem; }
.public-stock-state--available strong { color: #137447; }.public-stock-state--limited strong { color: #a35c00; }.public-stock-state--unavailable strong { color: #685f5a; }
.public-stock-state .gas-bottle { width: 1.7rem; height: 2.25rem; flex: 0 0 1.7rem; opacity: 1; }
.public-stock-state .gas-bottle i { width: .55rem; height: .38rem; border-width: .12rem; }
.public-stock-state .gas-bottle--3 b { width: .8rem; height: .9rem; }.public-stock-state .gas-bottle--6 b { width: 1rem; height: 1.25rem; }.public-stock-state .gas-bottle--12 b { width: 1.25rem; height: 1.75rem; }
.public-stock-state--limited .gas-bottle { opacity: .76; }.public-stock-state--unavailable .gas-bottle { filter: grayscale(1); opacity: .34; }
.public-stock-state__empty { display: grid; width: 1.7rem; height: 1.7rem; flex: 0 0 1.7rem; place-items: center; border-radius: 50%; background: #ece8e5; color: #6c625d; }
.public-availability__legend { display: grid; padding: 1rem 1.25rem 1.1rem; gap: .75rem; border-top: 1px solid #e8ddd7; background: #fbf4ef; color: #504640; }
.public-availability__legend > header { display: flex; align-items: flex-start; gap: .6rem; }
.public-availability__legend > header > span, .public-availability__empty > span { display: grid; width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; place-items: center; border-radius: 50%; background: #963615; color: #fff; font-size: .7rem; font-weight: 800; }
.public-availability__legend > header strong { display: block; color: #352d29; font-size: .72rem; }
.public-availability__legend > header p { margin: .15rem 0 0; color: #6a5e57; font-size: .62rem; line-height: 1.4; }
.public-availability__legend dl { display: grid; margin: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.public-availability__legend dl > div { padding: .6rem .65rem; border: 1px solid #ddd5d0; border-left-width: .25rem; border-radius: .45rem; background: #fff; }
.public-availability__legend dl > .is-available { border-left-color: #168a55; }.public-availability__legend dl > .is-limited { border-left-color: #d56a1e; }.public-availability__legend dl > .is-unavailable { border-left-color: #65727e; }
.public-availability__legend dt { color: #302925; font-size: .65rem; font-weight: 850; }.public-availability__legend dd { margin: .18rem 0 0; color: #665b55; font-size: .57rem; line-height: 1.35; }
.public-availability__caveat { margin: 0; color: #62564f; font-size: .62rem; font-weight: 700; line-height: 1.45; text-align: center; }
.public-login-trigger { display: none; width: 100%; min-height: 3.35rem; padding: .75rem 1rem; align-items: center; justify-content: center; gap: .55rem; border: 0; border-radius: .28rem; background: #963615; box-shadow: 0 .5rem .8rem -.55rem #421b0c; color: #fff; cursor: pointer; font-size: .83rem; font-weight: 800; }
.public-login-trigger svg { width: .85rem; fill: currentColor; }.public-login-trigger:focus-visible { outline: 2px solid #a94420; outline-offset: 3px; }
.public-availability__empty { display: flex; min-height: 12rem; padding: 2rem; align-items: center; justify-content: center; gap: .7rem; }.public-availability__empty strong { font-size: .78rem; }.public-availability__empty p { margin: .2rem 0 0; color: #6d625c; font-size: .7rem; }

.login-card {
    overflow: hidden;
    border: 1px solid #efd2c7;
    border-radius: .7rem;
    background: rgba(253, 252, 250, .96);
    box-shadow: 0 1.5rem 3rem rgba(26, 22, 18, .13), 0 .5rem .65rem -.38rem rgba(26, 22, 18, .18);
    backdrop-filter: blur(12px);
}

.brand-strip {
    height: .3rem;
    background: #963615;
}

.login-card-content {
    padding: 2.5rem 2rem 2rem;
}

.brand-logo {
    display: grid;
    width: 6rem;
    height: 6rem;
    margin: 0 auto 1.8rem;
    place-items: center;
    filter: drop-shadow(0 .6rem .5rem rgba(102, 47, 27, .16));
}

.brand-logo svg {
    display: block;
    width: 100%;
    height: 100%;
}

.login-heading {
    margin-bottom: 2.6rem;
    text-align: center;
}

.eyebrow {
    margin: 0 0 .45rem;
    color: #a84c2a;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.login-heading h1 {
    margin: 0;
    color: #1f1b18;
    font-size: clamp(1.7rem, 5vw, 2rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.2;
}

.login-heading > p:last-child {
    margin: .45rem 0 0;
    color: #665e58;
    font-size: .875rem;
}

.login-heading span {
    color: #b2512d;
    padding: 0 .12rem;
}

.login-form {
    display: grid;
    gap: 1.45rem;
}

.form-field {
    display: grid;
    gap: .48rem;
}

.form-field label {
    padding-left: .25rem;
    color: #554c46;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .09em;
    line-height: 1.25;
    text-transform: uppercase;
}

.input-wrap {
    position: relative;
}

.field-icon {
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 1rem;
    height: 1.25rem;
    fill: #8f7066;
    transform: translateY(-50%);
}

.input-wrap input:not([type="checkbox"]) {
    width: 100%;
    height: 3.35rem;
    border: 1px solid #e8c5b7;
    border-radius: .2rem;
    outline: none;
    background: #fff;
    color: #2c2724;
    padding: .8rem 3.25rem .8rem 2.9rem;
    font-size: .95rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.input-wrap input::placeholder {
    color: #be8d7a;
    opacity: 1;
}

.input-wrap input:focus {
    border-color: #a94420;
    box-shadow: 0 0 0 .22rem rgba(169, 68, 32, .12);
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: .8rem;
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    border: 0;
    border-radius: .2rem;
    background: transparent;
    color: #8f7066;
    cursor: pointer;
    place-items: center;
    transform: translateY(-50%);
}

.password-toggle:hover {
    background: #fbf1ed;
    color: #963615;
}

.password-toggle:focus-visible,
.login-submit:focus-visible,
.login-options a:focus-visible,
.legal-links a:focus-visible {
    outline: 2px solid #a94420;
    outline-offset: 3px;
}

.password-toggle svg {
    width: 1.25rem;
    fill: currentColor;
}

.login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: -.1rem;
}

.remember-me {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #5d534c;
    cursor: pointer;
    font-size: .84rem;
}

.remember-me input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    clip-path: inset(50%);
}

.checkbox-box {
    display: grid;
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid #e3bfb2;
    border-radius: .16rem;
    background: #fff;
    place-items: center;
    transition: background .16s ease, border-color .16s ease;
}

.checkbox-box svg {
    width: .8rem;
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    transform: scale(.5);
    transition: transform .16s ease;
}

.remember-me input:checked + .checkbox-box {
    border-color: #963615;
    background: #963615;
}

.remember-me input:checked + .checkbox-box svg {
    transform: scale(1);
}

.remember-me input:focus-visible + .checkbox-box {
    outline: 2px solid #a94420;
    outline-offset: 2px;
}

.login-options a,
.login-help {
    color: #963615;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .035em;
}

.login-submit {
    display: inline-flex;
    width: 100%;
    min-height: 3.7rem;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    border: 0;
    border-radius: .2rem;
    background: #963615;
    box-shadow: 0 .5rem .8rem -.55rem #421b0c;
    color: #fff;
    cursor: pointer;
    font-size: 1.08rem;
    font-weight: 750;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.login-submit:hover {
    background: #7f2b11;
    box-shadow: 0 .65rem 1rem -.5rem #421b0c;
    transform: translateY(-1px);
}

.login-submit:active {
    transform: translateY(0);
}

.login-submit svg {
    width: .95rem;
    fill: currentColor;
}

.login-feedback {
    margin: -.3rem 0 0;
    border-left: 3px solid #c76a3e;
    background: #fff4ef;
    color: #6d321d;
    padding: .7rem .8rem;
    font-size: .77rem;
    line-height: 1.45;
}

.security-footer {
    display: flex;
    min-height: 3.7rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-top: 1px solid #e4e6e5;
    background: #e9eceb;
    color: #60564f;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.security-footer svg {
    width: .8rem;
    fill: #8f7066;
}

.legal-links {
    margin: 0;
    color: #3f3935;
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-align: center;
    opacity: .72;
    text-transform: uppercase;
}

@media (max-width: 540px) {
    .login-shell {
        padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }

    .system-status {
        display: none;
    }

    .login-card-content {
        padding: 2rem 1.35rem 1.55rem;
    }

    .brand-logo {
        width: 5rem;
        height: 5rem;
        margin-bottom: 1.35rem;
    }

    .login-heading {
        margin-bottom: 2.15rem;
    }

    .password-toggle {
        width: 2.75rem;
        height: 2.75rem;
    }

    .legal-links {
        gap: .85rem;
    }

    .legal-links a {
        font-size: .58rem;
        letter-spacing: .07em;
    }
}

@media (max-width: 900px) {
    .login-shell { overflow: visible; }
    .login-layout--with-availability { width: min(100%, 37rem); grid-template-columns: 1fr; }
    .public-availability { grid-column: 1; grid-row: 1; }
    .login-access-column { grid-column: 1; grid-row: 2; }
}

@media (max-width: 600px) {
    .public-availability__header { align-items: stretch; flex-direction: column; }
    .public-availability__live { align-self: flex-start; }
    .public-availability__table-wrap { overflow: visible; }
    .public-availability__table, .public-availability__table tbody, .public-availability__table tr, .public-availability__table th, .public-availability__table td { display: block; }
    .public-availability__table thead { display: none; }
    .public-availability__table tbody { display: grid; gap: .75rem; padding: .8rem; }
    .public-availability__table tr { display: grid; overflow: hidden; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #e7dbd5; border-radius: .65rem; background: #fff; }
    .public-availability__table tbody th { grid-column: 1 / -1; padding: .7rem; border-bottom: 1px solid #eee4df; background: #faf7f5; }
    .public-availability__table td { min-width: 0; padding: .7rem .2rem; border-right: 1px solid #eee4df; border-bottom: 0; text-align: center; }
    .public-availability__table td:last-child { border-right: 0; }
    .public-stock-state { min-width: 0; flex-direction: column; gap: .25rem; }
    .public-stock-state > span:last-child strong { font-size: .58rem; white-space: normal; }
    .public-stock-state > span:last-child small { font-size: .53rem; }
    .public-availability__legend { padding: 1rem; }
    .public-availability__legend dl { grid-template-columns: 1fr; }
    .public-availability__legend dl > div { padding: .7rem .75rem; }
    .public-availability__legend dd { font-size: .62rem; }
    .has-login-disclosure .public-login-trigger { display: inline-flex; }
    .has-login-disclosure .login-access-column { scroll-margin-top: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .submission-spinner {
        animation: none;
        border-right-color: currentColor;
        opacity: .65;
    }
}

/* Tableau de bord administrateur */
.admin-page {
    min-width: 320px;
    background: #f8fafb;
    color: #191c1d;
}

.admin-shell {
    min-height: 100svh;
    background: #f8fafb;
}

.admin-sidebar {
    position: fixed;
    z-index: 20;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 18rem;
    flex-direction: column;
    border-right: 1px solid rgba(227, 191, 178, .55);
    background: #f1f3f3;
    box-shadow: 1px 0 0 rgba(0, 0, 0, .04);
}

.admin-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: 1.5rem;
    color: #963615;
    font-size: 1.45rem;
    font-weight: 750;
    letter-spacing: -.05em;
    text-decoration: none;
}

.admin-brand-mark {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
}

.admin-brand-mark svg {
    width: 100%;
    height: 100%;
}

.admin-nav {
    display: grid;
    gap: .25rem;
    padding: 1.1rem 1rem;
}

.admin-nav-link {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: .9rem;
    border-radius: .2rem;
    color: #5a4138;
    padding: .55rem 1rem;
    font-size: .88rem;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.admin-nav-link svg {
    width: 1.2rem;
    max-height: 1.2rem;
    flex: 0 0 1.2rem;
    fill: currentColor;
}

.admin-nav-link:hover {
    background: #f9e9e2;
    color: #963615;
}

.admin-nav-link.is-active {
    background: #ad450e;
    box-shadow: 0 .45rem .7rem -.55rem #6c270d;
    color: #fff;
    font-weight: 700;
}

.admin-sidebar-footer {
    margin-top: auto;
    border-top: 1px solid rgba(227, 191, 178, .42);
    padding: .85rem 1rem 1rem;
}

.admin-instance {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem;
    color: #71665f;
    font-size: .66rem;
    font-weight: 650;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-instance span {
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: #4c8a60;
    box-shadow: 0 0 0 .22rem rgba(76, 138, 96, .12);
}

.admin-main {
    min-height: 100svh;
    margin-left: 18rem;
}

.admin-header {
    position: sticky;
    z-index: 10;
    top: 0;
    display: flex;
    min-height: 4rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid rgba(227, 191, 178, .32);
    background: rgba(248, 250, 251, .88);
    padding: .7rem 3rem;
    backdrop-filter: blur(12px);
}

.admin-search {
    position: relative;
    width: min(100%, 24rem);
}

.admin-search svg {
    position: absolute;
    top: 50%;
    left: .95rem;
    width: 1rem;
    fill: #5a4138;
    transform: translateY(-50%);
}

.admin-search input {
    width: 100%;
    border: 1px solid #ecd0c3;
    border-radius: .2rem;
    outline: none;
    background: #f1f3f3;
    color: #282221;
    padding: .55rem 1rem .55rem 2.5rem;
    font-size: .84rem;
}

.admin-search input:focus {
    border-color: #a94420;
    box-shadow: 0 0 0 .2rem rgba(169, 68, 32, .1);
}

.admin-user-actions,
.admin-user,
.bell-button {
    display: flex;
    align-items: center;
}

.admin-user-actions {
    gap: 1.35rem;
}

.logout-form { margin: 0; }

.logout-button {
    display: inline-flex;
    width: 100%;
    min-height: 2.65rem;
    align-items: center;
    justify-content: flex-start;
    gap: .7rem;
    border: 0;
    border-radius: .22rem;
    background: transparent;
    color: #5a4138;
    cursor: pointer;
    padding: .55rem 1rem;
    font: 700 .76rem Inter, system-ui, sans-serif;
    text-align: left;
}

.logout-button:hover,
.logout-button:focus-visible {
    background: #f8e4da;
    color: #963615;
    outline: none;
}

.logout-button svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 1.1rem;
    fill: currentColor;
}

.bell-button {
    position: relative;
    border: 0;
    background: transparent;
    color: #5a4138;
    cursor: pointer;
}

.bell-button svg {
    width: 1rem;
    fill: currentColor;
}

.bell-button span {
    position: absolute;
    top: -.5rem;
    right: -.55rem;
    display: grid;
    width: .8rem;
    height: .8rem;
    border: 1px solid #f8fafb;
    border-radius: 50%;
    background: #ba1a1a;
    color: #fff;
    font-size: .52rem;
    place-items: center;
}

.header-separator {
    width: 1px;
    height: 2rem;
    background: rgba(227, 191, 178, .46);
}

.admin-user {
    gap: .8rem;
}

.admin-user > div {
    display: grid;
    text-align: right;
}

.admin-user strong {
    color: #2a2522;
    font-size: .8rem;
    font-weight: 600;
}

.admin-user small {
    color: #756a64;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.admin-avatar {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: .7rem;
    background: #963615;
    color: #fff;
    place-items: center;
}

.admin-avatar svg {
    width: .95rem;
    fill: currentColor;
}

.mobile-menu-button {
    display: none;
    border: 0;
    background: transparent;
    color: #5a4138;
    cursor: pointer;
}

.mobile-menu-button svg {
    width: 1.6rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}

.dashboard-content {
    width: min(100%, 90rem);
    min-width: 0;
    margin: 0 auto;
    padding: 3.6rem 3rem 3rem;
}

.dashboard-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 3rem;
}

.dashboard-kicker {
    margin: 0 0 .45rem;
    color: #963615;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .7rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.dashboard-title-row h1 {
    margin: 0;
    color: #191c1d;
    font-size: clamp(2.2rem, 4vw, 3.3rem);
    letter-spacing: -.065em;
    line-height: 1.05;
}

.dashboard-sync {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.dashboard-sync > div {
    display: grid;
    gap: .25rem;
    border-right: 1px solid rgba(227, 191, 178, .5);
    padding: .25rem 1.35rem .25rem 0;
    text-align: right;
}

.dashboard-sync span {
    color: #736963;
    font-size: .63rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dashboard-sync strong {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .78rem;
}

.refresh-button {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border: 0;
    border-radius: .18rem;
    background: #963615;
    box-shadow: 0 .5rem .8rem -.6rem #56200d;
    color: #fff;
    cursor: pointer;
    padding: .85rem 1.05rem;
    font-size: .66rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.refresh-button svg {
    width: .9rem;
    fill: currentColor;
}

.refresh-button.is-refreshed svg {
    animation: dashboard-spin .5s ease;
}

@keyframes dashboard-spin {
    to { transform: rotate(360deg); }
}

.kpi-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.55fr) minmax(0, .85fr);
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.dashboard-card {
    min-width: 0;
    border: 1px solid rgba(227, 191, 178, .28);
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.units-card,
.revenue-card,
.discrepancy-card {
    min-height: 18.6rem;
    padding: 1.65rem;
}

.units-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #f1f3f3;
}

.card-topline {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.card-topline p,
.revenue-copy > p {
    margin: 0 0 .22rem;
    color: #665a53;
    font-size: .72rem;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.card-topline strong {
    display: block;
    color: #202020;
    font-size: 1.85rem;
    letter-spacing: -.04em;
}

.card-topline strong small {
    display: block;
    margin-top: -.15rem;
    color: currentColor;
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .02em;
}

.metric-icon {
    width: 1.45rem;
    fill: currentColor;
}

.metric-icon.gold {
    color: #7e5700;
}

.capacity-block {
    border-top: 1px solid rgba(227, 191, 178, .38);
    padding-top: 1.15rem;
}

.capacity-block > div {
    display: flex;
    justify-content: space-between;
    margin-bottom: .55rem;
    color: #655951;
    font-size: .76rem;
}

.capacity-block strong {
    color: #26211f;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .78rem;
}

.progress-track,
.vendor-bars i {
    display: block;
    height: .36rem;
    overflow: hidden;
    border-radius: 10rem;
    background: #dadedd;
}

.progress-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #876000;
}

.revenue-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

.revenue-watermark {
    position: absolute;
    top: -1rem;
    right: .6rem;
    width: 8rem;
    fill: #191c1d;
    opacity: .06;
    pointer-events: none;
}

.revenue-copy {
    position: relative;
    z-index: 1;
}

.revenue-copy > p {
    display: flex;
    align-items: center;
    gap: .48rem;
    letter-spacing: .1em;
}

.revenue-copy > p span {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: #a43700;
}

.revenue-copy em {
    font-style: normal;
}

.money-value {
    color: #191c1d;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 750;
    letter-spacing: -.075em;
    line-height: 1.13;
}

.money-value small {
    color: #b04c21;
    font-size: .46em;
    letter-spacing: -.03em;
}

.growth {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: .75rem;
    color: #70645d;
    font-size: .75rem;
}

.growth strong {
    border-radius: .15rem;
    background: rgba(164, 55, 0, .1);
    color: #963615;
    padding: .26rem .45rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .75rem;
}

.bar-sparkline {
    display: flex;
    height: 4rem;
    align-items: flex-end;
    gap: .26rem;
}

.bar-sparkline i {
    min-width: .8rem;
    flex: 1;
    border-radius: .14rem .14rem 0 0;
    background: #a43700;
}

.bar-sparkline i:nth-child(1),
.bar-sparkline i:nth-child(3) { opacity: .2; }
.bar-sparkline i:nth-child(2) { opacity: .3; }
.bar-sparkline i:nth-child(4) { opacity: .45; }
.bar-sparkline i:nth-child(5) { opacity: .65; }
.bar-sparkline i:nth-child(7) { opacity: .82; }

.discrepancy-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-color: #f2c4c4;
    background: #ffdada;
}

.discrepancy-card .card-topline p,
.discrepancy-card .card-topline strong,
.discrepancy-card .card-topline small {
    color: #8f1515;
}

.alert-symbol {
    display: grid;
    width: 2.25rem;
    height: 2.12rem;
    border-radius: .22rem;
    background: #ba1a1a;
    color: #fff;
    font-size: 1.38rem;
    font-weight: 800;
    place-items: center;
}

.discrepancy-action p {
    max-width: 12rem;
    margin: 0 0 1rem;
    color: rgba(143, 21, 21, .84);
    font-size: .8rem;
    line-height: 1.45;
}

.discrepancy-action button {
    width: 100%;
    border: 0;
    border-radius: .15rem;
    background: #8f1515;
    color: #ffdad8;
    cursor: pointer;
    padding: .55rem .8rem;
    font-size: .67rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.operational-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.82fr) minmax(0, .72fr);
    gap: 1.5rem;
}

.analytics-column {
    display: grid;
    gap: 1.5rem;
    min-width: 0;
}

.trend-card {
    padding: 1.65rem;
}

.card-heading,
.activity-heading,
.operation-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.card-heading h2,
.operation-title h2,
.activity-heading h2,
.brand-card h2,
.vendor-card h2 {
    margin: 0;
    color: #23201e;
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: -.035em;
}

.card-heading h2,
.operation-title {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.card-heading h2 svg,
.operation-title svg {
    width: 1.15rem;
    fill: #a43700;
}

.range-switch {
    display: flex;
    border-radius: .2rem;
    background: #e9eceb;
    padding: .2rem;
}

.range-switch button,
.range-switch a {
    display: inline-flex;
    align-items: center;
    border: 0;
    border-radius: .18rem;
    background: transparent;
    color: #645a54;
    cursor: pointer;
    padding: .36rem .65rem;
    font-size: .7rem;
    text-decoration: none;
}

.range-switch button.is-active,
.range-switch a.is-active {
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
    color: #272321;
}

.line-chart {
    position: relative;
    height: 16rem;
    margin-top: 1.6rem;
    overflow: hidden;
}

.chart-grid-lines {
    position: absolute;
    inset: .5rem 0 1.75rem;
    background-image: linear-gradient(to bottom, rgba(90, 65, 56, .12) 1px, transparent 1px);
    background-size: 100% 25%;
}

.line-chart svg {
    position: absolute;
    inset: .5rem 0 1.75rem;
    width: 100%;
    height: calc(100% - 2.25rem);
}

.chart-labels {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    color: #82766f;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .62rem;
}

.analysis-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    min-width: 0;
}

.brand-card,
.vendor-card {
    min-height: 15.5rem;
    padding: 1.55rem;
}

.brand-body {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1.5rem;
}

.donut-chart {
    display: grid;
    width: 7.5rem;
    height: 7.5rem;
    flex: 0 0 7.5rem;
    border-radius: 50%;
    background: conic-gradient(#a43700 0 47%, #7e5700 47% 76%, #e3bfb2 76% 100%);
    place-items: center;
}

.donut-chart > div {
    display: grid;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    background: #fff;
    place-content: center;
    text-align: center;
}

.donut-chart strong {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 1.28rem;
}

.donut-chart span {
    color: #736963;
    font-size: .48rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.brand-body ul {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    color: #514841;
    font-size: .74rem;
    list-style: none;
}

.brand-body li {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.brand-dot {
    width: .63rem;
    height: .63rem;
    border-radius: 50%;
}

.brand-dot.primary { background: #a43700; }
.brand-dot.gold { background: #7e5700; }
.brand-dot.soft { background: #e3bfb2; }

.vendor-bars {
    display: grid;
    gap: 1rem;
    margin-top: 1.6rem;
}

.vendor-bars p {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 .35rem;
    color: #625850;
    font-size: .67rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.vendor-bars p b {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-weight: 650;
}

.vendor-bars i {
    height: .46rem;
}

.vendor-bars em {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #b34b20;
}

.operations-column {
    display: grid;
    align-content: start;
    gap: 1.5rem;
    min-width: 0;
}

.operation-status-card {
    overflow: hidden;
}

.operation-title {
    background: #e9eceb;
    padding: 1.4rem 1.5rem;
}

.operation-title h2,
.activity-heading h2 {
    font-size: .75rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.operation-list {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 1.25rem 1.5rem;
    list-style: none;
}

.operation-list li {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    border-radius: .18rem;
    background: #f3f5f5;
    padding: .65rem .8rem;
    color: #4f4741;
    font-size: .72rem;
}

.operation-list b {
    border-radius: .14rem;
    padding: .26rem .42rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .7rem;
}

.operation-list .orange { background: rgba(164, 55, 0, .1); color: #963615; }
.operation-list .gold-badge { background: rgba(126, 87, 0, .11); color: #7e5700; }
.operation-list .red-badge { background: #ffdad6; color: #a30e0e; }

.activity-card {
    overflow: hidden;
}

.activity-heading {
    border-bottom: 1px solid rgba(227, 191, 178, .35);
    padding: 1.4rem 1.5rem;
}

.activity-heading > span {
    border-radius: .14rem;
    background: #dadedd;
    color: #4a4540;
    padding: .2rem .38rem;
    font-size: .54rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.activity-list {
    display: grid;
    gap: 1.2rem;
    margin: 0;
    padding: 1.4rem 1.5rem;
    list-style: none;
}

.activity-list li {
    position: relative;
    display: flex;
    gap: .85rem;
}

.activity-list li:not(:last-child)::after {
    position: absolute;
    top: 1.75rem;
    bottom: -1.25rem;
    left: .55rem;
    width: 1px;
    background: rgba(227, 191, 178, .52);
    content: "";
}

.activity-icon {
    z-index: 1;
    display: grid;
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 1.15rem;
    border-radius: 50%;
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    place-items: center;
}

.activity-list .success .activity-icon { background: #a43700; }
.activity-list .warning .activity-icon { background: #8a6500; font-size: .45rem; }
.activity-list .danger .activity-icon { background: #b11c1c; }

.activity-list strong {
    display: block;
    color: #2a2725;
    font-size: .75rem;
    font-weight: 550;
    line-height: 1.42;
}

.activity-list .danger strong { color: #a01414; font-weight: 700; }

.activity-list small {
    display: block;
    margin-top: .25rem;
    color: #7a6f68;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .54rem;
    letter-spacing: .035em;
    line-height: 1.4;
    text-transform: uppercase;
}

.history-button {
    width: calc(100% - 3rem);
    margin: .1rem 1.5rem 1.5rem;
    border: 1px solid #e3bfb2;
    border-radius: .16rem;
    background: #fff;
    color: #5d5049;
    cursor: pointer;
    padding: .7rem;
    font-size: .63rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.history-button:hover,
.discrepancy-action button:hover { filter: brightness(.94); }

.distribution-banner {
    position: relative;
    display: flex;
    min-height: 15rem;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    overflow: hidden;
    margin-top: 1.5rem;
    border-radius: .8rem;
    background: linear-gradient(100deg, rgba(25, 28, 29, .94) 0%, rgba(25, 28, 29, .78) 42%, rgba(25, 28, 29, .28) 100%), #5a5d5c;
    box-shadow: 0 .85rem 1.25rem -.95rem rgba(0, 0, 0, .4);
    padding: 2rem;
}

.map-pattern {
    position: absolute;
    inset: 0;
    opacity: .82;
    background-image: linear-gradient(30deg, transparent 47%, rgba(245, 226, 214, .25) 48%, transparent 49%), linear-gradient(-45deg, transparent 46%, rgba(245, 226, 214, .18) 47%, transparent 48%), radial-gradient(circle at 70% 55%, rgba(207, 105, 55, .75) 0 .28rem, transparent .32rem), radial-gradient(circle at 85% 38%, rgba(250, 215, 141, .82) 0 .27rem, transparent .31rem), radial-gradient(circle at 58% 26%, rgba(207, 105, 55, .76) 0 .26rem, transparent .3rem);
    background-size: 6rem 6rem, 7rem 7rem, auto, auto, auto;
    pointer-events: none;
}

.map-pattern i {
    position: absolute;
    width: .55rem;
    height: .55rem;
    border: 2px solid #ffd5bc;
    border-radius: 50%;
    box-shadow: 0 0 0 .35rem rgba(255, 216, 190, .13);
}

.map-pattern i:nth-child(1) { top: 25%; left: 54%; }
.map-pattern i:nth-child(2) { top: 68%; left: 65%; }
.map-pattern i:nth-child(3) { top: 18%; left: 80%; }
.map-pattern i:nth-child(4) { top: 62%; left: 88%; }
.map-pattern i:nth-child(5) { top: 44%; left: 74%; }
.map-pattern i:nth-child(6) { top: 78%; left: 52%; }
.map-pattern i:nth-child(7) { top: 38%; left: 94%; }

.distribution-copy,
.distribution-stats { position: relative; z-index: 1; }

.distribution-copy p {
    margin: 0 0 .4rem;
    color: #f4ede8;
    font-size: .68rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.distribution-copy h2 {
    margin: 0 0 .38rem;
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: -.045em;
}

.distribution-copy span {
    display: block;
    max-width: 29rem;
    color: #e5ded9;
    font-size: .78rem;
    line-height: 1.5;
}

.distribution-stats {
    display: flex;
    gap: .8rem;
}

.distribution-stats > div {
    min-width: 7.6rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: .2rem;
    background: rgba(248, 250, 251, .1);
    padding: .75rem;
    backdrop-filter: blur(6px);
}

.distribution-stats span,
.distribution-stats strong { display: block; }
.distribution-stats span { color: rgba(255, 255, 255, .65); font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.distribution-stats strong { margin-top: .25rem; color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92rem; }

@media (max-width: 1320px) {
    .kpi-grid { grid-template-columns: 1fr 1.45fr; }
    .discrepancy-card { grid-column: span 2; min-height: 11.5rem; }
    .discrepancy-action { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
    .discrepancy-action p { margin: 0; }
    .discrepancy-action button { width: auto; min-width: 10rem; }
    .operational-grid { grid-template-columns: 1fr; }
    .operations-column { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
    .admin-sidebar { width: 15.5rem; }
    .admin-main { margin-left: 15.5rem; }
    .admin-header, .dashboard-content { padding-right: 1.75rem; padding-left: 1.75rem; }
    .operational-grid { grid-template-columns: 1fr; }
    .operations-column { grid-template-columns: 1fr 1fr; }
    .distribution-banner { min-height: 13rem; }
}

@media (max-width: 760px) {
    .admin-sidebar { box-shadow: .5rem 0 1.5rem rgba(30, 25, 22, .16); transform: translateX(-105%); transition: transform .2s ease; }
    .admin-sidebar.is-open { transform: translateX(0); }
    .admin-main { margin-left: 0; }
    .admin-header { gap: .8rem; padding: .65rem 1rem; }
    .mobile-menu-button { display: block; }
    .admin-search { flex: 1; }
    .admin-user > div, .header-separator { display: none; }
    .dashboard-content { padding: 2.25rem 1rem 1.5rem; }
    .dashboard-title-row { align-items: flex-start; flex-direction: column; margin-bottom: 2rem; }
    .dashboard-sync { width: 100%; justify-content: space-between; }
    .kpi-grid, .analysis-cards, .operations-column { grid-template-columns: 1fr; }
    .discrepancy-card { grid-column: auto; }
    .discrepancy-action { display: block; }
    .discrepancy-action p { margin-bottom: 1rem; }
    .discrepancy-action button { width: 100%; }
    .distribution-banner { align-items: flex-start; flex-direction: column; justify-content: flex-end; padding: 1.5rem; }
    .distribution-stats { width: 100%; }
    .distribution-stats > div { flex: 1; }
}

/* ========================================================================== */
/* Refonte 2026 — espace administrateur                                       */
/* ========================================================================== */
.admin-page {
    --admin-primary: #155eef;
    --admin-primary-dark: #0b3b91;
    --admin-navy: #102a43;
    --admin-ink: #172b4d;
    --admin-muted: #5f6f85;
    --admin-line: #dbe4ee;
    --admin-soft: #f3f7fb;
    --admin-success: #18794e;
    --admin-warning: #9a6700;
    --admin-danger: #b42318;
    background: #f5f8fc;
    color: var(--admin-ink);
}

.admin-page .admin-shell { background: #f5f8fc; }
.admin-page .admin-sidebar {
    width: 17rem;
    border-right: 0;
    background: linear-gradient(180deg, #102a43 0%, #0b1f33 100%);
    box-shadow: .75rem 0 2.5rem rgba(16, 42, 67, .08);
    color: #fff;
}
.admin-page .admin-brand { min-height: 5.25rem; border-bottom: 1px solid rgba(255,255,255,.09); color: #fff; padding: 1.35rem 1.25rem; letter-spacing: -.035em; }
.admin-page .admin-brand-mark { border-radius: .55rem; background: #2e90fa; color: #fff; font-size: .85rem; }
.admin-page .seller-nav-label { margin: 1.2rem 1.25rem .3rem; color: #9fb3c8; font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.admin-page .admin-nav { gap: .2rem; padding: .45rem .75rem 1.25rem; }
.admin-page .admin-nav-group { margin: 1.15rem .65rem .3rem; color: #829ab1; font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admin-page .admin-nav-link { min-height: 2.8rem; border-radius: .5rem; color: #cbd5e1; padding: .62rem .72rem; font-size: .82rem; }
.admin-page .admin-nav-link > span:first-child { display: grid; width: 1.7rem; height: 1.7rem; flex: 0 0 1.7rem; border-radius: .38rem; background: rgba(255,255,255,.07); place-items: center; }
.admin-page .admin-nav-link:hover { background: rgba(255,255,255,.075); color: #fff; }
.admin-page .admin-nav-link.is-active { background: #fff; box-shadow: 0 .5rem 1.4rem rgba(0,0,0,.15); color: #103f91; }
.admin-page .admin-nav-link.is-active > span:first-child { background: #eaf2ff; color: #155eef; }
.admin-page .admin-sidebar-footer { border-color: rgba(255,255,255,.1); }
.admin-page .admin-instance { color: #a9bbcb; }
.admin-page .logout-button { color: #cbd5e1; }
.admin-page .logout-button:hover, .admin-page .logout-button:focus-visible { background: rgba(255,255,255,.08); color: #fff; }

.admin-page .admin-main { margin-left: 17rem; }
.admin-page .admin-header { min-height: 4.5rem; border-color: var(--admin-line); background: rgba(255,255,255,.92); padding: .75rem clamp(1rem, 3vw, 2.5rem); box-shadow: 0 1px 0 rgba(16,42,67,.03); }
.admin-header-context { display: grid; gap: .1rem; }
.admin-header-context span { color: var(--admin-muted); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-header-context strong { color: var(--admin-ink); font-size: .83rem; }
.admin-page .admin-user strong { color: var(--admin-ink); font-size: .82rem; }
.admin-page .admin-user small { color: var(--admin-muted); }
.admin-page .admin-avatar { border-radius: 50%; background: #e8f1ff; color: #155eef; }

.admin-page :is(.dashboard-content,.catalogue-content,.users-content,.reports-content,.audit-content,.module-content) { width: min(100%, 94rem); padding: 2.25rem clamp(1rem,3vw,2.5rem) 4rem; }
.admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) { align-items: center; margin-bottom: 1.6rem; }
.admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row,.module-title) h1 { color: var(--admin-ink); font-size: clamp(1.75rem,3vw,2.45rem); letter-spacing: -.045em; line-height: 1.08; }
.admin-page .dashboard-title-row h1 br { display: none; }
.admin-page .dashboard-kicker { color: #155eef; font-family: inherit; font-size: .65rem; font-weight: 800; letter-spacing: .11em; }
.admin-page :is(.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) p { color: var(--admin-muted); }
.admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export,.audit-export,.history-button) { min-height: 44px; border-radius: .5rem; background: #155eef; box-shadow: none; color: #fff; padding: .68rem 1rem; text-decoration: none; }
.admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export,.audit-export,.history-button):hover { background: #0b4dcc; }

.admin-page .section-jump-nav { gap: .45rem; margin-bottom: 1.35rem; border-bottom: 1px solid var(--admin-line); padding-bottom: .8rem; }
.admin-page .section-jump-nav a { min-height: 38px; border-color: transparent; border-radius: .45rem; background: transparent; color: var(--admin-muted); padding: .45rem .7rem; }
.admin-page .section-jump-nav a:hover, .admin-page .section-jump-nav a:focus-visible { border-color: #b8d4ff; background: #eaf2ff; color: #0b4dcc; }

.admin-page :is(.dashboard-card,.module-card,.catalogue-stat-card,.users-stat,.audit-stats article,.report-preview,.report-templates,.users-table-card,.catalogue-product) { border: 1px solid var(--admin-line); border-radius: .75rem; background: #fff; box-shadow: 0 .4rem 1.3rem rgba(16,42,67,.055); }
.admin-page :is(.catalogue-stats,.users-stats,.audit-stats) { gap: .85rem; }
.admin-page :is(.catalogue-stat-card,.users-stat,.audit-stats article) { min-height: 8rem; border-left: 0; padding: 1.2rem; }
.admin-page :is(.catalogue-stat-card,.users-stat,.audit-stats article) p { color: var(--admin-muted); font-size: .67rem; font-weight: 750; }
.admin-page :is(.catalogue-stat-card,.users-stat,.audit-stats article) strong { color: var(--admin-ink); font-size: 1.8rem; }
.admin-page .catalogue-stat-card.alert { border-left: .25rem solid #f79009; }

.admin-page .kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; }
.admin-page .dashboard-card { padding: 1.25rem; }
.admin-page .revenue-card { background: linear-gradient(135deg,#155eef,#0b3b91); color: #fff; }
.admin-page .revenue-card :is(p,strong,span,b,small,em) { color: inherit; }
.admin-page .units-card .card-topline strong, .admin-page .discrepancy-card .card-topline strong { color: var(--admin-ink); }
.admin-page .operational-grid { gap: 1rem; }
.admin-page .trend-card, .admin-page .operation-status-card, .admin-page .activity-card { background: #fff; }
.admin-page .distribution-banner { border-radius: .8rem; background: linear-gradient(135deg,#102a43,#155eef); }

.admin-data-toolbar { border-color: var(--admin-line); border-radius: .7rem; background: #fff; box-shadow: none; }
.admin-data-toolbar > div h2 { color: var(--admin-ink); }
.admin-data-toolbar > label { color: var(--admin-muted); }
.admin-data-toolbar :is(input,select) { border-color: #cbd8e6; border-radius: .45rem; color: var(--admin-ink); }
.admin-data-toolbar :is(input,select):focus-visible { border-color: #155eef; outline-color: rgba(21,94,239,.16); }
.admin-data-toolbar button { border-color: #b8cff4; border-radius: .45rem; color: #155eef; }
.admin-data-toolbar button:hover { background: #eaf2ff; }

.admin-page .catalogue-product-grid { grid-template-columns: 1fr; gap: .9rem; }
.admin-page .catalogue-product { display: grid; grid-template-columns: 12rem minmax(0,1fr); overflow: visible; }
.admin-page .product-visual { min-height: 100%; height: auto; border-radius: .7rem 0 0 .7rem; background: #edf3f9; }
.admin-page .product-details { padding: 1.2rem 1.35rem; }
.admin-page .product-heading h2 { color: var(--admin-ink); font-size: 1.05rem; }
.admin-page .product-price-box { background: #f3f7fb; }
.admin-page .product-price-box b, .admin-page .product-price-box small { color: #155eef; }
.admin-page .product-stock .in-stock { color: var(--admin-success); }
.admin-page .module-table-wrap { border: 1px solid var(--admin-line); border-radius: .55rem; }
.admin-page :is(.module-table-wrap,.users-table-scroll,.audit-table-wrap,.report-table-wrap) table { background: #fff; }
.admin-page :is(.module-table-wrap,.users-table-scroll,.audit-table-wrap,.report-table-wrap) th { border-bottom: 1px solid var(--admin-line); background: #f3f7fb; color: #52677e; font-size: .65rem; }
.admin-page :is(.module-table-wrap,.users-table-scroll,.audit-table-wrap,.report-table-wrap) td { border-color: #e5edf5; color: var(--admin-ink); font-size: .72rem; }

.admin-task-panel { overflow: hidden; }
.admin-task-panel > summary { position: relative; z-index: 2; display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid var(--admin-line); border-radius: .7rem; background: #fff; color: var(--admin-ink); cursor: pointer; padding: .85rem 1rem; list-style: none; }
.admin-task-panel > summary::-webkit-details-marker { display: none; }
.admin-task-panel > summary span { display: grid; gap: .25rem; }
.admin-task-panel > summary b { font-size: .9rem; }
.admin-task-panel > summary small { color: var(--admin-muted); font-size: .7rem; }
.admin-task-panel > summary i { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: .45rem; background: #eaf2ff; color: #155eef; font-size: 1.2rem; font-style: normal; place-items: center; transition: transform .2s ease; }
.admin-task-panel[open] > summary { border-color: #9fc3ff; border-radius: .7rem .7rem 0 0; background: #f8fbff; }
.admin-task-panel[open] > summary i { transform: rotate(45deg); }
.admin-page .bulk-pricing-panel { display: grid; margin-top: .9rem; border: 1px solid var(--admin-line); border-radius: .75rem; background: #fff; color: var(--admin-ink); padding: 0; }
.admin-page .bulk-pricing-panel::after { display: none; }
.admin-page .bulk-pricing-panel > :not(summary) { margin: 0 1.25rem; }
.admin-page .bulk-pricing-panel > form { margin-bottom: 1.25rem; }
.admin-page .bulk-pricing-intro { padding-top: 1.1rem; }
.admin-page .bulk-pricing-panel p, .admin-page .bulk-pricing-form label, .admin-page .bulk-pricing-form legend { color: var(--admin-muted); }
.admin-page .bulk-pricing-form :is(input,select) { border-color: #cbd8e6; border-radius: .45rem; background: #fff; color: var(--admin-ink); }
.admin-page .bulk-pricing-form button { min-height: 44px; border-radius: .45rem; background: #155eef; }
.admin-page .user-create-panel { border: 0; background: transparent; box-shadow: none; padding: 0; }
.admin-page .user-create-panel > :not(summary) { margin-right: 1rem; margin-left: 1rem; }
.admin-page .user-create-panel-head { margin-top: 0; border: 1px solid var(--admin-line); border-top: 0; background: #f8fbff; }
.admin-page .user-create-form { border: 1px solid var(--admin-line); border-top: 0; background: #fff; }
.admin-page .module-card.admin-task-panel { padding: 0; }
.admin-page .module-card.admin-task-panel > form { padding: 1.2rem; }

.admin-page .audit-table-card { border-color: var(--admin-line); box-shadow: none; }
.admin-page .audit-table-card th { background: #102a43; color: #fff; }
.admin-page .audit-module { border-radius: 2rem; background: #eaf2ff; color: #155eef; padding: .3rem .5rem; }
.admin-page .report-preview-header { background: #102a43; }
.admin-page .report-template.is-active, .admin-page .report-template-list button { background: #155eef; color: #fff; }
.admin-page .module-form button, .admin-page .user-create-submit { min-height: 44px; border-radius: .45rem; background: #155eef; color: #fff; }

.admin-page :focus-visible { outline: 3px solid rgba(21,94,239,.28); outline-offset: 2px; }

@media (max-width: 1180px) {
    .admin-page .admin-sidebar { width: 15.5rem; }
    .admin-page .admin-main { margin-left: 15.5rem; }
    .admin-page .catalogue-product { grid-template-columns: 9rem minmax(0,1fr); }
}
@media (max-width: 900px) {
    .admin-page .admin-sidebar { width: min(18rem,calc(100vw - 3rem)); }
    .admin-page .admin-main { margin-left: 0; }
    .admin-page .kpi-grid { grid-template-columns: 1fr 1fr; }
    .admin-page .revenue-card { grid-column: span 2; }
}
@media (max-width: 700px) {
    .admin-header-context { display: none; }
    .admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) { align-items: stretch; flex-direction: column; }
    .admin-page .dashboard-sync, .admin-page :is(.catalogue-title-actions,.reports-export-box,.audit-actions) { width: 100%; }
    .admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export,.audit-export) { width: 100%; justify-content: center; }
    .admin-page .kpi-grid { grid-template-columns: 1fr; }
    .admin-page .revenue-card { grid-column: auto; }
    .admin-page :is(.catalogue-stats,.users-stats,.audit-stats) { grid-template-columns: 1fr 1fr; }
    .admin-page .catalogue-product { display: block; }
    .admin-page .product-visual { min-height: 8rem; border-radius: .7rem .7rem 0 0; }
    .admin-page .gas-cylinder { transform: scale(.72); }
    .admin-page .bulk-pricing-fields, .admin-page .stock-initialization-panel .bulk-pricing-fields { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
    .admin-page :is(.catalogue-stats,.users-stats,.audit-stats) { grid-template-columns: 1fr; }
    .admin-page .admin-user > div { display: none; }
}

@media (max-width: 470px) {
    .admin-search input { font-size: .7rem; }
    .bell-button { display: none; }
    .dashboard-sync > div { padding-right: .75rem; }
    .refresh-button { padding: .72rem .8rem; }
    .refresh-button span { display: none; }
    .units-card, .revenue-card, .discrepancy-card { min-height: 15.5rem; padding: 1.3rem; }
    .trend-card, .brand-card, .vendor-card { padding: 1.25rem; }
    .brand-body { gap: .8rem; }
    .donut-chart { width: 6.2rem; height: 6.2rem; flex-basis: 6.2rem; }
    .donut-chart > div { width: 4rem; height: 4rem; }
    .distribution-copy h2 { font-size: 1.25rem; }
}

/* Robustesse de mise en page — évite les cartes superposées ou tronquées. */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

body.admin-page {
    overflow-wrap: anywhere;
}

.admin-shell,
.admin-main,
.admin-header,
.admin-header > *,
.dashboard-content,
.module-content,
.module-grid,
.module-grid > *,
.controller-dashboard-content,
.controller-workspace,
.controller-workspace > *,
.cash-content,
.audit-content,
.reports-content,
.catalogue-content,
.users-content,
.inventory-content,
.arrivals-content,
.seller-dashboard-content,
.seller-dashboard-grid,
.seller-dashboard-grid > *,
.seller-history-content,
.seller-new-sale-content,
.daily-point-content {
    min-width: 0;
    max-width: 100%;
}

.admin-sidebar {
    overflow-x: hidden;
    overflow-y: auto;
}

.admin-nav {
    min-width: 0;
}

.admin-nav-link > span:last-child,
.admin-user strong,
.admin-user small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.module-card {
    min-width: 0;
    overflow: visible;
}

.module-grid > .module-card,
.module-grid > article.module-card,
.module-grid > section.module-card {
    height: auto;
    margin-top: 0;
}

.module-grid > article:not(.module-card) {
    min-width: 0;
    border: 1px solid #eadbd5;
    border-radius: .4rem;
    background: #f7f8f8;
    padding: 1rem;
}

.module-grid > article:not(.module-card) > :first-child {
    margin-top: 0;
}

.module-grid > article:not(.module-card) > :last-child {
    margin-bottom: 0;
}

.module-card :is(strong, p, li, dd, td, th, a),
.seller-dashboard-panel :is(strong, p, small, td, th),
.controller-live-card :is(strong, p, small, td, th) {
    overflow-wrap: anywhere;
}

.module-card ul {
    margin: .75rem 0 0;
    padding-left: 1.2rem;
}

.module-card li + li {
    margin-top: .55rem;
}

.module-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    border-radius: .3rem;
    -webkit-overflow-scrolling: touch;
}

.module-table-wrap table {
    table-layout: auto;
}

.module-table-wrap :is(th, td) {
    min-width: 7rem;
    vertical-align: top;
}

.module-table-wrap :is(th, td):first-child {
    min-width: 9rem;
}

.module-table-wrap td form {
    min-width: min(100%, 13rem);
}

.module-form > *,
.module-form--horizontal > *,
.inline-form > * {
    min-width: 0;
}

.inline-form {
    max-width: 100%;
    flex-wrap: wrap;
}

.inline-form input,
.inline-form select {
    min-width: 7rem;
    flex: 1 1 8rem;
}

.inline-form button,
.inline-form a {
    flex: 0 1 auto;
}

:is(.module-card, .cash-expenses, .controller-live-card, .seller-dashboard-panel) :is(input, select, textarea, button, a) {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .module-grid.three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    html,
    body {
        min-width: 0;
    }

    .admin-sidebar {
        width: min(18rem, calc(100vw - 3rem));
    }

    .admin-header {
        position: sticky;
        align-items: center;
    }

    .admin-user-actions {
        min-width: 0;
        gap: .6rem;
    }

    .admin-avatar {
        width: 2.2rem;
        height: 2.2rem;
        flex: 0 0 2.2rem;
    }

    .module-grid.three,
    .module-metrics {
        grid-template-columns: 1fr;
    }

    .module-card {
        padding: 1rem;
    }

    .module-table-wrap {
        margin-inline: 0;
    }

    .module-table-wrap::after {
        display: block;
        position: sticky;
        left: 0;
        width: max-content;
        margin-top: .45rem;
        color: #71665f;
        content: "Faites défiler horizontalement pour voir tout le tableau →";
        font-size: .72rem;
    }

    .inline-form {
        min-width: 0;
        align-items: stretch;
        flex-direction: column;
    }

    .inline-form :is(input, select, button, a) {
        width: 100%;
    }
}

@media (max-width: 380px) {
    .admin-header {
        padding-inline: .75rem;
    }

    .module-content,
    .dashboard-content,
    .seller-dashboard-content {
        padding-inline: .75rem;
    }
}

/* Tableau de bord contrôleur */
.controller-sidebar { background: #f2f4f4; }
.controller-nav-label { margin: .2rem 1.55rem .25rem; color: #84776f; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.controller-sidebar .admin-nav-link { font-size: .74rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.controller-sidebar .admin-nav-link.is-active { background: #a43700; }
.controller-dashboard-content { width: min(100%, 100rem); margin: 0 auto; padding: 2.5rem 3rem 3.6rem; }
.controller-dashboard-intro { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.7rem; }
.controller-dashboard-intro p { margin: 0 0 .35rem; color: #963615; font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.controller-dashboard-intro h1 { margin: 0; color: #24201e; font-size: clamp(2rem, 3.8vw, 3.1rem); letter-spacing: -.065em; line-height: 1; }
.controller-dashboard-intro span { display: block; max-width: 37rem; margin-top: .7rem; color: #6c625c; font-size: .78rem; line-height: 1.5; }
.controller-dashboard-intro button { display: inline-flex; align-items: center; gap: .5rem; border: 0; border-radius: .23rem; background: #963615; box-shadow: 0 .4rem .75rem -.55rem #763016; color: #fff; cursor: pointer; padding: .75rem .95rem; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.controller-dashboard-intro button span { margin: 0; color: inherit; font-size: 1rem; }.controller-dashboard-intro button:hover { background: #7f2d10; }
.controller-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.controller-metric { position: relative; display: flex; min-height: 10.7rem; flex-direction: column; overflow: hidden; border-radius: .55rem; background: #f0f2f2; box-shadow: 0 .5rem 1.1rem -.9rem rgba(35, 28, 24, .5); padding: 1.25rem 1.35rem; }
.controller-metric > span { color: #6e625b; font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.controller-metric > strong { margin-top: .25rem; color: #26211f; font-size: clamp(1.75rem, 3.1vw, 2.6rem); letter-spacing: -.06em; line-height: 1.05; }.controller-metric > strong small { font-size: .34em; letter-spacing: 0; }
.controller-metric > small, .controller-metric > em { margin-top: auto; color: #746861; font-size: .62rem; font-style: normal; line-height: 1.35; }.controller-metric.sales { background: #a43700; color: #fff; }.controller-metric.sales > span { color: rgba(255, 255, 255, .72); }.controller-metric.sales > strong, .controller-metric.sales > em { color: #fff; }.controller-metric.sales > i { position: absolute; right: -.25rem; bottom: -.75rem; color: rgba(255, 255, 255, .13); font-size: 8rem; font-style: normal; line-height: 1; transform: rotate(-16deg); }
.metric-icon-line { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }.metric-icon-line > span { color: #a43700; font-size: 1.3rem; }.metric-icon-line > span.gold { color: #7e5700; }.metric-icon-line code, .controller-metric.critical code { border-radius: .15rem; background: #dfe3e3; color: #625852; padding: .25rem .38rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .51rem; }.metric-icon-line b { width: .5rem; height: .5rem; border-radius: 50%; background: #7e5700; }.metric-progress { height: .28rem; margin-top: auto; overflow: hidden; border-radius: 1rem; background: #d9dddd; }.metric-progress i { display: block; height: 100%; border-radius: inherit; background: #a43700; }.controller-metric.critical { background: #f7d9d5; }.controller-metric.critical > span, .controller-metric.critical > strong, .controller-metric.critical > small, .controller-metric.critical .metric-icon-line > span { color: #a31515; }.controller-metric.critical code { background: rgba(185, 26, 26, .1); color: #a31515; font-family: inherit; font-weight: 800; letter-spacing: .06em; }
.controller-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .75fr); gap: 1.35rem; margin-top: 1.35rem; }.controller-live-card, .controller-validations, .controller-quick-scan { overflow: hidden; border-radius: .55rem; background: #f0f2f2; box-shadow: 0 .45rem 1rem -.8rem rgba(35, 28, 24, .43); }
.controller-live-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #e2e5e5; padding: 1.15rem 1.35rem; }.controller-live-card > header p { display: flex; align-items: center; gap: .45rem; margin: 0 0 .2rem; color: #963615; font-size: .68rem; font-weight: 800; text-transform: uppercase; }.controller-live-card > header h2 { margin: 0; color: #282321; font-size: 1.12rem; letter-spacing: -.035em; }.controller-legend { display: flex; gap: .5rem; }.controller-legend span { display: inline-flex; align-items: center; gap: .25rem; border-radius: .14rem; background: #f5f5f4; color: #645a54; padding: .28rem .38rem; font-size: .48rem; text-transform: uppercase; }.controller-legend i { width: .42rem; height: .42rem; border-radius: 50%; background: #a43700; }.controller-legend i.submitted { background: #c58b00; }
.controller-live-table { overflow-x: auto; }.controller-live-table table { width: 100%; min-width: 41rem; border-collapse: collapse; }.controller-live-table th { background: rgba(225, 227, 228, .55); color: #695e57; padding: .75rem .8rem; font-size: .53rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; }.controller-live-table th:last-child, .controller-live-table td:last-child { text-align: right; }.controller-live-table td { border-top: 1px solid rgba(227, 191, 178, .2); color: #312b28; padding: .85rem .8rem; font-size: .67rem; }.controller-live-table td:first-child { display: flex; align-items: center; gap: .55rem; }.controller-live-table td div { display: grid; gap: .12rem; }.controller-live-table td b { font-size: .67rem; }.controller-live-table td small { color: #766b64; font-size: .52rem; }.controller-live-table time { color: #6d625b; white-space: nowrap; }.controller-seller-avatar { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: .55rem; background: #dedede; color: #963615; font-size: .61rem; font-weight: 800; place-items: center; }.seller-status { display: inline-flex; align-items: center; gap: .32rem; width: max-content; border-radius: .15rem; padding: .28rem .42rem; font-size: .52rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }.seller-status.submitted { background: #f4ca43; color: #684c00; }.seller-status.online { background: #e1e4e4; color: #61564f; }.seller-status.online i { width: .4rem; height: .4rem; border-radius: 50%; background: #a43700; }.seller-status.offline { background: #e4e4e3; color: #77706b; }.controller-live-table tr.is-offline { opacity: .58; }.controller-live-table button { border: 0; border-radius: .2rem; background: transparent; color: #963615; cursor: pointer; font-size: .6rem; font-weight: 800; text-transform: uppercase; }.controller-live-table button:hover { background: #f7e1d8; padding: .3rem .4rem; }
.controller-dashboard-side { display: grid; align-content: start; gap: 1.35rem; }.controller-validations { padding: 1.2rem; }.controller-validations > header { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-bottom: .9rem; }.controller-validations h2 { margin: 0; color: #322c28; font-size: 1rem; }.controller-validations > header span { border-radius: .15rem; background: #f5c942; color: #614600; padding: .25rem .35rem; font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.validation-list { display: grid; gap: .7rem; }.validation-list article { display: grid; grid-template-columns: 1fr auto; gap: .45rem .65rem; border-left: 3px solid #8e6500; border-radius: .2rem; background: #e0e3e3; padding: .75rem; }.validation-list small { color: #6f635c; font-size: .5rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }.validation-list h3 { margin: .25rem 0; color: #302a27; font-size: .68rem; line-height: 1.35; }.validation-list p { margin: 0; color: #6b605a; font-size: .58rem; }.validation-list code { color: #886300; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .52rem; }.validation-list button { grid-column: 1 / -1; justify-self: end; border: 0; border-radius: .15rem; background: #963615; color: #fff; cursor: pointer; padding: .4rem .55rem; font-size: .51rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.validation-list button:hover { background: #7e2c10; }.validation-history { width: 100%; border: 0; border-top: 1px solid #ebcbbd; background: transparent; color: #6d5f57; cursor: pointer; margin-top: 1rem; padding: .85rem .2rem .1rem; font-size: .53rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.validation-history:hover { color: #963615; }
.controller-quick-scan { position: relative; border: 1px solid #ecd0c3; background: #f9fafb; padding: 1.1rem; }.controller-quick-scan::after { position: absolute; top: -2.4rem; right: -1.1rem; width: 6rem; height: 6rem; border-radius: 1rem; background: rgba(164, 55, 0, .06); content: ''; transform: rotate(20deg); }.controller-quick-scan > * { position: relative; z-index: 1; }.controller-quick-scan p { margin: 0 0 .7rem; color: #6c6059; font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.controller-quick-scan > div { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }.controller-quick-scan button, .controller-quick-scan a { display: grid; min-height: 5.2rem; align-content: center; gap: .32rem; border: 0; border-radius: .22rem; background: #e2e5e5; color: #3d3631; cursor: pointer; padding: .5rem; font-size: .49rem; font-weight: 800; letter-spacing: .055em; line-height: 1.35; text-decoration: none; text-transform: uppercase; }.controller-quick-scan button span, .controller-quick-scan a span { font-size: 1.2rem; }.controller-quick-scan button:hover, .controller-quick-scan a:hover { background: #f7e1d8; color: #963615; }
.controller-system-activity { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1rem 1.25rem 0; }.controller-system-activity > div:first-child > span { color: #756962; font-size: .56rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.system-bars { display: flex; height: 3rem; align-items: end; gap: .23rem; margin-top: .35rem; }.system-bars i { width: .28rem; border-radius: .2rem .2rem 0 0; background: #a43700; }.controller-system-activity > div:last-child { display: grid; justify-items: end; gap: .25rem; }.controller-system-activity code { color: #6b605a; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }.controller-system-activity strong { color: #963615; font-size: .52rem; letter-spacing: .07em; }.controller-dashboard-feedback { margin: 1rem 0 0; border-left: 3px solid #a43700; background: #fff1e9; color: #69341f; padding: .7rem .85rem; font-size: .72rem; }

@media (max-width: 1240px) { .controller-metrics { grid-template-columns: repeat(2, 1fr); }.controller-workspace { grid-template-columns: 1fr; }.controller-dashboard-side { grid-template-columns: minmax(0, 1fr) minmax(15rem, .65fr); }.controller-system-activity { margin-top: 1.35rem; } }
@media (max-width: 980px) { .controller-dashboard-content { padding-right: 1.75rem; padding-left: 1.75rem; } }
@media (max-width: 760px) { .controller-dashboard-content { padding: 2rem 1rem 2.2rem; }.controller-dashboard-intro { align-items: flex-start; flex-direction: column; }.controller-dashboard-intro button { width: 100%; justify-content: center; }.controller-dashboard-side { grid-template-columns: 1fr; }.controller-legend { display: none; }.controller-live-card > header { align-items: flex-start; }.controller-system-activity { align-items: flex-start; flex-direction: column; padding-left: 0; }.controller-system-activity > div:last-child { justify-items: start; } }
@media (max-width: 470px) { .controller-metrics { grid-template-columns: 1fr; }.controller-metric { min-height: 9rem; }.controller-dashboard-intro h1 { font-size: 2.15rem; } }

/* Contrôle de caisse */
.cash-content { width: min(100%, 100rem); margin: 0 auto; padding: 2.75rem 3rem 4rem; }
.cash-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }.cash-heading { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; }.cash-heading h1 { margin: 0; color: #292321; font-size: clamp(2rem, 3.8vw, 3.2rem); letter-spacing: -.065em; line-height: 1; }.cash-heading code { margin-bottom: .25rem; border-radius: .15rem; background: #e1e4e4; color: #625852; padding: .28rem .42rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }.cash-title-row > div > p { max-width: 43rem; margin: .75rem 0 0; color: #6a5f58; font-size: .78rem; line-height: 1.55; }.cash-session { display: grid; justify-items: end; gap: .15rem; white-space: nowrap; }.cash-session > span { color: #71665f; font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.cash-session strong { color: #963615; font-size: 1.05rem; letter-spacing: -.03em; }.cash-session small { color: #7a5b00; font-size: .53rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cash-payment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }.cash-payment-card { display: grid; align-content: start; gap: 1.1rem; border-radius: .5rem; background: #fff; box-shadow: 0 .5rem 1.1rem -.85rem rgba(35, 28, 24, .45); padding: 1.15rem; }.cash-payment-card > header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }.cash-payment-card > header b { color: #665a53; font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; }.payment-icon { display: grid; width: 2.35rem; height: 2.35rem; border-radius: .2rem; color: #963615; font-size: 1.1rem; font-weight: 850; place-items: center; }.payment-icon.cash { background: rgba(164, 55, 0, .1); }.payment-icon.mtn { background: rgba(255, 204, 0, .2); color: #886300; }.payment-icon.moov { background: rgba(37, 99, 235, .1); color: #2563eb; }.payment-icon.celtis { background: rgba(126, 87, 0, .1); color: #7e5700; }.cash-payment-card > div > span, .cash-payment-card label { color: #756962; font-size: .53rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.cash-payment-card > div > strong { display: block; margin-top: .18rem; color: #292321; font-size: 1.15rem; letter-spacing: -.035em; }.cash-payment-card > div > strong small { font-size: .54em; }.cash-payment-card label { position: relative; display: grid; gap: .28rem; }.cash-payment-card input { width: 100%; height: 2.65rem; border: 0; border-radius: .18rem; outline: 0; background: #e1e4e4; color: #2d2724; padding: .55rem 3.2rem .55rem .65rem; font-size: .75rem; }.cash-payment-card input:focus { box-shadow: 0 0 0 .18rem rgba(164, 55, 0, .13); }.cash-payment-card label small { position: absolute; right: .6rem; bottom: .72rem; color: #766b64; font-size: .52rem; }.cash-payment-card footer { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #efd5ca; padding-top: .65rem; color: #756962; font-size: .56rem; font-weight: 800; letter-spacing: .05em; }.cash-payment-card output { color: #2f2926; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .67rem; letter-spacing: 0; }.cash-payment-card.has-variance output { color: #b11c1c; }.cash-payment-card.has-surplus output { color: #8b6300; }
.cash-expenses { margin-top: 1.25rem; overflow: hidden; border: 1px solid rgba(227, 191, 178, .35); border-radius: .55rem; background: #f1f3f3; padding: 1.35rem; }.cash-expenses > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.cash-expenses > header p { margin: 0; color: #6b615b; font-size: .59rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.cash-expenses > header h2 { margin: .25rem 0 0; color: #302a27; font-size: 1.1rem; letter-spacing: -.035em; }.cash-expenses > header button { border: 0; border-radius: .17rem; background: #dfe3e3; color: #403833; cursor: pointer; padding: .55rem .7rem; font-size: .55rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }.cash-expenses > header button:hover { background: #f7dfd6; color: #963615; }.cash-expenses-table { overflow-x: auto; }.cash-expenses table { width: 100%; min-width: 61rem; border-collapse: collapse; }.cash-expenses th { background: #dde0e0; color: #675c55; padding: .65rem .7rem; font-size: .52rem; letter-spacing: .07em; text-align: left; text-transform: uppercase; }.cash-expenses th:nth-last-child(2), .cash-expenses td:nth-last-child(2) { text-align: right; }.cash-expenses td { border-top: 1px solid rgba(227, 191, 178, .28); color: #342d29; padding: .78rem .7rem; font-size: .65rem; }.cash-expenses td b, .cash-expenses td small { display: block; }.cash-expenses td small { margin-top: .15rem; color: #776c65; font-size: .54rem; }.cash-expenses td span { border-radius: .14rem; background: #dce0e0; color: #5a514c; padding: .25rem .38rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .52rem; }.cash-expenses td button { width: 2.5rem; height: 2.25rem; border: 0; border-radius: .15rem; background: #f9fafb; box-shadow: inset 0 .1rem .25rem rgba(0,0,0,.07); color: #7d6f67; cursor: pointer; font-size: .53rem; }.cash-expenses td button:hover { background: #f4e1d8; color: #963615; }.cash-expenses td em { border-radius: 1rem; background: #f3c83f; color: #694c00; padding: .27rem .47rem; font-size: .52rem; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.cash-variance-panel { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; overflow: hidden; margin-top: 1.25rem; border-radius: .75rem; background: #a43700; box-shadow: 0 .85rem 1.4rem -1.05rem rgba(43, 20, 12, .65); color: #fff; padding: 2rem; }.cash-variance-panel::before { position: absolute; top: -7rem; right: 9%; width: 18rem; height: 18rem; border-radius: 50%; background: rgba(255, 255, 255, .11); content: ''; filter: blur(25px); }.cash-variance-panel > * { position: relative; z-index: 1; }.cash-variance-panel > div:first-child > span { display: block; opacity: .77; font-size: .58rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.cash-variance-panel > div:first-child > strong { display: block; margin-top: .25rem; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.06em; }.cash-variance-panel > div:first-child > p { max-width: 29rem; margin: .55rem 0 0; color: rgba(255,255,255,.88); font-size: .72rem; line-height: 1.5; }.cash-final-actions { display: grid; justify-items: end; gap: .7rem; }.cash-final-actions > div { display: flex; gap: .6rem; }.cash-final-actions button { min-height: 3.5rem; border-radius: .38rem; cursor: pointer; padding: .65rem .8rem; font-size: .61rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }.cash-close-button { border: 0; background: #fff; color: #963615; }.cash-close-button:hover { background: #fff1eb; }.cash-note-button { border: 1px solid rgba(255,255,255,.45); background: #b34511; color: #fff; }.cash-note-button:hover { background: #85300e; }.cash-final-actions label { display: grid; gap: .25rem; width: min(100%, 22rem); color: #fff; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.cash-final-actions textarea { resize: vertical; border: 1px solid rgba(255,255,255,.5); border-radius: .2rem; outline: 0; background: rgba(255,255,255,.96); color: #312b28; padding: .55rem; font: inherit; font-size: .67rem; letter-spacing: 0; text-transform: none; }.cash-feedback { margin: 1rem 0 0; border-left: 3px solid #a43700; background: #fff1e9; color: #67331e; padding: .75rem .9rem; font-size: .72rem; }

@media (max-width: 1180px) { .cash-payment-grid { grid-template-columns: repeat(2, 1fr); }.cash-variance-panel { align-items: flex-start; flex-direction: column; }.cash-final-actions { width: 100%; justify-items: start; } }
@media (max-width: 980px) { .cash-content { padding-right: 1.75rem; padding-left: 1.75rem; } }
@media (max-width: 760px) { .cash-content { padding: 2rem 1rem 2.3rem; }.cash-title-row { align-items: flex-start; flex-direction: column; }.cash-session { justify-items: start; }.cash-expenses { padding: 1rem; }.cash-expenses > header { align-items: flex-start; flex-direction: column; }.cash-variance-panel { padding: 1.35rem; }.cash-final-actions > div { width: 100%; flex-direction: column; }.cash-final-actions button { width: 100%; }.cash-final-actions label { width: 100%; } }
@media (max-width: 470px) { .cash-payment-grid { grid-template-columns: 1fr; }.cash-heading { align-items: flex-start; flex-direction: column; }.cash-heading h1 { font-size: 2.1rem; } }

/* Audit et historique */
.audit-content { width: min(100%, 100rem); margin: 0 auto; padding: 3.6rem 3rem 4rem; }
.audit-title-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.65rem; }
.audit-heading { display: flex; align-items: center; gap: .75rem; }.audit-heading svg { width: 1.5rem; fill: #a43700; }.audit-heading h1 { margin: 0; color: #191c1d; font-size: clamp(2.2rem, 4vw, 3.25rem); letter-spacing: -.065em; }
.audit-title-row > div > p { max-width: 43rem; margin: .8rem 0 0; color: #675d56; font-size: .85rem; line-height: 1.55; }
.audit-actions { display: flex; gap: .65rem; }.audit-actions button { min-height: 3rem; border: 0; border-radius: .2rem; background: #e1e5e4; color: #2c2724; cursor: pointer; padding: .65rem .9rem; font-size: .7rem; font-weight: 700; }.audit-actions .audit-export { background: #963615; color: #fff; }.audit-actions button:hover { filter: brightness(.94); }

.audit-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.4rem; }.audit-stats article { position: relative; display: grid; min-height: 9.5rem; overflow: hidden; border-radius: .55rem; background: #f0f3f3; padding: 1.4rem 1.5rem; }.audit-stats p { margin: 0 0 .45rem; color: #685e57; font-size: .63rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }.audit-stats strong { color: #24201e; font-size: 1.8rem; letter-spacing: -.05em; }.audit-stats strong em { color: #963615; font-size: .44em; font-style: normal; }.audit-stats strong.red { color: #b11c1c; }.audit-stats small { color: #6e645e; font-size: .48em; font-weight: 500; }.audit-stats article > span { margin-top: auto; color: #776c65; font-size: .62rem; }.audit-stats > article:first-child > i { position: absolute; right: 1.2rem; bottom: 1.45rem; left: 1.5rem; height: .32rem; overflow: hidden; border-radius: 2rem; background: #d8dddd; }.audit-stats > article:first-child > i i { display: block; height: 100%; border-radius: inherit; background: #a43700; }
.critical-dots { display: flex; gap: .25rem; margin-top: auto; }.critical-dots i { width: .42rem; height: .42rem; border-radius: 50%; background: #b11c1c; }.critical-dots i:not(:first-child) { opacity: .35; }.audit-avatars { display: flex; margin-top: auto; }.audit-avatars b { display: grid; width: 1.8rem; height: 1.8rem; margin-right: -.25rem; border: 2px solid #f0f3f3; border-radius: 50%; background: #f1d4d0; color: #5d392d; font-size: .56rem; place-items: center; }.audit-avatars b:nth-child(2) { background: #f4d8c8; }.audit-avatars b:nth-child(3) { background: #dfe5e7; }

.audit-filter-bar { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.3rem; border: 1px solid rgba(227, 191, 178, .25); border-radius: .55rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .04); padding: .8rem; }.audit-search { position: relative; flex: 1; }.audit-search svg { position: absolute; top: 50%; left: .8rem; width: .95rem; fill: #5a4138; transform: translateY(-50%); }.audit-search input, .audit-filter-bar select, .audit-filter-bar input { height: 2.5rem; border: 1px solid rgba(227, 191, 178, .42); border-radius: .2rem; outline: 0; background: #fff; color: #2e2926; padding: .5rem .65rem; font-size: .7rem; }.audit-search input { width: 100%; padding-left: 2.25rem; }.audit-filter-bar select { min-width: 8.8rem; }.audit-filter-bar label { display: grid; gap: .18rem; color: #746963; font-size: .54rem; text-transform: uppercase; }.audit-filter-bar input { width: 7.7rem; }.audit-filter-bar > button { display: grid; width: 2.4rem; height: 2.4rem; border: 0; border-radius: .22rem; background: #eef1f0; color: #49413b; cursor: pointer; font-size: 1.1rem; place-items: center; }.audit-filter-bar > button:hover { background: #f7e6de; color: #963615; }

.audit-table-card { overflow: hidden; border: 1px solid rgba(227, 191, 178, .25); border-radius: .7rem; background: #fff; box-shadow: 0 .75rem 1.4rem -.95rem rgba(31, 27, 24, .35); }.audit-table-wrap { overflow-x: auto; }.audit-table-card table { width: 100%; min-width: 65rem; border-collapse: collapse; }.audit-table-card th { background: #2c2e2e; color: #f7f6f4; padding: .9rem .8rem; font-size: .57rem; letter-spacing: .065em; text-align: left; text-transform: uppercase; }.audit-table-card td { border-bottom: 1px solid rgba(227, 191, 178, .25); color: #312b28; padding: .85rem .8rem; font-size: .68rem; vertical-align: top; }.audit-table-card tbody tr[hidden] { display: none; }.audit-table-card td > div { display: grid; gap: .27rem; }.audit-table-card td > div > b { font-size: .68rem; }.audit-table-card td > div > small { color: #776c65; font-size: .56rem; text-transform: uppercase; }.audit-table-card code { color: #3d3631; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; }.audit-table-card code small { color: #776c65; font-size: .53rem; }.audit-person { display: inline-grid; width: 1.85rem; height: 1.85rem; margin-right: .48rem; border-radius: .45rem; color: #4c3023; font-size: .58rem; font-weight: 800; place-items: center; vertical-align: top; }.audit-person + div { display: inline-grid; }.red-bg { background: #f4c7c5; }.gold-bg { background: #f5d6bb; }.slate-bg { background: #dce3e5; }.blue-bg { background: #d4e6e9; }.audit-module { width: max-content; border-radius: .14rem; background: #61696a; color: #fff; padding: .2rem .32rem; font-size: .5rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.audit-module.sales { background: #916f00; color: #fff6d7; }.audit-module.neutral { background: #dfe2e2; color: #4f4b46; }.audit-module.expenses { background: #d8e4e4; color: #315a5d; }.audit-change { border: 1px solid rgba(227, 191, 178, .3); border-radius: .2rem; background: #fff; padding: .5rem; }.audit-change span { display: flex; justify-content: space-between; gap: .65rem; color: #766b64; font-size: .58rem; }.audit-change del { color: #b11c1c; }.audit-change strong { color: #963615; }.audit-detail strong { font-size: .67rem; }.audit-detail span { color: #776c65; font-size: .59rem; }.audit-auto { color: #8a817b; font-size: .63rem; }.audit-severity { display: inline-block; border-radius: .14rem; padding: .25rem .4rem; font-size: .54rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.audit-severity.critical { background: #ffe1de; color: #a01414; }.audit-severity.warning { background: #f1e7b3; color: #735b00; }.audit-severity.info { background: #e4e8e8; color: #526263; }
.audit-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #f1f3f3; padding: .95rem 1.2rem; }.audit-table-footer > span { color: #71665f; font-size: .64rem; }.audit-table-footer > div { display: flex; gap: .25rem; }.audit-table-footer button { display: grid; width: 1.8rem; height: 1.8rem; border: 0; border-radius: .14rem; background: transparent; color: #332e2a; cursor: pointer; place-items: center; }.audit-table-footer button.is-current { background: #963615; color: #fff; }.audit-table-footer button:disabled { opacity: .35; }

.integrity-panel { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; overflow: hidden; margin-top: 1.5rem; border-radius: .7rem; background: #292b2b; color: #fff; padding: 2rem; }.integrity-panel::after { position: absolute; right: 4%; bottom: -8rem; width: 17rem; height: 17rem; border-radius: 50%; background: rgba(164, 55, 0, .25); content: ''; filter: blur(28px); }.integrity-panel > * { position: relative; z-index: 1; }.integrity-heading { display: flex; align-items: center; gap: .8rem; }.integrity-heading span { display: grid; width: 2rem; height: 2rem; border-radius: .4rem; background: #ffdbc9; color: #7c2c13; font-weight: 900; place-items: center; }.integrity-heading h2 { margin: 0; font-size: 1.2rem; letter-spacing: -.03em; }.integrity-panel p { max-width: 35rem; margin: .7rem 0 0; color: #e5e2df; font-size: .76rem; line-height: 1.55; }.integrity-action { display: grid; justify-items: center; gap: .65rem; }.integrity-action button { min-width: 13rem; border: 0; border-radius: .2rem; background: #963615; box-shadow: 0 .7rem 1rem -.6rem #131313; color: #fff; cursor: pointer; padding: .9rem 1rem; font-size: .75rem; font-weight: 750; }.integrity-action button:hover { background: #7f2d10; }.integrity-action button.is-verifying { animation: audit-pulse .65s ease infinite alternate; }.integrity-action button:disabled { cursor: wait; }.integrity-action span { color: #e5dfd9; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .56rem; text-transform: uppercase; }@keyframes audit-pulse { to { transform: scale(.97); opacity: .76; } }.audit-feedback { margin: 1rem 0 0; border-left: 3px solid #a94420; background: #fff3ed; color: #6a321e; padding: .75rem .9rem; font-size: .75rem; line-height: 1.4; }

@media (max-width: 1180px) { .audit-filter-bar { flex-wrap: wrap; }.audit-search { min-width: 100%; }.audit-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) { .audit-content { padding-right: 1.75rem; padding-left: 1.75rem; }.integrity-panel { align-items: flex-start; flex-direction: column; }.integrity-action { justify-items: start; } }
@media (max-width: 760px) { .audit-content { padding: 2.25rem 1rem 2rem; }.audit-title-row { align-items: flex-start; flex-direction: column; }.audit-actions { width: 100%; }.audit-actions button { flex: 1; }.audit-filter-bar { align-items: stretch; flex-direction: column; }.audit-filter-bar select, .audit-filter-bar input { width: 100%; }.audit-filter-bar label { width: 100%; }.audit-filter-bar > button { width: 100%; }.audit-table-footer { align-items: flex-start; flex-direction: column; } }
@media (max-width: 470px) { .audit-stats { grid-template-columns: 1fr; }.audit-actions { flex-direction: column; }.integrity-panel { padding: 1.4rem; }.integrity-action button { width: 100%; } }

/* Centre de rapports */
.reports-content {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding: 3.6rem 3rem 4rem;
}

.reports-title-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.8rem;
}

.reports-title-row h1 { margin: 0; color: #191c1d; font-size: clamp(2.25rem, 4vw, 3.25rem); letter-spacing: -.065em; }
.reports-title-row > div > p:last-child { max-width: 41rem; margin: .7rem 0 0; color: #675d56; font-size: .85rem; line-height: 1.55; }

.reports-export-box {
    display: grid;
    min-width: 15.5rem;
    gap: .65rem;
    border: 1px solid rgba(227, 191, 178, .3);
    border-radius: .55rem;
    background: #f1f3f3;
    padding: .7rem;
}

.reports-export-box label { display: grid; gap: .2rem; color: #6e645d; font-size: .6rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.reports-export-box select { border: 0; outline: 0; background: transparent; color: #292422; font-size: .78rem; }
.reports-export-box > div { display: flex; gap: .5rem; }

.report-export { flex: 1; border: 0; border-radius: .18rem; color: #fff; cursor: pointer; padding: .52rem .7rem; font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.report-export.pdf { background: #963615; }
.report-export.excel { background: #5c6566; }
.report-export:hover { filter: brightness(.9); }

.reports-workspace { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.5rem; }

.report-templates { align-self: start; }
.report-template-title { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: 1rem; }
.report-template-title h2 { margin: 0; color: #665c55; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.report-template-title span { border-radius: .16rem; background: rgba(164, 55, 0, .1); color: #963615; padding: .22rem .35rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .55rem; font-weight: 700; }
.report-template-list { display: grid; gap: .6rem; }

.report-template { display: flex; align-items: flex-start; gap: .7rem; border: 1px solid rgba(227, 191, 178, .3); border-radius: .45rem; background: #f1f3f3; color: #2e2926; cursor: pointer; padding: .9rem; text-align: left; transition: border .15s ease, background .15s ease, transform .15s ease; }
.report-template:hover { border-color: #d68664; transform: translateY(-1px); }
.report-template.is-active { border-color: transparent; background: #dedfdd; box-shadow: 0 .5rem 1rem -.8rem rgba(34, 29, 26, .38); }
.report-template.discrepancy { border-color: rgba(179, 27, 27, .22); }
.report-template.discrepancy .template-icon { background: #ffe1de; color: #ad1a1a; }
.template-icon { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 2.2rem; border-radius: .28rem; background: #f7f8f8; color: #a43700; font-size: 1rem; font-weight: 800; place-items: center; }
.report-template span { display: grid; gap: .23rem; }
.report-template strong { font-size: .76rem; }
.report-template small { color: #71665f; font-size: .63rem; line-height: 1.4; }

.report-preview { overflow: hidden; border: 1px solid rgba(227, 191, 178, .22); border-radius: .8rem; background: #fff; box-shadow: 0 .75rem 1.4rem -.95rem rgba(31, 27, 24, .35); }
.report-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(227, 191, 178, .32); padding: 1.6rem; }
.report-preview-header p { margin: 0 0 .35rem; color: #a43700; font-size: .61rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.report-preview-header h2 { margin: 0; color: #201d1b; font-size: 1.45rem; letter-spacing: -.045em; }
.report-preview-header > div:first-child > span { display: block; margin-top: .38rem; color: #756b64; font-size: .69rem; }
.report-updated { display: grid; grid-template-columns: auto auto; align-items: center; gap: .18rem .6rem; text-align: right; }
.report-updated span { color: #746a63; font-size: .58rem; text-transform: uppercase; }
.report-updated strong { color: #2a2522; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .63rem; }
.report-updated button { grid-row: span 2; grid-column: 2; width: 2rem; height: 2rem; border: 0; border-radius: .35rem; background: transparent; color: #5a4138; cursor: pointer; font-size: 1.25rem; }
.report-updated button:hover { background: #f1f3f3; color: #963615; }
.report-updated button.is-spinning { animation: dashboard-spin .5s ease; }

.report-preview-body { display: grid; gap: 1.35rem; padding: 1.6rem; }
.report-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.report-kpis article { display: grid; align-content: start; gap: .3rem; min-height: 8rem; border-left: .25rem solid #963615; border-radius: .4rem; background: #f5f7f7; padding: 1rem; }
.report-kpis article:nth-child(2), .report-kpis article:nth-child(3) { border-left-color: #b8c0c0; }
.report-kpis article:last-child { border-left-color: #b11c1c; }
.report-kpis span { color: #71665f; font-size: .63rem; }
.report-kpis strong { color: #272220; font-size: 1.25rem; letter-spacing: -.045em; }
.report-kpis strong small { font-size: .56em; }
.report-kpis strong.red { color: #b11c1c; }
.report-kpis em { margin-top: auto; color: #776c65; font-size: .57rem; font-style: normal; line-height: 1.35; }
.report-kpis article:first-child em { color: #886000; }

.report-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.report-chart-card { min-height: 15rem; border-radius: .7rem; background: #e9edec; padding: 1.25rem; }
.report-chart-card header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.report-chart-card h3 { margin: 0; color: #282321; font-size: .9rem; letter-spacing: -.025em; }
.report-chart-card header > span { color: rgba(90, 65, 56, .5); font-size: 1.2rem; }
.report-bars { display: flex; height: 10rem; align-items: end; justify-content: space-around; gap: .7rem; margin-top: 1.15rem; }
.report-bars > div { display: flex; height: 100%; flex: 1; flex-direction: column; align-items: center; justify-content: end; gap: .35rem; }
.report-bars b { color: #3e3833; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }
.report-bars i { width: min(2.3rem, 100%); border-radius: .2rem .2rem 0 0; background: rgba(164, 55, 0, .4); }
.report-bars > div:nth-child(2) i { background: rgba(164, 55, 0, .3); }
.report-bars > div:nth-child(3) i { background: rgba(164, 55, 0, .23); }
.report-bars > div:nth-child(4) i { background: rgba(164, 55, 0, .16); }
.report-bars span { color: #71665f; font-size: .55rem; text-transform: uppercase; }
.report-line-chart { position: relative; height: 10rem; margin-top: 1.25rem; overflow: hidden; }
.report-grid-lines { position: absolute; inset: 0 0 1.25rem; background-image: linear-gradient(to bottom, rgba(90, 65, 56, .12) 1px, transparent 1px); background-size: 100% 33%; }
.report-line-chart svg { position: absolute; inset: 0 0 1.25rem; width: 100%; height: calc(100% - 1.25rem); }
.report-line-chart > span { position: absolute; bottom: 0; color: #71665f; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .52rem; }
.report-line-chart > span:nth-of-type(1) { left: 0; }.report-line-chart > span:nth-of-type(2) { left: 33%; }.report-line-chart > span:nth-of-type(3) { left: 63%; }.report-line-chart > span:nth-of-type(4) { right: 0; }

.report-transactions h3 { margin: 0 0 .75rem; color: #4f4741; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.report-table-wrap { overflow-x: auto; }
.report-transactions table { width: 100%; min-width: 34rem; border-collapse: collapse; }
.report-transactions th { background: #dedfdd; color: #655b54; padding: .65rem .75rem; font-size: .57rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.report-transactions td { border-bottom: 1px solid rgba(227, 191, 178, .24); color: #302a27; padding: .7rem .75rem; font-size: .68rem; }
.report-transactions code { color: #5e544e; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .6rem; }.report-transactions b { font-size: .67rem; }
.report-status { display: inline-block; border-radius: .16rem; padding: .24rem .38rem; font-size: .55rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.report-status.valid { background: #eee4a9; color: #645000; }.report-status.pending { background: #e5e7e7; color: #5d5853; }

.report-preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #f1f3f3; padding: .95rem 1.6rem; }.report-preview-footer span { color: #746a63; font-size: .68rem; }.report-preview-footer button { border: 0; background: transparent; color: #963615; cursor: pointer; font-size: .68rem; font-weight: 700; }.report-preview-footer button:hover { text-decoration: underline; }
.reports-feedback { margin: 1rem 0 0; border-left: 3px solid #a94420; background: #fff3ed; color: #6a321e; padding: .75rem .9rem; font-size: .75rem; line-height: 1.4; }

@media (max-width: 1120px) { .reports-workspace { grid-template-columns: 1fr; }.report-template-list { grid-template-columns: repeat(2, 1fr); }.report-template-title { margin-top: 0; } }
@media (max-width: 980px) { .reports-content { padding-right: 1.75rem; padding-left: 1.75rem; }.report-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .reports-content { padding: 2.25rem 1rem 2rem; }.reports-title-row { align-items: flex-start; flex-direction: column; }.reports-export-box { width: 100%; }.report-template-list, .report-charts { grid-template-columns: 1fr; }.report-preview-header { align-items: flex-start; flex-direction: column; }.report-updated { width: 100%; text-align: left; }.report-preview-body, .report-preview-header { padding: 1.15rem; }.report-preview-footer { align-items: flex-start; flex-direction: column; padding: .95rem 1.15rem; } }
@media (max-width: 470px) { .report-kpis { grid-template-columns: 1fr; }.report-template-list { grid-template-columns: 1fr; }.report-preview-header h2 { font-size: 1.2rem; } }

/* Gestion des utilisateurs */
.users-content {
    width: min(100%, 100rem);
    margin: 0 auto;
    padding: 3.6rem 3rem 4rem;
}

.users-title-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.45rem;
}

.users-title-row h1 {
    margin: 0;
    color: #191c1d;
    font-size: clamp(2rem, 3.4vw, 2.55rem);
    letter-spacing: -.055em;
}

.users-title-row > div > p:last-child {
    max-width: 43rem;
    margin: .72rem 0 0;
    color: #675d56;
    font-size: .86rem;
    line-height: 1.52;
}

.users-create-button {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    gap: .65rem;
    border: 0;
    border-radius: .2rem;
    background: #963615;
    box-shadow: 0 .55rem .85rem -.6rem #4c1b09;
    color: #fff;
    cursor: pointer;
    padding: .72rem 1.15rem;
    font-size: .8rem;
    font-weight: 700;
}

.users-create-button:hover { background: #7f2d10; }
.users-create-button svg { width: 1.1rem; fill: currentColor; }

.users-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.users-stat {
    min-height: 9rem;
    border-left: .3rem solid #963615;
    border-radius: .5rem;
    background: #f0f3f3;
    padding: 1.35rem 1.5rem;
}

.users-stat p {
    margin: 0 0 .3rem;
    color: #675d56;
    font-size: .66rem;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.users-stat strong {
    color: #202020;
    font-size: clamp(1.7rem, 3vw, 2.75rem);
    letter-spacing: -.055em;
}

.users-stat small { font-size: .56em; }
.users-stat.accent-gold { border-color: #886000; }
.users-stat.accent-gray { border-color: #5d6667; }
.users-stat.accent-red { border-color: #b31b1b; }

.users-workspace {
    display: grid;
    gap: 1.5rem;
    align-items: start;
}

.users-table-card,
.user-preview {
    border: 1px solid rgba(227, 191, 178, .25);
    border-radius: .6rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.users-table-card { overflow: hidden; padding: 1.35rem; }

.users-table-toolbar {
    display: flex;
    align-items: center;
    gap: .7rem;
    border-bottom: 1px solid rgba(227, 191, 178, .32);
    padding-bottom: 1rem;
}

.users-table-search {
    position: relative;
    flex: 1;
}

.users-table-search svg {
    position: absolute;
    top: 50%;
    left: .75rem;
    width: .9rem;
    fill: #5a4138;
    transform: translateY(-50%);
}

.users-table-search input,
.users-table-toolbar select {
    height: 2.55rem;
    border: 0;
    border-radius: .2rem;
    outline: 0;
    background: #e9edec;
    color: #2d2926;
    padding: .55rem .7rem;
    font-size: .73rem;
}

.users-table-search input { width: 100%; padding-left: 2.1rem; }
.users-table-toolbar select { min-width: 8rem; }

.users-download {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    border: 0;
    border-radius: .2rem;
    background: transparent;
    color: #5a4138;
    cursor: pointer;
    font-size: 1.3rem;
    place-items: center;
}

.users-download:hover { background: #f7e8e0; color: #963615; }

.users-table-scroll { overflow-x: auto; }

.users-table {
    width: 100%;
    min-width: 44rem;
    border-collapse: collapse;
}

.users-table th {
    background: #e9edec;
    color: #665c55;
    padding: .85rem .8rem;
    font-size: .6rem;
    letter-spacing: .065em;
    text-align: left;
    text-transform: uppercase;
}

.users-table th:last-child { text-align: right; }
.users-table td { border-bottom: 1px solid rgba(227, 191, 178, .25); padding: .8rem; vertical-align: middle; }
.users-table tbody tr { transition: background .16s ease; }
.users-table tbody tr:hover, .users-table tbody tr.is-selected { background: #fff8f4; }
.users-table tbody tr[hidden] { display: none; }

.user-cell {
    display: flex;
    min-width: 13rem;
    align-items: center;
    gap: .65rem;
    color: inherit;
    padding: 0;
    text-align: left;
}

.user-cell > span:last-child { display: grid; gap: .15rem; }
.user-cell b { color: #25211f; font-size: .76rem; font-weight: 650; }
.user-cell small { color: #776c65; font-size: .65rem; }

.user-avatar,
.preview-avatar {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    border-radius: .6rem;
    background: #dfe5e7;
    color: #27313a;
    font-size: .74rem;
    font-weight: 800;
    place-items: center;
}

.user-avatar.sand { background: #f4d7c8; color: #5d3d27; }
.user-avatar.rose { background: #ffe0df; color: #9d2020; }
.user-avatar.blue { background: #d9e7eb; color: #285762; }

.role-badge {
    display: inline-block;
    border-radius: .16rem;
    padding: .27rem .42rem;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.role-badge.admin { background: #ffe2d4; color: #843410; }
.role-badge.controller { background: #e1e7e8; color: #445456; }
.role-badge.seller { background: #e9e8e4; color: #635d54; }

.user-status {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: #2f2b28;
    font-size: .7rem;
}

.user-status i {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: #886000;
}

.user-status.blocked { color: #a01414; }
.user-status.blocked i { background: #b31b1b; }
.users-table code { color: #776c65; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .61rem; line-height: 1.4; }

.user-row-action-form { display: flex; justify-content: flex-end; margin: 0; }

.user-row-action {
    min-height: 2.05rem;
    border: 1px solid #dcc2b6;
    border-radius: .25rem;
    background: #fff;
    color: #873312;
    cursor: pointer;
    padding: .42rem .62rem;
    font: 800 .6rem Inter, system-ui, sans-serif;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.user-row-action:hover,
.user-row-action:focus-visible {
    border-color: #a43700;
    background: #fff1eb;
    outline: none;
}

.users-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
}

.users-table-footer > span { color: #6f645e; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
.users-table-footer > div { display: flex; gap: .25rem; }
.users-table-footer button { display: grid; width: 1.85rem; height: 1.85rem; border: 0; border-radius: .14rem; background: #e9edec; color: #272321; cursor: pointer; font-size: .76rem; place-items: center; }
.users-table-footer button.is-current { background: #963615; color: #fff; }
.users-table-footer button:disabled { cursor: default; opacity: .55; }

.user-preview { overflow: hidden; background: #e9edec; padding: 1.5rem; }
.user-create-panel {
    overflow: hidden;
    border: 1px solid rgba(227, 191, 178, .45);
    border-radius: .6rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.user-create-panel-head {
    display: flex;
    align-items: center;
    gap: .9rem;
    border-bottom: 1px solid rgba(227, 191, 178, .42);
    background: #f1f3f3;
    padding: 1.2rem 1.5rem;
}

.user-create-panel-icon {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    border-radius: .36rem;
    background: #963615;
    color: #fff;
    font-size: 1.45rem;
    font-weight: 300;
    line-height: 1;
    place-items: center;
}

.user-create-panel-head p {
    margin: 0 0 .22rem;
    color: #a43700;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .095em;
    text-transform: uppercase;
}

.user-create-panel-head h2 { margin: 0; color: #201d1b; font-size: 1.15rem; letter-spacing: -.035em; }
.user-create-panel-head div > span { display: block; margin-top: .22rem; color: #746a63; font-size: .72rem; }
.preview-top { display: grid; justify-items: center; gap: .48rem; text-align: center; }
.preview-avatar { width: 5rem; height: 5rem; border: .28rem solid #e4aa56; border-radius: .8rem; background: linear-gradient(135deg, #ad450e, #8a6200); color: #fff; font-size: 1.45rem; box-shadow: inset 0 0 0 .22rem #f1f3f3; }
.preview-top h2 { margin: .25rem 0 0; color: #24201e; font-size: 1.22rem; letter-spacing: -.04em; }
.preview-top p { margin: 0; color: #963615; font-size: .61rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.preview-top > div { display: flex; gap: .45rem; margin-top: .55rem; }
.preview-top > div button { border: 0; border-radius: .2rem; background: #dedfdd; color: #302b28; cursor: pointer; padding: .5rem .7rem; font-size: .66rem; }
.preview-top > div .preview-block-button { background: #b11c1c; color: #fff; }

.user-create-form {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 1.5rem;
}

.user-create-field {
    display: grid;
    grid-column: span 3;
    gap: .42rem;
    color: #5d514b;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.user-create-name,
.user-create-email,
.user-create-password,
.user-create-role { grid-column: span 6; }

.user-create-field input,
.user-create-field select {
    width: 100%;
    min-height: 3.15rem;
    box-sizing: border-box;
    border: 1px solid #dcb9a9;
    border-radius: .28rem;
    outline: none;
    background: #fbfcfc;
    color: #292321;
    padding: .65rem .8rem;
    font: 400 .86rem Inter, system-ui, sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.user-create-field input::placeholder { color: #a69a94; }
.user-create-field input:focus,
.user-create-field select:focus { border-color: #a43700; box-shadow: 0 0 0 .18rem rgba(164, 55, 0, .12); }
.user-create-field small { color: #756962; font-size: .62rem; font-weight: 500; letter-spacing: 0; line-height: 1.35; text-transform: none; }

.user-create-actions {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid rgba(227, 191, 178, .42);
    margin-top: .15rem;
    padding-top: 1rem;
}

.user-create-actions p { margin: 0; color: #746a63; font-size: .7rem; }
.user-create-submit { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .7rem; border: 0; border-radius: .28rem; background: #963615; box-shadow: 0 .6rem .9rem -.65rem rgba(94, 38, 17, .7); color: #fff; cursor: pointer; padding: .7rem 1.05rem; font-size: .72rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.user-create-submit:hover { background: #7f2d10; }
.user-create-submit span { font-size: 1rem; line-height: 1; }

.user-preview section { margin-top: 1.65rem; }
.user-preview h3 { display: flex; justify-content: space-between; margin: 0 0 .7rem; border-bottom: 1px solid rgba(227, 191, 178, .42); color: #665c55; padding-bottom: .65rem; font-size: .63rem; letter-spacing: .075em; text-transform: uppercase; }
.user-preview h3 span { color: #a43700; }
.user-preview ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.user-preview ul li { border-radius: .15rem; background: #f5f6f6; color: #2c2926; padding: .55rem .65rem; font-size: .69rem; }
.user-preview ul li::before { color: #886000; content: '✓ '; font-weight: 800; }
.user-preview ul li.muted { opacity: .48; }

.user-preview ol { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.user-preview ol li { position: relative; display: flex; gap: .65rem; }
.user-preview ol li:not(:last-child)::after { position: absolute; top: 1.2rem; bottom: -.9rem; left: .27rem; width: 1px; background: rgba(227, 191, 178, .65); content: ''; }
.user-preview ol i { z-index: 1; width: .55rem; height: .55rem; flex: 0 0 .55rem; margin-top: .18rem; border-radius: 50%; background: #a43700; }
.user-preview ol i.gold { background: #886000; }
.user-preview ol b { display: block; color: #2e2926; font-size: .67rem; line-height: 1.35; }
.user-preview ol small { display: block; margin-top: .15rem; color: #776c65; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .54rem; line-height: 1.4; }
.preview-history { width: 100%; margin-top: 1.5rem; border: 1px solid #e3bfb2; border-radius: .16rem; background: transparent; color: #5d5049; cursor: pointer; padding: .7rem; font-size: .65rem; }
.preview-history:hover { background: #fff; }

.users-feedback { margin: 1rem 0 0; border-left: 3px solid #a94420; background: #fff3ed; color: #6a321e; padding: .75rem .9rem; font-size: .75rem; line-height: 1.4; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }

@media (max-width: 1150px) {
    .users-workspace { grid-template-columns: 1fr; }
    .user-preview { display: block; }
    .user-create-panel { max-width: none; }
    .user-preview section { margin-top: 0; }
    .preview-history { margin-top: 0; }
}

@media (max-width: 980px) {
    .users-content { padding-right: 1.75rem; padding-left: 1.75rem; }
    .users-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .users-content { padding: 2.25rem 1rem 2rem; }
    .users-title-row { align-items: flex-start; flex-direction: column; }
    .users-create-button { width: 100%; justify-content: center; }
    .users-table-card { padding: 1rem; }
    .users-table-toolbar { flex-wrap: wrap; }
    .users-table-search { min-width: 100%; }
    .user-preview { display: block; }
    .user-create-panel-head { align-items: flex-start; padding: 1rem; }
    .user-create-form { grid-template-columns: 1fr; padding: 1rem; }
    .user-create-field { grid-column: 1; }
    .user-create-actions { align-items: stretch; grid-column: 1; flex-direction: column; }
    .user-create-submit { width: 100%; }
    .user-preview section { margin-top: 1.5rem; }
    .preview-history { margin-top: 1.5rem; }
}

@media (max-width: 470px) {
    .users-stats { grid-template-columns: 1fr; }
    .users-stat { min-height: 6.9rem; }
    .users-table-footer { align-items: flex-start; flex-direction: column; }
}

/* Catalogue et tarification */
.catalogue-content {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding: 3.6rem 3rem;
}

.catalogue-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.catalogue-title-row h1 {
    margin: 0;
    color: #191c1d;
    font-size: clamp(2.2rem, 4vw, 3.25rem);
    letter-spacing: -.065em;
    line-height: 1.06;
}

.catalogue-title-row > div > p:last-child {
    max-width: 42rem;
    margin: .8rem 0 0;
    color: #675d56;
    font-size: .88rem;
    line-height: 1.55;
}

.catalogue-title-actions {
    display: flex;
    gap: .75rem;
}

.catalogue-secondary-button,
.catalogue-primary-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 0;
    border-radius: .45rem;
    cursor: pointer;
    padding: .72rem 1rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .025em;
}

.catalogue-secondary-button {
    background: #e3e7e6;
    color: #282321;
}

.catalogue-primary-button {
    background: #963615;
    box-shadow: 0 .55rem .85rem -.6rem #4c1b09;
    color: #fff;
}

.catalogue-secondary-button:hover { background: #d7ddda; }
.catalogue-primary-button:hover { background: #7f2d10; }

.catalogue-secondary-button svg,
.catalogue-primary-button svg {
    width: .9rem;
    fill: currentColor;
}

.catalogue-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.catalogue-stat-card {
    position: relative;
    display: flex;
    min-height: 10.7rem;
    flex-direction: column;
    overflow: hidden;
    border-radius: .8rem;
    background: #f0f3f3;
    padding: 1.45rem 1.55rem;
}

.catalogue-stat-card > p {
    margin: 0 0 .5rem;
    color: #6b6059;
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.35;
    text-transform: uppercase;
}

.catalogue-stat-card > strong {
    color: #202020;
    font-size: 1.8rem;
    letter-spacing: -.04em;
}

.catalogue-stat-card > strong small {
    font-size: .52em;
    letter-spacing: -.02em;
}

.catalogue-stat-card > span {
    margin-top: auto;
    color: #695f58;
    font-size: .7rem;
    line-height: 1.35;
}

.catalogue-stat-card .positive { color: #963615; }

.catalogue-stat-card.references > svg {
    position: absolute;
    top: -1.05rem;
    right: .7rem;
    width: 4.2rem;
    fill: #191c1d;
    opacity: .08;
}

.catalogue-stat-card.alert {
    border-left: .28rem solid #886000;
}

.catalogue-stat-card.alert strong,
.catalogue-stat-card.alert > span { color: #7e5700; }

.catalogue-filter-bar {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(227, 191, 178, .25);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    padding: .75rem 1rem;
}

.catalogue-filter-search {
    position: relative;
    min-width: 15rem;
    flex: 1;
}

.catalogue-filter-search svg {
    position: absolute;
    top: 50%;
    left: .2rem;
    width: 1.1rem;
    fill: #5a4138;
    transform: translateY(-50%);
}

.catalogue-filter-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #312b28;
    padding: .65rem .5rem .65rem 2rem;
    font-size: .84rem;
}

.filter-divider {
    width: 1px;
    height: 2rem;
    background: rgba(227, 191, 178, .48);
}

.catalogue-filter-buttons {
    display: flex;
    gap: .35rem;
}

.catalogue-filter-buttons button {
    border: 0;
    border-radius: .7rem;
    background: transparent;
    color: #34302e;
    cursor: pointer;
    padding: .55rem .85rem;
    font-size: .73rem;
}

.catalogue-filter-buttons button:hover { background: #f7e6de; }
.catalogue-filter-buttons button.is-active { background: #ad450e; color: #fff; }

.catalogue-product-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.catalogue-product {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(227, 191, 178, .28);
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 .5rem 1rem -.8rem rgba(29, 25, 23, .35);
}

.catalogue-product[hidden] { display: none; }

.product-visual {
    position: relative;
    display: grid;
    height: 10.8rem;
    overflow: hidden;
    background: linear-gradient(135deg, #ebeef0, #dce1e1);
    place-items: center;
}

.product-visual::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(128deg, rgba(255, 255, 255, .62), transparent 49%), repeating-linear-gradient(135deg, transparent 0 1.3rem, rgba(108, 90, 73, .06) 1.3rem 1.4rem);
    content: "";
}

.product-visual.oryx { background: linear-gradient(135deg, #eeece3, #e1ddd0); }
.product-visual.benin-petro { background: linear-gradient(135deg, #e7edef, #d0dee2); }
.product-visual.muted { filter: saturate(.4); }

.product-status {
    position: absolute;
    z-index: 2;
    top: .85rem;
    right: .85rem;
    border-radius: 2rem;
    padding: .25rem .55rem;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.product-status.active { background: #428d58; color: #fff; }
.product-status.inactive { background: #f0d7c7; color: #624b40; }

.gas-cylinder {
    position: relative;
    z-index: 1;
    width: 5.1rem;
    height: 8.3rem;
    filter: drop-shadow(0 1rem .75rem rgba(0, 0, 0, .19));
}

.cylinder-handle {
    position: absolute;
    z-index: 1;
    top: .3rem;
    left: 1rem;
    width: 3.1rem;
    height: 1.55rem;
    border: .35rem solid currentColor;
    border-bottom: 0;
    border-radius: .72rem .72rem 0 0;
    color: #b43a1c;
}

.cylinder-valve {
    position: absolute;
    z-index: 2;
    top: .55rem;
    left: 2.04rem;
    width: 1rem;
    height: .65rem;
    border-radius: .13rem;
    background: #353331;
}

.cylinder-body {
    position: absolute;
    bottom: .15rem;
    left: .12rem;
    display: grid;
    width: 4.85rem;
    height: 6.8rem;
    overflow: hidden;
    border-radius: 1rem 1rem .75rem .75rem;
    background: linear-gradient(90deg, #8e210d, #d8532e 25%, #a72b12 69%, #701b0d);
    color: #fff;
    font-size: .68rem;
    font-style: normal;
    letter-spacing: -.03em;
    line-height: .93;
    place-items: center;
    text-align: center;
}

.cylinder-body::after {
    position: absolute;
    top: .7rem;
    bottom: .65rem;
    left: .62rem;
    width: .19rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .25);
    content: "";
}

.product-visual.oryx .cylinder-handle { color: #776217; }
.product-visual.oryx .cylinder-body { background: linear-gradient(90deg, #69540e, #b28f16 27%, #8b700e 70%, #5a480a); }
.product-visual.benin-petro .cylinder-handle { color: #2c6b76; }
.product-visual.benin-petro .cylinder-body { background: linear-gradient(90deg, #1f6370, #4a98a5 27%, #2b7885 70%, #1c5662); }

.cylinder-body b { position: relative; z-index: 1; }
.cylinder-body small { font-size: .62rem; }

.product-details {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
}

.product-heading {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
}

.product-heading h2 {
    margin: 0;
    color: #22201e;
    font-size: .92rem;
    letter-spacing: -.025em;
}

.product-heading p {
    margin: .22rem 0 0;
    color: #756b64;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.product-heading button {
    width: 1.8rem;
    height: 1.8rem;
    border: 0;
    border-radius: .35rem;
    background: transparent;
    color: #3e3935;
    cursor: pointer;
    font-size: .86rem;
    letter-spacing: .05em;
}

.product-heading button:hover { background: #f1f3f3; }

.product-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    border-radius: .55rem;
    background: #f1f3f3;
    padding: .8rem;
}

.product-price-box span { display: grid; color: #625850; font-size: .65rem; }
.product-price-box b { margin-top: .08rem; color: #963615; font-size: 1.05rem; letter-spacing: -.03em; }
.product-price-box small { color: #963615; font-size: .58rem; }

.product-price-box button {
    display: grid;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: .18rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
    color: #3a322d;
    cursor: pointer;
    font-size: 1rem;
    place-items: center;
}

.product-price-box button:hover { color: #963615; }

.product-stock { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem .8rem; }

.product-stock > div { display: grid; gap: .2rem; }
.product-stock > div:nth-child(even) { text-align: right; }
.product-stock span { color: #756b64; font-size: .63rem; }
.product-stock strong { color: #292422; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; }
.product-stock .in-stock { color: #963615; }
.product-stock .low-stock { color: #886000; }
.product-stock .empty-stock { color: #a01414; }

.catalogue-add-card {
    display: grid;
    min-height: 25.8rem;
    align-content: center;
    justify-items: center;
    gap: .55rem;
    border: 2px dashed rgba(227, 191, 178, .8);
    border-radius: .85rem;
    background: transparent;
    color: #292522;
    cursor: pointer;
    padding: 1rem;
    text-align: center;
}

.catalogue-add-card:hover { border-color: #ad450e; background: #fff8f4; }
.catalogue-add-card > span { display: grid; width: 3.2rem; height: 3.2rem; border-radius: .7rem; background: #e3e7e6; color: #5b504a; font-size: 1.6rem; font-weight: 300; place-items: center; }
.catalogue-add-card strong { font-size: .85rem; }
.catalogue-add-card small { max-width: 8rem; color: #756b64; font-size: .68rem; line-height: 1.4; }

.bulk-pricing-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 2rem;
    overflow: hidden;
    margin-top: 2rem;
    border-radius: .85rem;
    background: #292b2b;
    color: #f5f6f6;
    padding: 2rem;
}

.bulk-pricing-panel::after {
    position: absolute;
    top: -8rem;
    right: 10%;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background: rgba(150, 54, 21, .22);
    content: "";
    filter: blur(26px);
}

.bulk-pricing-panel > * { position: relative; z-index: 1; }
.bulk-pricing-panel::after { pointer-events: none; }
.bulk-pricing-panel h2 { margin: 0; font-size: 1.1rem; letter-spacing: -.025em; }
.bulk-pricing-panel p { max-width: 29rem; margin: .5rem 0 0; color: rgba(245, 246, 246, .75); font-size: .76rem; line-height: 1.55; }

.bulk-pricing-form {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr) auto;
    align-items: end;
    gap: 1rem;
}

.bulk-pricing-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.bulk-pricing-form legend { margin-bottom: .5rem; color: rgba(250, 251, 251, .78); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bulk-pricing-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }

.bulk-pricing-form label,
.catalogue-dialog label {
    display: grid;
    gap: .36rem;
    color: rgba(250, 251, 251, .75);
    font-size: .64rem;
}

.bulk-pricing-form select,
.bulk-pricing-form input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    height: 2.55rem;
    border: 1px solid rgba(227, 191, 178, .34);
    border-radius: .2rem;
    outline: none;
    background: rgba(255, 255, 255, .09);
    color: #fff;
    padding: .45rem .65rem;
}

.bulk-pricing-form select option { color: #292b2b; }
.bulk-pricing-form input { min-width: 0; }

.bulk-pricing-form button {
    height: 2.55rem;
    border: 0;
    border-radius: .18rem;
    background: #963615;
    color: #fff;
    cursor: pointer;
    padding: .45rem 1.05rem;
    font-size: .72rem;
    font-weight: 700;
}

.bulk-pricing-form .form-help { grid-column: 1 / -1; margin: 0 0 .6rem; color: rgba(250, 251, 251, .74); font-size: .62rem; line-height: 1.45; }
.stock-initialization-panel { margin-top: 1.25rem; }
.stock-initialization-panel .bulk-pricing-form { grid-template-columns: minmax(0, 1fr) auto; }
.stock-initialization-panel .bulk-pricing-fields { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.catalogue-feedback {
    margin: 1rem 0 0;
    border-left: 3px solid #a94420;
    background: #fff3ed;
    color: #6a321e;
    padding: .75rem .9rem;
    font-size: .75rem;
    line-height: 1.4;
}

.catalogue-dialog {
    width: min(calc(100% - 2rem), 26rem);
    border: 0;
    border-radius: .8rem;
    box-shadow: 0 1.5rem 4rem rgba(20, 17, 15, .28);
    padding: 0;
}

.catalogue-dialog::backdrop { background: rgba(25, 28, 29, .5); backdrop-filter: blur(2px); }

.catalogue-dialog form {
    position: relative;
    display: grid;
    gap: 1rem;
    background: #fff;
    padding: 2rem;
}

.catalogue-dialog h2 { margin: -.4rem 0 .4rem; font-size: 1.5rem; letter-spacing: -.045em; }
.catalogue-dialog .dashboard-kicker { margin: 0; }
.catalogue-dialog label { color: #5e544e; font-size: .68rem; }
.catalogue-dialog input, .catalogue-dialog select { width: 100%; border: 1px solid #e6c8bb; border-radius: .22rem; outline: 0; background: #fff; color: #25211f; padding: .7rem; }
.catalogue-dialog input:focus, .catalogue-dialog select:focus { border-color: #963615; box-shadow: 0 0 0 .2rem rgba(150, 54, 21, .11); }
.catalogue-dialog form > p:last-child { margin: 0; color: #736963; font-size: .68rem; line-height: 1.45; }
.dialog-close { position: absolute; top: .75rem; right: .75rem; width: 2rem; height: 2rem; border: 0; border-radius: .3rem; background: transparent; color: #5e544e; cursor: pointer; font-size: 1.4rem; line-height: 1; }
.dialog-close:hover { background: #f1f3f3; }

@media (max-width: 1280px) {
    .catalogue-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalogue-add-card { min-height: 23rem; }
}

@media (max-width: 1280px) {
    .catalogue-stats { grid-template-columns: repeat(2, 1fr); }
    .catalogue-title-row { align-items: flex-start; flex-direction: column; }
    .bulk-pricing-panel { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .catalogue-content { padding-right: 1.75rem; padding-left: 1.75rem; }
}

@media (max-width: 760px) {
    .catalogue-content { padding: 2.25rem 1rem 1.5rem; }
    .catalogue-title-actions { width: 100%; }
    .catalogue-title-actions button { flex: 1; }
    .catalogue-filter-bar { align-items: stretch; flex-direction: column; gap: .5rem; }
    .filter-divider { width: 100%; height: 1px; }
    .catalogue-filter-buttons { overflow-x: auto; padding-bottom: .15rem; }
    .catalogue-filter-buttons button { white-space: nowrap; }
    .catalogue-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bulk-pricing-form { width: 100%; grid-template-columns: 1fr; }
    .stock-initialization-panel .bulk-pricing-form { grid-template-columns: 1fr; }
    .stock-initialization-panel .bulk-pricing-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 470px) {
    .catalogue-stats, .catalogue-product-grid { grid-template-columns: 1fr; }
    .catalogue-title-actions { flex-direction: column; }
    .catalogue-title-actions button { width: 100%; }
    .catalogue-stat-card { min-height: 8.4rem; }
    .bulk-pricing-panel { padding: 1.35rem; }
    .bulk-pricing-fields, .stock-initialization-panel .bulk-pricing-fields { grid-template-columns: 1fr; }
}

/* Contrôle d'inventaire */
.inventory-content { width: min(100%, 100rem); margin: 0 auto; padding: 2.75rem 3rem 4rem; }
.inventory-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.inventory-kicker { margin: 0 0 .45rem; color: #963615; font-size: .59rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.inventory-title-row h1 { margin: 0; color: #292321; font-size: clamp(2rem, 3.8vw, 3.2rem); letter-spacing: -.065em; line-height: 1; }
.inventory-title-row > div:first-child > p:last-child { max-width: 41rem; margin: .8rem 0 0; color: #6a5f58; font-size: .78rem; line-height: 1.55; }
.inventory-title-row > div:first-child > p strong { color: #963615; font-weight: 700; }
.inventory-actions { display: flex; align-items: center; gap: .75rem; }
.inventory-date { display: flex; align-items: center; gap: .7rem; border-radius: .45rem; background: #e1e4e4; box-shadow: 0 .35rem .8rem -.65rem rgba(35, 28, 24, .4); padding: .7rem .8rem; }
.inventory-date > span { display: grid; width: 2.15rem; height: 2.45rem; border-radius: .18rem; background: #a43700; color: #fff; font-size: 1rem; place-items: center; }
.inventory-date div { display: grid; gap: .18rem; }
.inventory-date small { color: #766b64; font-size: .5rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.inventory-date strong { color: #302a27; font-size: .77rem; line-height: 1.25; text-transform: capitalize; }
.inventory-actions > button { min-height: 3.85rem; border: 0; border-radius: .45rem; background: #a43700; box-shadow: 0 .7rem 1.25rem -.85rem rgba(119, 42, 13, .65); color: #fff; cursor: pointer; padding: .7rem 1rem; font-size: .64rem; font-weight: 800; letter-spacing: .035em; line-height: 1.3; text-transform: uppercase; }
.inventory-actions > button:hover { background: #81300f; }
.inventory-layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(13.5rem, .55fr); align-items: start; gap: 1.3rem; }
.inventory-register { overflow: hidden; border-radius: .55rem; background: #fff; box-shadow: 0 .55rem 1.05rem -.85rem rgba(35, 28, 24, .5); }
.inventory-register > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #ebcbbd; background: #f1f3f3; padding: 1.1rem 1.35rem; }
.inventory-register > header > div:first-child { display: flex; align-items: center; gap: .65rem; }
.inventory-register > header h2 { margin: 0; color: #302a27; font-size: 1.05rem; letter-spacing: -.035em; }
.inventory-register > header span { border-radius: .14rem; background: #f5c942; color: #604600; padding: .25rem .38rem; font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.inventory-register > header button { display: grid; width: 2rem; height: 2rem; border: 0; border-radius: .18rem; background: transparent; color: #5d514b; cursor: pointer; font-size: 1.05rem; place-items: center; }
.inventory-register > header button:hover { background: #f6e2d9; color: #963615; }
.inventory-table-wrap { overflow-x: auto; }
.inventory-register table { width: 100%; min-width: 68rem; border-collapse: collapse; }
.inventory-register th { background: #e1e4e4; color: #695e57; padding: .76rem .58rem; font-size: .5rem; font-weight: 800; letter-spacing: .07em; text-align: center; text-transform: uppercase; }
.inventory-register th:first-child, .inventory-register th:last-child { text-align: left; }
.inventory-register th:nth-child(3) { color: #963615; }
.inventory-register td { border-top: 1px solid #edf0f0; color: #5f554f; padding: .85rem .58rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .67rem; text-align: center; }
.inventory-register td:first-child { display: flex; align-items: center; min-width: 10rem; gap: .55rem; text-align: left; }
.inventory-register td:first-child div { display: grid; gap: .16rem; font-family: Inter, system-ui, sans-serif; }
.inventory-register td:first-child b { color: #312b28; font-size: .65rem; }
.inventory-register td:first-child small { color: #786e67; font-size: .47rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.inventory-cylinder { display: grid; width: 1.8rem; height: 2rem; flex: 0 0 1.8rem; border-radius: .15rem; background: #e1e4e4; color: #a43700; font-family: Inter, system-ui, sans-serif; font-size: .82rem; place-items: center; }
.inventory-register td.arrivals { color: #963615; font-weight: 800; }
.inventory-register td:nth-child(6) { background: rgba(225, 228, 228, .42); color: #302a27; }
.inventory-register td > small { display: block; margin-top: .22rem; color: #756b64; font-family: Inter, system-ui, sans-serif; font-size: .5rem; }
.inventory-stock-input { display: grid; gap: .22rem; color: #756b64; font-family: Inter, system-ui, sans-serif; font-size: .48rem; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.inventory-stock-input + .inventory-stock-input { margin-top: .45rem; }
.inventory-stock-input input { width: 5.1rem; height: 2.05rem; border: 1px solid transparent; border-radius: .18rem; outline: 0; background: #f7f8f8; color: #292321; padding: .38rem; font: .67rem ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.inventory-stock-input input:focus, .inventory-note:focus { border-color: #c56e4b; box-shadow: 0 0 0 .16rem rgba(164, 55, 0, .1); }
.inventory-register output { display: inline-grid; min-width: 1.8rem; border-radius: .15rem; background: #e3e6e6; color: #665c56; padding: .25rem .35rem; place-items: center; }
.inventory-register tr.has-variance output { background: #f8dad6; color: #a31515; font-weight: 800; }
.inventory-register tr.has-variance .inventory-stock-input input { border-color: #df837a; background: #fff8f7; }
.inventory-note { width: 100%; min-width: 8rem; border: 0; border-bottom: 1px solid transparent; outline: 0; background: transparent; color: #39312d; padding: .35rem .1rem; font: .61rem Inter, system-ui, sans-serif; }
.inventory-note::placeholder { color: #a09a96; }
.inventory-side { display: grid; align-content: start; gap: 1rem; }
.inventory-summary { position: relative; overflow: hidden; border-radius: .55rem; background: #272321; box-shadow: 0 .7rem 1.25rem -.9rem rgba(35, 28, 24, .65); color: #fff; padding: 1.3rem; }
.inventory-summary::after { position: absolute; right: -4rem; bottom: -4rem; width: 11rem; height: 11rem; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ''; box-shadow: 0 0 0 1.3rem rgba(255,255,255,.04), 0 0 0 2.7rem rgba(255,255,255,.025); }
.inventory-summary > p { position: relative; z-index: 1; margin: 0 0 1.25rem; color: rgba(255,255,255,.6); font-size: .57rem; letter-spacing: .11em; line-height: 1.45; text-transform: uppercase; }
.summary-total { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.13); padding-bottom: .95rem; }
.summary-total div { display: grid; gap: .25rem; }.summary-total span { color: rgba(255,255,255,.42); font-size: .5rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.summary-total strong { font-size: 1.9rem; letter-spacing: -.06em; }.summary-total b { color: #c88c00; font-size: 1.45rem; }
.summary-progress { position: relative; z-index: 1; display: grid; gap: .55rem; margin-top: .95rem; }.summary-progress > div { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }.summary-progress span { color: rgba(255,255,255,.72); font-size: .6rem; }.summary-progress strong { border-radius: .14rem; background: rgba(255,255,255,.12); color: #fff; padding: .2rem .32rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }.summary-progress > i { height: .28rem; overflow: hidden; border-radius: 1rem; background: rgba(255,255,255,.14); }.summary-progress > i i { display: block; width: 0; height: 100%; border-radius: inherit; background: #a43700; transition: width .2s ease; }
.inventory-safety { display: grid; gap: .55rem; border-radius: .55rem; background: #f0f2f2; padding: 1.15rem; }.inventory-safety h2 { margin: 0 0 .25rem; color: #675d56; font-size: .56rem; font-weight: 800; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }.inventory-safety label { display: flex; align-items: center; gap: .45rem; color: #37302c; font-size: .64rem; line-height: 1.35; cursor: pointer; }.inventory-safety input { width: .92rem; height: .92rem; accent-color: #a43700; }
.inventory-location { position: relative; display: flex; min-height: 7.7rem; align-items: end; overflow: hidden; border-radius: .55rem; background: linear-gradient(135deg, rgba(23, 29, 30, .85), rgba(43, 49, 49, .5)), linear-gradient(45deg, #6d766f, #c6ab83); box-shadow: 0 .45rem .85rem -.75rem rgba(35, 28, 24, .55); padding: 1rem; }.inventory-location::before { position: absolute; top: -2.2rem; right: -1.25rem; width: 7rem; height: 7rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; content: ''; }.inventory-location div { position: relative; z-index: 1; display: grid; gap: .12rem; }.inventory-location small { color: rgba(255,255,255,.65); font-size: .49rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.inventory-location strong { color: #fff; font-size: .7rem; }
.inventory-feedback { margin: 1rem 0 0; border-left: 3px solid #a43700; background: #fff1e9; color: #67331e; padding: .75rem .9rem; font-size: .72rem; }

@media (max-width: 1180px) { .inventory-layout { grid-template-columns: 1fr; }.inventory-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }.inventory-location { min-height: auto; }.inventory-summary, .inventory-safety, .inventory-location { min-height: 100%; } }
@media (max-width: 980px) { .inventory-content { padding-right: 1.75rem; padding-left: 1.75rem; }.inventory-title-row { align-items: flex-start; flex-direction: column; }.inventory-actions { width: 100%; }.inventory-title-row > div:first-child > p:last-child { max-width: 48rem; } }
@media (max-width: 760px) { .inventory-content { padding: 2rem 1rem 2.35rem; }.inventory-actions { align-items: stretch; flex-direction: column; }.inventory-date { justify-content: center; }.inventory-actions > button { width: 100%; }.inventory-register > header { padding: 1rem; }.inventory-side { grid-template-columns: 1fr; }.inventory-summary, .inventory-safety, .inventory-location { min-height: auto; } }
@media (max-width: 470px) { .inventory-title-row h1 { font-size: 2.1rem; }.inventory-title-row > div:first-child > p:last-child { font-size: .72rem; }.inventory-register > header h2 { font-size: .95rem; } }

/* Gestion des arrivages */
.arrivals-content { width: min(100%, 100rem); margin: 0 auto; padding: 2.75rem 3rem 4rem; }
.arrivals-hero { display: grid; grid-template-columns: minmax(0, 1fr) 12.5rem 12.5rem; align-items: stretch; gap: 1rem; margin-bottom: 1.7rem; }
.arrivals-intro { align-self: center; padding-right: 1.5rem; }.arrivals-intro > p { margin: 0 0 .45rem; color: #963615; font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.arrivals-intro h1 { margin: 0; color: #292321; font-size: clamp(2rem, 3.8vw, 3.2rem); letter-spacing: -.065em; line-height: .93; }.arrivals-intro h1 strong { color: #a43700; font-weight: inherit; }.arrivals-intro > span { display: block; max-width: 34rem; margin-top: .8rem; color: #6a5f58; font-size: .78rem; line-height: 1.55; }
.arrivals-stat { display: grid; min-height: 10.8rem; align-content: space-between; overflow: hidden; border-radius: .55rem; background: #f0f2f2; box-shadow: 0 .45rem 1rem -.85rem rgba(35, 28, 24, .45); padding: 1.2rem; }.arrivals-stat header { display: flex; align-items: flex-start; justify-content: space-between; }.arrivals-stat header b { color: #a43700; font-size: 1.25rem; }.arrivals-stat header span { border-radius: .14rem; background: rgba(164, 55, 0, .1); color: #963615; padding: .23rem .34rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .49rem; text-transform: uppercase; }.arrivals-stat > strong { color: #292321; font-size: 2.1rem; letter-spacing: -.065em; line-height: 1; }.arrivals-stat > strong small { font-size: .45em; letter-spacing: 0; }.arrivals-stat > p { margin: 0; color: #695f59; font-size: .54rem; font-weight: 800; letter-spacing: .075em; line-height: 1.35; text-transform: uppercase; }.arrivals-stat.value { position: relative; background: #a43700; }.arrivals-stat.value::after { position: absolute; right: -.5rem; bottom: -2.4rem; color: rgba(255,255,255,.15); content: '↗'; font-size: 9rem; line-height: 1; transform: rotate(8deg); }.arrivals-stat.value > * { position: relative; z-index: 1; }.arrivals-stat.value header b, .arrivals-stat.value > strong { color: #fff; }.arrivals-stat.value > p { color: rgba(255,255,255,.78); }
.arrivals-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(20rem, .7fr); align-items: start; gap: 1.35rem; }
.arrivals-history { overflow: hidden; border-radius: .55rem; background: #fff; box-shadow: 0 .45rem 1rem -.85rem rgba(35, 28, 24, .5); }.arrivals-history > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #ebcbbd; background: #f0f2f2; padding: 1.15rem 1.35rem; }.arrivals-history > header > div { display: flex; align-items: center; gap: .65rem; }.arrivals-history > header i { width: .35rem; height: 1.65rem; border-radius: 1rem; background: #a43700; }.arrivals-history h2 { margin: 0; color: #302a27; font-size: 1.05rem; letter-spacing: -.035em; }.arrivals-history button { display: grid; width: 2rem; height: 2rem; border: 0; border-radius: .18rem; background: transparent; color: #5d514b; cursor: pointer; font-size: 1rem; place-items: center; }.arrivals-history button:hover { background: #f6e2d9; color: #963615; }
.arrivals-table-wrap { overflow-x: auto; }.arrivals-history table { width: 100%; min-width: 45rem; border-collapse: collapse; }.arrivals-history th { background: #626a6a; color: #fff; padding: .75rem .8rem; font-size: .5rem; font-weight: 800; letter-spacing: .07em; text-align: left; text-transform: uppercase; }.arrivals-history th:nth-child(3), .arrivals-history th:nth-child(4), .arrivals-history th:last-child { text-align: right; }.arrivals-history th small { color: rgba(255,255,255,.73); font-size: .45rem; }.arrivals-history td { border-top: 1px solid #f0eeee; color: #4e4540; padding: .9rem .8rem; font-size: .64rem; vertical-align: middle; }.arrivals-history td:first-child { min-width: 10rem; }.arrivals-history td time, .arrivals-history td span, .arrivals-history td b, .arrivals-history td small { display: block; }.arrivals-history td time { color: #332c28; margin-bottom: .33rem; font-size: .67rem; }.arrivals-history td span, .arrivals-history td small { color: #766c65; font-size: .52rem; line-height: 1.35; }.arrivals-history td b { color: #302a27; font-size: .65rem; }.arrivals-history td:nth-child(3), .arrivals-history td:nth-child(4), .arrivals-history td:last-child { text-align: right; }.arrivals-history td:nth-child(3) b { color: #302a27; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }.arrivals-history td .dispute-text { color: #a31515; font-weight: 800; }.arrivals-history td.amount { color: #963615; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; }.arrivals-history td.amount small { color: #963615; }.arrival-status { display: inline-flex; border-radius: .14rem; padding: .28rem .43rem; font-size: .49rem; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.arrival-status.verified { background: #d9f0df; color: #1f6e36; }.arrival-status.pending { background: #f4ca43; color: #624700; }.arrival-status.dispute { background: #f8d8d5; color: #a31515; }
.arrival-registration { border-radius: .55rem; background: #dde0e0; box-shadow: 0 .7rem 1.3rem -.95rem rgba(35, 28, 24, .6); padding: 1.35rem; }.arrival-registration > header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.35rem; }.arrival-registration > header > span { display: grid; width: 2.5rem; height: 2.5rem; border-radius: .2rem; background: #a43700; box-shadow: 0 .45rem .85rem -.6rem rgba(125, 43, 14, .65); color: #fff; font-size: 1.35rem; place-items: center; }.arrival-registration h2 { margin: 0; color: #312b28; font-size: 1.15rem; letter-spacing: -.04em; }.arrival-registration header p { margin: .16rem 0 0; color: #71655e; font-size: .5rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.arrival-registration form { display: grid; gap: .85rem; }.arrival-fields { display: grid; gap: .75rem; }.arrival-fields.two { grid-template-columns: 1fr 1fr; }.arrival-registration label { display: grid; gap: .35rem; color: #675d57; font-size: .51rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.arrival-registration input:not([type='file']), .arrival-registration select { width: 100%; height: 2.5rem; border: 1px solid #e3c5b9; border-radius: .2rem; outline: 0; background: #fff; color: #302a27; padding: .45rem .55rem; font: .65rem Inter, system-ui, sans-serif; letter-spacing: 0; text-transform: none; }.arrival-registration input:focus, .arrival-registration select:focus { border-color: #b95a35; box-shadow: 0 0 0 .15rem rgba(164, 55, 0, .1); }.number-field { position: relative; display: block; }.number-field input { padding-right: 2.2rem !important; }.number-field i { position: absolute; top: 50%; right: .6rem; color: #776b64; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .59rem; font-style: normal; letter-spacing: 0; text-transform: none; transform: translateY(-50%); }.arrival-estimate { display: grid; gap: .35rem; border: 1px solid rgba(164, 55, 0, .13); border-radius: .22rem; background: rgba(164, 55, 0, .055); padding: .8rem; }.arrival-estimate span { color: #6c615a; font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.arrival-estimate output { color: #963615; font-size: 1.3rem; font-weight: 800; letter-spacing: -.04em; }.arrival-upload { min-height: 7.3rem; align-content: center; justify-items: center; border: 2px dashed #e6c8bb; border-radius: .45rem; background: rgba(255,255,255,.35); color: #6a5f58 !important; cursor: pointer; padding: .75rem; text-align: center; text-transform: none !important; }.arrival-upload:hover { border-color: #ba5934; background: #fff7f3; }.arrival-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.arrival-upload b { color: #963615; font-size: 1.25rem; }.arrival-upload span { max-width: 100%; overflow: hidden; color: #4d443f; font-size: .61rem; font-weight: 600; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }.arrival-upload small { color: #8a7f78; font-size: .48rem; font-weight: 500; letter-spacing: 0; text-transform: none; }.arrival-registration form > button { display: flex; min-height: 3.05rem; align-items: center; justify-content: center; gap: .5rem; border: 0; border-radius: .2rem; background: #a43700; box-shadow: 0 .7rem 1.1rem -.75rem rgba(128, 45, 14, .58); color: #fff; cursor: pointer; padding: .6rem; font-size: .68rem; font-weight: 800; }.arrival-registration form > button:hover { background: #812f10; }.arrival-registration form > button span { font-size: .95rem; }
.arrivals-logistics { position: relative; overflow: hidden; min-height: 14rem; margin-top: 1.35rem; border-radius: .75rem; background: linear-gradient(90deg, rgba(28, 28, 26, .94), rgba(28, 28, 26, .6) 55%, rgba(28, 28, 26, .2)), linear-gradient(130deg, #2b3735, #789087 52%, #c39b64); box-shadow: 0 .8rem 1.4rem -1rem rgba(35, 28, 24, .65); color: #fff; }.arrivals-logistics::after { position: absolute; right: -5rem; bottom: -7rem; width: 22rem; height: 22rem; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ''; box-shadow: 0 0 0 2rem rgba(255,255,255,.04), 0 0 0 4rem rgba(255,255,255,.025); }.arrivals-logistics > div { position: relative; z-index: 1; max-width: 38rem; padding: 2rem; }.arrivals-logistics p { margin: 0 0 .4rem; color: rgba(255,255,255,.72); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.arrivals-logistics h2 { margin: 0; font-size: 1.3rem; letter-spacing: -.04em; }.arrivals-logistics > div > span { display: block; max-width: 32rem; margin-top: .55rem; color: rgba(255,255,255,.82); font-size: .7rem; line-height: 1.5; }.arrivals-logistics dl { display: flex; gap: 1.5rem; margin: 1.25rem 0 0; }.arrivals-logistics dl > div + div { border-left: 1px solid rgba(255,255,255,.26); padding-left: 1.5rem; }.arrivals-logistics dt { color: #f6aa72; font-size: 1.1rem; font-weight: 800; }.arrivals-logistics dd { max-width: 9.2rem; margin: .18rem 0 0; color: rgba(255,255,255,.65); font-size: .47rem; font-weight: 800; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }.arrivals-feedback { margin: 1rem 0 0; border-left: 3px solid #a43700; background: #fff1e9; color: #67331e; padding: .75rem .9rem; font-size: .72rem; }

@media (max-width: 1180px) { .arrivals-hero { grid-template-columns: minmax(0, 1fr) 11rem 11rem; }.arrivals-layout { grid-template-columns: 1fr; }.arrival-registration { max-width: none; }.arrival-registration form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.arrival-registration > header, .arrival-registration form > button { grid-column: 1 / -1; }.arrival-fields { align-content: start; }.arrival-fields.two { grid-template-columns: 1fr 1fr; }.arrival-upload { min-height: auto; }.arrivals-logistics { min-height: 12rem; } }
@media (max-width: 980px) { .arrivals-content { padding-right: 1.75rem; padding-left: 1.75rem; }.arrivals-hero { grid-template-columns: 1fr 1fr; }.arrivals-intro { grid-column: 1 / -1; padding-right: 0; }.arrivals-stat { min-height: 8.8rem; }.arrival-registration form { grid-template-columns: 1fr; }.arrival-registration > header, .arrival-registration form > button { grid-column: auto; } }
@media (max-width: 760px) { .arrivals-content { padding: 2rem 1rem 2.35rem; }.arrivals-hero { grid-template-columns: 1fr; }.arrivals-stat { min-height: 8rem; }.arrivals-history > header { padding: 1rem; }.arrival-registration { padding: 1rem; }.arrival-fields.two { grid-template-columns: 1fr; }.arrivals-logistics > div { padding: 1.4rem; }.arrivals-logistics h2 { font-size: 1.1rem; }.arrivals-logistics dl { gap: .9rem; }.arrivals-logistics dl > div + div { padding-left: .9rem; } }
@media (max-width: 470px) { .arrivals-intro h1 { font-size: 2.1rem; }.arrivals-intro > span { font-size: .72rem; }.arrivals-logistics { min-height: 15.5rem; }.arrivals-logistics dl { display: grid; grid-template-columns: 1fr; gap: .6rem; }.arrivals-logistics dl > div + div { border-top: 1px solid rgba(255,255,255,.26); border-left: 0; padding-top: .55rem; padding-left: 0; } }

/* Historique des ventes vendeur */
.seller-sidebar { background: #e8ebeb; }.seller-nav-label { margin: .2rem 1.55rem .25rem; color: #84776f; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.seller-sidebar .admin-nav-link { font-size: .78rem; }.seller-sidebar .admin-nav-link.is-active { background: #a43700; }.admin-nav-bottom { margin-top: auto; padding: 1rem 1.25rem; border-top: 1px solid #ecd0c3; }.seller-nav-session { display: inline-flex; align-items: center; gap: .45rem; color: #6d5f57; font-size: .6rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }.seller-nav-session i { color: #963615; }
.seller-header-context { display: flex; align-items: center; gap: .6rem; color: #675d56; }.seller-header-context > span { color: #a43700; font-size: .68rem; }.seller-header-context small { font-size: .55rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.seller-header .admin-user > div { display: grid; justify-items: end; gap: .14rem; }.seller-header .admin-user small { color: #756a62; font-size: .5rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.seller-history-content { width: min(100%, 100rem); margin: 0 auto; padding: 2.75rem 3rem 4rem; }.seller-history-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.6rem; margin-bottom: 1.6rem; }.seller-history-title > div:first-child > p { display: flex; align-items: center; gap: .6rem; margin: 0 0 .45rem; color: #963615; font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.seller-history-title > div:first-child > p::before { width: 1.7rem; height: 2px; background: #a43700; content: ''; }.seller-history-title h1 { margin: 0; color: #292321; font-size: clamp(2rem, 3.8vw, 3.2rem); letter-spacing: -.065em; line-height: 1; }.seller-history-title > div:first-child > span { display: block; max-width: 36rem; margin-top: .8rem; color: #6a5f58; font-size: .78rem; line-height: 1.55; }
.seller-day-total { display: flex; align-items: center; gap: 1.1rem; border: 1px solid rgba(227, 191, 178, .35); border-radius: .48rem; background: #e1e4e4; box-shadow: 0 .35rem .8rem -.65rem rgba(35, 28, 24, .35); padding: .85rem 1rem; }.seller-day-total > div { display: grid; justify-items: end; gap: .2rem; white-space: nowrap; }.seller-day-total span { color: #6e635c; font-size: .52rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.seller-day-total strong { color: #2d2825; font-size: 1.15rem; letter-spacing: -.04em; }.seller-day-total > div:first-child strong { color: #963615; }.seller-day-total strong small { font-size: .52em; font-weight: 500; letter-spacing: 0; }.seller-day-total i { width: 1px; height: 2.4rem; background: #d4a996; }
.seller-sales-filters { display: grid; grid-template-columns: minmax(9rem, .75fr) minmax(14rem, 1.6fr) minmax(9rem, .75fr) auto auto; align-items: end; gap: .65rem; margin-bottom: 1.25rem; border: 1px solid rgba(227, 191, 178, .35); border-radius: .5rem; background: rgba(248,250,251,.8); padding: .85rem; }.seller-sales-filters label { display: grid; gap: .28rem; color: #766a63; font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.seller-sales-filters input, .seller-sales-filters select { width: 100%; height: 2.35rem; border: 1px solid #e7cabe; border-radius: .19rem; outline: 0; background: #fff; color: #312a27; padding: .4rem .55rem; font: .66rem Inter, system-ui, sans-serif; text-transform: none; }.seller-sales-filters input:focus, .seller-sales-filters select:focus { border-color: #be603b; box-shadow: 0 0 0 .14rem rgba(164, 55, 0, .1); }.seller-sales-filters button { height: 2.35rem; border: 0; border-radius: .19rem; background: #e0e3e3; color: #312b28; cursor: pointer; padding: 0 .75rem; font-size: .57rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }.seller-sales-filters button:hover { background: #f4e0d7; color: #963615; }.seller-sales-filters .seller-sales-export { width: 2.35rem; background: #a43700; color: #fff; padding: 0; font-size: .95rem; }.seller-sales-filters .seller-sales-export:hover { background: #812f10; color: #fff; }
.seller-sales-register { overflow: hidden; border: 1px solid rgba(227, 191, 178, .22); border-radius: .55rem; background: #fff; box-shadow: 0 .7rem 1.2rem -.95rem rgba(35, 28, 24, .55); }.seller-sales-table-wrap { overflow-x: auto; }.seller-sales-register table { width: 100%; min-width: 52rem; border-collapse: collapse; }.seller-sales-register th { background: rgba(225,228,228,.72); color: #695e57; padding: .72rem .75rem; font-size: .5rem; font-weight: 800; letter-spacing: .07em; text-align: left; text-transform: uppercase; }.seller-sales-register th:nth-child(4), .seller-sales-register th:nth-child(5), .seller-sales-register th:last-child { text-align: right; }.seller-sales-register td { border-top: 1px solid rgba(227,191,178,.2); color: #4f4641; padding: .8rem .75rem; font-size: .64rem; vertical-align: middle; }.seller-sales-register td code { color: #963615; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; font-weight: 800; }.seller-sales-register td:nth-child(3) { display: flex; align-items: center; gap: .55rem; min-width: 11.5rem; }.seller-sales-register td:nth-child(3) div { display: grid; gap: .15rem; }.seller-sales-register td:nth-child(3) b { color: #302a27; font-size: .67rem; }.seller-sales-register td:nth-child(3) small { color: #786e67; font-size: .49rem; font-weight: 700; letter-spacing: .04em; }.seller-product-icon { display: grid; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; border-radius: .15rem; background: #e1e4e4; color: #a43700; font-size: .76rem; place-items: center; }.seller-sales-register td:nth-child(4), .seller-sales-register td:nth-child(5), .seller-sales-register td:last-child { text-align: right; }.seller-sales-register td:nth-child(5) strong { color: #332c28; font-size: .67rem; }.seller-sales-register td:nth-child(5) small { display: block; color: #746a63; font-size: .5rem; font-weight: 500; }.seller-sale-status { display: inline-flex; border-radius: .15rem; background: #f4ca43; color: #634800; padding: .28rem .42rem; font-size: .48rem; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.seller-sale-status.cancelled { background: #f7d8d5; color: #a31515; }.seller-sales-register tr.is-cancelled { opacity: .62; }.seller-sales-register tr.is-cancelled td:nth-child(5) strong { text-decoration: line-through; }.seller-sales-register td button { border: 0; border-radius: .18rem; background: transparent; color: #963615; cursor: pointer; padding: .3rem .4rem; font-size: .54rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.seller-sales-register td button:hover { background: #f8e3da; }.seller-sales-register footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #ebcbbd; background: #f1f3f3; padding: .75rem 1rem; color: #6b615a; font-size: .61rem; }.seller-sales-register footer > div { display: flex; gap: .25rem; }.seller-sales-register footer button { display: grid; width: 1.85rem; height: 1.85rem; border: 1px solid #e7cabe; border-radius: .15rem; background: #fff; color: #403833; place-items: center; }.seller-sales-register footer button.is-active { border-color: #a43700; background: #a43700; color: #fff; }.seller-sales-register footer button:disabled { cursor: default; opacity: .4; }
.seller-history-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.35rem; padding: 1.35rem; background: rgba(225,228,228,.4); }.seller-history-insights article { display: flex; align-items: flex-start; gap: .7rem; }.seller-history-insights b { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; border-radius: .55rem; background: rgba(164,55,0,.1); color: #963615; font-size: 1rem; place-items: center; }.seller-history-insights article:nth-child(2) b { background: rgba(245, 201, 66, .25); color: #7e5700; }.seller-history-insights article:nth-child(3) b { background: rgba(100, 116, 125, .14); color: #50606a; }.seller-history-insights h2 { margin: 0; color: #332d29; font-size: .7rem; }.seller-history-insights p { margin: .28rem 0 0; color: #706660; font-size: .59rem; line-height: 1.45; }.seller-sales-feedback { margin: 1rem 0 0; border-left: 3px solid #a43700; background: #fff1e9; color: #67331e; padding: .75rem .9rem; font-size: .72rem; }

@media (max-width: 1180px) { .seller-history-title { align-items: flex-start; flex-direction: column; }.seller-sales-filters { grid-template-columns: 1fr 1.4fr 1fr auto auto; }.seller-history-insights { padding: 1.1rem; } }
@media (max-width: 980px) { .seller-history-content { padding-right: 1.75rem; padding-left: 1.75rem; }.seller-sales-filters { grid-template-columns: 1fr 1fr auto auto; }.seller-sales-search { grid-column: 1 / -1; grid-row: 1; }.seller-sales-filters label:first-child { grid-column: 1; }.seller-sales-filters label:nth-child(3) { grid-column: 2; }.seller-history-insights { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .seller-history-content { padding: 2rem 1rem 2.35rem; }.seller-header-context { display: none; }.seller-history-title { gap: 1rem; }.seller-day-total { width: 100%; justify-content: space-between; }.seller-sales-filters { grid-template-columns: 1fr 1fr; }.seller-sales-search { grid-column: 1 / -1; }.seller-sales-filters label:first-child, .seller-sales-filters label:nth-child(3) { grid-column: auto; }.seller-sales-filters button { width: 100%; }.seller-sales-filters .seller-sales-export { width: 100%; }.seller-sales-register footer { align-items: flex-start; flex-direction: column; }.seller-history-insights { margin-right: -1rem; margin-left: -1rem; padding: 1rem; } }
@media (max-width: 470px) { .seller-history-title h1 { font-size: 2.1rem; }.seller-history-title > div:first-child > span { font-size: .72rem; }.seller-day-total { gap: .6rem; padding: .75rem; }.seller-day-total strong { font-size: .95rem; }.seller-sales-filters { grid-template-columns: 1fr; }.seller-sales-filters label:first-child, .seller-sales-filters label:nth-child(3), .seller-sales-search { grid-column: auto; }.seller-sales-register footer > div { width: 100%; justify-content: space-between; } }
/* Point journalier vendeur */
.seller-daily-page {
    --daily-orange: #a43700;
    --daily-ink: #191c1d;
    --daily-muted: #5a4138;
}

.daily-point-content {
    min-width: 0;
}

.daily-point-hero {
    position: relative;
    overflow: hidden;
    padding: 3rem;
    background: #f0f1f1;
}

.daily-hero-orb {
    position: absolute;
    width: 24rem;
    height: 24rem;
    top: -8rem;
    right: -4rem;
    border-radius: 2rem;
    background: rgba(164, 55, 0, .08);
    filter: blur(32px);
    pointer-events: none;
}

.daily-hero-heading,
.daily-date,
.daily-summary-cards {
    position: relative;
}

.daily-hero-heading {
    max-width: 41rem;
}

.daily-hero-heading .eyebrow {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .7rem;
    color: var(--daily-orange);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.daily-hero-heading .eyebrow span {
    display: block;
    width: 2rem;
    height: 2px;
    background: currentColor;
}

.daily-hero-heading h1 {
    margin: 0;
    color: var(--daily-ink);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.15;
}

.daily-hero-heading > p:last-child {
    margin: .8rem 0 0;
    color: var(--daily-muted);
    font-size: .92rem;
    line-height: 1.55;
}

.daily-date {
    position: absolute;
    top: 3.2rem;
    right: 3rem;
    display: grid;
    gap: .28rem;
    text-align: right;
}

.daily-date span,
.daily-summary-card > span,
.daily-summary-card .daily-card-top b,
.daily-unit,
.daily-expense-row label,
.daily-deposit-total span,
.daily-safety-note b {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.daily-date span { color: var(--daily-muted); }
.daily-date strong { color: var(--daily-ink); font-size: 1.15rem; }

.daily-summary-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
}

.daily-summary-card {
    display: grid;
    gap: .65rem;
    padding: 1.45rem;
    background: #f8fafb;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.daily-summary-card > i,
.daily-card-top i { color: var(--daily-orange); font-size: 1.25rem; }
.daily-summary-card > span { color: var(--daily-muted); }

.daily-summary-card strong {
    color: var(--daily-ink);
    font-family: var(--font-display, Inter, sans-serif);
    font-size: clamp(1.55rem, 2.4vw, 2.5rem);
    line-height: 1;
}

.daily-summary-card strong small {
    color: var(--daily-muted);
    font-size: .78rem;
    font-weight: 500;
}

.daily-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.daily-card-top b {
    padding: .3rem .45rem;
    background: #ffe08a;
    color: #715700;
}

.daily-card-top i + b { margin-left: auto; }
.daily-summary-card:last-child .daily-card-top b { background: #e6eaec; color: #4e5e67; }

.daily-point-form { padding: 2rem 3rem 3rem; }

.daily-point-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .75fr);
    align-items: start;
    gap: 2rem;
}

.daily-point-left { display: grid; gap: 2rem; min-width: 0; }

.daily-panel {
    padding: 2rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

.daily-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.45rem;
}

.daily-panel-heading > div { display: flex; align-items: center; gap: 1rem; }
.daily-panel-heading h2 { margin: 0; color: var(--daily-ink); font-size: 1.15rem; }

.daily-heading-icon {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: white;
}

.daily-heading-icon.dark { background: #202526; }
.daily-heading-icon.orange { background: var(--daily-orange); }
.daily-unit { padding: .35rem .55rem; background: #e6eaec; color: #70787d; white-space: nowrap; }

.daily-stock-table-wrap { overflow-x: auto; }

.daily-stock-table {
    width: 100%;
    min-width: 48rem;
    border-collapse: collapse;
    font-size: .85rem;
}

.daily-stock-table th {
    padding: .85rem 1rem;
    background: #e6e8e8;
    color: var(--daily-muted);
    font-size: .68rem;
    letter-spacing: .06em;
    text-align: right;
    text-transform: uppercase;
}

.daily-stock-table th:first-child,
.daily-stock-table td:first-child { text-align: left; }
.daily-stock-table td { padding: .9rem 1rem; border-bottom: 1px solid #efd8cf; color: var(--daily-ink); font-family: 'JetBrains Mono', monospace; text-align: right; }
.daily-stock-table td:first-child { font-family: inherit; }
.daily-stock-table td:first-child strong { display: block; font-size: .86rem; }
.daily-stock-table td:first-child span { color: var(--daily-muted); font-size: .73rem; }
.daily-stock-table td span { display: block; margin-top: .2rem; color: var(--daily-muted); font-family: Inter, system-ui, sans-serif; font-size: .63rem; }
.daily-stock-table th:last-child { background: rgba(164, 55, 0, .13); color: var(--daily-orange); }
.daily-stock-table .stock-final { background: rgba(164, 55, 0, .06); font-weight: 800; }
.daily-stock-table .stock-in { color: var(--daily-orange); }
.daily-stock-table .stock-out { color: #ba1a1a; }

.daily-panel-heading.compact { margin-bottom: .75rem; }
.daily-panel-help { margin: 0 0 1.2rem; color: var(--daily-muted); font-size: .85rem; line-height: 1.45; }

.daily-expense-list { display: grid; gap: .7rem; }

.daily-expense-row {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) 9.5rem 7rem auto;
    align-items: end;
    gap: .75rem;
    padding: 1rem;
    background: #f0f1f1;
}

.daily-expense-row label { display: grid; gap: .38rem; color: var(--daily-muted); }
.daily-expense-row input:not([type='file']) { width: 100%; min-width: 0; box-sizing: border-box; padding: .75rem; border: 1px solid #e3bfb2; background: #f8fafb; color: var(--daily-ink); font: 400 .86rem Inter, sans-serif; }
.daily-expense-row input:focus, .daily-observations-panel textarea:focus { outline: 2px solid rgba(164, 55, 0, .28); outline-offset: 1px; }

.daily-expense-row input[type='file'] {
    width: 100%;
    min-height: 2.55rem;
    box-sizing: border-box;
    border: 1px solid #e3bfb2;
    background: #f8fafb;
    color: var(--daily-ink);
    cursor: pointer;
    padding: .4rem;
    font: 400 .74rem Inter, sans-serif;
}

.daily-expense-row input[type='file']:focus-visible {
    outline: 2px solid rgba(164, 55, 0, .28);
    outline-offset: 1px;
}

.daily-expense-remove {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 0;
    background: transparent;
    color: #8c1d18;
    cursor: pointer;
}

.daily-expense-remove:hover { background: #ffd9d5; }

.daily-add-expense,
.daily-print {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 0;
    background: transparent;
    color: var(--daily-orange);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}

.daily-add-expense { margin-top: 1.15rem; }
.daily-add-expense:hover, .daily-print:hover { text-decoration: underline; }

.daily-observations-label { display: flex; align-items: center; gap: .75rem; color: var(--daily-ink); font-size: 1.1rem; font-weight: 700; }
.daily-observations-panel textarea { width: 100%; min-height: 7.75rem; box-sizing: border-box; margin-top: 1.35rem; padding: 1rem; resize: vertical; border: 1px solid #e3bfb2; background: #f0f1f1; color: var(--daily-ink); font: 400 .92rem/1.5 Inter, sans-serif; }

.daily-point-right { position: sticky; top: 5.5rem; }

.daily-final-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1.25rem;
    padding: 2rem;
    background: #292b2b;
    color: #f8fafb;
    box-shadow: 0 12px 20px -12px rgba(0, 0, 0, .38);
}

.daily-final-card::after { position: absolute; width: 13rem; height: 9rem; right: -8rem; bottom: -5.5rem; background: rgba(164, 55, 0, .22); content: ''; pointer-events: none; transform: rotate(45deg); }
.daily-final-card > * { position: relative; z-index: 1; }
.daily-final-card h2 { margin: 0; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(227, 191, 178, .2); font-size: 1.35rem; text-transform: none; }

.daily-calculation-row { display: flex; justify-content: space-between; gap: .75rem; color: #d4d7d8; font-size: .83rem; }
.daily-calculation-row strong { font-family: 'JetBrains Mono', monospace; font-size: .82rem; }
.daily-calculation-row .expense-total { color: #ffb4ab; }

.daily-deposit-total { display: grid; gap: .35rem; padding-top: 1.3rem; border-top: 1px solid rgba(227, 191, 178, .2); }
.daily-deposit-total span { color: #ffb4ab; }
.daily-deposit-total strong { color: #fff; font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1; }
.daily-deposit-total small { color: rgba(255,255,255,.65); font-size: .76rem; font-weight: 500; }

.daily-safety-note { display: flex; gap: .65rem; padding: 1rem; background: rgba(255,255,255,.07); }
.daily-safety-note > i { color: #ffb4ab; }
.daily-safety-note b { color: #fff; }
.daily-safety-note p { margin: .35rem 0 0; color: #d4d7d8; font-size: .78rem; line-height: 1.45; }

.daily-submit { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; width: 100%; padding: 1rem; border: 0; background: var(--daily-orange); color: #fff; font: 700 .9rem Inter, sans-serif; cursor: pointer; }
.daily-submit:hover { background: #7d2c09; }

.daily-print { justify-content: center; width: 100%; box-sizing: border-box; margin-top: 1.5rem; padding: 1.2rem; border: 2px solid #e3bfb2; color: var(--daily-muted); }

.daily-feedback { min-height: 1.25rem; margin: 1rem 0 0; color: #1c6b43; font-size: .88rem; font-weight: 600; }
.daily-feedback.error { color: #a3261d; }

@media (max-width: 1080px) {
    .daily-date { position: relative; top: auto; right: auto; margin-top: 1.5rem; text-align: left; }
    .daily-summary-cards { grid-template-columns: 1fr; }
    .daily-point-layout { grid-template-columns: 1fr; }
    .daily-point-right { position: static; }
}

@media (max-width: 700px) {
    .daily-point-hero, .daily-point-form { padding: 1.5rem; }
    .daily-panel { padding: 1.3rem; }
    .daily-panel-heading { align-items: flex-start; flex-direction: column; }
    .daily-expense-row { grid-template-columns: 1fr 1fr; }
    .daily-expense-row > label:first-child { grid-column: 1 / -1; }
    .daily-expense-file { grid-column: 1 / 2; }
    .daily-expense-remove { grid-column: 2 / 3; justify-self: end; }
}

/* Nouvelle vente vendeur */
.seller-new-sale-content { min-width: 0; padding-bottom: 3.5rem; }

.seller-new-sale-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 3rem;
    background: #eff1f1;
}

.seller-new-sale-orb {
    position: absolute;
    top: -8.5rem;
    right: 2.5rem;
    width: 20rem;
    height: 18rem;
    border-radius: 48% 52% 45% 55% / 41% 43% 57% 59%;
    background: #a43700;
    opacity: .1;
    pointer-events: none;
    transform: rotate(24deg);
}

.seller-new-sale-hero > div,
.seller-terminal-status { position: relative; z-index: 1; }
.seller-new-sale-hero p { margin: 0 0 .55rem; color: #963615; font-family: 'JetBrains Mono', monospace; font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; }
.seller-new-sale-hero h1 { margin: 0; color: #292321; font-size: clamp(2.35rem, 4.7vw, 3.55rem); letter-spacing: -.07em; line-height: .92; }
.seller-new-sale-hero h1 span { color: #84776f; }

.seller-terminal-status {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .8rem;
    border-radius: 1rem;
    background: #e3e6e7;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    color: #5a4138;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.seller-terminal-status i { width: .5rem; height: .5rem; border-radius: 50%; background: #a43700; }
.seller-new-sale-form { margin: 2rem 3rem 0; position: relative; }

.seller-new-sale-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(16.5rem, .76fr);
    align-items: start;
    gap: 2rem;
}

.seller-new-sale-panels { display: grid; gap: 2rem; min-width: 0; }

.seller-sale-card {
    padding: 2rem;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 3px 10px -6px rgba(0, 0, 0, .32);
}

.seller-sale-card-heading {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1.45rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e3bfb2;
}

.seller-sale-card-heading > i { color: #a43700; font-size: 1.25rem; }
.seller-sale-card-heading h2 { margin: 0; color: #292321; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }

.seller-sale-fields { display: grid; grid-template-columns: 1fr .75fr; gap: 1.5rem; }

.seller-sale-fields label,
.seller-format-choice legend,
.seller-transaction-choice legend,
.seller-payment-choice legend {
    display: grid;
    gap: .5rem;
    color: #5a4138;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.seller-sale-fields select,
.seller-sale-fields input {
    width: 100%;
    height: 3.35rem;
    box-sizing: border-box;
    padding: 0 .9rem;
    border: 0;
    border-bottom: 2px solid #e3bfb2;
    background: #f0f1f1;
    color: #292321;
    font: 600 1rem Inter, sans-serif;
}

.seller-sale-fields input { font-size: 1.25rem; }
.seller-sale-fields select:focus, .seller-sale-fields input:focus { outline: 2px solid rgba(164, 55, 0, .28); outline-offset: 1px; }

.seller-format-choice,
.seller-transaction-choice,
.seller-payment-choice { min-width: 0; margin: 1.55rem 0 0; padding: 0; border: 0; }

.seller-format-choice > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: .6rem; }

.seller-format-choice button {
    display: grid;
    gap: .25rem;
    min-height: 9rem;
    place-content: center;
    border: 2px solid transparent;
    border-radius: .28rem;
    background: #f0f1f1;
    color: #292321;
    cursor: pointer;
}

.seller-format-choice button strong { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; }
.seller-format-choice button strong small { font-size: 1rem; }
.seller-format-choice button span { color: #84776f; font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.seller-format-choice button.is-active { border-color: #a43700; background: rgba(164, 55, 0, .06); color: #a43700; }

.seller-sale-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(10rem, .8fr); gap: 2rem; }

.seller-transaction-choice { display: grid; gap: .55rem; margin-top: 0; }

.seller-transaction-choice button {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .85rem;
    border: 1px solid transparent;
    border-radius: .2rem;
    background: #f0f1f1;
    color: #292321;
    text-align: left;
    cursor: pointer;
}

.seller-transaction-choice button > i { color: #767676; font-size: 1rem; }
.seller-transaction-choice button span { display: grid; gap: .15rem; }
.seller-transaction-choice button strong { font-size: .88rem; }
.seller-transaction-choice button small { color: #6d625b; font-size: .65rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.seller-transaction-choice button.is-active { border-color: #a43700; }
.seller-transaction-choice button.is-active > i { color: #a43700; }

.seller-payment-choice { margin-top: 0; }
.seller-payment-choice > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-top: .6rem; }

.seller-payment-choice button {
    display: grid;
    min-height: 6.55rem;
    place-items: center;
    gap: .4rem;
    padding: .6rem;
    border: 2px solid transparent;
    border-radius: .25rem;
    background: #f0f1f1;
    color: #292321;
    cursor: pointer;
}

.seller-payment-choice button.is-active { border-color: #a43700; }
.seller-payment-choice b { display: inline-grid; width: 2.1rem; height: 2.1rem; place-items: center; border-radius: 999px; background: #d87d5d; color: #fff; font-size: .6rem; }
.seller-payment-choice b.mtn { background: #ffca28; color: #1d1d1d; }
.seller-payment-choice b.moov { border-radius: .42rem; background: #0875b9; }
.seller-payment-choice b.celtis { background: #d92d20; }
.seller-payment-choice span { color: #4b4541; font-size: .67rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.seller-sale-summary { position: sticky; top: 5rem; display: grid; gap: 1.2rem; }

.seller-sale-receipt {
    padding: 1.8rem;
    border-radius: .55rem;
    background: #a43700;
    color: #fff;
    box-shadow: 0 15px 24px -15px rgba(164, 55, 0, .7);
}

.seller-sale-receipt header { padding-bottom: 1.15rem; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.seller-sale-receipt header span, .seller-sale-total > span { display: block; color: rgba(255, 255, 255, .78); font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.seller-sale-receipt h2 { margin: .35rem 0 0; font-size: 1.3rem; line-height: 1.2; }
.seller-sale-receipt dl { display: grid; gap: .8rem; margin: 1.2rem 0; }
.seller-sale-receipt dl div { display: flex; justify-content: space-between; gap: .8rem; font-size: .8rem; }
.seller-sale-receipt dt { color: rgba(255, 255, 255, .72); }
.seller-sale-receipt dd { margin: 0; font-weight: 700; text-align: right; }

.seller-sale-total { display: grid; gap: .3rem; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .35); }
.seller-sale-total strong { font-size: clamp(2rem, 3vw, 2.9rem); letter-spacing: -.06em; line-height: .94; }
.seller-sale-total strong small { display: block; margin-top: .3rem; font-size: .72rem; font-weight: 700; letter-spacing: .05em; }
.seller-sale-return { display: flex; gap: .6rem; margin: 1.45rem 0 0; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .25); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; }

.seller-sale-warning { display: flex; gap: .75rem; padding: 1.1rem; border-left: 4px solid #a43700; background: #e3e6e7; color: #5a4138; }
.seller-sale-warning i { color: #a43700; }
.seller-sale-warning p { margin: 0; font-size: .78rem; line-height: 1.45; }

.seller-sale-submit { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; padding: 1.1rem; border: 0; border-radius: .55rem; background: #a43700; color: #fff; font: 800 .85rem Inter, sans-serif; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; box-shadow: 0 8px 13px -8px rgba(0, 0, 0, .5); }
.seller-sale-submit:hover { background: #7d2c09; }
.seller-sale-quote { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; width: 100%; border: 0; background: transparent; color: #5a4138; font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.seller-sale-quote:hover { color: #a43700; }

.seller-ticket-page { background: #f8fafb; color: #191c1d; font-family: Inter, Arial, sans-serif; }
.seller-ticket { width: min(100% - 2rem, 30rem); margin: 3rem auto; padding: 2rem; background: #fff; box-shadow: 0 1px 6px rgb(0 0 0 / .12); }
.seller-ticket header { padding-bottom: 1rem; border-bottom: 2px dashed #d8dadb; text-align: center; }
.seller-ticket header p { margin: 0; color: #a43700; font-size: 1.25rem; font-weight: 800; }
.seller-ticket header h1 { margin: .5rem 0; font-size: 1.5rem; }
.seller-ticket header span, .seller-ticket-status { font-family: monospace; }
.seller-ticket dl { margin: 1.5rem 0; }
.seller-ticket dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid #eef0f1; }
.seller-ticket dt { color: #5a4138; }
.seller-ticket dd { margin: 0; text-align: right; font-weight: 600; }
.seller-ticket footer { display: flex; justify-content: space-between; padding-top: 1rem; font-size: 1.1rem; }
.seller-ticket footer strong { color: #a43700; }
.seller-ticket-status { text-align: center; font-weight: 800; color: #7e5700; }
.seller-ticket-actions { display: flex; justify-content: center; gap: 1rem; margin-top: 1.5rem; }
.seller-ticket-actions a, .seller-ticket-actions button { padding: .7rem 1rem; border: 0; background: #a43700; color: #fff; cursor: pointer; text-decoration: none; }
.seller-ticket-actions a { background: #5a4138; }
@media print { .seller-ticket { width: auto; margin: 0; box-shadow: none; } .seller-ticket-actions { display: none; } }

.seller-new-sale-feedback { min-height: 1.25rem; margin: 1rem 0 0; color: #1c6b43; font-size: .85rem; font-weight: 700; }
.seller-new-sale-feedback.error { color: #a3261d; }

@media (max-width: 1060px) {
    .seller-new-sale-layout { grid-template-columns: 1fr; }
    .seller-sale-summary { position: static; grid-template-columns: minmax(0, 1fr) minmax(14rem, .7fr); }
    .seller-sale-receipt { grid-row: span 2; }
}

@media (max-width: 760px) {
    .seller-new-sale-hero { align-items: flex-start; flex-direction: column; padding: 2rem 1.2rem; }
    .seller-new-sale-form { margin: 1rem 1rem 0; }
    .seller-new-sale-layout { gap: 1rem; }
    .seller-sale-card { padding: 1.2rem; }
    .seller-sale-fields, .seller-sale-details-grid, .seller-sale-summary { grid-template-columns: 1fr; gap: 1rem; }
    .seller-format-choice > div { gap: .5rem; }
    .seller-format-choice button { min-height: 6.5rem; padding: .5rem; }
    .seller-format-choice button strong { font-size: 2rem; }
    .seller-format-choice button span { font-size: .5rem; }
}

/* Tableau de bord vendeur */
.seller-dashboard-content { padding: 2rem 3rem 3.5rem; }

.seller-dashboard-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.35rem; }

.seller-dashboard-stat {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: .75rem;
    min-height: 10.5rem;
    padding: 1.45rem;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

.seller-dashboard-stat::before { position: absolute; top: -2rem; right: 1rem; width: 6rem; height: 6rem; border-radius: 1rem; background: rgba(164, 55, 0, .05); content: ''; }
.seller-dashboard-stat > * { position: relative; z-index: 1; }
.seller-dashboard-stat > div { display: flex; align-items: center; justify-content: space-between; color: #a43700; }
.seller-dashboard-stat > div > i { font-size: 1.3rem; }
.seller-dashboard-stat > div > i.warm { color: #7e5700; }
.seller-dashboard-stat > div > span { color: #5a4138; font-size: .61rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.seller-dashboard-stat > strong { align-self: end; color: #292321; font-size: clamp(1.8rem, 3vw, 2.75rem); letter-spacing: -.06em; line-height: .95; }
.seller-dashboard-stat > strong small { display: block; font-size: .77rem; letter-spacing: 0; }
.seller-dashboard-stat > p { margin: 0; color: #5a4138; font-size: .63rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.seller-dashboard-stat.cash { border-left: 4px solid #a43700; }
.seller-dashboard-stat.cash div > span { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .4rem; border-radius: .55rem; background: rgba(164, 55, 0, .1); color: #a43700; }
.seller-dashboard-stat.cash div > span b { width: .38rem; height: .38rem; border-radius: 50%; background: #a43700; }
.seller-dashboard-stat.alert { background: #ffdad6; }
.seller-dashboard-stat.alert::before { background: rgba(186, 26, 26, .1); }
.seller-dashboard-stat.alert > div, .seller-dashboard-stat.alert > div > span, .seller-dashboard-stat.alert > strong, .seller-dashboard-stat.alert > p { color: #8c1d18; }

.seller-dashboard-grid { display: grid; grid-template-columns: minmax(15rem, .56fr) minmax(0, 1.44fr); align-items: start; gap: 1.5rem; margin-top: 1.5rem; }
.seller-dashboard-side { display: grid; gap: 1.5rem; }
.seller-dashboard-main-panels { display: grid; gap: 1.5rem; min-width: 0; }

.seller-dashboard-actions { display: grid; gap: 1rem; padding: 1.45rem; border-radius: .55rem; background: #e3e6e7; }
.seller-dashboard-actions h2 { display: flex; align-items: center; gap: .65rem; margin: 0 0 .15rem; color: #292321; font-size: 1.2rem; }
.seller-dashboard-actions h2 i { font-size: 1rem; }

.seller-dashboard-primary-action,
.seller-dashboard-secondary-action { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1.15rem; border-radius: .25rem; text-decoration: none; }
.seller-dashboard-primary-action { background: #a43700; color: #fff; box-shadow: 0 8px 12px -9px rgba(0, 0, 0, .5); }
.seller-dashboard-secondary-action { background: #fff; color: #292321; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.seller-dashboard-primary-action > span, .seller-dashboard-secondary-action > span { display: flex; align-items: center; gap: .8rem; }
.seller-dashboard-primary-action span > i { font-size: 1.15rem; }
.seller-dashboard-secondary-action span > i { color: #7e5700; font-size: 1.2rem; }
.seller-dashboard-primary-action b, .seller-dashboard-secondary-action b { display: grid; gap: .25rem; font-size: .85rem; }
.seller-dashboard-primary-action small, .seller-dashboard-secondary-action small { color: inherit; font-size: .57rem; font-weight: 800; letter-spacing: .06em; opacity: .82; text-transform: uppercase; }
.seller-dashboard-primary-action:hover { background: #7d2c09; }
.seller-dashboard-secondary-action:hover { color: #a43700; }

.seller-terminal-card { overflow: hidden; border-radius: .55rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.seller-terminal-card header { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.2rem; background: #292b2b; color: #fff; }
.seller-terminal-card header span { font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.seller-terminal-card header code { font: .62rem 'JetBrains Mono', monospace; }
.seller-terminal-card > div { display: grid; gap: .8rem; padding: 1.15rem; }
.seller-terminal-card p { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 0; color: #5a4138; font-size: .78rem; }
.seller-terminal-card p b { display: inline-flex; align-items: center; gap: .35rem; font-size: .67rem; letter-spacing: .04em; text-transform: uppercase; }
.seller-terminal-card p b i { width: .4rem; height: .4rem; border-radius: 50%; }
.terminal-online { color: #7e5700; }.terminal-online i { background: #7e5700; }.terminal-offline { color: #ba1a1a; }.terminal-offline i { background: #ba1a1a; }

.seller-dashboard-panel { overflow: hidden; border-radius: .55rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.seller-dashboard-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.45rem; border-bottom: 1px solid #e6e8e8; }
.seller-dashboard-panel h2 { margin: 0; color: #292321; font-size: 1.2rem; }
.seller-dashboard-inventory > header span { padding: .35rem .55rem; background: #e3e6e7; color: #292321; font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.seller-dashboard-table-wrap { overflow-x: auto; }
.seller-dashboard-inventory table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.seller-dashboard-inventory th { padding: .85rem 1.3rem; background: #f0f1f1; color: #5a4138; font-size: .61rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.seller-dashboard-inventory th:nth-child(n + 3), .seller-dashboard-inventory td:nth-child(n + 3) { text-align: right; }
.seller-dashboard-inventory th:last-child, .seller-dashboard-inventory td:last-child { text-align: center; }
.seller-dashboard-inventory td { padding: 1rem 1.3rem; border-bottom: 1px solid #e6e8e8; color: #292321; font-size: .83rem; }
.seller-dashboard-inventory td:first-child b { display: block; }.seller-dashboard-inventory td:first-child small { color: #5a4138; font-size: .61rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.seller-dashboard-inventory td > strong { font-family: 'JetBrains Mono', monospace; }.seller-dashboard-inventory td > strong.danger { color: #ba1a1a; }

.seller-stock-level { display: grid; gap: .35rem; min-width: 10rem; }.seller-stock-level i { display: block; height: .5rem; overflow: hidden; border-radius: 1rem; background: #e3e6e7; }.seller-stock-level i span { display: block; height: 100%; border-radius: inherit; background: #7e5700; }.seller-stock-level small { color: #5a4138; font: .58rem 'JetBrains Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }.seller-stock-level.critical i span { background: #ba1a1a; }.seller-stock-level.critical small { color: #ba1a1a; }.seller-stock-level.moderate i span { background: #a43700; }
.stock-status { display: inline-block; padding: .35rem .55rem; border-radius: .2rem; font-size: .61rem; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.stock-status.optimal { background: rgba(126, 87, 0, .1); color: #7e5700; }.stock-status.alert { background: #ba1a1a; color: #fff; }.stock-status.stable { background: #e3e6e7; color: #5a4138; }

.seller-dashboard-transactions > header a { color: #a43700; font-size: .63rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }.seller-dashboard-transactions > header a:hover { text-decoration: underline; }
.seller-transaction-list { display: grid; }.seller-transaction-list article { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1.15rem 1.45rem; border-bottom: 1px solid rgba(41, 35, 33, .1); }.seller-transaction-list article > span { display: inline-grid; width: 3rem; height: 3rem; place-items: center; background: #e3e6e7; color: #a43700; font: 700 .72rem 'JetBrains Mono', monospace; }.seller-transaction-list article > div { display: grid; gap: .2rem; }.seller-transaction-list article > div b { color: #292321; font-size: .84rem; }.seller-transaction-list article > div small { color: #5a4138; font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.seller-transaction-list article > strong { display: grid; gap: .2rem; color: #292321; font-size: .86rem; text-align: right; }.seller-transaction-list article > strong small { font-size: .62rem; }.seller-transaction-list article em { color: #7e5700; font-size: .57rem; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 1120px) { .seller-dashboard-stats { grid-template-columns: repeat(2, 1fr); }.seller-dashboard-grid { grid-template-columns: 1fr; }.seller-dashboard-side { grid-template-columns: 1fr 1fr; align-items: start; } }
@media (max-width: 760px) { .seller-dashboard-content { padding: 1rem; }.seller-dashboard-stats, .seller-dashboard-side { grid-template-columns: 1fr; }.seller-dashboard-stat { min-height: auto; }.seller-dashboard-panel > header { align-items: flex-start; flex-direction: column; padding: 1.2rem; }.seller-transaction-list article { grid-template-columns: 2.8rem minmax(0, 1fr); padding: 1rem; }.seller-transaction-list article > strong { grid-column: 2; text-align: left; }.seller-transaction-list article > span { width: 2.5rem; height: 2.5rem; }.seller-dashboard-inventory th, .seller-dashboard-inventory td { padding-right: .85rem; padding-left: .85rem; } }

/* Accessibilité et lisibilité communes aux espaces métier */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #b45309;
    outline-offset: 3px;
}

.admin-nav-link[aria-current="page"] {
    font-weight: 800;
}

body.admin-page :is(label, th, small),
body.admin-page :is(.seller-status, .stock-status, .arrival-status, .report-status, .role-badge, .user-status) {
    font-size: max(.75rem, 12px);
    line-height: 1.4;
}

body.admin-page :is(input, select, textarea, button) {
    font-size: max(.8rem, 13px);
}

[role="alert"],
[role="status"] {
    scroll-margin-top: 5rem;
}

[role="alert"] {
    border-left-color: #ba1a1a !important;
}

body.has-open-menu::before {
    position: fixed;
    z-index: 15;
    inset: 0;
    background: rgba(24, 20, 18, .56);
    content: "";
}

:is(.audit-table-wrap, .report-table-wrap, .users-table-scroll, .controller-live-table, .cash-expenses-table, .inventory-table-wrap, .arrivals-table-wrap, .seller-sales-table-wrap, .daily-stock-table-wrap, .seller-dashboard-table-wrap) {
    overscroll-behavior-inline: contain;
    scrollbar-color: #a43700 #e3e6e7;
    scrollbar-width: thin;
}

/* La structure réelle contient un formulaire puis l’action principale. */
.seller-sales-filters {
    display: flex;
    align-items: end;
    gap: .65rem;
}

.seller-sales-filters > form {
    display: grid;
    min-width: 0;
    flex: 1;
    grid-template-columns: minmax(9rem, 1fr) minmax(10rem, 1fr) auto auto;
    align-items: end;
    gap: .65rem;
}

@media (max-width: 760px) {
    .seller-sales-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .seller-sales-filters > form {
        grid-template-columns: 1fr 1fr;
    }

    .seller-sales-filters > form > :is(button, a),
    .seller-sales-filters > a {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
    }
}

.seller-sale-live-feedback {
    min-height: 1.4em;
    margin: 0;
    color: #fff;
    font-size: .8rem;
    line-height: 1.4;
}

.app-feedback {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin: 1rem 0 0;
    border-left: 4px solid #4c8a60;
    border-radius: .2rem;
    background: #edf7f0;
    color: #254d31;
    padding: .8rem .95rem;
    font-size: .85rem;
    line-height: 1.5;
}

.app-feedback > span:first-child {
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
    border-radius: 50%;
    background: #4c8a60;
    color: #fff;
    font-weight: 900;
    place-items: center;
}

.app-feedback--error {
    border-left-color: #ba1a1a;
    background: #fff0ef;
    color: #721c1c;
}

.app-feedback--error > span:first-child {
    background: #ba1a1a;
}

/* Modules financiers et d’approvisionnement */
.module-content { padding: 2.5rem clamp(1rem, 3vw, 3rem) 3rem; }
.module-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.module-title p { margin: 0 0 .35rem; color: #963615; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.module-title h1 { margin: 0; color: #292321; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.055em; }
.module-title span { display: block; margin-top: .55rem; color: #675d57; }
.module-title strong { display: block; margin-top: .55rem; color: #963615; font-size: 1.5rem; }
.module-grid { display: grid; gap: 1rem; margin: 1rem 0; }.module-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }.module-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.module-card { overflow: hidden; border: 1px solid #ead2c8; border-radius: .55rem; background: #fff; box-shadow: 0 .5rem 1.2rem -.9rem rgba(35,28,24,.4); margin-top: 1rem; padding: 1.25rem; }
.module-card h2 { margin: 0 0 1rem; color: #302a27; font-size: 1.1rem; }.module-card p { color: #675d57; line-height: 1.6; }
.module-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin: 0 0 1rem; }.module-metrics div { background: #f1f3f3; padding: .65rem; }.module-metrics dt { color: #71665f; font-size: .75rem; }.module-metrics dd { margin: .2rem 0 0; color: #292321; font-weight: 800; }
.module-form, .module-card form:not(.inline-form) { display: grid; gap: .8rem; }.module-form--horizontal { grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: end; }
.module-card label { display: grid; gap: .35rem; color: #665b55; font-size: .78rem; font-weight: 750; }
.module-card :is(input,select,textarea) { width: 100%; min-height: 44px; border: 1px solid #dfc2b7; border-radius: .2rem; background: #fff; padding: .55rem .65rem; color: #292321; }
.module-card button { min-height: 42px; border: 0; border-radius: .2rem; background: #963615; color: #fff; cursor: pointer; padding: .55rem .8rem; font-weight: 750; }.module-card button.danger { background: #ba1a1a; }
.module-table-wrap { overflow-x: auto; }.module-table-wrap table { width: 100%; min-width: 48rem; border-collapse: collapse; }.module-table-wrap th { background: #e4e7e7; color: #5d534d; padding: .7rem; text-align: left; }.module-table-wrap td { border-top: 1px solid #eadbd5; padding: .75rem; color: #352e2a; }.module-table-wrap td small { display: block; margin-top: .2rem; }.module-table-wrap .danger { color: #ba1a1a; }.module-table-wrap .success { color: #307148; }
.inline-form { display: flex; min-width: 15rem; align-items: center; gap: .4rem; }.inline-form input { min-width: 7rem; }
.admin-brand-mark { color: #963615; font-size: 1.35rem; }.admin-nav-link > span:first-child { display: grid; width: 1.2rem; flex: 0 0 1.2rem; place-items: center; font-weight: 900; }
@media (max-width: 980px) { .module-grid.three { grid-template-columns: 1fr; }.module-form--horizontal { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .module-content { padding: 1.5rem 1rem 2.5rem; }.module-grid.two { grid-template-columns: 1fr; }.module-form--horizontal { grid-template-columns: 1fr; }.module-title { align-items: flex-start; flex-direction: column; }.inline-form { align-items: stretch; flex-direction: column; } }

@media (max-width: 470px) {
    .seller-sales-filters > form {
        grid-template-columns: 1fr;
    }

    body.admin-page :is(input, select, textarea) {
        min-height: 44px;
    }
}

/* Correctifs de confinement chargés en dernier pour tous les espaces. */
html, body { max-width: 100%; overflow-x: clip; }
body.admin-page { overflow-wrap: anywhere; }
:is(.admin-shell, .admin-main, .admin-header, .admin-header > *, .dashboard-content, .module-content, .module-grid, .module-grid > *, .controller-dashboard-content, .controller-workspace, .controller-workspace > *, .cash-content, .audit-content, .reports-content, .catalogue-content, .users-content, .inventory-content, .arrivals-content, .seller-dashboard-content, .seller-dashboard-grid, .seller-dashboard-grid > *, .seller-history-content, .seller-new-sale-content, .daily-point-content) { min-width: 0; max-width: 100%; }
.admin-sidebar { overflow-x: hidden; overflow-y: auto; }
.admin-nav, .admin-nav-link > span:last-child, .admin-user strong, .admin-user small { min-width: 0; overflow-wrap: anywhere; }
.module-card { min-width: 0; overflow: visible; }
.module-grid > :is(.module-card, article.module-card, section.module-card) { height: auto; margin-top: 0; }
.module-grid > article:not(.module-card) { min-width: 0; border: 1px solid #eadbd5; border-radius: .4rem; background: #f7f8f8; padding: 1rem; }
.module-grid > article:not(.module-card) > :first-child { margin-top: 0; }
.module-grid > article:not(.module-card) > :last-child { margin-bottom: 0; }
:is(.module-card, .seller-dashboard-panel, .controller-live-card) :is(strong, p, li, dd, td, th, a) { overflow-wrap: anywhere; }
.module-card ul { margin: .75rem 0 0; padding-left: 1.2rem; }
.module-card li + li { margin-top: .55rem; }
.module-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: visible; border-radius: .3rem; overscroll-behavior-inline: contain; scrollbar-color: #a43700 #e3e6e7; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.module-table-wrap table { table-layout: auto; }
.module-table-wrap :is(th, td) { min-width: 7rem; vertical-align: top; }
.module-table-wrap :is(th, td):first-child { min-width: 9rem; }
.module-table-wrap td form { min-width: min(100%, 13rem); }
:is(.module-form, .module-form--horizontal, .inline-form) > * { min-width: 0; }
.inline-form { max-width: 100%; flex-wrap: wrap; }
.inline-form :is(input, select) { min-width: 7rem; flex: 1 1 8rem; }
.inline-form :is(button, a) { flex: 0 1 auto; }
:is(.module-card, .cash-expenses, .controller-live-card, .seller-dashboard-panel) :is(input, select, textarea, button, a) { max-width: 100%; }

@media (max-width: 1180px) {
    .module-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    html, body { min-width: 0; }
    .admin-sidebar { width: min(18rem, calc(100vw - 3rem)); }
    .admin-header { align-items: center; }
    .admin-user-actions { min-width: 0; gap: .6rem; }
    .admin-avatar { width: 2.2rem; height: 2.2rem; flex: 0 0 2.2rem; }
    :is(.module-grid.three, .module-metrics) { grid-template-columns: 1fr; }
    .module-card { padding: 1rem; }
    .module-table-wrap::after { display: block; position: sticky; left: 0; width: max-content; margin-top: .45rem; color: #71665f; content: "Faites défiler horizontalement pour voir tout le tableau →"; font-size: .72rem; }
    .inline-form { min-width: 0; align-items: stretch; flex-direction: column; }
    .inline-form :is(input, select, button, a) { width: 100%; }
}

@media (max-width: 380px) {
    .admin-header { padding-inline: .75rem; }
    :is(.module-content, .dashboard-content, .seller-dashboard-content) { padding-inline: .75rem; }
}

.audit-context-list { display: grid; gap: .35rem; min-width: 13rem; margin: 0; }
.audit-context-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; border-bottom: 1px solid #ece2de; padding-bottom: .3rem; }
.audit-context-list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.audit-context-list dt { color: #71665f; font-size: .75rem; }
.audit-context-list dd { margin: 0; color: #312b28; font-size: .75rem; font-weight: 750; text-align: right; }

/* Parcours métier : navigation interne, états vides et lecture mobile. */
.section-jump-nav { display: flex; align-items: center; gap: .55rem; overflow-x: auto; margin: 0 0 1rem; padding: .25rem 0 .5rem; scrollbar-width: thin; }
.section-jump-nav a { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; gap: .45rem; border: 1px solid #dfc2b7; border-radius: .35rem; background: #fff; color: #5a4138; padding: .6rem .8rem; font-size: .78rem; font-weight: 750; text-decoration: none; }
.section-jump-nav a:hover, .section-jump-nav a:focus-visible { border-color: #a43700; background: #fff2ec; color: #963615; }
.section-jump-nav span { display: grid; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #a43700; color: #fff; font-size: .7rem; place-items: center; }

/* Outils de gestion administrateur : recherche et filtres progressifs. */
.admin-data-toolbar { display: grid; grid-template-columns: minmax(14rem, 1.3fr) minmax(13rem, 1fr) repeat(3, minmax(8rem, .65fr)) auto; align-items: end; gap: .8rem; margin: 0 0 1rem; border: 1px solid #dfc2b7; border-radius: .65rem; background: linear-gradient(135deg, #fff 0%, #fff8f4 100%); padding: 1rem; box-shadow: 0 .7rem 1.5rem -.95rem rgba(77, 41, 27, .28); }
.admin-data-toolbar.compact { margin: 0 0 1rem; }
.admin-data-toolbar > div h2 { margin: .15rem 0 0; color: #302824; font-size: 1.05rem; }
.admin-data-toolbar > label { display: grid; gap: .35rem; color: #6f6058; font-size: .67rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.admin-data-toolbar :is(input, select) { width: 100%; min-height: 44px; border: 1px solid #d8c5bc; border-radius: .35rem; background: #fff; color: #312b28; padding: .65rem .72rem; font: inherit; text-transform: none; }
.admin-data-toolbar :is(input, select):focus-visible { border-color: #a43700; outline: 3px solid rgba(164, 55, 0, .16); }
.admin-data-toolbar button { min-height: 44px; border: 1px solid #c99682; border-radius: .35rem; background: #fff; color: #87330f; padding: .62rem .8rem; font-weight: 800; cursor: pointer; }
.admin-data-toolbar button:hover { background: #fff0e8; }
.admin-data-toolbar output { grid-column: 1 / -1; color: #70635c; font-size: .72rem; font-weight: 750; }
.admin-filter-empty { display: grid; justify-items: center; gap: .45rem; margin: 1rem 0; border: 1px dashed #d9b8a9; border-radius: .6rem; background: #fffaf7; padding: 2rem 1rem; color: #76665e; text-align: center; }
.admin-filter-empty[hidden] { display: none; }
.admin-filter-empty strong { color: #3f332e; }
.admin-filter-empty button { min-height: 44px; margin-top: .35rem; border: 0; border-radius: .35rem; background: #9c370e; color: #fff; padding: .65rem .9rem; font-weight: 800; }
.catalogue-product[hidden], .users-table tr[hidden], .audit-table-card tr[hidden] { display: none; }

@media (max-width: 1050px) { .admin-data-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-data-toolbar > div { grid-column: 1 / -1; } }
@media (max-width: 620px) { .admin-data-toolbar { grid-template-columns: 1fr; }.admin-data-toolbar > div, .admin-data-toolbar output { grid-column: 1; }.admin-data-toolbar button { width: 100%; } }

/* ========================================================================== */
/* Refonte 2026 — espace administrateur                                       */
/* ========================================================================== */
.admin-page {
    --admin-blue-950: #10243e;
    --admin-blue-900: #153454;
    --admin-blue-800: #1c476f;
    --admin-blue-700: #245d8c;
    --admin-blue-100: #e7f0f8;
    --admin-blue-50: #f3f7fb;
    --admin-ink: #17202b;
    --admin-muted: #647184;
    --admin-line: #dce4ec;
    --admin-surface: #ffffff;
    --admin-canvas: #f4f7fa;
    background: var(--admin-canvas);
    color: var(--admin-ink);
}

.admin-page .admin-shell { background: var(--admin-canvas); }
.admin-page .admin-sidebar {
    width: 17rem;
    border: 0;
    background: linear-gradient(180deg, var(--admin-blue-950), #0d1d31);
    box-shadow: .75rem 0 2.2rem rgba(16, 36, 62, .1);
    color: #fff;
}
.admin-page .admin-brand { padding: 1.6rem 1.35rem 1.2rem; color: #fff; font-size: 1.25rem; letter-spacing: -.035em; }
.admin-page .admin-brand-mark { border-radius: .65rem; background: rgba(255,255,255,.11); color: #8fc8f2; }
.admin-page .seller-nav-label { margin: 0; padding: 0 1.35rem 1rem; color: #8fa4bb; font-size: .67rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.admin-page .admin-nav { gap: .22rem; overflow-y: auto; padding: .25rem .85rem 1rem; }
.admin-page .admin-nav-group { display: block; margin: 1rem .65rem .3rem; color: #718aa3; font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.admin-page .admin-nav-link { min-height: 2.8rem; border-radius: .55rem; color: #c3d0dc; padding: .62rem .75rem; font-size: .82rem; }
.admin-page .admin-nav-link > span:first-child { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 1.65rem; border-radius: .42rem; background: rgba(255,255,255,.06); color: #9db5cb; place-items: center; }
.admin-page .admin-nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-page .admin-nav-link.is-active { background: #fff; box-shadow: 0 .6rem 1.25rem rgba(0,0,0,.16); color: var(--admin-blue-900); }
.admin-page .admin-nav-link.is-active > span:first-child { background: var(--admin-blue-100); color: var(--admin-blue-700); }
.admin-page .admin-sidebar-footer { border-color: rgba(255,255,255,.1); }
.admin-page .admin-instance { color: #aab9c7; }
.admin-page .logout-button { color: #c3d0dc; }
.admin-page .logout-button:hover, .admin-page .logout-button:focus-visible { background: rgba(255,255,255,.08); color: #fff; }
.admin-page .admin-main { margin-left: 17rem; }

.admin-page .admin-header { min-height: 4.4rem; border-color: var(--admin-line); background: rgba(255,255,255,.92); padding: .7rem clamp(1rem, 3vw, 2.4rem); }
.admin-header-context { display: grid; gap: .12rem; }
.admin-header-context span { color: var(--admin-muted); font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.admin-header-context strong { color: var(--admin-ink); font-size: .83rem; }
.admin-page .admin-user strong { color: var(--admin-ink); font-size: .82rem; }
.admin-page .admin-user small { color: var(--admin-muted); }
.admin-page .admin-avatar { border-radius: 50%; background: var(--admin-blue-800); box-shadow: 0 0 0 .25rem var(--admin-blue-100); }

.admin-page :is(.dashboard-content,.catalogue-content,.users-content,.reports-content,.audit-content,.module-content) { width: min(100%, 96rem); padding: 2.2rem clamp(1rem, 3vw, 2.5rem) 3.5rem; }
.admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) { align-items: center; margin-bottom: 1.5rem; }
.admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row,.module-title) h1 { color: var(--admin-ink); font-size: clamp(1.85rem, 3vw, 2.55rem); letter-spacing: -.045em; line-height: 1.08; }
.admin-page .dashboard-title-row h1 br { display: none; }
.admin-page .dashboard-kicker, .admin-page .module-title > div > p { color: var(--admin-blue-700); font-family: inherit; font-size: .66rem; font-weight: 800; letter-spacing: .11em; }
.admin-page :is(.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) > div > p:last-child { color: var(--admin-muted); font-size: .85rem; }

.admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export.excel,.audit-export,.history-button) { min-height: 44px; border-radius: .5rem; background: var(--admin-blue-800); box-shadow: 0 .5rem 1rem -.65rem rgba(28,71,111,.65); color: #fff; text-decoration: none; }
.admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export.excel,.audit-export,.history-button):hover { background: var(--admin-blue-900); }
.admin-page .section-jump-nav { margin-bottom: 1.25rem; }
.admin-page .section-jump-nav a { border-color: var(--admin-line); border-radius: 2rem; color: var(--admin-blue-800); }
.admin-page .section-jump-nav a:hover, .admin-page .section-jump-nav a:focus-visible { border-color: #8eb3d1; background: var(--admin-blue-50); color: var(--admin-blue-900); }

.admin-page :is(.dashboard-card,.module-card,.users-table-card,.report-preview,.audit-table-card,.catalogue-product,.user-create-panel) { border: 1px solid var(--admin-line); border-radius: .8rem; background: var(--admin-surface); box-shadow: 0 .35rem 1.2rem rgba(31,53,75,.055); }
.admin-page :is(.catalogue-stats,.users-stats,.audit-stats,.report-kpis) { grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); }
.admin-page :is(.catalogue-stats,.users-stats,.audit-stats,.report-kpis) article { min-height: 7.7rem; border: 1px solid var(--admin-line); border-left: 3px solid var(--admin-blue-700); border-radius: .7rem; background: #fff; padding: 1.15rem 1.25rem; }
.admin-page :is(.catalogue-stat-card,.users-stat,.audit-stats article) p { color: var(--admin-muted); font-size: .64rem; }
.admin-page :is(.catalogue-stat-card,.users-stat,.audit-stats article) strong { color: var(--admin-ink); font-size: clamp(1.55rem, 2.5vw, 2.1rem); }

.admin-page .kpi-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.admin-page .dashboard-card { overflow: hidden; }
.admin-page .revenue-card { background: linear-gradient(135deg, var(--admin-blue-900), var(--admin-blue-700)); color: #fff; }
.admin-page .revenue-card :is(p,strong,span,small,em) { color: inherit; }
.admin-page .discrepancy-card { border-top: 3px solid #d17a1d; }
.admin-page .alert-symbol { background: #fff1df; color: #a75a08; }
.admin-page .operational-grid { gap: 1.2rem; }
.admin-page .trend-card, .admin-page .operation-status-card, .admin-page .activity-card { background: #fff; }
.admin-page .range-switch { border: 1px solid var(--admin-line); background: var(--admin-blue-50); }
.admin-page .range-switch a { color: var(--admin-muted); text-decoration: none; }
.admin-page .range-switch a.is-active { background: var(--admin-blue-800); color: #fff; }
.admin-page .distribution-banner { background: linear-gradient(120deg, var(--admin-blue-950), var(--admin-blue-800)); }

.admin-data-toolbar { grid-template-columns: minmax(13rem,1.4fr) minmax(12rem,1fr) repeat(3,minmax(8rem,.7fr)) auto; border-color: var(--admin-line); background: #fff; box-shadow: none; }
.admin-data-toolbar > div h2 { color: var(--admin-ink); }
.admin-data-toolbar > label { color: var(--admin-muted); }
.admin-data-toolbar :is(input,select) { border-color: var(--admin-line); border-radius: .48rem; color: var(--admin-ink); }
.admin-data-toolbar :is(input,select):focus-visible { border-color: var(--admin-blue-700); outline-color: rgba(36,93,140,.16); }
.admin-data-toolbar button { border-color: #a9bfd2; border-radius: .48rem; color: var(--admin-blue-800); }
.admin-data-toolbar button:hover { background: var(--admin-blue-50); }

/* Catalogue : chaque référence devient une fiche de stock lisible. */
.admin-page .catalogue-product-grid { grid-template-columns: 1fr; gap: .85rem; }
.admin-page .catalogue-product { display: grid; grid-template-columns: 10.5rem minmax(0,1fr); overflow: visible; }
.admin-page .product-visual { height: auto; min-height: 14rem; border-radius: .75rem 0 0 .75rem; background: var(--admin-blue-50); }
.admin-page .product-details { gap: .8rem; padding: 1.1rem 1.25rem; }
.admin-page .product-heading h2 { color: var(--admin-ink); font-size: 1.05rem; }
.admin-page .product-price-box { background: var(--admin-blue-50); }
.admin-page .product-price-box b, .admin-page .product-price-box small { color: var(--admin-blue-800); }
.admin-page .product-stock { grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--admin-line); padding-block: .75rem; }
.admin-page .product-stock > div:nth-child(even) { text-align: left; }
.admin-page .product-stock span { color: var(--admin-muted); }
.admin-page .product-stock .in-stock { color: #247044; }
.admin-page .module-table-wrap { border-radius: .55rem; }
.admin-page .module-table-wrap th { background: #edf3f8; color: #4e6072; }
.admin-page .module-table-wrap td { border-color: var(--admin-line); }

/* Les tâches de création restent hors du parcours de lecture. */
.admin-task-panel { overflow: hidden; }
.admin-task-panel > summary { display: flex; min-height: 4.4rem; align-items: center; justify-content: space-between; gap: 1rem; border-radius: .75rem; background: #fff; color: var(--admin-ink); cursor: pointer; padding: 1rem 1.2rem; list-style: none; }
.admin-task-panel > summary::-webkit-details-marker { display: none; }
.admin-task-panel > summary > span { display: grid; gap: .2rem; }
.admin-task-panel > summary b { font-size: .92rem; }
.admin-task-panel > summary small { color: var(--admin-muted); font-size: .72rem; }
.admin-task-panel > summary i { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: 50%; background: var(--admin-blue-100); color: var(--admin-blue-800); font-size: 1.15rem; font-style: normal; place-items: center; transition: transform .18s ease; }
.admin-task-panel[open] > summary { border-bottom: 1px solid var(--admin-line); border-radius: .75rem .75rem 0 0; }
.admin-task-panel[open] > summary i { transform: rotate(45deg); }
.admin-page .bulk-pricing-panel { display: block; margin-top: .85rem; border: 1px solid var(--admin-line); background: #fff; color: var(--admin-ink); padding: 0; }
.admin-page .bulk-pricing-panel::after { display: none; }
.admin-page .bulk-pricing-panel > :not(summary) { margin: 1.2rem; }
.admin-page .bulk-pricing-panel .bulk-pricing-intro p { color: var(--admin-muted); }
.admin-page .bulk-pricing-form { grid-template-columns: minmax(0,1fr) auto; padding-bottom: .15rem; }
.admin-page .bulk-pricing-form label, .admin-page .bulk-pricing-form legend { color: #536274; }
.admin-page .bulk-pricing-form :is(input,select) { border-color: var(--admin-line); background: #fff; color: var(--admin-ink); }
.admin-page .bulk-pricing-form button, .admin-page .module-form button { min-height: 44px; border-radius: .5rem; background: var(--admin-blue-800); }
.admin-page .user-create-panel { padding: 0; }
.admin-page .user-create-panel > :not(summary) { margin-inline: 1.2rem; }
.admin-page .user-create-form { padding-bottom: 1.2rem; }
.admin-page .admin-task-panel.module-card { padding: 0; }
.admin-page .admin-task-panel.module-card form { padding: 1.2rem; }

.admin-page :is(.users-table,.audit-table-card table,.report-table-wrap table,.module-table-wrap table) th { background: #edf3f8; color: #506174; font-size: .65rem; }
.admin-page :is(.users-table,.audit-table-card table,.report-table-wrap table,.module-table-wrap table) td { border-color: var(--admin-line); color: var(--admin-ink); font-size: .75rem; }
.admin-page .role-badge.admin, .admin-page .audit-module { background: var(--admin-blue-100); color: var(--admin-blue-900); }
.admin-page .user-status.active { color: #246b42; }
.admin-page .audit-table-footer, .admin-page .users-table-footer { background: var(--admin-blue-50); }
.admin-page .report-preview-header { background: linear-gradient(120deg,var(--admin-blue-950),var(--admin-blue-800)); }
.admin-page .report-template.is-active { background: var(--admin-blue-800); color: #fff; }
.admin-page .report-period-banner { border-color: #aec7dc; background: var(--admin-blue-50); color: #39556f; }
.admin-page .module-title { border-radius: .8rem; background: linear-gradient(120deg,var(--admin-blue-950),var(--admin-blue-800)); color: #fff; }
.admin-page .module-title :is(h1,strong,span,p) { color: inherit; }

@media (max-width: 1200px) {
    .admin-data-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-data-toolbar > div { grid-column: 1/-1; }
    .admin-page .operational-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
    .admin-page .admin-sidebar { width: min(18rem,calc(100vw - 3rem)); }
    .admin-page .admin-main { margin-left: 0; }
    .admin-page .admin-header-context { display: none; }
    .admin-page .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-page .revenue-card { grid-column: span 2; }
}
@media (max-width: 700px) {
    .admin-page :is(.dashboard-title-row,.catalogue-title-row,.users-title-row,.reports-title-row,.audit-title-row) { align-items: stretch; flex-direction: column; }
    .admin-page :is(.dashboard-sync,.catalogue-title-actions,.reports-export-box,.audit-actions) { width: 100%; }
    .admin-page :is(.refresh-button,.catalogue-primary-button,.users-create-button,.report-export,.audit-export) { width: 100%; justify-content: center; }
    .admin-page .kpi-grid, .admin-page :is(.catalogue-stats,.users-stats,.audit-stats,.report-kpis) { grid-template-columns: 1fr; }
    .admin-page .revenue-card { grid-column: auto; }
    .admin-page .catalogue-product { grid-template-columns: 1fr; }
    .admin-page .product-visual { min-height: 10rem; border-radius: .75rem .75rem 0 0; }
    .admin-page .gas-cylinder { transform: scale(.8); }
    .admin-page .product-stock { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-page .bulk-pricing-form, .admin-data-toolbar { grid-template-columns: 1fr; }
    .admin-data-toolbar > div, .admin-data-toolbar output { grid-column: 1; }
    .admin-page .users-table-scroll, .admin-page .audit-table-wrap { overflow: visible; }
    .admin-page .users-table, .admin-page .audit-table-card table { min-width: 0; }
    .admin-page .users-table thead, .admin-page .audit-table-card thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .admin-page .users-table tbody, .admin-page .audit-table-card tbody { display: grid; gap: .75rem; }
    .admin-page .users-table tr, .admin-page .audit-table-card tbody tr { display: grid; border: 1px solid var(--admin-line); border-radius: .65rem; background: #fff; padding: .85rem; }
    .admin-page .users-table td, .admin-page .audit-table-card td { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 1rem; border: 0; border-bottom: 1px solid var(--admin-line); padding: .65rem 0; text-align: right; }
    .admin-page .users-table td:last-child, .admin-page .audit-table-card td:last-child { border-bottom: 0; }
    .admin-page .users-table td::before, .admin-page .audit-table-card td::before { flex: 0 0 6.5rem; color: var(--admin-muted); font-size: .63rem; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
    .admin-page .users-table td:nth-child(1)::before { content: "Utilisateur"; }
    .admin-page .users-table td:nth-child(2)::before { content: "Rôle"; }
    .admin-page .users-table td:nth-child(3)::before { content: "Statut"; }
    .admin-page .users-table td:nth-child(4)::before { content: "Mise à jour"; }
    .admin-page .users-table td:nth-child(5)::before { content: "Action"; }
    .admin-page .audit-table-card td:nth-child(1)::before { content: "Date"; }
    .admin-page .audit-table-card td:nth-child(2)::before { content: "Utilisateur"; }
    .admin-page .audit-table-card td:nth-child(3)::before { content: "Action"; }
    .admin-page .audit-table-card td:nth-child(4)::before { content: "Sujet"; }
    .admin-page .audit-table-card td:nth-child(5)::before { content: "Détails"; }
    .admin-page .audit-context-list { max-width: 12rem; }
}
@media (prefers-reduced-motion: reduce) {
    .admin-task-panel > summary i { transition: none; }
}

/* Confirmations métier et retours accessibles partagés. */
.confirm-dialog { width: min(calc(100% - 2rem), 34rem); max-height: min(90svh, 44rem); overflow: auto; border: 0; border-radius: .9rem; background: transparent; color: #17202b; padding: 0; box-shadow: 0 2rem 5rem rgba(10,25,43,.34); }
.confirm-dialog::backdrop { background: rgba(11,25,43,.64); backdrop-filter: blur(3px); }
.confirm-dialog-card { margin: 0; background: #fff; }
.confirm-dialog-header { display: flex; align-items: center; gap: .9rem; border-bottom: 1px solid #dce4ec; padding: 1.25rem 1.35rem; }
.confirm-dialog-symbol { display: grid; width: 2.6rem; height: 2.6rem; flex: 0 0 2.6rem; border-radius: 50%; background: #fff0d9; color: #955400; font-size: 1.15rem; font-weight: 900; place-items: center; }
.confirm-dialog[data-tone="danger"] .confirm-dialog-symbol { background: #fee4e2; color: #b42318; }
.confirm-dialog-header p { margin: 0 0 .2rem; color: #667085; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.confirm-dialog-header h2 { margin: 0; font-size: 1.25rem; letter-spacing: -.025em; }
.confirm-dialog-body { display: grid; gap: 1rem; padding: 1.3rem 1.35rem; }
.confirm-dialog-body > p { margin: 0; color: #475467; font-size: .88rem; line-height: 1.55; }
.confirm-dialog-summary { display: grid; margin: 0; border: 1px solid #dce4ec; border-radius: .65rem; background: #f7f9fb; }
.confirm-dialog-summary div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #e5eaf0; padding: .65rem .8rem; }
.confirm-dialog-summary div:last-child { border-bottom: 0; }
.confirm-dialog-summary dt { color: #667085; font-size: .72rem; }.confirm-dialog-summary dd { margin: 0; color: #17202b; font-size: .75rem; font-weight: 800; text-align: right; }
.confirm-dialog-impact { border-left: 3px solid #d17a1d; background: #fff8ed; padding: .75rem .85rem; color: #74420a !important; }
.confirm-dialog[data-tone="danger"] .confirm-dialog-impact { border-color: #d92d20; background: #fff1f0; color: #912018 !important; }
.confirm-dialog-actions { display: flex; justify-content: flex-end; gap: .7rem; border-top: 1px solid #dce4ec; background: #f8fafc; padding: 1rem 1.35rem; }
.confirm-dialog-actions button { min-height: 44px; border-radius: .5rem; cursor: pointer; padding: .65rem 1rem; font-weight: 800; }
.confirm-dialog-cancel { border: 1px solid #cfd8e2; background: #fff; color: #344054; }.confirm-dialog-submit { border: 0; background: #1c476f; color: #fff; }
.confirm-dialog[data-tone="danger"] .confirm-dialog-submit { background: #b42318; }
.confirm-dialog-actions button:focus-visible { outline: 3px solid rgba(36,93,140,.25); outline-offset: 2px; }
.app-feedback { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: .75rem; margin: 1rem 0; border: 1px solid #a8d5b7; border-left: 4px solid #247044; border-radius: .6rem; background: #f0faf3; color: #194e30; padding: .85rem; }
.app-feedback--error { border-color: #f2b8b5; border-left-color: #b42318; background: #fff2f1; color: #7a1b14; }.app-feedback--warning { border-color: #edcf9c; border-left-color: #b56508; background: #fff8eb; color: #704006; }.app-feedback--info { border-color: #aac8e2; border-left-color: #245d8c; background: #f1f7fc; color: #1c476f; }
.app-feedback-icon { display: grid; width: 1.65rem; height: 1.65rem; border-radius: 50%; background: currentColor; color: #fff; font-size: .75rem; font-weight: 900; place-items: center; }
.app-feedback-copy { display: grid; gap: .18rem; }.app-feedback-copy strong { font-size: .78rem; }.app-feedback-copy > span { font-size: .75rem; line-height: 1.45; }
.app-feedback > button { width: 2rem; height: 2rem; border: 0; border-radius: .35rem; background: transparent; color: currentColor; cursor: pointer; font-size: 1.2rem; }
@media (max-width: 520px) { .confirm-dialog-actions { flex-direction: column-reverse; }.confirm-dialog-actions button { width: 100%; }.confirm-dialog-summary div { align-items: flex-start; flex-direction: column; gap: .25rem; }.confirm-dialog-summary dd { text-align: left; } }
.login-feedback--error { display: grid; gap: .25rem; margin-bottom: 1rem; border: 1px solid #f0b7b3; border-left: 4px solid #b42318; border-radius: .45rem; background: #fff2f1; color: #7a1b14; padding: .8rem; }
.login-feedback--error strong { font-size: .8rem; }.login-feedback--error span { font-size: .72rem; line-height: 1.45; }
.login-form [aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 .18rem rgba(180,35,24,.12); }
.field-error { display: block; margin-top: .3rem; color: #b42318 !important; font-size: .7rem !important; font-weight: 700; line-height: 1.35; }

/* Capital et rapports reconstruits autour des décisions métier. */
.capital-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.3rem; }.capital-page-header h1 { margin: 0; font-size: clamp(2rem,4vw,3rem); letter-spacing: -.05em; }.capital-page-header p:last-child { max-width: 42rem; color: #647184; }.capital-page-header > a { display: inline-flex; min-height: 44px; align-items: center; border-radius: .5rem; background: #1c476f; color: #fff; padding: .7rem 1rem; font-weight: 800; text-decoration: none; }
.financial-warning { display: flex; align-items: flex-start; gap: .85rem; margin: 1rem 0 1.25rem; border: 1px solid #edcf9c; border-left: 4px solid #b56508; border-radius: .7rem; background: #fff8eb; color: #704006; padding: 1rem; }.financial-warning > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: 50%; background: #b56508; color: #fff; font-weight: 900; place-items: center; }.financial-warning strong { font-size: .88rem; }.financial-warning p { margin: .3rem 0; font-size: .77rem; line-height: 1.5; }.financial-warning a { color: inherit; font-size: .75rem; font-weight: 850; }.financial-warning.compact { margin-top: 0; }
.capital-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1.2rem; border-radius: .9rem; background: linear-gradient(125deg,#10243e,#1c476f); color: #fff; padding: clamp(1.3rem,3vw,2rem); }.capital-hero > div { display: grid; align-content: center; gap: .4rem; }.capital-hero span { color: #b7ccdf; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.capital-hero > div > strong { font-size: clamp(2rem,5vw,3.5rem); letter-spacing: -.06em; }.capital-hero strong small { font-size: .35em; }.capital-hero p { max-width: 34rem; margin: 0; color: #d9e5ef; font-size: .78rem; line-height: 1.5; }.capital-hero dl { display: grid; margin: 0; border-left: 1px solid rgba(255,255,255,.18); padding-left: 1.5rem; }.capital-hero dl div { display: grid; align-content: center; gap: .25rem; border-bottom: 1px solid rgba(255,255,255,.12); }.capital-hero dl div:last-child { border-bottom: 0; }.capital-hero dt { color: #b7ccdf; font-size: .7rem; }.capital-hero dd { margin: 0; font-size: 1.15rem; font-weight: 850; }
.financial-equation,.daily-profit-panel,.capital-history,.report-filter-panel,.report-sales-list { margin-top: 1.25rem; border: 1px solid #dce4ec; border-radius: .8rem; background: #fff; padding: 1.2rem; }.financial-equation header h2,.daily-profit-panel h2,.capital-history h2,.report-filter-panel h2,.report-sales-list h2 { margin: 0; font-size: 1.05rem; }.financial-equation-grid { display: grid; grid-template-columns: repeat(4,minmax(8rem,1fr) auto) minmax(9rem,1.1fr); align-items: stretch; gap: .55rem; margin-top: 1rem; }.financial-equation-grid article { display: grid; align-content: center; gap: .3rem; min-height: 7.5rem; border: 1px solid #dce4ec; border-radius: .65rem; background: #f7f9fb; padding: .8rem; }.financial-equation-grid article > span { color: #647184; font-size: .68rem; }.financial-equation-grid article strong { font-size: 1.05rem; }.financial-equation-grid article small { color: #718096; font-size: .64rem; }.financial-equation-grid > i { align-self: center; color: #8a9aac; font-size: 1.2rem; font-style: normal; font-weight: 900; }.financial-equation-grid .is-incomplete { border-color: #edcf9c; background: #fff8eb; color: #8a4a05; }.financial-equation-grid .total { border-color: #1c476f; background: #1c476f; color: #fff; }.financial-equation-grid .total :is(span,small) { color: #d7e5f0; }
.daily-profit-panel > header,.capital-history > header,.report-sales-list > header,.report-filter-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.daily-profit-panel > header > span { border-radius: 2rem; padding: .35rem .6rem; font-size: .65rem; font-weight: 850; }.daily-profit-panel > header .complete { background: #e7f5eb; color: #247044; }.daily-profit-panel > header .incomplete { background: #fff0d9; color: #955400; }.daily-profit-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }.daily-profit-grid article { display: grid; gap: .35rem; border-left: 3px solid #8da9c0; background: #f7f9fb; padding: .9rem; }.daily-profit-grid span { color: #647184; font-size: .67rem; }.daily-profit-grid strong { font-size: .9rem; overflow-wrap: anywhere; }.daily-profit-grid .result { border-color: #247044; background: #f0faf3; }
.capital-actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }.capital-help { border: 1px solid #b8cde0; border-radius: .8rem; background: #f3f7fb; padding: 1.2rem; }.capital-help h2 { margin: 0; font-size: 1rem; }.capital-help p { color: #526579; font-size: .78rem; line-height: 1.55; }.capital-history > header > span,.report-sales-list > header > span { color: #647184; font-size: .7rem; }
.report-module-tabs { display: flex; gap: .3rem; overflow-x: auto; margin-bottom: 1rem; border-bottom: 1px solid #dce4ec; }.report-module-tabs :is(a,span) { min-height: 44px; flex: 0 0 auto; border-bottom: 2px solid transparent; color: #647184; padding: .7rem .8rem; font-size: .75rem; font-weight: 800; text-decoration: none; }.report-module-tabs a.is-active { border-color: #245d8c; color: #1c476f; }.report-module-tabs span { opacity: .65; }
.report-filter-panel { margin-top: 0; }.report-filter-panel > header span { border-radius: 2rem; background: #e7f0f8; color: #1c476f; padding: .35rem .6rem; font-size: .65rem; font-weight: 800; }.report-filter-panel header p { margin: .25rem 0 0; color: #647184; font-size: .72rem; }.report-filter-panel form { display: grid; grid-template-columns: repeat(3,minmax(9rem,1fr)) auto auto; align-items: end; gap: .75rem; margin-top: 1rem; }.report-filter-panel label { display: grid; gap: .3rem; color: #647184; font-size: .67rem; font-weight: 750; }.report-filter-panel :is(input,select) { min-height: 44px; border: 1px solid #cfd9e3; border-radius: .45rem; background: #fff; padding: .6rem; }.report-filter-panel button { min-height: 44px; border: 0; border-radius: .45rem; background: #1c476f; color: #fff; padding: .6rem .9rem; font-weight: 800; }.report-filter-panel form > a { display: inline-flex; min-height: 44px; align-items: center; color: #526579; font-size: .72rem; font-weight: 800; }
.report-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; margin-top: 1.2rem; }.report-summary-grid article { display: grid; gap: .3rem; min-height: 8.5rem; border: 1px solid #dce4ec; border-top: 3px solid #245d8c; border-radius: .7rem; background: #fff; padding: 1rem; }.report-summary-grid article > span { color: #647184; font-size: .68rem; }.report-summary-grid strong { font-size: 1.4rem; }.report-summary-grid strong small { font-size: .5em; }.report-summary-grid p { align-self: end; margin: 0; color: #718096; font-size: .66rem; }.report-summary-grid .warning { border-top-color: #b56508; }
.report-visual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.2rem; }.report-chart-card { border: 1px solid #dce4ec; border-radius: .8rem; background: #fff; padding: 1.2rem; }.report-chart-card h2 { margin: 0; font-size: 1rem; }.report-ranking { display: grid; gap: .85rem; margin-top: 1.2rem; }.report-ranking article div { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; }.report-ranking article > i { display: block; height: .5rem; overflow: hidden; margin-top: .35rem; border-radius: 1rem; background: #e8eef4; }.report-ranking em { display: block; height: 100%; border-radius: inherit; background: #245d8c; }.report-daily-bars { display: flex; height: 15rem; align-items: end; gap: .45rem; overflow-x: auto; margin-top: 1rem; }.report-daily-bars > div { display: grid; min-width: 2.2rem; height: 100%; grid-template-rows: 2rem 1fr 1.5rem; flex: 1; gap: .25rem; text-align: center; }.report-daily-bars b { overflow: hidden; font-size: .55rem; text-overflow: ellipsis; }.report-daily-bars i { position: relative; display: flex; align-items: end; justify-content: center; border-radius: .3rem; background: #f1f5f8; }.report-daily-bars em { width: 55%; min-height: 2px; border-radius: .2rem .2rem 0 0; background: #245d8c; }.report-daily-bars span { color: #647184; font-size: .55rem; }.report-sales-list footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .9rem; color: #647184; font-size: .7rem; }.report-sales-list footer a { color: #1c476f; font-weight: 850; }
.legacy-lots-panel { margin-top: 1rem; }.legacy-lots-panel > header p:last-child { color: #647184; font-size: .76rem; }.legacy-lot-list { display: grid; gap: .65rem; }.legacy-lot-form { display: grid; grid-template-columns: minmax(11rem,1.2fr) repeat(4,minmax(7rem,1fr)) auto; align-items: end; gap: .6rem; border-top: 1px solid #dce4ec; padding-top: .75rem; }.legacy-lot-form > div { display: grid; gap: .2rem; }.legacy-lot-form small { color: #647184; }.legacy-lot-form label { display: grid; gap: .25rem; color: #647184; font-size: .62rem; font-weight: 750; }.legacy-lot-form input { min-width: 0; min-height: 42px; border: 1px solid #cfd9e3; border-radius: .4rem; padding: .5rem; }.legacy-lot-form button { min-height: 42px; border: 0; border-radius: .4rem; background: #1c476f; color: #fff; padding: .5rem .8rem; font-weight: 800; }
@media (max-width:1100px) { .financial-equation-grid { grid-template-columns: 1fr; }.financial-equation-grid > i { justify-self: center; }.daily-profit-grid { grid-template-columns: repeat(2,1fr); }.legacy-lot-form { grid-template-columns: repeat(2,minmax(0,1fr)); }.legacy-lot-form > div { grid-column: 1/-1; } }
@media (max-width:760px) { .capital-page-header,.daily-profit-panel > header,.capital-history > header,.report-sales-list > header,.report-filter-panel > header { align-items: flex-start; flex-direction: column; }.capital-page-header > a { width: 100%; justify-content: center; }.capital-hero,.capital-actions-grid,.report-visual-grid { grid-template-columns: 1fr; }.capital-hero dl { border-top: 1px solid rgba(255,255,255,.18); border-left: 0; padding-top: 1rem; padding-left: 0; }.capital-hero dl div { min-height: 4rem; }.daily-profit-grid,.report-summary-grid { grid-template-columns: 1fr; }.report-filter-panel form,.legacy-lot-form { grid-template-columns: 1fr; }.report-sales-list footer { align-items: flex-start; flex-direction: column; } }
:is(input,select,textarea)[aria-invalid="true"] { border-color: #b42318 !important; box-shadow: 0 0 0 .18rem rgba(180,35,24,.12) !important; }
.system-error-page { min-width: 320px; background: #f3f7fb; color: #17202b; }.system-error-shell { display: grid; min-height: 100svh; padding: 1rem; place-items: center; }.system-error-shell section { width: min(100%,36rem); border: 1px solid #dce4ec; border-radius: 1rem; background: #fff; box-shadow: 0 1.2rem 3rem rgba(16,36,62,.12); padding: clamp(1.5rem,5vw,3rem); text-align: center; }.system-error-shell section > span { display: inline-grid; min-width: 3.2rem; height: 3.2rem; border-radius: 50%; background: #e7f0f8; color: #1c476f; font-weight: 900; place-items: center; }.system-error-shell section > p:first-of-type { margin: 1rem 0 .4rem; color: #245d8c; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.system-error-shell h1 { margin: 0; font-size: clamp(1.6rem,5vw,2.3rem); letter-spacing: -.04em; }.system-error-shell h1 + p { color: #647184; line-height: 1.6; }.system-error-shell a { display: inline-flex; min-height: 44px; align-items: center; border-radius: .5rem; background: #1c476f; color: #fff; padding: .7rem 1rem; font-weight: 800; text-decoration: none; }
.daily-step-nav { position: sticky; z-index: 8; top: 4.2rem; background: rgba(248,250,251,.96); padding: .6rem 0; backdrop-filter: blur(10px); }
.empty-state a, .table-empty-state a { display: inline-flex; min-height: 42px; align-items: center; margin-top: .6rem; color: #963615; font-weight: 800; }
.table-empty-state { display: grid; justify-items: center; gap: .25rem; padding: 1.5rem; text-align: center; }
.table-empty-state span { color: #71665f; }
.has-inventory-difference { background: #fff4ef; }
.has-inventory-difference [data-inventory-difference] { color: #a31515; font-weight: 900; }
.has-inventory-difference .inventory-note { border-color: #ba1a1a; box-shadow: 0 0 0 .15rem rgba(186,26,26,.1); }
.business-status { display: inline-flex; align-items: center; min-height: 2rem; border-radius: 999px; background: #e4e7e7; color: #4f5758; padding: .3rem .6rem; font-size: .75rem; font-weight: 800; }
.business-status--ordered { background: #fff0bd; color: #684d00; }
.business-status--received { background: #dff2e4; color: #28623a; }
.business-status--cancelled { background: #ffe2df; color: #951d18; }
.arrival-financial-preview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .55rem; margin: .2rem 0; }
.arrival-financial-preview div { border: 1px solid #e6c8bb; border-radius: .35rem; background: #fff8f4; padding: .7rem; }
.arrival-financial-preview dt { color: #71665f; font-size: .72rem; font-weight: 750; }
.arrival-financial-preview dd { margin: .25rem 0 0; color: #963615; font-size: .82rem; font-weight: 850; }
.report-period-banner { margin: 0 0 1.2rem; border-left: 4px solid #a43700; border-radius: .25rem; background: #fff3ed; color: #5d4035; padding: .85rem 1rem; font-size: .82rem; line-height: 1.55; }

@media (max-width: 760px) {
    .arrival-financial-preview { grid-template-columns: 1fr; }
    .daily-step-nav { top: 3.7rem; margin-inline: -1rem; padding-inline: 1rem; }
    .inventory-table-wrap { overflow: visible; }
    .inventory-register table, .inventory-register tbody, .inventory-register tr, .inventory-register td { display: block; width: 100%; min-width: 0; }
    .inventory-register thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .inventory-register tbody { display: grid; gap: 1rem; padding: 1rem; }
    .inventory-register tr { overflow: hidden; border: 1px solid #e4c9bf; border-radius: .55rem; background: #fff; box-shadow: 0 .35rem .8rem -.7rem rgba(35,28,24,.45); }
    .inventory-register td { display: grid; grid-template-columns: minmax(7.5rem, .8fr) minmax(0, 1.2fr); align-items: center; gap: .75rem; border-top: 1px solid #efe1dc; padding: .75rem 1rem; text-align: left !important; }
    .inventory-register td::before { color: #71665f; content: attr(data-label); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
    .inventory-register td:first-child { display: flex; padding-block: 1rem; background: #f1f3f3; }
    .inventory-register td:first-child::before { display: none; }
    .inventory-register td :is(input, output) { max-width: 100%; }
    .inventory-actions { position: sticky; z-index: 7; bottom: 0; border-top: 1px solid #e3bfb2; background: rgba(248,250,251,.97); padding: .65rem; }

    .cash-expenses-table { overflow: visible; }
    .cash-expenses table, .cash-expenses tbody, .cash-expenses tr, .cash-expenses td { display: block; width: 100%; min-width: 0; }
    .cash-expenses thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .cash-expenses tbody { display: grid; gap: 1rem; }
    .cash-expenses tr { border: 1px solid #dfc2b7; border-radius: .5rem; background: #fff; padding: .85rem; }
    .cash-expenses td { border: 0; border-bottom: 1px solid #eee2dd; padding: .65rem 0; }
    .cash-expenses td:nth-child(1)::before { content: "Vendeur : "; }
    .cash-expenses td:nth-child(2)::before { content: "Session : "; }
    .cash-expenses td:nth-child(3)::before { content: "Espèces attendues : "; }
    .cash-expenses td:nth-child(4)::before { content: "Dépenses : "; }
    .cash-expenses td:nth-child(5)::before { content: "À verser : "; }
    .cash-expenses td:nth-child(6)::before { display: block; margin-bottom: .4rem; content: "Stock théorique"; }
    .cash-expenses td::before { color: #71665f; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
    .cash-expenses td:last-child { border-bottom: 0; }
    .cash-form { display: grid; gap: .75rem; margin-top: .25rem; }
    .cash-form :is(input, select, textarea, button) { width: 100%; min-height: 44px; }
}

/* Priorité finale de l’écran public mobile. */
.auth-page .login-form :is(input, button),
.auth-page .public-login-trigger { min-height: 2.75rem; }
.auth-page :is(.login-form label, .login-form input, .login-form button, .login-options, .login-feedback, .public-availability) { line-height: 1.45; }
@media (max-width: 600px) {
    .auth-page .login-shell { display: block; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
    .auth-page .login-layout--with-availability { width: 100%; }
    .auth-page .public-login-trigger { display: inline-flex; width: calc(100% - 2rem); min-height: 3rem; margin: 1rem; border-radius: .625rem; font-size: 1rem; }
    .auth-page .public-availability__header,
    .auth-page .public-availability__legend,
    .auth-page .public-availability__table th,
    .auth-page .public-availability__table td { font-size: .8125rem; }
    .auth-page .public-availability__header p:last-child,
    .auth-page .public-availability__legend :is(p, dt, dd),
    .auth-page .public-stock-state :is(strong, small),
    .auth-page .public-brand :is(strong, small) { font-size: .75rem; line-height: 1.4; }
    .auth-page .login-card-content { padding: 1.5rem 1.125rem; }
    .auth-page .login-form input { min-height: 2.75rem; font-size: 1rem; }
}
