/* Shared working surfaces: identity, actions, grouped content, then history. */
.admin-workspace.onboarding-shell #scrollable_content {
    padding-top: 0;
}

.onboarding-shell .demo-notice {
    margin-bottom: 0;
    border-radius: 0;
    border-inline: 0;
    border-top: 0;
    padding: 0.5rem 1rem;
}

.onboarding-shell .onboarding-brandbar__inner {
    padding-block: 0.75rem;
}

.admin-workspace {
    --workspace-canvas: var(--muted);
    --workspace-surface: var(--card);
    --workspace-line: var(--border);
    --workspace-ink: var(--foreground);
    --workspace-muted: var(--muted-foreground);
    --workspace-accent: var(--primary);
    --workspace-accent-soft: var(--secondary);
    --workspace-radius: 12px;
    --workspace-gap: 20px;
    background: var(--workspace-canvas);
}

.dark .admin-workspace {
    --workspace-canvas: var(--muted);
    --workspace-surface: var(--card);
    --workspace-line: var(--border);
    --workspace-ink: var(--foreground);
    --workspace-muted: var(--muted-foreground);
    --workspace-accent: var(--primary);
    --workspace-accent-soft: var(--secondary);
}

.admin-workspace .admin-content-surface {
    background: var(--workspace-canvas);
    border: 0;
    border-radius: 0;
    margin-block: 0;
    margin-inline-end: 0;
}

.admin-workspace:not(.onboarding-shell) .admin-content-surface {
    padding-inline: clamp(1rem, 2.2vw, 2rem);
}

.admin-workspace #scrollable_content {
    padding-top: 24px;
    scroll-padding-block: 24px;
}

.admin-workspace .admin-page-content {
    padding-bottom: 24px;
}

.admin-workspace ::selection {
    background: var(--workspace-accent-soft);
    color: var(--workspace-ink);
}

.workspace-page-header {
    margin-bottom: var(--workspace-gap);
}

.workspace-page-header__surface {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--workspace-line);
    border-radius: var(--workspace-radius);
    background: var(--workspace-surface);
}

.workspace-page-header__identity,
.workspace-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.workspace-page-header__copy {
    min-width: 0;
}

.workspace-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 10px;
    background: var(--workspace-accent-soft);
    color: var(--workspace-accent);
    font-size: 20px;
}

.workspace-page-header__identity > .workspace-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    font-size: 24px;
}

.workspace-page-header__actions,
.workspace-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.workspace-page-header__actions:empty {
    display: none;
}

.admin-workspace .admin-content-surface h1 {
    color: var(--workspace-ink);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.35;
}

.admin-workspace .admin-page-subtitle {
    max-width: 75ch;
    color: var(--workspace-muted);
}

.workspace-card-subtitle {
    display: block;
    margin-top: 4px;
    color: var(--workspace-muted);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.workspace-collection__search {
    position: relative;
    flex: 1 1 220px;
    max-width: 400px;
}

.workspace-collection__search > svg {
    position: absolute;
    inset-inline-start: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--workspace-muted);
    pointer-events: none;
}

.workspace-empty {
    padding: 28px 20px;
    color: var(--workspace-muted);
    line-height: 1.65;
}

.workspace-empty strong {
    display: block;
    margin-bottom: 4px;
    color: var(--workspace-ink);
    font-weight: 600;
}

.workspace-form-section {
    min-width: 0;
    border: 0;
    padding: 0;
}

.workspace-form-section + .workspace-form-section {
    margin-top: 28px;
    border-top: 1px solid var(--workspace-line);
    padding-top: 24px;
}

.workspace-form-section > legend,
.workspace-form-section > .workspace-section-heading {
    float: left;
    width: 100%;
    margin-bottom: 16px;
    color: var(--workspace-ink);
    font-size: 1rem;
    font-weight: 650;
}

.workspace-form-section > legend + *,
.workspace-form-section > .workspace-section-heading + * {
    clear: both;
}

.workspace-form-fields {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.workspace-form-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.65fr);
    align-items: start;
    gap: 28px;
}

.workspace-form-aside {
    padding: 20px;
    border-radius: 8px;
    background: var(--workspace-canvas);
}

.workspace-form-columns > .workspace-form-section + .workspace-form-aside {
    margin-top: 0;
    border-top: 0;
    padding-top: 20px;
}

.workspace-form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 20px;
    border: 1px solid var(--workspace-line);
    border-radius: var(--workspace-radius);
    background: var(--workspace-surface);
}

.workspace-field-help {
    margin-top: 6px;
    color: var(--workspace-muted);
    font-size: 0.8125rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.workspace-media-actions:focus-within {
    opacity: 1;
}

.workspace-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--workspace-gap);
    align-items: start;
}

.workspace-stack {
    display: grid;
    min-width: 0;
    gap: var(--workspace-gap);
}

.workspace-contact {
    display: grid;
    gap: 12px;
    font-size: 0.875rem;
    overflow-wrap: anywhere;
}

.workspace-contact a:not([data-slot="button"]) {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.workspace-contact svg { color: var(--workspace-accent); }

.workspace-status-control {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--workspace-accent-soft);
    font-size: 0.8125rem;
}

.workspace-status-control > span { color: var(--workspace-muted); }
.workspace-status-control button { color: var(--workspace-accent); font-weight: 600; }
.workspace-order-actions { justify-content: flex-end; }
.workspace-total-divider { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--workspace-line); }

.workspace-item-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 64px;
    flex: 0 0 52px;
    margin-inline-end: 12px;
    border-radius: 6px;
    background: var(--workspace-canvas);
    color: var(--workspace-muted);
    font-size: 24px;
    overflow: hidden;
}

.workspace-item-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.workspace-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--workspace-gap);
}

.workspace-order-lines {
    display: grid;
    grid-template-columns: minmax(0, 2.3fr) minmax(260px, 1fr);
    gap: var(--workspace-gap);
    align-items: start;
}

/* Les lignes d'une facture en saisie prennent toute la largeur ; le récapitulatif passe dessous. */
.workspace-order-lines--stacked {
    grid-template-columns: minmax(0, 1fr);
}

.workspace-order-lines--stacked > :last-child {
    justify-self: end;
    width: min(100%, 24rem);
}

.billing-items [data-slot="table-cell"] {
    padding-block: 12px;
    vertical-align: top;
}

.billing-items :is([data-slot="input"], [data-slot="input-group"], [data-slot="combobox-trigger"], [data-slot="button"]) {
    height: 2.25rem;
}

.workspace-facts {
    display: grid;
    gap: 12px;
    margin: 0;
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
}

.workspace-facts > div {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 1.35fr);
    gap: 16px;
    line-height: 1.6;
}

.workspace-facts dt { color: var(--workspace-muted); }
.workspace-facts dd { margin: 0; overflow-wrap: anywhere; }
.workspace-totals > div { grid-template-columns: 1fr auto; }
.workspace-totals dd { text-align: end; font-weight: 600; }

.workspace-total {
    margin-top: 4px;
    padding: 12px;
    border-radius: 8px;
    background: var(--workspace-accent-soft);
    color: var(--workspace-ink);
    font-size: 1.125rem;
    font-weight: 700;
}

.workspace-total dt { color: inherit; }

.workspace-notice {
    border-radius: 8px;
    background: var(--workspace-canvas);
    color: var(--workspace-muted);
    padding: 14px 16px;
    font-size: 0.8125rem;
    line-height: 1.6;
}

.workspace-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 4px 0;
    list-style: none;
}

.workspace-flow li {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--workspace-muted);
    font-size: 0.8125rem;
}

.workspace-flow strong { display: block; font-weight: 600; }
.workspace-flow small { display: block; margin-top: 3px; font-size: 0.75rem; }
.workspace-flow .workspace-icon { color: var(--workspace-muted); background: var(--workspace-canvas); }
.workspace-flow .is-complete .workspace-icon { color: #08763e; background: #e6f8ed; }
.workspace-flow .is-current { color: var(--workspace-accent); }
.workspace-flow .is-current .workspace-icon { color: var(--workspace-accent); background: var(--workspace-accent-soft); }

.workspace-history {
    display: grid;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.workspace-history li {
    display: grid;
    grid-template-columns: 36px 100px 1fr;
    gap: 12px;
    align-items: start;
    font-size: 0.875rem;
}

.workspace-history time { color: var(--workspace-muted); font-size: 0.8125rem; }
.workspace-history > .workspace-notice { display: block; }

.admin-workspace :is(.rental-head:has(h1), .dashboard-page-heading, .inbox-heading) {
    padding: 20px;
    border: 1px solid var(--workspace-line);
    border-radius: var(--workspace-radius);
    background: var(--workspace-surface);
}

.admin-workspace :is(.rental-panel, .artisan-panel) {
    border-color: var(--workspace-line);
    box-shadow: none;
}

/* Onglets de l'outil ouvert, communs à tous les modules. */
.workspace-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--workspace-gap);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--workspace-line);
}

/* Seule la liste défile : le menu « Plus » reste hors de la zone rognée. */
.workspace-tabs__list {
    display: flex;
    flex: 0 1 auto;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.workspace-tabs__more {
    flex: none;
}

.workspace-tabs__list > a,
.workspace-tabs .workspace-tabs__more-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 8px;
    color: var(--workspace-muted);
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    transition: background-color 120ms ease-out, color 120ms ease-out;
}

.workspace-tabs__list > a:hover,
.workspace-tabs .workspace-tabs__more-trigger:hover,
.workspace-tabs .workspace-tabs__more-trigger[aria-expanded="true"] {
    background: var(--workspace-accent-soft);
    color: var(--workspace-ink);
}

.workspace-tabs__list > a[aria-current="page"] {
    background: var(--workspace-accent);
    color: var(--primary-foreground);
}

.workspace-tabs__list > a:focus-visible,
.workspace-mobile-nav a:focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
}

/* Les écrans en pleine hauteur retranchent la place prise par les onglets. */
.admin-workspace #main-content:has(> .workspace-tabs) {
    --workspace-tabs-offset: calc(53px + var(--workspace-gap));
}

/* Sommaires « Tous mes outils » et « Réglages ». */
.workspace-hub {
    display: flex;
    flex-direction: column;
    gap: var(--workspace-gap);
}

.workspace-hub .workspace-hub__search {
    flex: none;
    width: 100%;
    max-width: 30rem;
}

.workspace-hub__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.workspace-hub__grid > li {
    display: flex;
    min-width: 0;
}

.workspace-hub__entry {
    position: relative;
    flex-wrap: nowrap;
    align-items: flex-start;
    min-height: 76px;
    padding: 14px;
}

/* Le titre couvre toute la carte ; le bouton d'épinglage passe au-dessus. */
.workspace-hub__link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
}

.workspace-hub__entry:has(.workspace-hub__link:hover) {
    background: var(--muted);
}

.workspace-hub__entry:has(.workspace-hub__link:focus-visible) {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
}

.workspace-hub__link:focus-visible {
    outline: none;
}

.workspace-pin {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    margin-top: 6px;
}

.workspace-pin .workspace-pin__action {
    height: auto;
    min-height: 36px;
}

.workspace-pin__notice {
    flex-basis: 100%;
    color: var(--workspace-muted);
    font-size: 0.8125rem;
    line-height: 1.45;
}

.workspace-hub__customized {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    color: var(--workspace-muted);
}

.workspace-hub__pinned {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--workspace-muted);
    font-size: 0.75rem;
}

.workspace-hub__more {
    display: grid;
    gap: 10px;
    margin-top: var(--workspace-gap);
}

/* Barre du bas : réservée aux petits écrans, où la barre latérale est repliée. */
.workspace-mobile-nav {
    display: none;
}

@media (width < 48rem) {
    .workspace-mobile-nav {
        position: fixed;
        inset-inline: 0;
        bottom: 0;
        z-index: 30;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        padding-bottom: env(safe-area-inset-bottom);
        border-top: 1px solid var(--workspace-line);
        background: var(--workspace-surface);
    }

    .workspace-mobile-nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-height: 60px;
        padding: 8px 4px;
        color: var(--workspace-muted);
        font-size: 0.75rem;
        font-weight: 500;
        line-height: 1.2;
    }

    .workspace-mobile-nav a > span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Au doigt, le bouton d'épinglage garde une cible confortable. */
    .workspace-pin .workspace-pin__action {
        min-height: 44px;
    }

    .workspace-mobile-nav svg {
        width: 22px;
        height: 22px;
    }

    .workspace-mobile-nav a[aria-current="page"] {
        box-shadow: inset 0 2px 0 var(--workspace-accent);
        color: var(--workspace-ink);
        font-weight: 600;
    }

    /* Le contenu et les écrans en pleine hauteur laissent la place à la barre. */
    .admin-workspace:has(.workspace-mobile-nav) {
        --workspace-mobile-nav-offset: calc(61px + env(safe-area-inset-bottom));
    }

    .admin-workspace:has(.workspace-mobile-nav) #scrollable_content {
        padding-bottom: var(--workspace-mobile-nav-offset);
    }

    /* Une conversation ouverte occupe tout l'écran : ses onglets s'effacent. */
    .admin-workspace #main-content:has(.inbox-has-detail) {
        --workspace-tabs-offset: 0px;
    }

    .admin-workspace #main-content:has(.inbox-has-detail) > .workspace-tabs {
        display: none;
    }
}

@media (max-width: 80rem) {
    .workspace-order-lines { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 48rem) {
    .admin-workspace { --workspace-gap: 16px; }
    .admin-workspace #scrollable_content { padding-top: 16px; }
    .workspace-page-header__surface { padding: 16px; }
    .workspace-page-header__actions { width: 100%; }
    .workspace-page-header__actions > [data-slot="button"] { flex-grow: 1; justify-content: center; }
    .workspace-detail-grid, .workspace-contact-grid, .workspace-form-columns { grid-template-columns: minmax(0, 1fr); }
    .workspace-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-history li { grid-template-columns: 36px 1fr; }
    .workspace-history li > div:last-child { grid-column: 2; }
    .workspace-facts > div { gap: 12px; }
}

@media (hover: none) {
    .workspace-media-actions { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
}
