/* Prêt contrôle technique — particularités de la page (langage 111) */
[hidden]{display:none!important}
@keyframes spin{to{transform:rotate(360deg)}}

.ct-vbar{display:flex;align-items:center;gap:14px;padding:12px 16px}
.ct-vbar .vi{width:42px;height:42px;border-radius:10px;background:var(--c-page);display:grid;place-items:center;flex:none}
.ct-vbar .vi .ico{width:22px;height:22px;color:var(--c-ink)}
.ct-vbar .tx{flex:1;min-width:0}
.ct-vbar b{display:block;font-size:15px;color:var(--c-ink)}
.ct-vbar small{display:block;font-size:12px;color:var(--c-muted)}
.ct-vbar .sel{width:auto;max-width:240px;flex:none}

/* zone de capture */
.ct-preview{position:relative;display:grid;place-items:center;min-height:260px;border:1.5px dashed #CFCFCF;border-radius:10px;background:var(--c-page);cursor:pointer;overflow:hidden}
.ct-preview:hover{border-color:var(--c-btn)}
.ct-preview img{max-width:100%;max-height:420px;display:block}
.ct-preview-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 18px;text-align:center}
.ct-preview-empty .ei{width:58px;height:58px;border-radius:14px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow)}
.ct-preview-empty .ei .ico{width:28px;height:28px;color:var(--c-ink)}
.ct-preview-empty b{font-size:14.5px;color:var(--c-ink);font-weight:600}
.ct-preview-empty small{font-size:12px;color:var(--c-muted)}
.ct-scanline{position:absolute;left:14px;right:14px;top:14px;height:2px;background:var(--c-brand);opacity:0;pointer-events:none}
.ct-preview.scanning .ct-scanline,.ct-preview-empty .ct-scanline{animation:ctSweep 2.6s ease-in-out infinite}
@keyframes ctSweep{0%{top:14px;opacity:0}12%{opacity:.9}88%{opacity:.9}100%{top:calc(100% - 16px);opacity:0}}
@media (prefers-reduced-motion:reduce){.ct-scanline{animation:none!important;display:none}}
.ct-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.dg-method{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--c-line);border-radius:10px;background:#fff;font:inherit;text-align:left;color:var(--c-ink)}
.dg-method:hover{border-color:var(--c-btn)}
.dg-method .ai2,.ct-tips .ai2{width:36px;height:36px;border-radius:8px;background:var(--c-page);display:grid;place-items:center;flex:none}
.dg-method .ai2 .ico,.ct-tips .ai2 .ico{width:18px;height:18px;color:var(--c-ink)}
.dg-method b{display:block;font-size:13px}
.dg-method small{display:block;font-size:11.5px;color:var(--c-muted)}
.ct-go-row{margin-top:12px}
.au-err{display:none;margin-top:12px}
.au-err.show{display:flex}

/* rapport */
.dg-report-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.dg-report-h h2{margin:0;font-size:17px;font-weight:700;color:var(--c-ink)}
.dg-sev-sum{display:flex;gap:6px;flex-wrap:wrap}
.ct-ctrl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.ct-ctrl-c{padding:10px 12px;border:1px solid var(--c-line);border-radius:8px}
.ct-ctrl-c small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--c-muted)}
.ct-ctrl-c small .ico{width:13px;height:13px}
.ct-ctrl-c b{display:block;margin-top:3px;font-size:13.5px;color:var(--c-ink)}
.dg-codes{display:flex;flex-direction:column;gap:8px}
.dg-dtc{display:flex;gap:12px;padding:11px 12px;border:1px solid var(--c-line);border-left:3px solid #C9C9C9;border-radius:8px}
.dg-dtc.crit{border-left-color:#B33B36}
.dg-dtc.maj{border-left-color:var(--c-brand)}
.dg-dtc.min{border-left-color:#2F8A57}
.dg-dtc-code{font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:13px;color:var(--c-ink);min-width:58px}
.dg-dtc-main{flex:1;min-width:0}
.dg-dtc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dg-dtc-title{font-size:13.5px;font-weight:600;color:var(--c-ink)}
.dg-dtc-sys{font-size:12px;color:var(--c-muted);margin-top:3px}
.dg-dtc-sys b{color:var(--c-ink);font-weight:600}
.ct-noswap{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:11.5px;color:var(--c-muted);line-height:1.45}
.ct-noswap .ico{width:13px;height:13px;margin-top:1px}
.ct-recos{margin-top:16px}
.ct-recos-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:var(--c-ink)}
.ct-recos-h .ico{width:18px;height:18px}
.ct-reco{border:1px solid var(--c-line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.ct-reco-h{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#F7F7F7;border-bottom:1px solid var(--c-line);flex-wrap:wrap}
.ct-reco-h .fam{font-size:13px;font-weight:700;color:var(--c-ink)}
.ct-reco-h .codes{flex:1;font-size:11.5px;color:var(--c-muted);font-family:ui-monospace,Consolas,monospace}
.ct-parts{display:flex;flex-direction:column}
.ct-part{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid #EFEFEF;color:var(--c-ink)}
.ct-part:first-child{border-top:none}
.ct-part:hover{background:#FAFAFA}
.ct-part-th{width:40px;height:40px;border-radius:8px;background:var(--c-page);display:grid;place-items:center;flex:none}
.ct-part-th .ico{width:18px;height:18px}
.ct-part-in{flex:1;min-width:0;display:flex;flex-direction:column}
.ct-part-br{font-size:11.5px;font-weight:800;text-transform:uppercase;color:var(--c-ink)}
.ct-part-nm{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-part-meta{font-size:11.5px;color:var(--c-muted)}
.ct-part-meta .stk{color:var(--c-ok);display:inline-flex;align-items:center;gap:3px}
.ct-part-meta .stk.off{color:var(--c-muted)}
.ct-part-meta .stk .ico{width:12px;height:12px}
.ct-part-pr .price{font-size:15px;font-weight:700;color:var(--c-ink);white-space:nowrap}
.ct-reco-note{padding:12px;font-size:12.5px;color:var(--c-muted);line-height:1.5}
.ct-reco-note a{color:var(--c-ink);font-weight:600;text-decoration:underline}
.ct-disc{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.ct-disc p{display:flex;align-items:flex-start;gap:7px;margin:0;font-size:11.5px;color:var(--c-muted);line-height:1.5}
.ct-disc .ico{width:13px;height:13px;flex:none;margin-top:2px}
.dg-report-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* colonne de droite */
.ct-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ct-tips li{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--c-text);line-height:1.45}
.dg-ro p{margin:0;font-size:12.5px;line-height:1.5}

@media (max-width:760px){
  .ct-methods{grid-template-columns:minmax(0,1fr)}
  .ct-ctrl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-vbar{flex-wrap:wrap}
  .ct-vbar .sel{max-width:none;width:100%}
}
