:root{color-scheme:light;--bg: #e8ecf2;--bg-subtle: #f3f5f8;--panel: #ffffff;--surface: #ffffff;--surface-muted: #f4f6f9;--border: #d5dde8;--border-strong: #b8c4d4;--text: #1a2332;--muted: #5c6b7e;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--success: #16a34a;--success-check: #22c55e;--success-light: #dcfce7;--success-light-border: #86efac;--success-light-text: #166534;--success-dark: #14532d;--warning: #d97706;--warning-soft: #fffbeb;--warning-border: #fcd34d;--warning-text: #b45309;--overlay: rgba(15, 23, 42, .4);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 2px 6px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .12);--page-x: clamp(1.25rem, 4vw, 2.75rem);--board-max: 1680px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#dfe5ee 0%,var(--bg) 180px);color:var(--text);-webkit-font-smoothing:antialiased}input,textarea,select{font:inherit}button{font:inherit;cursor:pointer;border:none;background:none;padding:0;color:inherit}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:500;line-height:1.2;box-shadow:var(--shadow-xs);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 3px #2563eb59}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border);color:var(--text)}.btn-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text)}.btn-warning:hover:not(:disabled){background:#fef3c7}.btn-sm{padding:.35rem .7rem;font-size:.8rem;border-radius:7px}.btn-icon{width:2.25rem;height:2.25rem;padding:0;flex-shrink:0}.chip,.chip-sm{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.35rem .65rem;font-size:.8rem;font-weight:500;box-shadow:var(--shadow-xs);transition:background .15s,border-color .15s,color .15s}.chip:hover:not(:disabled),.chip-sm:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.chip-sm{padding:.22rem .5rem;font-size:.72rem;border-radius:7px}.chip.active,.chip-sm.active{background:var(--accent);border-color:var(--accent);color:#fff}.primary{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.875rem;font-weight:500;box-shadow:0 1px 3px #2563eb59;text-decoration:none}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell.has-board{background:transparent}@media(min-width:769px){.app-shell.has-board{height:100dvh;max-height:100dvh;overflow:hidden}}.login{display:grid;place-content:center;min-height:100vh;padding:var(--page-x)}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem 2.75rem;box-shadow:var(--shadow-lg);text-align:center;display:flex;flex-direction:column;gap:1.25rem;align-items:center;max-width:360px}.login-card h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login-card p{margin:0;color:var(--muted);font-size:.9rem}.topbar{display:flex;align-items:center;gap:1rem;padding:.65rem var(--page-x);border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:5}.topbar h1{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.activity-log-panel{position:relative;flex-shrink:0}.activity-log-toggle.active{background:var(--accent-soft);color:var(--accent)}.activity-log-dropdown{position:absolute;right:0;top:calc(100% + .35rem);width:min(28rem,92vw);max-height:min(24rem,60vh);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:40}.activity-log-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid var(--border);font-size:.82rem}.activity-log-filter{margin:.45rem .55rem 0;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem}.activity-log-list{list-style:none;margin:0;padding:.35rem 0;overflow:auto;flex:1}.activity-log-row-btn{width:100%;display:grid;grid-template-columns:4.5rem 2.5rem 4.5rem 1fr;gap:.35rem;align-items:start;text-align:left;border:none;background:transparent;padding:.35rem .55rem;font:inherit;font-size:.72rem;cursor:pointer}.activity-log-row-btn:hover{background:var(--surface-muted)}.activity-log-when{color:var(--muted);font-variant-numeric:tabular-nums}.activity-log-source{text-transform:uppercase;font-size:.62rem;font-weight:700;letter-spacing:.03em}.activity-log-source--api{color:#0369a1}.activity-log-source--client{color:#7c3aed}.activity-log-source--scheduler,.activity-log-source--admin,.activity-log-source--test{color:#b45309}.activity-log-action{font-weight:600}.activity-log-summary{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-log-detail{margin:0 .55rem .4rem;padding:.45rem .5rem;background:var(--surface-muted);border-radius:var(--radius-sm);font-size:.68rem;overflow:auto;max-height:8rem}.activity-log-empty{padding:.75rem .65rem;color:var(--muted);font-size:.8rem}.segmented{display:inline-flex;padding:.2rem;background:var(--surface-muted);border-radius:var(--radius-md);border:1px solid var(--border);gap:.15rem}.segmented .btn{border:none;box-shadow:none;background:transparent;padding:.4rem 1rem;font-size:.82rem;font-weight:600;color:var(--muted);border-radius:7px}.segmented .btn:hover:not(:disabled){background:#fff9;color:var(--text)}.segmented .btn.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-xs)}.user{color:var(--muted);font-size:.82rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-mode-panel{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-wrap:wrap}.test-mode-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--warning-text)}.test-mode-date{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning-text)}.test-mode-actions{display:flex;align-items:center;gap:.35rem}.test-mode-actions .btn-sm{min-width:2rem;padding:.35rem .55rem}.test-mode-msg{font-size:.78rem;color:var(--success);white-space:nowrap}.board-view{flex:1;display:flex;flex-direction:column;width:100%;max-width:var(--board-max);margin:0 auto;padding:0 var(--page-x) 4rem}@media(min-width:769px){.board-view:not(.board-view--mobile){min-height:0;overflow:hidden;padding-bottom:0}}.board-toolbar{display:flex;align-items:center;gap:.5rem;padding:.75rem 0 0;flex-wrap:wrap}.undo-redo-bar{display:flex;align-items:center;gap:.15rem;position:relative}.undo-redo-dropdown{position:relative}.undo-redo-history-btn{min-width:1.75rem;padding-inline:.35rem}.undo-redo-menu{position:absolute;top:calc(100% + .25rem);left:0;z-index:40;min-width:14rem;max-width:22rem;max-height:16rem;overflow-y:auto;margin:0;padding:.25rem;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.undo-redo-menu li button{display:flex;align-items:baseline;gap:.15rem;width:100%;text-align:left;padding:.45rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:.85rem;cursor:pointer}.undo-redo-menu li button:hover,.undo-redo-menu li button.active{background:var(--accent-soft)}.undo-redo-menu li button.off-path{color:var(--text-muted);opacity:.75}.undo-redo-menu li button.on-path{color:var(--text)}.undo-redo-branch-mark{flex:0 0 auto;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.undo-redo-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-redo-cursor{font-weight:700;color:var(--accent)}.undo-redo-menu-empty{padding:.5rem .6rem;font-size:.85rem;color:var(--text-muted)}.restore-toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.9rem}.sync-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;letter-spacing:.01em;border:1px solid var(--border);background:var(--panel);color:var(--text-muted);white-space:nowrap}.sync-status-badge--offline{color:var(--warning-text, #b45309);border-color:color-mix(in srgb,var(--warning-text, #b45309) 35%,var(--border))}.sync-status-badge--pending{color:var(--accent)}.sync-status-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor;flex-shrink:0}.sync-status-badge--offline .sync-status-dot{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent)}.quick-note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0f172a59}.quick-note-panel{width:min(28rem,100%);max-height:min(90vh,40rem);overflow:visible;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1rem}.quick-note-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.quick-note-panel h3{margin:0;font-size:1rem}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:grid;place-items:center;padding:1rem;background:#0f172a59}.delete-confirm-panel{width:min(26rem,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.1rem 1.25rem}.delete-confirm-panel header h3{margin:0 0 .75rem;font-size:1rem}.delete-confirm-message{margin:0 0 .5rem;line-height:1.45}.delete-confirm-hint{margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.delete-confirm-checkbox{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.65rem;font-size:.92rem;cursor:pointer}.delete-confirm-checkbox input{margin-top:.15rem}.delete-confirm-note{margin:0 0 1rem;font-size:.85rem;color:var(--muted);line-height:1.4}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.btn-danger{background:var(--danger, #dc2626);color:#fff;border-color:transparent}.btn-danger:hover{filter:brightness(.95)}.kanban-card-slot--nested{position:relative}.quick-note-panel label,.quick-note-field{display:block;margin-bottom:.75rem;font-size:.85rem}.quick-note-label{display:block;margin-bottom:.25rem}.quick-note-panel input,.quick-note-panel textarea{width:100%;box-sizing:border-box}.quick-note-combobox{position:relative}.quick-note-combobox-control{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.quick-note-combobox-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}.quick-note-combobox-control input{flex:1;min-width:0;margin:0;border:none;border-radius:0;background:transparent;padding:.5rem .65rem;box-shadow:none}.quick-note-combobox-control input:focus{outline:none;box-shadow:none}.quick-note-combobox-toggle{flex:0 0 auto;width:2.25rem;border:none;border-left:1px solid var(--border);background:var(--surface-2, var(--bg-subtle));color:var(--muted);cursor:pointer;font-size:.75rem;line-height:1}.quick-note-combobox-toggle:hover{color:var(--accent);background:var(--accent-soft)}.quick-note-dropdown{position:absolute;left:0;right:0;top:calc(100% + .2rem);z-index:5;list-style:none;margin:0;padding:.2rem;max-height:12rem;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.quick-note-dropdown button{display:flex;width:100%;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border:none;border-radius:4px;background:transparent;text-align:left;font:inherit;cursor:pointer}.quick-note-dropdown button:hover,.quick-note-dropdown button.active{background:var(--accent-soft)}.quick-note-card-col{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.quick-note-empty{padding:.6rem;font-size:.85rem;color:var(--text-muted)}.quick-note-actions{display:flex;justify-content:flex-end;gap:.5rem}.global-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:start center;padding:10vh 1rem 1rem;background:#0f172a66}.global-search-panel{width:min(36rem,100%);max-height:min(80vh,40rem);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.85rem 1rem .75rem}.global-search-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.global-search-panel h3{margin:0;font-size:1rem}.global-search-input-label{display:block;margin-bottom:.5rem}.global-search-input-label input{width:100%;font-size:1rem;padding:.55rem .7rem}.global-search-results{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.global-search-results li+li{border-top:1px solid var(--border)}.global-search-results button{display:block;width:100%;text-align:left;padding:.55rem .65rem;border:none;background:transparent;cursor:pointer;color:inherit}.global-search-results button:hover,.global-search-results button.active{background:var(--surface-muted)}.global-search-hit-top{display:flex;flex-direction:column;gap:.15rem}.global-search-hit-title{font-weight:600;font-size:.9rem}.global-search-hit-meta{font-size:.72rem;color:var(--muted)}.global-search-excerpt{margin:.35rem 0 0;font-size:.8rem;color:var(--muted);line-height:1.35}.global-search-excerpt mark{background:#fef08a;color:var(--text);border-radius:2px;padding:0 .1em}.global-search-empty{padding:.75rem;font-size:.85rem;color:var(--muted)}.global-search-hint{margin:.45rem 0 0;font-size:.72rem;color:var(--muted)}.global-search-hint kbd{font-size:.68rem}.columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.25rem 0 0;align-items:start;flex:1}@media(min-width:769px){.board-view:not(.board-view--mobile) .columns,.board-canvas .columns{min-height:0;overflow:hidden;align-items:stretch;padding-bottom:0}}.column{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:68vh;min-width:0;overflow:hidden;box-shadow:var(--shadow-sm)}@media(min-width:769px){.board-view:not(.board-view--mobile) .column,.board-canvas .column{display:flex;flex-direction:column;min-height:0;height:100%}}.column.over{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #2563eb1f}.column header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}.column header h3{margin:0;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.column-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--muted)}.column-body{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;min-height:200px}@media(min-width:769px){.board-view:not(.board-view--mobile) .column-body,.board-canvas .column-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}}.column-cards{display:flex;flex-direction:column;gap:.55rem;min-height:2rem}.column-add{display:flex;gap:.4rem;margin-bottom:.15rem;width:100%;min-width:0}.column-add input{flex:1;min-width:0;width:0;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--surface-muted);color:var(--text);font-size:.85rem;transition:border-color .15s,background .15s,box-shadow .15s}.column-add input::placeholder{color:#94a3b8}.column-add input:focus{border-style:solid;border-color:var(--accent);outline:none;background:var(--surface);box-shadow:0 0 0 3px #2563eb1f}.board-view,.board-view .column,.kanban-card{user-select:none;-webkit-user-select:none}.kanban-card{position:relative;display:flex;align-items:stretch;gap:.45rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.7rem .75rem;cursor:grab;touch-action:manipulation;box-shadow:var(--shadow-xs);transition:box-shadow .15s,border-color .15s,transform .15s}.kanban-card--drag-armed{touch-action:none;box-shadow:var(--shadow-md);transform:scale(1.02)}html.kanban-pointer-dragging,html.kanban-pointer-dragging body,html.kanban-pointer-dragging .board-view--mobile,html.kanban-pointer-dragging .board-canvas-columns-wrap,html.kanban-pointer-dragging .mobile-columns-viewport,html.kanban-pointer-dragging .column-body,html.kanban-pointer-dragging .editor-shell-kanban-pane{touch-action:none!important;overscroll-behavior:none!important}.kanban-card-main{flex:1 1 auto;min-width:0;min-height:100%;display:flex;flex-direction:column;justify-content:center;cursor:inherit}.kanban-card:hover{box-shadow:var(--shadow-sm)}.kanban-card.focused{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb2e}.kanban-card.kanban-card--selected{outline:2px dashed var(--accent);outline-offset:2px;box-shadow:none}.kanban-card.kanban-card--selected.focused{box-shadow:none}.kanban-card.status-en-cours.kanban-card--selected{background:#ecfeff;border-color:#67e8f9;border-left:4px solid #0891b2}.kanban-card.status-en-cours.kanban-card--selected .card-title{color:#0e7490}.kanban-card.status-fait.kanban-card--selected{background:var(--success-light);border-color:var(--success-light-border);border-left:4px solid #4ade80}.kanban-card.status-termine.kanban-card--selected{background:#14532d;border-color:#0f3d24;border-left:4px solid #052e16}.kanban-card.status-fait{background:var(--success-light);border-color:var(--success-light-border);border-left:4px solid #4ade80}.kanban-card.status-fait .card-title{color:var(--success-light-text)}.kanban-card.status-overdue{background:#fef2f2;border-color:#f87171;box-shadow:inset 3px 0 #dc2626}.kanban-card.status-overdue .card-title{color:#991b1b}.badge.date-overdue{color:#b91c1c;border-color:#fca5a5;background:#fee2e2}.kanban-card.status-overdue.status-en-cours{background:#ecfeff;border-color:#67e8f9;border-left:4px solid #0891b2;box-shadow:inset 3px 0 #dc2626}.kanban-card.status-overdue.status-en-cours .card-title{color:#991b1b}.kanban-card.status-overdue.status-en-cours .badge.date-overdue{color:#b91c1c}.editor-kind-toggle{display:flex;gap:.35rem;margin-bottom:.75rem}.editor-kind-toggle .btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.editor-ai-section{margin:.5rem 0 1rem;padding:.75rem;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface-2, #f8fafc)}.editor-ai-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.editor-ai-header h3{margin:0;font-size:.95rem;font-weight:600}.editor-ai-hint{margin:0 0 .65rem;font-size:.8rem;color:var(--muted, #64748b);line-height:1.35}.editor-kind-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--muted, #64748b);line-height:1.35}.editor-ai-hint code{font-size:.75rem}.editor-ai-paste-row{display:flex;gap:.4rem}.editor-ai-paste-row input{flex:1}.editor-ai-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.editor-ai-compact{display:flex;flex-direction:column;gap:.55rem}.editor-ai-conv-title{margin:0;font-size:.92rem;font-weight:600;line-height:1.35;color:var(--text, #0f172a);word-break:break-word}.editor-ai-error{margin:.4rem 0 0;color:#b91c1c;font-size:.85rem}.editor-ai-badge,.ai-link-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;letter-spacing:.02em;padding:.1rem .35rem;border-radius:4px;border:1px solid transparent;line-height:1.2;flex-shrink:0}.editor-ai-badge--cursor,.ai-link-badge--cursor{background:#111827;color:#f9fafb;border-color:#374151}.editor-ai-badge--claude,.ai-link-badge--claude{background:#7d3208;color:#fff7ed;border-color:#9a3412}.kanban-card.status-termine{background:#14532d;border-color:#0f3d24;border-left:4px solid #052e16}.kanban-card.status-termine .card-title{color:#fff;font-weight:700}.kanban-card.status-termine .badge{background:#ffffff24;border-color:#ffffff38;color:#e8f7ee}.kanban-card.status-termine .badge.bonus{background:#fbbf2440;border-color:#fbbf24;color:#fef3c7}.kanban-card.status-termine .badge.recurring{background:#93c5fd33;border-color:#93c5fd;color:#eff6ff}.kanban-card.status-termine .description-icon{color:#d1fae5;opacity:1}.kanban-card.dragging{cursor:grabbing}.board-view--dragging .kanban-card-slot>.kanban-card.dragging{opacity:0;pointer-events:none}.drag-overlay-card .kanban-card{opacity:1;cursor:grabbing;box-shadow:var(--shadow-md)}.kanban-card-slot{position:relative}.drop-insert-line{position:absolute;left:0;right:0;height:3px;margin:0;border-radius:2px;background:linear-gradient(90deg,transparent,#60a5fa,#3b82f6,#60a5fa,transparent);box-shadow:0 0 8px #3b82f6a6;pointer-events:none;z-index:3}.drop-insert-line--before{top:0;transform:translateY(-50%)}.drop-insert-line--after{bottom:0;transform:translateY(50%)}.kanban-card--nest-target{box-shadow:0 0 0 2px #3b82f6,0 0 14px #3b82f673;background:#3b82f614}.kanban-card--nest-target .kanban-card-main:after{content:"↳ imbriquer ici";display:block;margin-top:.35rem;font-size:.72rem;font-weight:600;color:#3b82f6;letter-spacing:.02em}.kanban-nested-toggle{flex:0 0 auto;align-self:flex-start;margin-top:.1rem;padding:.1rem .35rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:.72rem;line-height:1.2;cursor:pointer}.kanban-nested-toggle:hover{border-color:var(--accent);color:var(--accent)}.kanban-nested-cards{margin:.25rem 0 .35rem 1.1rem;padding-left:.55rem;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:.35rem}.kanban-card--nested{opacity:.96;font-size:.95em}.drag-count-badge{position:absolute;top:-.4rem;right:-.4rem;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:1}.kanban-card--mobile{display:flex;align-items:flex-start;gap:.25rem}.kanban-card-main{flex:1;min-width:0}.board-view--mobile .kanban-card--draggable .kanban-card-main{cursor:grab}.board-view--mobile .kanban-card--draggable .kanban-card-main:active{cursor:grabbing}.kanban-card-edit-btn{flex-shrink:0;width:2.25rem;height:2.25rem;margin-top:.05rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.kanban-card-edit-btn:active{background:var(--surface-muted);color:var(--accent)}.termine-day-separator{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:.35rem 0 .5rem;padding:.35rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-muted);border-radius:var(--radius-sm);border:1px solid var(--border)}.termine-day-separator-time{font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);opacity:.85}.termine-day-separator.over{color:var(--accent);border-color:var(--accent);background:#2563eb14}.badge.fixed{background:#fef3c7;border-color:#fcd34d;color:#92400e}.kanban-card.status-fait.kanban-card--mobile-selected{background:var(--success-light);border-color:var(--success-light-border);border-left:4px solid #4ade80}.card-title-row{display:flex;align-items:flex-start;gap:.35rem}.card-checkbox{flex-shrink:0;align-self:flex-start;width:1.15rem;height:1.15rem;margin-top:.1rem;border:2px solid var(--border-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:transparent;transition:background .2s,border-color .2s,color .2s;cursor:pointer;padding:0}.card-checkbox:disabled{opacity:.45;cursor:default}.card-checkbox--checked{background:var(--success-check);border-color:var(--success-check);color:#fff}.card-checkbox--termine.card-checkbox--checked{background:#fff;border-color:#fff;color:#14532d}.kanban-card.status-termine .card-checkbox:disabled{opacity:1;cursor:default}.work-time-row{display:inline-flex;align-items:center;gap:.15rem}.work-time-btn{width:1.35rem;height:1.35rem;min-width:1.35rem;padding:0;font-size:.85rem;line-height:1;touch-action:manipulation}.badge.work-time{color:#0e7490;background:#cffafe;border-color:#67e8f9}.badge.work-time--live{color:#0e7490;background:#a5f3fc;border-color:#22d3ee}.badge.work-time--paused{color:#92400e;background:#fef3c7;border-color:#fcd34d}.work-time-paused-label{font-weight:600;text-transform:lowercase}.active-work-panel{position:relative;display:flex;align-items:center;gap:.35rem}.active-work-pause-btn,.active-work-play-btn{white-space:nowrap}.active-work-item--paused{opacity:.85}.active-work-paused-icon{font-size:.75rem}.active-work-hint{margin:.35rem .55rem .2rem;font-size:.72rem;color:var(--muted);text-align:center}.active-work-dropdown{position:absolute;right:0;top:calc(100% + .35rem);min-width:260px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.35rem;z-index:40}.active-work-item{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .55rem;border-radius:var(--radius-sm);text-decoration:none;color:inherit}.active-work-item:hover{background:var(--surface-muted)}.active-work-title{font-size:.85rem;font-weight:600}.active-work-meta{font-size:.72rem;color:var(--muted)}.active-work-empty{margin:.35rem .55rem;font-size:.82rem;color:var(--muted)}.presence-activity-wrap{position:relative;display:inline-flex}.presence-activity-btn{min-width:2rem;padding-inline:.45rem;color:var(--muted)}.presence-activity-btn.is-open,.presence-activity-btn:hover:not(:disabled){color:var(--accent);border-color:#93c5fd;background:var(--accent-soft)}.presence-activity-icon{display:block}.presence-activity-popover{position:absolute;right:0;top:calc(100% + .35rem);width:min(32rem,calc(100vw - 2 * var(--page-x)));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.75rem .8rem .7rem;z-index:50}.presence-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.presence-activity-header strong{display:block;font-size:.9rem}.presence-activity-sub{display:block;margin-top:.1rem;font-size:.72rem;color:var(--muted)}.presence-activity-legend{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.presence-leg{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--muted)}.presence-leg--btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:.15rem .4rem;cursor:pointer;font:inherit;color:var(--muted)}.presence-leg--btn:hover{border-color:var(--border);background:var(--surface-muted)}.presence-leg--btn.is-selected{border-color:#1d4ed8;box-shadow:0 0 0 1px #1d4ed840;color:var(--text);font-weight:650}.presence-leg:before{content:"";width:.55rem;height:.55rem;border-radius:2px}.presence-leg--active:before{background:#34d399}.presence-leg--idle:before{background:#f59e0b}.presence-frise{margin-bottom:.55rem}.presence-frise--zoom{margin-bottom:.65rem}.presence-frise-caption{margin-bottom:.2rem;font-size:.68rem;font-weight:650;color:var(--muted);letter-spacing:.01em}.presence-frise-track{position:relative;height:1.55rem;border-radius:6px;background:linear-gradient(180deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;overflow:hidden;touch-action:none}.presence-frise-track--seekable{cursor:pointer}.presence-frise-track--brush{cursor:crosshair}.presence-frise-track--brush.brush-active{box-shadow:inset 0 0 0 1px #10b98173}.presence-frise-track--brush.brush-idle{box-shadow:inset 0 0 0 1px #f59e0b73}.presence-frise-track--seekable.is-dragging,.presence-frise-track--seekable.is-dragging *{cursor:grabbing}.presence-frise--zoom .presence-frise-track{height:1.85rem}.presence-frise-brush-hint{font-weight:500;color:#1d4ed8}.presence-frise-zoom-window{position:absolute;top:0;bottom:0;border:1.5px solid #1d4ed8;border-radius:4px;background:#3b82f62e;box-shadow:inset 0 0 0 1px #ffffff59;pointer-events:none;z-index:3;cursor:grab}.presence-frise-zoom-window.is-dragging{background:#3b82f647;border-color:#1e40af}.presence-frise-seg.is-manual{outline:1px dashed rgba(30,64,175,.55);outline-offset:-1px}.presence-frise-seg.is-draft{opacity:.7;outline:1px dashed #1d4ed8;z-index:4;pointer-events:none}.presence-frise-handle{position:absolute;top:0;bottom:0;width:.45rem;padding:0;border:0;background:#1d4ed8d9;cursor:ew-resize;z-index:5}.presence-frise-handle--start{left:0;border-radius:3px 0 0 3px}.presence-frise-handle--end{right:0;border-radius:0 3px 3px 0}.presence-activity-hint{margin:0 0 .45rem;font-size:.7rem;color:var(--muted);line-height:1.35}.presence-activity-hint--error{color:#b91c1c}.presence-clear-overrides{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#1d4ed8;font:inherit;font-size:.72rem;cursor:pointer;text-decoration:underline;padding:0}.presence-clear-overrides:hover{color:#1e40af}.presence-undo-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#b45309;font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.presence-undo-clear:hover{color:#92400e}.presence-period-item.is-manual{border-style:dashed}.presence-frise-seg{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;min-width:2px}.presence-frise-seg--active{background:linear-gradient(180deg,#6ee7b7,#34d399)}.presence-frise-seg--idle{background:linear-gradient(180deg,#fcd34d,#f59e0b);box-shadow:inset 0 0 0 1px #b4530926;z-index:1}.presence-frise-seg.is-hovered{outline:2px solid #1d4ed8;outline-offset:-1px;z-index:2;filter:brightness(1.05)}.presence-frise-seg.is-dimmed{opacity:.45}.presence-frise-seg--active .presence-frise-label{color:#065f46}.presence-frise-label{font-size:.62rem;font-weight:700;color:#78350f;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.35);padding:0 .15rem;pointer-events:none}.presence-frise-ticks{position:relative;display:flex;justify-content:space-between;margin-top:.25rem;min-height:.95rem;font-size:.62rem;color:var(--muted)}.presence-frise-tick{position:absolute;transform:translate(-50%);white-space:nowrap}.presence-frise-tick-end{margin-left:auto}.presence-activity-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;margin-bottom:.55rem;padding:.4rem .5rem;border-radius:var(--radius-sm);background:var(--surface-muted);font-size:.75rem;color:var(--muted)}.presence-activity-stats strong{color:var(--text);font-weight:650}.presence-activity-empty{margin:.2rem 0 0;font-size:.78rem;color:var(--muted)}.presence-period-list{list-style:none;margin:0;padding:0;max-height:11rem;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem}.presence-period-item{display:flex;gap:.45rem;align-items:flex-start;padding:.4rem .45rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .12s ease,border-color .12s ease,opacity .12s ease;cursor:default}.presence-period-item--active{background:#ecfdf5;border-color:#a7f3d0}.presence-period-item--idle{background:#fffbeb;border-color:#fde68a}.presence-period-item.is-hovered{border-color:#1d4ed8;box-shadow:0 0 0 1px #1d4ed840}.presence-period-item.is-dimmed{opacity:.45}.presence-period-dot{width:.45rem;height:.45rem;margin-top:.35rem;border-radius:50%;flex-shrink:0}.presence-period-item--active .presence-period-dot{background:#34d399}.presence-period-item--idle .presence-period-dot{background:#f59e0b}.presence-period-body{min-width:0;flex:1}.presence-period-row{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.presence-period-kind{font-size:.72rem;font-weight:650;min-width:3.4rem}.presence-period-item--active .presence-period-kind{color:#047857}.presence-period-item--idle .presence-period-kind{color:#b45309}.presence-period-when{flex:1;font-size:.74rem;color:var(--text)}.presence-period-dur{font-size:.78rem;white-space:nowrap;color:var(--text)}.presence-period-item--idle .presence-period-dur{color:#b45309}.presence-period-cards{display:block;margin-top:.15rem;font-size:.68rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.editor-total-time,.editor-work-time{margin:.5rem 0 0;font-size:.85rem;color:var(--muted)}.editor-total-time strong,.editor-work-time strong{color:var(--text)}.editor-work-time label{display:flex;flex-direction:column;gap:.25rem;color:var(--text);font-size:.85rem}.editor-work-time-meta{margin:.35rem 0 0}.editor-work-time-error{margin:.25rem 0 0;color:#b91c1c;font-size:.8rem}.editor-status-en_cours{background:#cffafe;color:#0e7490;border:1px solid #67e8f9}.card-title{flex:1;min-width:0;font-size:.9rem;line-height:1.4}.description-icon{flex-shrink:0;color:var(--muted);margin-top:.1rem;opacity:.85}.kanban-card.status-fait .description-icon,.kanban-card.status-termine .description-icon{color:inherit;opacity:.7}.card-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.badge{font-size:.68rem;padding:.12rem .4rem;border-radius:999px;background:var(--surface-muted);color:var(--muted);border:1px solid var(--border);font-weight:500}.badge.bonus{color:var(--warning);background:#fffbeb;border-color:#fcd34d}.badge.projet{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}.badge.recurring{color:var(--accent);background:var(--accent-soft);border-color:#93c5fd}.shortcuts-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:1rem;padding:.6rem var(--page-x);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);font-size:.84rem;box-shadow:0 -4px 16px #0f172a0f}@media(min-width:769px){.board-view:not(.board-view--mobile)>.shortcuts-bar{position:static;flex-shrink:0;left:auto;right:auto;bottom:auto;width:auto;box-shadow:none}}.shortcuts-bar-inner{width:100%;max-width:var(--board-max);margin:0 auto;display:flex;align-items:center;gap:1rem}.shortcuts-bar-title{color:var(--muted);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.shortcuts-bar-keys{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center;color:var(--text)}.shortcuts-bar-hint{font-size:.78rem;color:var(--muted);margin-left:.25rem}.shortcuts-bar-action{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:5px;border:1px solid var(--border);background:var(--surface-muted);font-size:.78rem;font-weight:600;color:var(--text)}.shortcuts-bar-action:hover{background:var(--surface);border-color:var(--border-strong)}.shortcuts-bar-keys kbd{display:inline-block;min-width:1.35rem;text-align:center;padding:.12rem .38rem;margin-right:.3rem;border-radius:5px;background:var(--surface-muted);border:1px solid var(--border);font-size:.72rem;font-weight:600;box-shadow:0 1px 0 var(--border);color:var(--text)}.date-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-content:center;z-index:30;padding:var(--page-x)}.date-picker-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;width:min(380px,100%);display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-lg)}.date-picker-panel--quick{width:min(240px,100%);padding:.85rem;gap:.5rem}.date-picker-panel--quick h3{font-size:.85rem}.date-picker-panel--quick label{font-size:.75rem;gap:.25rem}.date-picker-panel--quick .french-date-input{padding:.4rem .5rem;font-size:.8rem}.date-picker-panel--quick .date-hint{font-size:.68rem}.date-picker-panel--quick .date-clear-btn{width:1.85rem;height:1.85rem}.date-picker-panel h3{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em}.date-picker-panel label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--muted)}.date-picker-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--border)}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;justify-content:flex-end;z-index:20;overscroll-behavior:none}.editor-overlay--split{justify-content:stretch;align-items:stretch}.editor-split-inner{display:flex;flex:1;min-width:0;min-height:0;width:100%;height:100%}.editor-split-inner .board-canvas{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--border)}.editor-split-inner .board-canvas.board-canvas--scope-editor{flex-direction:row;align-items:stretch}.editor-split-inner .editor-panel{flex-shrink:0;width:min(420px,38vw);max-width:100%}.editor-shell-mobile{display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;min-height:0;overflow:hidden;background:var(--panel)}.editor-mobile-tabs{display:flex;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.editor-mobile-tab{flex:1;padding:.45rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);font-size:.9rem;font-weight:600}.editor-mobile-tab.active{background:var(--accent);color:var(--accent-fg, #fff);border-color:var(--accent)}.editor-shell-kanban-pane{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.editor-shell-kanban-scroll{flex:1 1 0;min-height:0;height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;position:relative}.board-canvas{display:flex;flex-direction:column;min-height:0;flex:1;position:relative}.board-canvas--scope-editor{flex-direction:row}.board-canvas-kanban-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.nested-scope-editor{flex-shrink:0;width:min(380px,32vw);min-width:280px;align-self:stretch;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--panel);box-shadow:-8px 0 24px #0f172a14;z-index:2}.nested-scope-editor .editor-panel{width:100%;max-width:none;height:100%;border-left:none}@media(max-width:768px){.board-canvas--scope-editor{flex-direction:column}.nested-scope-editor{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-width:0;z-index:6;box-shadow:none}}.board-canvas-columns-wrap{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.promote-parent-zone{position:absolute;left:0;top:0;bottom:0;width:4.75rem;z-index:25;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#2563eb24,#2563eb05);border-right:2px dashed rgba(37,99,235,.4);transition:background .15s ease,border-color .15s ease}.promote-parent-zone--over{background:#2563eb3d;border-right-color:var(--accent)}.promote-parent-zone-inner{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .35rem;color:var(--accent);text-align:center;pointer-events:none}.promote-parent-zone-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.65rem;background:#ffffffeb;box-shadow:0 2px 8px #2563eb33}.promote-parent-zone-label{font-size:.65rem;font-weight:600;line-height:1.2;max-width:3.75rem}.board-canvas-columns-wrap .columns--embedded{flex:1;min-height:0;padding-bottom:0}.shortcuts-bar--embedded{position:static;flex-shrink:0;z-index:1;border-top:1px solid var(--border);border-radius:0;box-shadow:none;background:#fffffff5}.shortcuts-bar--embedded .shortcuts-bar-inner{max-width:none;padding:0 .5rem}.nested-board-header{flex-shrink:0;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--panel)}.nested-board-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.nested-board-crumb-btn{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:inherit;text-decoration:underline}.nested-board-crumb-sep{margin:0 .2rem;opacity:.6}.nested-board-crumb-current{font-weight:600;color:var(--text)}.board-notice{margin:.35rem .75rem 0;padding:.45rem .75rem;border-radius:6px;background:color-mix(in srgb,var(--danger, #c44) 12%,var(--panel));color:var(--text);font-size:.9rem}.nested-board-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.columns--embedded{flex:1;min-height:0;overflow:hidden;padding:.5rem;gap:.5rem;align-items:stretch}.columns--embedded .column{min-width:200px}.editor-panel{position:relative;width:min(420px,100%);height:100%;background:var(--panel);border-left:1px solid var(--border);padding:1.25rem;display:flex;flex-direction:column;gap:0;box-shadow:var(--shadow-lg);overflow:hidden}.editor-mobile-back{position:absolute;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:2;padding:.65rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-md);font-size:.95rem;font-weight:600;color:var(--text)}.editor-mobile-back:active{background:var(--surface-muted)}.editor-panel header{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.editor-panel header h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.editor-panel-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding-right:.15rem}.editor-lock-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin:.35rem 0 0;font-size:.82rem;color:var(--warning-text);line-height:1.4}.editor-lock-banner--soft{color:var(--text-muted)}.editor-lock-banner-text{flex:1 1 auto}.editor-lock-edit-btn{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;pointer-events:auto}.editor-edit-icon{font-size:1rem;line-height:1}.editor-panel--frozen .editor-panel-body{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.editor-panel-fieldset{border:none;margin:0;padding:0;min-width:0}.editor-panel-fieldset:disabled{opacity:1}.editor-panel-body--readonly .french-date-field,.editor-panel-body--readonly input:not([type=checkbox]),.editor-panel-body--readonly textarea,.editor-panel-body--readonly select,.editor-panel-body--readonly .btn,.editor-panel-body--readonly .chip{cursor:default}.french-date-field--readonly .date-clear-btn{visibility:hidden}.recurrence-editor--readonly{pointer-events:none}.md-description-editor--readonly .md-editor-input{cursor:default}.editor-status{display:inline-block;margin-top:.35rem;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.editor-status-fait{background:var(--success-light);color:var(--success-light-text);border:1px solid var(--success-light-border)}.editor-status-termine{background:#14532d;color:#fff;border:1px solid #0f3d24}.editor-panel label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--muted)}.editor-panel input,.editor-panel select,.editor-panel textarea,.french-date-input,.date-picker-panel input{padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.editor-panel input:focus,.editor-panel select:focus,.editor-panel textarea:focus,.french-date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}.editor-panel textarea{resize:none;min-height:5rem;font-family:inherit;line-height:1.45}.editor-description-label{flex-shrink:0}.editor-description-input{width:100%}.md-description-editor{display:flex;flex-direction:column;gap:.35rem}.md-editor-wrap{display:grid;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;scrollbar-gutter:stable}.md-editor-backdrop,.editor-panel .md-editor-wrap .md-editor-input{grid-area:1 / 1;padding:.55rem .65rem;font-family:inherit;font-size:.85rem;line-height:1.45;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.md-editor-backdrop{z-index:0;pointer-events:none;color:var(--text);overflow:hidden;margin:0}.md-editor-line{display:block;min-height:1lh;line-height:1.45;white-space:pre-wrap}.md-editor-backdrop code{padding:0;border-radius:2px;background:#0000000f;font-size:inherit}.md-editor-backdrop .md-h1,.md-editor-backdrop .md-h2,.md-editor-backdrop .md-h3{font-size:inherit;font-weight:700}.md-editor-backdrop .md-list-bullet{margin-right:.25em}.md-line-plain{color:var(--text);background:#2563eb12;border-radius:2px}.editor-panel .md-editor-wrap .md-editor-input{position:relative;z-index:1;display:block;width:100%;min-height:5rem;margin:0;border:none;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--text);resize:none;overflow:hidden;white-space:pre-wrap;box-shadow:none}.editor-panel .md-editor-wrap .md-editor-input:focus{outline:none;border:none;box-shadow:none}.editor-archive-textarea{width:100%;min-height:4.5rem;max-height:17.5rem;padding:.5rem .65rem;border:none;border-top:1px dashed var(--border);background:var(--surface-muted);font-family:inherit;font-size:.82rem;line-height:1.45;color:var(--muted);resize:vertical;overflow-y:auto;box-sizing:border-box}.editor-archive-block{margin:0 0 .35rem;border:1px dashed var(--border);border-radius:var(--radius-sm);overflow:hidden}.editor-description-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.md-format-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem}.md-format-btn{min-width:1.65rem;height:1.65rem;padding:0 .35rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.72rem;font-weight:600;line-height:1;cursor:pointer}.md-format-btn:hover{background:var(--surface-muted);border-color:color-mix(in srgb,var(--border) 70%,var(--accent))}.md-format-bold{font-weight:800}.md-format-italic{font-style:italic;font-weight:600}.md-format-underline{text-decoration:underline;font-weight:600}.editor-description-toolbar .btn-sm{font-size:.72rem;padding:.25rem .5rem}.md-editor-backdrop .md-list-num-label{margin-right:.25em;font-variant-numeric:tabular-nums}.md-editor-backdrop .md-list,.md-editor-backdrop .md-task-line{display:inline}.md-editor-backdrop .md-list-bullet,.md-editor-backdrop .md-list-num-label,.md-editor-backdrop .md-task-glyph{display:inline;margin-right:.25em;-webkit-user-select:none;user-select:none}.md-editor-backdrop .md-task-glyph{font-size:.95em;line-height:inherit}.md-task-checked .md-task-text,.md-task-checked .md-task-glyph,.md-task-checkbox.md-task-checked .md-task-text{text-decoration:line-through;color:var(--muted)}.md-editor-backdrop ol{margin:0;padding-left:1.25rem}.editor-archive-block summary{cursor:pointer;padding:.4rem .65rem;font-size:.78rem;font-weight:600;color:var(--muted);background:var(--surface)}.editor-archive-content{padding:.5rem .65rem;font-size:.82rem;color:var(--muted);border-top:1px dashed var(--border)}.editor-fixed-row{display:flex;align-items:center;gap:.5rem;margin-top:-.2rem;margin-bottom:.1rem}.editor-fixed-row label{flex-direction:row;align-items:center;gap:.45rem;font-size:.82rem;cursor:pointer}.editor-fixed-row input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent)}.date-hint{font-size:.78rem;color:var(--muted)}.french-date-field{display:flex;flex-direction:column;gap:.25rem;width:100%}.french-date-row{display:flex;align-items:center;gap:.4rem;width:100%;min-width:0}.french-date-input{flex:1;min-width:0}.date-clear-btn{flex-shrink:0;width:2.25rem;height:2.25rem}.editor-time-row{display:flex;align-items:center;gap:.4rem}.editor-time-row input[type=time]{flex:1;min-width:0}.mini-cal{margin-top:.2rem;padding:.35rem;width:fit-content;max-width:100%;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);outline:none}.mini-cal:focus-visible{box-shadow:0 0 0 2px #2563eb26}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;gap:.2rem;margin-bottom:.3rem}.mini-cal-title{flex:1;text-align:center;font-size:.72rem;font-weight:600;text-transform:capitalize;color:var(--text)}.mini-cal-nav{width:1.35rem;height:1.35rem;min-width:1.35rem;padding:0;font-size:.85rem;line-height:1}.mini-cal-weekdays,.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1.35rem);gap:.1rem}.mini-cal-weekdays{margin-bottom:.15rem}.mini-cal-weekday{text-align:center;font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);line-height:1.35rem}.mini-cal-weekday--weekend{color:#c62828}.mini-cal-day{width:1.35rem;height:1.35rem;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1.5px solid transparent;background:var(--surface);font-size:.62rem;font-weight:500;color:var(--text);transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease}.mini-cal-day:hover:not(.mini-cal-day--selected){background:var(--accent-soft);border-color:#2563eb40}.mini-cal-day--outside{color:var(--muted);opacity:.55}.mini-cal-day--weekend:not(.mini-cal-day--selected){color:#c62828;background:#e2e6ed}.mini-cal-day--weekend.mini-cal-day--outside:not(.mini-cal-day--selected){background:#d8dde6}.mini-cal-day--weekend:hover:not(.mini-cal-day--selected){background:#d0d6e0;border-color:#c6282840}.mini-cal-day--weekend.mini-cal-day--today:not(.mini-cal-day--selected){border-color:#c62828;background:#d8dde6;box-shadow:inset 0 0 0 1px #c6282826}.mini-cal-day--today{border-color:var(--accent);border-width:2px;font-weight:700;color:var(--accent);box-shadow:inset 0 0 0 1px #2563eb26}.mini-cal-day--selected{background:var(--accent);border-color:var(--accent-hover);color:#fff;font-weight:700;animation:mini-cal-selected-pulse 2.2s ease-in-out infinite}.mini-cal-day--selected.mini-cal-day--today{border-color:#fff;box-shadow:0 0 0 1px var(--accent),0 0 0 2px #2563eb59;color:#fff}.mini-cal-day:active{transform:scale(.94)}.mini-cal-hint{margin:.3rem 0 0;font-size:.58rem;line-height:1.25;color:var(--muted);text-align:center}@keyframes mini-cal-selected-pulse{0%,to{box-shadow:0 0 #2563eb73}50%{box-shadow:0 0 0 4px #2563eb00}}.recurrence-editor{display:flex;flex-direction:column;gap:.55rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text);font-weight:500}.recurrence-sections{display:flex;flex-direction:column;gap:.45rem}.recurrence-section{padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);transition:border-color .15s,background .15s}.recurrence-section.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #2563eb1f}.recurrence-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.4rem}.recurrence-section.active .recurrence-section-label{color:var(--accent)}.preset-row,.weekdays-row{display:flex;flex-wrap:nowrap;gap:.3rem;align-items:center}.weekdays-row{justify-content:space-between}.interval-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;font-size:.85rem}.interval-input{width:2.8rem;padding:.3rem .35rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);text-align:center}.interval-select{padding:.3rem .45rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);font-size:.85rem}@media(max-width:1200px){.columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.board-view--mobile .columns{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.test-mode-panel{margin-left:0}.shortcuts-bar{display:none}.mobile-multiselect-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.date-picker-overlay{place-content:start center;padding:.75rem var(--page-x);align-items:stretch}.date-picker-panel--quick{width:100%;max-width:none;padding:1rem;gap:.75rem}.date-picker-panel--quick h3{font-size:1rem}.date-picker-panel--quick label{font-size:.85rem}.date-picker-panel--quick .mini-cal{width:100%;max-width:none;padding:.65rem;box-sizing:border-box}.date-picker-panel--quick .mini-cal-weekdays,.date-picker-panel--quick .mini-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.date-picker-panel--quick .mini-cal-weekday{font-size:.72rem;line-height:2rem}.date-picker-panel--quick .mini-cal-day{width:100%;height:auto;aspect-ratio:1;min-height:2.5rem;font-size:.95rem;border-radius:var(--radius-sm)}.date-picker-panel--quick .mini-cal-nav{width:2.25rem;height:2.25rem;min-width:2.25rem;font-size:1.1rem}.date-picker-panel--quick .mini-cal-title{font-size:1rem}.date-picker-panel--quick .mini-cal-hint{display:none}.editor-panel .editor-mini-cal{width:100%;max-width:none;padding:.65rem;box-sizing:border-box}.editor-panel .editor-mini-cal .mini-cal-weekdays,.editor-panel .editor-mini-cal .mini-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.editor-panel .editor-mini-cal .mini-cal-weekday{font-size:.72rem;line-height:2rem}.editor-panel .editor-mini-cal .mini-cal-day{width:100%;height:auto;aspect-ratio:1;min-height:2.5rem;font-size:.95rem;border-radius:var(--radius-sm)}.editor-panel .editor-mini-cal .mini-cal-nav{width:2.25rem;height:2.25rem;min-width:2.25rem;font-size:1.1rem}.editor-panel .editor-mini-cal .mini-cal-title{font-size:1rem}.editor-panel .editor-mini-cal .mini-cal-hint{display:none}.board-toolbar{padding-top:.5rem}.mobile-column-tabs{position:sticky;top:var(--mobile-topbar-height, 9rem);z-index:15;display:flex;gap:.35rem;overflow-x:auto;padding:.35rem 0 .75rem;margin-bottom:.25rem;background:var(--bg, #eef1f6);border-bottom:1px solid var(--border)}.mobile-column-tab{flex-shrink:0}.mobile-column-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover);font-weight:600;box-shadow:var(--shadow-xs)}.mobile-column-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:25;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:1.25rem;display:flex;align-items:center;justify-content:center}.mobile-column-arrow--left{left:.35rem}.mobile-column-arrow--right{right:.35rem}.mobile-column-arrow:disabled{opacity:.35}.mobile-column-switch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;pointer-events:none;overflow:hidden}.mobile-column-switch-overlay:before{content:"";position:absolute;top:50%;width:120vmax;height:120vmax;margin-top:-60vmax;border-radius:50%;background:#2563eb2e;transform:scale(calc(.15 + var(--switch-progress, 0) * .85));transition:transform .05s linear}.mobile-column-switch-overlay--left:before{right:100%;margin-right:-3rem;transform-origin:right center}.mobile-column-switch-overlay--right:before{left:100%;margin-left:-3rem;transform-origin:left center}.mobile-column-switch-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:35;font-size:2rem;font-weight:700;color:var(--accent);text-shadow:0 0 12px rgba(255,255,255,.9);line-height:1}.mobile-column-switch-overlay--left .mobile-column-switch-arrow{left:.75rem}.mobile-column-switch-overlay--right .mobile-column-switch-arrow{right:.75rem}.mobile-column-switch-overlay--committing{opacity:0;transition:opacity .22s ease}.mobile-column-switch-overlay--committing:before{transition:transform .22s ease,opacity .22s ease}.mobile-columns-viewport{overflow-x:hidden;overflow-y:hidden;width:100%;touch-action:pan-y pinch-zoom}.mobile-columns-track{display:flex;align-items:flex-start;width:100%;transition:transform .38s cubic-bezier(.32,.72,0,1);will-change:transform}.mobile-column-pane{flex:0 0 100%;min-width:0}.mobile-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;padding:.55rem var(--page-x) calc(.55rem + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;padding:.25rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:.72rem;gap:.1rem}.mobile-action-btn span{font-size:.62rem;font-weight:700;color:var(--muted)}.mobile-action-btn--danger{color:#b91c1c;border-color:#fecaca}.mobile-action-hint{width:100%;text-align:center;font-size:.72rem;color:var(--muted)}.app-shell.has-board{min-height:100vh;height:auto}.board-view--mobile{flex:none;overflow:visible;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.board-view--mobile .columns{flex:none}.board-view--mobile .column{min-height:auto;overflow:visible}.board-view--mobile .column-body{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}.board-view--mobile .kanban-card{touch-action:pan-y}.board-view--mobile .kanban-card--drag-armed,.board-view--mobile .kanban-card.dragging{touch-action:none}.editor-overlay{z-index:50;height:100%;height:100dvh;max-height:100dvh;align-items:stretch}.editor-shell-mobile{width:100%;height:100%;max-height:100dvh}.editor-shell-kanban-pane{flex:1 1 0;min-height:0;overflow:hidden}.editor-shell-kanban-scroll{flex:1 1 0;min-height:0;height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.editor-shell-kanban-scroll .board-canvas.board-view--mobile{display:block;flex:none;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.editor-shell-kanban-scroll .board-canvas.board-view--mobile .board-canvas-kanban-pane{display:block;flex:none;height:auto!important;min-height:0!important;overflow:visible!important}.editor-shell-kanban-scroll .board-canvas.board-view--mobile .board-canvas-columns-wrap{display:block;flex:none;height:auto!important;min-height:0!important;overflow:visible!important;touch-action:pan-y}.editor-shell-kanban-scroll .board-canvas.board-view--mobile .mobile-columns-viewport{overflow-x:hidden;overflow-y:visible;width:100%;touch-action:pan-y}.editor-shell-kanban-scroll .board-canvas.board-view--mobile .mobile-column-tabs{position:sticky;top:0;z-index:15;background:var(--panel)}.editor-shell-kanban-scroll .board-canvas.board-view--mobile .mobile-column-arrow{position:fixed}.editor-shell-kanban-scroll .board-view--mobile .kanban-card{touch-action:pan-y}.board-canvas.board-view--mobile{flex:1;min-height:0;overflow:hidden;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.board-canvas.board-view--mobile .board-canvas-kanban-pane{flex:1;min-height:0;overflow:hidden}.board-canvas.board-view--mobile .board-canvas-columns-wrap{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.board-canvas.board-view--mobile .mobile-columns-viewport{overscroll-behavior:contain}.board-canvas.board-view--mobile .mobile-column-tabs{position:relative;top:auto;z-index:15;flex-shrink:0}.board-canvas.board-view--mobile .mobile-column-arrow{position:absolute}.active-work-panel{z-index:45}.active-work-dropdown--mobile{position:fixed;left:var(--page-x);right:var(--page-x);top:calc(var(--mobile-topbar-height, 9rem) + .35rem);bottom:auto;max-height:min(55vh,24rem);overflow-y:auto;z-index:60;-webkit-overflow-scrolling:touch}.presence-activity-popover--mobile{position:fixed;left:var(--page-x);right:var(--page-x);top:calc(var(--mobile-topbar-height, 9rem) + .35rem);width:auto;max-height:min(70vh,28rem);overflow-y:auto;z-index:65;-webkit-overflow-scrolling:touch}}.anim-lab-page{max-width:1100px;margin:0 auto;padding:1.5rem var(--page-x) 3rem}.anim-lab-header h1{margin:0 0 .35rem;font-size:1.35rem}.anim-lab-header p{margin:0 0 1rem;color:var(--muted)}.anim-lab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.anim-lab-prefs{font-size:.72rem;padding:.35rem .5rem;background:var(--surface-muted);border-radius:var(--radius-sm);word-break:break-all}.anim-lab-section{margin-top:2rem}.anim-lab-section h2{font-size:1rem;margin:0 0 .85rem}.anim-lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.anim-lab-tile{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.anim-lab-tile--selected{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb33}.anim-lab-radio{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;cursor:pointer}.anim-lab-card{cursor:default;min-height:4.5rem}.anim-lab-playing{animation-duration:.65s;animation-fill-mode:both}.card-checkbox{flex-shrink:0;width:1.15rem;height:1.15rem;border:2px solid var(--border-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:transparent;transition:background .2s,border-color .2s,color .2s}.card-checkbox--checked{background:var(--success);border-color:var(--success);color:#fff}.kanban-card.status-en-cours{background:#ecfeff;border-color:#67e8f9;border-left:4px solid #0891b2}.kanban-card.status-en-cours .card-title{color:#0e7490;font-weight:600}.kanban-card.status-en-cours.selected{background:var(--accent-soft);border-color:var(--accent);border-left-width:1px}.kanban-card.status-en-cours.selected .card-title{color:var(--text)}.kanban-card.status-fait-partial{background:linear-gradient(to bottom,var(--success-light) 75%,var(--surface) 75%);border-color:var(--success-light-border);border-left:4px solid #4ade80}.kanban-card.status-fait-partial .card-title{color:var(--success-light-text)}@keyframes fait-bounce-check{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.97)}to{transform:scale(1)}}.anim-fait-bounce-check.card-checkbox--checked,.anim-lab-playing.anim-fait-bounce-check{animation:fait-bounce-check .45s ease}@keyframes fait-ripple-green{0%{box-shadow:0 0 #22c55e80}to{box-shadow:0 0 0 14px #22c55e00}}.anim-fait-ripple-green.anim-lab-playing{animation:fait-ripple-green .55s ease-out}@keyframes fait-scale-pop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.anim-fait-scale-pop.anim-lab-playing{animation:fait-scale-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes fait-confetti-lite{0%,to{filter:brightness(1)}30%{filter:brightness(1.15) hue-rotate(20deg)}60%{filter:brightness(1.05)}}.anim-fait-confetti-lite.anim-lab-playing{animation:fait-confetti-lite .6s ease}@keyframes termine-stamp-slam{0%{transform:scale(1.15) rotate(-3deg);opacity:.7}60%{transform:scale(.98) rotate(0)}to{transform:scale(1);opacity:1}}.anim-termine-stamp-slam.anim-lab-playing{animation:termine-stamp-slam .5s cubic-bezier(.22,1,.36,1)}@keyframes termine-glow-fade-dark{0%{box-shadow:0 0 #14532d99;background:#dcfce7}to{box-shadow:0 0 20px #14532d4d}}.anim-termine-glow-fade-dark.anim-lab-playing{animation:termine-glow-fade-dark .7s ease forwards}@keyframes termine-cascade-shrink{0%{transform:scaleY(1)}50%{transform:scaleY(.92)}to{transform:scaleY(1)}}.anim-termine-cascade-shrink.anim-lab-playing{animation:termine-cascade-shrink .55s ease}@keyframes termine-star-burst{0%{box-shadow:0 0 #fbbf24}50%{box-shadow:0 0 0 8px #fbbf2400}to{box-shadow:none}}.anim-termine-star-burst.anim-lab-playing{animation:termine-star-burst .65s ease}@keyframes encours-pulse-blue{0%,to{box-shadow:0 0 #2563eb59}50%{box-shadow:0 0 0 8px #2563eb00}}.anim-en_cours-pulse-blue{animation:encours-pulse-blue 2s ease-in-out infinite}.anim-en_cours-pulse-blue.anim-lab-playing{animation:encours-pulse-blue .8s ease-in-out 2}@keyframes encours-slide-highlight{0%{background-position:-100% 0}to{background-position:200% 0}}.anim-en_cours-slide-highlight{background-image:linear-gradient(90deg,#eff6ff,#bfdbfe,#eff6ff);background-size:50% 100%;animation:encours-slide-highlight 1.5s ease infinite}@keyframes encours-ring-expand{0%{box-shadow:0 0 #2563eb80}to{box-shadow:0 0 0 12px #2563eb00}}.anim-en_cours-ring-expand.anim-lab-playing{animation:encours-ring-expand .7s ease-out 2}@keyframes encours-border-run{0%{border-color:#2563eb}50%{border-color:#93c5fd}to{border-color:#2563eb}}.anim-en_cours-border-run{animation:encours-border-run 1.2s linear infinite}@keyframes recent-soft-glow{0%,to{box-shadow:0 0 12px #22c55e40}50%{box-shadow:0 0 20px #22c55e73}}.anim-recently_done-soft-glow{animation:recent-soft-glow 2.5s ease-in-out infinite}@keyframes recent-left-bar-fade{0%{border-left-width:8px;border-left-color:#4ade80}to{border-left-width:4px;border-left-color:#86efac}}.anim-recently_done-left-bar-fade{border-left:8px solid #4ade80;animation:recent-left-bar-fade 3s ease-in-out infinite alternate}@keyframes recent-shimmer-once{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-recently_done-shimmer-once{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);background-size:50% 100%;animation:recent-shimmer-once 2s ease-in-out infinite}@keyframes recent-tint-decay{0%{background-color:#bbf7d0}to{background-color:var(--success-light)}}.anim-recently_done-tint-decay{animation:recent-tint-decay 4s ease-in-out infinite alternate}
