:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#152b48;background:#f6f8fb;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c4a567;outline-offset:2px}[hidden]{display:none!important}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:#fff;z-index:90;padding:12px}.layout{width:min(1160px,calc(100% - 32px));margin:auto}.top{background:#fff;border-bottom:1px solid #e9edf2}.topinner{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;background:#152b48;color:#d7b978;width:46px;height:46px;border-radius:13px;font-weight:850;font-size:20px}.brand strong{display:block;letter-spacing:.02em;font-size:16px}.brand small{display:block;color:#74859a;letter-spacing:.14em;font-size:9px;font-weight:750}.top nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:650}.top nav a:hover{color:#2767b0}.outline{border:1px solid #d7e0eb;color:#1b3653;background:#fff;border-radius:11px;padding:11px 17px;font-weight:700}.primary{border:0;border-radius:11px;background:#152b48;color:#fff;padding:12px 19px;font-weight:750;min-height:44px}.textbutton{border:0;background:none;color:#2766a8;padding:9px 3px;text-align:left;font-size:13px}.hero{display:grid;grid-template-columns:1.7fr 0.6fr;min-height:262px;padding:42px 43px;margin:26px 0;background:linear-gradient(116deg,#152b48,#1c4563);color:#fff;border-radius:25px;overflow:hidden}.hero h1{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.05em;margin:10px 0 13px}.hero em{font-style:normal;color:#e4c384}.hero p{max-width:690px;color:#d3dfe9;font-size:14px;line-height:1.65}.eyebrow{color:#e3c88b;font-size:10px;font-weight:800;letter-spacing:.15em}.eyebrow.ink{color:#2669a4}.emblem{font-weight:850;display:flex;align-items:center;justify-content:center;font-size:70px;letter-spacing:-.06em;color:#e4c384;position:relative}.emblem sup{font-size:20px}.emblem span{font-size:23px;display:block;transform:translateY(35px)}.emblem b{font-size:66px;opacity:.3;position:absolute;top:0;right:0}.panel{padding:28px;background:#fff;border:1px solid #e8edf2;border-radius:21px;margin-bottom:26px;box-shadow:0 14px 40px #12334b08}.headerline{display:flex;align-items:center;justify-content:space-between;gap:15px}.headerline h2{font-size:26px;letter-spacing:-.04em;margin:3px 0}.headerline p{font-size:13px;color:#748498;margin:4px 0 18px;line-height:1.65}.counter{color:#216353;background:#ecf7f2;border-radius:17px;white-space:nowrap;font-size:11px;padding:9px 13px;font-weight:800}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:13px;margin:16px 0 25px;padding:17px;background:#f7f9fa;border-radius:15px}label{font-size:12px;font-weight:720;color:#40546a;display:flex;flex-direction:column;gap:7px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d8e2eb;border-radius:11px;background:#fff;min-height:44px;padding:10px 12px;color:#17304d;font-size:13px}textarea{resize:vertical;line-height:1.55}.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.doc{border:1px solid #e7eaf0;background:#fff;border-radius:17px;padding:20px;min-width:0}.doc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.pill{padding:6px 10px;background:#eaf4f0;color:#17674a;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap}.pill.locked{background:#fff1e4;color:#a76c27}.doc h3{margin:13px 0 5px;font-size:17px;letter-spacing:-.025em}.doc p{font-size:12px;color:#64758a;line-height:1.65;margin:7px 0}.meta{color:#657992;font-weight:750;font-size:11px}.doc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.doc-actions button{font-size:12px;min-height:37px;padding:8px 12px;border-radius:9px}.doc-actions .primary{background:#176a66}.muted{color:#8491a1;font-size:12px}.status{min-height:17px;font-size:13px;color:#23694c}.status.error{color:#b83535}.empty{grid-column:1/-1;text-align:center;padding:55px 15px;background:#f7f9fb;border:1px dashed #d4dce6;border-radius:15px;color:#68798e}.admin{border-top:3px solid #d5af6f}.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:38px}.admin h3{font-size:20px;letter-spacing:-.03em;margin:17px 0}.admin form{display:grid;gap:15px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rightsflags{display:grid;gap:11px;margin:8px 0}.rightsflags label{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:13px;color:#203951}.rightsflags input{accent-color:#176b60;width:18px;height:18px;margin:0}.hint{font-size:12px;color:#748397;line-height:1.65}.chosen{background:#f2f6f7;border-radius:12px;padding:14px;color:#1e5673;font-size:13px;font-weight:680}.actions{display:flex;gap:9px;flex-wrap:wrap}.legend{border-top:1px solid #e7edf1;margin-top:27px}.legend p{font-size:12px;color:#67798a;line-height:1.7}.footlinks{margin:38px 0 60px}.footlinks h2{letter-spacing:-.03em;font-size:24px}.linked{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.linked a{background:#fff;border:1px solid #dce5eb;border-radius:15px;padding:18px;font-size:13px;font-weight:720;display:flex;justify-content:space-between}.linked span{color:#2476bc}footer{padding:26px 0;background:#14283d;color:#d9e5ed;font-size:12px}dialog{border:0;border-radius:18px;box-shadow:0 28px 80px #0c1d3175;padding:24px;width:min(470px,calc(100vw - 26px))}dialog::backdrop{background:#07192d99}dialog form:not(.dialog-title){display:grid;gap:14px}.dialog-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-title strong{font-size:18px}.dialog-title button{font-size:26px;background:#f0f2f5;border:0;border-radius:9px;height:35px;width:35px}.reader{width:min(980px,calc(100vw - 20px));max-height:93vh}.reader-body{height:min(68vh,750px);background:#f4f7f8;border-radius:12px;overflow:auto;display:grid;place-items:center}.reader-body iframe{width:100%;height:100%;border:0;background:#fff}.reader-body img{max-height:100%;max-width:100%;object-fit:contain}.reader-body p{padding:24px;text-align:center;color:#66788b;font-size:14px}@media(max-width:800px){.filters{grid-template-columns:repeat(2,1fr)}.admin-cols{grid-template-columns:1fr}.linked{grid-template-columns:1fr}.emblem{font-size:50px}.hero{grid-template-columns:1fr .3fr;padding:32px 25px}}@media(max-width:620px){.topinner{min-height:71px}.top nav{gap:11px}.top nav a{display:none}.hero{display:block;margin:16px 0;padding:26px 22px;min-height:0}.hero p{font-size:13px}.emblem{display:none}.panel{padding:19px 14px;border-radius:16px}.headerline{align-items:flex-start;flex-wrap:wrap}.headerline h2{font-size:23px}.filters{grid-template-columns:1fr 1fr;padding:11px;gap:9px}.filters .grow{grid-column:1/-1}.docs{grid-template-columns:1fr}.doc{padding:17px}.twocol{grid-template-columns:1fr}.reader{padding:15px}.reader-body{height:65vh}.footlinks{margin-bottom:35px}}
/* PWA embedded view: no duplicate branding, only the shared library. */
.embedded .top,.embedded .hero,.embedded .footlinks,.embedded footer{display:none!important}.embedded main{width:100%;padding:0 4px;margin:0}.embedded .panel{box-shadow:none;border:0;border-radius:0;margin:0;padding:13px 11px}.embedded .admin{border-top:3px solid #d5af6f}.embedded body{background:#fff}

/* Consultation sécurisée : pages rasterisées, jamais le fichier original. */
.preview-pages{width:100%;max-width:850px;display:flex;flex-direction:column;align-items:center;gap:18px;padding:18px 10px;margin:auto;user-select:none;-webkit-user-select:none}
.reader-body .preview-pages img{width:100%;max-width:100%;max-height:none;height:auto;object-fit:contain;display:block;background:white;box-shadow:0 5px 20px #162e4129;border:1px solid #e1e6eb;pointer-events:none}
@media(max-width:650px){.preview-pages{padding:8px 2px;gap:12px}}

/* Identification conservée dans la bibliothèque intégrée à la PWA. */
.embed-loginbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #d4e2ed;background:#f3f8fc;border-radius:13px;padding:12px 15px;margin:3px 0 15px;color:#234964;font-size:13px;font-weight:650}
.embed-loginbar .outline{white-space:nowrap}
@media(max-width:560px){.embed-loginbar{flex-wrap:wrap}.embed-loginbar .outline{width:100%}}
