:root{--red:#d00000;--dark:#0b0f17;--mid:#151b26;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--bg:#f6f7f9;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 20px}.topbar{background:#05070b;color:#d1d5db;font-size:14px}.top{display:flex;justify-content:space-between;gap:20px;padding:10px 20px}.navbar{position:sticky;top:0;z-index:10;background:rgba(11,15,23,.96);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0002}.navin{display:flex;align-items:center;justify-content:space-between;min-height:74px}.logo{font-size:32px;font-weight:900;letter-spacing:-1px;color:#fff}.logo span{color:var(--red)}.navlinks{display:flex;align-items:center;gap:25px}.navlinks a{color:#f9fafb;font-weight:700;text-transform:uppercase;font-size:13px}.navlinks a:hover,.adminlink{color:#ff3b3b!important}.burger{display:none;background:var(--red);border:0;color:#fff;font-size:24px;border-radius:6px;padding:7px 12px}.hero{background:linear-gradient(120deg,#05070b 0%,#111827 58%,#d00000 58%,#8b0000 100%);color:#fff;padding:90px 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center}.eyebrow{color:#ffb4b4;text-transform:uppercase;font-weight:800;letter-spacing:2px}.hero h1{font-size:clamp(36px,5vw,66px);line-height:1;margin:10px 0}.hero p{font-size:19px;color:#e5e7eb}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{background:var(--red);color:#fff;padding:14px 22px;border-radius:999px;font-weight:800;border:2px solid var(--red)}.btn.ghost{background:transparent;border-color:#fff}.hero-card{background:#fff;color:var(--text);border-radius:22px;padding:28px;box-shadow:0 25px 60px #0005}.hero-card .badge,.chip{display:inline-block;background:#fee2e2;color:#991b1b;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.section{padding:62px 0}.section-title p{margin:0;color:var(--red);font-weight:900;text-transform:uppercase}.section-title h2,.page h1{font-size:clamp(30px,4vw,46px);margin:8px 0 24px}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cat,.doc-grid div,.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 24px #1118270d}.cat span{display:block;font-size:20px;font-weight:900}.cat small{display:block;color:var(--muted);margin-top:8px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards.list{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 30px #11182712}.card img{width:100%;height:220px;object-fit:cover;background:#111}.card-body{padding:20px}.card h3{font-size:23px;margin:12px 0}.card p{color:var(--muted);line-height:1.6}.more{color:var(--red);font-weight:900}.page{padding:36px 20px 70px}.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:18px}.searchbar{display:grid;grid-template-columns:1fr 240px 150px;gap:12px;margin:20px 0 28px}.searchbar input,.searchbar select,.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.searchbar button,.admin-form button{border:0;background:var(--red);color:#fff;border-radius:10px;font-weight:900;padding:13px 18px}.article{display:grid;grid-template-columns:280px 1fr;gap:35px;align-items:start}.specs{background:#fff;border-radius:18px;padding:22px;border:1px solid var(--line);position:sticky;top:100px}.content{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;line-height:1.75}.content img{max-width:100%;border-radius:14px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}.gallery img,.gallery video{width:100%;border-radius:16px;background:#111;max-height:420px;object-fit:cover}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.lead{font-size:19px;color:var(--muted);max-width:780px}footer{background:var(--dark);color:#d1d5db;padding-top:16px}.footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.footer-grid h3,.footer-grid h4{margin:0 0 8px}.footer-grid p{margin:0;color:#d1d5db}.footer-grid a{display:block;margin:4px 0}.copy{text-align:center;border-top:1px solid #ffffff1a;margin-top:12px;padding:9px 14px;font-size:13px}.admin-layout{max-width:1100px;margin:30px auto;padding:0 20px}.admin-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:20px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.notice{background:#ecfdf5;border:1px solid #10b98155;color:#065f46;border-radius:12px;padding:12px}.error{background:#fef2f2;border:1px solid #ef444455;color:#991b1b;border-radius:12px;padding:12px}@media(max-width:850px){.hero-grid,.article,.cards.list{grid-template-columns:1fr}.cards,.cat-grid,.doc-grid{grid-template-columns:1fr}.searchbar{grid-template-columns:1fr}.navlinks{display:none;position:absolute;left:0;right:0;top:74px;background:#0b0f17;flex-direction:column;padding:20px}.navlinks.open{display:flex}.burger{display:block}.top{flex-direction:column}.hero{padding:58px 0}.specs{position:static}.footer-grid{flex-direction:column}}

/* Administration graphique */
.admin-body{background:#eef1f6;color:#172033}.admin-topbar{height:72px;background:linear-gradient(135deg,#06080d,#151b26 65%,#d00000);display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 12px 35px #0003;position:sticky;top:0;z-index:50}.admin-brand{color:#fff;font-size:24px;font-weight:950;letter-spacing:-.5px}.admin-brand span{display:inline-grid;place-items:center;background:#d00000;color:#fff;border-radius:12px;padding:8px 10px;margin-right:8px}.admin-toplinks{display:flex;gap:12px}.admin-toplinks a{color:#fff;background:#ffffff18;border:1px solid #ffffff30;padding:10px 14px;border-radius:999px;font-weight:800}.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 72px)}.admin-sidebar{background:#fff;border-right:1px solid var(--line);padding:24px;box-shadow:10px 0 30px #11182708}.admin-user{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:22px}.admin-user strong,.admin-user small{display:block}.admin-user small{color:var(--muted);margin-top:5px}.admin-navlink{display:block;padding:14px 16px;border-radius:14px;margin:7px 0;font-weight:900;color:#172033}.admin-navlink:hover,.admin-navlink.accent{background:#fee2e2;color:#991b1b}.admin-main{padding:28px;max-width:1280px;width:100%}.admin-titlebar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.admin-titlebar h1{margin:0;font-size:34px;letter-spacing:-.8px}.admin-titlebar p{margin:6px 0 0;color:var(--muted)}.admin-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 18px 45px #11182712;margin-bottom:22px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 15px 35px #1118270d}.stat-card b{display:block;font-size:36px;color:#d00000}.stat-card span{color:var(--muted);font-weight:800}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 45px #11182712}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th{background:#f8fafc;color:#475569;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.admin-table th,.admin-table td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left}.admin-table tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:800;font-size:12px}.pill.green{background:#dcfce7;color:#166534}.pill.red{background:#fee2e2;color:#991b1b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1 / -1}.admin-form label{display:block;font-weight:900;color:#1f2937}.admin-form label span{display:block;margin-bottom:8px}.admin-form input,.admin-form textarea,.admin-form select{font-size:15px;border-color:#d8dee8;border-radius:14px;background:#fff}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:3px solid #d0000020;border-color:#d00000}.admin-form button,.button-red{border:0;background:#d00000;color:#fff;border-radius:999px;font-weight:950;padding:14px 22px;cursor:pointer}.button-light{display:inline-block;background:#fff;color:#172033;border:1px solid var(--line);border-radius:999px;font-weight:900;padding:12px 18px}.button-danger{display:inline-block;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:999px;font-weight:900;padding:9px 12px}.wysiwyg{border:1px solid #d8dee8;border-radius:18px;overflow:hidden;background:#fff}.wysiwyg-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:#f8fafc;border-bottom:1px solid var(--line)}.wysiwyg-toolbar button{border:1px solid #d8dee8;background:#fff;color:#172033;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}.wysiwyg-toolbar button:hover{background:#fee2e2;color:#991b1b}.wysiwyg-editor{min-height:360px;padding:20px;line-height:1.7;outline:0}.wysiwyg-editor h2{font-size:28px;margin:12px 0}.wysiwyg-editor h3{font-size:22px;margin:12px 0}.media-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-admin-item{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f8fafc}.media-admin-item img,.media-admin-item video{width:100%;height:145px;object-fit:cover;background:#111;display:block}.media-admin-caption{padding:10px;font-size:13px;color:#475569}.login-panel{max-width:460px;margin:7vh auto}.login-panel .admin-brand-login{font-size:30px;font-weight:950;margin-bottom:16px}.help-text{color:var(--muted);font-size:13px;margin-top:7px}.checkbox-line{display:flex!important;align-items:center;gap:10px}.checkbox-line input{width:auto!important}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;border-right:0}.admin-main{padding:20px}.admin-grid,.form-grid,.media-admin-grid{grid-template-columns:1fr}.admin-topbar{padding:0 16px}.admin-toplinks{display:none}}
.import-log{background:#0f172a;color:#dbeafe;border-radius:14px;padding:16px;white-space:pre-wrap;line-height:1.55;max-height:420px;overflow:auto}
.radio-line{display:block;margin:12px 0;font-weight:700;color:#263142}
.admin-list{margin:0;padding-left:22px;color:#4a5568;line-height:1.7}
.doc-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.08);margin-top:20px}
.doc-table th,.doc-table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:left}
.doc-table th{background:#111827;color:#fff}
.doc-table a{font-weight:800;color:#b91c1c;text-decoration:none}
.doc-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.doc-filters input,.doc-filters select{width:100%;padding:12px;border:1px solid #d8dee9;border-radius:10px}
@media(max-width:800px){.doc-filters{grid-template-columns:1fr}.doc-table{display:block;overflow-x:auto}}
/* Import ancien site : photos conservees dans le texte de chaque procedure */
.content figure.procedure-photo{margin:22px 0;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:18px;text-align:center}
.content figure.procedure-photo img{display:block;max-width:100%;height:auto;margin:auto;border-radius:14px;box-shadow:0 12px 30px #11182718}
.content figure.procedure-photo figcaption{margin-top:8px;color:var(--muted);font-size:14px}
.content p + figure.procedure-photo,.content figure.procedure-photo + p{margin-top:18px}
.content h2,.content h3{line-height:1.2;margin-top:30px}


/* Association texte + photo importée depuis porsche911.tips */
.procedure-associated-layout{display:flex;flex-direction:column;gap:26px}
.content .procedure-step-associated{display:grid;grid-template-columns:minmax(240px,42%) 1fr;gap:26px;align-items:start;padding:18px;background:#fffdf0;border:1px solid #f2e4b8;border-radius:16px}
.content .procedure-step-associated figure.procedure-photo{margin:0;background:transparent;border:0;padding:0}
.content .procedure-step-associated .procedure-step-text{line-height:1.75;color:#3f2f15}
.content .procedure-step-associated .procedure-step-text p{margin:0 0 10px}

.content .procedure-step-extra{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
@media(max-width:800px){.content .procedure-step-associated{grid-template-columns:1fr}.content .procedure-step-associated figure.procedure-photo{order:1}.content .procedure-step-associated .procedure-step-text{order:2}}

/* Correctif import Porsche911.tips : texte lisible et associé proprement aux photos */
.content .procedure-step-associated .procedure-step-text p:first-child::first-letter{font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}
.content .procedure-step-associated figure.procedure-photo img{max-height:360px;object-fit:contain}
.content .procedure-step-associated .procedure-step-text p{font-size:16px}

/* Correction alignement Porsche911.tips : ne force pas un texte sur une photo sans correspondance */
.content .procedure-step-associated.no-text{grid-template-columns:minmax(240px,42%) 1fr}
.content .procedure-step-associated.no-text figure.procedure-photo{grid-column:1}

/* Mode WebDev Porsche911.tips : évite le décalage texte/photo quand la page source utilise des blocs positionnés */
.content .procedure-webdev-layout{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:26px;align-items:start;padding:18px;background:#fffdf0;border:1px solid #f2e4b8;border-radius:16px}
.content .procedure-webdev-photos{display:flex;flex-direction:column;gap:18px}
.content .procedure-webdev-photos figure.procedure-photo{margin:0;background:transparent;border:0;padding:0;text-align:left}
.content .procedure-webdev-photos figure.procedure-photo img{width:100%;max-height:none;object-fit:contain;border-radius:12px}
.content .procedure-webdev-text{line-height:1.75;color:#3f2f15}
.content .procedure-webdev-text p{margin:0 0 14px}
.content .procedure-webdev-text p:first-child::first-letter{font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}
@media(max-width:800px){.content .procedure-webdev-layout{grid-template-columns:1fr}.content .procedure-webdev-photos figure.procedure-photo{text-align:center}.content .procedure-webdev-photos figure.procedure-photo img{max-width:100%}}

/* Mode sécurisé porsche911.tips : plus d'association automatique texte/photo qui décale les blocs */
.content .procedure-linear-layout,
.content .procedure-linear-block,
.content .procedure-linear-photos,
.content .procedure-linear-text{display:block!important;background:transparent!important;border:0!important;padding:0!important;margin:0 0 18px!important}
.content .procedure-linear-layout figure.procedure-photo,
.content .procedure-linear-block figure.procedure-photo{margin:22px 0!important;background:#f8fafc!important;border:1px solid var(--line)!important;padding:12px!important;text-align:center!important}
.content .procedure-linear-text p{margin:0 0 14px!important;line-height:1.75!important}

/* Affichage fidele des anciennes procedures porsche911.tips */
.original-import-notice{background:#fff7df;border:1px solid #f1d37d;border-radius:16px;padding:16px 18px;margin:0 0 18px;color:#332a14;line-height:1.55}
.original-import-notice a{display:inline-block;margin-left:8px;font-weight:800;color:#b00000;text-decoration:none}
.original-procedure-frame{width:100%;height:calc(100vh - 210px);min-height:760px;border:1px solid #d8dee8;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.10)}
.local-import-details{margin-top:22px;background:#fff;border:1px solid #d8dee8;border-radius:16px;padding:16px 18px}
.local-import-details>summary{cursor:pointer;font-weight:800;color:#111827}
@media (max-width:900px){.original-procedure-frame{height:760px;min-height:680px}.original-import-notice a{display:block;margin-left:0;margin-top:8px}}

.original-import-notice.warning{background:#fff1f1;border-color:#f2b5b5}

/* Import XML Windev : conservation locale de la mise en page texte/photos exportée */
.legacy-xml-procedure{line-height:1.65;color:#263142}
.legacy-xml-procedure .row{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 22px;align-items:flex-start}
.legacy-xml-procedure [class*="col-"]{min-width:0}
.legacy-xml-procedure .col-xs-12{width:100%}
.legacy-xml-procedure .col-sm-12{width:100%}
.legacy-xml-procedure .col-md-4,.legacy-xml-procedure .col-lg-4{flex:0 0 calc(34% - 12px);max-width:calc(34% - 12px)}
.legacy-xml-procedure .col-md-8,.legacy-xml-procedure .col-lg-8{flex:1 1 calc(66% - 12px);max-width:calc(66% - 12px)}
.legacy-xml-procedure .alert{padding:16px 18px;border-radius:12px;border:1px solid #f2e4b8;background:#fffdf0;color:#3f2f15}
.legacy-xml-procedure .alert-info{background:#eef8ff;border-color:#cfe8ff;color:#17486b}
.legacy-xml-procedure .badge{display:inline-block;min-width:24px;padding:4px 7px;border-radius:999px;background:#6b7280;color:#fff;font-weight:800;text-align:center}
.legacy-xml-procedure img,.legacy-xml-procedure .img-responsive{display:block;max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 25px rgba(15,23,42,.12);margin:0 auto 10px;background:#f8fafc}
.legacy-xml-procedure p{margin:0 0 12px}
.legacy-xml-procedure strong{font-weight:850}
.legacy-xml-procedure em{font-style:italic}
@media(max-width:900px){.legacy-xml-procedure .row{display:block}.legacy-xml-procedure .col-md-4,.legacy-xml-procedure .col-lg-4,.legacy-xml-procedure .col-md-8,.legacy-xml-procedure .col-lg-8{max-width:100%;width:100%;margin-bottom:16px}}

/* 2026-06-29 : agrandissement des photos des procédures pour mieux utiliser la largeur écran */
.wrap.procedure{max-width:1600px}
.procedure .article{grid-template-columns:260px minmax(0,1fr);gap:32px}
.procedure .content{padding:30px}
.procedure .content figure.procedure-photo{padding:16px;margin:26px 0}
.procedure .content figure.procedure-photo img{width:100%;max-width:1120px;height:auto;object-fit:contain}
.procedure .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.procedure .gallery img,.procedure .gallery video{height:auto;max-height:none;object-fit:contain;background:#f8fafc}

/* Import XML Windev : photos plus grandes, disposition plus large sur desktop */
.legacy-xml-procedure .row{gap:28px;margin-bottom:30px}
.legacy-xml-procedure .col-md-4,.legacy-xml-procedure .col-lg-4{flex:0 0 calc(46% - 14px);max-width:calc(46% - 14px)}
.legacy-xml-procedure .col-md-8,.legacy-xml-procedure .col-lg-8{flex:1 1 calc(54% - 14px);max-width:calc(54% - 14px)}
.legacy-xml-procedure img,.legacy-xml-procedure .img-responsive{width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:12px}
.legacy-xml-procedure .alert{font-size:17px;line-height:1.75}

@media(min-width:1500px){
  .wrap.procedure{max-width:1760px}
  .procedure .article{grid-template-columns:250px minmax(0,1fr);gap:38px}
  .legacy-xml-procedure .col-md-4,.legacy-xml-procedure .col-lg-4{flex-basis:calc(50% - 14px);max-width:calc(50% - 14px)}
  .legacy-xml-procedure .col-md-8,.legacy-xml-procedure .col-lg-8{flex-basis:calc(50% - 14px);max-width:calc(50% - 14px)}
}
@media(max-width:1100px){
  .wrap.procedure{max-width:100%}
  .procedure .article{grid-template-columns:1fr}
  .procedure .specs{position:static}
}

/* 2026-06-29 : correction responsive mobile des procédures XML/Windev */
@media(max-width:760px){
  html,body{overflow-x:hidden}
  .topbar{display:none}
  .wrap,.wrap.procedure{max-width:100%;padding-left:12px;padding-right:12px}
  .page{padding:22px 8px 44px}
  .navin{min-height:68px}
  .logo{font-size:28px;letter-spacing:-.8px}
  .burger{display:block;font-size:22px;padding:8px 13px;border-radius:10px}
  .navlinks{top:68px}
  .breadcrumb{font-size:13px;margin-bottom:10px}
  .procedure .article{display:block}
  .procedure .specs{display:none}
  .procedure section h1{font-size:clamp(27px,8vw,36px);line-height:1.12;margin:8px 0 18px;letter-spacing:-.6px}
  .procedure .content{padding:14px;border-radius:16px;width:100%;overflow:hidden}
  .legacy-xml-procedure{font-size:16px;line-height:1.58;width:100%}
  .legacy-xml-procedure .row{display:block!important;flex:none!important;margin:0 0 22px!important;gap:0!important;width:100%!important}
  .legacy-xml-procedure [class*="col-"]{display:block!important;width:100%!important;max-width:100%!important;flex:none!important;margin:0 0 14px!important;padding:0!important;float:none!important;clear:both!important}
  .legacy-xml-procedure img,.legacy-xml-procedure .img-responsive{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0 0 12px!important;border-radius:14px;object-fit:contain}
  .legacy-xml-procedure .alert{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 16px!important;padding:15px 16px!important;font-size:16px!important;line-height:1.6!important;overflow-wrap:break-word;word-break:normal;border-radius:14px}
  .legacy-xml-procedure p{margin:0 0 12px!important}
  .legacy-xml-procedure .badge{margin:0 auto 14px;display:block;width:max-content}
  .procedure .gallery{grid-template-columns:1fr;gap:16px}
}

@media(max-width:480px){
  .wrap,.wrap.procedure{padding-left:10px;padding-right:10px}
  .page{padding-left:0;padding-right:0}
  .procedure .content{padding:10px;border-radius:14px}
  .legacy-xml-procedure{font-size:15.5px;line-height:1.58}
  .legacy-xml-procedure .alert{font-size:15.5px!important;padding:14px!important}
  .legacy-xml-procedure img,.legacy-xml-procedure .img-responsive{border-radius:12px}
}

/* Éditeur WYSIWYG avancé administration */
.pro-editor{border:1px solid #d8dee8;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px #1118270a}.pro-editor .wysiwyg-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px;background:#f8fafc;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.wysiwyg-select{height:38px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:#172033;font-weight:800;padding:0 10px}.wysiwyg-btn{border:1px solid #d8dee8!important;background:#fff!important;color:#172033!important;border-radius:10px!important;padding:9px 11px!important;font-weight:850!important;cursor:pointer!important}.wysiwyg-btn:hover{background:#fee2e2!important;color:#991b1b!important}.wysiwyg-separator{width:1px;height:28px;background:#d8dee8;margin:0 3px}.pro-editor .wysiwyg-editor{min-height:560px;padding:26px;line-height:1.75;outline:0;background:#fff}.pro-editor .wysiwyg-editor:focus{box-shadow:inset 0 0 0 3px #d0000018}.wysiwyg-html-source{width:100%;min-height:560px;border:0;padding:20px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.55;background:#0f172a;color:#dbeafe;resize:vertical}.procedure-figure{margin:22px 0;padding:14px;border:1px solid #f4d58d;border-radius:16px;background:#fffdf0}.procedure-figure img{display:block;max-width:100%;height:auto;border-radius:12px;margin:auto}.procedure-figure figcaption{text-align:center;color:#64748b;font-size:13px;margin-top:8px}.procedure-table{width:100%;border-collapse:collapse;margin:18px 0}.procedure-table td,.procedure-table th{border:1px solid #d8dee8;padding:10px}.procedure-note{border-left:5px solid #d00000;background:#fff7ed;margin:18px 0;padding:14px 16px;border-radius:12px}.wysiwyg-fullscreen{position:fixed!important;inset:16px!important;z-index:9999!important;display:flex!important;flex-direction:column!important}.wysiwyg-fullscreen .wysiwyg-toolbar{position:static!important}.wysiwyg-fullscreen .wysiwyg-editor,.wysiwyg-fullscreen .wysiwyg-html-source{flex:1;min-height:0;overflow:auto}.wysiwyg-source{display:none!important}
@media(max-width:760px){.pro-editor .wysiwyg-toolbar{gap:5px;padding:8px}.wysiwyg-btn{padding:8px!important;font-size:12px!important}.wysiwyg-select{max-width:130px}.pro-editor .wysiwyg-editor{min-height:420px;padding:16px}.wysiwyg-separator{display:none}}

/* Édition complète des pages et du design */
.editable-hero,.page-hero{position:relative;overflow:hidden}.editable-hero.has-media,.page-hero.has-media{background:#0b0f17}.hero-bg-image,.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;z-index:0}.editable-hero.has-media:before,.page-hero.has-media:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay,.55));z-index:1}.editable-hero .wrap,.page-hero .wrap{position:relative;z-index:2}.page-hero{padding:86px 0;color:#fff}.page-hero h1{font-size:clamp(36px,5vw,64px);margin:0 0 10px}.page-hero p{font-size:20px;max-width:820px;color:#eef2f7}.editable-page-content{line-height:1.75}.editable-page-content img,.editable-page-intro img{max-width:100%;height:auto;border-radius:16px}.editable-page-intro{margin:0 0 22px;color:var(--muted);font-size:18px}.design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.design-grid label{display:block;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:900}.design-grid input{margin-top:10px}.design-grid input[type=color]{width:100%;height:46px;padding:3px;border-radius:12px}.checkbox-line{display:flex!important;align-items:center;gap:10px;font-weight:900}.checkbox-line input{width:auto!important}.admin-navlink.small{font-size:14px}.tox-tinymce{border-radius:16px!important;overflow:hidden}.admin-form small{display:block;margin-top:8px;color:#64748b;word-break:break-all}.admin-form code{background:#f1f5f9;border-radius:6px;padding:2px 5px}
@media(max-width:900px){.design-grid{grid-template-columns:repeat(2,1fr)}.page-hero{padding:54px 0}.page-hero p{font-size:17px}}
@media(max-width:560px){.design-grid{grid-template-columns:1fr}.page-hero h1{font-size:32px}.editable-page-content{font-size:16px}}


.hero-sound-toggle{position:absolute;right:24px;bottom:24px;z-index:3;border:1px solid #ffffff66;background:#d00000;color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;box-shadow:0 12px 30px #0006;cursor:pointer}.hero-sound-toggle:hover,.hero-sound-toggle.active{background:#111827}.hero-bg-video{cursor:pointer}
@media(max-width:700px){.hero-sound-toggle{right:14px;bottom:14px;padding:10px 14px;font-size:13px}}

/* Editeur de menu */
.navlinks .menu-item{position:relative;display:flex;align-items:center}.navlinks .menu-item>a{display:inline-flex;align-items:center;gap:5px;color:#f9fafb;font-weight:800;text-transform:uppercase;font-size:13px}.menu-caret{font-size:11px;opacity:.8}.submenu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px;box-shadow:0 20px 45px #0006;z-index:40}.submenu .menu-item{display:block}.submenu .menu-item>a{display:flex;padding:10px 12px;border-radius:10px;text-transform:none;font-size:14px;white-space:nowrap}.submenu .menu-item>a:hover{background:rgba(255,255,255,.08);color:#ff3b3b}.menu-item.has-children:hover>.submenu,.menu-item.has-children:focus-within>.submenu{display:block}.menu-highlight>a{background:var(--red);border-radius:999px;padding:9px 13px!important}.admin-table code{font-size:12px;white-space:nowrap}.admin-table select{min-width:140px;padding:8px 10px}.notice.error{background:#fef2f2;border-color:#ef444455;color:#991b1b}
@media(max-width:850px){.navlinks .menu-item{display:block;width:100%}.navlinks .menu-item>a{width:100%;padding:8px 0}.submenu{position:static;display:block;width:100%;box-shadow:none;border:0;background:#111827;padding:0 0 0 18px}.submenu .menu-item>a{white-space:normal}.menu-caret{display:none}}


/* Logo image + bibliothèque d’icônes menu */
.logo{display:inline-flex;align-items:center;gap:10px}.site-logo-img{display:block;height:var(--site-logo-height,38px);width:auto;max-width:180px;object-fit:contain}.logo-text{display:inline-block}.menu-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.05em;line-height:1;margin-right:2px}.icon-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;margin-top:-8px}.icon-choice{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;border:1px solid #d8dee8!important;background:#fff!important;color:#172033!important;border-radius:14px!important;padding:10px 12px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important}.icon-choice span{font-size:22px;line-height:1}.icon-choice small{font-size:12px;color:#64748b;font-weight:800}.icon-choice:hover,.icon-choice.active{border-color:var(--red)!important;background:#fff1f2!important;color:#991b1b!important}.menu-icon-preview{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;margin-right:8px;border-radius:9px;background:#f1f5f9;font-size:18px;vertical-align:middle}.admin-form input[type=file]{padding:13px;background:#fff;border:1px dashed #cbd5e1}
@media(max-width:760px){.site-logo-img{height:min(var(--site-logo-height,34px),38px);max-width:130px}.logo{gap:7px}.icon-library{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Documentation technique : pavés éditables et import PDF */
.doc-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;margin:20px 0 24px}
.doc-filters input,.doc-filters select{padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.doc-filters button{border:0;background:var(--red);color:#fff;border-radius:10px;font-weight:900;padding:13px 18px}
.doc-tile-grid{margin:22px 0 28px}
.doc-tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--site-card-radius,18px);padding:20px;box-shadow:0 12px 24px #1118270d;transition:.18s transform,.18s box-shadow,.18s border-color}
.doc-tile:hover,.doc-tile.active{transform:translateY(-2px);box-shadow:0 18px 35px #11182716;border-color:var(--red)}
.doc-tile-icon{font-size:26px;display:block;margin-bottom:10px}
.doc-tile strong{display:block;font-size:18px;margin-bottom:6px}
.doc-tile small{display:block;color:var(--muted);line-height:1.45;min-height:40px}
.doc-tile em{display:inline-block;margin-top:12px;font-style:normal;font-size:12px;font-weight:900;color:#991b1b;background:#fee2e2;border-radius:999px;padding:6px 9px}
.doc-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 12px 24px #1118270d}
.doc-table th,.doc-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}
.doc-table th{background:#f8fafc;text-transform:uppercase;font-size:12px;color:#475569}
@media(max-width:900px){.doc-filters{grid-template-columns:1fr}.doc-table{display:block;overflow:auto}}


/* Bibliothèque d’icônes importées */
.icon-img{display:inline-block;width:1.25em;height:1.25em;object-fit:contain;vertical-align:-0.22em}.menu-icon.icon-img{width:18px;height:18px;margin-right:5px}.menu-icon-preview.icon-img{width:28px;height:28px;padding:4px;background:#f1f5f9;border-radius:9px;object-fit:contain;margin-right:8px;vertical-align:middle}.doc-tile-icon.icon-img{width:34px;height:34px;object-fit:contain;margin-bottom:10px}.uploaded-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.uploaded-icon-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px;box-shadow:0 12px 26px #1118270d}.uploaded-icon-preview{height:72px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px dashed #d8dee8;border-radius:14px}.uploaded-icon-img{max-width:56px;max-height:56px;object-fit:contain}.uploaded-icon-card code{font-size:11px;white-space:normal;word-break:break-all}.admin-actions.compact{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-actions.compact form{margin:0}.uploaded-icon-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.icon-choice.imported{min-height:58px}.picker-icon-img{width:26px;height:26px;object-fit:contain;display:inline-block}.imported-icon-picker{padding:12px;border:1px dashed #d8dee8;border-radius:16px;background:#f8fafc}.imported-icon-picker strong{display:block;margin-bottom:3px}
@media(max-width:760px){.uploaded-icon-grid{grid-template-columns:1fr}.uploaded-icon-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-tile-icon.icon-img{width:30px;height:30px}}

/* Lecteur PDF intégré */
.doc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.button-mini{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:999px;background:var(--red);color:#fff!important;text-decoration:none;font-weight:900;font-size:12px}.button-mini.light{background:#fff;color:#991b1b!important;border:1px solid #fecaca}.pdf-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.pdf-viewer-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pdf-reader-card{background:#fff;border:1px solid var(--line);border-radius:var(--site-card-radius,18px);box-shadow:0 18px 45px #11182714;overflow:hidden}.pdf-object{display:block;width:100%;height:78vh;min-height:680px;border:0;background:#f8fafc}.pdf-object p{padding:24px}@media(max-width:760px){.pdf-viewer-head{display:block}.pdf-viewer-actions{margin-top:12px}.pdf-object{height:72vh;min-height:520px}.doc-actions{display:grid;grid-template-columns:1fr}.button-mini{width:100%}}

/* Câblage lecteur PDF depuis les pavés Documentation */
.doc-tile-action{display:inline-block;margin-top:10px;margin-left:8px;font-size:12px;font-weight:900;color:#d00000;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:6px 9px}
.doc-list-section{margin:24px 0 10px}.doc-list-section h2{font-size:26px;margin:0 0 14px}.doc-list-cards{display:grid;gap:12px}.doc-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 10px 24px #1118270b}.doc-card strong{display:block;font-size:17px}.doc-card small{display:block;margin-top:5px;color:var(--muted)}.pdf-fallback{margin:0;padding:12px 16px;background:#fff7ed;border-top:1px solid #fed7aa;color:#7c2d12}.pdf-fallback a{font-weight:900;color:#991b1b}
@media(max-width:760px){.doc-card{display:block}.doc-card .doc-actions{margin-top:12px}.doc-tile-action{display:block;width:max-content;margin-left:0}}

/* =========================================================
   Mise en page uniforme des procédures importées
   Objectif : même présentation pour toutes les procédures,
   quelle que soit la structure originale Windev/WebDev.
   ========================================================= */
.procedure .content{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.procedure .content h2,
.procedure .content h3,
.procedure .content h4{
  margin:0 0 16px;
  color:#0f2f4a;
}
.procedure .content > h2:first-child,
.legacy-xml-procedure > .row:first-child .alert-info,
.legacy-xml-procedure > .alert-info:first-child{
  background:#eef8ff!important;
  border:1px solid #c7e5ff!important;
  border-radius:14px!important;
  color:#0f4c73!important;
  padding:14px 18px!important;
  font-weight:900!important;
  text-transform:uppercase;
}

.legacy-xml-procedure{
  display:block;
  width:100%;
  font-size:17px;
  line-height:1.72;
  color:#223047;
}
.legacy-xml-procedure .row{
  display:grid!important;
  grid-template-columns:minmax(320px,48%) minmax(0,1fr)!important;
  gap:30px!important;
  align-items:start!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:22px!important;
  background:#ffffff!important;
  border:1px solid #e3e8ef!important;
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(15,23,42,.08)!important;
}
.legacy-xml-procedure .row:not(:has(img)){
  display:block!important;
  padding:0!important;
  margin:0 0 22px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.legacy-xml-procedure .row:has(img) > [class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:none!important;
  float:none!important;
  padding:0!important;
  margin:0!important;
}
.legacy-xml-procedure .row:has(img) > [class*="col-"]:has(img){
  grid-column:1!important;
}
.legacy-xml-procedure .row:has(img) > [class*="col-"]:not(:has(img)){
  grid-column:2!important;
}
.legacy-xml-procedure .row:has(img) > [class*="col-"]:only-child{
  grid-column:1 / -1!important;
}
.legacy-xml-procedure img,
.legacy-xml-procedure .img-responsive,
.procedure .content figure.procedure-photo img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  margin:0!important;
  background:#f8fafc!important;
  box-shadow:0 14px 32px rgba(15,23,42,.14)!important;
}
.legacy-xml-procedure .alert,
.legacy-xml-procedure .alert-info,
.legacy-xml-procedure .alert-warning,
.legacy-xml-procedure .alert-danger,
.legacy-xml-procedure .alert-success{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:18px 20px!important;
  background:#fffdf0!important;
  border:1px solid #f1dfaa!important;
  border-radius:18px!important;
  color:#2f2412!important;
  font-size:17px!important;
  line-height:1.72!important;
  font-weight:650!important;
  box-shadow:none!important;
}
.legacy-xml-procedure .alert p,
.legacy-xml-procedure p{
  margin:0 0 12px!important;
}
.legacy-xml-procedure .alert p:last-child,
.legacy-xml-procedure p:last-child{
  margin-bottom:0!important;
}
.legacy-xml-procedure .badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  height:30px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#64748b!important;
  color:#fff!important;
  font-weight:900!important;
  margin:0 0 12px!important;
}
.legacy-xml-procedure br + br{display:none}

/* Les anciens rendus générés par les versions précédentes sont harmonisés aussi. */
.content .procedure-step-associated,
.content .procedure-webdev-layout,
.content .procedure-linear-block{
  background:#fff!important;
  border:1px solid #e3e8ef!important;
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(15,23,42,.08)!important;
}
.content .procedure-step-text,
.content .procedure-webdev-text,
.content .procedure-linear-text{
  background:#fffdf0!important;
  border:1px solid #f1dfaa!important;
  border-radius:18px!important;
  padding:18px 20px!important;
  color:#2f2412!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.content .procedure-step-associated.no-text,
.content .procedure-linear-photos{
  background:#fff!important;
}

@media(max-width:1050px){
  .legacy-xml-procedure .row{
    grid-template-columns:minmax(260px,45%) minmax(0,1fr)!important;
    gap:22px!important;
    padding:18px!important;
  }
}
@media(max-width:760px){
  .procedure .content{padding:14px;border-radius:18px}
  .legacy-xml-procedure{font-size:16px;line-height:1.6}
  .legacy-xml-procedure .row{
    display:block!important;
    padding:14px!important;
    margin:0 0 20px!important;
    border-radius:18px!important;
  }
  .legacy-xml-procedure .row > [class*="col-"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
  }
  .legacy-xml-procedure .row > [class*="col-"]:last-child{margin-bottom:0!important}
  .legacy-xml-procedure .alert{font-size:16px!important;padding:15px 16px!important;border-radius:15px!important}
}

/* Documentation PDF : supprime les fonds bleus de sélection et allège la liste redondante */
.doc-list-section{margin-top:18px}
.doc-list-section h2{display:none}
.doc-card strong,.doc-card small,.doc-actions a,.doc-tile strong,.doc-tile small,.doc-tile em,.doc-tile-action{user-select:none;-webkit-user-select:none}
.doc-card strong::selection,.doc-card small::selection,.doc-actions a::selection,.doc-tile strong::selection,.doc-tile small::selection,.doc-tile em::selection,.doc-tile-action::selection{background:transparent;color:inherit}


/* Icônes des pavés de catégories sur la page d'accueil */
.cat-grid .cat{position:relative;display:block;min-height:145px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.cat-grid .cat:hover{transform:translateY(-2px);border-color:#f0b4b4;box-shadow:0 18px 36px rgba(17,24,39,.12)}
.cat-grid .cat .cat-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:14px;color:var(--red);background:#fff5f5;border:1px solid #ffd1d1;border-radius:14px}
.cat-grid .cat .cat-icon-svg{width:30px;height:30px;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.cat-grid .cat span{line-height:1.15}
@media(max-width:850px){.cat-grid .cat{min-height:auto}.cat-grid .cat .cat-icon{width:40px;height:40px;margin-bottom:12px}.cat-grid .cat .cat-icon-svg{width:28px;height:28px}}

/* Correctif contraste du pavé "Dernière procédure" dans le hero accueil */
.hero .hero-card,
.editable-hero .hero-card{
  background:#fff;
  color:#111827;
}
.hero .hero-card h2,
.hero .hero-card h3,
.editable-hero .hero-card h2,
.editable-hero .hero-card h3{
  color:#111827;
  opacity:1;
}
.hero .hero-card p,
.editable-hero .hero-card p{
  color:#374151;
  opacity:1;
  font-weight:600;
}
.hero .hero-card a,
.editable-hero .hero-card a{
  color:#111827;
  font-weight:800;
}


/* Footer compact - 911Tech */
footer{padding-top:16px!important;}
.footer-grid{gap:20px!important;align-items:flex-start!important;}
.footer-grid h3,.footer-grid h4{margin:0 0 8px!important;}
.footer-grid p{margin:0!important;}
.footer-grid a{margin:4px 0!important;}
.copy{margin-top:12px!important;padding:9px 14px!important;font-size:13px!important;}
@media(max-width:850px){footer{padding-top:14px!important}.footer-grid{gap:10px!important}.copy{margin-top:10px!important}}


/* Page 404 personnalisee */
.page-404{padding-top:70px;padding-bottom:90px;min-height:55vh;display:flex;align-items:center}
.not-found-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px #11182716;padding:42px;max-width:820px;margin:0 auto;text-align:center}
.not-found-code{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:24px;background:#fee2e2;color:#d00000;font-size:42px;font-weight:950;margin-bottom:18px}
.not-found-card h1{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:8px 0 14px;color:#172033}
.not-found-card p{color:#64748b;font-size:18px;line-height:1.65;margin:10px auto;max-width:650px}
.not-found-url code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:3px 7px;color:#334155;word-break:break-all}
.not-found-actions{justify-content:center;margin-top:26px}.btn.ghost.dark{color:#172033;border-color:#172033}.btn.ghost.dark:hover{background:#172033;color:#fff}
@media(max-width:700px){.page-404{padding-top:36px;padding-bottom:56px}.not-found-card{padding:28px 18px}.not-found-code{width:74px;height:74px;font-size:32px}.not-found-card p{font-size:16px}.not-found-actions{display:grid;grid-template-columns:1fr}.not-found-actions .btn{width:100%;text-align:center}}


/* Optimisation pro : fluidité, lisibilité, accessibilité */
img,video{max-width:100%;height:auto}img{content-visibility:auto}.card,.cat,.doc-tile,.procedure .content,.hero-card{will-change:transform}.section,.cards,.cat-grid,.doc-tile-grid,.procedure .content{content-visibility:auto;contain-intrinsic-size:1px 700px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 45%,transparent);outline-offset:3px}.navlinks a[aria-current="page"]{color:#ff3b3b}.hero-card p,.card p{color:#374151}.hero-card h3{color:#111827}.content{overflow-wrap:anywhere}.content table{width:100%;border-collapse:collapse;display:block;overflow:auto}.content iframe,.content embed,.content object{max-width:100%;border-radius:14px}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:9999;background:#fff;color:#111827;padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px #0003}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{.topbar,.navbar,.hero-sound-toggle,footer,.actions,.searchbar,.doc-filters{display:none!important}body{background:#fff;color:#000}.wrap{max-width:none}.content,.card,.cat,.doc-tile{box-shadow:none;border:1px solid #ddd}}



/* PRIORITY UI IMPROVEMENTS 20260630 */
.media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.media-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.media-thumb{height:130px;border-radius:12px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-thumb img,.media-thumb video{max-width:100%;max-height:100%;object-fit:contain}.media-thumb .file-icon{font-size:42px}.media-card h3{font-size:14px;margin:10px 0 4px;word-break:break-word}.media-card small{color:#64748b}.copy-field{font-size:12px;width:100%;margin-top:8px}.procedure-structured{display:flex;flex-direction:column;gap:22px}.procedure-intro,.procedure-safety,.procedure-meta-grid>div{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:18px}.procedure-safety{background:#fff1f2;border-color:#fecdd3}.procedure-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.procedure-step-card{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:26px;background:#fffdf2;border:1px solid #f1d58a;border-radius:18px;padding:20px;align-items:start}.procedure-step-card figure{margin:0}.procedure-step-card img{width:100%;height:auto;border-radius:14px;box-shadow:0 15px 35px rgba(15,23,42,.14)}.procedure-step-copy h2{margin:.25rem 0 .75rem}.step-number{display:inline-flex;background:#d00000;color:#fff;border-radius:999px;padding:4px 10px;font-weight:800;font-size:12px}.step-warning{background:#fff1f2;border-left:4px solid #e11d48;padding:12px;border-radius:10px}.step-tech{background:#eff6ff;border-left:4px solid #2563eb;padding:10px;border-radius:10px}@media(max-width:800px){.procedure-step-card,.procedure-meta-grid{grid-template-columns:1fr}.media-library-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

.icon-missing{display:inline-flex;align-items:center;justify-content:center;background:#fff7ed;border:1px dashed #fb923c;color:#9a3412;border-radius:9px}.admin-icon-current{display:inline-flex;align-items:center;min-height:42px}

/* Correction finale : pied de page toujours en bas de l'écran sur les pages courtes */
html,
body {
  min-height: 100%;
}
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body > main {
  flex: 1 0 auto;
}
body > footer {
  flex-shrink: 0;
}

/* Cohérence modules atelier */
.form-section-title{
  grid-column:1/-1;
  margin:22px 0 4px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:18px;
  letter-spacing:-.2px;
}
.admin-card .form-section-title:first-child{margin-top:0;border-top:0;padding-top:0}
.admin-form small.help-text{display:block;color:var(--muted);font-size:13px;margin-top:7px;font-weight:600;line-height:1.35}
.admin-form input::placeholder,.admin-form textarea::placeholder{color:#94a3b8}
.admin-table td strong{font-weight:950;color:#0f172a}
.admin-table .muted,.table-muted{color:var(--muted);font-size:13px}

/* V6 atelier: sélecteurs et imports de médias */
.asset-preview{margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.asset-preview img{width:72px;height:54px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f8fafc}
.admin-form select + small.help-text,
.admin-form input[type=file] + small.help-text{margin-top:7px}

/* V7 diagnostic, fiche intervention, references techniques, mode garage */
.diagnostic-severity{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;font-weight:900;margin:8px 0 18px;background:#eef2ff;color:#3730a3}.severity-faible{background:#ecfdf5!important;color:#047857!important}.severity-moyenne{background:#fff7ed!important;color:#c2410c!important}.severity-critique{background:#fff1f2!important;color:#be123c!important}.garage-mode .lead{font-size:18px;color:#64748b;max-width:850px}.garage-panel{margin:28px 0}.garage-body .card{min-height:150px}.admin-mini-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.intervention-preview ul{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:16px 20px 16px 34px}.intervention-preview li{margin:6px 0}.admin-form .checkline{display:flex;align-items:center;gap:10px;font-weight:800}.admin-form .checkline input{width:auto}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.admin-table th{background:#f8fafc;color:#334155;font-size:13px}.button-light,.button-danger,.button-red{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:9px 14px;text-decoration:none;font-weight:900;background:#fff;color:#0f172a}.button-red{background:var(--red);border-color:var(--red);color:#fff}.button-danger{background:#dc2626;border-color:#dc2626;color:#fff}.notice{background:#ecfdf5;border:1px solid #86efac;border-radius:12px;padding:12px 14px;color:#047857;font-weight:800}.muted{color:#64748b}
@media(max-width:760px){.garage-mode .cards,.admin-mini-grid{grid-template-columns:1fr}.admin-table th,.admin-table td{font-size:13px;padding:8px}}

/* Correction V8 : boutons fiche véhicule sans superposition */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;white-space:normal;vertical-align:middle;min-height:44px}
.btn.ghost.dark{border-color:var(--dark);color:var(--dark);background:transparent}
.vehicle-action-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:10px}
.vehicle-action-buttons .btn{width:auto;max-width:100%;margin:0}
@media(max-width:700px){.vehicle-action-buttons{align-items:stretch}.vehicle-action-buttons .btn{width:100%}}


/* Footer compact fixe - V9 */
html{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column;padding-bottom:50px}
body>main{flex:1 0 auto}
footer.site-footer-fixed{position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--footer-bg,var(--dark));color:var(--footer-text,#d1d5db);padding:0;border-top:1px solid rgba(255,255,255,.10);box-shadow:0 -8px 24px rgba(0,0,0,.16)}
footer.site-footer-fixed .footer-one-line{min-height:42px;padding-top:8px;padding-bottom:8px;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.2}
footer.site-footer-fixed .footer-grid{display:flex;align-items:center;gap:10px}
footer.site-footer-fixed h3,footer.site-footer-fixed h4,footer.site-footer-fixed p{margin:0}
footer.site-footer-fixed .footer-brand{font-weight:900;color:#fff}
footer.site-footer-fixed .footer-description{color:inherit;overflow:hidden;text-overflow:ellipsis}
footer.site-footer-fixed .footer-links{display:inline-flex;align-items:center;gap:12px}
footer.site-footer-fixed .footer-links a{display:inline;margin:0;color:var(--footer-link,#fff);font-weight:700}
footer.site-footer-fixed .footer-separator{opacity:.45}
footer.site-footer-fixed .copy,footer.site-footer-fixed .footer-copy{border:0;margin:0;padding:0;text-align:inherit;font-size:13px;color:inherit}
@media(max-width:760px){body{padding-bottom:64px}footer.site-footer-fixed .footer-one-line{min-height:56px;white-space:normal;flex-wrap:wrap;gap:6px 9px;font-size:12px;padding-top:7px;padding-bottom:7px}footer.site-footer-fixed .footer-links{gap:8px}.footer-description{max-width:100%}}

/* Correction V10 : alignement parfait des textes du pied de page */
body{
  padding-bottom:44px!important;
}
footer.site-footer-fixed{
  min-height:40px!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
footer.site-footer-fixed .footer-one-line{
  min-height:40px!important;
  height:40px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  line-height:1!important;
}
footer.site-footer-fixed .footer-one-line > *,
footer.site-footer-fixed .footer-links,
footer.site-footer-fixed .footer-links a,
footer.site-footer-fixed .copy,
footer.site-footer-fixed .footer-copy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:1!important;
  vertical-align:middle!important;
}
footer.site-footer-fixed .footer-brand,
footer.site-footer-fixed .footer-description,
footer.site-footer-fixed .footer-copy,
footer.site-footer-fixed .footer-separator{
  position:relative!important;
  top:0!important;
  transform:none!important;
}
footer.site-footer-fixed .footer-description{
  max-width:520px!important;
}
footer.site-footer-fixed .footer-copy{
  white-space:nowrap!important;
}
@media(max-width:760px){
  body{padding-bottom:58px!important;}
  footer.site-footer-fixed{height:auto!important;min-height:52px!important;}
  footer.site-footer-fixed .footer-one-line{
    height:auto!important;
    min-height:52px!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    gap:6px 8px!important;
    padding:6px 20px!important;
    line-height:1.15!important;
  }
  footer.site-footer-fixed .footer-one-line > *,
  footer.site-footer-fixed .footer-links,
  footer.site-footer-fixed .footer-links a,
  footer.site-footer-fixed .copy,
  footer.site-footer-fixed .footer-copy{
    line-height:1.15!important;
  }
}

/* Correction V11 : pied de page fixe sur 2 lignes, texte centré verticalement */
body{
  padding-bottom:64px!important;
}
footer.site-footer-fixed.footer-two-lines{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:999!important;
  min-height:56px!important;
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--footer-bg,var(--dark))!important;
  color:var(--footer-text,#d1d5db)!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.16)!important;
}
footer.site-footer-fixed.footer-two-lines .footer-compact-two{
  min-height:56px!important;
  height:56px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  text-align:center!important;
  overflow:hidden!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line{
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  max-width:100%!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line-main{
  font-size:13px!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line-copy{
  font-size:12px!important;
  opacity:.92!important;
}
footer.site-footer-fixed.footer-two-lines .footer-brand,
footer.site-footer-fixed.footer-two-lines .footer-description,
footer.site-footer-fixed.footer-two-lines .footer-separator,
footer.site-footer-fixed.footer-two-lines .footer-links,
footer.site-footer-fixed.footer-two-lines .footer-links a,
footer.site-footer-fixed.footer-two-lines .copy,
footer.site-footer-fixed.footer-two-lines .footer-copy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:1.1!important;
  position:static!important;
  top:auto!important;
  transform:none!important;
  vertical-align:middle!important;
}
footer.site-footer-fixed.footer-two-lines .footer-brand{
  font-weight:900!important;
  color:#fff!important;
}
footer.site-footer-fixed.footer-two-lines .footer-description{
  max-width:680px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
footer.site-footer-fixed.footer-two-lines .footer-links{
  gap:10px!important;
}
footer.site-footer-fixed.footer-two-lines .footer-links a{
  color:var(--footer-link,#fff)!important;
  font-weight:800!important;
}
footer.site-footer-fixed.footer-two-lines .footer-separator{
  opacity:.45!important;
}
footer.site-footer-fixed.footer-two-lines .footer-copy{
  white-space:nowrap!important;
}
@media(max-width:760px){
  body{padding-bottom:78px!important;}
  footer.site-footer-fixed.footer-two-lines{
    height:auto!important;
    min-height:68px!important;
  }
  footer.site-footer-fixed.footer-two-lines .footer-compact-two{
    height:auto!important;
    min-height:68px!important;
    padding:7px 20px!important;
  }
  footer.site-footer-fixed.footer-two-lines .footer-line{
    white-space:normal!important;
    flex-wrap:wrap!important;
    gap:5px 8px!important;
    line-height:1.18!important;
  }
  footer.site-footer-fixed.footer-two-lines .footer-line-main{font-size:12px!important;}
  footer.site-footer-fixed.footer-two-lines .footer-line-copy{font-size:11px!important;}
  footer.site-footer-fixed.footer-two-lines .footer-description{max-width:100%!important;}
}

/* V12 - Assistant local et codes OBD */
.ai-answer {
  white-space: pre-wrap;
  background: #f7f9fc;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 18px;
  padding: 18px;
  line-height: 1.55;
  font-family: inherit;
  color: #142033;
}
.public-ai-answer { font-size: 1rem; }


/* V17 - assistant diagnostic vivant */
.ai-diagnostic-card .quick-symptoms{display:flex;flex-wrap:wrap;gap:.55rem;margin:.5rem 0 1rem}
.ai-diagnostic-card .quick-symptoms button{border:1px solid #d8dee9;background:#fff;border-radius:999px;padding:.45rem .75rem;font-weight:700;cursor:pointer}
.ai-diagnostic-card .quick-symptoms button:hover{border-color:#d00000;color:#d00000}
.public-ai-answer{white-space:pre-wrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;line-height:1.55;overflow:auto}
.external-ai-answer{background:#fff8ef;border-color:#ffd59a}
.admin-card .ai-answer{white-space:pre-wrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;line-height:1.5;overflow:auto;max-height:520px}

/* Assistant diagnostic public - V18 */
.assistant-public-page{padding-top:34px;padding-bottom:110px;}
.assistant-hero-card{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:stretch;margin:22px 0 24px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#0b0f17 0%,#172033 54%,#7f1118 130%);color:#fff;box-shadow:0 24px 55px rgba(15,23,42,.20);overflow:hidden;}
.assistant-hero-card .eyebrow{margin:0 0 12px;color:#fecaca;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.assistant-hero-card h1{margin:0 0 14px;color:#fff;font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.04em;}
.assistant-hero-card .lead{max-width:760px;margin:0;color:#e5e7eb;font-size:18px;line-height:1.55;}
.assistant-rules{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:22px;border:1px solid rgba(255,255,255,.20);border-radius:22px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px);}
.assistant-rules strong{font-size:20px;color:#fff;}
.assistant-rules span{display:block;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.13);font-size:14px;font-weight:800;}
.assistant-form-card{padding:26px 26px 24px;margin-bottom:24px;border-radius:26px;}
.public-diagnostic-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.public-diagnostic-form p{margin:0;}
.public-diagnostic-form .full{grid-column:1/-1;}
.public-diagnostic-form label span{display:block;margin:0 0 8px;color:#0f172a;font-weight:900;}
.public-diagnostic-form input,.public-diagnostic-form textarea{width:100%;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:14px;background:#fff;padding:13px 15px;color:#0f172a;font:inherit;box-shadow:inset 0 1px 0 rgba(15,23,42,.02);}
.public-diagnostic-form textarea{resize:vertical;min-height:145px;line-height:1.55;}
.public-diagnostic-form input:focus,.public-diagnostic-form textarea:focus{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.10);outline:0;}
.ai-diagnostic-card .quick-symptoms{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 20px;}
.ai-diagnostic-card .quick-symptoms button{border:1px solid #fecaca;background:#fff5f5;color:#991b1b;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer;transition:.16s ease;}
.ai-diagnostic-card .quick-symptoms button:hover{background:#dc0000;border-color:#dc0000;color:#fff;transform:translateY(-1px);}
.assistant-result-card{padding:26px;border-radius:26px;margin-bottom:30px;}
.public-ai-answer{white-space:pre-wrap;background:#0b1220;color:#e5e7eb;border-radius:18px;padding:20px;line-height:1.6;overflow:auto;}
.external-ai-answer{background:#111827;}
.assistant-sources{display:grid;gap:8px;padding:0;margin:14px 0 0;list-style:none;}
.assistant-sources li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;}
.assistant-sources a{font-weight:900;color:#dc0000;}
@media(max-width:850px){.assistant-hero-card{grid-template-columns:1fr;padding:24px}.assistant-rules{gap:8px}.public-diagnostic-form .form-grid{grid-template-columns:1fr}.assistant-public-page{padding-top:22px}.assistant-hero-card .lead{font-size:16px}}

/* V19 - etat de recherche assistant diagnostic */
.assistant-status-card{padding:22px 24px;margin:0 0 24px;border-radius:24px;border:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 18px 45px rgba(15,23,42,.08)}
.assistant-status-head{display:flex;align-items:center;gap:16px}
.assistant-status-head strong{display:block;font-size:20px;color:#0f172a;margin-bottom:4px}
.assistant-status-head p{margin:0;color:#64748b;font-weight:700}
.assistant-status-time{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;border-radius:999px;background:#fff5f5;color:#991b1b;font-weight:900;border:1px solid #fecaca}
.assistant-spinner{width:34px;height:34px;border-radius:50%;border:4px solid #fee2e2;border-top-color:#dc0000;animation:p911Spin .9s linear infinite;flex:0 0 auto}
.assistant-status-card.is-complete .assistant-spinner{animation:none;border-color:#22c55e;background:#22c55e;position:relative}
.assistant-status-card.is-error .assistant-spinner{animation:none;border-color:#dc2626;background:#dc2626}
@keyframes p911Spin{to{transform:rotate(360deg)}}
.assistant-progress-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none;counter-reset:step}
.assistant-progress-steps li{position:relative;padding:10px 10px 10px 34px;border-radius:14px;background:#f1f5f9;color:#64748b;font-size:13px;font-weight:800;line-height:1.25}
.assistant-progress-steps li:before{counter-increment:step;content:counter(step);position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#cbd5e1;color:#fff;font-size:11px;font-weight:900}
.assistant-progress-steps li.is-active{background:#fff5f5;color:#991b1b;box-shadow:inset 0 0 0 1px #fecaca}
.assistant-progress-steps li.is-active:before{background:#dc0000}
.assistant-progress-steps li.is-done{background:#f0fdf4;color:#166534}
.assistant-progress-steps li.is-done:before{background:#22c55e;content:'✓'}
.public-diagnostic-form .btn[disabled]{opacity:.65;cursor:wait;transform:none!important}
.assistant-result-card[hidden],.assistant-status-card[hidden]{display:none!important}
@media(max-width:900px){.assistant-progress-steps{grid-template-columns:1fr}.assistant-status-head{align-items:flex-start}.assistant-status-time{margin-left:0}.assistant-status-head{flex-wrap:wrap}}

/* V22 - Reponse assistant en popup */
.assistant-response-popup[hidden]{display:none!important}
.assistant-popup-open{overflow:hidden}
.assistant-response-popup{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
.assistant-popup-backdrop{position:absolute;inset:0;border:0;background:rgba(2,6,23,.68);backdrop-filter:blur(5px);cursor:pointer}
.assistant-popup-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 34px));max-height:min(86vh,860px);display:flex;flex-direction:column;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(2,6,23,.38);overflow:hidden;border:1px solid rgba(255,255,255,.34)}
.assistant-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#0b0f17,#172033 55%,#7f1118 130%);color:#fff}
.assistant-popup-header .eyebrow{margin:0 0 6px;color:#fecaca;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.assistant-popup-header h2{margin:0;color:#fff;font-size:clamp(22px,3vw,32px);line-height:1.05}
.assistant-popup-close{flex:0 0 auto;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer;font-weight:400}
.assistant-popup-close:hover{background:#dc0000;border-color:#dc0000}
.assistant-popup-content{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:24px!important;overflow:auto;max-height:calc(86vh - 92px)}
.assistant-popup-content h2{margin:0 0 14px;color:#0f172a;font-size:24px}
.assistant-popup-content h2:not(:first-child){margin-top:24px}
.assistant-popup-content .public-ai-answer{max-height:none;margin:0 0 18px}
.assistant-popup-content .assistant-sources li{background:#f8fafc}
@media(max-width:720px){.assistant-response-popup{align-items:flex-end;padding:12px}.assistant-popup-dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0}.assistant-popup-header{padding:16px 18px}.assistant-popup-content{padding:18px!important;max-height:calc(92vh - 82px)}.assistant-popup-close{width:38px;height:38px;font-size:26px}}

/* V23 - message traitement assistant + popup garantie */
.assistant-processing-overlay[hidden]{display:none!important}
.assistant-processing-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}
.assistant-processing-box{width:min(620px,calc(100vw - 32px));display:flex;gap:18px;align-items:center;padding:24px 26px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(2,6,23,.30);border:1px solid rgba(255,255,255,.60)}
.assistant-processing-box h2{margin:0 0 6px;color:#0f172a;font-size:26px;line-height:1.1}
.assistant-processing-box p{margin:0;color:#334155;font-weight:800;line-height:1.45}
.assistant-processing-box small{display:block;margin-top:8px;color:#64748b;font-weight:700}
.assistant-processing-box .assistant-spinner{width:46px;height:46px;border-width:5px;flex:0 0 auto}
.assistant-response-popup:not([hidden]){display:flex!important}
.assistant-popup-content:not([hidden]){display:block!important}
@media(max-width:640px){.assistant-processing-overlay{align-items:flex-end;padding:14px}.assistant-processing-box{align-items:flex-start;border-radius:22px 22px 0 0;padding:20px}.assistant-processing-box h2{font-size:22px}}

/* V24 assistant: feedback immediat de traitement */
.assistant-inline-wait{display:flex;align-items:center;gap:12px;margin:18px 0 0;padding:14px 16px;border:1px solid rgba(220,38,38,.22);border-radius:16px;background:#fff7f7;color:#7f1d1d;box-shadow:0 12px 28px rgba(220,38,38,.08)}
.assistant-inline-wait[hidden]{display:none!important}
.assistant-inline-wait .assistant-spinner{width:24px;height:24px;flex:0 0 24px}
.assistant-processing-overlay{z-index:2147483000!important}
.assistant-response-popup{z-index:2147483100!important}
/* V25 - fermeture fiable de la popup assistant IA */
.assistant-popup-open{overflow:hidden!important}
.assistant-response-popup[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.assistant-response-popup{pointer-events:auto!important}
.assistant-popup-backdrop{z-index:0!important;pointer-events:auto!important}
.assistant-popup-dialog{z-index:2!important;pointer-events:auto!important}
.assistant-popup-header{position:sticky;top:0;z-index:4}
.assistant-popup-close{position:relative;z-index:5;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto!important}
.assistant-popup-footer{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid #e5e7eb;padding:14px 24px;display:flex;justify-content:flex-end;gap:10px}
.assistant-popup-footer-close{min-width:150px;text-align:center}
@media(max-width:720px){.assistant-popup-footer{padding:12px 18px}.assistant-popup-footer-close{width:100%}}


/* V27 - correctifs popup assistant et curseurs */
#assistant-submit-btn,
.public-diagnostic-form .btn,
.assistant-popup-close,
.assistant-popup-backdrop,
.assistant-popup-footer-close,
.assistant-sources a {
  cursor: pointer !important;
}
#assistant-submit-btn:disabled,
.public-diagnostic-form .btn:disabled {
  cursor: wait !important;
}
.assistant-response-popup[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.assistant-response-popup:not([hidden]) {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.assistant-popup-close,
.assistant-popup-footer-close {
  user-select: none;
  touch-action: manipulation;
}


/* V28 - fermeture popup sans blocage + traitement visible */
.assistant-popup-close,
.assistant-popup-footer-close,
.assistant-popup-backdrop{
  text-decoration:none!important;
}
a.assistant-popup-close{
  color:#fff!important;
}
a.assistant-popup-footer-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
a.assistant-popup-backdrop{
  display:block!important;
}
.assistant-inline-wait:not([hidden]),
.assistant-processing-overlay:not([hidden]){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.assistant-status-card:not([hidden]){
  display:block!important;
  visibility:visible!important;
}

/* V33 - decompte visible dans la popup de traitement IA */
.assistant-countdown{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff7f7;
  color:#991b1b;
  border:1px solid rgba(220,38,38,.18);
  font-weight:900;
  line-height:1.2;
}
.assistant-countdown strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  border-radius:999px;
  background:#dc0000;
  color:#fff;
  font-size:15px;
}
@media(max-width:640px){
  .assistant-countdown{font-size:13px;border-radius:14px;align-items:flex-start}
}

/* V40 - Assistant IA : indication plus explicite pendant le complément IA externe */
.assistant-external-card{
  margin-top:24px;
  padding-top:2px;
}
.assistant-external-panel{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px 18px;
  margin:12px 0 14px;
  border:1px solid #fecaca;
  border-radius:18px;
  background:linear-gradient(180deg,#fff7f7,#ffffff);
  box-shadow:0 10px 28px rgba(220,0,0,.06);
}
.assistant-external-panel .assistant-spinner{
  width:30px;
  height:30px;
  border-width:4px;
  margin-top:2px;
}
.assistant-external-panel-text{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#334155;
  font-size:14px;
  line-height:1.35;
}
.assistant-external-panel-text strong{
  color:#7f1d1d;
  font-size:15px;
}
.assistant-external-panel-text b{
  color:#0f172a;
}
.assistant-external-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:12px 0 12px;
  padding:0;
  list-style:none;
  counter-reset:externalStep;
}
.assistant-external-steps li{
  position:relative;
  padding:10px 10px 10px 32px;
  border-radius:14px;
  background:#f1f5f9;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}
.assistant-external-steps li:before{
  counter-increment:externalStep;
  content:counter(externalStep);
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  width:17px;
  height:17px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#cbd5e1;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.assistant-external-steps li.is-active{
  background:#fff5f5;
  color:#991b1b;
  box-shadow:inset 0 0 0 1px #fecaca;
}
.assistant-external-steps li.is-active:before{
  background:#dc0000;
}
.assistant-external-steps li.is-done{
  background:#f0fdf4;
  color:#166534;
}
.assistant-external-steps li.is-done:before{
  content:'✓';
  background:#22c55e;
}
.assistant-privacy-note{
  margin:8px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:700;
}
.assistant-suggestion-ok{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:14px;
  background:#f0fdf4;
  color:#166534;
  font-weight:900;
}
@media(max-width:800px){
  .assistant-external-steps{grid-template-columns:1fr;}
  .assistant-external-panel{align-items:flex-start;}
}


/* V46 - popup de traitement du remaniement IA */
.ai-rewrite-busy[hidden]{display:none!important}
.ai-rewrite-busy{position:fixed;inset:0;z-index:99999;background:rgba(5,9,18,.68);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}
.ai-rewrite-busy-card{max-width:760px;width:min(760px,96vw);background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:28px;display:grid;grid-template-columns:58px 1fr;gap:20px;align-items:start;border:1px solid rgba(255,255,255,.45)}
.ai-rewrite-busy-card h2{margin:0 0 8px;font-size:28px;color:#101827;letter-spacing:-.4px}.ai-rewrite-busy-card p{margin:6px 0;color:#475569;font-weight:700}.ai-rewrite-count strong{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:#d00000;color:#fff}.ai-rewrite-spinner{width:44px;height:44px;border-radius:999px;border:5px solid #fee2e2;border-top-color:#d00000;animation:p911spin .85s linear infinite}.ai-rewrite-steps{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 6px}.ai-rewrite-steps span{background:#f1f5f9;color:#64748b;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.ai-rewrite-steps span.active{background:#fee2e2;color:#991b1b}.ai-rewrite-busy-open{cursor:wait}.ai-rewrite-busy-open *{cursor:wait!important}@keyframes p911spin{to{transform:rotate(360deg)}}
@media(max-width:680px){.ai-rewrite-busy-card{grid-template-columns:1fr;text-align:center}.ai-rewrite-spinner{margin:auto}.ai-rewrite-steps{justify-content:center}}

/* V58 - photos d'outils contextuelles a cote du texte qui cite l'outil */
.procedure-step-body-with-tools{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:18px;align-items:start;margin-top:8px}.procedure-step-body-text>:first-child{margin-top:0}.procedure-step-tools-inline{position:sticky;top:92px;background:#fff;border:1px solid #fed7aa;border-radius:16px;padding:10px;box-shadow:0 10px 26px rgba(15,23,42,.08);font-size:.9rem}.procedure-step-tools-inline>strong{display:block;color:#991b1b;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.procedure-step-tool-card{margin:0 0 10px;background:#fff7ed;border:1px solid #ffedd5;border-radius:14px;overflow:hidden}.procedure-step-tool-card:last-child{margin-bottom:0}.procedure-step-tool-card img{width:100%;height:96px;object-fit:cover;display:block;border-radius:0;box-shadow:none}.procedure-step-tool-card figcaption{padding:8px 9px 2px;font-weight:900;color:#142033;line-height:1.25}.procedure-step-tool-card small{display:block;padding:0 9px 8px;color:#64748b;line-height:1.25}@media(max-width:980px){.procedure-step-body-with-tools{grid-template-columns:1fr}.procedure-step-tools-inline{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.procedure-step-tools-inline>strong{grid-column:1/-1}.procedure-step-tool-card{margin:0}.procedure-step-tool-card img{height:105px}}

/* V59 - fiabilite assistant, pieces, mode atelier, suggestions */
.assistant-reliability{display:flex;flex-direction:column;gap:4px;margin:12px 0 16px;padding:12px 14px;border-radius:14px;border:1px solid #e5e7eb;background:#f8fafc;color:#0f172a}.assistant-reliability strong{font-weight:900}.assistant-reliability span{color:#475569}.assistant-reliability-high{border-color:#86efac;background:#f0fdf4}.assistant-reliability-medium{border-color:#fde68a;background:#fffbeb}.assistant-reliability-low{border-color:#fecaca;background:#fef2f2}.assistant-sources a{font-weight:800;text-decoration:underline}.procedure-parts-used{background:#fffdf2}.procedure-step-parts-inline{border-color:#fde68a;background:#fffdf2}.procedure-step-part-card img{object-fit:cover}.procedure-actions-public{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.workshop-mode{font-size:1.08rem}.workshop-step{display:grid;grid-template-columns:minmax(220px,42%) 1fr;gap:22px;align-items:start;margin:26px 0;padding:18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.workshop-step img{width:100%;border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.12)}.workshop-step h2{margin-top:0}.workshop-nav{position:sticky;bottom:70px;background:#111827;color:#fff;border-radius:18px;padding:12px 16px;display:flex;gap:10px;justify-content:center;z-index:40}.workshop-nav button,.workshop-nav a{background:#fff;color:#111827;border:0;border-radius:999px;padding:10px 16px;font-weight:900;text-decoration:none;cursor:pointer}.faq-list details{border:1px solid #e5e7eb;border-radius:16px;padding:14px 18px;margin:12px 0;background:#fff}.visitor-suggestion-box{margin:24px 0;padding:18px;border:1px solid #dbeafe;background:#f8fbff;border-radius:18px}@media(max-width:760px){.workshop-step{grid-template-columns:1fr}.workshop-nav{bottom:90px}}

/* V63 : actions admin compactes sans superposition */
.admin-inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-inline-actions button,.admin-inline-actions .button-danger,.admin-inline-actions .button-light{margin:0;white-space:nowrap}.admin-table td .admin-inline-actions form{display:inline-flex}

/* V69 - page publique dédiée Codes OBD */
.obd-public-page{padding-bottom:90px}.obd-hero-card{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;background:linear-gradient(135deg,#0b0f17,#151b26 62%,#5b0b16);color:#fff;border-radius:28px;padding:32px;margin-bottom:22px;box-shadow:0 22px 50px #11182724}.obd-hero-card h1{font-size:clamp(32px,5vw,58px);line-height:1.02;margin:8px 0 14px}.obd-hero-card .lead{color:#e5e7eb;margin:0}.obd-stat-box{justify-self:end;background:#ffffff14;border:1px solid #ffffff28;border-radius:22px;padding:22px 26px;text-align:center;min-width:180px}.obd-stat-box strong{display:block;font-size:46px;color:#fff}.obd-stat-box span{display:block;color:#fecaca;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.obd-search-panel{display:grid;grid-template-columns:1.25fr .7fr .85fr .7fr .7fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;margin:20px 0;box-shadow:0 18px 45px #11182712}.obd-search-panel label span{display:block;font-weight:900;font-size:13px;margin-bottom:8px}.obd-search-panel input,.obd-search-panel select{width:100%;padding:13px 14px;border:1px solid #d8dee8;border-radius:14px;background:#fff}.obd-search-panel input:focus,.obd-search-panel select:focus{outline:3px solid #d0000020;border-color:#d00000}.obd-search-actions{display:flex;gap:8px;align-items:center}.obd-search-actions button{border:0;background:#d00000;color:#fff;border-radius:999px;font-weight:950;padding:13px 18px;cursor:pointer}.obd-result-count{margin:16px 0;color:#64748b}.obd-list{display:grid;gap:18px}.obd-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 18px 45px #11182710}.obd-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.obd-code{display:inline-flex;background:#0b0f17;color:#fff;border-radius:14px;padding:9px 12px;font-weight:950;letter-spacing:.08em}.obd-card h2{font-size:clamp(22px,3vw,32px);margin:12px 0 0}.obd-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.obd-meta span{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#334155}.obd-card p{line-height:1.65}.obd-severity{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:#f1f5f9;color:#334155;font-weight:950;text-transform:uppercase;font-size:12px;white-space:nowrap}.obd-severity.high{background:#fee2e2;color:#991b1b}.obd-severity.medium{background:#fff7ed;color:#9a3412}.obd-severity.low{background:#dcfce7;color:#166534}.obd-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.obd-tags span{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:999px;padding:7px 10px;font-weight:850;font-size:13px}.obd-note{background:#f8fafc;border-left:4px solid #d00000;padding:12px 14px;border-radius:12px}.obd-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.navlinks>a[href*="codes-obd"]{color:#fff}.navlinks>a[href*="codes-obd"]::before{content:'🧩 ';}
@media(max-width:1050px){.obd-search-panel{grid-template-columns:1fr 1fr}.obd-search-actions{grid-column:1/-1}.obd-hero-card{grid-template-columns:1fr}.obd-stat-box{justify-self:start}}
@media(max-width:680px){.obd-search-panel{grid-template-columns:1fr}.obd-card-head{display:block}.obd-severity{margin-top:12px}.obd-meta{display:grid}.obd-card-actions .button-light{width:100%;text-align:center}.obd-hero-card{padding:24px}.obd-stat-box{width:100%}}

/* V72 - Correction position et centrage du pied de page sur pages courtes / 404 */
html{
  min-height:100%;
}
body{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  padding-bottom:64px!important;
}
body > main{
  flex:1 0 auto!important;
}
footer.site-footer-fixed.footer-two-lines{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  min-height:56px!important;
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-align:center!important;
}
footer.site-footer-fixed.footer-two-lines .footer-compact-two{
  width:100%!important;
  max-width:1180px!important;
  height:56px!important;
  min-height:56px!important;
  margin:0 auto!important;
  padding:6px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:3px!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0!important;
  padding:0!important;
}
footer.site-footer-fixed.footer-two-lines .footer-description,
footer.site-footer-fixed.footer-two-lines .footer-copy{
  text-align:center!important;
}
.page-404{
  min-height:calc(100vh - 205px)!important;
  padding-top:42px!important;
  padding-bottom:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.page-404 .not-found-card{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:760px){
  body{padding-bottom:78px!important;}
  footer.site-footer-fixed.footer-two-lines{
    min-height:68px!important;
    height:68px!important;
  }
  footer.site-footer-fixed.footer-two-lines .footer-compact-two{
    min-height:68px!important;
    height:68px!important;
    padding:7px 16px!important;
  }
  .page-404{
    min-height:calc(100vh - 205px)!important;
    padding-top:26px!important;
    padding-bottom:92px!important;
  }
}

/* V73 - correction definitive footer centre sur pages courtes et 404 */
html,body{min-height:100%!important;}
body{min-height:100vh!important;display:flex!important;flex-direction:column!important;padding-bottom:64px!important;}
body>main{flex:1 0 auto!important;}
body>footer,
body>footer.site-footer-fixed,
footer.site-footer-fixed.footer-two-lines{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  min-height:56px!important;
  height:56px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  z-index:9999!important;
  background:var(--footer-bg,var(--dark))!important;
  color:var(--footer-text,#d1d5db)!important;
}
body>footer .wrap,
footer.site-footer-fixed .wrap,
footer.site-footer-fixed.footer-two-lines .wrap,
footer.site-footer-fixed.footer-two-lines .footer-compact-two,
footer .footer-compact-two{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:20px!important;
  padding-right:20px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line,
footer .footer-line,
footer .footer-grid,
footer .copy,
footer .footer-copy{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
}
footer.site-footer-fixed.footer-two-lines .footer-line-main{font-size:13px!important;gap:8px!important;flex-wrap:wrap!important;}
footer.site-footer-fixed.footer-two-lines .footer-line-copy{font-size:12px!important;margin-top:3px!important;}
footer.site-footer-fixed.footer-two-lines .footer-brand,
footer.site-footer-fixed.footer-two-lines .footer-description,
footer.site-footer-fixed.footer-two-lines .footer-separator,
footer.site-footer-fixed.footer-two-lines .footer-links,
footer.site-footer-fixed.footer-two-lines .footer-links a,
footer.site-footer-fixed.footer-two-lines .copy,
footer.site-footer-fixed.footer-two-lines .footer-copy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
}
.page-404{
  min-height:calc(100vh - 210px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-top:38px!important;
  padding-bottom:96px!important;
}
.page-404 .not-found-card{margin-left:auto!important;margin-right:auto!important;}
@media(max-width:760px){
  body{padding-bottom:76px!important;}
  body>footer,body>footer.site-footer-fixed,footer.site-footer-fixed.footer-two-lines{height:auto!important;min-height:68px!important;}
  footer.site-footer-fixed.footer-two-lines .footer-compact-two{padding:7px 14px!important;}
  footer.site-footer-fixed.footer-two-lines .footer-line-main{font-size:12px!important;}
  footer.site-footer-fixed.footer-two-lines .footer-line-copy{font-size:11px!important;}
  .page-404{min-height:calc(100vh - 230px)!important;padding-bottom:102px!important;}
}

/* V74 - correction finale footer centre sans dependance au conteneur .wrap */
html,body{min-height:100%!important;}
body{min-height:100vh!important;padding-bottom:58px!important;}
footer.site-footer-fixed.footer-centered-final,
footer.site-footer-fixed.footer-two-lines.footer-centered-final{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  overflow:hidden!important;
  z-index:99999!important;
  background:var(--footer-bg,var(--dark))!important;
  color:var(--footer-text,#d1d5db)!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.16)!important;
  text-align:center!important;
}
footer.site-footer-fixed.footer-centered-final .footer-compact-two,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-compact-two{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:100vw!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0 18px!important;
  display:block!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
footer.site-footer-fixed.footer-centered-final .footer-line,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-line{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  text-align:center!important;
  line-height:1.15!important;
  white-space:normal!important;
}
footer.site-footer-fixed.footer-centered-final .footer-line-main,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-line-main{
  font-size:13px!important;
  font-weight:600!important;
  margin-bottom:3px!important;
}
footer.site-footer-fixed.footer-centered-final .footer-line-copy,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-line-copy{
  font-size:12px!important;
  opacity:.92!important;
}
footer.site-footer-fixed.footer-centered-final .footer-brand,
footer.site-footer-fixed.footer-centered-final .footer-description,
footer.site-footer-fixed.footer-centered-final .footer-separator,
footer.site-footer-fixed.footer-centered-final .footer-copy,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-brand,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-description,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-separator,
footer.site-footer-fixed.footer-two-lines.footer-centered-final .footer-copy{
  display:inline!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:inherit!important;
  position:static!important;
  transform:none!important;
  text-align:center!important;
  vertical-align:baseline!important;
}
footer.site-footer-fixed.footer-centered-final .footer-brand{font-weight:900!important;color:#fff!important;}
footer.site-footer-fixed.footer-centered-final .footer-separator{opacity:.5!important;margin:0 6px!important;}
footer.site-footer-fixed.footer-centered-final .footer-copy{white-space:normal!important;}
.page-404{min-height:calc(100vh - 210px)!important;padding-bottom:96px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
@media(max-width:760px){
  body{padding-bottom:72px!important;}
  footer.site-footer-fixed.footer-centered-final{height:72px!important;min-height:72px!important;}
  footer.site-footer-fixed.footer-centered-final .footer-compact-two{padding:0 12px!important;}
  footer.site-footer-fixed.footer-centered-final .footer-line-main{font-size:12px!important;margin-bottom:4px!important;}
  footer.site-footer-fixed.footer-centered-final .footer-line-copy{font-size:11px!important;}
  .page-404{padding-bottom:106px!important;}
}

/* V75 - footer fixe et centre par identifiant, sans dependance aux anciens styles */
html, body {
  min-height: 100% !important;
}
body {
  min-height: 100vh !important;
  padding-bottom: 58px !important;
}
#p911-site-footer {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
  z-index: 99999 !important;
  background: var(--footer-bg, var(--dark)) !important;
  color: var(--footer-text, #d1d5db) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.16) !important;
}
#p911-site-footer .p911-footer-inner {
  width: 100% !important;
  max-width: none !important;
  height: 58px !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  padding: 6px 18px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 2px !important;
}
#p911-site-footer .p911-footer-line,
#p911-site-footer .footer-line,
#p911-site-footer .copy,
#p911-site-footer .footer-copy {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  text-align: center !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}
#p911-site-footer .p911-footer-main {
  font-size: 13px !important;
  font-weight: 600 !important;
}
#p911-site-footer .p911-footer-copy {
  font-size: 12px !important;
  opacity: .94 !important;
}
#p911-site-footer .footer-brand,
#p911-site-footer .footer-description,
#p911-site-footer .footer-separator,
#p911-site-footer .footer-copy {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: static !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: baseline !important;
  line-height: inherit !important;
}
#p911-site-footer .footer-brand {
  font-weight: 900 !important;
  color: #fff !important;
}
#p911-site-footer .footer-separator {
  opacity: .55 !important;
  margin: 0 6px !important;
}
.page-404 {
  min-height: calc(100vh - 260px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-bottom: 96px !important;
}
.page-404 .not-found-card {
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 760px) {
  body { padding-bottom: 72px !important; }
  #p911-site-footer {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }
  #p911-site-footer .p911-footer-inner {
    height: 72px !important;
    min-height: 72px !important;
    padding: 7px 12px !important;
  }
  #p911-site-footer .p911-footer-main { font-size: 12px !important; }
  #p911-site-footer .p911-footer-copy { font-size: 11px !important; }
  .page-404 { padding-bottom: 108px !important; }
}

/* V76 - identification vehicule sur les paves de documentation */
.doc-tile-vehicle{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:2px 0 8px;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-size:12px;font-weight:900;line-height:1.2}
.admin-table .muted{color:var(--muted);font-size:13px}
@media(max-width:760px){.doc-tile-vehicle{width:auto}}

/* V78 - Identification véhicule visible sur les pavés Documentation */
.doc-tile .doc-tile-vehicle{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  width:auto;
  max-width:100%;
  margin:4px 0 10px;
  padding:0;
  background:transparent;
  color:inherit;
  border-radius:0;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}
.doc-tile-vehicle-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef2ff;
  color:#1e3a8a;
  border:1px solid #c7d2fe;
}
.doc-tile-vehicle-badge b{
  color:#0f172a;
  font-weight:900;
}
@media(max-width:760px){
  .doc-tile .doc-tile-vehicle{gap:5px}
  .doc-tile-vehicle-badge{font-size:11px;padding:5px 8px}
}

/* V82 - Admin pavés documentation : évite le chevauchement Modifier / Supprimer */
.admin-table td.admin-table-actions-cell{
  min-width:130px;
  white-space:normal;
}
.admin-table-actions-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.admin-table-actions-stack .button-light,
.admin-table-actions-stack .button-danger,
.admin-table-actions-stack button{
  width:112px;
  min-height:42px;
  margin:0!important;
  line-height:1.1;
  white-space:nowrap;
}
@media(max-width:760px){
  .admin-table-actions-stack{
    flex-direction:row;
    flex-wrap:wrap;
  }
}

/* V84 - Documents PDF : correction chevauchement boutons Enregistrer / Supprimer */
.pdf-docs-table td.admin-table-actions-cell{
  min-width:150px;
  white-space:normal;
}
.pdf-doc-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.pdf-doc-actions button,
.pdf-doc-actions .button-danger{
  width:124px;
  min-height:40px;
  margin:0!important;
  line-height:1.1;
  white-space:nowrap;
}
.pdf-docs-table input[type="text"],
.pdf-docs-table input:not([type]){
  max-width:180px;
}
@media(max-width:760px){
  .pdf-doc-actions{flex-direction:row;flex-wrap:wrap}
}

/* V86 - Audit, maintenance et rationalisation admin */
.admin-nav-section{
  margin:18px 0 8px;
  padding:0 16px;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.audit-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:22px;
}
.audit-count-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.audit-count{
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fafc;
  padding:14px;
}
.audit-count strong{
  display:block;
  color:#d00000;
  font-size:24px;
  font-weight:950;
}
.audit-count span{
  color:#475569;
  font-size:13px;
  font-weight:850;
}
.audit-two-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.audit-table-compact{
  min-width:0;
  box-shadow:none;
}
.audit-table-compact th,.audit-table-compact td{
  padding:10px 12px;
}
.audit-list{
  margin:0;
  padding-left:22px;
  line-height:1.8;
  color:#334155;
}
.audit-list code{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:7px;
  padding:2px 6px;
}
@media(max-width:980px){
  .audit-grid,.audit-count-grid,.audit-two-cols{grid-template-columns:1fr}
  .admin-nav-section{margin-top:14px}
}

/* V96 - Suggestions IA : styles externes pour respecter la CSP style-src self */
.ai-suggestion-counters{
    display:grid;
    grid-template-columns:repeat(4,minmax(180px,1fr));
    gap:16px;
    margin:0 0 24px 0;
    clear:both;
}
.ai-counter-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:96px;
    box-sizing:border-box;
    text-decoration:none!important;
    color:#172033!important;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
    border:1px solid #d8dee8;
    border-radius:22px;
    padding:20px 22px;
    box-shadow:0 15px 35px rgba(17,24,39,.08);
    overflow:hidden;
}
.ai-counter-card:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 40px rgba(17,24,39,.12);
}
.ai-counter-card strong{
    display:block;
    margin:0 0 8px 0;
    color:#d00000;
    font-size:34px;
    line-height:1;
    font-weight:950;
}
.ai-counter-card span{
    display:block;
    color:#5f6b7a;
    font-weight:900;
    line-height:1.25;
}
.ai-suggestion-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 18px;
}
.ai-suggestion-tabs a.ai-filter-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    box-sizing:border-box;
    position:relative;
    z-index:2;
    text-decoration:none!important;
    white-space:nowrap;
}
.ai-suggestion-tabs a.ai-filter-button.active{
    background:#d00000!important;
    color:#fff!important;
    border-color:#d00000!important;
}
.ai-suggestion-tabs .count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:24px;
    padding:0 7px;
    border-radius:999px;
    background:#f1f5f9;
    color:#172033;
    font-weight:950;
    font-size:13px;
    line-height:1;
}
.ai-suggestion-tabs a.active .count{
    background:#fff;
    color:#d00000;
}
.ai-suggestion-toolbar{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
}
.ai-status-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:6px 10px;
    background:#f1f5f9;
    font-weight:900;
}
.ai-status-badge.brouillon{background:#fff7ed;color:#9a3412}
.ai-status-badge.valide{background:#dcfce7;color:#166534}
.ai-status-badge.refuse{background:#fee2e2;color:#991b1b}
@media(max-width:980px){.ai-suggestion-counters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ai-suggestion-counters{grid-template-columns:1fr}.ai-suggestion-tabs a.ai-filter-button{width:100%}}

/* V97 - Suggestions IA : tableau lisible même si anciennes lignes incomplètes */
.ai-suggestions-table{min-width:980px}
.ai-suggestions-table th:nth-child(2),.ai-suggestions-table td:nth-child(2){width:42%}
.ai-question-cell strong{display:block;color:#0f172a;font-weight:900;line-height:1.35}
.ai-question-cell small{display:block;margin-top:6px;color:#64748b;font-size:12px;font-weight:700}
.ai-date-cell{white-space:nowrap;color:#334155;font-weight:800}
.ai-action-cell{white-space:nowrap;text-align:right!important}
.ai-open-button{min-width:86px;box-shadow:0 8px 20px rgba(208,0,0,.16)}
.ai-status-badge.a_reparer{background:#fef3c7;color:#92400e}

/* V98 - Suggestions IA : tableau robuste meme avec anciennes lignes vides */
.ai-visible-summary{display:block;color:#0f172a;font-weight:900;line-height:1.35;min-height:1.2em}
.ai-date-cell strong{display:inline-block;color:#d00000;font-size:14px;margin-bottom:4px}
.ai-date-cell span{display:inline-block;color:#0f172a;font-weight:800;font-size:13px;margin-bottom:8px}
.ai-open-mini{font-size:12px;padding:6px 10px;margin-top:4px}
.ai-suggestion-toolbar .admin-actions{justify-content:flex-end;align-items:center}
.ai-suggestion-toolbar .inline-form{display:inline-flex;margin:0}
.ai-suggestion-toolbar .inline-form button{margin:0}
.ai-suggestions-table td{vertical-align:top}
.ai-suggestions-table .ai-question-cell{min-width:280px}

/* V100 - Suggestions IA : affichage visible des lignes en cartes de secours */
.ai-suggestion-row-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:14px 0 18px;
}
.ai-suggestion-row-card{
    display:grid;
    grid-template-columns:minmax(120px,180px) 1fr auto;
    gap:14px;
    align-items:center;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    padding:14px 16px;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.ai-suggestion-row-card div:first-child strong{
    display:block;
    color:#d00000;
    font-size:20px;
    font-weight:950;
}
.ai-suggestion-row-card div:first-child span{
    display:block;
    color:#475569;
    font-size:12px;
    font-weight:800;
    margin-top:4px;
}
.ai-suggestion-row-card p{
    margin:0;
    color:#0f172a;
    font-weight:900;
    line-height:1.35;
}
.ai-row-card-meta{
    grid-column:2 / 3;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:6px;
}
.ai-row-card-meta span{
    display:inline-flex;
    border-radius:999px;
    background:#f1f5f9;
    padding:5px 9px;
    color:#334155;
    font-size:12px;
    font-weight:850;
}
.admin-alert.warning{
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
}
@media(max-width:900px){
    .ai-suggestion-row-card{grid-template-columns:1fr}
    .ai-row-card-meta{grid-column:auto}
}

/* V103 - Suggestions médias IA : interface admin propre et compatible CSP */
.ai-media-panel .form-grid{
    align-items:end;
}
.ai-media-panel .form-grid p{
    margin:0;
}
.ai-media-panel .form-action-bottom{
    align-self:end;
}
.ai-media-panel .admin-form input,
.ai-media-panel .admin-form select,
.ai-media-panel .admin-form textarea{
    width:100%;
    box-sizing:border-box;
}
.ai-media-panel .admin-form button{
    width:auto;
    min-height:46px;
}
.ai-media-list-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.ai-media-list-head h2{
    margin:0 0 6px;
}
.ai-media-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 18px;
}
.ai-media-tabs .button-light.active{
    background:#d00000;
    border-color:#d00000;
    color:#fff;
}
.ai-media-filter-form{
    margin-bottom:18px;
}
.ai-media-grid{
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    align-items:stretch;
}
.ai-media-suggestion-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:14px;
}
.ai-media-suggestion-card .media-thumb{
    height:170px;
    border:1px solid #e5e7eb;
}
.ai-media-suggestion-card h3{
    font-size:15px;
    line-height:1.25;
    margin:0;
}
.ai-media-suggestion-card p{
    margin:0;
    line-height:1.45;
}
.ai-media-suggestion-card form{
    margin-top:auto;
}
.ai-media-suggestion-card textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d8dee8;
    border-radius:12px;
    padding:10px;
    font:inherit;
}
.ai-media-suggestion-card .admin-actions{
    margin-top:8px;
}
@media(max-width:760px){
    .ai-media-grid{grid-template-columns:1fr}
    .ai-media-panel .form-grid{grid-template-columns:1fr}
    .ai-media-panel .admin-form button{width:100%}
}

/* V104 - Suggestions IA : actions directes sur chaque carte */
.ai-direct-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.ai-direct-actions .inline-form{
    display:inline-flex;
    margin:0;
}
.ai-direct-actions a,
.ai-direct-actions button{
    min-height:38px;
    padding:9px 14px;
    white-space:nowrap;
}
.ai-direct-actions.compact{
    justify-content:flex-end;
    min-width:360px;
}
.ai-direct-actions.compact a,
.ai-direct-actions.compact button{
    min-height:34px;
    padding:7px 10px;
    font-size:12px;
}
@media(max-width:900px){
    .ai-direct-actions,
    .ai-direct-actions.compact{
        justify-content:flex-start;
        min-width:0;
    }
}

/* V107 - Suggestions IA : prévisualisation structurée type remaniement procédures IA */
.ai-suggestion-row-cards.structured{
    display:grid;
    gap:12px;
}
.ai-suggestion-structured-card{
    grid-template-columns:140px minmax(0,1fr) auto;
    align-items:start;
    gap:16px;
}
.ai-suggestion-structured-card .ai-card-date{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.ai-suggestion-structured-card .ai-card-date strong{
    color:#d00000;
    font-size:18px;
}
.ai-suggestion-structured-card .ai-card-date span{
    color:#475569;
    font-size:12px;
    font-weight:850;
}
.ai-card-main{
    min-width:0;
}
.ai-suggestion-preview-block{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.ai-preview-summary{
    border:1px solid #e5e7eb;
    background:#f8fafc;
    border-radius:16px;
    padding:12px 14px;
}
.ai-preview-summary strong{
    display:block;
    color:#d00000;
    font-size:12px;
    letter-spacing:.05em;
    text-transform:uppercase;
    margin-bottom:5px;
}
.ai-preview-summary span{
    color:#0f172a;
    font-weight:900;
    line-height:1.35;
}
.ai-preview-section{
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:12px 14px;
    background:#fff;
}
.ai-preview-section h4{
    margin:0 0 7px;
    color:#0f172a;
    font-size:13px;
}
.ai-preview-section ul{
    margin:0;
    padding-left:18px;
}
.ai-preview-section li{
    margin:4px 0;
    color:#334155;
    line-height:1.35;
    font-size:13px;
    font-weight:700;
}
.ai-detail-preview-panel{
    margin:16px 0 20px;
}
.ai-detail-preview-panel .ai-suggestion-preview-block{
    grid-template-columns:1.1fr repeat(3,minmax(0,1fr));
    align-items:stretch;
}
.ai-detail-preview-panel .ai-preview-summary,
.ai-detail-preview-panel .ai-preview-section{
    min-height:100%;
}
@media(max-width:1180px){
    .ai-suggestion-structured-card{grid-template-columns:110px 1fr}
    .ai-suggestion-structured-card .ai-direct-actions{grid-column:2 / 3;justify-content:flex-start}
    .ai-detail-preview-panel .ai-suggestion-preview-block{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .ai-suggestion-structured-card{grid-template-columns:1fr}
    .ai-suggestion-structured-card .ai-direct-actions{grid-column:auto}
    .ai-detail-preview-panel .ai-suggestion-preview-block{grid-template-columns:1fr}
}

/* V108 - Suggestions IA : association automatique images bibliothèque */
.ai-library-images{
    margin-top:10px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:12px 14px;
    background:#fff;
}
.ai-library-images.empty{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#64748b;
    background:#f8fafc;
}
.ai-library-images.empty strong,
.ai-library-images-head strong{
    color:#0f172a;
    font-size:13px;
}
.ai-library-images.empty span{
    flex:1;
    font-size:13px;
    font-weight:700;
}
.ai-library-images-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.ai-library-image-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:10px;
}
.ai-library-image-card{
    margin:0;
    border:1px solid #e5e7eb;
    border-radius:14px;
    overflow:hidden;
    background:#f8fafc;
}
.ai-library-image-card img{
    display:block;
    width:100%;
    height:92px;
    object-fit:cover;
    background:#e5e7eb;
}
.ai-library-image-card figcaption{
    display:block;
    padding:8px 9px;
}
.ai-library-image-card figcaption strong,
.ai-library-image-card figcaption span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ai-library-image-card figcaption strong{
    color:#0f172a;
    font-size:12px;
    font-weight:900;
}
.ai-library-image-card figcaption span{
    color:#64748b;
    font-size:11px;
    font-weight:800;
    margin-top:3px;
}
@media(max-width:760px){
    .ai-library-images.empty{align-items:flex-start;flex-direction:column}
    .ai-library-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V109 - Suggestions IA : bibliothèque locale puis Internet */
.ai-source-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:5px 10px;
    background:#fff7ed;
    color:#9a3412;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
.ai-source-badge.local{
    background:#ecfdf5;
    color:#047857;
}
.ai-internet-images{
    background:#fff7ed;
    border-color:#fed7aa;
}
.ai-internet-help{
    margin:0 0 10px 0;
    color:#9a3412;
    font-size:12px;
    font-weight:800;
}
.ai-internet-image-card{
    background:#fff;
    border-color:#fed7aa;
}
.ai-image-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:92px;
    background:#ffedd5;
    color:#9a3412;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}
.ai-media-actions{
    display:flex!important;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px!important;
    white-space:normal!important;
}
.ai-media-actions a{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 7px;
    background:#f1f5f9;
    color:#0f172a;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
}
.ai-media-actions a:hover{
    background:#d90404;
    color:#fff;
}
@media(max-width:760px){
    .ai-library-images-head{align-items:flex-start;flex-direction:column}
    .ai-source-badge{white-space:normal}
}

/* V110 - Suggestions IA : insertion des images associees dans le brouillon */
.ai-image-attach-form{
    margin-top:8px;
    display:flex;
    justify-content:flex-start;
}
.ai-image-attach-form button{
    min-height:30px;
    padding:6px 10px;
    font-size:11px;
    border-radius:999px;
}
.p911-ai-associated-image{
    margin:14px 0;
    border:1px solid #e5e7eb;
    border-radius:14px;
    overflow:hidden;
    background:#f8fafc;
    max-width:520px;
}
.p911-ai-associated-image img{
    display:block;
    width:100%;
    max-height:280px;
    object-fit:contain;
    background:#fff;
}
.p911-ai-associated-image figcaption{
    padding:9px 12px;
    color:#475569;
    font-size:12px;
    font-weight:800;
}

/* V111 - Suggestions IA : éditeur rationalisé en tableau */
.ai-suggestion-table-editor-form{margin-top:18px}
.ai-editor-help-box{border:1px solid #d9e4f2;background:#f6f9fd;border-radius:14px;padding:12px 14px;margin:0 0 14px;color:#18324f}
.ai-edit-table-wrap{overflow-x:auto;border:1px solid #dce3ed;border-radius:16px;background:#fff}
.ai-edit-table{min-width:920px;margin:0;border-collapse:separate;border-spacing:0;width:100%}
.ai-edit-table th,.ai-edit-table td{vertical-align:top;padding:14px;border-bottom:1px solid #edf1f6}
.ai-edit-table thead th{background:#f7f9fc;color:#1f2d42;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}
.ai-edit-table tbody th{width:190px;color:#14233a;font-weight:800;background:#fbfcfe}
.ai-edit-table tbody td:nth-child(2){width:58%}
.ai-edit-table input,.ai-edit-table select,.ai-edit-table textarea{width:100%;box-sizing:border-box;border:1px solid #d8e1ec;border-radius:12px;padding:10px 12px;background:#fff;font:inherit;color:#102033}
.ai-edit-table textarea{min-height:74px;resize:vertical;line-height:1.45}
.ai-edit-table .external-ai-answer{min-height:170px}
.ai-edit-table tbody td:nth-child(3){color:#66758a;font-size:.92rem;line-height:1.45}
.ai-final-draft-row th{background:#fff7ed;color:#9a3412}
.ai-final-draft-row td{background:#fffaf4}
.ai-final-draft-editor{min-height:420px}
.ai-final-draft-row .tox-tinymce{border-radius:14px!important;border-color:#f2c38a!important}
@media(max-width:900px){.ai-edit-table{min-width:760px}.ai-edit-table tbody th{width:150px}.ai-edit-table tbody td:nth-child(3){display:none}}

/* V112 - Suggestions IA : generation brouillon final */
.ai-final-draft-row .help-text strong{color:#9a3412}
.admin-actions .button-secondary,
.button-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:999px;
    border:1px solid #f59e0b;
    background:#f59e0b;
    color:#111827;
    font-weight:900;
    text-decoration:none;
    padding:12px 18px;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(245,158,11,.22);
}
.admin-actions .button-secondary:hover,
.button-secondary:hover{filter:brightness(.98);transform:translateY(-1px)}
.p911-ai-associated-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:12px 0 18px}
.p911-ai-associated-images .p911-ai-associated-image{margin:0;max-width:none}
.tox .p911-ai-associated-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}

/* V113 - Menu admin repliable avec sous-menus */
.admin-sidebar{
  overflow:auto;
  max-height:calc(100vh - 72px);
  position:sticky;
  top:72px;
  align-self:start;
}
.admin-nav-accordion{
  display:block;
}
.admin-nav-group{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  margin:10px 0;
  overflow:hidden;
}
.admin-nav-group[open]{
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 10px 24px rgba(17,24,39,.06);
}
.admin-nav-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 15px;
  cursor:pointer;
  user-select:none;
  color:#475569;
  font-size:12px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
  list-style:none;
}
.admin-nav-summary::-webkit-details-marker{display:none}
.admin-nav-summary b{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#f1f5f9;
  color:#991b1b;
  font-size:16px;
  line-height:1;
  transition:transform .18s ease;
}
.admin-nav-group[open] .admin-nav-summary b{
  transform:rotate(180deg);
}
.admin-nav-panel{
  padding:0 8px 10px;
}
.admin-nav-panel .admin-navlink{
  margin:4px 0;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
}
.admin-navlink.active{
  background:#fee2e2;
  color:#991b1b;
  box-shadow:inset 4px 0 0 #d00000;
}
.admin-navlink.accent.active{
  background:#d00000;
  color:#fff;
  box-shadow:none;
}
.admin-nav-compact-hint{
  color:#64748b;
  font-size:12px;
  margin:8px 0 0;
}
@media(max-width:980px){
  .admin-sidebar{
    position:static;
    max-height:none;
  }
  .admin-nav-group{
    margin:8px 0;
  }
}

/* V114 - Finitions ergonomie admin */
html{scroll-padding-top:96px}
.admin-body{min-height:100vh}
.admin-topbar{backdrop-filter:saturate(140%) blur(4px)}
.admin-main{padding-top:34px;scroll-margin-top:96px}
.admin-titlebar,.admin-card,.admin-table-wrap{scroll-margin-top:96px}
.admin-sidebar{padding:18px 18px 22px}
.admin-user{padding:14px 16px;margin-bottom:14px}
.admin-sidebar-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.admin-sidebar-tools button{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:9px 10px;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 8px 18px rgba(17,24,39,.05)}
.admin-sidebar-tools button:hover{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.admin-nav-summary-label{display:flex;align-items:center;gap:10px;min-width:0}
.admin-nav-summary-label i{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:9px;background:#f1f5f9;color:#991b1b;font-style:normal;font-size:13px;letter-spacing:0;text-transform:none}
.admin-nav-summary-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-nav-group{margin:8px 0;border-radius:15px}
.admin-nav-summary{padding:11px 12px}
.admin-nav-panel{padding:0 7px 8px}
.admin-nav-panel .admin-navlink{padding:9px 11px;font-size:13.5px;line-height:1.18}
.admin-dashboard-link{margin-bottom:10px}
.admin-navlink{transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.admin-navlink:hover{transform:translateX(2px)}
.admin-card,.stat-card,.admin-table-wrap{border-color:#e2e8f0}
.admin-actions{align-items:center}
.admin-actions a,.admin-actions button,.button-light,.button-red,.button-danger,.button-secondary{min-height:42px;line-height:1.15}
.admin-table th{position:sticky;top:0;z-index:1}
.admin-form input,.admin-form textarea,.admin-form select{min-height:44px}
.admin-form textarea{line-height:1.5}
body.admin-compact .admin-shell{grid-template-columns:232px 1fr}
body.admin-compact .admin-sidebar{padding:12px;max-height:calc(100vh - 72px)}
body.admin-compact .admin-user{padding:11px 12px;border-radius:14px;margin-bottom:10px}
body.admin-compact .admin-user small{display:none}
body.admin-compact .admin-sidebar-tools{grid-template-columns:1fr;gap:6px}
body.admin-compact .admin-navlink{padding:8px 10px;margin:4px 0;border-radius:11px;font-size:13px}
body.admin-compact .admin-nav-group{margin:6px 0;border-radius:13px}
body.admin-compact .admin-nav-summary{padding:8px 10px;font-size:11px;letter-spacing:.08em}
body.admin-compact .admin-nav-summary-label i{width:20px;height:20px;flex-basis:20px;border-radius:7px;font-size:12px}
body.admin-compact .admin-nav-summary b{width:20px;height:20px;font-size:14px}
body.admin-compact .admin-nav-panel{padding:0 6px 6px}
body.admin-compact .admin-nav-panel .admin-navlink{padding:7px 9px;font-size:12.5px}
body.admin-compact .admin-main{padding:22px;max-width:1320px}
body.admin-compact .admin-titlebar{margin-bottom:16px}
body.admin-compact .admin-titlebar h1{font-size:30px}
body.admin-compact .admin-card{padding:20px;margin-bottom:18px;border-radius:20px}
body.admin-compact .stat-card{padding:18px;border-radius:18px}
body.admin-compact .stat-card b{font-size:31px}
@media(max-width:980px){
  html{scroll-padding-top:82px}
  .admin-shell{display:block}
  .admin-main{padding:18px;max-width:none}
  .admin-sidebar{border-right:0;border-bottom:1px solid #e2e8f0;box-shadow:0 10px 26px rgba(17,24,39,.08)}
  .admin-sidebar-tools{grid-template-columns:1fr 1fr}
  body.admin-compact .admin-shell{display:block}
  body.admin-compact .admin-sidebar{max-height:none}
  body.admin-compact .admin-main{padding:18px}
}

/* V115 - Suggestions internautes / intégration procédure */
.visitor-suggestions-admin .filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.visitor-suggestions-admin .filter-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:#0f172a;text-decoration:none;font-weight:900;padding:10px 14px}.visitor-suggestions-admin .filter-pill.active{background:#d00000;border-color:#d00000;color:#fff}.visitor-suggestions-table td{vertical-align:top}.visitor-suggestion-form{margin-top:12px;display:grid;gap:10px}.visitor-suggestion-form label span{display:block;font-weight:900;color:#475569;margin-bottom:6px}.visitor-suggestion-form textarea,.visitor-suggestion-form select{width:100%;border:1px solid #d8dee8;border-radius:12px;padding:10px;background:#fff}.visitor-actions{display:grid;gap:8px;min-width:170px}.visitor-actions button{width:100%;border:1px solid var(--line);border-radius:999px;background:#fff;color:#0f172a;font-weight:900;padding:10px 12px;cursor:pointer}.visitor-actions button:first-child{background:#d00000;border-color:#d00000;color:#fff}.p911-visitor-integration{border:1px solid #fecaca;background:#fff7ed;border-radius:16px;padding:16px;margin:20px 0}.p911-visitor-integration h2{color:#991b1b}.p911-visitor-integration table{border-collapse:collapse;margin:10px 0;width:auto}.p911-visitor-integration th,.p911-visitor-integration td{border:1px solid #fed7aa;padding:8px 10px;text-align:left}.p911-visitor-integration blockquote{border-left:4px solid #d00000;margin:14px 0;padding:10px 14px;background:#fff;color:#172033}


/* V117 - FAQ publique issue des suggestions IA : rendu clair et lisible */
.faq-list{max-width:980px;margin:22px 0 48px;}
.faq-list details{border:1px solid #e2e8f0;border-radius:18px;padding:0;margin:14px 0;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.06);overflow:hidden;}
.faq-list summary{cursor:pointer;padding:16px 18px;font-weight:900;color:#0f172a;background:#fff;list-style-position:inside;}
.faq-list details[open] summary{border-bottom:1px solid #e5e7eb;background:#f8fafc;}
.faq-answer-rich{background:#fff;color:#0f172a;border:0;border-radius:0;padding:20px 22px;line-height:1.65;white-space:normal;overflow:visible;}
.faq-answer-rich h1,.faq-answer-rich h2,.faq-answer-rich h3{color:#0f172a;margin:18px 0 10px;line-height:1.2;}
.faq-answer-rich h2{font-size:1.45rem;}
.faq-answer-rich h3{font-size:1.12rem;border-top:1px solid #eef2f7;padding-top:14px;}
.faq-answer-rich p{margin:10px 0;}
.faq-answer-rich ul,.faq-answer-rich ol{margin:10px 0 14px 22px;padding:0;}
.faq-answer-rich li{margin:6px 0;}
.faq-answer-rich blockquote{margin:12px 0;padding:12px 14px;border-left:4px solid #d00000;background:#fff7f7;border-radius:10px;color:#334155;}
.faq-answer-rich .faq-info-table,.faq-answer-rich table{width:auto;max-width:100%;border-collapse:collapse;margin:12px 0;background:#fff;}
.faq-answer-rich th,.faq-answer-rich td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:top;color:#0f172a;}
.faq-answer-rich th{background:#f8fafc;font-weight:900;}
.faq-answer-rich img{max-width:100%;height:auto;border-radius:14px;box-shadow:0 12px 28px rgba(15,23,42,.12);}

/* V118 - FAQ publique : nettoyage des brouillons IA et lisibilite */
.faq-page-public{max-width:1060px;}
.faq-public-item{border:1px solid #e2e8f0;border-radius:18px;padding:0;margin:16px 0;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.07);overflow:hidden;}
.faq-public-item summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:16px 20px;font-weight:900;color:#0f172a;background:#fff;list-style:none;}
.faq-public-item summary::-webkit-details-marker{display:none;}
.faq-public-item summary:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-weight:900;flex:0 0 auto;}
.faq-public-item[open] summary:before{content:'-';background:#dc2626;color:#fff;}
.faq-public-item[open] summary{border-bottom:1px solid #e5e7eb;background:#f8fafc;}
.faq-answer-rich{background:#fff;color:#0f172a;border:0;border-radius:0;padding:22px 24px;line-height:1.68;white-space:normal;overflow:visible;font-size:1rem;}
.faq-answer-rich h1,.faq-answer-rich h2,.faq-answer-rich h3{color:#0f172a;margin:20px 0 11px;line-height:1.22;}
.faq-answer-rich h1,.faq-answer-rich h2{font-size:1.45rem;}
.faq-answer-rich h3{font-size:1.13rem;border-top:1px solid #eef2f7;padding-top:16px;}
.faq-answer-rich h2:first-child,.faq-answer-rich h3:first-child{margin-top:0;border-top:0;padding-top:0;}
.faq-answer-rich p{margin:10px 0;}
.faq-answer-rich ul,.faq-answer-rich ol{margin:10px 0 15px 24px;padding:0;}
.faq-answer-rich li{margin:7px 0;}
.faq-answer-rich strong{font-weight:900;color:#0f172a;}
.faq-answer-rich blockquote{margin:14px 0;padding:12px 15px;border-left:4px solid #d00000;background:#fff7f7;border-radius:12px;color:#334155;}
.faq-answer-rich .faq-info-table,.faq-answer-rich table{width:auto;max-width:100%;border-collapse:collapse;margin:12px 0 16px;background:#fff;display:block;overflow-x:auto;}
.faq-answer-rich th,.faq-answer-rich td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:top;color:#0f172a;}
.faq-answer-rich th{background:#f8fafc;font-weight:900;}
.faq-answer-rich img{max-width:100%;height:auto;border-radius:14px;box-shadow:0 12px 28px rgba(15,23,42,.12);}
@media(max-width:760px){.faq-answer-rich{padding:18px 16px}.faq-public-item summary{padding:14px 16px}}

/* V122 - FAQ IA : centre de controle admin */
.faq-ai-admin .ai-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.faq-ai-editor-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:18px;margin:16px 0;box-shadow:0 12px 26px rgba(15,23,42,.05)}.faq-ai-editor-card.is-focused{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18),0 12px 26px rgba(15,23,42,.06)}.faq-ai-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.faq-ai-card-head strong{display:block;color:#d00000;font-size:20px}.faq-ai-card-head span{display:block;color:#64748b;font-size:12px;font-weight:800}.faq-ai-status-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:900;padding:8px 11px}.faq-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-ai-grid label{display:block}.faq-ai-grid label.full{grid-column:1/-1}.faq-ai-grid label span{display:block;font-weight:900;margin-bottom:6px;color:#334155}.faq-ai-grid input,.faq-ai-grid textarea{width:100%;border:1px solid #d8dee8;border-radius:13px;background:#fff;padding:10px 12px;font:inherit}.faq-ai-grid textarea{line-height:1.55}.faq-ai-actions{margin-top:14px;gap:9px;flex-wrap:wrap}.faq-ai-actions .button-red{background:#d00000;color:#fff;border-color:#d00000}@media(max-width:860px){.faq-ai-grid{grid-template-columns:1fr}.faq-ai-card-head{display:block}.faq-ai-status-badge{margin-top:8px}}

/* V124 - Journal IA : filtres avances et export */
.activity-log-admin .activity-scope-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.activity-log-admin .ai-filter-button b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#f1f5f9;color:#334155;margin-left:8px;padding:0 8px;font-size:12px}.activity-log-admin .ai-filter-button.active b{background:rgba(255,255,255,.18);color:#fff}.activity-log-filters{display:grid;grid-template-columns:1.6fr 1fr .65fr 1fr .85fr .85fr .75fr auto;gap:12px;align-items:end;margin:0 0 18px;padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.activity-log-filters label span{display:block;font-size:12px;font-weight:900;color:#475569;margin:0 0 6px}.activity-log-filters input,.activity-log-filters select{width:100%;min-height:42px;border:1px solid #d8dee8;border-radius:12px;background:#fff;padding:8px 11px;font:inherit}.activity-log-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.activity-log-filter-actions .button-red,.activity-log-filter-actions .button-light{white-space:nowrap}.activity-log-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.activity-log-summary div{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:14px 16px}.activity-log-summary b{display:block;color:#d00000;font-size:24px;line-height:1.05}.activity-log-summary span{display:block;color:#64748b;font-weight:900;font-size:12px;margin-top:4px}.activity-log-table-wrap{max-height:680px;overflow:auto}.activity-log-table td{vertical-align:top}.activity-date{white-space:nowrap;font-weight:800}.activity-message{max-width:360px}.activity-meta{max-width:320px;color:#64748b;font-size:12px}.button-light.small{min-height:32px;padding:7px 10px;font-size:12px}@media(max-width:1200px){.activity-log-filters{grid-template-columns:1fr 1fr 1fr}.activity-log-filter-actions{grid-column:1/-1}}@media(max-width:760px){.activity-log-filters{grid-template-columns:1fr}.activity-log-summary{grid-template-columns:1fr}.activity-log-table-wrap{max-height:none}}

/* V125 - Centre de publication IA */
.publication-center-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.publication-stat{border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.publication-stat strong{display:block;font-size:1.7rem;line-height:1;color:#111827;margin-bottom:6px}
.publication-stat span{font-size:.86rem;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.publication-center-filters .form-grid{align-items:end}
.publication-items{display:grid;gap:14px}
.publication-item-card{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.publication-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.publication-item-head strong{display:block;font-size:1.02rem;color:#0f172a;margin-top:3px}
.publication-type{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:800;padding:3px 8px;text-transform:uppercase;letter-spacing:.03em}
.publication-status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;font-size:.78rem;font-weight:800;padding:5px 10px;border:1px solid transparent}
.publication-status.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.publication-status.wait{background:#fef3c7;color:#92400e;border-color:#fde68a}
.publication-status.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.publication-status.neutral{background:#f1f5f9;color:#334155;border-color:#e2e8f0}
.publication-item-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;color:#64748b;font-size:.88rem}
.publication-item-foot .admin-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media (max-width:760px){.publication-item-head,.publication-item-foot{display:block}.publication-item-foot .admin-actions{justify-content:flex-start;margin-top:10px}}


/* V126 - Qualite avant publication IA */
.ai-quality-panel{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:14px 16px;margin:12px 0;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.ai-quality-panel.ok{border-color:#bbf7d0;background:#f0fdf4}.ai-quality-panel.warn{border-color:#fde68a;background:#fffbeb}.ai-quality-panel.bad{border-color:#fecaca;background:#fef2f2}
.ai-quality-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ai-quality-head strong{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;background:#fff;color:#111827;font-size:20px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}.ai-quality-head span{font-weight:900;color:#0f172a}.ai-quality-panel ul{margin:8px 0 0 20px}.ai-quality-panel li{margin:4px 0;color:#334155}.ai-quality-panel.compact{padding:10px 12px;margin:10px 0}.ai-quality-panel.compact .ai-quality-head strong{width:44px;height:44px;font-size:15px}.ai-quality-panel.compact ul{font-size:13px}.ai-quality-mini{display:inline-flex;align-items:center;justify-content:center;min-width:48px;border-radius:999px;padding:5px 9px;margin-bottom:6px;font-size:12px;font-weight:900;border:1px solid transparent}.ai-quality-mini.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.ai-quality-mini.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.ai-quality-mini.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}.publication-stat.quality-ok{border-color:#bbf7d0;background:#f0fdf4}.publication-stat.quality-warn{border-color:#fde68a;background:#fffbeb}.publication-stat.quality-bad{border-color:#fecaca;background:#fef2f2}.publication-item-head{flex-wrap:wrap}.publication-quality{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;font-size:.78rem;font-weight:900;padding:5px 10px;border:1px solid transparent}.publication-quality.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.publication-quality.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.publication-quality.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}.publication-quality-issues{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;font-size:.9rem}

/* V127 - FAQ publique enrichie : recherche, filtres et procédures liées */
.faq-search-panel{max-width:1060px;margin:18px 0 22px;padding:18px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.faq-search-form{display:grid;grid-template-columns:2fr 1fr 1fr .8fr auto;gap:12px;align-items:end}
.faq-search-form label span{display:block;margin:0 0 6px;color:#475569;font-size:.84rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.faq-search-form input,.faq-search-form select{width:100%;min-height:44px;border:1px solid #d8dee8;border-radius:13px;background:#fff;padding:9px 12px;font:inherit;color:#0f172a}
.faq-search-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.faq-search-actions button,.faq-search-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:9px 14px;font-weight:900;text-decoration:none;white-space:nowrap}
.faq-search-actions button{border:1px solid #d00000;background:#d00000;color:#fff;cursor:pointer}
.faq-search-actions a{border:1px solid #e2e8f0;background:#f8fafc;color:#334155}
.faq-search-summary{margin-top:12px;color:#64748b;font-weight:800}.faq-search-summary strong{color:#d00000}
.faq-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.faq-active-filters a{display:inline-flex;align-items:center;border:1px solid #fecaca;background:#fff7f7;color:#991b1b;border-radius:999px;padding:7px 11px;text-decoration:none;font-weight:900;font-size:.86rem}
.faq-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#64748b;font-weight:800}
.faq-public-meta{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px 0;background:#fff}.faq-public-meta a{display:inline-flex;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;border-radius:999px;padding:6px 10px;text-decoration:none;font-size:.82rem;font-weight:900}.faq-public-meta a:hover{border-color:#fecaca;background:#fff7f7;color:#991b1b}
.faq-related-procedures{margin:0 24px 22px;padding:14px 16px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.faq-related-procedures strong{display:block;color:#1e3a8a;margin-bottom:9px}.faq-related-procedures div{display:flex;flex-wrap:wrap;gap:8px}.faq-related-procedures a{display:inline-flex;align-items:center;border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;border-radius:999px;padding:7px 11px;text-decoration:none;font-weight:900;font-size:.88rem}.faq-related-procedures a:hover{background:#eff6ff}
@media(max-width:1040px){.faq-search-form{grid-template-columns:1fr 1fr}.faq-search-main{grid-column:1/-1}.faq-search-actions{grid-column:1/-1}}@media(max-width:680px){.faq-search-form{grid-template-columns:1fr}.faq-search-panel{padding:14px}.faq-public-meta{padding:10px 16px 0}.faq-related-procedures{margin:0 16px 18px}}

/* V128 - Liaison automatique FAQ <-> procédures */
.faq-related-procedures-v128 {
  border: 1px solid rgba(151, 110, 59, .20);
  background: #fffaf3;
}
.faq-linked-procedures-admin {
  margin: 1rem 0;
  padding: .9rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 14px;
  background: #f8fafc;
}
.faq-linked-procedures-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .65rem;
}
.faq-linked-procedures-head span {
  color: #64748b;
  font-size: .86rem;
}
.faq-linked-procedures-list {
  display: grid;
  gap: .55rem;
}
.faq-linked-procedure-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  padding: .7rem .8rem;
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 12px;
  background: #fff;
}
.faq-linked-procedure-row strong {
  display: block;
  color: #1e293b;
}
.faq-linked-procedure-row small {
  display: block;
  margin-top: .18rem;
  color: #64748b;
}
.compact-actions {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .faq-linked-procedure-row { grid-template-columns: 1fr; }
  .compact-actions { justify-content: flex-start; }
}

/* V129 - Intelligence pièces */
.p911-parts-intelligence .admin-titlebar.compact{align-items:flex-start;margin-bottom:1rem}
.p911-parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}
.p911-part-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.p911-part-card header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;border-bottom:1px solid #eef2f7;padding-bottom:.65rem;margin-bottom:.75rem}
.p911-part-card header strong{font-size:1.02rem;color:#111827}
.p911-part-card header span{white-space:nowrap;background:#eef6ff;color:#075985;border-radius:999px;padding:.2rem .55rem;font-weight:800;font-size:.82rem}
.p911-part-hits,.p911-part-refs{margin:.35rem 0;color:#475569;font-size:.92rem}.p911-part-refs{font-weight:700;color:#334155}
.p911-part-images{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.75rem 0}.p911-part-images figure{margin:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f8fafc}.p911-part-images img{width:100%;height:82px;object-fit:cover;display:block}.p911-part-images figcaption{font-size:.72rem;color:#64748b;padding:.3rem .4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p911-part-links details{border:1px solid #e5e7eb;border-radius:12px;margin:.5rem 0;background:#fcfcfd}.p911-part-links summary{cursor:pointer;padding:.55rem .7rem;font-weight:800;color:#1f2937}.p911-part-links ul{margin:0;padding:.1rem .8rem .65rem 1.35rem}.p911-part-links li{margin:.35rem 0}.p911-part-links small{display:block;color:#64748b}.p911-part-actions{margin:.8rem 0 0}.ai-suggestion-row-card .p911-parts-intelligence{margin-top:1rem}.ai-suggestion-row-card .p911-parts-intelligence .admin-titlebar h2{font-size:1.05rem}.ai-suggestion-row-card .p911-parts-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* V131 - Qualité contenus */
.quality-issue-list{margin:0;padding-left:18px;color:#7c2d12}.quality-issue-list li{margin:2px 0}.admin-table .admin-actions{display:flex;flex-wrap:wrap;gap:6px}.pill.orange{background:#fef3c7;color:#92400e;border-color:#fde68a}.pill.red{background:#fee2e2;color:#991b1b;border-color:#fecaca}.pill.green{background:#dcfce7;color:#166534;border-color:#bbf7d0}

/* V132 - Atelier IA compact */
.compact-workshop-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.compact-workshop-hero h1{margin-bottom:.35rem}
.compact-workshop-counters{display:grid;grid-template-columns:repeat(4,minmax(95px,1fr));gap:.6rem;min-width:min(520px,100%)}
.compact-workshop-counters span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:.75rem .9rem;color:#475569;text-align:center;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.compact-workshop-counters strong{display:block;font-size:1.35rem;color:#0f172a;line-height:1}
.compact-workshop-filters{position:static;top:auto;z-index:1;margin-bottom:.85rem;padding:1rem!important}
.compact-workshop-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:1rem;align-items:start}
.compact-workshop-list{position:sticky;top:90px;max-height:calc(100vh - 112px);overflow:auto;padding:.9rem}
.compact-workshop-list h2{margin:.2rem 0 .8rem;font-size:1.05rem}
.compact-workshop-row{display:block;text-decoration:none;color:inherit;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:.75rem;margin-bottom:.6rem;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.compact-workshop-row:hover,.compact-workshop-row.active{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.07)}
.compact-workshop-row strong{display:block;margin:.35rem 0;color:#0f172a;line-height:1.25}
.compact-workshop-row span:not(.publication-status):not(.compact-row-top):not(.compact-row-bottom){display:block;color:#64748b;font-size:.88rem;line-height:1.35}
.compact-row-top,.compact-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#64748b;font-size:.78rem}
.compact-row-top b{font-weight:700;color:#334155}
.compact-row-top .publication-status{font-size:.72rem;padding:.2rem .45rem;white-space:nowrap}
.compact-row-bottom{margin-top:.5rem}.compact-row-bottom small{color:#64748b}
.compact-workshop-detail{min-height:60vh;padding:1.1rem}
.compact-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.8rem;margin-bottom:.8rem}
.compact-detail-head h2{margin:.25rem 0 0;font-size:1.35rem;line-height:1.25}
.compact-sticky-actions{position:sticky;top:150px;z-index:3;display:flex;gap:.45rem;flex-wrap:wrap;background:rgba(255,255,255,.96);border:1px solid #e5e7eb;border-radius:14px;padding:.65rem;margin:.8rem 0;box-shadow:0 12px 28px rgba(15,23,42,.07);backdrop-filter:blur(8px)}
.compact-quality-box{border-radius:14px;padding:.75rem .9rem;margin:.8rem 0;border:1px solid #e5e7eb;background:#f8fafc;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.compact-quality-box.ok{background:#ecfdf5;border-color:#bbf7d0}.compact-quality-box.warn{background:#fffbeb;border-color:#fde68a}.compact-quality-box.bad{background:#fef2f2;border-color:#fecaca}.compact-quality-box strong{color:#0f172a}.compact-quality-box span{color:#475569}
.compact-public-preview{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;margin-top:.5rem;line-height:1.65;overflow:auto;max-height:52vh}.compact-public-preview h1,.compact-public-preview h2,.compact-public-preview h3{color:#0f172a}.compact-public-preview img{max-width:100%;height:auto;border-radius:12px}.compact-public-preview table{width:100%;border-collapse:collapse}.compact-public-preview td,.compact-public-preview th{border:1px solid #e5e7eb;padding:.5rem}
.compact-preview-note{margin-top:1rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:.85rem 1rem}
@media (max-width: 1100px){.compact-workshop-layout{grid-template-columns:1fr}.compact-workshop-list,.compact-workshop-filters,.compact-sticky-actions{position:static;max-height:none}.compact-workshop-counters{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media (max-width: 640px){.compact-workshop-counters{grid-template-columns:1fr}.compact-detail-head{display:block}.compact-workshop-layout{gap:.7rem}}

/* V133 - Actions rapides atelier IA compact */
.compact-row-actions{display:flex;flex-wrap:wrap;gap:.28rem;margin:-.25rem .15rem .7rem .15rem;padding:0 .25rem .25rem;border-bottom:1px solid #eef2f7}
.compact-row-actions .inline-form{display:inline-flex;margin:0}.compact-row-actions .mini{font-size:.72rem;padding:.28rem .48rem;border-radius:999px;line-height:1.1}
.compact-sticky-actions form.inline-form{display:inline-flex;margin:0}.compact-sticky-actions button{white-space:nowrap}.compact-sticky-actions .button-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.compact-sticky-actions .button-danger:hover{background:#fecaca}
.admin-alert.success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.admin-alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.compact-workshop-list .compact-row-actions + .compact-workshop-row{margin-top:.2rem}
@media (max-width: 640px){.compact-row-actions{gap:.2rem}.compact-row-actions .mini{font-size:.68rem;padding:.24rem .38rem}.compact-sticky-actions{gap:.32rem}.compact-sticky-actions .button,.compact-sticky-actions .button-light,.compact-sticky-actions button{font-size:.82rem;padding:.5rem .65rem}}

/* V134 - Edition rapide Atelier IA compact */
.compact-quick-edit-form{border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:1rem;margin:1rem 0 1.25rem;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.compact-quick-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.compact-quick-edit-form label{display:block;margin-bottom:.75rem}
.compact-quick-edit-form label span{display:block;font-weight:700;color:#334155;margin-bottom:.35rem;font-size:.9rem}
.compact-quick-edit-form input,.compact-quick-edit-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:.7rem .8rem;background:#fff;font:inherit;color:#0f172a}
.compact-quick-edit-form textarea{resize:vertical;min-height:92px;line-height:1.45}
.compact-quick-edit-form textarea[name="quick_body"]{min-height:210px}
.compact-quick-edit-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}
@media (max-width: 760px){.compact-quick-edit-grid{grid-template-columns:1fr}.compact-quick-edit-form textarea[name="quick_body"]{min-height:160px}}

/* V135 - Traitement par lot Atelier IA compact */
.compact-bulk-actions{
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  padding:12px;
  margin:0 0 14px;
  background:rgba(15,23,42,.035);
}
.compact-bulk-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
.compact-bulk-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.compact-workshop-row-shell{
  border:1px solid transparent;
  border-radius:18px;
  margin-bottom:8px;
  background:rgba(255,255,255,.72);
}
.compact-workshop-row-shell.active{border-color:rgba(37,99,235,.34);box-shadow:0 8px 20px rgba(15,23,42,.08);}
.compact-row-check{
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 12px 0;
  font-size:.82rem;
  color:#64748b;
  cursor:pointer;
  user-select:none;
}
.compact-row-check input{width:16px;height:16px;margin:0;accent-color:#2563eb;}
.compact-row-check span{line-height:1;}
.compact-workshop-row-shell .compact-workshop-row{margin-bottom:0;border-radius:14px 14px 6px 6px;}
.compact-workshop-list .compact-row-actions{margin:0 0 12px;padding:0 12px 10px;}
@media(max-width:760px){
  .compact-bulk-buttons .mini{width:100%;justify-content:center;}
  .compact-row-check{padding-top:12px;}
}

/* V137 - Nettoyage assisté Atelier IA compact */
.compact-clean-preview{
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  border-radius:16px;
  padding:1rem;
  margin:.6rem 0 1rem;
  color:#14532d;
  box-shadow:0 10px 24px rgba(22,101,52,.08);
}
.compact-clean-preview h1,.compact-clean-preview h2,.compact-clean-preview h3{color:#14532d;margin:.6rem 0 .35rem;}
.compact-clean-preview strong{font-weight:800;}
.compact-clean-preview p{margin:.35rem 0;}
.compact-bulk-buttons button[name="compact_action"][value="bulk_clean"]{border-color:#86efac;background:#f0fdf4;color:#166534;}
.compact-sticky-actions button.button-light{white-space:nowrap;}

/* V138 - Aperçu public avant publication Atelier IA compact */
.compact-publication-check{
  border:1px solid #dbeafe;
  background:#eff6ff;
  border-radius:16px;
  padding:1rem;
  margin:.75rem 0 1rem;
  color:#1e3a8a;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.compact-publication-check.ok{border-color:#bbf7d0;background:#f0fdf4;color:#14532d;}
.compact-publication-check.warn{border-color:#fde68a;background:#fffbeb;color:#92400e;}
.compact-publication-check.bad{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.compact-publication-check ul{margin:.25rem 0 0 1.25rem;padding:0;}
.compact-compare-preview{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:start;
}
.compact-compare-preview h4{margin:.2rem 0 .45rem;color:#334155;}
.compact-preview-before{
  border:1px solid #fecaca;
  background:#fff7f7;
}
.compact-public-render-preview{
  border:1px solid #cbd5e1;
  background:#fff;
  color:#111827;
  border-radius:16px;
  padding:1.05rem;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  margin:.6rem 0 1rem;
}
.compact-public-render-preview h1,
.compact-public-render-preview h2,
.compact-public-render-preview h3{
  color:#0f172a;
  margin:.75rem 0 .35rem;
}
.compact-public-render-preview p{margin:.45rem 0;line-height:1.55;}
.compact-public-render-preview ul,
.compact-public-render-preview ol{margin:.45rem 0 .75rem 1.35rem;}
.compact-public-render-preview img{max-width:100%;height:auto;border-radius:12px;}
@media (max-width: 980px){.compact-compare-preview{grid-template-columns:1fr;}}

/* V139 - File prioritaire Atelier IA compact */
.compact-priority-badge{display:inline-flex!important;align-items:center;gap:.35rem;width:max-content;margin:.15rem 0 .25rem;padding:.22rem .55rem;border-radius:999px;border:1px solid #e5e7eb;background:#f8fafc;color:#334155;font-size:.78rem;font-weight:700;letter-spacing:.01em}
.compact-priority-badge.ok,.compact-priority-box.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.compact-priority-badge.warn,.compact-priority-box.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.compact-priority-badge.bad,.compact-priority-box.bad{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.compact-priority-badge.neutral,.compact-priority-box.neutral{background:#f8fafc;border-color:#cbd5e1;color:#334155}
.compact-priority-box{border:1px solid #e5e7eb;border-radius:14px;padding:.75rem .9rem;margin:.75rem 0;background:#f8fafc;display:flex;gap:.6rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.compact-priority-box strong{display:block;font-size:.98rem}.compact-priority-box span{display:block;font-size:.88rem;line-height:1.35;max-width:760px}
.compact-workshop-filters .form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}


/* V140 - Planning editorial IA */
.editorial-planning-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}
.editorial-planning-list{display:grid;gap:14px}
.editorial-plan-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start;border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.editorial-plan-card.late{border-color:#fecaca;background:linear-gradient(90deg,#fff 0%,#fff 72%,#fff7f7 100%)}
.editorial-plan-head{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.editorial-plan-main h3{margin:.25rem 0 .45rem;color:#0f172a}.editorial-plan-meta{display:flex;flex-wrap:wrap;gap:8px;margin:.65rem 0;color:#64748b;font-size:.88rem}.editorial-plan-meta span{display:inline-flex;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:4px 9px}.editorial-plan-form{display:grid;gap:9px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.editorial-plan-form label{margin:0}.editorial-plan-form label span{font-weight:800;color:#334155}.editorial-plan-notes{grid-column:1/-1}.editorial-plan-form button{width:100%}
@media (max-width: 1050px){.editorial-plan-card{grid-template-columns:1fr}}


/* V141 - Alertes planning IA */
.editorial-alert-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}
.editorial-alert-list{display:grid;gap:14px}
.editorial-alert-card{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.editorial-alert-card.retard,.editorial-alert-card.critique{border-color:#fecaca;background:linear-gradient(90deg,#fff 0%,#fff 72%,#fff7f7 100%)}
.editorial-alert-card.bloque,.editorial-alert-card.bientot{border-color:#fde68a;background:linear-gradient(90deg,#fff 0%,#fff 72%,#fffbeb 100%)}
.editorial-alert-card h3{margin:.35rem 0 .45rem;color:#0f172a}
.editorial-alert-note{border-left:4px solid #d00000;background:#fff7ed;border-radius:12px;padding:10px 12px;color:#7c2d12;margin:.7rem 0}

/* V142 - Notifications IA */
.admin-large-textarea {
  width: 100%;
  min-height: 260px;
  box-sizing: border-box;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 14px;
  padding: 14px 16px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .92rem;
  line-height: 1.55;
  background: #f8fafc;
  color: #0f172a;
  resize: vertical;
}

/* V145 - Journal sécurité : lecture sans débordement horizontal */
.security-log-admin{max-width:100%;overflow:hidden}
.security-log-admin .compact-titlebar{align-items:flex-start;margin-bottom:14px}
.security-log-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(180px,1fr) minmax(110px,.45fr) auto;gap:12px;align-items:end;margin:0 0 14px;padding:14px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}
.security-log-filters label span{display:block;font-size:12px;font-weight:900;color:#475569;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.security-log-filters input,.security-log-filters select{width:100%;min-height:42px;border:1px solid #d8dee8;border-radius:12px;background:#fff;padding:8px 11px;font:inherit;color:#0f172a}
.security-log-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.security-log-count{margin:0 0 10px}
.security-log-table-wrap{max-width:100%;overflow:auto;border-radius:18px}
.security-log-table{min-width:980px;table-layout:fixed}
.security-log-table th:nth-child(1),.security-log-table td:nth-child(1){width:110px}
.security-log-table th:nth-child(2),.security-log-table td:nth-child(2){width:150px}
.security-log-table th:nth-child(3),.security-log-table td:nth-child(3){width:170px}
.security-log-table th:nth-child(4),.security-log-table td:nth-child(4){width:130px}
.security-log-table th:nth-child(5),.security-log-table td:nth-child(5){width:auto}
.security-log-date,.security-log-ip{white-space:normal;word-break:break-word;font-weight:800;color:#334155}
.security-log-admin-email{overflow-wrap:anywhere;color:#334155}
.security-log-details{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.45;color:#334155}
.security-action-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
@media(max-width:1100px){.security-log-filters{grid-template-columns:1fr 1fr}.security-log-filter-actions{grid-column:1/-1}.security-log-table{min-width:860px}}
@media(max-width:720px){.security-log-filters{grid-template-columns:1fr}.security-log-table{min-width:760px}.security-log-table th,.security-log-table td{padding:9px 10px}}

/* V149 - Correction header fixe / espacement admin
   Le header admin reste fixe, mais le contenu est repoussé sous celui-ci pour éviter
   les titres et cartes coupés lors du rechargement, du retour navigateur ou des ancres. */
body.admin-body{
  padding-top:72px;
}
.admin-body .admin-topbar{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:72px;
  z-index:1000;
}
.admin-body .admin-shell{
  min-height:calc(100vh - 72px);
}
.admin-body .admin-main{
  padding-top:40px !important;
}
body.admin-compact .admin-main{
  padding-top:34px !important;
}
.admin-body .admin-titlebar,
.admin-body .admin-card,
.admin-body .admin-table-wrap,
.admin-body .admin-grid,
.admin-body .stat-card,
.admin-body [id]{
  scroll-margin-top:116px;
}
.admin-body .admin-table th{
  top:0;
}
@media(max-width:980px){
  body.admin-body{padding-top:72px;}
  .admin-body .admin-main,
  body.admin-compact .admin-main{padding-top:24px !important;}
  .admin-body .admin-titlebar,
  .admin-body .admin-card,
  .admin-body .admin-table-wrap,
  .admin-body [id]{scroll-margin-top:104px;}
}

/* V150 - Audit technique visible en raccourci permanent */
.admin-sidebar-tool-link{display:flex;align-items:center;justify-content:center;grid-column:1/-1;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:9px 10px;font-weight:900;font-size:12px;box-shadow:0 8px 18px rgba(17,24,39,.05);text-decoration:none}
.admin-sidebar-tool-link:hover,.admin-sidebar-tool-link.active{background:#fee2e2;color:#991b1b;border-color:#fecaca}

/* V151 - Audit technique toujours visible dans le menu admin */
.admin-audit-tech-permanent{margin:0 0 10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;color:#0f172a;font-weight:900}
.admin-audit-tech-permanent:before{content:'🔎';margin-right:8px}
.admin-audit-tech-permanent:hover,.admin-audit-tech-permanent.active{background:#fee2e2;color:#991b1b;border-color:#fecaca}
body.admin-compact .admin-audit-tech-permanent{justify-content:center;font-size:0;padding:12px}
body.admin-compact .admin-audit-tech-permanent:before{font-size:16px;margin-right:0}


/* V155 - Documentation : selection exclusive des paves et liste PDF correspondante */
.doc-selection-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:18px 0 16px;
  padding:14px 16px;
  border:1px solid #fecaca;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 26px #1118270d;
}
.doc-selection-summary strong{display:block;color:#991b1b;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.doc-selection-summary span{display:block;margin-top:3px;font-weight:900;color:#111827}
.doc-tile-grid-selected{grid-template-columns:minmax(260px,420px)!important;align-items:stretch}
.doc-tile-grid-selected .doc-tile{border-color:var(--red);box-shadow:0 18px 38px #d0000014}
.doc-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px}
.doc-results-heading h2{display:block!important;margin:0;font-size:24px}
.doc-results-heading span{display:inline-flex;align-items:center;border-radius:999px;background:#fee2e2;color:#991b1b;padding:7px 11px;font-size:12px;font-weight:900}
@media(max-width:760px){.doc-selection-summary,.doc-results-heading{display:block}.doc-clear-selection{margin-top:10px}.doc-results-heading span{margin-top:8px}}

/* V156 - Documentation : recherche et navigation PDF ameliorees */
.doc-filters-v156{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr)) minmax(150px,.8fr) minmax(140px,.7fr) minmax(110px,.55fr) auto;align-items:end}
.doc-selection-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.doc-last-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin:18px 0;box-shadow:0 10px 24px #1118270b}
.doc-results-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px}.doc-results-heading h2{display:block!important;font-size:24px;margin:0}.doc-results-heading span{display:block;color:var(--muted);font-weight:800;margin-top:4px}.doc-list-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.doc-list-toolbar span{display:inline-flex;border:1px solid var(--line);background:#f8fafc;color:#475569;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.doc-card-v156{align-items:flex-start}.doc-card-v156 .doc-card-main{min-width:0;flex:1}.doc-card-v156 p{margin:8px 0 0;color:#475569;line-height:1.45}.doc-view-compact .doc-card-v156{padding:12px 14px}.doc-view-compact .doc-card-v156 strong{font-size:15px}.doc-view-compact .doc-card-v156 small{font-size:12px}.doc-view-detail .doc-card-v156{padding:18px 20px}.doc-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0 0}.doc-pagination .button-mini:not(.light){background:var(--red);color:#fff;border-color:var(--red)}
@media(max-width:1180px){.doc-filters-v156{grid-template-columns:1fr 1fr}.doc-filters-v156 button{grid-column:1/-1}}@media(max-width:760px){.doc-filters-v156{grid-template-columns:1fr}.doc-last-selection,.doc-results-heading{align-items:flex-start;flex-direction:column}.doc-selection-actions{width:100%}.doc-card-v156 .doc-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-list-toolbar span{width:100%;justify-content:center}}

/* V157 - Surveillance IA */
.surveillance-stats { margin-bottom: 1.3rem; }
.surveillance-config-card .inline-form { margin-top: 1rem; }
.surveillance-settings-form .checkline { display:flex; align-items:center; gap:.55rem; font-weight:700; }
.surveillance-report-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:1rem; }
.surveillance-list { margin:.6rem 0 0; padding-left:1.1rem; color:#263449; }
.surveillance-list li { margin:.35rem 0; word-break:break-word; }
.surveillance-kind-visit { background:#eef4ff; color:#234a84; }
.surveillance-kind-suspicious { background:#fff3d6; color:#8a5a00; }
.surveillance-kind-intrusion { background:#ffe0e0; color:#a40000; }
@media (max-width: 900px) { .surveillance-report-grid { grid-template-columns:1fr; } }

/* V158 - Surveillance IA geographique + blocage UFW */
.surv-wide{grid-column:1/-1}.surv-wide textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.surv-action-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}.surv-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.surv-map-grid article{border:1px solid var(--line);border-radius:20px;background:#f8fafc;padding:14px}.surv-map-grid h3{margin:0 0 10px;color:#111827}.surv-map-wrap{border-radius:18px;overflow:hidden;border:1px solid #dbe3ee;background:#eff6ff}.surv-world-map{display:block;width:100%;height:auto;min-height:260px}.surv-map-bg{fill:#eff6ff}.surv-map-zone{fill:#dbeafe;stroke:#bfdbfe;stroke-width:2}.surv-map-grid .surv-map-zone:nth-of-type(2n){fill:#e0f2fe}.surv-map-grid .surv-map-zone:nth-of-type(3n){fill:#e2e8f0}.surv-map-grid .surv-map-grid{stroke:#cbd5e1;stroke-width:1;stroke-dasharray:6 8}.surv-map-dot{stroke:#fff;stroke-width:3;opacity:.9}.surv-map-dot.visit{fill:#2563eb}.surv-map-dot.attack{fill:#dc2626}.surv-map-label{font-size:22px;font-weight:900;fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:5px}.surv-manual-block{margin-bottom:14px;align-items:end}.surveillance-ufw-simulated{background:#fef3c7;color:#92400e}.surveillance-ufw-pending{background:#dbeafe;color:#1d4ed8}.surveillance-ufw-active{background:#fee2e2;color:#991b1b}.surveillance-ufw-failed{background:#f1f5f9;color:#475569}.surveillance-ufw-removed{background:#dcfce7;color:#166534}.button-mini.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.button-mini.danger:hover{background:#dc2626;color:#fff;border-color:#dc2626}.surveillance-settings-form{grid-template-columns:repeat(3,minmax(0,1fr))}.surveillance-settings-form label:not(.checkline):not(.surv-wide){display:flex;flex-direction:column;gap:6px}.surveillance-settings-form input[type=number],.surveillance-settings-form input[type=email],.surveillance-settings-form textarea{width:100%}@media(max-width:1180px){.surveillance-settings-form{grid-template-columns:1fr 1fr}.surv-map-grid{grid-template-columns:1fr}}@media(max-width:760px){.surveillance-settings-form{grid-template-columns:1fr}.surv-action-row{display:block}.surv-action-row .inline-form{margin-top:10px}.surv-world-map{min-height:200px}.surv-map-label{font-size:18px}}


/* V159 - Surveillance IA Leaflet / OpenStreetMap */
.admin-sidebar-tool-link{display:block;margin-top:.55rem;padding:.72rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:#0f172a;font-weight:800;text-align:center;text-decoration:none;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.admin-sidebar-tool-link.active,.admin-surveillance-permanent.active{background:#fee2e2;color:#b00000;border-color:#fecaca}
.admin-surveillance-permanent{font-weight:900}
.p911-leaflet-map{height:360px;min-height:320px;border:1px solid #dbe3ee;border-radius:18px;overflow:hidden;background:#e5edf7;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.surveillance-leaflet-grid article{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.map-help{margin:.65rem 0 0;font-size:.86rem}.p911-leaflet-empty{display:flex;align-items:center;justify-content:center;height:100%;font-weight:800;color:#64748b;text-align:center;padding:1rem}
.leaflet-container{font-family:inherit}.p911-leaflet-popup strong{color:#0f172a}.p911-leaflet-popup small{display:block;color:#64748b;margin-top:.2rem}.p911-map-popup-row{margin:.25rem 0}.p911-risk-high{color:#b91c1c;font-weight:900}.p911-risk-mid{color:#a16207;font-weight:900}.p911-risk-low{color:#166534;font-weight:900}
@media(max-width:1180px){.p911-leaflet-map{height:320px}}@media(max-width:760px){.p911-leaflet-map{height:280px;min-height:260px}}


/* V160 - Plein écran des cartes Leaflet de surveillance */
.surv-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.surv-map-head h3{margin:0}
.surv-map-head .button-light{white-space:nowrap;padding:.55rem .9rem}
body.p911-map-fullscreen-active{overflow:hidden}
.surv-map-grid article.surveillance-map-fullscreen{position:fixed;z-index:9999;inset:92px 24px 24px 24px;background:#fff;border:1px solid #dbe3ee;border-radius:22px;box-shadow:0 30px 90px rgba(15,23,42,.35);padding:18px;display:flex;flex-direction:column}
.admin-shell .surv-map-grid article.surveillance-map-fullscreen{left:264px}
.surveillance-map-fullscreen .p911-leaflet-map{height:auto;min-height:0;flex:1;border-radius:18px}
.surveillance-map-fullscreen .map-help{margin-top:.6rem}
.surveillance-map-fullscreen:before{content:'Appuyez sur Échap ou sur Réduire pour quitter le plein écran';position:absolute;right:24px;bottom:20px;z-index:500;background:rgba(15,23,42,.82);color:#fff;border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:800;pointer-events:none}
@media(max-width:980px){.admin-shell .surv-map-grid article.surveillance-map-fullscreen,.surv-map-grid article.surveillance-map-fullscreen{left:12px;right:12px;top:82px;bottom:12px}.surveillance-map-fullscreen:before{display:none}}

/* V161 - Leaflet zoom and interaction fix */
.p911-leaflet-map,.p911-leaflet-map *{pointer-events:auto}
.p911-leaflet-map .leaflet-control-container{z-index:900}
.p911-leaflet-map .leaflet-control-zoom{display:block!important;box-shadow:0 8px 24px rgba(15,23,42,.18)}
.surveillance-map-fullscreen .p911-leaflet-map{cursor:grab}
.surveillance-map-fullscreen .p911-leaflet-map:active{cursor:grabbing}
.p911-leaflet-map .leaflet-top,.p911-leaflet-map .leaflet-bottom{z-index:850}


/* V162 - Correction robuste lien plein ecran Leaflet */
.p911-map-fullscreen-button{position:relative;z-index:1200;cursor:pointer;pointer-events:auto}
.p911-surveillance-map-card{position:relative}
.p911-surveillance-map-card.p911-map-fullscreen-active-card{position:fixed!important;z-index:20000!important;top:92px!important;right:24px!important;bottom:24px!important;left:264px!important;width:auto!important;height:auto!important;max-width:none!important;background:#fff;border:1px solid #dbe3ee;border-radius:22px;box-shadow:0 30px 90px rgba(15,23,42,.35);padding:18px;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.p911-map-fullscreen-active-card .surv-map-head{flex:0 0 auto}
.p911-map-fullscreen-active-card .p911-leaflet-map{height:auto!important;min-height:0!important;flex:1 1 auto!important;width:100%!important}
.p911-map-fullscreen-active-card .map-help{flex:0 0 auto}
body.p911-map-fullscreen-active .admin-header{z-index:19000}
@media(max-width:980px){.p911-surveillance-map-card.p911-map-fullscreen-active-card{left:12px!important;right:12px!important;top:82px!important;bottom:12px!important}}

/* V164 - Surveillance IA true full screen map */
.p911-map-page-fullscreen{margin:0;background:#eef2f7;color:#172033;min-height:100vh;overflow:hidden;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.p911-map-fullscreen-toolbar{height:86px;background:linear-gradient(90deg,#080d16,#111827 65%,#b40000);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;box-shadow:0 10px 28px rgba(15,23,42,.25)}
.p911-map-fullscreen-toolbar h1{margin:0;font-size:1.45rem;line-height:1.1;color:#fff}.p911-map-fullscreen-toolbar p{margin:.2rem 0 0;color:#e5e7eb}.p911-map-fullscreen-toolbar nav{display:flex;gap:10px;flex-wrap:wrap}.p911-map-fullscreen-layout{height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;padding:14px;box-sizing:border-box}.p911-map-fullscreen-mapbox,.p911-map-fullscreen-side{background:#fff;border:1px solid #dbe3ee;border-radius:20px;box-shadow:0 18px 50px rgba(15,23,42,.12);overflow:hidden}.p911-map-fullscreen-mapbox{display:flex;flex-direction:column}.p911-url-fullscreen-map{height:auto!important;min-height:0!important;flex:1 1 auto;width:100%;border:0!important;border-radius:20px 20px 0 0!important}.p911-map-fullscreen-mapbox .map-help{flex:0 0 auto;margin:0;padding:10px 14px;background:#f8fafc;border-top:1px solid #e5e7eb;color:#64748b;font-weight:700}.p911-map-fullscreen-side{padding:16px;overflow:auto}.p911-map-fullscreen-side h2{margin:0 0 12px;font-size:1.15rem}.p911-map-ip-list{display:grid;gap:10px}.p911-map-ip-card{border:1px solid #dbe3ee;background:#fff;border-radius:16px;padding:12px}.p911-map-ip-card.is-local{border-color:#bfdbfe;background:#eff6ff}.p911-map-ip-card strong{display:block;color:#b40000;font-size:1rem}.p911-map-ip-card span,.p911-map-ip-card small{display:block;color:#64748b;margin-top:3px}.p911-map-ip-card dl{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin:10px 0;padding:10px;background:#f8fafc;border-radius:12px}.p911-map-ip-card dt{font-weight:800;color:#475569}.p911-map-ip-card dd{margin:0;font-weight:900;color:#0f172a}.p911-map-ip-card p{margin:8px 0 0;color:#475569;font-size:.88rem}.p911-leaflet-map .leaflet-interactive.local{stroke:#2563eb;fill:#60a5fa;fill-opacity:.65}
@media(max-width:980px){.p911-map-fullscreen-toolbar{height:auto;align-items:flex-start;flex-direction:column}.p911-map-fullscreen-layout{height:calc(100vh - 130px);grid-template-columns:1fr}.p911-map-fullscreen-side{max-height:240px}.p911-map-fullscreen-toolbar nav{width:100%}.p911-map-fullscreen-toolbar nav a{flex:1;text-align:center}}

/* V165 - cartes surveillance IA interactives */
.p911-leaflet-map{cursor:grab;user-select:none;touch-action:none!important;pointer-events:auto!important}
.p911-leaflet-map.leaflet-dragging{cursor:grabbing}
.p911-leaflet-map .leaflet-tile-pane,.p911-leaflet-map .leaflet-marker-pane,.p911-leaflet-map .leaflet-popup-pane{pointer-events:none}
.p911-leaflet-map .leaflet-marker-icon,.p911-leaflet-map .leaflet-popup,.p911-leaflet-map .leaflet-control-zoom,.p911-leaflet-map .leaflet-control-attribution{pointer-events:auto!important}
.leaflet-control-zoom{z-index:900;display:flex!important;flex-direction:column;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.7);background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.18)}
.p911-leaflet-map .leaflet-top.leaflet-left{gap:10px!important;align-items:flex-start;}
.p911-leaflet-map .leaflet-top.leaflet-left .leaflet-control{margin:0!important;}
.p911-leaflet-map .leaflet-top.leaflet-left .leaflet-control-zoom{position:relative!important;left:auto!important;top:auto!important;order:1;flex:0 0 auto;}
.leaflet-control-zoom button{width:38px;height:38px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#0f172a;font-size:24px;font-weight:900;line-height:1;cursor:pointer}
.leaflet-control-zoom button:last-child{border-bottom:0}.leaflet-control-zoom button:hover{background:#f1f5f9;color:#b40000}
.leaflet-marker-icon.local{background:#2563eb}.leaflet-marker-icon.attack{background:#dc2626}.leaflet-marker-icon.visit{background:#2563eb}
.p911-map-fullscreen-mapbox{min-width:0}.p911-map-fullscreen-layout{min-width:0}.p911-url-fullscreen-map{height:calc(100vh - 150px)!important;min-height:560px!important}
@media(max-width:980px){.p911-url-fullscreen-map{height:60vh!important;min-height:360px!important}}

/* V166 - cartes Leaflet fluides : le glisser de carte ne recharge plus les tuiles en continu */
.p911-leaflet-map{will-change:contents;contain:layout paint;overscroll-behavior:contain;touch-action:none!important}
.p911-leaflet-map .leaflet-tile-pane,.p911-leaflet-map .leaflet-marker-pane,.p911-leaflet-map .leaflet-popup-pane{will-change:transform;transform:translate3d(0,0,0)}
.p911-leaflet-map.leaflet-dragging,.p911-leaflet-map.leaflet-dragging *{cursor:grabbing!important;user-select:none!important}
.p911-leaflet-map .leaflet-tile{user-select:none;-webkit-user-drag:none;pointer-events:none}
.p911-map-fullscreen-mapbox,.p911-map-fullscreen-layout{overscroll-behavior:contain}
/* V167 - Cartes Leaflet : interaction native stable */
.p911-leaflet-map,
.p911-url-fullscreen-map{
  cursor:grab!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:none!important;
  pointer-events:auto!important;
  contain:none!important;
  will-change:auto!important;
}
.p911-leaflet-map.leaflet-dragging,
.p911-url-fullscreen-map.leaflet-dragging{
  cursor:grabbing!important;
}
.p911-leaflet-map .leaflet-tile-pane,
.p911-url-fullscreen-map .leaflet-tile-pane{
  pointer-events:none!important;
  will-change:transform;
}
.p911-leaflet-map .leaflet-marker-pane,
.p911-leaflet-map .leaflet-popup-pane,
.p911-url-fullscreen-map .leaflet-marker-pane,
.p911-url-fullscreen-map .leaflet-popup-pane{
  pointer-events:none!important;
  will-change:transform;
}
.p911-leaflet-map .leaflet-marker-icon,
.p911-leaflet-map .leaflet-popup,
.p911-leaflet-map .leaflet-control-zoom,
.p911-leaflet-map .leaflet-control-attribution,
.p911-url-fullscreen-map .leaflet-marker-icon,
.p911-url-fullscreen-map .leaflet-popup,
.p911-url-fullscreen-map .leaflet-control-zoom,
.p911-url-fullscreen-map .leaflet-control-attribution{
  pointer-events:auto!important;
}
.p911-map-fullscreen-mapbox,
.p911-map-fullscreen-layout,
.p911-map-fullscreen-side{
  pointer-events:auto;
}
.p911-map-fullscreen-mapbox:before,
.p911-map-fullscreen-mapbox:after,
.p911-surveillance-map-card:before,
.p911-surveillance-map-card:after{
  pointer-events:none!important;
}
.p911-leaflet-map .leaflet-tile,
.p911-url-fullscreen-map .leaflet-tile{
  user-select:none!important;
  -webkit-user-drag:none!important;
  pointer-events:none!important;
}

/* V168 - Cartes toujours visibles meme sans donnees */
.p911-leaflet-no-data{background:#e5edf7}
.p911-leaflet-empty-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:650;max-width:min(88%,520px);padding:14px 18px;border:1px solid #cbd5e1;border-radius:18px;background:rgba(248,250,252,.92);box-shadow:0 16px 38px rgba(15,23,42,.12);color:#334155;font-weight:900;text-align:center;pointer-events:none;line-height:1.35}
.p911-leaflet-empty-overlay small{display:block;margin-top:5px;color:#64748b;font-weight:700}

/* V174 - Menu administrateur mobile stable et cliquable au doigt */
@media(max-width:980px){
  body.admin-body{overflow-x:hidden;}
  .admin-body .admin-topbar{
    height:72px;
    padding:0 16px;
    z-index:2000;
  }
  .admin-brand{
    font-size:clamp(20px,5.8vw,28px);
    line-height:1;
    white-space:nowrap;
  }
  .admin-brand span{
    min-width:52px;
    min-height:46px;
    padding:8px 10px;
    border-radius:13px;
  }
  .admin-shell,
  body.admin-compact .admin-shell{
    display:block !important;
    grid-template-columns:1fr !important;
  }
  .admin-sidebar,
  body.admin-compact .admin-sidebar{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
    width:100% !important;
    padding:16px 14px 18px !important;
    border-right:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
    box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
    z-index:20;
  }
  .admin-user,
  body.admin-compact .admin-user{
    padding:14px 16px !important;
    margin-bottom:12px !important;
    border-radius:18px !important;
  }
  body.admin-compact .admin-user small{display:block !important;}
  .admin-sidebar-tools,
  body.admin-compact .admin-sidebar-tools{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-bottom:14px !important;
  }
  .admin-sidebar-tools button,
  .admin-sidebar-tool-link,
  body.admin-compact .admin-sidebar-tool-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:54px !important;
    width:100% !important;
    padding:13px 16px !important;
    border-radius:999px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-align:center !important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(208,0,0,.14);
  }
  .admin-navlink,
  body.admin-compact .admin-navlink,
  .admin-nav-panel .admin-navlink,
  body.admin-compact .admin-nav-panel .admin-navlink,
  .admin-audit-tech-permanent,
  .admin-surveillance-permanent,
  body.admin-compact .admin-audit-tech-permanent,
  body.admin-compact .admin-surveillance-permanent{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:54px !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:14px 18px !important;
    margin:9px 0 !important;
    border-radius:17px !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-align:left !important;
    color:#0f172a;
    text-decoration:none !important;
    transform:none !important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(208,0,0,.14);
  }
  body.admin-compact .admin-audit-tech-permanent,
  body.admin-compact .admin-surveillance-permanent{
    font-size:16px !important;
  }
  body.admin-compact .admin-audit-tech-permanent:before,
  body.admin-compact .admin-surveillance-permanent:before{
    font-size:18px !important;
    margin-right:10px !important;
  }
  .admin-navlink:hover,
  body.admin-compact .admin-navlink:hover{
    transform:none !important;
  }
  .admin-navlink.active,
  .admin-sidebar-tool-link.active{
    background:#fee2e2 !important;
    color:#991b1b !important;
    border-color:#fecaca !important;
    box-shadow:inset 5px 0 0 #d00000 !important;
  }
  .admin-nav-group,
  body.admin-compact .admin-nav-group{
    margin:12px 0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  .admin-nav-summary,
  body.admin-compact .admin-nav-summary{
    min-height:58px !important;
    padding:15px 16px !important;
    font-size:15px !important;
    letter-spacing:.08em !important;
    line-height:1.2 !important;
    cursor:pointer !important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(208,0,0,.14);
  }
  .admin-nav-summary-label{gap:12px !important;}
  .admin-nav-summary-label i,
  body.admin-compact .admin-nav-summary-label i{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border-radius:12px !important;
    font-size:16px !important;
  }
  .admin-nav-summary-label span{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .admin-nav-summary b,
  body.admin-compact .admin-nav-summary b{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    font-size:18px !important;
  }
  .admin-nav-panel,
  body.admin-compact .admin-nav-panel{
    padding:0 10px 12px !important;
  }
  .admin-main,
  body.admin-compact .admin-main{
    width:100% !important;
    max-width:none !important;
    padding:18px 14px 24px !important;
  }
  .admin-titlebar{
    display:block !important;
  }
  .admin-titlebar h1{
    font-size:clamp(26px,7vw,34px) !important;
  }
  .admin-card{
    padding:18px !important;
    border-radius:20px !important;
  }
}

/* V176 - Stabilisation mobile admin et statistiques graphiques */
.admin-back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:80;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:#d00000;
  color:#fff;
  font-size:24px;
  font-weight:900;
  box-shadow:0 16px 32px rgba(15,23,42,.26);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease;
}
.admin-back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:980px){
  body.admin-body.admin-compact{ }
  body.admin-body.admin-compact .admin-shell{display:block!important;grid-template-columns:1fr!important}
  body.admin-body.admin-compact .admin-sidebar{max-height:none!important;padding:16px!important}
  body.admin-body.admin-compact .admin-main{padding:16px!important;max-width:none!important}
  body.admin-body.admin-compact .admin-user small{display:block!important}
  body.admin-body.admin-compact .admin-nav-summary-label span,
  body.admin-body.admin-compact .admin-navlink,
  body.admin-body.admin-compact .admin-sidebar-tool-link{font-size:15px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .admin-sidebar{padding:16px!important;overflow:visible!important}
  .admin-sidebar-tools{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .admin-sidebar-tools button,.admin-sidebar-tool-link,.admin-navlink,.admin-nav-summary{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 14px!important;font-size:15px!important;line-height:1.25!important;white-space:normal!important;text-align:center!important;touch-action:manipulation!important}
  .admin-nav-summary{justify-content:space-between!important;text-align:left!important}
  .admin-nav-summary-label span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .admin-nav-panel .admin-navlink{justify-content:flex-start!important;text-align:left!important;font-size:15px!important;padding:13px 14px!important}
  .admin-dashboard-link,.admin-audit-tech-permanent,.admin-surveillance-permanent{justify-content:flex-start!important;text-align:left!important}
  .admin-main{padding:16px!important;overflow-x:hidden!important}
  .admin-card{border-radius:18px!important;padding:16px!important}
  .admin-title-row,.admin-titlebar{display:block!important}
  .admin-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:12px!important}
  .admin-actions a,.admin-actions button,.button-light,.button-red,.button-danger,.button-secondary{min-height:46px!important;line-height:1.2!important;white-space:normal!important}
}
@media(max-width:560px){
  .admin-topbar{gap:10px;padding:12px 14px!important}
  .admin-brand{font-size:22px!important;line-height:1.1!important}
  .admin-brand span{width:58px!important;height:48px!important;font-size:24px!important;border-radius:14px!important}
  .admin-toplinks{gap:7px!important}
  .admin-toplinks a{padding:9px 11px!important;font-size:12px!important}
  .admin-sidebar-tools{grid-template-columns:1fr!important}
  .admin-back-to-top{right:14px;bottom:14px;width:44px;height:44px;font-size:22px}
}

/* V178 - Suppression multiple dans la mediatheque */
.media-bulk-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:18px 0;
  padding:14px 16px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.media-select-all,.media-card-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#0f172a;
  cursor:pointer;
  user-select:none;
}
.media-card-check{
  width:100%;
  justify-content:flex-start;
  margin-bottom:10px;
  padding:8px 10px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.media-card-check input,.media-select-all input{
  width:18px;
  height:18px;
  accent-color:#d00000;
}
.media-selected-count{
  font-weight:800;
  color:#64748b;
}
@media(max-width:700px){
  .media-bulk-toolbar{position:sticky;top:76px;z-index:20;align-items:stretch}
  .media-bulk-toolbar .button-danger,.media-bulk-toolbar button{width:100%}
  .media-select-all,.media-selected-count{width:100%}
}


/* V179 - Mediatheque : compteur et boutons sans superposition */
.media-count-summary{
  margin:14px 0 10px;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:14px;
  color:#334155;
  font-weight:700;
}
.media-library-grid{
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  align-items:start;
}
.media-card{
  min-width:0;
}
.media-card input,.media-card textarea,.media-card .copy-field{
  max-width:100%;
  box-sizing:border-box;
}
.media-card-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:10px;
}
.media-card-actions button{
  width:100%;
  min-height:42px;
  white-space:normal;
  line-height:1.15;
}
@media(min-width:1350px){
  .media-library-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));}
}
@media(max-width:800px){
  .media-library-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
}
@media(max-width:560px){
  .media-library-grid{grid-template-columns:1fr;}
  .media-card-actions{grid-template-columns:1fr 1fr;}
}

/* V180 - Fil d'Ariane admin + gestion des doublons mediatheque */
.admin-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#64748b;
  font-size:14px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.admin-breadcrumb a{color:#991b1b;text-decoration:none}
.admin-breadcrumb a:hover{text-decoration:underline}
.admin-breadcrumb span[aria-current="page"]{color:#0f172a}
.admin-breadcrumb-sep{color:#94a3b8}
.media-duplicates-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:16px 0;
  padding:16px 18px;
  border:1px solid #fecaca;
  border-left:6px solid #d00000;
  background:#fff7f7;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.media-duplicates-panel strong{display:block;color:#991b1b;font-size:18px;margin-bottom:4px}
.media-duplicates-panel span{display:block;color:#64748b;font-weight:700}
.media-duplicates-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.media-duplicates-actions form{margin:0}
.media-card-duplicate{border-color:#fca5a5!important;box-shadow:0 10px 24px rgba(208,0,0,.12)!important}
.duplicate-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 9px;
  padding:6px 10px;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
  font-size:12px;
  font-weight:900;
}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:800;color:#334155}
.inline-check input{width:18px;height:18px;accent-color:#d00000}
@media(max-width:800px){
  .admin-breadcrumb{border-radius:16px;font-size:13px;margin-bottom:14px}
  .media-duplicates-panel{display:block;padding:15px}
  .media-duplicates-actions{margin-top:12px;display:grid;grid-template-columns:1fr;gap:8px}
  .media-duplicates-actions a,.media-duplicates-actions button{width:100%}
}

/* V189 - Nettoyage médiathèque : boutons stables, sans superposition */
.media-cleanup-card .media-cleanup-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  align-items:stretch;
  margin-top:16px;
}
.media-cleanup-card .media-cleanup-actions form{
  margin:0!important;
  display:block!important;
  min-width:0;
}
.media-cleanup-card .media-cleanup-actions button,
.media-cleanup-card .media-cleanup-actions .button-light,
.media-cleanup-card .media-cleanup-actions .button-danger{
  width:100%;
  min-height:48px;
  white-space:normal!important;
  line-height:1.2!important;
  text-align:center;
  padding:12px 16px!important;
  margin:0!important;
  box-sizing:border-box;
}
@media(max-width:760px){
  .media-cleanup-card .media-cleanup-actions{grid-template-columns:1fr;}
}

/* V193 audit global */
.p911-audit-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid rgba(148,163,184,.25)}
.p911-global-audit-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
.p911-global-audit-table th,.p911-global-audit-table td{padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.18);vertical-align:top}
.p911-global-audit-table tr.warn{background:rgba(255,245,214,.35)}
.p911-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:760px){.p911-action-row{flex-direction:column;align-items:stretch}.p911-action-row .button-light,.p911-action-row .button-primary{width:100%;text-align:center}.p911-global-audit-table{min-width:680px}}
/* V194 - Maintenance corrective */
.maintenance-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}.maintenance-action-grid>a,.maintenance-action-grid form{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center;border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff}.maintenance-action-grid form button{width:auto}.command-box{width:100%;min-height:78px;border:1px solid #cbd5e1;border-radius:14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:#f8fafc;color:#0f172a;resize:vertical}.pill.orange{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}@media(max-width:760px){.maintenance-action-grid{grid-template-columns:1fr}.maintenance-action-grid>a,.maintenance-action-grid form{width:100%}}

/* V197 - audit maintenance rationalise et menu admin lisible */
.audit-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.audit-summary-grid,.evolution-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.audit-summary-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.audit-summary-item strong{display:block;color:#d00000;font-size:17px;margin-bottom:6px}
.audit-summary-item span{display:block;color:#475569;line-height:1.5}
.evolution-history-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.evolution-history-head h2{margin:0}
.compact-list li{margin:.45rem 0;line-height:1.55}
body.admin-compact .admin-audit-tech-permanent{font-size:13px!important;justify-content:flex-start!important;padding:8px 10px!important}
body.admin-compact .admin-audit-tech-permanent:before{font-size:15px!important;margin-right:8px!important}
body.admin-compact .admin-surveillance-permanent{font-size:13px!important;justify-content:flex-start!important;padding:8px 10px!important}
body.admin-compact .admin-surveillance-permanent:before{font-size:15px!important;margin-right:8px!important}
body.admin-compact .admin-dashboard-link,
body.admin-compact .admin-navlink,
body.admin-compact .admin-sidebar-tool-link{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.admin-dashboard-link:empty::after,.admin-navlink:empty::after,.admin-sidebar-tool-link:empty::after{content:'Menu';font-size:13px;color:#0f172a}
@media(max-width:980px){.audit-summary-grid,.evolution-history-grid{grid-template-columns:1fr}.audit-section-head .button-light{width:100%;text-align:center}.admin-main .admin-card{overflow-wrap:anywhere}}

/* V198 - Réponse assistant IA formatée et audit qualité public */
.formatted-ai-answer{background:#0f172a;color:#e5edf8;border-radius:16px;padding:22px 24px;line-height:1.65;white-space:normal;overflow:auto;font-family:inherit;font-size:15px;max-height:none}
.formatted-ai-answer h3,.formatted-ai-answer h4,.formatted-ai-answer h5{color:#fff;margin:22px 0 10px;font-size:1.08rem;line-height:1.25}
.formatted-ai-answer h3:first-child,.formatted-ai-answer h4:first-child,.formatted-ai-answer h5:first-child{margin-top:0}
.formatted-ai-answer p{margin:0 0 12px;color:#e5edf8}
.formatted-ai-answer ul{margin:8px 0 16px 22px;padding:0;display:grid;gap:7px}
.formatted-ai-answer li{padding-left:4px;color:#e5edf8}
.formatted-ai-answer strong{color:#fff;font-weight:900}
.formatted-ai-answer code{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:1px 6px;color:#fff}
.assistant-popup-content{padding-bottom:24px}
.assistant-popup-content .muted{margin-top:10px;margin-bottom:12px}
.stacked-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:720px){.formatted-ai-answer{padding:16px 14px;font-size:14px;border-radius:14px}.formatted-ai-answer ul{margin-left:18px}.assistant-popup-dialog{width:calc(100vw - 18px);max-height:92vh}.assistant-popup-header{padding:16px}.assistant-popup-content{padding:16px}}

/* V199 - Recherche globale */
.public-global-search-v199{display:flex;align-items:center;gap:4px;margin-left:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 4px}.public-global-search-v199 input{width:150px;max-width:22vw;border:0;border-radius:999px;padding:7px 9px;background:#fff;color:#121826;font-size:.85rem}.public-global-search-v199 button{border:0;border-radius:999px;padding:7px 10px;background:#e30613;color:#fff;font-weight:800;cursor:pointer}.search-hero-v199{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #e5e9f2;border-radius:26px;padding:26px;margin:18px 0;box-shadow:0 18px 40px rgba(15,23,42,.06)}.search-hero-v199 h1{margin:.2rem 0}.search-stat-v199{background:#fff5f5;border:1px solid #ffd4d4;border-radius:18px;padding:18px;text-align:center;color:#b30000}.search-stat-v199 strong{display:block;font-size:2rem}.global-search-panel-v199{display:grid;grid-template-columns:1fr 230px auto;gap:10px;background:#fff;border:1px solid #e5e9f2;border-radius:22px;padding:16px;margin:18px 0}.global-search-panel-v199 input,.global-search-panel-v199 select,.admin-search-form-v199 input,.admin-search-form-v199 select{border:1px solid #d9e0ec;border-radius:14px;padding:13px;background:#fff;color:#111827}.search-results-group-v199{margin:22px 0}.search-results-group-v199 h3{display:flex;align-items:center;gap:10px}.search-results-group-v199 h3 span{font-size:.85rem;background:#ffe6e6;color:#b30000;border-radius:999px;padding:4px 9px}.search-results-list-v199{display:grid;gap:10px}.search-result-v199{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid #e5e9f2;border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.search-result-v199 p{margin:.4rem 0;color:#5f6b7c}.search-result-v199 small{color:#738196}.public-card-v199{background:#fff}.admin-search-form-v199{display:grid;grid-template-columns:1fr 220px auto;gap:10px}@media(max-width:900px){.public-global-search-v199{width:100%;margin:8px 0}.public-global-search-v199 input{width:100%;max-width:none}.search-hero-v199,.global-search-panel-v199,.admin-search-form-v199{grid-template-columns:1fr}.search-result-v199{display:grid}.global-search-panel-v199 .btn,.admin-search-form-v199 button{width:100%}}

/* V200 - Header public repare : logo visible, menu espace, recherche alignee */
.navbar-v200 .navin-v200{gap:18px;justify-content:space-between;min-height:76px}.logo-v200{display:flex!important;align-items:center;gap:10px;min-width:170px;flex:0 0 auto;text-decoration:none}.logo-badge-v200{display:inline-grid!important;place-items:center;background:#d00000!important;color:#fff!important;border-radius:14px;width:58px;height:48px;font-size:24px;font-weight:950;letter-spacing:-1px;box-shadow:0 8px 22px #0004}.site-logo-img{display:block;max-height:52px;max-width:92px;width:auto;height:auto;object-fit:contain}.logo-text-v200{display:inline-block!important;color:#fff!important;font-size:18px;font-weight:900;line-height:1;white-space:nowrap}.logo-text-v200 strong{color:#fff!important}.navlinks-v200{flex:1;justify-content:flex-end;gap:16px;min-width:0}.navlinks-v200>a,.navlinks-v200 .menu-item>a{display:flex;align-items:center;gap:6px;min-height:34px;white-space:nowrap;line-height:1.05}.navlinks-v200 .menu-item{position:relative}.navlinks-v200 .submenu{position:absolute;top:100%;left:0;display:none;min-width:210px;background:#111827;border:1px solid #ffffff18;border-radius:14px;padding:8px;box-shadow:0 20px 45px #0005}.navlinks-v200 .has-children:hover .submenu{display:block}.navlinks-v200 .submenu .menu-item{display:block}.navlinks-v200 .submenu a{display:flex;padding:9px 10px}.public-global-search-v200{display:flex;align-items:center;gap:6px;flex:0 0 185px;max-width:220px;background:#ffffff18;border:1px solid #ffffff24;border-radius:999px;padding:4px}.public-global-search-v200 input{min-width:0;width:100%;height:32px;border:0;border-radius:999px;padding:0 12px;font-size:13px;background:#fff;color:#111827;outline:none}.public-global-search-v200 button{width:34px;height:34px;border:0;border-radius:999px;background:#d00000;color:#fff;display:grid;place-items:center;cursor:pointer}.search-navlink-v200{margin-left:4px}.search-page-v199 .alert.warning{background:#fff7ed;border:1px solid #fb923c;color:#9a3412;border-radius:14px;padding:14px 16px;font-weight:700}.search-page-v199 mark{background:#fee2e2;color:#991b1b;border-radius:5px;padding:0 .18em}
@media(max-width:1180px){.logo-v200{min-width:120px}.logo-text-v200{display:none!important}.navlinks-v200{gap:10px}.navlinks-v200>a,.navlinks-v200 .menu-item>a{font-size:12px}.public-global-search-v200{flex-basis:150px}}
@media(max-width:850px){.navbar-v200 .navin-v200{min-height:72px}.logo-text-v200{display:inline-block!important;font-size:17px}.navlinks-v200{top:72px!important;align-items:stretch!important;gap:8px}.navlinks-v200>a,.navlinks-v200 .menu-item>a{justify-content:flex-start;font-size:14px;padding:8px 10px}.public-global-search-v200{flex:1 1 auto;max-width:none;width:100%;background:#ffffff12}.navlinks-v200 .submenu{position:static;display:block;background:#0b0f17;border:0;box-shadow:none;padding-left:16px}.logo-badge-v200{width:54px;height:44px}}


/* V201 - Correction urgente header public : logo, menu et recherche sans chevauchement */
.navbar-v201{position:sticky;top:0;z-index:30;background:rgba(11,15,23,.98);}
.navbar-v201 .navin-v201{display:flex;align-items:center;justify-content:flex-start;gap:22px;min-height:72px;overflow:visible;}
.navbar-v201 .logo-v201{flex:0 0 auto;min-width:58px;width:58px;max-width:58px;display:flex!important;align-items:center;justify-content:center;gap:0;margin-right:6px;position:relative;z-index:2;}
.navbar-v201 .logo-badge-v200{width:58px;height:46px;border-radius:14px;font-size:24px;line-height:1;color:#fff!important;background:#d00000!important;display:grid!important;place-items:center;box-shadow:none;}
.navbar-v201 .site-logo-img{max-width:58px;max-height:46px;display:block;object-fit:contain;}
.navbar-v201 .logo-text-v200{display:none!important;}
.navbar-v201 .navlinks-v201{display:flex;align-items:center;justify-content:flex-start;gap:17px;flex:1 1 auto;min-width:0;overflow:visible;}
.navbar-v201 .navlinks-v201>a,
.navbar-v201 .navlinks-v201 .menu-item>a{display:flex;align-items:center;gap:6px;min-height:36px;padding:0;color:#f9fafb;font-size:13px;font-weight:800;line-height:1.05;text-transform:uppercase;white-space:nowrap;text-decoration:none;}
.navbar-v201 .navlinks-v201 .menu-item{display:flex;align-items:center;position:relative;flex:0 0 auto;}
.navbar-v201 .navlinks-v201 .menu-icon{flex:0 0 auto;}
.navbar-v201 .search-navlink-v200{display:none!important;}
.navbar-v201 .adminlink{color:#ff3b3b!important;}
.navbar-v201 .public-global-search-v201{margin-left:auto;flex:0 0 200px;max-width:220px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px;box-shadow:none;}
.navbar-v201 .public-global-search-v201 input{width:100%;min-width:0;height:34px;border:0;border-radius:999px;background:#fff;color:#111827;padding:0 12px;font-size:13px;outline:none;}
.navbar-v201 .public-global-search-v201 button{flex:0 0 36px;width:36px;height:36px;border:0;border-radius:999px;background:#d00000;color:#fff;display:grid;place-items:center;cursor:pointer;}
.navbar-v201 .submenu{z-index:60;}
@media(max-width:1240px){
  .navbar-v201 .wrap{padding-left:16px;padding-right:16px;}
  .navbar-v201 .navin-v201{gap:14px;}
  .navbar-v201 .navlinks-v201{gap:11px;}
  .navbar-v201 .navlinks-v201>a,.navbar-v201 .navlinks-v201 .menu-item>a{font-size:12px;}
  .navbar-v201 .public-global-search-v201{flex-basis:175px;}
}
@media(max-width:1040px){
  .navbar-v201 .public-global-search-v201{flex-basis:155px;}
  .navbar-v201 .navlinks-v201{gap:9px;}
  .navbar-v201 .navlinks-v201>a,.navbar-v201 .navlinks-v201 .menu-item>a{font-size:11.5px;}
}
@media(max-width:900px){
  .navbar-v201 .navin-v201{min-height:70px;justify-content:space-between;}
  .navbar-v201 .burger{display:block;flex:0 0 auto;}
  .navbar-v201 .navlinks-v201{display:none;position:absolute;left:0;right:0;top:70px;background:#0b0f17;flex-direction:column;align-items:stretch;gap:8px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);}
  .navbar-v201 .navlinks-v201.open{display:flex;}
  .navbar-v201 .navlinks-v201>a,.navbar-v201 .navlinks-v201 .menu-item>a{font-size:14px;justify-content:flex-start;padding:10px 0;min-height:42px;}
  .navbar-v201 .navlinks-v201 .menu-item{display:block;}
  .navbar-v201 .public-global-search-v201{margin-left:0;flex:1 1 auto;max-width:none;width:100%;}
  .navbar-v201 .submenu{position:static!important;display:block!important;background:#111827!important;border:0!important;box-shadow:none!important;padding:4px 0 4px 18px!important;}
}


/* V202 - Logo public plus grand et header reequilibre */
.navbar-v202 .navin-v202{min-height:78px;gap:24px;}
.navbar-v202 .logo-v202{min-width:118px;width:118px;max-width:118px;justify-content:flex-start;margin-right:12px;}
.navbar-v202 .logo-badge-v200{width:76px;height:56px;border-radius:16px;font-size:30px;letter-spacing:-1px;box-shadow:0 10px 26px rgba(0,0,0,.24);}
.navbar-v202 .site-logo-img{width:112px;max-width:112px;height:54px;max-height:54px;object-fit:contain;object-position:left center;}
.navbar-v202 .navlinks-v202{gap:16px;align-items:center;}
.navbar-v202 .navlinks-v202>a,
.navbar-v202 .navlinks-v202 .menu-item>a{min-height:38px;font-size:13px;line-height:1;}
.navbar-v202 .public-global-search-v202{flex-basis:205px;max-width:225px;margin-left:auto;}
@media(max-width:1240px){
  .navbar-v202 .logo-v202{min-width:96px;width:96px;max-width:96px;margin-right:8px;}
  .navbar-v202 .logo-badge-v200{width:68px;height:50px;font-size:27px;}
  .navbar-v202 .site-logo-img{width:92px;max-width:92px;height:48px;max-height:48px;}
  .navbar-v202 .navlinks-v202{gap:10px;}
  .navbar-v202 .public-global-search-v202{flex-basis:170px;max-width:190px;}
}
@media(max-width:1040px){
  .navbar-v202 .logo-v202{min-width:76px;width:76px;max-width:76px;margin-right:4px;}
  .navbar-v202 .logo-badge-v200{width:62px;height:48px;font-size:25px;}
  .navbar-v202 .site-logo-img{width:74px;max-width:74px;height:44px;max-height:44px;}
  .navbar-v202 .navlinks-v202{gap:8px;}
}
@media(max-width:900px){
  .navbar-v202 .navin-v202{min-height:74px;}
  .navbar-v202 .logo-v202{min-width:92px;width:92px;max-width:92px;}
  .navbar-v202 .logo-badge-v200{width:70px;height:52px;font-size:28px;}
  .navbar-v202 .site-logo-img{width:88px;max-width:88px;height:50px;max-height:50px;}
  .navbar-v202 .navlinks-v202{top:74px!important;}
  .navbar-v202 .public-global-search-v202{width:100%;max-width:none;}
}

/* V203 - taille logo reglable depuis Design global */
.navbar-v203 .navin-v203{min-height:calc(var(--site-logo-height,150px) + 24px);gap:var(--site-logo-menu-gap,24px);align-items:center;}
.navbar-v203 .logo-v203{flex:0 0 var(--site-logo-zone-width,190px);width:var(--site-logo-zone-width,190px);max-width:var(--site-logo-zone-width,190px);min-width:var(--site-logo-zone-width,190px);margin-right:0;justify-content:flex-start;overflow:visible;}
.navbar-v203 .site-logo-img{height:var(--site-logo-height,150px)!important;max-height:var(--site-logo-height,150px)!important;width:auto!important;max-width:var(--site-logo-zone-width,190px)!important;object-fit:contain;object-position:left center;}
.navbar-v203 .logo-badge-v200{width:calc(var(--site-logo-height,150px) * 1.45);height:var(--site-logo-height,150px);font-size:calc(var(--site-logo-height,150px) * .52);border-radius:18px;}
.navbar-v203 .navlinks-v203{min-width:0;flex:1;gap:14px;align-items:center;}
.navbar-v203 .public-global-search-v203{flex:0 0 210px;max-width:230px;margin-left:auto;}
@media(max-width:1100px){
  .navbar-v203 .navin-v203{min-height:calc(var(--site-logo-height-tablet,120px) + 20px);gap:calc(var(--site-logo-menu-gap,24px) * .75);}
  .navbar-v203 .logo-v203{flex-basis:calc(var(--site-logo-height-tablet,120px) * 1.35);width:calc(var(--site-logo-height-tablet,120px) * 1.35);min-width:calc(var(--site-logo-height-tablet,120px) * 1.35);max-width:calc(var(--site-logo-height-tablet,120px) * 1.35);}
  .navbar-v203 .site-logo-img{height:var(--site-logo-height-tablet,120px)!important;max-height:var(--site-logo-height-tablet,120px)!important;max-width:calc(var(--site-logo-height-tablet,120px) * 1.35)!important;}
  .navbar-v203 .logo-badge-v200{width:calc(var(--site-logo-height-tablet,120px) * 1.45);height:var(--site-logo-height-tablet,120px);font-size:calc(var(--site-logo-height-tablet,120px) * .52);}
  .navbar-v203 .public-global-search-v203{flex-basis:180px;max-width:200px;}
}
@media(max-width:850px){
  .navbar-v203 .navin-v203{min-height:calc(var(--site-logo-height-mobile,90px) + 18px);}
  .navbar-v203 .logo-v203{flex-basis:calc(var(--site-logo-height-mobile,90px) * 1.45);width:calc(var(--site-logo-height-mobile,90px) * 1.45);min-width:calc(var(--site-logo-height-mobile,90px) * 1.45);max-width:calc(var(--site-logo-height-mobile,90px) * 1.45);}
  .navbar-v203 .site-logo-img{height:var(--site-logo-height-mobile,90px)!important;max-height:var(--site-logo-height-mobile,90px)!important;max-width:calc(var(--site-logo-height-mobile,90px) * 1.45)!important;}
  .navbar-v203 .logo-badge-v200{width:calc(var(--site-logo-height-mobile,90px) * 1.45);height:var(--site-logo-height-mobile,90px);font-size:calc(var(--site-logo-height-mobile,90px) * .52);}
}
@media(max-width:760px){
  .navbar-v203 .public-global-search-v203{width:100%;max-width:none;flex-basis:auto;}
}

/* V206 - tableau de bord admin simplifie + regroupement modules */
.v206-dashboard-titlebar{align-items:flex-start}.admin-titlebar.compact{margin-bottom:14px}.admin-titlebar.compact h2{margin:0;font-size:23px}.v206-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.v206-stat-card small{display:block;margin-top:8px;color:#64748b;font-weight:750;line-height:1.35}.v206-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v206-module-card{display:block;border:1px solid #e2e8f0;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);padding:18px;text-decoration:none;color:#172033;box-shadow:0 12px 28px #1118270c;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.v206-module-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #11182718;border-color:#fecaca}.v206-module-card strong{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:14px;background:#fee2e2;color:#991b1b;font-size:15px;margin-bottom:12px;padding:0 8px}.v206-module-card span{display:block;font-weight:950;font-size:17px;margin-bottom:6px}.v206-module-card small{display:block;color:#64748b;line-height:1.4;font-weight:700}.admin-sidebar .admin-navlink.active,.admin-sidebar-tool-link.active{background:#fee2e2;color:#991b1b}.admin-sidebar-tools{display:grid;gap:8px;margin-bottom:14px}.admin-sidebar-tool-link,.admin-compact-toggle,.admin-collapse-all{border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#172033;padding:9px 12px;font-weight:900;text-align:center;text-decoration:none;cursor:pointer}.admin-nav-summary-label i{font-style:normal;min-width:24px;display:inline-block;text-align:center}@media(max-width:1180px){.v206-status-grid,.v206-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.v206-status-grid,.v206-module-grid{grid-template-columns:1fr}.v206-dashboard-titlebar{display:block}.v206-dashboard-titlebar .admin-actions{margin-top:14px}.v206-module-card{padding:16px}}


/* V207 - rapport de coherence admin/public */
.v207-report-hero .stat-card strong{font-size:1.45rem;line-height:1.15}
.v207-report-section .admin-titlebar.compact{align-items:center}
.v207-report-section .pill{vertical-align:middle;margin-left:8px}
.v207-report-table td:first-child{min-width:220px}
.v207-report-table tr.ok{background:rgba(240,253,244,.45)}
.v207-report-table tr.warn{background:rgba(255,247,237,.55)}
@media(max-width:760px){.v207-report-table td:first-child{min-width:180px}.v207-report-hero .stats-grid{grid-template-columns:1fr}}

/* V210 - Tableau de bord admin avancé */
.v210-dashboard-titlebar{align-items:flex-start;gap:18px}.v210-dashboard-titlebar h1{margin-bottom:8px}.v210-dashboard-titlebar p{max-width:860px}.v210-overall{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;background:linear-gradient(135deg,#111827,#7f1d1d);color:#fff;border:0}.v210-overall-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:950;color:#fecaca;margin-bottom:8px}.v210-overall-main strong{display:inline-block;margin-bottom:8px}.v210-overall-main p{margin:0;color:#fee2e2;font-weight:800}.v210-overall-links{display:flex;flex-wrap:wrap;gap:10px}.v210-overall .button-light{background:#fff;color:#7f1d1d;border-color:#fecaca}.v210-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.v210-badge.ok{background:#dcfce7;color:#166534}.v210-badge.warn{background:#fef3c7;color:#92400e}.v210-badge.error{background:#fee2e2;color:#991b1b}.v210-badge.na{background:#e2e8f0;color:#475569}.v210-alerts{border-color:#fed7aa;background:#fff7ed}.v210-alert-list{display:grid;gap:10px}.v210-alert-list a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #fed7aa;border-radius:16px;background:#fff;color:#172033;text-decoration:none}.v210-alert-list a:hover{border-color:#fb923c;box-shadow:0 10px 24px #9a341212}.v210-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px}.v210-summary-card{display:block;padding:18px;border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 30px #1118270c;text-decoration:none;color:#172033}.v210-summary-card:hover{border-color:#fecaca;box-shadow:0 18px 36px #11182718;transform:translateY(-1px)}.v210-summary-card b{display:block;font-size:28px;line-height:1.1;margin:12px 0 5px;color:#0f172a}.v210-summary-card strong{display:block;font-size:15px;font-weight:950;margin-bottom:8px}.v210-summary-card small{display:block;color:#64748b;font-weight:750;line-height:1.35}.v210-section{margin-bottom:22px}.v210-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v210-actions-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v210-action-card{display:block;text-decoration:none;color:#172033;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:15px;min-height:92px;box-shadow:0 10px 24px #1118270a}.v210-action-card:hover{border-color:#fecaca;background:#fff7f7}.v210-action-card.disabled{opacity:.5;pointer-events:none}.v210-action-card span{display:block;font-weight:950;margin-bottom:7px}.v210-action-card small{display:block;color:#64748b;font-weight:750;line-height:1.32}.v210-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v210-mini-card{display:block;text-decoration:none;color:#172033;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:15px}.v210-mini-card:hover{border-color:#fecaca;background:#fff7f7}.v210-mini-card b{display:block;font-size:25px;color:#b91c1c;margin-bottom:4px}.v210-mini-card span{font-weight:900;color:#475569}.v210-info-list{display:grid;gap:10px}.v210-info-list div{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid #eef2f7}.v210-info-list div:last-child{border-bottom:0}.v210-info-list span{color:#64748b;font-weight:850}.v210-info-list b{text-align:right;color:#172033;max-width:62%;overflow-wrap:anywhere}.v210-design-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v210-design-list div{display:block;border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff}.v210-design-list b{display:block;text-align:left;max-width:100%;margin-top:6px}.v210-inline-actions{margin-top:16px;gap:10px;flex-wrap:wrap}.button-light.disabled,.button-red.disabled{opacity:.5;pointer-events:none}@media(max-width:1280px){.v210-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v210-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v210-design-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.v210-two-cols{grid-template-columns:1fr}.v210-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v210-overall{display:block}.v210-overall-links{margin-top:16px}.v210-dashboard-titlebar{display:block}.v210-dashboard-titlebar .admin-actions{margin-top:14px}}@media(max-width:680px){.v210-summary-grid,.v210-actions-grid,.v210-mini-grid,.v210-design-list{grid-template-columns:1fr}.v210-summary-card b{font-size:24px}.v210-info-list div{display:block}.v210-info-list b{display:block;text-align:left;max-width:100%;margin-top:5px}.v210-overall{padding:18px}}

/* V210b - boutons tableau de bord réellement branchés */
.v210-inline-form{display:inline-flex;margin:0}.v210-inline-form button{white-space:nowrap}.v210-action-form{margin:0}.v210-action-form .v210-action-card{width:100%;height:100%;text-align:left;cursor:pointer;font-family:inherit}.v210-action-form .v210-action-card span,.v210-action-form .v210-action-card small{display:block}.v210-action-form .v210-action-card:hover{border-color:#fecaca;background:#fff7f7}.admin-actions .v210-inline-form{display:inline-flex}


/* V211 - lisibilite rapport coherence et dashboard */
.v207-report-hero .stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v207-report-hero .v211-report-stat{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center;min-height:84px;padding:18px}
.v207-report-hero .v211-report-stat span{display:block;color:#64748b;font-weight:900;line-height:1.25}
.v207-report-hero .v211-report-stat strong{display:block;font-size:28px;line-height:1.1;color:#0f172a;word-break:break-word}
.v210-summary-card small,.v210-info-list b{overflow-wrap:anywhere;word-break:break-word}
.v210-info-list b{line-height:1.35}.v210-action-card span,.v210-mini-card span{line-height:1.25}
.v210-alert-list a strong{line-height:1.3}.v210-summary-card b{overflow:hidden;text-overflow:ellipsis}
@media(max-width:980px){.v207-report-hero .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.v207-report-hero .stats-grid{grid-template-columns:1fr}.v207-report-hero .v211-report-stat strong{font-size:24px}}

/* V212 - rapports admin */
.v212-report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v212-report-card .admin-actions{justify-content:flex-start}.v212-report-hero .stat-card strong{overflow-wrap:anywhere;line-height:1.2}@media(max-width:1180px){.v212-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.v212-report-grid{grid-template-columns:1fr}.v212-report-card .admin-actions{display:grid;grid-template-columns:1fr;gap:8px}.v212-report-card form,.v212-report-card button,.v212-report-card a{width:100%}}

/* V213 — sauvegardes / espace disque */
.v213-disk-card .v210-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.v213-disk-card .v210-mini-card{min-height:92px;}
.v213-disk-card code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:2px 6px;}
.restore-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0;}
.restore-form input{border:1px solid #d8dee8;border-radius:12px;padding:9px 12px;}
.admin-alert.success{background:#ecfdf5;border:1px solid #86efac;color:#047857;border-radius:14px;padding:12px 14px;font-weight:850;}
.admin-alert.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px 14px;font-weight:850;}
.v210-badge.error{background:#fee2e2;color:#991b1b;}
@media(max-width:1280px){.v213-disk-card .v210-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.v213-disk-card .v210-mini-grid{grid-template-columns:1fr}.restore-form{display:block}.restore-form input{width:100%;min-width:0!important;margin:8px 0;}}

/* V213d - Etats visuels boutons admin/sauvegardes */
.admin-main a.button-light,
.admin-main a.button-red,
.admin-main a.button-danger,
.admin-main button.button-light,
.admin-main button.button-red,
.admin-main button.button-danger,
.admin-main .button-light,
.admin-main .button-red,
.admin-main .button-danger,
.admin-main input[type="submit"],
.admin-main input[type="button"],
.admin-main .admin-actions a,
.admin-main .admin-actions button,
.admin-main .admin-table a,
.admin-main .admin-table button {
  cursor: pointer !important;
  user-select: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.admin-main a.button-light:hover,
.admin-main button.button-light:hover,
.admin-main .button-light:hover,
.admin-main .admin-table a.button-light:hover {
  background: #fff1f2 !important;
  border-color: #fecaca !important;
  color: #991b1b !important;
  box-shadow: 0 8px 18px rgba(153,27,27,.10);
  transform: translateY(-1px);
}
.admin-main a.button-red:hover,
.admin-main button.button-red:hover,
.admin-main .button-red:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(185,28,28,.18);
  transform: translateY(-1px);
}
.admin-main a.button-danger:hover,
.admin-main button.button-danger:hover,
.admin-main .button-danger:hover,
.admin-main .admin-table button.button-danger:hover {
  background: #991b1b !important;
  border-color: #991b1b !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(153,27,27,.18);
  transform: translateY(-1px);
}
.admin-main a.button-light:active,
.admin-main a.button-red:active,
.admin-main a.button-danger:active,
.admin-main button.button-light:active,
.admin-main button.button-red:active,
.admin-main button.button-danger:active,
.admin-main .button-light:active,
.admin-main .button-red:active,
.admin-main .button-danger:active {
  transform: translateY(0);
  box-shadow: none;
}
.admin-main a.button-light:focus-visible,
.admin-main a.button-red:focus-visible,
.admin-main a.button-danger:focus-visible,
.admin-main button.button-light:focus-visible,
.admin-main button.button-red:focus-visible,
.admin-main button.button-danger:focus-visible {
  outline: 3px solid rgba(208,0,0,.22);
  outline-offset: 2px;
}
.admin-main button:disabled,
.admin-main .button-light.disabled,
.admin-main .button-red.disabled,
.admin-main .button-danger.disabled {
  cursor: not-allowed !important;
  opacity: .55;
  transform: none !important;
  box-shadow: none !important;
}

/* V214 - centre de notifications admin */
.v210-badge.info{background:#dbeafe;color:#1d4ed8}.v210-badge.alert{background:#ffedd5;color:#c2410c}.v210-badge.critical{background:#fee2e2;color:#991b1b}.v214-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.v214-notification-list{display:grid;gap:12px}.v214-notification-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;text-decoration:none;color:#172033;border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff}.v214-notification-card strong{font-size:16px}.v214-notification-card small{grid-column:2/4;color:#64748b;font-weight:750;line-height:1.35}.v214-notification-card em{font-style:normal;color:#64748b;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.v214-notification-card:hover{border-color:#fecaca;background:#fff7f7;box-shadow:0 12px 28px #11182710}.v214-notification-card.level-critical{border-color:#fecaca;background:#fff5f5}.v214-notification-card.level-alert{border-color:#fed7aa;background:#fff7ed}.v214-notification-card.level-warning{border-color:#fde68a;background:#fffbeb}.v214-filter-actions .button-light.active{background:#d00000;border-color:#d00000;color:#fff}.v214-notification-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v214-notification-mini{display:block;text-decoration:none;color:#172033;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px}.v214-notification-mini span{display:inline-flex;border-radius:999px;background:#f1f5f9;color:#334155;font-size:11px;font-weight:950;text-transform:uppercase;padding:4px 8px;margin-bottom:8px}.v214-notification-mini strong{display:block;line-height:1.25}.v214-notification-mini.level-critical{border-color:#fecaca;background:#fff5f5}.v214-notification-mini.level-alert,.v214-notification-mini.level-warning{border-color:#fed7aa;background:#fff7ed}@media(max-width:1280px){.v214-summary-grid,.v214-notification-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.v214-summary-grid,.v214-notification-strip{grid-template-columns:1fr}.v214-notification-card{grid-template-columns:1fr}.v214-notification-card small{grid-column:auto}}

/* V216 - mon compte administrateur */
.admin-account-link{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#172033;text-decoration:none;font-weight:900;font-size:12px}.admin-account-link:hover,.admin-account-link.active{background:#fff1f2;border-color:#fecaca;color:#991b1b}.admin-help{color:#64748b;font-weight:700;font-size:13px;line-height:1.35}.admin-card.soft-card{box-shadow:none;border:1px solid #e2e8f0}.admin-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#ffedd5;color:#9a3412}@media(max-width:900px){.admin-grid.two{grid-template-columns:1fr}}


/* V217c - Photos procédures et mode atelier robuste */
.procedure .content img,
.procedure .editable-page-content img,
.procedure .legacy-xml-procedure img,
.procedure .legacy-xml-procedure .img-responsive,
.procedure .procedure-webdev-photos figure.procedure-photo img,
.procedure .content figure.procedure-photo img,
.procedure .procedure-step-card img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    max-height: 520px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 16px auto !important;
    background: #f8fafc;
}
.procedure .gallery img,
.procedure .gallery video {
    width: 100% !important;
    height: auto !important;
    max-height: 420px !important;
    object-fit: contain !important;
    background: #f8fafc;
}
.workshop-page {padding-bottom: 118px;}
.workshop-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.workshop-counter{min-width:112px;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px 18px;box-shadow:0 12px 26px rgba(15,23,42,.08)}
.workshop-counter strong{display:block;font-size:2rem;line-height:1;color:#d00000}.workshop-counter span{font-weight:900;color:#64748b;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.workshop-steps{display:flex;flex-direction:column;gap:24px}.workshop-step{display:grid;grid-template-columns:minmax(260px,40%) minmax(0,1fr);gap:26px;align-items:start;margin:0;padding:22px;border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.08)}
.workshop-step.no-image{grid-template-columns:1fr}.workshop-photo{margin:0;display:flex;align-items:center;justify-content:center;min-height:220px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:12px;overflow:hidden}.workshop-photo img{width:auto!important;max-width:100%!important;height:auto!important;max-height:520px!important;object-fit:contain!important;border-radius:14px;box-shadow:none!important;margin:0 auto!important}.workshop-copy{min-width:0}.workshop-step-kicker{display:inline-flex;background:#fee2e2;color:#991b1b;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.workshop-step h2{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18;margin:0 0 14px;color:#111827}.workshop-content{font-size:1.08rem;line-height:1.85;padding:22px}.workshop-content p{margin:0 0 1rem}.workshop-content img{max-height:420px!important;object-fit:contain!important}.workshop-check{margin-top:12px;font-weight:900}.workshop-nav{position:sticky;bottom:24px;background:#111827;color:#fff;border-radius:18px;padding:12px 16px;display:flex;gap:10px;justify-content:center;z-index:40;box-shadow:0 18px 38px rgba(15,23,42,.22)}.workshop-nav button,.workshop-nav a{background:#fff;color:#111827;border:0;border-radius:999px;padding:11px 18px;font-weight:900;text-decoration:none;cursor:pointer}.workshop-empty{margin:24px 0}
@media(max-width:900px){.procedure .content img,.procedure .legacy-xml-procedure img,.procedure .legacy-xml-procedure .img-responsive,.procedure .procedure-webdev-photos figure.procedure-photo img,.procedure .content figure.procedure-photo img,.procedure .procedure-step-card img{max-height:320px!important}.workshop-head{display:block}.workshop-counter{margin:14px 0 0}.workshop-step{grid-template-columns:1fr}.workshop-photo{min-height:0}.workshop-photo img{max-height:320px!important}.workshop-content{font-size:1rem;line-height:1.75;padding:18px}.workshop-nav{bottom:12px;flex-wrap:wrap}}

/* V217e - PDF orphelins et réassociation */
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid #e5e7eb;background:#f8fafc;color:#334155}.status-ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.status-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.pdf-row-missing{background:#fff7ed}.file-mini{cursor:pointer;display:inline-flex!important}.pdf-missing-card{padding:28px!important}.pdf-missing-card h1,.pdf-missing-card h2{margin-top:0;color:#991b1b}.dashboard-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.dashboard-grid.compact .dash-card{padding:14px 16px}.dashboard-grid.compact .dash-card strong{display:block;font-size:26px}.dashboard-grid.compact .dash-card.warn{border-color:#fed7aa;background:#fff7ed}

/* V217h - liste procedures admin compacte */
.procedures-titlebar{align-items:flex-start}.procedures-filter-card{padding:16px 18px;margin-bottom:18px}.procedures-filter-form{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end}.procedures-filter-form label{display:block;font-weight:900;color:#1f2937}.procedures-filter-form label span{display:block;margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.procedures-filter-form input,.procedures-filter-form select{width:100%;min-height:38px;border:1px solid #d8dee8;border-radius:12px;background:#fff;padding:8px 10px;font-size:14px}.procedures-filter-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.procedures-filter-actions .button-red,.procedures-filter-actions .button-light{padding:9px 13px}.procedures-counter{margin:12px 0 0;color:#64748b;font-weight:800}.procedures-table-wrap{border-radius:18px}.procedures-table{min-width:1040px}.procedures-table th{font-size:11px;letter-spacing:.08em}.procedures-table th,.procedures-table td{padding:9px 10px;vertical-align:middle}.procedure-title-cell strong{display:block;max-width:520px;line-height:1.25;font-size:14px;letter-spacing:.01em}.procedure-title-cell small{display:block;margin-top:3px;color:#64748b;font-size:12px;line-height:1.2;text-transform:none;font-weight:700}.procedure-meta-cell{font-size:13px;line-height:1.25;color:#334155}.procedure-media-pill{white-space:nowrap;padding:6px 9px}.procedures-actions-cell{min-width:300px}.procedures-action-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.procedures-action-group .inline-form{display:inline-flex;margin:0}.procedures-action-group .action-mini{min-height:32px;padding:7px 10px;font-size:12px;line-height:1;border-radius:999px;white-space:nowrap}.procedures-action-group .button-danger.action-mini{background:#dc2626;border-color:#dc2626;color:#fff}@media(max-width:1180px){.procedures-filter-form{grid-template-columns:1fr 1fr}.procedures-filter-actions{grid-column:1/-1}.procedures-actions-cell{min-width:220px}}@media(max-width:760px){.procedures-filter-form{grid-template-columns:1fr}.procedures-action-group{flex-direction:column;align-items:stretch}.procedures-action-group .action-mini{width:100%}.procedures-table{min-width:900px}}

/* V217m - Finition médiathèque, mode atelier lisible et recherche tablette compacte */
.stats-grid .stat-card strong,
.media-sync-status .stat-card strong,
.media-cleanup-status .stat-card strong{
  display:block!important;
  font-size:clamp(1.9rem,3vw,2.45rem)!important;
  line-height:1.05!important;
  color:#d00000!important;
  margin:0 0 8px!important;
}
.stats-grid .stat-card span,
.media-sync-status .stat-card span,
.media-cleanup-status .stat-card span{
  display:block!important;
  line-height:1.25!important;
  color:#64748b!important;
  font-weight:850!important;
}
.media-sync-status,.media-cleanup-status{align-items:stretch}
.media-sync-status .stat-card,.media-cleanup-status .stat-card{min-width:0}
.media-sync-actions,.media-cleanup-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.media-sync-actions button,.media-cleanup-actions button{min-height:44px;padding:12px 18px;border-radius:999px;font-weight:950}

/* Recherche publique en mode tablette : pas de champ large dans le menu */
@media(max-width:1180px){
  .navbar-v201 .public-global-search-v201,
  .navbar-v202 .public-global-search-v202,
  .navbar-v203 .public-global-search-v203,
  .public-global-search-v199,
  .public-global-search-v200{
    display:none!important;
  }
  .navbar-v201 .search-navlink-v200,
  .navbar-v202 .search-navlink-v200,
  .navbar-v203 .search-navlink-v200,
  .search-navlink-v200{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .navbar-v201 .navlinks-v201,
  .navbar-v202 .navlinks-v202,
  .navbar-v203 .navlinks-v203{
    min-width:0!important;
    overflow:visible!important;
  }
}
@media(max-width:850px){
  .navbar-v201 .navlinks-v201,
  .navbar-v202 .navlinks-v202,
  .navbar-v203 .navlinks-v203{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .navbar-v201 .search-navlink-v200,
  .navbar-v202 .search-navlink-v200,
  .navbar-v203 .search-navlink-v200{
    justify-content:flex-start!important;
    width:100%!important;
  }
}

/* Menu admin/tablette : largeur stable, aucun lien ne force la sidebar */
.admin-sidebar,.admin-sidebar *{max-width:100%;box-sizing:border-box}
.admin-sidebar{overflow-x:hidden!important}
.admin-sidebar-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.admin-sidebar-tool-link,.admin-compact-toggle,.admin-collapse-all,.admin-navlink,.admin-nav-summary{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.admin-sidebar-tool-link[href$="index-recherche"]::before{content:'🔍 ';}
@media(max-width:1100px){
  .admin-shell{grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important}
  .admin-sidebar{width:100%!important;padding:16px!important}
  .admin-sidebar-tools{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .admin-sidebar-tool-link,.admin-compact-toggle,.admin-collapse-all{font-size:13px!important;padding:9px 10px!important;line-height:1.18!important;white-space:normal!important}
}
@media(max-width:900px){
  .admin-shell{display:block!important}
  .admin-sidebar{width:100%!important;border-right:0!important;border-bottom:1px solid #e5e7eb!important;box-shadow:none!important}
}

/* Mode atelier V217m : lecture tablette propre */
body.workshop-mode{background:#f3f5f8}
.workshop-page{max-width:1320px!important;padding-bottom:170px!important}
.workshop-head{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:22px 24px;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.workshop-head h1{font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.08;margin-bottom:10px;overflow:visible;white-space:normal;word-break:normal}
.workshop-steps{gap:28px!important}
.workshop-step{grid-template-columns:minmax(360px,48%) minmax(0,1fr)!important;gap:30px!important;padding:26px!important;border-radius:26px!important;align-items:stretch!important;background:#fff!important}
.workshop-step.no-image{grid-template-columns:1fr!important}
.workshop-photo{min-height:340px!important;padding:10px!important;background:#f8fafc!important}
.workshop-photo img{width:100%!important;height:100%!important;max-height:620px!important;object-fit:contain!important;border-radius:16px!important}
.workshop-copy{display:flex;flex-direction:column;min-width:0!important}
.workshop-step h2{font-size:clamp(1.35rem,2.1vw,2.15rem)!important;line-height:1.18!important;margin:0 0 12px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;hyphens:auto}
.workshop-step-kicker{align-self:flex-start;margin-bottom:12px!important}
.workshop-content{padding:16px 0 8px!important;background:transparent!important;border:0!important;font-size:clamp(1.02rem,1.25vw,1.18rem)!important;line-height:1.75!important}
.workshop-content p:last-child{margin-bottom:0!important}
.workshop-content img{max-width:100%!important;height:auto!important;max-height:460px!important;object-fit:contain!important}
.workshop-step .procedure-step-tools-inline{position:static!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;gap:10px!important;margin-top:14px!important;padding:10px!important;border-radius:16px!important;background:#fff7ed!important}
.workshop-step .procedure-step-tools-inline>strong{grid-column:1/-1;margin-bottom:0!important}
.workshop-step .procedure-step-tool-card{margin:0!important;border-radius:12px!important;overflow:hidden!important}
.workshop-step .procedure-step-tool-card img{height:86px!important;object-fit:contain!important;background:#fff!important;padding:4px!important}
.workshop-step .procedure-step-tool-card figcaption{font-size:.85rem!important;padding:7px 8px 2px!important;line-height:1.2!important}
.workshop-step .procedure-step-tool-card small{font-size:.75rem!important;padding:0 8px 7px!important}
.workshop-check{margin-top:auto!important;padding-top:14px!important}
.workshop-nav{position:sticky!important;bottom:18px!important;margin:28px auto 12px!important;max-width:820px!important;z-index:80!important;flex-wrap:wrap!important}
body.workshop-mode footer{position:static!important;margin-top:24px!important}
@media(max-width:980px){
  .workshop-page{padding-left:14px!important;padding-right:14px!important;padding-bottom:190px!important}
  .workshop-step{grid-template-columns:1fr!important;padding:18px!important;gap:18px!important}
  .workshop-photo{min-height:0!important}
  .workshop-photo img{max-height:430px!important}
  .workshop-head{padding:18px!important}
  .workshop-content{font-size:1rem!important;line-height:1.7!important}
  .workshop-nav{bottom:10px!important;border-radius:16px!important;padding:10px!important}
  .workshop-nav button,.workshop-nav a{flex:1 1 150px;text-align:center;padding:12px 14px!important}
}
@media(max-width:560px){
  .workshop-photo img{max-height:340px!important}
  .workshop-step .procedure-step-tools-inline{grid-template-columns:1fr 1fr!important}
}



/* V217n - Correction finale mode atelier : footer non recouvrant + étapes compactes */
body.workshop-mode{
  padding-bottom:0!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
}
body.workshop-mode #p911-site-footer,
body.workshop-mode footer,
body.workshop-mode footer.site-footer-fixed,
body.workshop-mode footer.site-footer-fixed.footer-two-lines,
body.workshop-mode footer.site-footer-fixed.footer-centered-final,
body.workshop-mode footer.site-footer-fixed.footer-two-lines.footer-centered-final{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:54px!important;
  z-index:1!important;
  margin-top:34px!important;
  transform:none!important;
}
body.workshop-mode .workshop-page{
  padding-bottom:34px!important;
  max-width:1320px!important;
}
body.workshop-mode .workshop-steps{
  gap:24px!important;
}
body.workshop-mode .workshop-step{
  display:grid!important;
  grid-template-columns:minmax(360px,46%) minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.workshop-mode .workshop-step.no-image{
  grid-template-columns:1fr!important;
}
body.workshop-mode .workshop-photo,
body.workshop-mode .workshop-copy{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:22px!important;
  box-shadow:0 14px 32px rgba(15,23,42,.07)!important;
}
body.workshop-mode .workshop-photo{
  min-height:0!important;
  height:auto!important;
  padding:12px!important;
  align-self:start!important;
}
body.workshop-mode .workshop-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:440px!important;
  object-fit:contain!important;
  border-radius:16px!important;
  margin:0 auto!important;
}
body.workshop-mode .workshop-copy{
  align-self:start!important;
  padding:24px 26px 20px!important;
  min-height:0!important;
  height:auto!important;
}
body.workshop-mode .workshop-step h2{
  margin:0 0 12px!important;
  font-size:clamp(1.35rem,2vw,2.05rem)!important;
  line-height:1.16!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
body.workshop-mode .workshop-content{
  padding:0!important;
  margin:0 0 12px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:clamp(1rem,1.15vw,1.12rem)!important;
  line-height:1.65!important;
}
body.workshop-mode .workshop-content p{
  margin:0 0 .8rem!important;
}
body.workshop-mode .workshop-content p:last-child{
  margin-bottom:0!important;
}
body.workshop-mode .workshop-check{
  margin:10px 0 0!important;
  padding:0!important;
  align-self:flex-start!important;
}
body.workshop-mode .workshop-step .procedure-step-tools-inline{
  margin:12px 0 10px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  box-shadow:none!important;
}
body.workshop-mode .workshop-step .procedure-step-tool-card img{
  height:74px!important;
  max-height:74px!important;
  object-fit:contain!important;
}
body.workshop-mode .workshop-nav{
  position:sticky!important;
  bottom:0!important;
  z-index:120!important;
  margin:28px auto 0!important;
  max-width:820px!important;
  padding:12px!important;
  border-radius:18px 18px 0 0!important;
  background:#111827!important;
  box-shadow:0 -10px 28px rgba(15,23,42,.20)!important;
}
body.workshop-mode .workshop-nav button,
body.workshop-mode .workshop-nav a{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:980px){
  body.workshop-mode .workshop-page{padding:18px 14px 26px!important;}
  body.workshop-mode .workshop-step{grid-template-columns:1fr!important;gap:14px!important;}
  body.workshop-mode .workshop-photo img{max-height:380px!important;}
  body.workshop-mode .workshop-copy{padding:20px 18px 18px!important;}
  body.workshop-mode .workshop-nav{bottom:0!important;margin-top:22px!important;}
  body.workshop-mode .workshop-nav button,
  body.workshop-mode .workshop-nav a{flex:1 1 150px!important;}
}
@media(max-width:560px){
  body.workshop-mode .workshop-head h1{font-size:clamp(1.7rem,8vw,2.3rem)!important;}
  body.workshop-mode .workshop-photo img{max-height:310px!important;}
  body.workshop-mode .workshop-copy{padding:18px 15px 16px!important;}
  body.workshop-mode .workshop-nav{display:grid!important;grid-template-columns:1fr!important;border-radius:16px 16px 0 0!important;}
}


/* V217o - Header public responsive tablette + atelier navigation continue */
html,body{max-width:100%;overflow-x:hidden;}
@media(max-width:1180px){
  .navbar,
  .navbar-v200,
  .navbar-v201,
  .navbar-v202,
  .navbar-v203{z-index:80!important;}
  .navbar .wrap,
  .navbar-v200 .wrap,
  .navbar-v201 .wrap,
  .navbar-v202 .wrap,
  .navbar-v203 .wrap{max-width:100%!important;}
  .navbar-v200 .navin-v200,
  .navbar-v201 .navin-v201,
  .navbar-v202 .navin-v202,
  .navbar-v203 .navin-v203,
  .navin{min-height:78px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;position:relative!important;overflow:visible!important;}
  .navbar-v200 .logo-v200,
  .navbar-v201 .logo-v201,
  .navbar-v202 .logo-v202,
  .navbar-v203 .logo-v203,
  .logo{flex:0 1 auto!important;min-width:0!important;width:auto!important;max-width:calc(100vw - 100px)!important;margin-right:0!important;overflow:visible!important;}
  .navbar-v200 .site-logo-img,
  .navbar-v201 .site-logo-img,
  .navbar-v202 .site-logo-img,
  .navbar-v203 .site-logo-img,
  .site-logo-img{height:auto!important;max-height:72px!important;width:auto!important;max-width:170px!important;object-fit:contain!important;}
  .navbar-v200 .logo-badge-v200,
  .navbar-v201 .logo-badge-v200,
  .navbar-v202 .logo-badge-v200,
  .navbar-v203 .logo-badge-v200,
  .logo-badge-v200{width:72px!important;height:54px!important;font-size:28px!important;border-radius:14px!important;}
  .burger{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin-left:auto!important;min-width:48px!important;min-height:44px!important;border-radius:12px!important;line-height:1!important;position:relative!important;z-index:100!important;}
  .navbar-v200 .navlinks-v200,
  .navbar-v201 .navlinks-v201,
  .navbar-v202 .navlinks-v202,
  .navbar-v203 .navlinks-v203,
  .navlinks{display:none!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;max-width:100vw!important;min-width:0!important;background:#0b0f17!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:6px!important;padding:14px 18px 18px!important;border-top:1px solid rgba(255,255,255,.12)!important;box-shadow:0 24px 48px rgba(0,0,0,.35)!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:calc(100vh - 78px)!important;}
  .navbar-v200 .navlinks-v200.open,
  .navbar-v201 .navlinks-v201.open,
  .navbar-v202 .navlinks-v202.open,
  .navbar-v203 .navlinks-v203.open,
  .navlinks.open{display:flex!important;}
  .navbar-v200 .navlinks-v200>a,
  .navbar-v201 .navlinks-v201>a,
  .navbar-v202 .navlinks-v202>a,
  .navbar-v203 .navlinks-v203>a,
  .navbar-v200 .navlinks-v200 .menu-item>a,
  .navbar-v201 .navlinks-v201 .menu-item>a,
  .navbar-v202 .navlinks-v202 .menu-item>a,
  .navbar-v203 .navlinks-v203 .menu-item>a,
  .navlinks>a,
  .navlinks .menu-item>a{width:100%!important;max-width:100%!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;font-size:14px!important;padding:10px 8px!important;line-height:1.25!important;border-radius:12px!important;}
  .search-navlink-v200::before{content:'🔍 ';margin-right:4px;}
  .adminlink::before{content:'⚙ ';margin-right:4px;}
  .navbar-v200 .public-global-search-v200,
  .navbar-v201 .public-global-search-v201,
  .navbar-v202 .public-global-search-v202,
  .navbar-v203 .public-global-search-v203,
  .public-global-search-v199{display:none!important;}
  .navbar-v200 .submenu,
  .navbar-v201 .submenu,
  .navbar-v202 .submenu,
  .navbar-v203 .submenu,
  .submenu{position:static!important;display:block!important;width:100%!important;min-width:0!important;box-shadow:none!important;border:0!important;background:#111827!important;padding:4px 0 4px 16px!important;}
  .topbar .top{gap:6px!important;padding-top:8px!important;padding-bottom:8px!important;}
}
@media(max-width:760px){
  .navbar-v200 .site-logo-img,
  .navbar-v201 .site-logo-img,
  .navbar-v202 .site-logo-img,
  .navbar-v203 .site-logo-img,
  .site-logo-img{max-height:60px!important;max-width:145px!important;}
  .topbar{font-size:12px!important;}
}
@media(min-width:1181px){
  .navbar-v203 .navlinks-v203{overflow:visible!important;}
}

/* Atelier V217o : lecture continue, pas de barre flottante recouvrante */
body.workshop-mode .workshop-page{padding-bottom:34px!important;}
body.workshop-mode .workshop-step h2{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
}
body.workshop-mode .workshop-copy{overflow:visible!important;}
body.workshop-mode .workshop-nav,
body.workshop-mode .workshop-nav.workshop-nav-continuous{
  position:static!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:1!important;
  margin:32px auto 18px!important;
  padding:0!important;
  max-width:100%!important;
  background:transparent!important;
  color:#111827!important;
  box-shadow:none!important;
  border-radius:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  justify-content:center!important;
  align-items:center!important;
}
body.workshop-mode .workshop-nav button,
body.workshop-mode .workshop-nav a{
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  border:1px solid #d8dee8!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08)!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.workshop-mode .workshop-nav .workshop-action-primary,
body.workshop-mode .workshop-nav a:first-child{
  background:#d00000!important;
  border-color:#d00000!important;
  color:#fff!important;
}
body.workshop-mode .workshop-nav button:hover,
body.workshop-mode .workshop-nav a:hover{filter:brightness(.98);transform:translateY(-1px);}
body.workshop-mode footer{position:relative!important;bottom:auto!important;margin-top:28px!important;}
@media(max-width:980px){
  body.workshop-mode .workshop-page{padding-bottom:24px!important;}
  body.workshop-mode .workshop-nav{display:grid!important;grid-template-columns:1fr!important;margin-top:22px!important;}
  body.workshop-mode .workshop-nav button,
  body.workshop-mode .workshop-nav a{width:100%!important;text-align:center!important;}
}

/* V217z-scroll-admin : menu admin et page principale defilent separement */
@media (min-width:981px){
  body.admin-body{
    height:100vh!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:72px!important;
    z-index:1000!important;
  }
  body.admin-body .admin-shell{
    display:grid!important;
    grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;
    height:calc(100vh - 72px)!important;
    min-height:0!important;
    margin-top:72px!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-sidebar{
    position:relative!important;
    height:calc(100vh - 72px)!important;
    max-height:calc(100vh - 72px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding-bottom:32px!important;
  }
  body.admin-body .admin-main{
    height:calc(100vh - 72px)!important;
    max-height:calc(100vh - 72px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    max-width:none!important;
    width:100%!important;
    scroll-behavior:smooth!important;
  }
}
@media (max-width:980px){
  body.admin-body{
    height:auto!important;
    overflow:auto!important;
  }
  body.admin-body .admin-topbar{
    position:sticky!important;
    top:0!important;
  }
  body.admin-body .admin-shell{
    height:auto!important;
    margin-top:0!important;
    overflow:visible!important;
  }
  body.admin-body .admin-sidebar,
  body.admin-body .admin-main{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* V217z-admin-layout-fix-final : correction affichage admin sans double decalage */
@media (min-width:981px){
  body.admin-body{
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding-top:0!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:72px!important;
    min-height:72px!important;
    z-index:1000!important;
  }
  body.admin-body .admin-shell{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:grid!important;
    grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-top:0!important;
    padding-top:0!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-sidebar{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding:18px 18px 32px!important;
  }
  body.admin-body .admin-main{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    max-width:none!important;
    width:100%!important;
    padding:24px 28px 40px!important;
    scroll-behavior:smooth!important;
  }
  body.admin-body .admin-titlebar{margin-top:0!important;}
}
@media (max-width:980px){
  html{height:auto!important;overflow:auto!important;}
  body.admin-body{
    height:auto!important;
    min-height:100vh!important;
    padding-top:0!important;
    overflow:auto!important;
  }
  body.admin-body .admin-topbar{
    position:sticky!important;
    top:0!important;
  }
  body.admin-body .admin-shell{
    position:static!important;
    display:block!important;
    height:auto!important;
    margin-top:0!important;
    overflow:visible!important;
  }
  body.admin-body .admin-sidebar,
  body.admin-body .admin-main{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* V217z-admin-marges-compactes : suppression des grandes marges haut/bas admin */
@media (min-width:981px){
  body.admin-body{
    height:100vh!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:72px!important;
    min-height:72px!important;
    z-index:1000!important;
  }
  body.admin-body .admin-shell,
  body.admin-body.admin-compact .admin-shell{
    position:fixed!important;
    top:72px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:grid!important;
    grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-sidebar,
  body.admin-body.admin-compact .admin-sidebar{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px 12px 16px!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-body .admin-main,
  body.admin-body.admin-compact .admin-main{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:12px 24px 18px!important;
    scroll-behavior:smooth!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-body .admin-main > :first-child{margin-top:0!important;}
  body.admin-body .breadcrumb{margin-top:0!important;margin-bottom:12px!important;}
  body.admin-body .admin-titlebar{margin-top:0!important;margin-bottom:14px!important;}
  body.admin-body .admin-card,
  body.admin-body .admin-table-wrap{margin-bottom:14px!important;}
  body.admin-body .admin-grid{gap:14px!important;}
}
@media (max-width:980px){
  html{height:auto!important;overflow:auto!important;}
  body.admin-body{height:auto!important;min-height:100vh!important;padding:0!important;overflow:auto!important;}
  body.admin-body .admin-topbar{position:sticky!important;top:0!important;}
  body.admin-body .admin-shell{position:static!important;display:block!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;}
  body.admin-body .admin-sidebar,
  body.admin-body .admin-main{height:auto!important;max-height:none!important;overflow:visible!important;}
}

/* V217z-admin-sidebar-compact-final : menu gauche compact, sans grandes marges haut/bas */
@media (min-width:981px){
  body.admin-body .admin-sidebar,
  body.admin-body.admin-compact .admin-sidebar{
    padding:0 10px 8px!important;
  }
  body.admin-body .admin-sidebar > :first-child{
    margin-top:0!important;
  }
  body.admin-body .admin-user{
    margin:0 0 8px!important;
    padding:10px 12px!important;
    border-radius:14px!important;
  }
  body.admin-body .admin-user small{
    margin-top:2px!important;
  }
  body.admin-body .admin-account-link{
    margin-top:8px!important;
    padding:8px 10px!important;
    min-height:0!important;
    line-height:1.15!important;
  }
  body.admin-body .admin-sidebar-tools{
    gap:6px!important;
    margin:0 0 8px!important;
  }
  body.admin-body .admin-sidebar-tool-link,
  body.admin-body .admin-compact-toggle,
  body.admin-body .admin-collapse-all{
    padding:8px 10px!important;
    min-height:0!important;
    line-height:1.15!important;
    border-radius:14px!important;
    margin:0!important;
  }
  body.admin-body .admin-dashboard-link{
    margin:4px 0 8px!important;
    padding:9px 12px!important;
    min-height:0!important;
    line-height:1.15!important;
  }
  body.admin-body .admin-nav-accordion{
    margin:0!important;
  }
  body.admin-body .admin-nav-group{
    margin:0 0 6px!important;
  }
  body.admin-body .admin-nav-summary{
    padding:8px 10px!important;
    min-height:0!important;
    line-height:1.15!important;
    border-radius:14px!important;
  }
  body.admin-body .admin-nav-panel{
    padding:4px 0 6px!important;
  }
  body.admin-body .admin-nav-panel .admin-navlink{
    margin:2px 0!important;
    padding:7px 12px!important;
    min-height:0!important;
    line-height:1.18!important;
    border-radius:12px!important;
  }
  body.admin-body .admin-sidebar .admin-navlink.accent{
    margin:6px 0 0!important;
    padding:9px 12px!important;
  }
}

/* V217z-sidebar-fixed-definitif : positionnement direct du menu gauche et du contenu */
@media (min-width:981px){
  body.admin-body{
    height:100vh!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.admin-body .admin-topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:72px!important;
    min-height:72px!important;
    z-index:3000!important;
  }
  body.admin-body .admin-shell,
  body.admin-body.admin-compact .admin-shell{
    display:block!important;
    position:static!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.admin-body .admin-sidebar,
  body.admin-body.admin-compact .admin-sidebar{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    bottom:0!important;
    width:260px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:6px 10px 10px!important;
    margin:0!important;
    box-sizing:border-box!important;
    z-index:2500!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-body .admin-main,
  body.admin-body.admin-compact .admin-main{
    position:fixed!important;
    top:72px!important;
    left:260px!important;
    right:0!important;
    bottom:0!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:12px 24px 18px!important;
    box-sizing:border-box!important;
    scroll-behavior:smooth!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-body .admin-sidebar > *:first-child,
  body.admin-body .admin-main > *:first-child{margin-top:0!important;}
  body.admin-body .admin-user{margin:0 0 7px!important;padding:8px 10px!important;border-radius:13px!important;}
  body.admin-body .admin-user small{display:none!important;}
  body.admin-body .admin-account-link{margin-top:6px!important;padding:7px 9px!important;}
  body.admin-body .admin-sidebar-tools{gap:5px!important;margin:0 0 7px!important;}
  body.admin-body .admin-sidebar-tools button,
  body.admin-body .admin-sidebar-tool-link{padding:7px 9px!important;margin:0!important;border-radius:13px!important;line-height:1.1!important;min-height:0!important;}
  body.admin-body .admin-dashboard-link{margin:3px 0 7px!important;padding:8px 10px!important;}
  body.admin-body .admin-nav-group{margin:0 0 5px!important;}
  body.admin-body .admin-nav-summary{padding:7px 9px!important;min-height:0!important;border-radius:13px!important;line-height:1.1!important;}
  body.admin-body .admin-nav-panel{padding:3px 0 5px!important;}
  body.admin-body .admin-nav-panel .admin-navlink{margin:1px 0!important;padding:6px 10px!important;border-radius:11px!important;line-height:1.15!important;min-height:0!important;}
}


/* V217z-public-scroll-restore */
@media (min-width:981px){
  body:not(.admin-body){
    height:auto!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    position:relative!important;
  }
}

/* V217z-public-header-fixed-final : menu public toujours visible au defilement */
@media (min-width:981px){
  body:not(.admin-body){
    padding-top:138px!important;
    height:auto!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body:not(.admin-body) .topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:38px!important;
    min-height:38px!important;
    z-index:5000!important;
    background:#05070b!important;
  }
  body:not(.admin-body) .topbar .top{
    height:38px!important;
    min-height:38px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-items:center!important;
  }
  body:not(.admin-body) .navbar,
  body:not(.admin-body) .navbar-v200,
  body:not(.admin-body) .navbar-v201,
  body:not(.admin-body) .navbar-v202,
  body:not(.admin-body) .navbar-v203{
    position:fixed!important;
    top:38px!important;
    left:0!important;
    right:0!important;
    height:100px!important;
    min-height:100px!important;
    z-index:4999!important;
    background:rgba(11,15,23,.98)!important;
    backdrop-filter:blur(10px)!important;
  }
  body:not(.admin-body) .navin,
  body:not(.admin-body) .navin-v200,
  body:not(.admin-body) .navin-v201,
  body:not(.admin-body) .navin-v202,
  body:not(.admin-body) .navin-v203{
    height:100px!important;
    min-height:100px!important;
    align-items:center!important;
  }
  body:not(.admin-body) .page,
  body:not(.admin-body) main.page{
    padding-top:36px!important;
  }
}

@media (max-width:980px){
  body:not(.admin-body){
    padding-top:0!important;
    overflow-y:auto!important;
  }
}

/* V217z - Zoom photos procedures au survol souris */
@media (hover:hover) and (pointer:fine) and (min-width:901px){
  .procedure .legacy-xml-procedure,
  .procedure .legacy-xml-procedure .row,
  .procedure .legacy-xml-procedure .col,
  .procedure .legacy-xml-procedure div,
  .procedure .content,
  .procedure .content figure.procedure-photo,
  .procedure .procedure-step-card,
  .procedure .procedure-webdev-photos,
  .procedure .procedure-webdev-photos figure.procedure-photo{
    overflow:visible!important;
  }

  .procedure .content figure.procedure-photo img,
  .procedure .legacy-xml-procedure img,
  .procedure .legacy-xml-procedure .img-responsive,
  .procedure .procedure-webdev-photos figure.procedure-photo img,
  .procedure .procedure-step-card img{
    cursor:zoom-in!important;
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease!important;
    transform-origin:center center!important;
    position:relative!important;
    z-index:2!important;
    max-height:620px!important;
  }

  .procedure .content figure.procedure-photo img:hover,
  .procedure .legacy-xml-procedure img:hover,
  .procedure .legacy-xml-procedure .img-responsive:hover,
  .procedure .procedure-webdev-photos figure.procedure-photo img:hover,
  .procedure .procedure-step-card img:hover{
    transform:scale(1.65)!important;
    z-index:9999!important;
    box-shadow:0 24px 70px rgba(15,23,42,.36)!important;
    background:#fff!important;
    filter:contrast(1.03) saturate(1.04)!important;
  }
}

@media (max-width:900px){
  .procedure .content figure.procedure-photo img,
  .procedure .legacy-xml-procedure img,
  .procedure .legacy-xml-procedure .img-responsive,
  .procedure .procedure-webdev-photos figure.procedure-photo img,
  .procedure .procedure-step-card img{
    cursor:default!important;
    transform:none!important;
  }
}


/* V217z - audit UI global : etats boutons, textes longs, alignements */
:root{--p911-ui-focus:rgba(208,0,0,.28);}
.button,.button-red,.button-light,.button-danger,.btn,.btn-primary,.btn-secondary,.btn-danger,
button:not(.tox-button):not(.tox-tbtn):not(.tox-mbtn),
input[type=submit],input[type=button],input[type=reset],
a.button,a.button-red,a.button-light,a.button-danger{
  cursor:pointer;
  user-select:none;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease,opacity .16s ease;
}
.button:hover:not(:disabled),.button-red:hover:not(:disabled),.button-light:hover:not(:disabled),.button-danger:hover:not(:disabled),
.btn:hover:not(:disabled),input[type=submit]:hover:not(:disabled),input[type=button]:hover:not(:disabled),
a.button:hover,a.button-red:hover,a.button-light:hover,a.button-danger:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}
.button:active:not(:disabled),.button-red:active:not(:disabled),.button-light:active:not(:disabled),.button-danger:active:not(:disabled),
.btn:active:not(:disabled),input[type=submit]:active:not(:disabled),input[type=button]:active:not(:disabled){
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(15,23,42,.10);
}
.button:focus-visible,.button-red:focus-visible,.button-light:focus-visible,.button-danger:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:3px solid var(--p911-ui-focus)!important;
  outline-offset:3px!important;
}
button:disabled,input[type=submit]:disabled,input[type=button]:disabled,.is-disabled,.is-loading{
  opacity:.64!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  transform:none!important;
}
.is-loading,button.is-loading,input.is-loading{cursor:wait!important;}
.admin-actions,.form-action-bottom,.card-actions,.ai-direct-actions,.compact-bulk-buttons,.media-sync-actions,.procedure-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.inline-form{display:inline-flex;align-items:center;gap:8px;margin:0;}
.admin-table td,.admin-table th,.admin-card,.card,.procedure-card,.procedure-step-card{
  overflow-wrap:anywhere;
  word-break:normal;
}
.admin-table td a,.admin-table td strong,.procedure-card h2,.procedure-card h3,.card h2,.card h3,.admin-card h2,.admin-card h3,.admin-navlink,.admin-sidebar-tool-link{
  overflow-wrap:anywhere;
  hyphens:auto;
}
.admin-table{table-layout:auto;width:100%;}
.admin-table-wrap{overflow-x:auto;}
.admin-breadcrumb,.procedure-card p,.card p,.admin-titlebar p{overflow-wrap:anywhere;}
input,select,textarea{max-width:100%;box-sizing:border-box;}
@media (min-width:981px){
  body.admin-body .admin-sidebar{padding-bottom:28px!important;}
  body.admin-body .admin-navlink.accent{position:static!important;margin:8px 0 14px!important;display:flex!important;justify-content:center!important;}
}
@media (max-width:980px){
  .admin-actions,.form-action-bottom,.card-actions,.ai-direct-actions,.compact-bulk-buttons,.media-sync-actions,.procedure-actions{align-items:stretch;}
  .admin-actions>a,.admin-actions>button,.admin-actions>form,.form-action-bottom>a,.form-action-bottom>button,.form-action-bottom>form{max-width:100%;}
}

/* V217z - Typographie rationnelle et anti-debordements globaux */
:root{
  --p911-font-ui: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --p911-text-size: 15.5px;
  --p911-admin-text-size: 14px;
  --p911-line: 1.55;
  --p911-title-line: 1.14;
}
*,*::before,*::after{box-sizing:border-box;min-width:0;}
html{font-size:16px;}
body{font-family:var(--p911-font-ui)!important;font-size:var(--p911-text-size);line-height:var(--p911-line);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.admin-body{font-size:var(--p911-admin-text-size)!important;line-height:1.45!important;}

/* Titres : tailles progressives et lisibles, sans effet massif ni coupure */
h1,.h1{font-size:clamp(2rem,3.2vw,3.2rem);line-height:var(--p911-title-line);letter-spacing:-.035em;overflow-wrap:anywhere;}
h2,.h2{font-size:clamp(1.35rem,2.1vw,2.05rem);line-height:1.18;letter-spacing:-.02em;overflow-wrap:anywhere;}
h3,.h3{font-size:clamp(1.08rem,1.45vw,1.35rem);line-height:1.25;overflow-wrap:anywhere;}
.admin-titlebar h1{font-size:clamp(1.65rem,2.2vw,2.15rem)!important;line-height:1.16!important;}
.admin-card h2,.admin-card h3{line-height:1.22!important;}

/* Textes longs : pas de troncature dure sauf zones explicitement prevues */
p,li,td,th,small,label,span,strong,div{overflow-wrap:break-word;}
.content,.procedure .content,.admin-card,.card,.media-card,.doc-card,.doc-tile,.procedure-card{overflow-wrap:break-word;word-break:normal;}
.content p,.procedure .content p,.procedure .content li{line-height:1.62;}

/* Administration : tableaux, cartes et listes plus compactes et stables */
.admin-table th{font-size:12px!important;line-height:1.25!important;white-space:normal!important;}
.admin-table td{font-size:14px!important;line-height:1.42!important;vertical-align:top!important;}
.admin-table td code,.admin-table td pre{white-space:pre-wrap;word-break:break-word;}
.admin-table-wrap{max-width:100%;overflow-x:auto!important;}
.stat-card b{font-size:clamp(1.55rem,2.3vw,2.25rem)!important;line-height:1.05!important;}
.stat-card span,.stat-card small{line-height:1.35!important;}
.admin-form input,.admin-form textarea,.admin-form select,input,textarea,select{font:inherit;line-height:1.35;}

/* Menu admin : taille uniforme, pas de chevauchement, libelles lisibles */
body.admin-body .admin-sidebar{font-size:13px!important;}
body.admin-body .admin-nav-summary,body.admin-body .admin-navlink,body.admin-body .admin-sidebar-tool-link{font-size:13px!important;line-height:1.22!important;white-space:normal!important;overflow-wrap:break-word!important;}
body.admin-body .admin-user strong{font-size:13px!important;}
body.admin-body .admin-user,.admin-sidebar-tools,.admin-nav-group{max-width:100%;}

/* Mediatheque : cartes moins etroites, textes d'utilisation lisibles, champs sans debordement */
.media-library-grid,.media-admin-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:18px!important;align-items:start!important;}
.media-card,.media-admin-item{overflow:hidden!important;}
.media-card h3,.media-admin-caption{font-size:13px!important;line-height:1.3!important;}
.media-usage-box{font-size:12.5px!important;line-height:1.36!important;max-height:260px!important;overflow:auto!important;overscroll-behavior:contain!important;}
.media-usage-box li{margin-bottom:6px!important;}
.media-path-readable,.copy-field,.media-card input,.media-card textarea{width:100%!important;max-width:100%!important;font-size:12px!important;line-height:1.28!important;}
.media-thumb{height:150px!important;}
.media-thumb img,.media-thumb video{object-fit:contain!important;}

/* Nettoyage mediatheque : colonnes et actions stables */
.media-cleanup-table,.cleanup-table{width:100%;table-layout:auto;}
.media-cleanup-table td,.media-cleanup-table th,.cleanup-table td,.cleanup-table th{font-size:13.5px;line-height:1.38;vertical-align:top;}
.media-cleanup-actions,.repair-actions,.cleanup-actions{gap:9px!important;}
.media-cleanup-actions button,.repair-actions button,.cleanup-actions button{white-space:normal!important;line-height:1.2!important;}

/* Public : cartes procedures et listes, police reguliere et hauteur stable */
.procedure-card h2,.procedure-card h3,.card h2,.card h3{font-size:clamp(1.05rem,1.35vw,1.35rem)!important;line-height:1.25!important;}
.procedure-card p,.card p{font-size:clamp(.92rem,1vw,1rem)!important;line-height:1.5!important;}
.cards,.procedure-grid,.procedures-grid{align-items:stretch;}
.procedure-card,.card{overflow:hidden;}

/* Procedures : texte technique plus lisible et photos plus presentes */
.procedure .content{font-size:16px!important;line-height:1.62!important;}
.legacy-xml-procedure{font-size:16px!important;line-height:1.6!important;}
.legacy-xml-procedure .alert,.legacy-xml-procedure .alert-info,.legacy-xml-procedure .alert-warning,.legacy-xml-procedure .alert-danger,.legacy-xml-procedure .alert-success,
.content .procedure-step-text,.content .procedure-webdev-text,.content .procedure-linear-text{font-size:16px!important;line-height:1.58!important;font-weight:650!important;}
.legacy-xml-procedure .row{gap:24px!important;}
.procedure .content img,.legacy-xml-procedure img,.procedure-step-card img{max-width:100%;height:auto;}

/* Formulaires et boutons : texte centre, pas de libelle coupe */
.button,.button-red,.button-light,.button-danger,.btn,button,input[type=submit],input[type=button],input[type=reset]{line-height:1.2!important;white-space:normal;text-align:center;}
select,option{font-size:14px;}

@media (min-width:981px){
  body.admin-body .admin-main{padding:14px 28px 22px!important;}
  .procedure .wrap,.wrap{max-width:min(1280px,calc(100vw - 48px));}
}
@media (max-width:980px){
  body{font-size:15px;}
  .media-library-grid,.media-admin-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;}
  .admin-table td{font-size:13px!important;}
  h1,.h1{font-size:clamp(1.8rem,7vw,2.45rem);}
}
@media (max-width:640px){
  .media-library-grid,.media-admin-grid{grid-template-columns:1fr!important;}
  .media-usage-box{max-height:180px!important;}
  .procedure .content,.legacy-xml-procedure{font-size:15px!important;}
}

/* V218 - Audit qualite interface : lisibilite et debordements */
:root{
  --p911-ui-radius:18px;
  --p911-ui-gap:16px;
}
.admin-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.compact-actions{gap:8px!important;flex-wrap:wrap!important;}
.compact-stats{gap:12px!important;}
.stat-mini{padding:14px 16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;display:flex;flex-direction:column;gap:4px;min-width:0;}
.stat-mini b{font-size:clamp(1.35rem,2vw,2rem);line-height:1;color:#d00000;}
.stat-mini span{font-size:13px;font-weight:800;color:#64748b;}
.ui-audit-table td:nth-child(3),.ui-audit-table td:nth-child(6){max-width:360px;}
.ui-audit-table code{white-space:pre-wrap;word-break:break-word;font-size:12px;}
.admin-card,.admin-table-wrap,.procedure-card,.card,.doc-card,.media-card{min-width:0;}
.admin-actions,.button-row,.form-actions,.bulk-actions,.media-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.admin-actions>*{min-width:0;}
.button,.button-red,.button-light,.button-danger,.btn,button,input[type=submit],input[type=button],input[type=reset]{min-height:38px;align-items:center;justify-content:center;}
button:disabled,.button.disabled,.btn.disabled,[aria-disabled="true"]{opacity:.62!important;cursor:not-allowed!important;filter:grayscale(.12);}
@media (min-width:981px){
  .admin-main .admin-titlebar{margin-bottom:18px;}
  .admin-main .admin-card{border-radius:var(--p911-ui-radius);}
  .procedure-card h2,.procedure-card h3{min-height:0!important;}
}
@media (max-width:760px){
  .admin-card-title-row{display:block;}
  .admin-card-title-row .admin-actions{margin-top:12px;}
  .ui-audit-table td:nth-child(3),.ui-audit-table td:nth-child(6){max-width:220px;}
}

/* V218b - alignement administration et boutons d'action */
@media (min-width:981px){
  body.admin-login-body{
    min-height:100vh!important;
    display:grid!important;
    place-items:center!important;
    overflow:auto!important;
    margin:0!important;
    padding:24px!important;
    box-sizing:border-box!important;
  }
  body.admin-login-body .login-main{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.admin-login-body .login-panel{
    width:min(460px,calc(100vw - 48px))!important;
    max-width:460px!important;
    margin:0 auto!important;
  }
}
.admin-table .button-light,
.admin-table .button-danger,
.admin-table .button-red,
.admin-table button,
.admin-table input[type=submit],
.admin-table input[type=button]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.12!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  min-width:84px!important;
  min-height:38px!important;
  padding:9px 14px!important;
}
.admin-table td:last-child,
.admin-table .actions,
.admin-table .admin-table-actions-cell{
  white-space:nowrap!important;
}
.admin-table .admin-table-actions-stack,
.admin-table .procedures-action-group,
.admin-table .admin-inline-actions{
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
@media (max-width:760px){
  .admin-table .button-light,
  .admin-table .button-danger,
  .admin-table .button-red,
  .admin-table button{white-space:normal!important;min-width:0!important;width:100%!important;}
  .admin-table td:last-child,
  .admin-table .actions,
  .admin-table .admin-table-actions-cell{white-space:normal!important;}
}

/* V218b-final - centrage dur de la page connexion */
html:has(body.admin-login-body), body.admin-login-body{width:100%!important;min-height:100vh!important;margin:0!important;padding:0!important;}
body.admin-login-body{display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important;background:#eef1f6!important;}
body.admin-login-body .login-main{width:auto!important;max-width:none!important;min-height:100vh!important;margin:0!important;padding:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;box-sizing:border-box!important;}
body.admin-login-body .login-panel{width:460px!important;max-width:calc(100vw - 48px)!important;margin:0!important;position:static!important;transform:none!important;box-sizing:border-box!important;}


/* V218v - Documentation PDF : lecteur plus large et plus confortable */
.pdf-viewer-page{max-width:1500px;width:min(96vw,1500px);padding-left:18px;padding-right:18px;}
.pdf-viewer-page .pdf-reader-card{width:100%;}
.pdf-viewer-page .pdf-object{width:100%;height:calc(100vh - 260px);min-height:760px;}
@media(max-width:900px){.pdf-viewer-page{width:100%;padding-left:12px;padding-right:12px}.pdf-viewer-page .pdf-object{height:78vh;min-height:560px}}


/* V218w - Accueil : marges hero/photo/catalogue et titre image centré */
.home-main{padding-top:0!important;}
.home-main > .section.editable-page-content{padding-top:18px!important;padding-bottom:18px!important;margin-top:0!important;margin-bottom:0!important;}
.home-main > .section.editable-page-content + .section{padding-top:18px!important;margin-top:0!important;}
.home-main .editable-page-content > *:first-child{margin-top:0!important;}
.home-main .editable-page-content > *:last-child{margin-bottom:0!important;}
.home-main .editable-page-content img,.home-main .editable-page-content video{display:block;margin:0 auto 0!important;}
.home-main .editable-page-content figure{margin:0 auto!important;text-align:center!important;}
.home-main .editable-page-content figure figcaption,.home-main .editable-page-content .image-title,.home-main .editable-page-content .photo-title{display:block;text-align:center!important;margin:8px auto 0!important;font-weight:800;}
.home-main .section-title{margin-top:0!important;}
.home-main .section-title p,.home-main .section-title h2{text-align:left;}
.editable-hero,.page-hero{margin-bottom:0!important;}
.editable-hero + .home-main,.page-hero + .home-main{margin-top:0!important;}
@media (min-width:981px){
  .hero.editable-hero{padding-top:48px!important;padding-bottom:48px!important;}
  .home-main > .section.editable-page-content{padding-top:14px!important;padding-bottom:14px!important;}
  .home-main > .section.editable-page-content + .section{padding-top:12px!important;}
}
@media (max-width:980px){
  .hero.editable-hero{padding-top:34px!important;padding-bottom:34px!important;}
  .home-main > .section.editable-page-content{padding-top:12px!important;padding-bottom:12px!important;}
  .home-main > .section.editable-page-content + .section{padding-top:12px!important;}
}


/* V218x - Accueil : titre photo centre et miniature dans le pave derniere procedure */
.home-main .editable-page-content > h1:first-child,
.home-main .editable-page-content > h2:first-child,
.home-main .editable-page-content > h3:first-child,
.home-main .editable-page-content > p:first-child,
.home-main .editable-page-content .home-photo-title,
.home-main .editable-page-content .home-welcome-title,
.home-main .editable-page-content .photo-title,
.home-main .editable-page-content .image-title{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:980px!important;
}
.home-main .editable-page-content > h1:first-child + img,
.home-main .editable-page-content > h2:first-child + img,
.home-main .editable-page-content > h3:first-child + img,
.home-main .editable-page-content > p:first-child + img,
.home-main .editable-page-content > h1:first-child + p img,
.home-main .editable-page-content > h2:first-child + p img,
.home-main .editable-page-content > h3:first-child + p img{
  margin-top:10px!important;
}
.hero-card .hero-latest-layout{
  display:grid;
  grid-template-columns:minmax(96px,128px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.hero-card .hero-latest-thumb{
  display:block;
  width:100%;
  border-radius:16px;
  overflow:hidden;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}
.hero-card .hero-latest-thumb img{
  display:block;
  width:100%;
  height:96px;
  object-fit:cover;
}
.hero-card .hero-latest-text h3{margin-top:0!important;}
.hero-card .hero-latest-text p{margin-bottom:12px!important;}
@media(max-width:720px){
  .hero-card .hero-latest-layout{grid-template-columns:1fr;}
  .hero-card .hero-latest-thumb img{height:180px;}
}

/* V220b - Procedures : typographie uniforme et plus lisible */
:root{
  --procedure-title-font:"Segoe UI Variable","Segoe UI",Inter,Roboto,Arial,sans-serif;
  --procedure-body-font:"Segoe UI Variable","Segoe UI",Inter,Roboto,Arial,sans-serif;
}
.wrap.procedure section > h1,
.procedure h1,
.procedure .content h1,
.legacy-xml-procedure h1{
  font-family:var(--procedure-title-font)!important;
  font-size:clamp(30px,2.7vw,42px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
  text-transform:none!important;
  margin:0 0 20px!important;
  color:#172033!important;
  max-width:1180px!important;
}
.procedure .content h2,
.procedure .content .panel-title,
.legacy-xml-procedure h2,
.legacy-xml-procedure .panel-title{
  font-family:var(--procedure-title-font)!important;
  font-size:clamp(22px,1.8vw,30px)!important;
  line-height:1.22!important;
  letter-spacing:-.02em!important;
  font-weight:820!important;
  text-transform:none!important;
  margin:24px 0 14px!important;
  color:#1f2a3a!important;
}
.procedure .content h3,
.procedure .content h4,
.legacy-xml-procedure h3,
.legacy-xml-procedure h4{
  font-family:var(--procedure-title-font)!important;
  font-size:clamp(18px,1.35vw,23px)!important;
  line-height:1.28!important;
  letter-spacing:-.01em!important;
  font-weight:800!important;
  text-transform:none!important;
  margin:18px 0 10px!important;
  color:#243246!important;
}
.procedure .content,
.procedure .content p,
.procedure .content li,
.legacy-xml-procedure,
.legacy-xml-procedure p,
.legacy-xml-procedure li,
.procedure .specs,
.procedure .specs p{
  font-family:var(--procedure-body-font)!important;
  font-size:16.5px!important;
  line-height:1.68!important;
  letter-spacing:0!important;
  color:#263142!important;
}
.procedure .content strong,
.legacy-xml-procedure strong,
.procedure .procedure-step-text,
.procedure .procedure-step-text p,
.procedure .procedure-webdev-text,
.procedure .procedure-webdev-text p{
  font-family:var(--procedure-body-font)!important;
  font-size:16.5px!important;
  line-height:1.68!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.procedure .content .alert,
.legacy-xml-procedure .alert,
.procedure .procedure-step-text,
.procedure .procedure-webdev-text{
  font-size:16.5px!important;
  line-height:1.68!important;
}
.procedure .content .alert strong,
.legacy-xml-procedure .alert strong{
  font-weight:750!important;
}
.procedure .content .badge,
.legacy-xml-procedure .badge{
  font-family:var(--procedure-body-font)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.procedure .specs h3{
  font-family:var(--procedure-title-font)!important;
  font-size:22px!important;
  line-height:1.22!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
  margin:0 0 18px!important;
}
.procedure .procedure-actions-public{margin:0 0 18px!important;}
.procedure .content .section-heading,
.procedure .content .procedure-heading,
.legacy-xml-procedure .procedure-heading{
  font-size:clamp(20px,1.55vw,26px)!important;
  line-height:1.25!important;
  font-weight:820!important;
}
@media(max-width:800px){
  .wrap.procedure section > h1,.procedure h1{font-size:30px!important;}
  .procedure .content,.procedure .content p,.procedure .content li,.legacy-xml-procedure,.legacy-xml-procedure p,.legacy-xml-procedure li{font-size:16px!important;}
}

/* V220m - finition affichage controle sante */
.v220l-health-details{display:grid;gap:8px;margin-top:14px}
.v220l-health-details div{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:10px;align-items:start;padding:6px 0}
.v220l-health-details span{font-weight:850;color:#475569}
.v220l-health-details b{font-weight:900;color:#172033;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:680px){.v220l-health-details div{grid-template-columns:1fr}.v220l-health-details b{margin-top:2px}}


/* V220m - finition responsive controle sante installation */
.v220l-health-mini-grid .v220l-health-card b,
.v220i-health-dashboard .v210-mini-card b,
.v220i-health-backups .v210-mini-card b{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.v220i-health-dashboard .v210-mini-card,
.v220i-health-backups .v210-mini-card{
  min-width:0;
}
.v220l-health-details,
.v220j-health-details{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.v220l-health-details div,
.v220j-health-details div{
  display:grid;
  grid-template-columns:minmax(210px,280px) minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:6px 0;
  border-bottom:1px solid #eef2f7;
}
.v220l-health-details div:last-child,
.v220j-health-details div:last-child{
  border-bottom:0;
}
.v220l-health-details span,
.v220j-health-details span{
  font-weight:850;
  color:#475569;
}
.v220l-health-details b,
.v220j-health-details b{
  font-weight:900;
  color:#172033;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
}
.v220l-health-details .v210-badge,
.v220j-health-details .v210-badge{
  width:max-content;
}
@media(max-width:680px){
  .v220l-health-details div,
  .v220j-health-details div{grid-template-columns:1fr;gap:3px;}
  .v220l-health-details b,
  .v220j-health-details b{white-space:normal;overflow-wrap:anywhere;}
}


/* V220m - centre de traitements admin avec journal */
.p911-progress-backdrop{position:fixed!important;inset:0!important;background:rgba(15,23,42,.62)!important;backdrop-filter:blur(5px)!important;display:none!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:24px!important;}
.p911-progress-backdrop.is-visible{display:flex!important;}
.p911-progress-card{width:min(560px,calc(100vw - 48px))!important;background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:26px!important;box-shadow:0 30px 90px rgba(2,6,23,.30)!important;padding:28px!important;color:#172033!important;}
.p911-progress-card h2{margin:0 0 8px!important;font-size:25px!important;line-height:1.15!important;font-weight:950!important;color:#172033!important;}
.p911-progress-card p{margin:0 0 18px!important;color:#64748b!important;font-size:14px!important;line-height:1.45!important;font-weight:750!important;}
.p911-progress-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important;font-size:12px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#7f1d1d!important;}
.p911-progress-bar{position:relative!important;height:13px!important;border-radius:999px!important;background:#fee2e2!important;overflow:hidden!important;border:1px solid #fecaca!important;}
.p911-progress-bar span,.p911-progress-bar::before{content:""!important;position:absolute!important;inset:0 auto 0 0!important;width:42%!important;border-radius:999px!important;background:linear-gradient(90deg,#7f1d1d,#d00000,#ff5a3c)!important;animation:p911-progress-indeterminate 1.05s infinite ease-in-out!important;}
.p911-progress-steps{margin-top:16px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
.p911-progress-step{display:flex!important;align-items:center!important;gap:8px!important;color:#64748b!important;font-size:12px!important;font-weight:850!important;min-width:0!important;}
.p911-progress-step span:last-child{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.p911-progress-dot{width:10px!important;height:10px!important;flex:0 0 10px!important;border-radius:50%!important;background:#cbd5e1!important;}
.p911-progress-step.is-done{color:#166534!important;}
.p911-progress-step.is-done .p911-progress-dot{background:#22c55e!important;}
.p911-progress-step.is-active{color:#172033!important;}
.p911-progress-step.is-active .p911-progress-dot{background:#d00000!important;animation:p911-progress-pulse 1s infinite!important;}
.p911-progress-result{margin-top:14px!important;border-radius:14px!important;padding:10px 12px!important;font-weight:850!important;background:#ecfdf5!important;color:#166534!important;border:1px solid #bbf7d0!important;}
.p911-progress-small{margin-top:14px!important;font-size:12px!important;color:#94a3b8!important;font-weight:750!important;}
.p911-progress-close{margin-top:16px!important;}
button.is-loading,input.is-loading{opacity:.72!important;cursor:wait!important;pointer-events:none!important;background:#f1f5f9!important;color:#64748b!important;border-color:#cbd5e1!important;}
button.is-waiting,input.is-waiting{opacity:.45!important;cursor:not-allowed!important;}
body.p911-global-processing,body.p911-global-processing *{cursor:wait!important;}
@media(max-width:680px){.p911-progress-card{padding:22px!important}.p911-progress-steps{grid-template-columns:1fr!important}.p911-progress-step span:last-child{white-space:normal!important}}
@keyframes p911-progress-indeterminate{0%{transform:translateX(-120%)}55%{transform:translateX(95%)}100%{transform:translateX(240%)}}
@keyframes p911-progress-pulse{0%{box-shadow:0 0 0 0 rgba(208,0,0,.35)}70%{box-shadow:0 0 0 8px rgba(208,0,0,0)}100%{box-shadow:0 0 0 0 rgba(208,0,0,0)}}

/* V220m - journal temps reel des traitements admin */
.p911-progress-card{width:min(720px,calc(100vw - 48px))!important;}
.p911-progress-live-title{margin-top:16px!important;font-size:12px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#64748b!important;}
.p911-progress-log{margin-top:8px!important;max-height:160px!important;overflow:auto!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#f8fafc!important;padding:10px!important;font-size:12px!important;}
.p911-progress-log-row{display:grid!important;grid-template-columns:72px minmax(0,1fr) 62px!important;gap:10px!important;align-items:center!important;padding:6px 0!important;border-bottom:1px solid rgba(226,232,240,.75)!important;}
.p911-progress-log-row:last-child{border-bottom:0!important;}
.p911-progress-log-row span{color:#94a3b8!important;font-weight:800!important;}
.p911-progress-log-row strong{color:#172033!important;font-weight:850!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.p911-progress-log-row em{font-style:normal!important;text-align:right!important;color:#166534!important;font-weight:950!important;}
.p911-treatment-table-wrap{overflow:auto!important;border:1px solid #e2e8f0!important;border-radius:18px!important;}
.p911-treatment-table{min-width:980px!important;margin:0!important;}
.p911-ellipsis{max-width:320px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.p911-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;padding:5px 9px!important;font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;background:#e2e8f0!important;color:#334155!important;}
.p911-pill.ok{background:#dcfce7!important;color:#166534!important;}
.p911-pill.danger{background:#fee2e2!important;color:#991b1b!important;}
.p911-pill.warning{background:#fef3c7!important;color:#92400e!important;}
.p911-pill.info{background:#dbeafe!important;color:#1e40af!important;}
@media(max-width:680px){.p911-progress-log-row{grid-template-columns:1fr!important}.p911-progress-log-row em{text-align:left!important}.p911-progress-card{width:calc(100vw - 28px)!important}}

/* V220o - pilotage file traitements */
.p911-treatment-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;align-items:center!important;min-width:220px!important}
.p911-treatment-actions form{display:inline-flex!important;margin:0!important}
.p911-treatment-actions .small,.button-light.small,.button-red.small{padding:6px 10px!important;font-size:12px!important;min-height:30px!important;border-radius:999px!important;line-height:1!important;white-space:nowrap!important}
.p911-mini-progress{width:92px!important;height:8px!important;border-radius:999px!important;background:#e5e7eb!important;overflow:hidden!important;border:1px solid #cbd5e1!important;margin-bottom:4px!important}
.p911-mini-progress span{display:block!important;height:100%!important;border-radius:999px!important;background:#d00000!important}
.admin-alert{padding:12px 14px!important;border-radius:16px!important;margin:0 0 14px!important;font-weight:800!important;border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#172033!important}
.admin-alert.success{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#166534!important}
.admin-alert.danger{background:#fef2f2!important;border-color:#fecaca!important;color:#991b1b!important}
@media(max-width:900px){.p911-treatment-actions{min-width:0!important}.p911-treatment-table{font-size:12px!important}}


/* V220p - Correction ergonomie Atelier IA compact : filtres non recouvrants */
.admin-body .compact-workshop-filters{
  position:static!important;
  top:auto!important;
  z-index:1!important;
  margin:0 0 14px!important;
  padding:14px 16px!important;
  border-radius:22px!important;
}
.admin-body .compact-workshop-filters .form-grid{
  display:grid!important;
  grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) minmax(145px,1fr) minmax(155px,1fr) minmax(190px,1.15fr) auto!important;
  gap:10px 12px!important;
  align-items:end!important;
}
.admin-body .compact-workshop-filters p{margin:0!important;}
.admin-body .compact-workshop-filters label span{display:block;margin:0 0 6px!important;font-size:.78rem!important;line-height:1.1!important;}
.admin-body .compact-workshop-filters select,
.admin-body .compact-workshop-filters input{
  min-height:42px!important;
  height:42px!important;
  padding:0 12px!important;
  border-radius:12px!important;
}
.admin-body .compact-workshop-filters .form-action-bottom{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.admin-body .compact-workshop-filters .form-action-bottom button,
.admin-body .compact-workshop-filters .form-action-bottom .button-light{
  min-height:42px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media (max-width: 1200px){
  .admin-body .compact-workshop-filters .form-grid{grid-template-columns:repeat(3,minmax(150px,1fr))!important;}
}
@media (max-width: 760px){
  .admin-body .compact-workshop-filters .form-grid{grid-template-columns:1fr!important;}
  .admin-body .compact-workshop-filters .form-action-bottom{white-space:normal!important;flex-wrap:wrap!important;}
}

/* V220q - Atelier IA compact : correction definitive du bloc d'actions.
   Le bandeau d'actions ne doit plus etre sticky/flottant ni masquer le contenu au scroll. */
.admin-body .compact-workshop-detail .compact-sticky-actions,
body.admin-compact .compact-workshop-detail .compact-sticky-actions,
.compact-workshop-detail .compact-sticky-actions{
  position:static!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  transform:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:12px 0 16px!important;
  padding:10px 12px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.admin-body .compact-workshop-detail .compact-sticky-actions form.inline-form,
.compact-workshop-detail .compact-sticky-actions form.inline-form{
  display:inline-flex!important;
  margin:0!important;
  width:auto!important;
}
.admin-body .compact-workshop-detail .compact-sticky-actions .button,
.admin-body .compact-workshop-detail .compact-sticky-actions .button-light,
.admin-body .compact-workshop-detail .compact-sticky-actions button,
.compact-workshop-detail .compact-sticky-actions .button,
.compact-workshop-detail .compact-sticky-actions .button-light,
.compact-workshop-detail .compact-sticky-actions button{
  white-space:nowrap!important;
  min-height:38px!important;
  padding:9px 13px!important;
  line-height:1.1!important;
}
.admin-body .compact-workshop-detail,
body.admin-compact .compact-workshop-detail,
.compact-workshop-detail{
  overflow:visible!important;
}
.admin-body .compact-workshop-detail .compact-detail-head,
.compact-workshop-detail .compact-detail-head{
  margin-bottom:10px!important;
}
.admin-body .compact-workshop-detail .compact-priority-box,
.admin-body .compact-workshop-detail .compact-quality-box,
.compact-workshop-detail .compact-priority-box,
.compact-workshop-detail .compact-quality-box{
  position:static!important;
  clear:both!important;
}
@media (max-width: 900px){
  .admin-body .compact-workshop-detail .compact-sticky-actions,
  .compact-workshop-detail .compact-sticky-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .admin-body .compact-workshop-detail .compact-sticky-actions form.inline-form,
  .admin-body .compact-workshop-detail .compact-sticky-actions a,
  .compact-workshop-detail .compact-sticky-actions form.inline-form,
  .compact-workshop-detail .compact-sticky-actions a{
    width:100%!important;
  }
  .admin-body .compact-workshop-detail .compact-sticky-actions button,
  .admin-body .compact-workshop-detail .compact-sticky-actions .button,
  .admin-body .compact-workshop-detail .compact-sticky-actions .button-light,
  .compact-workshop-detail .compact-sticky-actions button,
  .compact-workshop-detail .compact-sticky-actions .button,
  .compact-workshop-detail .compact-sticky-actions .button-light{
    width:100%!important;
    justify-content:center!important;
  }
}
@media (max-width: 560px){
  .admin-body .compact-workshop-detail .compact-sticky-actions,
  .compact-workshop-detail .compact-sticky-actions{grid-template-columns:1fr!important;}
}


/* V220t - Actions réelles avec journal de traitement.
   Objectif : le contenu central ne doit plus passer sous le header fixe et
   la selection d'une suggestion doit rester lisible apres rechargement. */
body.admin-body .admin-main{
  scroll-padding-top:132px!important;
}
body.admin-body .compact-workshop-hero,
body.admin-body .compact-workshop-filters,
body.admin-body .compact-workshop-layout,
body.admin-body .compact-workshop-detail,
body.admin-body .compact-detail-head,
body.admin-body .compact-quick-edit-form,
body.admin-body .compact-workshop-row-shell.active{
  scroll-margin-top:132px!important;
}
body.admin-body .compact-workshop-layout{
  padding-top:8px!important;
}
body.admin-body .compact-workshop-detail{
  padding-top:20px!important;
}
body.admin-body .compact-workshop-detail::before{
  content:"";
  display:block;
  height:1px;
  margin-top:-1px;
  pointer-events:none;
}
body.admin-body .compact-detail-head{
  padding-top:4px!important;
}
body.admin-body .compact-workshop-list{
  top:92px!important;
  max-height:calc(100vh - 120px)!important;
}
body.admin-body .compact-workshop-detail .compact-sticky-actions{
  margin-top:14px!important;
  margin-bottom:18px!important;
}
body.admin-body .compact-quick-edit-form{
  margin-top:14px!important;
}
@media(max-width:980px){
  body.admin-body .admin-main{scroll-padding-top:112px!important;}
  body.admin-body .compact-workshop-hero,
  body.admin-body .compact-workshop-filters,
  body.admin-body .compact-workshop-layout,
  body.admin-body .compact-workshop-detail,
  body.admin-body .compact-detail-head,
  body.admin-body .compact-quick-edit-form,
  body.admin-body .compact-workshop-row-shell.active{scroll-margin-top:112px!important;}
  body.admin-body .compact-workshop-list{top:auto!important;max-height:none!important;}
}


/* V220t - Surveillance IA : tableau lisible et responsive.
   La colonne Chemin garde une largeur exploitable pour eviter les coupures lettre par lettre. */
.security-log-table-wrap:has(.surveillance-events-table){overflow-x:auto;overflow-y:visible}
.surveillance-events-table{min-width:1280px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.surveillance-events-table th,.surveillance-events-table td{vertical-align:top;padding-top:12px;padding-bottom:12px;line-height:1.38}
.surveillance-events-table th:nth-child(1),.surveillance-events-table td:nth-child(1){width:125px}
.surveillance-events-table th:nth-child(2),.surveillance-events-table td:nth-child(2){width:95px}
.surveillance-events-table th:nth-child(3),.surveillance-events-table td:nth-child(3){width:80px;text-align:left}
.surveillance-events-table th:nth-child(4),.surveillance-events-table td:nth-child(4){width:135px}
.surveillance-events-table th:nth-child(5),.surveillance-events-table td:nth-child(5){width:360px}
.surveillance-events-table th:nth-child(6),.surveillance-events-table td:nth-child(6){width:180px}
.surveillance-events-table th:nth-child(7),.surveillance-events-table td:nth-child(7){width:305px}
.surveillance-events-table .surv-date,.surveillance-events-table .surv-ip{white-space:normal;overflow-wrap:break-word;word-break:normal;font-weight:800;color:#334155}
.surveillance-events-table .surv-path{white-space:normal;overflow-wrap:anywhere;word-break:normal;font-weight:700;color:#1e293b}
.surveillance-events-table .surv-reason{white-space:normal;overflow-wrap:break-word;word-break:normal;color:#475569}
.surveillance-events-table .surv-agent{white-space:normal;overflow-wrap:anywhere;word-break:normal;color:#475569;font-size:13px}
.surveillance-events-table .pill{white-space:nowrap}
@media(max-width:900px){
  .security-log-table-wrap:has(.surveillance-events-table){overflow:visible;border-radius:0}
  .surveillance-events-table,.surveillance-events-table thead,.surveillance-events-table tbody,.surveillance-events-table tr,.surveillance-events-table th,.surveillance-events-table td{display:block;width:100%!important;min-width:0!important}
  .surveillance-events-table{border-spacing:0}
  .surveillance-events-table thead{display:none}
  .surveillance-events-table tr{margin:0 0 14px;padding:12px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06)}
  .surveillance-events-table td{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:8px 0;border:0!important;align-items:start}
  .surveillance-events-table td::before{content:attr(data-label);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
  .surveillance-events-table .surv-path,.surveillance-events-table .surv-agent{overflow-wrap:anywhere}
}

/* V220v - Surveillance IA : IP lisibles et géolocalisation mieux présentée */
.security-log-table td.surv-ip,
.security-log-table th:first-child,
.security-log-table td:first-child {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  min-width: 138px;
}
.security-log-table .surv-geo-cell {
  min-width: 230px;
  line-height: 1.35;
}
.security-log-table .surv-geo-cell small {
  display:block;
  margin-top:3px;
}
.surv-geo-source {
  margin-top:5px;
  font-size:11px;
  padding:4px 8px;
  background:#eef2ff;
  color:#3730a3;
}

/* V220x - Surveillance IA carte enrichie */
.p911-map-titlebar{align-items:flex-start;gap:14px}
.p911-map-filter-pills{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.p911-map-filter-pills .pill{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #dbe3ee;background:#fff;color:#334155;border-radius:999px;padding:.35rem .65rem;font-weight:900;font-size:.82rem;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.p911-map-filter-pills .pill.active{background:#b40000;color:#fff;border-color:#b40000}
.p911-map-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 16px}
.p911-map-country-card{border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);padding:12px 14px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.p911-map-country-card strong{display:block;color:#111827;font-size:.98rem}.p911-map-country-card strong span{color:#64748b;font-size:.82rem}.p911-map-country-card div{margin-top:6px;color:#475569}.p911-map-country-card b{color:#b40000}.p911-map-country-card small{display:block;margin-top:6px;color:#64748b;font-weight:800}
.p911-map-enriched-grid .p911-leaflet-map{height:440px;min-height:420px;background:#dff3fb}
.p911-map-legend-card{margin:14px 0 8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:10px 12px;box-shadow:0 10px 30px rgba(15,23,42,.05);color:#475569}
.p911-map-legend-card strong{color:#111827}.p911-map-legend-card span{display:inline-flex;align-items:center;gap:6px;font-weight:800}.p911-map-legend-card em{font-style:normal;color:#64748b;font-size:.86rem}
.p911-triangle-level{display:inline-block;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:14px solid #f59e0b}.p911-triangle-level.l1{border-top-color:#f6ad55}.p911-triangle-level.l2{border-top-color:#f97316}.p911-triangle-level.l3{border-top-color:#c2410c}.p911-triangle-level.l4{border-top-color:#7f1d1d}
.p911-geo-divicon{background:transparent;border:0}
.p911-geo-marker{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:drop-shadow(0 10px 14px rgba(15,23,42,.35))}
.p911-geo-marker em{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-style:normal;font-size:10px;font-weight:1000;color:#0f172a;background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.45);border-radius:999px;padding:1px 5px;white-space:nowrap;box-shadow:0 3px 10px rgba(15,23,42,.12)}
.p911-geo-marker .tri{display:block;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:26px solid #f97316;transform:translateY(3px)}
.p911-geo-marker.l1 .tri{border-left-width:9px;border-right-width:9px;border-top-width:18px;border-top-color:#f6ad55}.p911-geo-marker.l2 .tri{border-left-width:12px;border-right-width:12px;border-top-width:24px;border-top-color:#f97316}.p911-geo-marker.l3 .tri{border-left-width:15px;border-right-width:15px;border-top-width:30px;border-top-color:#c2410c}.p911-geo-marker.l4 .tri{border-left-width:19px;border-right-width:19px;border-top-width:38px;border-top-color:#7f1d1d}.p911-geo-marker.warn .tri{border-top-color:#dc2626}.p911-geo-marker.critical .tri{border-top-color:#7f1d1d}
.p911-geo-marker .bubble{display:block;border-radius:999px;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 8px rgba(37,99,235,.16)}.p911-geo-marker.l1 .bubble{width:16px;height:16px}.p911-geo-marker.l2 .bubble{width:22px;height:22px}.p911-geo-marker.l3 .bubble{width:30px;height:30px}.p911-geo-marker.l4 .bubble{width:40px;height:40px}.p911-geo-marker.local .bubble{background:#06b6d4}
.p911-leaflet-popup-rich{min-width:255px;max-width:320px}.p911-popup-title strong{display:block;font-size:1.02rem;color:#111827}.p911-popup-title small{display:block;margin-top:2px;color:#64748b;font-weight:800}.p911-popup-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.p911-popup-kpis span{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:7px 5px;text-align:center;color:#64748b;font-size:.72rem;font-weight:800}.p911-popup-kpis b{display:block;color:#111827;font-size:.95rem;line-height:1.1}.p911-popup-section{margin-top:9px}.p911-popup-section>b{display:block;color:#111827;margin-bottom:4px}.p911-popup-toplist{list-style:none;margin:0;padding:0;display:grid;gap:3px}.p911-popup-toplist li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed #e5e7eb;padding:2px 0}.p911-popup-toplist span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p911-popup-toplist b{color:#b40000}
.p911-map-legend.leaflet-control,.p911-map-summary.leaflet-control{background:rgba(255,255,255,.94);border:1px solid rgba(203,213,225,.95);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.16);padding:10px 12px;color:#334155}.p911-map-legend strong,.p911-map-summary strong{display:block;color:#111827;margin-bottom:5px}.p911-map-legend span{display:flex;align-items:center;gap:7px;margin:2px 0;font-weight:800}.p911-map-legend small,.p911-map-summary small{display:block;color:#64748b;margin-top:5px}.p911-map-summary span{display:block;margin:3px 0;font-weight:900;color:#475569}
.p911-map-ip-card p strong{color:#111827;display:inline;font-size:.88rem}
@media(max-width:980px){.p911-map-enriched-grid .p911-leaflet-map{height:360px;min-height:330px}.p911-map-filter-pills{justify-content:flex-start}.p911-map-summary-cards{grid-template-columns:1fr}.p911-map-summary.leaflet-control{display:none}}

/* V220z - lisibilite et robustesse cartes Surveillance IA */
.p911-map-enriched-grid{align-items:stretch}
.p911-surveillance-map-card{overflow:hidden}
.p911-leaflet-map.p911-leaflet-initializing{background:linear-gradient(135deg,#dff3fb,#eef8ff)}
.p911-leaflet-empty-overlay{position:absolute;inset:12px;z-index:500;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px dashed rgba(100,116,139,.45);color:#334155;font-weight:900;line-height:1.45;pointer-events:none}
.p911-leaflet-empty-overlay small{display:block;margin-top:6px;font-weight:700;color:#64748b}
.p911-leaflet-map .leaflet-control-container{font-family:inherit}
.p911-geo-marker.local .bubble{background:#06b6d4}
.p911-geo-marker.visit .bubble{outline:1px solid rgba(37,99,235,.35)}
.p911-geo-marker.attack .tri{filter:drop-shadow(0 8px 10px rgba(127,29,29,.30))}
.p911-map-summary.leaflet-control,.p911-map-legend.leaflet-control{max-width:230px}
.p911-popup-toplist{margin:6px 0 0 18px;padding:0}.p911-popup-toplist li{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid rgba(148,163,184,.25);padding:2px 0}.p911-popup-toplist li span{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p911-popup-toplist li b{color:#0f172a}

/* V221a - Surveillance IA : légendes cohérentes alertes / visites */
.p911-bubble-level{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563eb;border:2px solid #fff;box-shadow:0 0 0 5px rgba(37,99,235,.14);vertical-align:middle;flex:0 0 auto}
.p911-bubble-level.l1{width:12px;height:12px}.p911-bubble-level.l2{width:16px;height:16px}.p911-bubble-level.l3{width:22px;height:22px}.p911-bubble-level.l4{width:30px;height:30px}
.p911-map-legend-card .legend-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;border-left:1px solid #e5e7eb;padding-left:12px;margin-left:2px}
.p911-map-legend-card .legend-group:first-of-type{border-left:0;padding-left:0}
.p911-map-legend-card .legend-title{font-weight:1000;color:#111827;margin-right:2px}
.p911-geo-marker .bubble{display:flex!important;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:1000;line-height:1;text-shadow:0 1px 2px rgba(15,23,42,.32)}
.p911-geo-marker .bubble b{position:relative;z-index:2;font:inherit;color:inherit}
.p911-geo-marker .p911-marker-count{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);font-size:10px;line-height:1;font-weight:1000;color:#7f1d1d;background:rgba(255,255,255,.94);border:1px solid rgba(127,29,29,.25);border-radius:999px;padding:1px 5px;box-shadow:0 3px 10px rgba(15,23,42,.12)}
.p911-map-legend.is-visits .p911-triangle-level{display:none}
.p911-map-legend.is-attacks .p911-bubble-level{display:none}

/* V221b - Surveillance IA : separation LAN/public et popups plus lisibles */
.p911-lan-summary-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.4fr);gap:14px;align-items:start;margin:14px 0 16px;padding:14px 16px;border:1px solid #bfdbfe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f8fafc);box-shadow:0 10px 30px rgba(37,99,235,.08)}
.p911-lan-summary-head strong{display:block;font-size:1rem;color:#0f172a}.p911-lan-summary-head p{margin:.25rem 0 0;color:#475569;font-weight:700;font-size:.88rem;line-height:1.35}.p911-lan-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.p911-lan-summary-kpis span{display:block;border:1px solid #dbeafe;background:#fff;border-radius:14px;padding:8px 10px;text-align:center;color:#475569;font-weight:800;font-size:.8rem}.p911-lan-summary-kpis b{display:block;color:#0f172a;font-size:1.05rem;line-height:1}.p911-lan-summary-list{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.p911-lan-summary-list span{display:inline-flex;align-items:center;gap:5px;border:1px solid #dbeafe;background:#fff;border-radius:999px;padding:5px 9px;color:#475569;font-weight:800;font-size:.82rem}.p911-lan-summary-list strong{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}.p911-leaflet-map .leaflet-popup-content{margin:12px 14px}.p911-leaflet-popup-rich{min-width:340px;max-width:430px}.p911-popup-kpis{grid-template-columns:repeat(4,minmax(72px,1fr));gap:8px}.p911-popup-kpis span{font-size:.76rem;line-height:1.15;white-space:nowrap}.p911-popup-kpis .kpi-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p911-popup-kpis b{font-size:1.02rem}.p911-popup-toplist li{align-items:center}.p911-popup-toplist span{font-size:.84rem}.p911-map-popup-row{line-height:1.35}.p911-map-summary.leaflet-control span{white-space:nowrap}
@media(max-width:980px){.p911-lan-summary-card{grid-template-columns:1fr}.p911-lan-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.p911-leaflet-popup-rich{min-width:285px;max-width:340px}.p911-popup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.p911-popup-kpis span{white-space:normal}}


/* V221c - Surveillance IA temps reel */
.p911-map-live-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-bottom:8px;flex-wrap:wrap}.p911-map-live-toggle{cursor:pointer;border:1px solid #dbe3ee;background:#fff;color:#0f172a}.p911-map-live-toggle[aria-pressed="true"]{background:#dcfce7;border-color:#86efac;color:#166534}.p911-map-live-clock{font-size:.78rem;font-weight:900;color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:.34rem .6rem}.p911-live-status{display:inline-flex;align-items:center;gap:6px;margin-left:8px;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:900;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.p911-live-status:before{content:"";width:7px;height:7px;border-radius:999px;background:#6366f1;box-shadow:0 0 0 0 rgba(99,102,241,.35);animation:p911-live-pulse 1.2s infinite}.p911-live-status[data-state="ok"]{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.p911-live-status[data-state="ok"]:before{background:#22c55e}.p911-live-status[data-state="changed"]{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.p911-live-status[data-state="changed"]:before{background:#f97316}.p911-live-status[data-state="error"]{background:#fef2f2;color:#991b1b;border-color:#fecaca}.p911-live-status[data-state="error"]:before{background:#ef4444}.p911-live-status[data-state="paused"]{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.p911-live-status[data-state="paused"]:before{background:#94a3b8;animation:none}.p911-live-status[data-state="loading"]:before{animation:p911-live-pulse .65s infinite}@keyframes p911-live-pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px rgba(99,102,241,0)}100%{box-shadow:0 0 0 0 rgba(99,102,241,0)}}
@media(max-width:980px){.p911-map-live-actions{justify-content:flex-start}.p911-live-status{display:flex;margin:6px 0 0}.p911-map-live-clock{font-size:.72rem}}

/* V221e - Surveillance IA : popup lisible et statut temps reel visible */
.p911-map-titlebar{align-items:flex-start;gap:14px}.p911-map-titlebar .muted{line-height:1.5}.p911-map-live-actions{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:8px 10px;box-shadow:0 10px 28px rgba(15,23,42,.08)}.p911-map-live-toggle{min-width:92px;font-weight:950}.p911-map-live-toggle[aria-pressed="true"]{background:#16a34a;border-color:#16a34a;color:#fff}.p911-map-live-toggle[aria-pressed="false"]{background:#f8fafc;border-color:#cbd5e1;color:#475569}.p911-map-live-clock{background:#0f172a;color:#fff;border-color:#0f172a;letter-spacing:.01em}.p911-live-status{font-size:.82rem;padding:.3rem .72rem;margin-left:10px}.p911-live-status[data-state="ok"]{background:#dcfce7;color:#14532d;border-color:#86efac}.p911-live-status[data-state="changed"]{background:#ffedd5;color:#7c2d12;border-color:#fdba74}.p911-live-status[data-state="loading"]{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.p911-live-status[data-state="error"]{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.p911-leaflet-map .leaflet-popup-content{margin:14px 16px!important}.p911-leaflet-map .leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 18px 44px rgba(15,23,42,.22)}.p911-leaflet-map .leaflet-popup{max-width:none!important}.p911-leaflet-popup-rich.p911-popup-v221e{width:420px;max-width:420px;min-width:420px;color:#0f172a}.p911-popup-v221e .p911-popup-title{padding-bottom:8px;border-bottom:1px solid #e5e7eb}.p911-popup-v221e .p911-popup-title strong{font-size:1.12rem;line-height:1.2}.p911-popup-v221e .p911-popup-title small{font-size:.8rem;font-weight:900;color:#64748b;text-transform:none}.p911-popup-kpis-readable{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:12px 0!important}.p911-popup-kpis-readable span{min-width:0;border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px;padding:9px 7px;text-align:center;white-space:normal!important;overflow:visible!important}.p911-popup-kpis-readable b{display:block;font-size:1.06rem;line-height:1;color:#0f172a}.p911-popup-kpis-readable em{display:block;margin-top:5px;font-style:normal;font-size:.72rem;line-height:1.05;font-weight:950;color:#475569;white-space:normal;word-break:normal;overflow:visible;text-overflow:clip}.p911-popup-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.p911-popup-info-grid>div{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:7px 9px}.p911-popup-info-grid>div.wide{grid-column:1/-1}.p911-popup-info-grid span{display:block;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.p911-popup-info-grid strong{display:block;margin-top:2px;color:#111827;font-size:.85rem;line-height:1.28;word-break:break-word}.p911-popup-v221e .p911-popup-section{margin-top:10px}.p911-popup-v221e .p911-popup-section>b{display:flex;align-items:center;justify-content:space-between;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px 10px 0 0;padding:6px 9px;margin:0;font-size:.82rem;color:#0f172a}.p911-popup-v221e .p911-popup-toplist{display:block;margin:0;padding:0;border:1px solid #e2e8f0;border-top:0;border-radius:0 0 10px 10px;overflow:hidden;background:#fff}.p911-popup-toprow{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;padding:5px 9px;border-top:1px solid #f1f5f9}.p911-popup-toprow:first-child{border-top:0}.p911-popup-toprow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.8rem;color:#1f2937}.p911-popup-toprow b{justify-self:end;color:#0f172a;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:2px 7px;min-width:28px;text-align:center}.p911-map-summary.leaflet-control{min-width:150px}.p911-map-summary.leaflet-control small{font-weight:850;color:#64748b}
@media(max-width:980px){.p911-map-titlebar{display:block}.p911-map-live-actions{justify-content:flex-start;margin:8px 0}.p911-leaflet-popup-rich.p911-popup-v221e{width:330px;min-width:330px;max-width:330px}.p911-popup-kpis-readable{grid-template-columns:repeat(2,minmax(0,1fr))!important}.p911-popup-info-grid{grid-template-columns:1fr}.p911-popup-toprow{grid-template-columns:minmax(0,1fr) 38px}.p911-map-live-clock{font-size:.72rem}}

/* V221f - popups stables : ne pas fermer pendant le rafraichissement temps reel */
.p911-leaflet-map.p911-popup-freeze-active{box-shadow:inset 0 0 0 2px rgba(37,99,235,.22)}
.p911-leaflet-map.p911-popup-freeze-active::after{content:"Popup ouverte - mise a jour differee";position:absolute;right:14px;bottom:14px;z-index:720;background:rgba(15,23,42,.86);color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.25);pointer-events:none}
.p911-leaflet-map .leaflet-popup{z-index:760!important}
.p911-leaflet-map .leaflet-popup-close-button{width:28px!important;height:28px!important;line-height:28px!important;font-size:20px!important;border-radius:999px!important;background:#f8fafc!important;color:#334155!important}

/* V221g - Surveillance IA interface temps reel propre */
.p911-realtime-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 16px;padding:10px 12px;border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#eef6ff);box-shadow:0 10px 28px rgba(15,23,42,.06);color:#0f172a}
.p911-realtime-toolbar .p911-live-status{margin-left:0}
.p911-realtime-toolbar .p911-map-live-clock{margin-left:auto}
.p911-realtime-toolbar .p911-map-live-toggle{font-weight:950;min-width:96px}
.p911-realtime-toolbar[data-state="paused"]{background:#f8fafc;border-color:#cbd5e1}
.p911-realtime-toolbar[data-state="error"]{background:#fef2f2;border-color:#fecaca}
.p911-realtime-toolbar[data-state="changed"]{background:#fff7ed;border-color:#fed7aa}
.p911-leaflet-empty-overlay.p911-leaflet-empty-overlay-compact{left:132px!important;top:12px!important;right:auto!important;bottom:auto!important;inset:auto!important;transform:none!important;display:block!important;max-width:260px!important;padding:10px 12px!important;border-radius:14px!important;text-align:left!important;background:rgba(255,255,255,.88)!important;box-shadow:0 10px 28px rgba(15,23,42,.12)!important;border:1px solid rgba(203,213,225,.9)!important;font-size:.82rem!important;line-height:1.25!important}
.p911-leaflet-empty-overlay.p911-leaflet-empty-overlay-compact small{margin-top:3px!important;font-size:.72rem!important}
.p911-leaflet-map.p911-popup-freeze-active{box-shadow:inset 0 0 0 2px rgba(37,99,235,.14)}
.p911-leaflet-map.p911-popup-freeze-active::after{display:none!important;content:none!important}
@media(max-width:980px){.p911-realtime-toolbar{align-items:flex-start}.p911-realtime-toolbar .p911-map-live-clock{margin-left:0}.p911-realtime-toolbar .p911-map-live-toggle{margin-left:auto}}

/* V221h - popup Leaflet stable dans le cadre de la carte */
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart{
  transform:none!important;
  margin-top:0!important;
  width:auto!important;
  min-width:380px!important;
  max-width:min(440px,calc(100% - 28px))!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  z-index:880!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart:after{
  display:none!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .leaflet-popup-content{
  padding-right:14px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-v221e{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-kpis-readable{
  grid-template-columns:repeat(4,minmax(78px,1fr))!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-kpis-readable em{
  white-space:nowrap!important;
  font-size:.72rem!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-info-grid{
  grid-template-columns:1fr 1fr!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-info-grid .wide{
  grid-column:1/-1!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-toprow{
  grid-template-columns:minmax(0,1fr) 46px!important;
}
.p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-toprow span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .p911-leaflet-map .leaflet-popup.leaflet-popup-smart{
    min-width:300px!important;
    max-width:calc(100% - 20px)!important;
  }
  .p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-kpis-readable{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .p911-leaflet-map .leaflet-popup.leaflet-popup-smart .p911-popup-info-grid{
    grid-template-columns:1fr!important;
  }
}


/* V221i - Surveillance IA : zoom preserve et bulles rondes */
.p911-geo-divicon{background:transparent!important;border:0!important;width:auto!important;height:auto!important;}
.p911-geo-marker.visit .bubble,
.p911-geo-marker .bubble{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:0!important;
  transform:none!important;
}
.p911-geo-marker.l1 .bubble{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;}
.p911-geo-marker.l2 .bubble{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;}
.p911-geo-marker.l3 .bubble{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;}
.p911-geo-marker.l4 .bubble{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;}
.p911-bubble-level{border-radius:50%!important;aspect-ratio:1 / 1!important;box-sizing:border-box!important;flex:0 0 auto!important;}
.p911-bubble-level.l1{width:14px!important;height:14px!important;}
.p911-bubble-level.l2{width:18px!important;height:18px!important;}
.p911-bubble-level.l3{width:26px!important;height:26px!important;}
.p911-bubble-level.l4{width:36px!important;height:36px!important;}


/* V221j - Surveillance IA : popups alertes alignées avec la carte visites */
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits{
  max-width:none!important;
  min-width:410px!important;
  width:auto!important;
  z-index:900!important;
}
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks .leaflet-popup-content,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits .leaflet-popup-content{
  max-height:min(520px, calc(100vh - 260px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks .p911-popup-v221e,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits .p911-popup-v221e{
  width:420px!important;
  min-width:420px!important;
  max-width:420px!important;
}
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks .p911-popup-kpis-readable em,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits .p911-popup-kpis-readable em{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.p911-geo-marker.attack{width:100%!important;height:100%!important;overflow:visible!important;}
.p911-geo-marker.attack .tri{transform:translateY(0)!important;}
@media(max-width:980px){
  .p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks,
  .p911-leaflet-map .leaflet-popup.p911-popup-kind-visits{min-width:310px!important;}
  .p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks .p911-popup-v221e,
  .p911-leaflet-map .leaflet-popup.p911-popup-kind-visits .p911-popup-v221e{width:330px!important;min-width:330px!important;max-width:330px!important;}
}


/* V221k - Surveillance IA : zoom utilisateur preserve, heure navigateur et carte alertes propre */
.p911-leaflet-map[data-map-kind="attacks"] .p911-leaflet-empty-overlay{display:none!important;}
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits{
  max-height:calc(100% - 28px)!important;
}
.p911-leaflet-map .leaflet-popup.p911-popup-kind-attacks .leaflet-popup-content,
.p911-leaflet-map .leaflet-popup.p911-popup-kind-visits .leaflet-popup-content{
  max-height:min(500px, calc(100vh - 300px))!important;
}
.p911-map-live-clock{white-space:nowrap;}
.p911-geo-marker.visit .bubble{border-radius:50%!important;}


/* V221l - Surveillance IA : vue carte stable et synchronisation des compteurs */
.p911-geo-divicon{
  background:transparent!important;
  border:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.p911-geo-marker.visit,
.p911-geo-marker.visit .bubble{
  border-radius:50%!important;
  aspect-ratio:1/1!important;
  line-height:1!important;
}
.p911-map-summary.leaflet-control span,
.p911-map-summary.leaflet-control small{
  white-space:nowrap;
}

/* V221m - Surveillance IA : commandes de vue et nettoyage interface live */
.p911-map-view-control.leaflet-control{
  order:2;
  margin:0!important;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(148,163,184,.35);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.16);
  overflow:hidden;
}
.p911-map-view-buttons{display:flex;flex-direction:column;gap:0;min-width:86px;}
.p911-map-view-buttons button{
  appearance:none;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#0f172a;
  font-size:11px;font-weight:900;line-height:1;padding:8px 10px;cursor:pointer;text-align:left;
}
.p911-map-view-buttons button:last-child{border-bottom:0;}
.p911-map-view-buttons button:hover{background:#eef6ff;color:#b91c1c;}
.p911-map-view-buttons button[aria-pressed="false"]{background:#fff7ed;color:#9a3412;}
.p911-lan-summary-card-live-placeholder[hidden],
.p911-lan-summary-card:empty{display:none!important;}
.p911-realtime-toolbar{position:relative;z-index:4;}
.p911-realtime-toolbar .p911-map-live-clock{font-variant-numeric:tabular-nums;}
.p911-leaflet-map .leaflet-popup{z-index:950!important;}
@media(max-width:980px){
  .p911-leaflet-map .leaflet-top.leaflet-left{gap:8px!important;}
  .p911-map-view-control.leaflet-control{margin:0!important;}
  .p911-map-view-buttons{min-width:78px;}
  .p911-map-view-buttons button{font-size:10px;padding:7px 8px;}
}

/* V221s - Surveillance IA : contrôle carte unifié, sans superposition avec + / - */
.p911-leaflet-map .leaflet-top.leaflet-left{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  top:12px!important;
  left:12px!important;
}
.p911-leaflet-map .leaflet-control-zoom{
  display:none!important;
}
.p911-leaflet-map .p911-map-view-control.leaflet-control,
.p911-leaflet-map .p911-map-view-control-unified.leaflet-control{
  margin:0!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  z-index:930!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(148,163,184,.45)!important;
  border-radius:14px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
.p911-map-view-buttons-unified{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:88px!important;
}
.p911-map-zoom-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  border-bottom:1px solid #e5e7eb!important;
}
.p911-map-view-buttons-unified button{
  appearance:none!important;
  border:0!important;
  border-bottom:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:9px 10px!important;
  cursor:pointer!important;
  text-align:left!important;
  pointer-events:auto!important;
}
.p911-map-view-buttons-unified .p911-map-zoom-btn{
  height:34px!important;
  padding:0!important;
  text-align:center!important;
  font-size:22px!important;
  line-height:34px!important;
}
.p911-map-view-buttons-unified .p911-map-zoom-btn:first-child{border-right:1px solid #e5e7eb!important;}
.p911-map-view-buttons-unified .p911-map-zoom-row button{border-bottom:0!important;}
.p911-map-view-buttons-unified > button:last-child{border-bottom:0!important;}
.p911-map-view-buttons-unified button:hover{background:#eef6ff!important;color:#b91c1c!important;}
.p911-map-view-buttons-unified button[aria-pressed="false"]{background:#fff7ed!important;color:#9a3412!important;}
@media(max-width:980px){
  .p911-map-view-buttons-unified{min-width:82px!important;}
  .p911-map-view-buttons-unified button{font-size:10px!important;padding:8px 8px!important;}
  .p911-map-view-buttons-unified .p911-map-zoom-btn{height:32px!important;line-height:32px!important;font-size:20px!important;padding:0!important;}
}

/* V221s - badge version header admin et correction superposition controles carte */
.admin-brand-wrap{display:flex;align-items:center;gap:12px;min-width:0;}
.admin-version-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950;letter-spacing:.04em;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.10);}
.p911-leaflet-map .p911-map-view-control-unified.leaflet-control{z-index:940!important;}
.p911-leaflet-map .p911-leaflet-empty-overlay.p911-leaflet-empty-overlay-compact{left:132px!important;top:12px!important;}
@media(max-width:980px){.admin-version-badge{font-size:11px;padding:4px 8px}.p911-leaflet-map .p911-leaflet-empty-overlay.p911-leaflet-empty-overlay-compact{left:116px!important;top:10px!important;max-width:210px!important;}}


/* V221t - Surveillance IA libelles Pays/Alerte, controles unifies et vue fixe stable */
.p911-leaflet-map .leaflet-control-zoom{display:none!important;}
.p911-leaflet-map .p911-map-view-control-unified.leaflet-control{margin:0!important;z-index:960!important;}
.p911-leaflet-map .p911-leaflet-empty-overlay.p911-leaflet-empty-overlay-compact{display:none!important;}
.p911-map-view-buttons-unified button[data-p911-map-action="lock"]{background:#f8fafc!important;color:#0f172a!important;}

/* V221u - Surveillance IA : plus de superposition du message vide sur les boutons carte */
.p911-leaflet-map .p911-leaflet-empty-overlay,
.p911-leaflet-map .p911-leaflet-empty-overlay-compact{
  display:none!important;
  pointer-events:none!important;
}


/* V221v - Surveillance IA : Vue fixe stricte, aucun recadrage automatique en temps reel */
.p911-leaflet-map .p911-leaflet-empty-overlay,
.p911-leaflet-map .p911-leaflet-empty-overlay-compact{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.p911-map-view-buttons-unified button[data-p911-map-action="lock"][aria-pressed="true"]{
  background:#ecfdf5!important;
  color:#166534!important;
}
.p911-map-view-buttons-unified button[data-p911-map-action="lock"][aria-pressed="false"]{
  background:#fff7ed!important;
  color:#9a3412!important;
}


/* V221w - Journal securite temps reel */
.p911-live-journal-card{border:1px solid rgba(59,130,246,.18)}
.p911-journal-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.p911-journal-filters .button-light{padding:7px 11px;font-size:12px}
.p911-journal-filters .button-light.active{background:#0f172a;color:#fff;border-color:#0f172a}
.p911-live-journal-table td{vertical-align:middle}
.p911-live-url{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}
.p911-live-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.p911-level-success{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.p911-level-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.p911-level-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
@media(max-width:980px){.p911-journal-filters{justify-content:flex-start}.p911-live-url{max-width:220px}}


/* V221x - IP publiques non géolocalisées */
.p911-unknown-summary-card{
  margin:14px 0;
  padding:14px;
  border:1px solid #fed7aa;
  border-radius:18px;
  background:#fff7ed;
  color:#431407;
  box-shadow:0 10px 30px rgba(124,45,18,.08);
}
.p911-unknown-summary-card[hidden]{display:none!important;}
.p911-unknown-summary-head strong{display:block;font-size:1rem;color:#9a3412;}
.p911-unknown-summary-head p{margin:.25rem 0 .75rem;color:#7c2d12;}
.p911-unknown-summary-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:.5rem 0 .75rem;}
.p911-unknown-summary-kpis span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:.35rem .65rem;font-weight:800;}
.p911-unknown-summary-kpis b{color:#c2410c;margin-right:4px;}
.p911-unknown-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:.5rem 0;}
.p911-unknown-summary-list span{background:#fff;border:1px solid #ffedd5;border-radius:12px;padding:.5rem .65rem;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


/* V221y - Centre de décision sécurité */
.p911-decision-center{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}
.p911-decision-titlebar{align-items:flex-start}.p911-decision-level{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font-weight:950;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;min-width:110px}.p911-decision-level-normal{background:#dcfce7;color:#166534;border-color:#bbf7d0}.p911-decision-level-watch{background:#fffbeb;color:#92400e;border-color:#fde68a}.p911-decision-level-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.p911-decision-level-critical{background:#fee2e2;color:#991b1b;border-color:#fecaca}.p911-decision-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0 16px}.p911-decision-kpis span,.p911-decision-class-grid span{display:block;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:10px;text-align:center;color:#475569;font-weight:850}.p911-decision-kpis b,.p911-decision-class-grid b{display:block;color:#0f172a;font-size:1.25rem;line-height:1.1}.p911-decision-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:16px}.p911-decision-actions,.p911-decision-classes{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:16px}.p911-decision-actions h3,.p911-decision-classes h3{margin:0 0 10px}.p911-decision-actions ul{margin:0 0 10px 18px;padding:0}.p911-decision-actions li{margin:7px 0;font-weight:800;color:#334155}.p911-decision-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.p911-decision-class-grid .critical{border-color:#fecaca;background:#fef2f2;color:#991b1b}.p911-decision-class-grid .suspect{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.p911-decision-class-grid .watch{border-color:#fde68a;background:#fffbeb;color:#92400e}.p911-decision-class-grid .safe{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.p911-decision-table-wrap{box-shadow:none}.p911-decision-table code{white-space:nowrap}.p911-decision-pill-critical{background:#fee2e2!important;color:#991b1b!important}.p911-decision-pill-suspect{background:#fff7ed!important;color:#9a3412!important}.p911-decision-pill-watch{background:#fffbeb!important;color:#92400e!important}.p911-decision-pill-safe{background:#dcfce7!important;color:#166534!important}.p911-decision-row-critical td{background:#fff5f5}.p911-decision-row-suspect td{background:#fffaf0}@media(max-width:1180px){.p911-decision-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.p911-decision-layout{grid-template-columns:1fr}.p911-decision-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.p911-decision-kpis,.p911-decision-class-grid{grid-template-columns:1fr}}


/* V221z - Surveillance IA : langue visiteur FR/EN */
.p911-lang-pill{font-weight:900;letter-spacing:.03em;white-space:nowrap;}
.p911-lang-fr{background:#eef6ff!important;color:#1d4ed8!important;border:1px solid rgba(29,78,216,.22)!important;}
.p911-lang-en{background:#f0fdf4!important;color:#15803d!important;border:1px solid rgba(21,128,61,.22)!important;}
.p911-lang-unknown{background:#f8fafc!important;color:#64748b!important;border:1px solid rgba(100,116,139,.25)!important;}
.p911-decision-kpis span:nth-last-child(2) b{color:#15803d;}
.p911-live-journal-table td small{line-height:1.25;}

/* V222a - Surveillance IA : comportement visiteur et parcours */
.p911-visitor-paths-card .admin-titlebar{align-items:flex-start;}
.p911-visitor-paths-wrap{overflow:auto;}
.p911-visitor-paths-table td{vertical-align:top;}
.p911-visitor-paths-table code{display:inline-block;max-width:260px;white-space:normal;word-break:break-all;}
.p911-visitor-row-critical{background:#fff1f2;}
.p911-visitor-row-suspect{background:#fff7ed;}
.p911-visitor-row-watch{background:#fffbeb;}
.p911-visitor-row-safe{background:#f8fafc;}
.p911-visitor-row-critical td:first-child{border-left:5px solid #dc2626;}
.p911-visitor-row-suspect td:first-child{border-left:5px solid #f97316;}
.p911-visitor-row-watch td:first-child{border-left:5px solid #facc15;}
.p911-visitor-row-safe td:first-child{border-left:5px solid #22c55e;}
@media(max-width:900px){.p911-visitor-paths-table{min-width:980px;}}

/* V222f - Synchronisation reelle historique / UFW proxy */
.p911-proxy-agent-status .p911-agent-kpis span{min-width:150px;}
.p911-agent-install-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;}
.p911-copy-block{background:#0f172a;color:#e5e7eb;border-radius:14px;padding:14px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
@media(max-width:980px){.p911-agent-install-grid{grid-template-columns:1fr;}}

/* V222k - Journal temps reel IP publiques et blocages automatiques visibles */
.p911-block-badge{font-weight:950;text-transform:uppercase;letter-spacing:.025em;border:1px solid transparent;white-space:normal;line-height:1.15;text-align:center}
.p911-block-none{background:#f8fafc!important;color:#64748b!important;border-color:#e2e8f0!important}
.p911-block-auto{background:#991b1b!important;color:#fff!important;border-color:#7f1d1d!important;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
.p911-block-active{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
.p911-block-pending{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important}
.p911-block-simulated{background:#f1f5f9!important;color:#475569!important;border-color:#cbd5e1!important}
.p911-block-failed{background:#111827!important;color:#fff!important;border-color:#0f172a!important}
.p911-block-remove{background:#e0f2fe!important;color:#075985!important;border-color:#7dd3fc!important}
.p911-block-removed{background:#f8fafc!important;color:#64748b!important;border-color:#e2e8f0!important}
.p911-row-blocked td{background:#fff1f2!important;border-top:1px solid #fecdd3;border-bottom-color:#fecdd3!important}
.p911-row-pending-block td{background:#fff7ed!important;border-top:1px solid #fed7aa;border-bottom-color:#fed7aa!important}
.p911-row-simulated-block td{background:#f8fafc!important}
.p911-row-failed-block td{background:#111827!important;color:#fff!important}
.p911-row-failed-block td a,.p911-row-failed-block td small,.p911-row-failed-block td code{color:#fff!important}
.p911-row-pending-remove td{background:#eff6ff!important;border-top:1px solid #bfdbfe;border-bottom-color:#bfdbfe!important}
.p911-live-journal-table th:nth-child(8),.p911-live-journal-table td:nth-child(8){min-width:170px}
.security-log-table th:nth-child(7),.security-log-table td:nth-child(7){min-width:180px}
