.vat-month-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    margin-bottom: 14px;
    padding: 8px;
    border: 1px solid #dbe6ee;
    border-radius: 10px;
    background: #f7fafc;
}

.vat-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.vat-kpi {
    position: relative;
    overflow: hidden;
    min-height: 86px;
    padding: 13px 15px;
    border: 1px solid #dbe6ee;
    box-shadow: 0 5px 14px rgba(15, 39, 66, .05);
}

.vat-kpi::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    content: '';
    background: #2f7cab;
}

.vat-kpi-collected::before { background: #168a67; }
.vat-kpi-deductible::before { background: #c27818; }
.vat-kpi-cash-in::before { background: #0f766e; }
.vat-kpi-cash-out::before { background: #b45309; }
.vat-kpi-due::before { background: #bd4b4b; }
.vat-kpi-credit::before { background: #168a67; }
.vat-kpi-carry::before { background: #64748b; }

.vat-kpi strong {
    display: block;
    margin: 6px 0 3px;
    color: #172f47;
    font-size: 19px;
    line-height: 1.12;
}

.vat-net-positive strong {
    color: #168a67;
}

.vat-net-negative strong {
    color: #bd4b4b;
}

.vat-kpi span {
    font-size: 11px;
}

.vat-kpi small {
    color: #718395;
    font-size: 10px;
}

.vat-carry-forward-card {
    margin-bottom: 14px;
    border: 1px solid #dbe6ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 39, 66, .04);
}

.vat-carry-forward-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 180px auto;
    gap: 14px;
    align-items: end;
    padding: 18px;
}

.vat-carry-forward-form h2 {
    margin: 0 0 4px;
    color: #172f47;
    font-size: 17px;
}

.vat-carry-forward-form p {
    margin: 0;
    color: #718395;
    font-size: 12px;
}

.vat-carry-forward-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #52677b;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.vat-carry-forward-form input {
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #ccd9e3;
    border-radius: 7px;
}

.vat-view-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 14px;
    padding: 6px;
    border: 1px solid #dbe6ee;
    border-radius: 10px;
    background: #f7fafc;
}

.vat-view-tabs a {
    padding: 9px 14px;
    border-radius: 7px;
    color: #52677b;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: all .2s ease;
}

.vat-view-tabs a:hover {
    background: rgba(15, 39, 66, .03);
    color: #172f47;
}

.vat-view-tabs a.active {
    background: #fff;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .08);
    color: #172f47;
}

.vat-history-card {
    padding: 20px;
    border: 1px solid #dbe6ee;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
    box-shadow: 0 10px 22px rgba(15, 39, 66, .05);
}

.vat-history-card .section-title {
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e6edf3;
}

.vat-history-card .section-title h2 {
    margin: 0 0 6px;
    color: #14344f;
    font-size: 20px;
}

.vat-history-card .section-title p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}

.vat-history-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
    padding: 18px;
    border: 1px solid #e1ebf3;
    border-radius: 12px;
    background: #f9fbfd;
}

.vat-history-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.vat-history-grid label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #52677b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.vat-history-grid input,
.vat-carry-forward-form input,
.vat-history-form .btn {
    min-height: 42px;
    border: 1px solid #ccd9e3;
    border-radius: 8px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.vat-history-grid input {
    padding: 0 12px;
    background: #fff;
    color: #14344f;
    font-size: 14px;
}

.vat-history-grid input:focus,
.vat-carry-forward-form input:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}

.vat-history-form .btn {
    align-self: flex-start;
    padding: 0 18px;
    border-color: #0f6bbd;
    background: linear-gradient(135deg, #0f6bbd 0%, #0b5ea6 100%);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.vat-history-form .btn:hover {
    filter: brightness(1.03);
}

.vat-history-table-wrap {
    overflow-x: auto;
    border: 1px solid #e2eaf0;
    border-radius: 10px;
    background: #fff;
}

.vat-history-table {
    width: 100%;
    border-collapse: collapse;
}

.vat-history-table th,
.vat-history-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #eaf0f5;
    text-align: left;
    vertical-align: middle;
}

.vat-history-table th {
    background: #f3f7fa;
    color: #52677b;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vat-history-table td {
    color: #17324c;
    font-size: 13px;
}

.vat-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.vat-history-table tbody tr:hover td {
    background: #f7fbff;
}

.vat-month-grid .table-wrap,
.vat-ledger-tabs .table-wrap {
    overflow: hidden;
    border: 1px solid #dbe6ee;
    box-shadow: 0 7px 18px rgba(15, 39, 66, .05);
}

.vat-month-grid table,
.vat-ledger-tabs table { min-width: 680px; }
.vat-month-grid thead th,
.vat-ledger-tabs thead th { background: #f1f6f9; color: #52677b; }
.vat-month-grid tbody tr:hover td,
.vat-ledger-tabs tbody tr:hover td { background: #f7fbfd; }
.vat-month-grid td:nth-child(4),
.vat-ledger-tabs td:nth-child(4) { color: #0f5685; font-weight: 800; }

@media (max-width: 760px) {
    .vat-kpis { grid-template-columns: 1fr; }
    .vat-view-tabs { flex-wrap: wrap; }
    .vat-history-grid { grid-template-columns: 1fr; }
    .vat-history-form .btn { width: 100%; justify-content: center; }
    .finance-page-head { padding: 16px 18px; }
    .finance-page-head h1 { font-size: 22px; }
}

@media (max-width: 900px) {
    .vat-carry-forward-form { grid-template-columns: 1fr; }
    .vat-carry-forward-form .btn { width: 100%; justify-content: center; }
}

.vat-month-tabs a {
    flex: 0 0 auto;
    padding: 8px 13px;
    border: 1px solid #d7e2eb;
    border-radius: 7px;
    color: #52677b;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
    transition: all .18s ease;
}

.vat-month-tabs a:hover,
.vat-month-tabs a.active {
    border-color: #2f7cab;
    background: #eaf4f9;
    color: #0f5685;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .06);
}

.vat-month-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.vat-month-grid .section-title {
    padding: 14px 16px;
    border-bottom: 1px solid #e2eaf0;
}

.vat-ledger-tabs {
    display: grid;
    gap: 14px;
    padding: 14px;
    border: 1px solid #dbe6ee;
}

.vat-ledger-tabs > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vat-ledger-tab-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 5px;
    border: 1px solid #d7e2eb;
    border-radius: 10px;
    background: #f4f8fb;
}

.vat-ledger-tab-list label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 7px;
    color: #52677b;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.vat-ledger-tab-list strong {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #e0eaf1;
    font-size: 11px;
}

#vat-tab-encaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-encaissements"],
#vat-tab-decaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-decaissements"],
#vat-tab-especes:checked ~ .vat-ledger-tab-list label[for="vat-tab-especes"] {
    background: #fff;
    color: #0f5685;
    box-shadow: 0 4px 14px rgba(15, 39, 66, .09);
}

#vat-tab-encaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-encaissements"] strong,
#vat-tab-decaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-decaissements"] strong,
#vat-tab-especes:checked ~ .vat-ledger-tab-list label[for="vat-tab-especes"] strong {
    background: #eaf4f9;
    color: #0f5685;
}

.vat-ledger-panel {
    display: none;
}

#vat-tab-encaissements:checked ~ .vat-ledger-panel-encaissements,
#vat-tab-decaissements:checked ~ .vat-ledger-panel-decaissements,
#vat-tab-especes:checked ~ .vat-ledger-panel-especes {
    display: block;
}

.vat-ledger-panel .section-title {
    padding: 14px 16px;
    border-bottom: 1px solid #e2eaf0;
}

.vat-exclude-form,
.vat-rate-form {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.vat-exclude-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #bd4b4b;
    cursor: pointer;
}

.vat-rate-form select {
    min-width: 76px;
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid #c8d6e1;
    border-radius: 6px;
    background: #fff;
    color: #12344d;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.vat-row-excluded td {
    background: #f8fafc;
    color: #94a3b8;
}

.vat-row-excluded td:not(:first-child) {
    text-decoration: line-through;
}

@media (max-width: 900px) {
    .vat-month-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .vat-ledger-tabs { padding: 10px; }
    .vat-ledger-tab-list { grid-template-columns: 1fr; }
    .vat-rate-form select { width: 100%; }
}

.finance-page-head {
    margin-bottom: 16px;
    padding: 18px 20px;
    border: 1px solid #d9e5ee;
    border-radius: 12px;
    background: linear-gradient(135deg, #f8fbfd 0%, #edf6fb 100%);
    box-shadow: 0 8px 20px rgba(15, 39, 66, .04);
}

.finance-page-head .eyebrow {
    display: inline-block;
    margin-bottom: 6px;
    color: #0d6b9d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.finance-page-head h1 {
    margin: 3px 0 6px;
    color: #14344f;
    font-size: 25px;
    line-height: 1.15;
    letter-spacing: 0;
}

.finance-page-head p {
    max-width: 760px;
    margin: 0;
    color: #60758a;
    font-size: 12px;
}

.finance-page-head .eyebrow {
    color: #1c789f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.period-panel:has(form[action="/finance/vat"]),
.vat-carry-forward-card,
.vat-month-tabs,
.vat-ledger-tabs {
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(15, 39, 66, .045);
}

.period-panel:has(form[action="/finance/vat"]) {
    margin-bottom: 10px;
    padding: 12px 14px;
}

.period-panel:has(form[action="/finance/vat"]) .filter-form {
    align-items: end;
    gap: 10px;
}

.period-panel:has(form[action="/finance/vat"]) label {
    color: #52677b;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.period-panel:has(form[action="/finance/vat"]) input {
    min-height: 38px;
    border-radius: 6px;
}

.period-panel:has(form[action="/finance/vat"]) .btn {
    min-height: 38px;
    border-radius: 6px;
}

.vat-carry-forward-card {
    padding: 13px 15px;
    background: #fbfdff;
}

.vat-carry-forward-form {
    grid-template-columns: minmax(240px, 1fr) 150px auto;
    gap: 10px;
}

.vat-carry-forward-form h2 {
    font-size: 15px;
}

.vat-carry-forward-form input {
    min-height: 36px;
}

.vat-carry-forward-form .btn {
    min-height: 36px;
    border-radius: 6px;
}

.vat-month-tabs {
    margin-bottom: 12px;
    padding: 6px;
    border: 1px solid #dbe6ee;
    background: #f7fafc;
}

.vat-month-tabs a {
    min-height: 32px;
    padding: 0 11px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 850;
}

.vat-month-tabs a.active {
    background: #fff;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .08);
}

.vat-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(145px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.vat-kpi {
    min-height: 78px;
    padding: 11px 12px 10px 14px;
    border-radius: 9px;
    background: #fff;
}

.vat-kpi::before {
    width: 3px;
}

.vat-kpi span {
    color: #5c7185;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.vat-kpi strong {
    margin: 5px 0 2px;
    font-size: 17px;
}

.vat-kpi small {
    display: block;
    overflow: hidden;
    color: #7b8fa1;
    font-size: 9px;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.vat-ledger-tabs {
    padding: 12px;
    border-color: #d7e4ed;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.vat-ledger-tab-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    border: 1px solid #d8e5ee;
    border-radius: 11px;
    background: #eef5f8;
}

.vat-ledger-tab-list label {
    position: relative;
    justify-content: space-between;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #60758a;
    font-size: 12px;
    letter-spacing: .01em;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.vat-ledger-tab-list label::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #94a3b8;
}

.vat-ledger-tab-list label[for="vat-tab-encaissements"]::before {
    background: #168a67;
}

.vat-ledger-tab-list label[for="vat-tab-decaissements"]::before {
    background: #c27818;
}

.vat-ledger-tab-list label[for="vat-tab-especes"]::before {
    background: #2563a6;
}

.vat-ledger-tab-list strong {
    min-width: 28px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: #475569;
    font-size: 11px;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .24);
}

#vat-tab-encaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-encaissements"] {
    border-color: #b7dfd1;
    background: #ffffff;
    color: #11664d;
    box-shadow: 0 7px 18px rgba(22, 138, 103, .12);
}

#vat-tab-decaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-decaissements"] {
    border-color: #f0d5ae;
    background: #ffffff;
    color: #8a520f;
    box-shadow: 0 7px 18px rgba(194, 120, 24, .13);
}

#vat-tab-especes:checked ~ .vat-ledger-tab-list label[for="vat-tab-especes"] {
    border-color: #c7d9ee;
    background: #ffffff;
    color: #205889;
    box-shadow: 0 7px 18px rgba(37, 99, 166, .13);
}

#vat-tab-encaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-encaissements"] strong {
    background: #e7f7f0;
    color: #11664d;
}

#vat-tab-decaissements:checked ~ .vat-ledger-tab-list label[for="vat-tab-decaissements"] strong {
    background: #fff2dc;
    color: #8a520f;
}

#vat-tab-especes:checked ~ .vat-ledger-tab-list label[for="vat-tab-especes"] strong {
    background: #e7f0fb;
    color: #205889;
}

.vat-ledger-tabs .table-wrap {
    border-radius: 8px;
}

.vat-ledger-panel .section-title {
    padding: 11px 13px;
}

.vat-ledger-panel .section-title h2 {
    margin: 0;
    color: #17324d;
    font-size: 16px;
}

.vat-ledger-panel .section-title p {
    margin: 3px 0 0;
    color: #718395;
    font-size: 11px;
}

.vat-ledger-tabs table {
    min-width: 840px;
}

.vat-ledger-tabs th {
    padding: 9px 10px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
}

.vat-ledger-tabs td {
    padding: 9px 10px;
    font-size: 11px;
}

.vat-exclude-form input[type="checkbox"] {
    width: 17px;
    height: 17px;
}

.vat-rate-form select {
    min-width: 68px;
    min-height: 29px;
    border-radius: 5px;
    font-size: 11px;
}

@media (max-width: 1180px) {
    .vat-kpis { grid-template-columns: repeat(6, minmax(145px, 1fr)); }
}

@media (max-width: 680px) {
    .finance-page-head { padding: 15px; }
    .finance-page-head h1 { font-size: 21px; }
    .vat-kpis { grid-template-columns: repeat(6, minmax(145px, 1fr)); }
}
:root {
    --blue: #2563eb;
    --blue-dark: #1d4ed8;
    --green: #16a34a;
    --red: #dc2626;
    --orange: #f59e0b;
    --violet: #7c3aed;
    --ink: #0f172a;
    --muted: #64748b;
    --line: #e2e8f0;
    --bg: #f8fafc;
    --card: #ffffff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
}

a {
    color: inherit;
}

.layout {
    min-height: 100vh;
}

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 230px;
    padding: 22px 16px;
    background: #0f172a;
    color: #fff;
    display: flex;
    flex-direction: column;
}

.brand,
.login-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand {
    margin-bottom: 28px;
}

.brand-mark {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--blue);
    color: #fff;
    font-weight: 800;
}

.brand strong {
    display: block;
    font-size: 18px;
}

.brand small {
    display: block;
    margin-top: 2px;
    color: #94a3b8;
    font-size: 12px;
}

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sidebar nav a {
    padding: 11px 12px;
    border-radius: 9px;
    color: #cbd5e1;
    text-decoration: none;
}

.sidebar nav a:hover,
.sidebar nav a.active {
    background: #1e293b;
    color: #fff;
}

.sidebar-spacer {
    flex: 1;
}

.user-box {
    padding-top: 18px;
    border-top: 1px solid #334155;
}

.user-box strong,
.user-box small {
    display: block;
}

.user-box small {
    margin: 4px 0 12px;
    color: #94a3b8;
}

.user-box button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #cbd5e1;
    cursor: pointer;
}

.content {
    margin-left: 230px;
    padding: 24px;
}

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.topbar h1 {
    margin: 0;
    font-size: 26px;
}

.btn {
    display: inline-block;
    padding: 10px 14px;
    border: 0;
    border-radius: 9px;
    text-decoration: none;
    cursor: pointer;
    font: inherit;
}

.btn.primary {
    background: var(--blue);
    color: #fff;
}

.btn.primary:hover {
    background: var(--blue-dark);
}

.btn.secondary {
    background: #fff;
    color: var(--ink);
    border: 1px solid var(--line);
}

.btn.danger {
    background: #fee2e2;
    color: #991b1b;
}

section[id] {
    scroll-margin-top: 140px;
}

.full-width {
    width: 100%;
}

.card {
    padding: 18px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
}

.kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.kpi span {
    color: var(--muted);
}

.kpi strong {
    display: block;
    margin-top: 8px;
    font-size: 22px;
}

.grid-2 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 14px;
    margin-top: 14px;
}

.alert {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 9px;
}

.alert.success {
    background: #dcfce7;
    color: #166534;
}

.alert.danger {
    background: #fee2e2;
    color: #991b1b;
}

.page-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.search-form,
.filter-form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.finance-invoice-actions{align-items:stretch;gap:14px;padding:10px 12px;border:1px solid #dce7f2;border-radius:14px;background:#f8fbff}
.finance-invoice-tabs{flex:0 0 290px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px;border-radius:10px}
.finance-invoice-filter{flex:1;display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.25fr) minmax(110px,.7fr) minmax(110px,.7fr) auto auto;gap:8px}
.finance-invoice-filter input,.finance-invoice-filter select{min-width:0;height:42px;border:1px solid #d5e0ec;border-radius:9px;background:#fff;color:#18324d;padding:0 11px;font-weight:600}
.finance-invoice-filter input:focus,.finance-invoice-filter select:focus{outline:3px solid rgba(33,150,243,.16);border-color:#5aa8ee}
.finance-invoice-filter .btn{height:42px;white-space:nowrap}
.finance-invoice-actions > .btn{height:42px;align-self:center;white-space:nowrap}
@media(max-width:1180px){.finance-invoice-actions{flex-wrap:wrap}.finance-invoice-tabs{flex:1 1 280px}.finance-invoice-filter{flex:1 1 100%}.finance-invoice-actions>.btn{margin-left:auto}}
@media(max-width:760px){.finance-invoice-actions{display:grid;padding:8px}.finance-invoice-tabs,.finance-invoice-filter{width:100%}.finance-invoice-filter{grid-template-columns:1fr 1fr}.finance-invoice-filter input{grid-column:span 2}.finance-invoice-filter .btn,.finance-invoice-filter a{width:100%;justify-content:center}.finance-invoice-actions>.btn{width:100%;margin:0;justify-content:center}}
@media(max-width:430px){.finance-invoice-filter{grid-template-columns:1fr}.finance-invoice-filter input{grid-column:auto}}

.table-wrap {
    overflow: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
}

th {
    color: var(--muted);
    font-size: 12px;
}

.empty-cell {
    padding: 28px;
    text-align: center;
    color: var(--muted);
}

.form-card {
    max-width: 1050px;
}

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

.form-section h2 {
    margin: 0 0 14px;
}

.quote-live-total {
    margin-top: 26px;
    padding: 18px 20px;
    border: 1px solid #cfe0ea;
    border-radius: 10px;
    background: #f3f9fc;
}

.quote-live-total-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d9e8ef;
}

.quote-live-total-heading h2 {
    margin: 0;
    color: #174b6b;
    font-size: 16px;
}

.quote-live-total-heading p {
    margin: 4px 0 0;
    color: #6d8290;
    font-size: 12px;
}

.quote-live-total-heading > strong {
    color: #176943;
    font-size: 22px;
    white-space: nowrap;
}

.quote-live-total-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding-top: 14px;
}

.quote-live-total-grid div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.quote-live-total-grid span {
    color: #6d8290;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.quote-live-total-grid strong {
    color: #24465a;
    font-size: 15px;
}

@media (max-width: 640px) {
    .quote-live-total-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .quote-live-total-heading > strong {
        font-size: 20px;
    }

    .quote-live-total-grid {
        grid-template-columns: 1fr;
    }
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
}

input,
select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}
.fleet-filter-check {
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.fleet-filter-check input {
    width: 15px;
    height: 15px;
    margin: 0;
    padding: 0;
    accent-color: #0f766e;
}

.model-edit-form {
    max-width: 1180px;
}

.model-edit-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}

.model-edit-head h2 {
    margin: 0;
}

.model-edit-head p {
    margin: 6px 0 0;
    color: var(--muted);
}

.model-edit-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.model-edit-flag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 800;
}

.model-edit-flag.ok {
    background: #dcfce7;
    color: #166534;
}

.model-edit-flag.hot {
    background: #ffedd5;
    color: #9a3412;
}

.model-edit-flag.off {
    background: #e2e8f0;
    color: #334155;
}

.model-edit-layout {
    display: grid;
    gap: 12px;
}

.model-edit-section {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    background: #fafcff;
}

.model-edit-section h3 {
    margin: 0 0 10px;
    font-size: 14px;
    color: #1e293b;
}

.model-accessories-section {
    border-color: #fed7aa;
    background: linear-gradient(135deg, #fffaf5 0%, #fff 100%);
}

.model-accessories-section h3 {
    color: #9a3412;
}

.included-accessories-picker,
.included-accessories-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    gap: 12px;
    width: 100%;
}

.included-accessory-option,
.included-accessories-grid label {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-height: 58px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.included-accessory-image {
    display: block;
    width: 58px;
    height: 58px;
    margin: 0 auto 2px;
    object-fit: cover;
    border-radius: 14px;
}

.included-accessory-copy {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.included-accessory-copy > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.included-accessory-option:focus-within,
.included-accessories-grid label:focus-within {
    outline: 3px solid rgba(249, 115, 22, .24);
    outline-offset: 2px;
}

.included-accessory-option:hover,
.included-accessories-grid label:hover {
    border-color: #fdba74;
    background: #fff7ed;
    transform: translateY(-1px);
}

.included-accessory-option:has(input:checked),
.included-accessories-grid label:has(input:checked) {
    border-color: #f97316;
    background: #fff7ed;
    color: #9a3412;
    box-shadow: 0 5px 14px rgba(249, 115, 22, .14);
}

.included-accessory-option input,
.included-accessories-grid input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.included-accessory-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: transparent;
    font-size: 13px;
    font-weight: 900;
}

.included-accessory-option:has(input:checked) .included-accessory-check,
.included-accessories-grid label:has(input:checked)::before {
    border-color: #f97316;
    background: #f97316;
    color: #fff;
}

.included-accessories-grid label::before {
    content: '✓';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: transparent;
    font-size: 13px;
    font-weight: 900;
}

.included-accessories-hint {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 980px) {
    .included-accessories-picker,
    .included-accessories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .included-accessories-picker,
    .included-accessories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 380px) {
    .included-accessories-picker,
    .included-accessories-grid {
        grid-template-columns: 1fr;
    }
}

.section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.section-title h2 {
    margin: 0;
}

.section-title p {
    margin: 4px 0 0;
    color: var(--muted);
}

.model-line {
    display: grid;
    grid-template-columns: 2fr .55fr .8fr .65fr .8fr auto;
    gap: 9px;
    margin-bottom: 9px;
}

.model-line-subtotal {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    background: #f8fafc;
    color: #17324a;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.status,
.activity-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.status.confirmed {
    background: #dbeafe;
    color: #1d4ed8;
}

.status.in_progress {
    background: #dcfce7;
    color: #15803d;
}

.status.cancelled {
    background: #fee2e2;
    color: #b91c1c;
}

.activity-chip.rental {
    background: #eff6ff;
    color: var(--blue-dark);
}

.activity-chip.tour {
    background: #f3e8ff;
    color: var(--violet);
}

.timeline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.timeline-item {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.timeline-item strong,
.timeline-item span,
.timeline-item small {
    display: block;
}

.timeline-item span,
.timeline-item small,
.muted {
    color: var(--muted);
}

.stats-list {
    display: grid;
    gap: 10px;
}

.stats-list > div {
    display: flex;
    justify-content: space-between;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.legend {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 12px;
}

.legend-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 5px;
    border-radius: 999px;
}

.legend-dot.location,
.legend-dot.confirmed {
    background: var(--blue);
}

.legend-dot.tour {
    background: var(--violet);
}

.legend-dot.in-progress {
    background: var(--green);
}

.planning {
    overflow: auto;
}

.planning-header,
.planning-row {
    display: grid;
    grid-template-columns: 280px minmax(980px, 1fr);
}

.planning-header {
    background: #f8fafc;
    border-bottom: 1px solid var(--line);
}

.planning-header > div {
    padding: 12px;
}

.days,
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(var(--planning-range, 14), minmax(var(--planning-day-width, 1fr), 1fr));
}

.days span {
    padding: 5px;
    border-left: 1px solid var(--line);
    text-align: center;
    font-size: 11px;
    color: var(--muted);
}

.days strong {
    display: block;
    margin-top: 3px;
    color: var(--ink);
    font-size: 12px;
}

.planning-row {
    min-height: 90px;
    border-bottom: 1px solid var(--line);
}

.model-cell {
    padding: 14px;
}

.capacity-bar {
    height: 8px;
    margin: 12px 0 5px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.capacity-bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--green);
}

.calendar-grid {
    position: relative;
    background-image: linear-gradient(to right, var(--line) 1px, transparent 1px);
    background-size: calc(100% / 14) 100%;
}

.booking-card {
    position: absolute;
    top: 18px;
    height: 54px;
    padding: 8px 10px;
    overflow: hidden;
    border-radius: 9px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .16);
}

.booking-card.rental {
    background: var(--blue);
}

.booking-card.tour {
    background: var(--violet);
}

.booking-card.in_progress {
    background: var(--green);
}

.booking-card.quote {
    border: 2px dashed #d97706;
    background: #fef3c7;
}

.booking-card strong,
.booking-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.booking-card small {
    margin-top: 4px;
    opacity: .9;
    font-size: 10px;
}

.booking-card .booking-quantity {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 38px;
    text-align: center;
}

.auth-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 20px;
}

.login-card {
    width: min(100%, 380px);
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .10);
}

.login-brand {
    margin-bottom: 22px;
}

.login-brand h1 {
    margin: 0;
    font-size: 21px;
}

.login-brand p {
    margin: 5px 0 0;
    color: var(--muted);
}

.login-card label {
    margin-bottom: 14px;
}

@media (max-width: 1000px) {
    .sidebar {
        width: 80px;
        padding: 14px 10px;
    }

    .brand > div,
    .sidebar nav a,
    .user-box strong,
    .user-box small {
        font-size: 0;
    }

    .content {
        margin-left: 80px;
    }

    .kpis,
    .grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-grid {
        grid-template-columns: 1fr;
    }
}


textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    resize: vertical;
}

.full-row {
    margin-top: 14px;
}

.inline-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.inline-actions form {
    margin: 0;
}

.status.prospect-new,
.status.quote-draft {
    background: #f1f5f9;
    color: #475569;
}

.status.prospect-contacted,
.status.quote-sent {
    background: #dbeafe;
    color: #1d4ed8;
}

.status.prospect-qualified,
.status.quote-accepted,
.status.prospect-converted {
    background: #dcfce7;
    color: #15803d;
}

.status.quote-reserved {
    background: #fef3c7;
    color: #92400e;
}

.status.prospect-lost,
.status.prospect-rejected,
.status.quote-rejected,
.status.quote-expired {
    background: #fee2e2;
    color: #b91c1c;
}

/* Planning avancé V1.3 */
.planning-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.planning-kpi span,.planning-kpi small{display:block;color:var(--muted)}.planning-kpi strong{display:block;margin:8px 0 4px;font-size:22px}.planning-toolbar{margin-bottom:14px}.planning-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end}.planning-filter-actions{display:flex;gap:8px}.planning-navigation{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.planning-period-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:8px 2px 12px}.planning-period-title>div:first-child{display:flex;align-items:center;gap:8px}.legend-dot.maintenance{background:#64748b}.advanced-planning .planning-header,.advanced-planning .planning-row{min-width:1180px}.planning-model-title{font-weight:700}.model-cell-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.capacity-badge{padding:4px 7px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:11px;font-weight:700}.capacity-details{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:10px}.today-column{background:#eff6ff;color:var(--blue-dark)!important}.today-background{position:absolute;inset-block:0;z-index:0;background:rgba(37,99,235,.055);pointer-events:none}.advanced-planning .booking-card{z-index:2;border:0;text-align:left;cursor:pointer}.advanced-planning .booking-card:hover{transform:translateY(-1px);filter:brightness(1.03)}.planning-drawer{position:fixed;top:0;right:-430px;z-index:70;width:min(420px,94vw);height:100vh;padding:22px;overflow:auto;background:#fff;box-shadow:-16px 0 40px rgba(15,23,42,.18);transition:right .2s ease}.planning-drawer.open{right:0}.planning-drawer-header{display:flex;justify-content:space-between;align-items:flex-start}.planning-drawer-header small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.planning-drawer-header h2{margin:5px 0 0}.planning-drawer-header button{border:0;background:transparent;font-size:28px;cursor:pointer}.drawer-status-line{display:flex;gap:8px;margin:20px 0}.drawer-details{margin:0}.drawer-details>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.drawer-details dt{color:var(--muted)}.drawer-details dd{margin:0;font-weight:600}.drawer-actions{margin-top:20px}.planning-overlay{position:fixed;inset:0;z-index:60;display:none;background:rgba(15,23,42,.42)}.planning-overlay.show{display:block}@media(max-width:1250px){.planning-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:760px){.planning-summary,.planning-filters{grid-template-columns:1fr}.planning-period-title,.planning-navigation{align-items:stretch;flex-direction:column}.planning-navigation .btn{text-align:center}}


/* Module Devis PDF V1.4 */
.quote-detail-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.quote-detail-grid .detail-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.detail-list {
    display: grid;
    gap: 0;
}

.detail-list > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}

.detail-list span {
    color: var(--muted);
}

.detail-list strong {
    text-align: right;
}

.quote-detail-grid .detail-list > div {
    min-width: 0;
}

.quote-detail-grid .detail-list strong {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.quote-lines-card h2 {
    margin-top: 0;
}

.quote-validation-badges {
    margin-bottom: 14px;
}

.quote-validation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.quote-validation-header h2 {
    margin: 0;
}

.quote-validation-hint {
    color: var(--muted);
    font-size: 12px;
}

.quote-validation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.validation-chip {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px;
    background: #f8fafc;
    display: grid;
    gap: 4px;
}

.validation-chip span {
    color: var(--muted);
    font-size: 12px;
}

.validation-chip strong {
    font-size: 17px;
}

.validation-chip.ok {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}

.validation-chip.ko {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}

.validation-chip.ready {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}
.quote-conversion-status-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quote-total-status { border-color: #bfdbfe; background: #f2f8fd; color: #174f78; }
.quote-total-status strong { font-size: 19px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.quote-validation-note {
    margin: 12px 0 0;
    color: #334155;
    font-size: 13px;
}

.quote-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0 0;
    padding: 14px;
    border: 1px solid #dbe6f3;
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfdff, #f4f8fd);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.quote-total-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 112px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #dbe6f3;
    background: #fff;
}

.quote-total-card span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.quote-total-card strong {
    margin-top: auto;
    font-size: 22px;
    line-height: 1.1;
    color: var(--ink);
}

.quote-total-card small {
    color: #64748b;
    font-size: 11px;
}

.quote-total-card.is-discount {
    background: #fff7ed;
    border-color: #fdba74;
}

.quote-total-card.is-discount strong {
    color: #c2410c;
}

.quote-total-card.is-neutral {
    background: #f8fafc;
}

.quote-total-card.grand-total {
    background: linear-gradient(180deg, #eff6ff, #dbeafe);
    border-color: #93c5fd;
}

.quote-total-card.grand-total strong {
    color: var(--blue-dark);
    font-size: 26px;
}

.quote-total-card.grand-total span {
    color: #1d4ed8;
}

.quote-duplicate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid #d8b4fe;
    border-radius: 11px;
    background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
    color: #6d28d9;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(109, 40, 217, 0.10);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}

.quote-duplicate-btn:hover,
.quote-duplicate-btn:focus-visible {
    transform: translateY(-1px);
    border-color: #a855f7;
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
    color: #fff;
    box-shadow: 0 14px 28px rgba(109, 40, 217, 0.18);
    outline: none;
}

.quote-duplicate-mini {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0;
    border: 1px solid #ddd6fe;
    border-radius: 9px;
    background: linear-gradient(180deg, #faf5ff 0%, #f3e8ff 100%);
    color: #7c3aed;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
}

.quote-duplicate-mini:hover,
.quote-duplicate-mini:focus-visible {
    transform: translateY(-2px);
    border-color: #a855f7;
    background: linear-gradient(180deg, #7c3aed 0%, #a855f7 100%);
    color: #fff;
    box-shadow: 0 10px 18px rgba(124, 58, 237, 0.18);
    outline: none;
}

.quote-notes {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

@media (max-width: 850px) {
    .quote-detail-grid {
        grid-template-columns: 1fr;
    }

    .quote-validation-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .quote-validation-grid {
        grid-template-columns: 1fr;
    }
}


/* Accessoires au forfait dans les devis */
.accessory-line {
    display: grid;
    grid-template-columns: 2fr .55fr .8fr .65fr auto;
    gap: 9px;
    margin-bottom: 9px;
}

.quote-lines-card + .quote-lines-card {
    margin-top: 14px;
}

@media (max-width: 760px) {
    .accessory-line {
        grid-template-columns: 1fr;
    }
}


.item-discount-note {
    color: var(--muted);
    font-size: 12px;
}


/* Informations utiles en bas du devis */
.quote-useful-information {
    margin-top: 14px;
}

.quote-useful-information h2 {
    margin-top: 0;
}

.quote-useful-information ul {
    margin: 0;
    padding-left: 20px;
}

.quote-useful-information li {
    margin-bottom: 8px;
    line-height: 1.5;
}


/* Transformation devis vers réservation V1.8 */
.success-button {
    background: var(--green);
    color: #fff;
}

.converted-badge {
    display: inline-flex;
    align-items: center;
    padding: 9px 12px;
    border-radius: 9px;
    background: #dcfce7;
    color: #166534;
    font-weight: 700;
}

.conversion-steps {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.conversion-step {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
    color: var(--muted);
}

.conversion-step span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #e2e8f0;
    font-weight: 700;
}

.conversion-step.active {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: var(--blue-dark);
}

.conversion-step.active span {
    background: var(--blue);
    color: #fff;
}

.quote-conversion-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.quote-convert-detail-list {
    display: grid;
    gap: 0;
}

.quote-convert-detail-list > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}

.quote-convert-detail-list span,
.quote-convert-detail-list strong {
    display: block;
}

.quote-convert-detail-list span {
    color: var(--muted);
}

.quote-convert-detail-list strong {
    text-align: right;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.payment-summary {
    display: grid;
    gap: 8px;
}

.payment-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.payment-summary span {
    color: var(--muted);
}

.conversion-availability {
    margin-bottom: 14px;
}

.availability-result {
    padding: 7px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 12px;
}

.availability-result.success {
    background: #dcfce7;
    color: #166534;
}

.availability-result.danger {
    background: #fee2e2;
    color: #991b1b;
}

.availability-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 18px;
}

.availability-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.availability-row strong,
.availability-row small {
    display: block;
}

.availability-row small {
    margin-top: 4px;
    color: var(--muted);
}

.availability-ok,
.availability-ko {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.availability-ok {
    background: #dcfce7;
    color: #166534;
}

.availability-ko {
    background: #fee2e2;
    color: #991b1b;
}

.conversion-form h2 {
    margin-top: 0;
}

.conversion-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

.checkbox-card {
    flex-direction: row;
    align-items: flex-start;
    gap: 11px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 11px;
    cursor: pointer;
}

.checkbox-card input {
    width: auto;
    margin-top: 3px;
}

.checkbox-card strong,
.checkbox-card small {
    display: block;
}

.checkbox-card small {
    margin-top: 4px;
}

.conversion-copy-list {
    margin-top: 18px;
    padding: 13px;
    border-radius: 10px;
    background: #f8fafc;
}

.conversion-copy-list span,
.conversion-copy-list strong {
    display: block;
}

.conversion-copy-list span {
    margin-bottom: 4px;
    color: var(--muted);
}

button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 850px) {
    .quote-conversion-grid,
    .availability-columns,
    .conversion-options {
        grid-template-columns: 1fr;
    }

    .conversion-steps {
        flex-direction: column;
    }
}


/* Module Paramétrage V1.9 */
.settings-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.settings-kpi span,
.settings-kpi small {
    display: block;
    color: var(--muted);
}

.settings-kpi strong {
    display: block;
    margin: 8px 0 4px;
    font-size: 24px;
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.settings-card {
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease;
}

.settings-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}

.settings-card h2 {
    margin-top: 0;
}

.settings-card p {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.5;
}

.settings-two-columns {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 14px;
}

.form-stack {
    display: grid;
    gap: 13px;
    margin-bottom: 16px;
}

.inline-check {
    flex-direction: row;
    align-items: center;
}

.inline-check input {
    width: auto;
}

/* V5.6.0 - Settings models UI refresh */
.models-page {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.models-overview-card {
    padding: 16px;
}

.models-page-actions {
    align-items: center;
}

.models-page-action-buttons {
    display: flex;
    gap: 8px;
}

.models-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.models-summary-card {
    border-top: 4px solid #2196f3;
}

.models-summary-card span,
.models-summary-card small {
    display: block;
    color: #64748b;
}

.models-summary-card strong {
    display: block;
    margin: 8px 0 3px;
    font-size: 28px;
    color: #0f2742;
}

.models-warning-card {
    padding: 14px;
    border-left: 4px solid #f59e0b;
    background: #fffdf8;
}

.models-warning-card strong {
    display: block;
    margin-bottom: 6px;
    color: #92400e;
}

.models-warning-card p {
    margin: 0;
    color: #64748b;
}

.models-warning-card span {
    color: #1f2937;
    font-weight: 700;
}

.models-create-card,
.models-table-card {
    padding: 16px;
}

.models-create-collapsible {
    padding: 0;
    overflow: hidden;
}

.models-create-collapsible > summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 16px;
    display: grid;
    gap: 4px;
    border-left: 4px solid #1d4ed8;
    background: #f8fbff;
}

.models-create-collapsible > summary::-webkit-details-marker {
    display: none;
}

.models-create-collapsible > summary strong {
    color: #0f172a;
    font-size: 16px;
}

.models-create-collapsible > summary span {
    color: #64748b;
    font-size: 13px;
}

.models-create-collapsible[open] > summary {
    border-bottom: 1px solid #e2e8f0;
    border-left-color: #16a34a;
}

.models-create-collapsible-body {
    padding: 0;
}

.models-workspace {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
    align-items: start;
}

.models-workspace-main,
.models-workspace-side {
    display: grid;
    gap: 14px;
}

.models-workspace-side {
    position: sticky;
    top: 10px;
}

.models-layout {
    grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
}

.models-section-head {
    margin-bottom: 12px;
}

.models-section-head h2 {
    margin: 0;
}

.models-section-head p {
    margin: 5px 0 0;
    color: #64748b;
}

.models-form-groups {
    display: grid;
    gap: 14px;
}

.models-form-group {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    background: #fafcff;
}

.models-form-group h3 {
    margin: 0 0 10px;
    color: #1e293b;
    font-size: 14px;
}

.models-form-group .form-grid {
    gap: 12px;
}

.models-form-group .form-grid label {
    min-width: 0;
}

.models-create-actions {
    margin-top: 14px;
}

.models-create-actions .btn {
    width: 100%;
}

.models-table-card .table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}

.models-table-card table td:nth-child(4),
.models-table-card table td:nth-child(5),
.models-table-card table th:nth-child(4),
.models-table-card table th:nth-child(5) {
    text-align: center;
    white-space: nowrap;
}

.models-table-card table th {
    background: #f8fafc;
}

.models-style-pill,
.models-yesno,
.models-web-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 800;
}

.models-style-pill.style-road {
    background: #dbeafe;
    color: #1d4ed8;
}

.models-style-pill.style-mixed {
    background: #ede9fe;
    color: #6d28d9;
}

.models-style-pill.style-offroad {
    background: #dcfce7;
    color: #166534;
}

.models-yesno.yes {
    background: #dcfce7;
    color: #166534;
}

.models-yesno.no {
    background: #fee2e2;
    color: #991b1b;
}

.models-web-pill.featured {
    background: #fff7ed;
    color: #9a3412;
}

.models-web-pill.standard {
    background: #e2e8f0;
    color: #334155;
}
.accessory-billing-mode { display: inline-flex; padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 5px; background: #f8fafc; color: #526476; font-size: 10px; font-weight: 850; white-space: nowrap; }
.accessory-billing-mode.daily { border-color: #b7cce0; background: #edf4fa; color: #245f8a; }

@media (max-width: 1240px) {
    .models-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .models-layout {
        grid-template-columns: 1fr;
    }

    .models-workspace {
        grid-template-columns: 1fr;
    }

    .models-workspace-side {
        position: static;
    }
}

@media (max-width: 760px) {
    .models-page-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .models-page-action-buttons,
    .models-page-action-buttons .btn {
        width: 100%;
    }

    .models-summary-grid,
    .models-form-group .form-grid {
        grid-template-columns: 1fr;
    }
}

.role-help {
    margin-top: 16px;
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
    color: var(--muted);
}

.fleet-status {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.fleet-available {
    background: #dcfce7;
    color: #166534;
}

.fleet-maintenance,
.fleet-preparation {
    background: #fef3c7;
    color: #92400e;
}

.fleet-out_of_service,
.fleet-sold {
    background: #fee2e2;
    color: #991b1b;
}

.fleet-reserved,
.fleet-assigned,
.fleet-in_delivery,
.fleet-in_rental,
.fleet-in_recovery {
    background: #dbeafe;
    color: #1d4ed8;
}

@media (max-width: 950px) {
    .settings-summary,
    .settings-grid,
    .settings-two-columns {
        grid-template-columns: 1fr;
    }

    .model-edit-head {
        flex-direction: column;
    }
}


/* Centre des opérations et tâches V2.0 */
.operations-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.operation-kpi span {
    display: block;
    color: var(--muted);
}

.operation-kpi strong {
    display: block;
    margin-top: 8px;
    font-size: 24px;
}

.operations-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, .8fr);
    gap: 16px;
}

.operations-section-title {
    margin-bottom: 10px;
}

.operation-cards,
.return-list {
    display: grid;
    gap: 12px;
}

.operation-card-header {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.operation-time {
    color: var(--blue-dark);
    font-weight: 800;
    font-size: 18px;
}

.operation-card h3,
.return-card h3 {
    margin: 5px 0;
}

.operation-card small,
.return-card small,
.return-card p {
    color: var(--muted);
}

.operation-items {
    display: grid;
    gap: 5px;
    margin: 16px 0;
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
}

.operation-progress-label,
.operation-finance {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.progress-track {
    height: 8px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.progress-track i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--green);
}

.operation-finance {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.operation-task-preview {
    display: grid;
    gap: 6px;
    margin-top: 12px;
    color: var(--muted);
}

.task-preview-done {
    text-decoration: line-through;
    opacity: .65;
}

.operation-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.tasks-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 16px;
}

.task-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    gap: 12px;
    align-items: start;
    overflow-x: auto;
}

.task-column {
    min-width: 240px;
    padding: 10px;
    border-radius: 12px;
    background: #eef2f7;
}

.task-column-header h2 {
    margin: 4px 4px 12px;
    font-size: 16px;
}

.task-card {
    margin-bottom: 10px;
    border-left: 4px solid #94a3b8;
}

.task-card.priority-high {
    border-left-color: var(--orange);
}

.task-card.priority-urgent {
    border-left-color: var(--red);
}

.task-card.priority-low {
    border-left-color: #94a3b8;
}

.task-card-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.task-category,
.task-priority {
    font-size: 11px;
    color: var(--muted);
}

.task-card h3 {
    margin: 10px 0 7px;
}

.task-card p {
    color: var(--blue-dark);
}

.task-meta {
    display: grid;
    gap: 4px;
    margin: 12px 0;
    color: var(--muted);
    font-size: 11px;
}

.task-status-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 7px;
}

.task-create-panel {
    position: sticky;
    top: 20px;
    align-self: start;
}

@media (max-width: 1100px) {
    .operations-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .operations-layout,
    .tasks-layout {
        grid-template-columns: 1fr;
    }

    .task-create-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .operations-summary {
        grid-template-columns: 1fr;
    }

    .operation-card-actions {
        flex-direction: column;
    }

    .operation-card-actions .btn {
        text-align: center;
    }
}


/* Module Départ / Check-out V2.1 */
.checkout-timeline-shell {
    padding: 20px;
    border: 1px solid #d7e4f2;
    background:
        radial-gradient(140% 140% at 100% 0%, rgba(59, 130, 246, 0.10) 0%, rgba(59, 130, 246, 0) 52%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.checkout-timeline-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5edf7;
}

.checkout-timeline-head h2 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -0.03em;
    color: #0f2744;
}

.checkout-timeline-head p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.checkout-month-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.checkout-month-nav strong {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid #cddcf0;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    color: #0f2744;
    font-size: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.checkout-month-nav .btn.secondary {
    min-height: 40px;
    padding: 10px 14px;
    border-color: #d6e2ef;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.checkout-month-nav .btn.secondary:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.checkout-day-group {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e1ebf6;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 251, 255, 0.96) 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.checkout-day-group + .checkout-day-group {
    margin-top: 12px;
}

.checkout-day-header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-left: 46px;
}

.checkout-day-header strong {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #0f2744;
    color: #fff;
    font-size: 15px;
}

.checkout-day-header span,
.checkout-day-header small {
    color: var(--muted);
}

.checkout-day-header small {
    padding: 4px 9px;
    border-radius: 999px;
    background: #eef4fb;
    color: #47627f;
    font-size: 11px;
    font-weight: 700;
}

.checkout-timeline-list {
    gap: 14px;
}

.checkout-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 32px 130px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.checkout-timeline-rail {
    position: relative;
    min-height: 100%;
}

.checkout-timeline-rail::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 0;
    bottom: -10px;
    width: 2px;
    background: linear-gradient(180deg, #bfdbfe 0%, #d9e5f3 45%, #e5edf7 100%);
}

.checkout-timeline-item:last-child .checkout-timeline-rail::before {
    bottom: 22px;
}

.checkout-timeline-dot {
    position: relative;
    z-index: 2;
    display: block;
    width: 14px;
    height: 14px;
    margin: 12px 0 0 9px;
    border-radius: 999px;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px #cfdced, 0 6px 14px rgba(37, 99, 235, 0.18);
    background: #94a3b8;
}

.checkout-timeline-item.state-draft .checkout-timeline-dot,
.checkout-timeline-item.state-not_started .checkout-timeline-dot {
    background: #94a3b8;
}

.checkout-timeline-item.state-ready .checkout-timeline-dot {
    background: #f59e0b;
}

.checkout-timeline-item.state-completed .checkout-timeline-dot {
    background: #16a34a;
}

.checkout-timeline-time {
    padding-top: 6px;
}

.checkout-timeline-time strong {
    font-size: 28px;
    letter-spacing: -0.04em;
}

.checkout-timeline-time span {
    display: inline-flex;
    margin-top: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef5ff;
    color: #47627f;
    font-size: 11px;
    font-weight: 700;
}

.checkout-time-block small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
}

.checkout-timeline-card {
    grid-template-columns: minmax(250px, 1fr) 150px 150px auto;
    position: relative;
    overflow: hidden;
}

.checkout-timeline-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #cbd5e1;
}

.checkout-timeline-item.state-ready .checkout-timeline-card::before {
    background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%);
}

.checkout-timeline-item.state-completed .checkout-timeline-card::before {
    background: linear-gradient(180deg, #4ade80 0%, #16a34a 100%);
}

.checkout-timeline-item.state-draft .checkout-timeline-card::before,
.checkout-timeline-item.state-not_started .checkout-timeline-card::before {
    background: linear-gradient(180deg, #cbd5e1 0%, #94a3b8 100%);
}

.checkout-timeline-status {
    align-self: center;
}

.checkout-list { display: grid; gap: 14px; }
.checkout-list-card {
    display: grid;
    grid-template-columns: 120px minmax(250px, 1fr) 150px 150px auto;
    gap: 18px;
    align-items: center;
    border: 1px solid #dbe5f0;
    border-radius: 16px;
    background:
        radial-gradient(120% 140% at 100% 0%, #eef5ff 0%, rgba(238, 245, 255, 0) 55%),
        #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.checkout-list-card:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1); }
.checkout-time-block strong { display: block; font-size: 25px; color: var(--blue-dark); }
.checkout-time-block span, .checkout-main-info p { color: var(--muted); }
.checkout-main-info h2 { margin: 0 0 4px; font-size: 20px; color: #0f172a; }
.checkout-main-info p { margin: 0; font-size: 13px; }
.checkout-models { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.checkout-models span {
    padding: 6px 10px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f8fbff 0%, #edf3fb 100%);
    border: 1px solid #d7e3ef;
    font-size: 12px;
    font-weight: 600;
    color: #334155;
}
.checkout-payment-summary span, .checkout-payment-summary strong { display: block; }
.checkout-payment-summary span { color: var(--muted); }
.checkout-payment-summary {
    padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    border: 1px solid #d9e6f5;
}
.checkout-payment-summary strong {
    margin-top: 6px;
    color: #0f2744;
    font-size: 18px;
    letter-spacing: -0.02em;
}
.checkout-state { display: inline-flex; padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.state-not_started, .state-draft { background: #f1f5f9; color: #475569; }
.state-ready { background: #fef3c7; color: #92400e; }
.state-completed { background: #dcfce7; color: #166534; }

.checkout-timeline-card .btn.primary {
    min-height: 42px;
    padding-inline: 16px;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.checkout-timeline-card .btn.primary:hover {
    transform: translateY(-1px);
}

.checkout-header-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.checkout-section {
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid #dce6f2;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}
.checkout-panel {
    background:
        linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
}
.checkout-hero-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; margin-bottom: 16px; }
.checkout-hero-card, .checkout-side-card {
    padding: 20px 22px;
    border: 1px solid #d6e3f2;
    border-radius: 18px;
}
.checkout-hero-card {
    background:
        linear-gradient(138deg, #0f2744 0%, #163a64 45%, #1f5891 100%);
    color: #ffffff;
}
.checkout-hero-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.checkout-hero-head h2 { margin: 0; font-size: 22px; }
.checkout-eyebrow {
    display: inline-flex;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #e2edff;
}
.checkout-hero-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checkout-hero-meta > div {
    padding: 11px 13px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
}
.checkout-hero-meta span { display: block; margin-bottom: 4px; color: #cae1ff; font-size: 12px; }
.checkout-side-card {
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.checkout-side-card h3 { margin-top: 0; margin-bottom: 10px; }
.motorcycle-assignment-block { padding: 17px 0; border-top: 1px solid #deebf5; }
.motorcycle-assignment-block:first-of-type { border-top: 0; }
.motorcycle-assignment-block h3 { margin: 0 0 4px; }
.motorcycle-assignment-block small { color: var(--muted); }
.motorcycle-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 9px; margin-top: 12px; }
.motorcycle-choice {
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid #d8e3f0;
    border-radius: 12px;
    cursor: pointer;
    background: #ffffff;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.motorcycle-choice:hover {
    border-color: #3b82f6;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}
.motorcycle-choice input { width: auto; margin-top: 3px; }
.motorcycle-choice strong, .motorcycle-choice small { display: block; }
.motorcycle-choice small { margin-top: 4px; color: var(--muted); }
@supports(selector(:has(*))) {
    .motorcycle-choice:has(input:checked) {
        border-color: #2563eb;
        background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
        box-shadow: 0 0 0 1px #2563eb inset;
    }
}

.checkout-checklist-grid { display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 14px; }
.checklist-group { padding: 13px; border-radius: 13px; background: linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%); border: 1px solid #e2e8f0; }
.checklist-group h3 { margin-top: 0; margin-bottom: 8px; }
.checkout-check-item { flex-direction: row; align-items: center; gap: 9px; padding: 8px 0; }
.checkout-check-item input { width: auto; }
.checkout-confirmations { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.checkout-confirmations .checkbox-card {
    border: 1px solid #d8e4f0;
    border-radius: 13px;
    padding: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.checkout-panel .section-title h2,
.checkout-complete-card h2,
.checkout-completed-message h2 {
    margin: 0 0 4px;
    letter-spacing: -0.02em;
}

.checkout-panel .section-title p {
    margin: 0;
    color: #64748b;
}

.checkout-panel .form-grid {
    margin-top: 14px;
}

.checkout-mileage-grid {
    display: grid;
    gap: 10px;
}

.checkout-mileage-grid h3 {
    margin: 0;
    font-size: 14px;
    color: #0f2744;
}

.checkout-mileage-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 10px;
}

.checkout-mileage-card {
    display: grid;
    gap: 8px;
    padding: 11px;
    border: 1px solid #d6e3f2;
    border-radius: 11px;
    background: #ffffff;
}

.checkout-mileage-card span {
    display: block;
}

.checkout-mileage-card strong,
.checkout-mileage-card small {
    display: block;
}

.checkout-mileage-card small {
    margin-top: 3px;
    color: #64748b;
}

.checkout-panel input,
.checkout-panel select,
.checkout-panel textarea {
    border: 1px solid #cfdbe9;
    background: #ffffff;
    border-radius: 11px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.checkout-panel input:focus,
.checkout-panel select:focus,
.checkout-panel textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
    outline: none;
}

.checkout-photo-form { display: grid; grid-template-columns: 1fr 1fr 1.4fr 1.3fr auto; gap: 9px; margin-bottom: 18px; padding: 14px; border-radius: 13px; background: #f8fafc; border: 1px solid #e2e8f0; }
.checkout-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 12px; }
.checkout-photo-grid figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid #d5e2ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.checkout-photo-grid img { display: block; width: 100%; height: 155px; object-fit: cover; }
.checkout-photo-grid figcaption { display: grid; gap: 3px; padding: 9px; }
.checkout-photo-grid figcaption span { color: var(--muted); font-size: 12px; }

.checkout-complete-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border: 1px solid #86efac;
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf3 100%);
    border-radius: 18px;
    padding: 20px 22px;
}
.checkout-complete-card h2, .checkout-completed-message h2 { margin-top: 0; }
.checkout-depart-button {
    background: linear-gradient(180deg, #16a34a 0%, #15803d 100%);
    color: #fff;
    font-size: 16px;
    padding: 13px 18px;
    box-shadow: 0 8px 18px rgba(21, 128, 61, 0.28);
}
.checkout-completed-message {
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #86efac;
    border-radius: 18px;
    padding: 20px 22px;
}

.checkout-panel .table-wrap table {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid #d9e5f1;
}

.checkout-panel .table-wrap thead th {
    background: #eef4fb;
    color: #0f2744;
    font-weight: 700;
}

.checkout-panel .table-wrap tbody tr:nth-child(even) td {
    background: #fbfdff;
}

/* Returns detail page polish */
.return-page-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.return-page-actions {
    margin-bottom: 0;
}
.return-hero-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    margin-bottom: 0;
}
.return-hero-card {
    padding: 20px 22px;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}
.return-hero-card-primary {
    background: linear-gradient(135deg, #0f2744 0%, #163a64 45%, #1f5891 100%);
    color: #fff;
}
.return-hero-card-primary h2,
.return-hero-card-primary .detail-list > div > span,
.return-hero-card-primary .detail-list > div > strong {
    color: #fff;
}
.return-hero-card-primary .detail-list > div {
    border-color: rgba(255, 255, 255, 0.16);
}
.return-hero-card-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #dbe7f2;
}
.return-hero-card-secondary h2 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #0f2744;
}
.return-section {
    margin-bottom: 0;
    padding: 20px 22px;
}
.return-section h2 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 17px;
    color: #0f2744;
}
.return-section .section-title {
    margin-bottom: 14px;
}
.return-section .checkout-checklist-grid {
    gap: 12px;
}
.return-section .checklist-group {
    background: #f8fbff;
}
.return-section .checkout-confirmations {
    margin-top: 14px;
}
.return-section .checkbox-card {
    min-width: 220px;
}
.return-section .checkout-photo-grid figure {
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.return-section .return-charge-form {
    margin-bottom: 14px;
}
.return-section .table-wrap table {
    border-radius: 12px;
}
.return-section .return-total-charge {
    font-size: 16px;
}
@media (max-width: 1100px) {
    .checkout-day-header {
        padding-left: 34px;
    }

    .checkout-timeline-item {
        grid-template-columns: 24px 100px minmax(0, 1fr);
        gap: 10px;
    }

    .checkout-list-card { grid-template-columns: 100px 1fr 130px; }
    .checkout-list-card > :nth-child(4), .checkout-list-card > :nth-child(5) { justify-self: start; }
    .motorcycle-choice-grid, .checkout-checklist-grid { grid-template-columns: repeat(2, 1fr); }
    .checkout-mileage-cards { grid-template-columns: repeat(2, 1fr); }
    .checkout-photo-form { grid-template-columns: 1fr 1fr; }
    .checkout-photo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
    .checkout-timeline-shell {
        padding: 14px;
    }

    .checkout-timeline-head,
    .checkout-month-nav,
    .checkout-day-header {
        align-items: stretch;
        flex-direction: column;
    }

    .checkout-day-header {
        gap: 2px;
        padding-left: 0;
    }

    .checkout-month-nav .btn.secondary,
    .checkout-month-nav strong {
        justify-content: center;
        width: 100%;
    }

    .checkout-timeline-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .checkout-timeline-rail {
        display: none;
    }

    .checkout-timeline-time {
        padding: 0;
    }

    .checkout-list-card, .checkout-header-grid, .motorcycle-choice-grid,
    .checkout-checklist-grid, .checkout-confirmations, .checkout-photo-form,
    .checkout-photo-grid, .checkout-mileage-cards, .return-hero-grid { grid-template-columns: 1fr; }
    .checkout-hero-grid,
    .checkout-hero-meta { grid-template-columns: 1fr; }
    .checkout-section,
    .checkout-hero-card,
    .checkout-side-card,
    .checkout-complete-card,
    .checkout-completed-message { padding: 16px; border-radius: 14px; }
    .checkout-complete-card { flex-direction: column; align-items: stretch; }
}

/* ============================================================
   OXBikers Manager ERP V3.0 — Menu et Header
   ============================================================ */
:root {
    --erp-sidebar-width: 226px;
    --erp-sidebar: #101d2c;
    --erp-sidebar-dark: #0b1521;
    --erp-red: #ef3038;
    --erp-bg: #f4f7fb;
    --erp-border: #e5eaf0;
    --erp-topnav-height: 42px;
    --erp-header-height: 72px;
}

.erp-v3 { margin: 0; background: var(--erp-bg); }
.erp-layout { min-height: 100vh; }
.erp-sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 90;
    display: flex; width: var(--erp-sidebar-width); flex-direction: column;
    overflow: hidden; color: #fff;
    background: linear-gradient(180deg, var(--erp-sidebar), var(--erp-sidebar-dark));
    box-shadow: 7px 0 24px rgba(15,23,42,.14);
}
.erp-brand {
    display: flex; min-height: 72px; align-items: center; justify-content: space-between;
    padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.08);
}
.erp-brand-logo {
    position: relative; color: #fff; font-size: 25px; font-weight: 900;
    letter-spacing: -1.6px; text-decoration: none;
}
.erp-brand-ox { position: relative; z-index: 1; }
.erp-brand-ox::after {
    content: ""; position: absolute; left: 20px; top: 9px; z-index: -1;
    width: 25px; height: 5px; border-radius: 5px; background: var(--erp-red);
    transform: rotate(-14deg);
}
.erp-brand-logo small {
    position: absolute; right: 0; bottom: -9px; color: #c7d0db;
    font-size: 7px; letter-spacing: 2.1px;
}
.erp-sidebar-close { display: none; border: 0; background: transparent; color: #fff; font-size: 27px; }
.erp-menu { flex: 1; overflow-y: auto; padding: 10px 9px 18px; scrollbar-width: thin; }
.erp-menu-title {
    margin: 17px 8px 6px; color: #7f8da1; font-size: 9px;
    font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.erp-menu-item {
    position: relative; display: flex; min-height: 36px; align-items: center; gap: 10px;
    margin: 2px 0; padding: 0 10px; border-radius: 6px;
    color: #edf2f7; font-size: 12.5px; font-weight: 550; text-decoration: none;
    transition: .15s ease;
}
.erp-menu-item:hover { color: #fff; background: rgba(255,255,255,.07); transform: translateX(2px); }
.erp-menu-item.active {
    color: #fff; background: linear-gradient(90deg, #f1373e, #dd242b);
    box-shadow: 0 8px 18px rgba(239,48,56,.23);
}
.erp-menu-item.disabled { opacity: .48; cursor: default; }
.erp-menu-item.disabled:hover { background: transparent; transform: none; }
.erp-menu-icon { display: grid; width: 18px; place-items: center; font-size: 15px; }
.erp-coming-dot { width: 5px; height: 5px; margin-left: auto; border-radius: 50%; background: #738197; }
.erp-sidebar-footer { padding: 11px 9px 16px; border-top: 1px solid rgba(255,255,255,.08); }
.erp-sidebar-footer form { margin: 0; }
.erp-logout {
    display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px;
    border: 0; border-radius: 6px; background: transparent; color: #edf2f7;
    font: inherit; cursor: pointer;
}
.erp-logout:hover { background: rgba(239,48,56,.13); }
.erp-main { min-height: 100vh; margin-left: var(--erp-sidebar-width); }
.erp-main-wide { margin-left: 0; }
.erp-hide-left-sidebar .erp-burger { display: none; }
.erp-hide-left-sidebar { --erp-sidebar-width: 0px; }
.erp-hide-left-sidebar .erp-main { margin-left: 0 !important; width: 100%; }
.erp-hide-left-sidebar .erp-overlay { display: none !important; }
.erp-header {
    position: sticky; top: var(--erp-topnav-height); z-index: 50; display: flex; min-height: 72px;
    align-items: center; justify-content: space-between; gap: 20px; padding: 0 26px;
    border-bottom: 1px solid var(--erp-border); background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
}
.erp-header-left { display: flex; align-items: center; gap: 15px; }
.erp-header h1 { margin: 0; color: #172033; font-size: 23px; font-weight: 750; }
.erp-header-left small { color: #94a3b8; font-size: 10px; }
.erp-burger {
    display: none; width: 38px; height: 38px; align-content: center; justify-items: center;
    gap: 4px; border: 1px solid #dce3eb; border-radius: 8px; background: #fff;
}
.erp-burger span { display: block; width: 17px; height: 2px; background: #273449; }
.erp-header-right { display: flex; align-items: center; gap: 9px; }
.erp-logout-form { margin: 0; }
.erp-header-icon {
    position: relative; display: grid; width: 39px; height: 39px; place-items: center;
    border: 0; border-radius: 9px; background: transparent; color: #273449; font-size: 18px;
}
.erp-header-icon:hover { background: #f1f5f9; }
.erp-header-icon.erp-logout { color: var(--erp-red); }
.erp-header-icon.erp-logout:hover { background: rgba(239,48,56,.12); }
.erp-header-icon b {
    position: absolute; right: 0; top: 0; display: grid; min-width: 15px; height: 15px;
    place-items: center; border: 2px solid #fff; border-radius: 99px;
    background: #dc2626; color: #fff; font-size: 8px;
}
.erp-profile { display: flex; align-items: center; gap: 9px; margin-left: 5px; padding: 5px 7px; border-radius: 10px; }
.erp-profile:hover { background: #f3f6fa; }
.erp-avatar {
    display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%;
    background: linear-gradient(145deg,#1f3448,#8193a6); color: #fff; font-size: 12px; font-weight: 800;
}
.erp-profile div { display: grid; gap: 2px; }
.erp-profile strong { color: #172033; font-size: 12.5px; }
.erp-profile small { color: var(--erp-red); font-size: 10.5px; }
.erp-content { padding: 22px 26px 34px; }
.erp-overlay { position: fixed; inset: 0; z-index: 80; display: none; background: rgba(8,15,25,.58); }

@media (min-width: 1021px) {
    .erp-sidebar { display: none; }
    .erp-main { margin-left: 0; }
    .erp-overlay { display: none !important; }
}

@media (max-width: 1020px) {
    .erp-sidebar { transform: translateX(-105%); transition: transform .2s ease; }
    .erp-menu-open .erp-sidebar { transform: translateX(0); }
    .erp-menu-open .erp-overlay { display: block; }
    .erp-main { margin-left: 0; }
    .erp-burger { display: grid; }
    .erp-sidebar-close { display: block; }
}
@media (max-width: 680px) {
    .erp-header { padding: 0 14px; }
    .erp-header h1 { font-size: 19px; }
    .erp-content { padding: 15px 13px 26px; }
    .erp-profile div, .erp-profile > span:last-child, .erp-header-icon:nth-child(2) { display: none; }
}

.erp-topnav {
    position: sticky;
    z-index: 54;
    background: linear-gradient(180deg, #102337, #0b1a2b);
    border-bottom: 1px solid #1e3a57;
    box-shadow: 0 8px 20px rgba(7, 16, 28, 0.24);
    backdrop-filter: blur(7px);
}

.erp-topnav-primary {
    top: 0;
}

.erp-topnav-secondary {
    top: calc(var(--erp-topnav-height) + var(--erp-header-height));
    background: linear-gradient(180deg, #15314d, #0f2840);
    border-bottom-color: #2b4f73;
}

.erp-topnav-track {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--erp-topnav-height);
    padding: 5px 16px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.erp-topnav-track::-webkit-scrollbar {
    height: 7px;
}

.erp-topnav-track::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.24);
    border-radius: 999px;
}

.erp-topnav-label {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 9px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #f3f7fc;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.erp-topnav-link,
.erp-topnav-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    background: transparent;
    color: #dbe8f6;
    font-size: 11px;
    font-weight: 760;
    letter-spacing: 0.015em;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .14s ease, border-color .14s ease, color .14s ease, transform .14s ease;
}

.erp-topnav-link:hover,
.erp-topnav-trigger:hover,
.erp-topnav-link.active {
    border-color: #3b6389;
    background: rgba(255, 255, 255, 0.11);
    color: #fff;
}

.erp-topnav-link:hover,
.erp-topnav-trigger:hover {
    transform: translateY(-1px);
}

.erp-topnav-link.active {
    border-color: #ef3038;
    background: linear-gradient(160deg, rgba(239, 48, 56, 0.22), rgba(239, 48, 56, 0.1));
    box-shadow: inset 0 -2px 0 #ef3038, 0 5px 14px rgba(239, 48, 56, 0.2);
}

.erp-topnav-link.disabled {
    opacity: .5;
    cursor: default;
    pointer-events: none;
}

@media (max-width: 1020px) {
    .erp-header {
        top: 0;
    }

    .erp-topnav {
        display: none;
    }

    .erp-sidebar {
        display: flex;
    }
}


/* OXBikers Manager V3.1 — Operations / Returns */
.operations-summary-v31 {
    grid-template-columns: repeat(7, minmax(120px, 1fr));
}
.operations-board-v31 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.operations-column-v31 {
    min-width: 0;
}
.operation-card-v31 {
    border-left: 4px solid #2563eb;
}
.return-operation-card {
    border-left-color: #7c3aed;
}
.return-list-v31 {
    display: grid;
    gap: 12px;
}
.return-list-card-v31 {
    display: grid;
    grid-template-columns: 120px minmax(260px, 1fr) 120px 140px 150px auto;
    align-items: center;
    gap: 16px;
}
.return-time-v31 strong,
.return-time-v31 span,
.return-km-v31 span,
.return-km-v31 strong {
    display: block;
}
.return-time-v31 strong {
    color: var(--blue-dark);
    font-size: 24px;
}
.return-time-v31 span,
.return-km-v31 span,
.return-client-v31 p {
    color: var(--muted);
}
.return-client-v31 h2 {
    margin: 0 0 4px;
}
.return-bikes-v31 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.return-bikes-v31 span {
    padding: 5px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    font-size: 11px;
}
.return-bike-card {
    cursor: default;
}
.return-photo-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.return-photo-form {
    grid-template-columns: 1fr 1fr 1.2fr 1fr auto;
}
.return-charge-form {
    display: grid;
    grid-template-columns: 150px 1fr 140px 1fr auto;
    gap: 9px;
    margin-bottom: 18px;
}
.return-total-charge {
    color: #b91c1c;
    font-size: 18px;
}
.return-complete-card {
    border-color: #c4b5fd;
    background: #f5f3ff;
}

@media (max-width: 1280px) {
    .operations-summary-v31 {
        grid-template-columns: repeat(4, minmax(120px, 1fr));
    }
    .return-list-card-v31 {
        grid-template-columns: 100px 1fr 110px 130px;
    }
    .return-list-card-v31 > :nth-child(5),
    .return-list-card-v31 > :nth-child(6) {
        justify-self: start;
    }
}
@media (max-width: 980px) {
    .operations-board-v31,
    .return-photo-comparison {
        grid-template-columns: 1fr;
    }
    .return-charge-form,
    .return-photo-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 960px) {
    .quote-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .quote-totals {
        grid-template-columns: 1fr;
    }

    .quote-total-card {
        min-height: 0;
    }
}
@media (max-width: 720px) {
    .operations-summary-v31,
    .return-list-card-v31,
    .return-charge-form,
    .return-photo-form {
        grid-template-columns: 1fr;
    }
}


/* OXBikers Manager V3.2 — Atelier, maintenance et stock */
.workshop-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.workshop-kpi span { display:block; color:var(--muted); }
.workshop-kpi strong { display:block; margin-top:8px; font-size:24px; }

.maintenance-board { display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); gap:14px; }
.maintenance-card { border-left:4px solid #64748b; }
.maintenance-card.priority-high { border-left-color:#f59e0b; }
.maintenance-card.priority-urgent { border-left-color:#dc2626; }
.maintenance-card-head { display:flex; justify-content:space-between; gap:12px; }
.maintenance-card-head h2 { margin:5px 0; font-size:17px; }
.maintenance-card-head p { color:var(--muted); }
.maintenance-status { display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:11px; font-weight:700; }
.status-planned { background:#dbeafe; color:#1d4ed8; }
.status-in_progress { background:#fef3c7; color:#92400e; }
.status-waiting_parts { background:#ffedd5; color:#9a3412; }
.status-completed { background:#dcfce7; color:#166534; }
.status-cancelled { background:#fee2e2; color:#991b1b; }
.maintenance-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin:14px 0; color:var(--muted); font-size:12px; }

.maintenance-detail-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:14px; margin-bottom:14px; }
.maintenance-costs { display:grid; gap:10px; }
.maintenance-costs > div { display:flex; justify-content:space-between; padding:11px; border:1px solid var(--line); border-radius:9px; }
.maintenance-costs .total { background:#f8fafc; font-size:17px; }
.maintenance-status-form { display:grid; grid-template-columns:1fr 180px auto; gap:9px; }
.maintenance-part-form { display:grid; grid-template-columns:1fr 130px auto; gap:9px; margin-bottom:16px; }

.stock-low-row { background:#fff7ed; }
.invoice-due-soon-row { background:#fffbeb; }
.invoice-due-hint { color:#92400e; font-weight:700; font-size:10px; }
.stock-quantity { display:inline-flex; padding:5px 8px; border-radius:999px; background:#dcfce7; color:#166534; font-weight:700; }
.stock-quantity.low { background:#fee2e2; color:#991b1b; }
.stock-movement-form { display:grid; grid-template-columns:110px 80px auto; gap:6px; }

.incident-layout { display:grid; grid-template-columns:340px 1fr; gap:16px; }
.incident-create { align-self:start; position:sticky; top:95px; }
.incident-list { display:grid; gap:12px; }
.incident-card { border-left:4px solid #94a3b8; }
.incident-card.severity-moderate { border-left-color:#f59e0b; }
.incident-card.severity-major { border-left-color:#ea580c; }
.incident-card.severity-critical { border-left-color:#dc2626; }
.incident-card-head { display:flex; justify-content:space-between; gap:12px; }
.incident-card-head h2 { margin:5px 0; }
.incident-card-head p { color:var(--muted); }
.incident-severity { text-transform:uppercase; font-size:10px; font-weight:800; }
.incident-status-form { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:12px; }

@media (max-width:1150px) {
    .workshop-kpis { grid-template-columns:repeat(3,1fr); }
    .maintenance-board { grid-template-columns:repeat(2,1fr); }
    .incident-layout { grid-template-columns:1fr; }
    .incident-create { position:static; }
}
@media (max-width:760px) {
    .workshop-kpis,
    .maintenance-board,
    .maintenance-detail-grid,
    .maintenance-status-form,
    .maintenance-part-form,
    .stock-movement-form { grid-template-columns:1fr; }
}


/* Flotte : filtre marque et date de mise en circulation */
.fleet-page-actions {
    align-items: end;
}
.fleet-filter-form {
    display: grid;
    grid-template-columns: minmax(240px, 1.5fr) 180px 180px auto auto;
    gap: 8px;
    align-items: center;
    flex: 1;
}
.brand-badge {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #e0ecff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
}
@media (max-width: 1050px) {
    .fleet-filter-form {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 680px) {
    .fleet-page-actions {
        align-items: stretch;
    }
    .fleet-filter-form {
        grid-template-columns: 1fr;
    }
}


/* OXBikers Manager V3.3 — Finance & Reports */
.finance-kpis {
    display:grid;
    grid-template-columns:repeat(5,minmax(150px,1fr));
    gap:12px;
    margin-bottom:16px;
}
.finance-kpis.vat-kpis {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.finance-kpi span { display:block; color:var(--muted); }
.finance-kpi strong { display:block; margin-top:8px; font-size:24px; }
.finance-kpi.positive { border-left:4px solid #16a34a; }
.finance-kpi.negative { border-left:4px solid #dc2626; }
.finance-kpi.warning { border-left:4px solid #f59e0b; }
.finance-kpi.neutral { border-left:4px solid #64748b; }

.finance-monthly-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(160px,1fr));
    gap:10px;
}
.finance-month-card {
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8fafc;
}
.finance-month-card span,
.finance-month-card strong,
.finance-month-card small { display:block; }
.finance-month-card strong { margin:6px 0; font-size:19px; }

.finance-positive { color:#15803d; font-weight:700; }
.finance-negative { color:#b91c1c; font-weight:700; }

.finance-inline-form {
    display:grid;
    grid-template-columns:130px 110px auto;
    gap:6px;
}

.cca-section {
    margin-top: 14px;
}

.cca-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.cca-section-head h2 {
    margin: 0;
}

.cca-section-head p {
    margin: 6px 0 0;
    color: var(--muted);
}

.cca-kpis {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 12px;
}

.cca-kpis .finance-kpi small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
}

.cca-currency-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-weight: 700;
    font-size: 11px;
}
.report-links {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.report-link {
    display:grid;
    gap:7px;
    color:inherit;
    text-decoration:none;
}
.report-link:hover { transform:translateY(-2px); }
.report-link span { color:var(--muted); }
.report-two-columns {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

@media (max-width:1100px) {
    .finance-kpis { grid-template-columns:repeat(3,1fr); }
    .finance-monthly-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:780px) {
    .finance-kpis,
    .finance-monthly-grid,
    .report-links,
    .report-two-columns,
    .finance-inline-form {
        grid-template-columns:1fr;
    }

    .cca-section-head {
        flex-direction: column;
        align-items: stretch;
    }
}


/* V3.3.1 - Menu synchronisé */
.erp-menu {
    padding-bottom: 24px;
}
.erp-menu-title {
    margin-top: 18px;
}
.erp-menu-item.active {
    position: relative;
}
.erp-menu-item.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #fff;
}


/* OXBikers Manager V3.4 — Modes édition globaux */
.global-edit-form {
    max-width: 1180px;
    margin: 0 auto;
}
.reservation-edit-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    max-width: 1180px;
    margin: 0 auto 16px;
    padding: 22px 24px;
    border: 1px solid #d7e5ef;
    border-left: 5px solid #2563a6;
    border-radius: 10px;
    background: linear-gradient(135deg, #f4f9fd, #ffffff);
    box-shadow: 0 8px 22px rgba(23, 50, 77, .06);
}
.reservation-edit-hero a { color: #2563a6; font-size: 12px; font-weight: 800; text-decoration: none; }
.reservation-edit-hero p { margin: 13px 0 3px; color: #718399; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reservation-edit-hero h1 { margin: 0; color: #17263d; font-size: 28px; line-height: 1.1; }
.reservation-edit-hero div > span { display: block; margin-top: 6px; color: #718399; font-size: 12px; font-weight: 700; }
.reservation-edit-status { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: #dbeafe; color: #1d4f91; font-size: 12px; font-weight: 850; }
.reservation-edit-status.status-in_progress { background: #fef3c7; color: #92400e; }
.reservation-edit-status.status-completed { background: #dcfce7; color: #166534; }
.reservation-edit-status.status-cancelled { background: #fee2e2; color: #991b1b; }
.reservation-edit-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.reservation-edit-section { padding: 18px; border: 1px solid #dce7ef; border-radius: 9px; background: #fff; box-shadow: 0 5px 16px rgba(23, 50, 77, .045); }
.reservation-edit-section:last-child { grid-column: 1 / -1; }
.reservation-edit-section-head { margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid #e5edf3; }
.reservation-edit-section-head h2 { margin: 0; color: #17324d; font-size: 16px; }
.reservation-edit-section-head p { margin: 4px 0 0; color: #718399; font-size: 12px; }
.reservation-edit-section .form-grid { margin: 0; }
.reservation-edit-section label > span { display: block; margin-bottom: 6px; color: #52677b; font-size: 12px; font-weight: 800; }
.reservation-edit-section label > span b { color: #c2410c; }
.reservation-edit-section input,
.reservation-edit-section select,
.reservation-edit-section textarea { border-color: #d5e1ea; background: #fbfdff; }
.reservation-edit-section input:focus,
.reservation-edit-section select:focus,
.reservation-edit-section textarea:focus { border-color: #4b8ac4; box-shadow: 0 0 0 3px rgba(75, 138, 196, .12); }
.reservation-edit-sections + .form-actions { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e1eaf1; }
@media (max-width: 760px) {
    .reservation-edit-hero { align-items: flex-start; flex-direction: column; padding: 18px; }
    .reservation-edit-sections { grid-template-columns: 1fr; }
    .reservation-edit-section:last-child { grid-column: auto; }
}

/* V5.7.32 - Reservation edit visual refinement */
.reservation-edit-hero {
    padding: 25px 28px;
    border-top: 4px solid #2563a6;
    border-left: 1px solid #d7e5ef;
    border-radius: 13px;
    background: linear-gradient(120deg, #f5faff 0%, #ffffff 70%);
    box-shadow: 0 10px 26px rgba(23, 50, 77, .07);
}
.reservation-edit-hero a { display: inline-flex; align-items: center; gap: 6px; color: #205889; }
.reservation-edit-hero a:hover { color: #123f69; text-decoration: underline; }
.reservation-edit-hero p { margin-top: 16px; color: #6d8297; letter-spacing: .12em; }
.reservation-edit-hero h1 { color: #142b43; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.02em; }
.reservation-edit-hero div > span { color: #7b8ea0; font-size: 11px; }
.reservation-edit-status { padding: 8px 13px; border: 1px solid #c6dcf0; background: #eaf4ff; color: #205889; box-shadow: 0 3px 9px rgba(37, 99, 166, .08); }
.reservation-edit-status.status-in_progress { border-color: #f1d69d; }
.reservation-edit-status.status-completed { border-color: #b9e5c8; }
.reservation-edit-status.status-cancelled { border-color: #f1c2c2; }
.reservation-edit-form,
.global-edit-form.reservation-edit-form { background: transparent; }
.global-edit-form:has(.reservation-edit-sections) {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.global-edit-form:has(.reservation-edit-sections) .edit-notice {
    margin: 0 0 14px;
    padding: 12px 15px;
    border: 1px solid #cfe1ef;
    border-left: 4px solid #5c95c3;
    border-radius: 9px;
    background: #f4faff;
    color: #46657d;
    font-size: 12px;
}
.reservation-edit-section {
    padding: 20px;
    border-color: #d8e5ee;
    border-radius: 11px;
    box-shadow: 0 7px 20px rgba(23, 50, 77, .05);
}
.reservation-edit-section-head { display: flex; align-items: flex-start; gap: 12px; }
.reservation-edit-section-head::before {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 50%;
    background: #4b8ac4;
    content: '';
}
.reservation-edit-section-head h2 { color: #173b59; font-size: 17px; letter-spacing: -.01em; }
.reservation-edit-section-head p { max-width: 620px; line-height: 1.45; }
.reservation-edit-section .form-grid { row-gap: 15px; column-gap: 15px; }
.reservation-edit-section label { color: #2d4a63; }
.reservation-edit-section label > span { color: #557087; font-size: 11px; letter-spacing: .01em; }
.reservation-edit-section input,
.reservation-edit-section select,
.reservation-edit-section textarea {
    min-height: 42px;
    border: 1px solid #d2e0ea;
    border-radius: 8px;
    background: #fff;
    color: #1d344a;
    box-shadow: inset 0 1px 1px rgba(23, 50, 77, .025);
}
.reservation-edit-section textarea { min-height: 112px; resize: vertical; }
.reservation-edit-section input:hover,
.reservation-edit-section select:hover,
.reservation-edit-section textarea:hover { border-color: #a9c4d9; }
.reservation-edit-section input:focus,
.reservation-edit-section select:focus,
.reservation-edit-section textarea:focus { outline: 0; border-color: #3f80b5; background: #fff; box-shadow: 0 0 0 3px rgba(63, 128, 181, .13); }
.global-edit-form:has(.reservation-edit-sections) .form-actions {
    position: sticky;
    bottom: 12px;
    z-index: 12;
    justify-content: flex-end;
    margin-top: 16px;
    padding: 11px 13px;
    border: 1px solid #d5e2ec;
    border-radius: 10px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 7px 22px rgba(23, 50, 77, .12);
    backdrop-filter: blur(8px);
}
.global-edit-form:has(.reservation-edit-sections) .form-actions .btn { min-height: 40px; border-radius: 8px; }
@media (max-width: 760px) {
    .reservation-edit-hero { padding: 20px; }
    .reservation-edit-hero h1 { font-size: 27px; }
    .reservation-edit-status { align-self: flex-start; }
    .reservation-edit-section { padding: 16px; }
    .global-edit-form:has(.reservation-edit-sections) .form-actions { bottom: 6px; flex-direction: column-reverse; }
    .global-edit-form:has(.reservation-edit-sections) .form-actions .btn { width: 100%; justify-content: center; }
}
.edit-form-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}
.motorcycle-edit-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: -2px 0 22px;
    padding: 18px 20px;
    border-left: 4px solid #0f766e;
    background: #ecfdf5;
}
.motorcycle-edit-overview p {
    margin: 0 0 4px;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}
.motorcycle-edit-overview h1 {
    margin: 0;
    color: #12344d;
    font-size: 25px;
    line-height: 1.1;
}
.motorcycle-edit-overview div > span {
    display: block;
    margin-top: 5px;
    color: #52616b;
    font-size: 13px;
    font-weight: 700;
}
.motorcycle-edit-status {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 6px;
    background: #d1fae5;
    color: #065f46;
    font-size: 12px;
    font-weight: 800;
}
.motorcycle-edit-status.status-maintenance,
.motorcycle-edit-status.status-out_of_service {
    background: #fee2e2;
    color: #991b1b;
}
.motorcycle-edit-status.status-reserved,
.motorcycle-edit-status.status-assigned,
.motorcycle-edit-status.status-in_rental,
.motorcycle-edit-status.status-in_delivery {
    background: #dbeafe;
    color: #1d4ed8;
}
.motorcycle-edit-sections {
    display: grid;
    gap: 24px;
}
.motorcycle-edit-section {
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.motorcycle-edit-section h2 {
    margin: 0 0 14px;
    color: #12344d;
    font-size: 15px;
}
.motorcycle-edit-section .edit-form-grid label {
    min-height: 76px;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
}
.motorcycle-edit-section .edit-form-grid input,
.motorcycle-edit-section .edit-form-grid select,
.motorcycle-edit-section .edit-form-grid textarea {
    border-color: #cbd5e1;
    background: #fff;
}
.motorcycle-edit-section .edit-form-grid label:focus-within {
    border-color: #0f766e;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, .12);
}
.edit-notice {
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 13px;
}
.edit-btn {
    white-space: nowrap;
}
.task-edit-action,
.incident-edit-row {
    margin: 10px 0;
}
.finance-edit-actions {
    align-items: center;
    flex-wrap: nowrap;
}
@media (max-width: 980px) {
    .edit-form-grid {
        grid-template-columns: repeat(2, minmax(200px, 1fr));
    }
}
@media (max-width: 680px) {
    .edit-form-grid {
        grid-template-columns: 1fr;
    }
    .motorcycle-edit-overview {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Client edit */
.client-edit-hero {
    display: flex;
    max-width: 1180px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto 14px;
    padding: 17px 20px;
    border: 1px solid #173f5d;
    border-radius: 8px;
    background: #12344d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(15, 39, 66, .12);
}
.client-edit-identity { display: flex; min-width: 0; align-items: center; gap: 14px; }
.client-edit-avatar {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 7px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
}
.client-edit-identity a { color: #9bd5fa; font-size: 11px; font-weight: 800; text-decoration: none; }
.client-edit-identity h1 { margin: 3px 0 2px; overflow: hidden; color: #fff; font-size: 22px; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.client-edit-identity p { margin: 0; color: #c8dce9; font-size: 11px; }
.client-edit-identity p strong { color: #fff; }
.client-edit-hero > .btn { flex: 0 0 auto; min-height: 40px; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.1); color: #fff; }
.client-edit-hero > .btn:hover { background: #fff; color: #164f76; }
.client-edit-form { padding: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 7px 22px rgba(15,39,66,.06); }
.client-edit-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-edit-section { min-width: 0; padding: 20px; border-bottom: 1px solid #e3eaf0; }
.client-edit-section:nth-child(odd) { border-right: 1px solid #e3eaf0; }
.client-edit-section:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
.client-edit-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 17px; padding-bottom: 12px; border-bottom: 1px solid #e8edf2; }
.client-edit-section-head h2 { margin: 0; color: #17324d; font-size: 16px; letter-spacing: 0; }
.client-edit-section-head p { margin: 4px 0 0; color: #7a8998; font-size: 11px; }
.client-edit-section-head > span { flex: 0 0 auto; padding: 4px 7px; border-radius: 4px; background: #edf3f7; color: #61778b; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.client-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.client-edit-grid label { min-width: 0; gap: 6px; }
.client-edit-grid label > span { color: #526d82; font-size: 11px; font-weight: 800; }
.client-edit-grid label > span b { color: #c74747; }
.client-edit-grid input, .client-edit-grid select { min-height: 42px; border-color: #cdd9e4; border-radius: 5px; color: #18324d; background: #fff; }
.client-edit-grid input:focus, .client-edit-grid select:focus { outline: 0; border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47,124,171,.12); }
.client-edit-actions { position: sticky; bottom: 0; margin: 0; padding: 14px 20px; border-top: 1px solid #dce5ec; background: rgba(248,250,252,.96); box-shadow: 0 -5px 16px rgba(15,39,66,.045); }
.client-edit-actions .btn { min-height: 40px; border-radius: 5px; font-weight: 800; }
@media (max-width: 800px) {
    .client-edit-sections { grid-template-columns: 1fr; }
    .client-edit-section, .client-edit-section:nth-child(odd), .client-edit-section:last-child { grid-column: 1; border-right: 0; border-bottom: 1px solid #e3eaf0; }
    .client-edit-section:last-child { border-bottom: 0; }
}
@media (max-width: 560px) {
    .client-edit-hero { align-items: stretch; flex-direction: column; padding: 15px; }
    .client-edit-hero > .btn { width: 100%; justify-content: center; text-align: center; }
    .client-edit-grid { grid-template-columns: 1fr; }
    .client-edit-section { padding: 16px; }
    .client-edit-actions { display: grid; grid-template-columns: 1fr; padding: 12px 16px; }
    .client-edit-actions .btn { width: 100%; text-align: center; }
}

/* Client creation categories */
.client-create-page { display: grid; gap: 14px; max-width: 1080px; margin: 0 auto; padding-bottom: 26px; }
.client-create-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 21px; border: 1px solid #173f5d; border-radius: 8px; background: #12344d; color: #fff; box-shadow: 0 8px 24px rgba(15,39,66,.12); }
.client-create-hero a { color: #9bd5fa; font-size: 11px; font-weight: 800; text-decoration: none; }
.client-create-hero h1 { margin: 4px 0 3px; color: #fff; font-size: 24px; letter-spacing: 0; }
.client-create-hero p { margin: 0; color: #d7e7f2; font-size: 12px; }
.client-create-hero > span { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 5px; background: rgba(255,255,255,.08); color: #eef8fd; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.client-create-form { margin: 0; padding: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 6px 20px rgba(15,39,66,.055); }
.client-create-section { padding: 20px; border-bottom: 1px solid #e3eaf0; }
.client-create-section-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 17px; padding-bottom: 12px; border-bottom: 1px solid #e7edf2; }
.client-create-section-head > span { display: grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border-radius: 5px; background: #e9f3f8; color: #246f9e; font-size: 10px; font-weight: 900; }
.client-create-section-head h2 { margin: 0; color: #17324d; font-size: 16px; letter-spacing: 0; }
.client-create-section-head p { margin: 3px 0 0; color: #7a8998; font-size: 11px; }
.client-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.client-type-option { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) 22px; min-height: 76px; align-items: center; gap: 12px; padding: 13px; border: 1px solid #d7e2eb; border-radius: 7px; background: #fafcfd; color: #334e68; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.client-type-option:hover { border-color: #8bb8d3; background: #f3f9fc; }
.client-type-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.client-type-option:has(input:checked) { border-color: #2f7cab; background: #edf7fb; box-shadow: inset 0 0 0 1px #2f7cab; }
.client-type-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 6px; background: #e7eef4; color: #526d82; font-size: 14px; font-weight: 900; }
.client-type-option:has(input:checked) .client-type-icon { background: #2f7cab; color: #fff; }
.client-type-option > span:nth-of-type(2) { display: grid; gap: 3px; min-width: 0; }
.client-type-option strong { color: #17324d; font-size: 13px; }
.client-type-option small { color: #718196; font-size: 11px; font-weight: 500; }
.client-type-option > b { display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid #cbd7e0; border-radius: 50%; background: #fff; color: transparent; font-size: 11px; }
.client-type-option:has(input:checked) > b { border-color: #27835c; background: #27835c; color: #fff; }
.client-create-form [hidden] { display: none !important; }
.company-fields { background: #fbfcfd; }
.company-fields .client-create-section-head > span { background: #eef6ee; color: #28744f; }
.client-create-form .form-grid { gap: 14px; }
.client-create-form label:not(.client-type-option) { gap: 6px; color: #526d82; font-size: 11px; font-weight: 800; }
.client-create-form input, .client-create-form select { min-height: 42px; border-color: #cdd9e4; border-radius: 5px; color: #18324d; background: #fff; }
.client-create-form input:focus, .client-create-form select:focus { outline: 0; border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47,124,171,.12); }
.client-create-form .full-row { margin-top: 0; grid-column: 1 / -1; }
.client-create-actions { position: sticky; bottom: 0; z-index: 10; margin: 0; padding: 13px 20px; border-top: 1px solid #dce5ec; background: rgba(248,250,252,.96); box-shadow: 0 -5px 16px rgba(15,39,66,.045); }
.client-create-actions .btn { min-height: 41px; border-radius: 5px; font-weight: 850; }
@media (max-width: 700px) {
    .client-create-hero { align-items: flex-start; flex-direction: column; padding: 16px; }
    .client-create-hero > span { display: none; }
    .client-type-options, .client-create-form .form-grid { grid-template-columns: 1fr; }
    .client-create-form .full-row { grid-column: 1; }
}
@media (max-width: 480px) {
    .client-create-page { gap: 10px; }
    .client-create-section { padding: 15px; }
    .client-type-option { grid-template-columns: 36px minmax(0, 1fr) 21px; min-height: 70px; padding: 11px; }
    .client-type-icon { width: 36px; height: 36px; }
    .client-create-actions { display: grid; grid-template-columns: 1fr; padding: 12px 15px; }
    .client-create-actions .btn { width: 100%; justify-content: center; text-align: center; }
}

/* Client dossier */
.client-dossier-page { display: grid; gap: 14px; max-width: 1380px; margin: 0 auto; padding-bottom: 30px; }
.client-dossier-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 21px; border: 1px solid #173f5d; border-radius: 8px; background: #12344d; color: #fff; box-shadow: 0 8px 24px rgba(15,39,66,.12); }
.client-dossier-heading { min-width: 0; }
.client-dossier-heading a { color: #9bd5fa; font-size: 11px; font-weight: 800; text-decoration: none; }
.client-dossier-heading > span { display: block; margin-top: 5px; color: #b8d9ed; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.client-dossier-heading h1 { margin: 2px 0 3px; overflow: hidden; color: #fff; font-size: 25px; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.client-dossier-heading p { margin: 0; color: #d7e7f2; font-size: 12px; }
.client-dossier-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.client-dossier-actions .btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 11px; font-weight: 850; }
.client-dossier-actions .btn.secondary { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.09); color: #fff; }
.client-dossier-actions .btn.secondary:hover { background: #fff; color: #164f76; }
.client-dossier-summary { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 9px; }
.client-dossier-summary article { position: relative; display: grid; gap: 2px; min-height: 76px; padding: 12px 14px 12px 17px; overflow: hidden; border: 1px solid #dce5ec; border-radius: 7px; background: #fff; box-shadow: 0 4px 14px rgba(17,43,69,.04); }
.client-dossier-summary article::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: #2f7cab; }
.client-dossier-summary article:nth-child(2)::before { background: #27835c; }
.client-dossier-summary article:nth-child(3)::before { background: #71869a; }
.client-dossier-summary article.is-rated::before { background: #d58a14; }
.client-dossier-summary span { color: #627d98; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.client-dossier-summary strong { color: #102a43; font-size: 20px; font-variant-numeric: tabular-nums; }
.client-dossier-summary small { color: #829ab1; font-size: 10px; }
.client-dossier-page .card { border-color: #dce5ec; border-radius: 8px; box-shadow: 0 4px 16px rgba(17,43,69,.045); }
.client-dossier-profile { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 14px; margin-bottom: 0; }
.client-dossier-profile > .card { height:100%; box-sizing:border-box; }
.client-dossier-profile .client-identity-card { grid-template-columns:86px minmax(0,1fr); align-items:center; gap:18px; padding:20px; border-top:4px solid #2f7cab; background:#fff; }
.client-dossier-profile .client-profile-photo { width:86px; height:86px; border:3px solid #e8f0f5; border-radius:10px; background:#36566d; box-shadow:0 5px 14px rgba(24,50,74,.14); }
.client-dossier-profile .client-identity-card > div:nth-child(2) { min-width:0; padding-left:2px; }
.client-dossier-profile .client-identity-card h2 { margin:5px 0 3px; overflow:hidden; color:#17324d; font-size:22px; text-overflow:ellipsis; white-space:nowrap; }
.client-dossier-profile .client-identity-card p { margin: 0; color: #718196; font-size: 11px; }
.client-dossier-page .client-legal-type { border-radius: 4px; }
.client-dossier-page .client-detail-list { gap:9px; margin-top:2px; }
.client-dossier-page .client-detail-list > div { display:grid; align-content:center; min-height:66px; padding:10px 12px; border-color:#dde7ee; border-radius:7px; background:#f7fafc; }
.client-dossier-page .client-detail-list span { letter-spacing: .05em; font-size: 9px; }
.client-dossier-page .client-detail-list strong { margin-top: 3px; color: #17324d; font-size: 12px; }
.client-dossier-page .client-rating-detail { border-color:#ead29f; background:#fff9ed; }
.client-dossier-page .client-rating-detail > span { color:#91641b; }
.client-dossier-page .client-rating-display { display:inline-flex; align-items:center; gap:4px; width:max-content; margin-top:6px; color:#cbd5e1; font-size:27px; line-height:1; letter-spacing:0; white-space:nowrap; }
.client-dossier-page .client-rating-display > span { display:inline-block; color:#cbd5e1; font-size:inherit; line-height:1; letter-spacing:0; text-transform:none; }
.client-dossier-page .client-rating-display > span.filled { color:#dfa01f; }
.client-dossier-page .client-rating-comment-detail { grid-column:1 / -1; min-height:0 !important; border-left:3px solid #d9a13b !important; background:#fffdf8 !important; }
.client-dossier-page .client-rating-comment-detail strong { color:#52677a; font-size:11px; font-weight:650; line-height:1.5; }
.client-administration-card { padding: 19px; border-top: 3px solid #71869a; }
.client-administration-card > h2 { margin: 0 0 14px; color: #17324d; font-size: 16px; letter-spacing: 0; }
.client-rating-section, .client-documents-section, .client-upload-section { margin: 0; padding: 18px; }
.client-rating-section { overflow:hidden; border-top:3px solid #d58a14 !important; background:#fff; }
.client-rating-section .section-title, .client-documents-section .section-title { margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid #e5ebf0; }
.client-rating-section .section-title h2, .client-documents-section .section-title h2 { color: #17324d; font-size: 17px; }
.client-rating-kicker { display:block; margin-bottom:3px; color:#a66b0d; font-size:8px; font-weight:900; text-transform:uppercase; }
.client-rating-current { display:grid; flex:0 0 auto; min-width:94px; padding:8px 11px; border:1px solid #d9e2e9; border-radius:6px; background:#f7f9fb; text-align:right; }
.client-rating-current strong { color:#65798b; font-size:19px; font-variant-numeric:tabular-nums; }
.client-rating-current span { margin-top:1px; color:#8493a0; font-size:8px; font-weight:800; text-transform:uppercase; }
.client-rating-current.is-rated { border-color:#ebcf9d; background:#fff8ea; }
.client-rating-current.is-rated strong { color:#a66b0d; }
.client-rating-section .client-rating-form { grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr) auto; align-items:end; gap:15px; padding:14px; border:1px solid #e1e8ed; border-radius:7px; background:#f8fafb; }
.client-rating-score-field { display:grid; align-content:center; min-height:86px; padding:10px 12px; border:1px solid #e2e8ed; border-radius:6px; background:#fff; }
.client-rating-score-field > span { color:#526d82; font-size:9px; font-weight:850; text-transform:uppercase; }
.client-rating-score-field > small { margin-top:5px; color:#8795a2; font-size:8px; }
.client-rating-section .client-star-rating { align-self:center; gap:5px; margin-top:6px; }
.client-rating-section .client-star-rating label { font-size:42px; color:#cbd5dd; text-shadow:0 1px 0 #fff; }
.client-rating-section .client-star-rating label:hover,
.client-rating-section .client-star-rating label:hover~label,
.client-rating-section .client-star-rating input:checked~label { color:#dfa01f; }
.client-rating-section .client-star-rating input:focus-visible+label { outline:2px solid #2f7cab; outline-offset:3px; border-radius:3px; }
.client-rating-section .client-rating-form > label { min-width: 0; }
.client-rating-comment { display:grid; gap:5px; color:#526d82; font-size:9px; font-weight:850; text-transform:uppercase; }
.client-rating-section .client-rating-form textarea { min-height:86px; padding:10px 11px; border-color:#cdd9e4; border-radius:6px; background:#fff; color:#29465d; line-height:1.45; text-transform:none; resize:vertical; }
.client-rating-section .client-rating-form textarea:focus { outline:0; border-color:#d39a30; box-shadow:0 0 0 3px rgba(211,154,48,.12); }
.client-rating-section .form-actions { margin: 0; }
.client-rating-section .form-actions .btn { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding-inline:14px; border-radius:5px; background:#b77916; white-space:nowrap; font-size:10px; font-weight:850; }
.client-rating-section .form-actions .btn:hover { background:#9d6511; }
.client-rating-section .form-actions .btn svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.client-dossier-page .client-history-grid { gap: 12px; margin-top: 0; }
.client-history-card { padding: 0; overflow: hidden; }
.client-history-card > .section-title { margin: 0; padding: 15px 17px; border-bottom: 1px solid #dce5ec; background: #f7fafc; }
.client-history-card .section-title h2 { color: #17324d; font-size: 16px; }
.client-history-card .section-title p { font-size: 10px; }
.client-history-table-wrap { overflow: auto; }
.client-dossier-page .client-history-table { display: table; min-width: 760px; }
.client-dossier-page .client-history-table thead { display: table-header-group; }
.client-dossier-page .client-history-table tbody { display: table-row-group; }
.client-dossier-page .client-history-table tr { display: table-row; }
.client-dossier-page .client-history-table th { padding: 10px 12px; background: #edf3f7; color: #60758a; font-size: 9px; font-weight: 850; letter-spacing: .055em; }
.client-dossier-page .client-history-table td { padding: 11px 12px; color: #40566c; font-size: 11px; vertical-align: middle; }
.client-dossier-page .client-history-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.client-dossier-page .client-history-link { color: #146b9f; font-size: 12px; font-weight: 850; }
.client-dossier-page .client-history-meta { margin-top: 3px; color: #718196; font-size: 10px; }
.client-document-summary { gap: 9px; margin-bottom: 0; }
.client-document-summary .document-summary-card { min-height: 82px; padding: 13px 15px; border-radius: 7px; box-shadow: 0 3px 12px rgba(15,39,66,.035); }
.client-document-summary .document-summary-card span { font-size: 9px; font-weight: 850; text-transform: uppercase; }
.client-document-summary .document-summary-card strong { margin-top: 3px; font-size: 15px; }
.client-document-summary .document-summary-card a { margin-top: 5px; color: #146b9f; font-size: 10px; font-weight: 800; text-decoration: none; }
.client-documents-section .client-document-grid { grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 10px; }
.client-documents-section .client-document-card { border-color: #dce5ec; border-radius: 7px; }
.client-documents-section .client-document-preview { height: 145px; background: #edf2f6; }
.client-documents-section .client-document-body { padding: 12px; }
.client-documents-section .client-document-body h3 { color: #17324d; font-size: 13px; }
.client-documents-section .client-document-body p, .client-documents-section .client-document-body small { font-size: 10px; }
.client-documents-section .client-document-body .inline-actions { display: grid; grid-template-columns: 1fr 1fr 34px; margin-top: 9px; }
.client-documents-section .client-document-body .inline-actions .btn { min-height: 34px; padding: 7px 8px; border-radius: 5px; font-size: 10px; text-align: center; }
.client-upload-section { scroll-margin-top: 86px; border-top: 3px solid #27835c !important; }
.client-upload-section > h2 { margin: 0 0 15px; color: #17324d; font-size: 17px; }
.client-upload-section .client-document-upload { max-width: none; }
.client-upload-section .form-grid { gap: 12px; }
.client-upload-section input, .client-upload-section select, .client-upload-section textarea { border-color: #cdd9e4; border-radius: 5px; }
.client-upload-section .document-drop-zone { min-height: 92px; justify-content: center; border-radius: 7px; background: #f7fafc; }
.client-upload-section .replace-document-option { border-radius: 7px; background: #f8fafc; }
.client-upload-section .form-actions .btn { min-height: 41px; border-radius: 5px; }
@media (max-width: 1100px) {
    .client-documents-section .client-document-grid { grid-template-columns: repeat(3, minmax(200px, 1fr)); }
}
@media (max-width: 850px) {
    .client-dossier-hero { align-items: flex-start; flex-direction: column; }
    .client-dossier-actions { width: 100%; }
    .client-dossier-actions .btn { flex: 1; }
    .client-dossier-profile { grid-template-columns: 1fr; }
    .client-rating-section .client-rating-form { grid-template-columns: 1fr; align-items: stretch; }
    .client-rating-section .client-star-rating { align-self: start; }
    .client-rating-current { min-width:84px; }
    .client-rating-section .form-actions .btn { width: 100%; }
    .client-documents-section .client-document-grid { grid-template-columns: repeat(2, minmax(200px, 1fr)); }
}
@media (max-width: 700px) {
    .client-dossier-page { gap: 10px; }
    .client-dossier-hero { padding: 15px; }
    .client-dossier-heading h1 { font-size: 21px; white-space: normal; }
    .client-dossier-summary { grid-template-columns: repeat(2, 1fr); }
    .client-rating-section .section-title { align-items:flex-start; }
    .client-rating-current { min-width:76px; padding:7px 9px; }
    .client-rating-section .client-rating-form { padding:10px; }
    .client-rating-section .client-star-rating label { font-size:36px; }
    .client-dossier-profile .client-identity-card { grid-template-columns:68px minmax(0,1fr); gap:12px; padding:14px; }
    .client-dossier-profile .client-profile-photo { width:68px; height:68px; }
    .client-dossier-profile .client-identity-card h2 { font-size:19px; }
    .client-dossier-page .client-detail-list { grid-template-columns: 1fr; }
    .client-dossier-page .client-detail-list > div { min-height:60px; }
    .client-dossier-page .client-rating-comment-detail { grid-column:1; }
    .client-history-table-wrap { overflow: visible; }
    .client-dossier-page .client-history-table, .client-dossier-page .client-history-table tbody { display: block; min-width: 0; }
    .client-dossier-page .client-history-table thead { display: none; }
    .client-dossier-page .client-history-row { display: grid; grid-template-columns: 1fr 1fr; margin: 10px; overflow: hidden; border: 1px solid #d8e3ec; border-left: 4px solid #2f7cab; border-radius: 7px; }
    .client-dossier-page .client-history-row td { display: block; min-width: 0; padding: 9px 10px; border: 0; border-bottom: 1px solid #edf1f4; background: #fff !important; white-space: normal; overflow-wrap: anywhere; }
    .client-dossier-page .client-history-row td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #8391a0; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
    .client-dossier-page .client-history-row td:first-child { grid-column: 1 / -1; background: #f5f9fb !important; }
    .client-documents-section .client-document-grid { grid-template-columns: 1fr; }
    .client-documents-section .client-document-card { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
    .client-documents-section .client-document-preview { height: 100%; min-height: 155px; border-bottom: 0; border-right: 1px solid #e6edf6; }
}
@media (max-width: 480px) {
    .client-dossier-actions { display: grid; grid-template-columns: 1fr; }
    .client-dossier-summary article { min-height: 68px; padding: 10px 11px 10px 14px; }
    .client-dossier-summary strong { font-size: 18px; }
    .client-dossier-page .client-history-row { grid-template-columns: 1fr; }
    .client-dossier-page .client-history-row td:first-child { grid-column: 1; }
    .client-documents-section .client-document-card { grid-template-columns: 1fr; }
    .client-documents-section .client-document-preview { height: 145px; border-right: 0; border-bottom: 1px solid #e6edf6; }
    .client-rating-section, .client-documents-section, .client-upload-section { padding: 14px; }
    .client-upload-section .form-grid { grid-template-columns: 1fr; }
    .client-upload-section .full-row { grid-column: 1; }
    .client-upload-section .form-actions .btn { width: 100%; }
}

/* Availability lead detail */
.availability-lead-page { display: grid; gap: 14px; max-width: 1260px; margin: 0 auto; padding-bottom: 28px; }
.availability-lead-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 21px; border: 1px solid #173f5d; border-radius: 8px; background: #12344d; color: #fff; box-shadow: 0 8px 24px rgba(15,39,66,.12); }
.availability-lead-heading { min-width: 0; }
.availability-lead-heading a { color: #9bd5fa; font-size: 11px; font-weight: 800; text-decoration: none; }
.availability-lead-heading > span { display: block; margin-top: 5px; color: #b8d9ed; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.availability-lead-heading h1 { margin: 2px 0 3px; color: #fff; font-size: 24px; letter-spacing: 0; }
.availability-lead-heading p { margin: 0; overflow: hidden; max-width: 620px; color: #d7e7f2; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.availability-lead-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.availability-lead-actions form { margin: 0; }
.availability-lead-actions .btn { min-height: 39px; border-radius: 5px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.availability-lead-actions .btn.secondary { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.09); color: #fff; }
.availability-lead-actions .btn.secondary:hover { background: #fff; color: #164f76; }
.availability-lead-page .card { border-radius: 8px; box-shadow: 0 4px 16px rgba(17,43,69,.045); }
.availability-readiness { margin: 0; padding: 16px 18px; }
.availability-readiness .quote-validation-header { align-items: center; margin-bottom: 12px; }
.availability-readiness .quote-validation-header h2 { margin: 2px 0 0; color: #17324d; font-size: 17px; letter-spacing: 0; }
.availability-section-kicker { color: #2f7cab; font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.availability-readiness .quote-validation-grid { gap: 8px; }
.availability-readiness .validation-chip { min-height: 68px; gap: 2px; padding: 11px 13px; border-radius: 6px; }
.availability-readiness .validation-chip span { font-size: 10px; font-weight: 750; }
.availability-readiness .validation-chip strong { font-size: 15px; }
.availability-edit-grid { grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); gap: 14px; margin-bottom: 0; }
.availability-panel { margin: 0; padding: 18px; min-width: 0; }
.availability-context-panel { grid-column: 1 / -1; }
.availability-panel .section-title { align-items: flex-start; margin-bottom: 15px; padding-bottom: 12px; border-bottom: 1px solid #e5ebf0; }
.availability-panel .section-title h2, .availability-line-card .section-title h2 { margin: 2px 0 3px; color: #17324d; font-size: 17px; letter-spacing: 0; }
.availability-panel .section-title p, .availability-line-card .section-title p { margin: 0; color: #7a8998; font-size: 11px; }
.availability-lead-page .top-edit-grid { gap: 12px; margin-top: 0; }
.availability-lead-page .top-field { gap: 6px; }
.availability-lead-page .top-field strong { color: #526d82; font-size: 10px; font-weight: 850; letter-spacing: .025em; text-transform: uppercase; }
.availability-lead-page .top-field input, .availability-lead-page .top-field textarea, .availability-lead-page .top-field select { min-height: 41px; padding: 9px 10px; border-color: #cdd9e4; border-radius: 5px; color: #18324d; }
.availability-lead-page .top-field input:focus, .availability-lead-page .top-field textarea:focus, .availability-lead-page .top-field select:focus { outline: 0; border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47,124,171,.12); }
.availability-lead-page .top-field textarea { min-height: 96px; }
.availability-lead-page .top-static { min-height: 41px; padding: 10px; border-color: #dce5ec; border-radius: 5px; background: #f6f8fa; color: #40566c; }
.availability-save-actions { position: sticky; bottom: 0; z-index: 8; margin: 16px -18px -18px; padding: 12px 18px; border-top: 1px solid #dce5ec; background: rgba(248,250,252,.96); box-shadow: 0 -4px 14px rgba(15,39,66,.04); }
.availability-save-actions .btn { min-height: 40px; border-radius: 5px; font-weight: 850; }
.availability-line-card { margin: 0; padding: 18px; }
.availability-line-card > .section-title { align-items: flex-start; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #e5ebf0; }
.availability-line-table-wrap { border: 1px solid #dce5ec; border-radius: 6px; }
.availability-line-table thead th { padding: 10px; background: #edf3f7; color: #60758a; font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.availability-line-table tbody td { padding: 12px 10px; color: #334b61; font-size: 12px; }
.availability-line-table tbody td:first-child { color: #17324d; font-weight: 850; }
.availability-line-card .conversion-copy-list { margin-top: 12px; padding: 10px 12px; border: 1px solid #d8e6ef; border-radius: 5px; background: #f3f8fb; }
.availability-line-card .conversion-copy-list span { font-size: 10px; }
.availability-line-card .conversion-copy-list strong { color: #245f84; font-size: 11px; }
.availability-payload-card { margin: 0; padding: 14px 18px; background: #f8fafc; }
.availability-payload-card h3 { margin: 0; color: #526d82; font-size: 13px; }
.availability-payload-card .payload-toggle { margin-top: 8px; color: #60758a; font-size: 11px; }
.availability-payload-card .payload-box { border-radius: 5px; }
@media (max-width: 1050px) {
    .availability-lead-hero { align-items: flex-start; flex-direction: column; }
    .availability-lead-actions { width: 100%; }
    .availability-lead-actions form { flex: 1; }
    .availability-lead-actions .btn { width: 100%; }
    .availability-edit-grid { grid-template-columns: 1fr; }
    .availability-context-panel { grid-column: 1; }
}
@media (max-width: 700px) {
    .availability-lead-page { gap: 10px; }
    .availability-lead-hero { padding: 15px; }
    .availability-lead-heading p { white-space: normal; }
    .availability-lead-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .availability-lead-actions form:last-child { grid-column: 1 / -1; }
    .availability-readiness .quote-validation-grid, .availability-lead-page .top-edit-grid { grid-template-columns: 1fr; }
    .availability-lead-page .top-edit-grid .full { grid-column: 1; }
    .availability-panel, .availability-line-card { padding: 14px; }
    .availability-save-actions { margin: 14px -14px -14px; padding: 11px 14px; }
    .availability-line-table-wrap { overflow: visible; border: 0; }
    .availability-line-table, .availability-line-table tbody { display: block; }
    .availability-line-table thead { display: none; }
    .availability-line-row { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #d8e3ec; border-left: 4px solid #2f7cab; border-radius: 7px; }
    .availability-line-table .availability-line-row td { display: block; padding: 10px 11px; border: 0; border-bottom: 1px solid #edf1f4; white-space: normal; }
    .availability-line-table .availability-line-row td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #8391a0; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
    .availability-line-table .availability-line-row td:first-child { grid-column: 1 / -1; background: #f5f9fb; }
}
@media (max-width: 440px) {
    .availability-lead-actions { grid-template-columns: 1fr; }
    .availability-lead-actions form:last-child { grid-column: 1; }
    .availability-line-row { grid-template-columns: 1fr; }
    .availability-line-table .availability-line-row td:first-child { grid-column: 1; }
    .availability-save-actions .btn { width: 100%; }
}


/* OXBikers Manager V3.5 — Rôles et permissions */
.permission-intro {
    margin-bottom: 16px;
}
.permission-intro h2,
.permission-intro p {
    margin-top: 0;
}
.permission-intro p {
    margin-bottom: 0;
    color: var(--muted);
}

.role-permission-tabs {
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.role-tab-list {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 8px;
}

.role-tab-button {
    display: grid;
    gap: 4px;
    width: 100%;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
    color: #263449;
    text-align: left;
    cursor: pointer;
}
.role-tab-button small {
    color: var(--muted);
    line-height: 1.35;
}
.role-tab-button.active {
    border-color: #ef2f35;
    background: #fff5f5;
    box-shadow: 0 7px 18px rgba(239,47,53,.10);
}

.role-permission-panel {
    display: none;
}
.role-permission-panel.active {
    display: block;
}

.permission-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}
.permission-panel-header h2 {
    margin: 0 0 4px;
}
.permission-panel-header p {
    margin: 0;
    color: var(--muted);
}

.permission-full-access {
    display: inline-flex;
    padding: 8px 11px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 800;
}

.permission-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 13px;
}

.permission-group-card {
    padding: 0;
    overflow: hidden;
}
.permission-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 15px;
    border-bottom: 1px solid var(--line);
    background: #f8fafc;
}
.permission-group-head h3 {
    margin: 0;
    font-size: 15px;
}
.permission-group-head span {
    color: var(--muted);
    font-size: 11px;
}

.permission-options {
    display: grid;
    gap: 0;
}
.permission-option {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1f5;
    cursor: pointer;
}
.permission-option:last-child {
    border-bottom: 0;
}
.permission-option:hover {
    background: #fafcff;
}
.permission-option input {
    width: auto;
    margin-top: 3px;
}
.permission-option span,
.permission-option strong,
.permission-option small {
    display: block;
}
.permission-option strong {
    font-size: 13px;
}
.permission-option small {
    margin-top: 3px;
    color: #94a3b8;
    font-size: 10px;
}

.permission-save-bar {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 24px rgba(15,23,42,.06);
    backdrop-filter: blur(8px);
}

.error-page {
    width: min(560px, calc(100% - 30px));
    margin: 8vh auto;
    text-align: center;
}
.error-page h1 {
    margin: 0;
    color: #ef2f35;
    font-size: 72px;
}
.error-page h2 {
    margin-top: 0;
}

@media (max-width: 1050px) {
    .role-permission-tabs {
        grid-template-columns: 1fr;
    }
    .role-tab-list {
        position: static;
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 780px) {
    .permission-groups,
    .role-tab-list {
        grid-template-columns: 1fr;
    }
    .permission-panel-header {
        align-items: stretch;
        flex-direction: column;
    }
}


/* OXBikers Manager V3.6 — Dossier client numérique */
.document-indicator {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}
.document-indicator.present {
    background: #dcfce7;
    color: #166534;
}
.document-indicator.missing {
    background: #fee2e2;
    color: #991b1b;
}

.client-profile-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 14px;
    margin-bottom: 14px;
}
.client-identity-card {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 16px;
    align-items: center;
}
.client-identity-card .client-detail-list {
    grid-column: 1 / -1;
}
.client-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.client-detail-list > div {
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}
.client-detail-list span,
.client-detail-list strong {
    display: block;
}
.client-detail-list span {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
}
.client-detail-list strong {
    margin-top: 4px;
    font-size: 14px;
    color: #0f2742;
    word-break: break-word;
}
.client-profile-photo {
    display: grid;
    width: 88px;
    height: 88px;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: linear-gradient(145deg, #18324a, #8295aa);
    color: #fff;
    font-size: 25px;
    font-weight: 800;
}
.client-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.client-legal-type { display: inline-flex; margin-bottom: 5px; padding: 4px 7px; border: 1px solid #b8dfca; border-radius: 5px; background: #eef9f3; color: #176943; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.client-legal-type.company { border-color: #b7cce0; background: #edf4fa; color: #245f8a; }

.document-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}
.document-summary-card {
    display: grid;
    gap: 5px;
    border-left: 4px solid #94a3b8;
}
.document-summary-card.present { border-left-color: #16a34a; }
.document-summary-card.warning { border-left-color: #f59e0b; }
.document-summary-card.expired,
.document-summary-card.missing { border-left-color: #dc2626; }
.document-summary-card span { color: var(--muted); }
.document-summary-card strong { font-size: 18px; }
.document-summary-card a { font-size: 12px; }

.client-document-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    gap: 14px;
}
.client-document-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}
.client-document-preview {
    display: grid;
    height: 190px;
    place-items: center;
    overflow: hidden;
    background: #eef2f7;
}
.client-document-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pdf-document-icon {
    display: grid;
    width: 78px;
    height: 92px;
    place-items: center;
    border-radius: 8px;
    background: #dc2626;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}
.client-document-body {
    padding: 13px;
}
.client-document-body h3 {
    margin: 0 0 5px;
}
.client-document-body p,
.client-document-body small {
    display: block;
    margin: 3px 0;
    color: var(--muted);
}
.client-document-body .document-notes {
    margin: 9px 0;
    padding: 8px;
    border-radius: 7px;
    background: #f8fafc;
    color: #475569;
}

.client-document-upload {
    max-width: 950px;
}
.document-drop-zone {
    padding: 20px;
    border: 2px dashed #b8c4d3;
    border-radius: 12px;
    background: #f8fafc;
}
.document-drop-zone span {
    margin-bottom: 10px;
}
.replace-document-option {
    margin-top: 13px;
}

@media (max-width: 1050px) {
    .client-document-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}
@media (max-width: 760px) {
    .client-profile-grid,
    .document-summary-grid,
    .client-document-grid {
        grid-template-columns: 1fr;
    }
    .client-detail-list {
        grid-template-columns: 1fr;
    }
}


/* OXBikers Manager V3.7 — Planning Premium */
.planning-summary-premium {
    grid-template-columns: repeat(6, minmax(135px, 1fr));
}

.planning-premium-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
    padding: 10px 12px;
}

.planning-view-switcher,
.planning-range-switcher {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 10px;
    background: #eef2f7;
}

.planning-view-switcher a,
.planning-range-switcher a {
    padding: 8px 12px;
    border-radius: 7px;
    color: #526174;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.planning-view-switcher a.active,
.planning-range-switcher a.active {
    background: #fff;
    color: #172033;
    box-shadow: 0 3px 9px rgba(15,23,42,.10);
}

.planning-filters-premium {
    grid-template-columns:
        minmax(190px, 1.3fr)
        145px 145px 155px
        minmax(165px, 1fr)
        145px minmax(180px, 1fr)
        auto;
}

.premium-planning {
    position: relative;
    overflow-x: auto;
}

.premium-planning .planning-header,
.premium-planning .planning-row {
    min-width: calc(280px + (var(--planning-range, 14) * var(--planning-day-width, 72px)));
    grid-template-columns: 280px minmax(calc(var(--planning-range, 14) * var(--planning-day-width, 72px)), 1fr);
}

.premium-planning .planning-model-title,
.premium-planning .model-cell {
    position: sticky;
    left: 0;
    z-index: 5;
    background: #fff;
    box-shadow: 8px 0 14px -14px rgba(15,23,42,.55);
}

.premium-planning .planning-model-title {
    z-index: 7;
    background: #f8fbfe;
}

.premium-planning .planning-header > .days,
.premium-planning .planning-row > .calendar-grid {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.planning-model-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 8px 0;
}

.planning-model-kpis span {
    padding: 4px 7px;
    border-radius: 7px;
    background: #f1f6fa;
    color: #64748b;
    font-size: 10px;
}

.planning-model-kpis strong {
    color: #1d5f8d;
    font-size: 11px;
}

.resource-subtitle {
    display: block;
    margin: 4px 0 9px;
    color: var(--muted);
}

.motorcycle-resource-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    color: var(--muted);
    font-size: 10px;
}

.motorcycle-resource-meta span {
    padding: 4px 6px;
    border-radius: 999px;
    background: #f1f5f9;
}

.premium-calendar-grid {
    position: relative;
    overflow: hidden;
}

.planning-day-dropzone {
    position: absolute;
    inset-block: 0;
    z-index: 1;
    border-right: 1px solid rgba(148,163,184,.22);
    transition: background .12s ease, box-shadow .12s ease;
}

.planning-day-dropzone.today-dropzone {
    background: rgba(37,99,235,.055);
}

.planning-day-dropzone.drag-over {
    background: rgba(16,185,129,.16);
    box-shadow: inset 0 0 0 2px rgba(16,185,129,.65);
}

.premium-planning .booking-card {
    z-index: 3;
}

.premium-planning .draggable-booking {
    cursor: grab;
}

.premium-planning .draggable-booking:active {
    cursor: grabbing;
}

.premium-planning .booking-card.is-dragging {
    opacity: .38;
    transform: scale(.98);
}

.premium-planning .booking-card.is-saving {
    opacity: .55;
    pointer-events: none;
}

.drag-hint {
    padding: 6px 9px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 10px;
    font-weight: 800;
}

.planning-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 120;
    max-width: 380px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #166534;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 14px 35px rgba(15,23,42,.24);
    opacity: 0;
    pointer-events: none;
    transform: translateY(15px);
    transition: opacity .18s ease, transform .18s ease;
}

.planning-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.planning-toast.error {
    background: #b91c1c;
}

@media (max-width: 1320px) {
    .planning-summary-premium {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }

    .planning-filters-premium {
        grid-template-columns: repeat(4, minmax(150px, 1fr));
    }
}

@media (max-width: 850px) {
    .planning-premium-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .planning-view-switcher,
    .planning-range-switcher {
        overflow-x: auto;
    }

    .planning-filters-premium {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
}

@media (max-width: 620px) {
    .planning-summary-premium,
    .planning-filters-premium {
        grid-template-columns: 1fr;
    }

    .planning-view-switcher a,
    .planning-range-switcher a {
        white-space: nowrap;
    }

    .planning-toast {
        right: 12px;
        bottom: 12px;
        left: 12px;
        max-width: none;
    }
}

/* OXBikers Manager V5.6.43 - Planning workspace polish */
.planning-premium-toolbar,
.planning-toolbar {
    border: 1px solid #dce4ec;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .045);
}

.planning-premium-toolbar {
    padding: 8px;
    border-radius: 8px;
    background: #f6f8fb;
}

.planning-view-switcher,
.planning-range-switcher {
    gap: 2px;
    padding: 3px;
    border: 1px solid #dce4ec;
    border-radius: 7px;
    background: #e9eef4;
}

.planning-view-switcher a,
.planning-range-switcher a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 13px;
    border-radius: 5px;
    transition: color .15s ease, background .15s ease, box-shadow .15s ease;
}

.planning-view-switcher a:hover,
.planning-range-switcher a:hover {
    color: #172033;
    background: rgba(255, 255, 255, .65);
}

.planning-view-switcher a.active,
.planning-range-switcher a.active {
    color: #0f5685;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .12);
}

.planning-toolbar {
    padding: 16px;
    border-radius: 8px;
}

.planning-filters-premium {
    grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(145px, 1fr)) auto;
    gap: 12px;
}

.planning-filters-premium label {
    gap: 6px;
    color: #526174;
    font-size: 11px;
    font-weight: 750;
}

.planning-filters-premium input,
.planning-filters-premium select {
    min-height: 40px;
    border-color: #cfd9e4;
    border-radius: 6px;
    background-color: #fbfcfe;
}

.planning-filters-premium input:focus,
.planning-filters-premium select:focus {
    border-color: #2f7cab;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .12);
}

.planning-filter-actions {
    align-items: flex-end;
}

.planning-brand-filter {
    box-sizing: border-box;
    align-self: stretch;
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0;
    padding: 5px 10px 6px;
    border: 1px solid #cbd7e0;
    border-radius: 6px;
    background: #fbfcfe;
}

.planning-brand-filter legend {
    padding: 0 4px;
    color: #52677b;
    font-size: 10px;
    font-weight: 700;
}

.planning-brand-options {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    overflow-x: auto;
    gap: 4px 10px;
    padding-bottom: 2px;
}

.planning-filters-premium .planning-brand-option {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 4px;
    min-height: 22px;
    margin: 0;
    color: #33475b;
    font-size: 11px;
    white-space: nowrap;
}

.planning-filters-premium .planning-brand-option input {
    width: auto;
    min-width: 14px;
    height: 14px;
    min-height: 14px;
    margin: 0;
    padding: 0;
    accent-color: #2f7cab;
}

.planning-filters-premium .planning-brand-all {
    border-color: #b8cbd8;
    background: #eef4f8;
    color: #244b64;
    font-weight: 800;
}

.planning-filter-actions .btn,
.planning-navigation .btn {
    min-height: 40px;
}

.planning-filter-bottom {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 10px;
    min-width: 0;
    overflow-x: auto;
    white-space: nowrap;
}

.planning-filter-bottom .planning-brand-filter {
    flex: 1 1 auto;
}

.planning-filter-bottom .planning-filter-actions,
.planning-filter-bottom .planning-navigation {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 0;
}

.planning-filter-bottom .planning-navigation {
    justify-content: initial;
}

.planning-navigation {
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
}

.planning-navigation .btn:nth-child(2) {
    margin-inline: auto;
    border-color: #b9ccda;
    color: #0f5685;
    background: #eef7fb;
}

.planning-period-title {
    min-height: 38px;
    margin: 4px 2px 10px;
}

.planning-period-title > div:first-child {
    color: #172033;
    font-size: 14px;
}

.planning-period-title > div:first-child span {
    color: #94a3b8;
}

.planning-period-title .legend {
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 14px;
    margin: 0;
}

.planning-period-title .legend > span:not(.drag-hint) {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    gap: 8px;

.premium-planning {
    padding-top: 2px;
    border: 1px solid #d7e0e9;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .06);
    flex: 1 1 360px;
    min-height: 42px;
    scrollbar-width: thin;
}

.premium-planning::-webkit-scrollbar {
    height: 11px;
}

.premium-planning::-webkit-scrollbar-track {
    background: #edf2f6;
}

.premium-planning::-webkit-scrollbar-thumb {
    border: 3px solid #edf2f6;
    border-radius: 999px;
    background: #aebdca;
}

.premium-planning .planning-header {
    padding: 4px 10px 5px;
    border: 1px solid #c7d7e3;
    border-radius: 8px;
    background: #f8fbfd;
    background: #edf3f7;
}

    padding: 0 5px;
    color: #315873;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-right: 1px solid #cbd7e2;
    background: #e7eef4;
    color: #243449;
    gap: 4px;
    padding: 1px 0 2px;
    text-transform: uppercase;
}

    gap: 6px;
    min-height: 54px;
    display: flex;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #40566c;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
    justify-content: center;
    padding: 7px 4px;
    border-left-color: #d7e0e9;
    color: #66768a;
    font-weight: 700;
}

.premium-planning .days strong {
    margin-top: 2px;
    font-size: 12px;
}

.premium-planning .days .today-column {
    box-shadow: inset 0 3px 0 #2f7cab;
    background: #e6f3f8;
}

.premium-planning .planning-row {
    border-bottom-color: #e2e8f0;
}

.premium-planning .planning-row:nth-child(odd) .model-cell,
.premium-planning .planning-row:nth-child(odd) .calendar-grid {
    background-color: #fbfcfd;
}

.premium-planning .planning-row:last-child {
    border-bottom: 0;
}

.premium-planning .model-cell {
    padding: 13px 16px;
    border-right: 1px solid #d7e0e9;
}

.premium-planning .model-cell-title strong {
    overflow: hidden;
    color: #172033;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.premium-planning .capacity-badge {
    flex: 0 0 auto;
    border: 1px solid #b8dfca;
    border-radius: 5px;
    background: #edf9f2;
    color: #167248;
}

.premium-planning .capacity-bar {
    height: 5px;
    margin: 10px 0 7px;
}

.premium-planning .capacity-bar i {
    background: #2c8a62;
}

.premium-calendar-grid {
    background-color: transparent;
    background-image: linear-gradient(to right, rgba(148, 163, 184, .28) 1px, transparent 1px);
}

.premium-planning .booking-card {
    min-width: 28px;
    height: 50px;
    padding: 7px 9px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 6px;
    box-shadow: 0 3px 8px rgba(15, 23, 42, .17);
    transition: filter .15s ease, box-shadow .15s ease, transform .15s ease;
}

.premium-planning .booking-card:hover,
.premium-planning .booking-card:focus-visible {
    z-index: 4;
    box-shadow: 0 7px 16px rgba(15, 23, 42, .24);
    outline: 2px solid #fff;
    outline-offset: 1px;
}

.premium-planning .booking-card.completed {
    background: #64748b;
}

.premium-planning .booking-card strong {
    font-size: 11px;
    line-height: 1.25;
}

.premium-planning .booking-card small {
    margin-top: 3px;
    font-size: 9px;
}

.premium-planning .planning-day-dropzone.today-dropzone {
    background: rgba(47, 124, 171, .07);
}

@media (max-width: 1320px) {
    .planning-filters-premium {
        grid-template-columns: repeat(3, minmax(165px, 1fr));
    }
}

@media (max-width: 850px) {
    .planning-premium-toolbar {
        gap: 8px;
    }

    .planning-view-switcher,
    .planning-range-switcher {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(max-content, 1fr);
    }

    .planning-period-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .planning-period-title .legend {
        justify-content: flex-start;
    }

    .premium-planning .planning-header,
    .premium-planning .planning-row {
        grid-template-columns: 220px minmax(calc(var(--planning-range, 14) * var(--planning-day-width, 72px)), 1fr);
        min-width: calc(220px + (var(--planning-range, 14) * var(--planning-day-width, 72px)));
    }
}

@media (max-width: 620px) {
    .planning-premium-toolbar {
        margin-bottom: 10px;
        padding: 6px;
    }

    .planning-toolbar {
        padding: 12px;
    }

    .planning-filters-premium {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .planning-filters-premium input,
    .planning-filters-premium select,
    .planning-filter-actions .btn,
    .planning-navigation .btn {
        min-height: 44px;
    }

    .planning-filter-actions,
    .planning-navigation {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .planning-navigation .btn:first-child {
        grid-column: 1;
        grid-row: 2;
    }

    .planning-navigation .btn:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: 1;
        width: 100%;
        margin: 0;
    }

    .planning-navigation .btn:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .planning-view-switcher a,
    .planning-range-switcher a {
        min-height: 40px;
        padding-inline: 10px;
    }

    .planning-period-title {
        margin-inline: 0;
    }

    .planning-period-title .legend {
        gap: 7px 12px;
        font-size: 11px;
    }

    .premium-planning {
        max-width: calc(100vw - 26px);
        overscroll-behavior-inline: contain;
        scroll-padding-left: 158px;
        -webkit-overflow-scrolling: touch;
    }

    .premium-planning .planning-header,
    .premium-planning .planning-row {
        grid-template-columns: 158px minmax(calc(var(--planning-range, 14) * var(--planning-day-width, 72px)), 1fr);
        min-width: calc(158px + (var(--planning-range, 14) * var(--planning-day-width, 72px)));
    }

    .premium-planning .planning-model-title {
        min-width: 0;
        padding: 10px;
        font-size: 9px;
    }

    .premium-planning .model-cell {
        min-width: 0;
        padding: 11px 10px;
    }

    .premium-planning .model-cell-title {
        align-items: flex-start;
    }

    .premium-planning .model-cell-title strong {
        font-size: 11px;
        line-height: 1.25;
        white-space: normal;
    }

    .premium-planning .capacity-badge {
        padding: 3px 5px;
        font-size: 9px;
    }

    .premium-planning .resource-subtitle {
        margin: 3px 0 6px;
        overflow: hidden;
        font-size: 9px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .premium-planning .planning-model-kpis,
    .premium-planning .motorcycle-resource-meta {
        gap: 3px;
        margin-block: 5px;
    }

    .premium-planning .planning-model-kpis span,
    .premium-planning .motorcycle-resource-meta span {
        padding: 3px 4px;
        font-size: 8px;
    }

    .premium-planning .capacity-details {
        display: none;
    }

    .premium-planning .days span {
        min-height: 48px;
        padding-inline: 2px;
        font-size: 9px;
    }

    .premium-planning .days strong {
        font-size: 10px;
    }

    .premium-planning .booking-card {
        height: 48px;
        padding: 6px;
        touch-action: manipulation;
    }

    .premium-planning .booking-card strong {
        font-size: 10px;
    }

    .premium-planning .booking-card small {
        font-size: 8px;
    }

    .planning-drawer {
        right: -100vw;
        width: 100%;
        max-width: none;
        padding: 18px;
        box-sizing: border-box;
    }

    .planning-drawer.open {
        right: 0;
    }

    .planning-toast {
        bottom: max(12px, env(safe-area-inset-bottom));
    }

    .drag-hint {
        display: none;
    }
}


/* V5.6.49 - Planning visual refinement */
.premium-planning .planning-pivot-scroll {
    background: #eef3f7;
    border-radius: 7px;
}

.premium-planning .planning-pivot-table {
    min-width: max(430px, calc(100px + var(--planning-resource-count) * 75px));
    border: 1px solid #d5e0e9;
    border-radius: 7px;
    overflow: hidden;
    background: #fff;
}

.premium-planning .planning-pivot-header {
    box-shadow: 0 4px 12px rgba(15, 23, 42, .08);
}

.premium-planning .planning-pivot-date-title,
.premium-planning .planning-pivot-resource-title {
    min-height: 58px;
    box-sizing: border-box;
    border-color: #d3e0ea;
    background: #e8f0f6;
    color: #23384d;
}

.premium-planning .planning-pivot-date-title {
    display: flex;
    align-items: center;
    color: #527089;
    font-size: 10px;
    letter-spacing: .1em;
}

.premium-planning .planning-pivot-resource-title {
    background: linear-gradient(180deg, #f6f9fb 0%, #edf3f7 100%);
}

.premium-planning .planning-pivot-resource-title strong {
    color: #173b5b;
    font-size: 12px;
    letter-spacing: .02em;
}

.premium-planning .planning-pivot-resource-title span {
    color: #688094;
}

.premium-planning .planning-pivot-row:nth-child(odd) .planning-pivot-cell {
    background: #fbfdfe;
}

.premium-planning .planning-pivot-date,
.premium-planning .planning-pivot-cell {
    min-height: 78px;
    border-color: #e0e8ee;
}

.premium-planning .planning-pivot-date {
    background: #f5f9fb;
    color: #24425d;
}

.premium-planning .planning-pivot-date strong {
    font-size: 13px;
    letter-spacing: .02em;
}

.premium-planning .planning-pivot-date span {
    color: #7890a2;
    font-size: 11px;
}

.premium-planning .planning-pivot-date.is-today {
    background: #e2f2fb;
    box-shadow: inset -3px 0 0 #2f7cab, 8px 0 14px -14px rgba(15,23,42,.65);
}

.premium-planning .planning-pivot-cell.is-today {
    background: #f1faff;
}

.premium-planning .planning-pivot-booking {
    min-height: 38px;
    box-sizing: border-box;
    border: 1px solid rgba(31, 138, 229, .16);
    border-left: 4px solid #1f8ae5;
    border-radius: 7px;
    box-shadow: 0 2px 5px rgba(15, 39, 64, .08);
    font-size: 12px;
    font-weight: 750;
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}

.premium-planning .planning-pivot-booking:hover,
.premium-planning .planning-pivot-booking:focus-visible {
    z-index: 4;
    outline: none;
    filter: saturate(1.08);
    box-shadow: 0 5px 12px rgba(15, 39, 64, .16);
    transform: translateY(-1px);
}

.premium-planning .planning-pivot-booking.tour {
    border-color: rgba(139, 92, 246, .16);
    border-left-color: #8b5cf6;
}

.premium-planning .planning-pivot-booking.in_progress {
    border-color: rgba(245, 158, 11, .2);
    border-left-color: #f59e0b;
}

.premium-planning .planning-pivot-booking strong {
    color: #123452;
    font-size: 12px;
    line-height: 1.25;
}

@media (max-width: 620px) {
    .premium-planning .planning-pivot-table {
        min-width: max(360px, calc(85px + var(--planning-resource-count) * 65px));
    }

    .premium-planning .planning-pivot-header {
        box-shadow: 0 3px 9px rgba(15, 23, 42, .1);
    }

    .premium-planning .planning-pivot-date-title,
    .premium-planning .planning-pivot-resource-title {
        min-height: 54px;
        padding: 9px;
    }

    .premium-planning .planning-pivot-date,
    .premium-planning .planning-pivot-cell {
        min-height: 68px;
        padding: 7px;
    }

    .premium-planning .planning-pivot-booking {
        min-height: 36px;
        padding: 7px;
    }
}


/* OXBikers Manager V3.9 — Signature électronique */
.signature-state {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    letter-spacing: .02em;
    font-weight: 800;
    text-transform: uppercase;
}
.signature-state.signed {
    background: #dcfce7;
    color: #166534;
}
.signature-state.missing {
    background: #fee2e2;
    color: #991b1b;
}

.signature-reservation-summary {
    margin-bottom: 16px;
}

.signature-reservation-summary > .card {
    border: 1px solid #dce6f2;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.signature-hero-card {
    background:
        linear-gradient(138deg, #0f2744 0%, #163a64 45%, #1f5891 100%);
}

.signature-reservation-summary h2 {
    margin: 0 0 10px;
    font-size: 22px;
}

.signature-legal-card {
    border-left: 4px solid #1d4ed8;
    background:
        linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
}

.signature-legal-card p {
    color: #475569;
    line-height: 1.6;
    margin: 10px 0 0;
}

.signature-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.signature-record-card {
    display: grid;
    grid-template-rows: 160px 1fr;
    overflow: hidden;
    border: 1px solid #d8e3f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.signature-record-card:hover {
    transform: translateY(-2px);
    border-color: #c7d8ef;
    box-shadow: 0 14px 26px rgba(15, 23, 42, .08);
}

.signature-preview {
    display: grid;
    height: 100%;
    place-items: center;
    padding: 16px;
    border-bottom: 1px solid #e6edf6;
    background:
        linear-gradient(#edf2f7 1px, transparent 1px),
        linear-gradient(90deg, #edf2f7 1px, transparent 1px),
        #fff;
    background-size: 16px 16px;
}

.signature-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: contrast(1.05);
}

.signature-record-body {
    padding: 14px;
    display: grid;
    gap: 6px;
}

.signature-section-title {
    margin: 0 0 14px;
    font-size: 20px;
    letter-spacing: .01em;
}

.signature-record-body h3 {
    margin: 0;
    font-size: 15px;
}

.signature-motorcycle-chip {
    display: inline-flex;
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: #e0ecff;
    color: #1d4ed8;
}

.signature-signer-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.signature-role-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: #e2e8f0;
    color: #334155;
}

.signature-meta-list {
    margin-top: 2px;
    display: grid;
    gap: 3px;
    padding: 8px 9px;
    border: 1px dashed #d6e2f0;
    border-radius: 10px;
    background: #f8fbff;
}

.signature-record-body p,
.signature-record-body small {
    display: block;
    margin: 0;
    color: var(--muted);
}

.signature-record-body p strong {
    color: #0f172a;
}

.signature-record-body small {
    font-size: 12px;
    line-height: 1.45;
}

.signature-record-body .inline-actions {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e5edf7;
}

.signature-record-body .icon-action {
    border-color: #cad8ea;
    background: #f8fbff;
}

.signature-record-body .icon-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 14px rgba(15, 23, 42, .12);
}

.signature-record-body .icon-action-view {
    color: #1d4ed8;
    border-color: #b7ccf2;
    background: #eff6ff;
}

.signature-record-body .icon-action-download {
    color: #065f46;
    border-color: #b9e4d2;
    background: #ecfdf5;
}

.signature-record-body .icon-action-danger,
.signature-record-body .icon-action-delete {
    color: #991b1b;
    border-color: #f4c3c3;
    background: #fef2f2;
}

.signature-record-body .icon-action-danger:hover,
.signature-record-body .icon-action-delete:hover {
    border-color: #ef9a9a;
    background: #fee2e2;
}

.signature-contract-target-title {
    display: inline-block;
    margin-bottom: 8px;
    font-weight: 700;
    color: #0f2744;
}

.signature-contract-target-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.signature-contract-target-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    min-height: 156px;
    border: 1px solid #d8e3f0;
    border-radius: 12px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.signature-contract-target-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.signature-contract-target-card input {
    width: auto;
    margin-top: 2px;
}

.signature-contract-target-card strong,
.signature-contract-target-card small {
    display: block;
}

.signature-contract-target-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.signature-target-role-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: #e2e8f0;
    color: #334155;
}

.signature-contract-target-card small {
    margin-top: 4px;
    color: var(--muted);
}

.signature-target-signer-wrap {
    display: grid;
    gap: 5px;
    padding-top: 8px;
    border-top: 1px dashed #d6e2f0;
}

.signature-target-signer-wrap small {
    margin: 0;
    font-size: 11px;
}

.signature-target-signer-input {
    border: 1px solid #ccd7e6;
    border-radius: 10px;
    padding: 8px 10px;
    font: inherit;
    background: #fff;
}

.signature-target-signer-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .14);
}

.signature-target-signer-input.is-readonly {
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
}

.signature-contract-target-card.is-selected {
    border-color: #2563eb;
    background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
    box-shadow: 0 0 0 1px #2563eb inset;
}

@supports(selector(:has(*))) {
    .signature-contract-target-card:has(input:checked) {
        border-color: #2563eb;
        background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
        box-shadow: 0 0 0 1px #2563eb inset;
    }
}

.signature-records-section,
.signature-create-section {
    border: 1px solid #dbe6f4;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
}

.signature-records-section .section-title,
.signature-create-section .section-title {
    margin-bottom: 12px;
}

.signature-records-section .section-title p,
.signature-create-section .section-title p {
    margin: 0;
    color: #64748b;
}

#signature-form {
    display: grid;
    gap: 14px;
}

#signature-form .form-grid {
    gap: 12px;
}

#signature-form input,
#signature-form select,
#signature-form textarea {
    border: 1px solid #ccd7e6;
    border-radius: 10px;
    background: #ffffff;
}

#signature-form input:focus,
#signature-form select:focus,
#signature-form textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .16);
}

.signature-pad-wrap {
    margin-top: 4px;
    overflow: hidden;
    border: 1px solid #bfd0e5;
    border-radius: 14px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
}

.signature-pad-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 13px;
    border-bottom: 1px solid #d8e3f0;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
}

#signature-pad {
    display: block;
    width: 100%;
    height: 260px;
    touch-action: none;
    cursor: crosshair;
    background:
        linear-gradient(to bottom, transparent 84%, #bfccdd 84%, #bfccdd 85%, transparent 85%),
        radial-gradient(140% 100% at 100% 0%, rgba(59,130,246,.06), transparent 58%),
        #fff;
}

.signature-consent {
    margin-top: 14px;
    background: #f8fbff;
}

@media (max-width: 1050px) {
    .signature-card-grid {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }

    .signature-contract-target-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}
@media (max-width: 760px) {
    .signature-reservation-summary,
    .signature-card-grid {
        grid-template-columns: 1fr;
    }

    .signature-reservation-summary h2 {
        font-size: 19px;
    }

    .signature-section-title {
        font-size: 18px;
    }

    .signature-pad-title {
        gap: 10px;
        align-items: center;
        flex-wrap: wrap;
    }

    .signature-contract-target-grid {
        grid-template-columns: 1fr;
    }

    #signature-pad {
        height: 220px;
    }
}


/* V3.9.1 — Planning test fixes */
.premium-calendar-grid.drag-over {
    box-shadow: inset 0 0 0 2px rgba(16,185,129,.28);
}


/* OXBikers Manager V3.10 — Fournisseurs Premium */
.suppliers-overview-card {
    padding: 14px 16px;
}

.suppliers-overview-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.suppliers-overview-head h2 {
    margin: 0;
}

.suppliers-overview-head p {
    margin: 5px 0 0;
    color: var(--muted);
}

.suppliers-overview-meta {
    text-align: right;
}

.suppliers-overview-meta strong,
.suppliers-overview-meta span {
    display: block;
}

.suppliers-overview-meta strong {
    font-size: 24px;
    color: #0f2742;
}

.suppliers-overview-meta span {
    color: var(--muted);
    font-size: 12px;
}

.suppliers-view-switch-card {
    padding: 10px;
}

.suppliers-view-switch {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.suppliers-view-switch a {
    text-decoration: none;
    color: #334155;
    padding: 8px 14px;
    font-weight: 700;
    font-size: 12px;
    border-right: 1px solid #e2e8f0;
}

.suppliers-view-switch a:last-child {
    border-right: 0;
}

.suppliers-view-switch a.active {
    background: #0f2742;
    color: #fff;
}

.supplier-premium-layout {
    grid-template-columns: minmax(0,1.6fr) minmax(330px,.75fr);
}
.supplier-side-panel {
    order: 2;
    align-self: start;
    position: sticky;
    top: 92px;
}

.supplier-create-collapsible {
    padding: 0;
    overflow: visible;
    position: relative;
    margin: 0;
    border-radius: 8px;
}

.supplier-create-collapsible > summary {
    list-style: none;
    cursor: pointer;
}

.supplier-create-collapsible > summary::-webkit-details-marker {
    display: none;
}

.supplier-create-collapsible > summary strong {
    color: #0f172a;
    font-size: 14px;
}

.supplier-create-collapsible > summary span {
    color: #64748b;
    font-size: 12px;
}

.supplier-create-collapsible[open] > summary {
    border-bottom: none;
    border-left-color: #16a34a;
    border-radius: 8px 8px 0 0;
}

.supplier-create-collapsible .supplier-create-collapsible-body {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 100;
    width: 640px;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.supplier-create-card {
    padding: 16px;
}

.supplier-cards { display:grid; grid-template-columns:repeat(2,minmax(300px,1fr)); gap:14px; }
.supplier-premium-card { border-top:4px solid #263d55; }
.supplier-card-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }
.supplier-card-head span { color:var(--muted); font-size:11px; }
.supplier-card-head h2 { margin:4px 0; }
.supplier-card-head p { margin:0; color:var(--muted); }
.supplier-financial-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:15px 0; }
.supplier-financial-summary div { padding:9px; border-radius:9px; background:#f8fafc; }
.supplier-financial-summary span,.supplier-financial-summary strong { display:block; }
.supplier-financial-summary span { color:var(--muted); font-size:10px; }
.supplier-financial-summary strong { margin-top:5px; font-size:15px; }

.supplier-empty-state {
    padding: 20px;
    border: 1px dashed #cbd5e1;
}

.supplier-empty-state h2 {
    margin: 0 0 8px;
}

.supplier-empty-state p {
    margin: 0;
    color: var(--muted);
}

.supplier-table-card {
    padding: 0;
    overflow: hidden;
    border: 1px solid #d8e3eb;
    box-shadow: 0 3px 12px rgba(15, 39, 66, .05);
}

.supplier-table-card .table-wrap {
    max-height: calc(100vh - 285px);
    min-height: 260px;
}

.supplier-table-card table {
    min-width: 980px;
}

.supplier-table-card thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 12px 14px;
    border-bottom: 1px solid #cbdbe6;
    background: #f1f5f8;
    color: #536b7c;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.supplier-table-card tbody td {
    padding: 15px 14px;
    vertical-align: middle;
    border-bottom-color: #e6edf2;
}

.supplier-table-row {
    transition: background-color .14s ease, box-shadow .14s ease;
}

.supplier-table-row:hover {
    background: #f6fafc;
    box-shadow: inset 3px 0 0 #177b8c;
}

.supplier-table-card tbody tr:last-child td {
    border-bottom: 0;
}

.supplier-actions-cell {
    width: 116px;
    background: #fbfdfe;
}

.supplier-name-cell {
    min-width: 205px;
    color: #173f5d;
}

.supplier-name {
    display: block;
    color: #173f5d;
    font-size: 13px;
    font-weight: 800;
}

.supplier-category-badge {
    display: inline-flex;
    max-width: 150px;
    padding: 5px 8px;
    border: 1px solid #c9dde4;
    border-radius: 4px;
    background: #eef7f8;
    color: #286373;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
}

.supplier-contact-cell {
    min-width: 155px;
    color: #364e60;
    font-size: 12px;
}

.supplier-invoice-count {
    color: #49677f;
    font-weight: 800;
    text-align: center;
}

.supplier-table-card th:nth-child(n + 6),
.supplier-table-card td:nth-child(n + 6) {
    text-align: right;
}

.supplier-money-cell {
    color: #28495d;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.supplier-money-paid {
    color: #176751;
}

.supplier-money-outstanding {
    min-width: 118px;
    background: #fffbeb;
}

.supplier-table-card .inline-actions {
    gap: 5px;
}

.supplier-table-card .inline-actions .icon-btn {
    width: 30px;
    height: 30px;
    border: 1px solid #d5e1ea;
    border-radius: 5px;
    background: #fff;
}

.supplier-table-card .inline-actions .icon-btn:hover {
    border-color: #4c8c9f;
    background: #edf8f7;
}

.supplier-table-sub {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}

/* V5.7.7 - Consommation carburant */
.fuel-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px;border-left:4px solid #d97706;background:#fffbeb}.fuel-page-head h1{margin:4px 0;color:#173f5d;font-size:24px}.fuel-page-head p{margin:0;color:#66788a}.fuel-filter-form{display:flex;align-items:end;gap:8px}.fuel-filter-form label{min-width:145px}.fuel-filter-form input,.fuel-filter-form select{min-height:38px}.fuel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.fuel-kpis article{padding:15px 16px;border:1px solid #d9e5ea;border-top:3px solid #d97706;border-radius:7px;background:#fff}.fuel-kpis span,.fuel-kpis strong{display:block}.fuel-kpis span{color:#66788a;font-size:11px;font-weight:700}.fuel-kpis strong{margin-top:7px;color:#173f5d;font-size:20px}.fuel-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;margin-bottom:14px}.fuel-entry-form h2,.fuel-by-motorcycle h2,.fuel-history-head h2{margin:0 0 15px;color:#173f5d;font-size:16px}.fuel-entry-form .form-grid{margin-bottom:16px}.fuel-by-motorcycle{padding:18px}.fuel-breakdown-list{display:grid;gap:8px}.fuel-breakdown-list div{display:grid;gap:3px;padding:10px;border-left:3px solid #d97706;background:#fffbeb}.fuel-breakdown-list strong{color:#173f5d;font-size:13px}.fuel-breakdown-list span{color:#4e6577;font-size:12px}.fuel-breakdown-list small{color:#8b5e13;font-size:11px;font-weight:800}.fuel-history-card{padding:0;overflow:hidden}.fuel-history-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #d9e5ea}.fuel-history-head h2{margin:0}.fuel-history-head span{color:#66788a;font-size:12px;font-weight:800}.fuel-history-card table{min-width:850px}.fuel-history-card th{background:#f1f5f8;color:#536b7c;font-size:10px;font-weight:850;text-transform:uppercase}.fuel-history-card td:nth-child(n+4):nth-child(-n+6){font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.fuel-history-card td small{display:block;margin-top:3px;color:var(--muted);font-size:11px}@media(max-width:900px){.fuel-page-head{align-items:stretch;flex-direction:column}.fuel-filter-form{flex-wrap:wrap}.fuel-layout{grid-template-columns:1fr}.fuel-kpis{grid-template-columns:1fr 1fr}}@media(max-width:540px){.fuel-filter-form{display:grid;grid-template-columns:1fr}.fuel-filter-form label{min-width:0}.fuel-kpis{grid-template-columns:1fr}}

.fuel-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.fuel-reference-card{padding:0;border-top:3px solid #d97706}.fuel-reference-card summary{padding:14px 16px;color:#173f5d;font-size:13px;font-weight:800;cursor:pointer}.fuel-reference-card[open] summary{border-bottom:1px solid #d9e5ea}.fuel-reference-card form{padding:16px}.fuel-reference-card .form-grid{margin-bottom:14px}@media(max-width:700px){.fuel-reference-grid{grid-template-columns:1fr}}
.fuel-reference-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.fuel-reference-list{padding:0;overflow:hidden}.fuel-reference-list .fuel-history-head{padding:13px 15px}.fuel-reference-list .fuel-history-head h2{font-size:14px}.fuel-reference-items{display:grid}.fuel-reference-items>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid #e3ebf0}.fuel-reference-items strong,.fuel-reference-items small{display:block}.fuel-reference-items strong{color:#173f5d;font-size:12px}.fuel-reference-items small{margin-top:3px;color:#66788a;font-size:11px}@media(max-width:700px){.fuel-reference-lists{grid-template-columns:1fr}}

/* V5.7.8 - Fuel history and monthly consumption */
.fuel-entry-form{position:static!important;align-self:start}.fuel-consumption-chart{margin:0 0 16px;padding:18px 20px;border:1px solid #d6e3ea;border-top:3px solid #0f766e;background:#fff}.fuel-consumption-chart header{display:flex;align-items:start;justify-content:space-between;gap:16px}.fuel-consumption-chart header span{display:block;color:#6a8291;font-size:11px;font-weight:800;text-transform:uppercase}.fuel-consumption-chart h2{margin:4px 0 0;color:#173f5d;font-size:17px}.fuel-consumption-chart header strong{color:#0f766e;font-size:18px;font-variant-numeric:tabular-nums}.fuel-chart-bars{display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));align-items:end;gap:8px;height:190px;margin-top:18px}.fuel-chart-bar{display:grid;grid-template-rows:20px 130px 20px;gap:5px;min-width:0;text-align:center}.fuel-chart-value{overflow:hidden;color:#34566d;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.fuel-chart-track{display:flex;align-items:end;height:130px;padding:0 5px;border-bottom:1px solid #cbdbe4;background:repeating-linear-gradient(to top,transparent 0,transparent 31px,#edf3f6 32px)}.fuel-chart-track i{display:block;width:100%;min-height:0;border-radius:4px 4px 0 0;background:#0f766e;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}.fuel-chart-bar>strong{color:#587182;font-size:10px}.fuel-history-card{border:1px solid #d5e1e8;border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(24,61,86,.05)}.fuel-history-head{padding:18px 20px;background:#f7fafb}.fuel-history-head h2{font-size:17px}.fuel-history-card .table-wrap{padding:0 10px 10px}.fuel-history-card table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 7px;min-width:780px}.fuel-history-card .fuel-col-date{width:11%}.fuel-history-card .fuel-col-number{width:15%}.fuel-history-card .fuel-col-vehicle{width:28%}.fuel-history-card .fuel-col-amount{width:16%}.fuel-history-card .fuel-col-card{width:15%}.fuel-history-card .fuel-col-odometer{width:8%}.fuel-history-card .fuel-col-station{width:7%}.fuel-history-card thead th{padding:9px 11px;border:0;background:transparent;color:#708694;font-size:10px;letter-spacing:0;text-align:left}.fuel-history-card tbody td{padding:12px 11px;border-top:1px solid #e3edf1;border-bottom:1px solid #e3edf1;background:#fff;color:#29485d;font-size:12px;overflow:hidden;text-overflow:ellipsis}.fuel-history-card tbody td:first-child{border-left:3px solid #0f766e;border-radius:5px 0 0 5px}.fuel-history-card tbody td:last-child{border-right:1px solid #e3edf1;border-radius:0 5px 5px 0}.fuel-history-card tbody tr:hover td{background:#f0f9f7}.fuel-history-card tbody td:nth-child(4){color:#0f766e;font-size:13px;font-weight:850;font-variant-numeric:tabular-nums;text-align:right}.fuel-history-card td strong{color:#173f5d}.fuel-history-card td small{display:block;margin-top:3px;color:#80929e;font-size:10px}@media(max-width:760px){.fuel-consumption-chart{padding:15px}.fuel-chart-bars{gap:4px;height:172px;overflow-x:auto}.fuel-chart-bar{min-width:35px;grid-template-rows:18px 118px 18px}.fuel-chart-track{height:118px;padding:0 3px}.fuel-chart-value,.fuel-chart-bar>strong{font-size:9px}.fuel-history-card .table-wrap{padding:0 6px 8px}}

.supplier-profile-grid,.supplier-invoice-detail-grid,.supplier-invoice-actions-grid {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px;
}
.supplier-invoice-status { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; }
.supplier-invoice-status.status-paid { background:#dcfce7;color:#166534; }
.supplier-invoice-status.status-partially_paid { background:#fef3c7;color:#92400e; }
.supplier-invoice-status.status-overdue { background:#fee2e2;color:#991b1b; }
.supplier-invoice-status.status-received { background:#dbeafe;color:#1d4ed8; }
.supplier-invoice-status.status-draft { background:#e2e8f0;color:#475569; }
.supplier-invoice-status.status-cancelled { background:#f1f5f9;color:#64748b; }

.supplier-document-list { display:grid; gap:8px; }
.supplier-document-list a {
    display:flex; justify-content:space-between; gap:10px; padding:11px;
    border:1px solid var(--line); border-radius:9px; text-decoration:none; color:inherit;
}
.supplier-document-list small { color:var(--muted); }

@media (max-width:1100px) {
    .supplier-premium-layout { grid-template-columns:1fr; }
    .supplier-side-panel { position:static; }
    .supplier-cards { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .suppliers-overview-head {
        flex-direction: column;
    }

    .suppliers-overview-meta {
        text-align: left;
    }

    .suppliers-view-switch {
        width: 100%;
    }

    .suppliers-view-switch a {
        flex: 1;
        text-align: center;
    }

    .supplier-profile-grid,.supplier-invoice-detail-grid,.supplier-invoice-actions-grid,
    .supplier-financial-summary { grid-template-columns:1fr; }

    .supplier-table-card .table-wrap {
        max-height: none;
    }
}


/* OXBikers Manager V3.11 — Banque & Trésorerie */
.bank-filter-form { grid-template-columns:repeat(8,minmax(120px,1fr)); }
.bank-account-grid { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:13px; margin-bottom:14px; }
.bank-account-card { border-top:4px solid #17466f; }
.bank-account-head { display:flex; justify-content:space-between; gap:10px; }
.bank-account-head span,.bank-account-head small { color:var(--muted); }
.bank-account-head h2 { margin:4px 0; }
.bank-account-head>strong { display:grid; place-items:center; width:46px; height:32px; border-radius:8px; background:#e0ecff; color:#1d4ed8; }
.bank-balance { margin:15px 0; padding:12px; border-radius:10px; background:#f8fafc; }
.bank-balance span,.bank-balance strong { display:block; }
.bank-balance span { color:var(--muted); font-size:11px; }
.bank-balance strong { margin-top:4px; font-size:22px; }
.bank-account-meta { display:grid; gap:4px; color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.bank-summary-kpis { grid-template-columns:repeat(3,minmax(160px,1fr)); }
.bank-actions-grid { display:grid; grid-template-columns:repeat(3,minmax(280px,1fr)); gap:14px; margin-bottom:14px; align-items:start; }
.bank-status { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; }
.bank-confirmed { background:#dbeafe;color:#1d4ed8; }
.bank-reconciled { background:#dcfce7;color:#166534; }
.bank-pending { background:#fef3c7;color:#92400e; }
.bank-cancelled { background:#e2e8f0;color:#64748b; }
.bank-pending-row { background:#fffbeb; }

@media (max-width:1250px) {
    .bank-account-grid { grid-template-columns:repeat(2,1fr); }
    .bank-actions-grid { grid-template-columns:repeat(2,1fr); }
    .bank-filter-form { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:760px) {
    .bank-account-grid,.bank-summary-kpis,.bank-actions-grid,.bank-filter-form { grid-template-columns:1fr; }
}


/* OXBikers Manager V3.11.1 — Actions par icônes */
.icon-actions,
.inline-actions {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}

.icon-action {
    position: relative;
    display: inline-grid;
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0;
    place-items: center;
    border: 1px solid #d8e0ea;
    border-radius: 9px;
    background: #fff;
    color: #42546a;
    text-decoration: none;
    cursor: pointer;
    transition: transform .14s ease, border-color .14s ease, color .14s ease, background .14s ease, box-shadow .14s ease;
}

.icon-action svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.icon-action:hover,
.icon-action:focus-visible {
    z-index: 3;
    transform: translateY(-2px);
    border-color: #ef2f35;
    background: #fff5f5;
    color: #d9262d;
    box-shadow: 0 7px 16px rgba(15,23,42,.12);
    outline: none;
}

.icon-action-success:hover,
.icon-action-success:focus-visible {
    border-color: #16a34a;
    background: #f0fdf4;
    color: #15803d;
}

.icon-action-danger:hover,
.icon-action-danger:focus-visible {
    border-color: #dc2626;
    background: #fef2f2;
    color: #b91c1c;
}

.icon-action::after {
    content: attr(data-tooltip);
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 50;
    width: max-content;
    max-width: 210px;
    padding: 6px 8px;
    border-radius: 7px;
    background: #172033;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .12s ease, transform .12s ease;
}

.icon-action:hover::after,
.icon-action:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.table-wrap td:last-child,
.table-wrap th:last-child {
    width: 1%;
    white-space: nowrap;
}

.table-wrap td:last-child form {
    display: inline-flex;
    margin: 0;
}

@media (max-width: 760px) {
    .icon-action {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }
}


/* Actions displayed before each list row */
table.actions-first .table-action-column {
    position: sticky;
    left: 0;
    z-index: 6;
    width: 1%;
    min-width: 48px;
    padding-inline: 8px;
    white-space: nowrap;
    background: #fff;
    box-shadow: 7px 0 12px -12px rgba(15,23,42,.45);
}

table.actions-first thead .table-action-column {
    z-index: 8;
    background: #f8fafc;
}

table.actions-first tbody tr:hover .table-action-column {
    background: #f8fbff;
}

.bulk-delete-form {
    display: block;
}

.bulk-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.bulk-actions-count {
    color: #475569;
    font-size: 14px;
    font-weight: 600;
}

.bulk-delete-form input[type="checkbox"][data-bulk-master],
.bulk-delete-form input[type="checkbox"][data-bulk-row] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    appearance: auto !important;
    opacity: 1 !important;
    display: inline-block !important;
}

.bulk-delete-form table th:first-child,
.bulk-delete-form table td:first-child {
    width: 42px;
    min-width: 42px;
    text-align: center;
}


/* OXBikers Manager V3.11.2 — Factures fournisseurs multilignes */
.supplier-lines-editor {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.supplier-lines-table-wrap {
    overflow-x: auto;
    margin-top: 12px;
}

.supplier-lines-table {
    min-width: 1240px;
}

.supplier-lines-table input,
.supplier-lines-table select {
    min-width: 90px;
}

.supplier-lines-table input[data-field="description"] {
    min-width: 210px;
}

.supplier-lines-table select[data-field="stock_item_id"],
.supplier-lines-table select[data-field="maintenance_order_id"] {
    min-width: 180px;
}

.supplier-invoice-live-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 10px;
    max-width: 760px;
    margin: 16px 0 0 auto;
}

.supplier-invoice-live-totals div {
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
}

.supplier-invoice-live-totals span,
.supplier-invoice-live-totals strong {
    display: block;
}

.supplier-invoice-live-totals span {
    color: var(--muted);
    font-size: 11px;
}

.supplier-invoice-live-totals strong {
    margin-top: 5px;
    font-size: 18px;
}

.supplier-invoice-live-totals .grand-total {
    background: #172033;
    color: #fff;
}

.supplier-invoice-live-totals .grand-total span {
    color: #cbd5e1;
}

.supplier-line-type {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.supplier-line-type.type-article {
    background: #dbeafe;
    color: #1d4ed8;
}

.supplier-line-type.type-service {
    background: #f3e8ff;
    color: #7e22ce;
}

.supplier-add-line-form {
    max-width: 1100px;
}

@media (max-width: 760px) {
    .supplier-invoice-live-totals {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* OXBikers Manager V3.12 — Livraisons */
.delivery-filter-form {
    grid-template-columns: 150px 165px 165px minmax(180px,1fr) auto;
}
.delivery-kpis {
    grid-template-columns: repeat(5, minmax(145px,1fr));
}
.delivery-type,
.delivery-status {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}
.delivery-type-delivery { background:#dbeafe;color:#1d4ed8; }
.delivery-type-pickup { background:#f3e8ff;color:#7e22ce; }
.delivery-type-transfer { background:#e0f2fe;color:#0369a1; }

.delivery-status-planned { background:#f1f5f9;color:#475569; }
.delivery-status-assigned { background:#fef3c7;color:#92400e; }
.delivery-status-in_progress { background:#dbeafe;color:#1d4ed8; }
.delivery-status-completed { background:#dcfce7;color:#166534; }
.delivery-status-cancelled,
.delivery-status-failed { background:#fee2e2;color:#991b1b; }

.delivery-detail-grid,
.delivery-action-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:14px;
}
.delivery-route {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    margin:14px 0 18px;
}
.delivery-route>div:not(.delivery-route-arrow) {
    min-height:100px;
    padding:14px;
    border-radius:11px;
    background:#f8fafc;
}
.delivery-route span,
.delivery-route strong,
.delivery-route small {
    display:block;
}
.delivery-route span { color:var(--muted);font-size:11px; }
.delivery-route strong { margin:5px 0; }
.delivery-route small { color:#64748b; }
.delivery-route-arrow {
    font-size:28px;
    color:#2196f3;
    font-weight:800;
}

@media (max-width:980px) {
    .delivery-kpis { grid-template-columns:repeat(2,1fr); }
    .delivery-filter-form { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px) {
    .delivery-detail-grid,
    .delivery-action-grid,
    .delivery-route,
    .delivery-kpis,
    .delivery-filter-form {
        grid-template-columns:1fr;
    }
    .delivery-route-arrow {
        transform:rotate(90deg);
        text-align:center;
    }
}


/* OXBikers Manager V3.13 — Executive Dashboard */
.executive-hero {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
    padding:24px;
    border-radius:18px;
    background:linear-gradient(135deg,#102a43,#1f4e78 58%,#2196f3);
    color:#fff;
}
.executive-hero h1 { margin:4px 0 6px; font-size:30px; }
.executive-hero p { margin:0; color:#dbeafe; }
.executive-eyebrow {
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#bfdbfe;
}
.dashboard-toolbar { display:flex; gap:8px; flex-wrap:wrap; }
.executive-kpis {
    display:grid;
    grid-template-columns:repeat(6,minmax(145px,1fr));
    gap:12px;
    margin-bottom:16px;
}
.executive-kpi {
    display:grid;
    gap:6px;
    text-decoration:none;
    color:inherit;
    border-top:3px solid #2196f3;
}
.executive-kpi span { color:var(--muted); font-size:11px; }
.executive-kpi strong { font-size:22px; }
.executive-kpi small { color:#64748b; }

.executive-dashboard {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    align-items:start;
}
.dashboard-widget {
    min-height:220px;
    cursor:grab;
    transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease;
}
.dashboard-widget:active { cursor:grabbing; }
.dashboard-widget.widget-wide { grid-column:span 2; }
.dashboard-widget.widget-dragging {
    opacity:.45;
    transform:scale(.985);
    box-shadow:0 20px 35px rgba(15,23,42,.18);
}
.widget-hidden { display:none !important; }
.executive-dashboard.compact-mode .dashboard-widget {
    min-height:160px;
    padding:14px;
}
.widget-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.widget-header h2 { margin:2px 0 0; font-size:17px; }
.widget-kicker {
    color:#2196f3;
    font-size:10px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.widget-hide {
    border:0;
    background:transparent;
    color:#94a3b8;
    font-size:22px;
    cursor:pointer;
}
.morning-brief-grid {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
}
.morning-brief-grid div {
    padding:14px;
    border-radius:11px;
    background:#f8fafc;
}
.morning-brief-grid strong,
.morning-brief-grid span { display:block; }
.morning-brief-grid strong { font-size:22px; }
.morning-brief-grid span { margin-top:4px;color:var(--muted);font-size:11px; }

.executive-timeline,
.dashboard-delivery-list,
.dashboard-account-list {
    display:grid;
    gap:8px;
}
.executive-timeline a,
.dashboard-delivery-list a,
.dashboard-account-list a {
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px;
    border:1px solid #edf1f5;
    border-radius:10px;
    color:inherit;
    text-decoration:none;
}
.executive-timeline time,
.dashboard-delivery-list time {
    min-width:44px;
    font-weight:800;
    color:#2196f3;
}
.executive-timeline div,
.dashboard-delivery-list div,
.dashboard-account-list div { flex:1; }
.executive-timeline strong,
.executive-timeline span,
.dashboard-delivery-list strong,
.dashboard-delivery-list span,
.dashboard-account-list strong,
.dashboard-account-list span { display:block; }
.executive-timeline span,
.dashboard-delivery-list span,
.dashboard-account-list span { color:var(--muted);font-size:11px; }
.executive-timeline em,
.dashboard-delivery-list em {
    font-style:normal;
    font-size:10px;
    font-weight:800;
    color:#64748b;
}

.executive-alert-list { display:grid;gap:8px; }
.executive-alert {
    display:grid;
    gap:3px;
    padding:11px;
    border-left:4px solid #94a3b8;
    border-radius:8px;
    background:#f8fafc;
    color:inherit;
    text-decoration:none;
}
.executive-alert span { color:var(--muted);font-size:11px; }
.executive-alert.alert-danger { border-left-color:#ef4444;background:#fef2f2; }
.executive-alert.alert-warning { border-left-color:#f59e0b;background:#fffbeb; }
.dashboard-success-state {
    padding:20px;
    border-radius:11px;
    background:#f0fdf4;
    color:#166534;
    font-weight:700;
}

.fleet-donut-layout {
    display:grid;
    grid-template-columns:210px 1fr;
    gap:16px;
    align-items:center;
}
.dashboard-legend { display:grid;gap:8px; }
.dashboard-legend span {
    display:grid;
    grid-template-columns:10px 1fr auto;
    gap:8px;
    align-items:center;
    font-size:11px;
}
.dashboard-legend i {
    width:10px;height:10px;border-radius:50%;background:#22c55e;
}
.dashboard-legend span:nth-child(2) i { background:#2196f3; }
.dashboard-legend span:nth-child(3) i { background:#8b5cf6; }
.dashboard-legend span:nth-child(4) i { background:#f59e0b; }
.dashboard-legend span:nth-child(5) i { background:#ef4444; }

.brand-performance-table { display:grid;gap:8px;margin-top:14px; }
.brand-performance-table>div {
    display:grid;
    grid-template-columns:120px 90px 1fr 38px;
    gap:8px;
    align-items:center;
    font-size:11px;
}
.mini-progress,.target-progress,.country-ranking div>div {
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:#e2e8f0;
}
.mini-progress i,.target-progress i,.country-ranking div>div i {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#2196f3;
}

.dashboard-stat-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}
.dashboard-stat-grid>div,
.dashboard-stat-grid>a {
    display:block;
    padding:13px;
    border-radius:10px;
    background:#f8fafc;
    color:inherit;
    text-decoration:none;
}
.dashboard-stat-grid span,
.dashboard-stat-grid strong { display:block; }
.dashboard-stat-grid span { color:var(--muted);font-size:11px; }
.dashboard-stat-grid strong { margin-top:4px;font-size:20px; }
.dashboard-stat-grid .span-2 { grid-column:span 2; }

.dashboard-line-chart {
    width:100%;
    height:280px;
}

.country-ranking { display:grid;gap:10px; }
.country-ranking>div {
    display:grid;
    grid-template-columns:120px 1fr 34px;
    gap:8px;
    align-items:center;
    font-size:11px;
}

.supplier-alert-number {
    display:flex;
    align-items:end;
    gap:9px;
    padding:14px;
    border-radius:11px;
    background:#fef2f2;
    color:#991b1b;
    text-decoration:none;
}
.supplier-alert-number strong { font-size:30px; }
.currency-balance-list { display:grid;gap:8px;margin-top:12px; }
.currency-balance-list div {
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px;
    border-radius:8px;
    background:#f8fafc;
}

.dashboard-activity-list { display:grid;gap:10px; }
.dashboard-activity-list>div {
    display:grid;
    grid-template-columns:10px 1fr;
    gap:10px;
}
.dashboard-activity-list>div>span {
    width:9px;height:9px;margin-top:5px;border-radius:50%;background:#2196f3;
}
.dashboard-activity-list strong,
.dashboard-activity-list small { display:block; }
.dashboard-activity-list small { margin-top:3px;color:var(--muted); }

.dashboard-target-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.target-card {
    display:grid;
    gap:8px;
    padding:13px;
    border-radius:11px;
    background:#f8fafc;
}
.target-card>div:first-child {
    display:flex;
    justify-content:space-between;
    gap:8px;
}
.dashboard-target-form {
    display:grid;
    grid-template-columns:repeat(5,minmax(120px,1fr)) auto;
    gap:8px;
    margin-top:14px;
}

.dashboard-customizer {
    position:fixed;
    top:0;
    right:-390px;
    z-index:150;
    width:min(380px,100%);
    height:100vh;
    padding:20px;
    background:#fff;
    box-shadow:-16px 0 40px rgba(15,23,42,.18);
    transition:right .2s ease;
}
.dashboard-customizer.open { right:0; }
.dashboard-customizer-head {
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:18px;
}
.dashboard-customizer-head h2 { margin:2px 0; }
.dashboard-customizer-head button {
    border:0;background:transparent;font-size:24px;cursor:pointer;
}
.dashboard-widget-group {
    margin-bottom: 12px;
}
.dashboard-widget-group-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.dashboard-widget-group-title {
    margin: 0;
    padding: 10px 2px;
    color: #1f3a5b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.dashboard-widget-control {
    display:grid;
    grid-template-columns: 22px 1fr;
    align-items:center;
    column-gap: 10px;
    padding:10px 4px;
    border-bottom:1px solid #edf1f5;
}
.dashboard-widget-control input {
    width: auto;
    margin: 0;
}
.dashboard-widget-control span {
    color: #334155;
    font-size: 13px;
    line-height: 1.35;
}
.dashboard-customizer-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}
.dashboard-role-apply-field {
    display: grid;
    gap: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}
.dashboard-role-apply-field span {
    color: #64748b;
    font-size: 11px;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.dashboard-customizer .full-width { width:100%;margin-top:18px; }
.dashboard-customizer-actions .full-width { margin-top: 0; }

@media (max-width: 980px) {
    .dashboard-widget-group-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .dashboard-widget-group-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:1350px) {
    .executive-kpis { grid-template-columns:repeat(3,1fr); }
    .executive-dashboard { grid-template-columns:repeat(2,1fr); }
    .morning-brief-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:850px) {
    .executive-hero { align-items:flex-start;flex-direction:column; }
    .executive-kpis,
    .executive-dashboard,
    .morning-brief-grid,
    .dashboard-target-grid {
        grid-template-columns:1fr;
    }
    .dashboard-widget.widget-wide { grid-column:span 1; }
    .fleet-donut-layout { grid-template-columns:1fr; }
    .dashboard-target-form { grid-template-columns:1fr; }
}


/* OXBikers Manager V3.14 — Workflows & checklists */
.checklist-template-form { width:100%; }
.checklist-template-grid,.preparation-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(260px,1fr));
    gap:14px;
}
.checklist-template-card,.preparation-card { border-top:4px solid #2196f3; }
.preparation-progress {
    height:9px;
    margin:14px 0;
    overflow:hidden;
    border-radius:999px;
    background:#e2e8f0;
}
.preparation-progress i {
    display:block;height:100%;border-radius:inherit;background:#22c55e;
}
.checklist-instance { margin-bottom:14px; }
.checklist-status {
    display:inline-flex;padding:6px 9px;border-radius:999px;
    font-size:10px;font-weight:800;text-transform:uppercase;
}
.checklist-status.status-pending { background:#e2e8f0;color:#475569; }
.checklist-status.status-in_progress { background:#dbeafe;color:#1d4ed8; }
.checklist-status.status-blocked { background:#fee2e2;color:#991b1b; }
.checklist-status.status-ready,.checklist-status.status-completed { background:#dcfce7;color:#166534; }
.checklist-item-list { display:grid;gap:8px; }
.checklist-item-row {
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) minmax(130px,.8fr) 140px minmax(160px,1fr) auto;
    gap:8px;
    align-items:center;
    padding:10px;
    border:1px solid #e5e7eb;
    border-radius:10px;
}
.checklist-item-row strong,.checklist-item-row small { display:block; }
.checklist-item-row small { color:var(--muted);margin-top:3px; }
.checklist-settings-header {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
    margin-bottom:14px;
    border-top:4px solid #2196f3;
}
.checklist-settings-header h2 { margin:4px 0 6px; color:#0f2740; }
.checklist-settings-header p { margin:0; color:#64748b; }
.checklist-settings-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    justify-content:flex-end;
}
.checklist-settings-meta span,
.checklist-preview-note {
    padding:6px 10px;
    border:1px solid #dbe4ee;
    border-radius:999px;
    background:#f8fafc;
    color:#52657b;
    font-size:11px;
    font-weight:700;
}
.checklist-preview-panel { margin-bottom:14px; }
.checklist-preview-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}
.checklist-preview-heading h2 { margin:0 0 4px; color:#0f2740; font-size:18px; }
.checklist-preview-heading p { margin:0; color:#64748b; font-size:13px; }
.checklist-settings-preview { grid-template-columns:repeat(4,minmax(170px,1fr)); gap:18px; }
.checklist-settings-preview .checklist-group {
    min-width:0;
    padding:14px;
    border:1px solid #dbe4ee;
    border-radius:12px;
    background:linear-gradient(180deg,#fbfdff 0%,#f5f8fb 100%);
}
.checklist-settings-preview .checklist-group h3 { margin-bottom:12px; color:#46627f; }
.checklist-preview-item { margin-bottom:6px; padding:9px 10px; cursor:default; }
.checklist-preview-item input { opacity:.8; }
.checklist-preview-item b { margin-left:auto; color:#dc2626; font-size:12px; }
.checklist-preview-empty { grid-column:1/-1; margin:0; color:#64748b; font-size:13px; }
.checklist-category-label { display:block; margin-top:3px; color:#64748b; font-size:11px; font-weight:600; }
.checklist-settings-editor { align-items:start; gap:18px; }
.checklist-settings-editor > .card { border:1px solid #dfe7ef; box-shadow:0 8px 22px rgba(15,39,66,.055); }
.checklist-settings-add { position:relative; overflow:hidden; padding:0; border-top:4px solid #2196f3 !important; }
.checklist-settings-add:before {
    content:'';
    position:absolute;
    width:190px;
    height:190px;
    top:-122px;
    right:-70px;
    border-radius:50%;
    background:#eff7ff;
}
.checklist-add-trigger {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    column-gap:11px;
    align-items:center;
    padding:20px 22px;
    cursor:pointer;
    list-style:none;
}
.checklist-add-trigger::-webkit-details-marker { display:none; }
.checklist-add-trigger span { grid-row:1 / 3; display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:#2196f3; color:#fff; font-size:22px; font-weight:400; line-height:1; }
.checklist-add-trigger strong { color:#123452; font-size:15px; }
.checklist-add-trigger small { margin-top:3px; color:#7b8da2; font-size:11px; }
.checklist-add-trigger:after { content:'Ouvrir'; position:absolute; right:22px; top:50%; transform:translateY(-50%); padding:6px 10px; border:1px solid #cfe2f3; border-radius:8px; color:#1676c2; background:#fff; font-size:11px; font-weight:800; }
.checklist-settings-add[open] .checklist-add-trigger { border-bottom:1px solid #e2ebf3; }
.checklist-settings-add[open] .checklist-add-trigger:after { content:'Fermer'; }
.checklist-settings-add form { position:relative; z-index:1; padding:0 22px 22px; }
.checklist-settings-add h2 { margin:0 0 5px; color:#123452; font-size:18px; }
.checklist-settings-add h2:after { content:'Nouveau point'; display:block; margin-top:5px; color:#7b8da2; font-size:11px; font-weight:600; letter-spacing:.02em; }
.checklist-settings-add .form-stack { gap:12px; }
.checklist-settings-add label { color:#435a72; font-size:12px; font-weight:750; }
.checklist-settings-add input,
.checklist-settings-add select { margin-top:6px; min-height:42px; border-color:#d8e3ed; border-radius:10px; background:#fff; }
.checklist-settings-add .checkbox-card { min-height:42px; padding:10px 12px; border-color:#dce6ef; background:#f8fbfe; }
.checklist-settings-add .btn { width:100%; margin-top:3px; min-height:42px; border-radius:10px; }
.checklist-settings-items { min-width:0; padding:0; overflow:hidden; }
.checklist-settings-items table { margin:0; min-width:720px; }
.checklist-settings-items thead { background:#f5f8fb; }
.checklist-settings-items th { padding:13px 14px; color:#718298; font-size:10px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.checklist-settings-items td { padding:13px 14px; border-color:#edf1f5; color:#42566d; vertical-align:middle; }
.checklist-settings-items tbody tr { transition:background .15s ease; }
.checklist-settings-items tbody tr:hover { background:#f8fbfe; }
.checklist-settings-items td:first-child { min-width:190px; color:#183b5b; }
.checklist-settings-items td:nth-child(2),
.checklist-settings-items td:nth-child(3) { font-size:11px; font-weight:700; }
.checklist-settings-items td:nth-child(2) { color:#1676c2; }
.checklist-settings-items td:nth-child(4) { color:#16804a; font-size:11px; font-weight:800; }
.checklist-settings-items .checklist-item-actions { display:flex; align-items:center; gap:7px; min-width:170px; }
.checklist-settings-items .checklist-item-actions details { flex:1; }
.checklist-settings-items .checklist-item-actions summary { width:100%; text-align:center; cursor:pointer; }
.checklist-settings-items .checklist-item-actions > form { margin:0; }
.checklist-settings-items .checklist-item-actions .btn { border-radius:8px; }
.checklist-settings-items .checklist-item-edit-form { margin-top:10px; padding:13px; border:1px solid #dce8f2; border-radius:10px; background:#f8fbfe; }
@media(max-width:1100px){
    .checklist-template-grid,.preparation-grid{grid-template-columns:repeat(2,1fr)}
    .checklist-item-row{grid-template-columns:1fr 1fr}
    .checklist-settings-preview{grid-template-columns:repeat(2,minmax(220px,1fr))}
    .checklist-settings-editor{grid-template-columns:1fr}
}
@media(max-width:700px){
    .checklist-template-grid,.preparation-grid,.checklist-item-row{grid-template-columns:1fr}
    .checklist-settings-header,.checklist-preview-heading{display:block}
    .checklist-settings-meta{justify-content:flex-start;margin-top:14px}
    .checklist-preview-note{display:inline-block;margin-top:12px}
    .checklist-settings-preview{grid-template-columns:1fr}
}


/* OXBikers Manager V3.16 — Paramétrage Enterprise */
.enterprise-tabs {
    position:sticky;
    top:72px;
    z-index:20;
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:10px;
    margin-bottom:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.96);
    box-shadow:0 7px 20px rgba(15,23,42,.06);
}
.enterprise-tabs a {
    flex:0 0 auto;
    padding:8px 11px;
    border-radius:8px;
    background:#f1f5f9;
    color:#334155;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}
.enterprise-tabs a:hover { background:#e3f2fd;color:#1565c0; }
.enterprise-section { margin-bottom:14px; scroll-margin-top:145px; }
.enterprise-section h3 { margin:20px 0 10px;color:#334155; }
.enterprise-two-columns {
    display:grid;
    grid-template-columns:minmax(330px,.8fr) minmax(0,1.35fr);
    gap:14px;
    align-items:start;
    margin-bottom:14px;
    scroll-margin-top:145px;
}
.enterprise-rule-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(230px,1fr));
    gap:10px;
}
.enterprise-mini-card {
    display:grid;
    gap:8px;
    padding:13px;
    border:1px solid #e2e8f0;
    border-radius:11px;
    background:#f8fafc;
}
.enterprise-mini-card h3 { margin:0;color:#172033;text-transform:capitalize; }
.enterprise-mini-card label { font-size:11px;font-weight:700;color:#475569; }
.enterprise-mini-card input,.enterprise-mini-card select { margin-top:4px; }
.enterprise-section small,.enterprise-two-columns small { display:block;margin-top:4px;color:var(--muted); }
.enterprise-two-columns>form { position:sticky;top:142px; }
@media(max-width:1200px){
    .enterprise-rule-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
    .enterprise-two-columns{grid-template-columns:1fr}
    .enterprise-two-columns>form{position:static}
}
@media(max-width:650px){
    .enterprise-rule-grid{grid-template-columns:1fr}
}


/* OXBikers Manager V3.17 — Automation Engine */
.automation-layout {
    display:grid;
    grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);
    gap:14px;
    align-items:start;
    margin-bottom:14px;
}
.automation-run-grid {
    display:grid;
    grid-template-columns:minmax(300px,.5fr) minmax(0,1.5fr);
    gap:14px;
    align-items:start;
}
.automation-state,.automation-run-status {
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}
.automation-state.active,.automation-run-status.status-success {
    background:#dcfce7;color:#166534;
}
.automation-state.inactive {
    background:#e2e8f0;color:#64748b;
}
.automation-run-status.status-partial {
    background:#fef3c7;color:#92400e;
}
.automation-run-status.status-failed {
    background:#fee2e2;color:#991b1b;
}
.automation-run-status.status-running {
    background:#dbeafe;color:#1d4ed8;
}
.notification-center { display:grid;gap:10px; }
.notification-card {
    display:flex;
    justify-content:space-between;
    gap:14px;
    border-left:5px solid #2196f3;
}
.notification-card.read { opacity:.68; }
.notification-card.notification-success { border-left-color:#22c55e; }
.notification-card.notification-warning { border-left-color:#f59e0b; }
.notification-card.notification-danger { border-left-color:#ef4444; }
.notification-card span { color:var(--muted);font-size:11px; }
.notification-card h2 { margin:4px 0; }
.notification-card p { margin:0 0 8px; }
.notification-card a { font-weight:700;color:#1565c0; }
@media(max-width:980px){
    .automation-layout,.automation-run-grid{grid-template-columns:1fr}
}


/* OXBikers Manager V3.21 — Operations Control Center */
.control-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(180px,1fr));
    gap:12px;
    margin-bottom:14px;
}
.control-kpi {
    border-top:4px solid #2196f3;
}
.control-kpi span,.control-kpi strong,.control-kpi small { display:block; }
.control-kpi span { color:var(--muted);font-size:11px; }
.control-kpi strong { margin:6px 0;font-size:26px; }
.control-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    align-items:start;
}
.control-panel { min-height:260px; }
.control-list { display:grid;gap:8px; }
.control-list a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    color:inherit;
    text-decoration:none;
}
.control-list time { min-width:42px;color:#2196f3;font-weight:800; }
.control-list div { flex:1; }
.control-list strong,.control-list span { display:block; }
.control-list span { color:var(--muted);font-size:11px; }
.control-list em { font-size:10px;font-style:normal;font-weight:800; }
.fleet-status-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
}
.fleet-status-grid div,.team-load-list div {
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:11px;
    border-radius:9px;
    background:#f8fafc;
}
.team-load-list { display:grid;gap:8px; }
.control-center-tv .erp-sidebar,
.control-center-tv .erp-header,
.control-center-tv .page-actions {
    display:none !important;
}
.control-center-tv .erp-main { margin-left:0 !important; }
.control-center-tv .erp-content { padding:18px; }
.control-center-tv .control-kpis { grid-template-columns:repeat(4,1fr); }
.control-center-tv .control-grid { grid-template-columns:repeat(3,1fr); }
@media(max-width:1100px){
    .control-kpis{grid-template-columns:repeat(2,1fr)}
    .control-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
    .control-kpis,.control-grid{grid-template-columns:1fr}
}


/* OXBikers Manager V3.22 — Dossier Client Unique */
.case-hero {
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    border-top:5px solid #2196f3;
}
.case-hero h1{margin:4px 0}.case-hero p{margin:0;color:var(--muted)}
.case-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.case-tabs {
    position:sticky;top:72px;z-index:15;display:flex;gap:7px;overflow:auto;
    padding:9px;margin:14px 0;border:1px solid var(--line);border-radius:11px;background:#fff;
}
.case-tabs a{padding:8px 10px;border-radius:8px;background:#f1f5f9;color:#334155;text-decoration:none;font-size:11px;font-weight:800}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.case-section{margin-top:14px;scroll-margin-top:140px}
.case-chip-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.case-chip-list a{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid #e2e8f0;border-radius:9px;color:inherit;text-decoration:none}
.revision-lines{display:grid;gap:8px}
.quote-lines-card{padding:16px}
.revision-line{display:grid;grid-template-columns:minmax(240px,1.5fr) 100px 130px 120px 42px;gap:8px;align-items:center;padding:10px 8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.revision-line input,.revision-line select{background:#fff}
.revision-line-head{padding:6px 10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#f8fafc;border:1px solid #e2e8f0}
.revision-line-head span{text-align:left}
.revision-line-head span:last-child{text-align:center}
.contact-autocomplete{position:relative}
.contact-autocomplete input[type="text"]{width:100%}
.contact-autocomplete-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);display:grid;gap:4px;max-height:240px;overflow:auto;padding:6px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.12)}
.contact-autocomplete-option{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;background:#fff;color:#0f172a}
.contact-autocomplete-option:hover,.contact-autocomplete-option.is-active{background:#f8fafc}
.contact-autocomplete-option small{color:#64748b}
.revision-subtotal{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:11px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}
.revision-subtotal span{color:#334155;font-weight:600}
.revision-subtotal strong{font-size:16px;color:#0f172a}
.quote-totals-card{padding:14px}
.revision-grand-total{margin-top:0;background:#eff6ff;border-color:#bfdbfe}
.revision-grand-total strong{color:#1d4ed8;font-size:18px}
.revision-final-total{background:#ecfdf5;border-color:#86efac}
.revision-final-total strong{color:#15803d;font-size:18px}
.sync-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:22px 24px;border-left:5px solid #2196f3;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.sync-hero h2{margin:4px 0 7px;color:#0f2742;font-size:24px}.sync-hero p{max-width:760px;margin:0;color:#64748b;line-height:1.5}
.sync-preview-form{padding:22px 24px}.sync-section-heading{margin-bottom:12px}.sync-section-heading h2{margin:3px 0 4px;color:#0f2742;font-size:20px}.sync-section-heading p{margin:0;color:#64748b;font-size:13px}.sync-group-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.sync-group-options label{display:flex;align-items:flex-start;gap:10px;min-height:62px;padding:14px;border:1px solid #dbe6f0;border-radius:12px;background:#f8fbfe;color:#1e3a5f;font-weight:700;cursor:pointer;transition:.16s ease}.sync-group-options label:hover{border-color:#8ec5f1;background:#f1f8ff}.sync-group-options label:has(input:checked){border-color:#2196f3;background:#eaf4ff;box-shadow:0 5px 14px rgba(33,150,243,.1)}
.sync-group-options input{width:auto}
.sync-differences-heading{padding-top:4px;border-top:1px solid #e5edf5}.sync-differences{display:grid;gap:12px}.sync-differences article{padding:15px;border:1px solid #dbe6f0;border-left:4px solid #2196f3;border-radius:12px;background:#f8fbfe}.sync-differences article>span{display:inline-block;margin-bottom:4px;color:#1976b9;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sync-differences article h3{margin:0 0 11px;color:#0f2742;font-size:16px}
.sync-differences article>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sync-differences article small{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.sync-differences pre{min-height:42px;white-space:pre-wrap;margin:5px 0 0;padding:10px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:11px;line-height:1.45}.sync-preview-actions{margin-top:20px;padding-top:16px;border-top:1px solid #e5edf5}
@media(max-width:900px){
 .sync-hero{align-items:flex-start;flex-direction:column}.sync-preview-form{padding:16px}.sync-group-options{grid-template-columns:1fr}
 .case-hero{align-items:flex-start;flex-direction:column}
 .case-grid,.case-chip-list,.sync-group-options{grid-template-columns:1fr}
 .revision-line{grid-template-columns:1fr 1fr}
 .revision-line-head{display:none}
 .revision-subtotal strong{font-size:15px}
 .sync-differences article>div{grid-template-columns:1fr}
}

/* Quote revision */
.quote-revision-page { display: grid; gap: 14px; max-width: 1240px; margin: 0 auto; padding-bottom: 26px; }
.quote-revision-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 21px;
    border: 1px solid #173f5d;
    border-radius: 8px;
    background: #12344d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(15,39,66,.12);
}
.quote-revision-hero > div:first-child { min-width: 0; }
.quote-revision-hero a { display: block; margin-bottom: 5px; color: #9bd5fa; font-size: 11px; font-weight: 800; text-decoration: none; }
.quote-revision-hero > div:first-child > span { color: #b8d9ed; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.quote-revision-hero h1 { margin: 3px 0; overflow: hidden; color: #fff; font-size: 25px; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
.quote-revision-hero p { margin: 0; color: #d7e7f2; font-size: 12px; }
.quote-revision-hero-meta { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.quote-revision-hero-meta span, .quote-revision-hero-meta strong { min-height: 31px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; background: rgba(255,255,255,.08); color: #edf7fd; font-size: 10px; }
.quote-revision-hero-meta span { border-color: #6eb6df; background: #e9f5fb; color: #155e8b; font-weight: 900; text-transform: uppercase; }
.quote-revision-form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.quote-revision-form > * { min-width: 0; }
.quote-revision-section { margin: 0; padding: 19px; border-radius: 8px; box-shadow: 0 4px 16px rgba(17,43,69,.045); }
.quote-revision-contact { grid-column: span 4; }
.quote-revision-settings { grid-column: span 8; }
.quote-revision-lines-card, .quote-revision-summary, .quote-revision-actions { grid-column: 1 / -1; }
.quote-revision-section-head, .quote-revision-summary-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e5ebf0; }
.quote-revision-section-head > span, .quote-revision-summary-head > span { display: grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border-radius: 5px; background: #e9f3f8; color: #246f9e; font-size: 10px; font-weight: 900; }
.quote-revision-section-head h2, .quote-revision-summary-head h2 { margin: 0; color: #17324d; font-size: 16px; letter-spacing: 0; }
.quote-revision-section-head p, .quote-revision-summary-head p { margin: 3px 0 0; color: #7a8998; font-size: 11px; }
.quote-revision-page label { gap: 6px; color: #526d82; font-size: 11px; font-weight: 800; }
.quote-revision-page input, .quote-revision-page select, .quote-revision-page textarea { min-height: 42px; border-color: #cdd9e4; border-radius: 5px; color: #18324d; background: #fff; }
.quote-revision-page input:focus, .quote-revision-page select:focus, .quote-revision-page textarea:focus { outline: 0; border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47,124,171,.12); }
.quote-revision-page .quote-revision-notes textarea { min-height:170px; padding:12px; line-height:1.55; resize:vertical; }
.quote-revision-contact .form-grid { grid-template-columns: 1fr; }
.quote-revision-contact .full-row { margin-top: 0; }
.quote-revision-settings .form-grid { gap: 12px; }
.quote-revision-settings .full-row { margin-top: 0; }
.quote-revision-info { margin: 0; padding: 9px 11px; border-left: 3px solid #2f7cab; border-radius: 4px; background: #f1f7fa; color: #526d82; font-size: 11px; }
.quote-revision-page .contact-autocomplete-list { top: calc(100% + 5px); padding: 5px; border-color: #c9d8e3; border-radius: 6px; box-shadow: 0 14px 30px rgba(15,39,66,.15); }
.quote-revision-page .contact-autocomplete-option { min-height: 42px; padding: 8px 10px; border-radius: 4px; }
.quote-revision-page .contact-autocomplete-option:hover, .quote-revision-page .contact-autocomplete-option.is-active { background: #eaf4f9; }
.quote-revision-lines-card { margin: 0; padding: 18px; border-radius: 8px; box-shadow: 0 4px 16px rgba(17,43,69,.045); }
.quote-revision-lines-card .section-title { align-items: flex-end; margin-bottom: 14px; padding-bottom: 13px; border-bottom: 1px solid #e5ebf0; }
.quote-revision-lines-card .section-title h2 { margin: 2px 0 3px; color: #17324d; font-size: 17px; }
.quote-revision-lines-card .section-title p { margin: 0; color: #7a8998; font-size: 11px; }
.quote-revision-kicker { color: #2f7cab; font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.quote-revision-lines-card .section-title .btn { min-height: 38px; border-color: #b8d0df; border-radius: 5px; color: #175f8d; background: #f4f9fc; font-size: 11px; font-weight: 850; }
.quote-revision-page .revision-lines { gap: 6px; }
.quote-revision-page .revision-line { grid-template-columns: minmax(260px, 1.65fr) 90px 135px 110px 38px; gap: 7px; padding: 8px; border-color: #dce5ec; border-radius: 6px; }
.quote-revision-page .revision-line-head { min-height: 35px; padding-block: 5px; border: 0; background: #edf3f7; color: #60758a; font-size: 9px; font-weight: 850; letter-spacing: .055em; }
.quote-revision-page .revision-line input, .quote-revision-page .revision-line select { min-height: 38px; height: 38px; padding: 7px 9px; border-radius: 4px; }
.quote-revision-page .icon-button[data-remove-row] { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid #f0c5c5; border-radius: 5px; background: #fff7f7; color: #b93838; font-size: 19px; cursor: pointer; }
.quote-revision-page .icon-button[data-remove-row]:hover { border-color: #dc6969; background: #feecec; }
.quote-revision-page .revision-subtotal { margin-top: 8px; padding: 10px 12px; border-color: #dce5ec; border-radius: 5px; background: #f7f9fb; }
.quote-revision-page .revision-subtotal span { color: #60758a; font-size: 11px; }
.quote-revision-page .revision-subtotal strong { color: #17324d; font-size: 15px; font-variant-numeric: tabular-nums; }
.quote-revision-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 18px; border-radius: 8px; box-shadow: 0 5px 18px rgba(15,39,66,.06); }
.quote-revision-summary-head { grid-column: 1 / -1; margin-bottom: 2px; }
.quote-revision-summary .revision-subtotal { margin: 0; padding: 14px; }
.quote-revision-summary .revision-grand-total { border-left: 4px solid #2f7cab; background: #f1f7fa; }
.quote-revision-summary .revision-final-total { border-left: 4px solid #27835c; background: #eef8f3; }
.quote-revision-summary .revision-final-total strong { color: #176943; font-size: 20px; }
.quote-revision-actions { position: sticky; bottom: 0; z-index: 12; justify-content: flex-end; margin: 0; padding: 12px 14px; border: 1px solid #d8e3ec; border-radius: 7px; background: rgba(255,255,255,.96); box-shadow: 0 -5px 18px rgba(15,39,66,.08); backdrop-filter: blur(8px); }
.quote-revision-actions .btn { min-height: 41px; border-radius: 5px; font-weight: 850; }
@media (max-width: 1050px) {
    .quote-revision-contact, .quote-revision-settings { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .quote-revision-hero { align-items: flex-start; flex-direction: column; padding: 16px; }
    .quote-revision-hero-meta { width: 100%; flex-wrap: wrap; }
    .quote-revision-hero-meta span, .quote-revision-hero-meta strong { flex: 1; justify-content: center; white-space: nowrap; }
    .quote-revision-settings .form-grid, .quote-revision-summary { grid-template-columns: 1fr; }
    .quote-revision-summary-head { grid-column: 1; }
    .quote-revision-page .revision-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 38px; padding: 10px; }
    .quote-revision-page .revision-line > select { grid-column: 1 / -1; }
    .quote-revision-page .revision-line > input:nth-of-type(3) { grid-column: 1 / 3; }
    .quote-revision-page .revision-line > .icon-button { grid-column: 3; grid-row: 2; }
    .quote-revision-page .revision-line-head { display: none; }
    .quote-revision-lines-card .section-title { align-items: stretch; flex-direction: column; }
    .quote-revision-lines-card .section-title .btn { width: 100%; justify-content: center; }
}
@media (max-width: 520px) {
    .quote-revision-page { gap: 10px; }
    .quote-revision-section, .quote-revision-lines-card, .quote-revision-summary { padding: 14px; }
    .quote-revision-hero-meta strong { display: none; }
    .quote-revision-page .revision-line { grid-template-columns: minmax(0, 1fr) 38px; }
    .quote-revision-page .revision-line > select, .quote-revision-page .revision-line > input, .quote-revision-page .revision-line > input:nth-of-type(3) { grid-column: 1; }
    .quote-revision-page .revision-line > .icon-button { grid-column: 2; grid-row: 2; }
    .quote-revision-page .revision-subtotal { align-items: flex-start; flex-direction: column; gap: 4px; }
    .quote-revision-actions { display: grid; grid-template-columns: 1fr; }
    .quote-revision-actions .btn { width: 100%; justify-content: center; text-align: center; }
}


/* V3.22.1 — Onglets et filtres devis */
.quote-list-tabs{display:flex;gap:8px;margin-bottom:12px}
.quote-list-tabs a{display:flex;align-items:center;gap:10px;min-width:150px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;font-weight:800;color:#475569}
.quote-list-tabs a strong{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#f1f5f9;font-size:12px}
.quote-list-tabs a.active.rental{border-color:#2196f3;background:#eff6ff;color:#1565c0}
.quote-list-tabs a.active.tour{border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9}
.quote-list-toolbar{display:block;width:100%;align-items:flex-end;margin-bottom:12px}
.quote-list-filters{align-items:flex-end;flex-wrap:wrap}
.quote-list-filters label{min-width:190px}
.quote-filter-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.quote-filter-actions .btn{flex:1 1 120px;min-width:120px;justify-content:center}
.quote-list-toolbar form,
.quote-filter-form,
.quote-list-filters,
.quotes-inline-filters{width:100%}
.quote-filter-form,
.quote-list-filters,
.quotes-inline-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.quote-filter-form > div,
.quote-list-filters > div,
.quotes-inline-filters > div{display:flex;flex-direction:column;gap:6px}
.quote-filter-form label,
.quote-list-filters label,
.quotes-inline-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#526476;letter-spacing:.02em;text-transform:uppercase}
.quote-filter-form select,
.quote-filter-form input,
.quote-filter-form button,
.quote-filter-form a,
.quote-list-filters select,
.quote-list-filters input,
.quote-list-filters button,
.quote-list-filters a,
.quotes-inline-filters select,
.quotes-inline-filters input,
.quotes-inline-filters button,
.quotes-inline-filters a{width:100%;min-height:42px;box-sizing:border-box}
.quote-list-summary{display:flex;justify-content:space-between;gap:10px;margin:0 2px 10px;color:var(--muted);font-size:12px}
.quote-row-activity{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:800px){.quote-list-tabs{display:grid;grid-template-columns:1fr 1fr}.quote-list-tabs a{min-width:0}.quote-list-toolbar{align-items:stretch;flex-direction:column}.quote-list-filters{display:grid;grid-template-columns:1fr}.quote-filter-actions{width:100%}}


/* OXBikers Manager V3.22.1 — Onglets et filtres des devis */
.quote-list-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}

.quote-list-tabs a {
    min-width: 165px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 15px;
    border-radius: 9px;
    color: #475569;
    text-decoration: none;
    font-weight: 800;
}

.quote-list-tabs a strong {
    min-width: 28px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #e2e8f0;
    text-align: center;
    font-size: 11px;
}

.quote-list-tabs a:hover {
    background: #f8fafc;
}

.quote-list-tabs a.active.rental {
    background: #eff6ff;
    color: #1d4ed8;
}

.quote-list-tabs a.active.rental strong {
    background: #dbeafe;
    color: #1d4ed8;
}

.quote-list-tabs a.active.tour {
    background: #f5f3ff;
    color: #6d28d9;
}

.quote-list-tabs a.active.tour strong {
    background: #ede9fe;
    color: #6d28d9;
}

.quote-list-toolbar {
    align-items: end;
}

.quote-filter-form {
    display: grid;
    grid-template-columns: minmax(170px, .7fr) minmax(260px, 1.2fr) auto;
    gap: 10px;
    align-items: end;
}

.quote-filter-form label span {
    font-weight: 700;
    color: #475569;
}

.quote-filter-actions {
    display: flex;
    gap: 8px;
}

.btn.ghost {
    background: transparent;
    color: var(--muted);
    border: 1px dashed #cbd5e1;
}

.quote-list-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 2px 10px;
    color: var(--muted);
    font-size: 12px;
}

.quote-list-summary span {
    padding-left: 10px;
    border-left: 1px solid var(--line);
}

.quote-list-activity {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-weight: 500;
}

@media (max-width: 980px) {
    .quote-list-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .quote-filter-form {
        width: 100%;
        grid-template-columns: 1fr 1fr;
    }

    .quote-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .quote-list-tabs a {
        min-width: 0;
        flex: 1;
    }

    .quote-filter-form {
        grid-template-columns: 1fr;
    }

    .quote-filter-actions {
        grid-column: auto;
    }
}


/* V3.22.2 — Liste des paiements par mois */
.payments-month-navigation{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:14px}.payments-month-navigation>div{text-align:center;min-width:220px}.payments-month-navigation span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.payments-month-navigation h2{margin:4px 0 0;font-size:22px}.payments-toolbar{align-items:flex-end}.payments-filters{align-items:flex-end;flex-wrap:wrap}.payments-filters label{min-width:180px}.payments-filter-actions{display:flex;gap:8px}.payments-month-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:14px}.payments-month-kpis article{border-top:4px solid #2196f3}.payments-month-kpis span{display:block;color:var(--muted);font-size:11px}.payments-month-kpis strong{display:block;margin-top:7px;font-size:23px}.payments-currency-total strong{font-size:16px}.payments-month-groups{display:grid;gap:14px}.payment-day-group{padding:0;overflow:hidden}.payment-day-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;background:#f8fafc;border-bottom:1px solid var(--line)}.payment-day-header span{display:block;color:var(--muted);font-size:11px}.payment-day-header h2{margin:4px 0 0;font-size:17px}.payment-day-totals{display:flex;gap:10px;flex-wrap:wrap}.payment-day-totals strong{padding:7px 10px;border-radius:999px;background:#e3f2fd;color:#1565c0;font-size:12px}.payment-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.payment-status-paid{background:#dcfce7;color:#166534}.payment-status-pending{background:#fef3c7;color:#92400e}.payment-status-failed,.payment-status-cancelled{background:#fee2e2;color:#991b1b}.payment-status-refunded{background:#e0e7ff;color:#3730a3}@media(max-width:900px){.payments-month-kpis{grid-template-columns:repeat(2,1fr)}.payments-toolbar{align-items:stretch}.payments-filters{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:620px){.payments-month-kpis,.payments-filters{grid-template-columns:1fr}.payment-day-header{align-items:flex-start;flex-direction:column}}


/* V3.23 — Ergonomie commerciale */
.contact-tabs{display:flex;gap:8px;margin-bottom:12px}.contact-tabs a{display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;text-decoration:none;font-weight:800}.contact-tabs a strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#f1f5f9;font-size:11px}.contact-tabs a.active{border-color:#2196f3;background:#eff6ff;color:#1565c0}.contact-tabs a.active.prospect{border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9}.contact-tabs a.active.client{border-color:#22c55e;background:#f0fdf4;color:#166534}.contacts-toolbar{align-items:flex-end}.contacts-filters{align-items:flex-end;flex-wrap:wrap}.contacts-filters input{min-width:280px}.contacts-new-actions{display:flex;gap:8px}.contact-type{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.contact-type.prospect{background:#f3e8ff;color:#6d28d9}.contact-type.client{background:#dcfce7;color:#166534}.quote-convert-cta{background:#16a34a!important;color:#fff!important;font-weight:900;box-shadow:0 8px 20px rgba(22,163,74,.22)}.quote-convert-cta:hover{background:#15803d!important}.preparation-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:800}.preparation-pill.ready,.preparation-pill.completed{background:#dcfce7;color:#166534}.preparation-pill.blocked{background:#fee2e2;color:#991b1b}.preparation-pill.in_progress{background:#dbeafe;color:#1d4ed8}.preparation-pill.pending{background:#fef3c7;color:#92400e}@media(max-width:800px){.contact-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.contacts-toolbar{align-items:stretch;flex-direction:column}.contacts-filters{display:grid;grid-template-columns:1fr}.contacts-filters input{min-width:0}}

/* V3.25 Fleet Cockpit */
.fleet-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.fleet-summary a{text-decoration:none;color:inherit;border-top:4px solid #2196f3}.fleet-summary span,.fleet-summary strong{display:block}.fleet-summary span{font-size:11px;color:var(--muted)}.fleet-summary strong{font-size:26px;margin-top:7px}.fleet-alerts{margin-bottom:14px;border-left:5px solid #ef4444}.fleet-alerts a{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.fleet-cockpit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fleet-cockpit-card{text-decoration:none;color:inherit;border-top:4px solid #2196f3}.fleet-card-head,.fleet-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.fleet-card-head h2,.fleet-hero h1{margin:4px 0}.fleet-card-data{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.fleet-card-data div{padding:9px;border-radius:9px;background:#f8fafc}.fleet-card-data span,.fleet-card-data strong{display:block}.fleet-card-data span{font-size:10px;color:var(--muted)}.fleet-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.fleet-kpis span{display:block;color:var(--muted);font-size:11px}.fleet-kpis strong{display:block;margin-top:7px;font-size:21px}.insurance-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.insurance-status.active{background:#dcfce7;color:#166534}.insurance-status.expired,.insurance-status.cancelled{background:#fee2e2;color:#991b1b}.insurance-status.replaced{background:#f1f5f9;color:#475569}@media(max-width:1100px){.fleet-summary{grid-template-columns:repeat(3,1fr)}.fleet-cockpit-grid{grid-template-columns:repeat(2,1fr)}.fleet-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.fleet-summary,.fleet-cockpit-grid,.fleet-kpis{grid-template-columns:1fr}}

/* V3.25.1 — Premium Quote PDF */
.quote-premium-notice{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#2196f3,#1565c0);color:#fff;box-shadow:0 10px 24px rgba(33,150,243,.2)}.quote-premium-notice strong,.quote-premium-notice span{display:block}.quote-premium-notice span{font-size:11px;opacity:.9}@media(max-width:650px){.quote-premium-notice{align-items:flex-start;flex-direction:column}}


/* V3.25.3 — Correctifs ergonomiques */
.insurance-center{margin:14px 0;border-top:4px solid #2196f3}.insurance-center-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.insurance-center-head h2{margin:4px 0}.insurance-indicators{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:8px;margin-top:12px}.insurance-indicator{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;color:inherit;background:#f8fafc}.insurance-indicator strong{font-size:20px}.insurance-indicator.success{background:#f0fdf4;color:#166534}.insurance-indicator.warning{background:#fffbeb;color:#92400e}.insurance-indicator.danger{background:#fef2f2;color:#991b1b}.insurance-indicator.neutral{background:#f1f5f9;color:#475569}.insurance-indicator.active{box-shadow:0 0 0 2px #2196f3 inset}.fleet-cockpit-card{padding:0;overflow:hidden}.fleet-card-main{display:block;padding:16px;text-decoration:none;color:inherit}.fleet-card-footer{padding:9px 16px;border-top:1px solid #e2e8f0;background:#f8fafc}.fleet-card-footer a{display:flex;justify-content:space-between;text-decoration:none;font-size:11px;font-weight:800;color:#1565c0}.insurance-days.danger{color:#b91c1c}.fleet-detail-tabs{position:sticky;top:72px;z-index:10;display:flex;gap:7px;overflow:auto;padding:9px;margin:14px 0;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.fleet-detail-tabs a{padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1565c0;text-decoration:none;font-size:11px;font-weight:800}.fleet-insurance-section,.fleet-insurance-history,#rentals,#workshop{scroll-margin-top:140px}.active-insurance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.active-insurance-grid div{padding:10px;border-radius:9px;background:#f8fafc}.active-insurance-grid span,.active-insurance-grid strong{display:block}.active-insurance-grid span{font-size:10px;color:var(--muted)}.insurance-missing-warning{padding:14px;border-radius:10px;background:#fef2f2;color:#991b1b;font-weight:800}.fleet-insurance-history .section-title{display:flex;justify-content:space-between;align-items:center}.fleet-insurance-history .section-title h2{margin:3px 0}@media(max-width:1100px){.insurance-indicators{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.insurance-indicators{grid-template-columns:repeat(2,1fr)}.active-insurance-grid{grid-template-columns:1fr}}


/* V3.26.0 — Réservation 360° */
.reservation360-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-top:5px solid #2196f3}.reservation360-hero h1{margin:4px 0}.reservation360-hero p{margin:0;color:var(--muted)}.reservation360-actions{display:flex;gap:8px;flex-wrap:wrap}.reservation360-progress{margin-top:14px}.reservation360-progress-head{display:flex;justify-content:space-between;margin-bottom:8px}.reservation360-progressbar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.reservation360-progressbar i{display:block;height:100%;background:#2196f3}.reservation360-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.reservation360-steps .step{display:flex;align-items:center;gap:8px;padding:9px;border-radius:9px;background:#f8fafc;font-size:11px}.reservation360-steps .step span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#e2e8f0}.reservation360-steps .step.validated{background:#f0fdf4;color:#166534}.reservation360-steps .step.validated span{background:#22c55e;color:#fff}.reservation360-steps .step.blocked{background:#fef2f2;color:#991b1b}.reservation360-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reservation360-section{margin-top:14px;scroll-margin-top:145px}.reservation360-cards,.reservation360-list,.reservation360-documents{display:grid;gap:8px}.reservation360-cards a,.reservation360-list a,.reservation360-documents a{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid #e2e8f0;border-radius:9px;text-decoration:none;color:inherit}.reservation360-cards span,.reservation360-list span,.reservation360-documents span{color:var(--muted);font-size:11px}.reservation360-warning{padding:11px;border-radius:9px;background:#fef3c7;color:#92400e;margin-bottom:8px}.reservation360-finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.reservation360-finance-kpis article{border-top:4px solid #2196f3}.reservation360-finance-kpis span{display:block;color:var(--muted);font-size:11px}.reservation360-finance-kpis strong{display:block;margin-top:7px;font-size:22px}.reservation360-documents{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.reservation360-steps{grid-template-columns:repeat(3,1fr)}.reservation360-grid{grid-template-columns:1fr 1fr}.reservation360-documents{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.reservation360-hero{flex-direction:column}.reservation360-steps,.reservation360-grid,.reservation360-finance-kpis,.reservation360-documents{grid-template-columns:1fr}.reservation360-tabs{top:0}}


/* V3.26.1 — Affichage Premium de la réservation 360° */
.reservation-premium-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding:22px;
    border-top:5px solid #2196f3;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
}
.reservation-premium-eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.reservation-premium-activity{padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1565c0;letter-spacing:0;text-transform:none}
.reservation-premium-activity.tour{background:#f5f3ff;color:#6d28d9}
.reservation-premium-title h1{margin:7px 0;font-size:30px;letter-spacing:-.03em}
.reservation-premium-client-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--muted)}
.reservation-premium-client-line span{padding-left:9px;border-left:1px solid #cbd5e1;font-size:11px}
.reservation-premium-hero-side{display:flex;align-items:flex-end;flex-direction:column;gap:13px}
.reservation-premium-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.reservation-premium-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:14px}
.reservation-premium-summary article{border-top:4px solid #2196f3}
.reservation-premium-summary article.reservation-kpi-financial{border-top-color:#16a34a}
.reservation-premium-summary article.reservation-kpi-financial.balance.pending{border-top-color:#f59e0b}
.reservation-premium-summary article.reservation-kpi-financial.balance.settled{border-top-color:#16a34a}
.reservation-premium-summary span,.reservation-premium-summary strong,.reservation-premium-summary small{display:block}
.reservation-premium-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.reservation-premium-summary strong{margin:7px 0 3px;font-size:20px}
.reservation-premium-summary small{color:var(--muted)}

.reservation-premium-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;border-left:5px solid #f59e0b;background:#fffbeb}
.reservation-premium-alert h2{margin:4px 0;color:#92400e}
.reservation-premium-alerts{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.reservation-premium-alerts a{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #fde68a;color:#92400e;text-decoration:none;font-size:11px;font-weight:800}

.reservation-premium-progress{margin-top:14px}
.reservation-premium-progress-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.reservation-premium-progress-head h2{margin:4px 0}
.reservation-premium-progress-head>strong{font-size:25px;color:#1565c0}
.reservation-premium-progressbar{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:10px}
.reservation-premium-progressbar i{display:block;height:100%;background:linear-gradient(90deg,#2196f3,#16a34a);border-radius:inherit}
.reservation-premium-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}
.reservation-premium-steps article{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.reservation-premium-step-icon{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:999px;background:#e2e8f0;font-weight:900}
.reservation-premium-steps strong,.reservation-premium-steps small{display:block}
.reservation-premium-steps small{margin-top:2px;color:var(--muted);font-size:10px}
.reservation-premium-steps article.validated{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.reservation-premium-steps article.validated .reservation-premium-step-icon{background:#22c55e;color:#fff}
.reservation-premium-steps article.blocked{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.reservation-premium-steps article.blocked .reservation-premium-step-icon{background:#ef4444;color:#fff}
.reservation-premium-steps article.not_required{opacity:.65}

.reservation-premium-tabs{top:72px}
.reservation-premium-section{margin-top:15px;scroll-margin-top:145px}
.reservation-premium-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 2px 10px}
.reservation-premium-section-head h2{margin:4px 0}
.reservation-premium-section-head>span{color:var(--muted);font-size:11px}
.reservation-premium-section-warning{padding:6px 9px;border-radius:999px;background:#fef3c7;color:#92400e!important;font-weight:800}

.reservation-premium-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:14px}
.reservation-premium-main,.reservation-premium-sidebar{display:grid;gap:14px;align-content:start}
.reservation-premium-card header{display:flex;justify-content:space-between;align-items:flex-start}
.reservation-premium-card h2{margin:4px 0}
.reservation-premium-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:13px}
.reservation-premium-info-grid div{padding:11px;border-radius:9px;background:#f8fafc}
.reservation-premium-info-grid span,.reservation-premium-info-grid strong{display:block}
.reservation-premium-info-grid span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.reservation-premium-info-grid strong{margin-top:4px;overflow-wrap:anywhere}
.reservation-premium-route{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin-top:13px}
.reservation-premium-route>div{padding:14px;border-radius:10px;background:#f8fafc}
.reservation-premium-route span,.reservation-premium-route strong,.reservation-premium-route small{display:block}
.reservation-premium-route span{font-size:10px;color:var(--muted);text-transform:uppercase}
.reservation-premium-route strong{margin:5px 0}
.reservation-premium-route i{font-size:22px;font-style:normal;color:#2196f3}

.reservation-premium-finance-mini{border-top:4px solid #2196f3}
.reservation-premium-finance-mini h2{margin:5px 0 11px}
.reservation-premium-paymentbar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.reservation-premium-paymentbar i{display:block;height:100%;background:#22c55e}
.reservation-premium-finance-mini dl{display:grid;gap:8px;margin:14px 0}
.reservation-premium-finance-mini dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}
.reservation-premium-finance-mini dt{color:var(--muted)}
.reservation-premium-finance-mini dd{margin:0;font-weight:900}
.reservation-premium-finance-mini>a{display:block;text-align:center;padding:8px;border-radius:8px;background:#eff6ff;color:#1565c0;text-decoration:none;font-weight:800;font-size:11px}
.reservation-premium-links{display:grid;gap:8px}
.reservation-premium-links>a{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid #e2e8f0;border-radius:9px;text-decoration:none;color:inherit}
.reservation-premium-links>a span{font-size:10px;color:var(--muted)}

.reservation-premium-two-rows{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

.reservation-premium-two-rows > .card{
    width:100%;
}

.reservation-models-table-wrap{
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    border:1px solid #d9e5f1;
    border-radius:14px;
    background:#fff;
}

.reservation-models-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#f8fbff 0%,#f2f7ff 100%);
}

.reservation-models-head h3{
    margin:0;
}

.reservation-models-kpis{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.reservation-models-kpis span,
.reservation-models-kpis strong{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    border:1px solid #d5e3f3;
    background:#ffffff;
    font-size:12px;
    color:#23415f;
}

.reservation-models-kpis strong{
    border-color:#bfd4ec;
    background:#eaf3ff;
    color:#0f3b68;
    font-weight:800;
}

.reservation-models-table{
    width:100%;
    min-width:680px;
    border-collapse:collapse;
    table-layout:fixed;
}

.reservation-models-table col.col-model{width:40%}
.reservation-models-table col.col-qty{width:10%}
.reservation-models-table col.col-days{width:10%}
.reservation-models-table col.col-rate{width:18%}
.reservation-models-table col.col-total{width:22%}

.reservation-models-table th,
.reservation-models-table td{
    white-space:normal;
    vertical-align:middle;
    padding:12px 14px;
}

.reservation-models-table th{
    background:#eef4fb;
    color:#0f2744;
    font-weight:700;
    font-size:12px;
    letter-spacing:.02em;
    border-bottom:1px solid #d7e4f2;
}

.reservation-models-table tbody td{
    border-top:1px solid #edf2f7;
}

.reservation-models-table th.cell-model,
.reservation-models-table td.cell-model{
    text-align:left !important;
}

.reservation-models-table td.cell-model strong{
    display:block;
    margin:0;
    padding:0;
    text-align:left !important;
    font-weight:700;
    line-height:1.35;
}

.reservation-models-table th.cell-qty,
.reservation-models-table td.cell-qty,
.reservation-models-table th.cell-days,
.reservation-models-table td.cell-days{
    text-align:center;
}

.reservation-models-table th.cell-rate,
.reservation-models-table td.cell-rate,
.reservation-models-table th.cell-total,
.reservation-models-table td.cell-total{
    text-align:right;
    font-variant-numeric:tabular-nums;
}

.reservation-models-table td.cell-total strong{
    display:block;
    text-align:right;
}

.reservation-models-table .money-value{
    white-space:nowrap;
}

.reservation-models-table tbody tr:nth-child(even) td{
    background:#fbfdff;
}

.reservation-models-table tbody tr:hover td{
    background:#f4f9ff;
}

.reservation-models-table-wrap .reservation-models-table th:last-child,
.reservation-models-table-wrap .reservation-models-table td:last-child{
    width:22% !important;
    white-space:nowrap;
}

.reservation-premium-motorcycles,.reservation-premium-list{display:grid;gap:8px}
.reservation-premium-motorcycles{grid-template-columns:repeat(2,minmax(0,1fr))}
.reservation-premium-motorcycles a,.reservation-premium-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;color:inherit}
.reservation-premium-motorcycles a:hover,.reservation-premium-list a:hover{border-color:#93c5fd;background:#f8fbff}
.reservation-premium-motorcycles strong,.reservation-premium-motorcycles span{display:block}
.reservation-premium-motorcycles span{margin-top:3px;color:var(--muted);font-size:11px}
.reservation-premium-motorcycles small,.reservation-premium-list small{text-align:right;color:var(--muted)}
.reservation-premium-list a>div strong,.reservation-premium-list a>div span{display:block}
.reservation-premium-list a>div span{margin-top:3px;color:var(--muted);font-size:11px}

.reservation-premium-empty{display:flex;flex-direction:column;gap:4px;padding:17px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;text-align:center}
.reservation-premium-empty span{color:var(--muted);font-size:11px}
.reservation-premium-empty.warning{border-color:#fcd34d;background:#fffbeb;color:#92400e}

.reservation-premium-finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.reservation-premium-finance-kpis article{border-top:4px solid #2196f3;padding:16px 18px;min-height:128px;display:flex;flex-direction:column;justify-content:center}
.reservation-premium-finance-kpis article.paid{border-top-color:#22c55e}
.reservation-premium-finance-kpis article.pending{border-top-color:#f59e0b}
.reservation-premium-finance-kpis article.settled{border-top-color:#22c55e}
.reservation-premium-finance-kpis span,.reservation-premium-finance-kpis strong{display:block}
.reservation-premium-finance-kpis span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.reservation-premium-finance-kpis strong{margin-top:8px;font-size:24px;line-height:1.2}
.supplier-invoices-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.supplier-invoices-kpis .card{padding:18px 20px;min-height:132px}
.supplier-invoices-kpis .card span{font-size:12px}
.supplier-invoices-kpis .card strong{font-size:24px;line-height:1.2}

.reservation-premium-documents{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.reservation-premium-documents a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;color:inherit}
.reservation-premium-document-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#fee2e2;color:#991b1b;font-size:10px;font-weight:900}
.reservation-premium-documents strong,.reservation-premium-documents a div span{display:block}
.reservation-premium-documents a div span{margin-top:3px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}
.reservation-premium-documents small{color:var(--muted)}

.reservation-premium-timeline{position:relative;display:grid;gap:0}
.reservation-premium-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#dbeafe}
.reservation-premium-timeline article{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:8px 0}
.reservation-premium-timeline article i{position:relative;z-index:1;width:18px;height:18px;border:4px solid #fff;border-radius:999px;background:#2196f3;box-shadow:0 0 0 2px #bfdbfe}
.reservation-premium-timeline strong,.reservation-premium-timeline small{display:block}
.reservation-premium-timeline small{margin-top:3px;color:var(--muted);font-size:10px}

@media(max-width:1100px){
    .reservation-premium-summary{grid-template-columns:repeat(3,1fr)}
    .reservation-premium-steps{grid-template-columns:repeat(3,1fr)}
    .reservation-premium-layout{grid-template-columns:1fr}
    .reservation-premium-sidebar{grid-template-columns:1fr 1fr}
    .reservation-premium-documents{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
    .reservation-premium-hero,.reservation-premium-alert{flex-direction:column}
    .reservation-premium-hero-side{align-items:flex-start}
    .reservation-premium-actions{justify-content:flex-start}
    .reservation-premium-summary,.reservation-premium-steps,.reservation-premium-info-grid,.reservation-premium-finance-kpis,.reservation-premium-documents,.reservation-premium-sidebar{grid-template-columns:1fr}
    section[id]{scroll-margin-top:96px}
    .reservation-premium-route{grid-template-columns:1fr}
    .reservation-premium-route i{transform:rotate(90deg);text-align:center}
    .reservation-premium-alerts{justify-content:flex-start}
    .reservation-premium-tabs{top:0}
    .reservation-premium-motorcycles{grid-template-columns:1fr}
    .reservation-premium-motorcycles a,.reservation-premium-list a{align-items:flex-start;flex-direction:column}
    .reservation-premium-motorcycles small,.reservation-premium-list small{text-align:left}
    .reservation-models-head{align-items:flex-start;flex-direction:column}
    .reservation-models-table{min-width:680px}
    .reservation-models-table th,
    .reservation-models-table td{padding:10px 8px;font-size:12px}
}

/* V5.7.31 - Reservation show visual refresh */
.reservation-premium-hero {
    position: relative;
    overflow: hidden;
    padding: 26px 28px;
    border: 1px solid #d9e7f1;
    border-top: 4px solid #2563a6;
    border-radius: 14px;
    background: linear-gradient(120deg, #f7fbff 0%, #ffffff 64%);
    box-shadow: 0 10px 28px rgba(26, 67, 103, .07);
}
.reservation-premium-hero::after {
    position: absolute;
    right: -54px;
    bottom: -80px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(37, 99, 166, .1);
    border-radius: 50%;
    content: '';
}
.reservation-premium-title,
.reservation-premium-hero-side { position: relative; z-index: 1; }
.reservation-premium-eyebrow { color: #6a7d91; font-size: 10px; letter-spacing: .12em; }
.reservation-premium-activity { padding: 6px 10px; border: 1px solid #cfe0ef; background: #edf6fd; color: #205889; font-size: 10px; }
.reservation-premium-title h1 { margin: 10px 0 8px; color: #142b43; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.02em; }
.reservation-premium-client-line strong { color: #24415e; font-size: 15px; }
.reservation-premium-client-line span { color: #718399; }
.reservation-premium-hero-side { gap: 15px; }
.reservation-premium-hero-side > .status { padding: 7px 11px; border: 1px solid #c7dcf0; border-radius: 999px; background: #eaf4ff; color: #1d5a91; font-size: 11px; }
.reservation-premium-actions { gap: 7px; }
.reservation-premium-actions .btn { min-height: 37px; border-radius: 8px; font-size: 11px; }

.reservation-premium-summary { gap: 10px; margin-top: 12px; }
.reservation-premium-summary article { min-height: 108px; padding: 16px 15px; border: 1px solid #dfe9f1; border-top: 3px solid #6da7d6; border-radius: 10px; background: #fff; box-shadow: 0 5px 17px rgba(27, 59, 88, .045); }
.reservation-premium-summary article.reservation-kpi-financial { border-top-color: #35a46b; background: #fbfffd; }
.reservation-premium-summary article.reservation-kpi-financial.balance.pending { border-top-color: #e4a126; background: #fffdf8; }
.reservation-premium-summary span { color: #73869a; font-size: 10px; font-weight: 800; }
.reservation-premium-summary strong { color: #193650; font-size: 18px; }
.reservation-premium-summary small { color: #8595a5; font-size: 10px; }

.reservation-premium-alert { margin-top: 12px; padding: 15px 18px; border: 1px solid #f2d79a; border-left: 4px solid #e4a126; border-radius: 10px; box-shadow: 0 5px 17px rgba(124, 84, 19, .04); }
.reservation-premium-alert h2 { font-size: 16px; }
.reservation-premium-alerts a { border-color: #f0d69c; background: #fffdf7; }

.reservation-premium-progress { padding: 18px; border: 1px solid #dfe9f1; border-radius: 11px; box-shadow: 0 5px 17px rgba(27, 59, 88, .045); }
.reservation-premium-progress-head h2 { color: #193650; font-size: 18px; }
.reservation-premium-progress-head > strong { color: #2563a6; font-size: 22px; }
.reservation-premium-progressbar { height: 8px; margin-top: 12px; background: #e8eff5; }
.reservation-premium-steps { gap: 7px; margin-top: 12px; }
.reservation-premium-steps article { min-height: 55px; padding: 9px; border-color: #e0e9f0; border-radius: 8px; background: #fbfdff; }
.reservation-premium-steps strong { color: #304c66; font-size: 11px; }

.reservation-premium-tabs { gap: 5px; margin: 14px 0 12px; padding: 7px; border: 1px solid #dce7ef; border-radius: 10px; background: #f7fafc; box-shadow: 0 4px 12px rgba(27, 59, 88, .04); }
.reservation-premium-tabs a { padding: 8px 11px; border-radius: 7px; color: #60758a; font-size: 11px; font-weight: 800; }
.reservation-premium-tabs a:hover, .reservation-premium-tabs a:focus { background: #eaf4fc; color: #205889; }
.reservation-premium-section-head { margin: 2px 2px 9px; }
.reservation-premium-section-head h2 { color: #193650; font-size: 19px; }
.reservation-premium-section-head .widget-kicker { color: #6c8297; letter-spacing: .12em; }
.reservation-premium-card, .reservation-premium-sidebar > .card, .reservation-premium-two-rows > .card { border: 1px solid #dfe9f1; border-radius: 11px; box-shadow: 0 5px 17px rgba(27, 59, 88, .045); }
.reservation-premium-card h2, .reservation-premium-two-rows h3 { color: #193650; }
.reservation-premium-info-grid div, .reservation-premium-route > div { border: 1px solid #e5edf3; background: #f9fbfd; }
.reservation-premium-finance-mini { border-top-width: 3px; border-top-color: #35a46b; }
.reservation-premium-links { border-top: 3px solid #6da7d6; }
.reservation-premium-links > a { border-color: #e0e9f0; background: #fbfdff; }
.reservation-premium-links > a:hover { border-color: #a8cae5; background: #f4faff; }
.reservation-models-table-wrap { border: 1px solid #dfe9f1; border-radius: 11px; box-shadow: 0 5px 17px rgba(27, 59, 88, .045); }
.reservation-models-head { padding: 14px 16px; border-bottom: 1px solid #e3edf3; background: #fbfdff; }
.reservation-models-head h3 { color: #193650; }
.reservation-models-kpis span { background: #eef5fa; color: #587188; }
.reservation-models-kpis strong { color: #1d6a9e; }
.reservation-premium-motorcycles a { border-color: #e0e9f0; background: #fbfdff; }
.reservation-premium-empty { border-color: #cbdce8; background: #f8fbfd; }

@media (max-width: 1100px) {
    .reservation-premium-summary article { min-height: 100px; }
}
@media (max-width: 720px) {
    .reservation-premium-hero { padding: 20px; }
    .reservation-premium-title h1 { font-size: 26px; }
    .reservation-premium-hero-side { width: 100%; align-items: stretch; }
    .reservation-premium-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .reservation-premium-actions .btn, .reservation-premium-actions form { width: 100%; }
    .reservation-premium-actions form .btn { width: 100%; }
    .reservation-premium-tabs { margin-inline: 0; }
    .reservation-premium-tabs a { white-space: nowrap; }
}

/* V3.30 CRM Commercial */
.crm-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;margin-bottom:20px}.crm-kpi{background:#fff;border:1px solid #e2e9ef;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(20,50,80,.05)}.crm-kpi span{display:block;color:#718096;font-size:13px}.crm-kpi strong{font-size:28px;color:#17253a}.crm-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.crm-main,.crm-side{background:#fff;border:1px solid #e2e9ef;border-radius:18px;padding:18px}.crm-toolbar,.crm-conv-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.crm-toolbar h2,.crm-conv-head h2{margin:0}.crm-toolbar p,.crm-conv-head p{margin:5px 0;color:#718096}.crm-board{display:grid;grid-template-columns:repeat(5,minmax(225px,1fr));gap:14px;overflow-x:auto;padding:12px 0}.crm-column{background:#f5f8fb;border-radius:14px;padding:10px;min-height:420px}.crm-column-head{display:flex;justify-content:space-between;padding:8px 5px 14px}.crm-column-head span{background:#dfeaf3;border-radius:99px;padding:2px 8px}.crm-card{display:block;background:white;color:inherit;text-decoration:none;border:1px solid #e0e8ef;border-radius:12px;padding:13px;margin-bottom:10px;box-shadow:0 3px 10px rgba(20,50,80,.05)}.crm-card:hover{transform:translateY(-1px);border-color:#2196F3}.crm-card-top,.crm-card-meta{display:flex;justify-content:space-between;gap:8px}.crm-card h3{margin:12px 0 3px;font-size:16px}.crm-card p{margin:0 0 12px;color:#718096;font-size:12px}.crm-card-meta{font-size:11px;color:#66788a}.crm-side h2{margin-top:0}.followup{border:1px solid #e4ebf1;border-radius:12px;padding:12px;margin-bottom:10px}.followup.late{border-left:4px solid #e74c3c}.followup span,.followup small{display:block;color:#718096;margin-top:4px}.crm-conv-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;margin-top:20px}.crm-thread{background:#f4f7fa;border-radius:18px;padding:18px;min-height:600px}.message{max-width:78%;background:#fff;border-radius:14px;padding:14px;margin-bottom:14px;box-shadow:0 4px 14px rgba(20,50,80,.06)}.message.outbound{margin-left:auto;background:#eaf5fe}.message.internal{background:#fff7d8;border:1px dashed #e5c86a}.message-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}.message p{line-height:1.55;margin-bottom:0}.panel{background:#fff;border:1px solid #e2e9ef;border-radius:16px;padding:17px;margin-bottom:14px}.panel h3{margin-top:0}.panel label{display:block;font-size:12px;font-weight:700;margin:10px 0 5px}.panel input,.panel textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd7e0;border-radius:9px}.btn.full{width:100%;margin-top:10px}.btn.small{padding:6px 10px;font-size:12px}.empty-thread{text-align:center;color:#718096;padding:80px 20px}@media(max-width:1100px){.crm-layout,.crm-conv-grid{grid-template-columns:1fr}.crm-kpis{grid-template-columns:repeat(2,1fr)}.crm-side{order:-1}}@media(max-width:600px){.crm-kpis{grid-template-columns:1fr 1fr}.crm-conv-head,.crm-toolbar{align-items:flex-start;flex-direction:column}.message{max-width:94%}}

/* V3.31 Operations Center */
.ops-hero-v331{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:28px;border-radius:22px;background:linear-gradient(135deg,#10233c,#1c4e80);color:#fff;margin-bottom:18px}.ops-hero-v331 h1{margin:4px 0 6px;font-size:30px}.ops-hero-v331 p{margin:0;opacity:.82}.ops-hero-v331 .eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.75}.ops-date-form-v331{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.ops-date-form-v331 input{min-height:42px;border:0;border-radius:10px;padding:0 12px}.ops-kpis-v331{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.ops-kpi-v331{display:flex;flex-direction:column;padding:16px 17px;background:#fff;border:1px solid #e5eaf0;border-radius:16px;text-decoration:none;color:#27364a;box-shadow:0 6px 22px rgba(31,48,68,.06);border-top:3px solid #2196f3}.ops-kpi-v331 span{font-size:12px;color:#64748b}.ops-kpi-v331 strong{font-size:27px;margin-top:5px}.ops-kpi-v331.tone-orange{border-top-color:#f59e0b}.ops-kpi-v331.tone-red{border-top-color:#ef4444}.ops-kpi-v331.tone-purple{border-top-color:#8b5cf6}.ops-kpi-v331.tone-gray{border-top-color:#64748b}.ops-kpi-v331.tone-cyan{border-top-color:#06b6d4}.ops-layout-v331{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.ops-main-v331{display:flex;flex-direction:column;gap:18px}.ops-section-v331,.ops-side-card-v331{background:#fff;border:1px solid #e4e9ef;border-radius:18px;padding:18px;box-shadow:0 8px 25px rgba(38,55,75,.055)}.ops-section-head-v331{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.ops-section-head-v331 h2{font-size:18px;margin:0}.ops-section-head-v331 p{margin:4px 0 0;color:#718096;font-size:12px}.ops-section-head-v331>a{font-size:12px;text-decoration:none}.ops-card-grid-v331{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ops-card-v331{border:1px solid #e3e9f0;border-radius:16px;padding:15px;background:#fbfdff}.ops-card-v331.return-card-v331{background:#fbfeff}.ops-card-top-v331{display:flex;justify-content:space-between;gap:10px;align-items:center}.ops-time-v331{font-size:20px;font-weight:800;color:#1f3b5b}.ops-card-v331 h3{margin:12px 0 3px;font-size:17px}.ops-meta-v331{font-size:12px;color:#718096}.ops-motos-v331{display:flex;flex-direction:column;gap:7px;margin:13px 0}.ops-motos-v331>div{display:grid;grid-template-columns:115px 1fr;gap:8px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e9eef3;font-size:12px}.ops-motos-v331 .missing{border-color:#fecaca;background:#fff7f7}.ops-motos-v331 b{color:#183b5b}.ops-alerts-v331{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.ops-alerts-v331 span{font-size:10px;font-weight:700;color:#9a3412;background:#ffedd5;border-radius:999px;padding:4px 7px}.ops-finance-v331{display:flex;justify-content:space-between;margin:11px 0;padding-top:10px;border-top:1px dashed #d8e0e8;font-size:12px}.ops-actions-v331{display:flex;gap:7px;flex-wrap:wrap}.ops-sidebar-v331{display:flex;flex-direction:column;gap:18px;position:sticky;top:18px}.ops-prep-list-v331,.ops-task-list-v331{display:flex;flex-direction:column;gap:8px}.ops-prep-list-v331>a{display:flex;flex-direction:column;text-decoration:none;padding:11px;border-radius:12px;border:1px solid #e6ebf0;color:#25384d}.ops-prep-list-v331>a:hover{border-color:#2196f3;background:#f5fbff}.ops-prep-list-v331 span,.ops-task-v331 span{font-size:12px;color:#526477}.ops-prep-list-v331 small,.ops-task-v331 small{font-size:10px;color:#8795a5;margin-top:3px}.ops-task-v331{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:11px;border:1px solid #e7ecf1;border-left:4px solid #94a3b8;border-radius:11px}.ops-task-v331>div{display:flex;flex-direction:column;min-width:0}.ops-task-v331 b{font-size:12px}.ops-task-v331.priority-high{border-left-color:#f59e0b}.ops-task-v331.priority-urgent{border-left-color:#ef4444}.ops-check-v331{width:30px;height:30px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#16a34a;font-weight:900;cursor:pointer}.ops-check-v331:hover{background:#dcfce7;border-color:#86efac}.muted{color:#8492a3;font-size:12px}
@media(max-width:1180px){.ops-kpis-v331{grid-template-columns:repeat(3,1fr)}.ops-layout-v331{grid-template-columns:1fr}.ops-sidebar-v331{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ops-hero-v331{align-items:flex-start;flex-direction:column;padding:20px}.ops-kpis-v331{grid-template-columns:repeat(2,1fr)}.ops-card-grid-v331{grid-template-columns:1fr}.ops-sidebar-v331{display:flex}.ops-date-form-v331{width:100%}.ops-date-form-v331 input{width:100%}.ops-actions-v331 .btn{flex:1;text-align:center}.ops-section-head-v331{align-items:flex-start}.ops-motos-v331>div{grid-template-columns:1fr}}

/* V3.32 Atelier Premium */
.atelier-hero,.atelier-ot-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 30px;margin-bottom:20px;border-radius:20px;background:linear-gradient(135deg,#0d2138,#174c78);color:#fff;box-shadow:0 18px 40px rgba(15,50,80,.18)}
.atelier-hero h1,.atelier-ot-hero h1{margin:4px 0 6px;font-size:30px}.atelier-hero p,.atelier-ot-hero p{margin:0;color:#dcecff}.atelier-ot-hero a{color:#dcecff}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.8}.premium-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.premium-kpis .workshop-kpi{display:flex;gap:12px;align-items:center;min-height:105px}.kpi-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf5ff;font-size:20px}.atelier-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.atelier-sidebar{display:flex;flex-direction:column;gap:16px}.atelier-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto auto;gap:10px;margin-bottom:16px}.premium-board{display:grid;gap:14px}.ot-number{font-weight:800;color:#2196f3}.alert-panel .section-title{display:flex;justify-content:space-between;align-items:center}.due-row,.stock-alert-row{display:flex;flex-direction:column;padding:11px 0;border-top:1px solid #edf1f5}.due-row small{color:#68778a}.due-row.overdue_date,.due-row.overdue_km{border-left:3px solid #e74c3c;padding-left:10px}.stock-alert-row{flex-direction:row;justify-content:space-between;align-items:center}.stock-alert-row div{display:flex;flex-direction:column}.stack-form{display:flex;flex-direction:column;gap:10px}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.atelier-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cost-premium{background:linear-gradient(180deg,#fff,#f7fbff)}.ot-description{margin-top:16px;padding:14px;border-radius:12px;background:#f7f9fc;color:#435268}.maintenance-photo-form{display:grid;grid-template-columns:150px 1.2fr 1fr auto;gap:10px}.maintenance-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.maintenance-photo{display:block;border:1px solid #e3e8ef;border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:#26384a}.maintenance-photo img{display:block;width:100%;height:150px;object-fit:cover}.maintenance-photo span{display:block;padding:9px;font-size:12px}.btn.ghost{background:transparent;border:1px solid #d7e0ea;color:#536273}.muted{color:#7a8796}
@media(max-width:1200px){.premium-kpis{grid-template-columns:repeat(3,1fr)}.atelier-layout{grid-template-columns:1fr}.atelier-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.atelier-hero,.atelier-ot-hero{align-items:flex-start;flex-direction:column}.premium-kpis{grid-template-columns:repeat(2,1fr)}.atelier-filters{grid-template-columns:1fr}.atelier-sidebar,.atelier-two-columns{display:grid;grid-template-columns:1fr}.maintenance-photo-form{grid-template-columns:1fr}.maintenance-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.premium-kpis{grid-template-columns:1fr}.maintenance-gallery{grid-template-columns:1fr}.atelier-hero h1,.atelier-ot-hero h1{font-size:25px}}
/* V3.33.4 Premium Invoice */
.invoice-premium-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:22px;background:linear-gradient(135deg,#0d47a1,#2196f3);color:#fff;margin-bottom:22px;box-shadow:0 14px 32px rgba(33,150,243,.22)}
.invoice-payments-card h3{margin-bottom:4px}.payment-history{margin-top:10px}.invoice-payments-card .payment-row{align-items:flex-start;padding:12px 0}.invoice-payments-card .payment-row-main{min-width:0}.invoice-payments-card .payment-row-main strong{display:block;color:#1e3b56;font-size:13px}.invoice-payments-card .payment-row-main small{overflow-wrap:anywhere}.invoice-payments-card .payment-row-amount{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}.invoice-payments-card .payment-row-amount>strong{color:#137846;font-size:13px}.invoice-payments-card .status-pill{padding:4px 6px;border-radius:5px;font-size:9px}.invoice-payments-card .status-paid{background:#dcfce7;color:#166534}.invoice-payments-card .status-pending{background:#fef3c7;color:#92400e}.invoice-payments-card .status-cancelled,.invoice-payments-card .status-refunded{background:#e2e8f0;color:#475569}
@media(max-width:440px){.invoice-payments-card .payment-row{gap:9px}.invoice-payments-card .payment-row-amount{gap:5px}.invoice-payments-card .payment-row-amount>strong{font-size:12px}}

/* V5.6.76 — CCA finance ledger */
.cca-filter-actions{display:block;margin:0 0 14px;padding:10px 12px;border:1px solid #d5e2ec;border-radius:8px;background:#f5f8fa}
.cca-filter-form{display:grid;grid-template-columns:150px minmax(230px,360px) auto auto;align-items:end;gap:9px}
.cca-filter-form label{display:flex;flex-direction:column;gap:5px;color:#526d85;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.cca-filter-form input,.cca-filter-form select{height:38px;min-width:0;padding:0 10px;border:1px solid #cbd9e4;border-radius:5px;background:#fff;color:#23455f;font-size:12px;font-weight:650}
.cca-filter-form .btn{height:38px;border-radius:5px;font-size:11px;font-weight:800}
.cca-section{padding:20px;border:1px solid #ceddea;border-top:3px solid #1d6196;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(25,57,84,.06)}
.cca-section-head{align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e1eaf1}
.cca-section-head h2{margin:0;color:#173a57;font-size:24px;letter-spacing:0}
.cca-section-head p{margin:5px 0 0;color:#6b7f91;font-size:12px}
.cca-section-head .btn{min-height:36px;border-radius:5px;font-size:11px;font-weight:800}
.cca-kpis{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-bottom:16px}
.cca-kpis .finance-kpi{position:relative;min-height:96px;padding:13px 14px;border:1px solid #d8e3eb;border-left:3px solid #688298;border-radius:7px;background:#fff;box-shadow:none}
.cca-kpis .finance-kpi.warning{border-left-color:#b87819;background:#fffdf8}.cca-kpis .finance-kpi.positive{border-left-color:#25835a;background:#f9fdfb}
.cca-kpis .finance-kpi span{color:#5d7489;font-size:11px;font-weight:800}.cca-kpis .finance-kpi strong{margin-top:10px;color:#193c58;font-size:21px;font-variant-numeric:tabular-nums}.cca-kpis .finance-kpi small{margin-top:5px;line-height:1.35;color:#75889a;font-size:10px}
.cca-entries-table{border:1px solid #d5e1ea;border-radius:7px;background:#fff}.cca-entries-table table{min-width:760px}.cca-entries-table thead th{padding:11px 12px;background:#edf4f8;color:#4a667d;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.cca-entries-table tbody td{padding:12px;border-bottom-color:#e7edf2;color:#345068;font-size:12px;vertical-align:middle}.cca-entries-table tbody tr:hover{background:#f5f9fc}.cca-entries-table tbody tr:last-child td{border-bottom:0}.cca-party-type{display:inline-flex;padding:4px 6px;border-radius:4px;background:#edf3f7;color:#49677f;font-size:9px;font-weight:850;text-transform:uppercase}.cca-party-client{background:#e9f4ff;color:#17679e}.cca-party-supplier{background:#fef3e6;color:#9a5812}.cca-party-associate{background:#f0edfb;color:#6352a0}.cca-currency-pill{border-radius:4px;background:#e7f0f8;color:#26618d;font-size:10px;font-weight:850}.cca-debit,.cca-credit{font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.cca-debit{color:#bd4941}.cca-credit{color:#187b4d}.cca-entry-debit td{background:linear-gradient(90deg,rgba(254,242,242,.42),transparent 42%)}.cca-entry-credit td{background:linear-gradient(90deg,rgba(240,253,244,.42),transparent 42%)}
@media(max-width:760px){.cca-filter-form{grid-template-columns:1fr 1fr}.cca-filter-form .btn{width:100%;justify-content:center}.cca-section{padding:15px}.cca-section-head{align-items:flex-start;flex-direction:column}.cca-section-head .btn{width:100%;justify-content:center}}@media(max-width:440px){.cca-filter-form{grid-template-columns:1fr}.cca-kpis{grid-template-columns:1fr}}

/* V5.6.77 — Établissements de crédit */
.credit-institutions-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px;padding:20px 22px;border:1px solid #d5e1e9;border-top:3px solid #bd4d45;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(39,57,72,.06)}
.credit-institutions-head .eyebrow{color:#a4403a}.credit-institutions-head h1{margin:4px 0 5px;color:#263d52;font-size:28px;letter-spacing:0}.credit-institutions-head p{margin:0;color:#718495;font-size:13px}.credit-institutions-head .btn{min-height:38px;border-color:#d5dfe6;border-radius:5px;color:#3e5c73;font-size:11px;font-weight:800;white-space:nowrap}
.credit-institutions-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding:5px;border:1px solid #d7e2e9;border-radius:7px;background:#f3f6f8}.credit-institutions-tabs a{flex:0 0 auto;padding:8px 11px;border-radius:4px;color:#526d82;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.credit-institutions-tabs a:hover{background:#e6edf2;color:#334f66}.credit-institutions-tabs a.active{background:#a9443e;color:#fff;box-shadow:0 2px 5px rgba(169,68,62,.2)}.credit-institutions-tabs::-webkit-scrollbar{height:5px}.credit-institutions-tabs::-webkit-scrollbar-thumb{background:#c4d1da;border-radius:5px}
.credit-institutions-filter{display:grid;grid-template-columns:130px minmax(220px,1fr) auto;align-items:end;gap:9px;margin:0 0 14px;padding:10px 12px;border:1px solid #d7e2e9;border-radius:8px;background:#f6f8fa}
.credit-institutions-filter label{display:flex;flex-direction:column;gap:5px;color:#587084;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.credit-institutions-filter input,.credit-institutions-filter select{height:38px;min-width:0;padding:0 10px;border:1px solid #cad8e2;border-radius:5px;background:#fff;color:#29485e;font-size:12px;font-weight:650}.credit-institutions-filter .btn{height:38px;border-radius:5px;background:#a9443e;border-color:#a9443e;font-size:11px;font-weight:800}
.credit-institutions-kpis{grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;margin-bottom:14px}.credit-institutions-kpis .finance-kpi{min-height:104px;padding:13px 14px;border:1px solid #d8e2e9;border-left:3px solid #657e91;border-radius:7px;background:#fff;box-shadow:none}.credit-institutions-kpis .finance-kpi.negative{border-left-color:#c44b43;background:#fffafa}.credit-institutions-kpis .finance-kpi.warning{border-left-color:#b87819;background:#fffdf8}.credit-institutions-kpis .finance-kpi span{font-size:11px;font-weight:800;color:#60778a}.credit-institutions-kpis .finance-kpi strong{margin-top:10px;font-size:22px;color:#29445a;font-variant-numeric:tabular-nums}.credit-institutions-kpis .finance-kpi small{display:block;margin-top:5px;color:#7a8d9c;font-size:10px}.credit-institutions-kpis .finance-kpi.negative strong{color:#b5413b}
.credit-institutions-table{border:1px solid #d4e0e8;border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(31,57,78,.05)}.credit-institutions-table table{min-width:1000px}.credit-institutions-table thead th{padding:11px 12px;border-bottom:1px solid #cad8e3;background:#edf3f7;color:#4a657a;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.credit-institutions-table tbody td{padding:12px;border-bottom-color:#e8edf2;color:#375268;font-size:12px;vertical-align:middle}.credit-institutions-table tbody tr:hover{background:#fff9f8}.credit-institutions-table tbody tr:last-child td{border-bottom:0}.credit-institutions-table td:first-child{color:#647e91;font-size:11px;font-variant-numeric:tabular-nums}.credit-institutions-table td small{display:block;margin-top:3px;color:#7c8f9e;font-size:10px}.credit-institutions-table td:nth-child(7){white-space:nowrap}.credit-institutions-table .finance-negative{color:#b33f39;font-variant-numeric:tabular-nums}.credit-institutions-table .bank-status{border-radius:4px;padding:5px 7px;font-size:9px}.credit-institutions-table .bank-pending{background:#fff0d5;color:#955e13}.credit-institutions-table .bank-reconciled{background:#e4f5eb;color:#197144}

/* V5.6.82 — Fiche fournisseur */
.supplier-show-actions{margin-bottom:14px;padding:9px 10px;border:1px solid #d8e3eb;border-radius:8px;background:#f6f9fb}.supplier-show-actions .btn{min-height:36px;border-radius:5px;font-size:11px;font-weight:800}.supplier-show-actions .inline-actions{align-items:center}
.supplier-profile-panel{gap:12px;margin-bottom:14px}.supplier-profile-panel .card{padding:18px;border:1px solid #d6e2eb;border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(28,57,81,.05)}.supplier-identity-card{border-top:3px solid #2d6f9f!important}.supplier-bank-card{border-top:3px solid #7190a8!important}.supplier-profile-panel h2{margin:0;color:#1d3e58;font-size:20px;letter-spacing:0}.supplier-profile-panel .supplier-card-head{padding-bottom:13px;border-bottom:1px solid #e2eaf0}.supplier-profile-panel .supplier-card-head span{color:#5e788e;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.supplier-profile-panel .supplier-card-head p{margin-top:4px;font-size:12px}.supplier-profile-panel .brand-badge{border-radius:5px;background:#e5f0f8;color:#236392;font-size:11px;font-weight:850}.supplier-profile-panel .detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:12px}.supplier-profile-panel .detail-list>div{padding:10px 12px;border-top:1px solid #e8eef3}.supplier-profile-panel .detail-list>div:nth-child(odd){border-right:1px solid #e8eef3}.supplier-profile-panel .detail-list span{display:block;color:#718698;font-size:10px;font-weight:800;text-transform:uppercase}.supplier-profile-panel .detail-list strong{display:block;margin-top:4px;color:#2c4a62;font-size:12px;overflow-wrap:anywhere}
.supplier-show-kpis{grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;margin-bottom:14px}.supplier-show-kpis .finance-kpi{min-height:96px;padding:13px 14px;border:1px solid #d8e3eb;border-left:3px solid #637f96;border-radius:7px;background:#fff;box-shadow:none}.supplier-show-kpis .finance-kpi.positive{border-left-color:#248454;background:#f9fdfb}.supplier-show-kpis .finance-kpi.negative{border-left-color:#c14a43;background:#fffafa}.supplier-show-kpis .finance-kpi span{color:#60778b;font-size:10px;font-weight:850;text-transform:uppercase}.supplier-show-kpis .finance-kpi strong{margin-top:10px;color:#213f59;font-size:20px;font-variant-numeric:tabular-nums}.supplier-show-kpis .finance-kpi small{display:block;margin-top:5px;color:#778a99;font-size:10px;line-height:1.35}
.supplier-show-table{margin-bottom:14px;border:1px solid #d5e1ea;border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(28,57,81,.05)}.supplier-show-table h2{margin:0;padding:15px 16px 11px;color:#25445d;font-size:17px;border-bottom:1px solid #dce6ed}.supplier-show-table table{min-width:800px}.supplier-show-table thead th{padding:10px 12px;background:#eef4f8;color:#4c687f;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.supplier-show-table tbody td{padding:11px 12px;border-bottom-color:#e7edf2;color:#3b556a;font-size:12px;vertical-align:middle}.supplier-show-table tbody tr:hover{background:#f6fafc}.supplier-show-table tbody tr:last-child td{border-bottom:0}.supplier-show-table td:nth-last-child(2),.supplier-show-table td:nth-last-child(3){font-variant-numeric:tabular-nums}.supplier-invoices-ledger td:nth-child(8){color:#b5403a;font-weight:850}.supplier-payments-ledger td:nth-child(3){color:#187a4d;font-weight:850;font-variant-numeric:tabular-nums}.supplier-show-table .supplier-invoice-status{border-radius:4px;font-size:9px}
.supplier-payments-bulk-form{margin-top:10px}.supplier-payments-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 12px 10px;padding:8px 10px;border:1px solid #dbe6ed;border-radius:7px;background:#f7fafc;color:#60778b;font-size:11px;font-weight:750}.supplier-payments-bulk-bar label{display:flex;align-items:center;gap:7px}.supplier-payments-bulk-bar .btn{min-height:32px;padding:6px 10px;border-radius:5px;font-size:10px}.supplier-payments-bulk-form > .table-wrap{border:0;box-shadow:none}
@media(max-width:1100px){.supplier-show-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.supplier-show-actions{align-items:stretch;flex-direction:column}.supplier-show-actions .inline-actions{width:100%;justify-content:space-between}.supplier-profile-panel .detail-list{grid-template-columns:1fr}.supplier-profile-panel .detail-list>div:nth-child(odd){border-right:0}.supplier-show-kpis{grid-template-columns:1fr 1fr}}@media(max-width:420px){.supplier-show-kpis{grid-template-columns:1fr}}
@media(max-width:1050px){.credit-institutions-kpis{grid-template-columns:1fr 1fr}}@media(max-width:760px){.credit-institutions-head{align-items:flex-start;flex-direction:column;padding:16px}.credit-institutions-head .btn{width:100%;justify-content:center}.credit-institutions-filter{grid-template-columns:1fr 1fr}.credit-institutions-filter label:last-of-type{grid-column:1/-1}.credit-institutions-filter .btn{width:100%;justify-content:center}.credit-institutions-kpis{grid-template-columns:1fr 1fr}}@media(max-width:440px){.credit-institutions-filter,.credit-institutions-kpis{grid-template-columns:1fr}.credit-institutions-filter label:last-of-type{grid-column:auto}}
.invoice-premium-hero h1{margin:4px 0;font-size:30px}.invoice-premium-hero .muted{color:rgba(255,255,255,.82)}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.13em}.invoice-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-pill{padding:8px 12px;border-radius:999px;background:#fff;color:#15304f;font-weight:800;font-size:12px}.invoice-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.invoice-main-card{padding:28px}.invoice-brand-row,.invoice-parties{display:flex;justify-content:space-between;gap:30px}.invoice-brand{font-size:25px;font-weight:900;color:#2196f3;letter-spacing:.04em}.invoice-meta{text-align:right}.invoice-parties{padding:28px 0}.invoice-parties>div{width:48%}.invoice-lines{box-shadow:none;border:1px solid #e8edf3}.invoice-notes{margin-top:20px;padding:16px;background:#f7f9fc;border-radius:14px}.invoice-sidebar{display:flex;flex-direction:column;gap:16px}.financial-summary>div,.payment-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf1f5}.financial-summary .total{font-size:17px;color:#0d47a1}.financial-summary .balance{margin-top:8px;padding:14px;border:none;border-radius:12px;background:#e3f2fd;color:#0d47a1}.payment-row small{display:block;color:#78869a;margin-top:3px}.btn.full{width:100%}.report-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.report-metric{padding:20px;border-radius:18px;background:#fff;border:1px solid #e7ecf2}.report-metric span{display:block;color:#708096;font-size:12px}.report-metric strong{font-size:25px;color:#17324d}.report-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:1000px){.invoice-grid{grid-template-columns:1fr}.report-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.invoice-premium-hero,.invoice-brand-row,.invoice-parties{flex-direction:column}.invoice-parties>div{width:100%}.invoice-meta{text-align:left}.report-card-grid,.report-section-grid{grid-template-columns:1fr}.invoice-main-card{padding:18px}}

/* V3.34 — Import mensuel des relevés bancaires */
.bank-import-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#fff,#eef7ff);border-left:5px solid #2196f3}.bank-import-hero h1,.bank-batch-header h1{margin:.25rem 0}.bank-import-hero p{max-width:760px;margin:0;color:#5f6b7a}.bank-import-steps{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.bank-import-steps span{background:#fff;border:1px solid #dce7f2;border-radius:12px;padding:10px;font-weight:700}.bank-import-steps b{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#2196f3;color:#fff;margin-right:6px}.bank-import-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;margin:18px 0}.bank-file-drop{display:flex!important;flex-direction:column;gap:10px;border:2px dashed #b9cce0;border-radius:14px;padding:18px;background:#f8fbfe}.bank-file-drop span{color:#64748b;font-size:.9rem}.bank-import-help ul{padding-left:20px;line-height:1.85}.bank-batch-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.bank-import-kpis{grid-template-columns:repeat(5,minmax(150px,1fr))}.bank-preview-form{overflow-x:auto}.bank-preview-form table{min-width:1050px}.bank-duplicate-row{opacity:.62;background:#fff8f8}.bank-category-pill{display:inline-block;border-radius:999px;padding:5px 9px;background:#eef6ff;color:#1769aa;font-size:.78rem;font-weight:700;text-transform:capitalize}.bank-selection-actions{display:flex;gap:8px}.bank-import-confirm{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-top:1px solid #e5eaf0}.bank-import-confirm p{margin:.25rem 0 0;color:#64748b}.check-col{width:70px}.bank-status.bank-cancelled{background:#fee2e2;color:#991b1b}.bank-status.bank-confirmed{background:#dcfce7;color:#166534}
.bank-convert-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;padding:6px;background:#eef5fc;border:1px solid #d5e5f5;border-radius:12px}
.bank-convert-tabs .btn{width:100%;justify-content:center;font-weight:800;border-radius:10px;transition:all .16s ease}
.bank-convert-tabs .btn.secondary{background:transparent;border-color:transparent;color:#3f5c79;box-shadow:none}
.bank-convert-tabs .btn.secondary:hover{background:#dfeaf7;color:#1f3f61}
.bank-convert-tabs .btn.primary{background:#2196f3;border-color:#2196f3;color:#fff;box-shadow:0 8px 18px rgba(33,150,243,.25)}
.bank-convert-mode{border:1px solid #d8e4f0;background:#f9fcff}
.bank-convert-hero{padding:22px 24px}.bank-convert-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.bank-convert-meta div{padding:12px 14px;border:1px solid #d9e6f2;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(17,43,69,.04)}.bank-convert-meta span,.bank-convert-meta strong{display:block}.bank-convert-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6b7e92;font-weight:800}.bank-convert-meta strong{margin-top:5px;font-size:18px;color:#17324d;word-break:break-word}.bank-convert-label{display:block;font-size:12px;font-weight:800;color:#17324d;letter-spacing:.02em}.bank-convert-help{margin:7px 0 0;color:#607184;font-size:12px;line-height:1.45}.bank-convert-panel{padding:14px;border:1px solid #dbe5ef;border-radius:16px;background:#f9fcff}.bank-convert-panel-soft{background:linear-gradient(180deg,#ffffff,#f8fbfe)}.bank-convert-alert{margin:0}.bank-convert-summary{position:sticky;top:18px}.bank-convert-summary h2{margin-top:4px}
@media(max-width:900px){.bank-import-hero,.bank-batch-header,.bank-import-confirm{align-items:flex-start;flex-direction:column}.bank-import-layout{grid-template-columns:1fr}.bank-import-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.bank-import-steps{width:100%}}
@media(max-width:900px){.bank-convert-meta{grid-template-columns:1fr 1fr}.bank-convert-summary{position:static}}
@media(max-width:640px){.bank-convert-tabs{grid-template-columns:1fr}.bank-convert-hero{padding:18px}.bank-convert-meta{grid-template-columns:1fr}}

/* V4.0.1 Monitoring */
.system-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.log-console{background:#111827;color:#d1fae5;padding:1rem;border-radius:12px;max-height:520px;overflow:auto;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.filters-bar{display:flex;gap:.75rem;align-items:end;margin-bottom:1rem;flex-wrap:wrap}.filters-bar input,.filters-bar select{min-width:180px}.status-badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-badge.critical{background:#fee2e2;color:#991b1b}.status-badge.warning{background:#ffedd5;color:#9a3412}.status-badge.info{background:#dbeafe;color:#1e40af}.detail-list{display:grid;grid-template-columns:130px 1fr;gap:.7rem}.detail-list dt{font-weight:700;color:#64748b}.detail-list dd{margin:0;word-break:break-word}.health-hero{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.health-score{width:110px;height:110px;border-radius:50%;display:grid;place-content:center;background:#e0f2fe;color:#0369a1;font-size:2rem;font-weight:800}.health-score small{font-size:.8rem}.health-dot{font-weight:800}.health-dot.ok{color:#15803d}.health-dot.warning{color:#c2410c}.health-dot.error{color:#b91c1c}@media(max-width:700px){.detail-list{grid-template-columns:1fr}.health-hero{align-items:flex-start}.health-score{width:82px;height:82px;font-size:1.5rem}}

/* CRM Commercial Premium V4.2.4 */
.crm-premium-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;margin-bottom:18px;border-radius:22px;background:linear-gradient(135deg,#0f2742 0%,#153b63 55%,#1d5d91 100%);color:#fff;box-shadow:0 16px 36px rgba(15,39,66,.18)}
.crm-premium-hero h2{margin:5px 0 8px;font-size:28px;line-height:1.2}.crm-premium-hero p{margin:0;color:rgba(255,255,255,.75)}.crm-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#2196F3}.crm-premium-hero .crm-eyebrow{color:#8ed0ff}.crm-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.crm-premium-hero .btn:not(.primary){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff}
.crm-premium-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.crm-premium-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4ebf2;border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(22,50,76,.05)}.crm-kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eef5fb;color:#315c7d;font-weight:800;font-size:18px}.crm-premium-kpi small,.crm-premium-kpi em{display:block}.crm-premium-kpi small{font-size:12px;color:#718096;font-weight:700}.crm-premium-kpi strong{display:block;margin:2px 0;font-size:25px;color:#16283c}.crm-premium-kpi em{font-size:11px;color:#8898a8;font-style:normal}.crm-premium-kpi.is-attention .crm-kpi-icon{background:#fff2d9;color:#b97700}.crm-premium-kpi.is-success .crm-kpi-icon{background:#e5f7ed;color:#20804f}.crm-premium-kpi.is-danger .crm-kpi-icon{background:#fde8e8;color:#c63838}
.crm-premium-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.crm-premium-main,.crm-premium-sidebar{background:#fff;border:1px solid #e3eaf1;border-radius:20px;box-shadow:0 7px 22px rgba(17,43,69,.05)}.crm-premium-main{padding:18px}.crm-premium-sidebar{padding:18px;height:max-content;position:sticky;top:18px}.crm-premium-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.crm-premium-toolbar h2,.crm-premium-sidebar h2{margin:0;font-size:20px}.crm-premium-toolbar p{margin:4px 0 0;color:#7b8b9b;font-size:13px}.crm-toolbar-controls{display:flex;gap:10px;align-items:center}.crm-search{display:flex;align-items:center;gap:8px;min-width:250px;border:1px solid #dbe4ec;border-radius:11px;padding:0 11px;background:#f9fbfd}.crm-search input{border:0;background:transparent;padding:10px 0;width:100%;outline:0}.crm-toolbar-controls select{border:1px solid #dbe4ec;border-radius:11px;padding:10px 12px;background:#fff;color:#33485d}
.crm-premium-board{display:grid;grid-template-columns:repeat(5,minmax(245px,1fr));gap:12px;overflow-x:auto;padding:5px 1px 10px}.crm-premium-column{background:#f5f7fa;border:1px solid #e5ebf0;border-radius:16px;min-height:490px;padding:10px}.crm-premium-column-head{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 13px}.crm-column-title{display:flex;align-items:center;gap:9px}.crm-column-title strong,.crm-column-title small{display:block}.crm-column-title strong{font-size:13px;color:#26384a}.crm-column-title small{font-size:10px;color:#8a99a8;margin-top:2px}.crm-stage-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e6edf3;color:#53687b}.crm-stage-count{min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:#dfe7ee;color:#455a6c;font-size:12px;font-weight:800}.crm-tone-blue .crm-stage-icon,.crm-tone-blue .crm-stage-count{background:#e5f3fe;color:#1975b8}.crm-tone-green .crm-stage-icon,.crm-tone-green .crm-stage-count{background:#e4f6eb;color:#20804f}.crm-tone-red .crm-stage-icon,.crm-tone-red .crm-stage-count{background:#fde8e8;color:#b93636}.crm-tone-orange .crm-stage-icon,.crm-tone-orange .crm-stage-count{background:#fff0dc;color:#af6a05}
.crm-premium-card{display:block;background:#fff;color:inherit;text-decoration:none;border:1px solid #e1e8ee;border-radius:14px;padding:13px;margin-bottom:10px;box-shadow:0 3px 10px rgba(18,46,73,.045);transition:.18s ease}.crm-premium-card:hover{transform:translateY(-2px);border-color:#8bc8f3;box-shadow:0 9px 22px rgba(33,150,243,.12)}.crm-premium-card.needs-reply{border-left:4px solid #f3a71a}.crm-card-line-one{display:flex;justify-content:space-between;gap:8px;align-items:center}.crm-card-line-one strong{font-size:13px;color:#16283c}.crm-quote-ref{font-size:10px;font-weight:800;letter-spacing:.05em;color:#648096;background:#eff4f8;border-radius:999px;padding:4px 7px}.crm-client-row{display:flex;align-items:center;gap:10px;margin:13px 0}.crm-client-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#e7f3fc,#d9ebf8);color:#236b9f;font-weight:800}.crm-client-row h3{margin:0 0 2px;font-size:14px}.crm-client-row p{margin:0;font-size:11px;color:#8292a1;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-card-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.crm-card-details span{font-size:11px;color:#526678}.crm-card-details b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#9aa7b3;margin-bottom:2px}.crm-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px}.crm-state-badge{font-size:9px;font-weight:800;border-radius:999px;padding:5px 7px}.crm-state-badge.urgent{background:#fff0d5;color:#a96800}.crm-state-badge.waiting{background:#e8f3fb;color:#2773a7}.crm-state-badge.neutral{background:#f0f3f6;color:#7a8996}.crm-open-link{font-size:10px;font-weight:800;color:#2196F3}.crm-column-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:55px 20px;color:#96a3ae}.crm-column-empty>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#e9eef2;margin-bottom:10px}.crm-column-empty strong{font-size:12px;color:#70808e}.crm-column-empty small{font-size:10px;max-width:150px;margin-top:3px}.is-hidden{display:none!important}.crm-filter-empty{text-align:center;padding:45px 20px;color:#7f8e9b}.crm-filter-empty span{font-size:30px}.crm-filter-empty strong,.crm-filter-empty small{display:block}.crm-filter-empty strong{color:#3c4f61;margin:8px 0 3px}
.crm-premium-sidebar>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #edf1f4}.crm-action-count{display:grid;place-items:center;min-width:31px;height:31px;border-radius:10px;background:#edf5fb;color:#236f9f;font-weight:800}.crm-followup-list{padding-top:12px}.crm-followup-card{border:1px solid #e3e9ef;border-radius:14px;padding:13px;margin-bottom:10px}.crm-followup-card.is-late{border-left:4px solid #df4d4d;background:#fffafa}.crm-followup-top{display:flex;justify-content:space-between;align-items:center}.crm-followup-status{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#3d7b59;background:#e9f6ee;border-radius:999px;padding:4px 7px}.crm-followup-card.is-late .crm-followup-status{background:#fde8e8;color:#b63838}.crm-followup-top small{font-size:10px;color:#8b99a6}.crm-followup-card h3{font-size:13px;margin:10px 0 4px}.crm-followup-card p{font-size:11px;color:#788895;margin:0 0 10px}.crm-followup-card .btn{width:100%}.crm-side-empty{text-align:center;padding:35px 10px}.crm-side-empty span{display:grid;place-items:center;width:45px;height:45px;margin:0 auto 10px;border-radius:14px;background:#e6f6ed;color:#248255;font-weight:800}.crm-side-empty strong{display:block}.crm-side-empty p{font-size:12px;color:#84919d}.crm-quick-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;border-top:1px solid #edf1f4;padding:13px 2px}.crm-quick-link>span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eff5fa;color:#2f739f}.crm-quick-link div{flex:1}.crm-quick-link strong,.crm-quick-link small{display:block}.crm-quick-link strong{font-size:12px}.crm-quick-link small{font-size:10px;color:#8997a4;margin-top:2px}.crm-quick-link>b{color:#2196F3}
@media(max-width:1280px){.crm-premium-layout{grid-template-columns:1fr}.crm-premium-sidebar{position:static}.crm-premium-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.crm-premium-hero,.crm-premium-toolbar{align-items:flex-start;flex-direction:column}.crm-premium-hero{padding:21px}.crm-premium-hero h2{font-size:23px}.crm-hero-actions,.crm-hero-actions .btn{width:100%}.crm-toolbar-controls{width:100%;flex-direction:column;align-items:stretch}.crm-search{min-width:0}.crm-premium-kpis{grid-template-columns:1fr 1fr}.crm-premium-kpi{padding:13px}.crm-premium-kpi strong{font-size:21px}.crm-premium-main{padding:12px}}
@media(max-width:480px){.crm-premium-kpis{grid-template-columns:1fr}.crm-card-details{grid-template-columns:1fr}.crm-premium-sidebar{padding:14px}}

/* V4.3.0 — Navigation annuelle uniforme */
.period-panel{margin-bottom:14px;padding:18px;overflow:hidden}.period-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.period-panel-head h2{margin:3px 0 0;font-size:22px}.period-panel .eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.year-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.year-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #dbe3ec;border-radius:13px;background:#fff;color:#1e293b;text-decoration:none;transition:.18s ease}.year-card:hover{transform:translateY(-2px);border-color:#90caf9;box-shadow:0 8px 20px rgba(15,23,42,.08)}.year-card.active{border-color:#2196f3;background:linear-gradient(145deg,#eff8ff,#fff);box-shadow:inset 0 0 0 1px #2196f3}.year-card strong{font-size:22px}.year-card span{font-weight:700}.year-card small{color:#64748b}.month-strip{display:flex;gap:7px;overflow-x:auto;padding:14px 0 2px}.month-strip a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;color:#475569;font-size:12px;font-weight:800;background:#fff}.month-strip a span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#f1f5f9;font-size:10px}.month-strip a.active{border-color:#2196f3;background:#2196f3;color:#fff}.month-strip a.active span{background:rgba(255,255,255,.22)}.period-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.period-kpis article{border-top:4px solid #2196f3}.period-kpis article.positive{border-top-color:#22c55e}.period-kpis article.warning{border-top-color:#f59e0b}.period-kpis span,.period-kpis small{display:block;color:#64748b}.period-kpis strong{display:block;margin:7px 0 4px;font-size:23px}@media(max-width:900px){.period-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.period-panel-head{flex-direction:column}.period-panel-head .btn{width:100%}.year-card-grid,.period-kpis{grid-template-columns:1fr}.month-strip{margin-inline:-8px;padding-inline:8px}}

/* V5.0 Sprint 1 — Cockpit Commercial */
.sales-cockpit-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#10283f 0%,#174d78 58%,#2196F3 100%);color:#fff;box-shadow:0 18px 40px rgba(15,45,72,.2)}
.sales-cockpit-hero h1{font-size:30px;line-height:1.18;margin:5px 0 8px}.sales-cockpit-hero p{margin:0;color:rgba(255,255,255,.77)}.sales-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:900;color:#2196F3}.sales-cockpit-hero .sales-eyebrow{color:#a9dcff}.sales-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.sales-cockpit-hero .btn:not(.primary){color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25)}
.sales-year-form{display:flex;align-items:flex-end}.sales-year-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.76)}.sales-year-form select{min-width:112px;height:42px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-weight:800;outline:0}.sales-year-form select option{color:#10283f}
.sales-hero-actions{align-items:flex-end}.sales-year-form{align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.sales-year-form label{position:relative;gap:7px}.sales-year-form label span{font-size:10px;font-weight:900;letter-spacing:.16em;color:rgba(234,245,255,.95)}.sales-year-form label:after{content:"";position:absolute;right:14px;bottom:16px;width:8px;height:8px;border-right:2px solid #dbeeff;border-bottom:2px solid #dbeeff;transform:rotate(45deg);pointer-events:none}.sales-year-form select{appearance:none;min-width:126px;height:46px;padding:0 36px 0 14px;border-radius:12px;border:1px solid rgba(201,226,250,.65);background:linear-gradient(180deg,rgba(47,133,201,.42),rgba(28,95,149,.52));color:#fff;font-size:15px;font-weight:900;letter-spacing:.02em;outline:0;cursor:pointer;box-shadow:0 10px 24px rgba(13,42,66,.22),inset 0 1px 0 rgba(255,255,255,.16);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.sales-year-form select:hover{border-color:rgba(226,241,255,.95);background:linear-gradient(180deg,rgba(57,146,214,.47),rgba(31,103,161,.58))}.sales-year-form select:focus-visible{border-color:#fff;box-shadow:0 0 0 3px rgba(188,224,255,.35),0 10px 24px rgba(13,42,66,.25)}.sales-year-form select option{color:#10283f}
.sales-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.sales-kpi-card{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid #e3eaf1;border-radius:18px;box-shadow:0 6px 18px rgba(17,43,69,.05)}.sales-kpi-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#edf5fb;color:#2775aa;font-weight:900}.sales-kpi-card small,.sales-kpi-card em{display:block}.sales-kpi-card small{font-weight:800;color:#718296}.sales-kpi-card strong{display:block;font-size:24px;color:#162b40;margin:2px 0}.sales-kpi-card em{font-size:11px;color:#8797a6;font-style:normal}.sales-kpi-card.is-hot .sales-kpi-icon{background:#fff0d9;color:#b87300}.sales-kpi-card.is-success .sales-kpi-icon{background:#e7f7ed;color:#218052}.sales-kpi-card.is-danger .sales-kpi-icon{background:#fde8e8;color:#c43e3e}
.sales-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.sales-chart-card{padding:18px;background:#fff;border:1px solid #e3eaf1;border-radius:20px;box-shadow:0 6px 18px rgba(17,43,69,.05)}.sales-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.sales-chart-head h2{margin:4px 0 0;font-size:18px;color:#162b40}.sales-chart-head small{font-size:11px;color:#8797a6}.sales-chart-empty{padding:24px;border:1px dashed #d8e2ec;border-radius:14px;background:#f9fbfd;color:#7b8c9d;font-size:13px}.sales-bars{display:flex;flex-direction:column;gap:12px}.sales-bar-row{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr) 110px;gap:12px;align-items:center}.sales-bar-meta strong,.sales-bar-meta span{display:block}.sales-bar-meta strong{font-size:13px;color:#163048}.sales-bar-meta span{font-size:10px;color:#8b9aaa;margin-top:3px}.sales-bar-track{height:12px;border-radius:999px;background:#edf3f8;overflow:hidden;position:relative}.sales-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2196f3,#1565c0)}.sales-bar-fill.tone-quotes{background:linear-gradient(90deg,#19c37d,#109c63)}.sales-bar-fill.tone-reservations{background:linear-gradient(90deg,#f59e0b,#d97706)}.sales-bar-value{text-align:right;font-size:12px;font-weight:800;color:#163048}
.sales-month-bars{gap:9px}.sales-month-bars .sales-bar-row{grid-template-columns:44px minmax(0,1fr) 110px}.sales-month-bars .sales-bar-meta strong{font-size:11px}
.crm-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:18px 0 4px}.crm-pagination a,.crm-pagination>span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #dce5ed;border-radius:10px;background:#fff;color:#526476;text-decoration:none;font-size:12px;font-weight:800}.crm-pagination a:hover{border-color:#2196f3;color:#1877b9}.crm-pagination a.active{border-color:#2196f3;background:#2196f3;color:#fff}.crm-pagination a.crm-pagination-prev,.crm-pagination a.crm-pagination-next,.crm-pagination>span.disabled{min-width:100px}.crm-pagination>span.disabled{color:#b4c0ca;background:#f8fafc;cursor:not-allowed}
.sales-toolbar-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin-bottom:18px;background:#fff;border:1px solid #e3eaf1;border-radius:18px}.sales-toolbar-card h2{margin:0;font-size:18px}.sales-toolbar-card p{margin:3px 0 0;font-size:12px;color:#7c8d9d}.sales-toolbar-actions{display:flex;gap:10px}.sales-search{display:flex;align-items:center;gap:8px;min-width:270px;padding:0 11px;border:1px solid #dce5ed;border-radius:11px;background:#f9fbfd}.sales-search input{border:0;outline:0;background:transparent;width:100%;padding:10px 0}.sales-toolbar-actions select{padding:10px 12px;border:1px solid #dce5ed;border-radius:11px;background:#fff;color:#344b60}
.sales-dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.sales-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.sales-stage-card{background:#fff;border:1px solid #e1e8ef;border-radius:20px;overflow:hidden;box-shadow:0 7px 22px rgba(17,43,69,.05)}.sales-stage-head{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;border-bottom:1px solid #edf1f5}.sales-stage-title{display:flex;align-items:center;gap:11px}.sales-stage-title>span{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#edf3f8;color:#526a80;font-weight:900}.sales-stage-title h2{margin:0;font-size:15px}.sales-stage-title p{margin:3px 0 0;font-size:10px;color:#8796a5}.sales-stage-head>b{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:10px;background:#edf3f8;color:#50677c;font-size:12px}.tone-blue .sales-stage-title>span,.tone-blue .sales-stage-head>b{background:#e5f3fe;color:#1877b9}.tone-cyan .sales-stage-title>span,.tone-cyan .sales-stage-head>b{background:#e5f7fa;color:#187e91}.tone-amber .sales-stage-title>span,.tone-amber .sales-stage-head>b{background:#fff0d6;color:#ad6b00}.tone-green .sales-stage-title>span,.tone-green .sales-stage-head>b{background:#e5f7ec;color:#218052}.tone-orange .sales-stage-title>span,.tone-orange .sales-stage-head>b{background:#fff0df;color:#aa6300}.tone-red .sales-stage-title>span,.tone-red .sales-stage-head>b{background:#fde8e8;color:#b93838}
.sales-stage-list{padding:12px;max-height:590px;overflow:auto}.sales-opportunity{border:1px solid #e2e9ef;border-radius:15px;margin-bottom:10px;background:#fff;transition:.18s ease}.sales-opportunity:hover{transform:translateY(-1px);border-color:#8bc8f3;box-shadow:0 8px 20px rgba(33,150,243,.1)}.sales-opportunity.is-hot{border-left:4px solid #f0a31b}.sales-opportunity-main{display:block;text-decoration:none;color:inherit;padding:13px}.sales-opportunity-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.sales-opportunity-top strong{font-size:14px;color:#142a40}.sales-ref{font-size:9px;font-weight:900;letter-spacing:.05em;padding:4px 7px;border-radius:999px;background:#eff4f8;color:#647d91}.sales-person-row{display:flex;align-items:center;gap:10px;margin:12px 0}.sales-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#e6f3fc,#d5eaf8);color:#236b9e;font-weight:900}.sales-person-row h3{font-size:14px;margin:0 0 2px}.sales-person-row p{font-size:11px;margin:0;color:#80909e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding-top:10px;border-top:1px solid #edf1f4;font-size:11px;color:#4f6476}.sales-meta-row small{display:block;text-transform:uppercase;letter-spacing:.05em;color:#9aa7b2;font-size:8px;margin-bottom:2px}.sales-opportunity footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 13px;border-top:1px solid #edf1f4}.sales-opportunity footer>a{font-size:10px;color:#2196F3;font-weight:900;text-decoration:none}.sales-badge{font-size:9px;font-weight:900;border-radius:999px;padding:5px 7px}.sales-badge.urgent{background:#fde7e7;color:#b63838}.sales-badge.hot{background:#fff0d5;color:#a96800}.sales-badge.neutral{background:#eef2f5;color:#738390}.sales-stage-empty{text-align:center;padding:40px 20px;color:#8998a5}.sales-stage-empty>span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 9px;border-radius:13px;background:#edf2f6}.sales-stage-empty strong,.sales-stage-empty small{display:block}.sales-stage-empty strong{color:#617485;font-size:12px}.sales-stage-empty small{font-size:10px;margin-top:3px}.sales-see-all{display:block;text-align:center;text-decoration:none;font-size:11px;font-weight:900;color:#2196F3;padding:9px}.sales-no-result{grid-column:1/-1;text-align:center;padding:45px;background:#fff;border:1px dashed #ccd8e2;border-radius:18px;color:#788997}.sales-no-result strong,.sales-no-result span{display:block}.sales-no-result strong{color:#405568;margin-bottom:4px}
.sales-actions-panel{position:sticky;top:18px;height:max-content;padding:18px;background:#fff;border:1px solid #e1e8ef;border-radius:20px;box-shadow:0 7px 22px rgba(17,43,69,.05)}.sales-actions-panel>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #edf1f4}.sales-actions-panel h2{margin:2px 0 0;font-size:18px}.sales-actions-panel>header>b{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:#edf5fb;color:#2773a6}.sales-followup-list{padding-top:12px}.sales-followup{border:1px solid #e2e9ef;border-radius:14px;padding:13px;margin-bottom:10px}.sales-followup.is-late{border-left:4px solid #d84747;background:#fffafa}.sales-followup>div{display:flex;justify-content:space-between}.sales-followup>div span{font-size:9px;font-weight:900;text-transform:uppercase;color:#3a7e59;background:#e8f6ed;border-radius:999px;padding:4px 7px}.sales-followup.is-late>div span{color:#b63838;background:#fde8e8}.sales-followup small{font-size:10px;color:#8c9aa7}.sales-followup h3{font-size:13px;margin:10px 0 4px}.sales-followup p{font-size:11px;color:#788895;margin:0 0 10px}.sales-followup .btn{width:100%}.sales-actions-empty{text-align:center;padding:36px 10px}.sales-actions-empty>span{display:grid;place-items:center;width:45px;height:45px;margin:0 auto 10px;border-radius:14px;background:#e6f6ed;color:#248255;font-weight:900}.sales-actions-empty strong{display:block}.sales-actions-empty p{font-size:12px;color:#84919d}.sales-panel-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;border-top:1px solid #edf1f4;padding:13px 2px}.sales-panel-link>span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eff5fa;color:#2f739f}.sales-panel-link div{flex:1}.sales-panel-link strong,.sales-panel-link small{display:block}.sales-panel-link strong{font-size:12px}.sales-panel-link small{font-size:10px;color:#8997a4;margin-top:2px}.sales-panel-link>b{color:#2196F3}
@media(max-width:1280px){.sales-dashboard-layout{grid-template-columns:1fr}.sales-actions-panel{position:static}.sales-kpi-grid{grid-template-columns:repeat(2,1fr)}.sales-chart-grid{grid-template-columns:1fr}}
@media(max-width:850px){.sales-stage-grid{grid-template-columns:1fr}.sales-cockpit-hero,.sales-toolbar-card{align-items:flex-start;flex-direction:column}.sales-toolbar-actions{width:100%;flex-direction:column}.sales-search{min-width:0}.sales-toolbar-actions select{width:100%}.sales-bar-row{grid-template-columns:1fr}.sales-bar-value{text-align:left}.sales-year-form{width:100%}.sales-year-form select{width:100%}}
@media(max-width:600px){.sales-cockpit-hero{padding:22px}.sales-cockpit-hero h1{font-size:24px}.sales-hero-actions,.sales-hero-actions .btn{width:100%}.sales-kpi-grid{grid-template-columns:1fr}.sales-meta-row{grid-template-columns:1fr 1fr}.sales-stage-list{max-height:none}}

/* V5.1.0 Cockpit Exploitation */
.ops5-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:28px;border-radius:24px;background:linear-gradient(135deg,#0f2742,#1f5f93);color:#fff;margin-bottom:18px;box-shadow:0 16px 42px rgba(15,39,66,.2)}
.ops5-hero-copy{max-width:720px}.ops5-eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:800;opacity:.72}.ops5-hero h1{margin:5px 0 7px;font-size:32px}.ops5-hero p{margin:0;opacity:.84}.ops5-hero-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.ops5-date-form,.ops5-quick-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ops5-date-form input{min-height:42px;border:0;border-radius:10px;padding:0 12px}.ops5-quick-action{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-size:12px;font-weight:700}.ops5-quick-action:hover{background:rgba(255,255,255,.2)}
.ops5-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.ops5-kpi{display:flex;flex-direction:column;min-height:120px;padding:16px 17px;background:#fff;border:1px solid #e4e9ef;border-radius:18px;text-decoration:none;color:#24384e;box-shadow:0 7px 22px rgba(31,48,68,.055);border-top:4px solid #2196f3;transition:.18s ease}.ops5-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(31,48,68,.1)}.ops5-kpi-label{font-size:12px;color:#64748b}.ops5-kpi strong{font-size:30px;line-height:1;margin:10px 0 8px}.ops5-kpi small{font-size:10px;color:#94a3b8}.ops5-kpi.tone-orange{border-top-color:#f59e0b}.ops5-kpi.tone-red{border-top-color:#ef4444}.ops5-kpi.tone-purple{border-top-color:#8b5cf6}.ops5-kpi.tone-gray{border-top-color:#64748b}.ops5-kpi.tone-cyan{border-top-color:#06b6d4}
.ops5-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.ops5-main{display:flex;flex-direction:column;gap:18px}.ops5-panel,.ops5-side-panel{background:#fff;border:1px solid #e4e9ef;border-radius:20px;padding:18px;box-shadow:0 8px 26px rgba(38,55,75,.055)}.ops5-panel-head,.ops5-side-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.ops5-panel-kicker,.ops5-side-head span{font-size:10px;letter-spacing:.14em;font-weight:800;color:#2196f3}.ops5-panel-head h2,.ops5-side-head h2{margin:3px 0 0;font-size:19px}.ops5-panel-head p{margin:4px 0 0;color:#748398;font-size:12px}.ops5-side-head a{font-size:12px;text-decoration:none}
.ops5-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ops5-empty{padding:26px;border:1px dashed #cbd5e1;border-radius:16px;color:#718096;background:#f8fafc}.ops5-operation-card{position:relative;border:1px solid #e3e9f0;border-left:5px solid #f59e0b;border-radius:18px;padding:16px;background:#fbfdff}.ops5-operation-card.is-ready{border-left-color:#16a34a;background:#fbfffc}.ops5-operation-card.is-blocked{border-left-color:#dc2626;background:#fffafa}.ops5-operation-card.is-completed{border-left-color:#64748b;background:#f8fafc}.ops5-return-card{background:#fbfeff}.ops5-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ops5-time-block{display:flex;flex-direction:column}.ops5-time-block>span{font-size:23px;font-weight:900;color:#183b5b}.ops5-time-block small{font-size:10px;color:#7b8a9b;margin-top:2px}.ops5-readiness{font-size:10px;font-weight:800;padding:6px 9px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.is-ready .ops5-readiness{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.is-blocked .ops5-readiness{background:#fef2f2;color:#991b1b;border-color:#fecaca}.is-completed .ops5-readiness{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.ops5-client-row{display:flex;gap:10px;align-items:center;margin:15px 0}.ops5-avatar{width:38px;height:38px;border-radius:12px;background:#eaf4ff;color:#1565a9;display:grid;place-items:center;font-weight:900}.ops5-client-row h3{margin:0;font-size:17px}.ops5-client-row p{margin:3px 0 0;font-size:11px;color:#7b8a9b}.ops5-bike-list{display:flex;flex-direction:column;gap:7px}.ops5-bike-row{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e6ecf2;border-radius:11px;background:#fff;font-size:12px}.ops5-bike-row strong{color:#183b5b}.ops5-bike-row span{color:#627286;text-align:right}.ops5-bike-row.is-missing{border-color:#fecaca;background:#fff7f7}.ops5-checks{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.ops5-checks span{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px}.ops5-checks .ok{background:#dcfce7;color:#166534}.ops5-checks .warn{background:#ffedd5;color:#9a3412}.ops5-checks .danger{background:#fee2e2;color:#991b1b}.ops5-alert-list{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.ops5-alert-list span{font-size:10px;font-weight:700;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:4px 7px}.ops5-progress-row{margin:12px 0}.ops5-progress-row>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px;color:#617186}.ops5-money-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px dashed #d9e1e9;font-size:12px}.ops5-money-row strong{color:#173a59}.ops5-actions{display:flex;gap:7px;flex-wrap:wrap}.ops5-actions .btn{font-size:11px}
.ops5-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:18px}.ops5-prep-list,.ops5-task-list{display:flex;flex-direction:column;gap:8px}.ops5-prep-list>a{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #e6ebf0;border-radius:12px;text-decoration:none;color:#26394e}.ops5-prep-list>a:hover{border-color:#2196f3;background:#f6fbff}.ops5-prep-list>a>div{display:flex;justify-content:space-between;gap:10px}.ops5-prep-list span,.ops5-task span{font-size:11px;color:#64748b}.ops5-prep-list small,.ops5-task small{font-size:10px;color:#8b98a8}.ops5-task{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px;border:1px solid #e6ebf0;border-left:4px solid #94a3b8;border-radius:11px}.ops5-task>div{display:flex;flex-direction:column;gap:3px;min-width:0}.ops5-task strong{font-size:12px}.ops5-task.priority-high{border-left-color:#f59e0b}.ops5-task.priority-urgent{border-left-color:#ef4444}.ops5-task-check{width:30px;height:30px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#16a34a;font-weight:900;cursor:pointer}.ops5-task-check:hover{background:#dcfce7;border-color:#86efac}.ops5-alert-summary{display:flex;flex-direction:column}.ops5-alert-summary .ops5-side-head{margin-bottom:8px}.ops5-alert-summary>a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf1f5;text-decoration:none;color:#334155;font-size:12px}.ops5-alert-summary>a strong{min-width:28px;text-align:center;padding:2px 7px;border-radius:999px;background:#eef5fb;color:#1565a9}
@media(max-width:1180px){.ops5-kpis{grid-template-columns:repeat(3,1fr)}.ops5-layout{grid-template-columns:1fr}.ops5-sidebar{position:static;display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.ops5-hero{align-items:flex-start;flex-direction:column;padding:20px}.ops5-hero-actions{align-items:stretch;width:100%}.ops5-date-form{width:100%}.ops5-date-form input{flex:1}.ops5-kpis{grid-template-columns:repeat(2,1fr)}.ops5-grid{grid-template-columns:1fr}.ops5-sidebar{display:flex}.ops5-panel-head{align-items:flex-start}.ops5-quick-actions{width:100%}.ops5-actions .btn{flex:1;text-align:center}}
@media(max-width:480px){.ops5-kpis{grid-template-columns:1fr 1fr}.ops5-kpi{min-height:105px}.ops5-hero h1{font-size:26px}.ops5-bike-row{flex-direction:column}.ops5-bike-row span{text-align:left}.ops5-date-form .btn,.ops5-date-form a{flex:1;text-align:center}}

/* =========================================================
   V5.5.1 — Action Center Premium UI
   ========================================================= */
.action-center{display:flex;flex-direction:column;gap:22px;max-width:1500px;margin:0 auto;padding-bottom:34px}
.action-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#0f172a 0%,#163f69 58%,#1f78bd 100%);color:#fff;box-shadow:0 22px 55px rgba(15,23,42,.2);overflow:hidden}
.action-hero:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-120px;border-radius:50%;background:rgba(255,255,255,.09)}
.action-hero>div{position:relative;z-index:1}.action-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:850;letter-spacing:.14em;color:#a9dcff;text-transform:uppercase}
.action-hero h1{margin:8px 0 6px;font-size:clamp(28px,3vw,38px);line-height:1.08;letter-spacing:-.025em;color:#fff}.action-hero p{margin:0;max-width:700px;color:#dcecf9;font-size:15px;line-height:1.6}
.action-hero-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.action-hero-buttons .btn{min-height:42px;border-radius:12px;font-weight:750}.action-hero-buttons .btn-primary{background:#fff;color:#145f99;border-color:#fff}.action-hero-buttons .btn-primary:hover{background:#eef8ff}.action-hero-buttons .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.24)}
.action-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.action-score{position:relative;padding:20px 20px 18px;border-radius:18px;background:#fff;border:1px solid #e5eaf0;box-shadow:0 9px 26px rgba(15,23,42,.06);overflow:hidden}.action-score:after{content:"";position:absolute;inset:auto -30px -45px auto;width:105px;height:105px;border-radius:50%;background:#f5f8fb}.action-score span,.action-score small,.action-score strong{position:relative;z-index:1}.action-score span,.action-score small{display:block;color:#687386}.action-score span{font-weight:750;font-size:13px}.action-score strong{display:block;margin:8px 0 6px;font-size:30px;line-height:1;color:#142033}.action-score small{font-size:12px}.action-score.is-critical{border-top:4px solid #ef4444}.action-score.is-open{border-top:4px solid #f59e0b}.action-score.is-done{border-top:4px solid #22c55e}.action-score.is-role{border-top:4px solid #2196f3}.action-score.is-role strong{font-size:21px;line-height:1.2}
.action-role-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action-mini-card{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:17px 18px;background:#fff;border:1px solid #e4e9ef;border-radius:16px;text-decoration:none;color:#182230;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.action-mini-card:hover{transform:translateY(-2px);border-color:#b9dfff;box-shadow:0 12px 28px rgba(15,23,42,.09)}.action-mini-card span{font-weight:750}.action-mini-card strong{grid-row:1/3;grid-column:2;font-size:27px;color:#2196f3}.action-mini-card small{color:#7b8794}
.action-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.68fr);gap:18px;align-items:start}.action-main,.action-side{display:flex;flex-direction:column;gap:18px}.action-panel{background:#fff;border:1px solid #e3e8ee;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.055)}.action-panel>header{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #edf0f4;background:linear-gradient(180deg,#fff,#fbfcfe)}.action-panel>header span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;color:#7b8794}.action-panel>header h2{margin:4px 0 0;font-size:19px;color:#192434}.action-panel>header b{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border-radius:12px;background:#edf6ff;color:#1676c2;font-size:14px}.action-critical-panel>header{background:linear-gradient(180deg,#fff8f8,#fff)}.action-critical-panel>header b{background:#fee2e2;color:#dc2626}
.action-list{padding:10px}.action-item{display:flex;align-items:center;gap:14px;padding:15px 13px;border-bottom:1px solid #edf0f4;transition:background .16s ease,transform .16s ease}.action-item:last-child{border-bottom:0}.action-item.is-alert{text-decoration:none;color:inherit}.action-item:hover{background:#f8fafc;border-radius:13px}.action-dot{width:11px;height:11px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 5px #fee2e2;flex:0 0 auto}.action-item-content,.action-item>div{min-width:0;flex:1}.action-item strong{display:block;color:#172033;font-size:14px}.action-item p{margin:4px 0;color:#657182;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-item small{color:#8a96a3}.action-open,.action-done{border:0;border-radius:10px;padding:9px 13px;background:#fff0f0;color:#dc2626;font-weight:800;text-decoration:none;white-space:nowrap}.action-done{cursor:pointer}.action-done:hover,.action-open:hover{background:#fee2e2}.action-check{width:36px;height:36px;border:0;border-radius:50%;background:#ecfdf3;color:#16a34a;font-weight:900;cursor:pointer}.action-check:hover{background:#d1fae5}.action-category{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6ff;color:#1676c2;font-size:10px;font-weight:900;flex:0 0 auto}.action-empty{padding:28px;text-align:center;color:#778391;background:#fbfcfd;border-radius:14px}
.action-week-list{padding:8px 16px}.action-week-list a{display:block;padding:14px 3px;border-bottom:1px solid #edf0f4;text-decoration:none;transition:padding-left .15s ease}.action-week-list a:hover{padding-left:6px}.action-week-list a:last-child{border-bottom:0}.action-week-list time{display:block;font-size:11px;color:#2196f3;font-weight:800}.action-week-list strong{display:block;margin:4px 0;color:#172033}.action-week-list span{color:#788493;font-size:13px}.action-shortcuts>a{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #edf0f4;text-decoration:none;color:#172033;transition:background .15s ease}.action-shortcuts>a:hover{background:#f8fbff}.action-shortcuts>a:last-child{border-bottom:0}.action-shortcuts>a>b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6ff;color:#1676c2;flex:0 0 auto}.action-shortcuts>a>span{font-weight:800}.action-shortcuts small{display:block;margin-top:2px;color:#84909e;font-weight:400}
@media(max-width:1100px){.action-score-grid,.action-role-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.action-layout{grid-template-columns:1fr}.action-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.action-center{gap:15px}.action-hero{align-items:flex-start;flex-direction:column;padding:23px 21px;border-radius:19px}.action-hero-buttons{justify-content:flex-start}.action-score-grid,.action-role-summary,.action-side{grid-template-columns:1fr}.action-item{align-items:flex-start}.action-item form{margin-left:auto}.action-open{display:none}.action-score{padding:17px}.action-panel{border-radius:16px}.action-panel>header{padding:16px}.action-list{padding:7px}.action-item{padding:13px 10px}}

/* V5.6.45 - Reservations list */
.reservations-index {
    max-width: 1680px;
    margin: 0 auto;
}

.reservations-index .reservations-filter-card {
    padding: 15px;
    border-color: #d8e3ec;
    border-radius: 8px;
    background: #f7f9fc;
    box-shadow: 0 4px 15px rgba(15, 39, 66, .045);
}

.reservations-index .reservations-filter-grid {
    grid-template-columns: minmax(260px, 1.65fr) repeat(5, minmax(125px, 1fr));
    gap: 11px;
}

.reservations-index .reservations-client-search label {
    color: #184f73;
    font-weight: 900;
}

.reservations-index .reservations-client-search input {
    height: 44px;
    border: 2px solid #4f91b8;
    background: #fff;
    color: #172f47;
    font-weight: 700;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .08);
}

.reservations-index .reservations-client-search input::placeholder {
    color: #8294a5;
    font-weight: 500;
}

.reservations-index .reservations-client-search input:focus {
    outline: none;
    border-color: #176d9f;
    box-shadow: 0 0 0 4px rgba(47, 124, 171, .16);
}

.reservations-index .reservations-filter-field label {
    color: #607286;
    font-size: 10px;
    letter-spacing: .06em;
}

.reservations-index .reservations-filter-field select,
.reservations-index .reservations-filter-field input {
    height: 40px;
    border-color: #cdd9e4;
    border-radius: 6px;
    background: #fff;
}

.reservations-index .reservations-filter-actions {
    margin-top: 2px;
    padding-top: 12px;
}

.reservations-index .reservations-filter-actions .btn {
    height: 40px;
    border-radius: 6px;
}

.reservations-index .bulk-actions-bar {
    min-height: 38px;
    margin: 0 0 8px;
    padding: 0 2px;
}

.reservations-index .bulk-actions-count {
    color: #607286;
    font-size: 12px;
}

.reservations-index .bulk-actions-bar .btn {
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 6px;
    font-size: 12px;
}

.reservations-table-card {
    padding: 0;
    overflow: auto;
    border-color: #d8e3ec;
    border-radius: 8px;
    box-shadow: 0 7px 22px rgba(15, 39, 66, .06);
    scrollbar-color: #aebdca #edf2f6;
    scrollbar-width: thin;
}

.reservations-table {
    min-width: 1160px;
}

.reservations-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 12px 10px;
    border-bottom: 1px solid #cfdbe6;
    background: #edf3f7;
    color: #52677b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.reservations-table tbody td {
    padding: 13px 10px;
    border-bottom-color: #e3e9ef;
    color: #33475b;
    font-size: 12px;
    vertical-align: middle;
}

.reservations-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}

.reservations-table tbody tr:hover td {
    background: #f2f8fc;
}

.reservations-table tbody tr:last-child td {
    border-bottom: 0;
}

.reservations-table .reservation-select-cell {
    width: 42px;
    text-align: center;
}

.reservations-table .reservation-actions-cell {
    min-width: 226px;
}

.reservations-table .reservation-actions-cell .inline-actions {
    gap: 5px;
    flex-wrap: nowrap;
}

.reservations-table .reservation-actions-cell .icon-action {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
}

.reservation-client-cell strong,
.reservation-period-cell strong,
.reservation-period-cell small,
.reservation-route-cell span {
    display: block;
}

.reservation-reference {
    display: block;
    margin-bottom: 4px;
    color: #146b9f;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .035em;
    text-decoration: none;
}

.reservation-reference:hover {
    text-decoration: underline;
}

.reservation-client-cell > strong {
    color: #182b3e;
    font-size: 13px;
}

.reservation-period-cell strong {
    color: #243b52;
    font-weight: 750;
}

.reservation-period-cell small {
    margin-top: 4px;
    color: #728296;
}

.reservation-route-cell {
    min-width: 180px;
}

.reservation-route-cell span {
    overflow: hidden;
    max-width: 210px;
    text-overflow: ellipsis;
}

.reservation-route-cell span + span {
    margin-top: 5px;
}

.reservation-route-cell span strong {
    display: inline;
    margin-right: 5px;
    color: #718196;
    font-size: 9px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.reservation-payment-cell strong {
    color: #20734b;
}

.reservation-total-cell strong {
    color: #172f47;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.reservations-table .status,
.reservations-table .preparation-pill {
    border: 1px solid transparent;
    border-radius: 5px;
}

.reservations-table .status.confirmed,
.reservations-table .preparation-pill.ready,
.reservations-table .preparation-pill.completed {
    border-color: #b8dfca;
}

.reservations-table .status.in_progress,
.reservations-table .preparation-pill.in_progress {
    border-color: #bfdbfe;
}

.reservations-table .status.cancelled,
.reservations-table .preparation-pill.blocked {
    border-color: #fecaca;
}

.reservations-index .pagination-summary {
    margin-top: 13px;
    color: #718196;
    font-size: 11px;
    text-align: center;
}

@media (max-width: 1180px) {
    .reservations-index .reservations-filter-grid {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .reservations-index .reservations-client-search {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .reservations-index .reservations-filter-card {
        padding: 12px;
    }

    .reservations-index .reservations-filter-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .reservations-index .reservations-client-search {
        grid-column: auto;
    }

    .reservations-index .reservations-filter-field select,
    .reservations-index .reservations-filter-field input,
    .reservations-index .reservations-filter-actions .btn {
        min-height: 44px;
    }

    .reservations-index .reservations-filter-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .reservations-index .bulk-actions-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .reservations-index .bulk-actions-bar .btn {
        width: 100%;
        min-height: 42px;
    }

    .reservations-table-card {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .reservations-table,
    .reservations-table tbody {
        display: block;
        min-width: 0;
    }

    .reservations-table thead {
        display: none;
    }

    .reservations-table .reservation-list-row {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #d8e3ec;
        border-left: 4px solid #2f7cab;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(15, 39, 66, .055);
    }

    .reservations-table .reservation-list-row:has(.status.cancelled) {
        border-left-color: #dc4c4c;
    }

    .reservations-table .reservation-list-row:has(.status.completed) {
        border-left-color: #718096;
    }

    .reservations-table .reservation-list-row > td {
        display: block;
        min-width: 0;
        padding: 10px 11px;
        border: 0;
        border-bottom: 1px solid #edf1f4;
        background: #fff !important;
        white-space: normal;
    }

    .reservations-table .reservation-list-row > td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #8391a0;
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .065em;
        text-transform: uppercase;
    }

    .reservations-table .reservation-select-cell {
        position: absolute;
        top: 13px;
        right: 11px;
        z-index: 2;
        width: auto;
        padding: 0;
        border: 0;
    }

    .reservations-table .reservation-actions-cell,
    .reservations-table .reservation-client-cell,
    .reservations-table .reservation-route-cell {
        grid-column: 1 / -1;
    }

    .reservations-table .reservation-client-cell {
        padding-right: 44px;
        background: #f6f9fb !important;
    }

    .reservations-table .reservation-actions-cell {
        grid-row: 5;
        border-bottom: 0;
    }

    .reservations-table .reservation-actions-cell .inline-actions {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        width: 100%;
    }

    .reservations-table .reservation-actions-cell .icon-action {
        width: 100%;
        height: 40px;
    }

    .reservations-table .reservation-route-cell span {
        max-width: none;
    }

    .reservations-table .reservation-total-cell strong {
        font-size: 15px;
    }

    .reservations-table .reservations-empty-row,
    .reservations-table .reservations-empty-row td {
        display: block;
    }

    .reservations-index .crm-pagination {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reservations-index .crm-pagination a,
    .reservations-index .crm-pagination > span {
        min-height: 42px;
    }

    .reservations-index .crm-pagination a:not(.crm-pagination-prev):not(.crm-pagination-next):not(.active),
    .reservations-index .crm-pagination > span:not(.disabled) {
        display: none;
    }
}

/* Invoice creation */
.invoice-create-page { max-width: 1180px; margin: 0 auto; }
.invoice-create-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.invoice-create-header h1 { margin: 6px 0 4px; color: #17324d; font-size: 28px; letter-spacing: 0; }
.invoice-create-header p { margin: 0; color: #718096; }
.invoice-create-back { color: #2f7cab; font-size: 13px; font-weight: 750; text-decoration: none; }
.invoice-create-status { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #d8e3ec; border-radius: 6px; background: #f6f9fb; color: #607184; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.invoice-create-form { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.invoice-create-main { display: grid; gap: 16px; min-width: 0; }
.invoice-create-section { margin: 0; padding: 22px; border-top: 3px solid #2f7cab; }
.invoice-create-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.invoice-create-section-heading > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 6px; background: #eaf3f8; color: #2f7cab; font-size: 12px; font-weight: 900; }
.invoice-create-section-heading h2 { margin: 0 0 3px; color: #17324d; font-size: 18px; letter-spacing: 0; }
.invoice-create-section-heading p { margin: 0; color: #7a8998; font-size: 12px; }
.invoice-create-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.invoice-create-grid label { gap: 7px; color: #40566c; font-size: 12px; font-weight: 800; }
.invoice-create-grid input, .invoice-create-grid select, .invoice-create-grid textarea { min-height: 43px; border-color: #d8e3ec; border-radius: 6px; background: #fff; }
.invoice-create-grid input:focus, .invoice-create-grid select:focus, .invoice-create-grid textarea:focus { border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47,124,171,.12); outline: 0; }
.invoice-create-grid input[readonly] { background: #f5f7f9; color: #64748b; }
.invoice-client-autocomplete { position: relative; }
.invoice-client-autocomplete input[type="search"] { width: 100%; padding-right: 38px; }
.invoice-client-autocomplete::after { content: "⌕"; position: absolute; top: 8px; right: 13px; color: #2f7cab; font-size: 20px; pointer-events: none; }
.invoice-client-results { position: absolute; z-index: 40; top: calc(100% + 6px); right: 0; left: 0; max-height: 290px; overflow-y: auto; padding: 6px; border: 1px solid #cbd9e4; border-radius: 7px; background: #fff; box-shadow: 0 16px 34px rgba(22,50,77,.16); }
.invoice-client-option { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 0; border-radius: 5px; background: #fff; color: #17324d; text-align: left; cursor: pointer; }
.invoice-client-option:hover, .invoice-client-option.is-active { background: #eef6fa; }
.invoice-client-option span { display: grid; min-width: 0; gap: 2px; }
.invoice-client-option strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.invoice-client-option small { overflow: hidden; color: #718096; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.invoice-client-option b { flex: 0 0 auto; padding: 4px 6px; border: 1px solid #b8dfca; border-radius: 4px; background: #eef9f3; color: #176943; font-size: 9px; font-weight: 850; white-space: nowrap; }
.invoice-client-option b.is-company { border-color: #b7cce0; background: #edf4fa; color: #245f8a; }
.invoice-client-empty { margin: 0; padding: 16px 10px; color: #718096; font-size: 12px; text-align: center; }
.invoice-create-summary { position: sticky; top: 86px; margin: 0; padding: 20px; }
.invoice-create-summary h2 { margin: 0 0 18px; color: #17324d; font-size: 17px; letter-spacing: 0; }
.invoice-create-summary > div:not(.invoice-create-actions) { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; color: #718096; font-size: 12px; }
.invoice-create-summary > div strong { color: #40566c; }
.invoice-create-summary .invoice-create-total { margin-top: 7px; padding: 15px 0; border-top: 1px solid #dfe7ed; border-bottom: 1px solid #dfe7ed; color: #17324d; font-size: 14px; font-weight: 850; }
.invoice-create-summary .invoice-create-total strong { color: #167352; font-size: 20px; }
.invoice-create-summary > p { margin: 14px 0 18px; color: #7a8998; font-size: 11px; line-height: 1.5; }
.invoice-create-actions { display: grid; gap: 8px; }
.invoice-create-actions .btn { width: 100%; min-height: 42px; justify-content: center; }
@media (max-width: 900px) {
    .invoice-create-form { grid-template-columns: 1fr; }
    .invoice-create-summary { position: static; }
}
@media (max-width: 620px) {
    .invoice-create-header { align-items: flex-start; }
    .invoice-create-header h1 { font-size: 23px; }
    .invoice-create-section { padding: 16px; }
    .invoice-create-grid { grid-template-columns: 1fr; }
    .invoice-create-grid .full-row { grid-column: auto; }
    .invoice-client-option { align-items: flex-start; flex-direction: column; }
}

/* Invoices workspace */
.invoices-workspace { display: grid; gap: 12px; max-width: 1680px; margin: 0 auto; padding-bottom: 28px; }
.invoices-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border: 1px solid #173f5d; border-radius: 8px; background: #12344d; color: #fff; box-shadow: 0 8px 24px rgba(15,39,66,.12); }
.invoices-hero .eyebrow { color: #9bd5fa; letter-spacing: .08em; }
.invoices-hero h1 { margin: 3px 0 4px; color: #fff; font-size: 24px; letter-spacing: 0; }
.invoices-hero p { margin: 0; color: #d7e7f2; font-size: 12px; }
.invoices-hero-period { display: grid; flex: 0 0 auto; gap: 2px; min-width: 118px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; background: rgba(255,255,255,.08); text-align: right; }
.invoices-hero-period span { color: #b8d9ed; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.invoices-hero-period strong { color: #fff; font-size: 15px; }
.invoices-summary { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 9px; }
.invoices-summary article { position: relative; display: grid; gap: 2px; min-height: 78px; padding: 12px 14px 12px 17px; overflow: hidden; border: 1px solid #dce5ec; border-radius: 7px; background: #fff; box-shadow: 0 4px 14px rgba(17,43,69,.04); }
.invoices-summary article::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: #71869a; }
.invoices-summary article.is-total::before { background: #2f7cab; }
.invoices-summary article.is-paid::before { background: #27835c; }
.invoices-summary article.is-outstanding::before { background: #d58a14; }
.invoices-summary article.is-danger::before { background: #c74747; }
.invoices-summary span { color: #627d98; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.invoices-summary strong { color: #102a43; font-size: 20px; font-variant-numeric: tabular-nums; }
.invoices-summary small { color: #829ab1; font-size: 10px; }
.invoices-workspace { gap:10px; }
.invoices-summary { padding:10px; border:1px solid #d9e4ec; border-radius:8px; background:#f5f8fa; }
.invoices-summary article { min-height:82px; padding:13px 14px 12px 17px; border-color:#d7e2ea; border-radius:6px; box-shadow:none; }
.invoices-summary article:hover { border-color:#b7ccdc; }
.invoices-summary strong { margin-top:3px; font-size:21px; }
.invoices-type-navigation { margin-top:2px; }
.invoices-toolbar { padding:10px; border:1px solid #d8e3ec; box-shadow:none; }
.invoices-toolbar > .btn { min-width:190px; border-radius:5px; }
.invoices-toolbar .finance-invoice-filter input,.invoices-toolbar .finance-invoice-filter select { background:#fff; }
.invoices-toolbar .finance-invoice-filter .btn { border-color:#315f80; background:#315f80; color:#fff; }
.invoices-toolbar .finance-invoice-filter .ghost { border:1px solid #d1dce5; background:#fff; color:#536d83; }
.invoices-table-card { box-shadow:none; }
.invoices-table tbody td { padding-top:12px; padding-bottom:12px; }
.invoices-type-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; width:100%; max-width:620px; margin:2px 0 0; padding:5px; border:1px solid #d3dfe8; border-radius:8px; background:#eef3f7; box-shadow:inset 0 1px 0 rgba(255,255,255,.85); }
.invoices-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin: 0; padding: 12px; border-color: #d8e3ec; border-radius: 7px; background: #f7f9fc; box-shadow: 0 4px 15px rgba(15,39,66,.045); }
.invoices-toolbar .finance-invoice-tabs { align-self: end; min-width: 270px; padding: 3px; border: 1px solid #d7e2eb; border-radius: 6px; background: #eaf0f4; }
.invoices-toolbar .finance-invoice-tabs .btn { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; font-size: 11px; font-weight: 850; }
.invoices-type-navigation .btn { width:100%; min-height:42px; padding:8px 14px; border:1px solid transparent; border-radius:5px; background:transparent; color:#536e84; font-size:12px; font-weight:850; white-space:nowrap; box-shadow:none; }
.invoices-type-navigation .btn.secondary:hover { background:#fff; color:#2d536f; box-shadow:0 1px 3px rgba(28,57,81,.08); }
.invoices-type-navigation .btn.primary { border-color:#a9443e; background:#a9443e; color:#fff; box-shadow:0 3px 8px rgba(169,68,62,.22); }
.invoices-type-navigation::-webkit-scrollbar { height:5px; }
.invoices-type-navigation::-webkit-scrollbar-thumb { background:#c4d1da; border-radius:5px; }
.invoices-toolbar .finance-invoice-filter { grid-template-columns: minmax(135px, .8fr) minmax(135px, .65fr) minmax(135px, .65fr) auto auto; gap: 7px; }
.invoices-toolbar .finance-invoice-filter:has(input[name="supplier_name"]) { grid-template-columns: minmax(135px,.7fr) minmax(190px,1.1fr) minmax(120px,.55fr) minmax(120px,.55fr) auto auto; }
.invoices-toolbar .finance-invoice-filter input, .invoices-toolbar .finance-invoice-filter select { height: 40px; border-color: #cdd9e4; border-radius: 5px; font-size: 11px; }
.invoices-toolbar .finance-invoice-filter .btn, .invoices-toolbar > .btn { min-height: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 11px; font-weight: 850; }
.invoices-bulk-bar { min-height: 38px; margin: 0; padding: 0 2px; }
.invoices-bulk-bar .bulk-actions-count { color: #607286; font-size: 11px; }
.invoices-bulk-bar .btn { min-height: 35px; padding: 6px 11px; border-radius: 5px; font-size: 11px; }
.invoices-table-card { padding: 0; overflow: auto; border-color: #d8e3ec; border-radius: 8px; box-shadow: 0 7px 22px rgba(15,39,66,.06); scrollbar-color: #aebdca #edf2f6; scrollbar-width: thin; }
.invoices-table { min-width: 1220px; }
.supplier-invoices-table { min-width: 1040px; }
.supplier-invoices-table .invoice-number-cell { color:#1d4e70; }
.supplier-invoices-table .invoice-party-cell { min-width:180px; font-weight:750; }
.supplier-invoices-table td:nth-child(6),.supplier-invoices-table td:nth-child(7) { color:#5b7185; font-variant-numeric:tabular-nums; }
.supplier-invoices-table td:nth-child(8) { color:#244962; }
.supplier-invoices-table td:nth-child(9) { font-weight:850; }
.invoices-table thead th { position: sticky; top: 0; z-index: 3; padding: 11px 9px; border-bottom: 1px solid #cfdbe6; background: #edf3f7; color: #52677b; font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.invoices-table tbody td { padding: 11px 9px; border-bottom-color: #e3e9ef; color: #40566c; font-size: 11px; vertical-align: middle; }
.invoices-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.invoices-table tbody tr:hover td { background: #f2f8fc; }
.invoices-table tbody tr.stock-low-row td { background: #fff5f5; }
.invoices-table tbody tr.invoice-due-soon-row td { background: #fffbeb; }
.invoices-table tbody tr:last-child td { border-bottom: 0; }
.invoices-table .invoice-select-cell { width: 40px; text-align: center; }
.invoices-table .invoice-actions-cell { min-width: 285px; }
.supplier-invoices-table .invoice-actions-cell { min-width: 84px; }
.invoices-table .invoice-actions-cell .inline-actions { gap: 4px; }
.invoices-table .invoice-actions-cell .icon-action { width: 31px; height: 31px; min-width: 31px; border-radius: 5px; }
.invoices-table .invoice-number-cell a { color: #146b9f; text-decoration: none; }
.invoices-table .invoice-number-cell strong, .invoices-table .invoice-party-cell { color: #182f45; font-size: 12px; }
.invoices-table .invoice-money-cell { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.invoices-table .invoice-status-cell { text-align: center; }
.invoices-table .supplier-invoice-status { border: 1px solid transparent; border-radius: 5px; white-space: nowrap; }
.invoices-table .supplier-invoice-status.status-paid { border-color: #b8dfca; }
.invoices-table .supplier-invoice-status.status-overdue, .invoices-table .supplier-invoice-status.status-cancelled { border-color: #fecaca; }
.invoices-table .finance-inline-form { grid-template-columns: 115px 82px 31px; gap: 4px; }
.invoices-table .finance-inline-form select, .invoices-table .finance-inline-form input { min-width: 0; height: 31px; padding: 4px 6px; border-color: #d3dee7; border-radius: 5px; font-size: 10px; }
@media (max-width: 1280px) {
    .invoices-type-navigation { width:100%; max-width:none; }
    .invoices-toolbar { grid-template-columns: 1fr auto; }
}
@media (max-width: 900px) {
    .invoices-summary { grid-template-columns: repeat(3, 1fr); }
    .invoices-toolbar .finance-invoice-filter, .invoices-toolbar .finance-invoice-filter:has(input[name="supplier_name"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .invoices-hero { align-items: flex-start; }
    .invoices-summary { grid-template-columns: repeat(2, 1fr); }
    .invoices-summary article { min-height: 70px; padding: 10px 11px 10px 14px; }
    .invoices-summary strong { font-size: 18px; }
    .invoices-type-navigation { width:100%; }
    .invoices-toolbar { grid-template-columns: 1fr; padding: 10px; }
    .invoices-toolbar > .btn, .invoices-toolbar .finance-invoice-filter { grid-column: 1; grid-row: auto; width: 100%; }
    .invoices-toolbar .finance-invoice-filter, .invoices-toolbar .finance-invoice-filter:has(input[name="supplier_name"]) { grid-template-columns: 1fr 1fr; }
    .invoices-toolbar .finance-invoice-filter input[name="supplier_name"] { grid-column: 1 / -1; }
    .invoices-bulk-bar { align-items: stretch; flex-direction: column; }
    .invoices-bulk-bar .btn { width: 100%; min-height: 40px; }
    .invoices-table-card { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .invoices-table, .invoices-table tbody { display: block; min-width: 0; }
    .invoices-table thead { display: none; }
    .invoices-table .invoice-list-row { position: relative; display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 10px; overflow: hidden; border: 1px solid #d8e3ec; border-left: 4px solid #2f7cab; border-radius: 7px; background: #fff; box-shadow: 0 4px 14px rgba(15,39,66,.045); }
    .invoices-table .invoice-list-row.stock-low-row { border-left-color: #c74747; }
    .invoices-table .invoice-list-row.invoice-due-soon-row { border-left-color: #d58a14; }
    .invoices-table .invoice-list-row > td { display: block; min-width: 0; padding: 9px 10px; border: 0; border-bottom: 1px solid #edf1f4; background: #fff !important; text-align: left; white-space: normal; overflow-wrap: anywhere; }
    .invoices-table .invoice-list-row > td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #8391a0; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
    .invoices-table .invoice-select-cell { position: absolute; top: 12px; right: 10px; z-index: 2; width: auto; padding: 0; border: 0; }
    .invoices-table .invoice-select-cell::before { display: none; }
    .invoices-table .invoice-number-cell, .invoices-table .invoice-party-cell, .invoices-table .invoice-actions-cell, .invoices-table .invoice-status-cell { grid-column: 1 / -1; }
    .invoices-table .invoice-number-cell { padding-right: 42px; background: #f5f9fb !important; }
    .invoices-table .invoice-actions-cell { order: 99; border-bottom: 0; }
    .invoices-table .invoice-actions-cell .inline-actions { display: grid; grid-template-columns: repeat(3, 36px) minmax(0, 1fr); align-items: center; }
    .supplier-invoices-table .invoice-actions-cell .inline-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supplier-invoices-table .invoice-actions-cell .icon-action { width: 100%; }
    .invoices-table .finance-inline-form { grid-template-columns: minmax(0, 1fr) 80px 36px; }
    .invoices-table .invoice-money-cell { text-align: left; }
}
@media (max-width: 460px) {
    .invoices-hero-period { display: none; }
    .invoices-summary { grid-template-columns: 1fr 1fr; }
    .invoices-toolbar .finance-invoice-filter, .invoices-toolbar .finance-invoice-filter:has(input[name="supplier_name"]) { grid-template-columns: 1fr; }
    .invoices-toolbar .finance-invoice-filter input[name="supplier_name"] { grid-column: 1; }
    .invoices-table .invoice-list-row { grid-template-columns: 1fr; }
    .invoices-table .invoice-number-cell, .invoices-table .invoice-party-cell, .invoices-table .invoice-actions-cell, .invoices-table .invoice-status-cell { grid-column: 1; }
    .invoices-table .invoice-actions-cell .inline-actions { grid-template-columns: repeat(3, 1fr); }
    .invoices-table .invoice-actions-cell .icon-action { width: 100%; }
    .invoices-table .finance-inline-form { grid-column: 1 / -1; grid-template-columns: 1fr 80px 36px; }
}

@media (max-width: 420px) {
    .reservations-table .reservation-list-row {
        grid-template-columns: 1fr;
    }

    .reservations-table .reservation-actions-cell,
    .reservations-table .reservation-client-cell,
    .reservations-table .reservation-route-cell {
        grid-column: 1;
    }
}

/* V5.6.47 - Quotes list */
.quotes-index {
    max-width: 1680px;
    margin: 0 auto;
}

.quotes-workspace-hero { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;padding:17px 20px;border:1px solid #173f5d;border-radius:8px;background:#12344d;color:#fff;box-shadow:0 8px 24px rgba(15,39,66,.12); }
.quotes-workspace-hero>div:first-child>span { color:#9bd5fa;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase; }
.quotes-workspace-hero h1 { margin:3px 0 4px;color:#fff;font-size:24px;letter-spacing:0; }
.quotes-workspace-hero p { margin:0;color:#d7e7f2;font-size:12px; }
.quotes-workspace-context { display:grid;flex:0 0 auto;gap:3px;min-width:160px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:rgba(255,255,255,.08);text-align:right; }
.quotes-workspace-context span { color:#fff;font-size:14px;font-weight:850; }
.quotes-workspace-context strong { color:#b8d9ed;font-size:9px;font-weight:700; }
.quotes-summary-grid { display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:9px;margin-bottom:10px; }
.quotes-summary-grid article { position:relative;display:grid;gap:2px;min-height:76px;padding:12px 14px 12px 17px;overflow:hidden;border:1px solid #dce5ec;border-radius:7px;background:#fff;box-shadow:0 4px 14px rgba(17,43,69,.04); }
.quotes-summary-grid article::before { content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#71869a; }
.quotes-summary-grid article.is-amount::before { background:#2f7cab; }
.quotes-summary-grid article.is-accepted::before { background:#27835c; }
.quotes-summary-grid article.is-pending::before { background:#d58a14; }
.quotes-summary-grid span { color:#627d98;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase; }
.quotes-summary-grid strong { color:#102a43;font-size:20px;font-variant-numeric:tabular-nums; }
.quotes-summary-grid small { color:#829ab1;font-size:10px; }

.quotes-index .quotes-control-deck {
    gap: 14px;
    padding: 15px;
    border-color: #d8e3ec;
    border-radius: 8px;
    background: #f7f9fc;
    box-shadow: 0 4px 15px rgba(15, 39, 66, .045);
}

.quotes-index .quotes-control-head {
    margin: 0;
    padding-bottom: 13px;
    border-bottom: 1px solid #dfe7ee;
}

.quotes-index .quotes-control-head h2 {
    margin: 0;
    color: #172f47;
    font-size: 17px;
}
.quotes-index .quotes-control-head p { margin:3px 0 0;color:#7a8998;font-size:10px; }

.quotes-index .quotes-control-head > .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    border-radius: 6px;
    font-weight: 800;
}

.quotes-index .quotes-filter-grid {
    display:grid;
    grid-template-columns: minmax(260px, 1.65fr) repeat(4, minmax(125px, 1fr));
    gap: 11px;
    align-items:end;
}

.quotes-index .quotes-filter-field { display:flex;min-width:0;flex-direction:column;gap:6px; }
.quotes-index .quotes-filter-label { color:#607286;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }

.quotes-index .quotes-filter-field label {
    color: #607286;
    font-size: 10px;
    letter-spacing: .06em;
}

.quotes-index .quotes-filter-field select,
.quotes-index .quotes-filter-field input {
    width:100%;
    height: 40px;
    padding:0 11px;
    border-color: #cdd9e4;
    border-radius: 6px;
    background:#fff;
    box-sizing:border-box;
}

.quotes-index .quotes-filter-field select:focus,.quotes-index .quotes-filter-field input:focus { outline:none;border-color:#2f7cab;box-shadow:0 0 0 3px rgba(47,124,171,.12); }
.quotes-index .quotes-status-field { grid-column:1/-1; }
.quotes-index .quotes-status-options { display:flex;flex-wrap:wrap;gap:7px;padding:8px;border:1px solid #d7e2eb;border-radius:7px;background:#f7f9fc; }
.quotes-index .quotes-status-option { position:relative;display:inline-flex!important;min-height:35px;align-items:center!important;flex-direction:row!important;justify-content:flex-start;gap:7px;padding:0 11px;border:1px solid #d8e3ec;border-radius:5px;background:#fff;color:#40566c;font-size:11px;font-weight:750;letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease; }
.quotes-index .quotes-status-option span { display:inline-block;line-height:1;white-space:nowrap; }
.quotes-index .quotes-status-option:hover { border-color:#8bb8d3;background:#f3f9fc; }
.quotes-index .quotes-status-option:has(input:checked) { border-color:#2f7cab;background:#eaf4f9;color:#175f8d;box-shadow:inset 0 0 0 1px #2f7cab; }
.quotes-index .quotes-status-option input { width:15px;height:15px;margin:0;accent-color:#2f7cab; }

.quotes-index .quotes-client-search label {
    color: #184f73;
    font-weight: 900;
}

.quotes-index .quotes-client-search input {
    height: 44px;
    border: 2px solid #4f91b8;
    color: #172f47;
    font-weight: 700;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .08);
}

.quotes-index .quotes-client-search input::placeholder {
    color: #8294a5;
    font-weight: 500;
}

.quotes-index .quotes-client-search input:focus {
    outline: none;
    border-color: #176d9f;
    box-shadow: 0 0 0 4px rgba(47, 124, 171, .16);
}

.quotes-index .quotes-filter-actions {
    display:flex;
    grid-column:1/-1;
    justify-content:flex-end;
    gap:8px;
    margin-top: 2px;
    padding-top: 12px;
    border-top:1px solid #e3eaf0;
}

.quotes-index .quotes-filter-actions .btn {
    height: 40px;
    border-radius: 6px;
}

@media (min-width: 1181px) {
    .quotes-index .quotes-control-deck { gap:8px;padding:10px 12px 11px;background:#fff; }
    .quotes-index .quotes-control-head { min-height:35px;padding:0 1px 7px; }
    .quotes-index .quotes-control-head h2 { font-size:14px; }
    .quotes-index .quotes-control-head p { margin-top:1px;font-size:9px; }
    .quotes-index .quotes-control-head > .btn { min-height:34px;padding:6px 12px;border-radius:5px;font-size:11px; }
    .quotes-index .quotes-filter-grid { display:block; }
    .quotes-index .quotes-filter-main { display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(110px,.65fr) 100px minmax(210px,1.25fr) minmax(160px,.9fr);gap:9px;align-items:end; }
    .quotes-index .quotes-filter-footer { display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid #e5ebf0; }
    .quotes-index .quotes-filter-field { gap:4px; }
    .quotes-index .quotes-filter-field label,.quotes-index .quotes-filter-label { font-size:8px;line-height:1; }
    .quotes-index .quotes-filter-field select,.quotes-index .quotes-filter-field input,.quotes-index .quotes-client-search input { height:34px;min-height:34px;padding:0 10px;border-width:1px;border-radius:5px;box-shadow:none;font-size:11px; }
    .quotes-index .quotes-status-field { display:flex;min-width:0;flex:1;align-items:center;flex-direction:row;gap:8px; }
    .quotes-index .quotes-status-options { min-width:0;flex:1;min-height:32px;align-items:center;gap:4px;padding:3px 4px;border:0;background:#f3f6f8; }
    .quotes-index .quotes-status-option { min-height:26px;padding:0 8px;border-color:transparent;background:transparent;font-size:9px; }
    .quotes-index .quotes-status-option input { width:13px;height:13px; }
    .quotes-index .quotes-status-option:has(input:checked) { box-shadow:none; }
    .quotes-index .quotes-status-option.status-draft:has(input:checked) { border-color:#b7c4d0;background:#eaf0f4;color:#40566c; }
    .quotes-index .quotes-status-option.status-sent:has(input:checked) { border-color:#9dc8e3;background:#eaf5fb;color:#17658f; }
    .quotes-index .quotes-status-option.status-accepted:has(input:checked) { border-color:#9fcfb5;background:#ebf8f1;color:#176943; }
    .quotes-index .quotes-status-option.status-reserved:has(input:checked) { border-color:#e2c67e;background:#fff8e7;color:#8a5b12; }
    .quotes-index .quotes-status-option.status-rejected:has(input:checked),.quotes-index .quotes-status-option.status-expired:has(input:checked) { border-color:#e7b5b5;background:#fff0f0;color:#a23b3b; }
    .quotes-index .quotes-filter-actions { flex:0 0 auto;align-self:center;margin:0;padding:0;border:0; }
    .quotes-index .quotes-filter-actions .btn { min-width:84px;height:32px;min-height:32px;padding:0 10px;border-radius:5px;font-size:10px; }
}

@media (max-width:1180px) {
    .quotes-index .quotes-filter-main { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
    .quotes-index .quotes-client-search { grid-column:span 2; }
    .quotes-index .quotes-filter-footer { display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:10px; }
    .quotes-index .quotes-status-field { grid-column:1; }
    .quotes-index .quotes-filter-actions { grid-column:2;align-self:end;margin:0;padding:0;border:0; }
}

.quotes-index > .bulk-delete-form > .bulk-actions-bar {
    min-height: 38px;
    margin: 0 0 8px;
    padding-inline: 2px;
}

.quotes-index .bulk-actions-count {
    color: #607286;
    font-size: 12px;
}

.quotes-index .bulk-actions-bar .btn {
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 6px;
    font-size: 12px;
}

.quotes-table-card {
    padding: 0;
    overflow: auto;
    border-color: #d8e3ec;
    border-radius: 8px;
    box-shadow: 0 7px 22px rgba(15, 39, 66, .06);
    scrollbar-color: #aebdca #edf2f6;
    scrollbar-width: thin;
}

.quotes-table {
    min-width: 1010px;
}

.quotes-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 12px 10px;
    border-bottom: 1px solid #cfdbe6;
    background: #edf3f7;
    color: #52677b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.quote-table-sort {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.quote-table-sort span {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1;
}

.quote-table-sort:hover,
.quote-table-sort.active,
.quote-table-sort.active span {
    color: #0f6bbd;
}

.quotes-table tbody td {
    padding: 11px 10px;
    border-bottom-color: #e3e9ef;
    color: #33475b;
    font-size: 12px;
    vertical-align: middle;
}

.quotes-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}

.quotes-table tbody tr:hover td {
    background: #f2f8fc;
}

.quotes-table tbody tr:last-child td {
    border-bottom: 0;
}

.quotes-table .quote-select-cell {
    width: 42px;
    text-align: center;
}

.quotes-table .quote-actions-cell {
    min-width: 226px;
}

.quotes-table .quote-actions-cell .inline-actions {
    gap: 5px;
    flex-wrap: nowrap;
}

.quotes-table .quote-actions-cell .icon-action,
.quotes-table .quote-duplicate-mini {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
}

.quote-contact-cell strong,
.quote-period-cell strong,
.quote-period-cell small,
.quote-route-cell span {
    display: block;
}

.quote-reference {
    display: block;
    margin-bottom: 4px;
    color: #146b9f;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .035em;
    text-decoration: none;
}

.quote-reference:hover {
    text-decoration: underline;
}

.quote-contact-cell > strong {
    color: #182b3e;
    font-size: 13px;
}

.quote-period-cell strong {
    color: #243b52;
    font-weight: 750;
}

.quote-period-cell small {
    margin-top: 4px;
    color: #728296;
}

.quote-route-cell {
    min-width: 180px;
}

.quote-route-cell span {
    overflow: hidden;
    max-width: 220px;
    text-overflow: ellipsis;
}

.quote-route-cell span + span {
    margin-top: 5px;
}

.quote-route-cell span strong {
    display: inline;
    margin-right: 5px;
    color: #718196;
    font-size: 9px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.quote-total-cell strong {
    color: #172f47;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.quotes-table .status {
    border: 1px solid transparent;
    border-radius: 5px;
}
.quotes-table .status.quote-draft { border-color:#cbd5e1;background:#f1f5f9;color:#526174; }

.quotes-table .status.quote-accepted {
    border-color: #b8dfca;
}

.quotes-table .status.quote-reserved {
    border-color: #f59e0b;
}

.quotes-table .status.quote-sent {
    border-color: #bfdbfe;
}

.quotes-table .status.quote-rejected,
.quotes-table .status.quote-expired {
    border-color: #fecaca;
}

@media (max-width: 1180px) {
    .quotes-summary-grid { grid-template-columns:repeat(2,1fr); }
    .quotes-index .quotes-filter-grid {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .quotes-index .quotes-client-search {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .quotes-workspace-hero { align-items:flex-start;flex-direction:column;padding:15px; }
    .quotes-workspace-context { width:100%;text-align:left; }
    .quotes-summary-grid { grid-template-columns:repeat(2,1fr); }
    .quotes-summary-grid article { min-height:68px;padding:10px 11px 10px 14px; }
    .quotes-summary-grid strong { font-size:18px; }
    .quotes-index .quotes-control-deck {
        padding: 12px;
    }

    .quotes-index .quotes-control-head {
        align-items: stretch;
        flex-direction: column;
    }

    .quotes-index .quotes-control-head > .btn {
        justify-content: center;
        width: 100%;
        min-height: 44px;
    }

    .quotes-index .quotes-filter-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .quotes-index .quotes-filter-main,
    .quotes-index .quotes-filter-footer {
        grid-template-columns: 1fr;
    }

    .quotes-index .quotes-client-search {
        grid-column: auto;
    }

    .quotes-index .quotes-status-field { grid-column:auto; }
    .quotes-index .quotes-filter-actions { grid-column:1; }
    .quotes-index .quotes-status-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }

    .quotes-index .quotes-filter-field select,
    .quotes-index .quotes-filter-field input,
    .quotes-index .quotes-filter-actions .btn {
        min-height: 44px;
    }

    .quotes-index .quotes-filter-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .quotes-index > .bulk-delete-form > .bulk-actions-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .quotes-index .bulk-actions-bar .btn {
        width: 100%;
        min-height: 42px;
    }

    .quotes-table-card {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .quotes-table,
    .quotes-table tbody {
        display: block;
        min-width: 0;
    }

    .quotes-table thead {
        display: none;
    }

    .quotes-table .quote-list-row {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #d8e3ec;
        border-left: 4px solid #2f7cab;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(15, 39, 66, .055);
    }

    .quotes-table .quote-list-row:has(.status.quote-accepted) {
        border-left-color: #27905e;
    }

    .quotes-table .quote-list-row:has(.status.quote-reserved) {
        border-left-color: #d97706;
    }

    .quotes-table .quote-list-row:has(.status.quote-rejected),
    .quotes-table .quote-list-row:has(.status.quote-expired) {
        border-left-color: #dc4c4c;
    }

    .quotes-table .quote-list-row > td {
        display: block;
        min-width: 0;
        padding: 10px 11px;
        border: 0;
        border-bottom: 1px solid #edf1f4;
        background: #fff !important;
        white-space: normal;
    }

    .quotes-table .quote-list-row > td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #8391a0;
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .065em;
        text-transform: uppercase;
    }

    .quotes-table .quote-select-cell {
        position: absolute;
        top: 13px;
        right: 11px;
        z-index: 2;
        width: auto;
        padding: 0;
        border: 0;
    }

    .quotes-table .quote-actions-cell,
    .quotes-table .quote-contact-cell,
    .quotes-table .quote-route-cell {
        grid-column: 1 / -1;
    }

    .quotes-table .quote-contact-cell {
        padding-right: 44px;
        background: #f6f9fb !important;
    }

    .quotes-table .quote-actions-cell {
        grid-row: 4;
        border-bottom: 0;
    }

    .quotes-table .quote-actions-cell .inline-actions {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        width: 100%;
    }

    .quotes-table .quote-actions-cell .icon-action,
    .quotes-table .quote-actions-cell .quote-duplicate-mini {
        width: 100%;
        height: 40px;
    }

    .quotes-table .quote-route-cell span {
        max-width: none;
    }

    .quotes-table .quote-total-cell strong {
        font-size: 15px;
    }

    .quotes-table .quotes-empty-row,
    .quotes-table .quotes-empty-row td {
        display: block;
    }

    .quotes-index .crm-pagination {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quotes-index .crm-pagination a,
    .quotes-index .crm-pagination > span {
        min-height: 42px;
    }

    .quotes-index .crm-pagination a:not(.crm-pagination-prev):not(.crm-pagination-next):not(.active) {
        display: none;
    }
}

@media (max-width:420px) {
    .quotes-workspace-context { display:none; }
    .quotes-index .quotes-status-options { grid-template-columns:1fr; }
}

@media (max-width: 420px) {
    .quotes-table .quote-list-row {
        grid-template-columns: 1fr;
    }

    .quotes-table .quote-actions-cell,
    .quotes-table .quote-contact-cell,
    .quotes-table .quote-route-cell {
        grid-column: 1;
    }
}

/* V5.6.50 - Mobile quotes refinement */
@media (max-width: 700px) {
    .quotes-index {
        width: 100%;
    }

    .quotes-summary-grid {
        gap: 7px;
    }

    .quotes-summary-grid article {
        min-width: 0;
        padding: 9px 9px 9px 12px;
    }

    .quotes-summary-grid strong {
        overflow: hidden;
        font-size: 16px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .quotes-table .quote-list-row > td {
        padding: 9px 10px;
    }

    .quotes-table .quote-list-row {
        border-color: #cfdce7;
        border-radius: 12px;
        box-shadow: 0 8px 22px rgba(15, 39, 66, .075);
    }

    .quotes-table .quote-contact-cell {
        padding-top: 12px;
        padding-bottom: 12px;
        border-bottom-color: #dfe8ef;
        background: linear-gradient(135deg, #f4f9fc 0%, #edf5f9 100%) !important;
    }

    .quotes-table .quote-contact-cell::before {
        margin-bottom: 4px;
        color: #4f7894;
    }

    .quotes-table .quote-contact-cell .quote-reference {
        margin-bottom: 3px;
        color: #17658f;
        font-size: 11px;
    }

    .quotes-table .quote-contact-cell > strong {
        display: block;
        max-width: calc(100% - 12px);
        overflow: hidden;
        color: #102f49;
        font-size: 16px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .quotes-table .quote-list-row > td[data-label="Statut"] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        background: #fff !important;
    }

    .quotes-table .quote-list-row > td[data-label="Statut"]::before {
        margin: 0;
    }

    .quotes-table .quote-list-row > td[data-label="Statut"] .status {
        min-height: 27px;
        display: inline-flex;
        align-items: center;
        padding: 0 10px;
        border-radius: 999px;
        font-size: 10px;
        font-weight: 850;
    }

    .quotes-table .quote-actions-cell .inline-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .quotes-table .quote-actions-cell .icon-action,
    .quotes-table .quote-actions-cell .quote-duplicate-mini {
        min-height: 42px;
        border-radius: 7px;
    }

    .quotes-table .quote-period-cell,
    .quotes-table .quote-route-cell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
    }

    .quotes-table .quote-period-cell::before,
    .quotes-table .quote-route-cell::before {
        grid-column: 1 / -1;
        margin-bottom: -2px;
    }

    .quotes-table .quote-period-cell strong,
    .quotes-table .quote-period-cell small,
    .quotes-table .quote-route-cell span {
        min-width: 0;
        margin: 0;
    }

    .quotes-table .quote-route-cell span {
        padding: 8px;
        border: 1px solid #e4ebf1;
        border-radius: 6px;
        background: #f8fafc;
    }

    .quotes-table .quote-route-cell span strong {
        display: block;
        margin: 0 0 3px;
        color: #8391a0;
        font-size: 8px;
    }

    .quotes-table .quote-total-cell {
        margin-top: 1px;
        border-top: 1px solid #e5edf3 !important;
        background: #f8fbfd !important;
    }

    .quotes-table .quote-total-cell {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .quotes-table .quote-total-cell::before {
        margin: 0;
        color: #527089;
    }

    .quotes-index .crm-pagination {
        gap: 6px;
        margin-top: 14px;
    }

    .quotes-table .quote-actions-cell {
        padding-top: 11px;
        background: #fbfdfe !important;
    }

    .quotes-table .quote-actions-cell::before {
        margin-bottom: 7px;
        color: #71869a;
    }

    .quotes-table .quote-actions-cell .icon-action,
    .quotes-table .quote-actions-cell .quote-duplicate-mini {
        border-color: #d7e3ec;
        background: #fff;
        box-shadow: 0 2px 5px rgba(15, 39, 66, .06);
    }

    .quotes-table .quote-actions-cell .icon-action:hover,
    .quotes-table .quote-actions-cell .quote-duplicate-mini:hover,
    .quotes-table .quote-actions-cell .icon-action:focus-visible,
    .quotes-table .quote-actions-cell .quote-duplicate-mini:focus-visible {
        border-color: #8eb9d2;
        background: #eef7fb;
        box-shadow: 0 5px 10px rgba(15, 79, 115, .12);
    }
}

@media (max-width: 700px) {
    .quote-detail-grid {
        gap: 10px;
    }

    .quote-detail-grid > .card,
    .quote-validation-badges,
    .quote-lines-card,
    .quote-totals {
        padding: 14px;
        border-radius: 8px;
    }

    .quote-detail-grid .section-title {
        align-items: flex-start;
        gap: 8px;
    }

    .quote-detail-grid .section-title h2 {
        overflow: hidden;
        font-size: 18px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .quote-detail-grid .detail-list > div {
        grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr);
        gap: 8px;
        padding: 10px 0;
    }

    .quote-validation-badges .quote-validation-header h2 {
        font-size: 16px;
    }

    .quote-validation-badges .quote-validation-hint {
        line-height: 1.4;
    }

    .quote-lines-card .table-wrap {
        margin-inline: -14px;
        padding-inline: 14px;
        overflow-x: auto;
    }

    .quote-lines-card table {
        min-width: 560px;
    }
}

@media (max-width: 520px) {
    .quotes-table .quote-period-cell {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .quotes-table .quote-period-cell small {
        color: #52677b;
    }

    .quote-detail-grid .detail-list > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .quote-detail-grid .detail-list strong {
        text-align: left;
    }
}

/* V5.7.33 - Quotes mobile workspace refresh */
@media (max-width: 700px) {
    .quotes-index { padding-bottom: 16px; }
    .quotes-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 12px; }
    .quotes-summary-grid article { min-height: 74px; border-radius: 10px; box-shadow: 0 4px 13px rgba(17, 43, 69, .055); }
    .quotes-summary-grid span { font-size: 9px; }
    .quotes-summary-grid strong { font-size: 17px; }
    .quotes-index .quotes-control-deck { border-radius: 12px; box-shadow: 0 5px 16px rgba(15, 39, 66, .06); }
    .quotes-index .quotes-control-head h2 { font-size: 16px; }
    .quotes-index .quotes-filter-main { gap: 8px; }
    .quotes-index .quotes-filter-field label,
    .quotes-index .quotes-filter-label { font-size: 9px; font-weight: 850; }
    .quotes-index .quotes-status-options { gap: 5px; padding: 6px; border: 1px solid #dce6ed; border-radius: 9px; background: #f6f9fb; }
    .quotes-index .quotes-status-option { min-height: 34px; padding: 0 9px; border: 1px solid #d9e4eb; border-radius: 7px; background: #fff; font-size: 10px; }
    .quotes-index .quotes-status-option:has(input:checked) { box-shadow: inset 0 0 0 1px #2f7cab; }
    .quotes-index .quotes-filter-actions .btn { min-height: 42px; border-radius: 8px; }
    .quotes-table .quote-list-row { margin-bottom: 14px; border-radius: 12px; }
    .quotes-table .quote-list-row > td { padding: 11px 12px; }
    .quotes-table .quote-contact-cell > strong { font-size: 15px; }
    .quotes-table .quote-period-cell,
    .quotes-table .quote-route-cell { gap: 7px; }
    .quotes-table .quote-route-cell span { padding: 9px; border-radius: 8px; }
    .quotes-table .quote-actions-cell .inline-actions { gap: 7px; }
    .quotes-table .quote-actions-cell .icon-action,
    .quotes-table .quote-actions-cell .quote-duplicate-mini { min-height: 44px; border-radius: 8px; }
}

@media (max-width: 520px) {
    .quotes-summary-grid { grid-template-columns: 1fr 1fr; }
    .quotes-summary-grid article:nth-child(3),
    .quotes-summary-grid article:nth-child(4) { display: grid; }
    .quotes-summary-grid article:nth-child(3) strong,
    .quotes-summary-grid article:nth-child(4) strong { font-size: 16px; }
}

@media (max-width: 380px) {
    .quotes-summary-grid { grid-template-columns: 1fr; }
    .quotes-index .quotes-status-options { grid-template-columns: 1fr; }
    .quotes-table .quote-actions-cell .inline-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* V5.5.2 — navigation temporelle Devis & Réservations */
.period-mobile-nav{display:none;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.period-mobile-nav label{display:flex;flex-direction:column;gap:5px}.period-mobile-nav label span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.period-mobile-nav select{width:100%;min-height:42px;border:1px solid #dbe3ec;border-radius:11px;background:#fff;padding:0 12px;font-weight:750;color:#1e293b}.period-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.period-stepper a{font-size:12px;font-weight:800;color:#1976d2;text-decoration:none}.period-stepper strong{font-size:13px;color:#334155;text-align:center}.month-strip::-webkit-scrollbar{height:5px}.month-strip::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}@media(max-width:620px){.period-mobile-nav{display:grid}.year-card-grid,.month-strip{display:none}.period-stepper{margin-top:4px}.period-kpis article strong{font-size:21px}}@media(max-width:390px){.period-mobile-nav{grid-template-columns:1fr}}

/* V5.5.3 — Banque & Trésorerie : navigation année / mois */
.bank-period-panel{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 62%)}
.bank-period-panel .period-panel-head{align-items:flex-start;gap:18px}
.bank-period-panel .period-panel-head h2{font-size:clamp(28px,2.4vw,36px);line-height:1.08;color:#0f2742;letter-spacing:-.01em}
.bank-period-panel .period-panel-head small{display:block;margin-top:5px;color:#64748b}
.bank-period-panel .period-panel-head .btn{min-height:40px;padding:0 14px;border-radius:12px}
.bank-period-panel .period-panel-head { align-items:flex-start; }
.bank-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.bank-header-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:0 15px; border-radius:12px; white-space:nowrap; font-size:12px; font-weight:800; box-shadow:0 3px 10px rgba(15,39,66,.06); transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease; }
.bank-header-actions .btn:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(15,39,66,.13); }
.bank-header-actions .bank-import-action { background:linear-gradient(135deg,#2f6df3 0%,#1d5dde 100%); border-color:#1d5dde; box-shadow:0 7px 16px rgba(37,99,235,.24); font-weight:850; }
.bank-header-actions .bank-import-action:hover { background:linear-gradient(135deg,#2563eb 0%,#174fc2 100%); box-shadow:0 10px 22px rgba(37,99,235,.32); }
.bank-header-actions .bank-import-action span { display:grid; place-items:center; width:21px; height:21px; border:1px solid rgba(255,255,255,.62); border-radius:7px; background:rgba(255,255,255,.12); font-size:16px; line-height:1; }
.bank-header-actions .bank-export-action { border-color:#cfe2d8; background:#f6fcf8; color:#187347; }
.bank-header-actions .bank-export-action:hover { border-color:#9bd0ad; background:#ecf9f0; }
.bank-header-actions .bank-export-action:before { content:'↓'; display:grid; place-items:center; width:21px; height:21px; border-radius:7px; background:#dff4e5; color:#187347; font-size:15px; }
.bank-header-actions .bank-create-action { border-color:#cddbea; background:#f7faff; color:#244b73; }
.bank-header-actions .bank-create-action:hover { border-color:#9bb9d8; background:#eef6ff; }
.bank-header-actions .bank-create-action span { display:grid; place-items:center; width:21px; height:21px; border-radius:7px; background:#dcecff; color:#1769ad; font-size:17px; line-height:1; }
.bank-header-actions .bank-init-action { border-color:#e4d7bc; background:#fffaf0; color:#8a5a13; }
.bank-header-actions .bank-init-action:hover { border-color:#d5b979; background:#fff5dc; }
.bank-header-actions .bank-init-action span { display:grid; place-items:center; width:21px; height:21px; border-radius:7px; background:#ffedbd; color:#a56a0d; font-size:15px; line-height:1; }
.bank-period-panel .year-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,255px));justify-content:flex-start}
.bank-period-panel .year-card{min-height:116px;border-color:#d8e4f0;background:#fff}
.bank-period-panel .year-card strong{font-size:34px;line-height:1}
.bank-period-panel .year-card span{font-size:26px;line-height:1.04;color:#16314d}
.bank-period-panel .year-card small{line-height:1.35}
.bank-period-panel .month-strip{gap:8px;padding-top:12px;padding-bottom:6px;scroll-snap-type:x proximity}
.bank-period-panel .month-strip a{scroll-snap-align:start;border-radius:12px;border-color:#d7e3f0;padding:9px 11px;font-size:13px}
.bank-period-panel .month-strip a span{min-width:22px;height:22px;font-size:11px}
.bank-period-panel .month-strip a:hover{border-color:#90caf9;background:#f3f9ff}
.bank-period-panel .month-strip a.active{background:linear-gradient(160deg,#2196f3,#1976d2);border-color:#1976d2}
.bank-summary-kpis .finance-kpi small{display:block;margin-top:3px;color:#64748b;font-size:11px}
.bank-filter-form{align-items:end;gap:10px}
.bank-filter-form input[readonly]{background:#f8fafc;color:#334155;font-weight:700}
.bank-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-bottom:12px}
.bank-account-card{border-top:4px solid #1e3a5c;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);padding:11px 14px;border-radius:10px;box-shadow:0 5px 14px rgba(15,39,66,.05)}
.bank-account-card.active{border-top-color:#1976d2;box-shadow:0 14px 30px rgba(25,118,210,.16)}
.bank-account-card .bank-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #e5edf5}
.bank-account-card .bank-account-head span,.bank-account-card .bank-balance>span{display:block;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.02em}
.bank-account-card .bank-account-head h2{margin:1px 0 0;font-size:19px;line-height:1.1;color:#0f2742}
.bank-account-card .bank-account-head small{display:block;margin-top:2px;color:#64748b;font-size:10px}
.bank-account-card .bank-account-head>strong{padding:6px 8px;border-radius:7px;background:#e5efff;color:#2457c5;font-size:12px}
.bank-account-card .bank-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0;padding:8px 10px;border-radius:7px;background:#f1f6fb}
.bank-account-card .bank-account-number{display:block;text-align:right;font-size:14px;line-height:1.15;font-weight:800;color:#0f2742;font-variant-numeric:tabular-nums;white-space:nowrap}
.bank-account-card .bank-balance .bank-account-number{margin-top:0}
.bank-account-card .bank-opening-balance{background:#f8fafc}
.bank-account-card .bank-opening-balance .bank-account-number{color:#475569}
.bank-account-card .bank-period-balance{background:#eaf3ff;border:1px solid #cfe2fb}
.bank-account-card .bank-period-balance .bank-account-number{color:#15589c}
.bank-account-card .bank-account-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:1px 0 0}
.bank-account-card .bank-account-meta span{display:block;padding:0;border-bottom:0;color:#64748b;font-size:10px;font-weight:700}
.bank-account-card .bank-account-meta .bank-account-number{margin-top:2px;font-size:14px}
.bank-account-card .bank-account-credit{color:#15803d;font-weight:700}
.bank-account-card .bank-account-credit .bank-account-number{color:#15803d}
.bank-account-card .bank-account-debit{color:#b91c1c;font-weight:700}
.bank-account-card .bank-account-debit .bank-account-number{color:#b91c1c}
.bank-account-card .form-actions{margin-top:8px!important}
.bank-account-card .form-actions .btn{width:100%;min-height:30px;justify-content:center;border-radius:6px;font-size:11px;font-weight:800}
.checklist-item-actions{white-space:normal;min-width:210px}.checklist-item-actions details{display:inline-block;vertical-align:top}.checklist-item-actions summary{cursor:pointer;list-style:none}.checklist-item-actions summary::-webkit-details-marker{display:none}.checklist-item-actions>form{display:inline-block;margin-left:5px}.checklist-item-edit-form{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;margin-top:8px;padding:12px;border:1px solid #dbe6f0;border-radius:10px;background:#f8fbfe;text-align:left}.checklist-item-edit-form label{display:flex;flex-direction:column;gap:4px;color:#475569;font-size:11px;font-weight:700}.checklist-item-edit-form label:first-child{grid-column:1/-1}.checklist-item-edit-form input:not([type=checkbox]),.checklist-item-edit-form select{min-width:0;height:34px;padding:0 8px;border:1px solid #d5e0ec;border-radius:7px;background:#fff;color:#1e293b}.checklist-item-edit-form .inline-check{display:flex;flex-direction:row;align-items:center;gap:6px}.checklist-item-edit-form .inline-check input{width:auto}.checklist-item-edit-form button{grid-column:1/-1;justify-self:start}
@media(max-width:700px){.checklist-item-actions{min-width:0}.checklist-item-edit-form{grid-template-columns:1fr}.checklist-item-edit-form label:first-child{grid-column:auto}.checklist-item-edit-form button{grid-column:auto}}
.reservation-reserved-accessories{margin-top:14px}
.reservation-reserved-accessories h3{margin:0;color:#0f2742}
.reservation-accessories-list{display:grid;gap:0;margin-top:12px}
.reservation-accessory-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid #e5edf5}
.reservation-accessory-row strong{color:#0f2742}
.reservation-accessory-row small{display:block;margin-top:3px;color:#64748b}
@media(max-width:620px){.reservation-accessory-row{align-items:flex-start;flex-direction:column;gap:5px}.reservation-accessory-row>strong{align-self:flex-end}}
.bank-opening-correction-card{display:none;padding:12px 14px}
.bank-opening-correction-card:target{display:block}
.bank-opening-correction-collapsible summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
.bank-opening-correction-collapsible summary::-webkit-details-marker{display:none}
.bank-opening-correction-collapsible h2{margin:2px 0 0;font-size:22px;line-height:1.15;color:#0f2742}
.bank-opening-correction-toggle{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #d7e3f0;border-radius:999px;background:#f8fbff;color:#1e3a5c;font-size:12px;font-weight:800;white-space:nowrap}
.bank-opening-correction-collapsible[open] .bank-opening-correction-toggle{background:#e8f2ff;border-color:#9ec5f8;color:#15589c}
.bank-opening-correction-collapsible[open] .bank-opening-correction-toggle::before{content:"Masquer"}
.bank-opening-correction-collapsible:not([open]) .bank-opening-correction-toggle::before{content:"Afficher"}
.bank-opening-correction-content{margin-top:10px;padding-top:10px;border-top:1px solid #e7edf4}
.bank-opening-correction-content p{margin:0 0 10px;color:#556276;font-size:13px;line-height:1.45}
.bank-opening-correction-content .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bank-opening-correction-content .form-actions{margin-top:0;align-items:end}
@media(max-width:950px){.bank-period-panel .year-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-period-panel .year-card span{font-size:22px}}
@media(max-width:760px){.bank-filter-form{grid-template-columns:1fr}.bank-filter-form .btn{width:100%}.bank-period-panel .period-panel-head{flex-direction:column}.bank-header-actions{width:100%;justify-content:stretch}.bank-header-actions .btn{flex:1;text-align:center}.bank-opening-correction-card{padding:11px}.bank-opening-correction-collapsible h2{font-size:19px}.bank-opening-correction-content .form-grid{grid-template-columns:1fr}.bank-opening-correction-content .form-actions .btn{width:100%}}
@media(max-width:620px){.bank-period-panel .period-panel-head h2{font-size:29px}.bank-period-panel .year-card-grid{display:none}.bank-account-card .bank-account-meta{grid-template-columns:1fr}}

/* V5.5.4 — Bank treasury clarity */
.bank-period-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.bank-filter-actions{display:block;margin:18px 0 16px;padding:13px;border:1px solid #d8e4ef;border-radius:8px;background:#f8fbfd;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.bank-filter-form{display:grid;grid-template-columns:minmax(170px,1.1fr) 92px minmax(150px,1fr) minmax(130px,.9fr) minmax(210px,1.5fr) auto;gap:9px}
.bank-filter-form input,.bank-filter-form select{min-width:0;height:42px;padding:0 12px;border:1px solid #ccdbe8;border-radius:6px;background:#fff;color:#1e3a5c;font-size:13px;font-weight:650}
.bank-filter-form input::placeholder{color:#8291a3;font-weight:500}
.bank-filter-form input:focus,.bank-filter-form select:focus{outline:3px solid rgba(33,150,243,.14);border-color:#4c9fe5}
.bank-filter-form .btn{height:42px;padding:0 17px;border-radius:6px;font-weight:800}
.bank-period-summary{gap:12px;margin-bottom:18px}
.bank-period-summary .finance-kpi{position:relative;min-height:116px;padding:16px 17px;border:1px solid #dbe5ee;border-left:0;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(15,39,66,.05);overflow:hidden}
.bank-period-summary .finance-kpi::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#315a7e}
.bank-period-summary .finance-kpi.positive::before{background:#16945a}
.bank-period-summary .finance-kpi.negative::before{background:#d0524c}
.bank-period-summary .finance-kpi span{color:#526b82;font-size:12px;font-weight:800}
.bank-period-summary .finance-kpi small{margin-top:5px;color:#8190a0}
.bank-period-summary .finance-kpi strong{margin-top:13px;color:#102f4d;font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:0}
.bank-period-summary .finance-kpi.positive strong{color:#137846}
.bank-period-summary .finance-kpi.negative strong{color:#b8423d}
.bank-transactions-card{border:1px solid #d7e3ed;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(15,39,66,.06)}
.bank-transactions-card table{min-width:1050px}
.bank-transactions-card thead th{padding:13px 12px;border-bottom:1px solid #c8d8e7;background:#eef5fa;color:#36556f;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.bank-transactions-card tbody td{padding:14px 12px;border-bottom-color:#e7edf3;color:#314a61;font-size:13px;vertical-align:middle}
.bank-transactions-card tbody tr{transition:background .14s ease}
.bank-transactions-card tbody tr:hover{background:#f6faff}
.bank-transactions-card tbody tr:last-child td{border-bottom:0}
.bank-transactions-card td:nth-child(2){color:#526b82;font-size:12px;font-variant-numeric:tabular-nums}
.bank-transactions-card td:nth-child(6),.bank-transactions-card td:nth-child(7){font-weight:800;font-variant-numeric:tabular-nums}
.bank-transactions-card td small{display:inline-block;margin-top:3px;color:#7b8a9a;font-size:11px}
.bank-transactions-card .inline-actions{align-items:center}
.bank-transactions-card .inline-actions .btn{border-radius:6px;font-weight:750}
.bank-transactions-card .bank-status{border-radius:5px;padding:5px 7px;font-size:9px;letter-spacing:.04em}
.bank-transactions-card .bank-pending-row{background:#fffaf0}
.bank-transactions-card .bank-pending-row:hover{background:#fff4dc}
.bank-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:20px;margin-top:20px}
.settings-bank-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
@media(max-width:1100px){.bank-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-filter-form .btn{width:100%}}
@media(max-width:900px){.bank-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.bank-filter-actions{padding:10px}.bank-filter-form{grid-template-columns:1fr}.bank-period-summary{grid-template-columns:1fr}.bank-period-summary .finance-kpi{min-height:102px}.settings-bank-header{flex-direction:column}}

/* V5.6.74 — Banque : registre comptable unifié */
.bank-period-panel{padding:20px 22px;border:1px solid #cfdeea;border-top:3px solid #1e5f92;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(26,57,84,.06)}
.bank-period-panel .period-panel-head{align-items:center}
.bank-period-panel .period-panel-head h2{font-size:30px;letter-spacing:0;color:#173955}
.bank-period-panel .period-panel-head small{font-size:12px;color:#718398}
.bank-header-actions{gap:7px}
.bank-header-actions .btn{min-height:38px;padding:0 12px;border-radius:6px;box-shadow:none;font-size:11px}
.bank-header-actions .btn:hover{transform:none;box-shadow:inset 0 0 0 1px currentColor}
.bank-header-actions .bank-import-action{background:#17669e;border-color:#17669e;box-shadow:none}
.bank-header-actions .bank-import-action:hover{background:#125784;box-shadow:none}
.bank-header-actions .bank-export-action{background:#f5faf7;border-color:#c7dfd1;color:#19724b}
.bank-header-actions .bank-create-action{background:#f7fafc;border-color:#d3e0e9;color:#31546f}
.bank-header-actions .bank-init-action{background:#fffaf0;border-color:#ead8b5;color:#8b601c}
.bank-period-panel .month-strip{gap:5px;margin-top:14px;padding:10px 0 0;border-top:1px solid #e4edf4}
.bank-period-panel .month-strip a{padding:7px 9px;border:1px solid transparent;border-radius:5px;background:#f3f7fa;color:#526e87;font-size:12px;font-weight:750}
.bank-period-panel .month-strip a:hover{border-color:#bed4e5;background:#eaf3f9;color:#174e77}
.bank-period-panel .month-strip a.active{background:#1d6295;border-color:#1d6295;color:#fff}
.bank-period-panel .month-strip a span{min-width:18px;height:18px;border-radius:4px;background:rgba(255,255,255,.75);color:#46647c;font-size:10px}
.bank-period-panel .month-strip a.active span{background:rgba(255,255,255,.18);color:#fff}
.bank-filter-actions{margin:14px 0;padding:10px;border:1px solid #d8e4ed;border-radius:8px;background:#f5f8fa;box-shadow:none}
.bank-filter-form{gap:7px}
.bank-filter-form input,.bank-filter-form select{height:38px;border-color:#cbd9e4;border-radius:5px;color:#254761;font-size:12px}
.bank-filter-form .btn{height:38px;border-radius:5px;background:#315e80;border-color:#315e80;color:#fff;font-size:11px}
.bank-account-grid{gap:10px;margin-bottom:16px}
.bank-account-card{padding:13px 14px;border:1px solid #d8e3eb;border-top:3px solid #67809a;border-radius:8px;background:#fff;box-shadow:none}
.bank-account-card.active{border-color:#a9cce8;border-top-color:#1976b7;box-shadow:0 6px 16px rgba(28,105,158,.10)}
.bank-account-card .bank-account-head{padding-bottom:9px}
.bank-account-card .bank-account-head h2{font-size:18px;color:#163954}
.bank-account-card .bank-account-head>strong{border-radius:5px;background:#e6f0fa;color:#1d609d}
.bank-account-card .bank-balance{margin:7px 0;padding:8px 9px;border-radius:5px}
.bank-account-card .bank-opening-balance{background:#f6f8fa}
.bank-account-card .bank-period-balance{background:#eaf4fb;border-color:#c7deef}
.bank-account-card .bank-account-meta{padding-top:2px}
.bank-account-card .bank-account-meta span{padding:7px 8px;border-radius:5px;background:#f8fafb}
.bank-account-card .form-actions{margin-top:8px!important}
.bank-account-card .form-actions .btn{border-color:#d2dee7;background:#fff;color:#355671}
.bank-account-card.active .form-actions .btn{border-color:#9dc8e8;background:#f1f8fd;color:#17649d}
.bank-period-summary{gap:10px;margin:0 0 16px}
.bank-period-summary .finance-kpi{min-height:100px;padding:13px 14px;border:1px solid #d9e3eb;border-radius:8px;box-shadow:none}
.bank-period-summary .finance-kpi::before{width:3px;background:#61798f}
.bank-period-summary .finance-kpi span{font-size:11px;color:#5b7185}
.bank-period-summary .finance-kpi small{margin-top:3px;font-size:10px}
.bank-period-summary .finance-kpi strong{margin-top:10px;font-size:22px}
.bank-transactions-card{border-color:#d2dfe9;border-radius:8px;box-shadow:none}
.bank-transactions-card thead th{padding:11px 12px;background:#edf4f8;color:#48657d}
.bank-transactions-card tbody td{padding:11px 12px;font-size:12px}
.bank-transactions-card tbody tr:hover{background:#f3f8fb}
.bank-transactions-card td:nth-child(6),.bank-transactions-card td:nth-child(7){font-size:13px}
.bank-transactions-card .bank-status{border-radius:4px}
.bank-pagination{margin-top:14px}
.bank-pagination-summary{margin-top:5px;color:#72869a;font-size:12px;text-align:center}
@media(max-width:760px){.bank-period-panel{padding:15px}.bank-period-panel .period-panel-head h2{font-size:25px}.bank-header-actions .btn{flex:1}.bank-period-panel .month-strip{margin-top:10px}.bank-account-card .bank-account-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.bank-account-card .bank-account-meta{grid-template-columns:1fr}.bank-period-summary .finance-kpi{min-height:94px}}

/* V5.5.8 — Contacts toolbar compact mode */
.quotes-period-panel,.reservations-period-panel{background:linear-gradient(180deg,#f9fcff 0%,#ffffff 55%)}
.quotes-period-panel .period-panel-head h2,.reservations-period-panel .period-panel-head h2{font-size:clamp(24px,2.5vw,32px);line-height:1.12;color:#0f2742;letter-spacing:-.01em}
.quotes-period-panel .period-stepper,.reservations-period-panel .period-stepper{background:#fff;border-color:#d9e5f3;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.quotes-period-panel .period-stepper strong,.reservations-period-panel .period-stepper strong{font-size:14px;font-weight:900;color:#1e3a5c}
.quotes-period-panel .year-card-grid,.reservations-period-panel .year-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,255px));justify-content:flex-start}
.quotes-period-panel .year-card,.reservations-period-panel .year-card{min-height:116px;border-color:#d8e4f0}
.quotes-period-panel .year-card.active,.reservations-period-panel .year-card.active{box-shadow:inset 0 0 0 1px #2196f3,0 8px 24px rgba(33,150,243,.13)}
.quotes-period-panel .year-card strong,.reservations-period-panel .year-card strong{font-size:34px;line-height:1}
.quotes-period-panel .year-card span,.reservations-period-panel .year-card span{font-size:27px;color:#16314d;line-height:1.05}
.quotes-period-panel .year-card small,.reservations-period-panel .year-card small{font-size:20px;color:#2f4f71;line-height:1.15}
.quotes-period-panel .month-strip,.reservations-period-panel .month-strip{gap:8px;padding-top:12px;padding-bottom:6px;scroll-snap-type:x proximity}
.quotes-period-panel .month-strip a,.reservations-period-panel .month-strip a{scroll-snap-align:start;border-radius:12px;border-color:#d7e3f0;padding:9px 11px;font-size:13px}
.quotes-period-panel .month-strip a span,.reservations-period-panel .month-strip a span{min-width:22px;height:22px;font-size:11px}
.quotes-period-panel .month-strip a:hover,.reservations-period-panel .month-strip a:hover{border-color:#90caf9;background:#f3f9ff}
.quotes-period-panel .month-strip a.active,.reservations-period-panel .month-strip a.active{background:linear-gradient(160deg,#2196f3,#1976d2);border-color:#1976d2}
@media(max-width:900px){.quotes-period-panel .year-card-grid,.reservations-period-panel .year-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotes-period-panel .year-card span,.reservations-period-panel .year-card span{font-size:22px}.quotes-period-panel .year-card small,.reservations-period-panel .year-card small{font-size:17px}}
@media(max-width:620px){.quotes-period-panel .period-panel-head h2,.reservations-period-panel .period-panel-head h2{font-size:28px}.quotes-period-panel .period-stepper strong,.reservations-period-panel .period-stepper strong{font-size:13px}.quotes-period-panel .year-card-grid,.reservations-period-panel .year-card-grid{display:none}}

.contact-tabs{
    gap:6px;
    margin-bottom:8px;
}

.contact-tabs a{
    gap:7px;
    padding:8px 11px;
    border-radius:9px;
    font-size:13px;
}

.contact-tabs a strong{
    min-width:22px;
    height:22px;
    padding:0 6px;
    font-size:10px;
}

.contacts-toolbar{
    margin-bottom:8px;
    padding:8px 10px;
    border:1px solid #e5eaf0;
    border-radius:10px;
    background:#fff;
}

.contacts-filters{
    gap:6px;
}

.contacts-filters input,
.contacts-filters select,
.contacts-filters .btn,
.contacts-new-actions .btn,
.contacts-bulk-bar .btn {
    min-height:36px;
    padding-top:0;
    padding-bottom:0;
}

.contacts-filters input{
    min-width:240px;
}

.contacts-new-actions{
    gap:6px;
}


.reservation-live-total {
display: grid;
grid-template-columns: repeat(4, minmax(120px, auto));
gap: 12px;
padding: 10px 14px;
border: 1px solid #dbe3f4;
border-radius: 12px;
background: #f8fbff;
margin-right: auto;
}

.reservation-live-total div {
display: grid;
gap: 2px;
}

.reservation-live-total span {
font-size: 11px;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.03em;
font-weight: 700;
}

.reservation-live-total strong {
font-size: 14px;
color: #0f172a;
font-weight: 800;
}

@media (max-width: 1024px) {
.reservation-live-total {
grid-template-columns: repeat(2, minmax(120px, auto));
width: 100%;
margin-bottom: 8px;
}
}
.contacts-bulk-bar{
    margin-bottom:8px;
    padding:7px 10px;
    border:1px solid #e5eaf0;
    border-radius:10px;
    background:#fff;
}

.contacts-bulk-bar .bulk-actions-count{
    font-size:12px;
}

@media(max-width:900px){
    .contacts-toolbar{
        padding:8px;
    }

    .contacts-filters input{
        min-width:0;
    }
}

/* V5.5.9 — Contacts toolbar redesign */
.contacts-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:end;
}

.contacts-toolbar-main{
    min-width:0;
}

.contacts-toolbar-side{
    display:flex;
    justify-content:flex-end;
}

.contacts-filters{
    display:grid;
    grid-template-columns:minmax(280px,1.7fr) minmax(220px,1fr) auto;
    gap:8px;
    align-items:end;
}

.contacts-filter-actions{
    display:flex;
    gap:6px;
}

.contacts-filters .btn,
.contacts-new-actions .btn,
.contacts-filter-actions .btn{
    min-width:110px;
}

.contacts-bulk-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

@media(max-width:1080px){
    .contacts-toolbar{
        grid-template-columns:1fr;
        align-items:stretch;
    }

    .contacts-toolbar-side{
        justify-content:flex-start;
    }

    .contacts-filters{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    }

    .contacts-filter-actions{
        grid-column:1 / -1;
    }
}

@media(max-width:760px){
    .contacts-filters{
        grid-template-columns:1fr;
    }

    .contacts-filter-actions,
    .contacts-new-actions{
        width:100%;
    }

    .contacts-filter-actions .btn,
    .contacts-new-actions .btn{
        flex:1;
        min-width:0;
    }
}

/* V5.5.10 - Quotes controls compact grouping */
.quotes-control-deck{
    padding:14px 16px;
    margin-bottom:12px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.quotes-control-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.quotes-inline-tabs{
    margin:0;
    flex:1;
}

.quotes-period-compact{
    display:flex;
    flex-direction:column;
    gap:8px;
    border-top:1px solid #e2e8f0;
    padding-top:10px;
}

.quotes-period-label{
    display:flex;
    align-items:center;
    gap:8px;
}

.quotes-period-label .eyebrow{
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#64748b;
}

.quotes-period-label strong{
    font-size:14px;
    color:#0f2742;
}

.quotes-control-deck .period-stepper{
    margin:0;
}

.quotes-control-deck .month-strip{
    padding:0;
}

.quotes-control-deck .quote-list-toolbar{
    margin:0;
}

.quotes-inline-filters{
    grid-template-columns:minmax(120px,.42fr) minmax(160px,.55fr) minmax(240px,1fr) auto;
    align-items:end;
}

.quotes-inline-filters .quote-filter-actions{
    grid-column:auto;
    align-self:end;
}

@media(max-width:980px){
    .quotes-control-head{
        flex-direction:column;
        align-items:stretch;
    }

    .quotes-control-head>.btn{
        width:100%;
    }

    .quotes-inline-filters{
        grid-template-columns:1fr 1fr;
    }

    .quotes-inline-filters .quote-filter-actions{
        grid-column:1 / -1;
    }
}

@media(max-width:620px){
    .quotes-control-deck{
        padding:12px;
        gap:10px;
    }

    .quotes-inline-filters{
        grid-template-columns:1fr;
    }

    .quotes-inline-filters .quote-filter-actions{
        grid-column:auto;
    }
}

/* Quote detail workspace */
.quote-show-page{
    display:grid;
    gap:14px;
    max-width:1280px;
    margin:0 auto;
    padding-bottom:28px;
}

.quote-show-page > *{
    margin:0;
}

.quote-show-page .card{
    border-color:#d7e2eb;
    border-radius:8px;
    box-shadow:0 4px 16px rgba(17,43,69,.045);
}

.quote-show-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:flex-start;
    gap:18px 28px;
    padding:20px 22px 14px;
    border-top:4px solid #176b9e;
    background:#fff;
}

.quote-show-identity{
    min-width:0;
}

.quote-show-back{
    display:inline-block;
    margin-bottom:12px;
    color:#527089;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.quote-show-back:hover{
    color:#176b9e;
}

.quote-show-eyebrow{
    display:flex;
    align-items:center;
    gap:7px;
    color:#60778b;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.quote-show-eyebrow span + span{
    padding:4px 7px;
    border-radius:4px;
    background:#eaf3f8;
    color:#17638f;
}

.quote-show-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin:5px 0 4px;
}

.quote-show-title-row h1{
    min-width:0;
    margin:0;
    overflow:hidden;
    color:#17324d;
    font-size:28px;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.quote-show-title-row .status{
    flex:0 0 auto;
    border-radius:5px;
    font-size:10px;
    font-weight:850;
}

.quote-show-identity > p{
    margin:0;
    color:#6d7e8e;
    font-size:12px;
}

.quote-show-hero-side{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:5px;
}

.quote-show-amount{
    min-width:220px;
    padding:11px 13px;
    border:1px solid #cfe0eb;
    border-radius:6px;
    background:#f3f8fb;
    text-align:right;
}

.quote-show-amount span{
    display:block;
    margin-bottom:2px;
    color:#718398;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

.quote-show-amount strong{
    color:#174f78;
    font-size:23px;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

.quote-show-validity{
    color:#738595;
    font-size:10px;
    font-weight:700;
}

.quote-show-actions{
    display:flex;
    grid-column:1 / -1;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-top:13px;
    border-top:1px solid #e0e8ee;
}

.quote-show-actions form{
    margin:0;
}

.quote-show-document-actions,
.quote-show-workflow-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}

.quote-show-workflow-actions{
    justify-content:flex-end;
}

.quote-show-actions .btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:0 12px;
    border-radius:5px;
    font-size:11px;
    font-weight:800;
    box-shadow:none;
    white-space:nowrap;
}

.quote-show-actions .btn svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.quote-show-workflow-actions .quote-convert-cta,
.quote-show-workflow-actions .success-button{
    min-height:40px;
    padding-inline:15px;
    border:1px solid #167545;
    background:#1f8053 !important;
    color:#fff !important;
    box-shadow:0 4px 10px rgba(31,128,83,.16);
}

.quote-show-workflow-actions .quote-convert-cta:hover,
.quote-show-workflow-actions .success-button:hover{
    background:#176b45 !important;
}

.quote-show-actions .quote-duplicate-btn{
    border-color:#d5dee7;
    background:#f7f9fb;
    color:#425e75;
}

.quote-show-actions .quote-duplicate-btn:hover,
.quote-show-actions .quote-duplicate-btn:focus-visible{
    transform:none;
    border-color:#9fb6c8;
    background:#edf3f7;
    color:#27485f;
    box-shadow:none;
}

.quote-show-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.quote-show-summary article{
    position:relative;
    min-width:0;
    min-height:96px;
    padding:14px 15px 13px 17px;
    overflow:hidden;
    border:1px solid #d7e2eb;
    border-radius:7px;
    background:#fff;
}

.quote-show-summary article::before{
    content:'';
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:#4f7895;
}

.quote-show-summary article:nth-child(3)::before{
    background:#2d7b59;
}

.quote-show-summary span,
.quote-show-summary strong,
.quote-show-summary small{
    display:block;
}

.quote-show-summary span{
    color:#718494;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

.quote-show-summary strong{
    margin:8px 0 3px;
    overflow:hidden;
    color:#203e56;
    font-size:14px;
    font-variant-numeric:tabular-nums;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.quote-show-summary small{
    overflow:hidden;
    color:#778a99;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.quote-show-page .quote-validation-badges{
    padding:15px 18px;
    border-left:4px solid #4b7898;
    background:#fbfdfe;
}

.quote-show-page .quote-validation-header h2,
.quote-show-page .quote-lines-card h2,
.quote-show-page .quote-useful-information h2,
.quote-show-page .quote-detail-grid h2{
    color:#17324d;
    font-size:16px;
}

.quote-show-page .quote-validation-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.quote-show-page .validation-chip{
    position:relative;
    padding:10px 12px;
    border-radius:6px;
}

.quote-show-page .validation-chip::before{
    content:'';
    width:7px;
    height:7px;
    margin-bottom:3px;
    border-radius:50%;
    background:currentColor;
}

.quote-show-page .validation-chip strong{
    font-size:15px;
}

.quote-show-page .quote-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0;
}

.quote-show-page .quote-detail-grid > .card{
    padding:17px 18px;
}

.quote-show-page .quote-detail-grid .section-title,
.quote-show-page .quote-detail-grid > article > h2{
    margin:0 0 8px;
    padding-bottom:11px;
    border-bottom:1px solid #e4ebf1;
}

.quote-section-kicker{
    display:block;
    margin-bottom:3px;
    color:#2a708f;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.quote-whatsapp-button{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 9px;
    border:1px solid #9fd5b8;
    border-radius:5px;
    background:#edf8f2;
    color:#176b45;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}

.quote-whatsapp-button span{
    display:grid;
    width:19px;
    height:19px;
    place-items:center;
    border-radius:50%;
    background:#218b5a;
    color:#fff;
    font-size:7px;
    letter-spacing:0;
}

.quote-whatsapp-button:hover{
    border-color:#218b5a;
    background:#218b5a;
    color:#fff;
}

.quote-whatsapp-button:hover span{
    background:#fff;
    color:#176b45;
}

.quote-show-page .detail-list > div{
    display:grid;
    grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr);
    gap:14px;
    padding:9px 0;
}

.quote-show-page .detail-list span{
    font-size:11px;
}

.quote-show-page .detail-list strong{
    color:#29465d;
    font-size:12px;
}

.quote-show-page .quote-lines-card{
    padding:0;
    overflow:hidden;
}

.quote-show-page .quote-lines-card > h2{
    margin:0;
    padding:15px 18px;
    border-bottom:1px solid #dce6ee;
    background:#f6f9fb;
}

.quote-show-page .quote-lines-card .table-wrap{
    margin:0;
}

.quote-show-page .quote-lines-card table{
    margin:0;
}

.quote-show-page .quote-lines-card thead th{
    padding:10px 13px;
    border-bottom:1px solid #cddce7;
    background:#edf4f8;
    color:#48657d;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

.quote-show-page .quote-lines-card tbody td{
    padding:12px 13px;
    border-bottom-color:#e6edf2;
    color:#354f64;
    font-size:12px;
}

.quote-show-page .quote-lines-card tbody tr:last-child td{
    border-bottom:0;
}

.quote-show-page .quote-lines-card tbody tr:hover{
    background:#f7fafc;
}

.quote-show-page .quote-lines-card th:not(:first-child),
.quote-show-page .quote-lines-card td:not(:first-child){
    text-align:right;
}

.quote-show-page .quote-lines-card th:last-child,
.quote-show-page .quote-lines-card td:last-child{
    color:#174f78;
    font-weight:850;
}

.quote-show-page .quote-notes{
    margin:0;
    padding:15px 18px;
    border-top:1px solid #dce6ee;
    background:#fbfcfd;
}

.quote-show-page .quote-notes h3{
    margin:0 0 6px;
    color:#29465d;
    font-size:13px;
}

.quote-show-page .quote-notes p{
    margin:0;
    color:#60778b;
    font-size:12px;
    line-height:1.55;
}

.quote-show-page .quote-useful-information{
    padding:17px 18px;
    border-left:4px solid #d49a35;
    background:#fffdf8;
}

.quote-show-page .quote-useful-information li{
    color:#4d6173;
    font-size:12px;
}

@media(max-width:1050px){
    .quote-show-hero{
        grid-template-columns:minmax(0,1fr) auto;
    }

    .quote-show-hero-side{
        width:auto;
    }

    .quote-show-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .quote-show-workflow-actions{
        justify-content:flex-start;
    }

    .quote-show-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .quote-show-page{
        gap:10px;
    }

    .quote-show-page .quote-validation-grid{
        grid-template-columns:1fr;
    }

    .quote-show-hero{
        grid-template-columns:1fr;
        gap:18px;
        padding:16px;
    }

    .quote-show-hero-side{
        width:100%;
        align-items:stretch;
    }

    .quote-show-amount{
        min-width:0;
        text-align:left;
    }

    .quote-show-title-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .quote-show-title-row h1{
        width:100%;
        font-size:23px;
    }

    .quote-show-actions{
        display:flex;
        width:100%;
        gap:8px;
    }

    .quote-show-document-actions,
    .quote-show-workflow-actions{
        display:grid;
        width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .quote-show-actions form,
    .quote-show-actions .btn,
    .quote-show-actions form .btn{
        width:100%;
        justify-content:center;
    }

    .quote-show-page .quote-validation-badges,
    .quote-show-page .quote-detail-grid > .card,
    .quote-show-page .quote-useful-information{
        padding:14px;
    }

    .quote-show-page .quote-validation-header{
        gap:5px;
    }

    .quote-show-page .quote-lines-card .table-wrap{
        margin:0;
        padding:0;
    }

    .quote-show-page .quote-detail-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:460px){
    .quote-show-document-actions,
    .quote-show-workflow-actions,
    .quote-show-summary{
        grid-template-columns:1fr;
    }

    .quote-show-eyebrow{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* V5.5.12 - Payments creation collapsed by default */
.hr-page{display:grid;gap:14px;max-width:1380px;margin:0 auto;padding-bottom:28px}.hr-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 2px}.hr-eyebrow{color:#287254;font-size:10px;font-weight:850;text-transform:uppercase}.hr-header h1{margin:4px 0;color:#17324d;font-size:29px;letter-spacing:0}.hr-header p{margin:0;color:#6c7e8e;font-size:12px}.hr-header .btn{min-height:40px;border-radius:6px;font-weight:800}.hr-header-actions{display:flex;gap:8px}.hr-tabs{display:flex;gap:5px;padding-bottom:8px;border-bottom:1px solid #d8e2e9}.hr-tabs a{padding:7px 11px;border-radius:5px;color:#60768a;font-size:11px;font-weight:800;text-decoration:none}.hr-tabs a:hover{background:#edf3f7}.hr-tabs a.active{background:#245f7f;color:#fff}.hr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hr-kpis article{position:relative;min-height:112px;padding:15px 16px;overflow:hidden;border:1px solid #d7e2eb;border-radius:8px;background:#fff}.hr-kpis article::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#2a7555}.hr-kpis article.has-warning::before{background:#c78a28}.hr-kpis span,.hr-kpis strong,.hr-kpis small{display:block}.hr-kpis span{color:#60768a;font-size:11px;font-weight:800}.hr-kpis strong{margin:9px 0 4px;color:#17324d;font-size:26px;font-variant-numeric:tabular-nums}.hr-kpis small{color:#8795a2;font-size:10px}.hr-layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(270px,.75fr);gap:14px}.hr-page .card{margin:0;border-color:#d7e2eb;border-radius:8px;box-shadow:0 4px 16px rgba(17,43,69,.045)}.hr-directory{padding:0;overflow:hidden}.hr-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #dce6ee;background:#f7fafc}.hr-section-head span{display:block;color:#2a7555;font-size:9px;font-weight:850;text-transform:uppercase}.hr-section-head h2{margin:3px 0 0;color:#17324d;font-size:16px}.hr-section-head>strong{padding:5px 8px;border-radius:5px;background:#e7f3ed;color:#24704f;font-size:10px}.hr-table{margin:0}.hr-table thead th{padding:10px 13px;border-bottom:1px solid #cddce7;background:#edf4f8;color:#48657d;font-size:9px;font-weight:850;text-transform:uppercase}.hr-table tbody td{padding:11px 13px;border-bottom-color:#e6edf2;color:#40596e;font-size:11px;vertical-align:middle}.hr-table tbody tr:hover{background:#f8fbfd}.hr-table tbody tr:last-child td{border-bottom:0}.hr-person{display:flex;align-items:center;gap:9px}.hr-person>span{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:6px;background:#e5eff5;color:#245b7c;font-size:10px;font-weight:900}.hr-person strong,.hr-person small{display:block}.hr-person strong{color:#213e56;font-size:12px}.hr-person small{margin-top:2px;color:#778998;font-size:10px}.hr-role,.hr-status{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border-radius:4px;font-size:9px;font-weight:850}.hr-role{background:#edf3f7;color:#405f76}.hr-status.active{background:#e5f5ec;color:#23704f}.hr-status.inactive{background:#f1f3f5;color:#77818b}.hr-phone{color:#1d668f;font-weight:750;text-decoration:none}.hr-muted{color:#94a0aa}.hr-roles{padding:0;overflow:hidden}.hr-role-list{display:grid;gap:15px;padding:17px}.hr-role-list>div>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;color:#486176;font-size:11px}.hr-role-list strong{color:#17324d}.hr-role-list i{display:block;height:5px;overflow:hidden;border-radius:3px;background:#e8edf1}.hr-role-list i span{display:block;height:100%;border-radius:3px;background:#2a7555}.hr-manage-link{display:block;padding:13px 17px;border-top:1px solid #dce6ee;background:#f7fafc;color:#1e648d;font-size:10px;font-weight:850;text-decoration:none}.hr-manage-link:hover{background:#edf5f9}.hr-page .table-wrap{margin:0}@media(max-width:1050px){.hr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-layout{grid-template-columns:1fr}.hr-role-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hr-header{align-items:flex-start;flex-direction:column}.hr-header-actions{display:grid;width:100%;grid-template-columns:1fr}.hr-header .btn{width:100%;justify-content:center}.hr-kpis{gap:8px}.hr-kpis article{min-height:100px;padding:13px}.hr-directory .table-wrap{overflow:visible}.hr-table,.hr-table tbody,.hr-table tr,.hr-table td{display:block;width:100%}.hr-table thead{display:none}.hr-table tr{padding:11px 13px;border-bottom:1px solid #dce6ee}.hr-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0;text-align:right}.hr-table tbody td::before{content:attr(data-label);color:#768797;font-size:9px;font-weight:850;text-transform:uppercase}.hr-table tbody td:first-child{display:block;padding-bottom:10px;text-align:left}.hr-table tbody td:first-child::before{display:none}.hr-role-list{grid-template-columns:1fr}}@media(max-width:430px){.hr-kpis{grid-template-columns:1fr}.hr-kpis article{min-height:92px}.hr-header h1{font-size:25px}}

.hr-leaves-page{display:grid;gap:14px;max-width:1380px;margin:0 auto;padding-bottom:28px}.hr-leaves-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 2px}.hr-leaves-header>div>a{display:block;margin-bottom:8px;color:#60768a;font-size:10px;font-weight:800;text-decoration:none}.hr-leaves-header h1{margin:4px 0;color:#17324d;font-size:29px}.hr-leaves-header p{margin:0;color:#6c7e8e;font-size:12px}.hr-leaves-header>.btn{min-height:40px;border-radius:6px;font-weight:800}.hr-leave-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hr-leave-kpis article{position:relative;min-height:104px;padding:14px 16px;border:1px solid #d7e2eb;border-radius:8px;background:#fff}.hr-leave-kpis article::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#5b7488}.hr-leave-kpis article.pending::before{background:#c98c2c}.hr-leave-kpis article.approved::before{background:#287254}.hr-leave-kpis span,.hr-leave-kpis strong,.hr-leave-kpis small{display:block}.hr-leave-kpis span{color:#60768a;font-size:10px;font-weight:800}.hr-leave-kpis strong{margin:8px 0 3px;color:#17324d;font-size:25px}.hr-leave-kpis small{color:#8795a2;font-size:10px}.hr-leaves-page .card{margin:0;padding:0;border-color:#d7e2eb;border-radius:8px;box-shadow:0 4px 16px rgba(17,43,69,.045)}.hr-leave-form-card{overflow:hidden}.hr-leave-form-card .hr-section-head small{color:#768797;font-size:10px}.hr-leave-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end;padding:16px 17px}.hr-leave-form label{display:flex;flex-direction:column;gap:5px;color:#526b7f;font-size:10px;font-weight:800}.hr-leave-form input,.hr-leave-form select,.hr-leave-form textarea{width:100%;min-height:40px;border:1px solid #cddae4;border-radius:5px;background:#fff;color:#29465d}.hr-leave-form textarea{min-height:40px;height:40px;resize:vertical}.hr-leave-form input:focus,.hr-leave-form select:focus,.hr-leave-form textarea:focus{outline:3px solid rgba(42,117,85,.12);border-color:#4c9776}.hr-leave-form .btn{min-height:40px;border-radius:5px;white-space:nowrap}.hr-leave-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-bottom:1px solid #dce6ee;background:#f7fafc}.hr-leave-toolbar h2{margin:3px 0 0;color:#17324d;font-size:16px}.hr-leave-toolbar form{display:flex;gap:7px}.hr-leave-toolbar select,.hr-leave-toolbar .btn{min-height:36px;border-radius:5px;font-size:10px}.hr-leave-table{margin:0;min-width:980px}.hr-leave-table thead th{padding:10px 12px;border-bottom:1px solid #cddce7;background:#edf4f8;color:#48657d;font-size:9px;font-weight:850;text-transform:uppercase}.hr-leave-table tbody td{padding:11px 12px;border-bottom-color:#e6edf2;color:#40596e;font-size:11px;vertical-align:middle}.hr-leave-table tbody tr:hover{background:#f8fbfd}.hr-leave-table td strong,.hr-leave-table td small{display:block}.hr-leave-table td small{margin-top:2px;color:#80909d;font-size:9px}.hr-leave-type,.hr-leave-status{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border-radius:4px;font-size:9px;font-weight:850}.hr-leave-type{background:#edf3f7;color:#405f76}.hr-leave-status.pending{background:#fff3d8;color:#8b621c}.hr-leave-status.approved{background:#e5f5ec;color:#23704f}.hr-leave-status.rejected{background:#fdebea;color:#a84640}.hr-leave-status.cancelled{background:#f0f2f4;color:#717c85}.hr-leave-note{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-leave-actions,.hr-leave-actions form{display:flex;align-items:center;gap:5px}.hr-leave-actions .btn{min-height:28px;padding:0 8px;border-radius:4px;font-size:9px;font-weight:800}.hr-approve{border:1px solid #a9d2bc;background:#edf8f2;color:#1e704c}.hr-reject{border:1px solid #ebc0bd;background:#fff5f4;color:#a33d37}.hr-leave-empty{display:grid;place-items:center;gap:4px;min-height:170px;color:#708293;text-align:center}.hr-leave-empty strong{color:#29465d}.hr-leave-empty span{font-size:11px}@media(max-width:1100px){.hr-leave-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-leave-reason{grid-column:1/-1}.hr-leave-form>.btn{width:100%}.hr-leave-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hr-leaves-header{align-items:flex-start;flex-direction:column}.hr-leaves-header>.btn{width:100%;justify-content:center}.hr-leave-form{grid-template-columns:1fr}.hr-leave-reason{grid-column:auto}.hr-leave-toolbar{align-items:flex-start;flex-direction:column}.hr-leave-toolbar form{display:grid;width:100%;grid-template-columns:1fr 1fr}.hr-leave-toolbar form .btn{grid-column:1/-1}.hr-leave-register .table-wrap{overflow:visible}.hr-leave-table,.hr-leave-table tbody,.hr-leave-table tr,.hr-leave-table td{display:block;width:100%;min-width:0}.hr-leave-table thead{display:none}.hr-leave-table tr{padding:11px 13px;border-bottom:1px solid #dce6ee}.hr-leave-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0;text-align:right}.hr-leave-table tbody td::before{content:attr(data-label);color:#768797;font-size:9px;font-weight:850;text-transform:uppercase}.hr-leave-table td small{text-align:right}.hr-leave-actions{justify-content:flex-end;flex-wrap:wrap}.hr-leave-note{max-width:55vw}}@media(max-width:430px){.hr-leave-kpis{grid-template-columns:1fr}.hr-leaves-header h1{font-size:25px}}

.payments-create-collapsible{
    margin-bottom:12px;
}

.payments-create-collapsible summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    cursor:pointer;
    padding:4px 2px;
}

.payments-create-collapsible summary::-webkit-details-marker{
    display:none;
}

.payments-create-collapsible summary span{
    color:#64748b;
    font-size:12px;
}

.payments-create-collapsible[open] summary{
    margin-bottom:10px;
}

.payments-create-collapsible-body{
    padding-top:4px;
}

/* V5.5.11 - Planning drawer action buttons polish */
.planning-drawer .drawer-actions{
    display:grid;
    gap:10px;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid #e6edf6;
}

.planning-drawer .drawer-actions .btn{
    width:100%;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    border-radius:12px;
    transition:transform .12s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.planning-drawer #drawer-view-reservation{
    background:#f8fbff;
    border:1px solid #c8dbf6;
    color:#1d4fa3;
}

.planning-drawer #drawer-view-reservation:hover{
    background:#edf4ff;
    border-color:#adcaf2;
    transform:translateY(-1px);
}

.planning-drawer #drawer-open-reservation{
    box-shadow:0 10px 20px rgba(37,99,235,.2);
}

.planning-drawer #drawer-open-reservation:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 24px rgba(37,99,235,.25);
}

.planning-drawer .drawer-actions .btn:focus-visible{
    outline:2px solid #7aa7eb;
    outline-offset:2px;
}

@media(max-width:560px){
    .planning-drawer .drawer-actions{
        gap:8px;
    }

    .planning-drawer .drawer-actions .btn{
        min-height:42px;
        border-radius:10px;
    }
}

/* V5.6.48 - Contacts list */
.contacts-index {
    max-width: 1680px;
    margin: 0 auto;
}

.contacts-index .contact-tabs {
    gap: 6px;
    margin-bottom: 10px;
}

.contacts-index .contact-tabs a {
    min-height: 40px;
    padding: 8px 13px;
    border-color: #d8e3ec;
    border-radius: 7px;
    color: #52677b;
    background: #f8fafc;
    box-shadow: 0 2px 7px rgba(15, 39, 66, .035);
}

.contacts-index .contact-tabs a.active {
    color: #155e8b;
    background: #edf7fc;
    border-color: #77acd0;
    box-shadow: inset 0 -2px 0 #2f7cab;
}

.contacts-index .contact-tabs a.active.prospect {
    color: #74511a;
    background: #fff8e8;
    border-color: #e3c77f;
    box-shadow: inset 0 -2px 0 #c28b2c;
}

.contacts-index .contact-tabs a.active.client {
    color: #176943;
    background: #eef9f3;
    border-color: #8cc9aa;
    box-shadow: inset 0 -2px 0 #2b8a61;
}

.contacts-index .contacts-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #d8e3ec;
    border-radius: 8px;
    background: #f7f9fc;
    box-shadow: 0 4px 15px rgba(15, 39, 66, .045);
}

.contacts-index .contacts-filters {
    grid-template-columns: minmax(300px, 1.8fr) minmax(190px, .8fr) auto;
    gap: 10px;
}

.contacts-index .contacts-name-search,
.contacts-index .contacts-status-filter {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.contacts-index .contacts-name-search > span,
.contacts-index .contacts-status-filter > span {
    color: #607286;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.contacts-index .contacts-name-search > span {
    color: #184f73;
    font-weight: 900;
}

.contacts-index .contacts-name-search input {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding-inline: 13px;
    border: 2px solid #4f91b8;
    border-radius: 6px;
    color: #172f47;
    background: #fff;
    font-weight: 700;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .08);
}

.contacts-index .contacts-name-search input::placeholder {
    color: #8294a5;
    font-weight: 500;
}

.contacts-index .contacts-name-search input:focus {
    outline: none;
    border-color: #176d9f;
    box-shadow: 0 0 0 4px rgba(47, 124, 171, .16);
}

.contacts-index .contacts-status-filter select {
    height: 40px;
    border-color: #cdd9e4;
    border-radius: 6px;
}

.contacts-index .contacts-filter-actions {
    align-items: flex-end;
}

.contacts-index .contacts-filter-actions .btn,
.contacts-index .contacts-new-actions .btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-weight: 800;
}

.contacts-index .contacts-bulk-bar {
    min-height: 42px;
    margin-bottom: 8px;
    padding: 8px 10px;
    border-color: #d8e3ec;
    border-radius: 7px;
    background: #f8fafc;
}

.contacts-index .contacts-bulk-bar > input[type="hidden"] {
    display: none;
}

.contacts-index .contacts-bulk-bar .btn {
    min-height: 34px;
    padding: 6px 11px;
    border-radius: 6px;
    font-size: 12px;
}

.contacts-table-card {
    padding: 0;
    overflow: auto;
    border-color: #d8e3ec;
    border-radius: 8px;
    box-shadow: 0 7px 22px rgba(15, 39, 66, .06);
    scrollbar-color: #aebdca #edf2f6;
    scrollbar-width: thin;
}

.contacts-table {
    min-width: 1080px;
}

.contacts-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 12px 10px;
    border-bottom: 1px solid #cfdbe6;
    background: #edf3f7;
    color: #52677b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.contacts-table tbody td {
    padding: 13px 10px;
    border-bottom-color: #e3e9ef;
    color: #33475b;
    font-size: 12px;
    vertical-align: middle;
}

.contacts-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}

.contacts-table tbody tr:hover td {
    background: #f2f8fc;
}

.contacts-table tbody tr:last-child td {
    border-bottom: 0;
}

.contacts-table .contact-select-cell {
    width: 42px;
    text-align: center;
}

.contacts-table .contact-actions-cell {
    min-width: 128px;
}

.contacts-table .contact-actions-cell .inline-actions {
    gap: 5px;
    flex-wrap: nowrap;
}

.contacts-table .contact-actions-cell .icon-action {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
}

.contacts-table .contact-name-cell strong,
.contacts-table .contact-name-cell small {
    display: block;
}

.contacts-table .contact-name-cell strong {
    color: #182b3e;
    font-size: 13px;
}

.contacts-table .contact-name-cell small {
    margin-top: 4px;
    color: #8291a0;
    font-size: 9px;
}

.contacts-table .contact-phone-cell,
.contacts-table .contact-email-cell {
    color: #40576c;
}

.contacts-table .contact-type,
.contacts-table .status,
.contacts-table .document-indicator {
    border: 1px solid transparent;
    border-radius: 5px;
}

.contacts-table .contact-type.client,
.contacts-table .status.confirmed,
.contacts-table .document-indicator.present {
    border-color: #b8dfca;
}
.contacts-table .contact-type.client.company { border-color: #b7cce0; background: #edf4fa; color: #245f8a; }

.contacts-table .contact-type.prospect {
    border-color: #d9c8ef;
}

.contacts-table .document-indicator + .document-indicator {
    margin-left: 4px;
}

@media (max-width: 1080px) {
    .contacts-index .contacts-toolbar {
        grid-template-columns: 1fr;
    }

    .contacts-index .contacts-toolbar-side {
        justify-content: flex-start;
    }
}

@media (max-width: 700px) {
    .contacts-index .contact-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contacts-index .contact-tabs a {
        justify-content: center;
        min-width: 0;
        padding-inline: 7px;
    }

    .contacts-index .contacts-toolbar {
        padding: 12px;
    }

    .contacts-index .contacts-filters {
        grid-template-columns: 1fr;
    }

    .contacts-index .contacts-name-search input,
    .contacts-index .contacts-status-filter select,
    .contacts-index .contacts-filter-actions .btn,
    .contacts-index .contacts-new-actions .btn {
        min-height: 44px;
    }

    .contacts-index .contacts-filter-actions,
    .contacts-index .contacts-new-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .contacts-index .contacts-bulk-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .contacts-index .contacts-bulk-bar .btn {
        width: 100%;
        min-height: 42px;
    }

    .contacts-table-card {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .contacts-table,
    .contacts-table tbody {
        display: block;
        min-width: 0;
    }

    .contacts-table thead {
        display: none;
    }

    .contacts-table .contact-list-row {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #d8e3ec;
        border-left: 4px solid #2f7cab;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(15, 39, 66, .055);
    }

    .contacts-table .contact-list-row:has(.contact-type.prospect) {
        border-left-color: #a4732a;
    }

    .contacts-table .contact-list-row > td {
        display: block;
        min-width: 0;
        padding: 10px 11px;
        border: 0;
        border-bottom: 1px solid #edf1f4;
        background: #fff !important;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .contacts-table .contact-list-row > td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #8391a0;
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .065em;
        text-transform: uppercase;
    }

    .contacts-table .contact-select-cell {
        position: absolute;
        top: 13px;
        right: 11px;
        z-index: 2;
        width: auto;
        padding: 0;
        border: 0;
    }

    .contacts-table .contact-name-cell,
    .contacts-table .contact-actions-cell,
    .contacts-table .contact-documents-cell {
        grid-column: 1 / -1;
    }

    .contacts-table .contact-name-cell {
        order: -1;
        padding-right: 44px;
        background: #f6f9fb !important;
    }

    .contacts-table .contact-actions-cell {
        order: 99;
        border-bottom: 0;
    }

    .contacts-table .contact-actions-cell .inline-actions {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
    }

    .contacts-table .contact-actions-cell .icon-action,
    .contacts-table .contact-actions-cell form,
    .contacts-table .contact-actions-cell form .icon-action {
        width: 100%;
    }

    .contacts-table .contact-actions-cell .icon-action {
        height: 40px;
    }

    .contacts-table .contacts-empty-row,
    .contacts-table .contacts-empty-row td {
        display: block;
    }

    .contacts-index .crm-pagination {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contacts-index .crm-pagination a,
    .contacts-index .crm-pagination > span {
        min-height: 42px;
    }

    .contacts-index .crm-pagination a:not(.crm-pagination-prev):not(.crm-pagination-next):not(.active) {
        display: none;
    }
}

@media (max-width: 420px) {
    .contacts-table .contact-list-row {
        grid-template-columns: 1fr;
    }

    .contacts-table .contact-name-cell,
    .contacts-table .contact-actions-cell,
    .contacts-table .contact-documents-cell {
        grid-column: 1;
    }
}

/* V5.6.49 - Signatures and payments lists */
.signatures-index,
.payments-index {
    max-width: 1680px;
    margin: 0 auto;
}

.signatures-page-intro {
    padding: 3px 2px;
}

.signatures-page-intro strong {
    color: #172f47;
    font-size: 16px;
}

.signatures-page-intro p {
    margin: 4px 0 0;
}

.signatures-index .signatures-filter-card,
.payments-index .payments-toolbar {
    padding: 14px;
    border: 1px solid #d8e3ec;
    border-radius: 8px;
    background: #f7f9fc;
    box-shadow: 0 4px 15px rgba(15, 39, 66, .045);
}

.signatures-index .signatures-filter-grid {
    grid-template-columns: minmax(300px, 1.7fr) repeat(3, minmax(150px, 1fr)) auto;
    gap: 10px;
}

.signatures-index .signatures-filter-field label,
.payments-index .payments-filters label > span,
.payments-index .payments-filters label {
    color: #607286;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.signatures-client-search label,
.payments-client-search > span {
    color: #184f73 !important;
    font-weight: 900 !important;
}

.signatures-client-search input,
.payments-client-search input {
    height: 44px !important;
    border: 2px solid #4f91b8 !important;
    border-radius: 6px !important;
    color: #172f47;
    background: #fff;
    font-weight: 700;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .08);
}

.signatures-client-search input:focus,
.payments-client-search input:focus {
    outline: none;
    border-color: #176d9f !important;
    box-shadow: 0 0 0 4px rgba(47, 124, 171, .16);
}

.signatures-index .signatures-filter-field select,
.payments-index .payments-filters input,
.payments-index .payments-filters select {
    height: 40px;
    border-color: #cdd9e4;
    border-radius: 6px;
}

.signatures-index .signatures-filter-actions .btn,
.payments-index .payments-filter-actions .btn {
    min-height: 40px;
    border-radius: 6px;
    font-weight: 800;
}

.signatures-table-card,
.payments-table-card {
    padding: 0;
    overflow: auto;
    border-color: #d8e3ec;
    border-radius: 8px;
    box-shadow: 0 7px 22px rgba(15, 39, 66, .06);
    scrollbar-color: #aebdca #edf2f6;
    scrollbar-width: thin;
}

.signatures-table { min-width: 960px; }
.payments-table { min-width: 1120px; }

.signatures-table thead th,
.payments-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 12px 10px;
    border-bottom: 1px solid #cfdbe6;
    background: #edf3f7;
    color: #52677b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.signatures-table tbody td,
.payments-table tbody td {
    padding: 13px 10px;
    border-bottom-color: #e3e9ef;
    color: #33475b;
    font-size: 12px;
    vertical-align: middle;
}

.signatures-table tbody tr:nth-child(even) td,
.payments-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.signatures-table tbody tr:hover td,
.payments-table tbody tr:hover td { background: #f2f8fc; }

.signature-actions-cell .icon-action,
.payment-actions-cell .icon-action {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
}

.signature-reference-cell a {
    color: #146b9f;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

.signature-client-cell strong,
.payment-client-cell strong { color: #182b3e; font-size: 13px; }
.signature-period-cell strong,
.signature-period-cell small { display: block; }
.signature-period-cell small { margin-top: 4px; color: #728296; }
.signature-count-cell strong { font-size: 17px; color: #172f47; }

.signatures-table .signature-state {
    border: 1px solid transparent;
    border-radius: 5px;
}
.signatures-table .signature-state.signed { border-color: #b8dfca; }
.signatures-table .signature-state.missing { border-color: #fecaca; }

.payments-index .payments-month-navigation {
    margin-bottom: 10px;
    padding: 10px 14px;
    border: 1px solid #d8e3ec;
    border-radius: 8px;
    background: #f8fafc;
}

.payments-index .payments-month-navigation h2 { color: #172f47; font-size: 19px; }
.payments-index .payments-toolbar { margin-bottom: 12px; }
.payments-index .payments-filters {
    display: grid;
    grid-template-columns: minmax(300px, 1.7fr) repeat(3, minmax(150px, 1fr)) auto;
    width: 100%;
    gap: 10px;
}
.payments-index .payments-client-search { min-width: 0; }
.payments-index .payments-filter-actions { align-items: flex-end; }
.payments-index .payments-month-kpis article { border-radius: 8px; }
.payments-index .payment-day-group { border-radius: 8px; }
.payments-index .payment-day-header { background: #edf3f7; }
.payments-index .payment-day-header h2 { color: #172f47; }
.payments-index .payment-day-group .bulk-actions-bar { padding-inline: 12px; }
.payment-select-cell { width: 42px; text-align: center; }
.payment-actions-cell { min-width: 82px; }
.payment-client-cell { min-width: 150px; }
.payment-reservation-cell strong { color: #146b9f; }
.payment-amount-cell strong { color: #20734b; font-size: 13px; }
.payment-reference-cell { color: #607286; }

@media (max-width: 1100px) {
    .signatures-index .signatures-filter-grid,
    .payments-index .payments-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .signatures-client-search,
    .payments-client-search { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .signatures-index .signatures-filter-card,
    .payments-index .payments-toolbar { padding: 12px; }
    .signatures-index .signatures-filter-grid,
    .payments-index .payments-filters { grid-template-columns: 1fr; }
    .signatures-client-search,
    .payments-client-search { grid-column: auto; }
    .signatures-index .signatures-filter-actions,
    .payments-index .payments-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .signatures-index .signatures-filter-actions .btn,
    .payments-index .payments-filter-actions .btn,
    .payments-index .payments-filter-actions a { min-height: 44px; width: 100%; }
    .signatures-table-card,
    .payments-table-card { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .signatures-table,
    .signatures-table tbody,
    .payments-table,
    .payments-table tbody { display: block; min-width: 0; }
    .signatures-table thead,
    .payments-table thead { display: none; }
    .signature-list-row,
    .payment-list-row {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 12px;
        overflow: hidden;
        border: 1px solid #d8e3ec;
        border-left: 4px solid #2f7cab;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(15, 39, 66, .055);
    }
    .signature-list-row > td,
    .payment-list-row > td {
        display: block;
        min-width: 0;
        padding: 10px 11px;
        border: 0;
        border-bottom: 1px solid #edf1f4;
        background: #fff !important;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .signature-list-row > td::before,
    .payment-list-row > td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #8391a0;
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .065em;
        text-transform: uppercase;
    }
    .signature-client-cell,
    .signature-reference-cell,
    .signature-actions-cell,
    .payment-client-cell,
    .payment-actions-cell,
    .payment-reference-cell { grid-column: 1 / -1; }
    .signature-client-cell,
    .payment-client-cell { order: -1; background: #f6f9fb !important; }
    .signature-actions-cell,
    .payment-actions-cell { order: 99; border-bottom: 0 !important; }
    .signature-actions-cell .icon-action,
    .payment-actions-cell .icon-action { width: 100%; height: 40px; }
    .payment-select-cell {
        position: absolute;
        top: 13px;
        right: 11px;
        z-index: 2;
        width: auto;
        padding: 0 !important;
        border: 0 !important;
    }
    .signatures-empty-row,
    .signatures-empty-row td { display: block; }
}

@media (max-width: 420px) {
    .signature-list-row,
    .payment-list-row { grid-template-columns: 1fr; }
    .signature-client-cell,
    .signature-reference-cell,
    .signature-actions-cell,
    .payment-client-cell,
    .payment-actions-cell,
    .payment-reference-cell { grid-column: 1; }
}

/* V5.6.50 - CRM revenue by motorcycle model */
.sales-model-revenue {
    margin-bottom: 18px;
}

.sales-model-bars .sales-bar-row {
    grid-template-columns: minmax(190px, 260px) minmax(180px, 1fr) 120px;
}

.sales-bar-fill.tone-models {
    background: linear-gradient(90deg, #16856a, #2fa884);
}

.sales-model-revenue .sales-bar-value {
    color: #176a56;
    font-size: 13px;
}

@media (max-width: 850px) {
    .sales-model-bars .sales-bar-row {
        grid-template-columns: 1fr;
    }

    .sales-model-revenue .sales-bar-value {
        text-align: left;
    }
}

/* CRM fleet performance */
.crm-fleet-performance { margin-bottom: 18px; padding: 18px; scroll-margin-top: 86px; }
.crm-fleet-performance .sales-chart-head { align-items: flex-end; }
.crm-fleet-performance .sales-chart-head p { margin: 4px 0 0; color: #7b8b9b; font-size: 11px; }
.crm-fleet-table-wrap { overflow: auto; border: 1px solid #d8e3ec; border-radius: 7px; scrollbar-color: #aebdca #edf2f6; scrollbar-width: thin; }
.crm-fleet-table { min-width: 920px; }
.crm-fleet-table thead th { position: sticky; top: 0; z-index: 2; padding: 11px 10px; border-bottom: 1px solid #cfdbe6; background: #edf3f7; color: #52677b; font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.crm-fleet-table tbody td { padding: 12px 10px; border-bottom-color: #e3e9ef; color: #40566c; font-size: 12px; vertical-align: middle; }
.crm-fleet-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.crm-fleet-table tbody tr:hover td { background: #f2f8fc; }
.crm-fleet-table tbody tr:last-child td { border-bottom: 0; }
.crm-fleet-table tbody td:first-child { min-width: 190px; color: #17324d; }
.crm-fleet-table tbody td:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; }
.crm-fleet-result { display: inline-flex; min-width: 88px; justify-content: flex-end; padding: 5px 7px; border: 1px solid #b8dfca; border-radius: 5px; background: #eef9f3; color: #176943; font-weight: 850; }
.crm-fleet-result.negative { border-color: #efc1c1; background: #fff2f2; color: #ad3535; }
@media (max-width: 700px) {
    .crm-fleet-performance { padding: 14px; }
    .crm-fleet-performance .sales-chart-head { align-items: flex-start; flex-direction: column; gap: 5px; }
    .crm-fleet-table-wrap { overflow: visible; border: 0; }
    .crm-fleet-table, .crm-fleet-table tbody { display: block; min-width: 0; }
    .crm-fleet-table thead { display: none; }
    .crm-fleet-row { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 10px; overflow: hidden; border: 1px solid #d8e3ec; border-left: 4px solid #2f7cab; border-radius: 7px; background: #fff; }
    .crm-fleet-table .crm-fleet-row td { display: block; min-width: 0; padding: 9px 10px; border: 0; border-bottom: 1px solid #edf1f4; background: #fff !important; text-align: left; white-space: normal; }
    .crm-fleet-table .crm-fleet-row td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #8391a0; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
    .crm-fleet-table .crm-fleet-row td:first-child { grid-column: 1 / -1; background: #f5f9fb !important; }
    .crm-fleet-table .crm-fleet-row td:last-child { border-bottom: 0; }
    .crm-fleet-result { min-width: 0; justify-content: flex-start; }
}
@media (max-width: 430px) {
    .crm-fleet-row { grid-template-columns: 1fr; }
    .crm-fleet-table .crm-fleet-row td:first-child { grid-column: 1; }
}

/* V5.6.52 - CRM commercial workspace */
.sales-cockpit-hero {
    padding: 20px 22px;
    margin-bottom: 14px;
    border: 1px solid #183f5c;
    border-radius: 8px;
    background: #12344d;
    box-shadow: 0 8px 24px rgba(15, 39, 66, .12);
}

.sales-cockpit-hero h1 {
    margin: 3px 0 5px;
    font-size: 24px;
    letter-spacing: 0;
}

.sales-cockpit-hero p {
    max-width: 760px;
    font-size: 13px;
}

.sales-cockpit-hero .sales-eyebrow,
.sales-eyebrow {
    letter-spacing: .08em;
}

.sales-year-form {
    padding: 7px 9px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

.sales-year-form select {
    min-width: 118px;
    height: 40px;
    border-radius: 5px;
    background: #fff;
    color: #17324a;
    box-shadow: none;
}

.sales-year-form label::after {
    border-color: #526d82;
    bottom: 15px;
}

.sales-kpi-grid {
    gap: 10px;
    margin-bottom: 14px;
}

.sales-kpi-card {
    position: relative;
    min-height: 82px;
    gap: 12px;
    padding: 13px 15px;
    border-radius: 7px;
    box-shadow: 0 4px 14px rgba(17, 43, 69, .04);
}

.sales-kpi-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #2f7cab;
}

.sales-kpi-card.is-hot::before { background: #d58a14; }
.sales-kpi-card.is-success::before { background: #27835c; }
.sales-kpi-card.is-danger::before { background: #c74747; }

.sales-kpi-icon {
    width: 38px;
    height: 38px;
    border-radius: 6px;
}

.sales-kpi-card strong {
    font-size: 21px;
}

.sales-chart-grid {
    gap: 14px;
    margin-bottom: 14px;
}

.sales-chart-card {
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(17, 43, 69, .045);
}

.sales-chart-head {
    margin-bottom: 13px;
    padding-bottom: 11px;
    border-bottom: 1px solid #e7edf2;
}

.sales-chart-head h2 {
    font-size: 16px;
    letter-spacing: 0;
}

.sales-bars { gap: 9px; }
.sales-bar-track { height: 8px; border-radius: 2px; }
.sales-bar-fill { border-radius: 2px; background: #2f7cab; }
.sales-bar-fill.tone-quotes { background: #27835c; }
.sales-bar-fill.tone-reservations { background: #d58a14; }
.sales-bar-fill.tone-models { background: #16856a; }

.sales-toolbar-card {
    position: sticky;
    top: 8px;
    z-index: 8;
    padding: 12px 14px;
    margin-bottom: 14px;
    border-radius: 7px;
    box-shadow: 0 5px 18px rgba(15, 39, 66, .08);
}

.sales-toolbar-card h2 { font-size: 16px; }
.sales-search,
.sales-toolbar-actions select {
    min-height: 40px;
    border-radius: 5px;
}

.sales-dashboard-layout { gap: 14px; }
.sales-stage-grid { gap: 12px; }

.sales-actions-page-layout {
    grid-template-columns: 1fr;
}

.sales-actions-page-layout .sales-stage-grid {
    order: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sales-actions-page-layout .sales-actions-panel-full {
    order: 2;
    position: static;
}

.sales-actions-page-layout .sales-actions-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

@media(max-width:850px) {
    .sales-actions-page-layout .sales-stage-grid,
    .sales-actions-page-layout .sales-actions-links {
        grid-template-columns: 1fr;
    }
}

.sales-stage-card,
.sales-actions-panel {
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(17, 43, 69, .045);
}

.sales-stage-head {
    padding: 12px 14px;
    background: #f7fafc;
}

.sales-stage-title > span,
.sales-stage-head > b {
    border-radius: 5px;
}

.sales-stage-list {
    padding: 9px;
    max-height: 520px;
}

.sales-opportunity {
    margin-bottom: 7px;
    border-radius: 6px;
}

.sales-opportunity-main { padding: 11px; }
.sales-person-row { margin: 9px 0; }
.sales-avatar { width: 34px; height: 34px; border-radius: 5px; }
.sales-ref,
.sales-badge { border-radius: 4px; }
.sales-opportunity footer { padding: 8px 11px; }

.sales-actions-panel {
    top: 72px;
    padding: 14px;
}

.sales-followup {
    padding: 11px;
    margin-bottom: 7px;
    border-radius: 6px;
}

.sales-followup > div span { border-radius: 4px; }
.sales-panel-link > span { border-radius: 5px; }

.quote-model-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.quote-availability-check {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: #f8fafc;
}

.quote-availability-check.is-hidden {
    display: none;
}

.quote-availability-check.is-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.quote-availability-check.is-danger {
    border-color: #fecaca;
    background: #fef2f2;
}

.quote-availability-summary strong {
    color: #183b5b;
}

.quote-availability-rows {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.quote-availability-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 6px;
    background: rgba(255, 255, 255, .74);
}

.quote-availability-row strong,
.quote-availability-row small {
    display: block;
}

.quote-availability-row small {
    margin-top: 2px;
    color: #64748b;
    font-size: 11px;
}

.quote-availability-row span {
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 850;
    color: #166534;
    text-transform: uppercase;
}

.quote-availability-check.is-danger .quote-availability-row span {
    color: #991b1b;
}

@media(max-width:700px) {
    .quote-model-actions {
        width: 100%;
        justify-content: stretch;
    }

    .quote-model-actions .btn {
        flex: 1 1 100%;
    }

    .quote-availability-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

.supplier-ledger-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.supplier-ledger-head h2 {
    margin: 0;
}

.supplier-cash-payment-panel {
    flex: 0 1 100%;
    max-width: 100%;
    text-align: right;
}

.supplier-cash-payment-panel summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    cursor: pointer;
    list-style: none;
}

.supplier-cash-payment-panel summary::-webkit-details-marker {
    display: none;
}

.supplier-cash-payment-body {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbe6ef;
    border-radius: 8px;
    background: #f8fbfd;
    text-align: left;
}

.supplier-cash-payment-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) 150px 150px minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.supplier-cash-payment-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #526d82;
    font-size: 11px;
    font-weight: 800;
}

.supplier-cash-payment-form input,
.supplier-cash-payment-form select {
    min-height: 40px;
    border-radius: 5px;
}

.supplier-cash-payment-form .btn {
    min-height: 40px;
    white-space: nowrap;
}

@media(max-width:1100px) {
    .supplier-ledger-head {
        flex-direction: column;
    }

    .supplier-cash-payment-panel,
    .supplier-cash-payment-panel summary {
        width: 100%;
    }

    .supplier-cash-payment-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-cash-payment-form .btn {
        grid-column: 1 / -1;
    }
}

@media(max-width:640px) {
    .supplier-cash-payment-form {
        grid-template-columns: 1fr;
    }
}

.supplier-edit-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    max-width: 1180px;
    margin: 0 auto 14px;
    padding: 20px 22px;
    border: 1px solid #143b56;
    border-radius: 9px;
    background: linear-gradient(135deg, #143b56 0%, #1c658d 100%);
    color: #fff;
    box-shadow: 0 10px 28px rgba(20, 59, 86, .18);
}

.supplier-edit-hero a {
    color: #d7efff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.supplier-edit-hero > div > span {
    display: inline-flex;
    margin-top: 8px;
    padding: 4px 8px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .12);
    color: #dff4ff;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.supplier-edit-hero h1 {
    margin: 7px 0 4px;
    color: #fff;
    font-size: 27px;
    line-height: 1.08;
    letter-spacing: 0;
}

.supplier-edit-hero p {
    margin: 0;
    color: #c7e4f5;
    font-size: 13px;
}

.supplier-edit-hero .btn.secondary {
    flex: 0 0 auto;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.supplier-edit-form {
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.supplier-edit-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.supplier-edit-section {
    padding: 18px;
    border: 1px solid #d9e5ee;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(21, 52, 78, .055);
}

.supplier-edit-section:last-child,
.supplier-edit-section:nth-child(2) {
    grid-column: 1 / -1;
}

.supplier-edit-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e4edf3;
}

.supplier-edit-section-head h2 {
    margin: 0;
    color: #17324d;
    font-size: 17px;
    letter-spacing: 0;
}

.supplier-edit-section-head p {
    margin: 4px 0 0;
    color: #718397;
    font-size: 12px;
}

.supplier-edit-section-head > span {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 5px;
    background: #edf5f9;
    color: #22698f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.supplier-edit-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 12px;
}

.supplier-edit-grid label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    color: #526d82;
    font-size: 11px;
    font-weight: 850;
}

.supplier-edit-grid label > span:first-child {
    text-transform: uppercase;
    letter-spacing: .045em;
}

.supplier-edit-grid label b {
    color: #c2412d;
}

.supplier-edit-grid input,
.supplier-edit-grid select,
.supplier-edit-grid textarea,
.supplier-edit-grid output {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cbdbe7;
    border-radius: 6px;
    background: #fbfdff;
    color: #17324d;
    font-size: 14px;
    box-sizing: border-box;
}

.supplier-edit-grid output {
    display: flex;
    align-items: center;
    background: #f1f5f9;
    color: #64748b;
}

.supplier-edit-grid textarea {
    min-height: 112px;
    resize: vertical;
}

.supplier-edit-grid input:focus,
.supplier-edit-grid select:focus,
.supplier-edit-grid textarea:focus {
    outline: 0;
    border-color: #2378a8;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(35, 120, 168, .12);
}

.supplier-edit-form .form-actions {
    position: sticky;
    bottom: 0;
    z-index: 12;
    justify-content: flex-end;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #d8e3ec;
    border-radius: 7px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -5px 18px rgba(15, 39, 66, .08);
    backdrop-filter: blur(8px);
}

@media(max-width:980px) {
    .supplier-edit-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .supplier-edit-hero .btn.secondary {
        width: 100%;
        justify-content: center;
    }

    .supplier-edit-sections,
    .supplier-edit-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1280px) {
    .sales-toolbar-card { top: 6px; }
}

@media (max-width: 850px) {
    .sales-cockpit-hero { padding: 17px; }
    .sales-cockpit-hero h1 { font-size: 21px; }
    .sales-toolbar-card { position: static; }
    .sales-chart-head { flex-direction: column; gap: 5px; }
    .sales-bar-row,
    .sales-model-bars .sales-bar-row,
    .sales-month-bars .sales-bar-row {
        grid-template-columns: minmax(90px, 1fr) minmax(120px, 2fr);
        gap: 8px;
    }
    .sales-bar-value {
        grid-column: 2;
        text-align: left;
    }
}

@media (max-width: 600px) {
    .sales-kpi-grid { grid-template-columns: 1fr 1fr; }
    .sales-kpi-card { min-height: 76px; padding: 11px; }
    .sales-kpi-icon { display: none; }
    .sales-kpi-card strong { font-size: 19px; }
    .sales-chart-card { padding: 13px; }
    .sales-stage-head { align-items: flex-start; }
    .sales-stage-title > span { display: none; }
    .sales-meta-row { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 420px) {
    .sales-kpi-grid { grid-template-columns: 1fr; }
    .sales-bar-row,
    .sales-model-bars .sales-bar-row,
    .sales-month-bars .sales-bar-row { grid-template-columns: 1fr; }
    .sales-bar-value { grid-column: 1; }
}

/* V5.6.53 - Tasks primary workspace */
.tasks-workspace {
    display: grid;
    gap: 14px;
    max-width: 1600px;
    margin: 0 auto;
    padding-bottom: 28px;
}

.tasks-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border: 1px solid #173f5d;
    border-radius: 8px;
    background: #12344d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(15, 39, 66, .12);
}

.tasks-hero > div > span,
.task-create-head > span {
    color: #8ed0ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.tasks-hero h1 {
    margin: 3px 0 4px;
    color: #fff;
    font-size: 24px;
    letter-spacing: 0;
}

.tasks-hero p {
    margin: 0;
    color: #d7e7f2;
    font-size: 13px;
}

.tasks-hero .btn {
    flex: 0 0 auto;
    min-height: 40px;
    background: #fff;
    border-color: #fff;
    color: #164f76;
}

.tasks-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 10px;
}

.tasks-summary article {
    position: relative;
    display: grid;
    gap: 2px;
    min-height: 82px;
    padding: 13px 15px 13px 18px;
    overflow: hidden;
    border: 1px solid #dce5ec;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(17, 43, 69, .04);
}

.tasks-summary article::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #647d91;
}

.tasks-summary article.is-progress::before { background: #2f7cab; }
.tasks-summary article.is-danger::before { background: #c74747; }
.tasks-summary article.is-done::before { background: #27835c; }
.tasks-summary span { color: #627d98; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tasks-summary strong { color: #102a43; font-size: 22px; font-variant-numeric: tabular-nums; }
.tasks-summary small { color: #829ab1; font-size: 11px; }

.tasks-leave-hub {
    display: grid;
    gap: 11px;
    padding: 15px;
    border: 1px solid #cedde7;
    border-radius: 8px;
    background: #f4f8f7;
}

.tasks-leave-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.tasks-leave-head > div > span,
.tasks-leave-panel-head > span,
.tasks-leave-panel-head > div > span {
    color: #287254;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.tasks-leave-head h2 {
    margin: 3px 0;
    color: #17324d;
    font-size: 17px;
}

.tasks-leave-head p {
    margin: 0;
    color: #718494;
    font-size: 11px;
}

.tasks-leave-head .btn {
    flex: 0 0 auto;
    min-height: 36px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 800;
}

.tasks-leave-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
    gap: 8px;
}

.tasks-leave-person {
    min-width: 0;
    padding: 12px;
    border: 1px solid #d5e2df;
    border-top: 3px solid #2d7b59;
    border-radius: 7px;
    background: #fff;
}

.tasks-leave-person.is-away {
    border-top-color: #c68a2d;
    background: #fffdf8;
}

.tasks-leave-person-head,
.tasks-leave-person-head > div,
.tasks-leave-person-head strong,
.tasks-leave-person-head span,
.tasks-leave-person > small {
    display: block;
}

.tasks-leave-person-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.tasks-leave-person-head strong {
    overflow: hidden;
    color: #1d3d53;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tasks-leave-person-head > div > span {
    margin-top: 2px;
    color: #80909d;
    font-size: 9px;
}

.tasks-leave-presence {
    flex: 0 0 auto;
    padding: 4px 6px;
    border-radius: 4px;
    background: #e8f5ee;
    color: #23704f;
    font-size: 8px !important;
    font-weight: 850;
    text-transform: uppercase;
}

.tasks-leave-person.is-away .tasks-leave-presence {
    background: #fff0d5;
    color: #8d6119;
}

.tasks-leave-balance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 10px 0;
}

.tasks-leave-balance div {
    min-width: 0;
    padding: 7px;
    border-radius: 5px;
    background: #f3f7f7;
}

.tasks-leave-balance span,
.tasks-leave-balance strong {
    display: block;
}

.tasks-leave-balance span {
    overflow: hidden;
    color: #738797;
    font-size: 8px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tasks-leave-balance strong {
    margin-top: 3px;
    color: #24475d;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.tasks-leave-progress {
    height: 5px;
    overflow: hidden;
    border-radius: 3px;
    background: #e2e9e7;
}

.tasks-leave-progress i {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: #2d7b59;
}

.tasks-leave-person > small {
    margin-top: 5px;
    color: #80909d;
    font-size: 8px;
}

.tasks-leave-workspace {
    display: grid;
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.6fr);
    gap: 9px;
}

.tasks-leave-request-card,
.tasks-leave-requests-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d5e2df;
    border-radius: 7px;
    background: #fff;
}

.tasks-leave-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #e0e9e6;
    background: #f8fbfa;
}

.tasks-leave-panel-head h3 {
    margin: 2px 0 0;
    color: #1d3d53;
    font-size: 14px;
}

.tasks-leave-panel-head > strong {
    display: grid;
    min-width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 5px;
    background: #e6f2ec;
    color: #236c4c;
    font-size: 10px;
}

.tasks-leave-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
}

.tasks-leave-form label {
    display: grid;
    gap: 4px;
    color: #597184;
    font-size: 9px;
    font-weight: 800;
}

.tasks-leave-form input,
.tasks-leave-form select,
.tasks-leave-form textarea {
    width: 100%;
    min-height: 36px;
    border: 1px solid #cbd9df;
    border-radius: 5px;
    background: #fff;
    color: #29465d;
}

.tasks-leave-form textarea {
    height: 45px;
    min-height: 45px;
    resize: vertical;
}

.tasks-leave-form input:focus,
.tasks-leave-form select:focus,
.tasks-leave-form textarea:focus {
    outline: 3px solid rgba(45, 123, 89, .12);
    border-color: #4d9676;
}

.tasks-leave-reason,
.tasks-leave-form > .btn {
    grid-column: 1 / -1;
}

.tasks-leave-form > .btn {
    min-height: 36px;
    border-radius: 5px;
    background: #287254;
    font-size: 10px;
}

.tasks-leave-request-list {
    display: grid;
    max-height: 310px;
    overflow-y: auto;
}

.tasks-leave-request-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 55px 76px auto;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 9px 11px;
    border-bottom: 1px solid #e6ecea;
}

.tasks-leave-request-row:last-child {
    border-bottom: 0;
}

.tasks-leave-request-main {
    min-width: 0;
}

.tasks-leave-request-main strong,
.tasks-leave-request-main span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tasks-leave-request-main strong {
    color: #24475d;
    font-size: 11px;
}

.tasks-leave-request-main span {
    margin-top: 2px;
    color: #7a8c99;
    font-size: 9px;
}

.tasks-leave-days {
    color: #365970;
    font-size: 11px;
    text-align: right;
    white-space: nowrap;
}

.tasks-leave-row-actions,
.tasks-leave-row-actions form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.tasks-leave-row-actions .btn {
    min-height: 28px;
    padding: 0 7px;
    border-radius: 4px;
    font-size: 8px;
    font-weight: 850;
}

.tasks-leave-empty {
    padding: 38px 12px;
    color: #81929f;
    font-size: 11px;
    text-align: center;
}

.tasks-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 15px;
    border: 1px solid #dce5ec;
    border-radius: 7px;
    background: #fff;
}

.tasks-toolbar h2 { margin: 0; font-size: 16px; color: #102a43; }
.tasks-toolbar p { margin: 3px 0 0; color: #829ab1; font-size: 11px; }
.tasks-filters { display: flex; align-items: end; gap: 8px; }
.tasks-filters label { display: grid; gap: 5px; }
.tasks-filters label > span { color: #627d98; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.tasks-filters select { min-width: 150px; height: 40px; border: 1px solid #cbd5df; border-radius: 5px; background: #fff; }
.tasks-filters .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; white-space: nowrap; }

.tasks-workspace .tasks-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
}

.tasks-workspace .task-board {
    grid-template-columns: repeat(3, minmax(250px, 1fr));
    gap: 10px;
    overflow: visible;
}

.tasks-workspace .task-column {
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ec;
    border-radius: 8px;
    background: #f4f7f9;
}

.tasks-workspace .task-column-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 12px;
    border-bottom: 1px solid #dce5ec;
    background: #edf3f7;
}

.tasks-workspace .task-column-header h2 { margin: 0; color: #334e68; font-size: 14px; }
.tasks-workspace .task-column-header span { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 5px; border-radius: 5px; background: #fff; color: #486581; font-size: 11px; font-weight: 800; }
.task-column-list { display: grid; align-content: start; gap: 8px; min-height: 180px; max-height: 70vh; padding: 9px; overflow-y: auto; }

.tasks-workspace .task-card {
    position: relative;
    margin: 0;
    padding: 12px;
    border: 1px solid #dce5ec;
    border-left: 4px solid #829ab1;
    border-radius: 6px;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .045);
}

.tasks-workspace .task-card.priority-high { border-left-color: #d58a14; }
.tasks-workspace .task-card.priority-urgent,
.tasks-workspace .task-card.is-overdue { border-left-color: #c74747; }
.tasks-workspace .task-card.priority-low { border-left-color: #9fb3c8; }
.tasks-workspace .task-card h3 { margin: 9px 0 6px; color: #102a43; font-size: 14px; line-height: 1.35; }
.tasks-workspace .task-card p { margin: 0 0 7px; color: #486581; font-size: 11px; }
.tasks-workspace .task-card > small { display: block; color: #627d98; font-size: 11px; line-height: 1.45; }
.tasks-workspace .task-category,
.tasks-workspace .task-priority { padding: 3px 6px; border-radius: 4px; background: #edf3f7; color: #526d82; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.tasks-workspace .task-card.priority-urgent .task-priority { background: #fde8e8; color: #ad2f2f; }
.tasks-workspace .task-card.priority-high .task-priority { background: #fff1d8; color: #966000; }
.tasks-workspace .task-meta { margin: 10px 0; padding-top: 8px; border-top: 1px solid #edf1f4; }
.task-due.is-late { color: #b93838; font-weight: 800; }
.tasks-workspace .task-edit-action { position: absolute; top: 42px; right: 10px; }
.tasks-workspace .task-status-form { grid-template-columns: minmax(0, 1fr) auto; }
.tasks-workspace .task-status-form select { min-width: 0; height: 36px; border-radius: 5px; }
.tasks-workspace .task-status-form .btn { min-height: 36px; padding: 0 9px; font-size: 10px; }
.task-column-empty { padding: 34px 12px; color: #829ab1; text-align: center; font-size: 12px; }

.tasks-workspace .task-create-panel {
    top: 16px;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 5px 18px rgba(15, 39, 66, .06);
}

.task-create-head { margin: -15px -15px 14px; padding: 14px 15px; border-bottom: 1px solid #dce5ec; background: #f4f8fb; }
.task-create-head > span { color: #2f7cab; }
.task-create-head h2 { margin: 3px 0; color: #102a43; font-size: 17px; }
.task-create-head p { margin: 0; color: #829ab1; font-size: 11px; }
.tasks-workspace .task-create-panel .form-stack { gap: 10px; }
.tasks-workspace .task-create-panel label { color: #526d82; font-size: 11px; font-weight: 700; }
.tasks-workspace .task-create-panel input,
.tasks-workspace .task-create-panel select,
.tasks-workspace .task-create-panel textarea { border-radius: 5px; border-color: #cbd5df; }
.tasks-workspace .task-create-panel input:focus,
.tasks-workspace .task-create-panel select:focus,
.tasks-workspace .task-create-panel textarea:focus { outline: none; border-color: #2f7cab; box-shadow: 0 0 0 3px rgba(47, 124, 171, .12); }

@media (max-width: 1200px) {
    .tasks-leave-workspace { grid-template-columns: 1fr; }
    .tasks-workspace .tasks-layout { grid-template-columns: 1fr; }
    .tasks-workspace .task-create-panel { position: static; }
    .tasks-workspace .task-create-panel .form-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tasks-workspace .task-create-panel .form-stack > button,
    .tasks-workspace .task-create-panel .form-stack > label:last-of-type { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .tasks-leave-head { align-items: flex-start; flex-direction: column; }
    .tasks-leave-head .btn { width: 100%; justify-content: center; }
    .tasks-summary { grid-template-columns: repeat(2, 1fr); }
    .tasks-toolbar { align-items: stretch; flex-direction: column; }
    .tasks-filters { display: grid; grid-template-columns: 1fr 1fr; }
    .tasks-filters label { grid-column: span 1; }
    .tasks-workspace .task-board { grid-template-columns: 1fr; }
    .task-column-list { max-height: none; min-height: 90px; }
}

@media (max-width: 600px) {
    .tasks-hero { align-items: stretch; flex-direction: column; padding: 15px; }
    .tasks-hero h1 { font-size: 21px; }
    .tasks-hero .btn { width: 100%; justify-content: center; }
    .tasks-summary { grid-template-columns: 1fr 1fr; }
    .tasks-summary article { min-height: 72px; padding: 11px 12px 11px 15px; }
    .tasks-summary strong { font-size: 19px; }
    .tasks-leave-hub { padding: 11px; }
    .tasks-leave-cards { grid-template-columns: 1fr; }
    .tasks-leave-form { grid-template-columns: 1fr; }
    .tasks-leave-reason,
    .tasks-leave-form > .btn { grid-column: 1; }
    .tasks-leave-request-list { max-height: none; }
    .tasks-leave-request-row { grid-template-columns: 1fr auto; gap: 6px; }
    .tasks-leave-request-main { grid-column: 1 / -1; }
    .tasks-leave-request-row .hr-leave-status { justify-self: start; }
    .tasks-leave-row-actions { grid-column: 1 / -1; justify-content: stretch; }
    .tasks-leave-row-actions form { width: 100%; }
    .tasks-leave-row-actions .btn { flex: 1; }
    .tasks-filters { grid-template-columns: 1fr; }
    .tasks-filters label { grid-column: 1; }
    .tasks-filters select { width: 100%; }
    .tasks-workspace .task-create-panel .form-stack { grid-template-columns: 1fr; }
    .tasks-workspace .task-create-panel .form-stack > button,
    .tasks-workspace .task-create-panel .form-stack > label:last-of-type { grid-column: 1; }
}

/* V5.6.94 - Tasks workspace visual refinement */
.tasks-workspace {
    gap: 12px;
    max-width: 1540px;
}

.tasks-hero {
    min-height: 92px;
    padding: 16px 19px;
    border: 0;
    border-left: 5px solid #55a4cf;
    background: #173b54;
    box-shadow: 0 7px 20px rgba(18, 52, 77, .14);
}

.tasks-hero > div > span {
    color: #a9d9f2;
    letter-spacing: .07em;
}

.tasks-hero h1 {
    font-size: 23px;
}

.tasks-hero .btn {
    min-height: 38px;
    border-radius: 5px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .1);
    font-size: 11px;
    font-weight: 850;
}

.tasks-summary {
    gap: 8px;
}

.tasks-summary article {
    min-height: 76px;
    padding: 11px 14px 11px 17px;
    border-color: #d7e2ea;
    box-shadow: none;
}

.tasks-summary article:nth-child(1) { background: #fbfcfd; }
.tasks-summary article.is-progress { background: #f4f9fc; }
.tasks-summary article.is-danger { background: #fff8f7; }
.tasks-summary article.is-done { background: #f5faf7; }
.tasks-summary span { font-size: 9px; letter-spacing: .04em; }
.tasks-summary strong { font-size: 21px; }
.tasks-summary small { font-size: 9px; }

.tasks-leave-hub {
    gap: 10px;
    padding: 0;
    overflow: hidden;
    border-color: #cfded8;
    background: #fff;
    box-shadow: 0 4px 14px rgba(23, 74, 53, .045);
}

.tasks-leave-head {
    padding: 13px 15px;
    border-bottom: 1px solid #dce7e2;
    background: #f3f8f5;
}

.tasks-leave-head h2 {
    font-size: 16px;
}

.tasks-leave-cards {
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 10px;
    padding: 2px 14px;
}

.tasks-leave-person {
    min-height: 156px;
    padding: 15px;
    border-top-width: 4px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(30, 75, 55, .06);
}

.tasks-leave-person-head strong {
    font-size: 15px;
}

.tasks-leave-person-head > div > span {
    margin-top: 4px;
    font-size: 10px;
}

.tasks-leave-presence {
    padding: 5px 8px;
    font-size: 9px !important;
}

.tasks-leave-balance {
    gap: 7px;
    margin: 14px 0 12px;
}

.tasks-leave-balance div {
    padding: 10px;
    border-radius: 6px;
}

.tasks-leave-balance span {
    font-size: 9px;
}

.tasks-leave-balance strong {
    margin-top: 5px;
    font-size: 17px;
}

.tasks-leave-progress {
    height: 7px;
}

.tasks-leave-person > small {
    margin-top: 7px;
    font-size: 10px;
}

.tasks-leave-workspace {
    gap: 8px;
    padding: 0 12px 12px;
}

.tasks-leave-workspace.is-manager {
    grid-template-columns: 1fr;
}

.tasks-leave-request-card,
.tasks-leave-requests-card {
    border-color: #d8e3df;
    box-shadow: none;
}

.tasks-leave-panel-head {
    min-height: 46px;
    padding: 9px 11px;
}

.tasks-leave-panel-head h3 {
    font-size: 13px;
}

.tasks-leave-form {
    gap: 7px;
    padding: 10px;
}

.tasks-leave-form input,
.tasks-leave-form select {
    min-height: 34px;
    height: 34px;
}

.tasks-leave-request-row {
    padding: 8px 10px;
}

.tasks-toolbar {
    padding: 11px 13px;
    border-color: #d5e1e9;
    background: #f8fafc;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .035);
}

.tasks-toolbar h2 {
    font-size: 15px;
}

.tasks-filters select,
.tasks-filters .btn {
    height: 37px;
    min-height: 37px;
    border-radius: 5px;
    font-size: 10px;
}

.tasks-workspace .task-board {
    gap: 8px;
}

.tasks-workspace .task-column {
    border-color: #d5e0e8;
    background: #f5f7f9;
    box-shadow: 0 3px 10px rgba(15, 39, 66, .035);
}

.tasks-workspace .task-column:nth-child(1) { border-top: 3px solid #70889b; }
.tasks-workspace .task-column:nth-child(2) { border-top: 3px solid #2f7cab; }
.tasks-workspace .task-column:nth-child(3) { border-top: 3px solid #27835c; }

.tasks-workspace .task-column-header {
    min-height: 43px;
    background: #edf2f5;
}

.tasks-workspace .task-column:nth-child(2) .task-column-header { background: #edf6fb; }
.tasks-workspace .task-column:nth-child(3) .task-column-header { background: #edf7f1; }

.tasks-workspace .task-column-header h2 {
    font-size: 12px;
    font-weight: 850;
}

.task-column-list {
    gap: 7px;
    padding: 8px;
}

.tasks-workspace .task-card {
    padding: 11px;
    border-color: #d8e2e9;
    border-left-width: 3px;
    box-shadow: 0 2px 7px rgba(15, 39, 66, .04);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.tasks-workspace .task-card:hover {
    border-color: #b8cad7;
    box-shadow: 0 5px 13px rgba(15, 39, 66, .08);
}

.tasks-workspace .task-card h3 {
    margin-block: 8px 5px;
    font-size: 13px;
}

.tasks-workspace .task-meta {
    margin: 8px 0;
    padding-top: 7px;
    font-size: 9px;
}

.tasks-workspace .task-status-form select,
.tasks-workspace .task-status-form .btn {
    min-height: 33px;
    height: 33px;
}

.tasks-workspace .task-create-panel {
    padding: 14px;
    border: 1px solid #d4e0e8;
    border-top: 3px solid #2f7cab;
    box-shadow: 0 4px 14px rgba(15, 39, 66, .05);
}

.task-create-head {
    margin: -14px -14px 12px;
    padding: 12px 14px;
}

.tasks-workspace .task-create-panel input,
.tasks-workspace .task-create-panel select {
    min-height: 37px;
}

.tasks-workspace .task-create-panel textarea {
    min-height: 74px;
}

@media (min-width: 1201px) {
    .tasks-workspace .task-create-panel {
        position: sticky;
        top: 16px;
        align-self: start;
    }
}

@media (max-width: 900px) {
    .tasks-leave-head { padding: 12px; }
    .tasks-leave-cards { padding-inline: 10px; }
    .tasks-leave-workspace { padding: 0 10px 10px; }
}

@media (max-width: 600px) {
    .tasks-workspace { gap: 9px; }
    .tasks-hero { min-height: 0; padding: 14px; }
    .tasks-leave-cards { grid-template-columns: 1fr; padding-inline: 9px; }
    .tasks-leave-person { min-height: 146px; padding: 13px; }
    .tasks-leave-workspace { padding: 0 9px 9px; }
    .tasks-toolbar { padding: 10px; }
}

/* V5.6.70 - Quotes workspace final */
.quotes-index {
    display: grid;
    gap: 10px;
    max-width: 1680px;
    margin: 0 auto;
    padding-bottom: 28px;
}

.quotes-index .quotes-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #d8e2ea;
    border-radius: 7px;
    background: #d8e2ea;
    box-shadow: 0 3px 12px rgba(15, 39, 66, .04);
}

.quotes-index .quotes-summary-grid article {
    min-height: 70px;
    padding: 11px 14px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.quotes-index .quotes-summary-grid article::before {
    inset: auto 14px 0;
    width: auto;
    height: 3px;
}

.quotes-index .quotes-summary-grid span { font-size: 9px; }
.quotes-index .quotes-summary-grid strong { font-size: 19px; }
.quotes-index .quotes-summary-grid small { font-size: 9px; }

.quotes-index .quotes-control-deck {
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d8e2ea;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(15, 39, 66, .045);
}

.quotes-index .quotes-control-head {
    min-height: 46px;
    margin: 0;
    padding: 7px 10px 7px 13px;
    border-bottom: 1px solid #e3e9ee;
    background: #f7f9fb;
}

.quotes-index .quotes-control-head h2 { font-size: 14px; }
.quotes-index .quotes-control-head p { color: #789; font-size: 9px; }
.quotes-index .quotes-control-head > .btn {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 5px;
    font-size: 10px;
}

.quotes-index .quotes-filter-toolbar { padding: 10px 12px; }
.quotes-index .quotes-filter-grid { display: block; }
.quotes-index .quotes-filter-main {
    display: grid;
    grid-template-columns: minmax(250px, 1.5fr) 120px 100px minmax(190px, 1.15fr) minmax(150px, .85fr);
    gap: 8px;
    align-items: end;
}

.quotes-index .quotes-filter-field { gap: 4px; }
.quotes-index .quotes-filter-field label,
.quotes-index .quotes-filter-label {
    color: #607286;
    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.quotes-index .quotes-filter-field select,
.quotes-index .quotes-filter-field input,
.quotes-index .quotes-client-search input {
    width: 100%;
    height: 34px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #cbd7e0;
    border-radius: 5px;
    background: #fff;
    color: #243b52;
    font-size: 11px;
    font-weight: 600;
    box-shadow: none;
}

.quotes-index .quotes-client-search input { border-color: #79aeca; }
.quotes-index .quotes-filter-field select:focus,
.quotes-index .quotes-filter-field input:focus {
    border-color: #2f7cab;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(47, 124, 171, .11);
}

.quotes-index .quotes-filter-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid #edf1f4;
}

.quotes-index .quotes-status-field {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: center;
    flex-direction: row;
    gap: 8px;
}

.quotes-index .quotes-status-options {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
    gap: 4px;
    padding: 3px;
    border: 0;
    border-radius: 5px;
    background: #f2f5f7;
}

.quotes-index .quotes-status-option {
    display: inline-flex !important;
    min-height: 27px;
    align-items: center !important;
    flex-direction: row !important;
    gap: 6px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #52677b;
    font-size: 9px;
    white-space: nowrap;
}

.quotes-index .quotes-status-option input {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px;
    margin: 0;
}

.quotes-index .quotes-status-option:has(input:checked) { box-shadow: none; }
.quotes-index .quotes-status-option.status-draft:has(input:checked) { border-color: #b7c4d0; background: #e6edf2; color: #40566c; }
.quotes-index .quotes-status-option.status-sent:has(input:checked) { border-color: #9dc8e3; background: #e4f2fa; color: #17658f; }
.quotes-index .quotes-status-option.status-accepted:has(input:checked) { border-color: #9fcfb5; background: #e8f6ee; color: #176943; }
.quotes-index .quotes-status-option.status-reserved:has(input:checked) { border-color: #e2c67e; background: #fff6df; color: #8a5b12; }
.quotes-index .quotes-status-option.status-rejected:has(input:checked),
.quotes-index .quotes-status-option.status-expired:has(input:checked) { border-color: #e7b5b5; background: #fdecec; color: #a23b3b; }

.quotes-index .quotes-filter-actions {
    display: flex;
    flex: 0 0 auto;
    align-self: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
}

.quotes-index .quotes-filter-actions .btn {
    min-width: 82px;
    height: 32px;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 10px;
}

.quotes-index > .bulk-delete-form > .bulk-actions-bar {
    min-height: 34px;
    margin: 0;
    padding: 0 2px;
}

.quotes-index .quotes-table-card {
    border: 1px solid #d8e2ea;
    border-radius: 7px;
    box-shadow: 0 5px 18px rgba(15, 39, 66, .055);
}

.quotes-index .quotes-table { min-width: 1040px; }
.quotes-index .quotes-table thead th {
    padding: 10px;
    background: #eaf0f4;
    color: #52677b;
    font-size: 9px;
}

.quotes-index .quotes-table tbody td {
    padding: 11px 10px;
    color: #40566c;
    font-size: 11px;
}

.quotes-index .quotes-table tbody tr:nth-child(even) td { background: #fafcfd; }
.quotes-index .quotes-table tbody tr:hover td { background: #eef6fa; }
.quotes-index .quote-actions-cell { min-width: 215px; }
.quotes-index .quote-actions-cell .inline-actions { gap: 4px; }
.quotes-index .quote-actions-cell .icon-action,
.quotes-index .quote-actions-cell .quote-duplicate-mini {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 5px;
}

.quotes-index .quote-reference { color: #126b9d; }
.quotes-index .quote-total-cell strong { color: #176943; }

@media (max-width: 1180px) {
    .quotes-index .quotes-filter-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .quotes-index .quotes-client-search { grid-column: span 2; }
    .quotes-index .quotes-filter-footer { display: grid; grid-template-columns: 1fr auto; }
}

@media (max-width: 700px) {
    .quotes-index .quotes-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .quotes-index .quotes-summary-grid article { min-height: 65px; }
    .quotes-index .quotes-control-head { align-items: stretch; flex-direction: column; gap: 7px; }
    .quotes-index .quotes-control-head > .btn { width: 100%; }
    .quotes-index .quotes-filter-main,
    .quotes-index .quotes-filter-footer { grid-template-columns: 1fr; }
    .quotes-index .quotes-client-search { grid-column: 1; }
    .quotes-index .quotes-status-field { align-items: stretch; flex-direction: column; }
    .quotes-index .quotes-status-options { display: grid; grid-template-columns: repeat(2, 1fr); }
    .quotes-index .quotes-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .quotes-index .quotes-filter-actions .btn { width: 100%; min-height: 40px; }
}

@media (max-width: 420px) {
    .quotes-index .quotes-status-options { grid-template-columns: 1fr; }
}
