/* FORGE FP — Bibliothèque documentaire. Héritage visuel des maquettes validées. */
:root{--navy:#082b7b;--blue:#0a4c9b;--bright:#0869ed;--teal:#00b3b3;--orange:#ff8a00;--body:#355fb0;--muted:#6883b2;--line:#d8e8fa;--surface:#f4f9ff;--focus:#f6932a}
*{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth}body{margin:0;font:14px/1.48 Arial,Helvetica,sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.svg-icons{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:inline-block;vertical-align:middle;flex:none;width:21px;height:21px;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:absolute;z-index:100;top:-100px;left:16px;padding:10px 14px;background:#fff;border:2px solid var(--blue)}.skip-link:focus{top:8px}
.page-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at -4% 3%,#eef8ff 0,#eef8ff 3%,transparent 3.05%),#fff;overflow:hidden}
.site-width{width:min(1280px,calc(100% - 76px));margin-inline:auto}
.site-header{height:115px;flex:0 0 auto;position:relative;z-index:3}
.header-inner{display:flex;justify-content:space-between;align-items:flex-start;height:100%}
.brand{display:flex;align-items:center;gap:11px;margin-top:20px}
.brand-wheel{display:block;width:71px;height:71px;flex:none}.brand-wheel img{display:block;width:100%;height:100%}
.brand-text{display:flex;flex-direction:column;gap:1px}.brand-name{font-size:37px;letter-spacing:-.4px;line-height:1;white-space:nowrap;font-weight:700;color:var(--blue)}.brand-name span{color:var(--orange)}.brand-subtitle{font-size:12.5px;color:#145ee5;white-space:nowrap}
.main-nav{display:flex;gap:36px;align-items:flex-start;white-space:nowrap;margin-top:46px}.main-nav a{font-size:15px;color:#315cbc;padding:0 0 9px}.main-nav a:hover{color:var(--bright)}.main-nav a[aria-current="page"]{font-weight:700;color:var(--bright);border-bottom:3px solid var(--orange);text-decoration:none}
.main-content{position:relative;flex:1;padding-bottom:47px;min-width:0}.ambient{position:absolute;border-radius:50%;z-index:0;pointer-events:none;background:linear-gradient(120deg,rgba(232,244,255,.77),rgba(246,251,255,.15))}.ambient-a{width:152px;height:152px;right:25%;top:-92px}.ambient-b{width:115px;height:115px;right:-8%;top:-35px}
.intro,.search-section,.library-layout,.workspace-actions{position:relative;z-index:1}
.intro{margin:5px 0 22px}.eyebrow{font-size:13px;letter-spacing:3px;font-weight:700;color:#1374ed;margin:0 0 4px}h1{font-size:44px;font-weight:700;color:#08277b;letter-spacing:-1.35px;line-height:1.12;margin:0 0 8px}.intro-description{font-size:15px;line-height:1.48;color:#3b62ad;margin:0}
.search-section{margin-bottom:21px}.search-bar{height:43px;display:flex;align-items:center;gap:12px;border:1.2px solid #b9d5ff;border-radius:9px;padding:0 13px;background:rgba(255,255,255,.94);box-shadow:0 4px 16px rgba(19,78,151,.015)}.search-bar>.icon{color:#1456cf;width:23px;height:23px}.search-bar:focus-within{border-color:#3988ec;box-shadow:0 0 0 3px rgba(87,166,245,.13)}.search-bar input{width:100%;min-width:0;outline:0;border:0;background:transparent;color:var(--navy);font-size:14px}.search-bar input::placeholder{color:#96a9d0}.search-shortcut{color:#89a0c0;background:#f5f8fc;border:1px solid #e3ecf8;border-radius:5px;padding:1px 5px;font:10px Arial,sans-serif}
.workspace-actions{display:flex;justify-content:flex-end;align-items:center;min-height:0}.collection-summary{font-size:12px;color:#7895bd;margin-bottom:6px}.mobile-outline{display:none}
.library-layout{display:grid;grid-template-columns:247px minmax(0,1fr);gap:36px;align-items:start;min-height:640px}
.library-sidebar{background:linear-gradient(145deg,#f2f8ff 0%,#f6fbff 100%);border-radius:13px;min-height:700px;padding:13px 9px 24px;position:sticky;top:14px}
.sidebar-mobile-heading{display:none}.folder-nav{display:flex;flex-direction:column;gap:2px}.nav-overview,.nav-parent,.nav-child,.nav-document{font-weight:500;width:100%;border:0;background:transparent;display:flex;align-items:center;min-height:38px;border-radius:8px;text-align:left;color:#0633a1;gap:11px;padding:8px 11px;line-height:1.3}
.nav-overview{font-weight:700;margin-bottom:4px}.nav-overview>.icon,.nav-parent>.icon:first-child{color:#0a68fc;width:23px;height:23px}.nav-parent{font-size:14px;margin-top:4px}.nav-parent>span:first-of-type{flex:1}.nav-chevron{width:13px;height:13px;transition:transform .18s}.nav-parent[aria-expanded="true"] .nav-chevron{transform:rotate(90deg)}.nav-overview:hover,.nav-parent:hover,.nav-child:hover,.nav-document:hover{background:#e7f2ff;text-decoration:none}
.nav-selected{background:#e2efff!important;color:#0c52cf!important;font-weight:700}.nav-selected .nav-dot{background:#0b68ea}
.nav-children{margin:2px 0 4px 7px;padding-left:9px;border-left:1px solid #d2e4fc}.nav-child{font-size:12.3px;color:#3164b9;padding:6px 10px;min-height:33px;gap:6px}.nav-child>span:nth-child(2){flex:1}.nav-child .icon{height:14px;width:14px}.nav-count{font-size:10px;color:#7193bf;border-radius:12px;background:#e4f1ff;padding:2px 6px;line-height:1;flex:none}.nav-child[aria-expanded="true"] .nav-chevron{transform:rotate(90deg)}.nav-list{padding:0 0 4px 7px;max-height:320px;overflow:auto;scrollbar-width:thin}.nav-document{font-size:11.5px;color:#3c68b5;min-height:30px;padding:5px 9px;gap:8px}.nav-document .icon{height:14px;width:14px}.nav-document-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.nav-dot{width:8px;height:8px;border-radius:50%;background:#75a9f6;flex:none}.sidebar-section-break{height:9px}
.side-foot{display:flex;align-items:flex-start;gap:9px;border-top:1px solid #d8eafb;margin:25px 8px 0;padding-top:17px;font-size:11px;line-height:1.43;color:#7192bf}.side-foot .icon{width:18px;height:18px;color:#3788e4}
.document-area{display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:31px;min-width:0}.reader{min-width:0;padding:1px 0 20px}.reader-aside{min-width:0;display:flex;flex-direction:column;gap:13px}
.breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:#3368bd;margin:7px 0 14px}.breadcrumb .icon{width:12px;height:12px;color:#7aa7e1}.breadcrumb button{background:none;border:0;color:inherit;padding:0;cursor:pointer}.breadcrumb button:hover{text-decoration:underline}
.reader-title{font-size:33px;line-height:1.18;margin:0 0 3px;letter-spacing:-.8px;font-weight:700;color:#07277d;overflow-wrap:anywhere}.reader-subtitle{color:#3662b9;font-size:17px;line-height:1.4;margin:0 0 10px}.reader-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 23px}.pill{background:#eaf3ff;border-radius:20px;padding:5px 12px;color:#3271d3;font-size:11px}.pill.teal{background:#e3f8f5;color:#087c7c}.pill.amber{background:#fff0e2;color:#b86a18}
.reader h3{font-size:18px;color:#0633a1;margin:17px 0 5px;line-height:1.3}.reader h4{font-size:15px;margin:13px 0 5px;color:#1645a1}.reader p{font-size:13.4px;line-height:1.48;color:#355fb0;margin:0 0 11px;overflow-wrap:anywhere}.reader ul{margin:8px 0 13px;padding-left:22px;color:#355fb0;font-size:13px}.reader li{padding-bottom:4px}
.reader-callout{display:flex;align-items:flex-start;gap:12px;background:#edf6ff;border-radius:10px;padding:14px 14px 12px;margin:17px 0 19px}.reader-callout .icon{color:#1674ed;flex:none;height:27px;width:27px}.reader-callout strong{color:#153ca0;font-size:12.5px}.reader-callout p{margin:3px 0 0;font-size:12px;line-height:1.45}
.definition-grid{display:grid;grid-template-columns:130px minmax(0,1fr);font-size:12.5px;color:#3560ac;border:1px solid #dceafb;border-radius:9px;overflow:hidden;margin:8px 0 16px}.definition-grid>div{padding:9px 10px;border-bottom:1px solid #e5effb;line-height:1.4;overflow-wrap:anywhere}.definition-grid>div:nth-child(odd){background:#f5faff;font-weight:700;color:#194d9a}.definition-grid>div:nth-last-child(-n+2){border-bottom:0}
.reader-graphic{display:grid;grid-template-columns:1fr 52px 1fr;align-items:center;gap:10px;border:1px solid #d9eafa;border-radius:9px;background:#f8fbff;padding:12px;margin:16px 0 18px}.diagram-entity{display:flex;align-items:center;gap:11px}.diagram-entity .icon{width:28px;height:28px;color:#1589df}.diagram-entity strong{color:#0641a5;font-size:12px;display:block}.diagram-entity span{color:#5177b4;font-size:11px;display:block}.diagram-arrow{text-align:center;color:#2c82e8}.diagram-arrow .icon{width:26px;height:26px}
.aside-card{border:1px solid #d9e9fb;border-radius:10px;padding:14px 15px;background:linear-gradient(145deg,#fff,#fcfdff)}.aside-card h3{font-size:14px;font-weight:700;color:#0c3397;margin:0 0 11px}.aside-card dl{display:grid;grid-template-columns:43% 57%;gap:9px 4px;margin:0;color:#5274b5;font-size:12px;line-height:1.32}.aside-card dt{color:#5178bf}.aside-card dd{margin:0;color:#3260af;overflow-wrap:anywhere}.aside-card .aside-muted{font-size:12px;color:#5a79b0;margin:6px 0 0;line-height:1.5}.aside-card .aside-muted strong{color:#0c3397}
.source-btn{padding:10px;border:1px solid #b4d2fb;border-radius:9px;display:flex;gap:11px;align-items:center;justify-content:center;color:#0c5fe6;font-size:12px;width:100%;background:#fff}.source-btn:hover{background:#f5faff;text-decoration:none}.source-btn[disabled]{color:#9aaecf;border-color:#dce9f8;cursor:not-allowed;background:#f7faff}.source-btn .icon{width:20px;height:20px}
.assoc-item{display:flex;gap:11px;align-items:center;border:1px solid #e2edfb;border-radius:8px;padding:10px 9px;margin-top:8px;background:#fff}.assoc-item .icon{width:21px;height:21px;color:#1370e9}.assoc-item strong{font-size:11.8px;color:#2052ae}.assoc-item span{font-size:11px;display:block;color:#6b88ba}.assoc-item button{border:0;background:transparent;color:#0a61dd;margin-left:auto;padding:2px}.assoc-item button[disabled]{opacity:.35;cursor:not-allowed}
.related-link{border:0;background:none;color:#3f66b5;display:flex;gap:10px;text-align:left;align-items:center;font-size:12px;padding:5px 2px;width:100%}.related-link:hover{color:#075cdd;text-decoration:underline}.related-link .icon{color:#0c68ec;width:14px;height:14px}
.empty-state{padding:20px;background:#f6faff;border-radius:10px;color:#597aab;font-size:13px;line-height:1.5}.empty-state strong{display:block;color:#183c97;font-size:14px;margin-bottom:5px}.empty-state p{font-size:12.5px;color:#597aab;margin:0}
.overview-hero{margin:5px 0 24px}.overview-lead{font-size:14px!important;max-width:600px}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 26px}.stat{background:linear-gradient(135deg,#eff7ff,#fbfdff);border:1px solid #deebff;border-radius:11px;padding:14px}.stat-num{font-size:25px;font-weight:700;color:#1262cc;line-height:1.1}.stat-label{font-size:11px;color:#527abc;margin-top:6px}.folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}.folder-tile{display:flex;align-items:flex-start;gap:11px;min-height:94px;text-align:left;background:#fff;border:1px solid #dceafa;border-radius:10px;padding:14px;color:#0c3da1}.folder-tile:hover{background:#f6faff;border-color:#a9cffd}.folder-tile .icon{color:#00a9b5;width:23px;height:23px}.folder-tile strong{display:block;font-size:13px}.folder-tile small{display:block;font-size:11px;color:#6787b9;margin-top:5px}.doc-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.doc-row{width:100%;display:flex;gap:13px;text-align:left;align-items:center;padding:13px 13px;border:1px solid #deebfb;border-radius:9px;background:#fff}.doc-row:hover{background:#f6fbff;border-color:#aed2ff}.doc-row .icon{width:24px;height:24px;color:#1467e7}.doc-row-main{min-width:0;flex:1}.doc-row strong{font-size:13px;color:#103d9a;display:block;line-height:1.3}.doc-row span{font-size:11.7px;color:#6987b7;display:block;line-height:1.45}.doc-row .row-arrow{color:#0a68e6;width:18px;height:18px}
.search-titleline{display:flex;align-items:center;gap:10px;margin-bottom:9px}.search-titleline button{margin-left:auto;border:1px solid #c7dafa;border-radius:7px;background:#fff;padding:7px 10px;color:#386abe;font-size:12px}
.result-count{font-size:12px;color:#6687bd;margin:5px 0 15px}.search-mark{color:#ff7600;font-weight:700}.results-empty{border:1px dashed #cfe2ff;text-align:center;padding:45px 20px;border-radius:12px;color:#6b8abb}.results-empty .icon{width:32px;height:32px;display:block;margin:0 auto 12px}
.site-footer{border-top:1px solid #c6ddfb;background:linear-gradient(#f7fbff,#fff);margin-top:auto}.footer-inner{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#4d70b3;font-size:12px;padding:17px 5px}.site-footer nav{display:flex;white-space:nowrap}.site-footer nav a{padding:0 16px;border-right:1px solid #b8cff0;line-height:14px}.site-footer nav a:last-child{border:0;padding-right:0}
@media(max-width:1180px){.site-width{width:calc(100% - 54px)}.library-layout{grid-template-columns:225px minmax(0,1fr);gap:24px}.document-area{grid-template-columns:minmax(0,1fr) 248px;gap:18px}.aside-card{padding:12px}.reader-title{font-size:29px}}
@media(max-width:950px){.site-width{width:calc(100% - 42px)}.site-header{height:104px}.brand{margin-top:15px}.brand-wheel{width:60px;height:60px}.brand-name{font-size:31px}.brand-subtitle{font-size:11px}.main-nav{gap:20px;margin-top:39px}.main-nav a{font-size:13px}.library-layout{grid-template-columns:210px minmax(0,1fr);gap:17px}.document-area{grid-template-columns:minmax(0,1fr)}.reader-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reader-aside .aside-card:first-child{grid-column:span 2}.library-sidebar{min-height:690px}.intro{margin-top:5px}}
@media(max-width:710px){.site-width{width:calc(100% - 32px)}.site-header{height:120px}.header-inner{display:block}.brand{margin-top:12px;gap:8px}.brand-wheel{width:55px;height:55px}.brand-name{font-size:28px}.brand-subtitle{font-size:10px}.main-nav{justify-content:flex-end;margin-top:10px;gap:18px}.main-nav a{font-size:12px;padding-bottom:6px}.main-content{padding-bottom:28px}.intro{margin-top:5px;margin-bottom:16px}.eyebrow{font-size:11px;letter-spacing:2.6px}h1{font-size:37px}.intro-description{font-size:13.3px}.desktop-only{display:none}.search-section{margin-bottom:10px}.search-bar{height:44px}.search-bar input{font-size:12px}.search-shortcut{display:none}.workspace-actions{justify-content:space-between;min-height:35px;margin-bottom:8px}.collection-summary{margin:0}.mobile-outline{display:flex;align-items:center;gap:7px;background:#f1f7ff;border:1px solid #c9dffc;border-radius:8px;padding:7px 10px;color:#1156b5;font-size:12px}.mobile-outline .icon{height:17px;width:17px}.library-layout{display:block;min-height:480px}.document-area{display:block}.reader-title{font-size:27px}.reader-subtitle{font-size:14.2px}.reader p{font-size:13px}.reader-callout{padding:12px}.reader-aside{display:flex;margin-top:15px}.aside-card{padding:14px}.reader-graphic{grid-template-columns:1fr;gap:8px}.diagram-arrow{transform:rotate(90deg)}.folder-grid{grid-template-columns:1fr}.stat-cards{gap:7px}.stat{padding:11px 8px}.stat-num{font-size:22px}.stat-label{font-size:10px}.definition-grid{grid-template-columns:105px 1fr}.breadcrumb{font-size:11px}.doc-row{padding:12px 10px}.doc-row strong{font-size:12.3px}
.library-sidebar{position:fixed;z-index:60;top:0;left:0;bottom:0;width:min(330px,88vw);min-height:0;border-radius:0;padding:16px 13px 25px;box-shadow:8px 0 42px rgba(5,35,81,.24);overflow-y:auto;transform:translateX(-110%);visibility:hidden;transition:transform .2s ease,visibility .2s ease}.library-sidebar.open{transform:translateX(0);visibility:visible}.sidebar-mobile-heading{display:flex;align-items:center;justify-content:space-between;font-size:17px;color:#0a3e98;margin:2px 5px 15px}.plain-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d0e3f9;border-radius:7px;background:#fff;color:#0e58b7}.plain-icon .icon{height:19px;width:19px}.folder-nav{padding-bottom:30px}.nav-list{max-height:none}.backdrop{position:fixed;z-index:50;inset:0;background:rgba(13,34,66,.42)}.backdrop[hidden]{display:none}.footer-inner{flex-direction:column;gap:12px;padding:15px 0;text-align:center;font-size:11px}.site-footer nav a{padding:0 12px}
}
@media(max-width:360px){.main-nav{gap:12px}.main-nav a{font-size:11px}.brand-name{font-size:26px}.intro-description{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.library-sidebar,.nav-chevron{transition:none}}
