/* Règles communes chargées après les modules ; navigation et actions Pacha conservées. */
.backoffice .workspace-main a:where(:not(.action-button,.public-site,.filter-chip,.agenda-event,.icon-button,.stat-card,.metric-card,.billing-kpi,.status-badge,.pagination a,.agenda-views a,.period-tabs a,.billing-tabs a)),
.workflow-dialog .workflow-card a:where(:not(.action-button,.status-badge)),
.activation-page a:where(:not(.action-button)){
    color:var(--link);
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.backoffice .workspace-main a:where(:not(.action-button,.public-site,.filter-chip,.agenda-event,.icon-button,.stat-card,.metric-card,.billing-kpi,.status-badge,.pagination a,.agenda-views a,.period-tabs a,.billing-tabs a)):hover,
.workflow-dialog .workflow-card a:where(:not(.action-button,.status-badge)):hover,
.activation-page a:where(:not(.action-button)):hover{color:var(--link-hover);text-decoration-thickness:2px}
.backoffice .workspace-main a:focus-visible,.workflow-dialog a:focus-visible{outline-color:var(--link)}
.backoffice .workspace-main .table-action{background:var(--link-soft);color:var(--link);border-color:var(--line)}
.backoffice .workspace-main .table-action:hover{background:var(--link-soft);border-color:var(--link)}
.backoffice .workspace-main :is(.stat-card,.metric-card,.billing-kpi)[href]{color:var(--ink)}
.backoffice :is(.stat-card,.metric-card,.billing-kpi)[href] :is(.stat-label,.metric-label),
.backoffice .billing-kpi[href]>span{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.backoffice .metric-card[href] .metric-top>span{text-decoration:underline;text-underline-offset:3px}
.backoffice .metric-card[href]:not(.metric-coral) .metric-top>span{color:var(--link)}
.backoffice :is(.stat-card,.metric-card,.billing-kpi)[href]:focus-visible{outline-color:var(--link)}
.backoffice .users-table th a svg{color:var(--link)}

.status-badge{
    display:inline-flex;align-items:center;justify-content:center;gap:5px;
    max-width:100%;min-width:0;padding:4px 8px;border-radius:20px;
    font-size:11px;font-weight:600;line-height:1.5;vertical-align:middle;white-space:nowrap;
    background:var(--status-neutral-bg);color:var(--status-neutral);
}
.status-badge>svg{flex:none}
.status-badge-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-badge.status-info{background:var(--status-info-bg);color:var(--status-info)}
.status-badge.status-success{background:var(--status-success-bg);color:var(--status-success)}
.status-badge.status-warning{background:var(--status-warning-bg);color:var(--status-warning)}
.status-badge.status-danger{background:var(--status-danger-bg);color:var(--status-danger)}
.status-badge.status-neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}
.backoffice .directory-table .status-link{overflow:visible}
.backoffice .workspace-main a.status-link{text-decoration:none}
.status-link .status-badge::after{content:'›';font-size:14px;line-height:1;flex:none}
.status-link:hover .status-badge-label{text-decoration:underline;text-underline-offset:2px}
.backoffice .directory-table .status-link:focus-visible{outline-offset:2px;border-radius:20px}
.backoffice .access-pill{background:var(--status-neutral-bg);color:var(--status-neutral)}
.backoffice .access-pill.allowed{background:var(--status-success-bg);color:var(--status-success)}
.backoffice :is(.role-pill,.role-badge){background:var(--status-neutral-bg);color:var(--status-neutral)}
.backoffice .role-pill.admin-role{background:var(--blush);color:#903a23}
.backoffice .flash-success,.workflow-dialog .flash-success{background:var(--status-success-bg);color:var(--status-success)}
.backoffice .form-errors,.workflow-dialog .form-errors{background:var(--status-danger-bg);color:var(--status-danger)}
.backoffice .field-error,.workflow-dialog .field-error{color:var(--status-danger)}
.backoffice .demo-notice{background:var(--status-info-bg);color:var(--status-info);border-color:var(--status-info)}
.urgency-badge{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:20px;padding:4px 8px;background:var(--status-danger-bg);color:var(--status-danger);font-size:11px;font-weight:600;white-space:nowrap}
.urgency-marker{background:var(--status-danger-bg);color:var(--status-danger)}
.is-urgent,.agenda-event-urgent{border-left-color:var(--status-danger)}
.planning-uncertain{background:var(--status-warning-bg);color:var(--status-warning)}

.backoffice .agenda-event{background:var(--blush);border-left-color:var(--status-info);color:var(--link);white-space:normal}
.backoffice .agenda-event:hover{background:var(--peach);color:var(--link-hover)}
.backoffice .agenda-event-name{text-decoration:underline;text-underline-offset:3px}
.backoffice .agenda-event-vet{color:var(--status-neutral)}
.backoffice .agenda-event-status{display:flex;align-items:center;gap:5px;min-width:0;margin-top:5px}
.backoffice .agenda-event .status-badge{justify-content:flex-start;font-size:10px;padding:2px 5px;max-width:100%}
.backoffice .agenda-event-urgent{border-left-color:var(--status-danger)}
.backoffice .agenda-event[data-status=completed]{border-left-color:var(--status-success)}
.backoffice .agenda-event[data-status=refused]{border-left-color:var(--status-danger)}
.backoffice .agenda-event[data-status=review]{border-left-color:var(--status-warning)}
.backoffice .agenda-event[data-status=completed].agenda-event-urgent{border-left-color:var(--status-danger)}
.backoffice .timeline-event time{color:var(--ink)}
.backoffice .billing-state-line{display:flex;align-items:center;gap:6px;min-width:0}
.backoffice .billing-state-line>.status-badge{flex-shrink:0}
.backoffice .billing-state-date{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--status-neutral);white-space:nowrap}
.assignment-missing select{border-color:var(--status-warning);background:var(--status-warning-bg);color:var(--status-warning)}
.invitation-expiry{display:block;margin-top:5px;color:var(--status-neutral);font-size:11px}
.backoffice .workspace-main .client-call-list>a{text-decoration:none}
.backoffice .client-call-list>a strong{text-decoration:underline;text-underline-offset:3px}
.workflow-card .client-details{min-width:0;margin:0;padding:0}
.workflow-card .client-details>div{padding:10px 0}
.workflow-card .client-details dt{font-size:12px;color:var(--status-neutral)}
.workflow-card .client-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.workflow-dialog>header [data-workflow-close]{width:auto;min-width:44px;min-height:44px;padding:6px;white-space:nowrap}
.backoffice .surface-heading:has(>.status-badge){flex-wrap:wrap}
@media(pointer:coarse){
    .status-link{min-height:44px;display:inline-flex!important;align-items:center}
    .backoffice .directory-table td:has(>.status-link){padding-top:2px;padding-bottom:2px}
}
@media(max-width:550px){
    .agenda-controls{flex-wrap:wrap;justify-content:flex-start;gap:10px;min-width:0;max-width:100%}
    .agenda-views{max-width:100%}
    .agenda-views a{padding:10px 17px}
}
