﻿:root {
    --bg: #f3efe6;
    --paper: #fffdf8;
    --ink: #1f2937;
    --muted: #6b7280;
    --line: #ded5c4;
    --accent: #aa3e1f;
    --accent-dark: #7a2811;
    --accent-soft: #f3d8cd;
    --success: #1f6f50;
    --danger: #9f1d1d;
    --shadow: 0 18px 50px rgba(54, 40, 24, 0.12);
    --ui-font: 13px;
}

/* Pointage Yohan */
.pointage-yohan-header{align-items:center}
.pointage-yohan-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.pointage-yohan-toolbar label,.pointage-yohan-form label{display:grid;gap:4px;min-width:0}
.pointage-yohan-toolbar label span,.pointage-yohan-form label span{color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.pointage-yohan-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 12px}
.pointage-yohan-totals article{border:1px solid var(--app-border,#31506e);background:var(--app-surface,#122238);padding:10px}
.pointage-yohan-totals span{display:block;color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.pointage-yohan-totals strong{display:block;margin-top:4px;color:var(--app-warning,#ffd84d);font-size:24px;font-weight:900}
.pointage-yohan-form-panel{margin:10px 12px}
.pointage-yohan-form{display:grid;gap:9px;padding:10px;align-items:end}
.pointage-yohan-start{display:grid;grid-template-columns:160px 140px minmax(190px,1fr) 140px 140px 140px minmax(190px,1fr);gap:9px;align-items:end}
.pointage-yohan-form .wide-field{grid-column:1/-1}
.pointage-yohan-form input,.pointage-yohan-form textarea{width:100%;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:5px;padding:7px 8px;font-weight:800;box-sizing:border-box}
.pointage-yohan-form textarea{resize:vertical}
.pointage-yohan-lines{border:1px solid var(--app-border,#31506e);background:rgba(0,0,0,.12);padding:10px}
.pointage-yohan-lines-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.pointage-yohan-lines-head h4{margin:0;color:var(--app-warning,#ffd84d);font-size:15px;text-transform:uppercase}
.pointage-yohan-line{display:grid;grid-template-columns:120px 120px minmax(220px,.75fr) minmax(320px,1fr) 44px;gap:8px;align-items:end;margin-bottom:7px}
.pointage-yohan-line:last-child{margin-bottom:0}
.pointage-yohan-remove{height:34px;min-width:44px;padding:0!important}
.pointage-yohan-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.pointage-yohan-table{min-width:1450px}
.pointage-yohan-work{min-width:320px;white-space:normal!important}
.pointage-yohan-work small{display:block;margin-top:4px;color:var(--app-muted,#b9d4ec)}
.pointage-yohan-work-line{display:grid;grid-template-columns:96px minmax(150px,.7fr) minmax(220px,1fr) minmax(150px,.55fr);gap:6px;align-items:start;margin:0 0 4px}
.pointage-yohan-work-line strong{color:var(--app-warning,#ffd84d)}
.pointage-yohan-work-line span{font-weight:900}
.pointage-yohan-work-line em{display:flex;gap:5px;flex-wrap:wrap;font-style:normal;color:var(--app-success,#55e28a);font-size:12px;font-weight:900}
.pointage-yohan-work-line em span{border:1px solid rgba(85,226,138,.35);background:rgba(85,226,138,.08);padding:2px 5px;border-radius:4px;white-space:nowrap}
.pointage-yohan-summary-table{width:100%;margin-top:8px;border-collapse:collapse;background:rgba(0,0,0,.16);font-size:12px}
.pointage-yohan-summary-table th,.pointage-yohan-summary-table td{border:1px solid var(--app-border,#31506e);padding:5px 7px;text-align:left}
.pointage-yohan-summary-table th{background:var(--app-table-header,#1f5678);color:var(--app-table-header-text,#d8f0ff);text-transform:uppercase;font-size:11px}
.pointage-yohan-summary-table td:nth-child(2),.pointage-yohan-summary-table td:nth-child(3){text-align:right;white-space:nowrap}
.pointage-yohan-summary-table tfoot td{color:var(--app-warning,#ffd84d);font-weight:900;background:rgba(255,216,77,.08)}
.pointage-yohan-note{border-top:1px solid var(--app-border,#31506e);padding-top:4px}
.pointage-yohan-table .table-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.pointage-yohan-table .table-actions form{margin:0}
.pointage-yohan-days{display:grid;gap:12px;padding:10px}
.pointage-yohan-day-card{border:1px solid var(--app-border,#31506e);background:var(--app-surface,#122238)}
.pointage-yohan-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--app-border,#31506e);background:var(--app-surface-2,#18314a)}
.pointage-yohan-day-head strong{display:block;color:var(--app-warning,#ffd84d);font-size:18px}
.pointage-yohan-day-head span{display:block;margin-top:2px;color:var(--app-text,#f8fafc);font-weight:800}
.pointage-yohan-day-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pointage-yohan-day-actions form{margin:0}
.pointage-yohan-day-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;padding:12px}
.pointage-yohan-chrono,.pointage-yohan-stats{min-width:0}
.pointage-yohan-chrono h4,.pointage-yohan-stats h4{margin:0 0 8px;color:var(--app-warning,#ffd84d);font-size:14px;text-transform:uppercase}
.pointage-yohan-detail-table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.1);font-size:13px}
.pointage-yohan-detail-table th,.pointage-yohan-detail-table td{border:1px solid var(--app-border,#31506e);padding:6px 8px;vertical-align:top}
.pointage-yohan-detail-table th{background:var(--app-table-header,#1f5678);color:var(--app-table-header-text,#d8f0ff);font-size:11px;text-transform:uppercase;text-align:left}
.pointage-yohan-detail-table td:first-child,.pointage-yohan-detail-table td:last-child{white-space:nowrap;font-weight:900}
.pointage-yohan-move-row td{background:rgba(220,38,38,.14);color:#ffb3b3}
.pointage-yohan-move-row td:nth-child(2),.pointage-yohan-move-row td:last-child{color:#ff5b5b}
.pointage-yohan-stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.pointage-yohan-stat-cards article{border:1px solid var(--app-border,#31506e);background:rgba(0,0,0,.12);padding:8px}
.pointage-yohan-stat-cards span{display:block;color:var(--app-muted,#b9d4ec);font-size:10px;font-weight:900;text-transform:uppercase}
.pointage-yohan-stat-cards strong{display:block;margin-top:3px;color:var(--app-warning,#ffd84d);font-size:16px}
.pointage-yohan-note{display:grid;gap:4px;margin-top:8px;border:1px solid var(--app-border,#31506e);background:rgba(0,0,0,.12);padding:8px}
.pointage-yohan-note strong{color:var(--app-warning,#ffd84d);text-transform:uppercase}
.pointage-yohan-note span{color:var(--app-text,#f8fafc);font-weight:800}
@media(max-width:1500px){.pointage-yohan-start{grid-template-columns:repeat(3,minmax(0,1fr))}.pointage-yohan-line{grid-template-columns:110px 110px minmax(190px,.8fr) minmax(260px,1fr) 44px}}
@media(max-width:1200px){.pointage-yohan-day-grid{grid-template-columns:1fr}.pointage-yohan-day-head{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.pointage-yohan-totals,.pointage-yohan-form,.pointage-yohan-start,.pointage-yohan-line{grid-template-columns:1fr}.pointage-yohan-remove{width:100%}}

/* Application mobile Mondial - Pointage Yohan */
body.mondial-mobile-app{background:var(--app-bg,#081321)}
body.mondial-mobile-app .shell{min-height:100dvh}
body.mondial-mobile-app .content-topnav{padding:0;min-height:100dvh}
.mobile-yohan-page{max-width:760px;margin:0 auto;padding:10px;display:grid;gap:10px;color:var(--app-text,#f6fbff)}
.mobile-yohan-top,.mobile-yohan-card,.mobile-yohan-history,.mobile-yohan-datebar,.mobile-yohan-summary article{border:1px solid var(--app-border,#31506e);background:var(--app-surface,#122238);border-radius:8px}
.mobile-yohan-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px}
.mobile-yohan-top span{display:block;color:var(--app-muted,#b9d4ec);font-size:12px;font-weight:900;text-transform:uppercase}
.mobile-yohan-top h1{margin:2px 0 0;color:var(--app-warning,#ffd84d);font-size:22px}
.mobile-yohan-datebar{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;align-items:end}
.mobile-yohan-datebar label,.mobile-yohan-form label{display:grid;gap:4px;min-width:0}
.mobile-yohan-datebar span,.mobile-yohan-form label span{color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.mobile-yohan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mobile-yohan-summary article{padding:10px}
.mobile-yohan-summary span{display:block;color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.mobile-yohan-summary strong{display:block;color:var(--app-warning,#ffd84d);font-size:20px}
.mobile-yohan-card{overflow:hidden}
.mobile-yohan-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--app-border,#31506e);background:var(--app-surface-2,#18314a)}
.mobile-yohan-card-head h2,.mobile-yohan-history h2{margin:0;color:var(--app-warning,#ffd84d);font-size:18px}
.mobile-yohan-current-rdv{display:grid;gap:6px;padding:12px;background:rgba(255,216,77,.08);border-bottom:1px solid var(--app-border,#31506e)}
.mobile-yohan-current-rdv span{color:var(--app-muted,#b9d4ec);font-size:12px;font-weight:900;text-transform:uppercase}
.mobile-yohan-current-rdv strong{color:var(--app-warning,#ffd84d);font-size:18px}
.mobile-yohan-current-rdv em{font-style:normal;color:var(--app-success,#55e28a);font-weight:900}
.mobile-yohan-current-rdv p{margin:0;color:var(--app-text,#f6fbff);line-height:1.35}
.mobile-yohan-current-route{background:rgba(93,184,255,.1)}
.mobile-yohan-form{display:grid;gap:10px;padding:12px}
.mobile-yohan-form input,.mobile-yohan-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:7px;padding:11px 10px;font-size:16px;font-weight:800}
.mobile-yohan-form textarea{resize:vertical;min-height:76px}
.mobile-yohan-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-yohan-lines{display:grid;gap:8px}
.mobile-yohan-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--app-warning,#ffd84d)}
.mobile-yohan-line{display:grid;gap:8px;border:1px solid rgba(159,199,239,.28);background:rgba(0,0,0,.12);border-radius:8px;padding:10px}
.mobile-yohan-remove,.mobile-yohan-submit{width:100%;min-height:44px}
.mobile-yohan-history{padding:12px;display:grid;gap:8px}
.mobile-yohan-day{border:1px solid rgba(159,199,239,.28);background:var(--app-surface-2,#18314a);border-radius:8px;padding:10px;display:grid;gap:8px}
.mobile-yohan-day-main{display:grid;grid-template-columns:1fr auto;gap:3px 8px;text-decoration:none;color:var(--app-text,#f6fbff)}
.mobile-yohan-day-main strong{color:var(--app-warning,#ffd84d)}
.mobile-yohan-day-main span{grid-column:1/-1;color:var(--app-muted,#b9d4ec)}
.mobile-yohan-day-main em{grid-row:1;grid-column:2;font-style:normal;font-weight:900;color:#42e885}
.mobile-yohan-day-lines{display:grid;gap:5px}
.mobile-yohan-day-lines p{margin:0;background:rgba(0,0,0,.12);border-radius:6px;padding:7px;color:var(--app-text,#f6fbff)}
.mobile-yohan-day-lines b{color:var(--app-warning,#ffd84d)}
.mobile-yohan-day-lines small{display:block;margin-top:2px;color:var(--app-muted,#b9d4ec)}
.mobile-yohan-step-page{padding-bottom:78px}
.mobile-yohan-status{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--app-border,#31506e);background:linear-gradient(135deg,var(--app-surface-2,#18314a),var(--app-surface,#122238));border-radius:8px;padding:12px}
.mobile-yohan-status span{display:block;color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.mobile-yohan-status strong{display:block;color:var(--app-warning,#ffd84d);font-size:16px;line-height:1.25}
.mobile-yohan-status small{display:block;margin-top:4px;color:var(--app-muted,#b9d4ec);font-weight:900}
.mobile-yohan-status em{font-style:normal;font-weight:900;color:#42e885;background:rgba(0,0,0,.18);border-radius:999px;padding:7px 10px}
.mobile-yohan-step-form{gap:12px}
.mobile-yohan-step-form label span{font-size:12px}
.mobile-yohan-step-form input,.mobile-yohan-step-form textarea{min-height:50px;font-size:18px}
.mobile-yohan-step-form textarea{min-height:118px}
.mobile-yohan-step-form .mobile-yohan-submit{min-height:56px;font-size:17px}
.button-warning{background:var(--app-warning,#ffd84d)!important;color:#101827!important;border-color:var(--app-warning,#ffd84d)!important}
.mobile-yohan-midi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-yohan-midi form{margin:0}
.mobile-yohan-midi .button{width:100%;min-height:48px}
.mobile-yohan-step-line{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:start;border:1px solid rgba(159,199,239,.28);background:var(--app-surface-2,#18314a);border-radius:8px;padding:10px}
.mobile-yohan-step-line>strong{display:grid;place-items:center;min-height:40px;border-radius:8px;background:rgba(255,216,77,.16);color:var(--app-warning,#ffd84d);font-size:16px}
.mobile-yohan-step-line b{display:block;color:var(--app-text,#f6fbff);font-size:15px}
.mobile-yohan-step-line small{display:block;margin-top:4px;color:var(--app-muted,#b9d4ec);line-height:1.35}
.mobile-yohan-closebar{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(740px,calc(100% - 20px));z-index:40;margin:0;border:1px solid rgba(255,255,255,.18);background:rgba(8,19,33,.92);box-shadow:0 10px 30px rgba(0,0,0,.35);border-radius:12px;padding:8px;backdrop-filter:blur(8px);display:grid;grid-template-columns:180px 1fr;gap:8px;align-items:end}
.mobile-yohan-close-km{display:grid;gap:4px;min-width:0}
.mobile-yohan-close-km span{color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.mobile-yohan-close-km input{width:100%;box-sizing:border-box;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:7px;padding:10px;font-size:16px;font-weight:900}
.mobile-yohan-closebar .button{width:100%;min-height:52px;font-size:17px}
@media(max-width:520px){.mobile-yohan-page{padding:8px}.mobile-yohan-grid,.mobile-yohan-datebar{grid-template-columns:1fr}.mobile-yohan-top{align-items:flex-start}.mobile-yohan-top .button{min-width:92px}.mobile-yohan-summary strong{font-size:18px}}
@media(max-width:520px){.mobile-yohan-midi{grid-template-columns:1fr}.mobile-yohan-status{grid-template-columns:1fr}.mobile-yohan-status em{justify-self:start}}
@media(max-width:520px){.mobile-yohan-closebar{grid-template-columns:1fr}.mobile-yohan-step-page{padding-bottom:146px}}

/* Notes de frais Mondial */
.notes-frais-kpis{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.notes-frais-kpis article{border:1px solid var(--app-border,#31506e);background:var(--app-surface,#122238);padding:8px 12px;min-width:130px}
.notes-frais-kpis span{display:block;color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.notes-frais-kpis strong{display:block;color:var(--app-warning,#ffd84d);font-size:20px}
.notes-frais-universal-layout{display:grid;grid-template-columns:minmax(330px,.34fr) minmax(720px,.66fr);gap:10px;margin:10px 12px;align-items:start}
.notes-frais-panel{margin:10px 12px}
.notes-frais-form,.notes-frais-filters{display:grid;grid-template-columns:150px minmax(170px,.7fr) 130px minmax(260px,1fr) minmax(180px,.8fr) auto;gap:8px;align-items:end;padding:10px}
.notes-frais-filters{grid-template-columns:minmax(240px,1fr) 220px 170px auto}
.notes-frais-form label,.notes-frais-filters label{display:grid;gap:4px;min-width:0}
.notes-frais-form span,.notes-frais-filters span{color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.notes-frais-form input,.notes-frais-form select,.notes-frais-filters input,.notes-frais-filters select,.notes-frais-actions select{width:100%;box-sizing:border-box;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:5px;padding:7px 8px;font-weight:800}
.notes-frais-form-panel,.notes-frais-list-panel{margin:0}
.notes-frais-universal-form{display:grid;gap:9px;padding:10px}
.notes-frais-universal-form label{display:grid;gap:4px;min-width:0}
.notes-frais-universal-form span{color:var(--app-muted,#b9d4ec);font-size:11px;font-weight:900;text-transform:uppercase}
.notes-frais-universal-form input,.notes-frais-universal-form textarea,.notes-frais-universal-form select{width:100%;box-sizing:border-box;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:5px;padding:7px 8px;font-weight:800}
.notes-frais-amount-field input{background:#fff1a8!important;color:#111827!important;border-color:#d9a400!important;font-size:17px}
.notes-frais-attachments{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.notes-frais-form-actions{display:flex;justify-content:flex-end;gap:8px}
.notes-frais-recap{border-top:1px solid var(--app-border,#31506e);margin-top:8px}
.notes-frais-recap .panel-header{padding:8px 10px}
.notes-frais-recap-list{display:grid;gap:5px;padding:9px;max-height:360px;overflow:auto}
.notes-frais-recap-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(159,199,239,.2);background:rgba(255,255,255,.04);color:var(--app-text,#f8fafc);padding:7px 8px;text-decoration:none;font-weight:900}
.notes-frais-recap-row.is-active,.notes-frais-recap-row:hover{outline:2px solid var(--app-warning,#ffd84d);outline-offset:-2px}
.notes-frais-recap-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notes-frais-recap-row strong{color:var(--app-warning,#ffd84d)}
.notes-frais-table-shell{max-height:calc(100vh - 250px)}
.notes-frais-table .money-cell{text-align:right;font-weight:900;color:var(--app-warning,#ffd84d)}
.notes-frais-attachment-links,.mobile-expense-links{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.notes-frais-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.notes-frais-actions form{margin:0}
.mobile-app-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}
.mobile-app-switch a{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--app-border,#31506e);background:var(--app-secondary,#40566d);color:var(--app-primary-text,#fff);border-radius:8px;text-decoration:none;font-weight:900;text-transform:uppercase}
.mobile-app-switch a.is-active{background:var(--app-primary,#2f80ed);border-color:var(--app-warning,#ffd84d)}
.mobile-pneus-page{padding-bottom:24px}
.mobile-pneus-filter-form select{width:100%;box-sizing:border-box;border:1px solid var(--app-field-border,#58708a);background:var(--app-field-bg,#1b3147);color:var(--app-field-text,#f8fafc);border-radius:7px;padding:11px 10px;font-size:16px;font-weight:800}
.mobile-pneus-panel{overflow:hidden}
.mobile-pneus-details{border:1px solid rgba(159,199,239,.28);background:rgba(0,0,0,.1);border-radius:8px;margin:10px}
.mobile-pneus-details summary{cursor:pointer;list-style:none;padding:12px;color:var(--app-warning,#ffd84d);font-size:14px;font-weight:900;text-transform:uppercase}
.mobile-pneus-details summary::-webkit-details-marker{display:none}
.mobile-pneus-details[open] summary{border-bottom:1px solid rgba(159,199,239,.28);background:rgba(255,216,77,.08)}
.mobile-pneus-list{padding:0}
.mobile-pneus-list>.mobile-yohan-card-head{border:1px solid var(--app-border,#31506e);border-radius:8px 8px 0 0}
.mobile-pneus-row{display:grid;gap:8px;border:1px solid rgba(159,199,239,.28);border-top:0;background:var(--app-surface-2,#18314a);padding:10px}
.mobile-pneus-row:last-child{border-radius:0 0 8px 8px}
.mobile-pneus-row-main{display:grid;gap:4px}
.mobile-pneus-row-main strong{color:var(--app-warning,#ffd84d);font-size:16px}
.mobile-pneus-row-main span{color:var(--app-text,#f6fbff);line-height:1.35}
.mobile-pneus-row-main em{font-style:normal;color:#42e885;font-weight:900}
.mobile-pneus-row-main small{color:var(--app-muted,#b9d4ec);line-height:1.35}
.mobile-pneus-edit-form{padding-top:10px}
.mobile-pneus-delete{width:calc(100% - 20px);min-height:44px;margin:0 10px 10px}
.mobile-lavage-page{padding-bottom:24px}
.mobile-lavage-list{padding:0}
.mobile-lavage-list>.mobile-yohan-card-head{border:1px solid var(--app-border,#31506e);border-radius:8px 8px 0 0}
.mobile-lavage-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(159,199,239,.28);border-top:0;background:var(--app-surface-2,#18314a);padding:12px}
.mobile-lavage-row:last-child{border-radius:0 0 8px 8px}
.mobile-lavage-row.is-done{background:rgba(31,111,80,.2)}
.mobile-lavage-row.transport-card-tint-mlt{background:#dcfce7;border-color:#86efac;color:#111827}
.mobile-lavage-row.transport-card-tint-nivelles{background:#fee2e2;border-color:#fca5a5;color:#111827}
.mobile-lavage-row.transport-card-tint-beaumont{background:#ffedd5;border-color:#fdba74;color:#111827}
.mobile-lavage-row.transport-card-tint-mcb{background:#f1f5f9;border-color:#cbd5e1;color:#111827}
.mobile-lavage-row.transport-card-tint-bernard{background:#bfdbfe;border-color:#60a5fa;color:#111827}
.mobile-lavage-row.mobile-ct-destination-row{background:#fed7aa;border-color:#fb923c;color:#111827}
.mobile-lavage-row.transport-card-tint-mlt .mobile-lavage-main strong,
.mobile-lavage-row.transport-card-tint-mlt .mobile-lavage-main span,
.mobile-lavage-row.transport-card-tint-mlt .mobile-lavage-main em,
.mobile-lavage-row.transport-card-tint-mlt .mobile-lavage-main small,
.mobile-lavage-row.transport-card-tint-mlt .mobile-lavage-main p,
.mobile-lavage-row.transport-card-tint-nivelles .mobile-lavage-main strong,
.mobile-lavage-row.transport-card-tint-nivelles .mobile-lavage-main span,
.mobile-lavage-row.transport-card-tint-nivelles .mobile-lavage-main em,
.mobile-lavage-row.transport-card-tint-nivelles .mobile-lavage-main small,
.mobile-lavage-row.transport-card-tint-nivelles .mobile-lavage-main p,
.mobile-lavage-row.transport-card-tint-beaumont .mobile-lavage-main strong,
.mobile-lavage-row.transport-card-tint-beaumont .mobile-lavage-main span,
.mobile-lavage-row.transport-card-tint-beaumont .mobile-lavage-main em,
.mobile-lavage-row.transport-card-tint-beaumont .mobile-lavage-main small,
.mobile-lavage-row.transport-card-tint-beaumont .mobile-lavage-main p,
.mobile-lavage-row.transport-card-tint-mcb .mobile-lavage-main strong,
.mobile-lavage-row.transport-card-tint-mcb .mobile-lavage-main span,
.mobile-lavage-row.transport-card-tint-mcb .mobile-lavage-main em,
.mobile-lavage-row.transport-card-tint-mcb .mobile-lavage-main small,
.mobile-lavage-row.transport-card-tint-mcb .mobile-lavage-main p,
.mobile-lavage-row.transport-card-tint-bernard .mobile-lavage-main strong,
.mobile-lavage-row.transport-card-tint-bernard .mobile-lavage-main span,
.mobile-lavage-row.transport-card-tint-bernard .mobile-lavage-main em,
.mobile-lavage-row.transport-card-tint-bernard .mobile-lavage-main small,
.mobile-lavage-row.transport-card-tint-bernard .mobile-lavage-main p,
.mobile-lavage-row.mobile-ct-destination-row .mobile-lavage-main strong,
.mobile-lavage-row.mobile-ct-destination-row .mobile-lavage-main span,
.mobile-lavage-row.mobile-ct-destination-row .mobile-lavage-main em,
.mobile-lavage-row.mobile-ct-destination-row .mobile-lavage-main small,
.mobile-lavage-row.mobile-ct-destination-row .mobile-lavage-main p{color:#111827}
.mobile-lavage-main{display:grid;gap:4px;min-width:0}
.mobile-lavage-main strong{color:var(--app-warning,#ffd84d);font-size:17px;line-height:1.25}
.mobile-lavage-main span{color:var(--app-text,#f6fbff);font-weight:900;overflow-wrap:anywhere}
.mobile-lavage-main em{font-style:normal;color:#42e885;font-weight:900}
.mobile-lavage-main small{color:var(--app-muted,#b9d4ec);line-height:1.35}
.mobile-lavage-main p{margin:4px 0 0;color:var(--app-text,#f6fbff);line-height:1.35}
.mobile-lavage-row form{margin:0}
.mobile-lavage-button{min-width:150px;min-height:50px}
.mobile-ct-validate-form{display:grid;gap:8px;min-width:160px}
.mobile-ct-photo-field{display:grid;gap:4px;color:var(--app-text,#f6fbff);font-size:12px;font-weight:900;text-transform:uppercase}
.mobile-ct-photo-field input{width:100%;max-width:220px;color:inherit;font-size:12px}
.mobile-lavage-row[class*="transport-card-tint-"] .mobile-ct-photo-field,
.mobile-lavage-row.mobile-ct-destination-row .mobile-ct-photo-field{color:#111827}
.mobile-expense-page{padding-bottom:20px}
.mobile-expense-panel .mobile-yohan-card-head{border-bottom:1px solid var(--app-border,#31506e)}
.mobile-expense-list{display:grid;gap:8px;padding:0}
.mobile-expense-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid rgba(159,199,239,.28);background:var(--app-surface-2,#18314a);border-radius:8px;padding:10px}
.mobile-expense-row strong{display:block;color:var(--app-warning,#ffd84d)}
.mobile-expense-row span{display:block;margin-top:3px;color:var(--app-text,#f6fbff)}
.mobile-expense-row em{display:inline-block;margin-top:6px;font-style:normal;color:#42e885;font-weight:900}
@media(max-width:1180px){.notes-frais-universal-layout{grid-template-columns:1fr}.notes-frais-table-shell{max-height:none}}
@media(max-width:1000px){.notes-frais-form,.notes-frais-filters{grid-template-columns:1fr 1fr}.notes-frais-form button,.notes-frais-filters button{grid-column:1/-1}.notes-frais-actions{flex-wrap:wrap}}
@media(max-width:560px){.notes-frais-form,.notes-frais-filters,.mobile-expense-row,.mobile-lavage-row,.notes-frais-attachments{grid-template-columns:1fr}.mobile-lavage-button{width:100%}.mobile-app-switch{grid-template-columns:1fr}.notes-frais-universal-layout{margin:8px}}

.stat-page {
    background: #0f1826;
    color: #fff;
    min-height: calc(100vh - 190px);
    padding: 12px 14px 18px;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

body:has(.stat-page) {
    overflow-x: hidden;
}

.stat-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #5e7083;
    background: #172638;
    padding: 12px;
    min-width: 0;
}

.stat-eyebrow {
    display: block;
    color: #9fc7ef;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.stat-toolbar h1 {
    margin: 2px 0 0;
    font-size: 24px;
    color: #fff;
}

.stat-reset-link {
    display: inline-flex;
    margin-top: 6px;
    color: #ffd966;
    font-weight: 800;
    text-decoration: none;
}

.stat-filters {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(110px, 160px) minmax(95px, 120px) minmax(150px, 220px) 86px;
    gap: 8px;
    align-items: end;
    min-width: 0;
}

.stat-filters label {
    display: grid;
    gap: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.stat-filters select,
.stat-filters input {
    height: 30px;
    border: 1px solid #26374b;
    background: #fff1b0;
    color: #000;
    font-weight: 700;
}

.stat-reset-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    background: #b83b1a;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.stat-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.stat-kpi,
.stat-panel {
    border: 1px solid #5e7083;
    background: #22384d;
}

.stat-kpi {
    padding: 10px 12px;
    min-height: 72px;
}

.stat-kpi span {
    display: block;
    color: #9fc7ef;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.stat-kpi strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 28px;
}

.stat-kpi small {
    display: block;
    color: #ffd966;
    font-weight: 800;
    margin-top: 2px;
}

.stat-kpi-mcb {
    background: #1f3245;
    border-color: #f59e0b;
}

.stat-kpi-highlight {
    background: #26324e;
    border-color: #2f7df6;
}

.stat-overview-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
    border: 1px solid #5e7083;
    background: #162536;
    padding: 8px;
    min-width: 0;
}

.stat-overview-column {
    display: grid;
    align-content: start;
    gap: 3px;
    min-width: 0;
    background: #1d3146;
    border: 1px solid rgba(159, 199, 239, 0.2);
    padding: 7px 9px;
}

.stat-overview-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 7px;
    min-width: 0;
    border-bottom: 1px solid rgba(159, 199, 239, 0.13);
    padding: 3px 0;
}

.stat-overview-line:last-child {
    border-bottom: 0;
}

.stat-overview-panel span {
    color: #9fc7ef;
    font-size: 9.5px;
    font-weight: 600;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stat-overview-panel strong {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.stat-overview-panel small {
    grid-column: 2;
    color: #ffd966;
    font-size: 9px;
    font-weight: 600;
    white-space: nowrap;
    text-align: right;
}

.stat-overview-counts small {
    font-size: 11px;
    color: #ffd966;
}

.stat-overview-counts .stat-overview-line:has(small) strong {
    color: #ffd966;
    font-size: 17px;
}

.stat-overview-profit {
    border-color: rgba(47, 125, 246, 0.75);
    background: #243452;
}

.stat-overview-profit strong {
    color: #ffd966;
}

.stat-chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.95fr) minmax(0, 1fr);
    gap: 10px;
    margin-top: 10px;
    min-width: 0;
}

.stat-chart-grid-mcb {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.stat-panel {
    min-width: 0;
}

.stat-panel h2 {
    margin: 0;
    padding: 8px 10px;
    background: #0b1320;
    color: #fff;
    font-size: 15px;
    text-transform: uppercase;
}

.stat-bars {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.stat-bar-row {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr 42px 128px minmax(120px, 180px);
    gap: 8px;
    align-items: center;
    color: #fff;
    font-size: 13px;
}

.stat-clickable {
    color: #fff;
    text-decoration: none;
}

.stat-clickable:hover,
.stat-clickable.is-selected {
    background: rgba(47, 125, 246, 0.22);
    outline: 1px solid #2f7df6;
}

.stat-bar-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
}

.stat-bar-track {
    height: 16px;
    background: #101c2b;
    border: 1px solid #3a5167;
}

.stat-bar-fill {
    height: 100%;
    background: #f59e0b;
}

.stat-bar-fill-alt {
    background: #2f7df6;
}

.stat-bar-fill-extra {
    background: #22c55e;
}

.stat-bar-row strong {
    color: #fff;
    text-align: right;
}

.stat-bar-row em {
    color: #ffd966;
    font-style: normal;
    text-align: right;
}

.stat-bar-row small {
    color: #9fc7ef;
    font-weight: 800;
    text-align: right;
}

.stat-summary-panel .stat-summary-list {
    display: grid;
    gap: 6px;
    padding: 10px;
}

.stat-summary-row {
    display: grid;
    gap: 5px;
    align-items: center;
    padding: 6px 8px;
    background: #1d3146;
    color: #fff;
    font-size: 11px;
    min-width: 0;
}

.stat-summary-row-concession {
    grid-template-columns: minmax(70px, 1.2fr) 0.7fr 1fr 1fr 1fr 0.7fr 0.7fr;
}

.stat-summary-row-extra {
    grid-template-columns: minmax(105px, 1.2fr) 0.55fr 0.9fr 0.55fr;
}

.stat-summary-row-brand {
    grid-template-columns: minmax(90px, 1.4fr) 0.65fr 1fr;
}

.stat-summary-row strong {
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stat-summary-row span {
    color: #ffd966;
    font-weight: 600;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stat-table-panel {
    margin-top: 10px;
}

.stat-table-wrap {
    max-height: none;
    min-height: 0;
    overflow: visible;
}

.stat-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    color: #fff;
    font-size: 7.8px;
    line-height: 1.05;
}

.stat-table th,
.stat-table td {
    border-bottom: 1px solid #3a5167;
    padding: 3px 4px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.stat-table th {
    background: #0b1320;
    color: #fff;
    text-transform: uppercase;
}

.stat-table tbody tr:nth-child(even) {
    background: #1d3044;
}

.stat-table tbody tr.stat-row-highlight {
    background: #243b5c;
}

.stat-money {
    color: #ffd966;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.stat-invoice,
.stat-ref {
    color: #9fc7ef;
    font-weight: 600;
    white-space: nowrap;
}

.stat-extra-money {
    color: #71f5a1;
}

.stat-pack-money {
    color: #7fb3ff;
}

.stat-cost-money {
    color: #ffbf69;
    background: rgba(245, 158, 11, 0.12);
}

.stat-sale-money {
    color: #9be7ff;
    background: rgba(14, 165, 233, 0.12);
}

.stat-sale-total-money {
    color: #80ffb0;
    background: rgba(34, 197, 94, 0.14);
}

.stat-negative-money {
    color: #ff8585;
}

.stat-table small,
.stat-money small {
    display: inline;
    font-size: 7px;
    color: inherit;
}

.stat-table th:nth-child(1),
.stat-table td:nth-child(1) { width: 4.4%; }
.stat-table th:nth-child(2),
.stat-table td:nth-child(2) { width: 4.6%; }
.stat-table th:nth-child(3),
.stat-table td:nth-child(3) { width: 4.6%; }
.stat-table th:nth-child(4),
.stat-table td:nth-child(4) { width: 5.8%; }
.stat-table th:nth-child(5),
.stat-table td:nth-child(5) { width: 8%; }
.stat-table th:nth-child(6),
.stat-table td:nth-child(6) { width: 5.7%; }
.stat-table th:nth-child(7),
.stat-table td:nth-child(7) { width: 5.9%; }
.stat-table th:nth-child(8),
.stat-table td:nth-child(8) { width: 8%; }

.stat-table-panel .stat-table-wrap {
    scrollbar-width: none;
}

.stat-table-panel .stat-table-wrap::-webkit-scrollbar {
    display: none;
}

.stat-cycle-filters {
    grid-template-columns: 260px 150px 120px 86px;
}

.import-page-header {
    align-items: center;
}

.import-path {
    max-width: 760px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #9fc7ef;
    font-size: 12px;
    font-weight: 700;
}

.import-dashboard {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 14px;
}

.import-stat {
    border: 1px solid #5e7083;
    background: #21364b;
    color: #fff;
    padding: 9px 12px;
}

.import-stat span {
    display: block;
    color: #9fc7ef;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.import-stat strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 20px;
}

.import-stat-ok strong {
    color: #49e878;
}

.import-stat-danger strong {
    color: #ff8585;
}

.import-warning {
    margin: 0 14px 10px;
    padding: 10px 12px;
    border: 1px solid #f59e0b;
    background: #2f2413;
    color: #ffd966;
    font-weight: 700;
}

.import-actions-grid,
.import-files-grid,
.import-bottom-grid,
.import-logs-grid {
    display: grid;
    gap: 10px;
    margin: 10px 14px;
}

.import-actions-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-files-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-bottom-grid {
    grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1.2fr);
}

.import-logs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-panel {
    background: #22384d;
    border-color: #5e7083;
    color: #fff;
    min-width: 0;
}

.import-panel h3 {
    margin: 0;
    padding: 8px 10px;
    background: #0b1320;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
}

.import-actions-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
}

.import-actions-row form,
.import-actions-row button {
    width: 100%;
}

.import-btn-start {
    background: #16a34a;
}

.import-actions-row-single {
    grid-template-columns: 1fr;
}

.import-btn-server {
    background: #2563eb;
}

.import-copy-panel {
    margin: 10px 14px;
}

.import-copy-panel .panel-header {
    align-items: flex-start;
}

.import-copy-note {
    margin: 4px 10px 0;
    color: #9fc7ef;
    font-size: 12px;
    font-weight: 700;
}

.import-copy-form,
.import-copy-actions {
    display: grid;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #3a5167;
}

.import-copy-form {
    grid-template-columns: minmax(0, 1fr) 120px;
    align-items: end;
}

.import-copy-form label {
    display: grid;
    gap: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.import-copy-form input {
    width: 100%;
    box-sizing: border-box;
}

.import-copy-actions {
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    color: #d8e6f3;
    font-size: 12px;
    font-weight: 700;
}

.import-file-table-wrap {
    max-height: 250px;
    overflow: auto;
}

.import-file-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    color: #fff;
    font-size: 11px;
}

.import-file-table th,
.import-file-table td {
    padding: 5px 7px;
    border-bottom: 1px solid #3a5167;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.import-file-table th {
    background: #0b1320;
    text-transform: uppercase;
}

.import-file-table tbody tr:nth-child(even) {
    background: #1d3044;
}

.import-file-table th:nth-child(1),
.import-file-table td:nth-child(1) {
    width: 46%;
}

.import-file-table th:nth-child(2),
.import-file-table td:nth-child(2) {
    width: 13%;
}

.import-file-table th:nth-child(3),
.import-file-table td:nth-child(3) {
    width: 16%;
}

.import-panel pre {
    height: 260px;
    margin: 0;
    overflow: auto;
    padding: 10px;
    background: #07111f;
    color: #d8e6f3;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    line-height: 1.35;
    white-space: pre-wrap;
}

.import-log-panel pre {
    height: 360px;
}

.stat-cycle-list {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.stat-cycle-kpis {
    grid-template-columns: repeat(6, minmax(120px, 1fr));
}

.stat-cycle-card {
    border: 1px solid #5e7083;
    background: #22384d;
    color: #fff;
}

.stat-cycle-head {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 2fr;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    background: #0b1320;
}

.stat-cycle-head strong {
    color: #9fc7ef;
    font-size: 16px;
}

.stat-cycle-head span {
    font-weight: 800;
}

.stat-cycle-totals {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    font-size: 12px;
}

.stat-cycle-steps {
    display: grid;
}

.stat-cycle-step {
    display: grid;
    grid-template-columns: 78px 78px 110px 160px repeat(5, minmax(90px, 1fr));
    gap: 7px;
    align-items: center;
    padding: 6px 10px;
    border-top: 1px solid #3a5167;
    font-size: 11px;
}

.stat-cycle-step:nth-child(even) {
    background: #1d3044;
}

.stat-cycle-step-head {
    background: #0b1320 !important;
    color: #ffd966;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.stat-empty,
.stat-empty-cell {
    color: #aebacc;
    padding: 14px;
}

.stat-empty-cell {
    text-align: center;
}

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

    .stat-filters,
    .stat-chart-grid,
    .stat-kpi-grid {
        grid-template-columns: 1fr;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Segoe UI", sans-serif;
    font-size: var(--ui-font);
    color: var(--ink);
    background:
        radial-gradient(circle at top left, rgba(170, 62, 31, 0.14), transparent 30%),
        linear-gradient(135deg, #efe6d8, var(--bg));
    min-height: 100vh;
}

body.theme-dark {
    --bg: #0f172a;
    --paper: #111827;
    --ink: #e5e7eb;
    --muted: #94a3b8;
    --line: #334155;
    --accent: #d97706;
    --accent-dark: #f59e0b;
    --accent-soft: rgba(217, 119, 6, 0.18);
    --success: #34d399;
    --danger: #f87171;
    --shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea {
    font: inherit;
}

.shell {
    display: grid;
    grid-template-columns: 240px 1fr;
    min-height: 100vh;
}

.shell-topnav {
    grid-template-columns: 1fr;
    align-content: start;
}

.sidebar {
    display: flex;
    flex-direction: column;
    padding: 16px 14px;
    background: rgba(37, 25, 18, 0.88);
    color: white;
    backdrop-filter: blur(12px);
    gap: 14px;
}

.sidebar h1,
.hero h2,
.page-header h2,
.auth-card h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

.eyebrow {
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.66rem;
    color: var(--muted);
}

.sidebar .eyebrow {
    color: rgba(255, 255, 255, 0.65);
}

.nav {
    display: grid;
    gap: 10px;
    margin: 0;
}

.nav-group {
    display: grid;
    gap: 4px;
}

.nav-title {
    margin: 0;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.55);
}

.nav-links {
    display: grid;
    gap: 6px;
}

.nav a {
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
}

.nav a:hover {
    background: rgba(255, 255, 255, 0.16);
}

.sidebar-footer {
    display: grid;
    gap: 8px;
    margin-top: auto;
}

.sidebar-footer p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.72);
}

.content {
    padding: 14px 16px;
}

.content-topnav {
    padding-top: 10px;
}

.content-auth {
    display: grid;
    place-items: center;
}

.auth-card,
.panel,
.stat-card {
    background: rgba(255, 253, 248, 0.9);
    border: 1px solid rgba(222, 213, 196, 0.9);
    border-radius: 16px;
    box-shadow: var(--shadow);
}

.auth-card {
    width: min(100%, 460px);
    padding: 22px;
}

.lead {
    color: var(--muted);
    max-width: 60ch;
}

.stack {
    display: grid;
    gap: 10px;
}

label {
    display: grid;
    gap: 5px;
}

input,
textarea,
select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 8px 10px;
    background: white;
}

body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select {
    background: #0b1220;
    color: #e5e7eb;
    border-color: #334155;
}

.button {
    border: 0;
    border-radius: 10px;
    padding: 8px 12px;
    background: var(--accent);
    color: white;
    cursor: pointer;
}

.button:hover {
    background: var(--accent-dark);
}

.button-secondary {
    background: rgba(170, 62, 31, 0.12);
    color: var(--accent-dark);
}

.hero,
.page-header,
.panel-header,
.spread,
.list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.hero {
    margin-bottom: 14px;
}

.hero-badge,
.tag,
.badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: var(--accent-dark);
}

.tag-active {
    background: var(--accent);
    color: white;
}

.stats-grid,
.panel-grid {
    display: grid;
    gap: 12px;
}

.stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 12px;
}

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

.history-layout {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(320px, 420px) 1fr;
}

.users-layout {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(360px, 520px) 1fr;
}

.agenda-shell {
    display: grid;
    gap: 10px;
}

.agenda-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.agenda-topbar h2 {
    margin: 0 0 4px;
    font-family: Georgia, "Times New Roman", serif;
}

.agenda-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.agenda-layout {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 12px;
    align-items: start;
}

.agenda-sidebar {
    display: grid;
    gap: 12px;
}

.agenda-mini-panel {
    position: sticky;
    top: 24px;
}

.agenda-date-big {
    margin: 2px 0 10px;
    font-size: 0.96rem;
    font-weight: 600;
}

.agenda-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.transport-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 12px;
    align-items: start;
}

.transport-board-stack,
.transport-driver-grid {
    display: grid;
    gap: 12px;
}

.transport-board {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    overflow-x: auto;
}

.transport-column {
    min-width: 150px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.38);
    overflow: hidden;
}

.transport-column-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    background: rgba(170, 62, 31, 0.08);
    border-bottom: 1px solid var(--line);
}

.transport-column-body {
    display: grid;
    gap: 8px;
    padding: 8px;
}

.transport-card {
    border-radius: 12px;
    border: 1px solid rgba(170, 62, 31, 0.12);
    background: rgba(255, 255, 255, 0.66);
}

.transport-card-active {
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px rgba(170, 62, 31, 0.18);
}

.transport-card-link {
    display: grid;
    gap: 5px;
    padding: 9px;
}

.transport-card-top,
.transport-inline-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.transport-card p,
.transport-inline-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.35;
}

.transport-form-column {
    position: sticky;
    top: 14px;
}

.transport-form-panel {
    max-height: calc(100vh - 28px);
    overflow: auto;
}

.transport-prepa-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
}

.transport-driver-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.transport-driver-list {
    display: grid;
    gap: 8px;
}

.transport-inline-card {
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.5);
}

.transport-windows-shell {
    display: grid;
    gap: 10px;
}

.transport-toolbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 0 2px;
}

.transport-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    font-weight: 700;
}

.transport-action-blue { background: #3498db; }
.transport-action-green { background: #16a34a; }

.transport-zone {
    background: #34495e;
    border: 1px solid #d7dde6;
    padding: 0;
}

.transport-lane-head {
    display: grid;
    gap: 0;
}

.transport-lane-head-top {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.transport-lane-head-bottom {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 6px;
}

.transport-lane-title {
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.transport-board-windows {
    gap: 0;
    overflow: hidden;
}

.transport-board-top {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 330px;
}

.transport-board-bottom {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 240px;
}

.transport-lane {
    min-height: 100%;
    padding: 8px 4px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: #34495e;
}

.transport-board-windows .transport-lane:nth-child(even) {
    background: #2c3e50;
}

.repertoire-shell {
    display: grid;
    gap: 16px;
}

.repertoire-hero {
    display: grid;
    gap: 18px;
    padding: 22px;
    background:
        radial-gradient(circle at top left, rgba(52, 211, 153, 0.18), transparent 28%),
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.18), transparent 26%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.94), rgba(30, 41, 59, 0.96));
    color: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.repertoire-hero-copy h2 {
    margin: 4px 0 8px;
    font-size: 2rem;
}

.repertoire-hero-copy .lead {
    max-width: 880px;
    color: rgba(226, 232, 240, 0.88);
}

.repertoire-searchbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.repertoire-search-input {
    display: grid;
    gap: 8px;
}

.repertoire-search-input span {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(191, 219, 254, 0.88);
}

.repertoire-search-input input {
    height: 54px;
    padding: 0 18px;
    font-size: 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(96, 165, 250, 0.28);
    background: rgba(248, 250, 252, 0.96);
}

.repertoire-searchbar .button {
    min-height: 54px;
    padding-inline: 20px;
}

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

.repertoire-kpi {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 42, 0.34);
}

.repertoire-kpi span {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(191, 219, 254, 0.78);
}

.repertoire-kpi strong {
    font-size: 1.55rem;
    color: #ffffff;
}

.repertoire-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.repertoire-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(15, 23, 42, 0.3);
    color: #e2e8f0;
    font-weight: 700;
}

.repertoire-tab-active {
    background: linear-gradient(135deg, #22c55e, #2563eb);
    border-color: transparent;
    color: #ffffff;
}

.repertoire-grid {
    display: grid;
    grid-template-columns: minmax(380px, 0.9fr) minmax(520px, 1.1fr);
    gap: 18px;
    align-items: start;
}

.repertoire-list-panel,
.repertoire-detail-panel {
    padding: 18px;
}

.repertoire-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.repertoire-panel-heading h3 {
    margin: 0 0 4px;
    font-size: 1.2rem;
}

.repertoire-panel-heading p {
    margin: 0;
    color: var(--muted);
}

.repertoire-card-list {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 290px);
    overflow: auto;
    padding-right: 4px;
}

.repertoire-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, 0.12);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(31, 41, 55, 0.98), rgba(17, 24, 39, 0.98));
    box-shadow: 0 18px 34px rgba(2, 6, 23, 0.26);
}

.repertoire-card-active {
    border-color: rgba(96, 165, 250, 0.46);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.16), 0 22px 40px rgba(15, 23, 42, 0.34);
}

.repertoire-card-link {
    display: grid;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.repertoire-card-top,
.repertoire-card-actions,
.repertoire-detail-top,
.repertoire-mini-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.repertoire-avatar,
.repertoire-detail-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(135deg, #2563eb, #22c55e);
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.repertoire-detail-avatar {
    width: 74px;
    height: 74px;
    font-size: 1.55rem;
    border-radius: 24px;
}

.repertoire-card-copy,
.repertoire-detail-copy {
    flex: 1;
    min-width: 220px;
}

.repertoire-card-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.repertoire-card-title-row h4,
.repertoire-detail-copy h3 {
    margin: 0;
    font-size: 1.15rem;
}

.repertoire-card-copy p,
.repertoire-detail-copy p {
    margin: 4px 0 0;
    color: var(--muted);
}

.repertoire-favorite {
    color: #f59e0b;
    font-size: 1.1rem;
}

.repertoire-card-meta {
    display: grid;
    gap: 6px;
    color: #cbd5e1;
    font-size: 0.94rem;
}

.repertoire-card-actions {
    justify-content: flex-start;
}

.repertoire-card-actions form {
    margin: 0;
}

.repertoire-detail-hero {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
    padding: 18px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.12), transparent 32%),
        linear-gradient(145deg, rgba(15, 23, 42, 0.94), rgba(30, 41, 59, 0.98));
    border: 1px solid rgba(96, 165, 250, 0.16);
}

.repertoire-quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.repertoire-quick-action {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(15, 23, 42, 0.38);
    border: 1px solid rgba(148, 163, 184, 0.14);
    color: #f8fafc;
}

.repertoire-quick-action span {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(191, 219, 254, 0.8);
}

.repertoire-quick-action strong {
    font-size: 0.98rem;
}

.repertoire-mini-toolbar {
    justify-content: flex-start;
}

.repertoire-mini-toolbar form {
    margin: 0;
}

.repertoire-mini-button {
    min-height: 40px;
}

.repertoire-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.repertoire-detail-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(148, 163, 184, 0.12);
}

body.theme-dark .repertoire-detail-item {
    background: rgba(15, 23, 42, 0.3);
}

.repertoire-detail-item span {
    color: var(--muted);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.repertoire-detail-item strong {
    font-size: 0.98rem;
}

.repertoire-panel-heading-form {
    margin-top: 6px;
}

.repertoire-form {
    display: grid;
    gap: 16px;
}

.button-danger {
    background: linear-gradient(135deg, #b91c1c, #ef4444);
    color: #ffffff;
    border-color: transparent;
}

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

.repertoire-empty {
    padding: 28px 18px;
    text-align: center;
}

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

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

@media (max-width: 720px) {
    .repertoire-searchbar,
    .repertoire-form-grid,
    .repertoire-hero-stats,
    .repertoire-detail-grid {
        grid-template-columns: 1fr;
    }
}

.transport-window-card {
    margin: 0 0 10px;
    border: 1px solid #facc15;
    background: #1e293b;
}

.transport-window-card:not(.transport-window-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard),
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) {
    background: #ffffff;
}

.transport-window-card:not(.transport-window-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-window-card-link,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-card-link {
    color: #111827;
}

.transport-window-card:not(.transport-window-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-window-date,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe):not(.transport-card-tint-mlt):not(.transport-card-tint-nivelles):not(.transport-card-tint-beaumont):not(.transport-card-tint-mcb):not(.transport-card-tint-bernard) .transport-week-prepa {
    color: #111827 !important;
}

.transport-window-card-christophe {
    border-color: #86efac;
    background: #dcfce7;
}

.transport-window-card-christophe .transport-window-card-link {
    color: #052e16;
}

.transport-window-card-christophe .transport-window-date {
    color: #166534;
}

.transport-window-card-christophe .transport-window-prepas {
    border-left-color: rgba(22, 101, 52, 0.28);
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt {
    background: #dcfce7;
    border-color: #86efac;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles {
    background: #fee2e2;
    border-color: #fca5a5;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont {
    background: #ffedd5;
    border-color: #fdba74;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard {
    background: #bfdbfe;
    border-color: #60a5fa;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct {
    background: #fed7aa !important;
    border-color: #fb923c !important;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-card-link,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-card-link,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-ct .transport-week-prepa {
    color: #111827 !important;
}

.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-card-link,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-card-link,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-card-link,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-card-link,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-card-link {
    color: #0f172a !important;
}

.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-destination,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-destination,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-destination,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-destination,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-destination {
    color: #111827 !important;
}

.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-date {
    color: #111827 !important;
}

.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-places,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-driver,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-driver,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-driver,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-driver,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-driver {
    color: #111827 !important;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-prepas,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-prepas,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-prepas,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-prepas,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-prepas,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-prepas {
    border-left-color: rgba(15, 23, 42, 0.18);
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-prepas .transport-prepa-task,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-prepas .transport-prepa-task,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-prepas .transport-prepa-task,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-prepas .transport-prepa-task,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-prepas .transport-prepa-task,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-prepas .transport-prepa-task {
    color: #111827 !important;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-prepas .transport-prepa-task span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-prepas .transport-prepa-task span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-prepas .transport-prepa-task span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-prepas .transport-prepa-task span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-prepas .transport-prepa-task span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-prepas .transport-prepa-task span {
    color: #111827 !important;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-prepas .transport-prepa-task.is-done,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-prepas .transport-prepa-task.is-done,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-prepas .transport-prepa-task.is-done,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-prepas .transport-prepa-task.is-done,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-prepas .transport-prepa-task.is-done,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-prepas .transport-prepa-task.is-done {
    background: rgba(15, 23, 42, 0.12);
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-prepas .transport-prepa-task.is-done span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-prepas .transport-prepa-task.is-done span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-prepas .transport-prepa-task.is-done span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-prepas .transport-prepa-task.is-done span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-prepas .transport-prepa-task.is-done span,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-ct .transport-window-prepas .transport-prepa-task.is-done span {
    color: #111827 !important;
}

.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mlt .transport-window-date,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-nivelles .transport-window-date,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-beaumont .transport-window-date,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-mcb .transport-window-date,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-main,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-chassis,
.transport-window-card:not(.transport-window-card-christophe).transport-card-tint-bernard .transport-window-date,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mlt .transport-week-prepa,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-nivelles .transport-week-prepa,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-beaumont .transport-week-prepa,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-mcb .transport-week-prepa,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-main,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-chassis,
.transport-week-card:not(.transport-week-card-christophe).transport-card-tint-bernard .transport-week-prepa {
    color: #111827 !important;
}

.transport-window-card-active {
    box-shadow: inset 0 0 0 2px #7dd3fc;
}

.transport-demand-shell .transport-window-card-new-demand {
    animation: transportNewDemandPulse 1.15s ease-in-out infinite;
    border-color: #facc15;
}

.transport-window-card-step-done {
    animation: transportStepDonePulse 1.05s ease-in-out infinite;
    border-color: #22c55e;
}

@keyframes transportNewDemandPulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(250, 204, 21, 0.12), inset 0 0 0 1px rgba(250, 204, 21, 0.65);
        filter: brightness(1);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(250, 204, 21, 0.55), 0 0 18px rgba(250, 204, 21, 0.9), inset 0 0 0 2px rgba(250, 204, 21, 0.95);
        filter: brightness(1.12);
    }
}

@keyframes transportStepDonePulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.12), inset 0 0 0 1px rgba(34, 197, 94, 0.65);
        filter: brightness(1);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.45), 0 0 18px rgba(34, 197, 94, 0.85), inset 0 0 0 2px rgba(34, 197, 94, 0.95);
        filter: brightness(1.12);
    }
}

.transport-window-card-link {
    display: grid;
    gap: 4px;
    padding: 0 6px 8px;
    color: #fff;
}

.transport-window-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(86px, 0.75fr);
    gap: 8px;
    align-items: start;
}

.transport-window-details {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.transport-window-band {
    height: 4px;
    margin: 0 -6px 4px;
}

.transport-window-origin,
.transport-window-main,
.transport-window-chassis,
.transport-window-date,
.transport-window-destination,
.transport-window-return {
    text-align: left;
}

.transport-window-origin {
    font-size: 11px;
    font-weight: 700;
}

.transport-window-main {
    font-size: 11px;
    line-height: 1.08;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.transport-window-chassis {
    font-size: 9px;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.transport-window-date {
    color: #f1c40f;
    font-size: 11px;
    font-weight: 700;
}

.transport-window-destination {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
}

.transport-window-return {
    font-size: 9px;
    font-weight: 800;
    line-height: 1.15;
}

.transport-window-created-at {
    color: #000 !important;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.1;
    opacity: 0.72;
}

.transport-window-prepas {
    display: grid;
    gap: 1px;
    align-content: start;
    min-height: 100%;
    padding-left: 4px;
    border-left: 1px solid rgba(148, 163, 184, 0.28);
}

.transport-window-prepas:empty {
    border-left-color: transparent;
}

.transport-window-description {
    color: #111827;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.transport-prepa-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 14px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 3px;
}

.transport-editor-panel {
    margin-top: 8px;
}

.transport-week-shell {
    display: grid;
    gap: 8px;
}

.transport-week-toolbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    color: #fff;
}

.transport-week-title {
    text-align: center;
    font-size: 22px;
    font-weight: 700;
}

.transport-week-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.transport-week-nav {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    background: #ffffff;
    color: #111827;
    font-weight: 700;
    border: 1px solid #9ca3af;
}

.transport-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    background: #223245;
    border: 1px solid #6b7280;
}

.transport-week-column {
    min-height: 820px;
    border-right: 1px solid #0f172a;
    background: #263645;
}

.transport-week-column:last-child {
    border-right: 0;
}

.transport-week-column-head {
    min-height: 42px;
    padding: 6px 4px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    background: #111827;
    border-bottom: 1px solid #0f172a;
}

.transport-week-dropzone {
    min-height: 778px;
    padding: 4px;
}

.transport-week-dropzone.is-over {
    background: rgba(125, 211, 252, 0.08);
}

.transport-week-card {
    margin-bottom: 10px;
    border: 1px solid #facc15;
    background: #1e293b;
    cursor: move;
}

.transport-week-card-christophe {
    border-color: #86efac;
    background: #dcfce7;
}

.transport-week-card-christophe .transport-week-card-link,
.transport-week-card-christophe .transport-week-driver,
.transport-week-card-christophe .transport-week-places {
    color: #052e16;
}

.transport-week-card-christophe .transport-week-date {
    color: #166534;
}

.transport-week-card.is-dragging {
    opacity: 0.55;
}

.transport-week-card-link {
    display: grid;
    gap: 4px;
    padding: 0 6px 8px;
    color: #fff;
}

.transport-week-main,
.transport-week-chassis,
.transport-week-date,
.transport-week-destination,
.transport-week-prepa {
    text-align: left;
}

.transport-week-main {
    font-weight: 700;
    font-size: 13px;
}

.transport-week-chassis {
    font-size: 11px;
}

.transport-week-date {
    color: #facc15;
    font-size: 11px;
    font-weight: 700;
}

.transport-week-destination {
    font-size: 12px;
    font-weight: 700;
}

.transport-week-created-at {
    color: #000 !important;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.1;
    opacity: 0.72;
}

.transport-week-prepa {
    font-size: 11px;
    font-weight: 700;
}

.transport-week-description {
    color: #111827;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.transport-board-shell {
    --transport-top-size: 1fr;
    --transport-bottom-size: 1fr;
    display: grid;
    gap: 8px;
    color: #fff;
    height: calc(100vh - 194px);
    min-height: 620px;
    grid-template-rows:
        minmax(170px, var(--transport-top-size))
        minmax(170px, var(--transport-bottom-size));
}

.transport-new-button {
    font: inherit;
    cursor: pointer;
}

.transport-board-section {
    display: grid;
    gap: 0;
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
}

.transport-board-section-title {
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #111827;
    border: 1px solid #0f172a;
    border-bottom: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
}

.transport-section-controls {
    position: absolute;
    right: 8px;
    display: inline-flex;
    gap: 4px;
}

.transport-section-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 20px;
    border: 1px solid #64748b;
    background: #f8fafc;
    color: #111827;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.transport-board-shell .transport-board-top,
.transport-board-shell .transport-board-bottom {
    min-height: 0;
    height: 100%;
}

.transport-board-shell .transport-lane {
    position: relative;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
}

.transport-dropzone.is-over {
    background: #334155;
    box-shadow: inset 0 0 0 2px #7dd3fc;
}

.transport-window-card {
    position: relative;
    cursor: move;
    transition: transform 0.12s ease, opacity 0.12s ease, box-shadow 0.12s ease;
}

.transport-window-card:hover {
    z-index: 8;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.32);
}

.transport-window-card.is-dragging {
    opacity: 0.55;
}

.transport-modal {
    width: min(1540px, calc(100vw - 6px));
    max-height: calc(100vh - 6px);
    padding: 0;
    border: 1px solid #475569;
    background: #1e293b;
    color: #f8fafc;
    overflow: auto;
}

.transport-modal[open] {
    position: fixed;
    inset: 3px auto auto 50%;
    transform: translateX(-50%);
}

.transport-modal::backdrop {
    background: rgba(15, 23, 42, 0.64);
}

.transport-modal-form {
    display: grid;
    gap: 6px;
    padding: 7px 10px;
}

.transport-modal-head,
.transport-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.transport-modal-head {
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.24);
}

.transport-modal-kicker {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.transport-modal-head h3 {
    margin: 0;
    color: #fff;
    font-size: 17px;
}

.transport-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(148, 163, 184, 0.36);
    background: #0f172a;
    color: #fff;
    font-weight: 800;
}

.transport-modal-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.45fr) minmax(860px, 1.55fr);
    gap: 8px;
}

.transport-modal-pane {
    display: grid;
    align-content: start;
    gap: 6px;
}

.transport-search-field {
    display: grid;
    gap: 6px;
}

.transport-vehicle-results {
    display: grid;
    gap: 6px;
    max-height: 230px;
    overflow: auto;
}

.transport-vehicle-result {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #0f172a;
    color: #f8fafc;
    text-align: left;
    cursor: pointer;
}

.transport-vehicle-result:hover {
    border-color: #7dd3fc;
}

.transport-vehicle-result strong {
    font-size: 13px;
}

.transport-vehicle-result span,
.transport-vehicle-empty {
    color: #cbd5e1;
    font-size: 12px;
}

.transport-modal .form-grid {
    gap: 6px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.transport-modal .form-grid > label {
    min-width: 0;
}

.transport-modal .field-wide {
    grid-column: 1 / -1;
}

.transport-waiting-info {
    display: grid;
    gap: 6px;
    padding: 8px;
    border: 1px solid rgba(250, 204, 21, 0.45);
    background: rgba(250, 204, 21, 0.08);
}

.transport-modal-actions {
    justify-content: flex-end;
    padding-top: 4px;
    border-top: 1px solid rgba(148, 163, 184, 0.24);
}

.top-secondary-spacer {
    flex: 1;
}

.transport-sub-action {
    border: 0;
    font: inherit;
    cursor: pointer;
}

.transport-pdf-button {
    background: linear-gradient(180deg, #22c55e, #15803d);
    border-color: rgba(134, 239, 172, 0.85);
    color: #ffffff;
}

.transport-pdf-button:hover {
    filter: brightness(1.08);
}

.transport-driver-modal {
    width: min(1320px, calc(100vw - 18px));
    max-height: min(860px, calc(100vh - 18px));
}

.transport-driver-modal[open] {
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
}

.transport-driver-modal-inner {
    display: grid;
    gap: 12px;
    padding: 14px 18px;
}

.transport-driver-search {
    display: grid;
    grid-template-columns: minmax(180px, 240px) 1fr;
    align-items: end;
    gap: 12px;
}

.transport-driver-search label {
    display: grid;
    gap: 4px;
    color: #e2e8f0;
    font-size: 12px;
    font-weight: 800;
}

.transport-driver-search input {
    min-height: 36px;
    border: 1px solid #60a5fa;
    background: #173f7a;
    color: #ffffff;
    font-weight: 800;
}

.transport-driver-summary {
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border: 1px solid rgba(125, 211, 252, 0.4);
    background: #0f172a;
    color: #facc15;
    font-weight: 900;
}

.transport-driver-sections {
    display: grid;
    gap: 12px;
}

.transport-driver-panel {
    min-height: 260px;
    border: 1px solid rgba(125, 211, 252, 0.35);
    background: #10233d;
}

.transport-driver-panel h4 {
    margin: 0;
    padding: 9px 10px;
    background: #0f172a;
    color: #facc15;
    font-size: 13px;
    text-transform: uppercase;
}

.transport-driver-panel-muted h4 {
    color: #cbd5e1;
}

.transport-driver-company-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    align-items: start;
    gap: 10px;
    max-height: 440px;
    overflow: auto;
    padding: 10px;
}

.transport-driver-panel-muted .transport-driver-company-grid {
    max-height: 220px;
}

.transport-driver-company {
    display: grid;
    gap: 6px;
}

.transport-driver-company h5 {
    margin: 0;
    padding: 6px 8px;
    border-left: 3px solid #38bdf8;
    background: rgba(15, 23, 42, 0.82);
    color: #ffffff;
    font-size: 12px;
    text-transform: uppercase;
}

.transport-driver-row {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #ffffff;
    color: #111827;
}

.transport-driver-row strong {
    font-size: 13px;
}

.transport-driver-row span,
.transport-driver-empty {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.transport-driver-empty {
    padding: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
}

@media (max-width: 1100px) {
    .transport-lane-head-top,
    .transport-board-top {
        grid-template-columns: repeat(3, minmax(170px, 1fr));
    }

    .transport-lane-head-bottom,
    .transport-board-bottom {
        grid-template-columns: repeat(3, minmax(170px, 1fr));
    }

    .transport-board-windows {
        overflow-x: auto;
    }

    .transport-modal-grid {
        grid-template-columns: 1fr;
    }

    .transport-driver-company-grid,
    .transport-driver-search {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .transport-week-toolbar,
    .transport-modal-head,
    .transport-modal-actions {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .transport-week-actions {
        justify-content: stretch;
    }

    .transport-week-nav {
        justify-content: center;
    }

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

.analyse-compta-import-panel,
.analyse-compta-imports {
    margin-top: 14px;
}

.analyse-compta-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.analyse-compta-guide {
    margin-top: 14px;
}

.analyse-compta-guide h3 {
    margin: 0 0 6px;
    color: var(--app-warning, #ffd84d);
    text-transform: uppercase;
}

.analyse-compta-guide p {
    margin: 0;
    color: var(--app-text, #f6fbff);
    font-weight: 700;
    line-height: 1.4;
}

.analyse-compta-import-form,
.analyse-compta-filters {
    align-items: end;
}

.analyse-compta-import-form input[type="file"] {
    min-width: 280px;
}

.analyse-compta-import-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}

.analyse-compta-import-list article {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--app-border, #31506e);
    border-radius: 6px;
    background: var(--app-panel-alt, #18314a);
}

.analyse-compta-import-list strong {
    color: var(--app-warning, #ffd84d);
    font-size: 18px;
}

.analyse-compta-import-list span {
    color: var(--app-text, #f6fbff);
    font-weight: 800;
}

.analyse-compta-import-list em {
    color: var(--app-muted, #b9d4ec);
    font-style: normal;
    font-size: 12px;
}

.analyse-compta-table-wrap {
    max-height: 70vh;
}

.analyse-compta-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.analyse-compta-chart-card {
    min-width: 0;
}

.analyse-compta-chart-card canvas {
    display: block;
    width: 100%;
    max-width: 100%;
    background: var(--app-panel-alt, #18314a);
    border: 1px solid var(--app-border, #31506e);
    border-radius: 6px;
}

.analyse-compta-table td:nth-child(3),
.analyse-compta-table td:nth-child(4),
.analyse-compta-table td:nth-child(5),
.analyse-compta-table td:nth-child(6) {
    text-align: right;
    white-space: nowrap;
}

.analyse-compta-table .is-up td:nth-child(5),
.analyse-compta-totals .is-up {
    color: var(--app-success, #23b26d);
    font-weight: 900;
}

.analyse-compta-table .is-down td:nth-child(5),
.analyse-compta-totals .is-down {
    color: var(--app-danger, #d74424);
    font-weight: 900;
}

@media (max-width: 900px) {
    .analyse-compta-charts {
        grid-template-columns: 1fr;
    }

    .analyse-compta-import-form input[type="file"] {
        min-width: 0;
        width: 100%;
    }
}

/* Garantie form - balanced desktop layout */
@media (min-width: 1201px) {
    .garantie-win-grid-top {
        grid-template-columns: minmax(420px, 0.9fr) minmax(760px, 1.6fr) !important;
        grid-template-areas:
            "client vehicle"
            "status vehicle" !important;
        align-items: start !important;
    }

    .garantie-win-grid-top > .garantie-panel-dark:nth-child(1) {
        grid-area: client !important;
    }

    .garantie-win-grid-top > .garantie-panel-dark:nth-child(2) {
        grid-area: vehicle !important;
    }

    .garantie-win-grid-top > .garantie-panel-dark:nth-child(3) {
        grid-area: status !important;
    }

    .garantie-win-grid-top > .garantie-panel-dark:nth-child(1) .garantie-win-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .garantie-win-grid-top > .garantie-panel-dark:nth-child(2) .garantie-win-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

.garantie-win-fields label,
.garantie-win-status-top label,
.garantie-win-cost-box label,
.garantie-win-total-box label,
.garantie-win-intervention-grid label {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    align-items: stretch !important;
}

.garantie-win-fields label span,
.garantie-win-status-top label span,
.garantie-win-cost-box label span,
.garantie-win-total-box label span,
.garantie-win-intervention-grid label span {
    text-align: left !important;
}

.garantie-panel-dark {
    align-content: start !important;
}

.garantie-win-fields input,
.garantie-win-fields select,
.garantie-win-intervention-grid input,
.garantie-win-intervention-grid select,
.garantie-win-intervention-grid textarea,
.garantie-win-status-top input,
.garantie-win-status-top select,
.garantie-win-cost-box input,
.garantie-win-total-box input {
    min-height: 31px !important;
    padding: 6px 8px !important;
}

.garantie-win-status-top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Garantie form - final simple layout */
.garantie-windows-page {
    padding: 8px !important;
    min-height: auto !important;
}

.garantie-windows-form {
    gap: 8px !important;
}

.garantie-topbar {
    grid-template-columns: minmax(360px, 1fr) minmax(420px, 520px) minmax(160px, auto) !important;
    padding: 8px !important;
    align-items: center !important;
}

.garantie-topbar-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.garantie-win-grid-top {
    display: grid !important;
    grid-template-columns: minmax(360px, 0.95fr) minmax(520px, 1.35fr) minmax(360px, 0.95fr) !important;
    grid-template-areas: "client vehicle status" !important;
    gap: 8px !important;
    align-items: start !important;
}

.garantie-win-grid-top > .garantie-panel-dark:nth-child(1) {
    grid-area: client !important;
}

.garantie-win-grid-top > .garantie-panel-dark:nth-child(2) {
    grid-area: vehicle !important;
}

.garantie-win-grid-top > .garantie-panel-dark:nth-child(3) {
    grid-area: status !important;
}

.garantie-win-grid-middle {
    grid-template-columns: minmax(360px, 0.8fr) minmax(620px, 1.2fr) !important;
    gap: 8px !important;
    align-items: start !important;
}

.garantie-panel-dark,
.garantie-win-cost-box,
.garantie-validation-panel {
    padding: 8px !important;
    min-height: 0 !important;
    align-self: start !important;
}

.garantie-win-legend,
.garantie-panel-dark h3,
.garantie-win-cost-box h3 {
    margin-bottom: 7px !important;
    font-size: 14px !important;
}

.garantie-win-grid-top .garantie-win-fields,
.garantie-win-intervention-grid,
.garantie-win-status-top,
.garantie-win-cost-columns {
    gap: 7px !important;
}

.garantie-win-grid-top > .garantie-panel-dark:nth-child(1) .garantie-win-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-grid-top > .garantie-panel-dark:nth-child(2) .garantie-win-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-status-top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-badges-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-fields label,
.garantie-win-status-top label,
.garantie-win-cost-box label,
.garantie-win-total-box label,
.garantie-win-intervention-grid label {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
}

.garantie-win-fields label span,
.garantie-win-status-top label span,
.garantie-win-cost-box label span,
.garantie-win-total-box label span,
.garantie-win-intervention-grid label span {
    min-height: 14px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

.garantie-win-fields input,
.garantie-win-fields select,
.garantie-win-intervention-grid input,
.garantie-win-intervention-grid select,
.garantie-win-intervention-grid textarea,
.garantie-win-status-top input,
.garantie-win-status-top select,
.garantie-win-cost-box input,
.garantie-win-total-box input,
.garantie-direction-box select,
.garantie-topbar-meta input,
.garantie-topbar-meta select {
    min-height: 30px !important;
    padding: 5px 7px !important;
    font-size: 12px !important;
}

.garantie-win-intervention-grid textarea {
    min-height: 50px !important;
}

.garantie-badge {
    min-height: 30px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
}

.garantie-status-card,
.garantie-win-badge-box,
.garantie-win-entretien-result,
.garantie-win-cost-columns > div,
.garantie-win-total-box {
    padding: 7px !important;
}

.garantie-win-cost-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 0.75fr) !important;
}

@media (max-width: 1500px) {
    .garantie-win-grid-top {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "client status"
            "vehicle vehicle" !important;
    }

    .garantie-topbar,
    .garantie-win-grid-middle,
    .garantie-win-cost-columns {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    .garantie-topbar,
    .garantie-topbar-meta,
    .garantie-win-grid-top,
    .garantie-win-grid-top > .garantie-panel-dark:nth-child(1) .garantie-win-fields,
    .garantie-win-grid-top > .garantie-panel-dark:nth-child(2) .garantie-win-fields,
    .garantie-win-status-top,
    .garantie-win-badges-grid,
    .garantie-win-intervention-grid {
        grid-template-columns: 1fr !important;
        grid-template-areas: none !important;
    }
}

/* Garantie form - top identity block only */
.garantie-windows-form .garantie-win-grid-top {
    display: grid !important;
    grid-template-columns: minmax(360px, 0.95fr) minmax(520px, 1.35fr) minmax(360px, 0.95fr) !important;
    grid-template-areas: "client vehicle status" !important;
    gap: 8px !important;
    align-items: start !important;
}

.garantie-windows-form .garantie-win-grid-top > .garantie-panel-dark:nth-child(1) {
    grid-area: client !important;
}

.garantie-windows-form .garantie-win-grid-top > .garantie-panel-dark:nth-child(2) {
    grid-area: vehicle !important;
}

.garantie-windows-form .garantie-win-grid-top > .garantie-panel-dark:nth-child(3) {
    grid-area: status !important;
}

.garantie-windows-form .garantie-win-grid-top > .garantie-panel-dark {
    align-self: start !important;
}

@media (max-width: 1250px) {
    .garantie-windows-form .garantie-win-grid-top {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "client"
            "vehicle"
            "status" !important;
    }
}

.empty-state {
    margin: 0;
    color: var(--muted);
}

.dashboard-home {
    display: grid;
    gap: 14px;
    color: #f8fafc;
}

.dashboard-top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: linear-gradient(180deg, #1e293b, #111827);
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.dashboard-top .eyebrow,
.dashboard-version {
    color: #94a3b8;
}

.dashboard-top h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
}

.dashboard-version {
    margin: 6px 0 0;
}

.dashboard-user-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dash-small-button,
.dash-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 8px;
    color: white;
    font-weight: 600;
}

.dash-small-button {
    background: #3b82f6;
}

.dashboard-module-strip {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-module-group {
    display: grid;
    gap: 6px;
}

.dashboard-module-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
}

.dashboard-module-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-module-pill {
    padding: 9px 16px;
    border-radius: 0;
    color: white;
    font-weight: 700;
    min-width: 110px;
    text-align: center;
}

.dashboard-module-1 { background: #1d4ed8; }
.dashboard-module-2 { background: #d946ef; }
.dashboard-module-3 { background: #16a34a; }
.dashboard-module-4 { background: #15803d; }
.dashboard-module-5 { background: #9f1239; }
.dashboard-module-6 { background: #e11d48; }
.dashboard-module-7 { background: #1d4ed8; }

.dashboard-dark-panel {
    background: #111827;
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #f8fafc;
    box-shadow: none;
}

.dashboard-dark-panel .panel-header h3,
.dashboard-dark-panel p,
.dashboard-dark-panel th,
.dashboard-dark-panel td {
    color: #f8fafc;
}

.dashboard-quick-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.dash-link-button {
    background: #2563eb;
}

.dashboard-ct-shell {
    overflow-x: auto;
}

.dashboard-ct-table {
    min-width: 980px;
}

.dashboard-ct-table thead th {
    background: #f1f5f9;
    color: #111827;
    border-bottom: 0;
    padding: 3px 6px;
    font-weight: 700;
}

.dashboard-ct-table tbody td {
    padding: 3px 6px;
    border-bottom: 0;
    color: white;
}

.ct-row-rdv td {
    background: #2563eb;
}

.ct-row-urgent td {
    background: #dc2626;
}

.ct-row-warning td {
    background: #f59e0b;
}

.dashboard-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.95fr);
    gap: 14px;
    align-items: start;
}

.dashboard-absence-shell {
    max-height: 560px;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #1f2c34;
}

.dashboard-absence-grid {
    display: grid;
    grid-template-columns: 290px repeat(7, 40px);
    gap: 2px;
    align-items: center;
    padding: 8px;
    min-width: 600px;
}

.dashboard-absence-head {
    text-align: center;
    color: white;
    font-size: 0.82rem;
}

.dashboard-absence-name {
    color: white;
    font-size: 0.84rem;
    white-space: nowrap;
}

.dashboard-absence-cell,
.dashboard-absence-empty,
.dashboard-absence-split {
    width: 40px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 0.8rem;
}

.dashboard-absence-empty {
    background: transparent;
}

.dashboard-absence-split {
    padding: 0;
    overflow: hidden;
    background: transparent;
}

.dashboard-absence-split span {
    flex: 1;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.dashboard-reminders {
    min-height: 560px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #1f2937;
    padding: 10px;
    display: grid;
    align-content: start;
    gap: 8px;
}

.dashboard-reminder {
    color: white;
    font-size: 0.92rem;
}

.dashboard-reminder-today {
    color: #ef4444;
}

.dashboard-reminder-soon {
    color: #f59e0b;
}

.dashboard-empty {
    color: #94a3b8;
}

.top-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    background: #1e293b;
    color: white;
}

.top-shell-meta,
.top-shell-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.top-shell-meta span,
.top-shell-user span {
    color: #cbd5e1;
    font-size: 0.88rem;
}

.top-shell-user {
    display: grid;
    gap: 2px;
    text-align: right;
}

.top-action-button {
    border: 0;
    border-radius: 6px;
    padding: 7px 10px;
    background: #3b82f6;
    color: white;
    cursor: pointer;
}

.top-action-danger {
    background: #ef4444;
}

.top-primary-nav,
.top-secondary-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px 16px;
    background: #111827;
}

.top-secondary-nav {
    padding-top: 4px;
    background: #151f30;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.top-flash-stack {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.top-flash {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.top-flash-success {
    background: rgba(34, 197, 94, 0.14);
    color: #86efac;
}

.top-flash-error {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

.top-flash-warning {
    background: rgba(245, 158, 11, 0.16);
    color: #fde68a;
}

.app-message-dialog,
.app-confirm-dialog {
    width: min(680px, calc(100vw - 32px));
    border: 1px solid #ffd966;
    padding: 0;
    background: #102236;
    color: #eef6ff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.app-message-dialog[open],
.app-confirm-dialog[open] {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
}

.app-message-dialog::backdrop,
.app-confirm-dialog::backdrop {
    background: rgba(3, 10, 18, 0.68);
}

.app-message-card {
    display: grid;
    gap: 0;
    margin: 0;
}

.app-message-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 217, 102, 0.28);
    color: #ffd966;
    font-weight: 900;
    text-transform: uppercase;
}

.app-message-close {
    width: 30px;
    height: 30px;
    border: 0;
    background: #2f7ded;
    color: #ffffff;
    font-size: 20px;
    font-weight: 900;
    cursor: pointer;
}

.app-message-body {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.app-message-line {
    margin: 0;
    color: #eef6ff;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.app-message-success {
    color: #8ff0b0;
}

.app-message-error {
    color: #ff8585;
}

.app-message-warning {
    color: #ffe08a;
}

.app-message-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 16px 16px;
}

html[data-mondial-theme="light"] .app-message-dialog,
html[data-mondial-theme="light"] .app-confirm-dialog {
    background: #f4f9fd;
    color: #071522;
    border-color: #d4a800;
}

html[data-mondial-theme="light"] .app-message-head {
    color: #b58500;
    border-bottom-color: #d8c06a;
}

html[data-mondial-theme="light"] .app-message-line {
    color: #071522;
}

html[data-mondial-theme="light"] .app-message-success {
    color: #16834a;
}

html[data-mondial-theme="light"] .app-message-error {
    color: #c21d1d;
}

html[data-mondial-theme="light"] .app-message-warning {
    color: #9a6500;
}

.top-main-button,
.top-sub-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
}

.top-main-button {
    min-width: 110px;
    padding: 11px 18px;
}

.top-main-acceuil { background: #0a40f1; }
.top-main-activite { background: #e610db; }
.top-main-garanties { background: #16a34a; }
.top-main-personnel { background: #16a316; }
.top-main-transport { background: #a31639; }
.top-main-vr { background: #ea0c43; }
.top-main-communication { background: #111827; }
.top-main-signaletique { background: #1e1af3; }

.top-main-button.is-active {
    box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.9);
}

.top-sub-button {
    padding: 7px 10px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 0;
}

.top-sub-button.is-active {
    background: rgba(255, 255, 255, 0.18);
}

.dashboard-page-header h2 {
    color: #f8fafc;
}

.vr-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) 340px;
    gap: 12px;
    align-items: start;
}

.vr-side-stack {
    display: grid;
    gap: 12px;
}

.vr-selector-row {
    display: flex;
    gap: 10px;
    align-items: end;
    margin-bottom: 12px;
}

.vr-selector-row label {
    min-width: 180px;
}

.vr-section {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(243, 216, 205, 0.12);
}

.vr-section h4 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

.vr-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 12px;
}

.vr-info-list {
    display: grid;
    gap: 8px;
}

.vr-info-list div {
    display: grid;
    gap: 2px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line);
}

.vr-filter-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
}

.vr-row-danger td {
    background: rgba(220, 38, 38, 0.16);
}

.vr-row-warning td {
    background: rgba(245, 158, 11, 0.18);
}

.vr-row-success td {
    background: rgba(34, 197, 94, 0.12);
}

.vr-row-rdv td {
    background: rgba(37, 99, 235, 0.18);
}

.vr-page-header {
    margin-bottom: 6px;
    color: #f8fafc;
}

.vr-page-header h2 {
    font-size: 1.35rem;
}

.vr-workspace {
    display: grid;
    gap: 6px;
    color: #f8fafc;
}

.vr-form-workspace {
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
}

.vr-dark-panel {
    border-radius: 0;
    border: 1px solid #778492;
    background: #2f4052;
    box-shadow: none;
}

.vr-dark-panel .panel-header {
    margin: -6px -8px 8px;
    padding: 4px 8px;
    background: #111827;
    color: #ffffff;
}

.vr-dark-panel .panel-header h3 {
    margin: 0;
    font-size: 0.92rem;
    text-transform: uppercase;
}

.vr-dark-panel .badge {
    border-radius: 0;
    background: #e2ac25;
    color: #111827;
    font-weight: 800;
}

.vr-form-panel,
.vr-list-panel {
    padding: 6px 8px;
}

.vr-form-panel {
    max-height: calc(100vh - 136px);
    overflow: hidden;
}

.vr-selector-row {
    margin-bottom: 6px;
}

.vr-selector-row label {
    flex: 1;
}

.vr-selector-row select,
.vr-live-filters input,
.vr-live-filters select,
.vr-compact-form input,
.vr-compact-form select,
.vr-rdv-actions input {
    min-height: 24px;
    height: 24px;
    padding: 2px 6px;
    border-radius: 0;
    border: 1px solid #8897a5;
    background: #fff3b0;
    color: #111827;
    font-size: 0.78rem;
}

.vr-compact-form input:disabled {
    background: #263647;
    color: #ffffff;
    opacity: 1;
}

.vr-compact-form label span,
.vr-live-filters label span,
.vr-selector-row label span {
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.vr-compact-form {
    gap: 5px;
}

.vr-section {
    gap: 4px;
    padding: 5px;
    border-radius: 0;
    border-color: #728294;
    background: #243446;
}

.vr-section h4 {
    color: #ffffff;
    font-size: 0.82rem;
    font-family: "Segoe UI", sans-serif;
    text-transform: uppercase;
}

.vr-form-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px 7px;
}

.vr-check-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px 8px;
}

.vr-check-grid .checkbox-line {
    gap: 5px;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 700;
    min-width: 0;
}

.vr-check-grid .checkbox-line span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vr-side-stack {
    gap: 6px;
}

.vr-side-stack .panel {
    padding: 6px 8px;
}

.vr-info-list {
    gap: 3px;
    font-size: 0.76rem;
}

.vr-info-list div {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 6px;
    padding-bottom: 3px;
    border-bottom-color: rgba(255, 255, 255, 0.16);
}

.vr-info-list strong {
    color: #f1c40f;
}

.vr-info-list span {
    min-width: 0;
    overflow: hidden;
    color: #ffffff;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vr-history-panel .list {
    max-height: 180px;
    overflow: auto;
}

.vr-history-panel .list-row {
    border-radius: 0;
    background: #243446;
    color: #ffffff;
}

.vr-live-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) repeat(4, minmax(135px, 0.8fr)) auto;
    gap: 6px;
    align-items: end;
}

.vr-live-filters label {
    min-width: 0;
}

.vr-table-shell {
    max-height: calc(100vh - 228px);
    overflow: auto;
    border: 1px solid #1c2938;
    background: #223142;
}

.vr-dark-table {
    font-size: 0.78rem;
}

.vr-dark-table th,
.vr-dark-table td {
    padding: 3px 6px;
    border: 1px solid #2c3a49;
    line-height: 1.18;
}

.vr-dark-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #0f172a;
    color: #ffffff;
    text-transform: uppercase;
}

.vr-dark-table tbody tr {
    cursor: pointer;
}

.vr-dark-table tbody td {
    color: #ffffff;
    background: #30475b;
}

.vr-dark-table tbody tr:nth-child(even) td {
    background: #293d50;
}

.vr-dark-table tbody tr:hover td {
    background: #3d99d8 !important;
    color: #ffffff !important;
}

.vr-dark-table a {
    color: #79c7ff;
    font-weight: 800;
}

.vr-dark-table td.caisse-debit-cell {
    color: #47e88b;
    font-weight: 800;
}

.vr-dark-table td.caisse-credit-cell {
    color: #ff5f6a;
    font-weight: 800;
}

.vr-dark-table .vr-row-danger td,
.vr-row-danger td {
    color: #ff6b6b;
}

.vr-dark-table .vr-row-warning td,
.vr-row-warning td {
    color: #ffd54a;
}

.vr-dark-table .vr-row-success td,
.vr-row-success td {
    color: #61d979;
}

.vr-dark-table .vr-row-rdv td,
.vr-row-rdv td {
    color: #66c7ff;
}

.vr-small-button {
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 0;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.vr-list-workspace {
    gap: 3px;
}

.vr-list-workspace .vr-list-panel {
    padding: 3px 5px;
}

.vr-list-workspace .panel-header {
    margin: -3px -5px 4px;
    padding: 2px 5px;
    min-height: 22px;
}

.vr-list-workspace .panel-header h3 {
    font-size: 0.78rem;
}

.vr-list-workspace .badge {
    padding: 1px 5px;
    font-size: 0.68rem;
    line-height: 1.1;
}

.vr-list-workspace .vr-live-filters {
    grid-template-columns: minmax(180px, 1.2fr) repeat(4, minmax(118px, 0.75fr)) auto;
    gap: 3px;
}

.vr-list-workspace .vr-live-filters label {
    gap: 1px;
}

.vr-list-workspace .vr-live-filters label span {
    font-size: 0.62rem;
    line-height: 1;
}

.vr-list-workspace .vr-live-filters input,
.vr-list-workspace .vr-live-filters select {
    min-height: 19px;
    height: 19px;
    padding: 0 4px;
    font-size: 0.68rem;
}

.vr-list-workspace .vr-small-button {
    min-height: 19px;
    padding: 1px 6px;
    font-size: 0.68rem;
}

.vr-list-table-shell {
    max-height: calc(100vh - 168px);
}

.vr-list-table {
    font-size: 0.68rem;
}

.vr-list-table th,
.vr-list-table td {
    padding: 1px 4px;
    line-height: 1.02;
}

.vr-list-table input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin: 0;
}

.vr-list-table .badge {
    padding: 0 4px;
    font-size: 0.62rem;
}

.vr-matrix-workspace {
    gap: 4px;
}

.vr-matrix-workspace .vr-list-panel {
    padding: 4px 8px;
    border: 1px solid #5da2e8;
    border-radius: 0;
    background: #0d2f57;
    box-shadow: none;
}

.vr-matrix-workspace .panel-header {
    margin: -4px -8px 4px;
    padding: 3px 9px;
    min-height: 24px;
    background: #071d36;
    border-bottom: 1px solid #5da2e8;
}

.vr-matrix-workspace .panel-header h3 {
    color: #ffd94d;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.vr-matrix-workspace .badge {
    padding: 1px 6px;
    border: 1px solid #5da2e8;
    border-radius: 0;
    background: #ffd9a6;
    color: #061a2d;
    font-size: 0.7rem;
    line-height: 1.05;
}

.vr-matrix-workspace .vr-live-filters {
    grid-template-columns: minmax(190px, 1.25fr) repeat(5, minmax(118px, 0.8fr)) auto;
    gap: 4px;
}

.vr-matrix-workspace .vr-live-filters label {
    gap: 1px;
}

.vr-matrix-workspace .vr-live-filters label span {
    color: #ffffff;
    font-size: 0.64rem;
    line-height: 1;
}

.vr-matrix-workspace .vr-live-filters input,
.vr-matrix-workspace .vr-live-filters select,
.vr-matrix-workspace .vr-rdv-actions input[type="date"],
.vr-matrix-workspace .vr-rdv-actions input[type="datetime-local"] {
    min-height: 20px;
    height: 20px;
    padding: 0 5px;
    border: 1px solid #5da2e8;
    border-radius: 0;
    background: #173b6a;
    color: #ffffff;
    font-size: 0.68rem;
}

.vr-matrix-workspace .vr-small-button {
    min-height: 20px;
    padding: 1px 7px;
    border-radius: 0;
    font-size: 0.68rem;
    line-height: 1.05;
}

.vr-matrix-workspace .vr-table-shell {
    max-height: calc(100vh - 166px);
    border: 1px solid #5da2e8;
    background: #123a66;
}

.vr-matrix-workspace .vr-dark-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.69rem;
}

.vr-matrix-workspace .vr-dark-table th,
.vr-matrix-workspace .vr-dark-table td {
    padding: 2px 7px;
    border: 1px solid #5da2e8;
    line-height: 1.08;
    white-space: nowrap;
}

.vr-matrix-workspace .vr-dark-table thead th {
    background: #1f5a89;
    color: #8fd0ff;
    font-weight: 900;
    text-transform: uppercase;
}

.vr-matrix-workspace .vr-dark-table tbody td {
    background: #143b69;
    color: #ffffff;
    font-weight: 750;
}

.vr-matrix-workspace .vr-dark-table tbody tr:nth-child(even) td {
    background: #123761;
}

.vr-matrix-workspace .vr-dark-table tbody tr:hover td {
    background: #245f97 !important;
    color: #ffffff !important;
}

.vr-matrix-workspace .vr-dark-table a {
    color: #ffffff;
    font-weight: 900;
}

.vr-matrix-workspace .vr-row-danger td {
    color: #ff3030 !important;
}

.vr-matrix-workspace .vr-row-warning td {
    color: #ffd94d !important;
}

.vr-matrix-workspace .vr-row-success td,
.vr-matrix-workspace .vr-row-rdv td {
    color: #12d46b !important;
}

.vr-matrix-workspace .vr-rdv-actions {
    gap: 3px;
}

.vr-matrix-workspace .vr-rdv-actions form {
    gap: 3px;
}

.vr-rdv-actions {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-wrap: nowrap;
}

.vr-rdv-actions form {
    display: flex;
    gap: 4px;
    align-items: center;
    margin: 0;
}

.vr-rdv-actions input[type="datetime-local"] {
    width: 150px;
}

.vr-rdv-actions input[type="date"] {
    width: 116px;
}

.vehicle-form-page {
    min-height: 0;
    padding: 8px 10px;
    overflow: visible;
}

.vehicle-form-panel {
    min-height: 0;
    overflow: visible;
}

.vr-universal-form-panel {
    max-height: none;
    overflow: visible;
}

.vehicle-sticky-header {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 7px 10px;
}

.vehicle-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.vehicle-selector-form {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 8px;
    align-items: end;
    margin: 8px 10px 0;
}

.vehicle-actions-top {
    padding: 0;
    justify-content: flex-start;
}

.vehicle-form {
    display: grid;
    gap: 7px;
    padding: 8px 10px 12px;
}

.vehicle-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 7px 8px 8px;
    border: 1px solid rgba(159, 199, 239, .24);
}

.vehicle-form legend {
    color: #9fc7ef;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.vehicle-form-grid {
    grid-template-columns: repeat(6, minmax(115px, 1fr));
    gap: 7px;
}

.vehicle-form-grid.compact {
    grid-template-columns: repeat(3, minmax(145px, 1fr));
    justify-content: start;
}

.vehicle-section-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 7px;
}

.vehicle-form label {
    gap: 2px;
    font-size: 11px;
}

.vehicle-form input,
.vehicle-form select {
    min-height: 28px;
}

.vehicle-check-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px 8px;
}

.vr-universal-form .checkbox-line {
    min-height: 28px;
    padding: 0 2px;
}

.vr-universal-form .checkbox-line input[type="checkbox"] {
    width: 14px;
    height: 14px;
    min-height: auto;
}

.vehicle-info-list {
    font-size: 0.76rem;
}

.vr-universal-form .vr-history-panel .list {
    max-height: 155px;
    overflow: auto;
}

@media (max-width: 1280px) {
    .vehicle-form-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vehicle-form-grid.compact,
    .vehicle-section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .vehicle-form-grid,
    .vehicle-form-grid.compact,
    .vehicle-section-grid,
    .vehicle-selector-form {
        grid-template-columns: 1fr;
    }
}

.signal-dark-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 0.42fr) minmax(0, 1fr);
    gap: 6px;
    align-items: start;
    color: #f8fafc;
}

.signal-form-panel,
.signal-table-panel,
.signal-users-layout .vr-dark-panel {
    padding: 6px 8px;
}

.signal-table-header {
    margin-top: 6px !important;
}

.signal-dark-form {
    gap: 6px;
}

.signal-dark-form input,
.signal-dark-form select,
.signal-live-filters input,
.signal-live-filters select {
    min-height: 24px;
    height: 24px;
    padding: 2px 6px;
    border-radius: 0;
    border: 1px solid #8897a5;
    background: #fff3b0;
    color: #111827;
    font-size: 0.78rem;
}

.signal-dark-form input:disabled {
    background: #263647;
    color: #ffffff;
    opacity: 1;
}

.signal-dark-form label span,
.signal-live-filters label span {
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

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

.signal-form-grid .field-wide {
    grid-column: 1 / -1;
}

.signal-live-filters {
    grid-template-columns: minmax(200px, 1.2fr) repeat(4, minmax(120px, 0.8fr)) auto;
    margin-bottom: 6px;
}

.signal-table-shell {
    max-height: calc(100vh - 280px);
}

.caisse-balance-panel {
    margin-top: 10px;
    border: 1px solid #728294;
    background: #182637;
}

.caisse-balance-panel .panel-header {
    margin: 0 !important;
    padding: 6px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.caisse-balance-list {
    display: grid;
    gap: 4px;
    max-height: 250px;
    overflow: auto;
    padding: 7px;
}

.caisse-balance-row,
.caisse-balance-total {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #0f1b2a;
    color: #ffffff;
    padding: 7px 8px;
    text-decoration: none;
}

.caisse-balance-row:hover,
.caisse-balance-row.is-active {
    border-color: #f1c40f;
    background: #26394d;
}

.caisse-balance-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.caisse-balance-row strong,
.caisse-balance-total strong {
    color: #f1c40f;
}

.caisse-balance-total {
    margin: 0 7px 7px;
    border-color: rgba(241, 196, 15, 0.5);
    background: rgba(241, 196, 15, 0.13);
    font-weight: 900;
    text-transform: uppercase;
}

.caisse-split-layout {
    display: grid;
    grid-template-columns: minmax(680px, 1.15fr) minmax(520px, 0.85fr);
    gap: 10px;
    padding: 8px 10px 14px;
    color: #f8fafc;
    height: calc(100vh - 150px);
    min-height: 560px;
    overflow: hidden;
}

.caisse-employee-panel,
.caisse-bleu-panel {
    min-width: 0;
    padding: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.caisse-bleu-panel {
    border-color: #3b82f6;
}

.caisse-bleu-panel > .panel-header {
    border-bottom: 1px solid rgba(59, 130, 246, 0.55);
}

.caisse-bleu-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 8px;
    flex: 0 0 auto;
}

.caisse-compact-form {
    margin-bottom: 8px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #182637;
}

.caisse-compact-form .panel-header {
    margin: -2px 0 6px !important;
    padding: 0;
    border: 0;
}

.caisse-compact-form .panel-header h3 {
    font-size: 0.78rem;
}

.caisse-filter-bar {
    margin: 8px 0 6px;
}

.caisse-filter-bar.signal-live-filters {
    grid-template-columns: minmax(150px, 1fr) minmax(120px, 0.8fr) repeat(2, minmax(115px, 0.7fr)) auto;
}

.caisse-split-table {
    flex: 1 1 auto;
    min-height: 180px;
    max-height: none;
    overflow: auto;
}

.caisse-employee-panel .caisse-balance-panel {
    flex: 0 0 auto;
}

.caisse-employee-panel .caisse-balance-list {
    max-height: 145px;
}

.caisse-split-table .badge {
    border-color: rgba(59, 130, 246, 0.65);
    background: rgba(59, 130, 246, 0.2);
    color: #dbeafe;
}

@media (max-width: 1280px) {
    .caisse-split-layout {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .caisse-split-table {
        max-height: 45vh;
    }
}

.signal-summary-shell {
    max-height: 260px;
    overflow: auto;
    border: 1px solid #1c2938;
}

.signal-users-layout {
    grid-template-columns: minmax(390px, 0.78fr) minmax(520px, 1.22fr);
    gap: 6px;
}

.signal-rights-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.signal-rights-card {
    border-radius: 0;
    border: 1px solid #728294;
    background: #243446;
    color: #ffffff;
    padding: 6px;
}

.signal-rights-card h4 {
    color: #f1c40f;
    font-family: "Segoe UI", sans-serif;
    font-size: 0.68rem;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.signal-rights-card .checkbox-line {
    font-size: 0.68rem;
}

.user-rights-list {
    gap: 2px;
}

.rights-line {
    min-height: 20px;
    border: 1px solid rgba(159, 199, 239, 0.12);
    padding: 2px 5px;
    background: rgba(255, 255, 255, 0.025);
}

.rights-line input {
    flex: 0 0 auto;
}

.rights-permission-head,
.rights-permission-line {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) 118px;
    align-items: center;
    gap: 4px;
}

.rights-permission-head {
    color: #9fc7ef;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 0 5px 3px;
}

.rights-permission-head span:not(:first-child),
.rights-permission-line select {
    justify-self: center;
}

.rights-level-select {
    width: 118px;
    min-height: 26px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 900;
    padding: 2px 5px;
    text-transform: uppercase;
}

.rights-choice-none {
    background: #7f1d1d !important;
}

.rights-choice-view {
    background: #c2410c !important;
}

.rights-choice-edit {
    background: #15803d !important;
}

.rights-level-0 {
    background: rgba(255, 217, 102, 0.12);
    color: #ffffff;
    font-weight: 900;
}

.rights-level-1 {
    margin-left: 10px;
    color: #dce7f3;
    font-weight: 600;
}

.rights-level-1 span::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    margin: 0 6px 4px 0;
    background: rgba(159, 199, 239, 0.6);
}

.user-top-actions {
    margin: 0 0 8px;
}

.user-top-actions form {
    margin: 0;
}

.signal-users-layout {
    grid-template-columns: minmax(330px, 0.42fr) minmax(540px, 0.58fr);
    gap: 12px;
    padding: 12px;
}

.signal-users-layout .vr-dark-panel {
    border: 1px solid #4f6983;
    background: #172638;
}

.signal-users-layout .panel-header {
    border-bottom: 1px solid rgba(159, 199, 239, 0.2);
    padding: 10px 12px;
}

.signal-users-layout .panel-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 16px;
    text-transform: uppercase;
}

.signal-live-filters {
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid rgba(159, 199, 239, 0.2);
}

.signal-dark-form {
    gap: 12px;
    padding: 12px;
}

.signal-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.signal-rights-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.users-rights-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 360px) 1fr;
    gap: 10px;
    align-items: end;
    padding: 0 0 4px;
}

.users-rights-toolbar label {
    display: grid;
    gap: 4px;
}

.users-rights-toolbar span {
    color: #9fc7ef;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.users-rights-toolbar input {
    min-height: 34px;
    border: 1px solid rgba(159, 199, 239, 0.28);
    background: #102033;
    color: #ffffff;
    padding: 6px 8px;
}

.users-rights-summary {
    color: #cfe3f7;
    font-size: 12px;
    font-weight: 700;
}

.signal-rights-card {
    border: 1px solid rgba(159, 199, 239, 0.24);
    background: #1d3146;
    padding: 9px;
}

.rights-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    align-items: center;
    margin: 0 0 8px;
}

.signal-rights-card h4 {
    margin: 0;
    color: #9fc7ef;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.rights-card-actions {
    display: flex;
    gap: 3px;
}

.rights-card-actions button {
    min-height: 24px;
    border: 1px solid rgba(159, 199, 239, 0.26);
    background: #102033;
    color: #dcecff;
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 5px;
    text-transform: uppercase;
}

.rights-card-actions button:hover {
    border-color: #9fc7ef;
    color: #ffffff;
}

.user-rights-list {
    display: grid;
    gap: 3px;
}

.user-rights-tree {
    gap: 7px;
}

.rights-menu-section {
    display: grid;
    gap: 4px;
    padding: 5px 0 0 10px;
    border-left: 2px solid rgba(159, 199, 239, 0.26);
}

.rights-menu-section-direct {
    padding-left: 0;
    border-left: 0;
}

.rights-menu-title {
    color: #ffd84d;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.rights-menu-items {
    display: grid;
    gap: 3px;
}

.rights-menu-section:not(.rights-menu-section-direct) .rights-line {
    padding-left: 8px;
}

.signal-users-layout .rights-line {
    min-height: 20px;
    margin: 3px 0;
    border: 0;
    background: transparent;
    padding: 0;
}

.signal-users-layout .rights-permission-line {
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: 6px;
}

.signal-users-layout .rights-line span {
    line-height: 1.15;
}

.signal-users-layout .rights-level-select {
    width: 118px;
    min-height: 26px;
    padding: 2px 5px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
}

.signal-users-layout .rights-level-0 {
    background: transparent;
}

.signal-users-layout .rights-level-0 span {
    font-weight: 900;
}

.signal-users-layout .rights-level-1 {
    margin-left: 18px;
    color: #eef7ff;
    font-weight: 800;
}

.signal-users-layout .rights-level-1 span::before {
    display: none;
}

.signal-users-layout .user-top-actions {
    margin: 0;
    padding: 12px 12px 0;
    justify-content: flex-end;
}

@media (max-width: 1080px) {
    .signal-users-layout,
    .signal-form-grid,
    .signal-rights-grid,
    .users-rights-toolbar {
        grid-template-columns: 1fr;
    }
}

.employee-web-layout {
    display: grid;
    grid-template-columns: 320px minmax(680px, 1fr);
    gap: 14px;
    align-items: start;
    color: #f8fafc;
}

.employee-list-panel,
.employee-form-panel {
    padding: 8px;
}

.employee-status-filter {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 8px;
}

.employee-radio {
    display: inline-flex;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 4px;
    color: #ffffff;
    font-size: 0.82rem;
}

.employee-radio input {
    width: auto;
}

.employee-live-search {
    grid-template-columns: minmax(0, 1fr) minmax(110px, 0.8fr) auto;
}

.employee-list-shell {
    height: calc(100vh - 260px);
    min-height: 520px;
    overflow: auto;
    background: #f8fafc;
    border: 1px solid #8897a5;
}

.employee-list-table {
    width: 100%;
    border-collapse: collapse;
    color: #111827;
}

.employee-list-table td {
    padding: 3px 4px;
    border: 0;
    font-size: 0.9rem;
    line-height: 1.25;
    cursor: pointer;
}

.employee-list-table tr:hover td {
    background: #3d99d8;
    color: #ffffff;
}

.employee-inactive-row td {
    color: #dc2626;
}

.employee-form-panel {
    min-height: calc(100vh - 180px);
}

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

.employee-form-grid {
    display: grid;
    grid-template-columns: 120px minmax(280px, 460px);
    gap: 8px 12px;
    align-items: center;
    max-width: 640px;
    margin: 0 auto;
}

.employee-form-grid label {
    display: contents;
}

.employee-form-grid label span {
    color: #ffffff;
    font-weight: 700;
}

.employee-form-grid input,
.employee-form-grid select {
    min-height: 26px;
    height: 26px;
    border-radius: 0;
    background: #f8fafc;
    color: #111827;
}

.employee-active-check {
    display: flex !important;
    grid-column: 2;
    gap: 7px;
}

.employee-active-check input {
    width: auto;
    height: auto;
}

.employee-hours {
    width: 470px;
    margin: 18px auto 0;
    border: 1px solid #778492;
    color: #ffffff;
}

.employee-hours legend {
    padding: 0 5px;
}

.employee-hour-row {
    display: grid;
    grid-template-columns: 58px 52px 52px 34px;
    gap: 2px;
    align-items: center;
    margin-bottom: 3px;
}

.employee-hour-row span {
    font-size: 0.78rem;
}

.employee-hour-row input {
    height: 22px;
    min-height: 22px;
    padding: 1px 3px;
    border-radius: 0;
    background: #f8fafc;
    color: #111827;
}

.employee-hour-row strong,
.employee-week-total strong,
.employee-week-total {
    color: #22c55e;
}

.employee-week-total {
    margin-top: 8px;
    text-align: center;
    font-weight: 800;
}

.employee-presence-header,
.employee-presence-row {
    display: grid;
    grid-template-columns: 70px 116px 126px 62px 55px;
    gap: 4px;
    align-items: center;
}

.employee-presence-header {
    color: #8fd0ff;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.employee-presence-row {
    min-height: 24px;
    border-bottom: 1px solid #2f465c;
    font-size: 0.78rem;
}

.employee-presence-row strong {
    color: #22c55e;
}

.employee-presence-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
}

.employee-presence-row input {
    width: 100%;
    height: 22px;
    min-height: 22px;
    padding: 1px 3px;
    border-radius: 0;
    background: #f8fafc;
    color: #111827;
    box-sizing: border-box;
}

.employee-presence-absence {
    text-align: center;
}

.employee-presence-row.has-absence span,
.employee-presence-row.has-absence strong {
    color: #f59e0b;
}

.employee-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.employee-actions .button {
    min-width: 92px;
    border-radius: 0;
}

.employee-add-button {
    background: #22c55e;
}

.employee-edit-button {
    background: #f59e0b;
}

.employee-secondary-actions {
    margin-top: 10px;
}

.agenda-shell {
    gap: 6px;
}

.agenda-topbar {
    margin-bottom: 0;
}

.agenda-topbar h2 {
    font-size: 1.15rem;
}

.agenda-layout {
    grid-template-columns: 210px 1fr;
    gap: 8px;
}

.agenda-sidebar {
    gap: 6px;
}

.agenda-sidebar .panel {
    padding: 8px;
}

.agenda-sidebar textarea {
    min-height: 44px;
    height: 44px;
}

.agenda-grid-panel {
    padding: 6px;
}

.agenda-week-grid {
    grid-template-rows: 36px repeat(14, 48px);
}

.agenda-corner,
.agenda-grid-day-title,
.agenda-hour-label,
.agenda-cell {
    min-height: 48px;
}

.agenda-grid-day-title,
.agenda-corner {
    min-height: 36px;
}

.agenda-block {
    padding: 5px 6px;
    font-size: 0.72rem;
}

.agenda-block p {
    max-height: 28px;
}

.agenda-day-row {
    min-height: 48px;
}

.agenda-day-view {
    grid-template-rows: repeat(14, 48px);
}

.agenda-month-cell {
    min-height: 86px;
    padding: 5px;
}

.notes-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 8px;
    color: #ffffff;
}

.notes-table-panel,
.notes-form-panel {
    padding: 8px;
}

.notes-table-shell {
    max-height: calc(100vh - 220px);
    overflow: auto;
    border: 1px solid #778492;
}

.notes-dark-table th,
.notes-dark-table td {
    padding: 4px 6px;
}

.notes-dark-table td:nth-child(2) {
    max-width: 760px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notes-form-panel textarea {
    min-height: 180px;
    border-radius: 0;
    background: #fff3b0;
    color: #111827;
}

.repertoire-compact-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 8px;
    color: #ffffff;
}

.repertoire-compact-list-panel,
.repertoire-compact-form-panel {
    padding: 8px;
}

.repertoire-compact-toolbar {
    display: flex;
    gap: 5px;
    align-items: center;
    margin-bottom: 6px;
}

.repertoire-compact-toolbar input {
    height: 26px;
    min-height: 26px;
    border-radius: 0;
    background: #fff3b0;
    color: #111827;
}

.repertoire-compact-tab {
    min-height: 24px;
    padding: 4px 8px;
    background: #1f2937;
    color: #ffffff;
    font-weight: 800;
}

.repertoire-compact-tab.is-active {
    background: #3d99d8;
}

.repertoire-compact-table-shell {
    max-height: calc(100vh - 222px);
    overflow: auto;
    border: 1px solid #778492;
}

.repertoire-compact-table th,
.repertoire-compact-table td {
    padding: 3px 5px;
    white-space: nowrap;
}

.repertoire-compact-table td:first-child a {
    color: #ffffff;
    font-weight: 900;
    font-size: 0.9rem;
}

.repertoire-row-active td {
    background: #3d99d8 !important;
}

.repertoire-compact-form {
    display: grid;
    gap: 7px;
}

.repertoire-compact-form label {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 6px;
    align-items: center;
}

.repertoire-compact-form input {
    min-height: 24px;
    height: 24px;
    border-radius: 0;
    background: #fff3b0;
    color: #111827;
}

.repertoire-row-button {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.repertoire-compact-toolbar {
    flex-wrap: nowrap;
}

.repertoire-compact-toolbar input {
    min-width: 260px;
}

.agenda-shell {
    height: calc(100vh - 126px);
    overflow: hidden;
    padding: 6px;
    border: 1px solid #334155;
    background: #101827;
    color: #f8fafc;
}

.agenda-shell .panel,
.agenda-grid-panel,
.agenda-mini-panel {
    border-radius: 0;
    border: 1px solid #778492;
    background: #2f4052;
    box-shadow: none;
}

.agenda-topbar {
    min-height: 38px;
    color: #f8fafc;
}

.agenda-topbar h2 {
    color: #ffffff;
    font-family: "Segoe UI", sans-serif;
    font-size: 1rem;
}

.agenda-toolbar input,
.agenda-toolbar select,
.agenda-sidebar input,
.agenda-sidebar textarea,
.agenda-sidebar select {
    min-height: 23px;
    height: 23px;
    padding: 2px 5px;
    border-radius: 0;
    background: #fff3b0;
    color: #111827;
}

.agenda-toolbar .button,
.agenda-sidebar .button,
.agenda-topbar .button {
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 0;
    font-size: 0.76rem;
}

.agenda-layout {
    height: calc(100% - 44px);
    grid-template-columns: 198px minmax(0, 1fr);
    overflow: hidden;
}

.agenda-sidebar,
.agenda-main,
.agenda-grid-panel {
    min-height: 0;
    overflow: hidden;
}

.agenda-sidebar .panel {
    padding: 6px;
}

.agenda-sidebar label span {
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.agenda-sidebar textarea {
    min-height: 36px;
    height: 36px;
    resize: none;
}

.agenda-date-big {
    margin: 0 0 6px;
    color: #f1c40f;
}

.agenda-week-grid {
    height: 100%;
    grid-template-rows: 30px repeat(14, 38px);
}

.agenda-corner,
.agenda-grid-day-title,
.agenda-hour-label,
.agenda-cell {
    min-height: 0;
}

.agenda-grid-day-title,
.agenda-corner {
    min-height: 30px;
}

.agenda-hour-label {
    font-size: 0.72rem;
}

.agenda-block {
    padding: 3px 5px;
    border-radius: 0;
    font-size: 0.68rem;
}

.agenda-block p {
    display: none;
}

.agenda-day-view {
    height: 100%;
    grid-template-rows: repeat(14, 38px);
}

.agenda-day-row {
    min-height: 0;
}

.agenda-month-grid {
    height: 100%;
    grid-template-rows: 28px repeat(6, minmax(0, 1fr));
}

.agenda-month-cell {
    min-height: 0;
    padding: 3px;
    overflow: hidden;
}

.agenda-topbar-compact {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
}

.agenda-nav-actions {
    flex-wrap: nowrap;
}

.agenda-nav-button,
.agenda-today-button {
    background: #2563eb !important;
    color: #ffffff !important;
    border: 1px solid rgba(191, 219, 254, 0.45);
    font-weight: 900;
}

.agenda-today-button {
    min-width: 92px;
}

.agenda-toolbar {
    display: grid;
    grid-template-columns: 128px 110px 74px;
    gap: 6px;
    align-items: center;
}

.agenda-toolbar .button {
    background: #c2410c;
    color: #ffffff;
    font-weight: 900;
}

.agenda-sidebar .panel-header {
    margin: -6px -6px 6px;
    padding: 5px 7px;
    background: #0f172a;
}

.agenda-sidebar .panel-header h3 {
    color: #ffffff;
}

.agenda-mini-panel .actions-row .button {
    background: #374151;
    color: #ffffff;
}

.agenda-mini-panel .actions-row .button:not(.button-secondary),
.agenda-mini-panel .actions-row .button:hover {
    background: #c2410c;
}

.agenda-main {
    padding-top: 0;
}

.agenda-grid-panel {
    height: 100%;
}

.agenda-week-grid,
.agenda-day-view {
    border-radius: 10px;
    overflow: hidden;
}

.notes-row-button {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: #79c7ff;
    font: inherit;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.appels-shell {
    display: grid;
    gap: 12px;
}

.appels-top-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 12px 14px;
}

.appels-title-block {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.appels-title-block h2 {
    margin: 0;
    font-size: 18px;
    text-transform: uppercase;
}

.appels-stats-row {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.appels-stat-card {
    min-width: 102px;
    padding: 6px 10px;
    border: 1px solid rgba(159, 199, 239, 0.2);
    border-radius: 4px;
    color: #ffffff;
}

.appels-stat-card span {
    display: block;
    color: #bfd2ec;
    font-size: 10px;
    font-weight: 800;
    opacity: 0.92;
    text-transform: uppercase;
}

.appels-stat-card strong {
    display: block;
    margin-top: 2px;
    font-size: 18px;
    line-height: 1;
}

.appels-form-panel {
    background: #14263a;
    padding: 12px 14px;
}

.appels-inline-filter {
    display: flex;
    align-items: end;
    gap: 8px;
    flex-wrap: wrap;
}

.appels-inline-filter label {
    min-width: 220px;
}

.appels-inline-filter select,
.appels-inline-filter input {
    min-width: 180px;
    height: 32px;
}

.appels-inline-filter select {
    border: 1px solid rgba(159, 199, 239, 0.35);
    background: #fff3b0;
    color: #0f172a;
    font-weight: 800;
}

.appels-desktop-form {
    display: grid;
    gap: 9px;
}

.appels-desktop-field {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.appels-desktop-field label {
    display: block;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.appels-desktop-field input {
    height: 30px;
    padding: 4px 8px;
    border-radius: 0;
}

.appels-field-client input,
.appels-field-message input {
    max-width: none;
}

.appels-field-tel input {
    max-width: 220px;
}

.appels-mail-buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 2px;
    padding-left: 108px;
}

.appels-mail-button,
.appels-mail-save {
    min-height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: white;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.appels-mail-save {
    background: #334155;
    border-radius: 0;
}

.appels-mail-fabrice {
    background: #b45a16;
}

.appels-mail-stephane {
    background: #7a4ca0;
}

.appels-mail-johane {
    background: #178f79;
}

.appels-mail-christophe {
    background: #3269c8;
}

.appels-mail-hint {
    margin: 0;
    padding-left: 108px;
    color: var(--muted);
    font-size: 0.76rem;
}

.appels-stat-danger {
    background: rgba(123, 45, 45, 0.72);
}

.appels-stat-success {
    background: rgba(36, 87, 58, 0.72);
}

.appels-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.appels-table thead th {
    padding: 7px 8px;
    background: #1d3852;
    color: #9ed0ff;
    font-size: 11px;
    text-align: left;
    text-transform: uppercase;
}

.appels-table tbody td {
    color: #edf5ff;
    border-bottom: 1px solid rgba(159, 199, 239, 0.13);
    vertical-align: top;
    padding: 7px 8px;
}

.appels-row-non-traite td {
    background: rgba(91, 38, 38, 0.42);
}

.appels-row-traite td {
    background: rgba(31, 61, 43, 0.38);
}

.appels-table tbody tr:nth-child(even) td {
    box-shadow: inset 0 999px rgba(255, 255, 255, 0.025);
}

.appels-table tbody tr:hover td {
    background: rgba(255, 217, 102, 0.08);
}

.appel-status {
    display: inline-flex;
    min-width: 72px;
    justify-content: center;
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 900;
}

.appel-status-open {
    background: rgba(220, 38, 38, 0.24);
    color: #ffd6d6;
}

.appel-status-done {
    background: rgba(34, 197, 94, 0.18);
    color: #bff0cf;
}

.appels-actions-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 6px;
    align-items: center;
    min-width: 360px;
}

.appels-actions-row form {
    margin: 0;
}

.appels-answer-form {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    gap: 6px;
    min-width: 0;
}

.appels-done-form {
    margin: 0;
}

.appels-answer-form input {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.appels-actions-row .button {
    padding: 6px 9px;
    border-radius: 0;
    font-size: 11px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
    font-weight: 900;
}

.appels-actions-row .button-secondary {
    background: #3269c8;
}

.appels-actions-row form:nth-of-type(1) .button {
    background: #238c55;
}

/* Appels: make treated vs untreated rows clearly visible in both themes. */
html[data-mondial-theme="dark"] .appels-table tbody tr.appels-row-non-traite td,
html:not([data-mondial-theme="light"]) .appels-table tbody tr.appels-row-non-traite td {
    background: #401b20 !important;
    color: #fff2f2 !important;
    border-bottom-color: rgba(248, 113, 113, 0.34) !important;
}

html[data-mondial-theme="dark"] .appels-table tbody tr.appels-row-traite td,
html:not([data-mondial-theme="light"]) .appels-table tbody tr.appels-row-traite td {
    background: #143723 !important;
    color: #ecfff3 !important;
    border-bottom-color: rgba(74, 222, 128, 0.28) !important;
}

html[data-mondial-theme="dark"] .appels-table tbody tr.appels-row-non-traite:hover td,
html:not([data-mondial-theme="light"]) .appels-table tbody tr.appels-row-non-traite:hover td {
    background: #52222a !important;
}

html[data-mondial-theme="dark"] .appels-table tbody tr.appels-row-traite:hover td,
html:not([data-mondial-theme="light"]) .appels-table tbody tr.appels-row-traite:hover td {
    background: #1b4a2f !important;
}

.agenda-main {
    min-width: 0;
}

.agenda-grid-panel {
    overflow: auto;
}

.agenda-week-grid {
    position: relative;
    display: grid;
    grid-template-columns: 90px repeat(7, minmax(140px, 1fr));
    background: white;
    border-radius: 12px;
    overflow: hidden;
    min-width: 980px;
}

.agenda-corner,
.agenda-grid-day-title,
.agenda-hour-label,
.agenda-cell {
    border-right: 1px solid #d8dde6;
    border-bottom: 1px solid #d8dde6;
}

.agenda-corner {
    height: 38px;
    background: #eef2f7;
}

.agenda-grid-day-title {
    height: 38px;
    display: grid;
    place-items: center;
    font-weight: 600;
    font-size: 0.84rem;
    background: #f7f9fc;
}

.agenda-hour-label {
    height: 46px;
    padding: 4px 6px;
    background: #fafbfd;
    color: #334155;
    font-weight: 500;
    font-size: 0.78rem;
}

.agenda-cell {
    height: 46px;
    background: white;
}

.agenda-events-layer {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.agenda-block {
    position: absolute;
    border-radius: 7px;
    padding: 5px 7px;
    color: white;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    pointer-events: auto;
    font-size: 0.74rem;
}

.agenda-block:hover {
    overflow: visible;
    z-index: 30;
}

.agenda-block strong,
.agenda-block span,
.agenda-block p {
    display: block;
}

.agenda-block strong {
    margin-bottom: 2px;
}

.agenda-block span {
    font-size: 0.7rem;
    opacity: 0.92;
}

.agenda-block p {
    margin: 3px 0 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.92);
}

.agenda-hover-card {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    display: none;
    width: min(720px, 92vw);
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    overflow: visible !important;
    padding: 12px 14px;
    border: 1px solid #9fc7ef;
    background: #0b1320;
    color: #fff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
    z-index: 60;
}

.agenda-block > .agenda-hover-card,
.agenda-month-chip > .agenda-hover-card {
    display: none !important;
}

.agenda-floating-tooltip {
    position: fixed;
    display: none;
    width: min(980px, calc(100vw - 28px));
    max-width: 980px;
    height: auto;
    min-height: 0;
    padding: 16px 18px;
    border: 1px solid #9fc7ef;
    background: #07111f;
    color: #ffffff;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.38);
    z-index: 99999;
    pointer-events: none;
    white-space: normal;
}

.agenda-floating-tooltip.is-visible {
    display: block;
}

.agenda-floating-tooltip-title {
    margin-bottom: 8px;
    color: #ffd966;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.agenda-floating-tooltip-time {
    margin-bottom: 14px;
    color: #ffffff;
    font-size: 1rem;
}

.agenda-floating-tooltip strong {
    display: block;
    margin: 10px 0 6px;
    color: #ffd966;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.agenda-floating-tooltip p {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.agenda-block:hover .agenda-hover-card,
.agenda-month-chip:hover .agenda-hover-card {
    display: block;
}

.agenda-hover-card strong {
    color: #ffd966;
    font-size: 0.82rem;
    text-transform: uppercase;
}

.agenda-hover-card p,
.agenda-hover-card span {
    display: block !important;
    margin: 0 0 9px;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.35;
    white-space: pre-wrap;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

.agenda-block .agenda-hover-card p {
    max-height: none !important;
}

.agenda-day-hover-card {
    top: 8px;
    left: min(420px, 42%);
}

.agenda-day-detail {
    margin-top: 4px !important;
    color: rgba(255, 255, 255, 0.96) !important;
    white-space: normal;
}

.agenda-day-detail b {
    color: #ffd966;
}

.agenda-perso {
    background: #3f7ae0;
}

.agenda-garage {
    background: #1ea56c;
}

.agenda-global {
    background: #f4a313;
}

.agenda-delete {
    position: absolute;
    top: 3px;
    right: 3px;
    border: 0;
    background: rgba(255, 255, 255, 0.18);
    color: white;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    cursor: pointer;
}

.agenda-day-view {
    position: relative;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    min-height: 644px;
}

.agenda-day-row {
    display: grid;
    grid-template-columns: 90px 1fr;
}

.agenda-day-cell {
    height: 46px;
    border-bottom: 1px solid #d8dde6;
    background: white;
}

.agenda-day-events-layer {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    pointer-events: none;
}

.agenda-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    background: white;
    border-radius: 12px;
    overflow: hidden;
    min-width: 860px;
}

.agenda-month-head {
    padding: 8px 6px;
    text-align: center;
    font-weight: 600;
    font-size: 0.82rem;
    background: #f7f9fc;
    border-right: 1px solid #d8dde6;
    border-bottom: 1px solid #d8dde6;
}

.agenda-month-cell {
    min-height: 92px;
    padding: 6px;
    border-right: 1px solid #d8dde6;
    border-bottom: 1px solid #d8dde6;
    background: white;
}

.agenda-month-cell:hover {
    overflow: visible;
    z-index: 10;
}

.agenda-day-events-layer .agenda-block {
    overflow: auto;
}

.agenda-month-muted {
    background: #f3f5f8;
    color: #94a3b8;
}

body.theme-dark .agenda-corner,
body.theme-dark .agenda-grid-day-title,
body.theme-dark .agenda-hour-label,
body.theme-dark .agenda-day-cell,
body.theme-dark .agenda-cell,
body.theme-dark .agenda-day-view,
body.theme-dark .agenda-week-grid,
body.theme-dark .agenda-month-grid,
body.theme-dark .agenda-month-cell,
body.theme-dark .agenda-month-head {
    background: #0b1220;
    color: #e5e7eb;
    border-color: #334155;
}

body.theme-dark .agenda-month-muted {
    background: #131c2f;
}

body.theme-dark .list-row,
body.theme-dark .rights-card {
    background: rgba(15, 23, 42, 0.68);
}

body.theme-dark .nav a {
    background: rgba(255, 255, 255, 0.05);
}

.agenda-month-date {
    font-weight: 700;
    margin-bottom: 4px;
    font-size: 0.82rem;
}

.agenda-month-events {
    display: grid;
    gap: 3px;
}

.agenda-month-chip {
    display: block;
    position: relative;
    padding: 3px 5px;
    border-radius: 5px;
    color: white;
    font-size: 0.66rem;
}

.agenda-month-hover-card {
    left: 0;
    top: calc(100% + 4px);
}

.agenda-more {
    color: var(--accent-dark);
    font-size: 0.7rem;
    font-weight: 600;
}

.agenda-shell {
    height: calc(100vh - 235px);
    overflow: hidden;
    padding: 4px 6px;
    gap: 4px;
}

.agenda-topbar-compact {
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 8px;
    padding: 0 0 4px;
    min-height: 28px;
}

.agenda-topbar h2 {
    font-size: 0.98rem;
    line-height: 1.1;
}

.agenda-toolbar {
    grid-template-columns: 132px 108px;
    gap: 6px;
}

.agenda-layout {
    height: calc(100% - 32px);
    grid-template-columns: 198px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
}

.agenda-edit-panel {
    height: 100%;
    overflow: hidden;
}

.agenda-edit-panel .panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.agenda-clear-edit {
    padding: 2px 6px !important;
    min-height: 21px !important;
}

.agenda-rdv-form {
    gap: 5px;
}

.agenda-delete-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 6px;
}

.agenda-delete-actions form {
    margin: 0;
}

.agenda-delete-actions .button {
    width: 100%;
    min-height: 24px;
    padding: 4px 6px;
    font-size: 0.72rem;
}

.agenda-recurrence-info {
    border: 1px solid rgba(255, 217, 102, 0.28);
    padding: 4px 6px;
    background: rgba(255, 217, 102, 0.1);
    color: #ffe6a3;
    font-size: 0.72rem;
    font-weight: 800;
}

.agenda-rdv-form input,
.agenda-rdv-form select {
    height: 22px;
}

.agenda-rdv-form textarea {
    height: 68px;
    min-height: 68px;
    resize: vertical;
}

.agenda-grid-panel {
    height: 100%;
    min-height: 0;
    overflow: auto;
    background: #223246;
    scrollbar-color: #f59e0b #111827;
    scrollbar-width: thin;
}

.agenda-week-grid {
    height: auto;
    min-height: var(--agenda-grid-height, 1422px);
    grid-template-rows: 30px repeat(var(--agenda-hours-count, 24), var(--agenda-hour-height, 58px));
    border-radius: 6px;
    overflow: visible;
}

.agenda-day-view {
    height: auto;
    min-height: var(--agenda-day-height, 1392px);
    border-radius: 6px;
    overflow: visible;
}

.agenda-day-row {
    min-height: var(--agenda-hour-height, 58px);
}

.agenda-hour-label,
.agenda-cell,
.agenda-day-cell {
    height: var(--agenda-hour-height, 58px);
    min-height: var(--agenda-hour-height, 58px);
}

.agenda-corner,
.agenda-grid-day-title {
    position: sticky;
    top: 0;
    z-index: 20;
    height: 30px;
    min-height: 30px;
    background: #dfe7ef;
    color: #0f172a;
    font-weight: 900;
}

.agenda-grid-day-title {
    font-size: 0.78rem;
    text-transform: uppercase;
}

body.theme-dark .agenda-corner,
body.theme-dark .agenda-grid-day-title {
    background: #dfe7ef;
    color: #0f172a;
    border-color: #b8c4d1;
}

.agenda-block {
    z-index: 2;
}

.agenda-block-edit {
    display: block;
    height: 100%;
    padding-right: 18px;
    color: #ffffff;
    text-decoration: none;
}

.agenda-block-edit:hover strong {
    text-decoration: underline;
}

.agenda-block form {
    margin: 0;
}

.agenda-events-layer .agenda-block:hover,
.agenda-day-events-layer .agenda-block:hover {
    overflow: visible !important;
    z-index: 500;
}

.agenda-events-layer .agenda-block:hover .agenda-hover-card,
.agenda-day-events-layer .agenda-block:hover .agenda-hover-card {
    display: block;
    z-index: 600;
}

.agenda-day-events-layer .agenda-block-edit {
    overflow: hidden;
}

.agenda-month-chip {
    text-decoration: none;
}

.agenda-month-grid {
    height: 100%;
    min-height: 0;
    grid-template-rows: 26px repeat(6, minmax(0, 1fr));
}

/* Agenda should use the same available-height behavior as planning personnel. */
.agenda-shell {
    height: calc(100vh - 150px);
    min-height: 620px;
}

.agenda-layout {
    height: calc(100% - 32px);
}

.agenda-grid-panel {
    height: 100%;
    min-height: 0;
    overflow: auto;
}

.agenda-range-button {
    background: #4b6078;
}

.agenda-range-button.is-active {
    background: #2f7df6;
    box-shadow: inset 0 0 0 2px #ffd84d;
}

.agenda-month-cell {
    min-height: 0;
    padding: 6px;
}

.agenda-month-date {
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 900;
}

.agenda-month-muted .agenda-month-date {
    color: #64748b;
}

body.theme-dark .agenda-month-date {
    color: #ffffff;
}

body.theme-dark .agenda-month-muted .agenda-month-date {
    color: #94a3b8;
}

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

.field-wide {
    grid-column: span 3;
}

.filter-actions,
.form-actions {
    display: flex;
    align-items: end;
}

.actions-row {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.top-gap {
    margin-top: 10px;
}

.form-section {
    display: grid;
    gap: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line);
}

.form-section h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

.panel-grid.two-columns {
    align-items: start;
}

.panel {
    padding: 12px 14px;
}

.stat-card {
    padding: 12px 14px;
}

.stat-card span,
.panel-header a,
table th {
    color: var(--muted);
}

.stat-card strong {
    display: block;
    margin: 6px 0 2px;
    font-size: 1.4rem;
    font-family: Georgia, "Times New Roman", serif;
}

.list {
    display: grid;
    gap: 8px;
}

.list-row {
    padding: 10px;
    border-radius: 12px;
    background: rgba(243, 216, 205, 0.28);
}

.list-row p,
.panel p {
    margin: 2px 0 0;
    color: var(--muted);
}

.stacked {
    display: grid;
    align-items: start;
}

.badge-ok {
    background: rgba(31, 111, 80, 0.14);
    color: var(--success);
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.history-chat {
    display: grid;
    gap: 8px;
    margin-bottom: 10px;
}

.checkbox-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

.checkbox-line input {
    width: auto;
}

.form-readonly-note {
    margin: 8px 12px 0;
    color: #ff4d4d;
    font-weight: 900;
    text-transform: uppercase;
}

.global-readonly-note {
    margin: 0 0 10px;
    padding: 10px 14px;
    border: 1px dashed #ff3333;
    background: #fff3f3;
    color: #d11313;
    font-weight: 900;
    text-transform: uppercase;
}

html[data-mondial-theme="dark"] .global-readonly-note {
    background: #2b1116;
    color: #ff6464;
    border-color: #ff4a4a;
}

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

.rights-card {
    padding: 10px;
    border-radius: 12px;
    background: rgba(243, 216, 205, 0.22);
}

.rights-card h4 {
    margin: 0 0 6px;
    font-family: Georgia, "Times New Roman", serif;
}

.rights-list {
    display: grid;
    gap: 6px;
}

.chat-bubble {
    max-width: 80%;
    padding: 10px 12px;
    border-radius: 12px;
    display: grid;
    gap: 4px;
}

.chat-bubble p,
.chat-bubble span {
    margin: 0;
}

.chat-bubble span {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.72rem;
}

table th,
table td {
    padding: 8px 10px;
    font-size: 0.86rem;
}

.chat-me {
    justify-self: end;
    background: #aa3e1f;
    color: white;
}

.chat-other {
    justify-self: start;
    background: #374151;
    color: white;
}

.table-shell {
    overflow-x: auto;
}

.garantie-history-page .table-shell {
    min-height: 0;
}

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

th,
td {
    padding: 14px 12px;
    text-align: left;
    border-bottom: 1px solid var(--line);
}

.flash-stack {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}

.flash {
    padding: 14px 16px;
    border-radius: 14px;
}

.flash-success {
    background: rgba(31, 111, 80, 0.12);
    color: var(--success);
}

.flash-error {
    background: rgba(159, 29, 29, 0.12);
    color: var(--danger);
}

.garantie-page {
    display: grid;
    gap: 12px;
}

.garantie-form-shell {
    display: grid;
    gap: 12px;
}

.garantie-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    background: #2c3e50;
    border-radius: 8px;
    color: white;
}

.garantie-topbar-left,
.garantie-topbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.garantie-topbar-center {
    text-align: center;
}

.garantie-dossier-label {
    color: #f1c40f;
    font-size: 1.4rem;
    font-weight: 700;
}

.garantie-inline-field {
    display: grid;
    gap: 4px;
}

.garantie-inline-field span,
.garantie-direction-box span {
    color: #f1c40f;
    font-size: 0.8rem;
    font-weight: 700;
}

.garantie-inline-field input,
.garantie-inline-field select,
.garantie-direction-box select {
    min-width: 140px;
    height: 32px;
    padding: 5px 8px;
    border-radius: 8px;
}

.garantie-direction-box {
    display: grid;
    gap: 2px;
    padding: 3px 6px;
    border-radius: 7px;
}

.garantie-direction-box.garantie-badge-success {
    background: rgba(52, 211, 153, 0.16);
    border: 1px solid rgba(52, 211, 153, 0.4);
}

.garantie-direction-box.garantie-badge-warning {
    background: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.garantie-direction-box.garantie-badge-danger {
    background: rgba(239, 68, 68, 0.14);
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.garantie-direct-button {
    background: #8e44ad;
}

.garantie-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    gap: 12px;
    align-items: start;
}

.garantie-column-left,
.garantie-column-right {
    display: grid;
    gap: 12px;
}

.garantie-panel {
    border-radius: 14px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.garantie-panel-dark {
    background: #2c3e50;
    color: white;
}

.garantie-panel-dark h3,
.garantie-panel-dark h4 {
    margin: 0 0 10px;
    color: #5dade2;
    font-family: "Segoe UI", sans-serif;
}

.garantie-form-grid {
    display: grid;
    gap: 8px 12px;
}

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

.garantie-panel-dark label {
    display: grid;
    gap: 4px;
}

.garantie-panel-dark label span {
    color: #f8fafc;
    font-size: 0.82rem;
    font-weight: 700;
}

.garantie-panel-dark input,
.garantie-panel-dark select,
.garantie-panel-dark textarea {
    background: #34495e;
    color: white;
    border: 1px solid #47637d;
    border-radius: 8px;
    padding: 7px 9px;
}

.garantie-panel-dark textarea {
    resize: vertical;
}

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

.garantie-cost-card,
.garantie-total-card {
    display: grid;
    gap: 8px;
    padding: 10px;
    border-radius: 12px;
    background: #1f2a35;
    border: 1px solid #384c5f;
}

.garantie-total-card {
    align-content: start;
}

.garantie-stat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 12px;
}

.garantie-badge-stack {
    display: grid;
    gap: 10px;
}

.garantie-status-card {
    display: grid;
    gap: 6px;
    padding: 10px;
    border-radius: 12px;
    background: #1f2a35;
    border: 1px solid #384c5f;
}

.garantie-status-card span {
    color: white;
    font-size: 0.84rem;
    font-weight: 700;
}

.garantie-win-badges-grid .garantie-status-card {
    gap: 2px;
    padding: 3px 5px;
    border-radius: 5px;
}

.garantie-win-badges-grid .garantie-status-card span {
    font-size: 0.66rem;
    line-height: 1;
}

.garantie-win-badges-grid .garantie-badge {
    min-height: 22px;
    padding: 2px 5px;
    border-radius: 5px;
    font-size: 0.7rem;
}

.garantie-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 0.96rem;
    font-weight: 800;
    text-align: center;
}

.garantie-badge-success {
    background: #27ae60;
    color: white;
}

.garantie-badge-danger {
    background: #c0392b;
    color: white;
}

.garantie-badge-warning {
    background: #f39c12;
    color: black;
}

.garantie-badge-neutral {
    background: #7f8c8d;
    color: white;
}

.garantie-windows-page {
    color: white;
    height: calc(100vh - 116px);
    min-height: 620px;
    overflow: hidden;
}

.garantie-windows-form {
    display: grid;
    grid-template-rows: auto minmax(0, 1.08fr) minmax(0, 0.72fr) auto auto;
    gap: 3px;
    height: 100%;
    overflow: hidden;
}

.garantie-topbar-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    align-self: start;
}

.garantie-topbar-actions .btn,
.garantie-topbar-dossier .btn {
    padding: 3px 9px;
    min-height: 24px;
    font-size: 0.74rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 6px 14px rgba(0, 0, 0, 0.18);
    transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.garantie-topbar-actions .btn:hover,
.garantie-topbar-dossier .btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 9px 18px rgba(0, 0, 0, 0.24);
}

.garantie-topbar-actions .btn-secondary {
    background: linear-gradient(180deg, #50657a 0%, #41576c 100%);
}

.garantie-topbar-actions .btn-success {
    background: linear-gradient(180deg, #34bf73 0%, #24995a 100%);
}

.garantie-topbar-actions .btn-warning {
    background: linear-gradient(180deg, #f5b129 0%, #dd8f08 100%);
    color: #111827;
}

.garantie-topbar-actions .btn-primary {
    background: linear-gradient(180deg, #46a5ff 0%, #2f7fcb 100%);
}

.garantie-topbar-meta {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
}

.garantie-topbar-meta label {
    display: grid;
    gap: 1px;
    min-width: 126px;
}

.garantie-topbar-meta label span {
    color: #f1c40f;
    font-size: 0.68rem;
    font-weight: 700;
}

.garantie-topbar-meta input,
.garantie-topbar-meta select {
    height: 22px;
    padding: 1px 5px;
    border-radius: 5px;
    border: 1px solid #7f8c8d;
    background: #efe8dd;
    color: #111;
    min-width: 118px;
    font-size: 0.74rem;
}

.garantie-topbar-dossier {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    color: #ffd400;
    font-weight: 700;
    white-space: nowrap;
    align-self: start;
}

.garantie-topbar-dossier strong {
    color: #ffd400;
    font-size: 0.9rem;
}

.garantie-nav-btn {
    min-width: 34px;
    justify-content: center;
}

.garantie-win-topbar,
.garantie-list-toolbar,
.garantie-history-toolbar,
.garantie-search-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.garantie-list-toolbar-compact {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 4px 6px;
}

.garantie-list-filters-compact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: nowrap;
    margin: 0;
}

.garantie-win-topbar {
    background: #32495e;
    padding: 4px 6px;
    border: 1px solid #50667d;
}

.garantie-win-actions,
.garantie-win-meta,
.garantie-win-dossier-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.garantie-win-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid #9fb1c1;
    color: white;
    font-weight: 700;
    font-size: 0.76rem;
    cursor: pointer;
    text-decoration: none;
    background: #526476;
}

.garantie-btn-grey { background: #7f8c8d; }
.garantie-btn-green { background: #27ae60; }
.garantie-btn-blue { background: #2980b9; }
.garantie-btn-purple { background: #8e44ad; }
.garantie-btn-orange { background: #d68910; color: #111827; }
.garantie-btn-danger { background: #c0392b; }
.garantie-btn-warning { background: #f39c12; color: #111827; }

.visually-hidden {
    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;
}

.garantie-validation-panel,
.garantie-history-validation {
    margin-top: 0;
    padding: 4px 6px;
    border: 1px solid #7b8ca0;
    background: #2c3e50;
}

.garantie-validation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}

.garantie-validation-actions .btn {
    min-height: 24px;
    padding: 3px 8px;
    font-size: 0.72rem;
}

.garantie-validation-help {
    margin: 3px 0 0;
    color: #d8e6f2;
    font-size: 0.68rem;
}

.garantie-history-validation textarea {
    width: 100%;
    min-height: 70px;
    background: #fff8c6;
    border: 1px solid #7b8ca0;
    color: #1f2937;
    padding: 8px;
}

.garantie-win-inline,
.garantie-win-direction {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #f1c40f;
    font-weight: 700;
}

.garantie-win-inline input,
.garantie-win-inline select,
.garantie-win-direction select,
.garantie-list-filters input,
.garantie-list-filters select,
.garantie-search-bar input {
    min-width: 138px;
    height: 24px;
    padding: 2px 6px;
    border-radius: 0;
    border: 1px solid #d0d0d0;
    background: #f4f0e8;
    color: black;
}

.garantie-win-direction {
    padding: 3px 6px;
}

.garantie-win-dossier {
    color: #ffd11a;
    font-size: 0.88rem;
    font-weight: 800;
}

.garantie-win-fastback {
    color: #58d68d;
    font-weight: 700;
}

.garantie-nav-arrow {
    min-width: 26px;
    padding: 2px 0;
}

.garantie-win-grid-top {
    display: grid;
    grid-template-columns: minmax(330px, 0.9fr) minmax(500px, 1.32fr) minmax(360px, 0.95fr);
    gap: 3px;
    min-height: 0;
}

.garantie-win-grid-middle {
    display: grid;
    grid-template-columns: minmax(360px, 0.75fr) minmax(620px, 1.25fr);
    gap: 3px;
    min-height: 0;
}

.garantie-win-panel,
.garantie-list-panel {
    background: #32495e;
    border: 1px solid #7f8c8d;
    padding: 3px;
}

.garantie-win-panel h3,
.garantie-list-panel h3,
.garantie-win-cost-box h4 {
    margin: 0 0 2px;
    color: #5dade2;
    font-size: 0.78rem;
    font-weight: 800;
}

.garantie-win-status-panel h3 {
    color: #ffd11a;
}

.garantie-win-fields {
    display: grid;
    gap: 2px 5px;
    background: #253341;
    border: 1px solid #7f8c8d;
    padding: 3px 4px;
    min-height: 0;
}

.garantie-win-grid-top .garantie-win-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.garantie-win-fields label,
.garantie-win-status-top label,
.garantie-win-cost-box label,
.garantie-win-total-box label,
.garantie-win-intervention-grid label {
    display: grid;
    grid-template-columns: 106px minmax(0, 1fr);
    gap: 4px;
    align-items: center;
    min-width: 0;
}

.garantie-win-fields label span,
.garantie-win-status-top label span,
.garantie-win-cost-box label span,
.garantie-win-total-box label span,
.garantie-win-intervention-grid label span {
    color: white;
    font-weight: 700;
    text-align: right;
    font-size: 0.68rem;
    line-height: 1.05;
}

.garantie-win-fields input,
.garantie-win-fields select,
.garantie-win-intervention-grid input,
.garantie-win-intervention-grid select,
.garantie-win-intervention-grid textarea,
.garantie-win-status-top input,
.garantie-win-status-top select,
.garantie-win-cost-box input,
.garantie-win-total-box input {
    height: 22px;
    min-height: 0;
    padding: 2px 5px;
    border-radius: 3px;
    border: 1px solid #3d5166;
    background: #fff7bf;
    color: black;
    font-size: 0.76rem;
    min-width: 0;
}

.garantie-win-fields input[readonly],
.garantie-win-status-top input[readonly],
.garantie-win-total-box input[readonly],
.garantie-win-cost-box input[readonly] {
    background: #3a5067;
    color: white;
}

.garantie-win-intervention-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 6px;
    background: #253341;
    border: 1px solid #7f8c8d;
    padding: 3px 4px;
}

.garantie-win-intervention-grid .field-wide {
    grid-column: 1 / -1;
}

.garantie-win-intervention-grid textarea {
    min-height: 34px;
    height: 34px;
    resize: none;
}

.garantie-win-status-top {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 6px;
    background: #253341;
    border: 1px solid #7f8c8d;
    padding: 3px 4px;
    margin-bottom: 3px;
}

.garantie-win-badges-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
}

.garantie-win-badge-box {
    display: grid;
    gap: 3px;
    background: #253341;
    border: 1px solid #7f8c8d;
    padding: 4px;
}

.garantie-win-badge-box span {
    font-weight: 800;
}

.garantie-win-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 1px 4px;
    border: 2px solid black;
    font-weight: 800;
    text-align: center;
    font-size: 0.68rem;
}

.garantie-badge-green { background: #27ae60; color: white; }
.garantie-badge-red { background: #c0392b; color: white; }
.garantie-badge-orange { background: #f39c12; color: black; }
.garantie-badge-grey { background: #95a5a6; color: black; }

.garantie-win-entretien-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 3px;
    padding: 4px 7px;
    background: #253341;
    border: 1px solid #7f8c8d;
}

.garantie-win-entretien-result span {
    color: #ffb000;
    font-size: 0.68rem;
    font-weight: 800;
}

.garantie-entretien-ok {
    color: #2ecc71;
    font-weight: 800;
}

.garantie-entretien-danger {
    color: #ff4d4d;
    font-weight: 800;
}

.garantie-win-cost-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3px;
    min-height: 0;
}

.garantie-win-cost-box {
    grid-column: 1 / -1;
}

.garantie-win-cost-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, 0.72fr);
    gap: 4px;
}

.garantie-win-cost-columns > div {
    background: #3d556d;
    border: 1px solid #7f8c8d;
    padding: 3px 5px;
}

.garantie-win-cost-columns > div h4 {
    margin: 0 0 3px;
    color: #ffffff;
    font-size: 0.72rem;
}

.garantie-win-total-box {
    background: #253341 !important;
}

.garantie-win-cost-box,
.garantie-win-total-box {
    background: #3d556d;
    border: 1px solid #7f8c8d;
    padding: 3px;
    display: grid;
    gap: 2px;
}

.garantie-win-total-box {
    background: #253341;
    align-content: start;
}

.garantie-win-total-box label span {
    color: #ffb000;
    text-align: left;
}

.garantie-win-total-box label:last-child span {
    color: #2ecc71;
}

.garantie-required-field span,
.garantie-required-display span {
    color: #ffd54a !important;
}

.garantie-required-field input,
.garantie-required-display input {
    border: 2px solid rgba(245, 158, 11, 0.9) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 213, 74, 0.2);
}

.garantie-km-warning {
    background: #fff2a8 !important;
}

.garantie-pulse {
    animation: garantiePulse 1.7s ease-in-out infinite;
}

@keyframes garantiePulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.45);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
    }
}

.garantie-list-page,
.garantie-history-page,
.garantie-search-page {
    color: white;
    display: grid;
    gap: 8px;
    background: #202831;
    padding: 10px;
    border: 1px solid #33414f;
}

.garantie-search-layout,
.garantie-history-layout {
    display: grid;
    grid-template-columns: minmax(820px, 1.15fr) minmax(980px, 1.35fr);
    gap: 8px;
    align-items: stretch;
}

.garantie-search-left {
    display: grid;
    gap: 8px;
}

.garantie-search-right {
    min-height: 100%;
}

.garantie-create-dossier-btn {
    min-width: 118px;
    color: #111827;
    font-weight: 800;
}

.garantie-section-title {
    margin: 0;
    color: #ffffff;
    font-size: 1.18rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.garantie-list-toolbar,
.garantie-history-toolbar,
.garantie-search-bar {
    background: #323b46;
    border: 1px solid #46515e;
    padding: 6px 8px;
}

.garantie-history-toolbar {
    flex-wrap: nowrap;
    align-items: center;
    padding: 4px 6px;
}

.garantie-history-layout {
    grid-template-columns: minmax(720px, 0.95fr) minmax(700px, 1.05fr);
    gap: 6px;
}

.garantie-history-inline-filters {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}

.garantie-history-inline-filters input,
.garantie-history-inline-filters select {
    min-width: 150px;
    height: 24px;
}

.garantie-search-bar {
    justify-content: flex-start;
}

.garantie-search-bar input {
    flex: 0 1 320px;
    min-width: 220px;
    background: #f7f5f0;
    border: 1px solid #a7adb5;
    color: #111827;
}

.garantie-list-panel {
    background: #3a4653;
    border: 1px solid #cfd5dd;
    padding: 6px;
}

.garantie-list-panel h3,
.garantie-win-panel h3,
.garantie-win-cost-box h4 {
    margin: 0 0 6px;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 900;
    text-transform: uppercase;
}

.garantie-list-panel .panel-header {
    margin-bottom: 4px;
}

.garantie-list-panel .panel-header h3 {
    margin: 0;
}

.garantie-search-right,
.garantie-history-layout .garantie-list-panel:last-child {
    background: #3c4453;
}

.garantie-history-layout .garantie-list-panel {
    min-height: 0;
}

.garantie-dark-table {
    font-size: 0.82rem;
    background: transparent;
}

.garantie-dark-table-dense {
    font-size: 0.68rem;
}

.garantie-dark-table thead th {
    padding: 1px 3px;
    background: #f1f1f1;
    color: #0f172a;
    border: 1px solid #2d3946;
    font-weight: 800;
}

.garantie-dark-table tbody td {
    padding: 0 3px;
    border-bottom: 0;
    color: #ffffff;
    background: transparent;
    line-height: 1.15;
}

.garantie-dark-table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.015);
}

.garantie-dark-table tbody a {
    color: inherit;
    text-decoration: none;
}

.garantie-search-table tbody tr,
.garantie-history-table tbody tr,
.garantie-dark-table tbody tr {
    cursor: pointer;
}

.garantie-click-row:hover td {
    background: rgba(70, 155, 220, 0.24) !important;
}

.garantie-search-selected td {
    background: #3d99d8 !important;
    color: #ffffff !important;
}

.garantie-row-actions {
    white-space: nowrap;
}

.garantie-row-actions form {
    margin: 0;
}

.garantie-action-btn {
    min-width: 68px;
    min-height: 18px;
    padding: 1px 5px;
    font-size: 0.68rem;
}

.garantie-list-page .garantie-action-btn,
.garantie-list-page [data-action-kind="delete"] {
    background: #dc2626 !important;
    border-color: #991b1b !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.garantie-history-table {
    table-layout: fixed;
    font-size: 0.72rem;
}

.garantie-history-table thead th,
.garantie-history-table tbody td {
    height: 24px;
    max-height: 24px;
    padding: 1px 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.05;
    vertical-align: middle;
}

.garantie-history-table th:nth-child(1),
.garantie-history-table td:nth-child(1) { width: 58px; }

.garantie-history-table th:nth-child(2),
.garantie-history-table td:nth-child(2) { width: 180px; }

.garantie-history-table th:nth-child(3),
.garantie-history-table td:nth-child(3) { width: 100px; }

.garantie-history-table th:nth-child(4),
.garantie-history-table td:nth-child(4) { width: 108px; }

.garantie-history-table th:nth-child(5),
.garantie-history-table td:nth-child(5) { width: 64px; }

.garantie-history-table th:nth-child(6),
.garantie-history-table td:nth-child(6) { width: 164px; }

.garantie-history-table th:nth-child(7),
.garantie-history-table td:nth-child(7) { width: 86px; }

.garantie-history-table th:nth-child(8),
.garantie-history-table td:nth-child(8) { width: 36px; text-align: center; }

.garantie-dark-table tbody tr.garantie-row-info td {
    color: #ffffff !important;
    background: transparent !important;
}

.garantie-dark-table tbody tr.garantie-row-warning td {
    color: #f3aa1f !important;
    background: transparent !important;
}

.garantie-dark-table tbody tr.garantie-row-success td {
    color: #44d066 !important;
    background: transparent !important;
}

.garantie-dark-table tbody tr.garantie-row-danger td {
    color: #ff5f5f !important;
    background: transparent !important;
}

.garantie-dark-table tbody tr.garantie-row-mid td {
    color: #eef4fb !important;
}

.garantie-history-chat {
    min-height: 120px;
    max-height: 270px;
    background: #121927;
    border: 1px solid #7f8c8d;
    padding: 5px;
    overflow: auto;
    display: grid;
    align-content: start;
    gap: 4px;
}

.garantie-history-message {
    background: #32495e;
    border: 1px solid #4a637c;
    padding: 5px 7px;
    line-height: 1.15;
}

.garantie-history-message strong,
.garantie-history-message span {
    display: block;
}

.garantie-history-message span {
    color: #9fb9d1;
    font-size: 0.68rem;
}

.garantie-history-message p {
    margin: 3px 0 0;
    white-space: pre-wrap;
    line-height: 1.18;
}

.garantie-stats-page {
    color: white;
    display: grid;
    gap: 10px;
}

.garantie-stats-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
    background: #202833;
    border: 1px solid #5b6775;
    padding: 10px 12px;
}

.garantie-stats-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.garantie-stats-filters label {
    display: grid;
    gap: 3px;
}

.garantie-stats-filters span {
    color: white;
    font-size: 0.82rem;
    font-weight: 700;
}

.garantie-stats-filters select {
    min-width: 116px;
    height: 24px;
    background: #ede7db;
    border: 1px solid #c7bcae;
    padding: 2px 5px;
}

.garantie-stats-kpis {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.garantie-stats-kpi {
    min-width: 116px;
    background: #2f3640;
    border: 1px solid #4a5563;
    padding: 7px 10px;
    display: grid;
    gap: 4px;
}

.garantie-stats-kpi span {
    color: white;
    font-size: 0.8rem;
}

.garantie-stats-kpi strong {
    color: #00e5ff;
    font-size: 1rem;
}

.garantie-stats-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.15fr) minmax(280px, 0.85fr) minmax(280px, 0.85fr);
    gap: 12px;
}

.garantie-stats-panel {
    background: #2f3640;
    border: 1px solid #5b6775;
    padding: 10px;
}

.garantie-stats-panel h3 {
    margin: 0 0 8px;
    color: white;
    font-size: 0.98rem;
}

.garantie-stats-bar-chart {
    height: 250px;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
}

.garantie-stats-bar-col {
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 4px;
}

.garantie-stats-bar-value,
.garantie-stats-bar-label {
    text-align: center;
    font-size: 0.72rem;
    color: #dbe7f3;
}

.garantie-stats-bar-track {
    height: 100%;
    background: #1f2a35;
    border: 1px solid #4c5a68;
    display: flex;
    align-items: end;
    padding: 4px;
}

.garantie-stats-bar-fill {
    width: 100%;
    background: #2d8fd5;
}

.garantie-stats-pie-shell {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 12px;
    align-items: center;
}

.garantie-stats-pie {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 0 auto;
    border: 10px solid #f5f6f8;
}

.garantie-stats-legend {
    display: grid;
    gap: 8px;
}

.garantie-stats-legend-item {
    display: grid;
    grid-template-columns: 12px 1fr;
    gap: 6px 8px;
    align-items: start;
}

.garantie-stats-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: 3px;
}

.garantie-stats-legend-item strong,
.garantie-stats-legend-item small {
    grid-column: 2;
}

.garantie-stats-legend-item strong {
    color: white;
    font-size: 0.86rem;
}

.garantie-stats-legend-item small {
    color: #d3deeb;
    font-size: 0.76rem;
}

.garantie-stats-table-panel .table-shell {
    max-height: 520px;
}

.garantie-stats-table {
    font-size: 0.84rem;
}

.garantie-stats-table thead th,
.garantie-stats-table tbody td {
    padding: 4px 6px;
}

.garantie-history-reply {
    display: grid;
    gap: 4px;
    margin-top: 4px;
}

.garantie-history-reply textarea {
    min-height: 44px;
    height: 44px;
    background: white;
    color: black;
    border-radius: 0;
}

.garantie-mail-dialog {
    border: 1px solid #6b7a89;
    padding: 0;
    background: #2b3541;
    color: white;
    width: min(460px, 92vw);
}

.garantie-mail-dialog::backdrop {
    background: rgba(0, 0, 0, 0.45);
}

.garantie-mail-dialog-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.garantie-mail-dialog-body h3 {
    margin: 0;
    color: #ffffff;
    text-transform: uppercase;
}

.garantie-mail-list {
    display: grid;
    gap: 8px;
}

.garantie-mail-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 10px;
    align-items: center;
    background: #3a4653;
    border: 1px solid #627181;
    padding: 8px 10px;
}

.garantie-mail-option input {
    grid-row: 1 / span 2;
}

.garantie-mail-option span {
    font-weight: 700;
}

.garantie-mail-option small {
    color: #b7c6d6;
}

.garantie-mail-option.is-disabled {
    opacity: 0.55;
}

.garantie-mail-note {
    margin: 0;
    color: #d8e2ec;
    font-size: 0.84rem;
}

.garantie-mail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.garantie-intervention-feed {
    min-height: 100%;
    background: #3c4453;
    border: 1px solid #d6dde6;
    padding: 8px;
    display: grid;
    align-content: start;
    gap: 12px;
}

.garantie-intervention-card {
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, 0.8);
    padding-top: 4px;
}

.garantie-intervention-date {
    width: fit-content;
    margin: -13px auto 6px;
    padding: 0 8px;
    background: #3c4453;
    color: #ffffff;
    font-size: 0.82rem;
}

.garantie-intervention-client {
    color: #71b8ff;
    margin-bottom: 4px;
}

.garantie-intervention-text {
    margin: 0;
    color: #ffffff;
    line-height: 1.25;
    white-space: pre-wrap;
}

.garantie-intervention-empty {
    color: #d7deea;
}

.gtext-info {
    color: #71b8ff;
}

.gtext-danger {
    color: #ff5252;
}

.gtext-success {
    color: #83e08f;
}

.reviews-header {
    align-items: center;
    gap: 12px;
}

.reviews-top-filter {
    display: grid;
    grid-template-columns: 160px 260px auto;
    gap: 8px;
    align-items: center;
}

.reviews-top-filter input,
.reviews-top-filter select,
.reviews-form input,
.reviews-form select,
.reviews-form textarea {
    width: 100%;
    background: #fff4b8;
    border: 1px solid #6d7d8f;
    color: #07111f;
    font-weight: 700;
}

.reviews-pdf-button,
.reviews-add-button {
    background: #c23b1d;
    border-color: #c23b1d;
    color: #ffffff;
}

.reviews-shell {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 10px;
    min-height: calc(100vh - 240px);
}

.reviews-main {
    display: grid;
    grid-template-rows: auto minmax(260px, 1fr) auto;
    gap: 10px;
    min-width: 0;
}

.reviews-employees-panel,
.reviews-form-panel,
.reviews-table-panel,
.reviews-evaluation-panel {
    background: #26394d;
    border: 1px solid #60758a;
    color: #ffffff;
}

.reviews-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 10px;
}

.reviews-kpi {
    background: #111b2a;
    border: 1px solid #3d4f63;
    padding: 8px;
    min-height: 74px;
}

.reviews-kpi span,
.reviews-list-title {
    display: block;
    color: #94c9ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.reviews-kpi strong {
    display: block;
    margin: 4px 0 2px;
    color: #ffffff;
    font-size: 1.55rem;
}

.reviews-kpi small {
    color: #c9d6e4;
}

.reviews-kpi-positive strong {
    color: #31d07a;
}

.reviews-kpi-negative strong {
    color: #ff8d52;
}

.reviews-list-title {
    margin: 4px 0 8px;
}

.reviews-employee-list {
    display: grid;
    gap: 6px;
    max-height: calc(100vh - 380px);
    overflow: auto;
    padding-right: 4px;
}

.reviews-employee-row {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    background: #172333;
    border: 1px solid #3f5266;
    color: #ffffff;
    text-decoration: none;
}

.reviews-employee-row:hover,
.reviews-employee-row.is-active {
    border-color: #ffd800;
    background: #213247;
}

.reviews-employee-row strong {
    font-size: 0.9rem;
}

.reviews-employee-row span {
    color: #b8c9da;
    font-size: 0.78rem;
}

.reviews-form {
    display: grid;
    grid-template-columns: 1.1fr 160px 190px 1fr auto;
    gap: 8px;
    align-items: end;
}

.reviews-form label {
    display: grid;
    gap: 3px;
}

.reviews-form label span {
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.reviews-note-field {
    min-width: 260px;
}

.reviews-form textarea {
    min-height: 42px;
    resize: vertical;
}

.reviews-table-shell {
    max-height: calc(100vh - 520px);
    min-height: 220px;
    overflow: auto;
}

.reviews-table td,
.reviews-table th {
    vertical-align: top;
}

.reviews-table td:nth-child(4) {
    min-width: 360px;
    white-space: normal;
}

.review-positive td:nth-child(3) {
    color: #38df85;
    font-weight: 900;
}

.review-negative td:nth-child(3) {
    color: #ff914d;
    font-weight: 900;
}

.reviews-evaluation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px;
}

.reviews-evaluation-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 130px 74px;
    gap: 8px;
    align-items: center;
    background: #172333;
    border: 1px solid #3f5266;
    padding: 7px 9px;
}

.reviews-evaluation-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reviews-evaluation-row em {
    color: #dce7f3;
    font-style: normal;
    font-weight: 800;
    text-align: right;
}

.reviews-bar {
    display: flex;
    height: 10px;
    overflow: hidden;
    background: #0c1420;
    border: 1px solid #4b5d72;
}

.reviews-bar-positive {
    background: #2bd071;
}

.reviews-bar-negative {
    background: #e94f2f;
}

.planning-header,
.pointage-header {
    align-items: center;
}

.planning-actions,
.pointage-toolbar {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.planning-actions .button,
.pointage-toolbar .button {
    border-radius: 0;
}

.planning-personnel-shell {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 10px;
    height: calc(100vh - 150px);
    min-height: 620px;
}

.planning-side,
.planning-grid-panel,
.pointage-preview {
    background: #26394d;
    border: 1px solid #60758a;
    color: #ffffff;
}

.planning-side {
    overflow: hidden;
    padding: 8px;
}

.planning-filter-form {
    display: grid;
    gap: 4px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #60758a;
}

.planning-side label span {
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.planning-side input,
.planning-side select,
.pointage-toolbar input {
    width: 100%;
    min-height: 24px;
    background: #fff4b8;
    border: 1px solid #6d7d8f;
    color: #07111f;
    font-weight: 700;
}

.planning-compact-form {
    display: grid;
    gap: 6px;
}

.planning-compact-form label {
    display: grid;
    gap: 2px;
}

.planning-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.planning-form-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5px;
}

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

.planning-form-buttons .button {
    padding: 6px 5px;
    font-size: 0.76rem;
}

.planning-global-title {
    margin-top: 12px;
}

.planning-global-button {
    background: #f59e0b;
}

.planning-global-form {
    display: none;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #60758a;
}

.planning-global-form.is-open {
    display: grid;
}

.planning-grid-panel {
    overflow: auto;
    padding: 0;
    height: 100%;
}

.planning-grid {
    display: grid;
    min-width: max-content;
    font-size: 0.78rem;
}

.planning-employee-head,
.planning-day-head,
.planning-employee-name,
.planning-cell {
    min-height: 24px;
    border-right: 1px solid #1d2a3a;
    border-bottom: 1px solid #1d2a3a;
}

.planning-employee-head,
.planning-day-head {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #203345;
    color: #ffffff;
    text-align: center;
}

.planning-employee-head,
.planning-employee-name {
    position: sticky;
    left: 0;
    z-index: 4;
}

.planning-employee-head {
    z-index: 5;
}

.planning-employee-name {
    display: flex;
    align-items: center;
    padding: 0 7px;
    background: #2f4052;
    color: #ffffff;
    font-weight: 900;
    white-space: nowrap;
}

.planning-day-head {
    display: grid;
    align-content: center;
    line-height: 1;
}

.planning-day-head.is-weekend,
.planning-cell.is-weekend {
    background: #425266;
}

.planning-day-head.is-current-week,
.planning-cell.is-current-week {
    box-shadow: inset 0 0 0 2px rgba(255, 216, 0, 0.55);
}

.planning-day-head.is-current-week {
    background: #315072;
}

.planning-cell.is-current-week:not([style*="background"]) {
    background: #3c5873;
}

.planning-day-head.is-today,
.planning-cell.is-today {
    box-shadow: inset 0 0 0 2px #ffd800;
}

.planning-day-head span {
    font-size: 0.68rem;
}

.planning-cell {
    display: grid;
    place-items: center;
    background: #34495e;
    border: 0;
    border-right: 1px solid #1d2a3a;
    border-bottom: 1px solid #1d2a3a;
    color: #ffffff;
    font-weight: 900;
    cursor: pointer;
}

.planning-cell:hover {
    outline: 2px solid #ffd800;
    outline-offset: -2px;
}

.pointage-preview {
    display: grid;
    place-items: start center;
    min-height: calc(100vh - 250px);
    overflow: auto;
    padding: 18px;
}

.pointage-sheet {
    width: 680px;
    min-height: 960px;
    background: #ffffff;
    color: #000000;
    padding: 22px 26px;
    font-family: Arial, sans-serif;
}

.pointage-date-row {
    display: grid;
    grid-template-columns: 170px 1fr;
    width: 620px;
    border: 2px solid #000000;
    border-bottom: 0;
    font-size: 1.15rem;
}

.pointage-date-row span,
.pointage-date-row strong {
    padding: 6px 10px;
}

.pointage-date-row strong {
    text-align: center;
    border-left: 2px solid #000000;
}

.pointage-table {
    width: 620px;
    border-collapse: collapse;
    table-layout: fixed;
}

.pointage-table th,
.pointage-table td {
    border: 1.4px solid #000000;
    height: 38px;
    text-align: center;
}

.pointage-table th {
    background: #bfbfbf;
    font-size: 1.05rem;
    font-weight: 400;
}

.pointage-section td {
    background: #d9d9d9;
    font-size: 1.05rem;
    text-align: left;
    padding-left: 18px;
}

.pointage-spacer td {
    height: 30px;
}

.pointage-import-panel {
    background: #22384d;
    border-color: #60758a;
}

.pointage-import-panel h3 {
    margin: 0;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 14px;
}

.pointage-filter-panel {
    margin: 10px 14px 8px;
}

.pointage-import-filters {
    display: grid;
    grid-template-columns: repeat(10, minmax(96px, 1fr)) 86px 86px;
    gap: 8px;
    align-items: end;
    padding: 10px;
}

.pointage-import-filters label {
    display: grid;
    gap: 4px;
}

.pointage-import-filters span {
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-import-filters select,
.pointage-import-filters input {
    width: 100%;
    height: 32px;
    border: 1px solid #7f91a3;
    background: #fff4b8;
    color: #07111f;
    font-weight: 700;
}

.pointage-import-filters .button {
    min-height: 32px;
    display: grid;
    place-items: center;
}

.pointage-import-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 8px;
    margin: 0 14px 8px;
}

.pointage-import-totals article {
    border: 1px solid #60758a;
    background: #182a3d;
    padding: 9px 12px;
}

.pointage-import-totals span {
    display: block;
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-import-totals strong {
    display: block;
    margin-top: 4px;
    color: #ffffff;
    font-size: 20px;
}

.pointage-import-totals article.is-positive strong,
.pointage-import-table td.is-positive {
    color: #62d68a;
}

.pointage-import-totals article.is-negative strong,
.pointage-import-table td.is-negative {
    color: #ff6b6b;
}

.pointage-import-table-panel {
    margin: 0 14px 14px;
}

.pointage-import-table-wrap {
    max-height: calc(100vh - 325px);
    min-height: 460px;
    overflow: auto;
}

.pointage-import-table {
    width: 100%;
    min-width: 1480px;
    border-collapse: collapse;
}

.pointage-import-table th,
.pointage-import-table td {
    padding: 6px 8px;
    border-bottom: 1px solid #344c63;
    white-space: nowrap;
    text-align: left;
}

.pointage-import-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #1c3d5a;
    color: #8fd0ff;
    text-transform: uppercase;
    font-size: 11px;
}

.pointage-import-table tbody tr:nth-child(even) {
    background: #1b3145;
}

.pointage-import-table tbody tr:nth-child(odd) {
    background: #20364b;
}

.pointage-import-table tbody tr[data-href] {
    cursor: pointer;
}

.pointage-import-table tbody tr[data-href]:hover {
    background: #284760;
}

.winbooks-totals {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    margin-top: 10px;
}

.winbooks-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 10px 0;
}

.winbooks-tabs .button {
    min-height: 32px;
    display: grid;
    place-items: center;
}

.winbooks-tabs .is-active {
    border-color: #ffd21f;
    box-shadow: inset 0 0 0 1px #ffd21f;
}

.winbooks-filters {
    grid-template-columns: minmax(160px, 240px) minmax(240px, 1fr) minmax(280px, 1.4fr);
}

.winbooks-table-wrap {
    min-height: 430px;
    max-height: calc(100vh - 315px);
}

.winbooks-table {
    min-width: 960px;
}

.winbooks-cc-summary-wrap {
    min-height: 120px;
    max-height: 220px;
}

.winbooks-cc-summary-table {
    min-width: 720px;
}

.winbooks-cc-filters {
    grid-template-columns: minmax(160px, 240px) minmax(160px, 240px);
}

.winbooks-pair-recap {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(260px, 1.6fr) minmax(150px, 0.8fr);
    gap: 8px;
    margin: 0 14px 8px;
    padding: 10px;
}

.winbooks-pair-recap article {
    border: 1px solid #60758a;
    background: #182a3d;
    padding: 10px 12px;
}

.winbooks-pair-recap span {
    display: block;
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.winbooks-pair-recap strong {
    display: block;
    margin-top: 5px;
    color: #ffffff;
    font-size: 18px;
}

.winbooks-pair-recap .is-final strong {
    color: #ffdf75;
}

.winbooks-company-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(360px, 1fr));
    gap: 10px;
    padding: 10px;
}

.winbooks-company-card {
    border: 1px solid #60758a;
    background: #182a3d;
}

.winbooks-company-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #60758a;
}

.winbooks-company-title strong {
    color: #ffffff;
    font-size: 15px;
}

.winbooks-company-title span {
    color: #ffdf75;
    font-weight: 900;
}

.winbooks-company-table {
    min-width: 0;
}

.winbooks-company-table th,
.winbooks-company-table td {
    padding: 5px 7px;
}

.winbooks-company-table tbody tr[class*="cc-pair-"] td:first-child,
.winbooks-table tbody tr[class*="cc-pair-"] td:first-child {
    box-shadow: inset 5px 0 0 var(--pair-color, #8fd0ff);
}

.winbooks-company-table tbody tr[class*="cc-pair-"] td,
.winbooks-table tbody tr[class*="cc-pair-"] td {
    background: color-mix(in srgb, var(--pair-color, #8fd0ff) 12%, #1b3348);
}

.js-winbooks-pair-row {
    cursor: pointer;
}

.js-winbooks-pair-row:hover td,
.js-winbooks-detail-row:hover td {
    background: color-mix(in srgb, var(--pair-color, #8fd0ff) 22%, #1b3348);
}

.js-winbooks-detail-row {
    cursor: pointer;
}

.winbooks-pair-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 7px;
    border-radius: 2px;
    background: var(--pair-color, #8fd0ff);
    vertical-align: -1px;
}

.cc-pair-1 { --pair-color: #ffb84d; }
.cc-pair-2 { --pair-color: #6fd58c; }
.cc-pair-3 { --pair-color: #62c5ff; }
.cc-pair-4 { --pair-color: #ff7f6e; }
.cc-pair-5 { --pair-color: #d6cf55; }
.cc-pair-6 { --pair-color: #8fb3ff; }
.cc-pair-7 { --pair-color: #5fd1c1; }
.cc-pair-8 { --pair-color: #f19ad6; }

.winbooks-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(5, 12, 20, 0.72);
}

.winbooks-modal-backdrop.is-open {
    display: flex;
}

.winbooks-modal {
    width: min(1180px, 96vw);
    max-height: 86vh;
    border: 1px solid #70879d;
    background: #13263a;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.42);
    overflow: hidden;
}

.winbooks-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-bottom: 1px solid #60758a;
    background: #0f2032;
}

.winbooks-modal-header h3 {
    margin: 0;
    color: #ffffff;
}

.winbooks-modal-close {
    border: 0;
    background: #2f7ded;
    color: #ffffff;
    font-weight: 900;
    padding: 9px 14px;
    cursor: pointer;
}

.winbooks-modal-body {
    max-height: calc(86vh - 78px);
    overflow: auto;
    padding: 12px;
}

.winbooks-pair-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.winbooks-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.winbooks-pair-detail-summary article,
.winbooks-detail-summary article {
    border: 1px solid #60758a;
    background: color-mix(in srgb, var(--pair-color, #8fd0ff) 14%, #182a3d);
    padding: 9px 11px;
}

.winbooks-pair-detail-summary span,
.winbooks-detail-summary span {
    display: block;
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.winbooks-pair-detail-summary strong,
.winbooks-detail-summary strong {
    display: block;
    margin-top: 5px;
    color: #ffffff;
    font-size: 17px;
}

.winbooks-detail-table {
    min-width: 980px;
}

.winbooks-company-total td {
    background: #102033;
    font-weight: 900;
    color: #ffffff;
}

.winbooks-log-wrap {
    min-height: 120px;
    max-height: 210px;
}

.winbooks-log-table {
    min-width: 900px;
}

.winbooks-table td.is-money-highlight {
    color: #ffdf75;
    font-weight: 900;
}

.winbooks-table td.is-money-highlight.is-positive {
    color: #42f58d;
}

.winbooks-table td.is-money-highlight.is-negative {
    color: #ff5c5c;
}

.winbooks-table th.js-sortable-column {
    cursor: pointer;
    user-select: none;
}

.winbooks-table th.js-sortable-column::after {
    content: " â†•";
    color: #ffd21f;
    font-size: 10px;
}

.winbooks-table th.js-sortable-column.is-sort-asc::after {
    content: " â–²";
}

.winbooks-table th.js-sortable-column.is-sort-desc::after {
    content: " â–¼";
}

.winbooks-filter-button {
    display: none;
}

.winbooks-live-account {
    min-height: 32px;
    border: 1px solid #ffd21f;
    background: #17293d;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 6px 10px;
}

.winbooks-live-account span {
    color: #ffd21f;
    font-size: 13px;
}

.winbooks-live-account strong {
    color: #ffffff;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.winbooks-live-account em {
    color: #ffdf75;
    font-style: normal;
    font-weight: 900;
    font-size: 13px;
}

.pointage-correspondance-filters {
    grid-template-columns: minmax(180px, 1.4fr) repeat(5, minmax(120px, 1fr)) 86px 86px;
}

.pointage-correspondance-table {
    min-width: 1320px;
}

.correspondance-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.correspondance-badge.is-linked {
    background: rgba(34, 197, 94, 0.24);
    color: #8bf2a8;
}

.correspondance-badge.is-missing {
    background: rgba(239, 68, 68, 0.22);
    color: #ff9b9b;
}

.correspondance-badge.is-positive {
    background: rgba(34, 197, 94, 0.24);
    color: #8bf2a8;
}

.correspondance-badge.is-negative {
    background: rgba(239, 68, 68, 0.22);
    color: #ff9b9b;
}

.correspondance-badge.is-other {
    background: rgba(245, 158, 11, 0.24);
    color: #ffd084;
}

.pointage-profitability-filters {
    grid-template-columns: minmax(120px, 0.65fr) minmax(95px, 0.5fr) minmax(120px, 0.58fr) minmax(120px, 0.58fr) minmax(170px, 1fr) minmax(200px, 1.05fr) minmax(150px, 0.78fr) minmax(120px, 0.58fr) minmax(130px, 0.62fr) minmax(115px, 0.55fr) 92px;
}

.pointage-profitability-filters select[multiple] {
    height: 112px;
}

.pointage-profitability-totals {
    grid-template-columns: repeat(7, minmax(140px, 1fr));
}

.pointage-profitability-layout {
    display: grid;
    grid-template-columns: minmax(760px, 1.28fr) minmax(430px, 0.82fr);
    gap: 10px;
    margin: 0 14px 14px;
}

.pointage-profitability-layout-full {
    grid-template-columns: 1fr;
}

.pointage-profitability-list,
.pointage-profitability-detail {
    min-width: 0;
}

.pointage-profitability-table-wrap {
    min-height: 560px;
    max-height: calc(100vh - 345px);
}

.pointage-profitability-table {
    min-width: 1190px;
}

.pointage-profitability-table th,
.pointage-profitability-table td {
    padding: 4px 6px;
    font-size: 12px;
    line-height: 1.18;
}

.pointage-profitability-table th {
    font-size: 10px;
}

.pointage-profitability-table td:nth-child(3) {
    max-width: 205px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pointage-profitability-table td:nth-child(4) {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pointage-profitability-table th:nth-child(5),
.pointage-profitability-table td:nth-child(5),
.pointage-profitability-table th:nth-child(6),
.pointage-profitability-table td:nth-child(6) {
    width: 54px;
}

.pointage-profitability-table th:nth-child(7),
.pointage-profitability-table td:nth-child(7),
.pointage-profitability-table th:nth-child(8),
.pointage-profitability-table td:nth-child(8),
.pointage-profitability-table th:nth-child(9),
.pointage-profitability-table td:nth-child(9),
.pointage-profitability-table th:nth-child(10),
.pointage-profitability-table td:nth-child(10) {
    width: 78px;
}

.pointage-profitability-table tbody tr {
    cursor: pointer;
}

.pointage-profitability-table tbody tr:hover,
.pointage-profitability-table tbody tr.is-selected {
    background: #2c526f;
}

.pointage-profitability-table tbody tr.is-special-vehicle td {
    background: rgba(245, 158, 11, 0.28);
    color: #ffe0a3;
    font-weight: 800;
}

.pointage-profitability-table tbody tr.is-special-vehicle:hover td,
.pointage-profitability-table tbody tr.is-special-vehicle.is-selected td {
    background: rgba(245, 158, 11, 0.42);
}

.pointage-profitability-identity {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-bottom: 1px solid #60758a;
}

.pointage-profitability-identity strong {
    color: #ffffff;
    font-size: 18px;
}

.pointage-profitability-identity span {
    color: #c7d7e8;
    font-weight: 700;
}

.pointage-profitability-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 8px;
    padding: 10px;
}

.pointage-profitability-cards article {
    border: 1px solid #60758a;
    background: #182a3d;
    padding: 9px 11px;
}

.pointage-profitability-cards span {
    display: block;
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-profitability-cards strong {
    display: block;
    margin-top: 5px;
    color: #ffffff;
    font-size: 18px;
}

.pointage-profitability-cards article.is-positive strong {
    color: #62d68a;
}

.pointage-profitability-cards article.is-negative strong {
    color: #ff6b6b;
}

.pointage-profitability-detail-grid {
    display: grid;
    gap: 12px;
    padding: 0 10px 12px;
}

.pointage-profitability-detail-grid h4 {
    margin: 6px 0;
    color: #ffffff;
    font-size: 13px;
    text-transform: uppercase;
}

.pointage-profitability-small-table {
    min-width: 0;
}

.pointage-profitability-small-table th,
.pointage-profitability-small-table td {
    padding: 5px 7px;
}

.pointage-profitability-small-table td:last-child {
    text-align: right;
    font-weight: 900;
    color: #ffffff;
}

.pointage-comparison-header {
    align-items: end;
    display: flex;
    justify-content: space-between;
}

.pointage-comparison-header p:not(.eyebrow) {
    margin: 4px 0 0;
    color: #c7d7e8;
    font-weight: 800;
}

.pointage-comparison-actions {
    display: flex;
    gap: 8px;
}

.pointage-comparison-totals {
    grid-template-columns: repeat(6, minmax(150px, 1fr));
}

.pointage-comparison-totals strong.is-positive,
.pointage-comparison-totals .is-positive {
    color: #62d68a;
}

.pointage-comparison-totals strong.is-negative,
.pointage-comparison-totals .is-negative {
    color: #ff6b6b;
}

.pointage-comparison-alerts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px;
    margin: 0 14px 10px;
}

.pointage-comparison-alerts article {
    border: 1px solid #60758a;
    background: #182a3d;
    color: #ffffff;
    padding: 9px 11px;
    font-weight: 800;
}

.pointage-comparison-alerts article.ok {
    border-color: #43c06c;
    color: #8bf2a8;
}

.pointage-comparison-alerts article.warn {
    border-color: #ffd84a;
    color: #ffe487;
}

.pointage-comparison-alerts article.bad {
    border-color: #ff6b6b;
    color: #ff9b9b;
}

.pointage-comparison-grid {
    display: grid;
    grid-template-columns: minmax(660px, 1fr) minmax(660px, 1fr);
    gap: 10px;
    margin: 0 14px 12px;
}

.pointage-comparison-panel {
    min-width: 0;
}

.pointage-comparison-panel h4 {
    margin: 12px 10px 6px;
    color: #ffffff;
    font-size: 13px;
    text-transform: uppercase;
}

.pointage-manual-invoice-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr)) minmax(180px, 1.4fr) 180px;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #60758a;
}

.pointage-manual-invoice-form label {
    display: grid;
    gap: 4px;
}

.pointage-manual-invoice-form label.is-wide {
    grid-column: span 2;
}

.pointage-manual-invoice-form span {
    color: #8fd0ff;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-manual-invoice-form input {
    min-width: 0;
    height: 32px;
    border: 1px solid #73a2d0;
    background: #173765;
    color: #ffffff;
    padding: 5px 7px;
    font-weight: 800;
}

.pointage-manual-invoice-form button {
    align-self: end;
    height: 32px;
    padding: 0 10px;
}

.pointage-comparison-table-wrap {
    overflow: auto;
}

.pointage-comparison-table {
    min-width: 720px;
}

.pointage-comparison-table.is-compact {
    min-width: 0;
}

.pointage-comparison-table th,
.pointage-comparison-table td {
    padding: 5px 7px;
    font-size: 12px;
    line-height: 1.2;
}

.pointage-comparison-table th {
    font-size: 10px;
}

.pointage-comparison-table td:not(:first-child) {
    text-align: right;
}

.pointage-comparison-table td:nth-child(2) {
    text-align: left;
}

.pointage-comparison-table .is-total td,
.pointage-comparison-table tr.is-total td {
    background: #1f4f73;
    color: #ffffff;
    font-weight: 900;
}

.pointage-comparison-table .is-ok {
    color: #8bf2a8;
    font-weight: 900;
}

.pointage-comparison-table .is-positive {
    color: #62d68a;
    font-weight: 900;
}

.pointage-comparison-table .is-negative {
    color: #ff6b6b;
    font-weight: 900;
}

.pointage-comparison-lines {
    margin: 0 14px 14px;
}

@media (max-width: 1400px) {
    .pointage-import-filters {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }

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

    .pointage-profitability-totals {
        grid-template-columns: repeat(4, minmax(150px, 1fr));
    }

    .pointage-comparison-grid {
        grid-template-columns: 1fr;
    }

    .pointage-comparison-totals {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .pointage-manual-invoice-form {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }

    .pointage-manual-invoice-form label.is-wide {
        grid-column: span 2;
    }
}

.pointage-report-body {
    margin: 0;
    background: #f1f5f9;
    color: #000000;
    font-family: Arial, sans-serif;
}

.pointage-report-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    background: #0f2234;
}

.pointage-report-page {
    width: 720px;
    min-height: 980px;
    margin: 18px auto;
    padding: 28px 50px;
    background: #ffffff;
    border-left: 3px solid #000000;
    border-right: 3px solid #000000;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

.pointage-report-header {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    align-items: center;
    min-height: 30px;
    padding: 0 8px;
    border-radius: 8px;
    background: #dcecf9;
}

.pointage-report-header span {
    font-size: 12px;
}

.pointage-report-header strong {
    text-align: center;
    font-size: 18px;
}

.pointage-report-header span:last-child {
    text-align: right;
}

.pointage-report-filter {
    margin: 16px 0 10px;
    font-size: 12px;
    font-weight: 700;
}

.pointage-report-worker {
    margin-top: 14px;
    break-inside: avoid;
}

.pointage-report-worker h2 {
    margin: 0 0 2px;
    padding: 2px 4px;
    border: 1px solid #000000;
    background: #dcecf9;
    font-size: 12px;
}

.pointage-report-day {
    margin-top: 9px;
}

.pointage-report-day h3 {
    width: 240px;
    margin: 0 0 3px;
    padding: 2px 4px;
    border: 1px solid #000000;
    font-size: 12px;
}

.pointage-report-day table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.pointage-report-day td {
    padding: 3px 4px;
}

.pointage-report-day td:nth-child(1) {
    width: 34%;
}

.pointage-report-day td:nth-child(2) {
    width: 20%;
}

.pointage-report-day td:nth-child(3),
.pointage-report-day td:nth-child(5) {
    width: 10%;
    text-align: center;
}

.pointage-report-day .arrow {
    width: 5%;
    text-align: center;
}

.pointage-report-day tfoot td {
    padding-top: 6px;
    font-weight: 700;
}

.pointage-report-day tfoot td:first-child {
    text-align: right;
}

.pointage-report-worker-total,
.pointage-report-total {
    margin-top: 8px;
    font-weight: 700;
    text-align: right;
}

.pointage-report-absence td {
    color: #b91c1c;
    font-weight: 700;
}

.pointage-report-day .is-positive,
.pointage-report-worker-total .is-positive {
    color: #15803d;
}

.pointage-report-day .is-negative,
.pointage-report-worker-total .is-negative {
    color: #b91c1c;
}

.pointage-report-total {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #000000;
    font-size: 12px;
}

.pointage-report-empty {
    margin-top: 24px;
    text-align: center;
}

.pointage-resume-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px 14px 18px;
}

.pointage-resume-panel {
    background: #22384d;
    border-color: #60758a;
}

.pointage-resume-panel .panel-header p {
    margin: 3px 0 0;
    color: #8fd0ff;
    font-weight: 900;
}

.pointage-resume-panel-header {
    align-items: center;
}

.pointage-resume-nav {
    display: flex;
    gap: 6px;
    align-items: center;
}

.pointage-resume-nav .button {
    min-width: 34px;
    min-height: 28px;
    padding: 4px 8px;
    display: grid;
    place-items: center;
}

.pointage-resume-toolbar label {
    display: grid;
    gap: 4px;
}

.pointage-resume-toolbar label span {
    color: #8fd0ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-resume-toolbar select {
    width: 180px;
    min-height: 32px;
    border: 1px solid #7f91a3;
    background: #fff4b8;
    color: #07111f;
    font-weight: 700;
}

.pointage-resume-totals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 0;
}

.pointage-resume-totals span {
    border: 1px solid #60758a;
    background: #182a3d;
    color: #8fd0ff;
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pointage-resume-totals strong {
    display: block;
    margin-top: 3px;
    color: #ffffff;
    font-size: 18px;
}

.pointage-resume-table-wrap {
    max-height: calc(100vh - 310px);
    overflow: auto;
}

.pointage-resume-table {
    width: 100%;
    border-collapse: collapse;
}

.pointage-resume-table th,
.pointage-resume-table td {
    padding: 7px 8px;
    border-bottom: 1px solid #344c63;
    white-space: nowrap;
    text-align: left;
}

.pointage-resume-table th {
    position: sticky;
    top: 0;
    background: #1c3d5a;
    color: #8fd0ff;
    text-transform: uppercase;
    font-size: 11px;
}

.pointage-resume-table tbody tr:nth-child(even) {
    background: #1b3145;
}

.pointage-resume-table tbody tr:nth-child(odd) {
    background: #20364b;
}

.pointage-resume-table .is-positive,
.pointage-resume-totals .is-positive strong {
    color: #62d68a;
}

.pointage-resume-table .is-warning,
.pointage-resume-totals .is-warning strong {
    color: #f59e0b;
}

.pointage-resume-table .is-negative,
.pointage-resume-totals .is-negative strong {
    color: #ff6b6b;
}

@media (max-width: 1200px) {
    .pointage-resume-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    .pointage-report-toolbar {
        display: none;
    }

    .pointage-report-body {
        background: #ffffff;
    }

    .pointage-report-page {
        width: auto;
        min-height: auto;
        margin: 0;
        padding: 12mm 14mm;
        border-left: 2px solid #000000;
        border-right: 2px solid #000000;
        box-shadow: none;
    }
}

@media print {
    body {
        background: #ffffff;
    }

    .top-shell,
    .flash-container,
    .pointage-header {
        display: none !important;
    }

    .pointage-preview {
        border: 0;
        padding: 0;
        min-height: auto;
    }

    .pointage-sheet {
        width: 190mm;
        min-height: 270mm;
        padding: 10mm;
    }
}

@media (max-width: 960px) {
    .shell,
    .stats-grid,
    .panel-grid,
    .history-layout,
    .users-layout,
    .rights-grid {
        grid-template-columns: 1fr;
    }

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

    .agenda-topbar,
    .agenda-toolbar {
        align-items: start;
        flex-direction: column;
    }

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

    .field-wide {
        grid-column: auto;
    }

    .sidebar {
        padding-bottom: 20px;
    }

    .dashboard-bottom-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-top {
        flex-direction: column;
    }

    .dashboard-absence-grid {
        grid-template-columns: 220px repeat(7, 36px);
    }

    .dashboard-absence-cell,
    .dashboard-absence-empty,
    .dashboard-absence-split {
        width: 36px;
    }

    .vr-layout,
    .vr-filter-grid,
    .vr-check-grid,
    .appels-toolbar,
    .appels-inline-filter {
        align-items: start;
        flex-direction: column;
    }

    .appels-desktop-field {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .appels-field-tel input {
        max-width: none;
    }

    .appels-mail-buttons {
        grid-template-columns: 1fr;
    }

    .top-shell,
    .top-primary-nav,
    .top-secondary-nav {
        align-items: start;
        flex-direction: column;
    }

    .garantie-topbar,
    .garantie-main-grid,
    .garantie-cost-grid,
    .garantie-grid-2,
    .garantie-win-grid-top,
    .garantie-win-grid-middle,
    .garantie-win-cost-grid,
    .garantie-search-layout,
    .garantie-history-layout {
        grid-template-columns: 1fr;
    }

    .garantie-history-toolbar,
    .garantie-history-inline-filters {
        flex-wrap: wrap;
    }

    .garantie-win-fields label,
    .garantie-win-status-top label,
    .garantie-win-cost-box label,
    .garantie-win-total-box label,
    .garantie-win-intervention-grid label {
        grid-template-columns: 1fr;
    }

    .garantie-win-badges-grid {
        grid-template-columns: 1fr;
    }

    .reviews-shell,
    .reviews-top-filter,
    .reviews-form {
        grid-template-columns: 1fr;
    }

    .reviews-employee-list,
    .reviews-table-shell {
        max-height: none;
    }
}

/* Mondial Car header aligned with the Universal Concept presentation. */
.top-shell {
    min-height: 104px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) minmax(218px, auto);
    grid-template-rows: minmax(40px, auto) minmax(30px, auto);
    align-content: center;
    align-items: center;
    gap: 6px 12px;
    border-bottom: 1px solid #334155;
    background: #122033;
    color: #fff;
    padding: 9px 12px;
}

.top-logo-link {
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 82px;
    background: #fff;
    padding: 6px 12px;
}

.top-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-primary-nav {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
    gap: 7px;
    align-items: center;
    padding: 0;
    background: transparent;
}

.top-secondary-nav {
    grid-column: 2;
    grid-row: 2;
    min-height: 30px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0;
    background: transparent;
    border-bottom: 0;
    scrollbar-width: thin;
}

.top-shell-actions,
.top-user-actions {
    grid-column: 3;
    grid-row: 1 / span 2;
    display: grid;
    align-content: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}

.top-user-line {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: 0;
}

.top-user-line form {
    margin: 0;
}

.top-user-exports {
    justify-content: stretch;
}

.top-user-exports .top-action-button,
.top-export-menu,
.top-export-button {
    width: 100%;
}

.top-shell-user {
    display: grid;
    gap: 2px;
    min-width: 68px;
    text-align: left;
}

.top-shell-user strong {
    color: #fff;
    font-size: 12px;
    line-height: 1.1;
}

.top-shell-user span {
    color: #9fc7ef;
    font-size: 10px;
    line-height: 1.1;
}

.top-action-button {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: #2f7df6;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
    padding: 5px 8px;
    cursor: pointer;
    white-space: nowrap;
}

.top-user-box {
    display: grid;
    gap: 2px;
    min-width: 76px;
    text-align: left;
}

.top-user-box strong {
    color: #fff;
    font-size: 12px;
    line-height: 1.1;
}

.top-user-box span {
    color: #9fc7ef;
    font-size: 10px;
    line-height: 1.1;
}

.top-action-danger {
    background: #b83b1a;
}

.top-main-button,
.top-sub-button {
    border-radius: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.top-main-button {
    min-width: 0;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    padding: 0 8px;
}

.top-sub-button {
    min-height: 28px;
    min-width: 104px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: #25364a;
    padding: 0 10px;
}

.top-main-button.is-active,
.top-main-button:hover,
.top-sub-button.is-active,
.top-sub-button:hover {
    outline: 2px solid #ffd34d;
    outline-offset: -3px;
    box-shadow: none;
}

.top-main-acceuil { background: #2f7df6; }
.top-main-activite { background: #8e2de2; }
.top-main-garanties { background: #1f9d55; }
.top-main-personnel { background: #1496a8; }
.top-main-transport { background: #b83b1a; }
.top-main-vr { background: #e8751a; }
.top-main-communication { background: #52677c; }
.top-main-signaletique { background: #3d536b; }

.top-flash-stack {
    grid-column: 1 / -1;
    margin-left: 0;
}

.content-auth {
    padding: 0;
}

.login-stage {
    min-height: 100vh;
    width: 100%;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(232, 30, 42, 0.12), transparent 34%),
        linear-gradient(315deg, rgba(47, 125, 246, 0.10), transparent 32%),
        #0f1826;
}

.login-panel {
    width: min(390px, 100%);
    display: grid;
    gap: 12px;
    border: 1px solid #334155;
    border-radius: 0;
    background: #172638;
    padding: 24px;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
}

.login-logo {
    width: min(300px, 100%);
    justify-self: center;
    background: #fff;
    margin-bottom: 4px;
}

.login-title h1 {
    margin: 0;
    color: #fff;
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
}

.login-admin-switch {
    margin: 8px 0 0;
    border: 1px solid #d8b319;
    padding: 8px 10px;
    color: #ffe66d;
    background: rgba(216, 179, 25, 0.10);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.login-panel label {
    display: grid;
    gap: 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.login-panel input,
.login-panel select {
    min-height: 34px;
    border-radius: 0;
    border: 1px solid #26374b;
    background: #fff;
    color: #111827;
}

.login-panel select {
    appearance: auto;
    background: #fff8c7;
    color: #06131f;
    font-size: 15px;
    font-weight: 800;
}

.login-panel select option {
    background: #ffffff;
    color: #06131f;
}

.login-button {
    width: 100%;
    min-height: 34px;
    margin-top: 4px;
    border-radius: 0;
    background: #e81e2a;
    font-weight: 900;
    text-transform: uppercase;
}

.login-button:hover {
    background: #c91520;
}

@media (max-width: 1280px) {
    .top-shell {
        grid-template-columns: 210px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }

    .top-logo-link {
        width: 210px;
        grid-row: 1 / span 2;
    }

    .top-shell-actions {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-content: flex-end;
        flex-wrap: wrap;
    }
}

/* Universal-style Notes and Repertoire layout. */
.personnel-layout {
    min-height: calc(100vh - 124px);
    display: grid;
    grid-template-columns: minmax(420px, 0.46fr) minmax(560px, 0.54fr);
    gap: 12px;
    padding: 12px;
}

.mondial-personnel-layout .table-shell {
    max-height: calc(100vh - 235px);
    overflow: auto;
}

.personnel-form textarea {
    min-height: 86px;
    border: 1px solid #26374b;
    background: #fff1b0;
    color: #000;
    font-weight: 700;
    padding: 6px 7px;
    resize: vertical;
}

.personnel-form .large-textarea {
    min-height: 290px;
}

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

.personnel-search {
    grid-template-columns: 1fr auto;
}

.repertoire-live-search {
    grid-template-columns: 1fr;
}

.notes-table tr[data-href],
.repertoire-universal-table tr[data-href] {
    cursor: pointer;
}

.notes-table tr.is-selected td,
.repertoire-universal-table tr.is-selected td {
    background: rgba(255, 217, 102, 0.14);
}

.notes-table small {
    color: var(--muted);
    font-weight: 800;
}

.repertoire-tab-line {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(159, 199, 239, 0.2);
    padding: 8px 10px;
}

.repertoire-universal-table th,
.repertoire-universal-table td {
    white-space: nowrap;
}

.repertoire-universal-table a,
.notes-table a {
    color: #fff;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 1280px) {
    .personnel-layout {
        grid-template-columns: 1fr;
    }

    .mondial-personnel-layout .table-shell {
        max-height: none;
    }
}

@media (max-width: 720px) {
    .personnel-grid,
    .personnel-search {
        grid-template-columns: 1fr;
    }
}

.notes-universal-layout {
    grid-template-columns: minmax(620px, 0.68fr) minmax(360px, 0.32fr);
}

.notes-universal-layout .notes-table-shell {
    max-height: calc(100vh - 185px);
}

.notes-table td {
    padding: 5px 8px;
}

.notes-table tbody tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.018);
}

.notes-table tbody tr:nth-child(even) td {
    background: rgba(159, 199, 239, 0.045);
}

.notes-table tbody tr.note-priority-row-urgente td {
    background: rgba(184, 59, 26, 0.18);
}

.notes-table tbody tr.note-priority-row-haute td {
    background: rgba(230, 126, 34, 0.16);
}

.notes-table tbody tr.note-priority-row-normale td {
    background: rgba(47, 125, 246, 0.08);
}

.notes-table tbody tr.note-priority-row-basse td {
    background: rgba(71, 85, 105, 0.16);
}

.notes-table tr.is-selected td {
    background: rgba(255, 217, 102, 0.16) !important;
}

.note-list-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    align-items: center;
}

.notes-table p {
    max-height: 34px;
    margin: 2px 0 0;
    overflow: hidden;
    color: #dce7f3;
    font-size: 12px;
    line-height: 1.25;
    white-space: pre-line;
}

.notes-table th,
.notes-table td {
    vertical-align: top;
}

.notes-table th:first-child,
.notes-table td.note-title-cell {
    width: 28%;
    min-width: 180px;
}

.notes-table th:nth-child(3),
.notes-table td:nth-child(3) {
    width: 92px;
    text-align: center;
}

.notes-table th a {
    color: #9fc7ef;
    text-decoration: none;
}

.notes-table th a:hover {
    color: #ffd966;
}

.note-delete-dialog {
    width: min(440px, calc(100vw - 32px));
    border: 1px solid #ffd966;
    padding: 0;
    background: #132437;
    color: #ffffff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
}

.note-delete-dialog[open] {
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
}

.note-delete-dialog::backdrop {
    background: rgba(3, 10, 18, 0.68);
}

.note-delete-dialog-body {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.note-delete-dialog-kicker {
    margin: 0 0 4px;
    color: #ffd966;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.note-delete-dialog h3 {
    margin: 0;
    color: #ffffff;
    font-size: 22px;
}

.note-delete-dialog-text {
    margin: 0;
    color: #d8e6f3;
    line-height: 1.4;
}

.note-delete-dialog-text strong {
    color: #ffffff;
}

.note-delete-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.note-detail-meta {
    color: #bfd2ec;
    font-size: 12px;
    font-weight: 800;
    margin: -4px 0 12px;
    text-transform: uppercase;
}

.note-priority {
    min-width: 72px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 2px 6px;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.repertoire-universal-table tbody tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.018);
}

.repertoire-universal-table tbody tr:nth-child(even) td {
    background: rgba(159, 199, 239, 0.045);
}

.repertoire-universal-table td {
    color: #d9e6f3;
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
}

.repertoire-universal-table a {
    color: #f4f8fc;
    font-weight: 500;
    text-transform: none;
}

.repertoire-live-search input,
.personnel-form input[name="nom"],
.personnel-form input[name="prenom"],
.personnel-form input[name="societe"] {
    text-transform: none;
}

.repertoire-universal-table tr.is-selected td {
    background: rgba(255, 217, 102, 0.16) !important;
}

.note-priority-urgente {
    background: #b83b1a;
}

.note-priority-haute {
    background: #e67e22;
}

.note-priority-normale {
    background: #2f7df6;
}

.note-priority-basse {
    background: #475569;
}

@media (max-width: 1280px) {
    .notes-universal-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .top-shell {
        grid-template-columns: 1fr;
    }

    .top-logo-link,
    .top-primary-nav,
    .top-secondary-nav,
    .top-shell-actions {
        grid-column: 1;
        grid-row: auto;
    }

    .top-logo-link {
        justify-self: center;
    }

    .top-primary-nav {
        grid-template-columns: 1fr 1fr;
    }

    .top-secondary-nav,
    .top-shell-actions {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* Universal Concept visual alignment for Mondial Car modules. */
:root {
    --bg: #0f1826;
    --panel: #172638;
    --panel-2: #22384d;
    --line: #5e7083;
    --ink: #ffffff;
    --muted: #9fc7ef;
    --gold: #ffd966;
    --red: #b83b1a;
    --blue: #2f7df6;
    --green: #1f8a55;
    --orange: #e67e22;
    --purple: #8d2dd5;
    --cyan: #1f9bb6;
    --slate: #475569;
}

html,
body {
    min-height: 100%;
}

body {
    background: var(--bg);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
}

.shell-topnav {
    background: var(--bg);
}

.content {
    color: var(--ink);
}

.content-topnav {
    padding: 0;
}

.panel,
.stat-card,
.auth-card,
.dashboard-dark-panel,
.vr-dark-panel,
.vr-form-panel,
.vr-list-panel,
.signal-form-panel,
.signal-table-panel,
.employee-list-panel,
.employee-form-panel,
.notes-table-panel,
.notes-form-panel,
.repertoire-compact-list-panel,
.repertoire-compact-form-panel,
.garantie-panel,
.garantie-win-panel,
.garantie-list-panel,
.reviews-employees-panel,
.reviews-form-panel,
.reviews-table-panel,
.reviews-evaluation-panel,
.planning-grid-panel {
    border-radius: 0;
    border: 1px solid var(--line);
    background: var(--panel);
    color: #fff;
    box-shadow: none;
}

.panel-header {
    border-bottom: 1px solid rgba(159, 199, 239, 0.2);
    background: transparent;
}

.panel-header h2,
.panel-header h3,
.panel h2,
.panel h3,
.page-header h2 {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
}

.eyebrow,
.lead,
.empty-state,
.dashboard-empty {
    color: var(--muted);
}

input,
textarea,
select {
    border-radius: 0;
    border: 1px solid #26374b;
    background: #fff1b0;
    color: #000;
    font-weight: 700;
}

.button,
.dash-small-button,
.dash-link-button,
.small-button,
.btn {
    border-radius: 0;
    border: 0;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
}

.button:hover,
.dash-small-button:hover,
.dash-link-button:hover,
.small-button:hover,
.btn:hover {
    filter: brightness(1.08);
}

.button-danger,
.btn-danger {
    background: var(--red);
}

.button-success,
.btn-success {
    background: var(--green);
}

.user-access-mail-panel {
    margin: 12px;
    padding: 12px;
    border: 1px solid rgba(255, 216, 77, .75);
    background: #122238;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, .9fr);
    gap: 12px;
    align-items: end;
}

.user-access-mail-panel h3 {
    margin: 0 0 5px;
    color: var(--gold);
    font-size: 14px;
    text-transform: uppercase;
}

.user-access-mail-panel p {
    margin: 0;
    color: #d7e7f7;
    line-height: 1.35;
}

.user-access-mail-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.user-access-mail-form label {
    display: grid;
    gap: 5px;
}

.user-access-mail-form span {
    color: #9fc7ef;
    font-weight: 900;
    text-transform: uppercase;
}

.button-secondary,
.btn-secondary {
    background: var(--slate);
    color: #fff;
}

.badge {
    min-width: 34px;
    border: 1px solid var(--gold);
    color: var(--gold);
    background: transparent;
    padding: 3px 8px;
    text-align: center;
    font-weight: 900;
}

.dark-table,
.dashboard-ct-table {
    width: 100%;
    border-collapse: collapse;
    color: #fff;
}

.dark-table th,
.dark-table td,
.dashboard-ct-table th,
.dashboard-ct-table td {
    border-bottom: 1px solid rgba(159, 199, 239, 0.16);
    padding: 8px 9px;
    text-align: left;
}

.dark-table th,
.dashboard-ct-table thead th {
    background: var(--panel-2);
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.dark-table tr:hover td,
.dashboard-ct-table tr:hover td {
    background: rgba(255, 217, 102, 0.08);
}

.top-shell {
    border-bottom-color: var(--line);
    background: var(--panel);
}

.top-primary-nav {
    grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
}

.top-main-button,
.top-sub-button,
.top-action-button {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.top-main-acceuil { background: #24384f; }
.top-main-activite { background: var(--purple); }
.top-main-garanties { background: var(--green); }
.top-main-personnel { background: var(--blue); }
.top-main-transport { background: #0f766e; }
.top-main-vr { background: var(--orange); }
.top-main-pointage { background: #b88916; color: #101828; }
.top-main-communication { background: #c026d3; }
.top-main-signaletique { background: var(--slate); }

.top-sub-button {
    background: #25364a;
}

.top-sub-button.is-active,
.top-sub-button:hover {
    background: #2f7df6;
}

.mondial-home-dashboard {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
    align-items: start;
    background: var(--bg);
}

.mondial-home-main {
    grid-template-columns: 1fr;
}

.home-brand-panel {
    display: grid;
    place-items: center;
    min-height: 220px;
    border: 1px solid var(--line);
    background: var(--panel);
}

.home-dashboard-logo {
    width: min(360px, 82%);
    background: #fff;
    padding: 14px;
}

.mondial-home-logo {
    width: min(520px, 88%);
}

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

.mondial-home-wide {
    grid-column: 1 / -1;
    grid-template-columns: minmax(620px, 1.25fr) minmax(360px, 0.75fr);
}

.home-reminder-card {
    min-width: 0;
    border: 1px solid var(--line);
    background: var(--panel);
    color: #fff;
}

.home-reminder-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(159, 199, 239, 0.2);
    padding: 9px 10px;
}

.home-reminder-header h2 {
    margin: 0;
    color: #fff;
    font-size: 15px;
    text-transform: uppercase;
}

.home-reminder-list {
    display: grid;
    gap: 6px;
    padding: 9px;
}

.home-reminder-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    text-decoration: none;
    padding: 7px 8px;
}

.home-reminder-row strong,
.home-reminder-row span,
.home-reminder-row em {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-reminder-row strong,
.home-reminder-row em {
    color: #fff;
    font-style: normal;
    font-weight: 900;
}

.home-reminder-empty {
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.55);
    padding: 7px 8px;
}

.reminder-danger {
    background: rgba(184, 59, 26, 0.22);
}

.reminder-warning {
    background: rgba(255, 217, 102, 0.13);
}

.reminder-neutral {
    background: rgba(47, 125, 246, 0.12);
}

.home-table-shell {
    max-height: calc(100vh - 410px);
    min-height: 220px;
    overflow: auto;
}

.home-dark-table {
    min-width: 980px;
}

.ct-row-rdv td {
    background: rgba(47, 125, 246, 0.24);
}

.ct-row-urgent td {
    background: rgba(184, 59, 26, 0.30);
}

.ct-row-warning td {
    background: rgba(255, 217, 102, 0.16);
}

.mondial-absence-shell {
    max-height: calc(100vh - 410px);
    min-height: 220px;
    border: 0;
    background: transparent;
}

.dashboard-absence-grid {
    min-width: 600px;
}

.dashboard-absence-head,
.dashboard-absence-name {
    color: #fff;
}

@media (max-width: 1280px) {
    .mondial-home-dashboard,
    .home-reminders,
    .mondial-home-wide {
        grid-template-columns: 1fr;
    }

    .mondial-home-wide {
        grid-column: auto;
    }

    .home-table-shell,
    .mondial-absence-shell {
        max-height: none;
    }
}

@media (max-width: 720px) {
    .home-reminder-row {
        grid-template-columns: 1fr;
    }
}

/* Mondial home requested order: vehicle alerts on the left, agenda/absence on the right. */
.mondial-home-dashboard {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 10px 18px;
}

.mondial-home-layout {
    display: grid;
    grid-template-columns: minmax(520px, 0.9fr) minmax(680px, 1.1fr);
    gap: 10px;
    align-items: stretch;
    min-height: 0;
}

.mondial-home-alerts {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-height: 0;
    overflow: hidden;
}

.mondial-table-card .home-reminder-header {
    min-height: 34px;
    padding: 6px 8px;
}

.mondial-table-card .home-reminder-header h2 {
    font-size: 12px;
}

.mondial-table-card .home-table-shell {
    max-height: 176px;
    min-height: 72px;
    overflow: auto;
}

.home-dark-table {
    min-width: 760px;
}

.mondial-entretien-table {
    min-width: 1020px;
}

.home-dark-table th,
.home-dark-table td {
    white-space: nowrap;
    padding: 4px 6px;
    font-size: 12px;
}

.home-dark-table th {
    font-size: 10px;
}

.dashboard-click-row {
    cursor: pointer;
}

.dashboard-click-row a {
    color: #fff;
    font-weight: 900;
    text-decoration: none;
}

.vr-row-danger td,
.ct-row-urgent td,
.ct-row-danger td {
    background: rgba(184, 59, 26, 0.30);
}

.vr-row-warning td,
.ct-row-warning td {
    background: rgba(255, 217, 102, 0.16);
}

.vr-row-rdv td,
.ct-row-rdv td {
    background: rgba(47, 125, 246, 0.24);
}

.vr-row-normal td {
    background: rgba(100, 116, 139, 0.16);
}

.mondial-home-bottom,
.mondial-home-side {
    display: grid;
    grid-template-rows: minmax(168px, 0.36fr) minmax(0, 0.64fr);
    gap: 10px;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
}

.mondial-home-bottom .home-reminder-card,
.mondial-home-side .home-reminder-card {
    min-height: 430px;
}

.mondial-scroll-list {
    max-height: 455px;
    overflow: auto;
}

.mondial-scroll-list .home-reminder-row {
    grid-template-columns: 98px minmax(0, 1fr) 50px;
    min-height: 28px;
    padding: 5px 8px;
}

.mondial-absence-shell {
    max-height: 525px;
    min-height: 360px;
    overflow: auto;
}

.dashboard-absence-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(500px, 1fr));
    gap: 8px;
    min-width: 1008px;
    padding: 8px;
}

.dashboard-absence-grid {
    grid-template-columns: minmax(178px, 1fr) repeat(7, 39px);
    min-width: 0;
    gap: 1px;
    padding: 0;
    align-items: stretch;
}

.dashboard-absence-head,
.dashboard-absence-name,
.dashboard-absence-cell,
.dashboard-absence-empty,
.dashboard-absence-split {
    border: 1px solid rgba(159, 199, 239, 0.18);
}

.dashboard-absence-head {
    min-height: 25px;
    background: #1f4666;
    color: #9fd0ff;
    font-size: 11px;
    font-weight: 900;
}

.dashboard-absence-head.is-today {
    background: var(--gold);
    color: #06111f;
    box-shadow: inset 0 0 0 2px #fff;
}

.dashboard-absence-name {
    min-height: 29px;
    display: flex;
    align-items: center;
    padding: 0 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 800;
}

.dashboard-absence-cell,
.dashboard-absence-empty,
.dashboard-absence-split {
    width: 39px;
    height: 29px;
    font-size: 12px;
    font-weight: 900;
}

.dashboard-absence-name.absence-row-even,
.dashboard-absence-empty.absence-row-even {
    background: rgba(255, 255, 255, 0.035);
}

.dashboard-absence-name.absence-row-odd,
.dashboard-absence-empty.absence-row-odd {
    background: rgba(159, 199, 239, 0.055);
}

.dashboard-absence-split span + span {
    border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.dashboard-absence-cell.is-today,
.dashboard-absence-empty.is-today,
.dashboard-absence-split.is-today {
    outline: 2px solid var(--gold);
    outline-offset: -2px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.dashboard-absence-empty.is-today {
    background: rgba(255, 217, 102, 0.16);
}

.dashboard-absence-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-top: 1px solid rgba(159, 199, 239, 0.22);
    padding: 8px;
    background: rgba(15, 27, 43, 0.7);
}

.dashboard-absence-legend-item {
    display: inline-grid;
    grid-template-columns: 28px auto auto;
    align-items: center;
    gap: 6px;
    min-height: 25px;
    border: 1px solid rgba(159, 199, 239, 0.2);
    background: rgba(255, 255, 255, 0.035);
    padding: 3px 6px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.dashboard-absence-legend-item b {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 20px;
    color: #fff;
}

.dashboard-absence-legend-item em {
    color: var(--gold);
    font-style: normal;
    font-weight: 900;
}

.appel-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(3, 10, 20, 0.68);
    backdrop-filter: blur(3px);
}

.appel-popup-card {
    width: min(620px, 96vw);
    border: 1px solid rgba(255, 217, 102, 0.7);
    background: #102236;
    color: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
}

.appel-popup-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255, 217, 102, 0.35);
    background: linear-gradient(90deg, #183755, #102236);
}

.appel-popup-header span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.appel-popup-header strong {
    font-size: 24px;
    line-height: 1.2;
}

.appel-popup-body {
    padding: 20px 22px;
}

.appel-popup-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.appel-popup-meta span {
    border: 1px solid rgba(159, 199, 239, 0.25);
    background: rgba(255, 255, 255, 0.05);
    padding: 7px 10px;
    color: #c9e4ff;
    font-size: 13px;
}

.appel-popup-body p {
    min-height: 90px;
    max-height: 240px;
    overflow: auto;
    margin: 0;
    border: 1px solid rgba(159, 199, 239, 0.22);
    background: rgba(6, 17, 31, 0.68);
    padding: 14px;
    color: #fff;
    white-space: pre-wrap;
    line-height: 1.45;
}

.appel-popup-body small {
    display: block;
    margin-top: 12px;
    color: #9fc7ef;
    font-weight: 800;
}

.appel-popup-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 22px 22px;
}

.top-action-muted {
    background: #4a5c73;
}

.appel-new-shell {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 12px;
    min-height: calc(100vh - 170px);
}

.appel-new-sidebar,
.appel-new-chat {
    border-color: #425b73;
    background: #12263a;
}

.appel-new-title,
.appel-new-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #2f4962;
    padding: 14px 16px;
}

.appel-new-title span,
.appel-new-chat-header span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.appel-new-title strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    border: 1px solid var(--gold);
    color: var(--gold);
}

.appel-new-recipient-form {
    display: grid;
    gap: 7px;
    padding: 14px 16px;
    border-bottom: 1px solid #2f4962;
}

.appel-new-recipient-form label,
.appel-new-check {
    color: #9fd0ff;
    font-size: 12px;
    font-weight: 900;
}

.appel-new-recipient-form select,
.appel-new-compose textarea {
    border: 1px solid #6d8196;
    background: #fff2b8;
    color: #06131f;
    font: inherit;
}

.appel-new-recipient-form select {
    height: 34px;
    padding: 0 8px;
}

.appel-new-conversations {
    max-height: calc(100vh - 330px);
    overflow: auto;
    padding: 8px;
}

.appel-new-conversation {
    display: grid;
    gap: 5px;
    padding: 10px;
    border: 1px solid transparent;
    color: #fff;
    text-decoration: none;
}

.appel-new-conversation:nth-child(even) {
    background: rgba(255, 255, 255, 0.04);
}

.appel-new-conversation.is-active,
.appel-new-conversation:hover {
    border-color: var(--gold);
    background: #1d3a55;
}

.appel-new-conversation span {
    overflow: hidden;
    color: #bfd9f0;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appel-new-chat {
    display: grid;
    grid-template-rows: auto minmax(300px, 1fr) auto;
    min-width: 0;
}

.appel-new-chat-header h2 {
    margin: 4px 0;
    color: #fff;
    font-size: 22px;
}

.appel-new-chat-header p {
    margin: 0;
    color: #bfd9f0;
}

.appel-new-whatsapp {
    background: #128c7e;
}

.appel-new-thread {
    overflow: auto;
    padding: 18px;
    background: #0c1a2a;
}

.appel-new-message {
    width: min(720px, 82%);
    margin-bottom: 12px;
    border: 1px solid #34526d;
    background: #183047;
    color: #fff;
}

.appel-new-message.is-mine {
    margin-left: auto;
    border-color: #2f80ed;
    background: #17406e;
}

.appel-new-message-head,
.appel-new-message-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    color: #9fd0ff;
    font-size: 12px;
    font-weight: 900;
}

.appel-new-message p {
    margin: 0;
    padding: 10px;
    white-space: pre-wrap;
    line-height: 1.45;
}

.appel-new-message-foot {
    justify-content: flex-start;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.appel-new-message-foot button {
    border: 0;
    background: #2f80ed;
    color: #fff;
    font-weight: 900;
    padding: 5px 10px;
}

.appel-new-compose {
    border-top: 1px solid #2f4962;
    padding: 12px;
    background: #12263a;
}

.appel-new-compose textarea {
    width: 100%;
    min-height: 86px;
    padding: 10px;
    resize: vertical;
}

.appel-new-compose-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
}

.appel-new-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}

.appel-new-empty {
    padding: 14px;
    color: #bfd9f0;
}

@media (max-width: 1280px) {
    .mondial-home-layout,
    .mondial-home-alerts {
        grid-template-columns: 1fr;
    }

    .mondial-home-bottom,
    .mondial-home-side {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    .mondial-table-card .home-table-shell,
    .mondial-scroll-list,
    .mondial-absence-shell {
        max-height: none;
    }

    .dashboard-absence-columns {
        grid-template-columns: 1fr;
        min-width: 540px;
    }

    .appel-new-shell {
        grid-template-columns: 1fr;
    }
}

/* Mondial Car professional theme, inspired by the access email design. */
html[data-mondial-theme="dark"] {
    --bg: #071421;
    --panel: #10253a;
    --panel-2: #17334c;
    --panel-3: #0b1c2d;
    --line: #2e4b66;
    --ink: #edf6ff;
    --muted: #a8c7e6;
    --gold: #ffd84d;
    --blue: #2f80ed;
    --green: #23b26d;
    --red: #d74424;
    --orange: #f28c28;
    --purple: #9b4de0;
    --cyan: #20a6c8;
    --slate: #516780;
    --field-bg: #18324a;
    --field-ink: #f8fbff;
    --shadow: 0 22px 55px rgba(0, 0, 0, .26);
}

html[data-mondial-theme="light"] {
    --bg: #eef5fb;
    --panel: #ffffff;
    --panel-2: #e6f0f9;
    --panel-3: #f6f9fc;
    --line: #bdd0e3;
    --ink: #102235;
    --muted: #476782;
    --gold: #c99500;
    --blue: #1f70d7;
    --green: #158650;
    --red: #c9361c;
    --orange: #db741d;
    --purple: #7b36c5;
    --cyan: #148ca8;
    --slate: #64748b;
    --field-bg: #f8fbff;
    --field-ink: #071421;
    --shadow: 0 18px 42px rgba(25, 50, 75, .11);
}

html[data-mondial-theme] body {
    background:
        linear-gradient(180deg, rgba(255, 216, 77, .07), transparent 120px),
        var(--bg);
    color: var(--ink);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    letter-spacing: 0;
}

html[data-mondial-theme] .shell-topnav,
html[data-mondial-theme] .content {
    background: transparent;
    color: var(--ink);
}

html[data-mondial-theme] .top-shell {
    min-height: 106px;
    border-bottom: 2px solid rgba(255, 216, 77, .78);
    background: linear-gradient(180deg, var(--panel), var(--panel-3));
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}

html[data-mondial-theme] .top-logo-link {
    border: 1px solid var(--line);
    background: #ffffff;
    box-shadow: var(--shadow);
}

html[data-mondial-theme] .top-primary-nav,
html[data-mondial-theme] .top-secondary-nav {
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

html[data-mondial-theme] .top-main-button,
html[data-mondial-theme] .top-sub-button,
html[data-mondial-theme] .top-action-button,
html[data-mondial-theme] .button,
html[data-mondial-theme] .dash-small-button,
html[data-mondial-theme] .dash-link-button,
html[data-mondial-theme] .small-button,
html[data-mondial-theme] .btn {
    min-height: 32px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 7px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 7px 18px rgba(0, 0, 0, .12);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

html[data-mondial-theme] .top-main-button {
    min-height: 40px;
    background: linear-gradient(180deg, var(--panel-2), #0f2235);
}

html[data-mondial-theme] .top-main-button.is-active,
html[data-mondial-theme] .top-main-button:hover,
html[data-mondial-theme] .top-sub-button.is-active,
html[data-mondial-theme] .top-sub-button:hover {
    border-color: var(--gold);
    box-shadow: inset 0 0 0 1px var(--gold), 0 8px 20px rgba(0, 0, 0, .16);
}

html[data-mondial-theme] .top-main-acceuil { background: linear-gradient(180deg, #24537f, #183653); }
html[data-mondial-theme] .top-main-garanties { background: linear-gradient(180deg, #239b62, #16683f); }
html[data-mondial-theme] .top-main-transport { background: linear-gradient(180deg, #168c83, #0d5f58); }
html[data-mondial-theme] .top-main-vr { background: linear-gradient(180deg, #ee8b2b, #c66516); }
html[data-mondial-theme] .top-main-pointage { background: linear-gradient(180deg, #d0a12a, #a57913); color: #101828; }
html[data-mondial-theme] .top-main-finance { background: linear-gradient(180deg, #25445f, #142a40); }
html[data-mondial-theme] .top-main-winbooks { background: linear-gradient(180deg, #2f5fa8, #1c3766); }
html[data-mondial-theme] .top-main-gestion { background: linear-gradient(180deg, #32465f, #1e3146); }
html[data-mondial-theme] .top-main-signaletique { background: linear-gradient(180deg, #576d86, #384c63); }

html[data-mondial-theme] .top-sub-button,
html[data-mondial-theme] .top-action-button {
    background: linear-gradient(180deg, #304860, #22364c);
}

html[data-mondial-theme] .top-action-danger,
html[data-mondial-theme] .button-danger,
html[data-mondial-theme] .btn-danger {
    background: linear-gradient(180deg, var(--red), #a82c16);
}

html[data-mondial-theme] .top-theme-toggle {
    background: transparent;
    border-color: var(--gold);
    color: var(--gold);
}

html[data-mondial-theme] .top-shell-user strong {
    color: var(--ink);
}

html[data-mondial-theme] .top-shell-user span {
    color: var(--muted);
}

html[data-mondial-theme] .panel,
html[data-mondial-theme] .stat-card,
html[data-mondial-theme] .auth-card,
html[data-mondial-theme] .dashboard-dark-panel,
html[data-mondial-theme] .vr-dark-panel,
html[data-mondial-theme] .vr-form-panel,
html[data-mondial-theme] .vr-list-panel,
html[data-mondial-theme] .signal-form-panel,
html[data-mondial-theme] .signal-table-panel,
html[data-mondial-theme] .employee-list-panel,
html[data-mondial-theme] .employee-form-panel,
html[data-mondial-theme] .notes-table-panel,
html[data-mondial-theme] .notes-form-panel,
html[data-mondial-theme] .repertoire-compact-list-panel,
html[data-mondial-theme] .repertoire-compact-form-panel,
html[data-mondial-theme] .garantie-panel,
html[data-mondial-theme] .garantie-win-panel,
html[data-mondial-theme] .garantie-list-panel,
html[data-mondial-theme] .reviews-employees-panel,
html[data-mondial-theme] .reviews-form-panel,
html[data-mondial-theme] .reviews-table-panel,
html[data-mondial-theme] .reviews-evaluation-panel,
html[data-mondial-theme] .planning-grid-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, var(--panel), var(--panel-3));
    color: var(--ink);
    box-shadow: var(--shadow);
}

html[data-mondial-theme] .panel-header,
html[data-mondial-theme] fieldset,
html[data-mondial-theme] .garantie-win-section,
html[data-mondial-theme] .signal-table-header {
    border-color: var(--line);
}

html[data-mondial-theme] fieldset legend,
html[data-mondial-theme] .panel-header h2,
html[data-mondial-theme] .panel-header h3,
html[data-mondial-theme] .panel h2,
html[data-mondial-theme] .panel h3,
html[data-mondial-theme] .page-header h2 {
    color: var(--gold);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-weight: 850;
    letter-spacing: 0;
}

html[data-mondial-theme] input,
html[data-mondial-theme] textarea,
html[data-mondial-theme] select {
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--field-bg);
    color: var(--field-ink);
    font-weight: 650;
}

html[data-mondial-theme] .login-panel select,
html[data-mondial-theme] .login-panel input {
    background: #f8fbff;
    color: #06131f;
    border-color: #5d83a7;
}

html[data-mondial-theme] .login-panel select {
    background: #fff8c7;
}

html[data-mondial-theme="dark"] input,
html[data-mondial-theme="dark"] textarea,
html[data-mondial-theme="dark"] select {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-mondial-theme] input:focus,
html[data-mondial-theme] textarea:focus,
html[data-mondial-theme] select:focus {
    border-color: var(--gold);
    outline: 2px solid rgba(255, 216, 77, .24);
}

html[data-mondial-theme] table,
html[data-mondial-theme] .dark-table,
html[data-mondial-theme] .dashboard-ct-table,
html[data-mondial-theme] .vr-dark-table,
html[data-mondial-theme] .garantie-dark-table,
html[data-mondial-theme] .pointage-table,
html[data-mondial-theme] .winbooks-table {
    color: var(--ink);
}

html[data-mondial-theme] table th,
html[data-mondial-theme] .dark-table th,
html[data-mondial-theme] .dashboard-ct-table thead th,
html[data-mondial-theme] .vr-dark-table th,
html[data-mondial-theme] .garantie-dark-table thead th,
html[data-mondial-theme] .pointage-table th,
html[data-mondial-theme] .winbooks-table th {
    background: var(--panel-2);
    color: #9fd0ff;
    font-weight: 850;
}

html[data-mondial-theme="light"] table th,
html[data-mondial-theme="light"] .dark-table th,
html[data-mondial-theme="light"] .dashboard-ct-table thead th,
html[data-mondial-theme="light"] .vr-dark-table th,
html[data-mondial-theme="light"] .garantie-dark-table thead th,
html[data-mondial-theme="light"] .pointage-table th,
html[data-mondial-theme="light"] .winbooks-table th {
    color: #16496f;
}

html[data-mondial-theme] table td,
html[data-mondial-theme] .dark-table td,
html[data-mondial-theme] .dashboard-ct-table td,
html[data-mondial-theme] .vr-dark-table td,
html[data-mondial-theme] .garantie-dark-table td,
html[data-mondial-theme] .pointage-table td,
html[data-mondial-theme] .winbooks-table td {
    border-color: rgba(159, 199, 239, .18);
}

html[data-mondial-theme] table tbody tr:nth-child(even) td,
html[data-mondial-theme] .dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .vr-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .garantie-dark-table tbody tr:nth-child(even) td {
    background: rgba(159, 199, 239, .055);
}

html[data-mondial-theme] table tbody tr:hover td {
    background: rgba(255, 216, 77, .13);
}

html[data-mondial-theme="light"] .top-shell,
html[data-mondial-theme="light"] .panel,
html[data-mondial-theme="light"] .stat-card,
html[data-mondial-theme="light"] .auth-card,
html[data-mondial-theme="light"] .dashboard-dark-panel,
html[data-mondial-theme="light"] .vr-dark-panel,
html[data-mondial-theme="light"] .signal-form-panel,
html[data-mondial-theme="light"] .signal-table-panel,
html[data-mondial-theme="light"] .employee-list-panel,
html[data-mondial-theme="light"] .employee-form-panel,
html[data-mondial-theme="light"] .notes-table-panel,
html[data-mondial-theme="light"] .notes-form-panel,
html[data-mondial-theme="light"] .garantie-panel,
html[data-mondial-theme="light"] .garantie-win-panel,
html[data-mondial-theme="light"] .garantie-list-panel,
html[data-mondial-theme="light"] .planning-grid-panel {
    background: linear-gradient(180deg, #ffffff, #f7fbff);
}

html[data-mondial-theme="light"] .top-sub-button,
html[data-mondial-theme="light"] .top-action-button {
    background: linear-gradient(180deg, #ffffff, #e5eff8);
    color: #102235;
    border-color: #b8cbe0;
}

html[data-mondial-theme="light"] .top-action-danger {
    color: #ffffff;
}

html[data-mondial-theme="light"] .panel-header h2,
html[data-mondial-theme="light"] .panel-header h3,
html[data-mondial-theme="light"] .panel h2,
html[data-mondial-theme="light"] .panel h3,
html[data-mondial-theme="light"] .page-header h2,
html[data-mondial-theme="light"] label,
html[data-mondial-theme="light"] .top-shell-user strong {
    color: #102235;
}

html[data-mondial-theme="light"] fieldset legend {
    color: #9a7300;
}

/* 20260514 - light theme readability fixes */
html[data-mondial-theme="light"] body,
html[data-mondial-theme="light"] .content,
html[data-mondial-theme="light"] .page-header,
html[data-mondial-theme="light"] .panel,
html[data-mondial-theme="light"] .vr-dark-panel,
html[data-mondial-theme="light"] .signal-users-layout,
html[data-mondial-theme="light"] .signal-dark-form,
html[data-mondial-theme="light"] .rights-card,
html[data-mondial-theme="light"] .rights-list,
html[data-mondial-theme="light"] .user-rights-list {
    color: #102235;
}

html[data-mondial-theme="light"] .vr-dark-panel,
html[data-mondial-theme="light"] .rights-card,
html[data-mondial-theme="light"] .signal-rights-card,
html[data-mondial-theme="light"] .user-access-mail-panel {
    background: #ffffff;
    border-color: #c2d2e4;
}

html[data-mondial-theme="light"] .panel-header,
html[data-mondial-theme="light"] .signal-table-header {
    background: #e7f0f8;
    border-color: #c2d2e4;
}

html[data-mondial-theme="light"] .panel-header h2,
html[data-mondial-theme="light"] .panel-header h3,
html[data-mondial-theme="light"] .rights-card h4,
html[data-mondial-theme="light"] .rights-card h3,
html[data-mondial-theme="light"] .rights-line span,
html[data-mondial-theme="light"] .signal-dark-form label span,
html[data-mondial-theme="light"] .checkbox-line span,
html[data-mondial-theme="light"] .eyebrow {
    color: #102235;
}

html[data-mondial-theme="light"] .rights-level-1 span,
html[data-mondial-theme="light"] .rights-level-2 span {
    color: #244764;
}

html[data-mondial-theme="light"] .rights-menu-section {
    border-left-color: #b7cadc;
}

html[data-mondial-theme="light"] .rights-menu-title {
    color: #9a6b00;
}

html[data-mondial-theme="light"] .user-access-mail-panel {
    border-color: #d0a800;
    background: #fffdf4;
}

html[data-mondial-theme="light"] .user-access-mail-panel h3 {
    color: #8a6900;
}

html[data-mondial-theme="light"] .user-access-mail-panel p,
html[data-mondial-theme="light"] .user-access-mail-panel span {
    color: #102235;
}

html[data-mondial-theme="light"] .vr-live-filters,
html[data-mondial-theme="light"] .signal-live-filters {
    background: #ffffff;
    border-color: #c2d2e4;
}

html[data-mondial-theme="light"] .vr-dark-table,
html[data-mondial-theme="light"] .dark-table,
html[data-mondial-theme="light"] table {
    color: #102235;
}

html[data-mondial-theme="light"] .vr-dark-table th,
html[data-mondial-theme="light"] .dark-table th {
    background: #dbe8f3;
    color: #0f3a5c;
}

html[data-mondial-theme="light"] .vr-dark-table td,
html[data-mondial-theme="light"] .dark-table td {
    background: #ffffff;
    color: #102235;
    border-color: #d4e1ec;
}

html[data-mondial-theme="light"] .vr-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme="light"] .dark-table tbody tr:nth-child(even) td {
    background: #f2f7fb;
}

html[data-mondial-theme="light"] .vr-dark-table a,
html[data-mondial-theme="light"] .dark-table a {
    color: #0b73bd;
}

html[data-mondial-theme="light"] .badge {
    background: #ffd94d;
    color: #102235;
    border-color: #c99700;
}

/* Agenda proportional sizing: both ranges use the full available page height. */
html[data-mondial-theme] .agenda-shell,
.agenda-shell {
    height: calc(100vh - 112px);
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 6px;
}

html[data-mondial-theme] .agenda-topbar,
.agenda-topbar {
    min-height: 32px;
    padding: 0 2px;
}

html[data-mondial-theme] .agenda-layout,
.agenda-layout {
    height: 100%;
    min-height: 0;
    align-items: stretch;
    overflow: hidden;
}

html[data-mondial-theme] .agenda-main,
html[data-mondial-theme] .agenda-grid-panel,
.agenda-main,
.agenda-grid-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

html[data-mondial-theme] .agenda-grid-panel,
.agenda-grid-panel {
    padding: 6px;
}

html[data-mondial-theme] .agenda-week-grid,
.agenda-week-grid {
    height: 100%;
    min-height: 0;
    grid-template-rows: 30px repeat(var(--agenda-hours-count, 24), minmax(0, 1fr));
    overflow: hidden;
}

html[data-mondial-theme] .agenda-day-view,
.agenda-day-view {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(var(--agenda-hours-count, 24), minmax(0, 1fr));
    overflow: hidden;
}

html[data-mondial-theme] .agenda-day-row,
html[data-mondial-theme] .agenda-hour-label,
html[data-mondial-theme] .agenda-cell,
html[data-mondial-theme] .agenda-day-cell,
.agenda-day-row,
.agenda-hour-label,
.agenda-cell,
.agenda-day-cell {
    height: auto;
    min-height: 0;
}

html[data-mondial-theme] .agenda-block,
.agenda-block {
    min-height: 18px;
}

/* 20260514 - login pro Mondial Car */
html[data-mondial-theme] body:has(.login-stage) {
    min-height: 100vh;
    background: radial-gradient(circle at 14% 12%, rgba(47, 125, 246, .16), transparent 30%), linear-gradient(180deg, #0b1422 0%, var(--bg) 100%);
}

html[data-mondial-theme] .content-auth {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
}

html[data-mondial-theme] .login-stage {
    width: min(430px, 100%);
    min-height: auto;
    display: block;
    padding: 0;
    background: transparent;
}

html[data-mondial-theme] .login-panel {
    width: 100%;
    display: grid;
    gap: 14px;
    padding: 28px 28px 24px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--gold);
    border-radius: 8px;
    background: linear-gradient(180deg, var(--panel) 0%, rgba(15, 28, 45, .98) 100%);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
}

html[data-mondial-theme] .login-logo {
    width: min(300px, 100%);
    justify-self: center;
    padding: 10px 16px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .18);
}

html[data-mondial-theme] .login-title h1 {
    margin: 0;
    color: var(--ink);
    font-size: 25px;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
}

html[data-mondial-theme] .login-admin-switch {
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--gold);
    background: rgba(255, 216, 77, .10);
    color: var(--gold);
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
}

html[data-mondial-theme] .login-panel label {
    display: grid;
    gap: 6px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

html[data-mondial-theme] .login-panel select,
html[data-mondial-theme] .login-panel input {
    min-height: 42px;
    border-radius: 5px;
    border: 1px solid var(--field-border);
    background: var(--field-bg);
    color: var(--field-ink);
    font-weight: 800;
}

html[data-mondial-theme] .login-panel select:focus,
html[data-mondial-theme] .login-panel input:focus {
    outline: 2px solid var(--gold);
    outline-offset: 0;
}

html[data-mondial-theme] .login-button {
    min-height: 44px;
    border-radius: 5px;
    background: linear-gradient(180deg, #3b8cff, var(--blue));
    box-shadow: 0 10px 22px rgba(47, 125, 246, .24);
}

html[data-mondial-theme] .flash-stack {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 80;
    width: min(520px, calc(100vw - 28px));
}

/* Users: show access mail panel at the top of the editor. */
.signal-users-layout > article:nth-child(2) {
    display: flex;
    flex-direction: column;
}

.signal-users-layout > article:nth-child(2) > .panel-header {
    order: 0;
}

.signal-users-layout > article:nth-child(2) > .user-access-mail-panel {
    order: 1;
    margin: 10px 12px 0;
}

.signal-users-layout > article:nth-child(2) > .user-top-actions {
    order: 2;
}

.signal-users-layout > article:nth-child(2) > #userForm {
    order: 3;
}

/* 20260514 - contrast repair for shared light/dark themes */
html[data-mondial-theme="dark"] {
    --theme-page-bg: #081321;
    --theme-panel-bg: #122238;
    --theme-panel-bg-2: #18314a;
    --theme-table-head: #214461;
    --theme-table-row: #13263a;
    --theme-table-row-alt: #18314a;
    --theme-table-hover: #25476b;
    --theme-text: #f6fbff;
    --theme-text-strong: #ffffff;
    --theme-muted-text: #b9d4ec;
    --theme-border: #31506e;
    --theme-field-bg: #1b3147;
    --theme-field-text: #f8fafc;
    --theme-field-border: #58708a;
}

html[data-mondial-theme="light"] {
    --theme-page-bg: #e7eff7;
    --theme-panel-bg: #ffffff;
    --theme-panel-bg-2: #edf5fb;
    --theme-table-head: #d4e4f0;
    --theme-table-row: #f9fcff;
    --theme-table-row-alt: #edf5fb;
    --theme-table-hover: #dcecf8;
    --theme-text: #102235;
    --theme-text-strong: #071827;
    --theme-muted-text: #31536e;
    --theme-border: #b7cadc;
    --theme-field-bg: #fff4b8;
    --theme-field-text: #102235;
    --theme-field-border: #97afc4;
}

html[data-mondial-theme] body,
html[data-mondial-theme] .content,
html[data-mondial-theme] .module-page {
    background: var(--theme-page-bg);
    color: var(--theme-text);
}

html[data-mondial-theme] .panel,
html[data-mondial-theme] .home-reminder-card,
html[data-mondial-theme] .dashboard-dark-panel,
html[data-mondial-theme] .vr-dark-panel,
html[data-mondial-theme] .vr-list-panel,
html[data-mondial-theme] .signal-form-panel,
html[data-mondial-theme] .signal-table-panel,
html[data-mondial-theme] .employee-list-panel,
html[data-mondial-theme] .employee-form-panel,
html[data-mondial-theme] .notes-table-panel,
html[data-mondial-theme] .notes-form-panel,
html[data-mondial-theme] .repertoire-compact-list-panel,
html[data-mondial-theme] .repertoire-compact-form-panel,
html[data-mondial-theme] .garantie-panel,
html[data-mondial-theme] .garantie-win-panel,
html[data-mondial-theme] .garantie-list-panel,
html[data-mondial-theme] .planning-side,
html[data-mondial-theme] .planning-grid-panel,
html[data-mondial-theme] .pointage-preview,
html[data-mondial-theme] .table-shell,
html[data-mondial-theme] .employee-list-shell {
    background: var(--theme-panel-bg);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-mondial-theme] .panel-header,
html[data-mondial-theme] .signal-table-header,
html[data-mondial-theme] .home-reminder-header {
    background: var(--theme-panel-bg-2);
    border-color: var(--theme-border);
    color: var(--theme-text-strong);
}

html[data-mondial-theme] .panel-header h2,
html[data-mondial-theme] .panel-header h3,
html[data-mondial-theme] .home-reminder-header h2,
html[data-mondial-theme] fieldset legend,
html[data-mondial-theme] .page-header h2 {
    color: var(--gold);
}

html[data-mondial-theme] label,
html[data-mondial-theme] label span,
html[data-mondial-theme] .employee-radio span,
html[data-mondial-theme] .employee-form-grid label span,
html[data-mondial-theme] .planning-side label span,
html[data-mondial-theme] .eyebrow,
html[data-mondial-theme] .dashboard-empty,
html[data-mondial-theme] .home-reminder-empty {
    color: var(--theme-text);
}

html[data-mondial-theme] input,
html[data-mondial-theme] select,
html[data-mondial-theme] textarea,
html[data-mondial-theme] .employee-hour-row input,
html[data-mondial-theme] .employee-presence-row input {
    background: var(--theme-field-bg);
    color: var(--theme-field-text);
    border-color: var(--theme-field-border);
}

html[data-mondial-theme] table,
html[data-mondial-theme] .dark-table,
html[data-mondial-theme] .vr-dark-table,
html[data-mondial-theme] .dashboard-ct-table,
html[data-mondial-theme] .employee-list-table,
html[data-mondial-theme] .garantie-dark-table,
html[data-mondial-theme] .pointage-table,
html[data-mondial-theme] .winbooks-table {
    color: var(--theme-text);
}

html[data-mondial-theme] table th,
html[data-mondial-theme] .dark-table th,
html[data-mondial-theme] .vr-dark-table th,
html[data-mondial-theme] .dashboard-ct-table th,
html[data-mondial-theme] .garantie-dark-table th,
html[data-mondial-theme] .pointage-table th,
html[data-mondial-theme] .winbooks-table th {
    background: var(--theme-table-head);
    color: var(--theme-text-strong);
    border-color: var(--theme-border);
}

html[data-mondial-theme] table td,
html[data-mondial-theme] .dark-table td,
html[data-mondial-theme] .vr-dark-table td,
html[data-mondial-theme] .dashboard-ct-table td,
html[data-mondial-theme] .employee-list-table td,
html[data-mondial-theme] .garantie-dark-table td,
html[data-mondial-theme] .pointage-table td,
html[data-mondial-theme] .winbooks-table td {
    background: var(--theme-table-row);
    color: var(--theme-text);
    border-color: var(--theme-border);
}

html[data-mondial-theme] table tbody tr:nth-child(even) td,
html[data-mondial-theme] .dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .vr-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .employee-list-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .garantie-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .pointage-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .winbooks-table tbody tr:nth-child(even) td {
    background: var(--theme-table-row-alt);
}

html[data-mondial-theme] table tbody tr:hover td,
html[data-mondial-theme] .employee-list-table tbody tr:hover td {
    background: var(--theme-table-hover);
    color: var(--theme-text-strong);
}

html[data-mondial-theme] .pointage-profitability-table tbody tr.is-special-vehicle td {
    background: rgba(245, 158, 11, 0.42) !important;
    color: #fff2c2 !important;
    border-color: #f59e0b !important;
    font-weight: 800;
}

html[data-mondial-theme] .pointage-profitability-table tbody tr.is-special-vehicle:hover td,
html[data-mondial-theme] .pointage-profitability-table tbody tr.is-special-vehicle.is-selected td {
    background: rgba(245, 158, 11, 0.58) !important;
    color: #ffffff !important;
}

html[data-mondial-theme] .dark-table a,
html[data-mondial-theme] .vr-dark-table a,
html[data-mondial-theme] .dashboard-click-row a,
html[data-mondial-theme] .employee-list-table a {
    color: var(--theme-text-strong);
}

html[data-mondial-theme="light"] .dark-table a,
html[data-mondial-theme="light"] .vr-dark-table a,
html[data-mondial-theme="light"] .dashboard-click-row a,
html[data-mondial-theme="light"] .employee-list-table a {
    color: #075985;
}

html[data-mondial-theme] .employee-list-table td {
    font-weight: 750;
}

html[data-mondial-theme] .dashboard-absence-name,
html[data-mondial-theme] .dashboard-absence-empty {
    color: var(--theme-text);
    background: var(--theme-table-row);
}

html[data-mondial-theme] .dashboard-absence-name.absence-row-even,
html[data-mondial-theme] .dashboard-absence-empty.absence-row-even {
    background: var(--theme-table-row-alt);
}

html[data-mondial-theme] .dashboard-absence-name.absence-row-odd,
html[data-mondial-theme] .dashboard-absence-empty.absence-row-odd {
    background: var(--theme-table-row);
}

html[data-mondial-theme] .dashboard-absence-head {
    background: var(--theme-table-head);
    color: var(--theme-text-strong);
}

html[data-mondial-theme] .dashboard-absence-cell,
html[data-mondial-theme] .dashboard-absence-split span,
html[data-mondial-theme] .dashboard-absence-legend-item b {
    color: #ffffff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .28);
    font-weight: 900;
}

html[data-mondial-theme] .home-reminder-row {
    background: var(--theme-table-row);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-mondial-theme] .home-reminder-row span,
html[data-mondial-theme] .home-reminder-row strong,
html[data-mondial-theme] .home-reminder-row em,
html[data-mondial-theme] .dashboard-absence-legend-item span {
    color: var(--theme-text);
}

html[data-mondial-theme="light"] .home-reminder-row.reminder-warning {
    background: #fff7d6;
}

html[data-mondial-theme="light"] .home-reminder-row.reminder-danger {
    background: #f4d6cf;
}

/* 20260528 - force the top navigation to stay out of the user block. */
body:not(.mondial-mobile-app) .top-shell {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 260px !important;
    grid-template-rows: minmax(40px, auto) minmax(32px, auto) !important;
    gap: 6px 12px !important;
    align-items: center !important;
    overflow: hidden !important;
}

body:not(.mondial-mobile-app) .top-logo-link {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
}

body:not(.mondial-mobile-app) .top-primary-nav,
body:not(.mondial-mobile-app) .top-secondary-nav {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

body:not(.mondial-mobile-app) .top-primary-nav {
    grid-row: 1 !important;
}

body:not(.mondial-mobile-app) .top-secondary-nav {
    grid-row: 2 !important;
    padding-bottom: 2px !important;
}

body:not(.mondial-mobile-app) .top-user-actions {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    width: 260px !important;
    max-width: 260px !important;
    justify-self: end !important;
    align-self: stretch !important;
    display: grid !important;
    align-content: center !important;
    gap: 6px !important;
    z-index: 5 !important;
    background: var(--panel, #122238) !important;
}

body:not(.mondial-mobile-app) .top-user-line {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    min-width: 0 !important;
}

body:not(.mondial-mobile-app) .top-user-line form {
    margin: 0 !important;
}

body:not(.mondial-mobile-app) .top-user-box {
    flex: 0 0 74px !important;
    min-width: 74px !important;
}

body:not(.mondial-mobile-app) .top-sub-button {
    flex: 0 0 auto !important;
}

@media (max-width: 1380px) {
    body:not(.mondial-mobile-app) .top-shell {
        grid-template-columns: 210px minmax(0, 1fr) 235px !important;
    }

    body:not(.mondial-mobile-app) .top-logo-link {
        width: 210px !important;
    }

    body:not(.mondial-mobile-app) .top-user-actions {
        width: 235px !important;
        max-width: 235px !important;
    }

    body:not(.mondial-mobile-app) .top-action-button {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 10px !important;
    }
}

html[data-mondial-theme="light"] .top-shell {
    background: linear-gradient(180deg, #f8fbff, #eaf2f9);
}

html[data-mondial-theme="dark"] .top-shell {
    background: linear-gradient(180deg, #122238, #0d1a2a);
}

/* 20260514 - light theme second pass: badges/status/buttons must stay readable */
html[data-mondial-theme="light"] {
    --theme-page-bg: #dfeaf3;
    --theme-panel-bg: #f8fbff;
    --theme-panel-bg-2: #d6e5f1;
    --theme-table-head: #c7d9e7;
    --theme-table-row: #f7fbff;
    --theme-table-row-alt: #e8f2f9;
    --theme-table-hover: #d2e6f4;
    --theme-text: #061a2d;
    --theme-text-strong: #001225;
}

html[data-mondial-theme="light"] .content,
html[data-mondial-theme="light"] .module-page {
    background: #dfeaf3;
}

html[data-mondial-theme="light"] .dark-table td,
html[data-mondial-theme="light"] .vr-dark-table td,
html[data-mondial-theme="light"] .dashboard-ct-table td,
html[data-mondial-theme="light"] .employee-list-table td,
html[data-mondial-theme="light"] .garantie-dark-table td,
html[data-mondial-theme="light"] .pointage-table td,
html[data-mondial-theme="light"] .winbooks-table td {
    color: #061a2d;
}

html[data-mondial-theme="light"] .dark-table th,
html[data-mondial-theme="light"] .vr-dark-table th,
html[data-mondial-theme="light"] .dashboard-ct-table th,
html[data-mondial-theme="light"] .employee-list-table th,
html[data-mondial-theme="light"] .garantie-dark-table th,
html[data-mondial-theme="light"] .pointage-table th,
html[data-mondial-theme="light"] .winbooks-table th {
    color: #001225;
}

html[data-mondial-theme="light"] .appel-status,
html[data-mondial-theme="light"] .status-pill,
html[data-mondial-theme="light"] .correspondance-badge,
html[data-mondial-theme="light"] .garantie-badge,
html[data-mondial-theme="light"] .badge-ok {
    color: #061a2d !important;
    text-shadow: none;
}

html[data-mondial-theme="light"] .appel-status-open,
html[data-mondial-theme="light"] .status-danger,
html[data-mondial-theme="light"] .garantie-badge-danger,
html[data-mondial-theme="light"] .correspondance-badge.is-missing {
    background: #f1b8b8 !important;
    border-color: #b91c1c !important;
    color: #7f1d1d !important;
}

html[data-mondial-theme="light"] .appel-status-done,
html[data-mondial-theme="light"] .status-ok-pill,
html[data-mondial-theme="light"] .status-success,
html[data-mondial-theme="light"] .garantie-badge-success,
html[data-mondial-theme="light"] .correspondance-badge.is-linked {
    background: #b9e8ce !important;
    border-color: #16834d !important;
    color: #064e2c !important;
}

html[data-mondial-theme="light"] .appels-table tbody tr.appels-row-non-traite td {
    background: #fff0f0 !important;
    color: #4c1010 !important;
    border-bottom-color: #e8b5b5 !important;
}

html[data-mondial-theme="light"] .appels-table tbody tr.appels-row-traite td {
    background: #edf9f1 !important;
    color: #09351d !important;
    border-bottom-color: #acd9bd !important;
}

html[data-mondial-theme="light"] .appels-table tbody tr.appels-row-non-traite:hover td {
    background: #ffe0e0 !important;
}

html[data-mondial-theme="light"] .appels-table tbody tr.appels-row-traite:hover td {
    background: #dff3e7 !important;
}

html[data-mondial-theme="light"] .button-secondary,
html[data-mondial-theme="light"] .btn-secondary,
html[data-mondial-theme="light"] .top-action-muted {
    background: #566b83 !important;
    color: #ffffff !important;
}

html[data-mondial-theme="light"] .button,
html[data-mondial-theme="light"] .top-action-button,
html[data-mondial-theme="light"] .top-sub-button,
html[data-mondial-theme="light"] .top-main-button {
    font-weight: 900;
}

html[data-mondial-theme="light"] .top-action-danger,
html[data-mondial-theme="light"] .button-danger,
html[data-mondial-theme="light"] .garantie-badge-red {
    background: #b42318 !important;
    color: #ffffff !important;
}

html[data-mondial-theme="light"] .button-success,
html[data-mondial-theme="light"] .garantie-badge-green {
    background: #16834d !important;
    color: #ffffff !important;
}

html[data-mondial-theme="light"] .home-reminder-row strong,
html[data-mondial-theme="light"] .home-reminder-row span,
html[data-mondial-theme="light"] .home-reminder-row em,
html[data-mondial-theme="light"] .dashboard-empty,
html[data-mondial-theme="light"] .employee-list-table td,
html[data-mondial-theme="light"] .employee-form-grid label span {
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .employee-list-shell,
html[data-mondial-theme="light"] .table-shell {
    background: #f8fbff;
}

/* 20260514 - light theme final pass: keep business status colors visible */
html[data-mondial-theme="light"] .ct-row-urgent td,
html[data-mondial-theme="light"] .ct-row-danger td,
html[data-mondial-theme="light"] .vr-row-danger td {
    background: #f3c4bd !important;
    color: #641e16 !important;
}

html[data-mondial-theme="light"] .ct-row-warning td,
html[data-mondial-theme="light"] .vr-row-warning td {
    background: #ffe7a3 !important;
    color: #513300 !important;
}

html[data-mondial-theme="light"] .ct-row-rdv td,
html[data-mondial-theme="light"] .vr-row-rdv td {
    background: #d6e8ff !important;
    color: #073763 !important;
}

html[data-mondial-theme="light"] .vr-row-success td,
html[data-mondial-theme="light"] .ct-row-success td {
    background: #c7ead4 !important;
    color: #063d24 !important;
}

html[data-mondial-theme="light"] .vr-row-normal td,
html[data-mondial-theme="light"] .ct-row-normal td {
    background: #edf5fb !important;
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .home-reminder-row.reminder-danger,
html[data-mondial-theme="light"] .home-reminder-row.reminder-danger strong,
html[data-mondial-theme="light"] .home-reminder-row.reminder-danger span,
html[data-mondial-theme="light"] .home-reminder-row.reminder-danger em {
    background: #f3c4bd !important;
    color: #641e16 !important;
}

html[data-mondial-theme="light"] .home-reminder-row.reminder-warning,
html[data-mondial-theme="light"] .home-reminder-row.reminder-warning strong,
html[data-mondial-theme="light"] .home-reminder-row.reminder-warning span,
html[data-mondial-theme="light"] .home-reminder-row.reminder-warning em {
    background: #fff0ba !important;
    color: #513300 !important;
}

/* 20260520 - VR suivi entretien/CT/assurance: keep status rows readable in dark theme. */
html[data-mondial-theme="dark"] .vr-dark-table .vr-row-danger td,
html[data-mondial-theme="dark"] .vr-row-danger td,
html[data-mondial-theme="dark"] .ct-row-urgent td,
html[data-mondial-theme="dark"] .ct-row-danger td {
    background: #9f2f2f !important;
    color: #ffffff !important;
}

html[data-mondial-theme="dark"] .vr-dark-table .vr-row-warning td,
html[data-mondial-theme="dark"] .vr-row-warning td,
html[data-mondial-theme="dark"] .ct-row-warning td {
    background: #8f6814 !important;
    color: #ffffff !important;
}

html[data-mondial-theme="dark"] .vr-dark-table .vr-row-success td,
html[data-mondial-theme="dark"] .vr-row-success td,
html[data-mondial-theme="dark"] .ct-row-success td {
    background: #13764a !important;
    color: #ffffff !important;
}

html[data-mondial-theme="dark"] .vr-dark-table .vr-row-rdv td,
html[data-mondial-theme="dark"] .vr-row-rdv td,
html[data-mondial-theme="dark"] .ct-row-rdv td {
    background: #1d5fae !important;
    color: #ffffff !important;
}

html[data-mondial-theme="dark"] .vr-dark-table .vr-row-normal td,
html[data-mondial-theme="dark"] .vr-row-normal td,
html[data-mondial-theme="dark"] .ct-row-normal td {
    background: #274965 !important;
    color: #ffffff !important;
}

html[data-mondial-theme="dark"] .vr-dark-table tr[class*="vr-row-"] a,
html[data-mondial-theme="dark"] tr[class*="ct-row-"] a {
    color: #ffffff !important;
}

html[data-mondial-theme="light"] .notes-table td,
html[data-mondial-theme="light"] .notes-table p {
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .notes-table a {
    color: #075985 !important;
}

html[data-mondial-theme="light"] .note-priority {
    color: #ffffff !important;
    text-shadow: none;
}

html[data-mondial-theme="light"] .note-priority-row-urgente td {
    background: #efd2cc !important;
}

html[data-mondial-theme="light"] .note-priority-row-haute td {
    background: #f8dfc5 !important;
}

html[data-mondial-theme="light"] .note-priority-row-normale td {
    background: #e5f0fb !important;
}

html[data-mondial-theme="light"] .note-priority-row-basse td {
    background: #e3e9ef !important;
}

html[data-mondial-theme="light"] .appel-new-sidebar,
html[data-mondial-theme="light"] .appel-new-chat {
    background: #f8fbff !important;
    border-color: #a9bfD4 !important;
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .appel-new-chat-header,
html[data-mondial-theme="light"] .appel-new-title {
    background: #d6e5f1 !important;
    border-color: #a9bfD4 !important;
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .appel-new-thread,
html[data-mondial-theme="light"] .appel-new-compose {
    background: #edf5fb !important;
}

html[data-mondial-theme="light"] .appel-new-conversation {
    background: #e8f2f9 !important;
    border-color: #b6c9da !important;
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .appel-new-conversation:nth-child(even) {
    background: #f4f8fc !important;
}

html[data-mondial-theme="light"] .appel-new-conversation.is-active,
html[data-mondial-theme="light"] .appel-new-conversation:hover {
    background: #d6e8ff !important;
    border-color: #ffd11a !important;
}

html[data-mondial-theme="light"] .appel-new-message {
    background: #ffffff !important;
    border-color: #9fb6cc !important;
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .appel-new-message.is-mine {
    background: #d7eaff !important;
    border-color: #2f80ed !important;
}

html[data-mondial-theme="light"] .appel-new-message p,
html[data-mondial-theme="light"] .appel-new-message span,
html[data-mondial-theme="light"] .appel-new-conversation span,
html[data-mondial-theme="light"] .appel-new-chat-header p,
html[data-mondial-theme="light"] .appel-new-check {
    color: #061a2d !important;
}

html[data-mondial-theme="light"] .appel-new-message strong,
html[data-mondial-theme="light"] .appel-new-conversation strong,
html[data-mondial-theme="light"] .appel-new-chat-header h2 {
    color: #001225 !important;
}

html[data-mondial-theme="light"] .vr-dark-panel,
html[data-mondial-theme="light"] .vr-form-panel,
html[data-mondial-theme="light"] .vr-history-panel {
    background: #22384d !important;
    color: #f8fbff !important;
}

html[data-mondial-theme="light"] .vr-form-panel label,
html[data-mondial-theme="light"] .vr-form-panel label span,
html[data-mondial-theme="light"] .vr-form-panel .checkbox-line,
html[data-mondial-theme="light"] .vr-form-panel .checkbox-line span,
html[data-mondial-theme="light"] .vr-history-panel .list-row,
html[data-mondial-theme="light"] .vr-history-panel .list-row p,
html[data-mondial-theme="light"] .vr-info-list span {
    color: #f8fbff !important;
}

html[data-mondial-theme="light"] .vr-info-list strong,
html[data-mondial-theme="light"] .vr-form-panel fieldset legend,
html[data-mondial-theme="light"] .vr-history-panel .panel-header h3 {
    color: #ffd94d !important;
}

html[data-mondial-theme="light"] .vr-history-panel .list-row {
    background: #1b3147 !important;
}

/* 20260514 - light theme final pass: caisse debit/credit colors */
html[data-mondial-theme="light"] .vr-dark-table td.caisse-debit-cell,
html[data-mondial-theme="light"] .dark-table td.caisse-debit-cell,
html[data-mondial-theme="light"] td.caisse-debit-cell {
    color: #078b45 !important;
    font-weight: 900 !important;
}

html[data-mondial-theme="light"] .vr-dark-table td.caisse-credit-cell,
html[data-mondial-theme="light"] .dark-table td.caisse-credit-cell,
html[data-mondial-theme="light"] td.caisse-credit-cell {
    color: #c01f1f !important;
    font-weight: 900 !important;
}

/* 20260514 - dashboard uses the full available viewport height */
.mondial-home-dashboard {
    height: calc(100vh - 176px);
    min-height: 0;
    grid-template-rows: minmax(0, 1fr);
    align-content: stretch;
    gap: 10px;
    padding: 8px 6px 6px;
    overflow: hidden;
}

.mondial-home-layout,
.mondial-home-bottom,
.mondial-home-side {
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.mondial-home-alerts .home-reminder-card,
.mondial-home-bottom .home-reminder-card,
.mondial-home-side .home-reminder-card {
    min-height: 0 !important;
    height: auto;
    display: flex;
    flex-direction: column;
}

.mondial-home-alerts .home-reminder-card {
    min-height: 0;
}

.mondial-home-alerts .home-table-shell {
    flex: 1 1 auto;
    max-height: none !important;
    min-height: 0 !important;
}

.mondial-scroll-list,
.mondial-absence-shell {
    flex: 1 1 auto;
    max-height: none !important;
    min-height: 0 !important;
}

body:has(.mondial-home-dashboard) {
    overflow-y: hidden;
}

.dashboard-absence-legend {
    flex: 0 0 auto;
}

@media (max-width: 1180px) {
    .mondial-home-dashboard {
        height: auto;
        min-height: auto;
        overflow: visible;
    }

    .mondial-home-layout,
    .mondial-home-alerts,
    .mondial-home-side {
        height: auto;
        overflow: visible;
    }
}

/* 20260514 - inventaire mecanique */
.inventaire-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 8px;
    margin: 8px 6px 10px;
}

.inventaire-totals article {
    border: 1px solid var(--border);
    background: var(--panel);
    padding: 10px 12px;
}

.inventaire-totals span {
    display: block;
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.inventaire-totals strong {
    display: block;
    margin-top: 4px;
    color: var(--text);
    font-size: 22px;
}

.inventaire-chart-dialog {
    width: min(1120px, calc(100vw - 28px));
    max-height: calc(100vh - 28px);
    border: 1px solid var(--border);
    background: var(--panel);
    color: var(--text);
    padding: 0;
}

.inventaire-add-dialog {
    width: min(760px, calc(100vw - 28px));
    border: 1px solid var(--border);
    background: var(--panel);
    color: var(--text);
    padding: 0;
}

.inventaire-add-dialog::backdrop {
    background: rgba(0, 0, 0, .62);
}

.inventaire-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 10px 0;
}

.inventaire-chart-dialog::backdrop {
    background: rgba(0, 0, 0, .62);
}

.inventaire-chart-panel {
    margin: 0;
    padding: 12px;
    overflow: auto;
}

.inventaire-chart-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 8px;
    margin: 8px 0 12px;
}

.inventaire-chart-summary div {
    border: 1px solid var(--border);
    background: var(--panel-2);
    padding: 10px;
}

.inventaire-chart-summary span {
    display: block;
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.inventaire-chart-summary strong {
    display: block;
    margin-top: 4px;
    color: var(--text);
    font-size: 15px;
}

.inventaire-chart-svg {
    width: 100%;
    height: 380px;
    display: block;
    border: 1px solid var(--border);
    background: var(--panel-2);
}

.inventaire-total-chart-panel {
    margin-top: 12px;
}

.inventaire-total-chart {
    width: 100%;
    height: min(300px, 34vh);
    min-height: 220px;
    display: block;
    border: 1px solid var(--border);
    background: var(--panel-2);
}

.inventaire-chart-axis,
.inventaire-chart-grid-line {
    stroke: color-mix(in srgb, var(--border) 72%, transparent);
    stroke-width: 1;
}

.inventaire-chart-grid-line {
    opacity: .7;
}

.inventaire-chart-line {
    fill: none;
    stroke: var(--accent);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 50%, transparent));
}

.inventaire-chart-point {
    fill: var(--accent);
    stroke: var(--panel);
    stroke-width: 2;
}

.inventaire-chart-label,
.inventaire-chart-value,
.inventaire-chart-tick {
    fill: var(--text);
    font-size: 12px;
    font-weight: 900;
}

.inventaire-chart-value {
    fill: var(--accent);
    font-size: 11px;
}

.inventaire-chart-tick {
    fill: var(--muted);
    font-size: 10px;
}

.inventaire-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 10px 0;
}

.inventaire-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text);
    font-size: 12px;
    font-weight: 900;
}

.inventaire-chart-legend i {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    display: inline-block;
}

.inventaire-chart-table-wrap {
    max-height: 220px;
    overflow: auto;
    border: 1px solid var(--border);
}

.inventaire-chart-table {
    width: 100%;
    border-collapse: collapse;
}

.inventaire-chart-table th,
.inventaire-chart-table td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
}

.inventaire-panel {
    margin: 0 6px 10px;
    border: 1px solid var(--border);
    background: var(--panel);
}

.inventaire-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .8fr);
    gap: 8px;
    margin: 0 0 10px;
}

.inventaire-edit-panel {
    margin-bottom: 0;
    padding: 10px;
}

.inventaire-edit-form,
.inventaire-family-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) auto;
    gap: 8px;
    align-items: end;
}

.inventaire-edit-form .wide {
    grid-column: span 2;
}

.inventaire-edit-form label,
.inventaire-family-actions label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.inventaire-edit-form input,
.inventaire-family-actions input {
    min-height: 30px;
    border: 1px solid var(--input-border);
    background: var(--input);
    color: var(--input-text);
    font-weight: 800;
    padding: 5px 8px;
}

.inventaire-delete-family {
    margin-top: 8px;
}

.inventaire-help {
    color: var(--muted);
    margin: 8px 0 0;
    font-size: 12px;
}

.inventaire-filter-panel {
    padding: 10px;
}

.inventaire-filters {
    display: grid;
    grid-template-columns: minmax(160px, 240px) minmax(220px, 320px) minmax(260px, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.inventaire-filters label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.inventaire-filters input,
.inventaire-filters select {
    min-height: 30px;
    border: 1px solid var(--input-border);
    background: var(--input);
    color: var(--input-text);
    font-weight: 800;
    padding: 5px 8px;
}

.inventaire-table-wrap {
    max-height: calc(100vh - 330px);
    overflow: auto;
    border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}

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

.inventaire-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--table-head);
    color: var(--table-head-text);
    padding: 5px 8px;
    font-size: 12px;
    text-align: left;
    text-transform: uppercase;
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent) !important;
}

.inventaire-table td {
    padding: 2px 8px;
    border-right: 0 !important;
    border-left: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 38%, transparent) !important;
    color: var(--text);
}

.inventaire-table tbody tr:nth-child(odd):not(.inventaire-family-row) {
    background: color-mix(in srgb, var(--row-alt) 55%, transparent);
}

.inventaire-table tbody tr:not(.inventaire-family-row):hover {
    background: color-mix(in srgb, var(--table-head) 22%, transparent);
}

.inventaire-family-row td {
    position: sticky;
    top: 31px;
    z-index: 1;
    background: #ffd633 !important;
    color: #142236 !important;
    font-weight: 900;
    text-transform: uppercase;
    border-top: 1px solid #c29700;
    border-bottom: 1px solid #c29700;
}

.inventaire-table .number {
    text-align: right;
    white-space: nowrap;
}

.inventaire-table .designation {
    min-width: 360px;
}

.inventaire-table .stock-value {
    color: var(--positive);
    font-weight: 900;
}

.inventaire-row-input {
    width: 100%;
    min-height: 21px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--input-text) !important;
    padding: 1px 4px;
    font-weight: 800;
}

.inventaire-row-input:hover {
    background: color-mix(in srgb, var(--input) 26%, transparent) !important;
}

.inventaire-row-input:focus {
    border: 1px solid var(--input-border) !important;
    border-radius: 3px !important;
    background: var(--input) !important;
    outline: none !important;
}

.inventaire-row-input.date {
    min-width: 130px;
}

.inventaire-row-input.family {
    min-width: 190px;
}

.inventaire-row-input.number {
    text-align: right;
    min-width: 90px;
}

.inventaire-actions-cell {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.inventaire-photo-cell {
    min-width: 300px;
    max-width: 360px;
}

.inventaire-photo-preview {
    display: inline-flex;
    width: 56px;
    height: 42px;
    margin: 0 8px 4px 0;
    vertical-align: middle;
    border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
    background: var(--surface);
}

.inventaire-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.inventaire-row-input.photo-url {
    min-width: 210px;
    max-width: 100%;
}

.inventaire-photo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}

.inventaire-small-button {
    min-height: 26px;
    padding: 4px 9px;
    font-size: 12px;
}

/* 20260526 - stock pneus */
.pneus-totals {
    grid-template-columns: repeat(3, minmax(130px, 1fr));
}

.pneus-filters {
    grid-template-columns: minmax(120px, .7fr) minmax(120px, .7fr) minmax(120px, .7fr) minmax(120px, .7fr) minmax(300px, 1.4fr) auto;
}

.pneus-lot-form {
    grid-template-columns: repeat(8, minmax(96px, 1fr)) auto;
}

.pneus-table-wrap {
    max-height: calc(100vh - 365px);
}

.pneus-table {
    min-width: 1780px;
}

.pneus-table th,
.pneus-table td {
    padding: 5px 6px;
    font-size: 12px;
}

.pneus-table .inventaire-row-input {
    min-height: 24px;
    font-size: 12px;
}

.pneus-table .inventaire-row-input.mini {
    min-width: 64px;
}

/* 20260526 - suivi rentabilite dossiers */
.pointage-profitability-table th:first-child,
.pointage-profitability-table td:first-child {
    width: 58px;
    text-align: center;
}

.pointage-comparison-follow {
    gap: 7px;
    cursor: pointer;
}

.pointage-comparison-follow input {
    width: 17px;
    height: 17px;
    accent-color: var(--app-warning, #ffd338);
}

@media (max-width: 1100px) {
    .inventaire-totals {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

    .inventaire-edit-grid {
        grid-template-columns: 1fr;
    }

    .inventaire-edit-form,
    .inventaire-family-actions {
        grid-template-columns: 1fr 1fr;
    }

    .inventaire-filters {
        grid-template-columns: 1fr 1fr;
    }

    .pneus-filters,
    .pneus-lot-form {
        grid-template-columns: 1fr 1fr;
    }
}

/* 20260515 - Configuration technique */
.configuration-header {
    align-items: center;
    border-bottom: 1px solid #d6a600;
}

.configuration-subtitle {
    margin: 4px 0 0;
    color: #cfe3f8;
    font-size: 13px;
}

.configuration-date {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid #d6a600;
    background: #162b40;
    color: #ffd94d;
    font-weight: 800;
}

.configuration-warning {
    margin: 8px 12px 12px;
    padding: 10px 12px;
    border: 1px solid #d6a600;
    background: #1b3147;
    color: #f8fbff;
    display: flex;
    gap: 12px;
    align-items: center;
}

.configuration-warning strong {
    color: #ffd94d;
    text-transform: uppercase;
}

.configuration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 12px 18px;
}

.configuration-card {
    border: 1px solid #5e7083;
    background: #162b40;
    color: #f8fbff;
    min-width: 0;
}

.configuration-card header {
    padding: 10px 12px;
    border-bottom: 1px solid #334a63;
    background: #102235;
}

.configuration-card h3 {
    margin: 0 0 4px;
    color: #ffd94d;
    font-size: 15px;
    text-transform: uppercase;
}

.configuration-card p {
    margin: 0;
    color: #b8d4ee;
    font-size: 12px;
}

.configuration-card dl {
    margin: 0;
}

.configuration-card dl div {
    display: grid;
    grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
    gap: 10px;
    padding: 7px 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.configuration-card dl div:nth-child(even) {
    background: rgba(255, 255, 255, 0.035);
}

.configuration-card dl div:last-child {
    border-bottom: 0;
}

.configuration-card dt {
    color: #8fd0ff;
    font-weight: 800;
    font-size: 12px;
}

.configuration-card dd {
    margin: 0;
    color: #ffffff;
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

html[data-mondial-theme="light"] .configuration-subtitle {
    color: #14304a;
}

html[data-mondial-theme="light"] .configuration-date {
    background: #fff8d8;
    color: #8a6400;
}

html[data-mondial-theme="light"] .configuration-warning {
    background: #fff8d8;
    color: #102235;
}

html[data-mondial-theme="light"] .configuration-card {
    background: #f8fbff;
    color: #061a2d;
    border-color: #a9bfd4;
}

html[data-mondial-theme="light"] .configuration-card header {
    background: #d6e5f1;
    border-color: #a9bfd4;
}

html[data-mondial-theme="light"] .configuration-card h3,
html[data-mondial-theme="light"] .configuration-warning strong {
    color: #a37600;
}

html[data-mondial-theme="light"] .configuration-card p,
html[data-mondial-theme="light"] .configuration-card dt,
html[data-mondial-theme="light"] .configuration-card dd {
    color: #061a2d;
}

html[data-mondial-theme="light"] .configuration-card dl div:nth-child(even) {
    background: #eaf3fb;
}

@media (max-width: 1100px) {
    .configuration-grid {
        grid-template-columns: 1fr;
    }
}

/* 20260515 - agenda left panel ergonomics and quick type buttons */
.agenda-layout {
    grid-template-columns: 330px minmax(0, 1fr) !important;
}

.agenda-sidebar {
    width: 330px;
}

.agenda-edit-panel .panel-header h3 {
    font-size: 0.98rem;
    line-height: 1.15;
}

.agenda-rdv-form label {
    min-width: 0;
}

.agenda-rdv-form label span {
    line-height: 1.05;
}

.agenda-rdv-form input,
.agenda-rdv-form select {
    width: 100%;
    box-sizing: border-box;
}

.agenda-rdv-form input[type="date"],
.agenda-rdv-form input[type="time"] {
    min-width: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.agenda-form-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.agenda-quick-types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin-top: 4px;
}

.agenda-quick-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

.agenda-quick-type.is-active {
    outline: 2px solid #ffd84d;
    outline-offset: -2px;
}

.agenda-quick-all {background:#475569}
.agenda-quick-perso {background:#3b82f6}
.agenda-quick-global {background:#f59e0b;color:#111827}
.agenda-quick-foot {background:#16a34a}
.agenda-quick-garage {background:#22c55e;color:#082f1d}

.agenda-outlook-panel {
    margin-bottom: 12px;
}

.agenda-outlook-panel .panel-header {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.agenda-outlook-panel .button[disabled] {
    cursor: not-allowed;
    opacity: 0.55;
}

.agenda-outlook-list {
    display: grid;
    gap: 8px;
}

.agenda-outlook-account {
    align-items: center;
    border: 1px solid var(--uc-border, #31506e);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    justify-content: space-between;
    padding: 8px;
}

.agenda-outlook-account strong,
.agenda-outlook-account span {
    display: block;
}

.agenda-outlook-account strong {
    font-size: 12px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.agenda-outlook-account .button {
    font-size: 11px;
    min-height: 28px;
    padding: 4px 8px;
}

.agenda-outlook-account span,
.agenda-readonly-note,
.agenda-outlook-error {
    color: var(--uc-muted, #b9d4ec);
    font-size: 12px;
}

.agenda-outlook-error {
    color: #ffd84d;
    margin: 6px 0 0;
    overflow-wrap: anywhere;
}

.agenda-readonly-note {
    border: 1px solid rgba(124, 58, 237, 0.45);
    margin: 0 0 10px;
    padding: 8px;
}

.agenda-outlook-event {
    background: #7c3aed !important;
    border-color: #c4b5fd !important;
}
.agenda-foot {background:#16a34a}

/* 20260517 - Style manager Mondial Car */
.style-manager{min-height:calc(100vh - 104px);padding:12px;background:var(--theme-page-bg,var(--app-bg));color:var(--theme-text,var(--app-text))}
.style-manager-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.style-manager-title h2{margin:0;color:var(--gold,var(--app-warning));font-size:26px;text-transform:uppercase}
.style-preview-switch,.style-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.style-config-form{display:grid;gap:12px}
.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.style-theme-card,.style-preview-panel{border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg,var(--app-surface));color:var(--theme-text,var(--app-text))}
.style-theme-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg-2,var(--app-surface-2))}
.style-theme-header h3{margin:0;color:var(--gold,var(--app-warning));font-size:16px;text-transform:uppercase}
.style-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.style-color-field{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:5px;align-items:end}
.style-color-field span{grid-column:1/-1;color:var(--theme-text,var(--app-text));font-size:11px;font-weight:900;text-transform:uppercase}
.style-color-field input[type="color"]{width:42px;height:30px;padding:2px}
.style-color-field input[data-style-hex]{min-width:0;height:30px}
.style-preview-body{display:grid;grid-template-columns:minmax(260px,.4fr) minmax(0,.6fr);gap:12px;padding:12px}
.style-preview-card{display:grid;gap:9px;padding:12px;border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg-2,var(--app-surface-2))}
.style-preview-card h4{margin:0;color:var(--gold,var(--app-warning));text-transform:uppercase}
.style-preview-buttons{display:flex;flex-wrap:wrap;gap:8px}
.style-preview-buttons span{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;color:#fff;font-weight:900;text-transform:uppercase}
.style-preview-buttons [data-preview-action="add"]{background:var(--app-primary)}
.style-preview-buttons [data-preview-action="edit"]{background:var(--app-success)}
.style-preview-buttons [data-preview-action="delete"]{background:var(--app-danger)}
.style-preview-table{width:100%;border-collapse:collapse}
.style-preview-table th,.style-preview-table td{padding:8px;border:1px solid var(--theme-border,var(--app-border))}
.style-preview-table th{background:var(--theme-table-head);color:var(--theme-text-strong)}
.style-preview-table td{background:var(--theme-table-row);color:var(--theme-text)}
.style-preview-table tr:nth-child(even) td{background:var(--theme-table-row-alt)}
@media(max-width:1050px){.style-grid,.style-preview-body{grid-template-columns:1fr}}
@media(max-width:680px){.style-manager-title,.style-theme-header,.style-preview-switch,.style-actions{align-items:stretch;flex-direction:column}.style-fields{grid-template-columns:1fr}}

/* 20260517 - Style manager aligned with Universal Concept */
.style-manager-page{min-width:0;overflow-x:hidden}
.style-manager{width:min(1560px,calc(100vw - 28px));margin:0 auto;padding:14px;min-width:0;background:var(--theme-page-bg,var(--app-bg));color:var(--theme-text,var(--app-text))}
.style-manager-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.style-manager-title h1{margin:2px 0 0;color:var(--gold,var(--app-warning));font-size:24px;line-height:1.15;text-transform:uppercase}
.style-save-location{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg-2,var(--app-surface-2));color:var(--theme-text,var(--app-text));font-weight:800}
.style-config-form{display:grid;gap:12px;min-width:0}
.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.style-theme-card{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;min-width:0;padding:12px;border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg,var(--app-surface));color:var(--theme-text,var(--app-text))}
.style-theme-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg-2,var(--app-surface-2))}
.style-theme-header h2{margin:0;color:var(--gold,var(--app-warning));font-size:18px;line-height:1.15}
.style-theme-header .section-kicker,.style-manager-title .section-kicker{margin:0;color:var(--theme-muted-text,var(--app-muted));font-size:11px;font-weight:900;text-transform:uppercase}
.style-fieldset{min-width:0;margin:0;padding:10px;border:1px solid var(--theme-border,var(--app-border));background:color-mix(in srgb,var(--theme-panel-bg,var(--app-surface)) 86%,#fff 14%)}
.style-fieldset+.style-fieldset{margin-top:10px}
.style-fieldset legend{padding:0 6px;color:var(--gold,var(--app-warning));font-size:12px;font-weight:900;text-transform:uppercase}
.style-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;align-items:end;min-width:0}
.style-field{display:grid;grid-template-columns:1fr;gap:4px;min-width:0}
.style-field span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text,var(--app-text));font-size:11px;font-weight:900}
.style-field input,.style-field select{width:100%;min-width:0;height:30px}
.style-field-color{grid-template-columns:50px minmax(0,1fr);column-gap:6px}
.style-field-color span{grid-column:1/-1}
.style-field-color input[type=color]{width:50px;padding:2px}
.style-field-color input[type=text]{font-family:Consolas,monospace}
.style-field-color input.is-invalid-color{outline:2px solid var(--app-danger,#dc2626);outline-offset:1px}
.style-preview{position:static;display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--preview-border,var(--theme-border));background:var(--preview-bg,var(--theme-page-bg));color:var(--preview-text,var(--theme-text))}
.style-preview-top{display:flex;gap:6px;flex-wrap:wrap}
.style-preview-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;background:var(--preview-primary,var(--app-primary));color:var(--preview-primary-text,#fff);border:1px solid var(--preview-primary,var(--app-primary));font-size:12px;font-weight:900}
.style-preview-button.alt{background:var(--preview-secondary,var(--app-secondary));border-color:var(--preview-secondary,var(--app-secondary))}
.style-preview-panel{display:grid;gap:8px;padding:10px;border:1px solid var(--preview-border,var(--theme-border));background:var(--preview-surface,var(--theme-panel-bg))}
.style-preview-panel h3{margin:0;color:var(--preview-heading,var(--gold));font-size:15px}
.style-preview-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.style-preview-form input{min-width:0;background:var(--preview-field-bg,var(--theme-field-bg));color:var(--preview-field-text,var(--theme-field-text))}
.style-preview-form button{background:var(--preview-btn-add-bg,var(--app-primary));color:var(--preview-btn-add-text,#fff);border:1px solid var(--preview-btn-add-bg,var(--app-primary))}
.style-preview-buttons,.style-preview-statuses{display:flex;flex-wrap:wrap;gap:5px}
.style-preview-buttons span,.style-preview-statuses span{display:inline-flex;align-items:center;justify-content:center;min-height:25px;max-width:100%;padding:4px 8px;border:1px solid transparent;font-size:11px;font-weight:900;white-space:nowrap}
.style-preview-buttons [data-preview-action=new]{background:var(--preview-btn-new-bg);color:var(--preview-btn-new-text);border-color:var(--preview-btn-new-bg)}
.style-preview-buttons [data-preview-action=add]{background:var(--preview-btn-add-bg);color:var(--preview-btn-add-text);border-color:var(--preview-btn-add-bg)}
.style-preview-buttons [data-preview-action=edit]{background:var(--preview-btn-edit-bg);color:var(--preview-btn-edit-text);border-color:var(--preview-btn-edit-bg)}
.style-preview-buttons [data-preview-action=delete]{background:var(--preview-btn-delete-bg);color:var(--preview-btn-delete-text);border-color:var(--preview-btn-delete-bg)}
.style-preview-buttons [data-preview-action=stats]{background:var(--preview-btn-stats-bg);color:var(--preview-btn-stats-text);border-color:var(--preview-btn-stats-bg)}
.style-preview-buttons [data-preview-action=view]{background:var(--preview-btn-view-bg);color:var(--preview-btn-view-text);border-color:var(--preview-btn-view-bg)}
.style-preview-buttons [data-preview-action=reset]{background:var(--preview-btn-reset-bg);color:var(--preview-btn-reset-text);border-color:var(--preview-btn-reset-bg)}
.style-preview-buttons [data-preview-action=switch-user]{background:var(--preview-btn-switch-bg);color:var(--preview-btn-switch-text);border-color:var(--preview-btn-switch-bg)}
.style-preview-buttons [data-preview-action=quit]{background:var(--preview-btn-quit-bg);color:var(--preview-btn-quit-text);border-color:var(--preview-btn-quit-bg)}
.style-preview-buttons [data-preview-action=export]{background:var(--preview-btn-export-bg);color:var(--preview-btn-export-text);border-color:var(--preview-btn-export-bg)}
.style-preview-buttons [data-preview-action=theme-light]{background:var(--preview-btn-theme-light-bg);color:var(--preview-btn-theme-light-text);border-color:var(--preview-btn-theme-light-bg)}
.style-preview-buttons [data-preview-action=theme-dark]{background:var(--preview-btn-theme-dark-bg);color:var(--preview-btn-theme-dark-text);border-color:var(--preview-btn-theme-dark-bg)}
.style-preview-statuses [data-preview-status=all]{background:var(--preview-status-all-bg);color:var(--preview-status-all-text);border-color:var(--preview-status-all-bg)}
.style-preview-statuses [data-preview-status=active]{background:var(--preview-status-active-bg);color:var(--preview-status-active-text);border-color:var(--preview-status-active-bg)}
.style-preview-statuses [data-preview-status=done]{background:var(--preview-status-done-bg);color:var(--preview-status-done-text);border-color:var(--preview-status-done-bg)}
.style-preview-statuses [data-preview-status=request]{background:var(--preview-status-request-bg);color:var(--preview-status-request-text);border-color:var(--preview-status-request-bg)}
.style-preview-statuses [data-preview-status=validated]{background:var(--preview-status-validated-bg);color:var(--preview-status-validated-text);border-color:var(--preview-status-validated-bg)}
.style-preview-statuses [data-preview-status=archives]{background:var(--preview-status-archives-bg);color:var(--preview-status-archives-text);border-color:var(--preview-status-archives-bg)}
.style-preview table{width:100%;border-collapse:collapse;table-layout:fixed}
.style-preview th{background:var(--preview-table-header-bg);color:var(--preview-table-header-text)}
.style-preview td{background:var(--preview-table-row-bg);color:var(--preview-table-row-text)}
.style-preview tbody tr:nth-child(even) td{background:var(--preview-table-row-alt-bg)}
.style-preview th,.style-preview td{padding:6px;border:1px solid var(--preview-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.style-actions{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:8px;padding:10px;border:1px solid var(--theme-border,var(--app-border));background:var(--theme-panel-bg-2,var(--app-surface-2))}
@media(max-width:1100px){.style-grid{grid-template-columns:1fr}}
@media(max-width:720px){.style-manager{width:100%;padding:8px}.style-manager-title,.style-theme-header,.style-actions{align-items:stretch;flex-direction:column}.style-fields{grid-template-columns:1fr}.style-preview-form{grid-template-columns:1fr}}

/* 20260518 - Caisses debit/credit + Universal: alignement sur le style commun. */
html[data-mondial-theme] .caisse-theme-layout {
    background: var(--theme-page-bg, var(--app-bg)) !important;
    color: var(--theme-text, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .panel,
html[data-mondial-theme] .caisse-theme-layout .vr-dark-panel,
html[data-mondial-theme] .caisse-theme-layout .caisse-balance-panel,
html[data-mondial-theme] .caisse-theme-layout .caisse-compact-form,
html[data-mondial-theme] .caisse-theme-layout .table-shell,
html[data-mondial-theme] .caisse-theme-layout .vr-table-shell {
    background: var(--theme-panel-bg, var(--app-surface)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    border-radius: 8px;
    box-shadow: none;
}

html[data-mondial-theme] .caisse-theme-layout .panel-header,
html[data-mondial-theme] .caisse-theme-layout .signal-table-header,
html[data-mondial-theme] .caisse-theme-layout .caisse-balance-panel .panel-header {
    background: var(--theme-panel-bg-2, var(--app-surface-2)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
    border-radius: 6px;
}

html[data-mondial-theme] .caisse-theme-layout .panel-header h3,
html[data-mondial-theme] .caisse-theme-layout .panel-header h2,
html[data-mondial-theme] .caisse-theme-layout h3 {
    color: var(--gold, var(--app-warning)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .signal-dark-form,
html[data-mondial-theme] .caisse-theme-layout .signal-live-filters,
html[data-mondial-theme] .caisse-theme-layout .vr-live-filters {
    background: var(--theme-panel-bg-2, var(--app-surface-2)) !important;
    border: 1px solid var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    border-radius: 8px;
}

html[data-mondial-theme] .caisse-theme-layout .signal-dark-form input,
html[data-mondial-theme] .caisse-theme-layout .signal-dark-form select,
html[data-mondial-theme] .caisse-theme-layout .signal-live-filters input,
html[data-mondial-theme] .caisse-theme-layout .signal-live-filters select,
html[data-mondial-theme] .caisse-theme-layout .vr-live-filters input,
html[data-mondial-theme] .caisse-theme-layout .vr-live-filters select {
    background: var(--theme-field-bg, var(--app-field-bg)) !important;
    border-color: var(--theme-field-border, var(--app-field-border)) !important;
    color: var(--theme-field-text, var(--app-field-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout label,
html[data-mondial-theme] .caisse-theme-layout label span,
html[data-mondial-theme] .caisse-theme-layout .signal-dark-form label span,
html[data-mondial-theme] .caisse-theme-layout .signal-live-filters label span,
html[data-mondial-theme] .caisse-theme-layout .empty-state {
    color: var(--theme-text, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .caisse-balance-row,
html[data-mondial-theme] .caisse-theme-layout .caisse-balance-total {
    background: var(--theme-table-row, var(--app-surface)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    border-radius: 6px;
}

html[data-mondial-theme] .caisse-theme-layout .caisse-balance-row:hover,
html[data-mondial-theme] .caisse-theme-layout .caisse-balance-row.is-active {
    background: var(--theme-table-hover, var(--app-surface-2)) !important;
    border-color: var(--gold, var(--app-warning)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .caisse-balance-row strong,
html[data-mondial-theme] .caisse-theme-layout .caisse-balance-total strong {
    color: var(--gold, var(--app-warning)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table th,
html[data-mondial-theme] .caisse-theme-layout .dark-table th {
    background: var(--theme-table-head, var(--app-surface-2)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table td,
html[data-mondial-theme] .caisse-theme-layout .dark-table td {
    background: var(--theme-table-row, var(--app-surface)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme] .caisse-theme-layout .dark-table tbody tr:nth-child(even) td {
    background: var(--theme-table-row-alt, var(--app-surface-2)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table tbody tr:hover td,
html[data-mondial-theme] .caisse-theme-layout .dark-table tbody tr:hover td {
    background: var(--theme-table-hover, var(--app-surface-2)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table td.caisse-debit-cell,
html[data-mondial-theme] .caisse-theme-layout td.caisse-debit-cell {
    color: var(--app-success, #1f8d52) !important;
    font-weight: 900 !important;
}

html[data-mondial-theme] .caisse-theme-layout .vr-dark-table td.caisse-credit-cell,
html[data-mondial-theme] .caisse-theme-layout td.caisse-credit-cell {
    color: var(--app-danger, #c23b1d) !important;
    font-weight: 900 !important;
}

html[data-mondial-theme] .caisse-theme-layout .badge {
    background: var(--gold, var(--app-warning)) !important;
    border-color: var(--gold, var(--app-warning)) !important;
    color: #102235 !important;
}

/* 20260518 - Listing garanties: une ligne compacte par dossier. */
.garantie-list-page .table-shell {
    overflow: auto;
}

.garantie-list-page .garantie-dark-table {
    width: 100%;
    table-layout: fixed;
    font-size: 11px;
}

.garantie-list-page .garantie-dark-table th,
.garantie-list-page .garantie-dark-table td {
    height: 24px;
    max-height: 24px;
    padding: 2px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1;
    vertical-align: middle;
}

.garantie-list-page .garantie-dark-table th {
    height: 28px;
    font-size: 11px;
    line-height: 1.05;
}

.garantie-list-page .garantie-dark-table td,
.garantie-list-page .garantie-dark-table td a {
    font-size: 11px;
}

.garantie-list-page .garantie-dark-table th:nth-child(1),
.garantie-list-page .garantie-dark-table td:nth-child(1) { width: 52px; }

.garantie-list-page .garantie-dark-table th:nth-child(2),
.garantie-list-page .garantie-dark-table td:nth-child(2) { width: 90px; }

.garantie-list-page .garantie-dark-table th:nth-child(3),
.garantie-list-page .garantie-dark-table td:nth-child(3) { width: 98px; }

.garantie-list-page .garantie-dark-table th:nth-child(4),
.garantie-list-page .garantie-dark-table td:nth-child(4) { width: 190px; }

.garantie-list-page .garantie-dark-table th:nth-child(5),
.garantie-list-page .garantie-dark-table td:nth-child(5) { width: 50px; }

.garantie-list-page .garantie-dark-table th:nth-child(6),
.garantie-list-page .garantie-dark-table td:nth-child(6) { width: 70px; }

.garantie-list-page .garantie-dark-table th:nth-child(7),
.garantie-list-page .garantie-dark-table td:nth-child(7) { width: 150px; }

.garantie-list-page .garantie-dark-table th:nth-child(8),
.garantie-list-page .garantie-dark-table td:nth-child(8) { width: 130px; }

.garantie-list-page .garantie-dark-table th:nth-child(9),
.garantie-list-page .garantie-dark-table td:nth-child(9) { width: 82px; }

.garantie-list-page .garantie-dark-table th:nth-child(10),
.garantie-list-page .garantie-dark-table td:nth-child(10) { width: 105px; }

.garantie-list-page .garantie-dark-table th:nth-child(11),
.garantie-list-page .garantie-dark-table td:nth-child(11) { width: 135px; }

.garantie-list-page .garantie-dark-table th:nth-child(12),
.garantie-list-page .garantie-dark-table td:nth-child(12) { width: 145px; }

.garantie-list-page .garantie-dark-table th:nth-child(13),
.garantie-list-page .garantie-dark-table td:nth-child(13) { width: 100px; }

.garantie-list-page .garantie-dark-table th:nth-child(14),
.garantie-list-page .garantie-dark-table td:nth-child(14) { width: 82px; }

.garantie-list-page .garantie-action-btn {
    min-height: 17px;
    height: 17px;
    padding: 1px 6px;
    font-size: 10px;
    line-height: 1;
}

/* 20260518 - Gestion MDP: alignement complet sur le style commun. */
html[data-mondial-theme] .mdp-theme-layout {
    background: var(--theme-page-bg, var(--app-bg)) !important;
    color: var(--theme-text, var(--app-text)) !important;
}

html[data-mondial-theme] .mdp-theme-layout .panel,
html[data-mondial-theme] .mdp-theme-layout .table-shell,
html[data-mondial-theme] .mdp-theme-layout .notes-table-shell {
    background: var(--theme-panel-bg, var(--app-surface)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    border-radius: 8px;
    box-shadow: none;
}

html[data-mondial-theme] .mdp-theme-layout .panel-header {
    background: var(--theme-panel-bg-2, var(--app-surface-2)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
    border-radius: 6px;
}

html[data-mondial-theme] .mdp-theme-layout .panel-header h2,
html[data-mondial-theme] .mdp-theme-layout h2,
html[data-mondial-theme] .mdp-theme-layout h3 {
    color: var(--gold, var(--app-warning)) !important;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-search-form,
html[data-mondial-theme] .mdp-theme-layout .personnel-form {
    background: var(--theme-panel-bg-2, var(--app-surface-2)) !important;
    border: 1px solid var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    border-radius: 8px;
}

html[data-mondial-theme] .mdp-theme-layout label,
html[data-mondial-theme] .mdp-theme-layout label span,
html[data-mondial-theme] .mdp-theme-layout .mdp-search-form label span {
    color: var(--theme-text, var(--app-text)) !important;
}

html[data-mondial-theme] .mdp-theme-layout input,
html[data-mondial-theme] .mdp-theme-layout textarea,
html[data-mondial-theme] .mdp-theme-layout select {
    background: var(--theme-field-bg, var(--app-field-bg)) !important;
    border-color: var(--theme-field-border, var(--app-field-border)) !important;
    color: var(--theme-field-text, var(--app-field-text)) !important;
    border-radius: 4px;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table {
    table-layout: fixed;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table th,
html[data-mondial-theme] .mdp-theme-layout .mdp-table td {
    background: var(--theme-table-row, var(--app-surface)) !important;
    border-color: var(--theme-border, var(--app-border)) !important;
    color: var(--theme-text, var(--app-text)) !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table th {
    background: var(--theme-table-head, var(--app-surface-2)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table tbody tr:nth-child(even) td {
    background: var(--theme-table-row-alt, var(--app-surface-2)) !important;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table tbody tr:hover td,
html[data-mondial-theme] .mdp-theme-layout .mdp-table tr.is-selected td {
    background: var(--theme-table-hover, var(--app-surface-2)) !important;
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-table a {
    color: var(--theme-text-strong, var(--app-text)) !important;
}

html[data-mondial-theme="light"] .mdp-theme-layout .mdp-table a {
    color: #075985 !important;
}

html[data-mondial-theme] .mdp-theme-layout .mdp-password-cell {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
}

html[data-mondial-theme] .mdp-theme-layout .badge {
    background: var(--gold, var(--app-warning)) !important;
    border-color: var(--gold, var(--app-warning)) !important;
    color: #102235 !important;
}

/* Garantie form - common style refresh */
.garantie-windows-page {
    min-height: calc(100vh - 108px) !important;
    height: auto !important;
    padding: 10px 12px 18px !important;
    overflow: auto !important;
    background: var(--app-bg, #071522) !important;
    color: var(--app-text, #ffffff) !important;
}

.garantie-windows-form {
    display: grid !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.garantie-topbar {
    display: grid !important;
    grid-template-columns: minmax(340px, 1fr) minmax(620px, auto) minmax(190px, auto) !important;
    gap: 10px !important;
    align-items: end !important;
    padding: 10px !important;
    border: 1px solid var(--app-border, #5c7fa1) !important;
    border-radius: 6px !important;
    background: var(--app-panel, #12243a) !important;
}

.garantie-topbar-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}

.garantie-topbar-actions .btn,
.garantie-topbar-dossier .btn,
.garantie-validation-actions .btn {
    min-height: 32px !important;
    padding: 7px 12px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase !important;
}

.garantie-topbar-meta {
    display: grid !important;
    grid-template-columns: 150px 150px 160px 150px !important;
    gap: 8px !important;
    align-items: end !important;
    justify-content: start !important;
}

.garantie-topbar-meta label,
.garantie-direction-box {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.garantie-topbar-meta label span,
.garantie-direction-box > span {
    color: var(--app-muted, #9fc7ef) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.garantie-topbar-dossier {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--app-warning, #ffd338) !important;
    font-weight: 900 !important;
    align-self: center !important;
}

.garantie-topbar-dossier strong {
    color: var(--app-warning, #ffd338) !important;
    font-size: 15px !important;
}

.garantie-win-grid-top {
    display: grid !important;
    grid-template-columns: minmax(360px, 0.95fr) minmax(580px, 1.35fr) minmax(390px, 0.9fr) !important;
    gap: 10px !important;
    min-height: 0 !important;
}

.garantie-win-grid-middle {
    display: grid !important;
    grid-template-columns: minmax(380px, 0.75fr) minmax(720px, 1.25fr) !important;
    gap: 10px !important;
    min-height: 0 !important;
}

.garantie-win-cost-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.garantie-panel-dark,
.garantie-win-cost-box,
.garantie-validation-panel {
    background: var(--app-panel, #12243a) !important;
    border: 1px solid var(--app-border, #5c7fa1) !important;
    border-radius: 6px !important;
    padding: 10px !important;
    min-height: 0 !important;
}

.garantie-win-legend,
.garantie-panel-dark h3,
.garantie-win-cost-box h3 {
    margin: 0 0 9px !important;
    color: var(--app-warning, #ffd338) !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.garantie-win-fields,
.garantie-win-status-top,
.garantie-win-intervention-grid {
    display: grid !important;
    gap: 8px 10px !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.garantie-win-grid-top .garantie-win-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-intervention-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.garantie-win-intervention-grid .field-wide {
    grid-column: 1 / -1 !important;
}

.garantie-win-fields label,
.garantie-win-status-top label,
.garantie-win-cost-box label,
.garantie-win-total-box label,
.garantie-win-intervention-grid label {
    display: grid !important;
    grid-template-columns: 136px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.garantie-win-fields label span,
.garantie-win-status-top label span,
.garantie-win-cost-box label span,
.garantie-win-total-box label span,
.garantie-win-intervention-grid label span {
    color: var(--app-text, #ffffff) !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

.garantie-win-fields input,
.garantie-win-fields select,
.garantie-win-intervention-grid input,
.garantie-win-intervention-grid select,
.garantie-win-intervention-grid textarea,
.garantie-win-status-top input,
.garantie-win-status-top select,
.garantie-win-cost-box input,
.garantie-win-total-box input,
.garantie-direction-box select,
.garantie-topbar-meta input,
.garantie-topbar-meta select {
    width: 100% !important;
    min-height: 34px !important;
    height: auto !important;
    padding: 7px 8px !important;
    border-radius: 5px !important;
    border: 1px solid var(--app-border, #5c7fa1) !important;
    background: var(--app-field-bg, #173f78) !important;
    color: var(--app-text, #ffffff) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

.garantie-win-fields input[readonly],
.garantie-win-status-top input[readonly],
.garantie-win-total-box input[readonly],
.garantie-win-cost-box input[readonly] {
    background: var(--app-panel-alt, #1f3448) !important;
    color: var(--app-muted, #9fc7ef) !important;
}

.garantie-win-intervention-grid textarea {
    min-height: 64px !important;
    resize: vertical !important;
}

.garantie-win-status-top {
    grid-template-columns: 1fr !important;
    margin-bottom: 10px !important;
}

.garantie-win-badges-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
}

.garantie-status-card,
.garantie-win-badge-box,
.garantie-win-entretien-result {
    display: grid !important;
    gap: 5px !important;
    background: var(--app-panel-alt, #1f3448) !important;
    border: 1px solid var(--app-border, #5c7fa1) !important;
    border-radius: 5px !important;
    padding: 8px !important;
}

.garantie-status-card span,
.garantie-win-entretien-result span {
    color: var(--app-muted, #9fc7ef) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.garantie-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 6px 8px !important;
    border: 0 !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.garantie-badge-success { background: var(--app-success, #16a34a) !important; color: #ffffff !important; }
.garantie-badge-danger { background: var(--app-danger, #dc2626) !important; color: #ffffff !important; }
.garantie-badge-warning { background: var(--app-warning, #ffd338) !important; color: #071522 !important; }
.garantie-badge-neutral { background: #7b8a8b !important; color: #071522 !important; }

.garantie-win-entretien-result {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    margin-top: 10px !important;
}

.garantie-win-entretien-result strong {
    color: var(--app-warning, #ffd338) !important;
    font-size: 14px !important;
}

.garantie-win-cost-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(320px, 0.75fr) !important;
    gap: 10px !important;
}

.garantie-win-cost-columns > div,
.garantie-win-total-box {
    display: grid !important;
    gap: 8px !important;
    background: var(--app-panel-alt, #1f3448) !important;
    border: 1px solid var(--app-border, #5c7fa1) !important;
    border-radius: 5px !important;
    padding: 10px !important;
}

.garantie-win-cost-columns > div h4 {
    margin: 0 0 2px !important;
    color: var(--app-text, #ffffff) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.garantie-required-field span,
.garantie-required-display span,
.garantie-win-total-box label:last-child span {
    color: var(--app-warning, #ffd338) !important;
}

body.light-theme .garantie-windows-page {
    background: var(--app-bg, #eef4fb) !important;
    color: var(--app-text, #071522) !important;
}

body.light-theme .garantie-panel-dark,
body.light-theme .garantie-topbar,
body.light-theme .garantie-win-cost-box,
body.light-theme .garantie-validation-panel {
    background: var(--app-panel, #ffffff) !important;
}

@media (max-width: 1500px) {
    .garantie-topbar,
    .garantie-win-grid-top,
    .garantie-win-grid-middle,
    .garantie-win-cost-columns {
        grid-template-columns: 1fr !important;
    }

    .garantie-topbar-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        justify-content: stretch !important;
    }
}

@media (max-width: 760px) {
    .garantie-windows-page {
        padding: 8px !important;
    }

    .garantie-topbar-meta,
    .garantie-win-grid-top .garantie-win-fields,
    .garantie-win-intervention-grid,
    .garantie-win-badges-grid {
        grid-template-columns: 1fr !important;
    }

    .garantie-win-fields label,
    .garantie-win-status-top label,
    .garantie-win-cost-box label,
    .garantie-win-total-box label,
    .garantie-win-intervention-grid label {
        grid-template-columns: 1fr !important;
    }

    .garantie-win-fields label span,
    .garantie-win-status-top label span,
    .garantie-win-cost-box label span,
    .garantie-win-total-box label span,
    .garantie-win-intervention-grid label span {
        text-align: left !important;
    }
}

/* 20260716 - VR: force matrix/table display like Nordine CR pages. */
html[data-mondial-theme] .vr-matrix-workspace,
html[data-mondial-theme="dark"] .vr-matrix-workspace,
.vr-matrix-workspace {
    gap: 3px !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-list-panel,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-list-panel,
.vr-matrix-workspace .vr-list-panel {
    padding: 3px 7px !important;
    border: 1px solid #5da2e8 !important;
    border-radius: 0 !important;
    background: #0d2f57 !important;
    box-shadow: none !important;
}

html[data-mondial-theme] .vr-matrix-workspace .panel-header,
html[data-mondial-theme="dark"] .vr-matrix-workspace .panel-header,
.vr-matrix-workspace .panel-header {
    margin: -3px -7px 3px !important;
    padding: 2px 8px !important;
    min-height: 22px !important;
    background: #071d36 !important;
    border-bottom: 1px solid #5da2e8 !important;
}

html[data-mondial-theme] .vr-matrix-workspace .panel-header h3,
html[data-mondial-theme="dark"] .vr-matrix-workspace .panel-header h3,
.vr-matrix-workspace .panel-header h3 {
    color: #ffd94d !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-table-shell,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-table-shell,
.vr-matrix-workspace .vr-table-shell {
    max-height: calc(100vh - 162px) !important;
    border: 1px solid #5da2e8 !important;
    background: #123a66 !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table,
.vr-matrix-workspace .vr-dark-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table th,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table th,
.vr-matrix-workspace .vr-dark-table th {
    padding: 2px 8px !important;
    border: 1px solid #5da2e8 !important;
    background: #1f5a89 !important;
    color: #8fd0ff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table td,
.vr-matrix-workspace .vr-dark-table td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table .vr-row-danger td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table .vr-row-warning td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table .vr-row-success td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table .vr-row-rdv td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table .vr-row-normal td,
html[data-mondial-theme="light"] .vr-matrix-workspace .vr-dark-table .vr-row-danger td,
html[data-mondial-theme="light"] .vr-matrix-workspace .vr-dark-table .vr-row-warning td,
html[data-mondial-theme="light"] .vr-matrix-workspace .vr-dark-table .vr-row-success td,
html[data-mondial-theme="light"] .vr-matrix-workspace .vr-dark-table .vr-row-rdv td,
html[data-mondial-theme="light"] .vr-matrix-workspace .vr-dark-table .vr-row-normal td {
    padding: 2px 8px !important;
    border: 1px solid #5da2e8 !important;
    background: #143b69 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table tbody tr:nth-child(even) td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table tbody tr:nth-child(even) td,
.vr-matrix-workspace .vr-dark-table tbody tr:nth-child(even) td {
    background: #123761 !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table tbody tr:hover td,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table tbody tr:hover td,
.vr-matrix-workspace .vr-dark-table tbody tr:hover td {
    background: #245f97 !important;
    color: #ffffff !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-dark-table a,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-dark-table a,
.vr-matrix-workspace .vr-dark-table a {
    color: #ffffff !important;
    font-weight: 900 !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-live-filters,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-live-filters,
.vr-matrix-workspace .vr-live-filters {
    gap: 3px !important;
}

html[data-mondial-theme] .vr-matrix-workspace .vr-live-filters input,
html[data-mondial-theme] .vr-matrix-workspace .vr-live-filters select,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-live-filters input,
html[data-mondial-theme="dark"] .vr-matrix-workspace .vr-live-filters select,
.vr-matrix-workspace .vr-live-filters input,
.vr-matrix-workspace .vr-live-filters select {
    min-height: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;
    border: 1px solid #5da2e8 !important;
    border-radius: 0 !important;
    background: #173b6a !important;
    color: #ffffff !important;
    font-size: 11px !important;
}

html[data-mondial-theme] .vr-matrix-workspace .badge,
html[data-mondial-theme="dark"] .vr-matrix-workspace .badge,
.vr-matrix-workspace .badge {
    padding: 1px 6px !important;
    border: 1px solid #5da2e8 !important;
    border-radius: 0 !important;
    background: #ffd94d !important;
    color: #061a2d !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.caro-mcb-header,
.caro-mcb-layout {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.caro-mcb-header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 14px !important;
}

.caro-mcb-layout {
    padding: 0 10px 12px !important;
    overflow-x: hidden !important;
}

.caro-mcb-table-panel {
    min-width: 0 !important;
    overflow: hidden !important;
}

.caro-mcb-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 8px 10px !important;
}

.caro-mcb-panel-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.caro-mcb-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.caro-mcb-table {
    min-width: 1680px !important;
}
