:root{font-family:Inter,Arial,sans-serif;color:#263441;background:#f4f6f8;--blue:#006389;--red:#d13517;--plum:#5a1349}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{border:0;border-radius:8px;background:var(--blue);color:white;padding:12px 18px;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button.ghost{background:#eaf0f4;color:#365263}a{color:inherit}header{position:absolute;z-index:2;top:0;left:0;width:100%;padding:28px 4vw;display:flex;justify-content:space-between;align-items:center}header img{width:165px;filter:brightness(0) invert(1)}header nav{display:flex;gap:10px}header button.ghost{background:#ffffff20;color:white;border:1px solid #ffffff50}body.inside header{position:relative;background:white;border-bottom:1px solid #e1e7ed}body.inside header img{filter:none}body.inside header button.ghost{color:#365263;background:#eaf0f4;border:0}.hero{position:relative;min-height:100dvh;background:linear-gradient(90deg,#101b27c9,#101b2740),url('/securite-entrepot-rouge.png') center/cover;color:white;display:flex;flex-direction:column;justify-content:center;padding:140px 5vw 130px;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 25%,#ffffff15 45%,transparent 63%);z-index:-1;pointer-events:none}.hero-title span{font-size:clamp(30px,4vw,60px);font-weight:300}.hero-title h1{font-size:clamp(60px,9vw,132px);line-height:1.1;margin:0;color:#89bdd5;letter-spacing:-.055em}.hero-title p{font-size:18px;opacity:.9}.services{position:absolute;bottom:65px;left:5vw;right:5vw;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.services a,.services button{background:#f7faffea;border:1px solid #ffffff60;border-radius:10px;text-align:left;text-decoration:none;min-height:78px;padding:15px 16px;display:grid;grid-template-columns:32px auto;column-gap:10px;color:#253b4a;backdrop-filter:blur(12px)}.services strong{font-size:16px}.services small{grid-column:2;opacity:.75;font-size:12px}.picto{font-size:27px;grid-row:span 2;color:var(--accent)}.blue{--accent:#006389}.red{--accent:#d13517}.teal{--accent:#246d70}.plum{--accent:#5a1349}.services :is(a,button):hover{transform:translateY(-3px);box-shadow:0 12px 30px #0002}.cart{animation:cart 4s ease-in-out infinite}@keyframes cart{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}.local-note{position:absolute;bottom:20px;left:5vw;font-size:11px;opacity:.65}.workspace{max-width:1250px;margin:auto;padding:36px 28px 70px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}h1{font-size:32px;margin:5px 0 12px;letter-spacing:-1px}h2{font-size:21px;margin:0 0 14px}p{line-height:1.55}.page-head p{margin:0;color:#617180}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#006389;font-weight:700}.admin-grid{display:grid;grid-template-columns:265px 1fr;gap:24px}aside,.content,.journal{background:white;border:1px solid #e2e8ed;border-radius:14px;padding:24px}aside h2{font-size:16px}.network{margin-bottom:12px;border:1px solid #e2e8ed;border-radius:8px;padding:12px}.network.selected{border-color:#006389;background:#f0f7fa}.network-title{padding:0;background:none;color:#243c4b;text-align:left;font-weight:bold}.network small{display:block;margin:8px 0;color:#6d7a85}.network-actions{display:flex;gap:10px}.text-button{padding:0;background:none;color:#006389;font-size:12px}.danger{color:#a62e29}.wide{width:100%;margin-top:10px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar h2{margin-bottom:4px}.toolbar span,.subtle{font-size:12px;color:#657786}.search{margin:22px 0}label{display:block;font-size:13px;font-weight:600;margin:14px 0;color:#465e6d}input,select{width:100%;border:1px solid #ccd7df;background:#fff;border-radius:7px;padding:11px;margin-top:7px;color:#243441}.group{border:1px solid #dde5ec;border-radius:11px;padding:18px;margin:15px 0}.group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-head h3{margin:0}.group-head button{font-size:12px}.group label{max-width:360px}.children{margin-left:15px;padding-left:15px;border-left:2px solid #e5edf2}.company{padding:14px 0}.company-header{display:flex;gap:12px;align-items:center}.site{font-size:13px;color:#637683;margin:10px 0 10px 14px}.empty{border:1px dashed #ccd9e1;border-radius:10px;padding:36px;text-align:center;color:#788996}.journal{margin-top:24px;font-size:13px}.journal summary{cursor:pointer;font-weight:bold}.event{padding:10px 0;border-bottom:1px solid #edf0f3}.event time{color:#7d8b95;margin-right:16px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tool-card{background:white;border:1px solid #dde5ec;padding:24px;border-radius:12px}.tool-card a{display:inline-block;margin-top:16px;color:#006389}dialog{width:min(480px,calc(100% - 32px));border:0;border-radius:16px;padding:32px;box-shadow:0 30px 90px #00192840;max-height:90dvh;overflow:auto}dialog::backdrop{background:#06172599;backdrop-filter:blur(5px)}dialog h2{margin-top:16px}.close{position:absolute;top:10px;right:10px;background:none;color:#607582;font-size:26px;padding:4px 10px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}#auth-message,#edit-message,#admin-message{color:#a22e2c;font-size:14px}pre{white-space:pre-wrap;background:#f0f5f7;padding:16px;border-radius:8px;line-height:1.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #89bdd5;outline-offset:3px}[hidden]{display:none!important}@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr);gap:10px}.hero{padding-bottom:230px}.hero-title h1{font-size:78px}.tool-grid{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}header{padding:20px}header img{width:120px}header nav{gap:5px}header button{padding:9px 10px;font-size:12px}.workspace{padding:26px 16px}}@media(max-width:500px){.services{left:16px;right:16px;bottom:50px}.services strong{font-size:14px}.services small{font-size:10px}.services a,.services button{padding:12px;grid-template-columns:24px auto}.hero-title span{font-size:32px}.hero-title h1{font-size:64px}.hero-title p{max-width:250px;font-size:15px}.toolbar{align-items:flex-start;flex-direction:column}.tool-grid{grid-template-columns:1fr}.group-head{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.totp-qr{display:block;width:min(280px,100%);height:auto;margin:20px auto;background:white;border:1px solid #e2e8ed;border-radius:8px;padding:10px}#enrollment summary{cursor:pointer;color:#006389;font-size:13px;margin:16px 0}

.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.user-card{background:white;border:1px solid #dde5ec;border-radius:12px;padding:24px;margin:16px 0}.user-card .text-button{margin-right:20px}.access-badge{display:inline-block;background:#edf0f3;color:#627282;padding:6px 10px;border-radius:6px;font-size:12px}.access-badge.allowed{background:#e6f2f7;color:#006389}.rule-row{background:white;border:1px solid #dde5ec;border-radius:9px;padding:18px;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.rule-row small{display:block;color:#748693;margin-top:8px}.rule-row select{width:180px;margin:0}fieldset{border:1px solid #dde5ec;border-radius:8px;padding:12px}#scope-list{max-height:240px;overflow:auto}#rights-panel{max-width:900px}#user-dialog{width:min(600px,calc(100% - 32px))}@media(max-width:500px){.rule-row{flex-direction:column;align-items:stretch}.rule-row select{width:100%}}

.catalogue-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-button{background:#eaf0f4;border-radius:8px;padding:12px 16px;margin:0;font-size:14px;cursor:pointer}.file-button input{max-width:180px;font-size:12px}.catalogue-filters{display:grid;grid-template-columns:2fr 1fr;gap:20px}.catalogue-row{display:grid;grid-template-columns:minmax(0,1fr) 105px 75px 90px 100px;gap:15px;padding:17px;background:white;border:1px solid #e2e8ed;border-radius:8px;margin:8px 0;align-items:center}.catalogue-row strong{font-size:14px;font-weight:500}.catalogue-row small{display:block;color:#6d8190;font-size:11px;margin-top:6px}.catalogue-row .catalogue-warning{color:#9b5b19}.catalogue-price{font-size:13px;font-variant-numeric:tabular-nums}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.shop-card{border:1px solid #e2e8ed;border-radius:12px;background:white;padding:24px}.shop-card h2{font-size:18px;line-height:1.5;font-weight:500}.shop-card small{color:#7b8c98;font-size:12px}.shop-price{font-size:21px;color:#006389;font-weight:500}#product-warning,#import-warnings{font-size:13px;color:#96621d}#product-error,#import-error{color:#a22e2c}#catalogue-summary{font-size:13px;color:#69818e}#catalogue-panel .toolbar{align-items:flex-start}@media(max-width:850px){.catalogue-row{grid-template-columns:minmax(0,1fr) 105px}.catalogue-row>div{grid-column:1/-1}.shop-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.catalogue-filters,.shop-grid{grid-template-columns:1fr}.catalogue-actions{align-items:stretch;flex-direction:column}.file-button input{max-width:100%}}

/* Accueil : direction vitrée validée dans la maquette. */
header img{display:block;width:240px;height:auto}
header nav{align-items:center}
#account-button{background:#ffffff18;border:1px solid #ffffff50;color:white;backdrop-filter:blur(12px);font-size:14px;font-weight:400}
body.inside #account-button{background:var(--blue);border-color:var(--blue)}
.hero-title span{font-size:clamp(28px,3.3vw,48px)}
.hero-title h1{font-size:clamp(54px,6.5vw,94px);font-weight:600;letter-spacing:-.045em;line-height:1.12;color:var(--blue);text-shadow:none;-webkit-text-stroke:0}
.hero-title p{font-size:16px;margin-top:24px}
.services{gap:14px;bottom:65px}
.services a,.services button{position:relative;display:flex;align-items:flex-start;justify-content:center;height:76px;min-height:76px;padding:13px 12px 34px;overflow:hidden;background:#181b1f66;border:1px solid #ffffff52;border-bottom:2px solid color-mix(in srgb,var(--accent),white 35%);border-radius:6px;color:white;backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff26,0 6px 20px #0001;transition:background .25s,border-color .25s,transform .25s}
.services a::before,.services button::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#ffffff10,transparent 65%);pointer-events:none}
.services strong{position:relative;font-size:14px;line-height:1.4;font-weight:500;letter-spacing:.045em;text-transform:uppercase}
.services :is(a,button):hover{background:#ffffff24;border-color:#ffffffbf;border-bottom-color:var(--accent);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff50,0 5px 20px #0002}
.icon-lane{position:absolute;left:18px;right:18px;bottom:10px;height:20px;pointer-events:none}
.motion-icon{position:absolute;left:0;top:0;width:20px;height:20px;color:color-mix(in srgb,var(--accent),white 38%)}
.cart-icon{animation:cart-travel 9s ease-in-out infinite}
.tools-icon{animation:tools-float 7s ease-in-out infinite}
.book-icon{transform-origin:center;animation:book-sway 8s ease-in-out infinite}
.doc-check{stroke-dasharray:15;animation:check-write 8s ease-in-out infinite}
@keyframes cart-travel{0%,12%{left:0;opacity:1}65%,78%{left:calc(100% - 20px);opacity:1}85%{left:calc(100% - 20px);opacity:0}86%{left:0;opacity:0}100%{left:0;opacity:1}}
@keyframes tools-float{0%,30%,100%{transform:translateY(0)}45%,55%{transform:translateY(-4px)}70%{transform:translateY(0)}}
@keyframes book-sway{0%,25%,100%{transform:rotate(0)}40%{transform:rotate(-7deg)}52%{transform:rotate(5deg)}65%{transform:rotate(0)}}
@keyframes check-write{0%,15%,100%{stroke-dashoffset:15}40%,90%{stroke-dashoffset:0}}
@media(max-width:850px){header img{width:190px}.services{gap:10px}.hero{padding-top:170px;padding-bottom:250px}.hero-title h1{font-size:clamp(54px,9vw,78px)}header{gap:20px;align-items:flex-start}header nav{flex-wrap:wrap;justify-content:flex-end;max-width:55%}}
@media(max-width:500px){header img{width:clamp(110px,32vw,155px)}header{padding:20px 16px;gap:12px}header nav{gap:6px;max-width:51%}#account-button{font-size:12px;padding:9px 10px;max-width:100%;overflow-wrap:anywhere}.hero{padding-left:20px;padding-right:20px}.hero-title h1{font-size:60px}.hero-title span{font-size:30px}.services strong{font-size:11px;letter-spacing:.02em}.services a,.services button{height:74px;min-height:74px;padding:12px 7px 33px}.icon-lane{left:13px;right:13px}.hero-title p{font-size:14px}}
@media(max-height:620px) and (min-width:851px){.hero{min-height:620px}}
@media(prefers-reduced-motion:reduce){.motion-icon,.doc-check{animation:none!important}.services :is(a,button){transition:none;transform:none}}

/* Administration : structure et hiérarchie visuelle inspirées de PHARION. */
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,#0d2932,#0a232b);color:#fff;border:0;border-radius:0;padding:0;display:flex;flex-direction:column;z-index:4;overflow:auto}
.admin-brand{display:block;padding:28px 24px;border-bottom:1px solid #ffffff17}
.admin-brand img{width:178px;height:auto;filter:brightness(0) invert(1)}
.admin-nav-label{font-size:9px;letter-spacing:1.5px;color:#8ca6ad;margin:27px 22px 12px}
.admin-sidebar .admin-tabs{display:flex;flex-direction:column;gap:6px;margin:0;padding:0 12px}
.admin-sidebar .admin-tabs button{width:100%;min-height:46px;display:flex;align-items:center;gap:12px;border:0;border-radius:8px;background:#173a42;color:white;font-size:13px;font-weight:400;padding:12px 14px;text-align:left;box-shadow:inset 3px 0 #43a4c2}
.admin-sidebar .admin-tabs button.ghost{background:transparent;color:#c7d4d3;box-shadow:none}
.admin-sidebar .admin-tabs button:hover{background:#173a42;color:white}
.admin-tabs svg{width:19px;height:19px;flex-shrink:0}
.admin-side-bottom{margin-top:auto;padding:22px;border-top:1px solid #ffffff17}
.admin-side-bottom span,.admin-side-bottom small{display:block;font-size:12px}
.admin-side-bottom small{font-size:10px;color:#91a8ad;margin-top:6px}
.admin-side-bottom button{margin-top:20px;width:100%;font-size:12px;color:#dde8eb;background:#ffffff0e;border:1px solid #ffffff25;padding:11px}
body.admin-mode{background:#f3f6f5;color:#112c34}
body.admin-mode>header{margin-left:230px;width:calc(100% - 230px);height:76px;padding:16px 32px}
body.admin-mode>header>a{display:none}
body.admin-mode>header nav{margin-left:auto;max-width:none}
body.admin-mode>header button{padding:9px 14px;font-size:12px}
#admin.workspace{margin-left:230px;max-width:1600px;padding:30px 32px 60px}
#admin .page-head{margin-bottom:24px;align-items:center}
#admin .page-head h1{font-size:27px;font-weight:500;letter-spacing:-.7px;margin:7px 0 8px}
#admin .page-head p{font-size:12px}
#admin .page-head .eyebrow{font-size:9px;letter-spacing:1.5px;color:#006389}
.admin-security-label{font-size:11px;background:#e6f0f3;color:#42636d;border:1px solid #d9e6e9;border-radius:20px;padding:7px 12px;white-space:nowrap}
#admin-message:empty{display:none}
#admin-message:not(:empty){padding:12px 16px;background:#fff0ee;border:1px solid #f1d2ce;border-radius:8px;margin-bottom:20px}
.structure-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.structure-stat{position:relative;background:white;border:1px solid #dfe7e4;border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px #13372e08}
.structure-stat::before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:3px;background:#3384a3;border-radius:3px}
.structure-stat.stat-group::before{background:#5a1349}.structure-stat.stat-company::before{background:#688ca0}.structure-stat.stat-site::before{background:#246d70}
.structure-stat.stat-group{margin:0}
.structure-stat span{display:block;color:#6d7e7c;font-size:11px}
.structure-stat strong{display:block;font-size:28px;font-weight:500;margin-top:6px;font-variant-numeric:tabular-nums}
.hierarchy-guide{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:0 3px;color:#647b7c;font-size:11px}
.hierarchy-guide span{border-bottom:1px solid #cfdddd;padding:5px 0}.hierarchy-guide i{font-style:normal;color:#94a6a8;font-size:17px}
#admin .admin-grid{grid-template-columns:245px minmax(0,1fr);gap:20px}
#admin .network-filter,#admin .content,#admin .journal{background:white;border:1px solid #dfe7e4;border-radius:12px;box-shadow:0 2px 10px #13372e08;padding:20px}
#admin h2{font-size:16px;font-weight:500}
.filter-heading h2{margin:0 0 6px}
.filter-heading p{font-size:11px;color:#6d7e7c;margin:0 0 12px}
#admin button{font-size:12px;padding:10px 13px;line-height:1.4;border-radius:7px}
#admin .network-filter>.wide{font-size:11px}
#admin .network{padding:14px;border-color:#dfe7e4;margin:14px 0;background:#fbfcfc}
#admin .network.selected{border-color:#9dc8d5;background:#edf6f8;box-shadow:inset 3px 0 #006389}
#admin .network-title{padding:0;background:none;font-size:13px;font-weight:500;color:#112c34}
#admin .network small{font-size:10px;color:#6d7e7c}
#admin .network-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
#admin .network-head .network-title{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}
#admin .network-actions{flex-shrink:0;gap:5px}
#admin .network-actions button{display:grid;place-items:center;width:28px;height:28px;padding:5px;border:1px solid #dce8eb;background:#edf3f4;border-radius:5px}
#admin .network-actions button.danger{background:#fff5f3;border-color:#f0dbd6}
#admin .network-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#admin .network small{margin:6px 0 0}
#admin .filter-active{background:#e5f1f5;color:#006389;box-shadow:inset 3px 0 #006389}
#admin .toolbar{align-items:center}
#admin .toolbar h2{font-size:16px}
#admin .search{margin:18px 0}
#admin label{font-size:11px;font-weight:500;color:#536e72}
#admin input,#admin select{padding:10px 12px;font-size:12px;border-color:#d9e4e1;background:#fcfdfd}
#admin .group{border:1px solid #dfe7e4;border-radius:10px;padding:20px;margin:14px 0;box-shadow:none}
#admin .group-head{align-items:center}
#admin .group-head h3{font-size:17px;font-weight:500;margin:4px 0 0}
.entity-kind{display:block;font-size:9px;color:#66878b;letter-spacing:.8px;text-transform:uppercase}
.entity-count{font-size:10px;color:#7c8f90;margin:8px 0 15px}
#admin .group-head>.entity-identity{flex:1;min-width:0;overflow-wrap:anywhere}
#admin .group-head .entity-count{margin:6px 0 0}
#admin .group-head-actions{display:flex;align-items:flex-end;gap:12px;flex-shrink:0}
#admin .group-head-actions>.text-button{margin-bottom:5px}
#admin .group-network{width:230px;max-width:100%;margin:0;font-size:10px}
#admin .group-network select{margin-top:6px;width:100%}
#admin .children{border-left:2px solid #dfe9e7;margin:20px 0 0 6px;padding-left:18px}
#admin .company{padding:15px;border:1px solid #e5ecea;background:#f8faf9;border-radius:8px;margin-bottom:14px}
#admin .company-header{justify-content:space-between;gap:15px}
#admin .company-header strong{display:block;font-size:14px;font-weight:500;margin-top:5px}
#admin .site{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;background:white;border:1px solid #e4ece9;border-radius:7px;color:#304e54;font-size:12px}
#admin .site .entity-kind{font-size:8px;margin-bottom:4px}
#admin .text-button{background:#edf3f4;color:#326a7d;border:1px solid #dce8eb;font-size:10px;padding:6px 9px}
#admin .text-button.danger{color:#a62e29;background:#fff5f3;border-color:#f0dbd6}
#admin .journal{font-size:11px;margin-top:24px}
#admin .journal summary{font-weight:400;color:#637e81}
#admin .user-card,#admin .rule-row,#admin .catalogue-row{border-color:#dfe7e4;box-shadow:0 2px 10px #13372e08}
#admin .user-card h3{font-size:16px;font-weight:500}#admin .user-card p{font-size:12px}
#admin .rule-row strong{font-size:13px;font-weight:500}#admin .rule-row small{font-size:11px}
#admin .catalogue-row{gap:12px}#admin .catalogue-row strong{font-size:12px}#admin .catalogue-row .access-badge{font-size:10px;padding:5px 7px}
#admin .file-button{font-size:11px;padding:10px 12px}
#admin .access-badge{font-weight:400}
@media(max-width:1100px){.admin-sidebar{width:200px}.admin-brand{padding:25px 20px}.admin-brand img{width:158px}body.admin-mode>header{margin-left:200px;width:calc(100% - 200px)}#admin.workspace{margin-left:200px;padding:26px 22px}#admin .admin-grid{grid-template-columns:210px minmax(0,1fr)}#admin .catalogue-row{grid-template-columns:minmax(0,1fr) 100px}#admin .catalogue-row>div{grid-column:1/-1}}
@media(max-width:900px){#admin .admin-grid{grid-template-columns:1fr}.structure-stats{grid-template-columns:1fr 1fr}#admin .page-head{align-items:flex-start}.admin-security-label{display:none}}
@media(max-width:650px){.admin-sidebar{position:relative;width:auto;inset:auto;border-radius:12px;margin-bottom:24px}.admin-brand,.admin-nav-label,.admin-side-bottom{display:none}.admin-sidebar .admin-tabs{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:6px}.admin-sidebar .admin-tabs button{font-size:11px;padding:10px;min-height:44px}.admin-tabs svg{width:16px;height:16px}body.admin-mode>header{margin-left:0;width:100%;height:auto;min-height:66px;padding:14px 16px}#admin.workspace{margin-left:0;padding:22px 16px}#admin .page-head h1{font-size:24px}#admin .group{padding:14px}#admin .children{padding-left:12px}#admin .company{padding:12px}.structure-stat{padding:14px}.structure-stat strong{font-size:24px}#admin .group-head{flex-direction:row}#admin .company-header{flex-wrap:wrap}#admin .site{align-items:flex-start}.hierarchy-guide{gap:8px;font-size:10px}}

/* Libellés centrés ; pictogrammes animés derrière le texte. */
.services a,.services button{align-items:center;justify-content:center;padding:12px 16px;text-align:center;isolation:isolate}
.services strong{z-index:2;display:block;width:100%;font-size:clamp(16px,1.35vw,20px);line-height:1.25;font-weight:500;text-shadow:0 1px 5px #101b27b3}
.services .icon-lane{top:50%;bottom:auto;height:24px;transform:translateY(-50%);z-index:0;opacity:.7}
.services .motion-icon{width:24px;height:24px}
@keyframes cart-travel{0%,12%{left:0;opacity:1}65%,78%{left:calc(100% - 24px);opacity:1}85%{left:calc(100% - 24px);opacity:0}86%{left:0;opacity:0}100%{left:0;opacity:1}}
@media(max-width:500px){.services a,.services button{padding:10px}.services strong{font-size:13px;letter-spacing:.01em}.services .icon-lane{left:10px;right:10px}}

/* Sur mobile, le texte et les animations occupent deux lignes distinctes. */
@media(max-width:850px){
  .hero{padding-bottom:310px}
  .services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services a,.services button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 28px;row-gap:10px;height:auto;min-height:96px;padding:12px 10px;align-items:center}
  .services strong{grid-row:1;min-width:0;overflow-wrap:anywhere}
  .services .icon-lane{position:relative;grid-row:2;inset:auto;width:100%;height:28px;transform:none;opacity:.85;overflow:hidden}
  .services .motion-icon{top:2px}
}

/* Animations métier : activation, checklist et pages tournantes. */
#admin .commercial-settings{margin:20px 0;padding:14px 16px;background:white;border:1px solid #dfe7e4;border-radius:8px}
#admin .commercial-settings summary{cursor:pointer;font-size:13px;color:#326a7d}
#admin .commercial-settings p{font-size:12px;color:#6d7e7c}
#commercial-discounts{display:flex;gap:8px;flex-wrap:wrap}
#admin .commercial-discount-button{background:#edf3f4;color:#326a7d;border:1px solid #dce8eb;font-size:11px}
#discount-message{color:#a22e2c;font-size:14px}
#shop-context-label{max-width:650px}
.services .tools-icon,.services .book-icon{animation:none}
.tools-icon rect{fill:currentColor;fill-opacity:0;animation-duration:6s;animation-timing-function:linear;animation-iteration-count:infinite}
.tools-icon rect:nth-child(1){animation-name:tile-one}
.tools-icon rect:nth-child(2){animation-name:tile-two}
.tools-icon rect:nth-child(3){animation-name:tile-three}
.tools-icon rect:nth-child(4){animation-name:tile-four}
@keyframes tile-one{0%,5%,95%,100%{fill-opacity:0}10%,85%{fill-opacity:1}}
@keyframes tile-two{0%,20%,95%,100%{fill-opacity:0}25%,85%{fill-opacity:1}}
@keyframes tile-three{0%,35%,95%,100%{fill-opacity:0}40%,85%{fill-opacity:1}}
@keyframes tile-four{0%,50%,95%,100%{fill-opacity:0}55%,85%{fill-opacity:1}}
.check-sequence{stroke-dasharray:6;stroke-dashoffset:6;animation-duration:7s;animation-timing-function:ease;animation-iteration-count:infinite}
.check-1{animation-name:tick-one}.check-2{animation-name:tick-two}.check-3{animation-name:tick-three}
@keyframes tick-one{0%,10%,95%,100%{stroke-dashoffset:6}20%,85%{stroke-dashoffset:0}}
@keyframes tick-two{0%,30%,95%,100%{stroke-dashoffset:6}40%,85%{stroke-dashoffset:0}}
@keyframes tick-three{0%,50%,95%,100%{stroke-dashoffset:6}60%,85%{stroke-dashoffset:0}}
.book-page{transform-origin:12px 12px;animation:turn-page 6s ease-in-out infinite;opacity:0}
.book-page.page-2{animation-delay:3s}
.page-paper{fill:currentColor;fill-opacity:.22}
@keyframes turn-page{0%,3%{transform:scaleX(1) skewY(0deg);opacity:0}8%,14%{transform:scaleX(1) skewY(0deg);opacity:1}26%{transform:scaleX(.08) skewY(-8deg);opacity:1}40%,45%{transform:scaleX(-1) skewY(0deg);opacity:1}50%,100%{transform:scaleX(-1) skewY(0deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.tools-icon rect{animation:none;fill-opacity:1}.check-sequence{animation:none;stroke-dashoffset:0}.book-page{animation:none;opacity:0}}

/* Le rattachement au réseau reste dans l’en-tête du groupe. */
/* Catalogue COPRESE : photo, famille, prix et marge réservés au back-office. */
#admin .catalogue-row{grid-template-columns:64px minmax(170px,1fr) 82px 195px 70px 92px 74px;gap:12px;min-height:92px}
#admin .catalogue-row>.catalogue-photo,#admin .catalogue-row>.catalogue-copy,#admin .catalogue-row>.catalogue-family-icon,#admin .catalogue-row>.catalogue-financial{grid-column:auto}
#admin .catalogue-photo{width:64px;height:64px;background:#f3f6f7;border:1px dashed #d3dee2;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#91a3ab}
#admin .catalogue-photo svg{width:24px;height:24px}
#admin .catalogue-photo small{font-size:8px;margin:0;text-align:center}
#admin .catalogue-photo svg,#admin .catalogue-family-icon svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#admin .catalogue-copy{min-width:0;overflow-wrap:anywhere}
#admin .catalogue-family-icon{text-align:center;color:var(--family-color);min-width:0}
#admin .catalogue-family-icon svg{display:block;width:30px;height:30px;margin:auto;padding:4px;background:color-mix(in srgb,var(--family-color),white 92%);border-radius:7px}
#admin .catalogue-family-icon small{font-size:8px;line-height:1.3;max-width:82px;margin:4px auto 0;color:var(--family-color)}
#admin .catalogue-financial{display:flex;align-items:center;justify-content:flex-end;gap:12px}
#admin .catalogue-price{font-size:12px;white-space:nowrap}
#admin .catalogue-margin{min-width:65px;border-left:1px solid #e1e8eb;padding-left:10px;color:#4b7464}
#admin .catalogue-margin small{font-size:9px;margin:0;line-height:1.7;color:inherit;white-space:nowrap}
#admin .catalogue-margin.negative{color:#a62e29}
#admin .catalogue-publication{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0;font-size:9px;text-align:center;cursor:pointer}
#admin .catalogue-publication input{width:16px;height:16px;margin:0;accent-color:#006389;padding:0}
#admin .catalogue-publication:has(input:disabled){opacity:.6;cursor:default}
@media(max-width:1400px){#admin .catalogue-row{grid-template-columns:56px minmax(140px,1fr) 72px 190px;gap:10px}#admin .catalogue-photo{width:56px;height:56px}#admin .catalogue-row>.access-badge{grid-column:2}#admin .catalogue-row>.catalogue-publication{grid-column:3}#admin .catalogue-row>.text-button{grid-column:4;justify-self:end}}
@media(max-width:650px){#admin .catalogue-row{grid-template-columns:50px minmax(0,1fr) 65px}#admin .catalogue-photo{width:50px;height:50px}#admin .catalogue-row>.catalogue-financial{grid-column:2/4;justify-content:flex-start}#admin .catalogue-row>.access-badge{grid-column:1}#admin .catalogue-row>.catalogue-publication{grid-column:2;justify-self:start;flex-direction:row}#admin .catalogue-row>.text-button{grid-column:3}}
#admin .page-head{flex-wrap:wrap;gap:16px}
#admin .admin-heading-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:100%;margin-left:auto}
#admin .structure-stats{width:480px;max-width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
#admin .structure-stat{padding:10px 12px;border-radius:8px;box-shadow:none}
#admin .structure-stat::before{top:12px;bottom:12px;width:2px}
#admin .structure-stat span{font-size:9px;line-height:1.35}
#admin .structure-stat strong{font-size:22px;margin-top:4px}
@media(max-width:850px){#admin .admin-heading-side{margin-left:0;align-items:flex-start;width:100%}}
@media(max-width:650px){#admin .structure-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}#admin .structure-stat{padding:8px 12px}}
@media(max-width:1100px){#admin .group-head{flex-wrap:wrap}#admin .group-head-actions{margin-left:auto;max-width:100%}}
@media(max-width:650px){#admin .group-head{align-items:flex-start;flex-direction:column;gap:12px}#admin .group-head-actions{width:100%;margin-left:0;flex-wrap:wrap}#admin .group-network{flex:1;min-width:150px;order:0}#admin .group-head-actions>.text-button{order:1}#admin .children{margin-top:14px}}

/* Cartes compactes de droits, avec état hérité visible. */
#admin #rights-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,190px));gap:14px;margin-top:22px;align-items:start}
#admin .tool-right-card{aspect-ratio:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:#fff;border:1px solid #dfe7e4;border-radius:12px;box-shadow:0 2px 10px #13372e08;text-align:center}
#admin .tool-right-card.granted{border-color:#83b6c3;background:#f4fafb}
#admin .tool-right-choice{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0;cursor:pointer;width:100%}
#admin .tool-right-choice input{position:absolute;top:12px;right:12px;width:18px;height:18px;padding:0;margin:0;accent-color:#006389}
#admin .tool-right-choice strong{font-size:13px;font-weight:500;line-height:1.3}
#admin .tool-right-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e7f1f4;color:#006389;font-size:17px;font-weight:600}
#admin .tool-right-status,#admin .tool-right-pending{font-size:10px;line-height:1.35;color:#627c85}
#admin .tool-right-pending{color:#946b32}
#admin .tool-right-inherit{margin-top:auto;padding:4px 7px;font-size:9px}
#admin .tool-right-choice:has(input:focus-visible){outline:2px solid #006389;outline-offset:5px;border-radius:4px}
#admin #rights-list>.empty{grid-column:1/-1}
@media(max-width:450px){#admin #rights-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#admin .tool-right-card{padding:36px 9px 12px;aspect-ratio:auto;min-height:180px}}

/* Liste utilisateurs compacte, profils et états repérables par couleur. */
#admin.users-view .page-head{align-items:flex-start;margin-bottom:18px}
#admin.users-view .admin-security-label{display:inline-block}
#admin.users-view .admin-heading-side{align-items:flex-end}
#admin.users-view #add-user{font-size:12px;padding:10px 14px}
#admin .user-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) 420px 200px;align-items:center;gap:16px;margin:8px 0;padding:14px 16px;border-radius:9px;min-height:76px}
#admin .user-identity,#admin .user-scope{min-width:0;overflow-wrap:anywhere}
#admin .user-identity h3{font-size:14px;margin:0 0 5px;line-height:1.3}
#admin .user-identity small,#admin .user-scope small{font-size:11px;line-height:1.4;color:#617b85}
#admin .user-badges{display:grid;grid-template-columns:205px 60px minmax(0,1fr);align-items:center;gap:5px;min-width:0}#admin .user-badges>.user-badge{justify-self:start;max-width:100%;overflow-wrap:anywhere}
#admin .user-badge{display:inline-block;border-radius:5px;padding:4px 7px;font-size:10px;line-height:1.3;border:1px solid transparent}
#admin .role-super_admin{background:#eee7f5;color:#653d87;border-color:#ddd1eb}
#admin .role-client_admin{background:#e4f0fa;color:#225e8a;border-color:#cde2f1}
#admin .role-manager{background:#e1f2eb;color:#22664f;border-color:#c8e7d9}
#admin .role-reader,#admin .role-external_auditor{background:#edf0f4;color:#536276;border-color:#dce2e9}
#admin .state-active,#admin .state-connected{background:#e4f4e9;color:#28693b;border-color:#cce6d4}
#admin .state-connected::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:middle}
#admin .state-disabled{background:#fbe9e7;color:#993d35;border-color:#f0d4cf}
#admin .state-pending{background:#fff2d8;color:#856011;border-color:#f1dfb8}
#admin .state-ready{background:#edf3f4;color:#4a6974;border-color:#dce7e9}
#admin .user-actions{display:grid;grid-template-columns:70px 124px;justify-content:end;gap:6px;min-width:0}
#admin .user-card .text-button{margin:0;white-space:nowrap}
@media(max-width:1350px){#admin .user-card{grid-template-columns:minmax(180px,1fr) 420px 124px;gap:8px 14px}#admin .user-identity{grid-column:1;grid-row:1/3}#admin .user-scope{grid-column:2;grid-row:1}#admin .user-badges{grid-column:2;grid-row:2}#admin .user-actions{grid-column:3;grid-row:1/3;grid-template-columns:124px;justify-items:stretch}}
@media(max-width:1150px){#admin .user-card{grid-template-columns:minmax(0,1fr) auto}#admin .user-identity{grid-column:1;grid-row:1}#admin .user-scope{grid-column:1;grid-row:2}#admin .user-badges{grid-column:1;grid-row:3;grid-template-columns:minmax(0,205px) 60px minmax(0,1fr)}#admin .user-actions{grid-column:2;grid-row:1/4}#admin.users-view .admin-heading-side{align-items:flex-start}}
@media(max-width:450px){#admin .user-card{grid-template-columns:minmax(0,1fr);padding:12px}#admin .user-actions{grid-column:1;grid-row:4;grid-template-columns:70px 124px;justify-content:start}#admin .user-badges{display:flex;flex-wrap:wrap}}

.shop-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#eaf3f6;border:1px solid #cfdee4;border-radius:10px;padding:14px 18px;margin-bottom:20px}.shop-preview-bar>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.shop-preview-bar label{margin:0;font-size:12px}.shop-preview-bar select{min-width:210px;margin-top:5px}

#product-dialog{width:min(760px,calc(100% - 32px));max-height:90vh;overflow:auto}
.product-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-right:25px}.product-heading h2{font-size:22px;margin:0;flex:1}.product-heading .catalogue-family-icon{width:84px;flex-shrink:0;color:var(--family-color);text-align:center}.product-heading svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5}.product-heading small{display:block;font-size:9px}
.product-photo-tools{display:flex;align-items:center;gap:14px;margin:16px 0}.product-photo-tools>div{flex:1;min-width:0}.product-photo-tools small{display:block;font-size:10px;color:#617b85;margin-top:7px}.product-photo-tools label{font-size:12px}.product-photo-button{width:80px;height:80px;padding:0;background:#f3f6f7;border:1px dashed #c2d4dc;color:#006389;flex-shrink:0;border-radius:8px}.product-photo-button img,#admin .catalogue-photo img{width:100%;height:100%;object-fit:contain;border-radius:7px}
.product-margins,#product-statistics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.product-margins>div,#product-statistics>div{background:#f0f6f7;border-radius:7px;padding:10px}.product-margins small,#product-statistics small{display:block;font-size:11px;color:#617b85;margin-bottom:6px}.product-margins strong,#product-statistics strong{font-size:14px}.product-statistics{margin:14px 0}.product-statistics summary{cursor:pointer;font-size:14px}
#product-form fieldset{margin:16px 0}#product-form legend{font-size:13px}#product-monitor-status{font-size:11px;margin:10px 0}
#admin .catalogue-photo{padding:0;cursor:pointer}.shop-product-photo{width:100%;height:150px;object-fit:contain;margin-bottom:12px}.price-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff2d8;color:#856011;border:1px solid #f1dfb8;border-radius:7px;padding:8px 10px;font-size:11px;margin-top:6px}
@media(max-width:500px){.product-heading h2{font-size:18px}.product-margins,#product-statistics{grid-template-columns:1fr}.product-photo-tools{align-items:flex-start}}

/* Accès : sélection sur une ligne et cartes colorées compactes. */
#admin #rights-panel{max-width:none}
#admin .rights-selectors{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr);gap:16px;align-items:end}
#admin .rights-selectors label{margin:0;font-size:11px}
#admin .rights-selectors select{margin-top:6px;font-size:12px;padding:10px 12px;min-height:42px}
#admin #rights-list{grid-template-columns:repeat(auto-fill,minmax(128px,140px));gap:10px;margin-top:16px;align-items:stretch}
#admin .tool-right-card{--tool-color:#006389;--tool-tint:#e6f2f7;aspect-ratio:auto;min-height:158px;padding:24px 10px 10px;gap:5px;justify-content:flex-start;border-color:#d8e4e7;border-top:3px solid var(--tool-color);background:radial-gradient(circle at 110% -15%,var(--tool-tint) 0 32%,transparent 33%),linear-gradient(145deg,#fff 60%,var(--tool-tint));box-shadow:0 2px 8px #13372e08;transition:transform .18s ease,box-shadow .18s ease}
#admin .tool-right-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #13372e15}
#admin .tool-right-card.granted{border-color:var(--tool-color);background:radial-gradient(circle at 110% -15%,var(--tool-tint) 0 32%,transparent 33%),linear-gradient(145deg,#fff,var(--tool-tint))}
#admin .tool-right-card[data-tool="protocol"]{--tool-color:#b46036;--tool-tint:#fbede3}
#admin .tool-right-card[data-tool="duerp"]{--tool-color:#27816c;--tool-tint:#e5f5ef}
#admin .tool-right-card[data-tool="habilis"]{--tool-color:#713765;--tool-tint:#f4e9f2}
#admin .tool-right-card[data-tool="gedicoop"]{--tool-color:#3975a0;--tool-tint:#e8f1fc}
#admin .tool-right-card[data-tool="shop"]{--tool-color:#b44048;--tool-tint:#fcebee}
#admin .tool-right-card[data-tool="prevention"]{--tool-color:#a47a24;--tool-tint:#fbf2dc}
#admin .tool-right-card[data-tool="skills"]{--tool-color:#7159a0;--tool-tint:#eee9fa}
#admin .tool-right-choice{gap:6px}
#admin .tool-right-choice input{top:9px;right:9px;width:16px;height:16px;accent-color:var(--tool-color)}
#admin .tool-right-choice strong{font-size:11px;min-height:29px;display:flex;align-items:center;justify-content:center}
#admin .tool-right-mark{width:36px;height:36px;background:transparent;color:var(--tool-color);border-radius:0}
#admin .tool-right-mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#admin .tool-right-mark img{width:36px;height:36px;object-fit:contain}
#admin .tool-right-status,#admin .tool-right-pending{font-size:9px;line-height:1.3}
#admin .tool-right-inherit{font-size:9px;padding:3px 8px;margin-top:auto}
@media(max-width:650px){#admin .rights-selectors{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}#admin .rights-selectors select{width:100%;min-width:0;font-size:11px}}
@media(max-width:450px){#admin #rights-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}#admin .tool-right-card{min-height:158px;padding-top:24px}}
@media(prefers-reduced-motion:reduce){#admin .tool-right-card{transition:none}#admin .tool-right-card:hover{transform:none}}

#admin .group-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}#admin .group-toolbar .search{width:380px;max-width:calc(100% - 180px);margin:0;min-width:0}#admin .group-toolbar .search input{margin:0;width:100%}#admin .group-toolbar>button{flex-shrink:0;white-space:nowrap}@media(max-width:500px){#admin .group-toolbar{gap:8px}#admin .group-toolbar .search{flex:1;width:auto;max-width:none}#admin .group-toolbar>button{padding:10px;font-size:11px}}

.directory-sync-status{display:flex;align-items:center;gap:12px;font-size:12px;color:#237451;margin:0 0 12px;flex-wrap:wrap}.directory-sync-status:empty{display:none}.directory-sync-status[data-state="pending"]{color:#776119}.directory-sync-status[data-state="error"]{color:#ad3434}.directory-sync-status button{padding:5px 10px}.directory-sync-status small{font-size:12px}

/* COPRESE storefront */
#shop{max-width:1440px;padding:30px 32px 70px;color:#183a40}
#shop [hidden]{display:none!important}
.shop-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.shop-heading h1{font-size:26px;letter-spacing:-.8px;margin:0}.shop-heading .eyebrow{font-size:10px;margin:0 0 7px}.shop-heading>span{font-size:12px;color:#6b8385}
#shop .shop-preview-bar{padding:9px 14px;margin-bottom:18px;font-size:12px}#shop .shop-preview-bar label{font-size:11px}#shop .shop-preview-bar select{padding:8px 12px;margin-top:3px}#shop .shop-preview-bar button{padding:9px 12px;font-size:12px}
.shop-navigation{display:flex;align-items:center;gap:22px;margin:0 0 22px;padding:10px 0;border-top:1px solid #dce5e4;border-bottom:1px solid #dce5e4}.shop-rail-wrap{display:flex;align-items:center;flex:1;min-width:0;gap:4px}#shop-family-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;overscroll-behavior-x:contain}#shop-family-rail::-webkit-scrollbar{display:none}
.shop-family-chip{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:10px 12px;background:transparent;color:#48646a;border-radius:7px;font-size:11px;flex-shrink:0}.shop-family-chip svg{width:18px;height:18px;fill:none;stroke:var(--family-color,#247b7e);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.shop-family-chip:hover{background:#e7eeec}.shop-family-chip.selected{background:#153e43;color:#fff}.shop-family-chip.selected svg{stroke:#fff}
.shop-rail-arrow{background:transparent;color:#315a60;padding:6px;font-size:23px;border-radius:5px;flex-shrink:0}.shop-rail-arrow:disabled{opacity:.22;cursor:default}.shop-search-label{display:flex;align-items:center;gap:8px;margin:0;flex:0 0 240px;border-left:1px solid #dce5e4;padding-left:20px}.shop-search-label svg{width:18px;height:18px;flex-shrink:0}#shop-search{border:0;background:transparent;padding:10px 0;margin:0;font-size:12px;min-width:0;box-shadow:none;width:100%}#shop-search:focus{outline:0}.shop-search-label:focus-within{outline:2px solid #64a7b4;outline-offset:5px;border-radius:5px}
.shop-hero{position:relative;isolation:isolate;overflow:hidden;min-height:350px;border-radius:18px;background:#edf2e9 url('/magasin-securite-incendie-sepia-v3.png') right center/80% auto no-repeat;display:flex;align-items:center;margin-bottom:42px}.shop-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#edf2e9 0%,#edf2e9 24%,#edf2e9e8 34%,#edf2e966 49%,#edf2e900 64%);z-index:-1}.shop-hero-copy{padding:38px 42px;max-width:590px}.shop-kicker{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#58716d;margin:0 0 12px}.shop-hero h2{font-size:clamp(36px,4.3vw,60px);line-height:1.07;letter-spacing:-2px;margin:15px 0 20px;font-weight:500;color:#173f42}.shop-hero h2 em{font-family:Georgia,serif;font-weight:400;color:#237f77}.shop-hero p{font-size:13px;line-height:1.8;max-width:390px;color:#49655f;margin-bottom:22px}.shop-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.shop-hero-actions>button:first-child{background:#163f43;padding:13px 18px;font-size:12px;display:flex;gap:22px}.shop-link-button{background:transparent;color:#315b5e;padding:9px 0;font-size:12px;font-weight:500}.shop-link-button:hover{text-decoration:underline}.shop-hero-caption{position:absolute;bottom:22px;right:25px;color:white;text-shadow:0 1px 8px #000;display:flex;flex-direction:column;font-size:14px}.shop-hero-caption small{font-size:10px;margin-top:5px}
.shop-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.shop-section-head h2{font-size:26px;font-weight:500;letter-spacing:-.8px;margin:0}.shop-section-head p.shop-kicker{margin-bottom:8px}.shop-families-section{margin:0 0 44px;scroll-margin-top:20px}.shop-family-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.shop-family-tile{background:#fff;border:1px solid #e0e8e5;border-radius:12px;overflow:hidden;padding:0;text-align:left;color:#183a40;transition:transform .2s,box-shadow .2s}.shop-family-tile:hover{transform:translateY(-4px);box-shadow:0 12px 24px #163f4310}.shop-family-art{height:142px;position:relative;background:color-mix(in srgb,var(--family-color,#527975) 10%,#f8faf5);display:flex;align-items:center;justify-content:center;overflow:hidden}.shop-family-art:before,.shop-family-art:after{content:'';position:absolute;border:1px solid color-mix(in srgb,var(--family-color,#527975) 16%,transparent);border-radius:50%;width:180px;height:180px;right:-65px;top:-70px}.shop-family-art:after{width:110px;height:110px;right:auto;top:auto;left:-40px;bottom:-45px}.shop-family-art .catalogue-family-icon{background:none;border:0;display:block;padding:0;transform:rotate(-8deg);z-index:1}.shop-family-art .catalogue-family-icon svg{width:68px;height:68px;stroke-width:1.2;filter:drop-shadow(3px 5px 0 #ffffffc0)}.shop-family-art .catalogue-family-icon small{display:none}.shop-family-art img{width:100%;height:100%;object-fit:contain;padding:18px;mix-blend-mode:multiply;z-index:1}.shop-family-copy{padding:14px 12px 17px;position:relative}.shop-family-copy h3{font-size:12px;font-weight:600;line-height:1.4;margin:0 16px 7px 0;min-height:34px}.shop-family-copy small{font-size:10px;color:#758983}.shop-family-go{position:absolute;right:12px;top:15px;color:#53877f}
.shop-products-section{scroll-margin-top:22px}#shop-results{font-size:11px;color:#7d8b86;margin:8px 0 0}#shop-message{font-size:11px;color:#637974;margin:0 0 16px}#shop .shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}#shop .shop-card{padding:0;border:1px solid #e2e8e4;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 12px #173f4203;transition:box-shadow .2s,transform .2s}#shop .shop-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #173f4210}.shop-image-button{padding:0;border:0;border-radius:0;display:block;width:100%;background:#fff}.shop-product-visual{height:215px;width:100%;background:linear-gradient(135deg,#fbfcfa,#f1f5f2);display:flex;align-items:center;justify-content:center;position:relative;padding:20px}.shop-product-visual img.shop-product-photo{width:100%;height:100%;object-fit:contain;margin:0;mix-blend-mode:multiply;transition:transform .3s}.shop-image-button:hover img{transform:scale(1.04)}.shop-product-visual.without-photo .catalogue-family-icon{border:0;background:transparent;opacity:.5}.shop-product-visual.without-photo .catalogue-family-icon svg{width:65px;height:65px;stroke-width:1}.shop-product-visual.without-photo .catalogue-family-icon small{display:none}.shop-product-visual>small{position:absolute;bottom:17px;left:0;right:0;text-align:center;font-size:10px;color:#7c8f89}
.shop-card-copy{padding:18px;display:flex;flex-direction:column;flex:1}.shop-card-family{font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#54847d;margin:0 0 10px}.shop-card-copy h3{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 8px}.shop-reference{font-size:10px;color:#899991}.shop-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:21px}.shop-card-bottom .shop-price{font-size:17px;color:#173f42;font-weight:600;margin:0}.shop-product-open{background:#edf3ef;border:1px solid #e0e9e4;color:#326459;padding:7px 10px;font-size:11px;border-radius:7px;white-space:nowrap}.shop-standard-price{font-size:10px;color:#87948d;margin-bottom:0}.shop-order-note{font-size:11px;line-height:1.6;color:#788d85;padding:22px 0;margin:30px 0 0;border-top:1px solid #dfe7e3}#shop-more-products{display:block;margin:26px auto 0;font-size:12px;padding:12px 26px}.shop-empty{grid-column:1/-1;text-align:center;background:#eef3ef;border:1px dashed #cbd9d1;padding:40px 20px;border-radius:12px;font-size:13px}.shop-empty h3{font-weight:500;font-size:20px}.shop-product-dialog{max-width:850px;width:calc(100% - 32px);padding:40px 28px 28px}.shop-product-dialog #shop-product-content{display:grid;grid-template-columns:1fr 1fr;gap:28px}.shop-product-dialog .shop-product-visual{height:340px;border-radius:12px}.shop-detail-copy{align-self:center}.shop-detail-copy h2{font-size:24px;font-weight:500;line-height:1.35}.shop-detail-copy .shop-price{font-size:24px}.shop-detail-copy .subtle{font-size:12px;line-height:1.7}
#shop button:focus-visible{outline:3px solid #67a5b3;outline-offset:3px}
@media(max-width:1100px){.shop-family-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-family-art{height:130px}.shop-family-copy h3{min-height:0}#shop .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-search-label{flex-basis:200px}.shop-hero-copy{padding:35px;max-width:550px}}
@media(max-width:760px){#shop{padding:24px 18px 50px}.shop-heading>span{display:none}.shop-navigation{flex-wrap:wrap;gap:8px}.shop-rail-wrap{flex-basis:100%;width:100%}.shop-search-label{flex-basis:100%;border:0;padding-left:12px;background:#eaf0ed;border-radius:7px}.shop-hero{min-height:340px}.shop-hero::before{background:linear-gradient(90deg,#edf2e9f5,#edf2e9ed 60%,#edf2e99a)}.shop-hero-copy{padding:28px;max-width:460px}.shop-hero-caption{display:none}.shop-section-head h2{font-size:23px}#shop .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-product-visual{height:180px}.shop-family-tiles{gap:10px}.shop-family-art{height:110px}.shop-family-art .catalogue-family-icon svg{width:52px;height:52px}.shop-card-copy{padding:14px}.shop-card-bottom{flex-wrap:wrap}.shop-product-dialog #shop-product-content{grid-template-columns:1fr}.shop-product-dialog .shop-product-visual{height:220px}}
@media(max-width:450px){.shop-family-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero h2{font-size:38px}.shop-hero-copy{padding:25px 22px}.shop-hero-actions{gap:5px}.shop-product-visual{height:150px}.shop-card-copy h3{font-size:12px}.shop-card-bottom .shop-price{font-size:14px}.shop-section-head{gap:10px}.shop-section-head .shop-link-button{font-size:10px}.shop-section-head h2{font-size:21px}#shop .shop-preview-bar>div{gap:8px}#shop .shop-preview-bar select{min-width:180px}}
@media(prefers-reduced-motion:reduce){.shop-family-tile,#shop .shop-card,.shop-product-visual img.shop-product-photo{transition:none}.shop-family-tile:hover,#shop .shop-card:hover{transform:none}}

@media(max-width:1100px){.shop-hero{background-size:auto 100%;background-position:right center}}
@media(max-width:760px){.shop-hero{background-size:auto 100%;background-position:65% center}}

/* Compact shop header and translucent navigation over the photograph. */
body.shop-mode>header{height:76px;padding:12px 4vw;justify-content:flex-start;align-items:center;gap:24px}body.shop-mode>header img{width:165px}body.shop-mode>header nav{margin-left:auto;max-width:none;flex-wrap:nowrap}body.shop-mode>header button{font-size:12px;padding:10px 14px}#shop-header-title{margin:0;padding-left:24px;border-left:1px solid #dce6e4;font-size:23px;font-weight:500;letter-spacing:-.5px;white-space:nowrap;color:#183a40}body.shop-mode #shop{padding-top:16px}
.shop-stage{position:relative;margin-bottom:24px}.shop-stage .shop-navigation{position:absolute;z-index:1;top:14px;left:14px;right:14px;margin:0;padding:8px 10px;border:1px solid #ffffffa6;border-radius:10px;background:#ffffffe6;backdrop-filter:blur(18px) saturate(120%);box-shadow:0 5px 20px #123d4212}.shop-stage .shop-hero{margin-bottom:0;min-height:360px}.shop-stage .shop-hero-copy{padding-top:96px;padding-bottom:32px}.shop-stage.filtered .shop-navigation{position:relative;inset:auto;background:white}.shop-stage.filtered{margin-bottom:24px}.shop-stage .shop-family-chip{font-size:11px}.shop-stage .shop-search-label{flex-basis:240px}.shop-families-section{margin-bottom:36px}
.shop-family-art.photographic{background:#eee9e2}.shop-family-art.photographic::before,.shop-family-art.photographic::after{display:none}.shop-family-photograph{position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;transform:translateY(-50%);background-image:url('/boutique-familles-photos-v1.png');background-size:400% 400%;background-repeat:no-repeat}.shop-family-art.photographic img{mix-blend-mode:normal;padding:0;object-fit:cover}.shop-family-art{height:170px}
@media(max-width:1100px){body.shop-mode>header{gap:18px}#shop-header-title{padding-left:18px;font-size:21px}.shop-stage .shop-search-label{flex-basis:200px}.shop-family-art{height:180px}}
@media(max-width:760px){body.shop-mode>header{height:auto;min-height:68px;padding:10px 18px;gap:12px;flex-wrap:wrap}body.shop-mode>header img{width:125px}#shop-header-title{font-size:20px;padding-left:12px}body.shop-mode>header nav{gap:5px}body.shop-mode>header button{font-size:11px;padding:8px 9px}body.shop-mode #shop{padding-top:12px}.shop-stage .shop-navigation{top:10px;left:10px;right:10px;gap:5px;padding:6px 8px}.shop-stage .shop-search-label{flex-basis:100%}.shop-stage .shop-hero-copy{padding-top:132px;padding-bottom:26px}.shop-stage .shop-hero{min-height:400px}.shop-stage.filtered .shop-navigation{inset:auto}.shop-family-art{height:155px}}
@media(max-width:450px){body.shop-mode>header nav{width:100%;justify-content:flex-end;margin-top:1px}body.shop-mode>header{column-gap:18px;row-gap:7px}body.shop-mode>header img{width:130px}.shop-family-art{height:165px}}

#axonaut-status{font-size:11px;color:#607b72;margin:7px 0}#axonaut-status:empty{display:none}#axonaut-status.axonaut-error,#axonaut-error,#axonaut-preview-error{color:#a22e2c;font-size:12px}#axonaut-preview-dialog{width:min(640px,calc(100% - 32px))}

.shop-cart-toolbar{display:flex;justify-content:flex-end;gap:10px;margin:20px 0}.shop-add-button{background:#00688a;color:white;border-radius:9px;padding:9px 12px;font-size:13px}.shop-card-bottom{flex-wrap:wrap;gap:8px}.quote-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) 70px 130px auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #dce6e8}.cart-line small{display:block;margin-top:5px;color:#577482}.cart-line input{width:70px;margin:0}.quote-card{padding:18px;border:1px solid #dce6e8;border-radius:12px;background:#fff;margin:12px 0}.quote-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.quote-status{padding:4px 9px;border-radius:7px;font-size:12px}.quote-status.received{background:#fff2d7;color:#8b5800}.quote-status.processing{background:#e1effa;color:#00648a}.quote-status.closed{background:#dff2e7;color:#267343}.quote-note{white-space:pre-wrap}.quote-card label{display:flex;align-items:center;gap:12px;margin-top:16px}.quote-card select{width:170px;margin:0}#admin-quotes{margin:16px 0;padding:16px;background:#f7fafb;border:1px solid #dce6e8;border-radius:12px}#cart-error{color:#a92028;margin:12px 0}#cart-form textarea{width:100%;font:inherit;padding:10px;border:1px solid #ccdce1;border-radius:8px} @media(max-width:650px){.cart-line{grid-template-columns:minmax(0,1fr) 70px}.cart-line>strong{font-size:14px}.shop-cart-toolbar{justify-content:center}.quote-card{padding:12px}}

header .shop-cart-toolbar{margin:0;align-items:center;gap:8px}header .shop-cart-toolbar[hidden]{display:none}@media(max-width:650px){body.shop-mode header{flex-wrap:wrap}body.shop-mode header nav{flex-wrap:wrap;gap:6px}header .shop-cart-toolbar button{font-size:12px;padding:8px}}

.account-help-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.account-help-actions[hidden]{display:none}#account-request-panel{padding:14px;margin-bottom:16px;border:1px solid #dce6e8;border-radius:12px;background:#fff}.account-request-card{padding:12px 0;border-bottom:1px solid #e1e9eb}.account-request-card p{margin:5px 0}.account-request-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}#account-help-message{margin:12px 0}

/* Keep the shopping controls above the scrolling catalogue. */
body.shop-mode>header{position:sticky;top:0;z-index:50;background:#fff}
#shop>.shop-navigation{position:sticky;top:calc(var(--shop-header-height,76px) + 10px);z-index:40;margin:0 0 -78px;padding:8px 10px;border:1px solid #ffffffa6;border-radius:12px;background:#fffffff0;backdrop-filter:blur(18px) saturate(120%);box-shadow:0 5px 22px #123d4218;transform:translateY(10px)}
#shop:has(.shop-stage.filtered)>.shop-navigation{margin-bottom:32px}
.shop-navigation .shop-family-chip{font-size:11px}.shop-navigation .shop-search-label{flex-basis:240px}
#shop-products-section,#shop-hero{scroll-margin-top:calc(var(--shop-header-height,76px) + 100px)}
#shop-cart-open{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px}#shop-cart-open svg{width:25px;height:25px}.shop-cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:20px;background:#d94f32;color:white;font-size:11px;font-weight:700;box-shadow:0 0 0 2px white}
.shop-card-picture{position:relative}.shop-card-picture>.shop-product-open{position:absolute;bottom:10px;right:10px;background:#ffffffed;box-shadow:0 2px 8px #173f4220}.shop-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shop-card-heading .shop-reference{white-space:nowrap;font-size:9px}.shop-card-heading .shop-card-family{min-width:0}.shop-card-bottom{display:grid;grid-template-columns:1fr;gap:12px;padding-top:12px}.shop-price-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.shop-tax-switch{display:inline-flex;background:#eff4f3;border:1px solid #dce6e3;border-radius:7px;padding:2px;flex-shrink:0}.shop-tax-option{font-size:10px;padding:4px 6px;border-radius:5px;color:#52716e;background:transparent}.shop-tax-option[aria-pressed=true]{background:#173f42;color:white}.shop-tax-option:disabled{opacity:.4;cursor:help}.shop-quantity-controls{display:flex;align-items:center;gap:8px}.shop-quantity-controls input{width:70px;min-width:0;margin:0;padding:8px;font-size:13px}.shop-quantity-controls .shop-add-button{flex:1}.shop-detail-copy .shop-quantity-controls{margin-top:18px}
@media(max-width:760px){#shop>.shop-navigation{margin-bottom:-106px;gap:5px}.shop-navigation .shop-search-label{flex-basis:100%}#shop-products-section,#shop-hero{scroll-margin-top:calc(var(--shop-header-height,110px) + 135px)}}
@media(max-width:450px){.shop-price-controls{flex-wrap:wrap}.shop-card-heading{flex-wrap:wrap;gap:0}.shop-card-heading .shop-reference{margin-bottom:8px}.shop-quantity-controls{gap:4px}.shop-quantity-controls input{width:52px}.shop-quantity-controls .shop-add-button{font-size:11px;padding:9px 5px}}

#quote-axonaut-dialog form{margin:16px 0}#quote-axonaut-preview{padding:16px;background:#f3f8f7;border:1px solid #dce6e4;border-radius:10px;margin:18px 0}#quote-axonaut-preview h3{margin-top:0}#quote-axonaut-error{color:#a92028}#quote-axonaut-confirm{margin-bottom:18px}

.shop-family-art.family-secours img{object-position:50% 85%}

.shop-family-art.family-epi img{object-position:50% 60%}

.quote-axonaut-followup{margin:16px 0;padding:14px;background:#f3f8f7;border:1px solid #dce6e4;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.quote-axonaut-followup p,.quote-axonaut-followup small{flex-basis:100%;margin:0}.quote-document-status{border-radius:20px;padding:4px 10px;font-size:12px}.quote-document-status.prepared{background:#e9eef1;color:#516976}.quote-document-status.sent{background:#e1effa;color:#00648a}.quote-document-status.accepted{background:#dff2e7;color:#267343}.quote-document-status.refused{background:#fde6e4;color:#a52c25}.quote-document-link{font-size:13px;color:#006389}.quote-axonaut-followup.acceptance-pending{border-color:#e4bc67;background:#fff8e8}.quote-acceptance-notice{color:#805500;font-weight:600}

.shop-family-art.family-retention img{object-position:50% 85%}
.shop-family-art.family-extincteurs img{object-position:50% 35%}
