/* Kanban premium isolé : ce fichier surcharge uniquement la vue Tâches. */
#main:has(.tasks-page){max-width:1780px;padding-left:30px;padding-right:30px;background:radial-gradient(circle at 10% 2%,rgba(37,99,235,.05),transparent 25%),radial-gradient(circle at 92% 7%,rgba(16,185,129,.04),transparent 22%)}
.tasks-page,.tasks-page *{min-width:0}
.tasks-page .task-board-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:0 0 28px;padding:14px 16px;border:1px solid rgba(207,216,228,.88);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 34px rgba(25,43,71,.055);backdrop-filter:blur(12px);animation:k-head .4s cubic-bezier(.2,.8,.2,1) both}
.tasks-page .task-board-title{display:flex;align-items:center;gap:15px;flex:1 1 330px;min-width:0}
.tasks-page .task-board-title-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding-right:28px;border-right:1px solid #d5dde8}
.tasks-page .task-board-title h1{margin:0;font-size:clamp(1.3rem,1.8vw,1.55rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
.tasks-page .task-board-title p{margin:4px 0 0;color:#61718a;font-size:.88rem;font-weight:600;line-height:1.1}
.tasks-page .task-board-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border:1px solid #E7DBC9;border-radius:14px;background:linear-gradient(145deg,#FFF9F0,#F4E5CF);color:#23334C;box-shadow:inset 0 1px 0 #fff,0 6px 14px rgba(105,76,39,.08)}
.tasks-page .task-board-icon .ic{width:25px;height:25px}
.tasks-page .task-board-actions{display:flex;align-items:center;justify-content:flex-end;flex:1 1 520px;gap:10px;flex-wrap:wrap}
.tasks-page .task-board-actions>.btn{flex:none;white-space:nowrap}
.tasks-page .task-board-actions [data-action="new-task"]{border-color:#1767e8;background:linear-gradient(135deg,#2878f5,#155ee0);color:#fff;box-shadow:0 8px 18px rgba(30,103,227,.2)}
.tasks-page .task-board-actions [data-action="new-task"]:hover{border-color:#1257ce;background:linear-gradient(135deg,#1e6eea,#1052cc);transform:translateY(-1px)}
.tasks-page .task-chantier-select{position:relative;display:flex;align-items:center;gap:10px;flex:1 1 240px;min-width:min(270px,100%);height:46px;padding:0 13px;border:1px solid #D5DDE8;border-radius:12px;background:#fff;color:#14213A}
.tasks-page .task-chantier-select .ic{width:19px;height:19px}.tasks-page .task-chantier-select::after{content:'⌄';margin-left:auto;pointer-events:none}
.tasks-page .task-chantier-select select{position:absolute;inset:0;width:100%;padding:0 36px 0 43px;border:0;appearance:none;background:transparent;color:transparent;cursor:pointer;outline:0}.tasks-page .task-chantier-select select option{color:#14213A}
.tasks-page .kanban{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));align-items:stretch;gap:14px;padding:0;background:transparent;border-radius:0}
.tasks-page .col{position:relative;overflow:hidden;min-height:clamp(430px,calc(100vh - 255px),720px);padding:10px;gap:8px;border:1px solid rgba(209,216,225,.9);border-radius:19px;background:linear-gradient(180deg,#F3F5F8,#E9EDF2);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 14px 32px rgba(30,46,68,.055);animation:k-col .48s cubic-bezier(.18,.82,.24,1) both}
.tasks-page .kanban>.col:nth-child(1){animation-delay:.04s}.tasks-page .kanban>.col:nth-child(2){animation-delay:.1s}.tasks-page .kanban>.col:nth-child(3){animation-delay:.16s}
.tasks-page .col::after{content:"";position:absolute;inset:0 0 auto;height:3px}.tasks-page .col[data-col="À faire"]::after{background:linear-gradient(90deg,#E99A16,#F3C266)}.tasks-page .col[data-col="En cours"]::after{background:linear-gradient(90deg,#2F6FEB,#72A9FF)}.tasks-page .col[data-col="Terminé"]::after{background:linear-gradient(90deg,#39A56A,#78CF99)}
.tasks-page .col>header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:3px 5px 8px;border-bottom:1px solid rgba(203,212,223,.82)}
.tasks-page .col-heading{display:flex;align-items:center;gap:9px}.tasks-page .col-heading .ic{width:20px;height:20px;padding:5px;box-sizing:content-box;border-radius:10px;background:rgba(255,255,255,.75)}
.tasks-page .col>header h2{margin:0;font-size:1.06rem;letter-spacing:-.018em}.tasks-page .col>header .n{min-width:29px;padding:5px 8px;border:1px solid rgba(211,217,225,.85);border-radius:999px;background:rgba(255,255,255,.78);text-align:center;font-size:.73rem;font-weight:850}
.tasks-page .task{isolation:isolate;position:relative;overflow:hidden;width:100%;min-height:100px;padding:11px 12px 8px 18px;border:1px solid #D9E0E9;border-radius:15px;display:flex;flex-direction:column;gap:4px;background:linear-gradient(145deg,#fff,#FCFCFD);box-shadow:0 3px 7px rgba(26,40,61,.05),0 9px 18px rgba(26,40,61,.06);transition:transform .18s,border-color .18s,box-shadow .18s;animation:k-card .32s cubic-bezier(.2,.78,.25,1) both}
.tasks-page .task::before{content:"";position:absolute;z-index:0;inset:9px auto 9px 6px;width:5px;border-radius:999px}.tasks-page .col[data-col="À faire"] .task::before{background:#E99A16;box-shadow:2px 0 8px rgba(233,154,22,.24)}.tasks-page .col[data-col="En cours"] .task::before{background:#2F6FEB;box-shadow:2px 0 8px rgba(47,111,235,.24)}.tasks-page .col[data-col="Terminé"] .task::before{background:#39A56A;box-shadow:2px 0 8px rgba(57,165,106,.24)}
.tasks-page .task>*{position:relative;z-index:1}.tasks-page .task:hover{z-index:2;transform:translateY(-3px);border-color:#BFCBDC;box-shadow:0 6px 12px rgba(23,40,66,.08),0 16px 27px rgba(23,40,66,.09)}
.tasks-page .task-title{max-width:calc(100% - 98px);padding:0;border:0;background:none;color:#14223A;font-size:.92rem;font-weight:850;line-height:1.2;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.tasks-page .task-project{align-self:flex-start;max-width:calc(100% - 84px);padding:3px 8px;border:0;border-radius:999px;background:linear-gradient(180deg,#F4F6F9,#EDF1F5);color:#465976;font-size:.67rem;font-weight:750;box-shadow:inset 0 0 0 1px #E1E6ED;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tasks-page .task-project .ic{width:13px;height:13px}.tasks-page .task-bottom{position:static;display:flex;align-items:center;width:100%;min-height:26px;margin-top:auto;padding-top:2px;gap:6px;color:#263750;font-size:.7rem}.tasks-page .task-bottom .avatar{width:27px;height:27px;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px #D9E1EB}.tasks-page .task-bottom>span:not(.task-state):not(.task-due){max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-page .task-due{flex:none;white-space:nowrap}.tasks-page .task-bottom em{font-style:normal;color:#9BA7B7}
.tasks-page .task-state{position:absolute;z-index:3;top:9px;right:10px;display:inline-flex;align-items:center;width:auto;height:27px;margin:0;padding:4px 8px;gap:6px;border-radius:999px;font-size:.68rem;font-weight:850;line-height:1;box-sizing:border-box}.tasks-page .task-state i{width:12px;height:12px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}.tasks-page .task-state.todo{border:1px solid #F1D39B;background:linear-gradient(180deg,#FFF7E8,#FCEBCB);color:#955A05}.tasks-page .task-state.progress{border:1px solid #CFE0FF;background:linear-gradient(180deg,#EDF4FF,#E1ECFF);color:#1D5BC4}.tasks-page .task-state.done{border:1px solid #CFE9D8;background:linear-gradient(180deg,#ECF8F0,#E0F2E6);color:#247447}.tasks-page .task-state.done .ic{width:13px;height:13px}
.tasks-page .task-open{display:grid;place-items:center;margin-left:auto;width:29px;height:29px;flex:none;border:0;border-radius:10px;background:#F0F3F7;color:#142746;cursor:pointer}.tasks-page .task-menu{width:20px;flex:none;margin-left:1px;padding:0;border:0;background:transparent;color:#536783;font-size:1.4rem;line-height:1;cursor:pointer}
.tasks-page .task.is-dragging{opacity:.28;transform:scale(.965) rotate(1deg);border-style:dashed;box-shadow:none}.task-drag-ghost{position:fixed!important;z-index:9999!important;top:-1000px!important;left:-1000px!important;pointer-events:none!important;opacity:.96!important;transform:rotate(1.4deg) scale(1.025)!important;box-shadow:0 20px 45px rgba(20,39,70,.24)!important}
.tasks-page .col.over{outline:0;transform:translateY(-3px)}.tasks-page .col[data-col="À faire"].over{border-color:#E6A336;background:linear-gradient(180deg,#FFF8EB,#FCEAC9);box-shadow:inset 0 0 0 2px rgba(233,154,22,.22),0 18px 38px rgba(233,154,22,.14)}.tasks-page .col[data-col="En cours"].over{border-color:#79A5F3;background:linear-gradient(180deg,#EEF5FF,#E3EDFE);box-shadow:inset 0 0 0 2px rgba(47,111,235,.22),0 18px 38px rgba(47,111,235,.14)}.tasks-page .col[data-col="Terminé"].over{border-color:#72C794;background:linear-gradient(180deg,#EFFAF3,#DFF3E7);box-shadow:inset 0 0 0 2px rgba(57,165,106,.22),0 18px 38px rgba(57,165,106,.14)}
.tasks-page .col.over::before{content:"Déposer ici";position:absolute;z-index:5;left:50%;bottom:17px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:#173F79;color:#fff;font-size:.68rem;font-weight:850;box-shadow:0 8px 18px rgba(23,63,121,.22);pointer-events:none}.tasks-page .task.task-landed{animation:k-land .5s cubic-bezier(.18,.9,.25,1.25) both!important}
@keyframes k-head{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}@keyframes k-col{from{opacity:0;transform:translateY(18px) scale(.987)}to{opacity:1;transform:none}}@keyframes k-card{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes k-land{0%{opacity:.35;transform:translateY(-16px) scale(.97)}60%{opacity:1;transform:translateY(3px) scale(1.01)}100%{opacity:1;transform:none}}
@media(max-width:1100px){#main:has(.tasks-page){padding-left:20px;padding-right:20px}.tasks-page .task-board-head{align-items:stretch;flex-direction:column}.tasks-page .task-board-title,.tasks-page .task-board-actions{flex:none}.tasks-page .task-board-title-copy{border-right:0;padding-right:0}.tasks-page .task-board-actions{display:grid;width:100%;grid-template-columns:auto minmax(220px,1fr) auto}.tasks-page .task-board-actions>.btn,.tasks-page .task-chantier-select{width:100%;max-width:none}.tasks-page .kanban{display:flex;max-width:100%;padding:2px 2px 12px;overflow-x:auto;scroll-snap-type:x proximity}.tasks-page .kanban>.col{flex:0 0 min(390px,78vw);min-width:300px;min-height:560px;scroll-snap-align:start}}
@media(max-width:760px){#main:has(.tasks-page){padding-left:13px;padding-right:13px}.tasks-page .task-board-head{margin-bottom:20px;padding:12px}.tasks-page .task-board-actions{grid-template-columns:1fr 1fr}.tasks-page .task-chantier-select{grid-column:1/-1;grid-row:1}.tasks-page .task-board-actions>.btn{justify-content:center}.tasks-page .kanban{display:grid;grid-template-columns:1fr;gap:15px;padding:0;overflow:visible;scroll-snap-type:none}.tasks-page .kanban>.col{width:100%;min-width:0;min-height:180px}.tasks-page .task-bottom>span:not(.task-state):not(.task-due){max-width:120px}}
@media(max-width:480px){#main:has(.tasks-page){padding-left:9px;padding-right:9px}.tasks-page .task-board-head{padding:10px;margin-bottom:17px}.tasks-page .task-board-title h1{font-size:1.1rem}.tasks-page .task-board-icon{width:38px;height:38px}.tasks-page .task-board-actions{grid-template-columns:1fr;gap:8px}.tasks-page .task-board-actions>*{grid-column:1!important;width:100%}.tasks-page .task-chantier-select{grid-row:auto}.tasks-page .col{padding:8px}.tasks-page .task{min-height:103px;padding:11px 10px 9px 18px}.tasks-page .task-title{max-width:calc(100% - 82px);font-size:.87rem}.tasks-page .task-project{max-width:calc(100% - 76px);font-size:.63rem}.tasks-page .task-bottom{gap:5px;font-size:.66rem}.tasks-page .task-bottom>span:not(.task-state):not(.task-due){max-width:70px}.tasks-page .task-state{right:8px;font-size:.62rem}.tasks-page .task-open{width:27px;height:27px}.tasks-page .task-menu{width:18px}}
@media(prefers-reduced-motion:reduce){.tasks-page .task-board-head,.tasks-page .kanban>.col,.tasks-page .task,.tasks-page .task.task-landed{animation:none!important}.tasks-page .col.over{transform:none}}
