/* TentoniNumérik 1.36 — Mode Édition Tentoni. Couche autonome, sans modifier la structure métier. */
.tn-edit-toolbar{position:fixed;z-index:2147482000;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:8px 10px;border:1px solid rgba(14,49,102,.18);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(4,29,71,.22);backdrop-filter:blur(14px);font:600 13px/1.1 system-ui,-apple-system,Segoe UI,sans-serif}.tn-edit-toolbar button{white-space:nowrap;border:0;border-radius:11px;padding:9px 11px;background:#edf3ff;color:#17355e;cursor:pointer}.tn-edit-toolbar button:hover{background:#dde9ff}.tn-edit-toolbar .tn-mode-toggle{background:#0b57d0;color:#fff}.tn-edit-toolbar .tn-mode-toggle.active{background:#0d7a42}.tn-edit-toolbar b{color:#b42318}.tn-edit-version{font-size:11px;color:#697386;white-space:nowrap}.tn-edit-active #main-content,.tn-edit-active .site-header,.tn-edit-active .site-footer{cursor:crosshair}.tn-edit-hover{outline:3px solid #1f73e8!important;outline-offset:3px!important;box-shadow:0 0 0 6px rgba(31,115,232,.14)!important}.tn-edit-active [data-tn-edited="1"]{outline:2px dashed rgba(10,132,70,.55);outline-offset:2px}.tn-edit-home-card{position:relative;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.6fr) auto;gap:18px;align-items:center;margin-bottom:18px;border:1px solid rgba(12,87,208,.22)!important;background:linear-gradient(135deg,rgba(237,245,255,.97),rgba(255,255,255,.98))!important}.tn-edit-home-card h2{margin:.15rem 0}.tn-edit-home-list{display:grid;gap:6px}.tn-edit-home-list button{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid #dbe6f7;border-radius:10px;background:#fff;padding:8px 10px}.tn-edit-home-list small{color:#64748b}.tn-edit-toast{position:fixed;z-index:2147483000;right:20px;bottom:22px;max-width:420px;padding:13px 16px;border-radius:12px;background:#17355e;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.25);opacity:0;transform:translateY(18px);pointer-events:none;transition:.2s}.tn-edit-toast.show{opacity:1;transform:none}.tn-edit-toast[data-tone="error"]{background:#a71919}.tn-edit-modal-overlay,.tn-preview-overlay{position:fixed;z-index:2147482500;inset:0;display:grid;place-items:center;background:rgba(4,15,35,.58);padding:20px}.tn-edit-modal{width:min(620px,96vw);max-height:88vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.32)}.tn-edit-modal.wide{width:min(920px,96vw)}.tn-edit-modal>header,.tn-preview-window>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#f8fbff;border-bottom:1px solid #dce7f7}.tn-edit-modal>header h2{margin:0;font-size:20px}.tn-edit-modal>header button,.tn-preview-window>header button{border:0;border-radius:9px;padding:8px 11px;background:#e9eff8;cursor:pointer}.tn-edit-modal-body{padding:18px}.tn-edit-modal-body label{display:grid;gap:6px;font-weight:650;color:#263b58}.tn-edit-modal-body input,.tn-edit-modal-body textarea,.tn-edit-modal-body select{width:100%;box-sizing:border-box;border:1px solid #cad7e8;border-radius:10px;padding:10px 11px;background:#fff;color:#182c48;font:inherit}.tn-object-meta{display:flex;gap:10px;align-items:center;margin-bottom:14px}.tn-object-meta span{background:#e9f2ff;color:#174f9e;border-radius:999px;padding:5px 9px;font-weight:700}.tn-object-meta code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b}.tn-style-row,.tn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.tn-style-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-inspector-actions,.tn-dev-actions,.tn-change-toolbar,.tn-panel-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:14px 0}.tn-inspector-actions button,.tn-edit-modal-body>button,.tn-change-actions button,.tn-panel-head button,.tn-dev-actions button,.tn-file-button,.tn-change-toolbar button{border:0;border-radius:10px;padding:10px 12px;background:#0b57d0;color:#fff;cursor:pointer;font-weight:700}.tn-inspector-actions .secondary,.tn-change-actions .secondary,.tn-file-button.secondary,.tn-change-toolbar .secondary{background:#e9eff8;color:#17355e}.tn-inspector-actions .warning{background:#d88900;color:#fff}.tn-inspector-actions .danger,.tn-change-actions .danger{background:#b42318}.tn-image-editor{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start}.tn-image-editor img{width:180px;height:130px;object-fit:cover;border-radius:12px;border:1px solid #d7e1ef}.tn-image-editor label{grid-column:2}.tn-edit-drawer{position:fixed;z-index:2147482400;right:0;top:0;width:min(680px,96vw);height:100vh;background:#f6f9fe;box-shadow:-18px 0 48px rgba(7,34,79,.28);overflow:auto}.tn-edit-drawer>header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px;background:#fff;border-bottom:1px solid #dbe5f2}.tn-edit-drawer>header h2{margin:0}.tn-edit-drawer>header button{border:0;background:#e9eff8;border-radius:10px;padding:9px 12px}.tn-drawer-body{padding:16px}.tn-change-card{background:#fff;border:1px solid #dbe5f2;border-radius:14px;padding:14px;margin-bottom:12px}.tn-change-card.focus{border-color:#0b57d0;box-shadow:0 0 0 3px rgba(11,87,208,.12)}.tn-change-card>header{display:flex;justify-content:space-between;gap:16px}.tn-change-card header small{display:block;color:#6b778b;margin-top:4px}.tn-status{align-self:start;border-radius:999px;padding:5px 8px;background:#edf2f8;color:#4b5f78;font-size:11px;font-weight:800}.tn-status.pending{background:#fff4d6;color:#8a5a00}.tn-status.accepted{background:#e4f7eb;color:#166534}.tn-status.published{background:#e7efff;color:#184f9e}.tn-status.ignored,.tn-status.deleted{background:#f3f4f6;color:#6b7280}.tn-checks{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.tn-check-badge{font-size:11px;border-radius:999px;padding:4px 7px;background:#eef2f7;color:#526174}.tn-check-badge.ok{background:#e3f7ea;color:#166534}.tn-check-badge.attention{background:#fff3d2;color:#8a5a00}.tn-check-badge.error{background:#fee7e6;color:#b42318}.tn-change-explain{border-left:4px solid #d99000;background:#fff8e7;padding:9px 11px;margin:8px 0;border-radius:7px}.tn-change-explain.error{border-left-color:#b42318;background:#fff0ef}.tn-change-explain p{margin:.25rem 0 0}.tn-change-card details pre{white-space:pre-wrap;max-height:220px;overflow:auto;background:#f5f7fa;border-radius:9px;padding:9px;font-size:11px}.tn-manage-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:10px}.tn-manage-tabs button{white-space:nowrap;border:1px solid #d4dfed;border-radius:999px;background:#fff;padding:8px 10px}.tn-manage-tabs button.active{background:#0b57d0;color:#fff;border-color:#0b57d0}.tn-manage-list{display:grid;gap:8px;margin-top:12px}.tn-manage-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid #dbe5f2;border-radius:12px;padding:11px}.tn-manage-list article small{display:block;color:#64748b;margin-top:4px}.tn-manage-list button{border:0;border-radius:8px;padding:8px 10px;background:#e9eff8;color:#17355e;cursor:pointer}.tn-manage-list .danger{background:#fee7e6;color:#9b1c1c}.tn-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tn-add-grid button{padding:18px;border:1px solid #cdd9e8;border-radius:12px;background:#f8fbff;font-weight:750;color:#17355e}.tn-profile-edit{display:grid;gap:13px}.tn-profile-edit>div:first-child{width:100px;height:100px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eaf1fb;font-size:34px}.tn-profile-edit img{width:100%;height:100%;object-fit:cover}.tn-contract{white-space:pre-wrap;background:#10253f;color:#d9ebff;border-radius:12px;padding:14px}.tn-preview-overlay{place-items:stretch;padding:20px}.tn-preview-window{display:flex;flex-direction:column;min-height:0;background:#eef3f9;border-radius:18px;overflow:hidden}.tn-preview-window>header{position:static}.tn-preview-stage{flex:1;display:flex;justify-content:center;align-items:stretch;overflow:auto;padding:14px}.tn-preview-stage iframe{width:1200px;max-width:100%;height:100%;border:1px solid #ccd8e8;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.18);transition:width .2s}.tn-file-button{display:inline-flex;align-items:center}.tn-edit-ui button:focus-visible,.tn-edit-ui input:focus-visible,.tn-edit-ui textarea:focus-visible{outline:3px solid rgba(11,87,208,.35);outline-offset:2px}
@media(max-width:900px){.tn-edit-toolbar{left:10px;right:10px;top:auto;bottom:10px;transform:none;overflow-x:auto;justify-content:flex-start}.tn-edit-version{display:none}.tn-edit-home-card{grid-template-columns:1fr}.tn-style-row,.tn-form-grid{grid-template-columns:1fr}.tn-image-editor{grid-template-columns:1fr}.tn-image-editor label{grid-column:auto}.tn-edit-drawer{width:100vw}.tn-edit-modal-overlay{padding:8px}.tn-edit-modal{max-height:94vh}.tn-preview-overlay{padding:5px}.tn-manage-list article{align-items:flex-start;flex-direction:column}.tn-add-grid{grid-template-columns:1fr}}
@media(max-width:520px){.tn-edit-toolbar button{padding:8px 9px;font-size:12px}.tn-edit-home-card{padding:14px}.tn-edit-drawer>header,.tn-drawer-body{padding:12px}.tn-edit-modal-body{padding:13px}.tn-change-card>header{flex-direction:column}.tn-preview-window>header{flex-direction:column;align-items:flex-start}}

/* === TentoniNumérik 1.36.0-preview.2 — finition et fiabilité du Mode Édition === */
/* Le panneau d’édition devient compact, déplaçable et repliable afin de ne jamais masquer l’heure, la météo ou la navigation. */
.tn-edit-toolbar{
  left:auto!important;
  right:18px!important;
  top:112px!important;
  transform:none!important;
  width:210px;
  max-width:calc(100vw - 20px)!important;
  padding:7px!important;
  display:flex!important;
  flex-direction:column;
  align-items:stretch!important;
  gap:6px!important;
  border-radius:16px!important;
  box-sizing:border-box;
  user-select:none;
  overflow:visible!important;
}
.tn-toolbar-head{display:grid;grid-template-columns:26px minmax(0,1fr) 28px;gap:5px;align-items:center}
.tn-toolbar-actions{display:grid;gap:5px;min-width:0}
.tn-toolbar-actions button{width:100%;text-align:left}
.tn-toolbar-grip,.tn-toolbar-collapse{padding:7px 4px!important;min-width:0!important;text-align:center!important;background:#e9eff8!important;color:#425a78!important}
.tn-toolbar-grip{cursor:grab!important;touch-action:none;font-weight:900;letter-spacing:-2px}
.tn-toolbar-grip:active{cursor:grabbing!important}
.tn-toolbar-collapse{font-size:16px!important;font-weight:900!important}
.tn-edit-toolbar .tn-mode-toggle{width:100%;overflow:hidden;text-overflow:ellipsis}
.tn-edit-toolbar.collapsed{width:210px}
.tn-edit-toolbar.collapsed .tn-toolbar-actions{display:none}
.tn-edit-toolbar.collapsed .tn-edit-version{display:none}
.tn-edit-version{display:block;padding:2px 4px;text-align:center}

/* Centre des modifications : alignement strict dans la largeur utile du site. */
.tn-edit-home-card{
  width:calc(100% - 32px)!important;
  max-width:1420px!important;
  margin:14px auto 18px!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.5fr) max-content!important;
}
.tn-edit-home-card>*{min-width:0}
.tn-edit-home-list{min-width:0!important;width:100%;overflow:hidden}
.tn-edit-home-list button{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.tn-edit-home-list button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-edit-home-list button small{flex:none;max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tn-home-review{justify-self:end;white-space:nowrap}

/* Inspecteur : présentation plus professionnelle, sans exposer le sélecteur technique en permanence. */
.tn-object-meta{align-items:flex-start;flex-wrap:wrap}
.tn-object-meta>strong{flex:1;min-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263b58}
.tn-object-meta details{flex-basis:100%;font-size:12px;color:#64748b}
.tn-object-meta details summary{cursor:pointer;font-weight:700;color:#49627f}
.tn-object-meta details code{display:block;margin-top:6px;padding:7px 9px;background:#f4f7fb;border-radius:8px;white-space:normal;overflow-wrap:anywhere}

/* Le contenu du pied de page est remonté légèrement sans changer sa structure. */
.site-shell.home-mode .footer-inner{position:relative;top:-3px}

@media(max-width:1180px){
  .tn-edit-home-card{width:calc(100% - 22px)!important;grid-template-columns:1fr!important;margin:11px auto 14px!important}
  #tn-home-review{justify-self:start}
}
@media(max-width:900px){
  .tn-edit-toolbar{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    flex-direction:column!important;
  }
  .tn-toolbar-head{grid-template-columns:24px minmax(150px,1fr) 28px}
  .tn-toolbar-grip{cursor:default!important}
  .tn-edit-toolbar:not(.collapsed) .tn-toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}
  .tn-edit-toolbar:not(.collapsed) .tn-toolbar-actions button{text-align:center}
  .tn-edit-home-list button{align-items:flex-start;flex-direction:column}
  .tn-edit-home-list button small{max-width:100%}
}
@media(max-width:520px){
  .tn-edit-home-card{width:calc(100% - 14px)!important;padding:12px!important}
  .tn-edit-toolbar:not(.collapsed) .tn-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-toolbar-head{grid-template-columns:22px minmax(120px,1fr) 26px}
}

/* === TentoniNumérik 1.37 — inspecteur riche + audit complet === */
.tn-edit-modal.wide{width:min(1040px,97vw)}
.tn-editor-sections{display:grid;gap:14px}.tn-editor-section{border:1px solid #d8e3f1;border-radius:14px;padding:13px 14px;background:#fbfdff}.tn-editor-section legend{padding:0 7px;font-weight:900;color:#17355e}.tn-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tn-style-grid label{min-width:0}.tn-check-option{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:flex-start;gap:8px!important;padding:10px;border:1px solid #dce6f2;border-radius:10px;background:#fff}.tn-check-option input{width:auto!important;margin:0}.tn-image-editor{grid-template-columns:200px repeat(2,minmax(0,1fr))}.tn-image-editor img{grid-row:1/4;width:200px;height:150px}.tn-image-editor label{grid-column:auto}.tn-page-audit-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tn-page-audit-summary>*{padding:7px 10px;border-radius:999px;background:#edf3fb}.tn-page-audit-list,.tn-site-audit-list{display:grid;gap:8px}.tn-page-audit-list article,.tn-site-audit-list article{padding:10px 12px;border:1px solid #dce5f0;border-radius:11px;background:#fff}.tn-page-audit-list article.error,.tn-site-audit-list article.error{border-left:4px solid #b42318}.tn-page-audit-list article.attention,.tn-site-audit-list article.attention{border-left:4px solid #d88900}.tn-page-audit-list article.ok,.tn-site-audit-list article.ok{border-left:4px solid #16864b}.tn-page-audit-list p{margin:.3rem 0}.tn-page-audit-list small{color:#64748b;overflow-wrap:anywhere}.tn-audit-note{margin-top:14px;color:#64748b;font-size:12px}.tn-site-audit-progress{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:12px;border-radius:12px;background:#f3f7fc}.tn-site-audit-progress p{grid-column:1/-1;margin:0;color:#64748b}.tn-site-audit-progress progress{width:100%;height:12px}.tn-site-audit-list article header{display:flex;justify-content:space-between;gap:12px}.tn-site-audit-list article ul{margin:.6rem 0 0;padding-left:20px;color:#4d6078}.tn-site-audit-list article li{margin:.25rem 0}.tn-audit-frame{position:fixed!important;width:1200px!important;height:900px!important;left:-10000px!important;top:-10000px!important;opacity:0!important;pointer-events:none!important;border:0!important}
@media(max-width:1000px){.tn-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-image-editor{grid-template-columns:150px 1fr}.tn-image-editor img{width:150px;height:120px;grid-row:1/5}.tn-image-editor label{grid-column:2}}
@media(max-width:620px){.tn-style-grid,.tn-image-editor{grid-template-columns:1fr}.tn-image-editor img{grid-row:auto;width:100%;height:170px}.tn-image-editor label{grid-column:auto}.tn-editor-section{padding:10px}.tn-edit-modal.wide{width:calc(100vw - 10px)}}

/* 1.38 — panneau de style enrichi façon traitement de texte. */
.edit-modal-card{max-height:min(92vh,920px);overflow:auto}
.edit-modal-card .edit-form-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}
.edit-modal-card details{grid-column:1/-1;border:1px solid #dbe7f5;border-radius:12px;padding:9px 11px;background:#f9fcff}
.edit-modal-card details summary{cursor:pointer;font-weight:800;color:#123b76}
@media (max-width:900px){.edit-modal-card .edit-form-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media (max-width:560px){.edit-modal-card{width:calc(100vw - 20px)!important;max-width:none!important;padding:14px!important}.edit-modal-card .edit-form-grid{grid-template-columns:1fr}.edit-modal-card .edit-actions{position:sticky;bottom:-14px;background:#fff;padding:10px 0 4px;z-index:2}}

/* === TentoniNumérik 1.39 — publication et retour arrière sécurisés === */
.tn-release-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tn-release-toolbar .tn-publish-site{background:#146c43!important;border-color:#146c43!important;color:#fff!important;font-weight:900!important}
.tn-release-toolbar .tn-publish-site.not-ready{background:#667085!important;border-color:#667085!important}
.tn-release-toolbar button:disabled{opacity:.62;cursor:wait!important}
.tn-release-state{display:grid;grid-template-columns:max-content 1fr;gap:8px 12px;align-items:center;margin:10px 0 14px;padding:10px 12px;border-radius:12px;border:1px solid #d7e2ef;background:#f7faff;color:#38506d}
.tn-release-state.ready{border-color:#b7ddc9;background:#f1fbf5;color:#185d3d}
.tn-rollback-box{display:grid;gap:10px}
.tn-rollback-box button{justify-self:start}
.tn-rollback-box small,.tn-muted{color:#667085}
@media(max-width:620px){.tn-release-toolbar{display:grid;grid-template-columns:1fr 1fr}.tn-release-toolbar button{width:100%}.tn-release-state{grid-template-columns:1fr}.tn-rollback-box button{width:100%;justify-self:stretch}}

/* === TentoniNumérik 1.40 — commandes visibles page par page === */
.tn-page-action-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #e3ebf5;
}
.tn-page-action{
  min-height:44px;
  border:1px solid transparent;
  border-radius:11px;
  padding:10px 11px;
  font:800 12px/1.15 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;
  text-align:center;
  box-shadow:0 2px 7px rgba(18,58,108,.08);
  transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease;
}
.tn-page-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 13px rgba(18,58,108,.13)}
.tn-page-action:focus-visible{outline:3px solid rgba(11,87,208,.3);outline-offset:2px}
.tn-page-action.view{background:#eef4fd;color:#17355e;border-color:#d9e5f4}
.tn-page-action.edit{background:#0b57d0;color:#fff;border-color:#0b57d0}
.tn-page-action.validate{background:#138a50;color:#fff;border-color:#138a50}
.tn-page-action.rollback{background:#fff3d7;color:#7a5000;border-color:#f0d18a}
.tn-page-action.restore{background:#efe9ff;color:#5530a5;border-color:#d8c9ff}
.tn-page-action.delete{background:#fff0ef;color:#a51d1d;border-color:#f0c6c2}
.tn-page-action:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.tn-secondary-actions{margin-top:9px;color:#667085;font-size:12px}
.tn-secondary-actions>summary{cursor:pointer;font-weight:750}
.tn-secondary-actions .tn-change-actions{margin:8px 0 0}
.tn-status.rolled_back,.tn-status.restored{background:#efe9ff;color:#5530a5}
.tn-change-card[data-change-status="published"]{border-left:4px solid #2f6fd1}
.tn-change-card[data-change-status="accepted"]{border-left:4px solid #1c9658}
.tn-change-card[data-change-status="pending"]{border-left:4px solid #d99500}
@media(max-width:760px){
  .tn-page-action-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tn-page-action{min-height:42px;padding:9px 8px;font-size:11px}
}
@media(max-width:430px){
  .tn-page-action-strip{grid-template-columns:1fr}
  .tn-page-action{font-size:12px}
}
