:root{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: #ffffff;--surface-muted: #f9fafb;--border: #d1d5db;--border-subtle: #e5e7eb;--text: #111827;--text-muted: #6b7280;--text-subtle: #374151;--input-bg: #ffffff;--input-focus-ring: rgba(59, 130, 246, .2);--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: rgba(239, 68, 68, .15);--priority-high-fg: #ef4444;--priority-urgent-bg: rgba(239, 68, 68, .25);--priority-urgent-fg: #dc2626;--priority-medium-bg: rgba(234, 179, 8, .15);--priority-medium-fg: #ca8a04;--priority-low-bg: rgba(107, 114, 128, .15);--priority-low-fg: #92a1b8;--priority-none-bg: rgba(107, 114, 128, .08);--priority-none-fg: #6b7280;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 18px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .2s ease}:root[data-theme=dark]{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: rgba(220, 38, 38, .15);--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{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:10px;background-color:var(--app-bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.controls{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px;margin-bottom:10px;position:relative}.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:18px;color:var(--text);margin-right:auto}.board-search{flex:1 1 320px;display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--input-bg);border:1px solid var(--border);border-radius:8px}.board-search svg{width:16px;height:16px;stroke:var(--text-muted);stroke-width:2}.board-search input{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--text);font-size:14px;font-family:inherit}.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.5}.brand-logo{display:block;width:32px;height:auto;flex:0 0 auto}.settings-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.settings-section-header h4{margin:0 0 6px;font-size:16px}.settings-section-header .form-help{display:block;margin-bottom:14px}.controls-actions{display:none;position:absolute;top:100%;right:10px;flex-direction:column;background:var(--surface);padding:8px;border:1px solid var(--border);box-shadow:0 4px 12px #00000026;border-radius:8px;z-index:200;min-width:220px;gap:4px;animation:menu-appear .15s ease-out}.controls-actions.show{display:flex}.controls-actions .control-btn{width:100%;justify-content:flex-start;background:none;color:var(--text);padding:10px 12px}.controls-actions .control-btn:hover{background-color:var(--surface-muted)}.swimlane-toggle-label{display:flex;align-items:center;cursor:pointer;gap:8px;border-bottom:1px solid var(--border);padding-bottom:10px!important;margin-bottom:2px}.swimlane-toggle-label .toggle-switch{appearance:none;-webkit-appearance:none;width:36px;height:20px;background:#adb5bd;border-radius:10px;position:relative;margin-left:auto;cursor:pointer;transition:background .2s;flex-shrink:0}.swimlane-toggle-label .toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--surface);border-radius:50%;transition:transform .2s}.swimlane-toggle-label .toggle-switch:checked{background:#2ecc71}.swimlane-toggle-label .toggle-switch:checked:after{transform:translate(16px)}.swimlane-order-list{list-style:none;padding:0;margin:4px 0 0}.swimlane-order-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:4px;font-size:14px;-webkit-user-select:none;user-select:none}.swimlane-order-handle{color:var(--text-muted);cursor:grab;flex-shrink:0}.swimlane-order-item .lane-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.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{padding:8px 12px;background-color:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:5px;font-size:14px;font-family:inherit;cursor:pointer;max-width:220px}.control-select:focus{outline:none;box-shadow:0 0 0 3px var(--input-focus-ring)}#desktop-menu-btn{display:flex}.board-container,.container{display:flex;gap:.5rem;flex:1 1 auto;align-items:stretch;overflow-x:auto;overflow-y:hidden;min-height:0}.footer{margin-top:auto;padding:16px;background-color:var(--footer-bg);border-top:1px solid var(--border-subtle);text-align:center;font-size:13px;color:var(--text-muted);line-height:.9}.footer p{margin:0}.footer-version{margin-left:10px;opacity:.85;font-size:12px;white-space:nowrap}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;transition:background-color var(--transition-normal),transform var(--transition-fast)}.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{padding:6px 12px;border:none;border-radius:3px;font-size:12px;cursor:pointer;background-color:var(--btn-small-bg);color:var(--btn-secondary-fg);transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:4px}.btn-small:hover{background-color:var(--btn-small-hover-bg)}.btn-small svg{width:14px;height:14px;stroke:currentColor;stroke-width:2}.btn-danger{color:var(--color-danger)}.btn-danger:hover{background-color:var(--color-danger-bg)}.control-btn{padding:8px 16px;background-color:var(--color-primary);color:#fff;border:none;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:14px;transition:background-color var(--transition-normal)}.control-btn:hover{background-color:var(--color-primary-hover)}.control-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2}.show-more-btn{width:100%;padding:12px 16px;margin-top:8px;background-color:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;font-size:14px;font-family:inherit;transition:all var(--transition-normal);text-align:center}.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{background:none;border:none;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;opacity:.6;transition:opacity var(--transition-normal),background-color var(--transition-normal)}.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{width:16px;height:16px;stroke-width:2}.task-column.is-collapsed{flex:0 0 40px;width:40px;min-width:40px;padding:8px 2px;margin:10px 4px}.task-column.is-collapsed .column-header{flex-direction:column;gap:8px;margin-bottom:0;padding-bottom:0;border-bottom:none}.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;transform:rotate(180deg);font-size:12px;font-weight:600;text-align:center;flex:0 0 auto}.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%, #000000);--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);position:relative;overflow:hidden;border:1px solid var(--border);border-radius:8px;margin:10px;padding:12px;flex:1;min-width:280px;background-color:var(--surface);display:flex;flex-direction:column;min-height:0;transition:border-color var(--transition-normal),background-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.task-column:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--column-accent);opacity:.9}.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{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);cursor:grab;-webkit-user-select:none;user-select:none}.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{margin:0;flex:1;font-size:20px;font-weight:600;text-align:center}.task-counter{display:inline-flex;align-items:center;justify-content:center;background-color:var(--surface-muted);color:var(--text-muted);border-radius:50%;width:26px;height:26px;font-size:12px;font-weight:700;flex-shrink:0}.column-actions{display:flex;gap:4px;align-items:center}.column-menu-wrapper{position:relative;display:inline-flex}.column-menu{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:20}.column-menu.hidden{display:none}.column-menu-item{background:none;border:none;cursor:pointer;padding:6px 8px;display:flex;align-items:center;gap:6px;border-radius:6px;font-size:13px;color:var(--text);transition:background-color var(--transition-normal)}.column-menu-item:hover{background-color:var(--surface-muted)}.column-menu-item svg{width:16px;height:16px;stroke:var(--text);stroke-width:2}.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{justify-content:flex-start;flex-direction:row-reverse}.submenu-chevron{margin-right:2px;opacity:.6}.submenu-chevron svg{width:14px;height:14px}.column-submenu{position:absolute;top:0;right:100%;margin-right:4px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:100;min-width:120px}.column-submenu.hidden{display:none}@media(max-width:600px){.column-submenu{position:static;margin-left:0;margin-top:4px;box-shadow:none;border:none;background:var(--surface-muted);border-radius:6px;padding:4px}.column-submenu .column-menu-item{padding-left:16px;font-size:12px}}.tasks{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.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{display:block;overflow-x:auto;overflow-y:visible;padding-bottom:12px}.swimlane-board{display:flex;flex-direction:column;gap:16px;min-width:100%;width:100%;padding:12px 16px 16px;box-sizing:border-box}.swimlane-grid-header,.swimlane-row-cells{display:grid;grid-template-columns:var(--swimlane-grid-template, repeat(var(--swimlane-column-count, 3), minmax(280px, 1fr)));gap:16px;align-items:start}.swimlane-grid-header{position:sticky;top:0;z-index:5;padding-block:4px;margin-block:-4px 0;background:var(--app-bg)}.swimlane-column-header,.swimlane-cell{box-sizing:border-box;inline-size:100%;min-width:0;border:1px solid var(--border);border-radius:5px;background:var(--surface)}.swimlane-column-header{--column-accent: #3b82f6;position:relative;z-index:6;display:flex;align-items:center;gap:10px;padding:12px 14px;box-shadow:var(--shadow-sm)}.swimlane-column-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);flex:0 0 auto}.swimlane-column-collapse-btn:hover{background:var(--surface-muted)}.swimlane-column-header h2{margin:0;flex:1;font-size:18px}.swimlane-column-header.is-collapsed{align-items:center;justify-content:flex-start;gap:8px;padding:10px 8px}.swimlane-column-header.is-collapsed h2{flex:0 1 auto;font-size:12px;line-height:1.1;text-align:center;writing-mode:vertical-rl;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:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:5px 0 0 5px;background:var(--column-accent)}.swimlane-row-header{position:sticky;left:0;z-index:2;width:fit-content;display:flex;align-items:center;gap:12px;padding:5px 16px 5px 0;box-sizing:border-box}.swimlane-row-header-main{display:contents}.swimlane-row-title{font-size:15px;font-weight:700;word-break:break-word}.swimlane-row-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.swimlane-row-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;font-weight:700;border:1px solid var(--border)}.swimlane-row-badge.is-muted{color:var(--text-muted)}.swimlane-row-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text);flex:0 0 auto;cursor:pointer}.swimlane-row-toggle:hover{border-color:var(--border);background:var(--surface-muted)}.swimlane-row{display:flex;flex-direction:column;gap:10px}.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%, #000000);--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);display:flex;flex-direction:column;min-height:100%;padding:12px;background:color-mix(in srgb,var(--surface) 96%,var(--surface-muted));overflow:visible}.swimlane-cell.is-column-collapsed{display:flex;align-items:center;justify-content:center;padding:8px 6px}.swimlane-cell.is-column-collapsed .swimlane-cell-summary{margin:0;font-size:11px;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg)}.swimlane-cell-summary{margin-bottom:10px;font-size:12px;font-weight:700;color:var(--text-muted)}.swimlane-tasks{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:16px;min-height:116px;width:100%;padding:4px 2px;border:none;border-radius:0;background:transparent;overflow:visible}.swimlane-tasks-hidden-done{min-height:68px;padding:2px 0}.swimlane-cell .task{width:100%;margin:0;outline:none}.swimlane-cell.is-column-collapsed .swimlane-tasks{display:none}.swimlane-cell-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.swimlane-cell.is-cell-collapsed .swimlane-cell-header{margin-bottom:0}.swimlane-cell-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;flex:0 0 auto}.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{margin-bottom:0;font-size:12px;font-weight:600;color:var(--text-muted)}.swimlane-cell-add-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;flex:0 0 auto;margin-left:auto}.swimlane-cell-add-btn:hover{background:var(--surface-muted);color:var(--column-accent)}.swimlane-cell-add-btn svg{width:14px;height:14px}.task{position:relative;box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;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%);border-radius:8px;padding:12px 12px 12px 16px;cursor:grab;display:flex;flex-direction:column;gap:8px;flex:0 0 auto;min-height:84px;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}@media(min-width:601px){body{height:100dvh;overflow:hidden}}.task:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--column-accent);opacity:.9}.task:hover{transform:translateY(-2px);border-color:var(--task-hover-border-tint);box-shadow:0 8px 16px var(--task-hover-shadow)}.task:active{cursor:grabbing}.task-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.task-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.task-priority-header{cursor:pointer;-webkit-user-select:none;user-select:none}.task-title{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast)}.task-title:hover{color:var(--column-accent)}.task-description{font-size:13px;color:var(--text-muted);line-height:1.45;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:2.9em}.task-description:hover{color:var(--text-subtle)}.task-description a{color:var(--accent, #4f8ef7);text-decoration:underline;word-break:break-all}.task-description a:hover{opacity:.8}.task-relationships-row{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:12px;color:var(--text-muted);margin-top:4px}.task-relationships-row [data-lucide]{width:12px;height:12px;flex-shrink:0}.task-footer{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted)}.task-footer-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.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{border-radius:4px;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.03em;white-space:nowrap}.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{flex:1;min-width:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.task-text:hover{color:var(--column-accent)}.task-subtasks-row{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.subtasks-donut{flex-shrink:0}.subtasks-donut-bg{fill:none;stroke:var(--color-border);stroke-width:2.5}.subtasks-donut-fill{fill:none;stroke:var(--color-primary, #3b82f6);stroke-width:2.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .3s}.subtasks-donut-fill.subtasks-donut-complete{stroke:var(--color-success, #22c55e)}fieldset.form-group{border:none;padding:0;margin:0 0 16px;min-width:0}fieldset.form-group legend{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-subtle);padding:0}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-subtle)}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box;background-color:var(--input-bg);color:var(--text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group textarea{resize:vertical;min-height:60px}.description-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.description-link-chip{display:inline-block;max-width:100%;padding:2px 6px;border-radius:4px;background:var(--input-focus-ring, rgba(79, 142, 247, .12));color:var(--color-primary, #4f8ef7);font-size:12px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.description-link-chip:hover{text-decoration:underline;opacity:.85}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring)}.color-picker-row{display:flex;align-items:stretch;gap:8px}.color-picker-row input[type=color]{flex:1 1 0%;width:auto;min-width:0}.color-hex-display{font-family:monospace;font-size:.85rem;color:var(--text-secondary);width:6em;flex:0 0 6em;padding:0 6px;border:1px solid var(--border);border-radius:6px;background-color:var(--input-bg);text-align:center}.color-hex-display:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring);color:var(--text)}.color-hex-display.invalid{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444426}.form-group input[type=color]{width:100%;height:40px;padding:4px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background-color:var(--input-bg)}.form-group input[type=color]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus-ring)}.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{font-size:12px;color:var(--color-danger);margin-top:4px;display:none}.form-group.error .error-message{display:block}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}#boards-modal .form-actions{justify-content:flex-start}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}#dialog-modal{z-index:2000}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{position:relative;background:var(--surface);padding:24px 24px 0;border-radius:12px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 20px 40px #0003;animation:modal-appear .2s ease-out}.modal-content .form-actions{position:sticky;bottom:0;z-index:1;background:var(--surface);border-top:1px solid var(--border);margin-top:20px;padding-top:16px;padding-bottom:24px}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text)}.modal-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.modal-header-row h3{margin:0}.modal-header-actions{display:inline-flex;align-items:center;gap:8px}#task-modal.fullscreen .modal-content{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;display:flex;flex-direction:column;padding:16px 16px 0;margin:0;overflow-y:auto;overflow-x:hidden}.modal-large .modal-content{max-width:600px}@media(min-width:768px){#task-modal .modal-content{max-width:850px}}.task-form-columns{display:flex;flex-direction:column;gap:0}@media(min-width:768px){.task-form-columns{flex-direction:row;gap:24px;align-items:flex-start}.task-form-column-left{flex:1;min-width:0}.task-form-column-right{flex:0 0 320px;min-width:320px}}.help-content{font-size:14px;line-height:1.6;color:var(--text)}.help-content h4{margin:20px 0 10px;font-size:15px;font-weight:600;color:var(--text);border-bottom:2px solid var(--color-primary);padding-bottom:6px}.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{display:flex;align-items:center;gap:6px;width:100%;padding:8px;border:none;background:none;cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);transition:color var(--transition-fast)}.accordion-header:hover{color:var(--text)}.accordion-header svg{width:14px;height:14px;flex-shrink:0}.accordion-title{flex:1;text-align:left}.accordion-count{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--surface-muted);border-radius:10px;padding:1px 7px;min-width:20px;text-align:center}.accordion-body{padding:4px 0}.accordion-body.collapsed{display:none}.task-labels{display:flex;gap:4px;flex-wrap:wrap}.task-label{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.label-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;background-color:var(--surface-muted);border-radius:6px;margin-bottom:8px}.board-name-wrap{display:flex;align-items:center;gap:8px}.board-active-badge{background-color:var(--color-primary)}.label-name{flex:1;font-size:14px;color:var(--text-subtle)}.label-actions{display:flex;gap:4px}.label-checkbox{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:6px;background-color:var(--surface-muted);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.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{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;padding:4px 0;margin-bottom:8px}.active-labels .task-label{flex-shrink:0}.active-label-remove{border:none;background:#ffffff40;color:#fff;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font-size:12px;line-height:1;transition:background-color var(--transition-fast)}.active-label-remove:hover{background:#fff6}.task-label-search-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.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;background-color:#3b82f629;outline:2px solid var(--color-primary);outline-offset:2px}.checkbox-group label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.checkbox-group input[type=checkbox]{width:16px;height:16px}.labels-empty{padding:8px;font-size:13px;color:var(--text-muted);text-align:center}.labels-empty-button{width:100%;padding:8px;font-size:13px;color:var(--text-muted);text-align:center;background-color:transparent;border:none;cursor:pointer;transition:all .15s ease}.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{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 8px 4px;margin-top:4px;border-bottom:1px solid var(--border)}.label-group-header-picker{padding:8px 8px 2px;margin-top:2px;font-size:10px}#labels-list{overflow-y:auto}#task-labels-selection{max-height:150px;overflow-y:auto;padding:8px;background-color:var(--surface-muted);border-radius:6px;margin-bottom:16px}#task-relationships-fieldset legend{display:flex;align-items:center;gap:5px}#task-relationships-fieldset legend [data-lucide]{width:14px;height:14px}.active-relationships{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;padding:4px 0;margin-bottom:8px}.relationship-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:12px;font-size:12px;line-height:1.4;font-weight:500}.relationship-badge--prerequisite{background:#ef44441f;color:#b91c1c;border:1px solid rgba(239,68,68,.25)}.relationship-badge--dependent{background:#eab3081f;color:#92400e;border:1px solid rgba(234,179,8,.3)}.relationship-badge--related{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.25)}.relationship-badge__type{font-size:11px;opacity:.8;text-transform:uppercase;letter-spacing:.03em}.relationship-badge__id{background:none;border:none;padding:0;cursor:pointer;font-weight:600;font-size:12px;color:inherit;text-decoration:underline;text-underline-offset:2px}.relationship-badge__id:hover{opacity:.75}.relationship-badge__remove{background:#00000014;border:none;border-radius:50%;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;line-height:1;padding:0;color:inherit;transition:background-color var(--transition-fast)}.relationship-badge__remove:hover{background:#0000002e}.task-relationship-add-row{display:flex;gap:6px;align-items:center;margin-bottom:4px}.rel-type-wrapper{position:relative;flex-shrink:0}.rel-type-wrapper select{width:auto;font-size:13px;padding:4px 8px;margin-bottom:0}.rel-type-tooltip{position:absolute;bottom:calc(100% + 6px);left:0;z-index:200;background:var(--surface-raised, var(--surface));color:var(--text);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:6px 10px;font-size:12px;line-height:1.4;max-width:280px;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.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;box-shadow:0 4px 12px #0000001f;max-height:200px;overflow-y:auto;margin-bottom:8px}.relationship-result-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;cursor:pointer;font-size:13px;text-align:left;color:var(--text-subtle);transition:background-color var(--transition-fast)}.relationship-result-item:hover{background:var(--surface-muted)}.relationship-result-item--linked{opacity:.8}.relationship-result-item__id{font-weight:600;font-size:12px;color:var(--color-primary);flex-shrink:0}.relationship-result-item__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.relationship-result-item__current-type{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.relationship-results__empty{padding:10px;font-size:13px;color:var(--text-muted);text-align:center}:root[data-theme=dark] .relationship-badge--prerequisite{background:#ef44442e;color:#fca5a5;border-color:#ef44444d}:root[data-theme=dark] .relationship-badge--dependent{background:#eab30826;color:#fde68a;border-color:#eab3084d}:root[data-theme=dark] .relationship-badge--related{background:#3b82f62e;color:#93c5fd;border-color:#3b82f64d}:root[data-theme=dark] .relationship-badge__remove{background:#ffffff1a}:root[data-theme=dark] .relationship-badge__remove:hover{background:#fff3}.subtasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.subtask-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;background:var(--color-bg-secondary, #f8fafc);min-width:0;overflow:hidden}.subtask-drag-handle{cursor:grab;color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center}.subtask-drag-handle:active{cursor:grabbing}.subtask-item input[type=checkbox]{flex-shrink:0;cursor:pointer}.subtask-title{flex:1;min-width:0;font-size:.875rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtask-item.subtask-completed .subtask-title{text-decoration:line-through;color:var(--color-text-muted)}.subtask-delete-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:2px;display:flex;align-items:center;border-radius:3px}.subtask-delete-btn:hover{color:var(--color-danger, #ef4444);background:#ef44441a}.subtask-inline-input{flex:1;font-size:.875rem;border:1px solid var(--color-border);border-radius:3px;padding:1px 4px;background:var(--color-bg);color:var(--color-text)}.task-subtask-add-row{margin-top:6px}.task-subtask-add-row input{width:100%;box-sizing:border-box}.subtasks-progress-legend{font-size:.75rem;color:var(--color-text-muted);font-weight:400;margin-left:8px}:root[data-theme=dark] .subtask-item{background:var(--color-bg-secondary, rgba(255, 255, 255, .05))}.notification-banner{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin:0 10px 10px;padding:12px 16px;animation:banner-appear .3s ease-out;display:flex;flex-direction:column;max-height:150px;min-height:40px;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{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1 1 auto;min-height:0;overflow:hidden}.notification-banner-icon{flex-shrink:0;color:var(--color-danger);padding-top:4px}.notification-banner-icon svg{width:20px;height:20px;stroke-width:2}.notification-banner-list{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1 1 auto;min-width:0;min-height:0;padding:2px 2px 3px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.notification-banner-close-btn{flex-shrink:0;align-self:flex-start;margin-left:8px;opacity:.65}.notification-banner-close-btn:hover{opacity:1;background-color:var(--surface-muted)}@media(max-width:600px){.notification-banner-close-btn{padding:6px}}@media(min-width:601px){.notification-banner{max-height:180px}.notification-banner-list{flex-direction:row;flex-wrap:nowrap;align-items:center;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;padding-bottom:10px}}.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{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:3px;font-size:12px;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);max-width:100%;min-width:0;overflow:hidden;align-self:flex-start;flex:0 0 auto}.notification-banner-item:hover{background-color:var(--surface-muted);border-color:var(--color-danger)}.notification-banner-item .task-title{font-weight:600;color:var(--text);min-width:15ch;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.notification-banner-item .due-date{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:16ch;max-width:260px;overflow:hidden;text-overflow:ellipsis}.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{font-style:italic;color:var(--text-muted);max-width:500px}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background-color:var(--color-danger);color:#fff;border-radius:10px;font-size:11px;font-weight:700;margin-left:4px}.notification-badge.hidden{display:none}#notifications-quick-btn{position:relative}#notification-quick-badge{position:absolute;top:-6px;right:-6px;margin-left:0}.notifications-list{overflow-y:auto;margin-bottom:16px}.notifications-controls{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted)}.notification-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background-color:var(--surface-muted);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.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{font-weight:600;font-size:14px;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted)}.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{flex-shrink:0;color:var(--text-muted)}.notification-item-arrow svg{width:16px;height:16px;stroke-width:2}.notifications-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}@media(max-width:600px){.notification-banner{margin:0 8px 8px;padding:10px 12px;max-height:120px}.notification-banner-list{flex:1 1 auto;overflow-y:auto;max-height:100%;min-height:0}.notification-banner-item{width:100%;box-sizing:border-box;flex-shrink:0}.notification-banner-item .task-title{max-width:none;flex:1;min-width:0}.notification-banner-item .due-date{font-size:11px;overflow:hidden;text-overflow:ellipsis;max-width:none}}.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;box-shadow:0 12px 32px #0000004d;transform:rotate(2deg);cursor:grabbing}.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{display:flex;min-height:48px;padding:4px 0}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-width:3px;border-style:dashed;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;transform:translateY(-1px);transition:border-color .12s ease-out,background-color .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out}body.dragging .swimlane-cell.is-column-collapsed{position:relative}body.dragging .swimlane-cell.is-column-collapsed .swimlane-tasks{display:block;position:absolute;inset:0;min-height:unset;padding:0;opacity:0;z-index:1}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{list-style:none;width:100%;height:10px;min-height:10px;margin:4px 0;border:none;border-radius:999px;background-color:var(--border);background-color:color-mix(in srgb,var(--column-accent) 35%,var(--border) 65%);opacity:.95}.column-placeholder{width:10px;min-width:10px;flex:0 0 10px;align-self:stretch;margin:10px 6px;border:none;border-radius:999px;background-color:color-mix(in srgb,var(--color-primary) 35%,var(--border) 65%);opacity:.95;pointer-events:none}body.reports-page{padding:0;display:flex;flex-direction:column;height:100dvh;overflow:hidden}body.reports-page .rpt-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border-subtle);background:var(--surface);flex:0 0 auto}body.reports-page .rpt-header-left{display:inline-flex;align-items:center;gap:10px;min-width:0}body.reports-page .rpt-logo{width:22px;height:22px;color:var(--color-primary);stroke-width:2.5;flex:0 0 auto}body.reports-page .rpt-header-titles{display:flex;flex-direction:column;gap:2px;min-width:0}body.reports-page .rpt-title{margin:0;font-size:16px;font-weight:800;color:var(--text);line-height:1.1}body.reports-page .rpt-subtitle{font-size:12px;color:var(--text-muted);line-height:1.1}body.reports-page .rpt-header-right{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}body.reports-page .rpt-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}body.reports-page .rpt-link:hover{background:var(--btn-secondary-bg)}body.reports-page .rpt-badge{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:800;font-size:12px}body.reports-page .rpt-main{flex:1 1 auto;min-height:0;padding:10px;display:flex;flex-direction:column;gap:10px;overflow:auto}body.reports-page .reports-kpis{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);padding:10px;overflow:hidden;display:flex;flex-direction:column;min-height:520px}body.reports-page .rpt-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);margin-bottom:8px;flex:0 0 auto;min-width:0}body.reports-page .rpt-card-title{margin:0;font-size:13px;font-weight:800;color:var(--text);line-height:1.15}body.reports-page .rpt-card-hint{font-size:11px;color:var(--text-muted);margin:2px 0 0;line-height:1.3}body.reports-page .rpt-controls{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}body.reports-page .rpt-control{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);white-space:nowrap}body.reports-page .rpt-control-label{display:none}body.reports-page .rpt-select{padding:6px 8px;background-color:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:12px;font-family:inherit}body.reports-page .rpt-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:0 0 auto}body.reports-page .rpt-kpi{border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);padding:8px;min-width:0}body.reports-page .rpt-kpi-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;line-height:1.1}body.reports-page .rpt-kpi-value{font-size:18px;font-weight:900;color:var(--text);line-height:1}body.reports-page .rpt-spark{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;padding-top:8px}body.reports-page .rpt-spark-title{font-size:11px;color:var(--text-muted);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{width:100%;flex:1 1 auto;min-height:0}@media(max-width:900px){body.reports-page .rpt-main{flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-bottom:12px}body.reports-page .reports-kpis{min-width:85vw;max-width:85vw;height:100%;margin:0 8px;scroll-snap-align:center;overflow:auto;min-height:0}}body.calendar-page .rpt-main{overflow:auto}@media(max-width:900px){body.calendar-page .rpt-main{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;padding-bottom:10px}body.calendar-page .reports-kpis{min-width:0;max-width:none;height:auto;margin:0;scroll-snap-align:unset;overflow:hidden}}body.calendar-page .rpt-due-month{font-size:12px;font-weight:800;color:var(--text);white-space:nowrap}body.calendar-page .rpt-due-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}body.calendar-page .rpt-due-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;flex:0 0 auto}body.calendar-page .rpt-due-dow{font-size:11px;font-weight:700;color:var(--text-muted);text-align:center;padding:2px 0}body.calendar-page .rpt-due-day{border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);color:var(--text);padding:6px;min-height:44px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:4px}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{font-size:11px;font-weight:800;color:var(--text)}body.calendar-page .rpt-due-count{align-self:flex-end;padding:2px 8px;border-radius:999px;background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);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{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted);padding:8px}body.calendar-page .rpt-due-list-title{font-size:12px;font-weight:900;color:var(--text);margin:0 0 6px}body.calendar-page .rpt-due-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}body.calendar-page .rpt-due-item{border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface);padding:6px 8px;font-size:12px;color:var(--text)}body.calendar-page .rpt-due-item.is-overdue{border-color:var(--color-danger)}body.calendar-page .rpt-due-tasklink{display:block;color:inherit;text-decoration:none;font-weight:700}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{font-size:12px;color:var(--text-muted);padding:6px 0}@media(orientation:landscape)and (max-height:500px){body.reports-page .rpt-header{padding:4px 12px}body.reports-page .rpt-main{padding:6px;gap: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}}@media(max-width:768px){.controls-actions .control-select{width:100%;max-width:100%;min-height:44px;font-size:16px;padding:10px 12px}}@media(max-width:600px){body{height:100dvh;min-height:100dvh;overflow:hidden}.controls{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;gap:8px;padding:8px;flex-wrap:nowrap}.brand{grid-column:1;grid-row:1;margin-right:0;font-size:16px;overflow:hidden}.brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}#notifications-quick-btn{grid-column:2;grid-row:1;margin-left:auto}#desktop-menu-btn{grid-column:3;grid-row:1}.board-search{grid-column:1 / -1;grid-row:2;flex:none}.container,.board-container{flex:1 1 auto;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;min-height:0}.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{min-width:85vw;max-width:85vw;margin:0 8px;scroll-snap-align:center;height:calc(100dvh - 180px);display:flex;flex-direction:column;flex:0 0 auto;min-height:0}.tasks{flex:1 1 auto;overflow-y:auto;max-height:none!important;min-height:0}.modal-content{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;display:flex;flex-direction:column;padding:16px 16px 0;margin:0;overflow-y:auto;overflow-x:hidden}.modal-content form,#labels-list{max-height:none!important}.form-actions{padding-bottom:24px}#task-labels-selection{max-height:150px!important;overflow-y:auto}}@media(max-width:920px)and (orientation:landscape)and (max-height:500px){.controls{padding:4px 8px;gap:6px}.board-search{grid-row:1;grid-column: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;padding:6px 10px;margin:0 8px 4px}.modal-content{max-height:100dvh}.form-group{margin-bottom:10px}.form-actions{padding-bottom:12px}}
