:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-success:#16a34a;--color-warning:#f59e0b;--app-bg:#f3f4f6;--surface:#fff;--surface-muted:#f9fafb;--border:#d1d5db;--border-subtle:#e5e7eb;--text:#111827;--text-muted:#6b7280;--text-subtle:#374151;--input-bg:#fff;--input-focus-ring:#3b82f633;--scrollbar-track:#f1f5f9;--footer-bg:#f3f4f6;--btn-secondary-bg:#e5e7eb;--btn-secondary-fg:#374151;--btn-secondary-hover-bg:#d1d5db;--btn-small-bg:#f3f4f6;--btn-small-hover-bg:#e5e7eb;--priority-high-bg:#ef444426;--priority-high-fg:#ef4444;--priority-urgent-bg:#ef444440;--priority-urgent-fg:#dc2626;--priority-medium-bg:#eab30826;--priority-medium-fg:#ca8a04;--priority-low-bg:#6b728026;--priority-low-fg:#92a1b8;--priority-none-bg:#6b728014;--priority-none-fg:#6b7280;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 18px #0000001a;--transition-fast:.15s ease;--transition-normal:.2s ease}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#111827;--surface:#1f2937;--surface-muted:#0f172a;--border:#374151;--border-subtle:#334155;--text:#e5e7eb;--text-muted:#9ca3af;--text-subtle:#cbd5e1;--input-bg:#111827;--scrollbar-track:#0b1220;--footer-bg:#0f172a;--btn-secondary-bg:#334155;--btn-secondary-fg:#e5e7eb;--btn-secondary-hover-bg:#475569;--btn-small-bg:#111827;--btn-small-hover-bg:#1f2937;--color-danger-bg:#dc262626;--priority-high-fg:#f87171;--priority-urgent-fg:#ef4444;--priority-medium-fg:#fbbf24;--priority-low-fg:#9ca3af;--priority-none-fg:#9ca3af}html,body{height:100%}body{background-color:var(--app-bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;padding:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex;position:relative}.brand{color:var(--text);align-items:center;gap:12px;margin-right:auto;font-size:18px;font-weight:600;display:flex}.board-search{background-color:var(--input-bg);border:1px solid var(--border);border-radius:8px;flex:320px;align-items:center;gap:8px;padding:8px 12px;display:flex}.board-search svg{width:16px;height:16px;stroke:var(--text-muted);stroke-width:2px}.board-search input{min-width:0;color:var(--text);background:0 0;border:none;flex:auto;font-family:inherit;font-size:14px}.board-search input::placeholder{color:var(--text-muted)}.board-search input:focus{outline:none}.board-search:focus-within{box-shadow:0 0 0 3px var(--input-focus-ring)}.brand-icon{width:24px;height:24px;color:var(--color-primary);stroke-width:2.5px}.brand-logo{flex:none;width:32px;height:auto;display:block}.brand-text{cursor:pointer;transition:color .15s}.brand-text:hover{color:var(--color-primary)}.settings-section{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.settings-section-header h4{margin:0 0 6px;font-size:16px}.settings-section-header .form-help{margin-bottom:14px;display:block}.controls-actions{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:8px;flex-direction:column;gap:4px;min-width:220px;padding:8px;animation:.15s ease-out menu-appear;display:none;position:absolute;top:100%;right:10px;box-shadow:0 4px 12px #00000026}.controls-actions.show{display:flex}.controls-actions .control-btn{width:100%;color:var(--text);background:0 0;justify-content:flex-start;padding:10px 12px}.controls-actions .control-btn:hover{background-color:var(--surface-muted)}.swimlane-toggle-label{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:2px;display:flex;padding-bottom:10px!important}.swimlane-toggle-label .toggle-switch{appearance:none;cursor:pointer;background:#adb5bd;border-radius:10px;flex-shrink:0;width:36px;height:20px;margin-left:auto;transition:background .2s;position:relative}.swimlane-toggle-label .toggle-switch:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.swimlane-toggle-label .toggle-switch:checked{background:#2ecc71}.swimlane-toggle-label .toggle-switch:checked:after{transform:translate(16px)}.swimlane-order-list{margin:4px 0 0;padding:0;list-style:none}.swimlane-order-item{background:var(--surface);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-size:14px;display:flex}.swimlane-order-handle{color:var(--text-muted);cursor:grab;flex-shrink:0}.swimlane-order-item .lane-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.swimlane-order-ghost{opacity:.4;background:var(--surface-muted)}.swimlane-order-chosen{box-shadow:0 2px 8px #00000026}@keyframes menu-appear{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.control-select{background-color:var(--input-bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:5px;max-width:220px;padding:8px 12px;font-family:inherit;font-size:14px}.control-select:focus{box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}#desktop-menu-btn{display:flex}.board-container,.container{flex:auto;align-items:stretch;gap:.5rem;min-height:0;display:flex;overflow:auto hidden}.footer{background-color:var(--footer-bg);border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-muted);margin-top:auto;padding:16px;font-size:13px;line-height:.9}.footer p{margin:0}.footer-version{opacity:.85;white-space:nowrap;margin-left:10px;font-size:12px}.btn{cursor:pointer;transition:background-color var(--transition-normal), transform var(--transition-fast);border:none;border-radius:4px;align-items:center;padding:10px 20px;font-family:inherit;font-size:14px;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary);color:#fff;align-items:center}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}.btn-secondary:hover{background-color:var(--btn-secondary-hover-bg)}.btn-small{cursor:pointer;background-color:var(--btn-small-bg);color:var(--btn-secondary-fg);transition:all var(--transition-normal);border:none;border-radius:3px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:inline-flex}.btn-small:hover{background-color:var(--btn-small-hover-bg)}.btn-small svg{stroke:currentColor;stroke-width:2px;width:14px;height:14px}.btn-danger{color:var(--color-danger)}.btn-danger:hover{background-color:var(--color-danger-bg)}.control-btn{background-color:var(--color-primary);color:#fff;cursor:pointer;transition:background-color var(--transition-normal);border:none;border-radius:5px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;display:inline-flex}.control-btn:hover{background-color:var(--color-primary-hover)}.control-btn svg{stroke:currentColor;stroke-width:2px;width:16px;height:16px}.sync-indicator{white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.sync-indicator--live{color:#166534;background-color:#dcfce7;border-color:#bbf7d0}.sync-indicator--syncing{color:#854d0e;background-color:#fef9c3;border-color:#fde68a}.sync-indicator--unsynced{color:#9a3412;background-color:#ffedd5;border-color:#fed7aa}.sync-indicator--offline{color:#475569;background-color:#f1f5f9;border-color:#e2e8f0}.show-more-btn{background-color:var(--btn-secondary-bg);width:100%;color:var(--btn-secondary-fg);border:1px dashed var(--border-color);cursor:pointer;transition:all var(--transition-normal);text-align:center;border-radius:4px;margin-top:8px;padding:12px 16px;font-family:inherit;font-size:14px}.show-more-btn:hover{background-color:var(--btn-secondary-hover-bg);border-color:var(--color-primary)}.show-more-btn:active{transform:scale(.98)}.icon-btn,.add-task-btn-icon,.column-menu-btn,.column-collapse-btn,.column-drag-handle,.delete-task-btn{cursor:pointer;opacity:.6;transition:opacity var(--transition-normal), background-color var(--transition-normal);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover,.add-task-btn-icon:hover,.column-menu-btn:hover,.column-drag-handle:hover,.delete-task-btn:hover{opacity:1}.icon-btn svg,.add-task-btn-icon svg,.column-menu-btn svg,.column-collapse-btn svg,.column-drag-handle svg,.delete-task-btn svg{stroke-width:2px;width:16px;height:16px}.task-column.is-collapsed{flex:0 0 40px;width:40px;min-width:40px;margin:10px 4px;padding:8px 2px}.task-column.is-collapsed .column-header{border-bottom:none;flex-direction:column;gap:8px;margin-bottom:0;padding-bottom:0}.task-column.is-collapsed .column-collapse-btn,.task-column.is-collapsed .column-drag-handle{opacity:.85;padding:2px}.task-column.is-collapsed .column-collapse-btn svg,.task-column.is-collapsed .column-drag-handle svg{width:16px;height:16px}.task-column.is-collapsed .column-header h2{writing-mode:vertical-rl;text-align:center;flex:none;font-size:12px;font-weight:600;transform:rotate(180deg)}.add-task-btn-icon:hover{background-color:#3b82f61f}.add-task-btn-icon svg{stroke:var(--color-primary)}.delete-task-btn:hover{background-color:var(--color-danger-bg)}.delete-task-btn svg{stroke:var(--color-danger)}.column-drag-handle{opacity:.5;cursor:grab}.column-drag-handle:active{cursor:grabbing}.column-drag-handle svg{stroke:var(--text-muted)}.column-menu-btn:hover{background-color:color-mix(in srgb, var(--column-accent) 12%, transparent)}.column-menu-btn svg{stroke:var(--text-muted)}.task-column{--column-accent:#3b82f6;--column-accent-hover:color-mix(in srgb, var(--column-accent) 80%, #000);--column-bg-tint:color-mix(in srgb, var(--column-accent) 8%, transparent);--task-bg-tint:color-mix(in srgb, var(--column-accent) 7%, transparent);--task-border-tint:color-mix(in srgb, var(--column-accent) 22%, transparent);--task-hover-border-tint:color-mix(in srgb, var(--column-accent) 45%, transparent);--task-hover-shadow:color-mix(in srgb, var(--column-accent) 18%, transparent);border:1px solid var(--border);background-color:var(--surface);min-width:280px;min-height:0;transition:border-color var(--transition-normal), background-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);border-radius:8px;flex-direction:column;flex:1;margin:10px;padding:12px;display:flex;position:relative;overflow:hidden}.task-column:before{content:"";background:var(--column-accent);opacity:.9;width:4px;position:absolute;inset:0 auto 0 0}.task-column:hover{border-color:color-mix(in srgb, var(--column-accent), var(--border) 35%);background-color:color-mix(in srgb, var(--surface), var(--column-bg-tint) 100%);box-shadow:var(--shadow-lg);transform:translateY(-1px)}#board-container>.task-column:nth-child(3n+1){--column-accent:#3b82f6}#board-container>.task-column:nth-child(3n+2){--column-accent:#f59e0b}#board-container>.task-column:nth-child(3n+3){--column-accent:#16a34a}.column-header{border-bottom:1px solid var(--border-subtle);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.column-header *{cursor:inherit}.column-header button,.column-header a{cursor:pointer}.column-header:active,body.dragging-column .column-header,body.dragging-column .column-header *{cursor:grabbing}.column-header h2{text-align:center;flex:1;margin:0;font-size:20px;font-weight:600}.task-counter{background-color:var(--surface-muted);color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.column-actions{align-items:center;gap:4px;display:flex}.column-menu-wrapper{display:inline-flex;position:relative}.column-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:20;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.column-menu.hidden{display:none}.column-menu-item{cursor:pointer;color:var(--text);transition:background-color var(--transition-normal);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.column-menu-item:hover{background-color:var(--surface-muted)}.column-menu-item svg{width:16px;height:16px;stroke:var(--text);stroke-width:2px}.column-menu-item.danger{color:var(--color-danger)}.column-menu-item.danger svg{stroke:var(--color-danger)}.column-menu-submenu-wrapper{position:relative}.column-menu-item.has-submenu{flex-direction:row-reverse;justify-content:flex-start}.submenu-chevron{opacity:.6;margin-right:2px}.submenu-chevron svg{width:14px;height:14px}.column-submenu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:100;border-radius:8px;flex-direction:column;gap:2px;min-width:120px;margin-right:4px;padding:6px;display:flex;position:absolute;top:0;right:100%}.column-submenu.hidden{display:none}@media (width<=600px){.column-submenu{box-shadow:none;background:var(--surface-muted);border:none;border-radius:6px;margin-top:4px;margin-left:0;padding:4px;position:static}.column-submenu .column-menu-item{padding-left:16px;font-size:12px}}.tasks{flex-direction:column;flex:auto;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden auto}.tasks.expanded{max-height:none}.tasks::-webkit-scrollbar{width:6px}.tasks::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.tasks::-webkit-scrollbar-thumb{background:var(--column-accent);border-radius:3px}.tasks::-webkit-scrollbar-thumb:hover{background:var(--column-accent-hover)}.board-container-swimlanes{padding-bottom:12px;display:block;overflow:auto visible}.swimlane-board{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;min-width:100%;padding:12px 16px 16px;display:flex}.swimlane-grid-header,.swimlane-row-cells{grid-template-columns:var(--swimlane-grid-template,repeat(var(--swimlane-column-count,3), minmax(280px, 1fr)));align-items:start;gap:16px;display:grid}.swimlane-grid-header{z-index:5;background:var(--app-bg);margin-block:-4px 0;padding-block:4px;position:sticky;top:0}.swimlane-column-header,.swimlane-cell{box-sizing:border-box;inline-size:100%;border:1px solid var(--border);background:var(--surface);border-radius:5px;min-width:0}.swimlane-column-header{--column-accent:#3b82f6;z-index:6;box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:12px 14px;display:flex;position:relative}.swimlane-column-collapse-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.swimlane-column-collapse-btn:hover{background:var(--surface-muted)}.swimlane-column-header h2{flex:1;margin:0;font-size:18px}.swimlane-column-header.is-collapsed{justify-content:flex-start;align-items:center;gap:8px;padding:10px 8px}.swimlane-column-header.is-collapsed h2{text-align:center;writing-mode:vertical-rl;flex:0 auto;font-size:12px;line-height:1.1;transform:rotate(180deg)}.swimlane-column-header.is-collapsed .add-task-btn-icon{display:none}.swimlane-column-header.is-collapsed .task-counter{min-width:28px}.swimlane-column-header:before{content:"";background:var(--column-accent);border-radius:5px 0 0 5px;width:4px;position:absolute;inset:0 auto 0 0}.swimlane-row-header{z-index:2;box-sizing:border-box;align-items:center;gap:12px;width:fit-content;padding:5px 16px 5px 0;display:flex;position:sticky;left:0}.swimlane-row-header-main{display:contents}.swimlane-row-title{word-break:break-word;font-size:15px;font-weight:700}.swimlane-row-meta{flex-wrap:wrap;gap:8px;margin-top:0;display:flex}.swimlane-row-badge{background:var(--surface);min-height:26px;color:var(--text);border:1px solid var(--border);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.swimlane-row-badge.is-muted{color:var(--text-muted)}.swimlane-row-toggle{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.swimlane-row-toggle:hover{border-color:var(--border);background:var(--surface-muted)}.swimlane-row{flex-direction:column;gap:10px;display:flex}.swimlane-row.is-collapsed .swimlane-row-cells{display:none}.swimlane-cell{--column-accent:#3b82f6;--column-accent-hover:color-mix(in srgb, var(--column-accent) 80%, #000);--column-bg-tint:color-mix(in srgb, var(--column-accent) 8%, transparent);--task-bg-tint:color-mix(in srgb, var(--column-accent) 7%, transparent);--task-border-tint:color-mix(in srgb, var(--column-accent) 22%, transparent);--task-hover-border-tint:color-mix(in srgb, var(--column-accent) 45%, transparent);--task-hover-shadow:color-mix(in srgb, var(--column-accent) 18%, transparent);background:color-mix(in srgb, var(--surface) 96%, var(--surface-muted));flex-direction:column;min-height:100%;padding:12px;display:flex;overflow:visible}.swimlane-cell.is-column-collapsed{justify-content:center;align-items:center;padding:8px 6px;display:flex}.swimlane-cell.is-column-collapsed .swimlane-cell-summary{text-align:center;writing-mode:vertical-rl;margin:0;font-size:11px;transform:rotate(180deg)}.swimlane-cell-summary{color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:700}.swimlane-tasks{background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:16px;width:100%;min-height:116px;padding:4px 2px;display:grid;overflow:visible}.swimlane-tasks-hidden-done{min-height:68px;padding:2px 0}.swimlane-cell .task{outline:none;width:100%;margin:0}.swimlane-cell.is-column-collapsed .swimlane-tasks{display:none}.swimlane-cell-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.swimlane-cell.is-cell-collapsed .swimlane-cell-header{margin-bottom:0}.swimlane-cell-toggle{border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.swimlane-cell-toggle:hover{background:var(--surface-muted);color:var(--text)}.swimlane-cell-toggle svg{width:14px;height:14px}.swimlane-cell.is-cell-collapsed{min-height:auto}.swimlane-cell.is-cell-collapsed .swimlane-tasks{display:none}.swimlane-cell-header .swimlane-cell-summary{color:var(--text-muted);margin-bottom:0;font-size:12px;font-weight:600}.swimlane-cell-add-btn{border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.swimlane-cell-add-btn:hover{background:var(--surface-muted);color:var(--column-accent)}.swimlane-cell-add-btn svg{width:14px;height:14px}.task{box-sizing:border-box;background-color:color-mix(in srgb, var(--surface-muted), var(--task-bg-tint) 100%);border:1px solid color-mix(in srgb, var(--border-subtle), var(--task-border-tint) 100%);padding:12px;cursor:grab;width:100%;max-width:100%;min-height:84px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;flex:none;gap:8px;padding-left:16px;display:flex;position:relative;overflow:hidden}@media (width>=601px){body{height:100dvh;overflow:hidden}}.task:before{content:"";background:var(--column-accent);opacity:.9;width:2px;position:absolute;inset:0 auto 0 0}.task:hover{border-color:var(--task-hover-border-tint);box-shadow:0 8px 16px var(--task-hover-shadow);transform:translateY(-2px)}.task:active{cursor:grabbing}.task-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.task-priority-header{cursor:pointer;-webkit-user-select:none;user-select:none}.task-title{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:color var(--transition-fast);flex:1;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden}.task-title:hover{color:var(--column-accent)}.task-description{color:var(--text-muted);cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-height:2.9em;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.task-description:hover{color:var(--text-subtle)}.task-description a{color:var(--accent,#4f8ef7);word-break:break-all;text-decoration:underline}.task-description a:hover{opacity:.8}.task-relationships-row{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.task-relationships-row [data-lucide]{flex-shrink:0;width:12px;height:12px}.task-footer{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.task-footer-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-change-date,.task-age,.task-date{white-space:nowrap}.task-date.countdown-urgent{color:var(--color-danger);font-weight:600}.task-date.countdown-warning{color:var(--color-warning);font-weight:600}.task-date.countdown-normal,.task-date.countdown-none{color:var(--text-muted)}.task-priority,.notification-banner-item .priority-badge,.notification-item-priority{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;font-size:10px;font-weight:700}.task-priority{padding:3px 8px}.notification-banner-item .priority-badge,.notification-item-priority{padding:2px 6px}.priority-high{background-color:var(--priority-high-bg);color:var(--priority-high-fg)}.priority-urgent{background-color:var(--priority-urgent-bg);color:var(--priority-urgent-fg)}.priority-medium{background-color:var(--priority-medium-bg);color:var(--priority-medium-fg)}.priority-low{background-color:var(--priority-low-bg);color:var(--priority-low-fg)}.priority-none{background-color:var(--priority-none-bg);color:var(--priority-none-fg)}.task-text{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.4;overflow:hidden}.task-text:hover{color:var(--column-accent)}.task-subtasks-row{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.subtasks-donut{flex-shrink:0}.subtasks-donut-bg{fill:none;stroke:var(--color-border);stroke-width:2.5px}.subtasks-donut-fill{fill:none;stroke:var(--color-primary,#3b82f6);stroke-width:2.5px;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .3s;transform:rotate(-90deg)}.subtasks-donut-fill.subtasks-donut-complete{stroke:var(--color-success,#22c55e)}fieldset.form-group{border:none;min-width:0;margin:0 0 16px;padding:0}fieldset.form-group legend{color:var(--text-subtle);margin-bottom:6px;padding:0;font-size:14px;font-weight:500;display:block}.form-group{margin-bottom:16px}.form-group label{color:var(--text-subtle);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{border:1px solid var(--border);box-sizing:border-box;background-color:var(--input-bg);width:100%;color:var(--text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:60px}.description-links{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.description-link-chip{background:var(--input-focus-ring,#4f8ef71f);max-width:100%;color:var(--color-primary,#4f8ef7);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px;text-decoration:none;display:inline-block;overflow:hidden}.description-link-chip:hover{opacity:.85;text-decoration:underline}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.color-picker-row{align-items:stretch;gap:8px;display:flex}.color-picker-row input[type=color]{flex:1;width:auto;min-width:0}.color-hex-display{color:var(--text-secondary);border:1px solid var(--border);background-color:var(--input-bg);text-align:center;border-radius:6px;flex:0 0 6em;width:6em;padding:0 6px;font-family:monospace;font-size:.85rem}.color-hex-display:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring);color:var(--text);outline:none}.color-hex-display.invalid{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444426}.form-group input[type=color]{border:1px solid var(--border);cursor:pointer;background-color:var(--input-bg);border-radius:6px;width:100%;height:40px;padding:4px}.form-group input[type=color]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.form-group.error input[type=text],.form-group.error textarea{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.form-group.error label{color:var(--color-danger)}.form-group.error-message{color:var(--color-danger);margin-top:4px;font-size:12px;display:none}.form-group.error .error-message{display:block}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}#boards-modal .form-actions{justify-content:flex-start}.modal{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#dialog-modal{z-index:2000}.modal.hidden{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;position:absolute;inset:0}.modal-content{background:var(--surface);border-radius:12px;width:90%;max-width:480px;max-height:90vh;padding:24px 24px 0;animation:.2s ease-out modal-appear;position:relative;overflow:hidden auto;box-shadow:0 20px 40px #0003}.modal-content .form-actions{z-index:1;background:var(--surface);border-top:1px solid var(--border);margin-top:20px;padding-top:16px;padding-bottom:24px;position:sticky;bottom:0}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-content h3{color:var(--text);margin:0 0 20px;font-size:18px;font-weight:600}.modal-header-row{justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;display:flex}.modal-header-row h3{margin:0}.modal-header-actions{align-items:center;gap:8px;display:inline-flex}#task-modal.fullscreen .modal-content{border-radius:0;flex-direction:column;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px 16px 0;display:flex;overflow:hidden auto}.modal-large .modal-content{max-width:600px}@media (width>=768px){#task-modal .modal-content{max-width:850px}}.task-form-columns{flex-direction:column;gap:0;display:flex}@media (width>=768px){.task-form-columns{flex-direction:row;align-items:flex-start;gap:24px}.task-form-column-left{flex:1;min-width:0}.task-form-column-right{flex:0 0 320px;min-width:320px}}.help-content{color:var(--text);font-size:14px;line-height:1.6}.help-content h4{color:var(--text);border-bottom:2px solid var(--color-primary);margin:20px 0 10px;padding-bottom:6px;font-size:15px;font-weight:600}.help-content h4:first-child{margin-top:0}.help-content p{margin:8px 0}.help-content ul{margin:8px 0;padding-left:20px}.help-content li{margin:6px 0}.accordion{margin-bottom:4px}.accordion-header{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;width:100%;color:var(--text-muted);border:none;border-bottom:1px solid var(--border);transition:color var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:8px;font-size:11px;font-weight:700;display:flex}.accordion-header:hover{color:var(--text)}.accordion-header svg{flex-shrink:0;width:14px;height:14px}.accordion-title{text-align:left;flex:1}.accordion-count{color:var(--text-muted);background:var(--surface-muted);text-align:center;border-radius:10px;min-width:20px;padding:1px 7px;font-size:10px;font-weight:600}.accordion-body{padding:4px 0}.accordion-body.collapsed{display:none}.task-labels{flex-wrap:wrap;gap:4px;display:flex}.task-label{border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.label-item{background-color:var(--surface-muted);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:flex}.board-name-wrap{align-items:center;gap:8px;display:flex}.board-active-badge{background-color:var(--color-primary)}.label-item.keyboard-focused{outline:2px solid var(--color-primary);outline-offset:-2px}.label-name{color:var(--text-subtle);flex:1;font-size:14px}.label-actions{gap:4px;display:flex}.label-checkbox{background-color:var(--surface-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast);border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;display:flex}.label-checkbox:hover{background-color:var(--btn-small-hover-bg)}.label-checkbox.label-highlight{background-color:var(--btn-small-hover-bg);outline:2px solid var(--color-primary);outline-offset:-2px}.label-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.label-checkbox input[type=checkbox]:checked+.label-color-swatch,.label-checkbox input[type=checkbox]:checked+.task-label{outline:2px solid var(--color-primary);outline-offset:2px}.active-labels{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-bottom:8px;padding:4px 0;display:flex}.active-labels .task-label{flex-shrink:0}.active-label-remove{color:#fff;cursor:pointer;width:16px;height:16px;transition:background-color var(--transition-fast);background:#ffffff40;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.active-label-remove:hover{background:#fff6}.task-label-search-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.task-label-search-row input[type=text]{flex:1;margin-bottom:0}#task-add-label-btn{opacity:.75}#task-add-label-btn:hover{opacity:1;background-color:#3b82f61f}#task-add-label-btn:focus-visible{opacity:1;outline:2px solid var(--color-primary);outline-offset:2px;background-color:#3b82f629}.checkbox-group label{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-group input[type=checkbox]{width:16px;height:16px}.labels-empty{color:var(--text-muted);text-align:center;padding:8px;font-size:13px}.labels-empty-button{width:100%;color:var(--text-muted);text-align:center;cursor:pointer;background-color:#0000;border:none;padding:8px;font-size:13px;transition:all .15s}.labels-empty-button:hover{color:var(--color-primary);background-color:var(--input-focus-ring);border-radius:6px}.labels-empty-button.label-highlight{color:var(--color-primary);background-color:var(--input-focus-ring);outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:6px}.labels-empty-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:6px}.label-group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);margin-top:4px;padding:10px 8px 4px;font-size:11px;font-weight:700}.label-group-header-picker{margin-top:2px;padding:8px 8px 2px;font-size:10px}#labels-list{overflow-y:auto}#task-labels-selection{background-color:var(--surface-muted);border-radius:6px;max-height:150px;margin-bottom:16px;padding:8px;overflow-y:auto}#task-relationships-fieldset legend{align-items:center;gap:5px;display:flex}#task-relationships-fieldset legend [data-lucide]{width:14px;height:14px}.active-relationships{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-bottom:8px;padding:4px 0;display:flex}.relationship-badge{border-radius:12px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.relationship-badge--prerequisite{color:#b91c1c;background:#ef44441f;border:1px solid #ef444440}.relationship-badge--dependent{color:#92400e;background:#eab3081f;border:1px solid #eab3084d}.relationship-badge--related{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f640}.relationship-badge__type{opacity:.8;text-transform:uppercase;letter-spacing:.03em;font-size:11px}.relationship-badge__id{cursor:pointer;color:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.relationship-badge__id:hover{opacity:.75}.relationship-badge__remove{cursor:pointer;width:14px;height:14px;color:inherit;transition:background-color var(--transition-fast);background:#00000014;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:inline-flex}.relationship-badge__remove:hover{background:#0000002e}.task-relationship-add-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.rel-type-wrapper{flex-shrink:0;position:relative}.rel-type-wrapper select{width:auto;margin-bottom:0;padding:4px 8px;font-size:13px}.rel-type-tooltip{z-index:200;background:var(--surface-raised,var(--surface));color:var(--text);border:1px solid var(--border);white-space:normal;pointer-events:none;opacity:0;visibility:hidden;border-radius:6px;max-width:280px;padding:6px 10px;font-size:12px;line-height:1.4;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 12px #00000026}.rel-type-wrapper:hover .rel-type-tooltip,.rel-type-wrapper:focus-within .rel-type-tooltip{opacity:1;visibility:visible}.task-relationship-add-row input[type=text]{flex:1;margin-bottom:0}.relationship-results{background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:200px;margin-bottom:8px;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.relationship-result-item{cursor:pointer;text-align:left;width:100%;color:var(--text-subtle);transition:background-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.relationship-result-item:hover{background:var(--surface-muted)}.relationship-result-item--linked{opacity:.8}.relationship-result-item__id{color:var(--color-primary);flex-shrink:0;font-size:12px;font-weight:600}.relationship-result-item__title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.relationship-result-item__current-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:11px}.relationship-results__empty{color:var(--text-muted);text-align:center;padding:10px;font-size:13px}:root[data-theme=dark] .relationship-badge--prerequisite{color:#fca5a5;background:#ef44442e;border-color:#ef44444d}:root[data-theme=dark] .relationship-badge--dependent{color:#fde68a;background:#eab30826;border-color:#eab3084d}:root[data-theme=dark] .relationship-badge--related{color:#93c5fd;background:#3b82f62e;border-color:#3b82f64d}:root[data-theme=dark] .relationship-badge__remove{background:#ffffff1a}:root[data-theme=dark] .relationship-badge__remove:hover{background:#fff3}.subtasks-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.subtask-item{background:var(--color-bg-secondary,#f8fafc);border-radius:4px;align-items:center;gap:6px;min-width:0;padding:4px 6px;display:flex;overflow:hidden}.subtask-drag-handle{cursor:grab;color:var(--color-text-muted);flex-shrink:0;align-items:center;display:flex}.subtask-drag-handle:active{cursor:grabbing}.subtask-item input[type=checkbox]{cursor:pointer;flex-shrink:0}.subtask-title{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.775rem;overflow:hidden}.subtask-item.subtask-completed .subtask-title{color:var(--color-text-muted);text-decoration:line-through}.subtask-delete-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;display:flex}.subtask-delete-btn:hover{color:var(--color-danger,#ef4444);background:#ef44441a}.subtask-inline-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:3px;flex:1;padding:1px 4px;font-size:.875rem}.task-subtask-add-row{margin-top:6px}.task-subtask-add-row input{box-sizing:border-box;width:100%}.subtasks-progress-legend{color:var(--color-text-muted);margin-left:8px;font-size:.75rem;font-weight:400}:root[data-theme=dark] .subtask-item{background:var(--color-bg-secondary,#ffffff0d)}.notification-banner{background-color:#ef44441a;border:1px solid #ef44444d;border-radius:8px;flex-direction:column;min-height:40px;max-height:150px;margin:0 10px 10px;padding:12px 16px;animation:.3s ease-out banner-appear;display:flex;overflow:hidden}.notification-banner.hidden{display:none}@keyframes banner-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-banner-content{flex:auto;align-items:flex-start;gap:12px;min-width:0;min-height:0;display:flex;overflow:hidden}.notification-banner-icon{color:var(--color-danger);flex-shrink:0;padding-top:4px}.notification-banner-icon svg{stroke-width:2px;width:20px;height:20px}.notification-banner-list{box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:auto;align-items:flex-start;gap:8px;min-width:0;min-height:0;padding:2px 2px 3px;display:flex;overflow:hidden auto}.notification-banner-close-btn{opacity:.65;flex-shrink:0;align-self:flex-start;margin-left:8px}.notification-banner-close-btn:hover{opacity:1;background-color:var(--surface-muted)}@media (width<=600px){.notification-banner-close-btn{padding:6px}}@media (width>=601px){.notification-banner{max-height:180px}.notification-banner-list{touch-action:pan-x;flex-flow:row;align-items:center;padding-bottom:10px;overflow:auto hidden}}.notification-banner-list::-webkit-scrollbar{width:6px}.notification-banner-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.notification-banner-list::-webkit-scrollbar-thumb{background:#ef444466;border-radius:3px}.notification-banner-list::-webkit-scrollbar-thumb:hover{background:#ef444499}.notification-banner-item{background-color:var(--surface);border:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:3px;flex:none;align-self:flex-start;align-items:center;gap:8px;min-width:0;max-width:100%;padding:6px 12px;font-size:12px;display:inline-flex;overflow:hidden}.notification-banner-item:hover{background-color:var(--surface-muted);border-color:var(--color-danger)}.notification-banner-item .task-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:15ch;max-width:260px;font-weight:600;overflow:hidden}.notification-banner-item .due-date{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;min-width:16ch;max-width:260px;font-size:12px;overflow:hidden}.notification-banner-item .due-date.overdue{color:var(--color-danger);font-weight:600}.notification-banner-item .due-date.due-soon{color:var(--color-warning)}.notification-banner-item .priority-badge{flex-shrink:0}.notification-banner-item.notification-more{color:var(--text-muted);max-width:500px;font-style:italic}.notification-badge{background-color:var(--color-danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.notification-badge.hidden{display:none}#notifications-quick-btn{position:relative}#notification-quick-badge{margin-left:0;position:absolute;top:-6px;right:-6px}.notifications-list{margin-bottom:16px;overflow-y:auto}.notifications-controls{border:1px solid var(--border-subtle);background:var(--surface-muted);border-radius:10px;margin:0 0 12px;padding:10px 12px}.notification-item{background-color:var(--surface-muted);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.notification-item:hover{background-color:var(--color-danger-bg);transform:translate(4px)}.notification-item:last-child{margin-bottom:0}.notification-item-content{flex:1;min-width:0}.notification-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:600;overflow:hidden}.notification-item-meta{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.notification-item-meta .overdue{color:var(--color-danger);font-weight:600}.notification-item-meta .due-soon{color:var(--color-warning);font-weight:600}.notification-item-arrow{color:var(--text-muted);flex-shrink:0}.notification-item-arrow svg{stroke-width:2px;width:16px;height:16px}.notifications-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}@media (width<=600px){.notification-banner{max-height:120px;margin:0 8px 8px;padding:10px 12px}.notification-banner-list{flex:auto;min-height:0;max-height:100%;overflow-y:auto}.notification-banner-item{box-sizing:border-box;flex-shrink:0;width:100%}.notification-banner-item .task-title{flex:1;min-width:0;max-width:none}.notification-banner-item .due-date{text-overflow:ellipsis;max-width:none;font-size:11px;overflow:hidden}}.task-ghost{opacity:.4;background-color:var(--primary-light)}.task-chosen{box-shadow:0 8px 24px #0003}.task-drag{opacity:1}.task-fallback{opacity:.9;cursor:grabbing;transform:rotate(2deg);box-shadow:0 12px 32px #0000004d}.column-ghost{opacity:.4}.column-chosen{box-shadow:0 8px 32px #00000040}.column-drag{opacity:1}body.dragging .task-column{background-color:#3b82f60a;overflow:visible}body.dragging .tasks{min-height:100px;pointer-events:auto!important}body.dragging .task-column.is-collapsed .tasks{min-height:48px;padding:4px 0;display:flex}body.dragging .task-column.is-collapsed .tasks .task,body.dragging .task-column.is-collapsed .tasks .show-more-btn{display:none}.task-column.is-collapsed.is-drop-hover{border-style:dashed;border-width:3px;border-color:color-mix(in srgb, var(--column-accent) 80%, var(--border) 20%);background-color:color-mix(in srgb, var(--surface) 90%, var(--column-accent) 10%);box-shadow:0 0 0 3px color-mix(in srgb, var(--column-accent) 25%, transparent), 0 12px 26px #0000002e;transition:border-color .12s ease-out,background-color .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out;transform:translateY(-1px)}body.dragging .swimlane-cell.is-column-collapsed{position:relative}body.dragging .swimlane-cell.is-column-collapsed .swimlane-tasks{min-height:unset;opacity:0;z-index:1;padding:0;display:block;position:absolute;inset:0}body.dragging .swimlane-cell.is-column-collapsed .swimlane-tasks .task{display:none}.swimlane-cell.is-column-collapsed.is-drop-hover{outline:2px dashed color-mix(in srgb, var(--column-accent) 80%, var(--border) 20%);outline-offset:-2px;background-color:color-mix(in srgb, var(--surface) 88%, var(--column-accent) 12%);transition:outline-color .12s ease-out,background-color .12s ease-out}body.dragging-column #board-container{cursor:grabbing;-webkit-user-select:none;user-select:none}[data-dragging=true],#dragged-task{opacity:.3}#dragged-column{opacity:.4}.placeholder,.sortable-ghost{background-color:var(--border);background-color:color-mix(in srgb, var(--column-accent) 35%, var(--border) 65%);opacity:.95;border:none;border-radius:999px;width:100%;height:10px;min-height:10px;margin:4px 0;list-style:none}.column-placeholder{background-color:color-mix(in srgb, var(--color-primary) 35%, var(--border) 65%);opacity:.95;pointer-events:none;border:none;border-radius:999px;flex:0 0 10px;align-self:stretch;width:10px;min-width:10px;margin:10px 6px}body.reports-page{flex-direction:column;height:100dvh;padding:0;display:flex;overflow:hidden}body.reports-page .rpt-header{border-bottom:1px solid var(--border-subtle);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}body.reports-page .rpt-header-left{align-items:center;gap:10px;min-width:0;display:inline-flex}body.reports-page .rpt-logo{width:22px;height:22px;color:var(--color-primary);stroke-width:2.5px;flex:none}body.reports-page .rpt-header-titles{flex-direction:column;gap:2px;min-width:0;display:flex}body.reports-page .rpt-title{color:var(--text);margin:0;font-size:16px;font-weight:800;line-height:1.1}body.reports-page .rpt-subtitle{color:var(--text-muted);font-size:12px;line-height:1.1}body.reports-page .rpt-header-right{flex:none;align-items:center;gap:10px;display:inline-flex}body.reports-page .rpt-link{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}body.reports-page .rpt-link:hover{background:var(--btn-secondary-bg)}body.reports-page .rpt-badge{background:var(--color-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:inline-flex}body.reports-page .rpt-main{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:10px;display:flex;overflow:auto}body.reports-page .reports-kpis{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;min-height:520px;padding:10px;display:flex;overflow:hidden}body.reports-page .rpt-card-header{border-bottom:1px solid var(--border-subtle);flex:none;justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-bottom:8px;padding-bottom:8px;display:flex}body.reports-page .rpt-card-title{color:var(--text);margin:0;font-size:13px;font-weight:800;line-height:1.15}body.reports-page .rpt-card-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px;line-height:1.3}body.reports-page .rpt-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}body.reports-page .rpt-control{color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}body.reports-page .rpt-control-label{display:none}body.reports-page .rpt-select{background-color:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12px}body.reports-page .rpt-kpi-grid{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}body.reports-page .rpt-kpi{border:1px solid var(--border-subtle);background:var(--surface-muted);border-radius:10px;min-width:0;padding:8px}body.reports-page .rpt-kpi-label{color:var(--text-muted);margin-bottom:4px;font-size:11px;line-height:1.1}body.reports-page .rpt-kpi-value{color:var(--text);font-size:18px;font-weight:900;line-height:1}body.reports-page .rpt-spark{flex-direction:column;flex:auto;gap:6px;min-height:0;padding-top:8px;display:flex}body.reports-page .rpt-spark-title{color:var(--text-muted);font-size:11px;line-height:1.1}body.reports-page .rpt-chart,body.reports-page #reports-leadtime-chart,body.reports-page #reports-chart,body.reports-page #reports-cfd-chart,body.reports-page #reports-completed-spark{flex:auto;width:100%;min-height:0}@media (width<=900px){body.reports-page .rpt-main{scroll-snap-type:x mandatory;flex-direction:row;padding-bottom:12px;overflow:auto hidden}body.reports-page .reports-kpis{scroll-snap-align:center;min-width:85vw;max-width:85vw;height:100%;min-height:0;margin:0 8px;overflow:auto}}body.calendar-page .rpt-main{overflow:auto}@media (width<=900px){body.calendar-page .rpt-main{scroll-snap-type:none;flex-direction:column;padding-bottom:10px;overflow:hidden auto}body.calendar-page .reports-kpis{scroll-snap-align:unset;min-width:0;max-width:none;height:auto;margin:0;overflow:hidden}}body.calendar-page .rpt-due-month{color:var(--text);white-space:nowrap;font-size:12px;font-weight:800}body.calendar-page .rpt-due-wrap{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}body.calendar-page .rpt-due-calendar{flex:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}body.calendar-page .rpt-due-dow{color:var(--text-muted);text-align:center;padding:2px 0;font-size:11px;font-weight:700}body.calendar-page .rpt-due-day{border:1px solid var(--border-subtle);background:var(--surface-muted);color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:4px;min-height:44px;padding:6px;display:flex}body.calendar-page .rpt-due-day:hover{border-color:var(--border)}body.calendar-page .rpt-due-day[aria-pressed=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring)}body.calendar-page .rpt-due-day.is-outside{opacity:.5}body.calendar-page .rpt-due-day.is-today{border-style:dashed}body.calendar-page .rpt-due-num{color:var(--text);font-size:11px;font-weight:800}body.calendar-page .rpt-due-count{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-radius:999px;align-self:flex-end;padding:2px 8px;font-size:12px;font-weight:900;line-height:1.2}body.calendar-page .rpt-due-count.is-overdue{background:var(--color-danger-bg);color:var(--color-danger)}body.calendar-page .rpt-due-list{border:1px solid var(--border-subtle);background:var(--surface-muted);border-radius:10px;flex:auto;min-height:0;padding:8px;overflow:auto}body.calendar-page .rpt-due-list-title{color:var(--text);margin:0 0 6px;font-size:12px;font-weight:900}body.calendar-page .rpt-due-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}body.calendar-page .rpt-due-item{border:1px solid var(--border-subtle);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px;font-size:12px}body.calendar-page .rpt-due-item.is-overdue{border-color:var(--color-danger)}body.calendar-page .rpt-due-tasklink{color:inherit;font-weight:700;text-decoration:none;display:block}body.calendar-page .rpt-due-tasklink.is-overdue{color:var(--color-danger)}body.calendar-page .rpt-due-tasklink:hover{text-decoration:underline}body.calendar-page .rpt-due-tasklink:focus{outline:none}body.calendar-page .rpt-due-tasklink:focus-visible{box-shadow:0 0 0 3px var(--input-focus-ring);border-radius:6px}body.calendar-page .rpt-due-empty{color:var(--text-muted);padding:6px 0;font-size:12px}@media (orientation:landscape) and (height<=500px){body.reports-page .rpt-header{padding:4px 12px}body.reports-page .rpt-main{gap:6px;padding:6px}body.reports-page .reports-kpis{min-height:320px}body.reports-page .rpt-kpi-grid{gap:4px}body.reports-page .rpt-kpi{padding:6px}body.calendar-page .rpt-due-day{min-height:36px;padding:4px}body.calendar-page .rpt-due-calendar{gap:3px}}.user-info{background:var(--surface-alt);border:1px solid var(--border);border-radius:20px;align-items:center;gap:12px;padding:4px 12px;display:flex}.user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:13px;font-weight:500;overflow:hidden}.login-tabs{border-bottom:1px solid var(--border);gap:16px;margin-bottom:20px;display:flex}.login-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px;font-weight:500;position:relative}.login-tab.active{color:var(--color-primary)}.login-tab.active:after{content:"";background:var(--color-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.login-pane.hidden{display:none}.auth-message{background:var(--surface-alt);border-radius:4px;margin:12px 0;padding:8px;font-size:13px}.auth-message.hidden{display:none}.social-providers{flex-direction:column;gap:12px;margin-top:16px;display:flex}.login-provider-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:10px;font-weight:500;transition:background .2s;display:flex}.login-provider-btn:hover{background:var(--surface-alt)}#sync-btn.spinning svg{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-text{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;text-decoration:underline}.btn-text:hover{opacity:.8}@media (width<=768px){.controls-actions .control-select{width:100%;max-width:100%;min-height:44px;padding:10px 12px;font-size:16px}}@media (width<=600px){body{height:100dvh;min-height:100dvh;overflow:hidden}.controls{flex-wrap:nowrap;grid-template-rows:auto auto;grid-template-columns:1fr auto auto;gap:8px;padding:8px;display:grid}.brand{grid-area:1/1;margin-right:0;font-size:16px;overflow:hidden}.brand-text{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}#notifications-quick-btn{grid-area:1/2;margin-left:auto}#desktop-menu-btn{grid-area:1/3}.board-search{flex:none;grid-area:2/1/auto/-1}.container,.board-container{scroll-snap-type:x mandatory;flex-direction:row;flex:auto;min-height:0;padding-bottom:12px;overflow-x:auto}.board-container-swimlanes{display:block}.swimlane-grid-header,.swimlane-row{gap:10px}.swimlane-board{gap:10px;padding:10px}.footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}body.dragging .board-container,body.dragging .container{scroll-snap-type:none}body.dragging .task-column{scroll-snap-align:unset}.task-column{scroll-snap-align:center;flex-direction:column;flex:none;min-width:85vw;max-width:85vw;height:calc(100dvh - 180px);min-height:0;margin:0 8px;display:flex}.tasks{flex:auto;min-height:0;overflow-y:auto;max-height:none!important}.modal-content{border-radius:0;flex-direction:column;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px 16px 0;display:flex;overflow:hidden auto}.modal-content form,#labels-list{max-height:none!important}.form-actions{padding-bottom:24px}#task-labels-selection{overflow-y:auto;max-height:150px!important}}@media (width<=920px) and (orientation:landscape) and (height<=500px){.controls{gap:6px;padding:4px 8px}.board-search{grid-area:1/1;max-width:220px}.brand{font-size:14px}.task-column{height:calc(100dvh - 100px)}.footer{padding:6px 16px;font-size:11px;line-height:1}.notification-banner{max-height:80px;margin:0 8px 4px;padding:6px 10px}.modal-content{max-height:100dvh}.form-group{margin-bottom:10px}.form-actions{padding-bottom:12px}}
