:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f3f4f6;line-height:1.4}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem max(1rem,env(safe-area-inset-left));background:#111827;color:#fff}.topbar h1{font-size:1.35rem;margin:.05rem 0 0}.eyebrow{font-size:.68rem;letter-spacing:.14em;opacity:.6}.top-actions{display:flex;gap:.5rem}.ghost,.link-btn{border:1px solid #374151;background:#1f2937;color:white;border-radius:.7rem;padding:.6rem .8rem;text-decoration:none;cursor:pointer}.toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 200px 190px;gap:.6rem;padding:1rem;position:sticky;top:78px;z-index:15;background:rgba(243,244,246,.96);backdrop-filter:blur(8px)}input,select,textarea{width:100%;border:1px solid #d1d5db;background:#fff;border-radius:.75rem;padding:.72rem .8rem;outline:none}input:focus,select:focus,textarea:focus{border-color:#6b7280;box-shadow:0 0 0 3px #e5e7eb}.board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:1rem;padding:0 1rem 6rem;overflow-x:auto}.column{background:#e5e7eb;border-radius:1rem;min-height:55vh;padding:.7rem}.column>header{display:flex;align-items:center;justify-content:space-between;padding:.2rem .3rem .7rem}.column h2,.date-group h2{margin:0;font-size:1rem}.column header span,.mini-column h3 span{background:#d1d5db;border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.dropzone{display:flex;flex-direction:column;gap:.65rem;min-height:150px}.column.dragover{outline:2px dashed #6b7280}.task-card{background:#fff;border:1px solid #e5e7eb;border-radius:.85rem;padding:.8rem;box-shadow:0 1px 2px rgba(0,0,0,.04);cursor:grab}.task-card:active{cursor:grabbing}.task-card.overdue{border-left:4px solid #b91c1c}.task-title{font-weight:700}.meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.5rem;color:#6b7280;font-size:.78rem}.note{margin-top:.55rem;color:#4b5563;font-size:.85rem;white-space:pre-wrap}.empty,.no-results{color:#9ca3af;text-align:center;padding:2rem .5rem}.empty.small{padding:1rem .3rem}.fab{position:fixed;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom));width:3.6rem;height:3.6rem;border-radius:50%;border:0;background:#111827;color:#fff;font-size:2rem;box-shadow:0 8px 25px rgba(0,0,0,.25);cursor:pointer;z-index:30}dialog{width:min(560px,calc(100% - 2rem));border:0;border-radius:1rem;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(17,24,39,.55)}#taskForm{padding:1rem}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-head h2{margin:.2rem 0 1rem}.icon-btn{border:0;background:transparent;font-size:1.8rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.8rem}label input,label select,label textarea{margin-top:.35rem;font-weight:400}.dialog-actions{margin-top:1rem}.primary,.danger{border:0;border-radius:.75rem;padding:.75rem 1rem;color:#fff;cursor:pointer}.primary{background:#111827}.danger{background:#991b1b}.hidden{visibility:hidden}.date-board{padding:0 1rem 6rem}.date-group{margin-bottom:1.25rem}.date-group>h2{margin-bottom:.55rem}.date-statuses{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:.7rem;overflow-x:auto}.mini-column{background:#e5e7eb;border-radius:.8rem;padding:.6rem;display:flex;flex-direction:column;gap:.55rem}.mini-column h3{font-size:.78rem;margin:0;display:flex;justify-content:space-between}.login-page{display:grid;place-items:center;background:#111827;padding:1rem}.login-card{width:min(390px,100%);background:#fff;border-radius:1.2rem;padding:2rem;box-shadow:0 25px 80px rgba(0,0,0,.25)}.login-card h1{margin:.7rem 0 .1rem}.login-card p{margin-top:0;color:#6b7280}.logo-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.8rem;background:#111827;color:#fff;font-size:1.4rem}.login-card .primary{width:100%;margin-top:.3rem}.error{background:#fee2e2;color:#991b1b;padding:.7rem;border-radius:.7rem;margin:.8rem 0}
@media(max-width:760px){.topbar{align-items:flex-start}.top-actions{flex-direction:column}.toolbar{top:92px;grid-template-columns:1fr 1fr}.toolbar #search{grid-column:1/-1}.board{grid-template-columns:repeat(4,82vw);scroll-snap-type:x proximity}.column{scroll-snap-align:start}.form-grid{grid-template-columns:1fr}.date-statuses{grid-template-columns:repeat(4,78vw)}}
.success{padding:.8rem 1rem;border-radius:12px;background:#ecfdf5;color:#065f46;margin:.75rem 0;font-size:.95rem}
.login-card small{display:block;color:#6b7280;line-height:1.4;margin-top:-.25rem}
.task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.quick-done{flex:0 0 auto;width:2rem;height:2rem;border-radius:999px;border:1px solid #d1d5db;background:#fff;font-weight:800;cursor:pointer}.quick-done:hover,.quick-done:focus{background:#111827;color:#fff}.done-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:#e5e7eb;font-weight:800;color:#4b5563}.scope-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700}.scope-badge.mine{background:#f3f4f6;color:#374151}.scope-badge.delegated{background:#e5e7eb;color:#111827}.delegated-card{border-style:dashed}.people-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.person-chip{background:#f3f4f6;border-radius:999px;padding:.22rem .5rem;font-size:.73rem;color:#4b5563}.field-help{display:block;margin-top:.3rem;color:#6b7280;font-weight:400}.toolbar{grid-template-columns:minmax(180px,1fr) 190px 200px 190px}@media(max-width:760px){.toolbar{grid-template-columns:1fr 1fr}.toolbar #search{grid-column:1/-1}}
.context-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;background:#eef2f7;color:#374151;font-size:.72rem;font-weight:700}.followup-label{font-weight:700}.followup-label.due{color:#991b1b}.task-card.followup-due{box-shadow:inset 0 -3px 0 #991b1b,0 1px 2px rgba(0,0,0,.04)}
.toolbar{grid-template-columns:minmax(180px,1fr) 160px 180px 190px 180px 180px}
@media(max-width:1000px){.toolbar{grid-template-columns:repeat(3,1fr)}.toolbar #search{grid-column:1/-1}}
@media(max-width:760px){.toolbar{grid-template-columns:1fr 1fr}.toolbar #search{grid-column:1/-1}}

/* V1.0.5 — vue Aujourd'hui */
.ghost.active-view{background:#fff;color:#111827;border-color:#fff}
.today-board{padding:0 1rem 6rem;max-width:1100px;margin:0 auto}.today-summary{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:.25rem 0 1rem}.today-summary h2{font-size:1.4rem;margin:.15rem 0 0}.today-summary strong{font-size:.9rem;background:#e5e7eb;border-radius:999px;padding:.45rem .7rem}.eyebrow.dark{color:#6b7280;opacity:1}.today-section{margin-bottom:1rem;background:#e5e7eb;border-radius:1rem;padding:.75rem}.today-section>header{display:flex;justify-content:space-between;align-items:center;padding:.15rem .2rem .65rem}.today-section>header h2{margin:0;font-size:1rem}.today-section>header p{margin:.15rem 0 0;color:#6b7280;font-size:.78rem}.today-count{display:grid;place-items:center;min-width:1.8rem;height:1.8rem;padding:0 .45rem;border-radius:999px;background:#d1d5db;font-weight:700;font-size:.8rem}.today-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.today-empty{grid-column:1/-1;background:rgba(255,255,255,.55);border-radius:.75rem;padding:1.1rem;text-align:center;color:#6b7280}.today-mode .full-board-only{display:none!important}
@media(max-width:760px){.top-actions{display:grid;grid-template-columns:1fr 1fr}.top-actions .link-btn{display:none}.today-cards{grid-template-columns:1fr}.today-summary{align-items:flex-start;flex-direction:column}.today-board{padding-left:.75rem;padding-right:.75rem}}

/* V1.0.6 — ergonomie mobile, cartes cliquables, filtres repliables, catalogues */
.filter-btn{display:none}.filter-count{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:#fff;color:#111827;font-size:.7rem}.hidden-count{display:none}.filter-head,.reset-filters{display:none}.filter-backdrop{display:none}.task-card{cursor:pointer;touch-action:manipulation}.task-card[draggable="true"]{cursor:grab}.task-card[draggable="true"]:active{cursor:grabbing}.quick-done{min-width:2.25rem;height:2.25rem;padding:0 .55rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.done-text{display:none}.people-picker{margin-top:-.45rem;margin-bottom:.85rem}.people-entry{display:grid;grid-template-columns:1fr auto;gap:.5rem}.secondary-small{border:1px solid #d1d5db;background:#fff;border-radius:.75rem;padding:.65rem .8rem;cursor:pointer}.selected-people{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem}.selected-person{border:0;background:#e5e7eb;color:#111827;border-radius:999px;padding:.4rem .65rem;cursor:pointer}.selected-person span{font-weight:800;margin-left:.2rem}.reset-filters{border:1px solid #d1d5db;background:#fff;border-radius:.75rem;padding:.7rem .8rem;cursor:pointer}

@media(max-width:760px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .topbar{position:sticky;top:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand util" "nav nav";padding:.65rem .75rem .55rem;gap:.5rem;align-items:center}
  .brand{grid-area:brand;min-width:0}.brand .eyebrow{display:none}.topbar h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
  .primary-nav{grid-area:nav;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.primary-nav .ghost{padding:.5rem .55rem}.primary-nav #viewToggle{display:none!important}
  .utility-nav{grid-area:util;display:flex;gap:.35rem}.utility-nav .link-btn{display:none}.filter-btn{display:inline-flex!important;align-items:center;gap:.35rem;padding:.5rem .65rem}.filter-btn span{display:none}
  .toolbar{position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(88vw,360px);display:flex!important;flex-direction:column;gap:.65rem;padding:calc(.85rem + env(safe-area-inset-top)) .85rem calc(.85rem + env(safe-area-inset-bottom));background:#f3f4f6;box-shadow:-15px 0 40px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .2s ease;overflow-y:auto}
  .filters-open .toolbar{transform:translateX(0)}
  .filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.filter-head strong{font-size:1.05rem}.filter-head .icon-btn{font-size:1.7rem}
  .reset-filters{display:block;margin-top:auto}
  .filter-backdrop{position:fixed;z-index:55;inset:0;background:rgba(17,24,39,.48)}.filters-open .filter-backdrop{display:block}
  .today-mode .full-board-only{display:none!important}
  main{min-height:calc(100vh - 104px)}
  .today-board{padding:.65rem .55rem 5.5rem}.today-summary{padding:.05rem .1rem .55rem;gap:.35rem}.today-summary .eyebrow{display:none}.today-summary h2{font-size:1.1rem}.today-summary strong{font-size:.74rem;padding:.35rem .55rem}
  .today-section{padding:.5rem;border-radius:.8rem;margin-bottom:.65rem}.today-section>header{padding:.05rem .1rem .45rem}.today-section>header h2{font-size:.9rem}.today-section>header p{display:none}.today-count{min-width:1.55rem;height:1.55rem;font-size:.72rem}
  .today-cards{gap:.45rem}.task-card{padding:.68rem;border-radius:.75rem}.task-title{font-size:.95rem;padding-top:.1rem}.meta{margin-top:.4rem;gap:.3rem .5rem;font-size:.72rem}.people-list{margin-top:.4rem}.person-chip{font-size:.68rem;padding:.18rem .42rem}.note{font-size:.78rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .quick-done{min-width:2.75rem;height:2.75rem;border-radius:.75rem}.done-text{display:none}.done-icon{font-size:1.1rem}
  .board{padding:.65rem .55rem 5.5rem;grid-template-columns:repeat(4,88vw);gap:.55rem}.column{padding:.5rem;border-radius:.8rem;min-height:62vh}.column>header{padding:.1rem .2rem .5rem}.dropzone{gap:.45rem}
  .date-board{padding:.65rem .55rem 5.5rem}.date-statuses{grid-template-columns:repeat(4,86vw);gap:.5rem}
  .fab{right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom));width:3.35rem;height:3.35rem}
  dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);border-radius:.9rem}#taskForm{padding:.85rem;max-height:calc(100dvh - 1rem);overflow-y:auto}.dialog-head{position:sticky;top:-.85rem;background:#fff;z-index:2;padding-top:.2rem}.form-grid{grid-template-columns:1fr 1fr;gap:.55rem}.people-entry{grid-template-columns:1fr}.secondary-small{padding:.6rem}.dialog-actions{position:sticky;bottom:-.85rem;background:#fff;padding:.65rem 0 .2rem}
}
@media(max-width:430px){.form-grid{grid-template-columns:1fr}.today-summary{flex-direction:row;align-items:center}.quick-done{min-width:2.6rem;height:2.6rem}}


/* V1.0.7 — contexte prioritaire, couleurs de contexte, modes Tableau restaurés */
.context-quick{position:sticky;top:76px;z-index:18;display:flex;gap:.45rem;padding:.55rem 1rem;background:rgba(243,244,246,.98);border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:none}.context-quick::-webkit-scrollbar{display:none}.context-quick-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:.48rem .72rem;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.context-quick-btn.active{background:#111827;color:#fff;border-color:#111827}.context-dot{width:.62rem;height:.62rem;border-radius:50%;background:hsl(var(--ctx-h) 62% 52%);box-shadow:0 0 0 2px hsl(var(--ctx-h) 70% 92%)}.context-quick-btn.active .context-dot{box-shadow:0 0 0 2px rgba(255,255,255,.45)}
.task-card.has-context{border-top:4px solid hsl(var(--ctx-h) 58% 55%)}.task-card.overdue{border-left:4px solid #b91c1c}.context-badge{background:hsl(var(--ctx-h) 70% 94%);color:hsl(var(--ctx-h) 45% 28%);border:1px solid hsl(var(--ctx-h) 48% 84%)}
@media(min-width:761px){.toolbar{top:126px}}
@media(max-width:760px){
  .context-quick{top:98px;padding:.42rem .55rem;gap:.35rem;z-index:19}.context-quick-btn{padding:.42rem .62rem;font-size:.76rem}
  body:not(.today-mode) .primary-nav{grid-template-columns:repeat(3,1fr)}
  body:not(.today-mode) .primary-nav #viewToggle{display:block!important}
  .today-mode .primary-nav{grid-template-columns:1fr 1fr}
  main{min-height:calc(100vh - 146px)}
}
