:root{
  --bg:#f4f7f6;
  --surface:#ffffff;
  --surface-2:#eef3f1;
  --text:#16332f;
  --muted:#6b7f7a;
  --primary:#126e62;
  --primary-dark:#0d554c;
  --accent:#d8f3ea;
  --border:#dce7e3;
  --danger:#b93b3b;
  --shadow:0 8px 28px rgba(25,65,58,.10);
  --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
#app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{background:#0f3f38;color:white;padding:20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.brand-mark{width:44px;height:44px;border-radius:14px;background:#80d8c6;color:#0d3d35;display:grid;place-items:center;font-weight:800}
.brand h1{font-size:20px;margin:0}.brand p{margin:2px 0 0;color:#b7d7d0;font-size:13px}
nav{display:grid;gap:7px}.nav-btn{border:0;background:transparent;color:#d4e5e1;padding:11px 13px;border-radius:10px;text-align:left}
.nav-btn:hover,.nav-btn.active{background:#1e5b52;color:white}
.sidebar-footer{margin-top:auto;display:grid;gap:12px}.profile-switch{display:grid;gap:6px}.profile-switch label{font-size:12px;color:#bed6d1}
.profile-switch select{border:0;border-radius:9px;padding:9px;background:#174d45;color:white}
.save-state{font-size:11px;color:#a7c9c2}
.main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}
.topbar h2{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:var(--muted)}
.top-actions{display:flex;gap:10px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:650}
.btn.primary{background:var(--primary);color:white}.btn.primary:hover{background:var(--primary-dark)}
.btn.secondary{background:var(--surface-2);color:var(--text)}.btn.danger{background:#f6dddd;color:var(--danger)}
.btn.small{padding:7px 10px;font-size:13px}.hidden{display:none!important}
.view{display:none}.view.active{display:block}
.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.stat-value{font-size:30px;font-weight:800;margin-top:8px}.muted{color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}
.section-title h3{margin:0}
.task-list{display:grid;gap:10px}.task-card{background:white;border:1px solid var(--border);border-left:5px solid #91aaa4;border-radius:12px;padding:13px;display:grid;gap:8px;cursor:pointer}
.task-card:hover{box-shadow:var(--shadow)}.task-card[data-priority="urgent"]{border-left-color:#c93636}.task-card[data-priority="high"]{border-left-color:#e08038}.task-card[data-priority="medium"]{border-left-color:#d8b33f}.task-card[data-priority="low"]{border-left-color:#6e9c92}
.task-title-row{display:flex;justify-content:space-between;gap:10px}.task-title{font-weight:750}.task-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted)}
.badge{padding:4px 7px;border-radius:999px;background:var(--surface-2)}.badge.pro{background:#dcecff}.badge.perso{background:#e5f4df}.badge.overdue{background:#f9dddd;color:#9b2525}
.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.icon-btn{border:0;background:var(--surface-2);border-radius:9px;padding:7px 9px}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;overflow-x:auto;padding-bottom:10px}
.kanban-col{background:#eaf0ee;border-radius:14px;padding:12px;min-height:420px}.kanban-col h3{margin:2px 0 12px;font-size:15px;display:flex;justify-content:space-between}
.dropzone{display:grid;gap:10px;min-height:340px}.dropzone.drag-over{outline:2px dashed var(--primary);outline-offset:4px;border-radius:10px}
.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card h3{margin:0 0 8px}.progress{height:9px;background:#e6ecea;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary)}
.note-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.note{min-height:190px;cursor:pointer;white-space:pre-wrap}.note.yellow{background:#fff4b8}.note.blue{background:#dcedff}.note.green{background:#dff4d8}.note.pink{background:#f7ddec}.note.orange{background:#ffe2c2}
.empty{padding:30px;text-align:center;border:1px dashed #b9cbc6;border-radius:14px;color:var(--muted);background:rgba(255,255,255,.55)}
.modal{border:0;border-radius:18px;padding:0;max-width:720px;width:min(92vw,720px);box-shadow:0 25px 70px rgba(0,0,0,.25)}
.modal::backdrop{background:rgba(11,34,30,.45)}.modal form{padding:22px;display:grid;gap:15px}
.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.modal label{display:grid;gap:6px;font-weight:650;font-size:14px}
.modal input,.modal textarea,.modal select{width:100%;border:1px solid #cbdad6;border-radius:10px;padding:10px;background:white;color:var(--text)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-actions{display:flex;gap:10px;align-items:center;margin-top:8px}.spacer{flex:1}
.input-with-action{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.admin-card h3{margin-top:0}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
.searchbar{display:flex;gap:10px;margin-bottom:14px}.searchbar input,.searchbar select{padding:10px;border:1px solid var(--border);border-radius:10px;background:white}
@media(max-width:900px){
  #app{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:12px}.brand{margin-bottom:10px}.sidebar nav{display:flex;overflow-x:auto}.nav-btn{white-space:nowrap}.sidebar-footer{display:none}
  .main{padding:18px}.stats-grid{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:repeat(5,270px)}
}
@media(max-width:560px){
  .topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions .btn{flex:1}.stats-grid,.form-grid{grid-template-columns:1fr}.main{padding:14px}.topbar h2{font-size:24px}
}


/* V2 : calendrier, priorité et chronomètre */
.timer-badge{font-variant-numeric:tabular-nums;background:#e4f1ee;color:#0d554c}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.calendar-toolbar h3{margin:0;text-transform:capitalize}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;min-width:850px}
.calendar-weekdays{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:700;text-align:center}
#calendarView{overflow-x:auto}
.calendar-day{background:white;border:1px solid var(--border);border-radius:12px;min-height:135px;padding:8px}
.calendar-day.empty-day{background:transparent;border-style:dashed;opacity:.45}
.calendar-today{outline:2px solid var(--primary);outline-offset:1px}
.calendar-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.calendar-tasks{display:grid;gap:5px}
.calendar-task{border:0;border-left:4px solid #91aaa4;border-radius:7px;background:var(--surface-2);padding:6px;text-align:left;font-size:12px}
.calendar-task.p-urgent{border-left-color:#c93636}.calendar-task.p-high{border-left-color:#e08038}.calendar-task.p-medium{border-left-color:#d8b33f}.calendar-task.p-low{border-left-color:#6e9c92}
@media(max-width:900px){.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,130px)}}


/* V3 : journal d'activité et backlog d'améliorations */
.warning-box{background:#fff3cd;border:1px solid #e4c86d;border-radius:12px;padding:12px 14px;margin-bottom:16px;color:#624f0b}
.timer-warning{background:#fff0cf!important;color:#8a5800!important;font-weight:800}
.session-warning{background:#fff8e7}
.table-wrap{overflow-x:auto}
.stat-small{font-size:16px;font-weight:750;margin-top:10px;line-height:1.5}
.activity-summary{display:flex;flex-wrap:wrap;gap:8px;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px}
.activity-summary strong{width:100%}.activity-summary span{background:white;border-radius:999px;padding:5px 8px}
.improvement-capture h3{margin-top:0}
.improvement-entry{display:grid;grid-template-columns:1fr auto auto;gap:8px}
.improvement-entry input,.improvement-row select{border:1px solid var(--border);border-radius:10px;padding:10px;background:white}
.improvement-list{display:grid;gap:10px}
.improvement-row{display:grid;grid-template-columns:42px minmax(240px,1fr) 130px 130px 38px;align-items:center;gap:10px;padding:12px}
.improvement-index{width:32px;height:32px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-weight:800}
.improvement-text{font-weight:700}.improvement-text .muted{font-weight:400;font-size:12px;margin-top:4px}
@media(max-width:800px){
  .improvement-entry{grid-template-columns:1fr}.improvement-row{grid-template-columns:36px 1fr}.improvement-row select,.improvement-row .icon-btn{grid-column:2}
}


/* V4 : espaces projets */
.project-workspace-card{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.project-workspace-card:hover{transform:translateY(-2px)}
.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.project-card-head h3{margin:0 0 8px}
.project-edit-btn{flex:0 0 auto}
.project-detail-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:14px}
.project-detail-title h3{margin:0 0 6px;font-size:22px}
.project-tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:16px;border-bottom:1px solid var(--border)}
.project-tab{border:0;background:transparent;padding:11px 15px;color:var(--muted);font-weight:750;border-bottom:3px solid transparent;white-space:nowrap}
.project-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.project-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}
.project-task-table .clickable-row{cursor:pointer}.project-task-table .clickable-row:hover{background:var(--surface-2)}
.row-description{font-size:12px;margin-top:4px}
.project-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kanban-info{margin-bottom:14px}.kanban-info p{margin-bottom:0}
.task-checklist-editor{display:grid;gap:8px}
.checklist-editor{display:grid;gap:7px}
.checklist-edit-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
.checklist-edit-row input[type="checkbox"]{width:18px;height:18px}
.checklist-edit-row input[type="text"]{border:1px solid #cbdad6;border-radius:9px;padding:9px}
.checklist-empty{padding:10px;border:1px dashed var(--border);border-radius:9px}
@media(max-width:720px){
  .project-detail-head{grid-template-columns:1fr}.project-detail-head>button{justify-self:start}
  .project-overview-grid{grid-template-columns:1fr}
}


/* V5 : navigation hub, récurrences, ordre manuel, reste à faire */
.hub-tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:1px}
.hub-tab{border:0;background:transparent;padding:11px 14px;font-weight:750;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.hub-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.hub-body{min-width:0}
.remaining-preview,.remaining-row{background:#f5f0df;border-left:3px solid #c7a943;border-radius:7px;padding:7px 9px;font-size:13px}
.remaining-row{margin-top:5px}
.ordered-task{display:grid;grid-template-columns:38px 1fr;gap:7px;align-items:start}
.order-buttons{display:grid;gap:4px}
.order-cell{white-space:nowrap;width:82px}
.improvement-textarea{width:100%;min-height:64px;resize:vertical;border:1px solid var(--border);border-radius:9px;padding:8px;background:white;color:var(--text)}
.recurring-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.recurring-card.due-today{outline:2px solid var(--primary);outline-offset:1px}
.recurring-due{font-weight:800;color:var(--primary)}
@media(max-width:700px){.ordered-task{grid-template-columns:1fr}.order-buttons{display:flex}}
/* Connexion à la version web synchronisée */
.auth-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef2ff,#f8fafc 55%,#ecfeff)}
.auth-screen.hidden{display:none}
.auth-card{width:min(430px,100%);padding:28px;border:1px solid #dbe3ef;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.18)}
.auth-card label{display:grid;gap:7px;margin-top:16px;font-weight:700;color:#334155}
.auth-card input{width:100%;box-sizing:border-box}
.auth-card .btn{width:100%;margin-top:20px}
.auth-brand{margin-bottom:18px}
.auth-error{color:#b91c1c;font-weight:700;margin:14px 0 0}
.sync-warning{color:#b45309}
.sync-error{color:#b91c1c}
