:root{font-family:Arial,Helvetica,sans-serif;color:#1f2937;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}.top{background:#fff;border-bottom:1px solid #ddd;padding:14px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.top strong{display:block;font-size:20px}.top small,.muted{color:#667085}.top nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.top a{text-decoration:none;color:#1f4f78;font-weight:700}.desktop-more{display:flex;gap:12px}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;font-size:24px;color:#1f4f78;font-weight:bold;cursor:pointer}.mobile-menu div{position:absolute;right:0;top:32px;background:white;border:1px solid #ddd;border-radius:8px;padding:12px;z-index:20;min-width:150px}.mobile-menu div a{display:block;padding:8px}.container{width:min(1400px,94%);margin:22px auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar h1{font-size:22px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day{background:#fff;border:1px solid #ddd;border-radius:10px;padding:10px;min-height:280px}.day.today{outline:2px solid #1f6f9f}.dayhead{display:flex;justify-content:space-between;align-items:center}.day h2{font-size:16px;margin:0 0 10px}.dayplus{font-size:22px;text-decoration:none;color:#1f6f9f;font-weight:bold}.task{display:block;text-decoration:none;color:inherit;background:#f8fafc;border-left:5px solid #6b7280;border-radius:7px;padding:9px;margin:8px 0}.task b,.task span,.task em{display:block}.task span{font-size:12px;margin-top:4px}.task em{font-size:11px;margin-top:6px;font-style:normal;font-weight:700}.status-done{opacity:.55;border-left-color:#238636}.status-postponed{opacity:.65;border-left-color:#d97706}.status-doing{border-left-color:#2563eb}.priority-high{border-left-color:#d97706}.priority-urgent{border-left-color:#b42318;box-shadow:inset 0 0 0 1px #b42318}.btn{display:inline-block;border:0;border-radius:8px;padding:11px 15px;background:#1f6f9f;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary{background:#e8eef3;color:#24445b}.btn.success{background:#238636}.btn.warning{background:#d97706}.card,.detail,.agent-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin:16px 0}.agent-card{display:block;text-decoration:none;color:inherit;border-left:6px solid #6b7280}.agent-card h2{margin:12px 0 8px}.agent-card p{margin:7px 0}.form label,label{display:block;font-weight:700;margin-bottom:12px}input,select,textarea{width:100%;padding:11px;border:1px solid #c9ced6;border-radius:7px;margin-top:5px;font:inherit;background:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}fieldset{border:1px solid #ddd;border-radius:8px;margin:10px 0 18px}.check{font-weight:400;display:inline-flex;align-items:center;margin-right:16px}.check input{width:auto;margin:0 7px 0 0}.login-card{width:min(420px,92%);margin:10vh auto;background:#fff;border:1px solid #ddd;border-radius:12px;padding:25px}.alert,.warn{padding:12px;background:#fff1f0;border:1px solid #f2b8b5;border-radius:7px}.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.detail-head h1{margin:12px 0;font-size:30px}.pill{font-size:12px;background:#e8eef3;padding:5px 8px;border-radius:20px;display:inline-block}.pill.urgent{background:#fee4e2;color:#b42318;font-weight:bold}.description{padding:14px;background:#f8fafc;border-radius:8px}.trace{background:#ecfdf3;padding:10px;border-radius:7px}.mobile-actions{display:flex;gap:10px}.mobile-actions form,.mobile-actions .btn{flex:1}.mobile-actions form .btn{width:100%}.comment{border-top:1px solid #eee;padding-top:10px}.empty{color:#888;font-size:13px}.photo-form{margin-top:18px;border-top:1px solid #eee;padding-top:15px}.photo img{max-width:100%;max-height:420px;border-radius:8px;display:block;margin-top:12px}.photo small{display:block;margin-top:5px;color:#667085}.user-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #eee}.user-actions{display:flex;gap:8px;align-items:center}.user-actions form{margin:0}.reset-form{display:flex;gap:6px}.reset-form input{margin:0;min-width:210px}.fab{display:none}.mobile-title small{font-size:15px;color:#667085}.section-title{margin-top:28px}.future-date{margin-bottom:-8px}.quick-report{margin-bottom:10px}
@media(max-width:900px){.top{padding:16px 4%;align-items:flex-start;flex-direction:column}.top nav{width:100%;gap:16px}.desktop-more{display:none}.mobile-menu{display:block;margin-left:auto}.week{display:block}.day{min-height:0;margin-bottom:10px}.toolbar h1{font-size:18px;text-align:center}.grid2{grid-template-columns:1fr}.container{width:94%;margin:14px auto}.task{padding:12px}.mobile-actions{position:sticky;bottom:8px;z-index:3;background:#f4f6f8;padding:8px 0}.btn{padding:13px 14px}.detail{padding:16px}.detail-head h1{font-size:26px}.fab{display:flex;position:fixed;right:20px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#1f6f9f;color:white;align-items:center;justify-content:center;text-decoration:none;font-size:34px;font-weight:400;box-shadow:0 4px 16px #0003;z-index:10}.user-row{display:block}.user-actions{display:block}.user-actions form{margin-top:8px}.reset-form{display:grid;grid-template-columns:1fr auto}.reset-form input{min-width:0}.agent-card h2{font-size:22px}.newtask{display:none}}

/* V2.1 - ergonomie mobile agents */
.follow-buttons{display:flex;gap:10px;flex-wrap:wrap}.follow-buttons details{flex:1;min-width:180px}.follow-buttons summary{cursor:pointer;list-style:none;background:#e8eef3;color:#24445b;font-weight:700;border-radius:8px;padding:12px 14px}.follow-buttons details[open] summary{margin-bottom:10px}.follow-buttons form{padding:4px}.history-title{margin-top:20px}.agent-menu{display:none}
@media(max-width:900px){.agent-logout{display:none}.agent-menu{display:block;margin-left:auto}.detail{padding:14px;margin:10px 0}.detail-head h1{font-size:23px;margin:8px 0}.detail-head{align-items:center}.detail p{margin:8px 0}.description{padding:10px;margin-top:10px}.followup{padding:14px}.followup h2{font-size:20px;margin:0 0 12px}.follow-buttons{display:grid;grid-template-columns:1fr 1fr}.follow-buttons details{min-width:0}.follow-buttons summary{text-align:center;padding:12px 8px}.follow-buttons details[open]{grid-column:1/-1}.mobile-actions{gap:8px}.mobile-actions .btn{font-size:16px}.agent-card{padding:14px;margin:10px 0}.agent-card h2{font-size:20px;margin:8px 0}.agent-card p{margin:5px 0}.mobile-title{font-size:23px;margin:12px 0}.section-title{font-size:20px;margin-top:22px}.week .day.agent-empty{display:none}.top strong{font-size:19px}.top{gap:12px}.top nav{gap:18px}}

/* V2.2 - correctifs mobiles */
@media(max-width:900px){
  body{padding-top:0}
  .top{position:relative;padding-top:max(16px,env(safe-area-inset-top));overflow:visible}
  .top nav{align-items:center}
  .agent-menu{margin-left:auto}
  .agent-menu summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:0}
  .agent-menu summary::after{content:"☰";font-size:30px;line-height:1}
  .agent-menu div{top:48px;right:0;box-shadow:0 6px 18px #0002}
  .agent-menu div a{white-space:nowrap}
  .week .day.agent-empty{display:none!important}
}

/* V2.3 - suppression des tâches côté responsable */
.manager-task-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.delete-task{position:relative}
.delete-task>summary{list-style:none;cursor:pointer;border:1px solid #b42318;color:#b42318;background:#fff;padding:10px 14px;border-radius:8px;font-weight:700}
.delete-task>form{margin-top:10px;border:1px solid #f2b8b5;background:#fff7f6;border-radius:8px;padding:14px;min-width:320px}
.delete-choice{font-weight:400;margin:10px 0}
.delete-choice input{width:auto;margin-right:8px}
.btn.danger{background:#b42318;color:#fff}
@media(max-width:900px){.manager-task-actions{display:grid;grid-template-columns:1fr}.manager-task-actions>.btn,.delete-task>summary{text-align:center}.delete-task>form{min-width:0;width:100%}}

/* V2.3.1 - bouton Supprimer clairement visible */
.delete-task{position:relative}
.delete-toggle.btn.danger{display:inline-flex;align-items:center;justify-content:center;background:#b42318!important;color:#fff!important;border:1px solid #b42318!important;font-weight:700}
.delete-panel{position:absolute;z-index:20;left:0;top:calc(100% + 8px);width:390px;max-width:calc(100vw - 40px);padding:14px;background:#fff;border:1px solid #efb4b0;border-radius:10px;box-shadow:0 8px 24px #0002}
.delete-panel form{margin:0!important;padding:0!important;border:0!important;background:transparent!important;min-width:0!important}
.delete-confirm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:900px){.delete-panel{position:static;width:100%;max-width:none;margin-top:8px}.delete-toggle.btn.danger{width:100%}}

/* V2.4 - gestion du nom des agents + déconnexion agent sur PC */
.rename-form{display:flex;gap:8px;align-items:center}
.rename-form input{min-width:150px}
.agent-desktop-logout{display:inline-block}
@media(max-width:900px){
  .agent-desktop-logout{display:none!important}
  .rename-form{width:100%}
  .rename-form input{min-width:0;flex:1}
}

/* V2.6 - intervention rapide agent */
.quick-intervention-btn{display:inline-flex;margin:0 0 16px;align-items:center;justify-content:center;font-weight:800}
.quick-task-page{max-width:680px;margin:0 auto}
.quick-task-form{display:flex;flex-direction:column;gap:14px}
.quick-photo{padding:12px;border:1px dashed #bbb;border-radius:10px}
.quick-photo input{display:block;margin-top:8px;width:100%}
.quick-task-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
@media(max-width:900px){
 .quick-intervention-btn{width:100%;padding:15px;font-size:17px}
 .quick-task-actions{grid-template-columns:1fr}
 .quick-task-actions .btn{width:100%;padding:15px}
}

/* V2.7 */
.notif-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;margin-left:4px;align-items:center;justify-content:center;border-radius:999px;background:#b42318;color:#fff;font-size:12px}
.new-pill{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;font-weight:800}
.agent-interventions-list{display:grid;gap:10px}.intervention-row{display:flex!important;flex-direction:column;gap:5px}
.finish-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.after-photo-label{font-weight:700}.after-photo-label span{font-weight:400;color:#667085}.after-photo-label input{display:block;margin-top:5px}
.photo{position:relative}.photo-kind{display:inline-block;margin:5px 0;padding:3px 8px;border-radius:999px;background:#eef2f6;font-size:11px;font-weight:800}
.print-shortcuts,.print-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.print-mode{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:12px}
.print-sheet{background:#fff;padding:24px;border:1px solid #ddd;border-radius:10px}.print-title{text-align:center;border-bottom:2px solid #222;margin-bottom:18px}.print-day{margin:20px 0 8px;border-bottom:1px solid #999;padding-bottom:5px}.print-task{padding:8px 4px;border-bottom:1px solid #ddd;break-inside:avoid}.print-task-title{font-size:16px;margin-bottom:3px}
@media(max-width:900px){.finish-form{display:block}.after-photo-label{display:block;margin-bottom:10px}.finish-form .btn{width:100%}}
@media print{
 body{background:#fff!important}.top,.print-controls,.print-toolbar,.fab,footer{display:none!important}.container{max-width:none!important;margin:0!important;padding:0!important}.print-sheet{border:0!important;padding:0!important}.print-title h1{font-size:20px}.print-day{font-size:16px}.print-task{font-size:12px}
}

/* V2.9 */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 22px}.dash-card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid #dfe3e8;border-radius:12px;padding:18px;color:inherit}.dash-card strong{font-size:30px;line-height:1}.dash-card span{margin-top:7px}.dash-card.dash-alert{border-color:#e7a23b;background:#fffaf0}.late-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee;text-decoration:none;color:inherit}.late-row:last-child{border-bottom:0}.agent-quick-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.agent-quick-buttons .quick-intervention-btn{margin:0}.material-list{display:grid;gap:12px}.material-head{display:flex;justify-content:space-between;gap:12px}.material-head h2{font-size:18px;margin:8px 0}.material-action{display:grid;grid-template-columns:180px 1fr auto;gap:8px;align-items:end;margin-top:12px}.small-btn{font-size:13px;padding:7px 10px}@media(max-width:700px){.dashboard-grid{grid-template-columns:1fr 1fr}.dash-card{padding:14px}.late-row{flex-direction:column}.material-action{grid-template-columns:1fr}.agent-quick-buttons{display:grid}.agent-quick-buttons .btn{width:100%}}

/* V2.9.1 */
.delete-material-form{margin-top:10px}.delete-material-form .danger{background:#b42318;color:#fff;border-color:#b42318}

/* V3 */
.pill.high{background:#fff3cd;color:#7a5200}.history-event{border-left:3px solid #bbb;padding-left:10px}
.absence-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.absence-row form{margin-left:auto}
.absence-chip{background:#eef4ff;border-radius:7px;padding:6px 8px;margin:5px 0;font-size:13px}
.work-actions{display:flex;gap:8px;align-items:center}.work-actions form{margin:0}
.shopping-list .check{display:block;margin:8px 0}.shopping-list .btn{margin-top:10px}

.agent-choice:has(input:disabled){opacity:.6}.absence-note{font-size:.85em;color:#a33;font-style:normal;font-weight:600}.absence-alert{margin-bottom:15px}.absence-alert a{font-weight:700}

/* V3.1 */
.work-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.instruction-box{margin-top:14px;border-left:4px solid #5b7db1}
.manager-note-box{margin-top:14px;border-left:4px solid #555;background:#f7f7f7}
