:root{--body-font:Segoe UI;--heading-font:Georgia;--ink:#15352b;--muted:#6b7c75;--cream:#f4f2e9;--paper:#fffefa;--green:#2f7359;--lime:#cddd8b;--orange:#e99d62;--red:#b95f56;--line:#dfe5de}*{box-sizing:border-box}body{margin:0;font-family:var(--body-font),Arial,sans-serif;background:var(--cream);color:var(--ink)}#appShell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}#appShell[hidden]{display:none}aside{background:#173d31;color:white;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:42px}.brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--lime);color:var(--ink);font:800 24px Georgia}.brand strong,.brand small{display:block}.brand small{opacity:.65;margin-top:3px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;color:#c9d5d0;padding:12px 14px;border-radius:9px;text-align:left;font-size:14px;cursor:pointer}nav button.active,nav button:hover{background:#285244;color:white}.aside-note{margin-top:auto;border:1px solid #477064;border-radius:12px;padding:14px;line-height:1.55}.aside-note small{color:#adc2ba}main{padding:38px 46px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 8px}h1{font:600 34px var(--heading-font),serif;margin:0 0 6px}header p{margin:0;color:var(--muted)}button{font:600 14px inherit;cursor:pointer}.primary,.secondary{border-radius:9px;padding:11px 16px}.primary{background:var(--green);color:white;border:1px solid var(--green)}.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 15px #173d3108}.stat{padding:20px}.stat small{color:var(--muted)}.stat b{display:block;font:600 32px Georgia;margin:10px 0 4px}.stat em{font-style:normal;font-size:12px;color:var(--green)}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h2{font:600 20px var(--heading-font);margin:0}.panel-head button{border:0;background:none;color:var(--green)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:13px 8px;border-bottom:1px solid #edf0ec;vertical-align:top}td strong{display:block;max-width:500px}.market-link{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}.market-link:hover{color:var(--green);border-bottom-color:var(--green)}.market-link::after{content:" ↗";font-size:.8em;color:var(--green)}.badge{display:inline-block;padding:5px 8px;border-radius:30px;font-size:11px;font-weight:700;background:#e7eee9;color:var(--green)}.badge.go{background:#dfeccd}.badge.no{background:#f4dedb;color:var(--red)}.score{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:white;font-weight:800}.deadline{color:var(--red);font-weight:700}.list{display:grid;gap:10px}.list-item{padding:13px;border:1px solid var(--line);border-radius:10px}.list-item small{color:var(--muted);display:block;margin-top:6px}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input,.toolbar select,input,textarea,select{border:1px solid var(--line);background:white;border-radius:8px;padding:10px;font:inherit}.toolbar input{flex:1}.wide{grid-column:1/-1}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.column{background:#e9e9e2;border-radius:12px;padding:12px;min-height:300px}.column h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.kanban-card{background:var(--paper);padding:12px;border-radius:9px;margin:9px 0;border:1px solid var(--line)}.kanban-card small{display:block;color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:5px;font-size:12px;color:var(--muted)}textarea{min-height:80px}dialog{border:0;border-radius:16px;width:min(650px,90vw);padding:0;box-shadow:0 20px 80px #15352b55}dialog form{padding:26px}.close{float:right;border:0;background:none;font-size:25px}dialog h2{font:600 25px var(--heading-font)}dialog menu{display:flex;justify-content:flex-end;gap:10px;padding:18px 0 0;margin:18px 0 0;border-top:1px solid var(--line)}#message:not(:empty){padding:12px;margin-bottom:16px;background:#dfeccd;border-radius:9px}.empty{color:var(--muted);padding:35px;text-align:center}@media(max-width:950px){#appShell{display:block}aside{height:auto;position:static}nav{grid-template-columns:repeat(3,1fr)}.aside-note{display:none}main{padding:25px}.stats,.kanban{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:600px){header{display:block}.actions{margin-top:18px}.stats,.kanban{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}nav{grid-template-columns:1fr 1fr}}
.text-btn{display:block;border:0;background:none;color:var(--green);padding:5px 0 0;font-size:11px}.detail-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px}.detail-head h3{font:600 20px var(--heading-font);margin:8px 0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;background:#f1f3ed;border-radius:9px}.source-help{margin-top:20px;padding:16px;border-left:4px solid var(--lime);background:#f4f6ea;line-height:1.6}.brand>span img{width:100%;height:100%;object-fit:contain;border-radius:10px}.config-grid{grid-template-columns:1fr 1fr}.config-grid .wide{grid-column:1/-1}.company-form textarea{min-height:100px}.vault-grid{grid-template-columns:2fr 1fr}.docs-stats .stat b{font-size:27px}.connector{display:grid;grid-template-columns:1fr auto;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.connector small{grid-column:1/-1;color:var(--muted)}.connector-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.connector-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}input[type=color]{height:43px;width:100%;padding:4px}.text-btn{text-decoration:none}@media(max-width:950px){.config-grid,.vault-grid,.connector-grid{grid-template-columns:1fr}}
/* --- V4 : authentification, assistant, plateforme --- */
.auth-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#173d31,#2f7359);grid-column:1/-1}
.auth-card{background:var(--paper);border-radius:18px;padding:34px;width:min(430px,92vw);box-shadow:0 25px 80px #0e2a2255}
.auth-brand{margin-bottom:24px}.auth-brand strong{font:600 22px var(--heading-font)}.auth-brand small{color:var(--muted)}
#authTabs{display:flex;gap:8px;margin-bottom:20px}
#authTabs button{flex:1;border:1px solid var(--line);background:var(--cream);border-radius:9px;padding:11px}
#authTabs button.active{background:var(--green);border-color:var(--green);color:#fff}
.auth-card form{display:grid;gap:13px}.auth-card label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.auth-note{color:var(--muted);line-height:1.5}
#authMessage:not(:empty){margin-top:15px;padding:11px;border-radius:9px;background:#f4dedb;color:var(--red)}
.aside-user{margin-top:14px;border-top:1px solid #477064;padding-top:14px;color:#c9d5d0}
.aside-user b{display:block;color:#fff}.aside-user small{display:block;margin:3px 0 6px}
.text-btn.danger{color:var(--red)}
.wizard h2{font:600 19px var(--heading-font);margin:22px 0 12px}.wizard h2:first-child{margin-top:0}

[hidden]{display:none!important}

.sub-banner{padding:13px 16px;margin-bottom:16px;border-radius:10px;line-height:1.5}.sub-banner.info{background:#eef3e2;border:1px solid var(--lime)}.sub-banner.warn{background:#f9e9e6;border:1px solid var(--red);color:var(--red)}

/* --- V4.3 : identité ENDLP par défaut, identité client après configuration --- */
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{
  --body-font:Poppins;
  --heading-font:Poppins;
  --ink:#111111;
  --text:#3A3E3C;
  --muted:#6B716E;
  --cream:#FAF9F6;
  --paper:#FFFFFF;
  --green:#1B6B4E;
  --lime:#E8F0EC;
  --primary-soft:#E8F0EC;
  --on-primary:#FFFFFF;
  --red:#B23A2E;
  --line:#C9CCC7;
}
body{font-family:var(--body-font),Arial,sans-serif;background:var(--cream);color:var(--text);font-size:14px;line-height:1.55}
#appShell{grid-template-columns:264px 1fr}
aside{background:var(--green);padding:30px 22px}
.brand{gap:14px;margin-bottom:38px}
.brand>span{width:104px;height:46px;border-radius:0;background:transparent;color:var(--on-primary);font:700 20px var(--heading-font),Arial,sans-serif;overflow:hidden;flex:0 0 auto}
.brand>span img{width:100%;height:100%;object-fit:contain;border-radius:0}
.brand>span.client-mark{padding:6px;background:rgba(255,255,255,.94);border-radius:8px;color:var(--green)}
.auth-brand>span.client-mark{background:transparent;padding:0}
.brand strong{font-weight:600;letter-spacing:-.01em}
.brand small{font-size:11px;letter-spacing:.03em;opacity:.74}
nav{gap:4px}
nav button{font-family:var(--body-font);font-weight:500;color:color-mix(in srgb,var(--on-primary) 78%,transparent);padding:11px 13px;border-radius:8px}
nav button.active,nav button:hover{background:color-mix(in srgb,var(--on-primary) 14%,transparent);color:var(--on-primary)}
.aside-note{border-color:color-mix(in srgb,var(--on-primary) 28%,transparent);border-radius:10px}
.aside-note small,.aside-user{color:color-mix(in srgb,var(--on-primary) 72%,transparent)}
.aside-user{border-top-color:color-mix(in srgb,var(--on-primary) 25%,transparent)}
main{padding:44px 52px;max-width:1560px}
header{margin-bottom:30px}
.eyebrow{color:var(--green);font-size:11px;letter-spacing:.15em;font-weight:600}
h1{font:700 36px/1.12 var(--heading-font),Arial,sans-serif;color:var(--ink);letter-spacing:-.025em}
header p{color:var(--muted)}
button{font-family:var(--body-font);font-weight:600}
.primary,.secondary{border-radius:8px;padding:11px 17px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.primary{background:var(--green);border-color:var(--green);color:var(--on-primary)}
.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--green) 22%,transparent)}
.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}
.card,.panel{background:var(--paper);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;box-shadow:0 8px 26px rgba(17,17,17,.035)}
.panel{padding:22px}
.panel h2{font:600 21px/1.25 var(--heading-font),Arial,sans-serif;color:var(--ink);letter-spacing:-.015em}
.stat{padding:22px}
.stat b,.docs-stats .stat b{font:700 31px/1 var(--heading-font),Arial,sans-serif;color:var(--ink)}
.stat em{color:var(--green);font-weight:500}
th{color:var(--muted);font-weight:600;letter-spacing:.08em}
td{border-bottom-color:color-mix(in srgb,var(--line) 42%,transparent)}
td strong,.market-link{color:var(--ink)}
.badge{background:var(--primary-soft);color:var(--green)}
.badge.go{background:var(--primary-soft);color:var(--green)}
.score{background:var(--ink);font-family:var(--heading-font)}
.column{background:color-mix(in srgb,var(--primary-soft) 54%,var(--cream));border:1px solid color-mix(in srgb,var(--line) 56%,transparent)}
.toolbar input,.toolbar select,input,textarea,select{border-color:var(--line);border-radius:7px;color:var(--ink);font-family:var(--body-font)}
input:focus,textarea:focus,select:focus{outline:3px solid color-mix(in srgb,var(--green) 18%,transparent);border-color:var(--green)}
.source-help{border-left-color:var(--green);background:var(--primary-soft)}
dialog{border-radius:12px;box-shadow:0 24px 90px rgba(17,17,17,.25)}
dialog h2,.detail-head h3,.wizard h2{font-family:var(--heading-font);color:var(--ink)}
.auth-screen{background:var(--green);padding:36px 20px}
.auth-card{position:relative;background:var(--cream);border-radius:14px;padding:38px;width:min(488px,94vw);box-shadow:0 28px 90px rgba(17,17,17,.24);border:1px solid color-mix(in srgb,var(--on-primary) 22%,transparent)}
.auth-card::after{content:'';position:absolute;right:26px;bottom:22px;width:42px;height:3px;background:var(--green);border-radius:2px}
.auth-topline{font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--green);margin-bottom:28px}
.auth-brand{margin-bottom:30px}
.auth-brand>span{width:164px;height:70px}
.auth-brand strong{font:600 17px var(--heading-font);color:var(--ink)}
.auth-brand small{font-size:12px;color:var(--muted);opacity:1}
.auth-card h1{font-size:32px;margin:0 0 10px}
.auth-intro{margin:0 0 26px;color:var(--muted);line-height:1.65}
#authTabs{gap:6px}
#authTabs button{background:transparent;border-color:var(--line);border-radius:7px}
#authTabs button.active{background:var(--green);border-color:var(--green);color:var(--on-primary)}
.auth-card form{gap:15px}
.auth-card label{font-weight:500;color:var(--text)}
.client-login-link{display:flex;gap:8px;align-items:center}
.client-login-link input{flex:1;background:var(--primary-soft)}
.brand-preview{display:flex;align-items:center;gap:12px;padding:12px;background:var(--primary-soft);border-radius:8px;margin:12px 0}
.brand-preview img{width:110px;height:52px;object-fit:contain}
@media(max-width:950px){#appShell{grid-template-columns:1fr}aside{padding:22px}main{padding:28px}.brand{margin-bottom:22px}}
@media(max-width:600px){.auth-card{padding:28px 24px}.auth-card h1{font-size:27px}main{padding:22px 16px}h1{font-size:30px}}
