:root { --bg:#f5f7fb; --card:#fff; --ink:#162033; --muted:#5f6b80; --ok:#177245; --warn:#a15c00; --bad:#a11212; --border:#d8deea; }
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.topbar{padding:18px 22px;background:#13233d;color:#fff}.topbar h1{margin:0 0 4px}.subtitle{margin:0;opacity:.85}
.container{padding:16px;display:grid;gap:14px}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.grid label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}.full{grid-column:1/-1}
input,select,textarea,button{font:inherit} input,select,textarea{padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff}
button{padding:8px 12px;border:none;border-radius:8px;background:#23406f;color:#fff;cursor:pointer}.secondary{background:#e7edf8;color:#17325a}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions label{display:flex;align-items:center;gap:6px;color:var(--muted)}.fileLike{border:1px dashed var(--border);padding:7px 10px;border-radius:8px;cursor:pointer}.fileLike input{display:none}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.kpi{border:1px solid var(--border);border-radius:8px;padding:10px}.kpi b{display:block;font-size:22px}.kpi small{color:var(--muted)}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin-bottom:8px}
.tableWrap{overflow:auto} table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed} th,td{padding:8px;vertical-align:top;text-align:center} thead tr{border-bottom:1px solid var(--border)} tbody tr{border-bottom:1px solid var(--border)}
.badge{display:inline-block;padding:3px 8px;border-radius:12px;background:#eef3ff;font-size:12px}.badge.en-retard{background:#ffe5e5;color:var(--bad)}.badge.aujourdhui{background:#fff1d8;color:var(--warn)}.badge.complete{background:#e4f6eb;color:var(--ok)}
.rowActions{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.rowActions button{padding:5px 8px;font-size:12px}
.alert{margin-top:10px;padding:10px;border-radius:8px;background:#fff6e8;border:1px solid #ffddb0}.hidden{display:none}
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media print {
  .topbar,
  .container > .panel:not(:last-child),
  .container > .panel:last-child h2:not(.print-title),
  .rowActions,
  table th:last-child,
  table td:last-child { display:none!important; }
  .container, .panel, .tableWrap { padding:0!important; margin:0!important; border:none!important; box-shadow:none!important; }
  .print-title{display:block!important;margin:0 0 8px 0;text-align:left}
  table{table-layout:auto!important;width:100%!important}
  .suivis-cols .c-actions{width:0!important}
  .suivis-cols .c-notes{width:38%!important}
  body { background:#fff; }
}

.badge.status-todo{background:#e7edff;color:#1d3f7a;font-weight:700}
.badge.status-progress{background:#fff4df;color:#8a4b00;font-weight:700}
.badge.status-postponed{background:#f3e8ff;color:#6f2da8;font-weight:700}
.badge.status-complete{background:#e3f7ea;color:#0f6b3d;font-weight:700}
td[data-k='notes']{max-width:none;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;line-height:1.25;text-align:left;padding-left:10px;padding-right:10px}
td[data-k='notes'][contenteditable='true']{background:#fbfdff;outline:1px solid transparent;outline-offset:-1px;}
td[data-k='notes'][contenteditable='true']:focus{outline:1px dashed #9ec2ff;background:#fff}
@media (min-width:1280px){
  .container{grid-template-columns:minmax(400px,0.95fr) minmax(740px,1.3fr);align-items:start;gap:12px}
  .container > .panel:not(:last-child) .grid{grid-template-columns:repeat(2,minmax(170px,1fr));}
  .container > .panel:not(:last-child) .filters{grid-template-columns:1fr 1fr;}
  .container > .panel:last-child{grid-column:2;grid-row:1 / span 3;position:sticky;top:16px}
}

.suivis-cols .c-date{width:90px}
.suivis-cols .c-rx{width:110px}
.suivis-cols .c-ref{width:80px}
.suivis-cols .c-acte{width:110px}
.suivis-cols .c-due{width:125px}
.suivis-cols .c-prog{width:75px}
.suivis-cols .c-status{width:95px}
.suivis-cols .c-init{width:55px}
.suivis-cols .c-notes{width:auto}
.suivis-cols .c-actions{width:175px}

.print-title{display:none}
