.hksdi-modal[hidden]{display:none}.hksdi-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .18s}.hksdi-modal.is-open{opacity:1}.hksdi-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(4px)}.hksdi-modal-panel{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35);transform:translateY(15px);transition:transform .18s}.hksdi-modal.is-open .hksdi-modal-panel{transform:translateY(0)}.hksdi-modal-panel--wide{width:min(940px,100%)}.hksdi-modal-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:rgba(255,255,255,.96)}.hksdi-modal-panel>header span{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#2563eb}.hksdi-modal-panel>header h2{margin:3px 0 0;font-size:20px}.hksdi-modal-panel>header>button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;font-size:24px;background:#f1f5f9;cursor:pointer}.hksdi-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 24px}.hksdi-form label{font-size:11px;font-weight:700;color:#374151}.hksdi-form label.is-wide{grid-column:1/-1}.hksdi-form input,.hksdi-form select,.hksdi-form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #dbe1ea;border-radius:10px;background:#fff;font:400 13px Inter,sans-serif}.hksdi-form input:focus,.hksdi-form select:focus,.hksdi-form textarea:focus{outline:3px solid rgba(37,99,235,.12);border-color:#2563eb}.hksdi-form footer,.hksdi-settings-form footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.hksdi-secondary-button{border:1px solid #e5e7eb;border-radius:12px;padding:10px 16px;background:#fff;font-weight:700;cursor:pointer}.hksdi-vehicle-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:250px;overflow:auto;padding:20px 24px 0}.hksdi-vehicle-list article{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:13px;padding:12px}.hksdi-vehicle-list article>i{color:#2563eb}.hksdi-vehicle-list strong,.hksdi-vehicle-list small{display:block}.hksdi-vehicle-list small{margin-top:3px;color:#64748b;font-size:10px}.hksdi-settings-form{padding:22px 24px}.hksdi-settings-form>label{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #f1f5f9}.hksdi-settings-form>label span{display:flex;align-items:center;gap:10px;font-weight:600}.hksdi-settings-form input[type=checkbox]{width:20px;height:20px}.hksdi-modal-open{overflow:hidden}@media(max-width:850px){.hksdi-relations{grid-template-columns:repeat(2,1fr)}.hksdi-topbar{flex-wrap:wrap}.hksdi-top-actions{width:100%;justify-content:flex-end}}@media(max-width:600px){.hksdi-relations{grid-template-columns:1fr 1fr}.hksdi-form{grid-template-columns:1fr}.hksdi-form label.is-wide{grid-column:auto}.hksdi-vehicle-list{grid-template-columns:1fr}.hksdi-new-button{font-size:11px;padding:10px}.hksdi-modal{padding:8px}}
.hksdi-row-menu form { margin: 0; }
.hksdi-row-menu form button.is-danger { width: 100%; border: 0; background: transparent; text-align: left; cursor: pointer; }

/* Fiche clients */
.hksdi-client-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.hksdi-file-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--hksdi-border);border-radius:16px;background:var(--hksdi-card);box-shadow:0 1px 2px rgba(23,32,51,.04)}
.hksdi-file-card[hidden]{display:none}
.hksdi-file-head{display:flex;align-items:center;gap:11px}
.hksdi-file-head img{width:46px;height:46px;border-radius:13px;object-fit:cover;flex:0 0 auto}
.hksdi-file-identity{min-width:0;flex:1}
.hksdi-file-identity strong{display:block;color:var(--hksdi-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hksdi-file-identity span{display:block;margin-top:1px;color:var(--hksdi-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hksdi-file-identity small{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;background:var(--hksdi-blue-soft);color:var(--hksdi-blue);font-size:8px;font-weight:800}
.hksdi-file-edit{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:9px;background:var(--hksdi-bg);color:var(--hksdi-muted)!important;text-decoration:none}@media (hover:hover){.hksdi-file-edit:hover{background:var(--hksdi-blue-soft);color:var(--hksdi-blue)!important}}
.hksdi-file-contact{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.hksdi-file-contact li{display:flex;align-items:flex-start;gap:8px;color:#596275;font-size:10px;min-width:0}
.hksdi-file-contact li i{width:13px;margin-top:1px;color:#9aa3b5;text-align:center;flex:0 0 auto}
.hksdi-file-contact a{color:#596275!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover:hover){.hksdi-file-contact a:hover{color:var(--hksdi-blue)!important}}
.hksdi-file-contact span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hksdi-file-section{padding-top:11px;border-top:1px solid #f0f2f6}
.hksdi-file-section h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#8992a5;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.hksdi-file-section h3 i{color:var(--hksdi-blue)}
.hksdi-file-section h3 .hksdi-count{min-width:20px;height:20px;font-size:8px}
.hksdi-file-vehicles{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.hksdi-file-vehicles li{display:flex;flex-direction:column;gap:2px}
.hksdi-file-vehicles strong{color:var(--hksdi-text);font-size:11px}
.hksdi-file-vehicles span{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--hksdi-muted);font-size:9px}
.hksdi-file-vehicles em{padding:1px 6px;border-radius:5px;background:var(--hksdi-bg);color:#596275;font-style:normal;font-weight:700;letter-spacing:.03em}
.hksdi-file-last{display:flex;flex-direction:column;gap:5px}
.hksdi-file-last strong{color:var(--hksdi-text);font-size:11px}
.hksdi-file-last small{color:var(--hksdi-muted);font-size:9px}
.hksdi-file-last .hksdi-status{align-self:flex-start}
.hksdi-file-empty{margin:0;color:var(--hksdi-muted);font-size:10px;font-style:italic}
.hksdi-file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:11px;border-top:1px solid #f0f2f6}
.hksdi-file-meta span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--hksdi-bg);color:#596275;font-size:9px;font-weight:700}
.hksdi-file-meta span i{color:#9aa3b5}
.hksdi-file-meta .hksdi-file-due{background:#fff3dd;color:#a7650b}
.hksdi-file-meta .hksdi-file-due i{color:#e89928}
.hksdi-sort select{height:40px;padding:0 30px 0 12px;border:1px solid var(--hksdi-border);border-radius:11px;background:#fff;color:var(--hksdi-text);font-size:12px}
.hksdi-heading-actions .hksdi-outline-button{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.hksdi-file-actions{display:flex;gap:8px}
.hksdi-file-action{display:inline-flex;align-items:center;gap:6px;flex:1;justify-content:center;padding:8px 10px;border-radius:10px;font-size:10px;font-weight:700;text-decoration:none;border:1px solid var(--hksdi-border);color:var(--hksdi-text)!important;background:#fff}
.hksdi-file-action i{font-size:11px}
.hksdi-file-action--quote{background:var(--hksdi-blue-soft);border-color:transparent;color:var(--hksdi-blue)!important}@media (hover:hover){.hksdi-file-action--quote:hover{background:#e2e8ff}}@media (hover:hover){.hksdi-file-action--rdv:hover{background:var(--hksdi-bg);border-color:#cfd6ff}}
@media(max-width:600px){.hksdi-client-files{grid-template-columns:1fr}}

/* Graphiques SVG autonomes */
.hksdi-chart-wrap svg,.hksdi-donut-svg svg,.hksdi-finance-chart svg{display:block;width:100%;height:100%}
.hksdi-donut-svg{height:100%}

/* Chiffre d'affaires */
.hksdi-granularity{display:inline-flex;padding:3px;border:1px solid var(--hksdi-border);border-radius:11px;background:#fff;gap:2px}
.hksdi-gran-button{padding:8px 16px;border:0;border-radius:8px;background:transparent;color:var(--hksdi-muted);font-size:11px;font-weight:700;cursor:pointer}@media (hover:hover){.hksdi-gran-button:hover{color:var(--hksdi-text)}}
.hksdi-gran-button.is-active{background:var(--hksdi-blue);color:#fff}
.hksdi-kpi-grid--finance{grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}
.hksdi-finance-chart-card{margin-top:16px}
.hksdi-finance-chart{height:300px;margin-top:8px}
.hksdi-finance-legend{display:flex;flex-wrap:wrap;gap:14px}
.hksdi-finance-legend span{display:inline-flex;align-items:center;gap:6px;color:#596275;font-size:10px;font-weight:600}
.hksdi-swatch{width:11px;height:11px;border-radius:3px}
.hksdi-swatch--supplier{background:#F59E0B}
.hksdi-swatch--margin{background:#22C55E}
.hksdi-swatch--paid{background:#0EA5E9}
.hksdi-finance-table{margin-top:16px}
.hksdi-finance-table th:not(:first-child),.hksdi-finance-table td:not(:first-child){text-align:right!important}
.hksdi-finance-table td:not(:first-child){font-variant-numeric:tabular-nums}
@media(max-width:640px){.hksdi-finance-chart{height:240px}.hksdi-granularity{width:100%}.hksdi-gran-button{flex:1}}

/* ============================================================
   Refonte visuelle 1.2.0 — identité « atelier / acier », accent rouge HKS
   ============================================================ */
:root{
  --hksdi-brand:#e30613;--hksdi-brand-ink:#b00410;--hksdi-brand-soft:#fdeaed;
  --hksdi-panel:#151A22;--hksdi-panel-2:#1B212B;--hksdi-panel-line:#242B36;
  --hksdi-bg:#EEF0F3;--hksdi-border:#E4E7EC;--hksdi-muted:#6A7382;
  --hksdi-blue:#3A6FE0;--hksdi-blue-soft:#E7EEFC;
}
.hksdi-shell{box-shadow:0 24px 70px rgba(20,25,35,.10)}

/* Barre latérale — panneau de contrôle foncé */
.hksdi-sidebar{background:var(--hksdi-panel);border-right:0}
.hksdi-brand-mark{background:var(--hksdi-brand);box-shadow:0 6px 16px rgba(227,6,19,.32)}
.hksdi-brand strong{color:#fff}
.hksdi-brand small{color:#7C8494}
.hksdi-nav-link,.hksdi-nav-parent,.hksdi-nav-sublink{color:#AEB5C1!important}
.hksdi-nav-link i{color:#8991A0}@media (hover:hover){.hksdi-nav-link:hover,.hksdi-nav-sublink:hover{background:#1E242E;color:#EAEDF2!important}}@media (hover:hover){.hksdi-nav-link:hover i{color:#EAEDF2}}
.hksdi-nav-link.is-active{background:var(--hksdi-brand);color:#fff!important;box-shadow:0 6px 16px rgba(227,6,19,.28)}
.hksdi-nav-link.is-active i{color:#fff}
.hksdi-nav-sublink.is-active{background:#1E242E;color:#fff!important}
.hksdi-nav-submenu{border-left-color:var(--hksdi-panel-line)}
.hksdi-sidebar-activity{background:var(--hksdi-panel-2);border-color:var(--hksdi-panel-line)}
.hksdi-sidebar-activity strong,.hksdi-sidebar-activity b{color:#fff}
.hksdi-sidebar-activity>div:nth-child(2){color:#9098A6}
.hksdi-activity-track{background:#2A313D}
.hksdi-activity-track i{background:linear-gradient(90deg,#e30613,#ff5a54)}
.hksdi-sidebar-footer{color:#8A93A1}
.hksdi-sidebar-footer strong{color:#EAEDF2}

/* Accent de marque : titres, boutons, marque */
.hksdi-eyebrow{color:var(--hksdi-brand)}
.hksdi-new-button{background:var(--hksdi-brand);box-shadow:0 8px 18px rgba(227,6,19,.24)}@media (hover:hover){.hksdi-new-button:hover{background:var(--hksdi-brand-ink);color:#fff}}@media (hover:hover){.hksdi-outline-button:hover{border-color:var(--hksdi-brand);color:var(--hksdi-brand)}}
.hksdi-gran-button.is-active{background:var(--hksdi-brand)}
.hksdi-file-action--quote{background:var(--hksdi-brand-soft);color:var(--hksdi-brand)!important}@media (hover:hover){.hksdi-file-action--quote:hover{background:#fbdbe0}}
.hksdi-file-identity small{background:var(--hksdi-brand-soft);color:var(--hksdi-brand)}
.hksdi-search input:focus{outline:3px solid rgba(227,6,19,.12);border-color:var(--hksdi-brand)}

/* Cartes KPI « instrument » — icône en haut, valeur dessous */
.hksdi-kpi{flex-direction:column;align-items:flex-start;gap:11px;min-height:118px}
.hksdi-kpi-icon{flex:0 0 40px;width:40px;height:40px}
.hksdi-kpi strong{margin-top:1px}

/* Références en style « atelier » */
.hksdi-reference{font-family:var(--mono,ui-monospace,"SF Mono",Menlo,monospace);color:var(--hksdi-brand)!important;letter-spacing:.02em}

/* Cartes : coins et fond légèrement plus doux */
.hksdi-card,.hksdi-relations a,.hksdi-tablecard{border-radius:14px}@media (hover:hover){.hksdi-relations a:hover{border-color:var(--hksdi-brand);transform:translateY(-2px)}}

/* =========================================================================
   HKS Dashboard 1.3.0 — Refonte visuelle (logo, barre latérale, lisibilité)
   ========================================================================= */

/* --- Logo de marque dans la barre latérale --- */
.hksdi-brand { display: none !important; }

/* --- Navigation (barre sombre) : texte clair lisible, actif rouge de marque --- */
.hksdi-nav-link,
.hksdi-nav-parent,
.hksdi-nav-sublink { color: #C6CDD8 !important; }
.hksdi-nav-link i { color: #9aa2b1 !important; }@media (hover:hover){.hksdi-nav-link:hover,
.hksdi-nav-sublink:hover{ background: #232a35 !important; color: #ffffff !important; }}@media (hover:hover){.hksdi-nav-link:hover i{ color: #ffffff !important; }}
.hksdi-nav-link.is-active {
  background: var(--hksdi-brand, #e30613) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(227, 6, 19, .30) !important;
}
.hksdi-nav-link.is-active i { color: #fff !important; }
.hksdi-nav-sublink.is-active { background: #232a35 !important; color: #fff !important; }
.hksdi-nav-parent[aria-expanded="true"] { color: #ffffff !important; }

/* --- Point vert « connecté » visible même barre repliée --- */
.hksdi-sidebar-footer { margin-top: auto; }
.hksdi-shell.is-sidebar-collapsed .hksdi-sidebar-footer { padding: 10px 0; }
.hksdi-shell.is-sidebar-collapsed .hksdi-live-dot {
  width: 12px; height: 12px;
  box-shadow: 0 0 0 5px rgba(47, 196, 125, .16);
}
.hksdi-live-dot { animation: hksdi-pulse 2.4s ease-in-out infinite; }
@keyframes hksdi-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(47,196,125,.14); } 50% { box-shadow: 0 0 0 7px rgba(47,196,125,.05); } }

/* --- Libellés Devis / Factures (casse normale, plus lisibles) --- */
.hksdi-eyebrow--label { text-transform: none !important; font-size: 12px !important; letter-spacing: .02em !important; }

/* --- Badges de priorité plus visibles et homogènes --- */
.hksdi-priority { border: 1px solid transparent; font-size: 9px !important; padding: 5px 9px !important; }
.hksdi-priority--high { background: #fdecec !important; color: #c0392b !important; border-color: #f1b0b0 !important; }
.hksdi-priority--normal { background: #fff3df !important; color: #b26a12 !important; border-color: #f4d5a3 !important; }
.hksdi-priority--low { background: #eaf6ee !important; color: #2f8f5b !important; border-color: #c8e6cf !important; }

/* --- Cartes : profondeur au survol pour un rendu pro --- */
.hksdi-card { transition: box-shadow .18s ease, transform .06s ease; }@media (hover:hover){.hksdi-card:hover{ box-shadow: 0 12px 28px rgba(25, 32, 51, .10); }}

/* --- Tuiles de relations (Interventions / Devis / Factures / RDV) --- */
.hksdi-relations a { transition: border-color .15s ease, box-shadow .15s ease, transform .06s ease; }@media (hover:hover){.hksdi-relations a:hover{ border-color: #cfd6ff; box-shadow: 0 8px 20px rgba(79,108,245,.12); transform: translateY(-1px); }}

/* --- Boutons cohérents --- */
.hksdi-new-button { box-shadow: 0 7px 16px rgba(79,108,245,.22); }@media (hover:hover){.hksdi-outline-button:hover{ border-color: #cfd6ff !important; color: var(--hksdi-blue) !important; }}

/* =========================================================================
   HKS Dashboard 1.4.0 — Grelot de notifications
   ========================================================================= */
.hksdi-bell { position: relative; }
.hksdi-bell > summary {
  display: grid; place-items: center; position: relative;
  width: 40px; height: 40px;
  border: 1px solid var(--hksdi-border); border-radius: 12px;
  background: #fff; color: #667085; cursor: pointer; list-style: none;
}
.hksdi-bell > summary::-webkit-details-marker { display: none; }@media (hover:hover){.hksdi-bell > summary:hover{ color: var(--hksdi-blue); border-color: #cfd6ff; background: #fafbff; }}
.hksdi-bell[open] > summary { color: var(--hksdi-blue); border-color: #cfd6ff; }
.hksdi-bell-badge {
  position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px;
  display: grid; place-items: center; padding: 0 5px;
  border-radius: 999px; background: var(--hksdi-red); color: #fff;
  font-size: 9px; font-weight: 800; box-shadow: 0 0 0 2px #fff;
}
.hksdi-bell-panel {
  position: absolute; right: 0; top: 48px; z-index: 40;
  width: 340px; max-width: 86vw; max-height: 440px; overflow: auto;
  border: 1px solid var(--hksdi-border); border-radius: 14px; background: #fff;
  box-shadow: 0 20px 45px rgba(25, 32, 51, .18);
}
.hksdi-bell-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 15px; border-bottom: 1px solid var(--hksdi-border);
  position: sticky; top: 0; background: #fff;
}
.hksdi-bell-head strong { font-size: 13px; color: var(--hksdi-text); }
.hksdi-bell-head button { border: 0; background: transparent; color: var(--hksdi-blue); font-size: 11px; font-weight: 700; cursor: pointer; }@media (hover:hover){.hksdi-bell-head button:hover{ text-decoration: underline; }}
.hksdi-bell-empty { padding: 22px 16px; margin: 0; text-align: center; color: var(--hksdi-muted); font-size: 12px; }
.hksdi-bell-item { display: flex; align-items: flex-start; gap: 11px; padding: 12px 15px; border-bottom: 1px solid #f0f2f6; }
.hksdi-bell-item.is-new { background: #f5f8ff; }
.hksdi-bell-ic { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; font-size: 13px; }
.hksdi-bell-ic--rdv { background: #eaf1ff; color: #3854c8; }
.hksdi-bell-ic--devis { background: #e9f7ef; color: #14734a; }
.hksdi-bell-ic--facture { background: #fff3dd; color: #a7650b; }
.hksdi-bell-ic--demande { background: #eef1f6; color: #475569; }
.hksdi-bell-ic--devis-signe { background: #dcfce7; color: #15803d; }
.hksdi-bell-ic--devis-refuse { background: #fee2e2; color: #b91c1c; }
.hksdi-bell-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.hksdi-bell-body strong { font-size: 12px; color: var(--hksdi-text); }
.hksdi-bell-body small { font-size: 11px; color: #596275; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hksdi-bell-body em { font-size: 10px; color: var(--hksdi-muted); font-style: normal; }
@media (max-width: 600px) { .hksdi-bell-panel { position: fixed; right: 8px; left: 8px; width: auto; } }

/* =========================================================================
   HKS Dashboard 1.4.3 — Contenir les shortcodes pleine largeur (agenda RDV)
   dans la zone de contenu du tableau de bord
   ========================================================================= */
.hksdi-shortcode-panel .hks-rdv {
  position: static !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
}

/* =========================================================================
   HKS Dashboard 1.4.4 — En-tête aligné, sans ombres, actif rouge, user en barre
   ========================================================================= */

/* En-tête : contours des boutons à la même hauteur */
.hksdi-topbar, .hksdi-top-actions { align-items: center !important; }
.hksdi-topbar .hksdi-sidebar-toggle,
.hksdi-topbar .hksdi-search input,
.hksdi-topbar .hksdi-bell > summary,
.hksdi-topbar .hksdi-new-button {
  height: 42px !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
}
.hksdi-topbar .hksdi-sidebar-toggle,
.hksdi-topbar .hksdi-bell > summary { width: 42px !important; }

/* Suppression de toutes les ombres des boutons (barre latérale + dashboard) */
.hksdi-shell button,
.hksdi-shell summary,
.hksdi-shell .hksdi-nav-link,
.hksdi-shell .hksdi-nav-link.is-active,
.hksdi-shell .hksdi-nav-sublink,
.hksdi-shell .hksdi-nav-sublink.is-active,
.hksdi-shell .hksdi-new-button,
.hksdi-shell .hksdi-outline-button,
.hksdi-shell .hksdi-sidebar-toggle,
.hksdi-shell .hksdi-bell > summary,
.hksdi-shell .hksdi-bell-badge,
.hksdi-shell .hksdi-brand-mark,
.hksdi-shell .hksdi-relations a { box-shadow: none !important; }@media (hover:hover){.hksdi-relations a:hover{ box-shadow: none !important; }}

/* Onglet actif en rouge partout (comme « Chiffre d'affaires ») */
.hksdi-nav-link.is-active,
.hksdi-nav-sublink.is-active { background: var(--hksdi-brand, #e30613) !important; color: #fff !important; }
.hksdi-nav-link.is-active i,
.hksdi-nav-sublink.is-active i { color: #fff !important; }
.hksdi-nav-group.is-open > .hksdi-nav-parent { background: transparent !important; color: #fff !important; }

/* Menu utilisateur déplacé au bas de la barre latérale */
.hksdi-sidebar-activity { margin-top: auto !important; }
.hksdi-sidebar-footer { margin-top: 12px !important; }
.hksdi-sidebar-user { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--hksdi-panel-line); }
.hksdi-sidebar-user .hksdi-user-menu { position: relative; }
.hksdi-sidebar-user .hksdi-user-menu summary { display: flex; align-items: center; gap: 9px; padding: 8px; border-radius: 12px; cursor: pointer; list-style: none; }
.hksdi-sidebar-user .hksdi-user-menu summary::-webkit-details-marker { display: none; }@media (hover:hover){.hksdi-sidebar-user .hksdi-user-menu summary:hover{ background: #232a35; }}
.hksdi-sidebar-user .hksdi-user-menu img { width: 36px; height: 36px; border-radius: 10px; flex: 0 0 auto; }
.hksdi-sidebar-user .hksdi-user-menu summary > span { min-width: 0; }
.hksdi-sidebar-user .hksdi-user-menu summary strong { display: block; color: #EAEDF2; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hksdi-sidebar-user .hksdi-user-menu summary small { display: block; color: #8A93A1; font-size: 10px; }
.hksdi-sidebar-user .hksdi-user-caret { margin-left: auto; color: #8A93A1; font-size: 10px; }
.hksdi-sidebar-user .hksdi-user-menu > div { position: absolute; left: 0; right: 0; bottom: 54px; top: auto; z-index: 30; padding: 7px; border: 1px solid var(--hksdi-panel-line); border-radius: 12px; background: var(--hksdi-panel-2); }
.hksdi-sidebar-user .hksdi-user-menu > div a { display: block; padding: 9px; border-radius: 8px; color: #C6CDD8; font-size: 11px; }@media (hover:hover){.hksdi-sidebar-user .hksdi-user-menu > div a:hover{ background: #232a35; color: #fff; }}
.hksdi-shell.is-sidebar-collapsed .hksdi-sidebar-user .hksdi-user-menu summary > span,
.hksdi-shell.is-sidebar-collapsed .hksdi-sidebar-user .hksdi-user-caret { display: none; }
.hksdi-shell.is-sidebar-collapsed .hksdi-sidebar-user .hksdi-user-menu summary { justify-content: center; }

/* =========================================================================
   HKS Dashboard 1.4.5 — Contenir la section produits (devis/facture/estimation)
   dans la zone de contenu du tableau de bord
   ========================================================================= */
.hksdi-shortcode-panel .hks-products-section,
.hksdi-shortcode-panel .hks-products-section.alignfull,
.hksdi-shortcode-panel .hks-products-section.alignwide {
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}
.hksdi-shortcode-panel { overflow-x: auto; }

/* =========================================================================
   HKS Dashboard 1.4.6 — Le tableau produits (devis/estimation/facture) ne
   doit plus être coupé à droite quand la barre latérale est ouverte, SANS
   défilement horizontal : on supprime le min-width fixe (1040px) du tableau
   pour qu'il se comprime dans la largeur disponible (colonnes en % +
   table-layout:fixed => les colonnes rétrécissent proprement).
   ========================================================================= */
/* Ne PAS masquer le débordement du panneau : la liste de recherche « code
   article » (.hks-product-results) est en position:absolute DANS une cellule
   du tableau ; overflow:hidden la découperait et la rendrait invisible.
   La largeur du tableau est déjà contenue (table-layout:fixed + min-width:0 +
   inputs max-width:100%), donc aucun défilement horizontal n'apparaît même en
   overflow visible. */
.hksdi-shortcode-panel { overflow: visible; }
.hksdi-shortcode-panel .hks-products-section,
.hksdi-shortcode-panel .hks-table-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.hksdi-shortcode-panel .hks-devis-table {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}
/* Les cellules restreignent leur contenu par césure, PAS par overflow:hidden
   (qui couperait les listes de recherche déroulantes). */
.hksdi-shortcode-panel .hks-devis-table th,
.hksdi-shortcode-panel .hks-devis-table td {
  overflow: visible;
  word-break: break-word;
}
/* La cellule du code article et sa liste déroulante doivent pouvoir déborder. */
.hksdi-shortcode-panel .hks-devis-table td.hks-product-cell,
.hksdi-shortcode-panel .hks-devis-table td.hks-code-cell {
  overflow: visible !important;
}
.hksdi-shortcode-panel .hks-product-results,
.hksdi-shortcode-panel .hks-client-search-results,
.hksdi-shortcode-panel .hks-vehicle-search-results {
  z-index: 100000 !important;
}

/* =========================================================================
   HKS Dashboard 1.9.6 — Largeurs de colonnes du tableau devis dans le
   tableau de bord. table-layout:fixed => on fixe chaque colonne (somme
   = 100 %). Marque et Marge élargies ; P.U, Total et Actions resserrés
   pour supprimer l'espace vide à droite.
   ========================================================================= */
.hksdi-shortcode-panel .hks-devis-table .hks-column-number   { width: 5%  !important; }
.hksdi-shortcode-panel .hks-devis-table .hks-column-code     { width: 10% !important; }
.hksdi-shortcode-panel .hks-devis-table .hks-column-brand    { width: 11% !important; } /* Marque (bleu) — élargie */
.hksdi-shortcode-panel .hks-devis-table .hks-column-product  { width: 28% !important; }
.hksdi-shortcode-panel .hks-devis-table .hks-column-quantity { width: 5%  !important; }
.hksdi-shortcode-panel .hks-devis-table .hks-column-supplier { width: 6%  !important; } /* P.F */
.hksdi-shortcode-panel .hks-devis-table .hks-column-margin   { width: 9%  !important; } /* Marge — élargie */
.hksdi-shortcode-panel .hks-devis-table .hks-column-price    { width: 6%  !important; } /* P.U — réduite */
.hksdi-shortcode-panel .hks-devis-table .hks-column-discount { width: 6%  !important; } /* Remise */
.hksdi-shortcode-panel .hks-devis-table .hks-column-total    { width: 6%  !important; } /* Total — réduit (espace rouge) */
.hksdi-shortcode-panel .hks-devis-table .hks-column-delete   { width: 8%  !important; } /* Actions — resserré */
.hksdi-shortcode-panel .hks-devis-table input,
.hksdi-shortcode-panel .hks-devis-table textarea,
.hksdi-shortcode-panel .hks-devis-table select {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

/* =========================================================================
   HKS Dashboard 1.5.0 — Parc & suivi véhicules dans le tableau de bord
   Bandeau de synthèse du parc + confinement de [hks_admin_vehicules]
   / [hks_mes_vehicules] dans la zone de contenu.
   ========================================================================= */

/* --- Bandeau de synthèse du parc --- */
.hksdi-fleet-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
@media (max-width: 1200px) { .hksdi-fleet-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .hksdi-fleet-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hksdi-fleet-tile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--hksdi-panel-line, #e5e7eb);
  border-radius: 14px;
  background: var(--hksdi-panel, #fff);
}
.hksdi-fleet-tile .hksdi-fleet-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 11px;
  background: #eef2f7;
  color: #64748b;
  font-size: 16px;
}
.hksdi-fleet-tile strong { display: block; font-size: 22px; line-height: 1.1; color: var(--hksdi-ink, #0f172a); }
.hksdi-fleet-tile span { font-size: 11px; font-weight: 600; color: #64748b; }
.hksdi-fleet-tile.is-ok   .hksdi-fleet-icon { background: rgba(16,185,129,.14);  color: #059669; }
.hksdi-fleet-tile.is-soon .hksdi-fleet-icon { background: rgba(245,158,11,.16);  color: #d97706; }
.hksdi-fleet-tile.is-exp  .hksdi-fleet-icon { background: rgba(220,38,38,.14);   color: #dc2626; }
.hksdi-fleet-tile.is-due  .hksdi-fleet-icon { background: rgba(37,99,235,.12);   color: #2563eb; }
.hksdi-fleet-tile.is-none .hksdi-fleet-icon { background: #eef2f7;               color: #94a3b8; }
.hksdi-fleet-tile.is-exp  { border-color: rgba(220,38,38,.35); }
.hksdi-fleet-tile.is-soon { border-color: rgba(245,158,11,.35); }

/* --- Confinement du module véhicules dans .hksdi-content --- */
.hksdi-shortcode-panel .hks-vehicles,
.hksdi-shortcode-panel .hks-vehicles.alignfull,
.hksdi-shortcode-panel .hks-vehicles.alignwide {
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}
/* Le tableau administratif des véhicules (nombreuses colonnes) défile dans son cadre */
.hksdi-shortcode-panel .hks-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* Grille des cartes véhicule : s'adapte à la largeur disponible */
.hksdi-shortcode-panel .hks-vehicle-grid {
  width: 100% !important;
  max-width: 100% !important;
}
.hksdi-shortcode-panel--vehicles { overflow-x: hidden; }

/* =========================================================================
   HKS Dashboard 1.6.0 — Fiche véhicule : en-tête, frise, entretiens
   ========================================================================= */
.hksdi-fiche-back { margin: 0 0 14px; }
.hksdi-fiche-back a { display: inline-flex; align-items: center; gap: 8px; color: #64748b; font-size: 12px; font-weight: 700; text-decoration: none; }@media (hover:hover){.hksdi-fiche-back a:hover{ color: var(--hksdi-red, #e11d2a); }}

.hksdi-fiche-head { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; padding: 18px; border: 1px solid var(--hksdi-panel-line, #e5e7eb); border-radius: 18px; background: var(--hksdi-panel, #fff); margin-bottom: 16px; }
.hksdi-fiche-photo { display: grid; place-items: center; width: 92px; height: 92px; flex: 0 0 92px; border-radius: 16px; overflow: hidden; background: #eef2f7; color: #94a3b8; font-size: 34px; }
.hksdi-fiche-photo img { width: 100%; height: 100%; object-fit: cover; }
.hksdi-fiche-ident { flex: 1 1 240px; min-width: 0; }
.hksdi-fiche-ident h1 { margin: 4px 0 2px; font-size: 24px; line-height: 1.15; }
.hksdi-fiche-ident p { margin: 0 0 8px; color: #64748b; font-size: 12px; }
.hksdi-fiche-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hksdi-plate-chip { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 6px; background: #111827; color: #fff; font-weight: 800; letter-spacing: 1px; font-size: 13px; }
.hksdi-ct-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.hksdi-ct-chip.is-ok   { background: rgba(16,185,129,.14); color: #059669; }
.hksdi-ct-chip.is-soon { background: rgba(245,158,11,.16); color: #b45309; }
.hksdi-ct-chip.is-exp  { background: rgba(220,38,38,.14);  color: #dc2626; }
.hksdi-ct-chip.is-none { background: #eef2f7; color: #64748b; }
.hksdi-fiche-client { flex: 0 0 auto; min-width: 200px; text-align: right; display: flex; flex-direction: column; gap: 2px; }
.hksdi-fiche-client span { font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #94a3b8; }
.hksdi-fiche-client strong { font-size: 14px; color: var(--hksdi-ink, #0f172a); }
.hksdi-fiche-client small { font-size: 11px; color: #64748b; }
.hksdi-fiche-edit { margin-top: 8px; align-self: flex-end; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 9px; background: #eef2f7; color: #334155 !important; font-size: 11px; font-weight: 700; text-decoration: none; }@media (hover:hover){.hksdi-fiche-edit:hover{ background: var(--hksdi-red, #e11d2a); color: #fff !important; }}

.hksdi-fiche-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
@media (max-width: 1100px) { .hksdi-fiche-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px)  { .hksdi-fiche-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hksdi-fiche-stats article { padding: 12px 14px; border: 1px solid var(--hksdi-panel-line, #e5e7eb); border-radius: 13px; background: var(--hksdi-panel, #fff); }
.hksdi-fiche-stats span { display: block; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #94a3b8; margin-bottom: 4px; }
.hksdi-fiche-stats strong { font-size: 16px; color: var(--hksdi-ink, #0f172a); }
.hksdi-fiche-stats .hksdi-vin { font-size: 12px; letter-spacing: .5px; word-break: break-all; }

.hksdi-fiche-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; align-items: start; }
@media (max-width: 980px) { .hksdi-fiche-grid { grid-template-columns: 1fr; } }

/* Frise */
.hksdi-timeline { list-style: none; margin: 0; padding: 0 0 0 6px; position: relative; }
.hksdi-timeline::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 2px; background: #e5e7eb; }
.hksdi-tl-item { position: relative; padding: 0 0 16px 26px; }
.hksdi-tl-dot { position: absolute; left: 0; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: #fff; border: 3px solid var(--hksdi-red, #e11d2a); }
.hksdi-tl-card { border: 1px solid var(--hksdi-panel-line, #e5e7eb); border-radius: 14px; background: var(--hksdi-panel, #fff); padding: 12px 14px; }
.hksdi-tl-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 3px; }
.hksdi-tl-date { font-size: 12px; font-weight: 800; color: var(--hksdi-ink, #0f172a); }
.hksdi-tl-ref { font-size: 10px; font-weight: 700; color: #94a3b8; letter-spacing: .5px; }
.hksdi-tl-type { display: block; font-size: 14px; margin-bottom: 8px; }
.hksdi-tl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hksdi-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: #eef2f7; color: #475569; font-size: 10px; font-weight: 700; }
.hksdi-chip.is-devis   { background: rgba(37,99,235,.10);  color: #2563eb; }
.hksdi-chip.is-facture { background: rgba(16,185,129,.12); color: #059669; }
.hksdi-chip.is-amount  { background: #111827; color: #fff; }
.hksdi-tl-details { margin: 9px 0 0; color: #64748b; font-size: 12px; line-height: 1.5; }
.hksdi-tl-reports { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.hksdi-tl-reports a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 8px; background: #fef2f2; color: #dc2626 !important; font-size: 11px; font-weight: 700; text-decoration: none; }@media (hover:hover){.hksdi-tl-reports a:hover{ background: #fee2e2; }}
.hksdi-timeline-empty { padding: 22px; border: 1px dashed #d5dae3; border-radius: 14px; color: #94a3b8; font-size: 13px; text-align: center; }

/* Entretiens */
.hksdi-maint-list { display: grid; gap: 10px; }
.hksdi-maint-row { border: 1px solid var(--hksdi-panel-line, #e5e7eb); border-radius: 14px; background: var(--hksdi-panel, #fff); padding: 12px 14px; }
.hksdi-maint-row.is-disabled { opacity: .55; }
.hksdi-maint-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.hksdi-maint-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--hksdi-ink, #0f172a); cursor: pointer; }
.hksdi-maint-toggle input { width: 17px; height: 17px; }
.hksdi-maint-badge { padding: 3px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.hksdi-maint-badge.is-ok   { background: rgba(16,185,129,.14); color: #059669; }
.hksdi-maint-badge.is-soon { background: rgba(245,158,11,.16); color: #b45309; }
.hksdi-maint-badge.is-exp  { background: rgba(220,38,38,.14);  color: #dc2626; }
.hksdi-maint-badge.is-none { background: #eef2f7; color: #64748b; }
.hksdi-maint-badge.is-off  { background: #eef2f7; color: #94a3b8; }
.hksdi-maint-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 560px) { .hksdi-maint-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hksdi-maint-fields label { display: flex; flex-direction: column; gap: 4px; font-size: 10px; font-weight: 700; color: #94a3b8; }
.hksdi-maint-fields input { width: 100%; padding: 7px 9px; border: 1px solid #dbe1ea; border-radius: 9px; font-size: 12px; box-sizing: border-box; }
.hksdi-maint-fields input:focus { outline: 3px solid rgba(225,29,42,.10); border-color: var(--hksdi-red, #e11d2a); }
.hksdi-maint-next { margin-top: 9px; font-size: 11px; color: #64748b; }
.hksdi-maint-next strong { color: var(--hksdi-ink, #0f172a); }
.hksdi-maint-actions { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.hksdi-primary-button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 0; border-radius: 11px; background: var(--hksdi-red, #e11d2a); color: #fff; font-weight: 700; font-size: 13px; cursor: pointer; }@media (hover:hover){.hksdi-primary-button:hover{ filter: brightness(.94); }}
.hksdi-primary-button:disabled { opacity: .6; cursor: default; }
.hksdi-maint-status { font-size: 12px; font-weight: 700; }
.hksdi-maint-status.is-ok { color: #059669; }
.hksdi-maint-status.is-error { color: #dc2626; }
.hksdi-fiche-link i { margin-right: 4px; }

/* =========================================================================
   HKS Dashboard 1.7.0 — Fiche véhicule en blanc + cartes entretien/réparation
   ========================================================================= */
/* En-tête, tuiles et frise : fond blanc, texte foncé (au lieu du sombre) */
.hksdi-fiche-head { background: #fff !important; border-color: #e5e7eb !important; }
.hksdi-fiche-ident h1 { color: #0f172a !important; }
.hksdi-fiche-ident p { color: #64748b !important; }
.hksdi-fiche-photo { background: #f1f5f9; color: #94a3b8; }
.hksdi-fiche-client span { color: #94a3b8 !important; }
.hksdi-fiche-client strong { color: #0f172a !important; }
.hksdi-fiche-client small { color: #64748b !important; }
.hksdi-fiche-stats article { background: #fff !important; border-color: #e5e7eb !important; }
.hksdi-fiche-stats strong { color: #0f172a !important; }
.hksdi-fiche-stats span { color: #94a3b8 !important; }
.hksdi-tl-card { background: #fff !important; border-color: #e5e7eb !important; }
.hksdi-tl-date, .hksdi-tl-type { color: #0f172a !important; }

/* Barre d'action + cartes */
.hksdi-maint-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.hksdi-maint-list { display: grid; gap: 10px; }
.hksdi-maint-card { border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; padding: 14px; }
.hksdi-maint-card.is-editing { border-color: #c7d2fe; box-shadow: 0 0 0 3px rgba(37,99,235,.08); }
.hksdi-maint-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.hksdi-maint-title { font-size: 14px; color: #0f172a; }
.hksdi-maint-summary { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; color: #64748b; font-size: 12px; }
.hksdi-maint-summary strong { color: #0f172a; }
.hksdi-maint-summary i { width: 14px; color: #94a3b8; }
.hksdi-maint-note { font-style: italic; }
.hksdi-maint-card-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; align-items: center; }
.hksdi-mini-button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid #e5e7eb; border-radius: 9px; background: #fff; color: #334155; font-size: 12px; font-weight: 700; cursor: pointer; }@media (hover:hover){.hksdi-mini-button:hover{ background: #f1f5f9; }}
.hksdi-mini-button.is-danger { color: #dc2626; border-color: #fecaca; }@media (hover:hover){.hksdi-mini-button.is-danger:hover{ background: #fef2f2; }}
.hksdi-maint-edit { display: grid; gap: 10px; }
.hksdi-maint-edit .hksdi-maint-full { display: flex; flex-direction: column; gap: 4px; font-size: 10px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.hksdi-maint-edit select, .hksdi-maint-edit input { width: 100%; padding: 9px 10px; border: 1px solid #dbe1ea; border-radius: 9px; font-size: 13px; box-sizing: border-box; background: #fff; color: #0f172a; text-transform: none; }
.hksdi-maint-edit select:focus, .hksdi-maint-edit input:focus { outline: 3px solid rgba(225,29,42,.10); border-color: var(--hksdi-red, #e11d2a); }
.hksdi-maint-empty { padding: 22px; border: 1px dashed #d5dae3; border-radius: 14px; color: #94a3b8; font-size: 13px; text-align: center; }
.hksdi-maint-empty i { margin-right: 6px; }

/* =========================================================================
   HKS Dashboard 1.7.1 — Tuiles de synthèse du parc en blanc
   ========================================================================= */
.hksdi-fleet-tile { background: #fff !important; border-color: #e5e7eb !important; }
.hksdi-fleet-tile strong { color: #0f172a !important; }
.hksdi-fleet-tile span { color: #64748b !important; }

/* =========================================================================
   HKS Dashboard 1.8.0 — Assistant "Créer un véhicule" (multi-étapes)
   ========================================================================= */
.hksdi-veh-toolbar { margin: 0 0 14px; }
.hksdi-veh-wizard { margin: 0 0 18px; padding: 18px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; }
.hksdi-veh-wizard[hidden] { display: none; }
.hksdi-wz-head { margin-bottom: 16px; }
.hksdi-wz-titlerow { display: flex; align-items: center; justify-content: space-between; }
.hksdi-wz-titlerow h2 { margin: 0; font-size: 18px; color: #0f172a; }
.hksdi-wz-close { width: 32px; height: 32px; border: 0; border-radius: 8px; background: #f1f5f9; color: #475569; font-size: 20px; line-height: 1; cursor: pointer; }@media (hover:hover){.hksdi-wz-close:hover{ background: #e2e8f0; }}
.hksdi-wz-progress { height: 7px; margin: 12px 0 6px; border-radius: 999px; background: #eef2f7; overflow: hidden; }
.hksdi-wz-fill { display: block; height: 100%; width: 25%; border-radius: 999px; background: var(--hksdi-red, #e11d2a); transition: width .25s ease; }
.hksdi-wz-steplabel { font-size: 11px; font-weight: 700; color: #94a3b8; }
.hksdi-wz-step { display: none; }
.hksdi-wz-step.is-active { display: block; }
.hksdi-wz-steptitle { margin: 0 0 12px; font-size: 14px; color: #0f172a; }
.hksdi-wz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .hksdi-wz-grid { grid-template-columns: 1fr; } }
.hksdi-wz-grid label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; font-weight: 700; color: #475569; }
.hksdi-wz-grid label.is-wide { grid-column: 1 / -1; }
.hksdi-wz-grid input, .hksdi-wz-grid select { width: 100%; padding: 9px 11px; border: 1px solid #dbe1ea; border-radius: 9px; font-size: 13px; box-sizing: border-box; background: #fff; color: #0f172a; }
.hksdi-wz-grid input:focus, .hksdi-wz-grid select:focus { outline: 3px solid rgba(225,29,42,.10); border-color: var(--hksdi-red, #e11d2a); }
.hksdi-wz-check { flex-direction: row !important; align-items: center; gap: 9px; }
.hksdi-wz-check input { width: 18px; height: 18px; }
.hksdi-wz-hint { margin: 12px 0 0; font-size: 11px; color: #94a3b8; font-style: italic; }
.hksdi-wz-actions { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #f1f5f9; }
.hksdi-wz-spacer { flex: 1; }
.hksdi-wz-actions .hksdi-primary-button[hidden] { display: none; }

/* Masquer le formulaire de création + le suivi global dupliqués du plugin dans la vue parc */
.hksdi-shortcode-panel--vehicles #hks-admin-create,
.hksdi-shortcode-panel--vehicles .hks-admin-services { display: none !important; }
.hksdi-shortcode-panel--vehicles .hks-panel-head a[href="#hks-admin-create"] { display: none !important; }

/* =========================================================================
   HKS Dashboard 1.8.1 — Alignement barre du haut : la recherche, la cloche
   et « Nouvelle intervention » à la même hauteur (haut et bas alignés).
   ========================================================================= */
.hksdi-topbar { align-items: center !important; }
.hksdi-topbar .hksdi-top-actions { align-items: center !important; }
.hksdi-topbar .hksdi-search { display: flex; align-items: center; height: 44px; }
.hksdi-topbar .hksdi-search input,
.hksdi-topbar .hksdi-bell > summary,
.hksdi-topbar .hksdi-new-button {
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}
.hksdi-topbar .hksdi-sidebar-toggle,
.hksdi-topbar .hksdi-bell > summary { width: 44px !important; }

/* =========================================================================
   HKS Dashboard 1.8.2 — Recentrage vertical strict de la barre de recherche
   sur la même ligne que la cloche et « Nouvelle intervention ».
   ========================================================================= */
.hksdi-topbar { display: flex !important; align-items: center !important; }
.hksdi-topbar > .hksdi-topbar-title,
.hksdi-topbar > .hksdi-search,
.hksdi-topbar > .hksdi-top-actions {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.hksdi-topbar > .hksdi-search {
  display: flex !important;
  align-items: center !important;
  height: 44px !important;
}
.hksdi-topbar .hksdi-search input {
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  align-self: center !important;
  line-height: normal !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
.hksdi-topbar .hksdi-top-actions {
  display: flex !important;
  align-items: center !important;
  height: 44px !important;
}
.hksdi-topbar .hksdi-bell,
.hksdi-topbar .hksdi-bell > summary,
.hksdi-topbar .hksdi-new-button {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Neutraliser le rendu natif du champ de recherche (WebKit) qui décale la hauteur */
.hksdi-topbar .hksdi-search input[type="search"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-box-sizing: border-box !important;
}
.hksdi-topbar .hksdi-search input[type="search"]::-webkit-search-decoration,
.hksdi-topbar .hksdi-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* =========================================================================
   HKS Dashboard 1.9.0 — QR code carnet d'entretien + étiquettes imprimables
   ========================================================================= */
.hksdi-qr-card { display: flex; align-items: center; gap: 18px; margin: 0 0 18px; padding: 16px 18px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; }
.hksdi-qr-svg { flex: 0 0 auto; }
.hksdi-qr-svg svg { display: block; width: 184px; height: 184px; border-radius: 8px; }
.hksdi-qr-body { min-width: 0; }
.hksdi-qr-body h2 { margin: 3px 0 4px; font-size: 16px; color: #0f172a; }
.hksdi-qr-body p { margin: 0 0 12px; font-size: 12px; color: #64748b; }
.hksdi-qr-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 560px) { .hksdi-qr-card { flex-direction: column; align-items: flex-start; } }

/* Étiquettes QR */
.hksdi-labels-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.hksdi-labels-hint { font-size: 12px; color: #94a3b8; }
.hksdi-labels-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.hksdi-label { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 14px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
.hksdi-label-head strong { font-size: 15px; font-weight: 800; letter-spacing: 1px; color: #111318; }
.hksdi-label-head strong span { color: var(--hksdi-red, #e11d2a); }
.hksdi-label-head small { display: block; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.hksdi-label-qr svg { display: block; width: 150px; height: 150px; }
.hksdi-label-veh strong { display: block; font-size: 13px; color: #0f172a; }
.hksdi-label-plate { display: inline-block; margin-top: 4px; padding: 3px 10px; border-radius: 5px; background: #111318; color: #fff; font-weight: 800; letter-spacing: 1px; font-size: 12px; }
.hksdi-label-foot { font-size: 10px; color: #64748b; }

/* Impression : ne garder que les étiquettes */
@media print {
  .hksdi-sidebar, .hksdi-topbar, .hksdi-no-print { display: none !important; }
  .hksdi-shell, .hksdi-main, .hksdi-content { display: block !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
  .hksdi-labels-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .hksdi-label { break-inside: avoid; border: 1px solid #cbd2dc; }
}

/* QR rendu côté client (qrcodejs -> canvas/img) : dimensionnement */
.hksdi-qr-svg canvas, .hksdi-qr-svg img { display: block; width: 184px !important; height: 184px !important; border-radius: 8px; }
.hksdi-qr-svg table { display: none !important; }
.hksdi-label-qr canvas, .hksdi-label-qr img { display: block; width: 150px !important; height: 150px !important; }
.hksdi-label-qr table { display: none !important; }

/* Impression étiquette carnet via le pont local (statut) */
.hksdi-carnet-bridge-status{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:#64748b}
.hksdi-carnet-bridge-status.is-pending{color:#b45309}
.hksdi-carnet-bridge-status.is-success{color:#059669}
.hksdi-carnet-bridge-status.is-error{color:#dc2626}
@media print{.hksdi-carnet-bridge-status{display:none!important}}

/* Frise : marqueur d'un entretien/réparation réalisé */
.hksdi-chip.is-maint{background:#eef2ff;color:#4338ca}

/* Frise : liste des entretiens regroupés le même jour */
.hksdi-tl-maint{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.hksdi-tl-maint li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#334155;line-height:1.35}
.hksdi-tl-maint li i{margin-top:2px;color:#4338ca;font-size:11px}
.hksdi-tl-maint li strong{color:#0f172a;font-weight:700}

/* Espace client : bandeau identité au-dessus du contenu */
.hksec-identity{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:18px;border:1px solid var(--hksdi-border);border-radius:16px;background:#fff}
.hksec-identity img{width:46px;height:46px;border-radius:13px}
.hksec-identity-main{display:flex;flex-direction:column}
.hksec-identity-main span,.hksec-identity-num span{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}
.hksec-identity-main strong,.hksec-identity-num strong{font-size:15px;color:#0f172a}
.hksec-identity-num{display:flex;flex-direction:column;padding-left:14px;border-left:1px solid var(--hksdi-border)}
.hksec-identity-logout{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--hksdi-border);border-radius:10px;color:#334155;font-weight:700;font-size:12px;text-decoration:none}@media (hover:hover){.hksec-identity-logout:hover{border-color:#e30613;color:#e30613}}
@media(max-width:600px){.hksec-identity{flex-wrap:wrap}.hksec-identity-logout{margin-left:0}}

/* Espace client : carte client moderne (badge + fidélité) */
.hksec-sideclient{position:relative;overflow:hidden;margin:2px 0 12px;padding:17px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:linear-gradient(145deg,#1c242d 0%,#151b22 78%);box-shadow:0 10px 24px rgba(0,0,0,.18);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}@media (hover:hover){.hksec-sideclient:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.14);box-shadow:0 16px 34px rgba(0,0,0,.24)}}
.hksec-sideclient:before{content:"";position:absolute;top:-65px;right:-55px;width:140px;height:140px;border-radius:50%;background:#f10c22;opacity:.09;filter:blur(12px)}
.hksec-sideclient:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,transparent 0%,#5d030a 12%,#d2091b 34%,#ff5360 50%,#ba0716 68%,#510208 88%,transparent 100%);box-shadow:0 -1px 7px rgba(241,12,34,.24);opacity:.9}
.hksec-profile{position:relative;display:flex;align-items:center;gap:13px}
.hksec-avatar{position:relative;flex:0 0 46px;width:46px;height:46px}
.hksec-avatar img{display:block;width:46px;height:46px;border:1px solid rgba(255,255,255,.72);border-radius:50%;object-fit:cover;background:#d9dde2}
.hksec-avatar:after{content:"";position:absolute;right:0;bottom:1px;width:9px;height:9px;border:2px solid #19212a;border-radius:50%;background:#29ca77}
.hksec-sideclient-info{min-width:0}
.hksec-sideclient-info strong{display:block;overflow:hidden;color:#fff;font-size:13px;font-weight:800;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}
.hksec-sideclient-info small{display:block;margin-top:5px;color:#8995a2;font-size:8px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.hksec-points{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.075);background:transparent}
.hksec-points-label{display:flex;align-items:center;gap:7px;color:#8995a2;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.hksec-star{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(241,12,34,.13);color:#ffd65a;font-size:10px;font-style:normal}
.hksec-points b{padding:5px 8px;border:1px solid rgba(241,12,34,.28);border-radius:7px;background:rgba(241,12,34,.1);color:#fff;font-size:11px;font-weight:850;white-space:nowrap}
.hksec-logout{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 6px;padding:10px;border-radius:11px;border:1px solid rgba(255,255,255,.16);color:#c6cdd8;font-weight:700;font-size:12px;text-decoration:none}@media (hover:hover){.hksec-logout:hover{border-color:#e30613;color:#fff;background:rgba(227,6,19,.12)}}

/* Carte client v1.11.8 : contour rouge (même épaisseur) */
.hksec-sideclient{border-color:#e3061385}

/* Fiche véhicule v1.11.9 : point de la frise centré verticalement à gauche de la carte */
.hksdi-tl-dot{top:50%;transform:translateY(-50%)}

/* Espace client v1.12.1 : Mes rendez-vous (liste + formulaire révélé au clic) */
.hksec-rdv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.hksec-rdv-toolbar h2{margin:0;font-size:20px}
.hksec-rdv-list{display:grid;gap:10px}
.hksec-rdv-item{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--hksdi-border);border-radius:14px;background:#fff}
.hksec-rdv-date{flex:0 0 auto;text-align:center;min-width:66px;padding-right:14px;border-right:1px solid var(--hksdi-border)}
.hksec-rdv-date strong{display:block;font-size:14px;color:#0f172a}
.hksec-rdv-date span{font-size:12px;color:#64748b}
.hksec-rdv-main{flex:1;min-width:0}
.hksec-rdv-main strong{display:block;color:#0f172a}
.hksec-rdv-main small{color:#64748b;font-size:12px}
.hksec-rdv-status{flex:0 0 auto;font-size:11px;font-weight:800;padding:4px 11px;border-radius:999px;white-space:nowrap}
.hksec-rdv-status.is-ok{background:#dcfce7;color:#166534}
.hksec-rdv-status.is-soon{background:#fef3c7;color:#92400e}
.hksec-rdv-status.is-exp{background:#fee2e2;color:#991b1b}
.hksec-rdv-status.is-none{background:#eef2f7;color:#475569}
.hksec-rdv-empty{padding:26px;border:1px dashed var(--hksdi-border);border-radius:14px;color:#94a3b8;text-align:center}
.hksec-rdv-form{margin-top:18px}
.hksec-rdv-form[hidden]{display:none}
[data-hksec-rdv-open].is-active{filter:brightness(.9)}

/* Espace client v1.13.0 : cloche de notifications */
.hksec-bell{position:relative}
.hksec-bell>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--hksdi-border);background:#fff;color:#334155;position:relative}
.hksec-bell>summary::-webkit-details-marker{display:none}@media (hover:hover){.hksec-bell>summary:hover{color:#e30613;border-color:#e30613}}
.hksec-bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e30613;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center}
.hksec-bell-menu{position:absolute;right:0;top:52px;z-index:60;width:min(350px,86vw);border:1px solid var(--hksdi-border);border-radius:14px;background:#fff;box-shadow:0 22px 54px rgba(15,23,42,.2);overflow:hidden}
.hksec-bell-head{padding:12px 16px;font-weight:800;border-bottom:1px solid var(--hksdi-border)}
.hksec-bell-list{max-height:370px;overflow:auto}
.hksec-bell-item{display:flex;gap:11px;padding:11px 16px;border-bottom:1px solid #f1f5f9}
.hksec-bell-item:last-child{border-bottom:0}
.hksec-bell-item i{margin-top:2px;width:16px;text-align:center;color:#64748b}
.hksec-bell-item strong{display:block;font-size:13px;color:#0f172a}
.hksec-bell-item small{color:#64748b;font-size:12px}
.hksec-bell-item.is-danger i{color:#dc2626}
.hksec-bell-item.is-warn i{color:#d97706}
.hksec-bell-item.is-info i{color:#2563eb}
.hksec-bell-item.is-ok i{color:#059669}
.hksec-bell-empty{padding:22px 16px;color:#94a3b8;text-align:center;font-size:13px}
@media(max-width:600px){.hksec-bell-menu{right:auto;left:0}}

/* =========================================================================
   HKS Dashboard 1.13.2 — Espace client : cloche alignée à gauche +
   bouton pour masquer/afficher la barre latérale.
   ========================================================================= */
.hksec-shell .hksdi-topbar{gap:12px}
.hksec-shell .hksdi-sidebar-toggle{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid var(--hksdi-border);border-radius:11px;background:#fff;color:#334155;cursor:pointer;transition:.15s ease}@media (hover:hover){.hksec-shell .hksdi-sidebar-toggle:hover{color:#e30613;border-color:#e30613}}
.hksec-shell .hksdi-sidebar-toggle i{transition:transform .2s ease}
.hksec-shell.is-sidebar-hidden .hksdi-sidebar-toggle i{transform:rotate(180deg)}
/* Bouton masquer à gauche, titre ensuite, cloche alignée tout à droite */
.hksec-shell .hksdi-topbar-title{order:1;margin-left:2px}
.hksec-shell .hksdi-top-actions{order:2;margin-left:auto;margin-right:0}
/* Masquer la barre latérale : une seule colonne pleine largeur pour le contenu */
.hksec-shell.is-sidebar-hidden{grid-template-columns:minmax(0,1fr)}
.hksec-shell.is-sidebar-hidden .hksdi-sidebar{display:none}
.hksec-shell.is-sidebar-hidden .hksdi-main{grid-column:1/-1}
@media(max-width:900px){.hksec-shell .hksdi-sidebar-toggle{display:none}.hksec-shell.is-sidebar-hidden{display:block}.hksec-shell.is-sidebar-hidden .hksdi-sidebar{display:none}}
@media(max-width:640px){.hksec-shell .hksdi-top-actions{margin-left:auto}}

/* ── Onglet Fournisseurs : commandes & solde à payer ───────────────────── */
.hksdi-sup-due { color: #059669; font-weight: 800; }
.hksdi-sup-due.is-open { color: #dc2626; }
.hksdi-pay-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.hksdi-pay-badge.is-paid { background: rgba(16,185,129,.14); color: #059669; }
.hksdi-pay-badge.is-unpaid { background: rgba(220,38,38,.12); color: #dc2626; }
.hksdi-pay-form { margin: 0; }
.hksdi-mini-button.is-pay { color: #047857; border-color: #a7f3d0; }@media (hover:hover){.hksdi-mini-button.is-pay:hover{ background: #ecfdf5; }}

/* ── Fournisseurs : actions de ligne, modales, formulaires ─────────────── */
.hksdi-row-actions { display: flex; gap: 6px; align-items: center; }
.hksdi-row-actions .hksdi-pay-form { margin: 0; }

body.hksdi-modal-open { overflow: hidden; }
.hksdi-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
.hksdi-modal[hidden] { display: none; }
/* Neutralise une règle historique « .hksdi-modal { opacity:0 } » (autre composant) qui rendait ces modales invisibles. */
.hksdi-modal[data-hksdi-modal] { opacity: 1 !important; visibility: visible !important; transform: none !important; transition: none !important; pointer-events: auto !important; }
.hksdi-modal[data-hksdi-modal][hidden] { display: none !important; }
.hksdi-modal-backdrop { position: fixed; inset: 0; background: rgba(15,23,42,.55); }
.hksdi-modal-panel { position: relative; width: 100%; max-width: 720px; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(15,23,42,.35); }
.hksdi-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid #e5e7eb; }
.hksdi-modal-head h2 { margin: 0; font-size: 17px; color: #0f172a; }
.hksdi-modal-x { border: 0; background: transparent; font-size: 26px; line-height: 1; color: #64748b; cursor: pointer; }@media (hover:hover){.hksdi-modal-x:hover{ color: #dc2626; }}
.hksdi-modal-body { padding: 20px 22px; }

.hksdi-import-box { border: 1px dashed #cbd5e1; border-radius: 12px; padding: 14px 16px; margin-bottom: 18px; background: #f8fafc; }
.hksdi-import-label { display: block; font-weight: 700; font-size: 13px; color: #334155; margin-bottom: 8px; }
.hksdi-import-label input[type="file"] { display: block; margin-top: 8px; font-weight: 400; }
.hksdi-import-hint { margin: 8px 0 0; font-size: 11px; color: #94a3b8; }
.hksdi-analyze-status { margin: 8px 0 0; font-size: 12px; font-weight: 600; min-height: 16px; }
.hksdi-analyze-status.is-loading { color: #2563eb; }
.hksdi-analyze-status.is-ok { color: #059669; }
.hksdi-analyze-status.is-error { color: #dc2626; }

.hksdi-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.hksdi-form-grid label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 700; color: #334155; }
.hksdi-form-grid label.is-wide, .hksdi-form-grid .is-wide { grid-column: 1 / -1; }
.hksdi-form-grid input, .hksdi-form-grid select, .hksdi-form-grid textarea { padding: 9px 11px; border: 1px solid #d8dee6; border-radius: 9px; font-size: 13px; font-weight: 500; font-family: inherit; }
.hksdi-form-grid label.hksdi-check { flex-direction: row; align-items: center; gap: 8px; font-weight: 600; }
.hksdi-form-grid label.hksdi-check input { width: auto; }
.hksdi-lines-head { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 700; color: #334155; margin-bottom: 8px; }
.hksdi-line-row { display: grid; grid-template-columns: 1fr 90px 110px 40px; gap: 8px; margin-bottom: 8px; }
.hksdi-line-row input { padding: 8px 10px; border: 1px solid #d8dee6; border-radius: 8px; font-size: 13px; }
.hksdi-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 4px; }
.hksdi-form-actions a[data-hksdi-pdf-link] { font-size: 12px; font-weight: 700; color: #2563eb; text-decoration: none; }
@media (max-width: 640px) { .hksdi-form-grid { grid-template-columns: 1fr; } .hksdi-line-row { grid-template-columns: 1fr 70px 90px 36px; } }

/* ── Détails d'entretien : un par ligne (frise + carnet) ───────────────── */
.hksdi-tl-notes { list-style: disc; margin: 4px 0 2px; padding-left: 18px; }
.hksdi-tl-notes li { display: list-item; font-size: 12.5px; font-weight: 500; color: #475569; line-height: 1.5; margin: 1px 0; }
.hksdi-tl-notes--block { margin-top: 6px; }
.hksdi-maint-note .hksdi-tl-notes { margin-top: 2px; }

/* ── Espace client : Mes dépenses ──────────────────────────────────────── */
.hksec-expenses { display: flex; flex-direction: column; gap: 16px; }
.hksec-gran { display: inline-flex; gap: 4px; background: #eef2f7; border-radius: 10px; padding: 4px; width: fit-content; }
.hksec-gran-btn { padding: 7px 16px; border-radius: 8px; font-size: 13px; font-weight: 700; color: #475569; text-decoration: none; }
.hksec-gran-btn.is-active { background: #fff; color: #0f172a; box-shadow: 0 1px 3px rgba(15,23,42,.12); }
.hksec-exp-card { padding: 18px; }
.hksec-exp-head { font-size: 14px; color: #0f172a; margin-bottom: 14px; }
.hksec-bars { display: flex; align-items: flex-end; gap: 8px; height: 200px; padding-top: 18px; overflow-x: auto; }
.hksec-bar { flex: 1 1 0; min-width: 34px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; position: relative; }
.hksec-bar-fill { width: 60%; max-width: 40px; background: linear-gradient(180deg, #e11d2a, #b3111c); border-radius: 6px 6px 0 0; transition: height .3s ease; min-height: 2px; }
.hksec-bar-val { font-size: 10px; font-weight: 700; color: #334155; margin-bottom: 4px; white-space: nowrap; }
.hksec-bar-label { font-size: 11px; color: #64748b; margin-top: 6px; white-space: nowrap; }
.hksec-due { color: #dc2626; }

/* ---- 1.23.0 : bouton et fenêtre « À déclarer » (URSSAF) ---- */
.hksdi-urssaf-button { background: #0f172a; border-color: #0f172a; }@media (hover:hover){.hksdi-urssaf-button:hover{ background: #1e293b; border-color: #1e293b; }}
.hksdi-urssaf-panel { max-width: 680px; }
.hksdi-urssaf-panel .hksdi-modal-title i { margin-right: 8px; color: #e30613; }
.hksdi-urssaf-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.hksdi-urssaf-switch { display: inline-flex; padding: 3px; border-radius: 10px; background: #f1f5f9; }
.hksdi-urssaf-switch button { border: 0; border-radius: 8px; padding: 8px 16px; background: transparent; font: 700 12px Inter, sans-serif; color: #475569; cursor: pointer; }
.hksdi-urssaf-switch button.is-active { background: #fff; color: #0f172a; box-shadow: 0 1px 3px rgba(15,23,42,.16); }
.hksdi-urssaf-select { display: flex; flex-direction: column; gap: 5px; }
.hksdi-urssaf-select span { font-size: 10px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #64748b; }
.hksdi-urssaf-select select { min-width: 190px; padding: 9px 11px; border: 1px solid #dbe1ea; border-radius: 10px; background: #fff; font: 600 13px Inter, sans-serif; color: #0f172a; }
.hksdi-urssaf-intro { margin: 0 0 16px; padding: 13px 15px; border-radius: 12px; background: #eff6ff; color: #1e3a5f; font-size: 13px; line-height: 1.6; }
.hksdi-urssaf-chip { display: inline-block; margin-left: 4px; padding: 3px 10px; border-radius: 99px; background: #dbeafe; color: #1d4ed8; font-size: 11px; font-weight: 700; white-space: nowrap; }
.hksdi-urssaf-chip.is-warn { background: #fef3c7; color: #92400e; }
.hksdi-urssaf-fields { display: grid; gap: 10px; }
.hksdi-urssaf-field { padding: 14px 16px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.hksdi-urssaf-flabel { display: block; font-size: 13px; font-weight: 700; color: #0f172a; line-height: 1.45; }
.hksdi-urssaf-fvalue { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.hksdi-urssaf-fvalue strong { font-size: 26px; font-weight: 800; color: #0f172a; font-variant-numeric: tabular-nums; }
.hksdi-urssaf-copy { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border: 1px solid #dbe1ea; border-radius: 9px; background: #f8fafc; font: 700 12px Inter, sans-serif; color: #334155; cursor: pointer; white-space: nowrap; }@media (hover:hover){.hksdi-urssaf-copy:hover{ border-color: #94a3b8; background: #f1f5f9; }}
.hksdi-urssaf-copy.is-done { border-color: #16a34a; background: #dcfce7; color: #15803d; }
.hksdi-urssaf-field small { display: block; margin-top: 6px; color: #64748b; font-size: 11px; }
.hksdi-urssaf-total { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 14px; padding: 14px 16px; border-radius: 12px; background: #0f172a; color: #fff; }
.hksdi-urssaf-total div { display: flex; align-items: baseline; gap: 12px; }
.hksdi-urssaf-total span { font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #cbd5e1; }
.hksdi-urssaf-total strong { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.hksdi-urssaf-total small { color: #94a3b8; font-size: 11px; }
.hksdi-urssaf-due { margin-top: 14px; padding: 15px 16px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fafafa; }
.hksdi-urssaf-due h3 { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #64748b; }
.hksdi-urssaf-due ul { margin: 0; padding: 0; list-style: none; }
.hksdi-urssaf-due li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 13px; color: #334155; }
.hksdi-urssaf-due li strong { font-variant-numeric: tabular-nums; color: #0f172a; }
.hksdi-urssaf-due-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 11px; border-top: 1px solid #e2e8f0; }
.hksdi-urssaf-due-total span { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: #475569; }
.hksdi-urssaf-due-total strong { font-size: 20px; font-weight: 800; color: #e30613; font-variant-numeric: tabular-nums; }
.hksdi-urssaf-note { margin: 14px 0 0; color: #64748b; font-size: 11px; line-height: 1.65; }
.hksdi-urssaf-note i { margin-right: 5px; color: #94a3b8; }
.hksdi-urssaf-empty { padding: 26px 10px; text-align: center; color: #64748b; font-size: 13px; }
@media (max-width: 560px) {
  .hksdi-urssaf-top { flex-direction: column; align-items: stretch; }
  .hksdi-urssaf-select select { width: 100%; }
  .hksdi-urssaf-fvalue { flex-direction: column; align-items: flex-start; gap: 8px; }
  .hksdi-urssaf-total { flex-direction: column; align-items: flex-start; }
}

/* ---- 1.24.0 : en-têtes de section dans la barre latérale ---- */
.hksdi-nav-section {
    display: flex;
    align-items: center;
    margin: 15px 0 5px;
    padding: 0 12px;
    color: #E4032E; /* titres de section en rouge de marque (gérant + espace client) */
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 1.3px;
    line-height: 1.2;
    text-transform: uppercase;
    user-select: none;
}
.hksdi-nav-section:first-child { margin-top: 2px; }
.hksdi-nav-section span { white-space: nowrap; }
/* Barre repliée : le titre laisse place à un simple filet de séparation. */
.hksdi-shell.is-sidebar-collapsed .hksdi-nav-section {
    height: 1px;
    margin: 11px 10px;
    padding: 0;
    background: var(--hksdi-border, #e5e7eb);
}
.hksdi-shell.is-sidebar-collapsed .hksdi-nav-section:first-child { margin-top: 4px; }
.hksdi-shell.is-sidebar-collapsed .hksdi-nav-section span { display: none; }

/* ---- 1.25.0 : retours de pièce fournisseur ---- */
.hksdi-order-returned { display: block; margin-top: 2px; color: #b45309; font-size: 10px; white-space: nowrap; }
.hksdi-return-order { margin: 0 0 12px; padding: 9px 12px; border-radius: 9px; background: #f1f5f9; color: #334155; font-size: 12px; font-weight: 700; }
.hksdi-return-list { margin-bottom: 14px; }
.hksdi-return-empty { margin: 0; color: #94a3b8; font-size: 12px; font-style: italic; }
.hksdi-return-items { margin: 0; padding: 0; list-style: none; border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; }
.hksdi-return-items li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-bottom: 1px solid #f1f5f9; font-size: 12px; color: #334155; }
.hksdi-return-items li:last-child { border-bottom: 0; }
.hksdi-return-items strong { color: #b45309; white-space: nowrap; }
.hksdi-return-hint { margin: 12px 0 0; color: #64748b; font-size: 11px; }

/* ---- 1.27.0 : détail dépliable d'une commande fournisseur ---- */
.hksdi-order-detail > td { padding: 0; background: #f8fafc; border-top: 0; }
.hksdi-detail-cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 22px; padding: 16px 18px; }
.hksdi-detail-block h4 { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #64748b; }
.hksdi-detail-block h4 i { color: #94a3b8; }
.hksdi-detail-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; }
.hksdi-detail-table th { padding: 7px 10px; background: #f1f5f9; font-size: 10px; font-weight: 800; text-transform: uppercase; color: #64748b; text-align: left; }
.hksdi-detail-table th:not(:first-child), .hksdi-detail-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.hksdi-detail-table td { padding: 7px 10px; border-top: 1px solid #f1f5f9; font-size: 12px; color: #334155; }
.hksdi-detail-empty { margin: 0; color: #94a3b8; font-size: 12px; font-style: italic; }
.hksdi-detail-notes { margin: 9px 0 0; color: #475569; font-size: 11px; }
.hksdi-detail-returns { margin: 0; padding: 0; list-style: none; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; overflow: hidden; }
.hksdi-detail-returns li { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-top: 1px solid #f1f5f9; font-size: 12px; }
.hksdi-detail-returns li:first-child { border-top: 0; }
.hksdi-detail-returns li > span { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.hksdi-detail-returns li small { color: #94a3b8; font-size: 10px; }
.hksdi-detail-returns li b { color: #b45309; white-space: nowrap; }
.hksdi-detail-returns form { margin: 0; }
.hksdi-detail-total { margin: 9px 0 0; font-size: 11px; color: #475569; }
@media (max-width: 900px) { .hksdi-detail-cols { grid-template-columns: 1fr; } }

/* ---- 1.29.0 : retours de pièce dans la fenêtre de modification ---- */
.hksdi-order-returns { margin-top: 18px; padding-top: 16px; border-top: 1px dashed #dbe1ea; }
.hksdi-order-returns[hidden] { display: none; }
.hksdi-order-returns-head { display: flex; align-items: center; gap: 7px; margin-bottom: 9px; font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #64748b; }
.hksdi-order-returns-head i { color: #b45309; }
.hksdi-order-returns .hksdi-detail-returns li { padding: 8px 11px; }
.hksdi-order-returns .hksdi-return-hint { margin-top: 9px; }

/* --- Fournisseurs : onglets Commandes / Carnet, filtres, regroupement --- */
.hksdi-sup-tabs { display: inline-flex; gap: 4px; margin: 0 0 18px; padding: 4px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.hksdi-sup-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 8px 16px; border: 0; border-radius: 9px; background: transparent; color: #475569; font-size: 12px; font-weight: 800; cursor: pointer; }
.hksdi-sup-tab:hover { background: #f1f5f9; color: #0f172a; }
.hksdi-sup-tab.is-active { background: #111; color: #fff; }
.hksdi-sup-tab-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #eef2f7; color: #475569; font-size: 10px; }
.hksdi-sup-tab.is-active .hksdi-sup-tab-count { background: rgba(255,255,255,.18); color: #fff; }
[data-hksdi-sup-panel][hidden] { display: none; }
.hksdi-sup-result { margin: 4px 0 0; color: #64748b; font-size: 11px; font-weight: 600; }
.hksdi-sup-filters { display: grid; grid-template-columns: minmax(200px, 1.6fr) repeat(6, minmax(0, 1fr)); gap: 10px; padding: 14px 18px; border-bottom: 1px solid #eef0f4; background: #fafbfc; }
.hksdi-sup-filters label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: #8992a5; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hksdi-sup-filters select, .hksdi-sup-filters input { width: 100%; height: 36px; padding: 6px 10px; border: 1px solid #d6dbe2; border-radius: 9px; background: #fff; color: #334155; font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.hksdi-sup-filters select:focus, .hksdi-sup-filters input:focus { outline: 0; border-color: #111; box-shadow: 0 0 0 3px rgba(17,17,17,.08); }
.hksdi-sup-search { position: relative; }
.hksdi-sup-search i { position: absolute; left: 11px; bottom: 12px; color: #94a3b8; font-size: 12px; pointer-events: none; }
.hksdi-sup-search input { padding-left: 32px; }
.hksdi-sup-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 18px; border-bottom: 1px solid #eef0f4; }
.hksdi-sup-chips[hidden] { display: none; }
.hksdi-sup-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 10px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; color: #475569; font-size: 11px; font-weight: 700; }
.hksdi-sup-chip b { color: #0f172a; }
.hksdi-sup-chip button { display: grid; place-items: center; width: 18px; height: 18px; border: 0; border-radius: 50%; background: #eef2f7; color: #64748b; font-size: 12px; line-height: 1; cursor: pointer; }
.hksdi-sup-chip button:hover { background: #dc2626; color: #fff; }
.hksdi-sup-order[hidden], .hksdi-sup-group[hidden], [data-hksdi-sup-empty][hidden], .hksdi-sup-tfoot[hidden], [data-hksdi-sup-reset][hidden] { display: none !important; }
.hksdi-sup-group .hksdi-group-row { cursor: pointer; }
.hksdi-sup-group .hksdi-group-row td { padding: 10px 12px !important; background: #f3f4f6 !important; color: #0f172a !important; }
.hksdi-sup-group .hksdi-group-row strong { display: inline; font-size: 11px; }
.hksdi-sup-group .hksdi-group-row small { display: inline; margin: 0 0 0 8px; color: #8a929c; font-size: 9px; font-weight: 600; }
.hksdi-sup-group .hksdi-group-row .hksdi-sup-due { font-size: 11px; }
.hksdi-sup-tfoot td { padding: 12px !important; border-top: 2px solid #e5e7eb !important; border-bottom: 0 !important; background: #fafbfc !important; color: #0f172a !important; font-weight: 800 !important; }
.hksdi-sup-tfoot strong { display: inline; font-size: 11px; }
.hksdi-sup-carnet-meta { color: #9aa3b5; font-style: italic; }
@media (max-width: 1400px) { .hksdi-sup-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); } .hksdi-sup-search { grid-column: 1 / -1; } }
@media (max-width: 900px)  { .hksdi-sup-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .hksdi-sup-filters { grid-template-columns: 1fr 1fr; padding: 12px; } .hksdi-sup-tabs { display: flex; } .hksdi-sup-tab { flex: 1; justify-content: center; } }
