:root{--green:#0A8793;--green-dark:#075A62;--green-soft:#EAF6F7;--orange:#2F6FED;--orange-soft:#EEF4FF;--ink:#103C47;--muted:#667B83;--line:#DCE8EB;--bg:#F5F9FA;--card:#fff;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 12%,#dff5e6,transparent 32%),radial-gradient(circle at 90% 85%,#ffe8cc,transparent 34%),#f7faf8}.login-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;padding:42px;box-shadow:0 28px 90px #0c6b3d20;text-align:center}.login-logo{width:270px;max-width:82%;margin-bottom:18px}.cloud-pill{display:inline-block;background:var(--green-soft);color:var(--green-dark);font-size:12px;font-weight:900;letter-spacing:.15em;padding:7px 11px;border-radius:999px}.login-card h1{font-size:32px;margin:18px 0 8px}.login-card p{color:var(--muted)}.login-card form{display:grid;gap:16px;text-align:left;margin-top:28px}label{display:grid;gap:7px;font-size:13px;font-weight:800}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #c9dbd4;border-radius:12px;background:#fff;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0A879318}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:850;cursor:pointer}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-dark));box-shadow:0 7px 18px #075A6222}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:#fff1f0;color:var(--danger);border:1px solid #fac5c0}.wide{width:100%}.error{color:var(--danger);min-height:18px}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand img{width:140px}.brand-sep{height:34px;width:1px;background:var(--line)}.brand small{display:block;color:var(--orange);font-weight:900;letter-spacing:.15em}.brand strong{font-size:17px}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--green-soft);border:1px solid #d4eadc;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.icon-btn{border:0;background:transparent;font-size:23px;cursor:pointer;color:var(--ink)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 84px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 14px;display:grid;align-content:start;gap:8px}.nav{border:0;background:transparent;text-align:left;border-radius:13px;padding:14px 15px;color:#4d675e;font-weight:800;cursor:pointer;font-size:15px}.nav.active{background:#E6F3F5;color:var(--green-dark)}.content{padding:34px;max-width:1500px;width:100%}.cloud-banner{background:linear-gradient(90deg,#e9f8ef,#EEF4FF);border:1px solid #d9eadf;border-radius:14px;padding:11px 14px;font-size:13px;font-weight:800;margin-bottom:24px}.view{display:none}.view.active{display:block}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 7px;font-size:11px;letter-spacing:.15em;color:var(--green-dark);font-weight:950}.heading-row h2,.dialog-head h2{font-size:30px;margin:0}.date-control{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.date-control input{border:0;border-radius:0;font-weight:800}.date-arrow{border:0;background:#fff;padding:10px 14px;font-size:22px;cursor:pointer;color:var(--green-dark)}.day-label{font-weight:800;color:var(--muted);margin-bottom:16px}.period-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.period-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;min-height:300px}.period-card.afternoon{background:#F7FAFF}.period-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.period-head h3{font-size:23px;margin:0}.period-head span{font-size:12px;font-weight:900;color:var(--muted)}.delivery-list{display:grid;gap:10px}.delivery-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:start;background:#fff;border:1px solid #dce7e3;border-radius:15px;padding:14px}.delivery-time{font-size:24px;font-weight:950;color:var(--green-dark)}.delivery-time small{display:block;font-size:9px;color:var(--muted);letter-spacing:.08em}.delivery-main h4{margin:0 0 5px;font-size:17px}.delivery-main p{margin:2px 0}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.tag{background:#edf5f2;border-radius:7px;padding:5px 7px;font-size:11px;font-weight:850}.delivery-actions{display:flex;gap:7px}.mini-btn{border:1px solid var(--line);background:#f5faf8;border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer}.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed #cadbd4;border-radius:13px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.weekdays{font-size:12px;font-weight:850;color:var(--muted);padding:0 8px 8px}.calendar-day{min-height:108px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;cursor:pointer}.calendar-day.out{opacity:.4}.calendar-day.today{outline:2px solid #0A879355}.cal-num{font-weight:900}.cal-count{margin-top:12px;display:grid;gap:5px;font-size:11px}.cal-chip{padding:4px 6px;border-radius:6px;background:var(--green-soft);font-weight:800}.cal-chip.pm{background:var(--orange-soft)}.search-box{max-width:700px}.search-box input{font-size:18px;padding:15px}.search-results{display:grid;gap:10px;margin-top:15px}.search-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:14px;cursor:pointer}.muted{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.panel h3{margin-top:0}.big-stat{font-size:48px;font-weight:950;color:var(--green-dark);margin:5px 0}.security-ok{display:inline-block;background:var(--green-soft);padding:7px 10px;border-radius:8px;color:var(--green-dark);font-weight:900}.admin-note{margin-top:16px;border-left:5px solid var(--orange)}dialog{border:0;border-radius:24px;padding:0;width:min(800px,94vw);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#14372f99}.dialog-card{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.span2{grid-column:1/-1}.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center}.toast{position:fixed;right:24px;bottom:24px;background:#15342d;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:none}@media print{.topbar,.sidebar,.cloud-banner,.date-control,.top-actions{display:none!important}.layout{display:block}.content{padding:0}.period-grid{gap:10px}.period-card{break-inside:avoid}.delivery-actions{display:none}.delivery-card{break-inside:avoid}.heading-row h2{font-size:24px}}@media(max-width:960px){.layout{grid-template-columns:1fr}.sidebar{grid-auto-flow:column;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{white-space:nowrap}.period-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.content{padding:20px}.top-actions .ghost,.user-chip{display:none}.brand img{width:110px}}@media(max-width:650px){.topbar{padding:0 14px}.brand-sep,.brand div{display:none}.delivery-card{grid-template-columns:70px 1fr}.delivery-actions{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.heading-row{align-items:flex-start;flex-direction:column}}
/* V5 Cloud Beta 4 — moteur de tournée */
.route-status{display:inline-block;margin:-6px 0 16px;padding:6px 10px;border-radius:999px;background:#eef5f2;color:var(--muted);font-size:11px;font-weight:800}.period-head p{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:600}.route-summary{margin:0 0 10px;padding:11px 13px;border-radius:12px;font-size:13px}.route-summary.ok{background:#EAF6F7;color:var(--green-dark)}.route-summary.warn{background:#F2F6FF;color:#315A9B}.route-summary.loading{background:#f1f5f3;color:var(--muted)}.drop-zone{height:28px;border:1px dashed #b9d1c8;border-radius:10px;display:grid;place-items:center;color:#82958e;font-size:11px;transition:.15s}.drop-zone.over{height:48px;background:#E6F3F5;border:2px solid var(--green);color:var(--green-dark);font-weight:900}.delivery-card[draggable=true]{cursor:grab}.delivery-card[draggable=true]:active{cursor:grabbing;opacity:.75}

/* Beta 5 — formulaire métier V4 porté dans le Cloud */
.service-field{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;gap:14px;flex-wrap:wrap}.service-field legend{font-weight:900;padding:0 6px}.service-field label{display:flex;align-items:center;gap:7px}.service-field input{width:auto}.products-box{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f9fcfa}.products-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.product-row{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:10px;align-items:end;margin-top:9px}.product-loan{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 8px 2px;font-weight:800;white-space:nowrap}.product-loan input{width:auto;margin:0}.field-help{font-weight:500;color:var(--muted)}.optimizer-box{background:linear-gradient(90deg,var(--green-soft),var(--orange-soft));border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center}.optimizer-box #optimizer-result{font-size:12px;color:var(--muted)}@media(max-width:650px){.product-row{grid-template-columns:1fr}.optimizer-box{display:grid}}
.optimizer-option{padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #d8dedc;margin:8px 0}.optimizer-option.best{border-width:2px;border-color:#69b873;background:#f3fbf4}.arrival-chip{display:inline-block;padding:2px 7px;border-radius:999px;background:#e9f4f1;margin-right:6px}.optimizer-option .btn{margin-top:7px}

/* Release candidate stable — calendrier, tournées, impression */
.calendar-day{font:inherit;text-align:left;color:inherit}.calendar-day.selected{outline:3px solid #2F6FED70;background:#F7FAFF}.month-detail{margin-top:18px}.month-detail-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.month-detail-head h3{margin:0}.month-delivery{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}.month-delivery-preview{display:grid;gap:4px;min-width:0;padding:4px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.month-delivery-preview span{font-size:12px;color:var(--muted)}.month-delivery-preview small{font-size:12px;font-weight:800;color:var(--green)}.month-delivery-edit{white-space:nowrap}.tour-date-title{font-size:18px;font-weight:900;margin-bottom:14px}.tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tour-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.tour-panel h3{margin-top:0}.tour-row{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.tour-row span{color:var(--muted)}#print-frame{pointer-events:none}@media(max-width:900px){.tour-grid{grid-template-columns:1fr}.month-detail-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.month-delivery{grid-template-columns:1fr}.month-delivery-edit{width:100%}}


/* Print fix — feuille légère déjà présente dans le DOM */
.print-sheet{display:none;background:#fff;color:#173b31;font-family:Arial,sans-serif}
@media print{
  @page{size:A4;margin:9mm}
  body{background:#fff!important;margin:0!important}
  body>*:not(#print-sheet){display:none!important}
  #print-sheet{display:block!important;position:static!important;width:auto!important;margin:0!important;padding:0!important;color:#173b31!important;background:#fff!important}
  .print-header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #0A8793;padding-bottom:6px;margin-bottom:7px}
  .print-header img{width:105px;height:auto}
  .print-header h1{font-size:18px;margin:0 0 3px}
  .print-period h2{font-size:13px;background:#eaf7ef;padding:5px 7px;margin:7px 0 5px;break-after:avoid}
  .print-stop{border:1px solid #9fb9af;border-radius:5px;padding:6px;margin:5px 0;font-size:9.5px;line-height:1.28;break-inside:avoid;page-break-inside:avoid}
  .print-stop-head,.print-real,.print-sign{display:flex;justify-content:space-between;gap:12px}
  .print-stop-head{font-size:11px;margin-bottom:3px}
  .print-real{margin-top:6px;border-top:1px solid #ccd9d4;padding-top:5px}
  .print-obs{height:29px;padding-top:4px;border-bottom:1px solid #ccd9d4}
  .print-sign span{width:48%;height:32px;border:1px solid #ccd9d4;padding:4px;margin-top:4px}
  .print-return{text-align:right;font-size:9px;margin:3px 0 6px}
  .print-footer{text-align:center;font-size:8px;color:#64756f;margin-top:5px}
  .print-empty{font-size:10px;color:#64756f}
}

/* V5.1 — gestion sécurisée des utilisateurs */
.user-admin-panel{margin-top:18px}.user-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.user-admin-head h3{font-size:24px;margin:0 0 5px}.user-create-form{display:grid;grid-template-columns:1.2fr 1.4fr 1fr auto;gap:10px;align-items:end;padding:14px;margin:16px 0;background:#f7faf8;border:1px solid var(--line);border-radius:14px}.users-table{display:grid;gap:9px}.user-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(140px,.8fr) auto auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:13px;padding:12px}.user-row>div:first-child{display:grid;gap:3px}.user-row span{font-size:12px;color:var(--muted)}.switch-line{display:flex;align-items:center;gap:7px;padding-bottom:10px}.switch-line input{width:auto}.user-actions{display:flex;gap:7px;flex-wrap:wrap}.temp-password{background:#fff8e9;border:1px solid #CAD9F4;border-radius:13px;padding:13px;margin:12px 0}.temp-password code{display:inline-block;padding:8px 10px;background:#fff;border:1px dashed #bd9138;border-radius:8px;font-size:16px;font-weight:900;letter-spacing:.04em}#password-dialog{width:min(580px,94vw)}@media(max-width:1000px){.user-create-form,.user-row{grid-template-columns:1fr 1fr}.user-actions{grid-column:1/-1}}@media(max-width:650px){.user-create-form,.user-row{grid-template-columns:1fr}.user-admin-head{flex-direction:column}}

/* V5.1.1 - compte */
.account-password-btn{margin-top:14px;}

/* V5.1.5 — historique et traçabilité */
.history-panel{padding:18px}.history-filters{display:grid;grid-template-columns:160px minmax(180px,1fr) 180px minmax(220px,1.2fr) auto;gap:10px;align-items:end;margin-bottom:14px}.history-list{display:grid;gap:10px}.history-row{background:#fff;border:1px solid var(--line);border-left:5px solid #9aaba5;border-radius:14px;padding:14px}.history-row.creation{border-left-color:var(--green)}.history-row.modification{border-left-color:#3f7fbf}.history-row.deplacement{border-left-color:var(--orange)}.history-row.suppression{border-left-color:var(--danger)}.history-main{display:flex;gap:12px;align-items:flex-start}.history-main strong{font-size:16px}.history-main p{margin:4px 0 0;color:var(--muted);font-size:13px}.history-badge{display:inline-block;min-width:96px;text-align:center;padding:6px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#eef3f1}.history-badge.creation{background:var(--green-soft);color:var(--green-dark)}.history-badge.modification{background:#eaf2fb;color:#285d91}.history-badge.deplacement{background:var(--orange-soft);color:#315A9B}.history-badge.suppression{background:#fff0ef;color:var(--danger)}.history-meta{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 0 108px;color:var(--muted);font-size:12px}.history-row details{margin:10px 0 0 108px}.history-row summary{cursor:pointer;font-weight:850;color:var(--green-dark)}.history-diffs{display:grid;gap:7px;margin-top:10px}.history-diff{display:grid;grid-template-columns:180px 1fr 24px 1fr;gap:8px;align-items:start;padding:8px 10px;background:#f7faf8;border-radius:9px;font-size:12px}.history-diff>span{overflow-wrap:anywhere}.history-diff>b{text-align:center;color:var(--muted)}@media(max-width:1100px){.history-filters{grid-template-columns:1fr 1fr}.history-filters .btn{align-self:end}.history-diff{grid-template-columns:1fr}.history-diff>b{display:none}.history-meta,.history-row details{margin-left:0}}@media(max-width:650px){.history-filters{grid-template-columns:1fr}.history-main{display:grid}.history-badge{min-width:0;width:max-content}.history-meta{margin-left:0}.history-diff{grid-template-columns:1fr}}

/* V5.1.6 — restauration et administration de l'historique */
.history-head-actions{display:flex;gap:10px;flex-wrap:wrap}.history-diff small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.history-actions{margin:12px 0 0 108px}.history-dialog{width:min(620px,94vw)}.dialog-actions.simple{display:flex;justify-content:flex-end}.btn.danger{background:#b9342b;color:#fff;border-color:#b9342b}.btn.danger:hover{filter:brightness(.95)}@media(max-width:1100px){.history-actions{margin-left:0}}@media(max-width:650px){.history-head-actions{width:100%}.history-head-actions .btn{flex:1}}

/* V5.1.8 — informations opérationnelles visibles directement sur le planning */
.delivery-extra{margin-top:10px;display:grid;gap:4px;font-size:.86rem;line-height:1.35;color:#38584e}
.delivery-extra b{color:#123d31}
.tour-row span b{color:#123d31}
.backup-admin-panel{margin-top:18px}.backup-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.backup-admin-head h3{font-size:24px;margin:0 0 5px}.backup-head-actions{display:flex;gap:8px;flex-wrap:wrap}.backup-status{margin:10px 0}.backups-table{display:grid;gap:9px}.backup-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.5fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px}.backup-row-main{display:grid;gap:4px}.backup-row-main span,.backup-row-count{font-size:12px;color:var(--muted)}.backup-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.backup-type{display:inline-block;width:max-content;padding:4px 7px;border-radius:7px;background:var(--green-soft);font-size:11px;font-weight:850}.backup-type.pre_restore{background:var(--orange-soft)}@media(max-width:850px){.backup-admin-head,.backup-row{grid-template-columns:1fr;display:grid}.backup-actions{justify-content:flex-start}}

/* V5.2.1 — préparation interne / tests produits */
.test-toolbar{display:grid;grid-template-columns:220px 220px minmax(260px,1fr);gap:12px;align-items:end;margin-bottom:14px}.test-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.test-summary span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:12px}.test-summary-issue{color:#a52c25}.test-list{display:grid;gap:16px}.test-delivery{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.test-delivery-head{padding:14px 16px;background:#f7faf8;border-bottom:1px solid var(--line)}.test-delivery-head h3{margin:6px 0 2px;font-size:19px}.test-delivery-head p{margin:0;color:var(--muted);font-size:12px}.test-date-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--green-soft);font-size:11px;font-weight:900}.test-date-badge.urgent{background:var(--orange-soft);color:#315A9B}.test-products{display:grid}.test-product{padding:15px 16px;border-bottom:1px solid var(--line);border-left:5px solid #aab7b2}.test-product:last-child{border-bottom:0}.test-product.status-en_cours{border-left-color:#3f7fbf}.test-product.status-teste{border-left-color:#8b70b5}.test-product.status-valide{border-left-color:var(--green)}.test-product.status-probleme{border-left-color:var(--danger);background:#fffafa}.test-product.in-delivery-zone{background:#f5fbf7}.test-product-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-product-main p{margin:4px 0 12px;color:var(--muted)}.test-status,.test-zone-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#eef3f1}.test-zone-badge{background:var(--green-soft);color:var(--green-dark)}.test-location{display:grid;grid-template-columns:1fr 140px 1fr auto;gap:9px;align-items:end;padding:12px;background:#f8faf9;border:1px solid var(--line);border-radius:12px;margin:8px 0 12px}.test-location-done{padding:10px 12px;background:var(--green-soft);border-radius:10px;color:var(--green-dark);font-size:12px}.test-issue-label{margin-top:8px}.test-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.test-actions .btn{padding:9px 12px}@media(max-width:900px){.test-toolbar{grid-template-columns:1fr}.test-location{grid-template-columns:1fr 1fr}.test-location .btn{grid-column:1/-1}}@media(max-width:600px){.test-location{grid-template-columns:1fr}.test-location .btn{grid-column:auto}}

/* V5.2.2 - finition Tests produits */
.test-product.test-just-updated{outline:3px solid rgba(0,128,70,.18);outline-offset:-3px;transition:outline .25s ease}
.test-product.in-delivery-zone .test-issue-label textarea:disabled{background:#f6faf7;opacity:.8}

/* V5.2.5 — téléphone international : indicatif visible devant le numéro */
.phone-input-wrap{display:flex;align-items:stretch;width:100%}.phone-prefix{display:flex;align-items:center;justify-content:center;min-width:64px;padding:0 12px;border:1px solid #c9dbd4;border-right:0;border-radius:12px 0 0 12px;background:#f3f8f5;color:var(--green-dark);font-weight:900;white-space:nowrap}.phone-input-wrap input{border-radius:0 12px 12px 0}.phone-input-wrap:focus-within .phone-prefix{border-color:var(--green);box-shadow:-3px 0 0 0 #0A879318}.phone-input-wrap:focus-within input{border-color:var(--green)}

/* V5.3.0 — Administration entreprise : dépôt, horaires, jours */
.organization-settings-panel{margin-top:18px}.settings-head h3{font-size:24px;margin:0 0 5px}.organization-settings-form{display:grid;gap:16px;margin-top:14px}.settings-block{padding:14px;background:#f7faf8;border:1px solid var(--line);border-radius:14px}.settings-block h4{margin:0 0 12px;font-size:16px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.settings-grid.four{grid-template-columns:repeat(4,minmax(140px,1fr))}.workdays-grid{display:grid;gap:6px;max-width:620px}.workday-head,.workdays-grid>label{display:grid;grid-template-columns:1fr 110px 130px;align-items:center;gap:8px;padding:8px 10px;border-radius:9px}.workday-head{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}.workdays-grid>label{background:#fff;border:1px solid var(--line)}.workdays-grid input{width:auto;justify-self:center}.settings-actions{display:flex;justify-content:flex-end}@media(max-width:900px){.settings-grid,.settings-grid.four{grid-template-columns:1fr 1fr}}@media(max-width:600px){.settings-grid,.settings-grid.four{grid-template-columns:1fr}.workday-head,.workdays-grid>label{grid-template-columns:1fr 70px 90px}.settings-actions .btn{width:100%}}

/* V5.3.5 — identité entreprise et navigation par tuiles */
.admin-tiles{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.admin-tile{display:grid;gap:7px;min-height:150px;align-content:center;text-align:center;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);padding:18px;cursor:pointer;box-shadow:0 6px 20px #15342d0b}.admin-tile:hover,.admin-tile:focus-visible{border-color:var(--green);transform:translateY(-2px);box-shadow:0 12px 26px #075A6218}.admin-tile span{font-size:31px}.admin-tile strong{font-size:16px}.admin-tile small{color:var(--muted)}.company-identity-panel{margin-top:18px}.admin-back{margin-bottom:16px}.field-help{display:block;margin-top:3px;color:var(--muted);font-weight:600;line-height:1.35}.identity-depot-note{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f7fbfc}.identity-depot-note strong{display:block;margin-bottom:5px}.identity-depot-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}@media(min-width:961px){#view-day .heading-row{margin-bottom:12px}#view-day .cloud-banner{margin-bottom:14px}#view-day .period-card{padding:12px}#view-day .delivery-card{padding:11px}}@media(max-width:1000px){.admin-tiles{grid-template-columns:1fr 1fr}}@media(max-width:600px){.admin-tiles{grid-template-columns:1fr}}

/* V5.4.0 — portail livreur mobile */
.driver-heading{align-items:flex-start}.driver-tools{display:flex;gap:8px;flex-wrap:wrap}.driver-tools input{width:auto}.driver-period-tabs{display:flex;gap:8px;margin-bottom:12px}.sync-status{padding:10px 12px;border-radius:12px;background:var(--green-soft);color:var(--green-dark);font-size:12px;font-weight:800;margin-bottom:14px}.driver-list{display:grid;gap:12px}.driver-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:12px}.driver-card.done{border-color:#9dd6b3;background:#f8fffa}.driver-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.driver-order{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:950}.driver-client{flex:1}.driver-client h3{margin:0 0 4px;font-size:20px}.driver-client p{margin:2px 0}.driver-time{font-size:20px;font-weight:950;color:var(--green-dark)}.driver-products{display:grid;gap:6px}.driver-product{padding:9px;border-radius:10px;background:#f5faf8;font-weight:800}.driver-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.driver-card-actions .primary{grid-column:1/-1}.field-dialog{width:min(920px,96vw)}.field-step{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.field-step h3{margin:0 0 10px}.field-summary{padding:14px;border-radius:14px;background:#f7faf8;border:1px solid var(--line);display:grid;gap:5px}.evidence-grid,.evidence-capture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.evidence-item,.evidence-capture{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.evidence-item img,.evidence-preview{width:100%;height:150px;object-fit:cover;border-radius:9px;background:#eef4f1}.evidence-capture input{padding:9px;font-size:12px}.signature-notice{background:#fff8e9;border:1px solid #CAD9F4;border-radius:11px;padding:11px}.signature-step{}.signature-actions{display:flex;justify-content:flex-end;margin:8px 0}#signature-pad{width:100%;height:190px;border:2px dashed #9ebbb0;border-radius:13px;background:#fff;touch-action:none}.field-actions{grid-template-columns:auto 1fr auto}.proof-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:900}.proof-badge.pending{background:var(--orange-soft);color:#315A9B}@media(max-width:700px){.content{padding:14px}.topbar{height:70px}.layout{min-height:calc(100vh - 70px)}.sidebar{position:sticky;top:70px;z-index:8;padding:8px;grid-auto-flow:column}.nav{padding:11px 12px}.nav span{display:none}.mobile-nav span{display:inline}.driver-tools{width:100%}.driver-tools input,.driver-tools .btn{flex:1}.driver-card-actions{grid-template-columns:1fr}.driver-card-actions .primary{grid-column:auto}.evidence-grid,.evidence-capture-grid{grid-template-columns:1fr}.field-dialog{width:100vw;max-width:none;max-height:100vh;border-radius:0}.field-dialog .dialog-card{padding:16px}.dialog-head h2{font-size:24px}}

/* V5.4.1 — affectation et rôle livreur */
.route-assignment-panel{margin-bottom:18px}.route-assignment-panel h3{margin:0 0 5px}.assignment-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.assignment-columns fieldset{border:1px solid var(--line);border-radius:14px;padding:13px}.assignment-columns legend{font-weight:900;color:var(--green-dark);padding:0 7px}.assignment-list{display:grid;gap:7px}.assignment-driver{display:flex;grid-template-columns:none;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;background:#f7faf8;border:1px solid var(--line)}.assignment-driver input{width:auto}.driver-session .sidebar{grid-auto-flow:row}.driver-session .mobile-nav span{display:inline}.driver-session .top-actions .ghost{display:none}@media(max-width:700px){.assignment-columns{grid-template-columns:1fr}.driver-session .sidebar{display:grid;grid-auto-flow:row}.driver-session .nav{display:none}.driver-session .mobile-nav{display:flex!important;justify-content:center}.driver-session .content{padding:12px}}

/* V5.5 — centre de pilotage multiservice */
#route-assignment-panel{display:none!important}.v55-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:14px 0 18px}.v55-kpis article{display:grid;gap:5px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 6px 18px #15342d0a}.v55-kpis span{font-size:12px;color:var(--muted);font-weight:800}.v55-kpis strong{font-size:27px;color:var(--green-dark)}.v55-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v55-toolbar{display:grid;grid-template-columns:180px 210px minmax(250px,1fr);gap:12px;align-items:end;margin-bottom:15px}.v55-list{display:grid;gap:12px;margin:12px 0 20px}.v55-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;display:grid;gap:11px}.v55-card.compact{grid-template-columns:minmax(200px,1fr) minmax(260px,1.5fr) auto;align-items:center}.v55-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.v55-card-head h3{margin:8px 0 3px}.v55-card-head p{margin:0;color:var(--muted)}.v55-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf3f0;color:#426158;font-size:11px;font-weight:900}.v55-badge.prete,.v55-badge.client_prevenu,.v55-badge.validee,.v55-badge.comptabilisee{background:var(--green-soft);color:var(--green-dark)}.v55-badge.a_preparer,.v55-badge.a_controler,.v55-badge.reportee{background:var(--orange-soft);color:#315A9B}.v55-badge.anomalie,.v55-badge.probleme{background:#fff0ef;color:var(--danger)}.v55-products{display:flex;gap:7px;flex-wrap:wrap}.v55-products span{padding:7px 9px;border-radius:9px;background:#f5faf8;font-size:12px;font-weight:800}.v55-actions,.v55-head-actions{display:flex;gap:8px;flex-wrap:wrap}.v55-actions{justify-content:flex-end}.v55-dialog{width:min(940px,96vw)}.v55-product-row{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:9px;align-items:center;margin-top:8px}.v55-payment-row{display:grid;grid-template-columns:1fr 130px 1fr 1.2fr auto;gap:9px;align-items:center;margin-top:8px}.v55-section-title{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}#v55-signature-pad{width:100%;height:190px;border:2px dashed #9ebbb0;border-radius:13px;background:#fff;touch-action:none}.v55-team-grid{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr)) auto;gap:12px;align-items:end}.heading-row.compact{margin-bottom:8px}.v55-check{padding:11px;border-radius:10px;background:var(--green-soft);font-weight:850}.sidebar{overflow-y:auto}
.v55-role-checks{display:flex;gap:8px 14px;flex-wrap:wrap}.v55-role-checks label{display:flex;align-items:center;gap:6px;font-weight:750}.v55-role-checks input{width:auto}
@media(max-width:1000px){.v55-kpis{grid-template-columns:1fr 1fr}.v55-dashboard-grid{grid-template-columns:1fr}.v55-payment-row{grid-template-columns:1fr 1fr}.v55-payment-row .btn{grid-column:1/-1}.v55-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){html,body{max-width:100%;overflow-x:hidden}.layout{display:block}.sidebar{position:sticky;top:70px;display:flex!important;overflow-x:auto;gap:6px;white-space:nowrap;background:#fff;border-bottom:1px solid var(--line)}.sidebar .nav{display:flex;min-width:max-content;padding:10px}.sidebar .nav span{display:inline}.content{width:100%;min-width:0}.heading-row,.v55-card-head{flex-direction:column}.v55-kpis,.v55-toolbar,.v55-product-row,.v55-payment-row,.v55-team-grid{grid-template-columns:1fr}.v55-card.compact{grid-template-columns:1fr}.v55-actions,.v55-head-actions{width:100%}.v55-actions .btn,.v55-head-actions .btn{flex:1}.v55-dialog{width:100vw;max-width:none;max-height:100vh;border-radius:0}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.top-actions .user-chip{max-width:140px;overflow:hidden;text-overflow:ellipsis}.brand strong{font-size:13px}}

/* V5.5.1 — navigation et caisse simplifiées */
.nav-group{padding:14px 15px 3px;color:#8a9b95;font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.day-head-actions{display:flex;align-items:center;gap:10px}.cash-workflow{margin-bottom:14px;background:linear-gradient(90deg,var(--green-soft),#fff)}.sale-first-field{padding:14px;background:var(--green-soft);border:1px solid #cae7d5;border-radius:14px}.sale-first-field small,.products-head small,label small{display:block;color:var(--muted);font-weight:600;margin-top:4px}.cash-product-row{grid-template-columns:1fr 1.5fr 130px auto}.cash-payment-row{grid-template-columns:1fr 140px 1fr auto}.calculation-line{margin:10px 0 0;padding:10px;border-radius:10px;background:#f5faf8;font-weight:800}.cash-check-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.cash-check-grid span{background:#f5faf8;border-radius:9px;padding:9px}.cash-warning{padding:11px 13px;border-radius:11px;background:#EEF4FF;color:#834700;font-weight:800}.cancelled-card{opacity:.72;background:#f7f7f7}.denomination-box{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:15px}.denomination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.denomination-grid label{grid-template-columns:55px 1fr 90px;display:grid;align-items:center;gap:8px;padding:8px;background:#f5faf8;border-radius:9px}.denomination-grid input{padding:8px}.denomination-grid strong{text-align:right;font-size:12px}.warning-confirm{display:flex;grid-template-columns:auto 1fr;align-items:center;padding:12px;background:#EEF4FF;border-radius:10px}.warning-confirm input{width:auto}.register-setting{grid-template-columns:repeat(4,1fr);align-items:end}.cash-admin .admin-only{display:inline-flex!important}
#view-team>section.panel:nth-of-type(1),#view-team>section.panel:nth-of-type(2){display:none!important}
.driver-session .nav-group{display:none!important}
.guided-fields{padding:16px;border:2px solid #cfe8d8;border-radius:16px;background:#f8fcf9}.guided-fields h3{margin:0 0 12px;color:var(--green-dark)}.guided-fields .form-grid{margin:0}.guided-result,.linked-success{padding:10px 12px;border-radius:10px;background:var(--green-soft);color:var(--green-dark);font-weight:850}.sale-first-field>span{font-size:15px;color:var(--green-dark)}
@media(max-width:960px){.cash-check-grid,.register-setting{grid-template-columns:1fr 1fr}.denomination-grid{grid-template-columns:1fr 1fr}.cash-product-row,.cash-payment-row{grid-template-columns:1fr 1fr}.nav-group{display:none}}
@media(max-width:700px){.topbar{height:70px}.layout{min-height:calc(100vh - 70px)}.day-head-actions{width:100%;flex-direction:column;align-items:stretch}.date-control{width:100%}.cash-check-grid,.register-setting,.denomination-grid,.cash-product-row,.cash-payment-row{grid-template-columns:1fr}.denomination-grid label{grid-template-columns:52px 1fr 88px}.cash-workflow{font-size:13px}.v55-head-actions{display:grid;grid-template-columns:1fr 1fr}.v55-head-actions .btn:last-child{grid-column:1/-1}.sidebar{scrollbar-width:thin}.content{padding:14px}.panel{padding:15px}}
/* V5.6.0 — parcours guidés, caisse quotidienne et aperçu métier */
.v56-register-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.v56-register-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid #d9e7df;border-radius:16px;background:#fff}
.v56-register-card div{display:flex;flex-direction:column;gap:3px}.v56-register-card span{color:#62746b;font-size:.9rem}.v56-register-card.is-open{border-color:#8fc9aa;background:#effaf3}.v56-register-card.is-closed{border-color:#ead3a5;background:#fffaf0}
.v56-money-summary{padding:14px;border-radius:14px;background:#f1f7f3;border:1px solid #d8e7de;margin:10px 0}
.v56-wizard-nav{position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;background:#fff;border-top:1px solid #dce9e1}
#v56-wizard-progress{text-align:center;font-weight:800;color:#0d6542}.v56-step-hidden{display:none!important}
.v56-test-line{display:flex!important;align-items:center;gap:10px;padding:13px;border-radius:12px;background:#fff7dc;border:1px solid #edcf6c}.v56-test-line input{width:auto}
.v56-test-line.v56-step-hidden{display:none!important}

/* V5.6.28 — parcours de vente simplifié */
.v56-test-line.hidden{display:none!important}
.v5628-slot-value{display:none!important}
.v5628-selected-slot{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff7dc;color:#765500;font-weight:700}
.v5628-selected-slot.selected{background:#e9f8ef;color:#08743b}
.v5628-late-upload{margin-top:16px;gap:10px}
.v5628-late-upload input[type="file"]{width:100%}

/* V5.6.29 — vente sur une page, identité et adresse guidées */
#v55-sale-form .v5629-section-title{margin:10px 0 0;padding:14px 16px;border-radius:14px;background:#eaf7ef;color:#07683b;font-size:19px}
#v55-sale-form .v5629-section-title:not(:first-child){margin-top:22px}
#v55-sale-form .v56-step-hidden{display:block!important}
#v55-sale-form section.v56-step-hidden,#v55-sale-form div.v56-step-hidden{display:block!important}
#v55-sale-form .v5626-company-field.hidden{display:none!important}
.v5629-address-results{display:grid;gap:7px;margin-top:8px}
.v5629-address-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid #cfe3d7;border-radius:11px;background:#fff;text-align:left;color:#163d30;cursor:pointer}
.v5629-address-choice:hover,.v5629-address-choice:focus-visible{border-color:#159254;background:#f0faf4}
.v5629-address-choice span{color:#667b71;font-size:12px;text-align:right}
#v5629-address-help{display:block;margin-top:7px;color:#687a72;font-weight:700}
#v56-slot-list .v5629-extra-slot{display:none!important}
@media(max-width:700px){.v5629-address-choice{align-items:flex-start;flex-direction:column}.v5629-address-choice span{text-align:left}}

/* V5.6.31 — adresse unique et créneaux toujours accessibles */
#v551-delivery-fields .v5631-hidden-address-part{display:none!important}
#v551-delivery-fields .v5631-full-address{grid-column:1/-1!important}
.v5631-address-title{display:block}
.v5631-address-results{display:grid;gap:7px;margin-top:8px}
.v5631-address-choice{width:100%;padding:11px 13px;border:1px solid #cde2d5;border-radius:11px;background:#fff;text-align:left;color:#143d2e;cursor:pointer}
.v5631-address-choice:hover,.v5631-address-choice:focus-visible{border-color:#11894b;background:#EDF7F8}
#v5631-address-status{display:block;margin-top:7px;color:#65786f;font-weight:750}
.v56-slot-picker{border:1px solid #d7e6de;border-radius:16px;padding:14px;background:#f8fbf9}.v56-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;max-height:340px;overflow:auto}
.v56-slot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:1px solid #cddfd5;border-radius:12px;padding:11px;background:#fff;color:#173d30;cursor:pointer}.v56-slot.available{border-left:6px solid #16945d}.v56-slot.busy{border-left:6px solid #e2a326}.v56-slot.full{border-left:6px solid #c93d32}.v56-slot.selected{outline:3px solid #15945c;background:#eefaf3}.v56-slot small{color:#65776e}
.v56-sale-recap h3{margin-top:0}.v56-recap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v56-recap-grid p{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:12px;background:#f4f8f5;margin:0}

#v56-preview-banner{position:fixed;z-index:9999;left:50%;top:8px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:10px 16px;border-radius:999px;background:#4c2783;color:#fff;box-shadow:0 8px 30px #0003}#v56-preview-banner span{font-size:.85rem}#v56-preview-banner button{border:0;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}


@media(max-width:720px){
  .v56-register-status,.v56-slot-list,.v56-recap-grid,.v56-role-grid{grid-template-columns:1fr}
  .v56-wizard-nav{grid-template-columns:1fr 1fr}.v56-wizard-nav span{grid-column:1/-1;grid-row:1;text-align:left}.v56-wizard-nav button{grid-row:2}
  #v56-preview-banner{left:8px;right:8px;top:6px;transform:none;border-radius:14px;flex-wrap:wrap;justify-content:center;text-align:center}
}

/* V5.6.1 */
.v561-brand-title{font-size:21px!important;font-weight:950;letter-spacing:-.02em;color:#075A62;position:relative;padding-bottom:4px}
.v561-visible-error{position:sticky;bottom:76px;z-index:6;display:block;min-height:0;padding:0;margin:0;background:#fff}.v561-visible-error:not(:empty){padding:12px 14px;margin-top:12px;border:1px solid #efb0aa;border-radius:12px;background:#fff1f0;font-weight:850;box-shadow:0 6px 18px #7b171322}
.v561-test-mode #v561-test-banner{display:flex}#v561-test-banner{position:fixed;z-index:10000;left:50%;top:7px;transform:translateX(-50%);align-items:center;gap:12px;padding:9px 15px;border-radius:999px;background:#315A9B;color:#fff;box-shadow:0 8px 24px #0003}#v561-test-banner button{border:0;border-radius:999px;padding:7px 11px;font-weight:900}.admin-tile.active{outline:3px solid #2F6FED;background:#fff5e9}
.v56-slot:disabled{cursor:not-allowed;opacity:.7}.v55-kpis article{transition:transform .18s ease,box-shadow .18s ease}.v55-kpis article:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0a553316}.empty{min-height:auto!important;padding:32px!important}
.v561-address-detail{display:none}.v561-address-detail.v561-show{display:grid}.v561-manual-address{align-self:end;margin-top:21px}
.v561-plan-nav{position:sticky;bottom:0;z-index:7;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;background:#fff;border-top:1px solid var(--line)}#v561-plan-progress{text-align:center;color:var(--green-dark)}.v561-plan-recap{padding:4px 0 14px}.v561-plan-recap h3{margin-top:0}.v561-recap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v561-recap-grid p{margin:0;padding:14px;border-radius:13px;background:#f4f8f5;line-height:1.5}.v561-recap-grid b{color:var(--green-dark)}
@media(min-width:1000px){.layout{grid-template-columns:220px 1fr}.sidebar{padding-left:11px;padding-right:11px}.nav{padding-left:12px;padding-right:12px}}
@media(max-width:720px){#v561-test-banner{left:7px;right:7px;transform:none;border-radius:13px;flex-wrap:wrap;justify-content:center}.v561-brand-title{font-size:16px!important}.v561-visible-error{bottom:120px}.v561-plan-nav{grid-template-columns:1fr 1fr}.v561-plan-nav strong{grid-column:1/-1;grid-row:1;text-align:left}.v561-plan-nav button{grid-row:2}.v561-recap-grid{grid-template-columns:1fr}}
/* V5.6.2 — mouvements d'appareils et fonds */
.v562-scenario{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;padding:14px;border:2px solid #cfe8d8;border-radius:15px;background:#f8fcf9}.v562-scenario label{margin:0}#v562-cash-admin{margin-top:20px;border-left:5px solid var(--green)}#v562-cash-admin h3{margin-top:0}.v562-denoms{max-height:340px;overflow:auto}.v562-scenario-info{margin:0}
@media(max-width:700px){.v562-scenario{grid-template-columns:1fr}#v562-cash-admin .v55-actions{display:grid;grid-template-columns:1fr}#v562-transfer-dialog{width:100vw;max-width:none;max-height:100vh;border-radius:0}}
/* V5.6.3 — saisie simplifiée des mouvements */
.v563-inbound{border:2px solid #d9e7df;background:#fbfdfc}.v563-inbound-row{display:grid;grid-template-columns:1.5fr 1fr 1.2fr auto;gap:8px;margin-top:9px;align-items:center}.product-row{grid-template-columns:1fr 1.4fr 1.1fr auto}.v563-role{min-width:150px}.cash-product-row{grid-template-columns:1fr 1.35fr 120px 140px auto}.service-field label.hidden{display:none!important}
@media(max-width:800px){.v563-inbound-row,.product-row,.cash-product-row{grid-template-columns:1fr}.v563-inbound-row .btn,.product-row .btn,.cash-product-row .btn{width:100%}}

/* V5.6.4 — accueil métier et navigation hybride */
.v564-home-navigation{margin-top:22px}.v564-home-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}.v564-home-head h3{font-size:24px;margin:0}.v564-home-head>p{margin:0;color:var(--muted)}.v564-home-tiles{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:13px}.v564-home-tile{min-height:116px;border:1px solid var(--line);border-radius:19px;background:#fff;padding:17px;display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 7px 20px #15342d0a;transition:.18s}.v564-home-tile:hover,.v564-home-tile:focus-visible{transform:translateY(-2px);border-color:#73bd91;box-shadow:0 13px 28px #075A6217}.v564-home-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green-soft),#EEF4FF);font-size:25px}.v564-home-tile strong,.v564-home-tile small{display:block}.v564-home-tile strong{font-size:16px;margin-bottom:5px}.v564-home-tile small{color:var(--muted);line-height:1.35}.v564-home-tile>b{color:var(--green);font-size:20px}.v564-nav-toggle{border:1px solid var(--line);border-radius:12px;background:#f7faf8;padding:10px 12px;display:flex;align-items:center;gap:9px;color:var(--green-dark);font-weight:900;cursor:pointer;margin-bottom:5px}.v564-empty-group{display:none!important}
@media(min-width:961px){body.v564-nav-collapsed .layout{grid-template-columns:76px 1fr}body.v564-nav-collapsed .sidebar{padding-inline:9px}body.v564-nav-collapsed .sidebar .nav{display:grid;place-items:center;padding:13px 8px;font-size:20px}body.v564-nav-collapsed .sidebar .nav span,body.v564-nav-collapsed .sidebar .nav-group,body.v564-nav-collapsed .v564-nav-toggle strong{display:none}body.v564-nav-collapsed .v564-nav-toggle{justify-content:center}.layout{transition:grid-template-columns .18s ease}.brand strong{font-size:20px;font-weight:950;position:relative}}
@media(max-width:1050px){.v564-home-tiles{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@media(max-width:700px){.v564-nav-toggle{display:none}.v564-home-head{align-items:start;flex-direction:column}.v564-home-tiles{grid-template-columns:1fr 1fr;gap:9px}.v564-home-tile{min-height:108px;grid-template-columns:40px 1fr;padding:13px;gap:9px}.v564-home-icon{width:40px;height:40px;font-size:21px}.v564-home-tile>b{display:none}.v564-home-tile small{font-size:11px}.v564-home-tile strong{font-size:14px}}
@media(max-width:430px){.v564-home-tiles{grid-template-columns:1fr}.v564-home-tile{min-height:88px}}
.login-card{position:relative;padding-bottom:58px}.login-version{position:absolute;left:0;right:0;bottom:19px;text-align:center;color:#87978f;font-size:10px;font-weight:700;letter-spacing:.08em}.login-card h1{margin-top:10px}
.login-product-title{display:inline-block!important;position:relative;margin:14px auto 18px!important;padding-bottom:12px;font-size:32px!important;line-height:1.05;letter-spacing:-.035em;color:var(--green-dark)}

/* V5.6.11 — ventes détaillées et encaissements dépannage */
.v5611-charge-head{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#dce8e1)}
.cash-charge-row{margin-top:8px}
.v5611-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px}
.v5611-steps span{padding:10px;border-radius:12px;background:#edf7f1;color:#087b45;text-align:center;font-weight:800}
.v5611-repair-list{margin-top:22px;display:grid;gap:12px}.v5611-repair-list>h3{margin:0 0 4px}
.v5611-repair-list .compact{display:flex;justify-content:space-between;gap:18px;align-items:center}
#v5611-repair-dialog .dialog-card{max-width:980px}#v5611-repair-dialog .products-box h3{margin-top:0}
@media(max-width:720px){.v5611-steps{grid-template-columns:1fr}.v5611-repair-list .compact{align-items:flex-start;flex-direction:column}.cash-charge-row{grid-template-columns:1fr}}

/* V5.6.14 — dossiers de tournée consultables */
.v5614-tour-actions{display:flex;justify-content:flex-end;margin-top:10px}.v5614-report-dialog .dialog-card{max-width:1040px}.v5614-report-content{display:grid;gap:16px}.v5614-report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v5614-report-summary>div,.v5614-report-note{padding:14px;border-radius:14px;background:#f3f8f5}.v5614-report-summary strong,.v5614-report-summary span{display:block}.v5614-report-summary span{margin-top:5px;color:var(--muted)}.v5614-report-status{display:inline-flex!important;width:max-content;margin:0 0 6px!important;padding:5px 9px;border-radius:999px;background:#dff3e7;color:#087543!important;font-weight:900}.v5614-report-status.pending{background:#fff1d9;color:#8c5700!important}.v5614-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v5614-proof{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.v5614-proof img{display:block;width:100%;height:240px;object-fit:contain;background:#f2f5f3}.v5614-proof div{padding:11px}.v5614-proof strong,.v5614-proof small{display:block}.v5614-proof small{margin-top:4px;color:var(--muted)}.v5614-signature{max-width:100%;max-height:220px;object-fit:contain;border:1px dashed #9dbfac;border-radius:14px;background:#fff}.v5614-report-empty{padding:24px;border:1px dashed var(--line);border-radius:15px;text-align:center;color:var(--muted)}
@media(max-width:700px){.v5614-report-summary,.v5614-proof-grid{grid-template-columns:1fr}.v5614-proof img{height:auto;max-height:300px}.v5614-tour-actions .btn{width:100%}}

/* V5.6.15 — préparation de la tournée avant chargement */
.v5615-preparation{margin:14px 0 20px;padding:18px;border:2px solid #cae7d5;border-radius:18px;background:linear-gradient(135deg,#f6fcf8,#fffaf2)}.v5615-preparation:empty{display:none}.v5615-prep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.v5615-prep-head h3{margin:2px 0 5px;font-size:22px}.v5615-prep-head p{margin:0;color:var(--muted)}.v5615-prep-progress{white-space:nowrap;padding:9px 12px;border-radius:999px;background:#fff0d8;color:#8b5600}.v5615-prep-progress.complete{background:#dff4e7;color:#087543}.v5615-prep-list{display:grid;gap:9px;margin-top:15px}.v5615-prep-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #dce8e1;border-radius:14px;background:#fff}.v5615-prep-item.done{border-color:#a8d5ba;background:#f2fbf5}.v5615-prep-item.uploading{opacity:.72}.v5615-prep-item strong,.v5615-prep-item span,.v5615-prep-item small{display:block}.v5615-prep-item>div>span{margin-top:3px}.v5615-prep-item small{margin-top:5px;color:#8b5600;font-weight:800}.v5615-prep-item.done small{color:#087543}.v5615-prep-order{display:grid!important;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6f5ec;color:#087543;font-weight:950}.v5615-prep-capture{cursor:pointer}.v5615-prep-capture input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.v5615-prep-check{font-size:25px;color:#10934d;font-weight:950}.v5615-prep-ready,.v5615-prep-warning{margin:12px 0 0;padding:11px 13px;border-radius:12px;font-weight:850}.v5615-prep-ready{background:#dff4e7;color:#087543}.v5615-prep-warning{background:#fff0d8;color:#805000}.v5615-prep-empty{color:var(--muted)}
@media(max-width:700px){.v5615-preparation{padding:14px}.v5615-prep-head{display:block}.v5615-prep-progress{display:inline-block;margin-top:10px}.v5615-prep-item{grid-template-columns:34px 1fr}.v5615-prep-item>.v5615-prep-capture,.v5615-prep-item>.v5615-prep-check{grid-column:1/-1;width:100%;text-align:center}.v5615-prep-check{width:auto!important}.v5615-prep-capture{padding:12px}}

/* V5.6.16 — stockage et archivage */
.v5616-storage-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.v5616-storage-head h3{font-size:25px;margin:2px 0 6px}.v5616-storage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.v5616-storage-kpis article{padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8fbf9}.v5616-storage-kpis strong{display:block;margin-top:6px;font-size:26px;color:var(--green-dark)}.v5616-storage-kpis article.warning{border-color:#efb05d;background:#fff7e8}.v5616-retention-form,.v5616-storage-toolbar{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end;padding:15px;border-radius:15px;background:#f3f8f5}.v5616-storage-toolbar{grid-template-columns:180px 1fr auto;margin-top:15px;background:#fff;border:1px solid var(--line)}.v5616-storage-list{display:grid;gap:10px;margin-top:12px}.v5616-storage-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) 120px auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.v5616-storage-row.archived{background:#f4f6f5}.v5616-storage-row strong,.v5616-storage-row span,.v5616-storage-row small{display:block}.v5616-storage-row small{color:var(--muted);margin-top:4px}.v5616-storage-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.v5616-storage-badge{display:inline-block!important;width:max-content;padding:5px 8px;border-radius:999px;background:#e6f5ec;color:#087543;font-size:11px;font-weight:900}.v5616-storage-badge.expired{background:#fff0d8;color:#855200}.v5616-storage-badge.archived{background:#e8ebea;color:#59645f}
@media(max-width:900px){.v5616-storage-kpis{grid-template-columns:1fr 1fr}.v5616-retention-form,.v5616-storage-toolbar,.v5616-storage-row{grid-template-columns:1fr}.v5616-storage-actions{justify-content:stretch}.v5616-storage-actions .btn{flex:1}}

/* V5.6.18 — accueil opérationnel harmonisé */
.cloud-banner{display:none!important}.content{padding-top:24px}.v5618-hidden-legacy{display:none!important}.v5618-home-heading{margin-bottom:12px}.v5618-home-heading .muted{margin:5px 0 0}.v5618-dashboard{display:grid;gap:12px}.v5618-priority,.v5618-store{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 18px;box-shadow:0 6px 20px #15342d0a}.v5618-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.v5618-section-head h3,.v5618-store h3{font-size:20px;margin:0}.v5618-section-head .eyebrow,.v5618-store .eyebrow{margin-bottom:3px}.v5618-registers,.v5618-periods{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v5618-register,.v5618-period{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f7faf8;border:1px solid #dce9e3;border-radius:14px;padding:12px 14px}.v5618-register.is-open{background:#EAF6F7;border-color:#bce3cc}.v5618-register.is-waiting{background:#F7FAFF;border-color:#CAD9F4}.v5618-register strong,.v5618-period strong{display:block;font-size:15px}.v5618-register span,.v5618-period span,.v5618-register small,.v5618-period small{display:block;color:var(--muted);font-size:12px}.v5618-register-state,.v5618-period-stats{text-align:right}.v5618-register-state b{color:var(--green-dark)}.v5618-mini-kpis{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.v5618-mini-kpis span{background:var(--green-soft);border-radius:999px;padding:6px 10px;font-size:12px}.v5618-mini-kpis span.alert{background:#fff0ef;color:var(--danger)}.v5618-store{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:15px}.v5618-store-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v5618-store-cards button{border:1px solid var(--line);background:#f8fbf9;border-radius:13px;padding:10px 12px;text-align:left;color:var(--ink);cursor:pointer}.v5618-store-cards button:hover{border-color:var(--green)}.v5618-store-cards span{font-size:19px;margin-right:6px}.v5618-store-cards b{font-size:13px}.v5618-store-cards small{display:block;color:var(--muted);margin-top:4px}.v564-home-navigation{margin-top:14px!important}.v564-home-head{margin-bottom:8px!important}.v564-home-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}.v564-home-tile{min-height:76px!important;padding:11px!important}.v564-home-tile small{display:none}.v5618-security .security-ok{margin-bottom:4px}
@media(max-width:1000px){.v5618-registers,.v5618-periods{grid-template-columns:1fr}.v5618-store{grid-template-columns:1fr}.v5618-store-cards{grid-template-columns:1fr 1fr}.v564-home-tiles{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.content{padding-top:16px}.v5618-priority,.v5618-store{padding:13px}.v5618-section-head{align-items:flex-start}.v5618-register,.v5618-period{align-items:flex-start}.v5618-store-cards{grid-template-columns:1fr}.v564-home-tiles{grid-template-columns:1fr!important}}

/* V5.6.19 — preuves photo uniques */
.v5619-proof-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.v5619-proof-head h3{margin:0}.v5614-proof .v5619-delete-proof{width:100%;margin-top:10px;padding:8px}.v5614-proof-grid+.muted{margin-top:8px}
@media(max-width:600px){.v5619-proof-head{align-items:flex-start;flex-direction:column}.v5619-proof-head .btn{width:100%}}

/* V5.6.22 — mouvements d’appareils visibles et cohérents */
.v5622-movements{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.v5622-movement{display:grid;gap:4px;padding:11px 12px;border-radius:12px;border:1px solid var(--line)}.v5622-movement strong{font-size:12px;letter-spacing:.04em}.v5622-movement span{font-size:13px}.v5622-movement.out{background:#eaf7ef;border-color:#bddfca}.v5622-movement.in{background:#F2F6FF;border-color:#efcfaa}.v5622-movement.none{grid-column:1/-1;background:#f5f7f6;color:var(--muted)}
@media(max-width:650px){.v5622-movements{grid-template-columns:1fr}}

/* V5.6.22 — module SAV & Dépannage */
.v5622-head-actions,.v5622-card-actions,.v5622-detail-actions{display:flex;gap:9px;flex-wrap:wrap}.v5622-toolbar{display:grid;grid-template-columns:260px 1fr;gap:14px;margin:18px 0}.v5622-toolbar label{display:grid;gap:6px;font-weight:800}.v5622-list{display:grid;gap:12px}.v5622-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.v5622-card>div:first-child{display:grid;gap:7px}.v5622-card strong{font-size:18px}.v5622-card p{margin:0;color:var(--muted)}.v5622-type{width:max-content;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;background:#e7f6ec;color:#075A62}.v5622-type.depannage{background:#F1F5FF;color:#315A9B}.v5622-tags{display:flex;gap:7px;flex-wrap:wrap}.v5622-tags span{padding:5px 9px;border-radius:9px;background:#f0f5f3;font-size:12px;font-weight:800}.v5622-tags .qr{background:#eee7ff;color:#502b91}.v5622-tags .money{background:#EEF4FF;color:#315A9B}.v5622-mode-banner{padding:13px 16px;border-radius:13px;background:#EEF4FF;border:1px solid #B9CBEF;font-weight:800;margin:12px 0}.v5622-mode-banner.off{background:#f1f3f2;border-color:var(--line);color:var(--muted)}.v5622-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:18px}.v5622-steps span{padding:8px;text-align:center;border-radius:8px;background:#eef6f1;color:#075A62;font-size:12px;font-weight:900}.v5622-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;font-weight:900}.v5622-check input{width:20px;height:20px}.v5622-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v5622-detail-grid section{background:#f5f8f6;border:1px solid var(--line);border-radius:14px;padding:15px}.v5622-detail-grid h3{margin-top:0}.v5622-detail-actions{margin:16px 0}.v5622-timeline{display:grid;gap:0}.v5622-timeline>div{display:flex;justify-content:space-between;gap:12px;padding:11px 3px;border-bottom:1px solid var(--line)}.v5622-timeline span{color:var(--muted);font-size:13px}.v5622-mode-options{display:grid;gap:10px;margin:10px 0 18px}.v5622-mode-options label{display:grid;grid-template-columns:auto 1fr;column-gap:10px;border:1px solid var(--line);border-radius:13px;padding:13px}.v5622-mode-options input{grid-row:1/3}.v5622-mode-options small{color:var(--muted)}.v5622-warning{padding:13px;border-radius:12px;background:#EEF4FF;border:1px solid #C6D5F1;margin:15px 0}.v5622-dashboard-alerts{margin-top:18px}.v5622-dashboard-alerts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v5622-dashboard-alerts button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff;text-align:left}.v5622-dashboard-alerts button b{font-size:28px;color:var(--green)}.v5622-driver-money{display:grid;gap:4px;margin:10px 0;padding:12px 14px;border-radius:12px;background:#EEF4FF;border:2px solid #9DB7E9;color:#6e4000}.v5622-driver-money strong{font-size:16px}.v5622-driver-money span{font-size:13px;font-weight:700}
@media(max-width:800px){.v5622-toolbar,.v5622-card,.v5622-detail-grid{grid-template-columns:1fr}.v5622-card-actions .btn{width:100%}.v5622-steps{grid-template-columns:1fr 1fr}.v5622-dashboard-alerts>div{grid-template-columns:1fr}}
.v5623-step-panel{display:none!important}
.v5623-step-panel.active{display:grid!important}
.v5622-steps span{cursor:pointer;transition:.18s ease;border:1px solid transparent}
.v5622-steps span.active{background:#078c48!important;color:#fff!important;box-shadow:0 5px 14px rgba(7,140,72,.18)}
.v5622-steps span.done{border-color:#82c9a2;background:#EDF7F8}
#v5622-case-form input[readonly]{background:#f2f5f3;color:#42564c;font-weight:800}
#v5622-case-form .dialog-actions{position:sticky;bottom:0;background:#fff;padding-top:14px;z-index:3}
@media(max-width:760px){.v5622-steps{display:flex!important;overflow-x:auto;gap:6px;padding-bottom:5px}.v5622-steps span{min-width:max-content;padding:9px 12px}.v5623-step-panel.form-grid{grid-template-columns:1fr!important}.v5623-step-panel>*{grid-column:1!important}}
.v5624-workflow{margin-bottom:20px;padding:20px;border:1px solid #cfe5d8;border-radius:18px;background:linear-gradient(135deg,#f4fcf7,#fffaf1)}
.v5624-workflow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.v5624-workflow-head h3{margin:3px 0 0}
.v5624-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.v5624-progress div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:#718078}.v5624-progress div:before{content:"";height:5px;width:100%;background:#dfe8e3;border-radius:8px}.v5624-progress span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7eeea;font-weight:900}.v5624-progress .done:before,.v5624-progress .done span{background:#8bcba6;color:#063f26}.v5624-progress .active:before,.v5624-progress .active span{background:#078c48;color:#fff}.v5624-progress small{font-weight:800}
.v5624-outcome,.v5624-money-note,.v5624-callout,.v5624-workflow-summary{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:14px 16px;border-radius:12px;background:#fff3dc;border:1px solid #f0d49d}.v5624-money-note{background:#eaf8ef;border-color:#acd8bc}.v5624-workflow-summary{margin:0 0 16px;background:#f0f8f3;border-color:#cae1d2}
@media(max-width:850px){.v5624-workflow-head{align-items:flex-start;flex-direction:column}.v5624-progress{display:flex;overflow-x:auto}.v5624-progress div{min-width:110px}}
.v5627-summary{display:flex;justify-content:space-between;gap:16px;padding:18px;margin:12px 0 18px;border-radius:16px;background:#edf8f1;color:#075c35}.v5627-summary strong{color:#b45309}.v5627-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #dbe9e1}.v5627-alert div{display:grid;gap:4px}.v5627-alert span{color:#667b71;font-size:.92rem}@media(max-width:720px){.v5627-summary,.v5627-alert{align-items:stretch;flex-direction:column}.v5627-alert .btn{width:100%}}

.admin-only{display:none!important}
.v5636-role-hidden{display:none!important}
.v5622-static-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 18px;padding:0;background:transparent}.v5622-static-steps span{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f5faf8;font-size:12px;font-weight:850;color:var(--green-dark)}
@media(max-width:700px){.v5622-static-steps{grid-template-columns:1fr 1fr}}


/* V5.6.39 — formulaires métier en défilement, regroupés par logique */
.v5639-form-section{border:1px solid #dce8e3;border-radius:16px;background:#fbfdfc;padding:0;margin:8px 0 14px;overflow:visible}
.v5639-section-head{padding:14px 16px 10px;border-bottom:1px solid #e5eeea;background:#f3f8f6;border-radius:16px 16px 0 0}
.v5639-section-head h3{margin:0;color:#163a31;font-size:17px}
.v5639-section-head p{margin:4px 0 0;color:#61746d;font-size:12px}
.v5639-section-grid{padding:14px 16px 16px}
.v5639-section-grid>.products-box,.v5639-section-grid>.service-field,.v5639-section-grid>.optimizer-box{margin:0}
.v5639-sale-heading{margin-top:18px!important;padding:13px 15px!important;border:1px solid #dce8e3!important;border-radius:14px!important;background:#f3f8f6!important;color:#163a31!important}
#delivery-form>.form-grid,#v5611-repair-form>.form-grid,#v5622-case-form>.form-grid{align-items:start}
@media(max-width:700px){.v5639-form-section{border-radius:12px}.v5639-section-grid{padding:12px}.v5639-section-grid.form-grid{grid-template-columns:1fr}.v5639-section-grid .span2{grid-column:1}}

/* V5.7.0 — garde-fous, formulaires et preuves */
.v5700-module-hidden{display:none!important}
.v5700-maintenance-banner{position:sticky;top:0;z-index:99999;padding:10px 16px;text-align:center;font-weight:800;background:#fff3cd;border-bottom:1px solid #e2c35b}
.v5700-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:18px 0}
.v5700-module-grid .switch-line{padding:14px;border:1px solid #dbe7e2;border-radius:12px;background:#fff}
.v5700-maintenance-switch{grid-column:1/-1;background:#fff8e6!important}
.v5700-data-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}
.v5700-data-tools select{min-width:280px}
.v5700-json-list details{border:1px solid #dbe7e2;border-radius:10px;margin:8px 0;background:#fff}
.v5700-json-list summary{cursor:pointer;padding:12px;font-weight:700}
.v5700-json-list pre{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;padding:12px;margin:0;background:#f7faf8;border-top:1px solid #dbe7e2}
.v5700-evidence-set{grid-column:1/-1;border:1px solid #dbe7e2;border-radius:12px;padding:12px}
.v5700-evidence-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.v5700-evidence-head span{font-size:.9rem;color:#5f706a}
.v5700-prep-more{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v5700-prep-more input{display:none}

/* V5.7.1 — ergonomie intervention / optimiseur */
#v5639-delivery-tour .optimizer-box{padding:14px;border:1px solid #b8d8c2;border-radius:14px;background:#f7fbf8}
#v5639-delivery-tour .optimizer-box>#suggest-slot{margin-bottom:10px}
#optimizer-result{display:grid;gap:8px}
#optimizer-result .optimizer-option{padding:10px 12px;border-radius:10px;margin:0;line-height:1.45}
#optimizer-result .optimizer-option.best{border-width:2px}
#optimizer-result .optimizer-option .btn{margin-top:7px}
.optimizer-selection-status{margin:2px 0 0;padding:8px 10px;border-radius:9px;background:#eef8f1}
#v5639-delivery-in .v563-inbound{margin:0;border:0;padding:0;background:transparent}
#v5639-delivery-in .v563-inbound-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(120px,.8fr) minmax(160px,1fr) auto;gap:8px;align-items:end}
@media(max-width:760px){#v5639-delivery-in .v563-inbound-row{grid-template-columns:1fr}.optimizer-option .btn{width:100%}}
.test-readonly-timeline{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.test-readonly-timeline span{font-size:.82rem;padding:5px 8px;border-radius:999px;background:#f1f3f5;color:#687078}.test-readonly-timeline span.done{background:#edf7f0;color:#245c35;font-weight:600}
#delivery-form .v562-scenario{display:none!important}

/* V5.7.12 — aperçu de capacité caisse, sans logique parallèle de planning */
.v5712-capacity-calendar{margin-top:12px}
.v5712-calendar-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.v5712-calendar-head small{color:#65776e}
.v5712-calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:430px;overflow:auto;padding-right:3px}
.v5712-optimizer-note{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:11px;background:#f2f8f5;border:1px solid #d7e6de}.v5712-optimizer-note small{color:#65776e}.v56-slot.recommended{border-left:6px solid #15945c;background:#f2fbf6}
@media(max-width:950px){.v5712-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v5712-calendar-grid{grid-template-columns:1fr;max-height:520px}}


/* V5.7.17 — caisse : sélection hebdomadaire lisible, source unique des créneaux */

/* V5.7.17 — la date et la période sont des valeurs techniques alimentées par le planning. */
#v551-delivery-fields .v5717-technical-slot{display:none!important}

/* V5.7.18 — caisse : planning mensuel lisible, une seule source de créneaux */
.v5718-month-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:10px 0}.v5718-month-head>div:first-child{display:flex;flex-direction:column;gap:3px}.v5718-month-head small{color:#65776e}.v5718-month-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v5718-month-nav .btn{padding:8px 10px}.v5718-month-title{font-size:1.08rem;font-weight:900;text-transform:capitalize;color:#173d30;background:#f3f8f5;border-radius:10px;padding:9px 12px;margin:8px 0}.v5718-weekdays,.v5718-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.v5718-weekdays span{text-align:center;font-weight:850;color:#65776e;font-size:.82rem}.v5718-month-blank{min-height:68px}.v5718-month-day{min-height:72px;border:1px solid #d7e6de;border-radius:11px;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;cursor:pointer;color:#173d30}.v5718-month-day:hover:not(:disabled),.v5718-month-day:focus-visible:not(:disabled){background:#EDF7F8}.v5718-month-day.is-free{border-left:5px solid #16945d}.v5718-month-day.is-partial{border-left:5px solid #e2a326}.v5718-month-day.is-full{border-left:5px solid #c98b28;background:#fff9ed}.v5718-month-day.is-closed{border-left:5px solid #c9d2cd;background:#f5f7f6;color:#77847e}.v5718-month-day:disabled{cursor:not-allowed;opacity:.82}.v5718-month-day.selected{outline:3px solid #15945c;outline-offset:-3px;background:#eefaf3}.v5718-month-number{font-weight:950;font-size:1.05rem}.v5718-month-day small{font-size:.76rem}.v5718-day-choice{margin-top:12px;border-top:1px solid #e0ebe5;padding-top:12px}.v5718-day-choice-title{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;text-transform:capitalize}.v5718-day-choice-title small{color:#65776e}.v5718-period-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v5718-period-choice{border:1px solid #d7e6de;border-radius:10px;background:#fff;padding:11px 12px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#173d30;cursor:pointer}.v5718-period-choice.is-free{border-left:5px solid #16945d}.v5718-period-choice.is-partial{border-left:5px solid #e2a326}.v5718-period-choice.is-disabled{border-left:5px solid #c9d2cd;background:#f5f7f6;color:#77847e;cursor:not-allowed}.v5718-period-choice.selected{outline:3px solid #15945c;outline-offset:-3px;background:#eefaf3}.v5718-period-choice span{font-weight:850}.v5718-period-choice b{font-size:.9rem}@media(max-width:800px){.v5718-month-head{flex-direction:column}.v5718-month-nav{justify-content:flex-start}.v5718-weekdays,.v5718-month-grid{gap:4px}.v5718-month-day{min-height:62px;padding:6px}.v5718-month-day small{font-size:.68rem}}@media(max-width:560px){.v5718-month-nav .btn{width:100%}.v5718-weekdays span{font-size:.7rem}.v5718-month-day small{display:none}.v5718-month-day{min-height:48px}.v5718-period-choices{grid-template-columns:1fr}}

/* V5.7.19 — caisse : proposition caisse prioritaire, planning mensuel en second choix */
#v56-slot-picker .v56-slot-list{grid-template-columns:1fr;max-height:none;margin:12px 0 8px}#v56-slot-picker .v5628-selected-slot{margin:8px 0 16px}#v56-slot-picker .v5628-selected-slot small{font-weight:500;color:#4f6b5f}#v56-slot-picker .v5712-capacity-calendar{margin-top:10px}

/* V5.7.23 — Nouvelle intervention : planification pleine largeur et hiérarchie visuelle */
#delivery-dialog{width:min(980px,96vw)}
#delivery-form .optimizer-box{
  display:block;
  width:100%;
  padding:18px;
  background:#f8fbf9;
  border:1px solid #cfe2d7;
  border-radius:16px;
}
#delivery-form .optimizer-box>.products-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:0;
  padding:0 0 14px;
  border-bottom:1px solid #dce9e2;
}
#delivery-form .optimizer-box>.products-head>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
#delivery-form .optimizer-box>.products-head strong{
  font-size:1.08rem;
  color:var(--green-dark);
}
#delivery-form .optimizer-box>.products-head small{
  max-width:650px;
  color:var(--muted);
  line-height:1.45;
}
#delivery-form #suggest-slot{
  min-width:210px;
  padding:12px 16px;
  white-space:normal;
  line-height:1.25;
}
#delivery-form #optimizer-result{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:14px;
  width:100%;
}
#delivery-form #optimizer-result:empty{display:none}
#delivery-form #optimizer-result .v5712-optimizer-note{
  width:100%;
  padding:13px 15px;
  border:1px solid #cfe2d7;
  border-radius:12px;
  background:#eef8f2;
}
#delivery-form #optimizer-result .v5712-optimizer-note strong{
  color:var(--green-dark);
  font-size:.98rem;
}
#delivery-form #optimizer-result .v56-slot.recommended{
  width:100%;
  min-height:auto;
  padding:14px 16px;
  border:1px solid #b9ddc8;
  border-left:6px solid var(--green);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px #0a55330b;
}
#delivery-form #optimizer-result .v56-slot.recommended b{
  color:var(--green-dark);
  font-size:1rem;
}
#delivery-form #optimizer-result .v56-slot.recommended span{
  font-weight:800;
  color:var(--ink);
}
#delivery-form #intervention-selected-slot{
  width:100%;
  margin:14px 0 0;
  padding:13px 15px;
  border:1px solid #b9ddc8;
  border-left:5px solid var(--green);
  border-radius:12px;
  background:#eef9f2;
  color:var(--green-dark);
}
#delivery-form #intervention-capacity-calendar{
  width:100%;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #dce9e2;
}
#delivery-form #intervention-capacity-calendar>.v5718-month-head{
  margin:0 0 12px;
  padding:0;
}
#delivery-form #intervention-capacity-calendar .v5718-month-title{
  margin:10px 0;
  padding:10px 13px;
  background:#eef6f1;
  border:1px solid #e0ebe5;
}
#delivery-form #intervention-capacity-calendar .v5718-month-grid{
  gap:8px;
}
#delivery-form #intervention-capacity-calendar .v5718-month-day{
  min-height:76px;
  padding:9px;
  box-shadow:0 2px 7px #0a553307;
}
#delivery-form #intervention-capacity-calendar .v5718-day-choice{
  margin-top:16px;
  padding:14px;
  border:1px solid #dce9e2;
  border-radius:12px;
  background:#fff;
}
@media(max-width:760px){
  #delivery-form .optimizer-box>.products-head{grid-template-columns:1fr}
  #delivery-form #suggest-slot{width:100%;min-width:0}
  #delivery-form #intervention-capacity-calendar .v5718-month-nav{width:100%;justify-content:flex-start}
}

/* V5.7.24 — choix de créneau réversible */
.v5724-change-slot{margin-top:10px;display:inline-flex;align-items:center;justify-content:center}


/* V5.7.47 — Calendrier mensuel principal : présentation uniquement */
#view-month .calendar-blank{min-height:108px}
#view-month .calendar-day{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
#view-month .calendar-day.is-past{background:#f1f3f2;border-color:#d8ddda;color:#68736e}
#view-month .calendar-day.is-past .cal-chip{background:#e5e8e6;color:#68736e}
#view-month .calendar-day.is-admin-closed{background:#f1f3f2;border-color:#d8ddda;color:#68736e}
#view-month .calendar-day.is-admin-closed .cal-chip{background:#e5e8e6;color:#68736e}
#view-month .calendar-day.is-day-full{background:#fff0f0;border-color:#efb8b8;color:#8c2020}
#view-month .calendar-day.is-day-full .cal-chip{background:#ffdede;color:#8c2020}
#view-month .calendar-day.is-day-available{background:#EDF7F8;border-color:#b9e2cb}
#view-month .calendar-day.is-day-available .cal-chip{background:#DDF1F3;color:#155f3a}
#view-month .calendar-day.is-day-available .cal-chip.pm{background:#E8F5F6}
#view-month .calendar-day.selected{outline:3px solid #15945c;outline-offset:-3px}
#view-month .calendar-day:hover{box-shadow:0 5px 16px #173d3014}
@media(max-width:900px){#view-month .weekdays,#view-month .calendar{grid-template-columns:repeat(5,minmax(115px,1fr));overflow-x:auto;padding-bottom:4px}}

/* V5.7.56 — Identité DIVANINO, centre de pilotage et compte administrateur */
.product-logo{display:block;object-fit:contain}
.login-view{background:radial-gradient(circle at 12% 12%,#e4f5ef,transparent 32%),radial-gradient(circle at 90% 85%,#e8f1f2,transparent 34%),#f7faf9}
.login-shell{width:min(1040px,100%);display:grid;grid-template-columns:minmax(360px,470px) minmax(360px,1fr);align-items:stretch;border-radius:30px;box-shadow:0 28px 90px #075A621f;overflow:hidden;background:#fff;border:1px solid var(--line)}
.login-shell .login-card{width:100%;border:0;border-radius:0;box-shadow:none;padding:42px 42px 58px;min-height:620px}
.login-logo.product-logo{width:148px;height:148px;max-width:42vw;max-height:none;margin:0 auto 8px}
.login-product-title{color:#075A62;letter-spacing:.05em}
.login-tagline{margin:0 0 18px!important;color:#60766f;font-weight:700}
.login-pilotage{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#063F53,#075A62);color:#fff}
.login-pilotage .eyebrow{color:#b9ead4;margin-bottom:12px}
.login-pilotage h2{font-size:38px;line-height:1.08;margin:0 0 16px;color:#fff}
.login-pilotage-intro{font-size:17px;line-height:1.55;margin:0 0 30px;color:#e7f4f1}
.login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.login-feature-grid span{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #ffffff2e;border-radius:13px;background:#ffffff12;font-size:14px}
.login-feature-grid strong{color:#fff}
.login-version{color:#87978f}
.product-brand .product-logo{width:46px;height:46px;max-height:none}
.product-brand .brand-sep{height:34px}
.product-brand small{letter-spacing:.14em;color:#60766f;font-weight:800}
.product-brand strong{color:#075A62;letter-spacing:.04em}
.sidebar{display:flex;flex-direction:column}
.sidebar .nav-group,.sidebar .nav{flex:none}
.account-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.divanino-info-card{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7faf9}
.divanino-info-card strong{display:block;color:#075A62;font-size:20px;margin-bottom:8px}
.divanino-info-card p{margin:0 0 12px;line-height:1.55}
.divanino-info-card small{color:#71827c;font-size:11px}
#email-dialog{width:min(650px,94vw)}
#email-form>label{margin-top:14px}
@media(max-width:860px){.login-shell{grid-template-columns:1fr;width:min(470px,100%)}.login-pilotage{display:none}.login-shell .login-card{min-height:0;border-radius:30px}.account-actions{display:grid;grid-template-columns:1fr}}
@media(max-width:700px){.login-view{padding:14px}.login-shell .login-card{padding:30px 24px 54px}.product-brand .product-logo{width:42px;height:42px}.product-brand .brand-sep{display:none}.product-brand>div{display:none}}

/* V5.7.56 — choix d’espace réservé à l’administrateur plateforme */
.workspace-view{min-height:100vh;background:linear-gradient(145deg,#f4f8f7,#eaf3f1);padding:clamp(22px,5vw,64px);display:grid;place-items:center}
.workspace-view.hidden{display:none}
.workspace-shell{width:min(760px,100%)}
.workspace-brand{display:flex;align-items:center;gap:14px;margin:0 0 22px 4px;color:#15342d}
.workspace-brand img{width:46px;height:46px;object-fit:contain}
.workspace-brand div{display:flex;flex-direction:column;line-height:1.05}.workspace-brand strong{font-size:1.45rem;letter-spacing:.04em}.workspace-brand span{margin-top:5px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#607871}
.workspace-card{background:#fff;border:1px solid #dce8e4;border-radius:24px;padding:clamp(24px,4vw,42px);box-shadow:0 22px 60px rgba(21,52,45,.10)}
.workspace-card h1{margin:.25rem 0 .6rem;color:#15342d;font-size:clamp(1.65rem,3vw,2.25rem)}
.workspace-list{display:grid;gap:10px;margin-top:24px}
.workspace-option{width:100%;border:1px solid #d9e6e2;background:#fff;border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;cursor:pointer;color:#15342d;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.workspace-option:hover{border-color:#8eb9ae;transform:translateY(-1px);box-shadow:0 8px 22px rgba(21,52,45,.08)}
.workspace-option:disabled{opacity:.6;cursor:wait}.workspace-option-mark{font-size:1.35rem}.workspace-option strong{display:block;font-size:1rem}.workspace-option small{display:block;margin-top:4px;color:#6d817b}.workspace-option-arrow{font-size:1.3rem;color:#075a62}
.workspace-actions{display:flex;justify-content:flex-end;margin-top:20px}
@media(max-width:600px){.workspace-view{padding:18px}.workspace-card{border-radius:18px;padding:22px 18px}.workspace-option{padding:14px}}

/* V5.7.57 — identité visuelle DIVANINO validée + écran espace de travail */
.login-logo{width:142px;max-width:46%;margin:0 auto 10px;display:block}
.login-product-title{margin:4px 0 2px!important;font-size:34px!important;font-weight:650!important;letter-spacing:.20em;color:#063f53}

.login-tagline{margin:0!important;font-size:16px;font-weight:600;color:#71818b!important}
.product-brand .product-logo{width:48px;height:48px;object-fit:contain}
.product-brand strong{font-weight:650;letter-spacing:.16em;color:#063f53}
.product-brand small{font-size:9px;letter-spacing:.13em;color:#657b78}
.workspace-view{min-height:100vh;padding:32px;background:radial-gradient(circle at 12% 10%,#e4f5f0 0,transparent 34%),linear-gradient(145deg,#f8fbfa,#eef6f4);display:grid;place-items:center}
.workspace-view.hidden{display:none!important}
.workspace-shell{width:min(680px,100%)}
.workspace-brand{justify-content:center;display:flex;align-items:center;gap:13px;margin:0 0 20px;color:#063f53}
.workspace-brand img,.workspace-brand .workspace-logo{width:58px!important;height:58px!important;max-width:58px!important;object-fit:contain!important}
.workspace-brand div{display:flex;flex-direction:column;line-height:1.08}
.workspace-brand strong{font-size:1.35rem;font-weight:650;letter-spacing:.18em;color:#063f53}
.workspace-brand span{margin-top:6px;font-size:.72rem;letter-spacing:.08em;text-transform:none;color:#71818b}
.workspace-card{background:#fff;border:1px solid #dce8e4;border-radius:26px;padding:40px;box-shadow:0 24px 70px rgba(6,63,83,.10);text-align:center}
.workspace-card>.eyebrow{display:inline-block;margin:0 0 11px;padding:6px 10px;border-radius:999px;background:#eaf7f2;color:#075A62;font-size:10px}
.workspace-card h1{margin:0 0 10px;color:#103c47;font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.025em}
.workspace-card>p.muted{max-width:510px;margin:0 auto;color:#6b7e7b;line-height:1.55}
.workspace-list{display:grid;gap:12px;margin:28px 0 0;text-align:left}
.workspace-option{appearance:none;width:100%;border:1px solid #d7e5e1;background:#fff;border-radius:16px;padding:17px 18px;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;text-align:left;cursor:pointer;color:#15342d;box-shadow:0 3px 10px rgba(6,63,83,.03);transition:.15s ease}
.workspace-option:hover{border-color:#69a99a;transform:translateY(-1px);box-shadow:0 10px 25px rgba(6,63,83,.08)}
.workspace-option:disabled{opacity:.58;cursor:wait;transform:none}.workspace-option-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf6f3;font-size:1.15rem}.workspace-option strong{display:block;font-size:1.05rem;color:#103c47}.workspace-option small{display:block;margin-top:3px;color:#71818b;font-size:.78rem}.workspace-option-arrow{font-size:1.45rem;color:#075A62}
.workspace-actions{display:flex;justify-content:center;margin-top:24px}.workspace-actions .btn{min-width:180px}
#workspace-error{margin:12px 0 0;text-align:center}
@media(max-width:600px){.workspace-view{padding:18px}.workspace-card{padding:28px 20px;border-radius:20px}.workspace-brand img,.workspace-brand .workspace-logo{width:50px!important;height:50px!important;max-width:50px!important}.workspace-brand strong{font-size:1.15rem}.workspace-option{padding:14px}.login-product-title{font-size:29px!important}}

/* DIVANINO 5.7.60 — ergonomie Proposition 1 consolidée
   Présentation uniquement : aucune mécanique, aucun sélecteur JS et aucun flux métier modifié. */
:root{
  --div-teal:#073f52;
  --div-teal-2:#075a62;
  --div-green:#0A8793;
  --div-green-dark:#075A62;
  --div-mint:#EAF6F7;
  --div-bg:#F5F9FA;
  --div-line:#DCE8EB;
  --div-shadow:0 14px 38px rgba(7,63,82,.08);
}
body{background:var(--div-bg)}

/* Identité Proposition 1 */
.product-logo{display:block;object-fit:contain}
.login-logo.product-logo{width:108px;height:112px;max-width:none;margin:0 auto 2px}
.login-product-title{margin:3px 0 0!important;font-size:32px!important;font-weight:520!important;letter-spacing:.22em!important;color:var(--div-teal)!important;line-height:1.05}

.login-tagline{margin:0!important;font-size:15px!important;font-weight:550!important;color:#72828a!important}

/* Connexion : proportions et densité proches de la proposition 1 */
.login-view{padding:28px;background:radial-gradient(circle at 10% 12%,#e6f7f1 0,transparent 31%),linear-gradient(135deg,#f8fbfa,#f2f8f6)}
.login-shell{width:min(980px,100%);grid-template-columns:minmax(380px,49%) minmax(390px,51%);border:1px solid #e0ebe7;border-radius:26px;box-shadow:0 28px 74px rgba(7,63,82,.12)}
.login-shell .login-card{padding:46px 42px 36px;min-height:598px;display:flex;flex-direction:column;justify-content:center;text-align:left}
.login-shell .login-card>.login-logo,.login-shell .login-card>.login-product-title,.login-shell .login-card>.login-tagline{align-self:center;text-align:center}
.login-card form{width:100%;margin-top:28px;gap:13px}
.login-card label{gap:6px;font-size:12px;color:#173d36}
.login-card input{min-height:42px;border-radius:10px;border-color:#cfdfda;background:#fff;padding:10px 12px}
.login-card input:focus{border-color:#59a994;box-shadow:0 0 0 3px rgba(10,154,97,.10)}
.login-card .btn.primary{min-height:43px;border-radius:10px;background:#0A8793;box-shadow:0 8px 18px rgba(13,150,80,.16)}
.login-version{margin-top:auto;align-self:center;padding-top:24px;color:#8a9a94;font-size:10px;letter-spacing:.04em}
.login-pilotage{padding:52px 42px;background:linear-gradient(145deg,#063F53 0%,#075A62 55%,#0A8793 100%);justify-content:center}
.login-pilotage .eyebrow{font-size:10px;letter-spacing:.14em;color:#bfe9d9;margin:0 0 12px}
.login-pilotage h2{font-size:30px;line-height:1.08;margin:0 0 16px}
.login-pilotage-intro{max-width:330px;font-size:15px;line-height:1.55;margin:0 0 28px;color:#e8f5f1}
.login-feature-grid{grid-template-columns:1fr;gap:3px}
.login-feature-grid span{padding:7px 0;border:0;border-radius:0;background:transparent;font-size:13px}
.login-feature-grid strong{font-weight:700}

/* Sélection d'espace */
.workspace-view{padding:28px;background:radial-gradient(circle at 12% 10%,#e7f6f1 0,transparent 34%),linear-gradient(145deg,#f8fbfa,#eef6f4)}
.workspace-shell{width:min(650px,100%)}
.workspace-brand{margin-bottom:15px}
.workspace-brand img,.workspace-brand .workspace-logo{width:52px!important;height:56px!important;max-width:52px!important}
.workspace-brand strong{font-weight:540!important;letter-spacing:.19em!important;color:var(--div-teal)!important}
.workspace-card{padding:32px 36px;border-radius:22px;box-shadow:var(--div-shadow)}
.workspace-list{margin-top:20px;gap:10px}
.workspace-option{padding:14px 16px;border-radius:13px;box-shadow:none}
.workspace-actions{margin-top:18px}

/* En-tête application */
.topbar{height:72px;min-height:72px;padding:0 22px;gap:20px;border-bottom:1px solid #e2ebe8;box-shadow:0 2px 10px rgba(7,63,82,.025)}
.product-brand{gap:10px;min-width:176px}
.product-brand .product-logo{width:40px!important;height:44px!important;max-height:none!important}
.product-brand .brand-sep{display:none}
.product-brand>div{display:flex;align-items:center}
.product-brand>div small{display:none}
.product-brand strong{font-size:19px!important;font-weight:540!important;letter-spacing:.20em!important;color:var(--div-teal)!important}
.v5759-global-search{appearance:none;height:40px;flex:0 1 510px;min-width:280px;max-width:510px;margin-right:auto;border:1px solid #dfe9e6;background:#f5f8f7;border-radius:11px;padding:0 14px;color:#72818a;text-align:left;cursor:pointer}
.v5759-global-search:hover{border-color:#bfd5ce;background:#fff}
.v5759-global-search span{margin-left:7px}
.top-actions{gap:8px;margin-left:0}
.user-chip{max-width:230px;padding:7px 11px;background:#EAF6F7;border-color:#d7eae2;color:#204b43}
.icon-btn{width:38px;height:38px;border-radius:10px;font-size:20px}
.icon-btn:hover{background:#f0f6f4}

/* Navigation : conserver toutes les entrées mais améliorer le balayage visuel */
.layout{grid-template-columns:205px minmax(0,1fr);min-height:calc(100vh - 72px)}
.sidebar{padding:15px 11px 20px;background:#fff;border-right:1px solid #e2ebe8;gap:4px;overflow-y:auto}
.sidebar .nav-group{display:none}
.sidebar .nav{min-height:44px;margin:0;border-radius:10px;padding:11px 12px;font-size:13.5px;line-height:1.25;color:#48645d;transition:background .12s ease,color .12s ease,transform .12s ease}
.sidebar .nav:hover{background:#f2f8f5;color:var(--div-green-dark);transform:translateX(1px)}
.sidebar .nav.active{background:#E7F3F5;color:var(--div-green-dark);font-weight:850}

/* Zone de travail : largeur utile et hiérarchie plus nette */
.content{max-width:none;padding:20px 22px 34px;background:linear-gradient(135deg,#f5fbf9 0%,#f8fbfb 100%)}
.cloud-banner{margin-bottom:16px;padding:9px 12px;border-radius:10px}
.v5618-home-heading{margin-bottom:13px}
.v5618-home-heading h2{font-size:31px;letter-spacing:-.035em;margin-top:1px}
.v5618-home-heading .eyebrow{font-size:9px;margin-bottom:5px}
.v5618-home-heading .muted{margin-top:4px;font-size:13px}
.v5618-home-heading .btn{padding:9px 14px;border-radius:10px}
.v5618-dashboard{gap:10px}

/* Accueil opérationnel — base fonctionnelle conservée, ergonomie corrigée */
.v5758-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.v5758-kpis button{appearance:none;border:1px solid var(--div-line);background:#fff;border-radius:12px;padding:12px 13px;min-height:76px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;cursor:pointer;color:var(--ink);box-shadow:none}
.v5758-kpis button:hover{border-color:#bfd8cf;box-shadow:0 5px 14px rgba(7,63,82,.045)}
.v5758-kpis button:first-child{background:linear-gradient(145deg,#f1faf6,#fff);border-color:#cde6dc}
.v5758-kpis button.has-alert{border-color:#f2d5c9}
.v5758-kpi-icon{grid-row:1/3;margin:0;width:36px;height:36px;border-radius:9px;background:#edf7f4;display:grid;place-items:center;font-size:18px}
.v5758-kpis strong{display:block;font-size:21px;line-height:1;align-self:end;color:var(--div-teal-2)}
.v5758-kpis small{display:block;margin:1px 0 0;align-self:start;color:#5f736d;font-size:11px;line-height:1.25}
.v5758-main-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:10px}
.v5758-panel{background:#fff;border:1px solid var(--div-line);border-radius:13px;padding:12px 14px;box-shadow:none}
.v5758-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.v5758-panel-head>div{display:flex;align-items:center;gap:9px}
.v5758-panel-head h3{margin:0;font-size:15px}
.v5758-panel-head button{border:0;background:transparent;color:#075A62;font-weight:800;cursor:pointer;font-size:12px;padding:4px 0}
.v5758-panel .v5618-periods{grid-template-columns:1fr}
.v5618-period{padding:8px 10px;border-radius:9px}
.v5758-attention{display:grid;gap:3px}
.v5758-attention button{appearance:none;border:0;border-bottom:1px solid #edf2f0;background:#fff;display:grid;grid-template-columns:1fr auto 18px;gap:10px;align-items:center;padding:8px 3px;text-align:left;color:var(--ink);cursor:pointer}
.v5758-attention button:last-child{border-bottom:0}
.v5758-attention button span{color:var(--muted);font-size:12px}
.v5758-attention button i{font-style:normal;color:#075A62;font-size:20px}
.v5758-ok{padding:14px;border-radius:10px;background:#ECF6F7;color:#075A62;font-weight:750}
.v5758-secondary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.v5758-secondary-grid>button{appearance:none;border:1px solid var(--div-line);background:#fff;min-height:57px;padding:10px 11px;border-radius:11px;display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:none}
.v5758-secondary-grid>button:hover{border-color:#bfd8cf;background:#fbfefd}
.v5758-secondary-grid>button>span{font-size:22px}
.v5758-secondary-grid b,.v5758-secondary-grid small{display:block}
.v5758-secondary-grid small{margin-top:4px;color:var(--muted);font-size:11px}
.v5758-secondary-grid i{font-style:normal;color:#075A62;font-size:18px}
.v564-home-navigation{display:none!important}

/* Cohérence globale des contrôles sans modifier leur comportement */
.btn{border-radius:10px}
input,select,textarea{border-radius:10px}
.period-card,.settings-card,.admin-tile{box-shadow:none}

@media(max-width:1100px){
  .layout{grid-template-columns:190px minmax(0,1fr)}
  .v5759-global-search{min-width:220px}
  .v5758-main-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .login-shell{grid-template-columns:1fr;width:min(470px,100%)}
  .login-pilotage{display:none}
  .login-shell .login-card{min-height:0;border-radius:26px;padding:34px 28px 30px}
  .v5759-global-search{display:none}
  .v5758-kpis{grid-template-columns:1fr 1fr}
  .v5758-secondary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .topbar{height:auto;min-height:64px;padding:8px 12px}
  .layout{min-height:calc(100vh - 64px)}
  .content{padding:16px 12px 26px}
  .product-brand>div{display:none}
}
@media(max-width:600px){
  .login-view{padding:14px}
  .login-logo.product-logo{width:92px;height:96px}
  .login-product-title{font-size:28px!important}
  .workspace-card{padding:26px 20px}
  .v5758-kpis,.v5758-secondary-grid{grid-template-columns:1fr}
  .v5618-home-heading h2{font-size:28px}
}



/* V5.7.62 — logo Proposition 1 exact + cache visuel corrigé. Aucun comportement métier modifié. */
.login-shell .login-card>.login-logo.product-logo{width:230px!important;height:auto!important;max-width:78%!important;margin:0 auto 22px!important;object-fit:contain!important}
.login-shell .login-product-title,.login-shell .login-tagline{display:none!important}
.workspace-brand{margin-bottom:18px!important}
.workspace-brand>.workspace-logo{width:220px!important;height:auto!important;max-width:72vw!important;object-fit:contain!important}
.workspace-brand>div{display:none!important}
.product-brand{min-width:185px!important}
.product-brand>.product-logo{width:164px!important;height:auto!important;max-width:164px!important;object-fit:contain!important}
.product-brand>div,.product-brand>.brand-sep{display:none!important}
@media(max-width:700px){.login-shell .login-card>.login-logo.product-logo{width:205px!important}.product-brand>.product-logo{width:142px!important;max-width:142px!important}.product-brand{min-width:150px!important}}


/* V5.7.67 — harmonisation ergonomique globale consolidée.
   Présentation uniquement : mêmes liaisons, IDs, événements et mécaniques métier. */
@media (min-width:861px){
  .topbar{height:76px;min-height:76px;padding:0 24px;display:grid;grid-template-columns:198px minmax(300px,510px) 1fr;align-items:center;column-gap:18px}
  .product-brand{min-width:0!important;width:198px;gap:11px!important;overflow:visible}
  .product-brand>.product-logo{width:43px!important;height:46px!important;max-width:43px!important;object-fit:contain!important;flex:0 0 43px}
  .product-brand>div{display:flex!important;align-items:center!important;min-width:0}
  .product-brand>div small{display:none!important}
  .product-brand strong{display:block!important;white-space:nowrap;font-size:18px!important;line-height:1!important;font-weight:560!important;letter-spacing:.20em!important;color:var(--div-teal)!important}
  .v5759-global-search{width:100%;min-width:0;max-width:510px;margin:0!important}
  .top-actions{justify-self:end}
  .layout{grid-template-columns:228px minmax(0,1fr);min-height:calc(100vh - 76px)}
  .content{padding:24px 28px 40px;max-width:none}
}

/* Une même largeur, un même rythme vertical et une même hiérarchie pour toutes les pages. */
.content>.view{width:100%;max-width:1420px;margin-inline:auto}
.content>.view>.heading-row:first-child{margin:0 0 22px;min-height:82px;align-items:flex-start}
.content>.view>.heading-row:first-child>div:first-child{min-width:0;padding-top:1px}
.content>.view>.heading-row:first-child .eyebrow{margin:0 0 7px;font-size:10px;line-height:1.2;letter-spacing:.15em}
.content>.view>.heading-row:first-child h2{margin:0;font-size:30px;line-height:1.08;letter-spacing:-.03em}
.content>.view>.heading-row:first-child .muted{max-width:760px;margin:7px 0 0;font-size:14px;line-height:1.45}
.content>.view>.heading-row:first-child>button,
.content>.view>.heading-row:first-child>.date-control,
.content>.view>.heading-row:first-child>.day-head-actions,
.content>.view>.heading-row:first-child>.driver-tools,
.content>.view>.heading-row:first-child>.v55-head-actions,
.content>.view>.heading-row:first-child>input{align-self:flex-start}

/* Contrôles d'en-tête : dimensions prévisibles au lieu de s'étirer selon la page. */
#selected-month{width:420px;max-width:42vw;flex:0 1 420px;min-height:46px}
#view-tours>.heading-row:first-child .date-control{min-width:440px;max-width:48%}
#view-day>.heading-row:first-child .day-head-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
#view-cash>.heading-row:first-child .v55-head-actions{max-width:860px;justify-content:flex-end;align-items:flex-start}
#view-cash>.heading-row:first-child .v55-head-actions .btn{min-height:44px}

/* Cartes, panneaux et filtres : même langage visuel sur les modules. */
.content>.view>.panel,
.content>.view>.period-card,
.content>.view .v55-card,
.content>.view .v5618-priority,
.content>.view .v5618-store{border-radius:16px}
.content>.view>.panel{padding:18px}
.v55-toolbar{margin-top:0}
#view-tests .v5758-panel,#view-tests .panel{border-radius:16px}
#view-month .weekdays{padding-top:2px}
#view-month .calendar-day{border-radius:14px}

/* Aujourd'hui reste la référence de densité du centre de pilotage. */
#view-dashboard .v5618-home-heading{margin-bottom:14px}
#view-dashboard .v5618-home-heading h2{font-size:30px;line-height:1.05}
#view-dashboard .v5758-kpis{gap:10px}
#view-dashboard .v5758-kpis button{min-height:82px;padding:13px 15px;border-radius:13px}
#view-dashboard .v5758-main-grid{grid-template-columns:minmax(0,1.28fr) minmax(330px,.92fr);gap:12px}
#view-dashboard .v5758-panel{padding:14px 16px;border-radius:14px}
#view-dashboard .v5618-period{min-height:54px;padding:9px 11px}
#view-dashboard .v5758-secondary-grid{gap:10px}
#view-dashboard .v5758-secondary-grid>button{min-height:64px;padding:11px 13px;border-radius:12px}

@media(max-width:1180px) and (min-width:861px){
  .topbar{grid-template-columns:185px minmax(260px,430px) 1fr;padding-inline:18px}
  .layout{grid-template-columns:212px minmax(0,1fr)}
  .content{padding-inline:22px}
  #view-dashboard .v5758-main-grid{grid-template-columns:1fr}
  #view-cash>.heading-row:first-child{min-height:0}
  #view-cash>.heading-row:first-child .v55-head-actions{max-width:620px}
}
@media(max-width:860px){
  .content>.view>.heading-row:first-child{min-height:0}
  #selected-month{width:100%;max-width:none}
  #view-tours>.heading-row:first-child .date-control{width:100%;min-width:0;max-width:none}
}


/* V5.7.74 — lisibilité de la tuile SAV dans Administration */
.cash-admin #v5622-admin-tile{display:grid!important;align-content:center;justify-items:center;text-align:center;gap:7px}
#v5622-admin-tile strong{line-height:1.25}
#v5622-admin-tile small{display:block;max-width:190px;line-height:1.35}

/* V5.7.75 — cohérence des formulaires opérationnels */
#v5622-case-dialog{width:min(980px,96vw)}
#v5622-case-form .v5639-form-section{width:100%}
#v5622-case-form .v5639-section-head,#delivery-form .v5639-section-head,#v5611-repair-form .v5639-section-head{min-height:66px;display:flex;flex-direction:column;justify-content:center}

/* V5.7.80 — profils et droits ENVIE 71 / identification logistique conservée */
.test-product-identification{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr);gap:6px 22px;margin-top:7px;color:var(--muted,#60727a);font-size:.94rem}.test-product-identification span{display:block;line-height:1.35}.test-product-identification b{color:var(--ink,#12343b)}
@media(max-width:760px){.test-product-identification{grid-template-columns:1fr}}

/* V5.7.86 - Licence d'évaluation : présentation uniquement */
.license-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}
.license-summary-grid>div{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f8fafc)}
.license-summary-grid small{color:var(--muted);font-weight:700}.license-summary-grid strong{font-size:1rem}.license-hash code{overflow-wrap:anywhere;font-size:.78rem}

.license-public-state{padding:12px 14px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#f8fafc)}
@media(max-width:760px){.license-public-btn{padding-inline:10px}.license-public-btn{font-size:0}.license-public-btn::first-letter{font-size:1rem}}
/* V5.7.85 — synthèse cycle de vie RGPD, intégrée au panneau Stockage & archives */
.v5785-rgpd{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.v5785-rgpd h4{margin:0 0 6px}.v5785-rgpd-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-top:10px}.v5785-rgpd-grid article{border:1px solid var(--line);border-radius:11px;padding:10px;display:grid;gap:3px}.v5785-rgpd-grid span,.v5785-rgpd-grid small{font-size:11px;color:var(--muted)}.v5785-rgpd-grid strong{font-size:20px}.v5785-rgpd-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}@media(max-width:900px){.v5785-rgpd-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.v5785-rgpd-grid{grid-template-columns:1fr}}

/* V5.7.88 — Administration réorganisée : présentation uniquement */
.admin-page-head{margin-bottom:18px}.admin-page-head .muted{margin:5px 0 0;max-width:760px}.admin-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.admin-hub-group{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 26px #15342d0a}.admin-hub-title{display:flex;align-items:center;gap:11px;margin-bottom:12px}.admin-hub-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef8f7;color:#075a62;font-size:11px;font-weight:950;letter-spacing:.08em}.admin-hub-title>div{display:grid;gap:2px}.admin-hub-title strong{font-size:15px}.admin-hub-title small{color:var(--muted);font-size:12px}.admin-hub-items{display:grid;gap:8px}.admin-tile.admin-tile-wide{min-height:0;display:grid;grid-template-columns:38px 1fr auto;align-items:center;text-align:left;gap:11px;padding:12px 13px;border-radius:13px;background:#f9fbfa;box-shadow:none}.admin-tile.admin-tile-wide>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);font-size:19px}.admin-tile-copy{display:grid;gap:2px}.admin-tile-copy strong{font-size:14px}.admin-tile-copy small{font-size:11px;line-height:1.35}.admin-tile.admin-tile-wide>b{color:#7c918a;font-size:18px}.admin-grid{margin-top:4px}.user-admin-panel{max-width:1180px;margin-inline:auto}.user-admin-head{padding-bottom:15px;border-bottom:1px solid var(--line)}.user-admin-head .muted{max-width:850px;line-height:1.5}.user-create-box{margin:16px 0;border:1px solid #cfe3df;border-radius:15px;background:#f7fbfa;overflow:hidden}.user-create-box>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;color:#075a62}.user-create-box>summary::-webkit-details-marker{display:none}.user-create-box>summary>span:first-child{display:grid;gap:2px}.user-create-box>summary small{color:var(--muted);font-size:12px;font-weight:600}.user-create-chevron{font-size:20px;transition:transform .2s}.user-create-box[open] .user-create-chevron{transform:rotate(180deg)}.user-create-form{margin:0;border:0;border-top:1px solid #dcebe8;border-radius:0;background:#fff;padding:16px;grid-template-columns:1.1fr 1.1fr 1.1fr 1fr}.user-create-form .btn{grid-column:1/-1;justify-self:start}.users-table{gap:8px}.user-row{display:block;padding:0;overflow:hidden;background:#fff}.user-row>summary{list-style:none}.user-row>summary::-webkit-details-marker{display:none}.user-row-summary{display:grid;grid-template-columns:42px minmax(180px,1fr) auto auto 88px;gap:12px;align-items:center;padding:13px 15px;cursor:pointer}.user-row-summary:hover{background:#f8fbfa}.user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf6f4;color:#075a62;font-weight:950}.user-summary-main{display:grid;gap:2px;min-width:0}.user-summary-main strong{font-size:14px}.user-summary-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.user-role-badge,.user-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;white-space:nowrap}.user-role-badge{background:#eef3f8;color:#43586b}.user-status-badge.is-active{background:#e8f6ee;color:#25734a}.user-status-badge.is-inactive{background:#f1f2f2;color:#78827e}.user-manage{color:#075a62;font-size:12px;font-weight:850;text-align:right}.user-row[open] .user-manage b{display:inline-block;transform:rotate(180deg)}.user-row-editor{padding:16px;border-top:1px solid var(--line);background:#fbfcfc}.user-editor-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1fr auto;gap:12px;align-items:end}.user-active-line{margin:0;min-height:42px;padding:0 8px}.user-actions{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);align-items:center}.user-actions .user-delete{margin-left:auto}.user-protected-note{margin:13px 0 0;padding:10px 12px;border-radius:10px;background:#f4f6f6;color:var(--muted);font-size:12px}.user-protected{background:#fcfdfd}.temp-password{border-color:#d7e5e2;background:#f8fbfa}.temp-password code{border-color:#9bbdb6}.admin-back{border-radius:999px}@media(max-width:1050px){.admin-hub{grid-template-columns:1fr}.user-row-summary{grid-template-columns:42px 1fr auto}.user-role-badge{grid-column:2}.user-status-badge{grid-column:3;grid-row:2}.user-manage{grid-column:3;grid-row:1}.user-editor-grid{grid-template-columns:1fr 1fr}.user-create-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-hub{gap:11px}.admin-hub-group{padding:13px}.admin-tile.admin-tile-wide{grid-template-columns:34px 1fr auto}.admin-tile.admin-tile-wide>span:first-child{width:34px;height:34px}.user-row-summary{grid-template-columns:38px 1fr auto;padding:12px}.user-role-badge{grid-column:2}.user-status-badge{display:none}.user-manage{grid-column:3;grid-row:1/3}.user-editor-grid,.user-create-form{grid-template-columns:1fr}.user-actions{display:grid}.user-actions .user-delete{margin-left:0}.user-admin-head{gap:10px}}


/* V5.8.13 - Socle légal multi-organisations */
.legal-links{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.legal-link{border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:2px 1px}
.legal-link:hover,.legal-link:focus-visible{color:var(--primary)}
.login-legal-links{margin-top:7px}
.sidebar-legal-links{margin-top:auto;padding:12px 8px 6px;border-top:1px solid var(--line)}
.sidebar-legal-links .legal-link{font-size:10px}
.legal-dialog .dialog-card{max-width:780px}
.legal-dialog .license-terms-text p{line-height:1.55}
@media(max-width:900px){.sidebar-legal-links{display:none}}

/* V5.8.15 — correction définitive des liens légaux + © */
.login-version{
  position:static!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  display:block!important;margin:18px auto 0!important;text-align:center!important;
}
.login-legal-links{position:relative!important;z-index:50!important;margin-top:8px!important;pointer-events:auto!important}
.legal-link{position:relative;z-index:51;display:inline-block;pointer-events:auto!important;cursor:pointer}
section.legal-dialog{display:none;position:fixed;inset:0;z-index:100000;padding:22px;background:#14372f99;align-items:center;justify-content:center}
section.legal-dialog:target{display:flex}
section.legal-dialog .dialog-card{width:min(780px,94vw);max-height:88vh;overflow:auto;background:#fff}
.legal-close{text-decoration:none!important}

/* V5.8.18 — topbar stable quand la recherche globale est désactivée par module. */
@media (min-width:861px){.product-brand{grid-column:1}.v5759-global-search{grid-column:2}.top-actions{grid-column:3;justify-self:end}}

/* V5.8.19 — Administration plateforme DIVANINO */
.workspace-platform-option{border-color:#b9d7cf;background:linear-gradient(135deg,#f5fbf9,#eef8f5)}
.workspace-platform-option .workspace-option-mark{background:#dff1ec;color:#075a62}
.platform-admin-view{min-height:100vh;background:#f4f8f7;color:#15342d}
.platform-admin-view.hidden{display:none!important}
.platform-admin-topbar{min-height:76px;padding:14px clamp(18px,3vw,40px);background:#fff;border-bottom:1px solid #dbe7e3;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:30}
.platform-admin-brand{display:flex;align-items:center;gap:12px}.platform-admin-brand img{width:40px;height:40px;object-fit:contain}.platform-admin-brand div{display:grid;gap:2px}.platform-admin-brand small{font-size:10px;font-weight:900;letter-spacing:.13em;color:#6c7f79}.platform-admin-brand strong{font-size:19px;letter-spacing:.08em;color:#075a62}.platform-admin-actions{display:flex;gap:9px;flex-wrap:wrap}
.platform-admin-main{width:min(1450px,100%);margin:0 auto;padding:30px clamp(18px,3vw,40px) 60px}.platform-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.platform-admin-heading h1{margin:2px 0 6px;font-size:clamp(1.8rem,3vw,2.5rem);color:#103c47}.platform-admin-heading .muted{max-width:820px;margin:0}
.platform-admin-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:20px;align-items:start}.platform-org-panel,.platform-detail-panel{min-width:0}.platform-org-panel{background:#fff;border:1px solid #dce8e4;border-radius:18px;padding:14px;position:sticky;top:98px;box-shadow:0 8px 28px #14372f0a}.platform-panel-head{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 12px;border-bottom:1px solid #e4ece9}.platform-panel-head>div{display:grid;gap:2px}.platform-panel-head small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#7a8a85}.platform-panel-head strong{font-size:15px}.platform-count{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#e9f5f2;color:#075a62;font-size:12px;font-weight:900}.platform-org-list{display:grid;gap:7px;margin-top:12px}.platform-org-item{appearance:none;width:100%;border:1px solid transparent;background:#f8fbfa;border-radius:12px;padding:11px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer;color:#15342d}.platform-org-item:hover{border-color:#bfd9d2}.platform-org-item.is-active{background:#eaf6f3;border-color:#83b7aa}.platform-org-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fff}.platform-org-item strong,.platform-org-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-org-item strong{font-size:13px}.platform-org-item small{margin-top:2px;color:#6c8079;font-size:10px}.platform-org-item b{font-size:20px;color:#6e958b}
.platform-empty-state{min-height:420px;background:#fff;border:1px dashed #cbded9;border-radius:20px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.platform-empty-state>span{font-size:44px}.platform-empty-state h2{margin:10px 0 4px}.platform-empty-state p{max-width:520px}.platform-org-head{padding:4px 2px 14px}.platform-org-head h2{margin:2px 0 5px;font-size:1.9rem;color:#103c47}.platform-org-head .muted{overflow-wrap:anywhere}
.platform-card{background:#fff;border:1px solid #dce8e4;border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 7px 24px #14372f08}.platform-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.platform-card-head h3{margin:0 0 4px;color:#103c47}.platform-card-head .muted{margin:0;max-width:720px;line-height:1.45}.platform-status{min-height:20px;margin:12px 0 0}
.platform-modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.platform-module-toggle{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #dce8e4;border-radius:12px;background:#fbfdfc;cursor:pointer}.platform-module-toggle input{width:18px;height:18px;accent-color:#075a62}.platform-module-toggle span{display:grid;gap:1px}.platform-module-toggle strong{font-size:13px}.platform-module-toggle small{font-size:10px;color:#758680;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.platform-license-form,.platform-payment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.platform-license-form label,.platform-payment-form label{display:grid;gap:6px;color:#405851;font-size:11px;font-weight:800}.platform-license-form input,.platform-license-form select,.platform-license-form textarea,.platform-payment-form input,.platform-payment-form select{width:100%;border:1px solid #cfded9;border-radius:10px;padding:10px 11px;background:#fff;color:#15342d;font:inherit;font-weight:600}.platform-license-form textarea{resize:vertical;min-height:82px}.platform-form-wide{grid-column:1/-1}.platform-payment-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.platform-payment-form .btn{justify-self:start}.platform-payments-list{display:grid;gap:8px;margin-top:15px}.platform-payment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #e0e9e6;border-radius:12px;background:#fbfdfc}.platform-payment-row>div{display:grid;gap:2px}.platform-payment-row strong{font-size:14px}.platform-payment-row small{font-size:10px;color:#74847f}.platform-no-payments{padding:18px;border:1px dashed #d3e1dd;border-radius:12px;text-align:center;color:#74847f;font-size:12px}
@media(max-width:980px){.platform-admin-layout{grid-template-columns:1fr}.platform-org-panel{position:static}.platform-org-list{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.platform-admin-topbar,.platform-admin-heading,.platform-card-head{align-items:stretch;flex-direction:column}.platform-admin-actions{width:100%}.platform-admin-actions .btn{flex:1}.platform-org-list,.platform-modules-grid,.platform-license-form,.platform-payment-form{grid-template-columns:1fr}.platform-form-wide{grid-column:auto}.platform-admin-main{padding-inline:14px}.platform-card{padding:16px}.platform-payment-row{align-items:flex-start;flex-direction:column}.platform-payment-row .btn{width:100%}}

/* V5.8.23 — entrée administration plateforme persistante */
#workspace-platform-admin{width:100%;margin-top:24px;text-align:left}
#workspace-platform-admin + .workspace-list{margin-top:12px}

/* V5.8.23 — Entrée DIVANINO : présentation produit + sélection d'espace premium. */
.login-view{background:radial-gradient(circle at 14% 16%,rgba(64,202,163,.14),transparent 28%),radial-gradient(circle at 88% 82%,rgba(10,135,147,.10),transparent 30%),#f5faf8}
.login-shell{width:min(1080px,100%);grid-template-columns:minmax(390px,46%) minmax(440px,54%);border:1px solid rgba(7,90,98,.10);border-radius:30px;box-shadow:0 34px 90px rgba(7,63,82,.14)}
.login-shell .login-card{padding:48px 48px 34px;min-height:620px;background:linear-gradient(180deg,#fff,#fbfefd)}
.login-shell .login-card>.login-logo.product-logo{width:215px!important;max-width:76%!important;margin-bottom:12px!important}
.login-value{display:block!important;align-self:center;max-width:320px;margin:4px auto 0!important;text-align:center;color:#607873;font-size:14px;line-height:1.45}
.login-card form{margin-top:30px}
.login-pilotage{position:relative;overflow:hidden;padding:62px 54px;background:linear-gradient(145deg,#073e4e 0%,#075a62 58%,#07818a 100%)}
.login-pilotage:after{content:"D";position:absolute;right:-32px;bottom:-112px;font-size:360px;font-weight:900;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
.login-pilotage h2{position:relative;z-index:1;font-size:40px;letter-spacing:-.035em;line-height:1.06;margin-bottom:20px}
.login-pilotage-intro{position:relative;z-index:1;max-width:430px;font-size:16px}
.login-benefits{position:relative;z-index:1;display:grid;gap:8px;margin-top:26px}
.login-benefits>div{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.login-benefits>div:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.login-benefits>div>span{font-size:11px;letter-spacing:.12em;color:#aee4d2;font-weight:900}
.login-benefits p{margin:0}.login-benefits strong,.login-benefits small{display:block}.login-benefits strong{color:#fff;font-size:14px}.login-benefits small{margin-top:3px;color:#cfe5df;font-size:12px}

.workspace-view{background:radial-gradient(circle at 12% 8%,rgba(62,196,157,.13),transparent 28%),radial-gradient(circle at 90% 88%,rgba(10,135,147,.09),transparent 30%),#f5faf8}
.workspace-shell{width:min(760px,100%)}
.workspace-brand{justify-content:flex-start;margin:0 0 18px 8px}.workspace-brand img,.workspace-brand .workspace-logo{width:44px!important;height:48px!important;max-width:44px!important}.workspace-brand strong{font-size:17px!important}.workspace-brand span{font-size:11px}
.workspace-card{text-align:left;padding:38px 42px 34px;border-radius:26px;border-color:rgba(7,90,98,.10);box-shadow:0 28px 76px rgba(7,63,82,.12)}
.workspace-card>.eyebrow{margin-bottom:12px}.workspace-card h1{font-size:clamp(2rem,4vw,2.55rem);letter-spacing:-.04em}.workspace-card>p.muted{margin:0;max-width:610px;font-size:14px}
.workspace-section-label{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 9px;padding-bottom:7px;border-bottom:1px solid #e3ece9}.workspace-section-label span{font-size:10px;letter-spacing:.15em;font-weight:950;color:#075A62}.workspace-section-label small{font-size:11px;color:#8a9a95}.workspace-client-label{margin-top:24px}
.workspace-list{margin-top:0}.workspace-option{width:100%;min-height:70px;padding:15px 17px;background:#fff;border:1px solid #dce8e4;border-radius:15px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.workspace-option:hover{transform:translateY(-1px);border-color:#b9d8cf;box-shadow:0 9px 22px rgba(7,63,82,.06)}.workspace-option strong{font-size:15px}.workspace-option small{margin-top:4px;color:#84948f}.workspace-option-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef7f4}.workspace-platform-option{background:linear-gradient(135deg,#eef9f5,#f7fbfa);border-color:#cfe7df}.workspace-platform-option .workspace-option-mark{background:#dff3ec}.workspace-platform-option strong{color:#075A62}.workspace-actions{display:flex;justify-content:flex-end;margin-top:26px}
@media(max-width:860px){.login-shell{grid-template-columns:1fr;width:min(500px,100%)}.login-pilotage{display:none}.login-shell .login-card{min-height:0}.workspace-shell{width:min(680px,100%)}}
@media(max-width:600px){.workspace-card{text-align:left;padding:28px 20px}.workspace-brand{margin-left:2px}.workspace-section-label{margin-top:24px}.workspace-actions{justify-content:stretch}.workspace-actions .btn{width:100%}}

/* V5.8.23 — statut de licence discret dans le pied de navigation. */
#organization-license-link{white-space:nowrap}
.organization-license-details p{margin:.65rem 0}

/* V5.8.23 — licence organisation : affichage volontairement minimal. */
.organization-license-card{max-width:560px}
.organization-license-details{display:grid;gap:8px;padding:6px 0 2px}
.organization-license-org{margin:0;color:var(--muted);font-weight:700}
.organization-license-summary{margin:0;font-size:1.15rem;font-weight:850;color:var(--text)}
.organization-license-meta{margin:4px 0 0;color:var(--muted)}

/* V5.8.26 — Assistance DIVANINO */
.support-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.support-request-form label{display:grid;gap:6px;font-weight:700}.support-request-form input,.support-request-form select,.support-request-form textarea{width:100%}.support-request-wide{grid-column:1/-1}.support-request-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 14px;border:1px solid #dce8e4;border-radius:12px;background:#f7fbf9;color:#5d7069;font-size:12px}.support-request-meta strong{color:#173f43}.platform-support-list{display:grid;gap:10px}.platform-support-item{border:1px solid #dce8e4;border-radius:14px;background:#fbfdfc;overflow:hidden}.platform-support-item summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;cursor:pointer}.platform-support-item summary::-webkit-details-marker{display:none}.platform-support-summary{display:grid;gap:4px}.platform-support-summary strong{font-size:13px}.platform-support-summary small{color:#6f807a}.platform-support-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#e9f3ef;color:#315a53;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.platform-support-editor{border-top:1px solid #e3ece8;padding:14px;display:grid;gap:12px}.platform-support-description{white-space:pre-wrap;margin:0;padding:12px;border-radius:10px;background:#fff;border:1px solid #e4ece9;font-size:13px;line-height:1.5}.platform-support-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#6f807a;font-size:11px}.platform-support-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.platform-support-actions label{display:grid;gap:5px;font-size:11px;font-weight:700}.platform-support-actions select{min-width:180px}.platform-no-support{padding:14px;border:1px dashed #cbdad5;border-radius:12px;color:#6f807a;text-align:center}
@media(max-width:680px){.support-request-form{grid-template-columns:1fr}.support-request-wide{grid-column:auto}.platform-support-item summary{grid-template-columns:1fr}.platform-support-actions{align-items:stretch}.platform-support-actions label,.platform-support-actions select,.platform-support-actions .btn{width:100%}}

/* V5.8.29 — Administration organisation allégée : menu seul + chargement à la demande */
#view-admin.admin-detail-open .admin-page-head,
#view-admin.admin-detail-open .admin-hub,
#view-admin.admin-detail-open .admin-grid{display:none!important}
#view-admin.admin-detail-open{padding-top:0}
#view-admin.admin-detail-open>.panel:not(.hidden),
#view-admin.admin-detail-open>.organization-settings-panel:not(.hidden),
#view-admin.admin-detail-open>.backup-admin-panel:not(.hidden),
#view-admin.admin-detail-open>.user-admin-panel:not(.hidden){margin-top:0;max-width:none;width:100%;min-height:calc(100vh - 130px)}
#view-admin.admin-detail-open .admin-back{position:sticky;top:78px;z-index:3;background:#fff}

.platform-function-hub{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.platform-function-tile{appearance:none;border:1px solid #dce8e4;background:#fff;border-radius:14px;padding:14px 12px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;cursor:pointer;color:#15342d;box-shadow:0 5px 18px #14372f08}
.platform-function-tile:hover{border-color:#84b8ad;background:#f8fbfa;transform:translateY(-1px)}
.platform-function-tile>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef8f7;font-size:17px}
.platform-function-tile strong{font-size:13px}.platform-function-tile small{font-size:10px;color:var(--muted);margin-top:2px}
.platform-function-panel{margin-bottom:0;min-height:calc(100vh - 190px)}
.platform-function-back{margin-bottom:16px;border-radius:999px}
.platform-org-detail.platform-function-open .platform-org-head{margin-bottom:4px}
@media(max-width:1180px){.platform-function-hub{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.platform-function-hub{grid-template-columns:1fr 1fr}.platform-function-panel{min-height:0}}
@media(max-width:480px){.platform-function-hub{grid-template-columns:1fr}}


/* V5.8.29 — Administration organisation : aucun doublon sous le menu */
#view-admin:not(.admin-detail-open)>.admin-section{display:none!important}
.account-detail-card{display:grid;gap:18px;max-width:760px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc}
.account-detail-card #profile-info{font-size:15px;line-height:1.55}
.about-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.about-status-grid>article{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}
.about-status-grid h4{margin:0 0 10px}
@media(max-width:760px){.about-status-grid{grid-template-columns:1fr}}


/* V5.8.29 — Harmonie globale : typographie, densité et proportions cohérentes.
   Objectif : davantage de contenu utile visible sans compresser les écrans complexes. */
:root{
  --ui-font:14px;
  --ui-small:12px;
  --ui-micro:10px;
  --ui-title:27px;
  --ui-subtitle:19px;
  --ui-radius:14px;
  --ui-gap:14px;
  --ui-control-h:40px;
}
html{font-size:14px}
body{font-size:var(--ui-font);line-height:1.42}
button,input,select,textarea{line-height:1.3}
label{font-size:12px;gap:5px}
input,select,textarea{padding:9px 11px;border-radius:10px;min-height:var(--ui-control-h)}
textarea{line-height:1.42}
.btn{padding:9px 14px;border-radius:10px;font-size:13px;min-height:var(--ui-control-h)}
.mini-btn{padding:7px 9px;font-size:12px}
.muted{line-height:1.45}
.eyebrow{font-size:10px;margin-bottom:5px}
.heading-row{margin-bottom:14px;gap:14px}
.heading-row h2,.dialog-head h2{font-size:var(--ui-title);line-height:1.12}
.panel{padding:16px;border-radius:16px}
.panel h3,.settings-head h3{font-size:var(--ui-subtitle);line-height:1.2}
.settings-head p{margin-top:5px;margin-bottom:0}
.settings-block{padding:14px!important}
.settings-block h4{margin-top:0;margin-bottom:10px}
.form-grid,.settings-grid{gap:11px 12px}
.dialog-card{padding:20px}.dialog-head{gap:12px}.dialog-actions{gap:8px}
.legal-dialog .license-terms-text{font-size:13px;line-height:1.5}
.legal-dialog .license-terms-text p{margin:.72em 0}

/* Structure générale : moins de hauteur perdue dans les cadres fixes. */
.topbar{height:72px;padding:0 22px}.brand img{width:125px}.brand strong{font-size:15px}.brand small{font-size:9px}.user-chip{padding:7px 10px;font-size:11px}
.layout{grid-template-columns:220px 1fr;min-height:calc(100vh - 72px)}
.sidebar{padding:16px 10px;gap:5px}.nav{padding:11px 12px;border-radius:11px;font-size:13px}
.content{padding:24px;max-width:1500px}.cloud-banner{margin-bottom:16px;padding:9px 12px;font-size:12px}

/* Cartes métier et listes : même échelle visuelle partout. */
.period-grid{gap:14px}.period-card{padding:14px;border-radius:16px;min-height:250px}.period-head{margin-bottom:9px}.period-head h3{font-size:19px}.period-head span{font-size:11px}
.delivery-list{gap:8px}.delivery-card{grid-template-columns:78px minmax(0,1fr) auto;gap:11px;padding:11px;border-radius:13px}.delivery-time{font-size:21px}.delivery-main h4{font-size:15px}.delivery-main p{font-size:13px}.tags{margin-top:7px}.tag{font-size:10px;padding:4px 6px}
.weekdays,.calendar{gap:8px}.calendar-day{min-height:94px;padding:8px;border-radius:12px}.cal-count{margin-top:8px;font-size:10px}
.search-box input{font-size:15px;padding:11px}.search-results{gap:8px;margin-top:11px}.search-row{padding:11px;border-radius:12px}
.empty{padding:22px}
.admin-grid{gap:12px}.big-stat{font-size:40px}.security-ok{padding:6px 9px}

/* Administration organisation : menu compact et fonctions seules, cohérent avec le reste. */
.admin-hub{gap:12px!important}.admin-hub-group{padding:14px!important;border-radius:16px!important}.admin-hub-title{margin-bottom:10px!important}.admin-tile{min-height:54px!important;padding:10px 12px!important}.admin-tile-copy strong{font-size:13px!important}.admin-tile-copy small{font-size:10px!important;line-height:1.35}
#view-admin.admin-detail-open>.panel:not(.hidden),#view-admin.admin-detail-open>.organization-settings-panel:not(.hidden),#view-admin.admin-detail-open>.backup-admin-panel:not(.hidden),#view-admin.admin-detail-open>.user-admin-panel:not(.hidden){min-height:calc(100vh - 106px)}
#view-admin.admin-detail-open .admin-back{top:66px}
.account-detail-card{gap:13px;padding:14px}.account-detail-card #profile-info{font-size:13px;line-height:1.45}
.about-status-grid{gap:11px;margin-top:12px}.about-status-grid>article{padding:13px}.about-status-grid h4{margin-bottom:7px}
.support-request-form{gap:11px;margin-top:13px}.support-request-form textarea{min-height:120px}.support-request-meta{padding:9px 11px;font-size:11px}

/* Administration plateforme : même densité, sans modifier son fonctionnement. */
.platform-admin-topbar{min-height:66px;padding:10px clamp(16px,2.4vw,32px)}
.platform-admin-brand img{width:34px;height:34px}.platform-admin-brand small{font-size:9px}.platform-admin-brand strong{font-size:17px}
.platform-admin-main{padding:22px clamp(16px,2.4vw,32px) 42px}.platform-admin-heading{margin-bottom:16px}.platform-admin-heading h1{font-size:clamp(1.65rem,2.5vw,2.15rem)}
.platform-admin-layout{grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:15px}.platform-org-panel{top:80px;padding:11px;border-radius:15px}.platform-panel-head{padding-bottom:9px}.platform-org-list{margin-top:9px;gap:5px}.platform-org-item{padding:9px;border-radius:10px}.platform-org-item strong{font-size:12px}.platform-org-item small{font-size:9px}
.platform-function-hub{gap:8px;margin:10px 0 13px}.platform-function-tile{padding:11px 10px;border-radius:12px}.platform-function-tile>span{width:31px;height:31px;font-size:15px}.platform-function-tile strong{font-size:12px}.platform-function-tile small{font-size:9px}
.platform-function-panel{min-height:calc(100vh - 160px)}.platform-function-back{margin-bottom:11px}
.platform-support-list{gap:8px}.platform-support-item summary{padding:10px 11px}.platform-support-editor{padding:11px;gap:9px}.platform-support-description{padding:10px;font-size:12px}.platform-support-meta{font-size:10px}.platform-support-actions{gap:8px}

/* Connexion / choix d’espace : proportions alignées sur la nouvelle échelle. */
.login-view{padding:18px}.login-shell .login-card{padding:38px 40px 28px;min-height:570px}.login-card h1{font-size:28px}.login-value{font-size:13px}.login-card form{gap:12px;margin-top:22px}.login-pilotage{padding:50px 44px}.login-pilotage h2{font-size:35px}.login-pilotage-intro{font-size:14px}.login-benefits{margin-top:20px}.login-benefits>div{padding:9px 0}.workspace-card{padding:30px 34px}.workspace-card h1{font-size:clamp(1.85rem,3.2vw,2.3rem)}.workspace-option{min-height:62px;padding:12px 14px}.workspace-option strong{font-size:14px}

@media(max-width:960px){
  html{font-size:14px}.layout{grid-template-columns:1fr}.content{padding:18px}.topbar{height:68px}.sidebar{padding:10px}.nav{font-size:13px}.platform-admin-main{padding:18px 16px 36px}
}
@media(max-width:650px){
  .content{padding:14px}.heading-row h2,.dialog-head h2{font-size:24px}.panel{padding:14px}.dialog-card{padding:17px}.login-shell .login-card{padding:30px 22px 24px}.workspace-card{padding:26px 18px}
}

/* V5.8.30 — Tests & localisation : grille responsive, cartes métier compactes.
   3 cartes sur grands écrans, 2 sur écrans intermédiaires, 1 quand l'espace devient insuffisant. */
#view-tests .test-delivery{overflow:visible;background:transparent;border:0;border-radius:0}
#view-tests .test-delivery-head{padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:13px;background:#f7faf8}
#view-tests .test-delivery-head h3{font-size:17px;margin:4px 0 1px}
#view-tests .test-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
#view-tests .test-product{min-width:0;height:100%;padding:13px;border:1px solid var(--line);border-left:4px solid #aab7b2;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(18,52,59,.035);display:flex;flex-direction:column}
#view-tests .test-product.status-en_cours{border-left-color:#3f7fbf}
#view-tests .test-product.status-teste{border-left-color:#8b70b5}
#view-tests .test-product.status-valide{border-left-color:var(--green)}
#view-tests .test-product.status-probleme{border-left-color:var(--danger);background:#fffafa}
#view-tests .test-product.in-delivery-zone{background:#f5fbf7}
#view-tests .test-product-identification{grid-template-columns:1fr;gap:4px;margin-top:7px;font-size:12px}
#view-tests .test-readonly-timeline{gap:4px;margin:9px 0}
#view-tests .test-readonly-timeline span{font-size:10px;padding:4px 6px}
#view-tests .test-location{grid-template-columns:minmax(0,1fr) 92px;gap:7px;padding:9px;margin:7px 0 9px}
#view-tests .test-location label:nth-child(3){grid-column:1/-1}
#view-tests .test-location .btn{grid-column:1/-1;width:100%}
#view-tests .test-issue-label{margin-top:6px;font-size:11px}
#view-tests .test-issue{min-height:62px;resize:vertical}
#view-tests .test-location-done{font-size:11px;padding:8px 9px;margin:7px 0}
#view-tests .test-actions{margin-top:auto;padding-top:9px;gap:6px}
#view-tests .test-actions .btn{padding:8px 10px;min-height:36px;font-size:12px}
@media(max-width:1380px){#view-tests .test-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){#view-tests .test-products{grid-template-columns:1fr}#view-tests .test-location{grid-template-columns:1fr 110px}}
@media(max-width:560px){#view-tests .test-location{grid-template-columns:1fr}#view-tests .test-location label:nth-child(3),#view-tests .test-location .btn{grid-column:auto}}

/* V5.8.32 — Tests : la carte d'intervention devient l'unité de grille.
   Les filtres sont également resserrés pour libérer de la hauteur sans réduire la lisibilité. */
#view-tests .test-toolbar{display:grid;grid-template-columns:180px 170px minmax(240px,1fr);gap:8px;align-items:end;padding:10px 12px;margin-bottom:10px}
#view-tests .test-toolbar label{font-size:10px;gap:4px}
#view-tests .test-toolbar select,#view-tests .test-toolbar input{min-height:36px;padding:7px 9px;font-size:12px}
#view-tests .test-summary{margin:8px 0 12px;gap:6px}
#view-tests .test-summary span{padding:5px 8px;font-size:10px}
#view-tests .test-list{display:block}
#view-tests .test-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
#view-tests .test-card-context{padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--line)}
#view-tests .test-card-context h3{font-size:15px;margin:5px 0 1px;line-height:1.15}
#view-tests .test-card-context p{margin:0;color:var(--muted);font-size:10px}
#view-tests .test-product{height:auto;min-height:100%}
#view-tests .test-location{grid-template-columns:minmax(0,1fr) 82px;gap:6px;padding:8px}
#view-tests .test-location label{font-size:10px;gap:4px}
#view-tests .test-location select,#view-tests .test-location input{min-height:35px;padding:7px 8px;font-size:11px}
#view-tests .test-location .btn{min-height:34px;padding:7px 9px;font-size:11px}
#view-tests .test-issue{min-height:54px}
@media(max-width:1380px){#view-tests .test-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){#view-tests .test-cards-grid{grid-template-columns:1fr}#view-tests .test-toolbar{grid-template-columns:1fr 1fr}#view-tests .test-toolbar label:last-child{grid-column:1/-1}}
@media(max-width:560px){#view-tests .test-toolbar{grid-template-columns:1fr}#view-tests .test-toolbar label:last-child{grid-column:auto}}


/* V5.8.32 — finition Tests : les cartes terminées n'affichent plus un champ commentaire vide.
   Une observation existante reste visible en lecture compacte et sa valeur est conservée lors d'une réouverture. */
#view-tests .test-product.in-delivery-zone .test-issue-compact{margin:7px 0 0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.58);font-size:10px}
#view-tests .test-product.in-delivery-zone .test-issue-compact strong{display:block;margin-bottom:2px;font-size:10px}
#view-tests .test-product.in-delivery-zone .test-issue-compact p{margin:0;color:var(--muted);line-height:1.35}
#view-tests .test-issue-hidden{display:none!important}
#view-tests .test-product.in-delivery-zone .test-actions{padding-top:6px}
#view-tests .test-product.in-delivery-zone .test-actions .btn{min-height:33px;padding:6px 9px}

/* V5.8.33 — Assistance conversationnelle + captures privées */
.support-file-field{display:grid;gap:6px}.support-file-field input[type="file"]{padding:9px;border:1px dashed #b9cec7;border-radius:10px;background:#fbfdfc}.support-file-field small{font-weight:500;color:#71817b}.support-file-selection{font-size:11px;color:#315a53;line-height:1.35}
.support-history-block{margin-top:18px;padding-top:16px;border-top:1px solid #e0ebe7}.support-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.support-history-head h4{margin:0 0 3px}.client-support-list{display:grid;gap:10px}.client-support-item{border:1px solid #dce8e4;border-radius:14px;background:#fbfdfc;overflow:hidden}.client-support-item>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer}.client-support-item>summary::-webkit-details-marker{display:none}.client-support-item>summary span{display:grid;gap:3px}.client-support-item>summary small{color:#708079}.client-support-item>summary b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:5px 9px;border-radius:999px;background:#e9f3ef;color:#315a53}.client-support-body{border-top:1px solid #e3ece8;padding:12px;display:grid;gap:12px}.support-empty,.support-closed-note{padding:12px;border:1px dashed #cbdad5;border-radius:11px;color:#6f807a;text-align:center}
.support-thread{display:grid;gap:9px}.support-message{max-width:min(88%,760px);padding:10px 11px;border:1px solid #dfe9e5;border-radius:12px;background:#fff}.support-message.is-mine{justify-self:end;background:#eef7f4;border-color:#cfe3dc}.support-message.is-other{justify-self:start}.support-message header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}.support-message header strong{font-size:12px}.support-message header small{font-size:10px;color:#74847e}.support-message p{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.5}
.support-attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.support-attachment{appearance:none;border:1px solid #d6e4df;border-radius:10px;background:#f9fcfb;padding:6px;display:grid;gap:5px;text-align:left;cursor:pointer;min-width:0}.support-attachment:hover{border-color:#8fbab0}.support-attachment img{display:block;width:100%;height:110px;object-fit:cover;border-radius:7px;background:#edf4f1}.support-attachment img[hidden]{display:none}.support-image-placeholder{display:grid;place-items:center;height:72px;border-radius:7px;background:#edf4f1;font-size:24px}.support-attachment small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#5d7069}
.support-reply-form{display:grid;gap:9px;padding:10px;border:1px solid #dfe9e5;border-radius:12px;background:#f8fbfa}.support-reply-form>label{display:grid;gap:5px;font-size:11px;font-weight:700}.support-reply-form textarea{width:100%;min-height:78px}.support-reply-form .btn{justify-self:start}.support-reply-status{margin:0}
.platform-support-editor .support-thread{margin:2px 0}.platform-support-editor .support-reply-form{margin-top:2px}.platform-support-editor .platform-support-meta{order:-1}
@media(max-width:760px){.support-history-head{align-items:flex-start}.client-support-item>summary{grid-template-columns:1fr}.support-message{max-width:100%}.support-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-attachment img{height:92px}}

/* V5.8.34 — Assistance transverse + récupération d’accès */
.login-help-link{display:block;margin:10px auto 0;border:0;background:transparent;padding:4px 8px;color:var(--primary,#075A62);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer}
.login-help-link:hover{filter:brightness(.85)}
.recovery-help-note{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid var(--line,#dfe7e8);border-radius:12px;background:rgba(7,90,98,.04);font-size:.9rem}
#view-support .support-standalone-panel{max-width:1180px;margin:0 auto}
#view-support .settings-head{margin-bottom:16px}
#view-support .support-history-block{margin-top:22px}
#support-nav{margin-bottom:2px}
@media(max-width:700px){#view-support .support-standalone-panel{margin:0}.login-help-link{font-size:.86rem}}


/* V5.8.35 — retour sécurisé de récupération Supabase */
.recovery-password-form{display:grid;gap:14px;margin-top:4px}
.recovery-password-form.hidden{display:none!important}
.recovery-password-heading{display:grid;gap:5px;margin-bottom:2px}
.recovery-password-heading h2{margin:0;font-size:1.45rem}
.recovery-password-heading p{margin:0}
.recovery-password-form>label{display:grid;gap:7px}
#recovery-password-status{min-height:1.3em;margin:0}

/* DIVANINO V5.8.36 — tableau de bord CRM-ready */
#view-dashboard{max-width:1500px;margin:0 auto}
.v5836-dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:154px;margin-bottom:14px;padding:25px 28px;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(120deg,#073f59 0%,#056b79 62%,#15979b 100%);box-shadow:0 14px 34px rgba(7,63,89,.12)}
.v5836-dashboard-hero:after{content:"";position:absolute;right:210px;top:-95px;width:330px;height:330px;border-radius:50%;border:64px solid rgba(255,255,255,.055);pointer-events:none}
.v5836-dashboard-hero .eyebrow{color:#a8f1e7;letter-spacing:.18em;margin:0 0 6px;font-size:10px}
.v5836-dashboard-hero h2{margin:0;font-size:34px;line-height:1;font-weight:900;color:#fff;letter-spacing:-.035em}
.v5836-dashboard-hero h3{margin:6px 0 5px;font-size:23px;line-height:1.1;color:#fff;letter-spacing:-.025em}
.v5836-dashboard-hero p{margin:0;color:#d9f0f2;font-size:14px}
.v5836-hero-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;min-width:255px;padding:15px 17px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(3,48,70,.34);backdrop-filter:blur(8px)}
.v5836-hero-brand img{width:42px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}
.v5836-hero-brand strong{display:block;font-size:17px;letter-spacing:.13em;color:#fff}.v5836-hero-brand small{display:block;margin-top:3px;color:#d8f1f2;line-height:1.35}
.v5836-dashboard-hero>#v55-refresh-dashboard{position:absolute;right:16px;bottom:14px;z-index:2;padding:6px 10px;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:11px}
#view-dashboard .v5758-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#view-dashboard .v5758-kpis button{min-height:96px;padding:16px 18px;border:1px solid #dbe9ea;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(7,63,89,.045);text-align:left}
#view-dashboard .v5758-kpi-icon{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:10px;border-radius:13px;background:#eef8f8;font-size:21px;vertical-align:middle}
#view-dashboard .v5758-kpis strong{font-size:27px;color:#082f49;vertical-align:middle}#view-dashboard .v5758-kpis small{margin-top:5px;color:#557078}
#view-dashboard .v5758-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);gap:12px}
#view-dashboard .v5758-panel{border:1px solid #dbe9ea;border-radius:17px;box-shadow:0 7px 22px rgba(7,63,89,.04)}
#view-dashboard .v5758-panel-head h3{color:#082f49}
#view-dashboard .v5758-secondary-grid>button{border:1px solid #dbe9ea;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(7,63,89,.035)}
@media(max-width:1050px){.v5836-dashboard-hero{grid-template-columns:1fr}.v5836-hero-brand{display:none}#view-dashboard .v5758-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.v5836-dashboard-hero{padding:20px;min-height:145px}.v5836-dashboard-hero h2{font-size:29px}.v5836-dashboard-hero h3{font-size:20px}.v5836-dashboard-hero>#v55-refresh-dashboard{display:none}#view-dashboard .v5758-kpis{grid-template-columns:1fr}}
