:root{--brand:#517EBB;--button:#3D6399;--navy:#2C4A75;--tint:#EAF0F8;--muted:#616460;--ink:#1C2426;--sand:#F6F1EA;--border:#D3DEEC;--green:#246440;--orange:#8b5100;--red:#a02722;font-family:"Figtree","Avenir Next",system-ui,sans-serif;color:var(--ink);background:#f7f8fa;font-size:18px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button,.button{min-height:48px;border-radius:12px;border:1px solid var(--border);padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:white;color:var(--navy);font-weight:600}button:disabled{opacity:.7;cursor:wait}a{color:var(--navy);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b46310;outline-offset:4px}button:hover,.button:hover{box-shadow:0 3px 12px #2c4a7520}header{max-width:1280px;margin:auto;min-height:112px;padding:20px 40px;display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--border)}header>a{display:flex;align-items:center;min-height:48px}header img{object-fit:contain}.header-note{color:var(--muted);margin-left:auto;font-size:16px}.badge{background:#fff0d5;color:#764500;border:1px solid #dbb477;border-radius:8px;padding:5px 10px;font-size:16px;font-weight:650}[hidden]{display:none!important}main{max-width:1280px;margin:auto;padding:36px 40px 24px}.greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Outfit","Avenir Next",system-ui,sans-serif;line-height:1.2;letter-spacing:-.025em}h1{font-size:44px;font-weight:600;margin:9px 0}h1 span{color:var(--brand)}h2{font-size:28px;font-weight:600}h3{font-size:21px}.greeting p:not(.eyebrow){font-size:16px;color:var(--muted)}.eyebrow{font-size:13px;letter-spacing:.13em;font-weight:700;color:var(--navy)}.today{background:white;border:1px solid var(--border);border-radius:30px;padding:8px 18px;color:var(--navy);font-size:16px}.assistant{background:var(--navy);color:white;padding:30px;border-radius:24px;box-shadow:0 12px 30px #2c4a7512}.assistant .eyebrow{color:#d1e0f6}.assistant-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.assistant h2{font-size:32px;margin-top:8px}.spark{height:48px;width:48px;color:#c8d9f2}label{display:block;margin-bottom:10px}.composer{background:white;padding:7px;display:flex;gap:7px;border-radius:16px;color:var(--ink)}input{width:100%;min-width:0;border:0;background:white;border-radius:10px;padding:14px;color:var(--ink);font-size:18px}input::placeholder{color:#616460}.mic{flex-shrink:0;background:var(--tint);border:0;padding:10px 16px}.mic svg{width:24px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}#send{background:var(--button);color:white;border:0;white-space:nowrap}#send span{font-size:25px}#voice-status{margin-top:9px;font-size:16px;color:#e3ebf8}#stop-mic{margin-top:10px}.prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.prompts button{border-radius:30px;background:transparent;border-color:#819abc;color:white;font-size:16px;padding:10px 14px;font-weight:400}.response{background:white;color:var(--ink);padding:24px;border-radius:16px;margin-top:24px}.response .eyebrow{color:var(--navy)}#answer{font-size:21px;line-height:1.6;margin:10px 0 18px}.response-actions{display:flex;gap:10px;flex-wrap:wrap}.response-actions .button{background:var(--tint)}#speech-status{font-size:16px;margin-top:8px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:36px 0 20px}.section-title>span{font-size:15px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.card{grid-column:span 2;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:24px;background:white;min-width:0;border-radius:20px;color:var(--ink);gap:13px;font-weight:400;position:relative}.card:nth-child(n+4){grid-column:span 3}.card-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.card h3{color:var(--navy)}.card .value{font-size:42px;font-weight:600;line-height:1.15;color:var(--navy);letter-spacing:-.04em}.card .value .badge{display:block;width:max-content;margin-top:8px;letter-spacing:0}.card .summary{font-size:18px;min-height:56px}.status{font-size:14px;color:var(--muted);display:flex;gap:7px;align-items:center}.dot{height:9px;width:9px;border-radius:50%;background:#6b7074;flex-shrink:0}.status.green{color:var(--green)}.green .dot{background:var(--green)}.status.orange{color:var(--orange)}.orange .dot{background:var(--orange)}.status.red{color:var(--red)}.red .dot{background:var(--red)}.card small{font-size:14px;color:var(--muted);line-height:1.65}.card .more{font-size:15px;color:var(--navy);margin-top:auto;display:flex;justify-content:space-between}.soon{font-size:16px;color:var(--muted);margin-top:18px}.history{margin-top:32px;background:white;padding:26px;border:1px solid var(--border);border-radius:20px}.history .section-title{margin-top:0}.history h2{margin-top:7px}.history p{color:var(--muted);font-size:16px}#chart{margin-top:20px}.chart-week{margin-bottom:18px}.week-label{font-size:15px;color:var(--muted);margin-bottom:5px}.bar-row{display:grid;grid-template-columns:85px 1fr 90px;gap:8px;align-items:center;font-size:14px;margin-bottom:4px}.bar-track{height:12px;background:#edf1f7;border-radius:4px}.bar{height:12px;background:var(--button);border-radius:4px}.bar.visites{background:#69776c}.chart-empty{padding:26px;background:var(--tint);border-radius:12px;font-size:18px!important;color:var(--navy)!important}.ex-label{font-size:12px;color:#764500;display:block}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:18px;margin-top:22px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}th{color:var(--navy)}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;color:var(--muted);font-size:14px}footer a{display:inline-flex;align-items:center;min-height:48px}dialog{width:min(940px,100% - 24px);max-height:92dvh;border:1px solid var(--border);border-radius:22px;padding:30px;background:#f7f8fa;color:var(--ink)}dialog::backdrop{background:#14243b99}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}#detail-content h2{font-size:32px;margin-bottom:16px}#detail-content>p{margin:16px 0}#detail-content .detail-value{font-size:42px;color:var(--navy)}#detail-content a{min-height:48px;display:inline-flex;align-items:center}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:10px}.login{max-width:520px;margin:8vh auto;padding:30px;background:white;border:1px solid var(--border);border-radius:20px}.login h1{font-size:32px}.login input{border:1px solid var(--border);margin:10px 0}.login button{background:var(--button);color:white;width:100%}
@media(min-width:1100px){.cards{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:750px){header{padding:16px 20px;min-height:88px;flex-wrap:wrap;gap:8px}header img{width:155px;height:58px}.header-note{font-size:13px;max-width:110px;text-align:right}main{padding:24px 18px 12px}.greeting{align-items:flex-start;gap:8px}h1{font-size:34px}.today{display:none}.greeting p:not(.eyebrow){font-size:14px}.assistant{padding:22px 18px;border-radius:20px}.assistant h2{font-size:28px}.spark{display:none}.composer{flex-wrap:wrap;padding:6px}.composer input{flex-basis:100%;padding:13px 10px}.mic{flex:1}#send{flex:2;font-size:16px;padding:11px 10px}.prompts{gap:8px}.prompts button{font-size:16px;text-align:left;justify-content:flex-start}.section-title{display:block}.section-title>span{display:block;margin-top:9px}.section-title h2{font-size:26px}.cards{display:grid;grid-template-columns:1fr;gap:12px}.card,.card:nth-child(n+4){grid-column:auto;padding:22px}.card .summary{min-height:0}.card .value{font-size:40px}.soon span{display:block}.history{padding:20px 16px}.bar-row{grid-template-columns:70px 1fr 70px;font-size:13px}.response{padding:18px}#answer{font-size:20px}.response-actions>*{width:100%}footer{display:block}footer p{margin-bottom:10px}dialog{padding:22px 18px}.detail-top{align-items:flex-start;flex-direction:column}table{font-size:16px}th,td{padding:9px 6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:750px){.composer{display:grid;grid-template-columns:64px minmax(0,1fr)}.composer input{grid-column:1/-1}.mic{padding:10px}.mic span{display:none}#send{font-size:18px;white-space:normal}.assistant h2{font-size:26px}}
/* Passe 2 : un badge par carte, huit semaines compactes et micro prioritaire. */
.status.badge{align-self:flex-start;letter-spacing:0;font-size:14px}.status.green{background:#edf7f0;border-color:#b6d4c1}.status.gray{background:#f0f1f2;border-color:#d1d5d8}.status.orange{background:#fff0d5;border-color:#dbb477}.answer-origin{font-size:14px;color:var(--muted);margin:-8px 0 16px}header #mode{max-width:420px}.chart-legend{display:flex;gap:20px;font-size:15px;color:var(--navy);margin:12px 0}.chart-legend span+span{color:#9a5719}.columns{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;height:155px}.columns .chart-week{display:flex;flex-direction:column;padding:0;border:0;border-radius:3px;min-width:0;gap:6px;justify-content:flex-end;margin:0;background:transparent}.column-pair{height:120px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.column-pair .bar{width:24%;min-height:0;border-radius:4px 4px 0 0;background:var(--brand)}.column-pair .visites{background:#a65e21}.columns .week-label{font-size:13px;white-space:nowrap;margin:0}#chart-value{font-size:15px;margin:8px 0;min-height:24px}#chart{max-height:260px}#chart-note{font-size:15px}footer{gap:16px;flex-wrap:wrap}
@media(max-width:600px){.composer{display:grid;grid-template-columns:1fr;background:transparent;padding:0;gap:12px}.composer #mic{grid-row:1;justify-self:center;display:flex;flex-direction:column;border-radius:50%;width:156px;height:156px;background:#fff0d5;color:#2c4a75;box-shadow:0 5px 18px #0003;padding:20px 12px;text-align:center;font-size:18px}.mic svg{width:34px;height:42px}.composer input{grid-row:2}.composer #send{grid-row:3}.columns{gap:3px}.column-pair{gap:3px}.columns .week-label{font-size:11px}header #mode{width:100%;max-width:none}header{flex-wrap:wrap}.chart-legend{font-size:14px;gap:15px}.card .summary{min-height:0}}
@media(max-width:600px){.composer .mic span{display:block}.composer input{grid-column:1}.composer #mic{grid-column:1}.composer #send{grid-column:1}}

/* Passe 3 : origine des chiffres sous la réponse, avant la méthode de rédaction. */
#answer-data-origin{display:inline-flex;margin:6px 0 8px}
#answer-data-origin.green{background:#edf7f0;border-color:#b6d4c1;color:var(--green)}
.response .answer-origin{margin:4px 0 16px}

#answer{font-size:clamp(20px,2.2vw,26px);line-height:1.5}.answer-labels{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:#616460;font-size:14px}.answer-labels>span:empty{display:none}.answer-labels .answer-origin{font-size:14px;margin:0}.card small{font-size:14px}.response-actions #answer-link{font-size:15px}

.lecture{margin-top:32px;background:white;padding:26px;border:1px solid var(--border);border-radius:20px}.lecture-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}.lecture-list li{display:flex;gap:14px;align-items:flex-start;font-size:18px}.lecture-list .t{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:18px}.t.hausse{background:#e4f1e8;color:var(--green)}.t.baisse{background:#f7e3e2;color:var(--red)}.t.stable,.t.info{background:var(--tint);color:var(--navy)}.t.surveiller{background:#fbeedb;color:var(--orange)}
