:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;background:#0b1020;color:#f8fafc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#111827,#0b1020)}header,main{width:min(900px,92%);margin:auto}header{padding:2rem 0 1rem}h1{margin:0;font-size:clamp(2rem,8vw,3.6rem)}header p{color:#94a3b8}main{display:grid;gap:1rem;padding-bottom:3rem}.card{background:#151c2e;border:1px solid #26324b;border-radius:18px;padding:1.2rem;box-shadow:0 12px 30px #0004}label{display:block;margin:.7rem 0}textarea{width:100%;resize:vertical;border-radius:12px;border:1px solid #475569;background:#0f172a;color:inherit;padding:1rem;font:inherit}button{margin-top:1rem;border:0;border-radius:12px;padding:.85rem 1.2rem;font-weight:700;cursor:pointer;background:#e5e7eb;color:#111827}#status{color:#93c5fd}@media(min-width:760px){main{grid-template-columns:1.5fr 1fr}.card{padding:1.5rem}}.wide{grid-column:1/-1}.hint{color:#94a3b8;font-size:.9rem}fieldset{border:1px solid #26324b;border-radius:12px;margin:.8rem 0;padding:.6rem .9rem}legend{padding:0 .4rem;color:#cbd5e1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.2rem .9rem}input{width:100%;margin-top:.3rem;border-radius:10px;border:1px solid #475569;background:#0f172a;color:inherit;padding:.6rem .7rem;font:inherit}details{margin:.8rem 0}summary{cursor:pointer;color:#cbd5e1;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:1rem 0}.kpis div{background:#0f172a;border:1px solid #26324b;border-radius:12px;padding:.8rem}.kpis dt{color:#94a3b8;font-size:.85rem}.kpis dd{margin:.3rem 0 0;font-size:1.4rem;font-weight:800}.warnings li{color:#fbbf24}.pos{color:#4ade80}.neg{color:#f87171}#finance-status{color:#93c5fd}footer{width:min(900px,92%);margin:0 auto 2rem;color:#64748b}footer a{color:#93c5fd}
/* Rapport d'analyse */
.report{display:contents}.report-section h3{margin-top:1.2rem;color:#cbd5e1}.table{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #26324b;vertical-align:top}thead th{color:#94a3b8}tr.unknown td{color:#64748b}
.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;background:#26324b;font-weight:700}.badge.neg{background:#7f1d1d}.badge.warn{background:#78350f}.badge.pos{background:#14532d}
.warn{color:#fbbf24}.big{font-size:1.8rem;font-weight:800}.access{grid-column:1/-1;border-radius:14px;padding:.6rem 1rem;border:1px solid #26324b}.access.blocked{border-color:#b45309;background:#451a03}.access.ok{background:#0f172a}
.kpis small{display:block;color:#94a3b8;margin-top:.2rem}.links a{margin-right:.8rem}a{color:#93c5fd}.buttonlike{display:inline-block;margin-top:1rem;border-radius:12px;padding:.85rem 1.2rem;font-weight:700;background:#334155;color:#f8fafc;text-decoration:none;cursor:pointer}code{background:#0f172a;padding:0 .3rem;border-radius:4px}
main{grid-template-columns:minmax(0,1fr)}.card{min-width:0;overflow-wrap:anywhere}@media(min-width:760px){main{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}textarea{max-width:100%}
.kpis dd.txt{font-size:1.05rem;overflow-wrap:normal}
tr.conflict td{color:#fbbf24}.next-action{border:1px dashed #b45309;border-radius:12px;padding:.6rem .9rem;margin:.8rem 0}.description{white-space:pre-wrap}.raw{white-space:pre-wrap;font-size:.75rem;max-height:320px;overflow:auto;background:#0f172a;padding:.6rem;border-radius:8px}
.table table{overflow-wrap:normal;word-break:normal}
@media(max-width:640px){table.fields thead{display:none}table.fields,table.fields tbody,table.fields tr{display:block}table.fields tr{border-bottom:1px solid #26324b;padding:.45rem 0}table.fields th,table.fields td{display:inline;border:0;padding:0}table.fields th{font-weight:700;margin-right:.4rem}table.fields th::after{content:" :"}table.fields td.v{font-weight:700}table.fields td[data-label]{display:block;font-size:.8rem;color:#94a3b8}table.fields td[data-label]::before{content:attr(data-label) " : "}table.fields td.c.none{display:none}table.fields tr.unknown td[data-label]{display:none}table.fields tr.unknown td.v::after{content:" (inconnu)";font-weight:400}}

/* Navigation, rubriques, listes (P8) */
.tabs{position:sticky;top:0;z-index:5;display:flex;gap:.2rem;overflow-x:auto;width:min(900px,92%);margin:0 auto .8rem;padding:.4rem;background:#111827ee;border:1px solid #26324b;border-radius:14px;backdrop-filter:blur(6px)}
.tabs a{flex:1 0 auto;text-align:center;padding:.55rem .7rem;border-radius:10px;color:#cbd5e1;text-decoration:none;font-weight:600;font-size:.92rem}.tabs a.active{background:#e5e7eb;color:#111827}
@media(max-width:640px){.tabs{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;margin:0;border-radius:0;border-width:1px 0 0;padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom))}.tabs a{font-size:.8rem;padding:.55rem .3rem}body{padding-bottom:4.2rem}}
.view{display:contents}.view[hidden]{display:none}
.report-section>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem}.report-section>summary::-webkit-details-marker{display:none}
.report-section>summary h2{display:inline;margin:0}.report-section>summary::before{content:"▸";color:#94a3b8}.report-section[open]>summary::before{content:"▾"}
.rubric-status{color:#94a3b8;font-size:.9rem}#finance summary h2{display:inline}
.summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.summary-head .actions button{margin-top:0}
.rubrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-top:.8rem}
.rubric{display:flex;flex-direction:column;gap:.2rem;background:#0f172a;border:1px solid #26324b;border-radius:12px;padding:.7rem;color:inherit;text-decoration:none;min-width:0}
.rubric:hover,.rubric:focus{border-color:#93c5fd}.rl{color:#94a3b8;font-size:.8rem}.rv{font-size:1.25rem;font-weight:800;overflow-wrap:anywhere}.rv.txt{font-size:1rem}.rubric small{color:#94a3b8;font-size:.78rem}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.4rem;margin:.8rem 0}.stats div{background:#0f172a;border-radius:10px;padding:.45rem .6rem}.stats dt{color:#94a3b8;font-size:.75rem}.stats dd{margin:0;font-weight:700}
.entries{list-style:none;padding:0;display:grid;gap:.6rem}.entries li{background:#0f172a;border:1px solid #26324b;border-radius:12px;padding:.7rem}.entries textarea{min-height:3rem}
.buttons button,.buttons .buttonlike{margin-top:.5rem}.checklist{list-style:none;padding:0}.checklist li{padding:.3rem 0;border-bottom:1px solid #1e293b}.checklist li.priority label{font-weight:700}
.checklist input{width:auto;margin:0 .3rem 0 0}.origin{display:inline-block;margin-left:.4rem;font-size:.72rem;padding:.05rem .45rem;border-radius:999px;background:#26324b;color:#cbd5e1}.origin.documenté{background:#1e3a8a}.origin.réglementaire{background:#14532d}
tr.rejected td{color:#94a3b8}select{width:100%;margin-top:.3rem;border-radius:10px;border:1px solid #475569;background:#0f172a;color:inherit;padding:.55rem .6rem;font:inherit}
.badge.pos{background:#14532d}.badge.warn{background:#78350f}
button{font-size:.95rem}

/* Tableau de bord du rapport (Synthèse, Agir) — identité DealMaëlyzer : bleu nuit, accent cyan.
   Couleurs fonctionnelles : vert favorable, orange vigilance, rouge risque, bleu/gris information (données). */
:root{--dm-bg:#0b1120;--dm-card:#111a2e;--dm-card2:#0d1526;--dm-line:#1e2a44;--dm-text:#f1f5f9;--dm-mute:#8b9bb7;--dm-accent:#22d3ee;--dm-good:#22c55e;--dm-warn:#f59e0b;--dm-bad:#ef4444;--dm-none:#64748b;--dm-data:#60a5fa}
.dash{grid-column:1/-1;display:flex;flex-direction:column;gap:.9rem;min-width:0;scroll-margin-top:.5rem}
.dash .tone-good{--tone:var(--dm-good)}.dash .tone-warn{--tone:var(--dm-warn)}.dash .tone-bad{--tone:var(--dm-bad)}.dash .tone-none{--tone:var(--dm-none)}.dash .tone-data{--tone:var(--dm-data)}
.hero{position:relative;overflow:hidden;border-radius:22px;padding:1.1rem 1.1rem 1rem;background:radial-gradient(120% 90% at 100% 0%,#0e7490 0%,transparent 55%),linear-gradient(160deg,#13203b,#0b1120);border:1px solid #1f3355}
.hero-top{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}
.hero-id{min-width:0}.hero-title{margin:0;font-size:clamp(1.45rem,6.4vw,2.1rem);line-height:1.1;letter-spacing:-.02em}
.hero-sub{color:#a5b4cf;font-size:.9rem;margin-top:.25rem}
.hero-actions{display:flex;gap:.35rem;flex-shrink:0}
.chip-btn{margin:0;padding:.4rem .7rem;border-radius:999px;background:#ffffff14;color:var(--dm-text);border:1px solid #ffffff22;font-size:.8rem;font-weight:600}
.hero-price{font-size:clamp(2rem,9vw,2.8rem);font-weight:800;letter-spacing:-.03em;margin:.6rem 0 .5rem;font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{padding:.22rem .6rem;border-radius:999px;background:#ffffff12;font-size:.82rem;color:#dbe4f3}.chip.ghost{background:transparent;border:1px solid #ffffff22;color:var(--dm-mute)}
.hero-link{margin-top:.7rem;font-size:.85rem}.hero-link a{color:var(--dm-accent);text-decoration:none;font-weight:600}
.seg{position:sticky;top:0;z-index:4;display:flex;gap:.25rem;padding:.3rem;border-radius:16px;background:#0d1526f2;border:1px solid var(--dm-line);backdrop-filter:blur(8px)}
.seg button{flex:1;margin:0;padding:.6rem .3rem;border-radius:12px;background:transparent;color:var(--dm-mute);font-size:.88rem;font-weight:700}
.seg button.active{background:var(--dm-accent);color:#04202a}
.panel{display:flex;flex-direction:column;gap:.9rem;min-width:0}.panel[hidden]{display:none}
.panel.full .full-inner{display:grid;gap:1rem;min-width:0}
.score-card{display:flex;flex-direction:column;align-items:center;padding:1rem 1rem .8rem;border-radius:22px;background:var(--dm-card);border:1px solid var(--dm-line)}
.gauge{position:relative;width:min(300px,82vw);--tone:var(--dm-none)}
.gauge-svg{width:100%;display:block;overflow:visible}
.gauge-track{fill:none;stroke:#1e2a44;stroke-width:14;stroke-linecap:round}
.gauge-fill{fill:none;stroke:var(--tone);stroke-width:14;stroke-linecap:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--tone) 55%,transparent))}
.gauge-center{position:absolute;left:0;right:0;bottom:0;text-align:center}
.gauge-value{font-size:clamp(2.8rem,15vw,3.8rem);font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.gauge-value small{font-size:.95rem;color:var(--dm-mute);font-weight:600;margin-left:.15rem}
.gauge-label{margin-top:.3rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--tone)}
.gauge.tone-none .gauge-label{color:var(--dm-mute)}
.score-reason{margin:.7rem 0 0;color:var(--dm-mute);font-size:.86rem;text-align:center;max-width:34ch}
.inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}@media(min-width:700px){.inds{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ind{position:relative;padding:.75rem .8rem .7rem;border-radius:18px;background:var(--dm-card);border:1px solid var(--dm-line);overflow:hidden;min-width:0}
.ind::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tone)}
.ind-head{display:flex;align-items:center;gap:.35rem;color:var(--dm-mute);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.ic{width:1rem;height:1rem;flex-shrink:0}.ind .ic{color:var(--tone)}
.ind-value{margin-top:.35rem;font-size:1.12rem;font-weight:800;color:var(--tone);line-height:1.15}
.ind.tone-none .ind-value{color:#b6c2d6}
.ind-detail{margin-top:.2rem;font-size:.74rem;color:var(--dm-mute)}
.databar{margin-top:.45rem;height:6px;border-radius:99px;background:#1e2a44;overflow:hidden}.databar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#94a3b8,var(--dm-data))}
.dcard{padding:1rem;border-radius:20px;background:var(--dm-card);border:1px solid var(--dm-line);min-width:0}
.dcard-title{margin:0 0 .8rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dm-mute)}
.pb-scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--dm-mute);}
.pb-track{position:relative;height:12px;border-radius:99px;background:linear-gradient(90deg,var(--dm-good),#38bdf8 45%,#38bdf8 55%,var(--dm-warn) 78%,var(--dm-bad));margin:2.1rem .4rem .9rem}
.pb-zone{position:absolute;top:-4px;bottom:-4px;border:2px solid #e2e8f0cc;border-radius:99px}
.pb-tick{position:absolute;top:-7px;width:2px;height:26px;background:#e2e8f0;transform:translateX(-1px)}
.pb-max{position:absolute;top:14px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid var(--dm-accent);transform:translateX(-6px)}
.pb-pin{position:absolute;top:-6px;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid #0b1120;box-shadow:0 0 0 2px #fff;transform:translateX(-12px)}
.pb-pin-label{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#0b1120;font-weight:800;font-size:.8rem;padding:.12rem .45rem;border-radius:8px}
.pb-legend{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:.3rem}.pb-legend b{display:block;font-size:.98rem;font-variant-numeric:tabular-nums}.pb-legend span{font-size:.72rem;color:var(--dm-mute)}.pb-legend .central b{color:#7dd3fc}
.pb-note{margin:.7rem 0 0;font-size:.74rem;color:var(--dm-mute);text-align:center}
.pricebar-empty{padding:.9rem;border-radius:14px;border:1px dashed #334766;background:var(--dm-card2);text-align:center}
.pe-title{font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#b6c2d6}.pricebar-empty p{margin:.4rem 0 0;font-size:.85rem;color:var(--dm-mute)}
.pe-sub{font-size:.8rem;color:var(--dm-mute)}.warnline{color:#fbbf24}
.keypoints ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.keypoints li{position:relative;padding-left:1.1rem;font-size:.95rem;line-height:1.4}.keypoints li::before{content:"";position:absolute;left:0;top:.5em;width:.45rem;height:.45rem;border-radius:50%;background:var(--dm-accent)}
.cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:0;padding:1rem;border-radius:16px;background:var(--dm-accent);color:#04202a;font-size:1rem;font-weight:800}
.cta .ic{width:1.15rem;height:1.15rem}.cta.secondary{background:transparent;color:var(--dm-text);border:1px solid #334766}
.targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.target{padding:.75rem;border-radius:14px;background:var(--dm-card2);border:1px solid var(--dm-line);min-width:0}
.target .tl{display:block;font-size:.72rem;color:var(--dm-mute);text-transform:uppercase;letter-spacing:.06em}.target b{display:block;font-size:1.2rem;margin-top:.2rem;font-variant-numeric:tabular-nums}.target small{display:block;color:var(--dm-mute);font-size:.72rem;margin-top:.15rem}
.target.hl{border-color:var(--dm-accent)}.target.hl b{color:var(--dm-accent)}.target.good b{color:var(--dm-good)}.target.warn b{color:var(--dm-warn)}.target.bad b{color:var(--dm-bad)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.check{display:flex;gap:.7rem;padding:.75rem;border-radius:14px;background:var(--dm-card2);border:1px solid var(--dm-line);border-left:4px solid var(--tone)}
.check-n{flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;background:color-mix(in srgb,var(--tone) 22%,transparent);color:var(--tone)}
.check.tone-none .check-n{color:#b6c2d6}
.check-origin{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dm-mute)}.check-title{font-weight:800;margin-top:.1rem}
.check-why{font-size:.84rem;color:#b6c2d6;margin-top:.2rem}.check-action{font-size:.86rem;margin-top:.3rem}
.link-btn{margin:.7rem 0 0;padding:0;background:none;color:var(--dm-accent);font-weight:700;font-size:.88rem}
.message{margin:0 0 .8rem;padding:.9rem;border-radius:14px;background:var(--dm-card2);border:1px solid var(--dm-line);white-space:pre-wrap;font:inherit;font-size:.92rem;line-height:1.5;user-select:text}
@media(min-width:760px){.dash{gap:1.1rem}.hero{padding:1.5rem}}
