:root{--bg:#f6f7f9;--card:#fff;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--on-accent:#fff;--border:#d1d5db;--danger:#b91c1c}
@media (prefers-color-scheme: dark){:root{--bg:#111827;--card:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--accent:#60a5fa;--on-accent:#0b1220;--border:#374151;--danger:#f87171}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}
h1{font-size:22px;font-weight:500;margin:0 0 8px}
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:380px}
label{display:block;margin:12px 0 4px;font-size:14px}
input[type=email],input[type=password]{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:16px}
.check{display:flex;gap:8px;align-items:center}
button{margin-top:16px;width:100%;padding:10px;border:0;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:16px;cursor:pointer}
button.link{width:auto;margin:0;background:none;color:var(--accent);padding:4px}
.error{color:var(--danger);font-size:14px;margin:4px 0 0}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border)}
.page{max-width:900px;margin:0 auto;padding:24px 16px}

/* --- Clients : styles neutres (clair et sombre) --- */
.nav { display: flex; gap: 1rem; }
.nav a { text-decoration: none; color: inherit; }
.flash { margin: .75rem 1rem; padding: .6rem .9rem; border: 1px solid rgba(16,185,129,.6); background: rgba(16,185,129,.12); border-radius: 8px; }
.searchbar { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0; }
.searchbar input { flex: 1; min-width: 12rem; }
table.list { width: 100%; border-collapse: collapse; }
table.list th, table.list td { text-align: left; padding: .55rem .4rem; border-bottom: 1px solid rgba(128,128,128,.25); }
.btn { display: inline-block; padding: .5rem .9rem; border: 1px solid rgba(128,128,128,.5); border-radius: 8px; text-decoration: none; color: inherit; background: transparent; cursor: pointer; font: inherit; }
.btn.primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.btn.danger { border-color: #dc2626; color: #dc2626; }
.btn.wa { border-color: #16a34a; color: #16a34a; padding: .2rem .6rem; font-size: .85rem; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 640px) { .grid2 { grid-template-columns: 1fr; } }
.field { margin-bottom: .75rem; }
.field label { display: block; font-size: .85rem; opacity: .8; margin-bottom: .2rem; }
.page input, .page select, .page textarea { width: 100%; box-sizing: border-box; padding: .5rem; border: 1px solid rgba(128,128,128,.5); border-radius: 8px; font: inherit; background: transparent; color: inherit; }
.page input[type=checkbox] { width: auto; }
.error { color: #dc2626; font-size: .85rem; }
.card { border: 1px solid rgba(128,128,128,.3); border-radius: 12px; padding: 1rem; margin: 1rem 0; }

/* --- Réparations --- */
.chip { display: inline-block; padding: .15rem .7rem; border-radius: 999px; color: #fff; font-size: .85rem; }
.checks { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-bottom: .5rem; }
.checks label { display: inline-flex; align-items: center; gap: .35rem; font-size: 1rem; opacity: 1; margin: 0; }
#cust_results { display: flex; flex-direction: column; gap: .25rem; margin-top: .3rem; }
#cust_results .item { text-align: left; padding: .5rem .7rem; border: 1px solid rgba(128,128,128,.4); border-radius: 8px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.card h2 { margin-top: 0; font-size: 1.1rem; }

.wsteps { display: flex; gap: 6px; margin: 10px 0 14px; flex-wrap: wrap; }
.wdot { flex: 1; min-width: 70px; text-align: center; font-size: 12px; padding: 6px 4px; border-radius: 8px; background: #e5e7eb; color: #555; }
.wdot.on { background: #111; color: #fff; font-weight: bold; }
.wdot.done { background: #16a34a; color: #fff; }
.wstep[hidden] { display: none !important; }
.wnav { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.wmsg { color: #b91c1c; margin: 8px 0; font-weight: bold; }
.pad { width: 200px; height: 200px; border: 1px solid #ccc; border-radius: 12px; background: #fafafa; touch-action: none; display: block; margin: 6px 0; }
.hint { color: #666; font-size: 13px; }
.recap p { margin: 4px 0; }

[hidden] { display: none !important; }

main.page { max-width: 1000px !important; }
@media (min-width: 900px) {
    .card table.list input, .card table.list select { font-size: 14px; }
}

/* Cartes pleine largeur dans les pages (pas la connexion) */
main.page .card { max-width: none; width: 100%; box-sizing: border-box; }

/* Fiche réparation sur deux colonnes (grand écran) */
@media (min-width: 900px) {
  main.page.fiche { column-count: 2; column-gap: 16px; }
  main.page.fiche .card { break-inside: avoid; }
}

/* Tableau des lignes de travaux : menus lisibles */
.lrow td { padding: 4px 3px; }
.lrow select { min-width: 98px; width: auto; }
.lrow select.r { min-width: 66px; }
.lrow input.q { width: 46px; min-width: 46px; text-align: center; }
.lrow input.p { width: 78px; min-width: 78px; }
.lrow td:nth-child(2) input { min-width: 130px; }

/* Travaux et pièces : carte sur toute la largeur de la fiche */
@media (min-width: 900px) {
  main.page.fiche .card:has(.lrow) { column-span: all; }
}
.lrow .btn.rm { padding: 4px 9px; }

/* Barre de filtres sur une ligne + bascule Liste / Tableau */
.searchbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.searchbar input[type="search"] { flex: 1 1 240px; min-width: 200px; }
.searchbar select { width: auto; max-width: none; }
.searchbar .btn { width: auto; white-space: nowrap; }
.viewtoggle { display: flex; gap: 6px; margin: 10px 0; }
.viewtoggle .btn { width: auto; }

/* Vue Tableau (kanban) */
main.page.wide { max-width: none; }
.kanban { display: flex; gap: 10px; overflow-x: auto; align-items: flex-start; padding-bottom: 12px; }
.kcol { flex: 0 0 230px; background: #f1f5f9; border-radius: 8px; padding: 8px; }
.kcol h3 { margin: 0 0 8px; padding-bottom: 6px; font-size: 0.95rem; display: flex; justify-content: space-between; color: #0f172a; }
.kcount { background: #e2e8f0; border-radius: 999px; padding: 0 8px; font-size: 0.8rem; }
.kcard { display: block; background: #fff; color: #0f172a; text-decoration: none; border-radius: 6px; border-left: 4px solid #94a3b8; padding: 8px 10px; margin-bottom: 8px; box-shadow: 0 1px 2px rgba(0,0,0,.08); font-size: 0.9rem; }
.kcard:hover { box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.kcard .chip { font-size: 0.7rem; margin-left: 4px; }
.kdev { color: #64748b; font-size: 0.82rem; }

/* Tableau : pleine largeur (bat la limite de 1000 px) + bouton Filtrer aligné */
main.page.wide { max-width: none !important; }
.searchbar .btn { margin: 0; font: inherit; padding: .5rem .9rem; line-height: 1.2; box-sizing: border-box; }

/* Accueil d'atelier */
.dhead { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; justify-content: space-between; }
.dhead h1 { margin: 0 0 4px; }
.dbox { background: var(--card, #fff); border: 1px solid var(--border, #e2e8f0); border-radius: 12px; padding: 10px 16px; min-width: 170px; }
.dclock { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.dmuted { color: #64748b; font-size: 0.85rem; }
.dactions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.dactions .btn { width: auto; }
.dh2 { font-size: 1rem; margin: 18px 0 8px; }
.dgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.dtile { display: block; background: var(--card, #fff); border: 1px solid var(--border, #e2e8f0); border-top: 4px solid #94a3b8; border-radius: 10px; padding: 12px 14px; color: inherit; text-decoration: none; }
a.dtile:hover { box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.dnum { font-size: 1.8rem; font-weight: 700; line-height: 1.2; }
.dcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin-top: 8px; }
.dpanel { background: var(--card, #fff); border: 1px solid var(--border, #e2e8f0); border-radius: 12px; padding: 4px 14px 12px; }
.drow { display: block; padding: 7px 0; border-bottom: 1px solid var(--border, #e2e8f0); color: inherit; text-decoration: none; font-size: 0.9rem; }
.drow:last-child { border-bottom: 0; }
.drow:hover { background: rgba(100,116,139,.08); }
.dwhen { float: right; font-size: 0.8rem; }

/* Stock : tableau mieux aligné */
.ptable th { vertical-align: bottom; white-space: nowrap; }
.ptable td { white-space: nowrap; }
.ptable input.n { width: 76px; }
.ptable td input[name="location"] { width: 92px; }
.ptable .mv span { min-width: 52px; }

/* ===== Menu latéral v2 ===== */
header.top { position: fixed !important; top: 0; left: 0; bottom: 0; width: 248px; box-sizing: border-box; display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; padding: 12px 10px !important; overflow-y: auto; overflow-x: hidden; background: #f7f6f3 !important; border-right: 1px solid #e7e5df; z-index: 50; font-size: 14px; color: #3d3d3a; transition: width .15s ease; }
body:has(> header.top) { padding-left: 248px !important; }
header.top .sb-head { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px 14px 10px; min-height: 32px; }
header.top .sb-head strong { font-size: 15px; font-weight: 600; color: #1f1f1d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
header.top .sb-toggle { background: none; border: 0; padding: 6px; border-radius: 8px; cursor: pointer; color: #6b6a65; display: inline-flex; }
header.top .sb-toggle:hover { background: #ebe9e2; }
header.top .sb-i { width: 18px; height: 18px; flex: none; }
header.top .sb-chev { width: 14px; height: 14px; margin-left: auto; color: #8a8983; transition: transform .15s; }
header.top details[open] > summary .sb-chev { transform: rotate(180deg); }
header.top .sb-nav { display: flex !important; flex-direction: column !important; gap: 2px !important; align-items: stretch !important; }
header.top .sb-nav a, header.top .sb-grp > summary { display: flex !important; align-items: center; gap: 10px; padding: 8px 10px !important; border-radius: 8px; color: #3d3d3a !important; text-decoration: none !important; font-weight: 500; cursor: pointer; list-style: none; white-space: nowrap; }
header.top .sb-grp > summary::-webkit-details-marker { display: none; }
header.top .sb-nav a:hover, header.top .sb-grp > summary:hover { background: #efede7; }
header.top .sb-nav a.on { background: #e8e6df; color: #1f1f1d !important; font-weight: 600; }
header.top .sb-grp > a { padding-left: 38px !important; font-weight: 400; color: #55544f !important; }
header.top .sb-grp > a.on { font-weight: 600; }
header.top .sb-out { margin-top: auto; padding-top: 12px; }
header.top .sb-logout { display: flex; align-items: center; gap: 10px; width: 100%; background: none; border: 0; padding: 8px 10px; border-radius: 8px; color: #6b6a65; cursor: pointer; font: inherit; }
header.top .sb-logout:hover { background: #efede7; color: #1f1f1d; }
@media (min-width: 901px) {
    html.sb-collapsed header.top { width: 64px; }
    html.sb-collapsed body:has(> header.top) { padding-left: 64px !important; }
    html.sb-collapsed header.top .sb-t, html.sb-collapsed header.top .sb-chev, html.sb-collapsed header.top .sb-grp > a { display: none !important; }
    html.sb-collapsed header.top .sb-head { justify-content: center; padding-left: 0; padding-right: 0; }
    html.sb-collapsed header.top .sb-nav a, html.sb-collapsed header.top .sb-grp > summary, html.sb-collapsed header.top .sb-logout { justify-content: center; }
}
@media (max-width: 900px) {
    body:has(> header.top) { padding-left: 0 !important; }
    header.top { position: static !important; width: auto; bottom: auto; overflow: visible; border-right: 0; border-bottom: 1px solid #e7e5df; }
    header.top .sb-nav, header.top .sb-out { display: none !important; }
    header.top.open .sb-nav { display: flex !important; }
    header.top.open .sb-out { display: block !important; }
}
@media print {
    header.top { display: none !important; }
    body:has(> header.top) { padding-left: 0 !important; }
}
header.top .sb-toggle { width: 32px !important; height: 32px; flex: none !important; justify-content: center; align-items: center; }
header.top .sb-head strong { flex: 1 1 auto; min-width: 0; }

/* Nom du programme */
header.top .sb-head{align-items:center;gap:10px}
header.top .sb-head .sb-toggle{margin-top:0 !important}
header.top .sb-head strong.sb-name{flex:0 0 auto !important;font-size:22px !important;font-weight:800 !important;letter-spacing:-.02em;color:var(--accent) !important;border:1.5px solid var(--accent);border-radius:10px;padding:5px 16px;line-height:1.1;box-shadow:0 1px 2px rgba(37,99,235,.18)}

/* Accueil (design) */
.ac-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ac-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px;align-items:center}
.ac-meta b{color:var(--text);font-size:20px}
.ac-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 18px}
.ac-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:16px}
.ac-panel h2{font-size:15px;margin:0 0 6px;display:flex;justify-content:space-between;align-items:baseline}
.ac-panel h2 a{font-size:13px;font-weight:400;color:var(--accent);text-decoration:none}
.ac-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);min-height:48px;color:inherit;text-decoration:none}
.ac-panel h2 + .ac-row{border-top:0}
.ac-when{min-width:110px;font-weight:600}
.ac-when small{display:block;font-weight:400;color:var(--muted)}
.ac-grow{flex:1;min-width:0}
.ac-empty .ac-when{font-weight:500;color:var(--muted)}
.ac-row form{margin:0}
.ac-btn{width:auto;margin:0;min-height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;cursor:pointer}
.ac-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:13px;background:var(--bg);border:1px solid var(--border);color:var(--text);text-decoration:none;white-space:nowrap}
.ac-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--muted))}
a.ac-pill:hover{border-color:var(--accent)}
.ac-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 16px}
.ac-kpi{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;color:inherit;text-decoration:none}
a.ac-kpi:hover{border-color:var(--accent)}
.ac-kpi .n{font-size:28px;font-weight:700;line-height:1.1}
.ac-kpi .l{color:var(--muted);font-size:13.5px}
.ac-kpi.alert .n{color:var(--danger)}
.ac-kpi.warn .n{color:#b45309}
.ac-h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:20px 0 8px}
.ac-state{display:flex;flex-wrap:wrap;gap:8px}
.ac-month{margin:10px 0 0;font-size:13.5px}
.ac-alert{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0;padding:10px 14px;border:1px solid var(--danger);border-radius:10px;color:var(--text);text-decoration:none;background:var(--card)}
.ac-alert span{margin-left:auto;color:var(--accent)}
.ac-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:16px}
@media (max-width:900px){.ac-cols{grid-template-columns:1fr}.ac-row{flex-wrap:wrap}.ac-when{min-width:100%}.ac-btn,.ac-actions .btn{min-height:44px}}

/* zebra-listes */
table.list tbody tr:nth-child(even) td{background:#f1f5f9}
table.list tbody tr:hover td{background:#e0f2fe}

/* theme-manuel */
:root[data-theme=light]{color-scheme:light;--bg:#f6f7f9;--card:#fff;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--on-accent:#fff;--border:#d1d5db;--danger:#b91c1c}
:root[data-theme=dark]{color-scheme:dark;--bg:#111827;--card:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--accent:#60a5fa;--on-accent:#0b1220;--border:#374151;--danger:#f87171}
.sb-theme{display:flex;gap:4px;padding:4px;margin:0 8px 8px;background:var(--bg);border:1px solid var(--border);border-radius:999px}
.sb-theme button{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.sb-theme button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.sb-collapsed .sb-theme{display:none}

/* sidebar-nuit */
:root[data-theme=dark] header.top{background:#0b1220;border-right-color:#1f2937;color:#e5e7eb}
:root[data-theme=dark] header.top .sb-head strong{color:#f3f4f6}
:root[data-theme=dark] header.top .sb-toggle{color:#9ca3af}
:root[data-theme=dark] header.top .sb-toggle:hover{background:#1f2937}
:root[data-theme=dark] header.top .sb-chev{color:#9ca3af}
:root[data-theme=dark] header.top .sb-nav a, :root[data-theme=dark] header.top .sb-grp > summary{color:#cbd5e1}
:root[data-theme=dark] header.top .sb-nav a:hover, :root[data-theme=dark] header.top .sb-grp > summary:hover{background:#1f2937;color:#f3f4f6}
:root[data-theme=dark] header.top .sb-nav a.on{background:#1f2937;color:#f3f4f6 !important}
:root[data-theme=dark] header.top .sb-grp > a{color:#cbd5e1 !important}
:root[data-theme=dark] header.top .sb-logout{color:#9ca3af}
:root[data-theme=dark] header.top .sb-logout:hover{background:#1f2937;color:#f3f4f6}
:root[data-theme=dark] header.top .sb-theme{background:#111827;border-color:#374151}
@media (prefers-color-scheme: dark){
:root:not([data-theme=light]) header.top{background:#0b1220;border-right-color:#1f2937;color:#e5e7eb}
:root:not([data-theme=light]) header.top .sb-head strong{color:#f3f4f6}
:root:not([data-theme=light]) header.top .sb-toggle{color:#9ca3af}
:root:not([data-theme=light]) header.top .sb-toggle:hover{background:#1f2937}
:root:not([data-theme=light]) header.top .sb-chev{color:#9ca3af}
:root:not([data-theme=light]) header.top .sb-nav a, :root:not([data-theme=light]) header.top .sb-grp > summary{color:#cbd5e1}
:root:not([data-theme=light]) header.top .sb-nav a:hover, :root:not([data-theme=light]) header.top .sb-grp > summary:hover{background:#1f2937;color:#f3f4f6}
:root:not([data-theme=light]) header.top .sb-nav a.on{background:#1f2937;color:#f3f4f6 !important}
:root:not([data-theme=light]) header.top .sb-grp > a{color:#cbd5e1 !important}
:root:not([data-theme=light]) header.top .sb-logout{color:#9ca3af}
:root:not([data-theme=light]) header.top .sb-logout:hover{background:#1f2937;color:#f3f4f6}
:root:not([data-theme=light]) header.top .sb-theme{background:#111827;border-color:#374151}
}

/* sidebar-nuit-2 */
:root[data-theme=dark] header.top{background:#0b1220 !important;border-right-color:#1f2937 !important;color:#e5e7eb !important}
@media (prefers-color-scheme: dark){:root:not([data-theme=light]) header.top{background:#0b1220 !important;border-right-color:#1f2937 !important;color:#e5e7eb !important}}

/* theme-icones */
.sb-theme{display:flex;justify-content:center;gap:10px;padding:0 !important;margin:0 8px 10px;background:transparent !important;border:0 !important}
.sb-theme button{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.sb-theme button:hover{color:var(--text)}
.sb-theme button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* accueil2 */
.a2-h{margin:22px 0 10px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.a2-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px}
.a2-hrow .a2-h{margin:0 0 10px}
.a2-hrow a{font-size:14px;color:var(--accent)}
.a2-widget{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:10px 18px}
.a2-clock{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.a2-clock b{font-size:24px;font-weight:700}
.a2-clock span{font-size:13px;color:var(--muted)}
.a2-weather{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--border);color:var(--accent)}
.a2-weather b{display:block;font-size:20px;line-height:1.1;color:var(--text)}
.a2-weather span{font-size:13px;color:var(--muted)}
.a2-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.a2-kpi{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;color:var(--text);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.a2-kpi span{font-size:14px;color:var(--muted)}
.a2-kpi b{font-size:30px;font-weight:700;line-height:1.1}
a.a2-kpi:hover{border-color:var(--accent);transform:translateY(-2px)}
.a2-kpi.is-go{border-color:var(--accent)}
.a2-kpi.is-go b{color:var(--accent)}
.a2-kpi.is-alert{border-color:var(--danger)}
.a2-kpi.is-alert b{color:var(--danger)}
.a2-kpi.is-warn{border-color:#d97706}
.a2-kpi.is-warn b{color:#d97706}
.a2-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.a2-day{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px}
.a2-day.is-today{border-color:var(--accent)}
.a2-day h4{margin:0 0 8px;font-size:15px}
.a2-day p{margin:0;font-size:14px}
.a2-appt{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);flex-wrap:wrap}
.a2-appt .t{font-weight:700;min-width:44px}
.a2-appt .w{flex:1 1 120px;min-width:0;font-size:14px}
.a2-appt .w small{display:block;color:var(--muted);font-size:13px}
.a2-state{display:flex;flex-wrap:wrap;gap:10px 24px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px}
.a2-st{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:14px}
.a2-st i{width:9px;height:9px;border-radius:50%;display:inline-block}
.a2-st:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.a2-kpi{transition:none}a.a2-kpi:hover{transform:none}}

/* menu-maquette */
header.top .sb-nav a,header.top .sb-nav summary{border-radius:10px !important;font-weight:500;transition:background .15s ease,color .15s ease}
header.top .sb-nav a.on{background:#dbeafe !important;color:#1d4ed8 !important;font-weight:600}
header.top .sb-nav a:hover,header.top .sb-nav summary:hover{background:#eff6ff !important}
header.top .sb-brand,header.top .brand{font-weight:800}
:root[data-theme=dark] header.top .sb-nav a.on{background:#1e3a8a !important;color:#dbeafe !important}
:root[data-theme=dark] header.top .sb-nav a:hover,:root[data-theme=dark] header.top .sb-nav summary:hover{background:#1e293b !important}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) header.top .sb-nav a.on{background:#1e3a8a !important;color:#dbeafe !important}:root:not([data-theme=light]) header.top .sb-nav a:hover,:root:not([data-theme=light]) header.top .sb-nav summary:hover{background:#1e293b !important}}

/* login-maquette */
.lg{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--bg);color:var(--text)}
.lg-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px;color:#fff;background:
 linear-gradient(160deg,rgba(15,23,42,.55),rgba(30,64,175,.75)),
 url(/img/login-bg.jpg) center/cover no-repeat,
 radial-gradient(circle at 20% 20%,#3b82f6,#0b1220 70%);background-color:#0b1220}
.lg-brand{font-size:28px;font-weight:800;letter-spacing:.02em}
.lg-claim h2{margin:0 0 10px;font-size:32px;line-height:1.2;font-weight:700}
.lg-claim p{margin:0;font-size:16px;opacity:.9}
.lg-side{display:flex;align-items:center;justify-content:center;padding:32px 20px}
.lg-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.lg-card h1{margin:0 0 4px;font-size:26px}
.lg-sub{margin:0 0 18px;color:var(--muted);font-size:15px}
.lg-card label{display:block;margin:14px 0 6px;font-size:14px;font-weight:600}
.lg-card label.check{display:flex;align-items:center;gap:8px;font-weight:400}
.lg-card input[type=email],.lg-card input[type=password],.lg-card input[type=text]{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}
.lg-card input:focus{outline:2px solid var(--accent);outline-offset:1px}
.lg-code{text-align:center;letter-spacing:.35em;font-size:22px !important}
.lg-btn{width:100%;margin-top:20px;padding:13px;font-size:16px;font-weight:600;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);cursor:pointer}
.lg-btn:hover{filter:brightness(1.08)}
.lg-tag{display:inline-block;margin-bottom:12px;padding:4px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:600}
.lg-out{margin-top:14px;text-align:center}
.lg-out button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px;text-decoration:underline}
.lg .error{color:var(--danger);font-size:14px;margin:6px 0 0}
@media (max-width:820px){.lg{grid-template-columns:1fr}.lg-hero{min-height:170px;padding:24px}.lg-claim h2{font-size:22px}.lg-claim p{display:none}}

/* login-art */
.lg-hero>*{position:relative;z-index:1}
.lg-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.lg-art svg{position:absolute;right:-6%;top:0;height:100%;width:auto;min-width:100%}
.lg-art-blur{opacity:.16;filter:blur(7px)}
.lg-art-line{opacity:.22}
.lg-slogan{margin:6px 0 0;font-size:15px;font-weight:500;opacity:.92;letter-spacing:.02em}
.lg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lg-chips span{padding:5px 12px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:13px;background:rgba(255,255,255,.1)}
@media (max-width:820px){.lg-chips,.lg-slogan{display:none}}

/* login-lot2 */
.lg-art{display:none !important}
.lg-hero::after{content:"ATFIX";position:absolute;right:-7%;bottom:-5%;z-index:0;font-size:clamp(150px,21vw,330px);font-weight:900;letter-spacing:-.02em;line-height:1;color:rgba(255,255,255,.09);pointer-events:none;white-space:nowrap}
.lg-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(120deg,rgba(59,130,246,.35),rgba(15,23,42,0) 45%,rgba(30,64,175,.4));background-size:220% 220%;animation:lg-flow 30s ease-in-out infinite alternate}
@keyframes lg-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){.lg-hero::before{animation:none}}
.lg-claim h2{font-size:30px}
.lg-points{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.lg-points li{position:relative;padding-left:26px;font-size:15px;line-height:1.4}
.lg-points li::before{content:"";position:absolute;left:0;top:.35em;width:12px;height:7px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.lg-sign{margin-top:22px !important;font-size:13px !important;opacity:.75 !important}
.lg-card input[type=email],.lg-card input[type=password],.lg-card input[type=text]{background:var(--card);border:1px solid #cbd5e1}
.lg-pw{position:relative}
.lg-pw input{padding-right:46px !important}
.lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px}
.lg-eye:hover{color:var(--text)}
@media (max-width:820px){.lg-points,.lg-sign{display:none}.lg-hero::after{font-size:110px;bottom:-12px}}

/* login-A */
.la-page{display:flex;flex-wrap:wrap;min-height:100vh;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#fff;color:#111827}
.la-panel{flex:1.1 1 520px;min-width:0;position:relative;overflow:hidden;background:linear-gradient(160deg,#1E40AF 0%,#1D4ED8 55%,#2563EB 100%);color:#fff;padding:40px 48px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.la-mark{position:absolute;left:-18px;bottom:-60px;font-size:230px;font-weight:800;letter-spacing:-6px;color:rgba(255,255,255,.08);line-height:1;pointer-events:none;user-select:none}
.la-in{position:relative}
.la-logo{font-weight:700;font-size:22px;letter-spacing:.6px}
.la-slogan{font-size:14px;color:#CFE0FF;margin-top:2px}
.la-claim{max-width:520px}
.la-claim h2{font-size:30px;line-height:1.2;margin:0 0 12px;font-weight:700}
.la-claim p{margin:0 0 14px;font-size:15px;line-height:1.55;color:#E6EEFF}
.la-pt{display:flex;gap:10px;font-size:14px;line-height:1.45;margin-top:10px;color:#E6EEFF}
.la-sign{font-size:12px;color:#BBD0FF;margin-top:22px}
.la-form{flex:1 1 440px;min-width:0;background:#F6F7F9;display:flex;align-items:center;justify-content:center;padding:32px 20px;box-sizing:border-box}
.la-card{width:100%;max-width:400px;background:#fff;border:1px solid #E3E6EB;border-radius:18px;padding:32px;box-sizing:border-box;box-shadow:0 8px 30px rgba(17,24,39,.06)}
.la-card h1{font-size:24px;font-weight:600;margin:0}
.la-sub{margin:4px 0 22px;font-size:14px;color:#5B6472}
.la-lb{display:block;font-size:14px;font-weight:500;margin:0 0 6px}
.la-f{position:relative;margin-bottom:14px}
.la-i{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#5B6472}
.la-inp{height:48px;box-sizing:border-box;border:1px solid #D1D5DB;border-radius:12px;padding:0 44px;font:inherit;font-size:15px;background:#fff;color:#111827;width:100%}
.la-inp.la-plain{padding:0 14px}
.la-inp:focus,.la-box:focus{outline:none;border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.la-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;color:#5B6472;cursor:pointer;border-radius:8px}
.la-eye:hover{color:#111827}
.la-forgot{text-align:right;margin:2px 0 18px;font-size:14px}
.la-card a,.la-link{color:#1D4ED8;text-decoration:none;font-weight:500}
.la-link{background:none;border:0;padding:0;font:inherit;font-size:14px;cursor:pointer}
.la-link:hover,.la-card a:hover{text-decoration:underline}
.la-btn{width:100%;height:50px;border-radius:12px;border:0;background:#2563EB;color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px}
.la-btn:hover{background:#1D4ED8}
.la-err{margin:0 0 12px;font-size:14px;color:#dc2626}
.la-boxes{display:flex;gap:8px;justify-content:space-between;margin-bottom:14px}
.la-box{width:100%;min-width:0;height:54px;box-sizing:border-box;text-align:center;font:inherit;font-size:22px;font-weight:600;border:1px solid #D1D5DB;border-radius:12px;background:#fff;color:#111827;padding:0}
.la-links{text-align:center;margin-top:14px}
.la-tag{display:inline-block;margin-bottom:12px;padding:4px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:600}
[hidden]{display:none !important}
@media (max-width:820px){.la-panel{flex-basis:auto;padding:24px;gap:16px}.la-claim h2{font-size:22px;margin:0}.la-claim p,.la-pt,.la-sign{display:none}.la-mark{font-size:110px;bottom:-26px;left:-8px}.la-form{align-items:flex-start;padding:24px 16px}.la-card{padding:24px}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .la-form{background:#0b1220}:root:not([data-theme=light]) .la-card{background:#111a2e;border-color:#243047;box-shadow:none}:root:not([data-theme=light]) .la-card h1,:root:not([data-theme=light]) .la-lb{color:#f1f5f9}:root:not([data-theme=light]) .la-sub,:root:not([data-theme=light]) .la-i,:root:not([data-theme=light]) .la-eye{color:#94a3b8}:root:not([data-theme=light]) .la-inp,:root:not([data-theme=light]) .la-box{background:#0b1220;border-color:#334155;color:#f1f5f9}:root:not([data-theme=light]) .la-card a,:root:not([data-theme=light]) .la-link{color:#93c5fd}}
:root[data-theme=dark] .la-form{background:#0b1220}:root[data-theme=dark] .la-card{background:#111a2e;border-color:#243047;box-shadow:none}:root[data-theme=dark] .la-card h1,:root[data-theme=dark] .la-lb{color:#f1f5f9}:root[data-theme=dark] .la-sub,:root[data-theme=dark] .la-i,:root[data-theme=dark] .la-eye{color:#94a3b8}:root[data-theme=dark] .la-inp,:root[data-theme=dark] .la-box{background:#0b1220;border-color:#334155;color:#f1f5f9}:root[data-theme=dark] .la-card a,:root[data-theme=dark] .la-link{color:#93c5fd}

/* login-A-fix */
.la-card .la-f .la-inp,.la-card .la-boxes .la-box{background:#fff}
.la-card .la-eye,.la-card .la-link{margin-top:0 !important}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .la-card .la-f .la-inp,:root:not([data-theme=light]) .la-card .la-boxes .la-box{background:#0b1220}}
:root[data-theme=dark] .la-card .la-f .la-inp,:root[data-theme=dark] .la-card .la-boxes .la-box{background:#0b1220}

/* login-ok */
.la-ok{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#047857;font-size:14px;line-height:1.4}
:root[data-theme=dark] .la-ok{background:#064e3b;color:#a7f3d0}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .la-ok{background:#064e3b;color:#a7f3d0}}
/* style-global */
main.page h1{font-size:24px;font-weight:600;letter-spacing:-.01em;margin:0 0 14px}
.card,.dpanel{background:var(--card);border:1px solid var(--border);border-radius:12px}
.card h2,.dh2{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}
.dtile{border-radius:12px;border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.hint{color:var(--muted)}
.field label{font-size:13px;font-weight:500;opacity:1;color:var(--muted)}
.page input:not([type=checkbox]):not([type=radio]):not([type=range]),.page select,.page textarea{border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}
.page input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,.page select:focus,.page textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.btn{border-radius:10px;border-color:var(--border);font-weight:500;transition:background .15s ease,border-color .15s ease,filter .15s ease}
.btn:not(.primary):not(.danger):not(.wa):hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card))}
.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.btn.primary:hover{filter:brightness(1.1)}
.btn.danger:hover{background:rgba(220,38,38,.08)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
table.list th,.ptable th,.tbl th{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
table.list td,.ptable td,.tbl td{border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
table.list tbody tr:nth-child(even) td,.ptable tbody tr:nth-child(even) td,.tbl tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--text) 4%,var(--card))}
table.list tbody tr:hover td,.ptable tbody tr:hover td,.tbl tbody tr:hover td{background:color-mix(in srgb,var(--accent) 12%,var(--card))}
.flash{border-radius:12px}
/* /style-global */

/* stock-v3 */
.st-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.st-head h1{margin:0 !important}
.st-addpanel{margin-bottom:14px;padding:16px 20px}
.st-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.st-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;transition:border-color .2s ease}
.st-card:hover{border-color:var(--accent)}
.st-card.is-low{border-color:color-mix(in srgb,#dc2626 45%,var(--border))}
.st-main{display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(5,minmax(100px,1fr));gap:12px 18px;align-items:start}
.st-name b{display:block;font-size:16px}
.st-name small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.st-col span{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.st-col b{font-size:15px;font-weight:600}
.st-col em{font-style:normal;font-weight:700;font-size:16px;margin-right:6px}
.st-col em.low{color:var(--danger)}
.st-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:flex-start}
.st-mv summary{list-style:none;cursor:pointer;display:inline-block}
.st-mv summary::-webkit-details-marker{display:none}
.st-mv[open]{flex-basis:100%}
.st-mv[open] summary{margin-bottom:10px;border-color:var(--accent)}
.st-mv form:not(.pgrid){display:flex;gap:8px;max-width:360px}
.st-mv form:not(.pgrid) input{flex:1}
.st-mv form:not(.pgrid) button{width:auto;margin:0}
.st-edit .pgrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.st-more{display:flex;gap:8px;margin-top:10px}
.st-more form{margin:0}
.st-more button{width:auto;margin:0}
.st-empty{padding:20px}
@media (max-width:900px){.st-main{grid-template-columns:repeat(2,1fr)}.st-name{grid-column:1/-1}}

/* stock-v3b */
.st-head .btn{width:auto;margin:0}
.st-col .ac-pill{background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);font-size:12px;font-weight:600;padding:1px 9px;border-radius:999px}
.st-pop{position:relative}
.st-pop[open]{flex-basis:auto}
.st-pop[open] summary{margin-bottom:0}
.st-pop>form{position:absolute;left:0;top:calc(100% + 6px);z-index:10;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 8px 24px rgba(17,24,39,.12);width:300px;max-width:80vw}

/* vente-v3 */
.pg-alert{margin:0 0 14px;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:14px}
.pg-alert.is-bad{border-color:#dc2626;color:#991b1b;background:color-mix(in srgb,#dc2626 7%,var(--card))}
.pg-alert.is-ok{border-color:#16a34a;color:#166534;background:color-mix(in srgb,#16a34a 8%,var(--card))}
.pg-alert.is-info{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.pg-bad-text{color:#991b1b;margin-top:6px}
:root[data-theme=dark] .pg-alert.is-bad,:root[data-theme=dark] .pg-bad-text{color:#fca5a5}
:root[data-theme=dark] .pg-alert.is-ok{color:#86efac}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pg-alert.is-bad,:root:not([data-theme=light]) .pg-bad-text{color:#fca5a5}:root:not([data-theme=light]) .pg-alert.is-ok{color:#86efac}}
.pg-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--c,#64748b) 12%,transparent);color:var(--c,#64748b);border:1px solid color-mix(in srgb,var(--c,#64748b) 30%,transparent);vertical-align:middle}
.ca-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:14px;align-items:start}
.ca-grid>*{min-width:0}
.ca-search,.ca-articles,.ca-client{grid-column:1}
.ca-sum{grid-column:2;grid-row:1/span 3;position:sticky;top:12px}
.ca-ah{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ca-ah .dh2{margin:0}
.ca-articles td input{width:84px;text-align:right}
.ca-articles td input[data-f=qty]{width:60px}
.ca-articles td .btn{width:auto;margin:0;padding:.3rem .7rem}
.ca-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;font-size:14px}
.ca-row span{color:var(--muted)}
.ca-topay{margin:10px 0 14px;padding-top:12px;border-top:1px solid var(--border)}
#topay{font-size:28px;font-weight:700;height:56px}
#topay[readonly]{border-color:transparent;background:transparent;padding-left:0}
#pay{width:100%;height:50px;font-size:16px;font-weight:600;margin-top:14px}
#pay:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:900px){.ca-grid{grid-template-columns:1fr}.ca-sum{grid-column:1;grid-row:auto;position:static}}
.vt-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-bottom:14px}
.vt-two>*{min-width:0;overflow-x:auto}
.vt-sales{padding:8px 16px}
.vt-act{white-space:nowrap;text-align:right}
.vt-act .btn{width:auto;margin:0}
.vt-menu{position:relative;display:inline-block}
.vt-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 8px 24px rgba(17,24,39,.14);display:flex;flex-direction:column;text-align:left}
.vt-pop a,.vt-pop button{display:block;width:100%;margin:0;padding:8px 12px;border:0;background:none;color:var(--text);text-align:left;text-decoration:none;font:inherit;font-size:14px;border-radius:8px;cursor:pointer}
.vt-pop a:hover,.vt-pop button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--card))}
.vt-pop em{padding:8px 12px;color:var(--muted);font-size:14px}
.vt-pop form{margin:0}
.vt-pop .vt-danger{color:var(--danger)}
.vt-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;font-size:14px}
.vt-dl span{color:var(--muted)}
.vt-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.vt-btns .btn{width:auto}

/* vente-v3b */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;align-items:end}
.pgrid .field{margin:0}
.ca-search .btn,.ca-search button{width:auto;margin:0}
.ca-search .pgrid .field button{width:100%;height:42px}
.ca-search .field>button{margin-top:8px}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{text-align:left;padding:.6rem .5rem;vertical-align:middle}

/* repairs-v3 */
/* En-tête de la fiche */
main.page.fiche .rb{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:14px!important;padding:20px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
main.page.fiche .rb-num{font-size:26px!important;font-weight:700!important;letter-spacing:-.01em}
main.page.fiche .rb-badge{display:inline-block;padding:3px 12px!important;border-radius:999px!important;font-size:13px!important;font-weight:600!important}
/* Étapes en pastilles */
main.page.fiche .rb-step{border-radius:10px!important;padding:9px 8px!important;font-size:13px!important;text-align:center;border:1.5px solid transparent!important;background:rgba(128,128,128,.12)!important;color:var(--muted)!important}
main.page.fiche .rb-step.d2{background:rgba(22,163,74,.14)!important;color:#15803d!important}
main.page.fiche .rb-step.d1{background:var(--card)!important;color:var(--accent)!important;border-color:var(--accent)!important;font-weight:700}
/* Boutons d'action */
main.page.fiche .rb-act .btn,main.page.fiche .rb .btn{width:auto!important;margin:0!important;border-radius:10px!important;padding:10px 16px!important;background:var(--card);color:var(--text);border:1px solid var(--border)}
main.page.fiche .rb .btn.primary,main.page.fiche .rb-act .btn.primary{background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important;font-weight:600}
main.page.fiche .rb details>div,main.page.fiche .rb-menu{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:0 8px 24px rgba(0,0,0,.15)}
/* Onglets soulignés */
.fiche-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)!important;background:transparent!important;margin:18px 0 14px!important;padding:0!important}
.fiche-tabs .ftab{background:transparent!important;color:var(--muted)!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:10px 16px!important;width:auto!important;margin:0 0 -1px 0!important;font-weight:500}
.fiche-tabs .ftab.on{color:var(--accent)!important;border-bottom-color:var(--accent)!important;font-weight:700}
/* Cartes des onglets */
.tabpanel .card,main.page.fiche .card{background:var(--card);border-radius:14px;border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tabpanel .card h2,main.page.fiche .card h2{font-size:1.05rem;font-weight:700}
/* Assistant nouvelle réparation */
.wsteps{gap:8px}
.wdot{border-radius:10px!important;padding:9px 6px!important;font-size:13px!important;background:rgba(128,128,128,.14)!important;color:var(--muted)!important;border:1.5px solid transparent}
.wdot.on{background:var(--card)!important;color:var(--accent)!important;border-color:var(--accent)!important;font-weight:700}
.wdot.done{background:rgba(22,163,74,.14)!important;color:#15803d!important}
.wnav .btn{width:auto!important;margin:0!important;border-radius:10px;padding:10px 18px}
.wnav .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.wmsg{border-radius:10px;background:rgba(185,28,28,.08);padding:8px 12px}
.pad{background:var(--card)!important;border-color:var(--border)!important}
@media (prefers-color-scheme: dark){
 main.page.fiche .rb-step.d2,.wdot.done{color:#4ade80!important}
}
@media (max-width:640px){
 main.page.fiche .rb-num{font-size:22px!important}
 .fiche-tabs{overflow-x:auto}
 .fiche-tabs .ftab{padding:9px 12px!important;white-space:nowrap}
}
/* /repairs-v3 */

/* repairs-v3b */
main.page.fiche .rb details>summary{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:10px!important;padding:10px 16px!important;list-style:none;cursor:pointer}
main.page.fiche .rb details>summary::-webkit-details-marker{display:none}
main.page.fiche .rb details *{color:var(--text)}
main.page.fiche .rb details a,main.page.fiche .rb details button{background:transparent!important;color:var(--text)!important}
/* /repairs-v3b */

/* liste-v3 */
table.list{border-collapse:separate;border-spacing:0}
table.list th{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border)}
table.list td{padding:12px;border-bottom:1px solid rgba(128,128,128,.18);vertical-align:middle}
table.list tbody tr:hover td{background:rgba(37,99,235,.05)}
table.list td:first-child a{font-weight:700;color:var(--accent);text-decoration:none}
table.list td:first-child a:hover{text-decoration:underline}
table.list td .tel{font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
table.list td a[href^="tel:"]{pointer-events:none;color:inherit;text-decoration:none}
table.list td .chip{font-size:12px;font-weight:600;padding:3px 10px}
table.list td div{font-size:12px;color:var(--muted);margin-top:3px}
/* /liste-v3 */

/* groupe3-v3 */
/* Boutons et champs (formulaires de ces pages) */
main.page button.btn,main.page a.btn{width:auto;margin-top:0;border-radius:10px;padding:10px 16px;font-size:15px;line-height:1.2}
main.page form>button.btn{margin-top:6px}
main.page .btn{background:var(--card);color:var(--text);border:1px solid var(--border);text-decoration:none}
main.page .btn:hover{border-color:var(--accent)}
main.page .btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}
main.page .btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}
main.page .btn.wa{background:rgba(22,163,74,.1);color:#15803d;border-color:rgba(22,163,74,.4);padding:4px 12px;font-size:13px;border-radius:999px;margin-left:8px}
main.page input:focus,main.page select:focus,main.page textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
main.page .field label{font-size:13px;font-weight:600;color:var(--muted);opacity:1}
/* Fiche client */
main.page>.card{border-radius:14px;padding:20px 22px;background:var(--card);border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.04)}
main.page>.card p{margin:0 0 10px}
main.page>.card p:last-child{margin-bottom:0}
main.page>p>a[href*="clients"]{color:var(--muted);text-decoration:none;font-size:14px}
/* Rendez-vous (corrige le blanc fixe en mode sombre) */
.apday{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:14px!important;padding:14px 16px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.apday.today{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)!important}
.apday h3{font-size:15px!important;font-weight:700;margin-bottom:8px!important}
.apitem{border-top:1px solid rgba(128,128,128,.2)!important;padding:8px 0!important}
.apitem select{width:auto!important;padding:3px 8px!important;font-size:13px;border-radius:8px;margin-left:6px}
.mgrid{gap:6px!important}
.mcell{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:10px!important;color:var(--text)}
.mcell.out{background:rgba(128,128,128,.1)!important;color:var(--muted)!important}
.mcell.today{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)}
.mhead{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 0}
/* Devis et messages */
.dpanel{border-radius:14px}
#cat_res a.drow{display:flex;justify-content:space-between;padding:8px 6px;border-radius:8px;text-decoration:none;color:var(--text)}
#cat_res a.drow:hover{background:rgba(37,99,235,.08)}
.dactions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.dactions form{margin:0}
main.page code{background:rgba(128,128,128,.15);padding:2px 7px;border-radius:6px;font-size:13px}
/* /groupe3-v3 */

/* liste-v3b */
table.list td:first-child a,table.list td .chip{white-space:nowrap}
table.list td .chip{display:inline-block}
table.list td div{white-space:nowrap}
/* /liste-v3b */

/* groupe4-v3 */
/* Tableaux .tbl (produits, occasions, stats) */
table.tbl{border-collapse:separate;border-spacing:0;width:100%}
table.tbl th{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}
table.tbl td{padding:10px 12px;border-bottom:1px solid rgba(128,128,128,.18);vertical-align:middle}
table.tbl tr:hover td{background:rgba(37,99,235,.04)}
table.tbl td input{width:84px;padding:6px 8px}
table.tbl td input[size="3"]{width:64px}
table.tbl td select{width:auto;padding:6px 8px}
/* Champs */
main.page input:not([type=checkbox]):not([type=radio]):not([type=file]),main.page select,main.page textarea{border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text)}
main.page .pgrid .field{margin-bottom:0}
main.page .pgrid .btn{width:auto}
/* Boutons sans classe (Sécurité, Impression) */
main.page form>button[type=submit]:not(.btn),main.page .dpanel form button[type=submit]:not(.btn){width:auto;margin-top:12px;padding:10px 18px;border-radius:10px;font-weight:600;background:var(--accent);color:var(--on-accent)}
/* Impression: cartes blanches fixes -> thème */
main.page form>div[style*="background:#fff"]{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:14px!important;color:var(--text)}
main.page div[style*="background:#dcfce7"]{background:rgba(22,163,74,.12)!important;color:var(--text)}
main.page div[style*="background:#fee2e2"]{background:rgba(185,28,28,.1)!important;color:var(--text)}
main.page form>div[style*="background:#fff"] p[style*="color:#6b7280"]{color:var(--muted)!important}
/* Réglages / Équipe / Utilisateurs */
main.page h2{font-size:1.05rem;font-weight:700}
main.page .hint,main.page .dmuted{color:var(--muted)}
main.page details>summary{cursor:pointer;padding:4px 0}
main.page details[open]>summary{margin-bottom:6px}
main.page .field label{font-weight:600}
main.page .field label>input[type=checkbox]{margin-right:4px}
/* Statistiques */
.dtile{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.dtile .dnum{font-size:26px;font-weight:700;letter-spacing:-.01em;margin-bottom:4px}
.dgrid{gap:12px}
/* Sécurité */
main.page pre{background:rgba(128,128,128,.12);padding:12px 16px;border-radius:10px}
/* /groupe4-v3 */

/* groupe4b-v3 */
table.tbl td{white-space:nowrap}
table.tbl td:first-child{white-space:normal}
main.page input[type=file]{width:auto!important;max-width:100%;padding:8px 10px;background:transparent}
/* /groupe4b-v3 */

/* menu-sombre */
:root[data-theme="dark"] header.top{color:#cbd5e1!important;border-right-color:rgba(255,255,255,.1)!important}
:root[data-theme="dark"] header.top .sb-nav>a,:root[data-theme="dark"] header.top .sb-grp>summary{color:#cbd5e1!important}
@media (prefers-color-scheme: dark){
 :root:not([data-theme="light"]) header.top{color:#cbd5e1!important;border-right-color:rgba(255,255,255,.1)!important}
 :root:not([data-theme="light"]) header.top .sb-nav>a,:root:not([data-theme="light"]) header.top .sb-grp>summary{color:#cbd5e1!important}
}
/* /menu-sombre */

/* pgrid-align */
main.page .pgrid{align-items:start!important;gap:12px 14px!important}
main.page .pgrid .field{display:flex;flex-direction:column;justify-content:flex-start}
main.page .pgrid .field>label{margin:0 0 6px;line-height:1.3;min-height:1.3em}
main.page .pgrid input:not([type=checkbox]):not([type=radio]),main.page .pgrid select{height:40px;box-sizing:border-box}
main.page .pgrid .btn{height:40px}
/* /pgrid-align */

/* align-global */
/* même hauteur (40 px) pour tous les champs et boutons des barres et formulaires */
main.page :is(.searchbar,.pgrid,.grid2,.wnav,.viewtoggle,.field) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select){height:40px;box-sizing:border-box}
main.page :is(.searchbar,.pgrid,.wnav,.viewtoggle) :is(.btn,button){height:40px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding-top:0;padding-bottom:0}
main.page .searchbar{align-items:center}
main.page .grid2{align-items:start}
/* titres sur 2 lignes: Utilisateurs et Catalogue de prix */
form.ufm.pgrid .field>label,form.pgrid[action$="catalogue-prix"] .field>label{min-height:2.6em;display:flex;align-items:flex-end}
form.ufm.pgrid .field[style*="grid-column"]>label{min-height:0}
form.pgrid[action$="catalogue-prix"] .field:has(>button:only-child){padding-top:calc(2.6em + 6px)}
/* /align-global */

/* align-fix */
main.page .searchbar>button.btn,main.page .searchbar>.btn{margin:0!important}
/* /align-fix */

/* semaine-v1 */
.wk-nav{display:flex;gap:14px;align-items:center}
.wk-nav a{color:var(--accent);text-decoration:none;font-weight:600}
.wk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:0 0 12px}
.wk-day{margin:0!important;width:auto!important;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px!important;border-radius:14px!important;background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important;cursor:pointer;font:inherit}
.wk-day:hover{border-color:var(--accent)!important}
.wk-dow{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.wk-num{font-size:26px;font-weight:700;line-height:1.1}
.wk-mon{font-size:12px;color:var(--muted)}
.wk-cnt{margin-top:6px;font-size:13px;font-weight:600;color:var(--accent)}
.wk-day.is-empty .wk-cnt{color:var(--muted);font-weight:400}
.wk-day.is-today{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)}
.wk-day.is-sel{background:rgba(37,99,235,.10)!important;border-color:var(--accent)!important}
.wk-panel{margin-bottom:16px}
@media (max-width:700px){.wk-days{display:flex;overflow-x:auto;padding-bottom:6px}.wk-day{flex:0 0 92px}}
/* /semaine-v1 */
