:root{--bg:#f4f7fb;--card:#fff;--text:#101828;--muted:#667085;--line:#e4e7ec;--p:#4f46e5;--r:18px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}header{min-height:72px;padding:12px 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center}.brand small,.brand b{display:block}.brand small,.muted{color:var(--muted)}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#4f46e5,#7c3aed)}nav{display:flex;gap:7px;flex-wrap:wrap}main{max-width:1180px;margin:auto;padding:40px 22px 80px}.hidden{display:none!important}.auth-grid{min-height:72vh;display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center}.hero h1{font-size:clamp(42px,6vw,70px);line-height:1.02;margin:18px 0}.hero p{font-size:20px;color:var(--muted)}.blocks,.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.blocks div,.stat{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.blocks b,.blocks span{display:block}.blocks b{color:var(--p);font-size:19px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:25px;box-shadow:0 12px 30px #1018280d}label{display:block;font-weight:750;margin:15px 0 7px}input,select,textarea{width:100%;padding:13px;border:1px solid #cfd4dc;border-radius:11px;font:inherit}textarea{min-height:95px}button{border:0;border-radius:11px;padding:12px 17px;font:inherit;font-weight:800;background:var(--p);color:#fff;cursor:pointer}.secondary{background:#eef2f6;color:var(--text)}.link{background:transparent;color:var(--p);width:100%}#authForm>button:first-of-type{width:100%;margin-top:15px}.pill{display:inline-block;padding:7px 11px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:13px;font-weight:800}.eyebrow{color:var(--p);text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:12px}h2{font-size:32px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.category{text-align:left;min-height:165px;background:#fff;color:var(--text);border:1px solid var(--line);padding:21px}.category i{font-style:normal;font-size:32px}.category p{color:var(--muted);font-weight:500}.wizard-top{display:flex;gap:20px;align-items:center;margin-bottom:20px}.progress-wrap{flex:1}.progress{height:9px;background:#e6eaf0;border-radius:99px;margin-top:8px;overflow:hidden}.progress i,.scorebar i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed)}.diagnostic-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}.question-card{min-height:430px}.question-card h2{font-size:30px}.choice{display:block;width:100%;text-align:left;margin:9px 0;background:#f8fafc;color:var(--text);border:2px solid transparent}.choice.selected{border-color:var(--p);background:#eef2ff}.custom{display:grid;grid-template-columns:1fr auto;gap:9px}.actions{display:flex;justify-content:space-between;margin-top:28px}.score{margin:15px 0}.scorehead{display:flex;justify-content:space-between;font-weight:800}.scorebar{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:6px}.result-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.confidence{font-size:50px;font-weight:900;color:var(--p)}.solution,.cause{padding:15px;background:#f8fafc;border-radius:12px;margin:10px 0}.community,.feedback{margin-top:18px}.feedback-actions{display:flex;gap:9px}.history-item,.printer-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;margin:10px 0;display:flex;justify-content:space-between}.stat b{font-size:34px;display:block}.msg{min-height:18px;color:#b42318}@media(max-width:800px){.auth-grid,.diagnostic-layout,.result-grid,.two-col{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.blocks{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}@media(max-width:500px){.category-grid{grid-template-columns:1fr}.hero h1{font-size:42px}header{align-items:flex-start}nav{justify-content:flex-end}}

.header-actions{display:flex;align-items:center;gap:14px}.header-actions>select{width:auto;min-width:135px;padding:9px 10px}@media(max-width:850px){.header-actions{flex-direction:column;align-items:flex-end}}

/* V3.6 — thème sombre V2.1 + diagnostic visuel */
:root{--bg:#06101d;--card:#0c1a29;--card2:#11263a;--text:#e8f4ff;--muted:#9eb2c5;--line:#28445d;--p:#14b8a6;--blue:#60a5fa;--r:18px}body{background:radial-gradient(circle at 15% 0,#102c44 0,transparent 34%),linear-gradient(180deg,#06101d,#081522 70%);color:var(--text);min-height:100vh}header{background:#081522e8;border-bottom-color:var(--line);backdrop-filter:blur(14px)}.logo{background:linear-gradient(135deg,var(--p),var(--blue));box-shadow:0 0 28px #14b8a64a}.card,.blocks div,.stat,.category,.history-item,.printer-item{background:linear-gradient(180deg,#0d1d2d,#0a1724);border-color:var(--line);box-shadow:0 14px 34px #0005}.hero p,.muted,.category p,.brand small{color:var(--muted)}input,select,textarea{background:#081522;color:var(--text);border-color:var(--line)}input:focus,select:focus,textarea:focus{outline:2px solid #14b8a655;border-color:var(--p)}button{background:linear-gradient(135deg,#14b8a6,#0f8f86);box-shadow:0 8px 18px #0003}.secondary{background:#173047;color:var(--text)}.link,.eyebrow,.confidence,.blocks b{color:var(--p)}.pill{background:#12362f;color:#70eadb}.choice{background:#0b1927;color:var(--text);border-color:#1c374e}.choice.selected{border-color:var(--p);background:#12362f}.progress,.scorebar,.score-bar{background:#183147}.progress i,.scorebar i,.score-bar i{background:linear-gradient(90deg,var(--p),var(--blue))}.solution,.cause,.top-cause{background:#0a1724;border:1px solid #1c374e}.visual-card{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;margin:20px 0 30px;overflow:hidden}.visual-copy h2{margin:8px 0}.photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;border:2px dashed #3d607a;border-radius:16px;background:#081522;cursor:pointer;text-align:center;padding:20px;transition:.2s}.photo-drop:hover{border-color:var(--p);background:#0d2430}.photo-drop input{display:none}.photo-drop span{font-size:18px;font-weight:850}.photo-drop small{color:var(--muted);margin-top:7px}.visual-preview{min-height:330px;background:#07111c;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.visual-preview img{width:100%;height:100%;max-height:430px;object-fit:contain}.preview-empty{font-size:72px;opacity:.35}.visual-preview #visualResult{position:absolute;left:12px;right:12px;bottom:12px;max-height:80%;overflow:auto;background:#07111cf2;border:1px solid var(--line);border-radius:13px;padding:16px;backdrop-filter:blur(10px)}#visualResult h3{margin:6px 0 8px}#visualResult h3 span{float:right;color:var(--p)}#visualResult h4{margin:12px 0 4px}#visualResult ul{margin:5px 0 12px;padding-left:20px}.manual-separator{display:flex;align-items:center;gap:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;margin:4px 0 18px}.manual-separator:before,.manual-separator:after{content:"";height:1px;background:var(--line);flex:1}.msg{color:#ff9a8f}#visualMsg{color:#9ed9d4}.category:hover{transform:translateY(-2px);border-color:#3d607a}.category{transition:.2s}.status{padding:5px 9px;border-radius:99px;background:#173047}@media(max-width:800px){.visual-card{grid-template-columns:1fr}.visual-preview{min-height:260px}}

.vision-status{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:13px}.vision-status span:first-child{width:10px;height:10px;border-radius:50%;background:#d59b2d;box-shadow:0 0 10px #d59b2d88}.vision-status.ready span:first-child{background:#14b8a6;box-shadow:0 0 10px #14b8a688}.vision-status.error span:first-child{background:#ef6a5b;box-shadow:0 0 10px #ef6a5b88}

/* V3.8 — administration bêta et plans */
.admin-kpis{grid-template-columns:repeat(4,1fr)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.beta-state{padding:13px 15px;border-radius:12px;margin:12px 0 14px;font-weight:900;border:1px solid var(--line)}.beta-state.active{background:#0d493e;color:#79f2d8;border-color:#1aa88f}.beta-state.stopped{background:#502027;color:#ffb1ab;border-color:#d64e5b}.danger-zone{margin-top:18px;padding:15px;border:1px solid #9d3744;border-radius:14px;background:#3a151c}.danger-zone h4{margin:0 0 4px}.danger{width:100%;background:linear-gradient(135deg,#ff5b68,#d9364a);text-transform:uppercase;letter-spacing:.05em}.admin-users-card{margin:18px 0}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:680px}.admin-table th,.admin-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line)}.admin-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.admin-table select{min-width:150px}.plan-badge{display:inline-block;padding:5px 9px;border-radius:99px;text-transform:uppercase;font-size:11px;font-weight:900;background:#173047}.plan-beta{background:#123e36;color:#72e8d4}.plan-premium{background:#40351a;color:#ffd36c}.plan-admin{background:#34235b;color:#cbb7ff}.audit-row{padding:10px 0;border-bottom:1px solid var(--line)}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.admin-kpis{grid-template-columns:1fr 1fr}}

/* MyPrintMedic Pro Vision — ranked, explainable visual result */
.vision-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quality-pill{font-size:12px;font-weight:850;padding:5px 9px;border-radius:999px;background:#173047;color:#cfe8ff}.quality-pill.ok{background:#12362f;color:#70eadb}.quality-pill.warn{background:#4b3219;color:#ffd28b}.vision-warning{padding:10px 12px;margin:10px 0;border:1px solid #8c6330;background:#3b2a17;color:#ffd9a0;border-radius:10px}.vision-ranking{display:grid;gap:8px}.vision-rank{display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px 12px;background:#0b1927;border:1px solid #294a62;color:var(--text);box-shadow:none;padding:12px}.vision-rank:hover,.vision-rank.primary-rank{border-color:var(--p);background:#10312f}.vision-rank span{color:var(--p);font-weight:900}.vision-rank small{grid-column:1/-1;color:var(--muted);line-height:1.35}.vision-observations li{margin-bottom:8px}.vision-observations li span{color:var(--p);font-weight:850;margin-left:5px}.vision-observations li small{display:block;color:var(--muted);margin-top:2px}#visualResult details{margin:12px 0;border:1px solid var(--line);padding:9px 11px;border-radius:10px}#visualResult summary{cursor:pointer;font-weight:800}

.manual-tools{padding:16px;margin-bottom:18px}.manual-search-wrap{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.manual-search-wrap input{margin:0}.category-groups{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.group-chip{background:#10263a;color:var(--muted);border:1px solid var(--line);box-shadow:none;padding:9px 12px}.group-chip:hover,.group-chip.active{background:#123f3b;color:#dffbf7;border-color:var(--p)}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category{min-height:205px;display:flex;flex-direction:column;position:relative;overflow:hidden}.category:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--p),var(--blue));opacity:.75}.category-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.category .icon{font-size:34px}.category-group{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#85c8d8;background:#10283a;border:1px solid #23465e;border-radius:99px;padding:5px 8px}.category h3{margin:15px 0 7px;font-size:18px}.category p{margin:0 0 16px;line-height:1.45}.category-action{margin-top:auto;color:#66e2d4;font-size:13px;font-weight:850}.category-empty{text-align:center;color:var(--muted);padding:30px}.category:hover{transform:translateY(-4px);box-shadow:0 18px 42px #0007;border-color:#397391}@media(max-width:1050px){.category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.category-grid{grid-template-columns:1fr}.manual-search-wrap{grid-template-columns:1fr}.category{min-height:180px}}

.admin-kb-card{margin:20px 0}.kb-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:18px}.kb-list{display:grid;gap:8px;max-height:700px;overflow:auto;margin-top:10px}.kb-item{text-align:left;background:#fff;color:#101828;border:1px solid #d0d5dd;padding:12px}.kb-item span{display:block}.kb-item small{display:block;color:#667085;margin-top:5px}.kb-item.disabled{opacity:.55}.kb-form{border-left:1px solid #eaecf0;padding-left:18px}.two-col-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code-area{min-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{width:auto}@media(max-width:850px){.kb-layout{grid-template-columns:1fr}.kb-form{border-left:0;border-top:1px solid #eaecf0;padding-left:0;padding-top:18px}.two-col-fields{grid-template-columns:1fr}.code-area{min-height:300px}}


/* Pro v1.1.2 — choix explicite galerie ou caméra */
.photo-source-picker{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:16px 0;
}
.photo-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.photo-source-btn{
  min-height:54px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.photo-source-picker small{
  grid-column:1 / -1;
  display:block;
  color:var(--muted);
  text-align:center;
}
@media(max-width:560px){
  .photo-source-picker{grid-template-columns:1fr}
  .photo-source-picker small{grid-column:1}
}

.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.plan-card{display:flex;flex-direction:column;gap:12px}.plan-card.featured{outline:2px solid var(--accent,#22d3c5)}
.plan-card strong{font-size:1.8rem}.billing-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.billing-summary>div{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.billing-summary span{display:block;color:var(--muted);font-size:.9rem}.billing-summary b{display:block;font-size:1.25rem;margin-top:4px}
.license-key{display:block;overflow-wrap:anywhere;padding:12px;border-radius:10px;background:rgba(0,0,0,.25)}
.device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:800px){.pricing-grid{grid-template-columns:1fr}.billing-summary{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.billing-summary{grid-template-columns:1fr}}
