/* Local Mes tâches proposal, scoped to avoid changing the shell or other verticals. */
.task-board-page{--tb-soft:#f7f8fa;--tb-accent:#356bd5}
/* Couleurs de statut (lot 1 G, 17) : rouge / jaune / gris foncé / violet / vert. Points >= 3:1 sur le fond des colonnes (--tb-soft) ; texte (--tb-text-*) >= 4,5:1. */
.task-board-page{--tb-status-todo:var(--danger);--tb-status-doing:#b7791f;--tb-status-blocked:#475569;--tb-status-review:#7851a3;--tb-status-done:var(--ok);--tb-text-todo:var(--tb-status-todo);--tb-text-doing:#8f5f00;--tb-text-blocked:var(--tb-status-blocked);--tb-text-review:var(--tb-status-review);--tb-text-done:var(--tb-status-done)}
.task-board-page #main{scroll-behavior:auto}
.tb-page,.tb-detail,.tb-project-detail{min-width:0;background:var(--base);font-size:14px;line-height:1.5}
.tb-page button,.tb-detail button,.tb-project-detail button,.tb-menu button{font:inherit;font-size:13px}
.tb-page .btn,.tb-detail .btn,.tb-project-detail .btn{min-height:32px;height:auto}
.tb-page :is(input,select,textarea),.tb-detail :is(input,select,textarea){font:inherit}
.tb-page a,.tb-detail a,.tb-project-detail a{color:inherit}
.tb-toolbar,.tb-filterbar,.tb-statusbar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--line);min-width:0}
.tb-toolbar{justify-content:space-between;min-height:58px}
.tb-context,.tb-tools,.tb-scopes{display:flex;align-items:center;gap:8px;min-width:0}.tb-context select{max-width:280px;font-weight:600;border-color:transparent}.tb-tools>.btn{padding:5px 10px}.tb-local{font-size:12px;color:var(--muted);white-space:nowrap}
.tb-filterbar .search{flex:1;max-width:350px;min-width:140px}.tb-filterbar .search input{min-width:0;width:100%}.tb-filterbar>select{margin-left:auto;max-width:205px;font-size:13px}
.tb-scopes{padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.tb-scopes .btn{padding:4px 10px}.tb-scopes .active{background:var(--base);box-shadow:0 1px 3px #0000000c;font-weight:600}
.tb-statusbar{padding-block:6px;gap:8px;justify-content:space-between}.tb-statusbar nav{display:flex;gap:2px;min-width:0;overflow:auto;scrollbar-width:none}.tb-statusbar .btn{white-space:nowrap;padding:4px 10px;color:var(--muted)}.tb-statusbar .active{color:var(--ink);background:var(--surface);font-weight:600}.tb-statusbar>.btn{flex-shrink:0}
.tb-page .tf-summary{padding:8px 20px;border:0;background:var(--tb-soft);font-size:12px;min-height:34px}.tb-page .tf-summary>span:last-child{text-align:right}
.tb-board{display:flex;gap:0;min-height:calc(100dvh - 320px);align-items:stretch;overflow:auto;scroll-snap-type:x proximity;scrollbar-width:thin;background:var(--tb-soft);padding-bottom:20px}
.tb-column{flex:1 0 264px;min-width:264px;max-width:420px;border-right:1px solid var(--line);scroll-snap-align:start;transition:flex-basis .18s ease}
.tb-column>header{padding:8px 12px 12px;display:flex;gap:3px;align-items:center}
.tb-column>header>button:first-child{display:flex;align-items:center;gap:8px;min-width:0;flex:1;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;min-height:32px;text-align:left}
.tb-column>header strong{font-size:13px;font-weight:600;white-space:nowrap}.tb-column>header>button:first-child>svg{margin-left:auto;opacity:0;width:14px}.tb-column>header:hover>button:first-child>svg,.tb-column>header:focus-within>button:first-child>svg{opacity:1}
.tb-column>header .icon-btn{width:28px;min-width:28px;height:32px;color:var(--muted)}.tb-status-dot{width:7px;height:7px;border-radius:50%;background:var(--status);flex-shrink:0}.tb-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tb-column-content{padding:0 10px}.tb-empty{padding:28px 8px;color:var(--muted);font-size:13px;text-align:center}.tb-column.is-collapsed{flex:0 0 48px;min-width:48px;width:48px}.tb-column.is-collapsed>header{padding:10px}.tb-column.is-collapsed>header>button:first-child{writing-mode:vertical-rl;flex-direction:row;width:28px;gap:12px}.tb-column.is-collapsed>header>button:first-child>svg{opacity:1;margin:8px 0}.tb-column.is-collapsed strong{font-size:13px}
.tb-card{position:relative;background:var(--base);border:1px solid var(--line);box-shadow:0 1px 2px #15243708;border-radius:9px;margin-bottom:10px;isolation:isolate;transition:box-shadow .15s,border-color .15s,transform .15s;overflow:hidden}
.tb-card:hover{border-color:#bac5d4;box-shadow:0 3px 9px #15243712;transform:translateY(-1px)}.tb-card:focus-within{outline:2px solid var(--tb-accent);outline-offset:2px}.tb-card.dragging{opacity:.4}.tb-card.tb-drop-before{border-top:4px solid var(--tb-accent)}
.tb-card-body{padding:11px 12px 10px}.tb-card-top{display:flex;gap:5px;align-items:center;justify-content:space-between;margin-bottom:3px;min-height:27px}.tb-card-top>span{font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tb-card-top .icon-btn{height:28px;width:28px;min-width:28px;margin-right:-6px}.tb-card-top svg{width:16px;height:16px}
.tb-card-title{display:block;text-decoration:none;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.tb-card-title::after{content:'';position:absolute;inset:0;z-index:1;cursor:pointer}.tb-card button,.tb-card .tb-review-link,.tb-card .tb-card-relations a{position:relative;z-index:2}
.tb-labels{display:flex;gap:5px;flex-wrap:wrap;margin:3px 0 7px}.tb-labels:empty{display:none}.tb-label{font-size:12px;line-height:18px;padding:1px 7px;background:var(--label-bg);color:var(--label-fg);border-radius:4px;font-weight:500;max-width:100%;overflow-wrap:anywhere}
.tb-excerpt{font-size:13px;line-height:1.5;color:var(--muted);margin:7px 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tb-card-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap;margin-top:12px}.tb-card-meta>span{display:flex;align-items:center;gap:4px}.tb-card-meta svg{width:14px;height:14px}.tb-card-meta .late{color:#b23c42;background:#fff0f0;padding:2px 5px;border-radius:4px}.tb-card-meta .complete{color:#25836c}.tb-card-meta .tb-avatar{width:26px;height:26px;border:1px solid #dfe5ef;background:#eaf0f7;color:#435770;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600}
.tb-card-progress{display:block;width:100%;height:3px;margin-top:8px;accent-color:var(--status);border:0;border-radius:2px}.tb-card-progress::-webkit-progress-bar{background:var(--surface)}.tb-card-progress::-webkit-progress-value{background:var(--status);border-radius:2px}
.tb-card-relations{margin-bottom:0;font-size:12px}.tb-card-relations a{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-card-relations .row-link{font-size:12px}
.tb-review-link,.tb-decision-label{display:flex;gap:7px;align-items:center;text-decoration:none;font-size:12px;margin:10px -12px -10px;padding:9px 12px;background:#f6f2fc;color:#77519d!important;border-top:1px solid #eae0f4}.tb-review-link span{flex:1}.tb-review-link svg,.tb-decision-label svg{width:15px}.tb-decision-label{color:#287459!important;background:#edf7f1;border-color:#dbece3}
.tb-card .social-thumbnail{height:122px;min-height:0;padding:16px}.tb-card .social-thumbnail strong{font-size:20px}.tb-card .social-thumbnail>span{font-size:12px}.tb-card .social-thumbnail img{width:60px}.tb-card-image{width:100%;max-height:175px;object-fit:cover;display:block}.tb-color-cover{height:62px;display:flex;align-items:center;gap:12px;padding:16px;background:color-mix(in srgb,var(--cover) 10%,var(--base));border-bottom:1px solid color-mix(in srgb,var(--cover) 16%,var(--base));color:var(--cover);font-size:12px}.tb-color-cover svg{width:24px;height:24px}.tb-social-meta{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap;margin-top:9px}.tb-social-meta>svg{width:14px}
.tb-blocked{background:#fff6e9;color:#875917;border-left:2px solid #d29a4b;padding:8px 9px;display:flex;gap:7px;font-size:12px;line-height:1.5;margin-top:10px;align-items:flex-start}.tb-blocked svg{width:15px;flex-shrink:0}.tb-blocked .btn{margin-left:auto}
.tb-add-card{width:100%;justify-content:flex-start!important;color:var(--muted);font-size:13px;padding-left:8px}.tb-quick{border:1px solid var(--line);padding:10px;border-radius:8px;background:var(--base);margin:8px 0}.tb-quick textarea{width:100%;background:var(--base);color:var(--ink);border:0;font:inherit;resize:vertical;min-height:60px;outline-offset:4px}.tb-quick>div{display:flex;align-items:center;gap:8px}.tb-quick .icon-btn{height:32px}
.tb-list-layout{display:flex;align-items:stretch;min-width:0}.tb-table-wrap{overflow:auto;flex:1;min-width:0;scrollbar-width:thin}.tb-table{border-collapse:collapse;width:100%;font-size:13px}.tb-table th{padding:10px 12px;text-align:left;color:var(--muted);font-weight:500;background:var(--surface);font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line)}.tb-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.tb-table tr:hover td{background:var(--surface)}.tb-table-title{display:flex;gap:10px;align-items:center;min-width:235px;max-width:360px}.tb-table-title input{width:16px;height:16px;flex-shrink:0}.tb-table-title small{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.tb-table-title a{text-decoration:none;font-weight:500;line-height:1.4;display:block}.tb-table-title a:hover{text-decoration:underline}.tb-table .control{border:1px solid transparent;background:transparent;padding:5px 4px;font-size:13px;min-height:32px;width:130px}.tb-table input[type=date]{width:134px}.tb-table .control:hover,.tb-table .control:focus{border-color:var(--line);background:var(--base)}.tb-table .tb-labels{margin-bottom:0}.tb-table td:last-child{padding:8px}
.tb-list-rail{flex:0 0 240px;width:240px;border-left:1px solid var(--line);padding:20px;background:var(--base)}.tb-list-rail h3{font-size:13px;margin:8px 0 12px}.tb-list-rail>button{display:flex;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;font-size:13px;padding:10px 0;width:100%;cursor:pointer}.tb-list-rail>a{display:flex;gap:8px;align-items:center;text-decoration:none;font-size:13px;padding:8px 0}.tb-list-rail>a svg{width:15px}.tb-list-rail>p{font-size:12px;color:var(--muted);margin-top:20px}
.tb-menu{margin:0;position:fixed;width:300px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:12px;background:var(--base);color:var(--ink);box-shadow:0 10px 45px #14223825;padding:6px;overflow:auto;font-size:13px}.tb-menu::backdrop{background:#00000008}.tb-menu header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.tb-menu header strong{font-size:13px}.tb-menu header .icon-btn{width:30px;height:30px}.tb-menu-item{width:100%;border:0;background:none;display:flex;justify-content:flex-start;gap:10px;text-align:left;font:inherit;padding:9px 10px;border-radius:6px;color:inherit;min-height:36px;cursor:pointer}.tb-menu-item:hover{background:var(--surface)}.tb-menu-item span{flex:1}.tb-menu-item svg{width:16px;height:16px;color:var(--muted)}.tb-menu hr{border:0;border-top:1px solid var(--line);margin:5px}
.tb-detail-top{display:flex;gap:10px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line);font-size:13px;min-height:52px}.tb-detail-top>a:first-child{display:flex;align-items:center;gap:7px;text-decoration:none}.tb-detail-top>a:first-child svg{width:16px}.tb-detail-top>span:not(.grow),.tb-detail-top small{color:var(--muted);font-size:12px}.tb-detail-layout{display:grid;grid-template-columns:236px minmax(0,1fr);align-items:start}.tb-detail-layout:has(.tb-review-rail){grid-template-columns:225px minmax(0,1fr) 235px}.tb-detail-props{border-right:1px solid var(--line);min-height:100%;background:var(--surface)}.tb-properties{padding:22px 20px;display:flex;flex-direction:column;gap:16px}.tb-properties h2{font-size:13px;margin:0}.tb-properties h3{font-size:12px;font-weight:600;margin:8px 0 0;color:var(--muted)}.tb-properties .field{margin:0;gap:5px}.tb-properties .field>span{font-size:12px;color:var(--muted)}.tb-properties :is(input,select){width:100%;height:34px;min-height:34px;font-size:13px;padding:5px 8px;background:var(--base)}.tb-properties p{font-size:12px;color:var(--muted);margin:0}.tb-properties a{font-size:13px;text-decoration:none;display:flex;gap:7px;align-items:center;line-height:1.5}.tb-properties a svg{width:15px}.tb-properties .tf-relations{margin:0}.tb-properties .btn{font-size:12px;white-space:normal;text-align:left}
.tb-document{min-width:0;max-width:1250px}.tb-title-section,.tb-section{padding:25px 32px;border-bottom:1px solid var(--line);scroll-margin-top:12px}.tb-title-section h1{font-size:26px;line-height:1.3;letter-spacing:-.025em;font-weight:600;margin:8px 0 14px;overflow-wrap:anywhere}.tb-detail-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:25px}.tb-detail-meta>span{display:flex;align-items:center;gap:5px}.tb-detail-meta svg{width:14px}.tb-state-pill{color:var(--status-text,var(--status));background:color-mix(in srgb,var(--status) 9%,var(--base));padding:3px 8px;border-radius:5px;font-weight:500}
.tb-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:12px}.tb-section-head>div{display:flex;gap:8px}.tb-section-head h2,.tb-section>h2{font-size:15px;line-height:1.4;font-weight:600;display:flex;align-items:center;gap:8px;margin:0}.tb-section-head h2 svg{width:17px;height:17px;color:var(--muted)}.tb-section-head h2 span{font-size:12px;color:var(--muted);font-weight:400}.tb-description{font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-width:820px;margin:10px 0 14px}.tb-fine{font-size:12px;line-height:1.65;color:var(--muted)}
.tb-section progress{width:100%;height:5px;accent-color:#25836c}.tb-check-group{margin:16px 0}.tb-check-group h3{font-size:12px;color:var(--muted);font-weight:500;margin:12px 0 4px}.tb-check-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.tb-check-row>label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:14px}.tb-check-row input{width:17px;height:17px;accent-color:#25836c;flex-shrink:0}.tb-check-row label:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.tb-check-row>div{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.tb-check-row .icon-btn{width:28px;height:28px}.tb-check-row .icon-btn svg{width:15px}
.tb-file{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.tb-file>button:first-child{flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-align:left;background:none;border:0;color:inherit;padding:12px 0;cursor:pointer;font:inherit}.tb-file>button:first-child>span:nth-child(2){flex:1;min-width:0}.tb-file strong{font-size:13px;font-weight:500;display:block;overflow-wrap:anywhere}.tb-file small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.tb-file-type{width:38px;height:44px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;border-radius:5px}.tb-file-type svg{width:19px}.tb-file>button>svg{width:15px;color:var(--muted)}.tb-file>.icon-btn{width:30px;height:30px}
.tb-comment-form{margin-top:12px}.tb-comment-form .field{margin:0}.tb-comment-form textarea{min-height:85px;resize:vertical;line-height:1.6}.tb-comment-form>div{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:10px}.tb-comment-form small{font-size:12px;color:var(--muted)}.tb-activity-filter{margin-top:24px}.tb-activity-filter select{border-color:transparent;font-size:12px;padding-left:0;color:var(--muted)}.tb-event{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.tb-event-dot{flex-shrink:0;display:grid;place-items:start center;padding-top:2px;width:24px;color:var(--muted)}.tb-event-dot svg{width:16px;height:16px}.tb-event>div{flex:1;min-width:0}.tb-event header{display:flex;align-items:center;gap:10px;font-size:12px;flex-wrap:wrap}.tb-event time{color:var(--muted);font-size:12px}.tb-event .icon-btn{height:24px;width:24px;margin-left:auto}.tb-event .icon-btn svg{width:13px}.tb-event p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.65}.tb-event.history p{color:var(--muted)}
.tb-linked-social .sf-post-preview,.tb-linked-social .sf-preview{max-width:680px;margin:12px auto 18px}.tb-linked-social .social-thumbnail{max-width:600px;height:190px;min-height:0}.tb-linked-social .social-thumbnail strong{font-size:30px}.tb-linked-social .social-thumbnail img{width:70px}
.tb-custom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.tb-custom-fields dt{font-size:12px;color:var(--muted)}.tb-custom-fields dd{margin:4px 0;font-size:14px}.tb-label-choices{display:flex;gap:8px;flex-direction:column}.tb-label-choices>label{padding:8px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:10px;font-size:13px}.tb-label-choices input{width:16px;height:16px}.tb-work-slot{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:12px;color:var(--muted);flex-wrap:wrap}.tb-work-slot svg{width:16px}
.tb-review-rail{border-left:1px solid var(--line);padding:24px 16px;min-height:100%}.tb-review-rail h2{font-size:14px;margin:0 0 8px}.tb-review-rail h3{font-size:13px;margin:24px 0 12px}.tb-review-rail>p{font-size:13px;color:var(--muted);margin:8px 0}.tb-review-rail>.tf-decision{padding:12px 0;flex-direction:column;align-items:stretch;font-size:12px}.tb-review-rail .tf-decision>div{display:flex}.tb-review-rail>a{display:block;font-size:13px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.tb-review-rail>a[aria-current]{font-weight:600;color:#77519d}.tb-review-rail>a small{display:block;color:var(--muted);font-size:12px;font-weight:400}.tb-document>.tf-decision{background:#f7f4fb;font-size:13px}.tb-archive-banner{display:flex;align-items:center;gap:10px;background:var(--surface);padding:14px 22px;font-size:13px}.tb-archive-banner .btn{margin-left:auto}
.tb-archives>p{font-size:13px;color:var(--muted);margin:8px 0 20px}.tb-archives>article{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.tb-archives article a{text-decoration:none;display:flex;flex-direction:column;font-size:14px}.tb-archives article small{font-size:12px;color:var(--muted);margin-bottom:4px}
.tb-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0}.tb-project-grid>article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px}.tb-project-grid article>a{display:block;text-decoration:none}.tb-project-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--status);background:color-mix(in srgb,var(--status) 9%,var(--base));border-radius:10px;margin-bottom:20px}.tb-project-icon svg{width:21px}.tb-project-grid small{font-size:12px;color:var(--muted)}.tb-project-grid h2{font-size:19px;margin:4px 0 6px;line-height:1.4}.tb-project-grid p{font-size:13px;color:var(--muted)}.tb-project-grid progress{width:100%;height:5px;margin:24px 0 8px;accent-color:var(--status)}.tb-project-grid a>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.tb-project-grid footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding-top:20px}.tb-project-intro{padding:24px 28px;border-bottom:1px solid var(--line)}.tb-project-intro>a{font-size:13px;color:var(--muted);text-decoration:none}.tb-project-intro>div{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 12px}.tb-project-intro h1{font-size:26px;font-weight:600;margin:4px 0}.tb-project-intro p{font-size:13px;color:var(--muted)}.tb-project-intro progress{width:100%;height:5px;accent-color:#356bd5;margin-top:20px}.tb-project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-bottom:1px solid var(--line);padding:16px 28px;gap:20px}.tb-project-facts dt{font-size:12px;color:var(--muted)}.tb-project-facts dd{font-size:14px;margin:6px 0}.tb-project-detail .tb-list-rail{display:none}.tb-project-detail .tb-toolbar h2{font-size:15px}
.tb-calendar-note,.tb-planner-note{font-size:12px;color:var(--muted);padding:0 24px 16px;display:flex;gap:10px;align-items:center}.tb-planner-note svg{width:18px;flex-shrink:0}.tb-calendar-item{display:block!important;text-align:left;background:color-mix(in srgb,var(--status,#8659bc) 8%,var(--base));color:var(--ink);border:0;border-left:2px solid var(--status,#8659bc);padding:6px;margin:6px 0;width:100%;font:inherit;font-size:12px!important;text-decoration:none;line-height:1.4;border-radius:3px;cursor:pointer}.tb-calendar-item svg{width:13px;height:13px;margin-right:4px}.tb-agenda>section{padding:16px;border-bottom:1px solid var(--line)}.tb-agenda time{font-size:12px;color:var(--muted)}
.tb-planner{display:flex;border-top:1px solid var(--line);min-height:500px}.tb-planner>aside{width:250px;flex-shrink:0;padding:18px;border-right:1px solid var(--line)}.tb-planner h3{font-size:13px;margin:0 0 16px}.tb-planner article{border:1px solid var(--line);border-radius:7px;padding:12px;margin:12px 0;background:var(--base);font-size:13px}.tb-planner article a{display:block;font-weight:500;text-decoration:none;line-height:1.5}.tb-planner article small{display:block;font-size:12px;color:var(--muted);margin:5px 0}.tb-planner article .btn{margin-top:8px}.tb-planner p{font-size:12px;color:var(--muted)}.tb-week{display:flex;min-width:0;overflow:auto;flex:1;background:var(--surface);scrollbar-width:thin}.tb-week>section{flex:1 0 145px;padding:18px 10px;border-right:1px solid var(--line)}.tb-week article{border-left:3px solid #356bd5}.tb-template-grid{display:grid;gap:16px;margin:20px 0}.tb-template-grid article{border:1px solid var(--line);border-radius:8px;padding:18px}.tb-template-grid h3{font-size:16px;margin:5px 0 10px}.tb-template-grid :is(p,li){font-size:13px;line-height:1.6}.tb-template-grid ul{padding-left:20px;margin:12px 0 20px}.tb-template-grid small{font-size:12px;color:var(--muted)}.tb-capture-list article{padding:16px 0;border-bottom:1px solid var(--line)}.tb-capture-list article>div{display:flex;align-items:center;gap:12px;justify-content:space-between}.tb-capture-list p{font-size:14px;margin-bottom:14px}.tb-overview{display:flex;flex-direction:column;gap:14px;margin:24px 0}.tb-overview button{border:0;background:none;text-align:left;padding:0;color:var(--ink);cursor:pointer}.tb-overview button>span{display:flex;justify-content:space-between;font-size:13px}.tb-overview progress{width:100%;height:7px;accent-color:var(--status)}.tb-shortcuts{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:13px}.tb-shortcuts dt{padding:4px 7px;background:var(--surface);border:1px solid var(--line);border-radius:5px}.tb-shortcuts dd{margin:0;padding:4px}
@media(min-width:1450px){.tb-column{flex-basis:280px}}
@media(max-width:1200px){.tb-list-rail{display:none}.tb-detail-layout:has(.tb-review-rail){grid-template-columns:210px minmax(0,1fr)}.tb-review-rail{grid-column:1/-1;min-height:0;border-left:0;border-top:1px solid var(--line)}.tb-detail-layout{grid-template-columns:210px minmax(0,1fr)}.tb-title-section,.tb-section{padding:24px}.tb-context .tb-local{display:none}.tb-filterbar>select{max-width:150px}.tb-tools>.btn{font-size:12px}}
@media(max-width:768px){
 .tb-toolbar{padding:8px 12px;gap:8px;min-height:52px}.tb-toolbar .tb-tools>.btn{display:none}.tb-tools{gap:2px}.tb-context{flex:1}.tb-context select{width:100%;min-width:0;padding-left:0;font-size:13px;max-width:230px}.tb-tools .icon-btn{width:44px;height:44px}.tb-filterbar{padding:8px 12px;flex-wrap:wrap;gap:8px}.tb-filterbar .search{flex:1;min-width:160px;max-width:none}.tb-filterbar .tb-scopes{display:none}.tb-filterbar>select{display:none}.tb-filterbar .btn{min-height:44px}.tb-statusbar{padding:4px 8px}.tb-statusbar nav{gap:0}.tb-statusbar .btn{font-size:12px;padding:6px 9px;min-height:44px}.tb-statusbar>.btn{font-size:0;width:44px;padding:10px}.tb-statusbar>.btn svg{width:18px}.tb-page .tf-summary{padding:7px 12px;font-size:12px}.tb-page .tf-summary>span:last-child{display:none}
 .tb-board{min-height:calc(100dvh - 370px);scrollbar-width:none;padding-bottom:24px;scroll-snap-type:x mandatory}.tb-column{flex:0 0 calc(100vw - 36px);min-width:calc(100vw - 36px);max-width:none}.tb-column>header{padding:6px 14px 10px}.tb-column>header .icon-btn{width:44px;height:44px;min-width:44px}.tb-column>header>button:first-child{min-height:44px}.tb-column>header>button:first-child>svg{opacity:.5}.tb-column-content{padding:0 12px}.tb-column.is-collapsed{flex-basis:52px;min-width:52px}.tb-card{margin-bottom:12px}.tb-card-body{padding:10px 14px 12px}.tb-card-top{min-height:36px}.tb-card-top .icon-btn{width:44px;height:44px;min-width:44px;margin-right:-8px}.tb-card-title{font-size:15px}.tb-excerpt{font-size:14px;-webkit-line-clamp:3}.tb-card-meta{margin-top:14px;gap:12px}.tb-review-link,.tb-decision-label{margin:12px -14px -12px;padding:11px 14px;min-height:44px}.tb-card-meta .tb-avatar{width:28px;height:28px}.tb-add-card{min-height:44px!important}.tb-quick .btn,.tb-quick .icon-btn{min-height:44px}.tb-card .social-thumbnail{height:140px}
 .tb-table-wrap{width:100%}.tb-table td{padding:12px 10px}.tb-table-title{min-width:220px}.tb-table .control{min-height:44px}.tb-table-title input{width:22px;height:22px}.tb-table .icon-btn{width:44px;height:44px}.tb-menu{left:8px!important;right:8px;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:85dvh;padding:8px;border-radius:14px}.tb-menu::backdrop{background:#00000045}.tb-menu-item{min-height:44px}.tb-menu header .icon-btn{height:44px;width:44px}
 .tb-detail-top{padding:6px 12px;gap:6px;min-height:50px}.tb-detail-top>a:first-child{display:none}.tb-detail-top .icon-btn{width:44px;height:44px}.tb-detail-top>[data-tb=print]{display:none}.tb-detail-layout,.tb-detail-layout:has(.tb-review-rail){display:flex;flex-direction:column}.tb-detail-props{width:100%;min-height:0;border:0;border-bottom:1px solid var(--line)}.tb-detail-props details>summary{list-style:none;padding:12px 16px;display:flex;gap:8px;align-items:center;font-size:12px;cursor:pointer;min-height:48px}.tb-detail-props summary svg{width:16px;flex-shrink:0}.tb-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px}.tb-properties h2,.tb-properties h3,.tb-properties>.tf-relations,.tb-properties>.btn,.tb-properties>p,.tb-properties>a{grid-column:1/-1}.tb-properties :is(input,select){height:44px;min-height:44px}.tb-document{width:100%}.tb-title-section,.tb-section{padding:20px 16px}.tb-title-section h1{font-size:24px}.tb-detail-meta{gap:10px;margin-bottom:20px}.tb-section-head{gap:8px;align-items:flex-start}.tb-section-head h2{font-size:14px;min-height:44px}.tb-section-head .btn{min-height:44px;padding:6px 8px;font-size:12px}.tb-section-head>div{gap:4px}.tb-section-head>h2>svg{display:none}.tb-detail .btn,.tb-detail .icon-btn{min-height:44px}.tb-check-row{align-items:flex-start;flex-wrap:wrap;padding:7px 0}.tb-check-row>label{min-height:44px;flex-basis:calc(100% - 44px)}.tb-check-row input{width:22px;height:22px}.tb-check-row>div{margin-left:32px;flex:1;justify-content:flex-end}.tb-check-row .icon-btn{width:44px;min-height:44px}.tb-file>.icon-btn{width:44px;min-height:44px}.tb-file>button:first-child{gap:8px}.tb-file-type{width:32px}.tb-file>button:first-child>svg{display:none}.tb-comment-form>div{align-items:flex-start}.tb-comment-form small{max-width:175px}.tb-event .icon-btn{height:44px;width:44px}.tb-review-rail{width:100%;min-height:0;border:0;padding:20px 16px}.tb-linked-social .social-thumbnail{height:160px}.tb-linked-social .social-thumbnail strong{font-size:24px}.tb-archive-banner{padding:12px;flex-wrap:wrap;font-size:12px}
 .tb-project-grid{grid-template-columns:1fr}.tb-project-grid>article{padding:20px 16px}.tb-project-intro{padding:20px 16px}.tb-project-intro>div{align-items:flex-start;flex-direction:column}.tb-project-intro h1{font-size:24px}.tb-project-facts{padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tb-project-detail .tb-toolbar{flex-wrap:wrap}.tb-project-detail .btn{min-height:44px}.tb-project-detail .tb-toolbar h2{flex-basis:100%}.tb-project-detail .tb-toolbar .grow{display:none}.tb-project-grid .icon-btn{width:44px;height:44px}
 .tb-page .tf-calendar-head{padding:12px 16px;gap:6px}.tb-page .tf-calendar-head .btn,.tb-page .tf-calendar-head .icon-btn{min-height:44px}.tb-page .tf-calendar-head h2{font-size:16px;min-width:140px}.tb-calendar-note,.tb-planner-note{padding:0 16px 16px;line-height:1.6}.tb-planner{flex-direction:column}.tb-planner>aside{width:100%;border-right:0;border-bottom:1px solid var(--line);padding:16px}.tb-planner>aside article{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tb-planner>aside article a{flex-basis:100%}.tb-planner>aside article .btn{margin:0 0 0 auto;min-height:44px}.tb-week{width:100%;scroll-snap-type:x mandatory;scrollbar-width:none}.tb-week>section{flex-basis:70vw;scroll-snap-align:start;min-height:250px;padding:16px}.tb-week .btn{min-height:44px}.tb-calendar-item{min-height:44px;display:flex!important;align-items:center}
 .task-board-page.tf-awaiting-mobile #main{padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){.tb-card,.tb-column{transition:none}.tb-card:hover{transform:none}}
[data-theme=dark] .task-board-page,.dark .task-board-page,body.task-board-page[data-theme=dark]{--tb-soft:#171a20}
[data-theme=dark] .task-board-page,.dark .task-board-page,body.task-board-page.dark,body.task-board-page[data-theme=dark]{--tb-status-doing:#f6c453;--tb-status-blocked:#94a3b8;--tb-status-review:#8a63b8;--tb-text-doing:var(--tb-status-doing);--tb-text-review:#a585cf}
body:is(.dark,[data-theme=dark]) .tb-blocked{background:#302519;color:#e0b676}body:is(.dark,[data-theme=dark]) .tb-label{background:color-mix(in srgb,var(--label-fg) 20%,#191919);color:color-mix(in srgb,var(--label-fg) 40%,white)}body:is(.dark,[data-theme=dark]) .tb-review-link,body:is(.dark,[data-theme=dark]) .tb-document>.tf-decision{background:#282034;color:#c7afe8!important}body:is(.dark,[data-theme=dark]) .tb-card-meta .late{background:#3b2225;color:#f3a1a7}
@media print{body.task-board-page :is(.sidebar,#qtop,#qbottom,#qm-mobile-nav,.review-toolbar,.tb-detail-top,.tb-detail-props,.tb-review-rail,.tb-comment-form,.tb-section-head button,.tb-detail .icon-btn){display:none!important}.task-board-page #main{overflow:visible!important;height:auto!important}.tb-detail-layout{display:block!important}.tb-section{break-inside:avoid}.tb-document{max-width:none}}

/* One board scroll region; the global footer remains visible. */
.tb-page:has(.tb-board){height:100%;display:flex;flex-direction:column}.tb-page:has(.tb-board)>:not(#tf-results){flex-shrink:0}.tb-page:has(.tb-board)>#tf-results{flex:1;min-height:0}.tb-page .tb-board{height:100%;min-height:0}.tb-page .tb-column{min-height:100%}

.tb-detail-top{position:sticky;top:0;background:var(--base);z-index:5}.tb-title-section,.tb-section{scroll-margin-top:65px}.tb-parent-link{display:block;font-size:13px;margin-bottom:14px}.tb-card .social-thumbnail{width:100%;max-width:none;margin:0;box-sizing:border-box}
.tb-review-targets{border:1px solid var(--line);padding:14px;display:flex;gap:12px;flex-direction:column;border-radius:8px}.tb-review-targets legend{font-size:13px;padding:0 5px}.tb-review-targets label{display:flex;gap:8px;align-items:center;font-size:13px;min-height:32px}.tb-review-outcome{padding:12px;border-left:2px solid #8659bc;background:#f6f2fc;font-size:13px}.tb-detail .tf-decision>div:has(small){display:flex;flex-direction:column;align-items:flex-start;gap:4px}.tb-detail .tf-decision small{font-size:12px;color:var(--muted)}.tb-card-priority{font-size:12px}.tb-card-priority svg{height:12px;width:12px}
@media(max-width:768px){.tb-review-targets label{min-height:44px}.tb-review-targets input{width:20px;height:20px}}

body.dark.task-board-page{--tb-soft:#171a20}body.dark .tb-state-pill,body.dark .tb-table select.tb-state-pill{color:color-mix(in srgb,var(--status-text,var(--status)) 40%,white)}body.dark .tb-label{background:color-mix(in srgb,var(--label-fg) 20%,#191919);color:color-mix(in srgb,var(--label-fg) 40%,white)}body.dark .tb-review-outcome{background:#282034;color:#d7c3ef}body.dark .tb-decision-label{background:#183228;color:#addac1!important;border-color:#295340}
body.dark .tb-card{background:#171b21;border-color:#353a43}body.dark .tb-card:hover{border-color:#697688}body.dark .tb-card .social-thumbnail img{filter:invert(1)}body.dark .tb-color-cover{color:color-mix(in srgb,var(--cover) 45%,white)}

/* One contextual toolbar below the shared page header. */
.tb-compact-toolbar{min-height:56px;gap:8px;justify-content:flex-start;padding:10px 16px}
.tb-compact-toolbar .tb-context{flex:0 1 205px}
.tb-compact-toolbar .tb-context select{width:100%;min-width:0;max-width:none;padding-left:4px;text-overflow:ellipsis;font-size:13px}
.tb-compact-toolbar .search{flex:1;min-width:100px;max-width:300px;background:transparent;border-color:transparent}
.tb-compact-toolbar .search:focus-within{border-color:var(--line);background:var(--surface)}
.tb-compact-toolbar .search input{min-width:0;width:100%;font-size:13px}
.tb-compact-toolbar .tb-view-trigger{margin-left:auto;gap:7px;min-width:0;max-width:240px}
.tb-compact-toolbar .tb-view-trigger span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tb-compact-toolbar .tb-view-trigger svg:last-child{width:12px;height:12px}
.tb-compact-toolbar .tb-filter-trigger{gap:6px;flex-shrink:0}
.tb-compact-toolbar .tb-filter-trigger small{font-size:12px;line-height:18px;min-width:18px;text-align:center;border-radius:4px;background:var(--surface)}
.tb-compact-toolbar .active{color:var(--tb-accent);background:color-mix(in srgb,var(--tb-accent) 7%,var(--base))}
.tb-compact-toolbar :is(.btn,.icon-btn,.control,.search){height:34px;min-height:34px}
.tb-compact-toolbar>.icon-btn{width:34px;flex-shrink:0}
.tb-compact-toolbar>[data-tb=local-search],.tb-compact-toolbar>[data-tb=search-close]{display:none}
.tb-page .tb-summary-hidden{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.tb-view-fields{padding:8px;display:grid;gap:14px}.tb-view-fields label{font-size:12px;color:var(--muted);display:grid;gap:5px}.tb-view-fields select{width:100%;min-width:0;font-size:13px;color:var(--ink)}
.tb-menu-caption{margin:12px 10px 6px;color:var(--muted);font-size:12px}.tb-menu-empty{margin:8px 10px;font-size:13px;color:var(--muted)}
.tb-card-compact .tb-card-body{padding:8px 10px}.tb-card-compact .tb-excerpt{-webkit-line-clamp:1;margin:5px 0}.tb-card-compact .tb-card-meta{margin-top:8px;gap:8px}.tb-card-compact :is(.tb-color-cover,.tb-card-image,.social-thumbnail){max-height:90px;overflow:hidden}.tb-card-compact .tb-review-link,.tb-card-compact .tb-decision-label{margin:8px -10px -8px;padding:8px 10px}
.tb-card-tinted{background:color-mix(in srgb,var(--card-tint) 8%,var(--base));border-color:color-mix(in srgb,var(--card-tint) 22%,var(--line))}
.tb-card-fields{display:flex;gap:10px 16px;flex-wrap:wrap;margin:10px 0}.tb-card-fields div{min-width:0;max-width:100%}.tb-card-fields dt{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.tb-card-fields dd{font-size:12px;margin:2px 0 0;overflow-wrap:anywhere}.tb-card-fields small{font-size:12px;color:var(--muted)}
.tb-card-meta:not(:has(>span:not(.grow))){display:none}

/* Calendar events have their own sizing; only the day number is a round button. */
.tb-page .tf-day{min-width:0}
.tb-page .tb-calendar-item{display:flex!important;align-items:flex-start;gap:6px;min-width:0;width:100%;max-width:100%;height:auto;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
.tb-calendar-item>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-width:0;flex:1;line-height:1.4}
.tb-calendar-item>svg{flex:0 0 13px;margin:2px 0 0}
.tb-page .tf-day>[data-tb=day]{width:100%;min-width:0;max-width:100%;padding:6px 4px;white-space:normal;overflow-wrap:anywhere;border-radius:4px;text-align:left;justify-content:flex-start;font-size:12px}
@media(max-width:768px){.tb-page .tb-calendar-item{align-items:center;min-height:44px}.tb-calendar-item>span{display:block;-webkit-line-clamp:unset;overflow:visible}.tb-calendar-item>svg{margin-top:0}}
.tb-labels-dots .tb-label{width:28px;height:7px;min-height:7px;padding:0;font-size:0;line-height:0;border-radius:4px;background:var(--label-fg)}
.tb-appearance-preview{background:var(--tb-soft,#f7f8fa);padding:16px;border:1px solid var(--line);border-radius:8px}.tb-appearance-preview>span{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.tb-appearance-preview .tb-card{max-width:330px;margin:0 auto;pointer-events:none}.tb-appearance-preview .tb-card-title{color:var(--ink)}
.tb-appearance-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tb-appearance-layout .field{margin:0}.tb-appearance-layout .final-check{align-self:end;min-height:40px}.tb-appearance-heading{font-size:14px!important;margin:4px 0!important}
.tb-appearance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.tb-appearance-fields label{display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px;cursor:pointer}.tb-appearance-fields input{width:16px;height:16px;accent-color:var(--ink);flex-shrink:0}
body.dark .tb-card-tinted{background:color-mix(in srgb,var(--card-tint) 15%,#171b21);border-color:color-mix(in srgb,var(--card-tint) 32%,#353a43)}body.dark .tb-labels-dots .tb-label{background:color-mix(in srgb,var(--label-fg) 65%,white)}
@media(max-width:1100px){
 .tb-compact-toolbar .tb-context{flex:1;max-width:240px}.tb-compact-toolbar .search{display:none}.tb-compact-toolbar>[data-tb=local-search]{display:flex}.tb-compact-toolbar .tb-view-trigger{max-width:175px}
 .tb-compact-toolbar.is-searching .tb-context,.tb-compact-toolbar.is-searching>[data-tb=local-search],.tb-compact-toolbar.is-searching .tb-view-trigger{display:none}
 .tb-compact-toolbar.is-searching .search{display:flex;max-width:none}.tb-compact-toolbar.is-searching>[data-tb=search-close]{display:flex}
}
@media(max-width:768px){
 .tb-compact-toolbar{padding:6px 8px;gap:2px;min-height:57px}.tb-compact-toolbar .tb-context{max-width:none}
 .tb-compact-toolbar .tb-context select{max-width:none;font-weight:500;padding-left:4px;padding-right:20px}
 .tb-compact-toolbar :is(.btn,.icon-btn,.control,.search){height:44px;min-height:44px}
 .tb-compact-toolbar>.icon-btn,.tb-compact-toolbar .tb-view-trigger,.tb-compact-toolbar .tb-filter-trigger{width:44px;min-width:44px;padding:10px;flex-shrink:0;margin-left:0}
 .tb-compact-toolbar .tb-view-trigger>span,.tb-compact-toolbar .tb-view-trigger>svg:last-child,.tb-compact-toolbar .tb-filter-trigger>span{display:none}
 .tb-compact-toolbar .tb-filter-trigger{position:relative}.tb-compact-toolbar .tb-filter-trigger small{position:absolute;top:1px;right:0;font-size:12px;min-width:16px;line-height:16px}
 .tb-view-fields select{min-height:44px}.tb-card-compact .tb-card-body{padding:8px 12px}.tb-card-compact .tb-review-link,.tb-card-compact .tb-decision-label{margin:8px -12px -8px;padding:8px 12px;min-height:44px}
 .tb-appearance-layout{grid-template-columns:1fr}.tb-appearance-layout :is(.control,.final-check){min-height:44px}.tb-appearance-fields{grid-template-columns:1fr}.tb-appearance-fields label{min-height:44px}.tb-appearance-fields input{width:20px;height:20px}
}

/* Statut de la vue Liste : le select reprend la couleur de statut (classe tb-state-pill). */
.tb-table select.tb-state-pill{color:var(--status-text,var(--status));background:color-mix(in srgb,var(--status) 9%,var(--base));padding:5px 8px;border-radius:5px;font-weight:500}.tb-state-pill option{color:var(--ink);background:var(--base)}
/* Origine de la tâche (Ticket, REX, KM) : teinte légère de toute la carte au Kanban (même procédé que .tb-card-tinted ;
   une couleur choisie dans « Apparence » reste prioritaire), bordure gauche 3 px en Liste ; le statut garde sa pastille.
   Contrastes vérifiés par tests/admin_v3/task-board-origin.test.cjs ; aucun vert (statut Fait). Mêmes couleurs sur la
   page commune « Support » (.qhub, support-hub.css : barre des lignes et icônes des tuiles). */
/* Couleurs d'origine Ticket / REX / KM : aussi sur :root / body.dark pour la barre d'onglets et la liste du sélecteur
   d'espace Support (qref-space-switch, menu portalisé dans <body>). Mêmes valeurs, une seule définition. */
:root,.qhub,.task-board-page{--tb-origin-ticket:#2563eb;--tb-origin-rex:#0e7490;--tb-origin-km:#a21caf}
body.dark,body.dark .qhub,body.dark.task-board-page,.dark .task-board-page{--tb-origin-ticket:#60a5fa;--tb-origin-rex:#22d3ee;--tb-origin-km:#e879f9}
[data-origin=ticket]{--tb-origin:var(--tb-origin-ticket)}[data-origin=rex]{--tb-origin:var(--tb-origin-rex)}[data-origin=km]{--tb-origin:var(--tb-origin-km)}
.tb-card[data-origin]:not(.tb-card-tinted){background:color-mix(in srgb,var(--tb-origin) 8%,var(--base));border-color:color-mix(in srgb,var(--tb-origin) 22%,var(--line))}
.tb-card[data-origin]:not(.tb-card-tinted):hover{border-color:color-mix(in srgb,var(--tb-origin) 40%,var(--line))}
body.dark .tb-card[data-origin]:not(.tb-card-tinted){background:color-mix(in srgb,var(--tb-origin) 15%,#171b21);border-color:color-mix(in srgb,var(--tb-origin) 32%,#353a43)}
body.dark .tb-card[data-origin]:not(.tb-card-tinted):hover{border-color:color-mix(in srgb,var(--tb-origin) 50%,#353a43)}
.tb-table tr[data-origin]>td:first-child{box-shadow:inset 3px 0 0 var(--tb-origin)}
.tb-origin-legend{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.tb-origin-legend>span{display:inline-flex;align-items:center;gap:6px}
.tb-origin-legend i{display:block;width:3px;height:12px;border-radius:2px;background:var(--tb-origin)}
.tb-origin-legend[data-view=kanban] i{width:12px;border-radius:3px;background:color-mix(in srgb,var(--tb-origin) 22%,var(--base));border:1px solid var(--tb-origin);box-sizing:border-box}
