:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18202a;background:#f3f5f7}
*{box-sizing:border-box} body{margin:0}.shell{max-width:960px;margin:0 auto;padding:48px 20px}.wide-shell{max-width:1200px}.card{background:#fff;border:1px solid #dfe4ea;border-radius:20px;padding:34px;box-shadow:0 18px 60px rgba(18,32,47,.08)}.narrow{max-width:520px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#667085}.lead{font-size:18px;line-height:1.6;color:#52606d;max-width:760px}h1{font-size:38px;line-height:1.1;margin:10px 0 18px}fieldset{border:0;border-top:1px solid #e7ebef;margin:30px 0 0;padding:25px 0 0}legend{font-size:19px;font-weight:800;padding-right:15px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}input,select{width:100%;border:1px solid #cfd6dd;border-radius:10px;padding:12px 13px;font:inherit;background:#fff}input:focus,select:focus{outline:2px solid #aebbc8;outline-offset:1px}.consent{flex-direction:row;align-items:center;margin:25px 0}.consent input{width:auto}button,.linkbtn{border:0;border-radius:10px;padding:13px 18px;background:#17202a;color:#fff;font-weight:800;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#687586}.error{background:#fff1f1;padding:12px;border-radius:10px}.success{background:#eef9f0;padding:12px;border-radius:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid #e5e9ee;vertical-align:top}.pill{background:#eef1f4;border-radius:999px;padding:5px 9px;font-size:12px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.summary div{border:1px solid #e4e8ec;border-radius:12px;padding:14px}.summary strong,.summary span{display:block}.summary span{margin-top:5px;color:#596675}.actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:700px){.grid,.summary{grid-template-columns:1fr}.wide{grid-column:auto}.card{padding:22px}.shell{padding:22px 12px}h1{font-size:31px}}

.local-banner{background:#fff7d6;border:1px solid #efd77a;border-radius:10px;padding:10px 12px;margin-bottom:18px;font-size:13px;font-weight:800;color:#6d5a13}

.diag{margin-top:28px;border-top:1px solid #e4e8ec;padding-top:22px}
.diag pre{white-space:pre-wrap;word-break:break-word;background:#f5f7f9;padding:14px;border-radius:10px;max-height:420px;overflow:auto}
.diag details{margin:12px 0}
.diag summary{cursor:pointer;font-weight:700}

.attachments{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 20px}
.attachment-card{border:1px solid #e4e8ec;border-radius:12px;padding:16px}
@media(max-width:700px){.attachments{grid-template-columns:1fr}}

.danger-zone{border:1px solid #ead3d3;border-radius:14px;padding:20px;margin-top:28px;background:#fffafa}
button.danger{background:#8b1e1e}

/* V3.6 — gestion manuelle des disponibilités */
.admin-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.admin-toolbar h1{margin-bottom:10px}
.inline-form{margin:0}
.inline-form button{white-space:nowrap;padding:10px 12px}
.availability-summary{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.availability-summary>*{border:1px solid #e4e8ec;border-radius:999px;padding:8px 12px;background:#f8fafb}
.availability-pill{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.availability-pill.is-available{background:#eaf7ed;color:#236b35}
.availability-pill.is-unavailable{background:#f3f4f6;color:#667085}
.room-inactive td{opacity:.68;background:#fafafa}
.room-inactive td:last-child{opacity:1}
.room-group{margin-top:34px}
.rooms-table button{font-size:13px}
@media(max-width:700px){.admin-toolbar{display:block}.admin-toolbar .actions{margin-top:16px}}

/* V3.8 — disponibilité automatique, renouvellements et mois contractuels */
.rooms-table-v38{min-width:1320px}
.status-available{background:#eaf7ed;color:#236b35}
.status-occupied{background:#ffecec;color:#8a2c2c}
.status-reserved{background:#fff4d6;color:#805f00}
.status-future{background:#eef3ff;color:#3159a4}
.status-manual_block{background:#f0f0f0;color:#555}
.warning-text{display:block;margin-top:7px;color:#9a6700;max-width:260px;line-height:1.35}
.room-override-form{display:grid;gap:7px;min-width:220px}
.room-override-form label{font-size:12px}
.room-override-form input{padding:8px 9px}
.ghost{background:#f3f5f7;color:#334155;border:1px solid #d7dde4;margin-top:7px}
.compact-actions button{padding:9px 11px;font-size:12px}
.mail-preview{border:1px solid #e1e6eb;border-radius:10px;padding:10px 12px;margin:10px 0}
.mail-preview summary{cursor:pointer;font-weight:800}
.mail-preview pre{white-space:pre-wrap;word-break:break-word;background:#f7f9fb;border-radius:8px;padding:12px}
.choice-card{border:1px solid #dfe4ea;border-radius:12px;padding:14px;margin:10px 0;flex-direction:row;align-items:center}
.choice-card input{width:auto}
#extension-fields{margin-top:16px;border-left:3px solid #dfe4ea;padding-left:16px}

/* V3.10 — Gestion des chambres en cartes responsives */
.room-group-cards{overflow:visible}
.building-meta{margin:6px 0 18px;color:#667085}
.room-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.room-card-v310{border:1px solid #dfe4ea;border-radius:16px;padding:18px;background:#fff;box-shadow:0 4px 18px rgba(18,32,47,.045);min-width:0}
.room-card-v310.room-card-blocked{background:#fafafa;border-color:#d6d9dd}
.room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #edf0f3}
.room-card-head h2{font-size:28px;line-height:1;margin:3px 0 0}
.room-card-kicker,.room-card-label{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800;color:#7a8592}
.room-card-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.room-card-facts>div{background:#f7f9fb;border-radius:10px;padding:10px;min-width:0}
.room-card-facts span{display:block;color:#667085;font-size:11px;font-weight:700;margin-bottom:4px}
.room-card-facts strong{font-size:13px;overflow-wrap:anywhere}
.room-card-section{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid #edf0f3}
.room-card-section small{color:#667085;line-height:1.45}
.room-card-date{font-size:20px}
.muted{color:#8a94a1;font-size:14px}
.availability-date-box{padding-bottom:14px}
.override-active-note{background:#fff7df;border:1px solid #f0dda0;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13px;line-height:1.4}
.room-owner-controls{border-top:1px solid #edf0f3;padding-top:12px;margin-top:2px}
.room-owner-controls>summary{cursor:pointer;font-weight:800;color:#344054;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}
.room-owner-controls>summary::-webkit-details-marker{display:none}
.room-owner-controls>summary::after{content:'+';font-size:20px;font-weight:500;color:#667085}
.room-owner-controls[open]>summary::after{content:'−'}
.room-owner-controls-body{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed #dde3e8}
.room-override-form-v310{min-width:0}
.room-override-form-v310 button,.full-width-button{width:100%}
.room-block-control{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #edf0f3;padding-top:12px}
.room-block-control small{color:#667085}
.room-block-control form{flex:0 0 auto}

@media(max-width:900px){
  .room-cards-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .room-card-v310{padding:15px}
  .room-card-facts{grid-template-columns:1fr 1fr}
  .room-block-control{align-items:stretch;flex-direction:column}
  .room-block-control form,.room-block-control button{width:100%}
  .availability-summary{gap:8px}
  .availability-summary>*{font-size:12px}
}


/* V3.13 — Gestion des chambres : tableau compact et triable */
.rooms-table-wrap-v313{width:100%;overflow-x:auto;border:1px solid #e1e6eb;border-radius:14px;margin-top:22px}
.rooms-table-v313{width:100%;min-width:930px;border-collapse:collapse;background:#fff}
.rooms-table-v313 th{background:#f7f9fb;padding:0;border-bottom:1px solid #dfe4ea;white-space:nowrap}
.rooms-table-v313 td{padding:15px 14px;vertical-align:middle;border-bottom:1px solid #edf0f3}
.rooms-table-v313 tbody tr:last-child td{border-bottom:0}
.rooms-table-v313 tbody tr:hover{background:#fbfcfd}
.room-row-blocked-v313{background:#fafafa}
.room-row-blocked-v313>td:not(.owner-cell-v313){opacity:.72}
.sort-button-v313{display:flex;align-items:center;gap:7px;width:100%;padding:13px 14px;border:0;border-radius:0;background:transparent;color:#344054;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;text-align:left;cursor:pointer}
.sort-button-v313:hover{background:#eef2f6;color:#18202a}
.sort-indicator{display:inline-block;min-width:10px;color:#667085;font-size:10px}
.room-number-v313{font-size:18px}
.table-subline-v313{display:block;margin-top:4px;color:#667085;line-height:1.35}
.warning-table-v313{max-width:240px;font-size:11px}
.owner-column-v313{width:170px;text-align:left;padding:13px 14px!important;font-size:12px;text-transform:uppercase;letter-spacing:.035em;color:#344054}
.owner-cell-v313{width:170px;position:relative}
.room-owner-controls-table-v313{border:0;padding:0;margin:0;position:relative}
.room-owner-controls-table-v313>summary{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:9px 13px;border-radius:9px;background:#687586;color:#fff;font-weight:800;cursor:pointer;list-style:none}
.room-owner-controls-table-v313>summary::-webkit-details-marker{display:none}
.room-owner-controls-table-v313>summary::after{content:'+';margin-left:8px;font-size:16px;color:#fff}
.room-owner-controls-table-v313[open]>summary::after{content:'−'}
.owner-panel-v313{min-width:310px;max-width:390px;background:#fff;border:1px solid #dfe4ea;border-radius:12px;padding:16px;box-shadow:0 16px 40px rgba(18,32,47,.14);margin-top:10px}
.owner-room-title-v313{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:11px;border-bottom:1px solid #edf0f3}
.owner-room-title-v313 small{color:#667085;white-space:nowrap}
.archived-lease-controls-v313{border-top:1px solid #edf0f3;padding-top:10px}
.archived-lease-controls-v313>summary{cursor:pointer;font-weight:800;color:#344054}
.archived-lease-controls-body-v313{display:grid;gap:12px;margin-top:12px}
@media(max-width:760px){
  .rooms-table-v313{min-width:850px}
  .owner-panel-v313{min-width:290px}
}

/* V3.14 — fiche chambre dédiée */
.room-manage-link-v314{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:9px;background:#687586;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
.room-manage-link-v314:hover{background:#556273}
.back-link-v314{display:inline-block;margin-bottom:20px;color:#52606d;text-decoration:none;font-weight:800}
.back-link-v314:hover{text-decoration:underline}
.room-detail-head-v314{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.room-detail-head-v314 h1{margin-bottom:8px}
.room-detail-head-v314 .lead{margin:0}
.room-detail-status-v314{font-size:14px;padding:9px 14px}
.room-detail-grid-v314{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.room-detail-panel-v314{border:1px solid #dfe4ea;border-radius:16px;padding:20px;background:#fff;min-width:0}
.room-detail-panel-v314 h2{font-size:20px;margin:0 0 16px}
.room-detail-panel-v314 h3{font-size:16px;margin:0 0 8px}
.room-detail-span-v314{grid-column:1/-1}
.detail-list-v314{margin:0;display:grid;gap:0}
.detail-list-v314>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr);gap:16px;padding:11px 0;border-bottom:1px solid #edf0f3}
.detail-list-v314>div:last-child{border-bottom:0}
.detail-list-v314 dt{color:#667085;font-size:13px;font-weight:700}
.detail-list-v314 dd{margin:0;font-weight:800;overflow-wrap:anywhere}
.panel-title-row-v314{display:flex;justify-content:space-between;gap:18px;align-items:baseline;flex-wrap:wrap}
.current-lease-v314{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.current-lease-v314>div{background:#f7f9fb;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px;min-width:0}
.current-lease-v314 a{color:#52606d;font-size:13px;overflow-wrap:anywhere}
.owner-settings-grid-v314{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px}
.owner-setting-card-v314{border:1px solid #e4e8ec;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.owner-setting-card-v314 p{margin:0;line-height:1.45}
.owner-setting-card-v314 button{align-self:flex-start}
.room-history-list-v314{display:grid;gap:10px}
.history-item-v314{display:grid;grid-template-columns:1.25fr 1.25fr auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid #e5e9ee;border-radius:11px;background:#fff}
.history-item-v314>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.history-item-v314 small{color:#667085;overflow-wrap:anywhere}
.history-item-v314>a{font-weight:800;color:#52606d;text-decoration:none;white-space:nowrap}
.archived-history-v314{background:#fafafa}
.compact-history-button-v314{margin:0;padding:8px 10px}
.legacy-panel-v314{background:#fafbfc}
.legacy-panel-v314 summary{cursor:pointer}
.legacy-form-v314{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
@media(max-width:900px){
  .room-detail-grid-v314{grid-template-columns:1fr}
  .room-detail-span-v314{grid-column:auto}
  .owner-settings-grid-v314,.current-lease-v314{grid-template-columns:1fr}
}
@media(max-width:650px){
  .detail-list-v314>div{grid-template-columns:1fr;gap:4px}
  .history-item-v314{grid-template-columns:1fr}
  .legacy-form-v314{grid-template-columns:1fr}
  .legacy-form-v314 .wide{grid-column:auto}
}

/* V3.16.1 — présentation identité du portail locataire */
.identity-layout-v3161{display:grid;gap:18px}
.identity-name-row-v3161{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.identity-phone-row-v3161{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr);gap:18px;align-items:start}
.civility-field-v3161,.phone-prefix-field-v3161{min-width:0}
.identity-layout-v3161 small{font-weight:400;color:#667085;line-height:1.4}
@media(max-width:700px){
  .identity-name-row-v3161,.identity-phone-row-v3161{grid-template-columns:1fr}
}

/* V3.17 — renouvellement intégré à la fiche chambre */
.renewal-panel-v317{background:#fbfcfd}
.renewal-title-v317{align-items:flex-start;margin-bottom:16px}
.renewal-title-v317 h2{margin-bottom:6px}
.renewal-title-v317 p{margin:0}
.renewal-summary-v317{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.renewal-summary-v317>div{display:flex;flex-direction:column;gap:5px;padding:13px 14px;background:#fff;border:1px solid #e5e9ee;border-radius:11px}
.renewal-list-v317{display:grid;gap:12px;margin-top:16px}
.renewal-card-v317{padding:16px;border:1px solid #dfe4ea;border-radius:13px;background:#fff}
.renewal-card-head-v317{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.renewal-card-head-v317>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.renewal-card-head-v317 small{color:#667085;overflow-wrap:anywhere}
.renewal-meta-v317{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.renewal-meta-v317>div{display:flex;flex-direction:column;gap:4px;padding:10px 11px;background:#f7f9fb;border-radius:9px;min-width:0}
.renewal-meta-v317 span{font-size:11px;text-transform:uppercase;letter-spacing:.035em;font-weight:800;color:#667085}
.renewal-meta-v317 strong{font-size:13px;overflow-wrap:anywhere}
.renewal-actions-v317{margin-top:14px}
.renewal-mail-v317{margin-top:18px;border-top:1px solid #e5e9ee;padding-top:14px}
.renewal-mail-v317>summary{cursor:pointer;color:#344054}
.renewal-mail-item-v317{margin-top:12px}
.renewal-mail-item-v317 pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){
  .renewal-summary-v317{grid-template-columns:1fr}
  .renewal-meta-v317{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .renewal-meta-v317{grid-template-columns:1fr}
  .renewal-card-head-v317{flex-direction:column}
}

/* V3.18 — Gestion des chambres : navigation et filtres de pilotage */
.room-filters-v318{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 6px}
.room-filter-v318{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d7dde4;border-radius:999px;background:#fff;color:#344054;font-weight:800;font-size:13px;cursor:pointer}
.room-filter-v318:hover{background:#f7f9fb}
.room-filter-v318 span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#eef1f4;color:#52606d;font-size:11px}
.room-filter-v318.is-active{background:#17202a;color:#fff;border-color:#17202a}
.room-filter-v318.is-active span{background:rgba(255,255,255,.16);color:#fff}
.room-filter-empty-v318{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#f7f9fb;color:#667085;font-weight:700}
.admin-footer-link-v318{margin-top:28px;padding-top:18px;border-top:1px solid #edf0f3;text-align:right}
.admin-footer-link-v318 a{color:#7a8592;font-size:12px;text-decoration:none}
.admin-footer-link-v318 a:hover{color:#52606d;text-decoration:underline}
@media(max-width:650px){
  .room-filter-v318{width:100%;justify-content:space-between}
  .admin-footer-link-v318{text-align:left}
}


/* V3.19 — ligne contact compacte du portail locataire */
.identity-contact-row-v319{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(170px,.9fr) minmax(280px,2fr);gap:18px;align-items:start}
.identity-contact-row-v319>label{min-width:0}
.email-field-v319{min-width:0}
.contact-help-v319{font-weight:400;color:#667085;line-height:1.4;margin-top:-8px}
@media(max-width:800px){
  .identity-contact-row-v319{grid-template-columns:1fr 1fr}
  .email-field-v319{grid-column:1/-1}
}
@media(max-width:600px){
  .identity-contact-row-v319{grid-template-columns:1fr}
  .email-field-v319{grid-column:auto}
}

/* V3.22 — import des locataires existants */
.legacy-import-panel-v322{margin-top:24px;padding-top:22px;border-top:1px solid #dfe5ec}
.legacy-import-upload-v322{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end;max-width:820px}
.legacy-import-upload-v322 label{margin:0}
.legacy-import-table-v322 td{vertical-align:top}
.import-ok-v322{font-weight:700;color:#247447}
.import-warning-v322{font-size:.86rem;color:#8a5d00;margin:2px 0}
.import-error-v322{font-size:.86rem;color:#a12622;margin:2px 0;font-weight:600}
.legacy-delete-v322 summary{cursor:pointer;color:#8c2d28;font-size:.9rem}
.legacy-delete-form-v322{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:8px}
.legacy-delete-form-v322 label{margin:0;min-width:150px}
.legacy-delete-form-v322 input{min-width:145px}
.danger-button-v322{background:#9f2f2a!important;border-color:#9f2f2a!important;color:#fff!important}
.inline-delete-v322{display:inline-block;margin-left:8px;vertical-align:middle}
@media (max-width:760px){.legacy-import-upload-v322{grid-template-columns:1fr}.inline-delete-v322{display:block;margin:8px 0 0}.legacy-delete-form-v322{display:grid;grid-template-columns:1fr}}

/* V3.22.2 — sélecteur de langue FR / EN */
.language-switcher-v3222{position:fixed;top:14px;right:18px;z-index:1000;display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #d9e0e7;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(23,32,42,.08);font-size:12px;font-weight:800;letter-spacing:.03em}
.language-switcher-v3222 a{color:#667085;text-decoration:none;padding:4px 6px;border-radius:999px}
.language-switcher-v3222 a:hover{color:#17202a;background:#f2f4f7}
.language-switcher-v3222 a.is-active{background:#17202a;color:#fff}
.language-switcher-v3222 span{color:#b2bac4}
@media(max-width:620px){.language-switcher-v3222{top:8px;right:8px}}

/* V4.0 — tableau de bord workflow des dossiers */
.workflow-panel-v4{margin:26px 0 28px;padding:20px;border:1px solid #dfe5ec;border-radius:16px;background:#fbfcfd}
.workflow-heading-v4{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.workflow-heading-v4 h2{margin:2px 0 6px;font-size:21px}
.workflow-heading-v4 p{margin:0;color:#667085;line-height:1.45}
.workflow-reset-v4{display:none;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #cfd6de;border-radius:9px;background:#fff;color:#52606d;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}
.workflow-reset-v4.is-visible{display:inline-flex}
.workflow-track-v4{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:12px;overflow-x:auto;padding:3px 2px 9px}
.workflow-step-v4{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:118px;padding:12px 11px;border:1px solid #dce2e8;border-radius:12px;background:#fff;color:#344054;text-align:left;text-decoration:none;cursor:pointer;transition:.16s ease;box-shadow:0 1px 0 rgba(16,24,40,.02)}
.workflow-step-v4:not(:last-child)::after{content:'›';position:absolute;right:-10px;top:50%;transform:translate(50%,-50%);z-index:2;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef2f6;color:#7b8794;font-size:16px;font-weight:900}
.workflow-step-v4:hover{border-color:#aab5c0;transform:translateY(-1px);box-shadow:0 5px 14px rgba(23,32,42,.07)}
.workflow-step-v4.is-active{border-color:#17202a;background:#17202a;color:#fff}
.workflow-index-v4{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#eef2f6;color:#52606d;font-size:11px;font-weight:900}
.workflow-step-v4.is-active .workflow-index-v4{background:rgba(255,255,255,.16);color:#fff}
.workflow-step-title-v4{font-size:12px;font-weight:800;line-height:1.25}
.workflow-count-v4{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:#f0f3f6;color:#344054;font-size:11px;font-weight:900}
.workflow-step-v4.is-active .workflow-count-v4{background:rgba(255,255,255,.16);color:#fff}
.workflow-step-link-v4{cursor:pointer}
.workflow-alert-v4{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;border:1px solid #efc4c2;border-radius:999px;background:#fff5f4;color:#a12622;font-weight:800;font-size:12px;cursor:pointer}
.workflow-alert-v4 span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#f3d5d3}
.workflow-alert-v4.is-active{background:#a12622;color:#fff;border-color:#a12622}
.workflow-alert-v4.is-active span:last-child{background:rgba(255,255,255,.18)}
.current-applications-v4{scroll-margin-top:18px}
.section-title-row-v4{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 12px}
.section-title-row-v4 h2{margin:0;font-size:20px}
.section-title-row-v4 small{color:#667085}
.workflow-status-v4{font-weight:800;border:1px solid transparent}
.workflow-status-submitted-v4{background:#fff4d6;color:#875900;border-color:#f5dfa5}
.workflow-status-reviewed-v4{background:#eaf2ff;color:#285fa8;border-color:#cfe0fb}
.workflow-status-created-v4{background:#f2eaff;color:#7045a1;border-color:#e2d0f8}
.workflow-status-sent-v4{background:#fff0e3;color:#a65513;border-color:#f5d6bb}
.workflow-status-completed-v4{background:#e9f7ee;color:#247447;border-color:#cce8d5}
.workflow-status-action-v4{background:#fff0ef;color:#a12622;border-color:#efc9c6}
.workflow-filter-empty-v4{padding:14px 16px;border:1px dashed #d3dae2;border-radius:11px;background:#fafbfc;color:#667085;font-weight:700}
.workflow-empty-section-v4{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding:16px 18px;border:1px solid #e1e6eb;border-radius:13px;background:#fafbfc}
.workflow-empty-section-v4 span{color:#667085;font-size:13px}
#signed-to-archive,#archives-purgees{scroll-margin-top:18px}
@media(max-width:980px){.workflow-track-v4{grid-template-columns:repeat(7,minmax(150px,1fr))}}
@media(max-width:650px){.workflow-heading-v4{flex-direction:column}.workflow-reset-v4.is-visible{width:100%}.workflow-panel-v4{padding:15px}.section-title-row-v4{align-items:flex-start;flex-direction:column}}

/* V4.1 — allègement de la landing admin */
.workflow-step-signature-v41{grid-template-columns:auto auto;grid-template-areas:"index count" "title title";justify-content:space-between}
.workflow-step-signature-v41 .workflow-index-v4{grid-area:index}
.workflow-step-signature-v41 .workflow-count-v4{grid-area:count;justify-self:end}
.workflow-step-signature-v41 .workflow-step-title-v4{grid-area:title;width:100%;line-height:1.2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.archives-access-v41{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;padding:15px 18px;border:1px solid #e1e6eb;border-radius:13px;background:#fafbfc}
.archives-access-v41>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.archives-access-v41 span{color:#667085;font-size:13px}
.back-link-v41{display:inline-flex;margin-bottom:18px;color:#52606d;text-decoration:none;font-weight:800}
.back-link-v41:hover{color:#17202a}
.archive-table-v41{margin-top:20px}
@media(max-width:650px){.archives-access-v41 .linkbtn{width:100%;text-align:center}}

.security-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
