@charset "UTF-8";.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.role-admin__lead[data-v-dc19ce8e]{font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--space-3)}.role-admin__state[data-v-dc19ce8e]{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.role-admin__list[data-v-dc19ce8e]{display:grid;gap:var(--space-2)}.role-admin__row[data-v-dc19ce8e]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.role-admin__name[data-v-dc19ce8e]{font-weight:600}.role-admin__controls[data-v-dc19ce8e]{display:flex;align-items:center;gap:var(--space-2)}.role-admin__select[data-v-dc19ce8e]{min-width:10rem}.role-admin__warning[data-v-dc19ce8e]{margin-top:var(--space-3);color:var(--color-danger)}:root{--color-bg: #f3f4f6;--color-bg-elevated: #ffffff;--color-bg-accent: #e5e7eb;--color-border-subtle: #e5e7eb;--color-primary: #2563eb;--color-primary-soft: rgba(37, 99, 235, .08);--color-primary-hover: #1d4ed8;--color-danger: #dc2626;--color-success-600: #16a34a;--color-text: #0f172a;--color-text-muted: #6b7280;--color-scrollbar-thumb: #cbd5e1;--color-scrollbar-thumb-hover: #94a3b8;--color-scrollbar-track: #f1f5f9;--color-column-bg: #f9fafb;--color-card-bg: #ffffff;--color-tag-area-1: #0f766e;--color-tag-area-2: #2563eb;--color-tag-area-3: #f97316;--color-tag-priority-high: #f34682;--color-tag-priority-medium: #fb923c;--color-tag-priority-low: #6b7280;--color-assignee-bg: rgba(15, 23, 42, .01);--color-assignee-avatar-bg: #e5e7eb;--color-assignee-letter-bg: rgba(255, 255, 255, .15);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .08);--shadow-subtle: 0 4px 16px rgba(15, 23, 42, .06);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem}html,body,#app{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg)}.app-shell__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-subtle)}.app-shell__header-start{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);flex:1;min-width:0}.app-shell__header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.app-shell__brand{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.app-shell__brand-link{text-decoration:none;color:inherit;width:fit-content;border-radius:var(--radius-sm);outline-offset:2px}.app-shell__brand-link:hover .app-shell__title{color:var(--color-primary)}.app-shell__brand-link:focus-visible .app-shell__title{color:var(--color-primary)}.app-shell__title{font-size:var(--text-lg);font-weight:600;letter-spacing:.04em;transition:color .15s ease}.app-shell__subtitle{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.35;max-width:16rem}.app-shell__subtitle--desktop{display:none}@media(min-width:768px){.app-shell__subtitle--desktop{display:block}}.app-shell__nav{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background-color:var(--color-bg);border:1px solid var(--color-border-subtle)}.app-shell__nav-link{padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;transition:color .15s ease,background-color .15s ease}.app-shell__nav-link:hover{color:var(--color-text);background-color:var(--color-bg-elevated)}.app-shell__nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-shell__nav-link--active{color:var(--color-text);background-color:var(--color-primary-soft);box-shadow:inset 0 0 0 1px #2563eb1f}.app-shell__body{flex:1;display:flex;padding:var(--space-4);overflow:hidden}@media(min-width:768px){.app-shell__body{padding:var(--space-6)}}.app-shell__body--board{padding:0}.app-shell__content{flex:1;max-width:1200px;margin:0 auto;display:flex;flex-direction:column}.app-shell__content--board{max-width:none;margin:0;width:100%}.app-shell__upgrade-pill{padding:.3rem .75rem;font-size:var(--text-xs);border-radius:var(--radius-pill)}.app-shell__profile-button{padding:0;overflow:hidden}.app-shell__profile-avatar-img{width:18px;height:18px;border-radius:50%;object-fit:cover}.app-shell__profile-avatar-letter{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;background-color:var(--color-bg-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.55rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:500;color:#fff;background-color:var(--color-primary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn--primary{background-color:var(--color-primary);border-color:transparent}.btn--ghost{background-color:transparent;color:var(--color-text);border-color:var(--color-border-subtle)}.input-field{width:100%;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background-color:#fff;color:var(--color-text);font-size:var(--text-sm);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb66;background-color:#fff}.field-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.card{border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-soft);padding:var(--space-5)}.card--compact{padding:var(--space-4)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);padding:.1rem .5rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;background-color:var(--color-primary-soft);color:var(--color-primary)}.btn--xs{padding:.25rem .5rem;font-size:var(--text-xs);border-radius:var(--radius-sm)}.kbd-help{display:flex;flex-direction:column;gap:var(--space-5)}.kbd-help__lead{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.kbd-help__block{display:flex;flex-direction:column;gap:var(--space-2)}.kbd-help__block-title{margin:0;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.kbd-help__list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.kbd-help__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.kbd-help__row--sub{flex-direction:column;align-items:stretch;padding-left:var(--space-2);border-left:2px solid var(--color-border-subtle)}.kbd-help__row--sub .kbd-help__desc{font-weight:400;font-size:var(--text-xs);color:var(--color-text-muted)}.kbd-help__note--below-title{margin:0 0 var(--space-2)}.kbd-help__list--notes{gap:var(--space-3)}.kbd-help__desc{flex:1;min-width:0;font-size:var(--text-sm);font-weight:500}.kbd-help__keys{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;align-items:center}.kbd-help__hint{max-width:14rem;font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;line-height:1.35}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.2rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background-color:var(--color-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--text-xs);white-space:nowrap}.kbd-help__note{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.45}.kbd-help__note .kbd{vertical-align:.08em}.kbd-help__plus{font-size:var(--text-xs);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;padding:0 .1rem}.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100;margin:0;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:600;cursor:pointer;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;left:var(--space-3);top:var(--space-3);width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;box-shadow:var(--shadow-soft);outline:2px solid #ffffff;outline-offset:2px}.kanban-shell{position:relative;display:flex;flex-direction:column;gap:var(--space-4);height:100%;padding:var(--space-3)}.kanban-shell__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.kanban-shell__title{font-size:var(--text-xl);font-weight:600}.kanban-shell__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.kanban-shell__filter-label{display:flex;align-items:center;gap:var(--space-2)}.kanban-shell__error{border-color:#dc262633;background-color:#fef2f2e6;color:#991b1b}.tippy-box[data-animation=kanban-fade]{opacity:0;transform:translateY(-2px);transition:opacity .2s ease-out,transform .2s ease-out}.tippy-box[data-animation=kanban-fade][data-state=visible]{opacity:1;transform:translateY(0)}.tippy-box[data-animation=kanban-fade] .tippy-content{transition:none!important}.kanban-columns{flex:1;padding:var(--space-3);padding-bottom:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffe6,#f8fafce6);box-shadow:0 18px 40px #0f172a0a;overflow-x:auto;overflow-y:hidden}.kanban-columns__strip{display:flex;flex-direction:row;align-items:stretch;gap:var(--space-3);width:max-content;margin-inline:auto}.kanban-columns__strip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kanban-column{display:flex;flex-direction:column;gap:var(--space-3);background-color:var(--color-column-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);padding:var(--space-3);min-height:0;flex:0 0 260px;max-width:260px;min-width:260px;transition:border-color .12s ease,background-color .12s ease,flex-basis .22s ease,min-width .22s ease,max-width .22s ease,padding .22s ease}.kanban-column:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kanban-column--collapsed{flex:0 0 120px;min-width:120px;max-width:120px;padding:var(--space-2)}.kanban-column__header--collapsed .kanban-column__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-column--drag-over{border-color:var(--color-primary);background-color:var(--color-primary-soft);box-shadow:0 18px 45px #2563eb14}.kanban-column__header{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.kanban-column--collapsed .kanban-column__header{padding-bottom:var(--space-1);margin-bottom:var(--space-1)}.kanban-column__header-row--top,.kanban-column__header-row--middle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.kanban-column__header-top-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1;min-width:0}.kanban-column__header-collapsed-count{flex-shrink:0}.kanban-column__header--collapsed .kanban-column__header-row--middle{justify-content:flex-start}.kanban-column__header--collapsed .kanban-column__heading{flex:1 1 auto;width:100%;min-width:0}.kanban-column__header-row--tags{display:flex;align-items:flex-start}.kanban-column__header-row--tags .kanban-card__tags{width:100%}.kanban-column__heading{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.kanban-column__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.kanban-column__title{font-size:var(--text-sm);font-weight:500;min-width:0}.kanban-column__drag-handle{border:0;padding:.15rem .35rem;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:grab;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kanban-column__drag-handle:hover{background-color:#94a3b81f;color:var(--color-text)}.kanban-column__drag-handle[aria-disabled=true]{cursor:not-allowed;pointer-events:none}.kanban-drag-grip{font-size:1rem;line-height:1;letter-spacing:-.2em;-webkit-user-select:none;user-select:none}.kanban-column__header-middle-count{flex-shrink:0}.kanban-column__count-pill{font-size:var(--text-xs);color:var(--color-primary);background-color:var(--color-primary-soft);border:1px solid rgba(37,99,235,.18);border-radius:var(--radius-pill);padding:.15rem .45rem;line-height:1.1}.kanban-column__cards{display:flex;flex-direction:column;padding-bottom:var(--space-1);padding-right:var(--space-2);padding-left:var(--space-2);flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.kanban-card-slot-group{display:flex;flex-direction:column}.kanban-card-slot{height:4px;flex-shrink:0;transition:height .12s ease,min-height .12s ease}.kanban-column__cards--card-dragging .kanban-card-slot{min-height:10px;height:10px}.kanban-card-slot--active{height:14px;min-height:14px;margin-block:2px;border-radius:var(--radius-md);background-color:#38bdf840;transition:height .12s ease,min-height .12s ease,background-color .12s ease}.kanban-column-cards-enter-active,.kanban-column-cards-leave-active{transition:opacity .18s ease,transform .18s ease}.kanban-column-cards-enter-from,.kanban-column-cards-leave-to{opacity:0;transform:translateY(-6px)}.kanban-column__add-card{align-self:stretch;width:100%;display:flex;align-items:center;justify-content:center;padding:.35rem 0;font-size:var(--text-xs)}.kanban-column__add-card.kanban-icon-btn{width:100%;height:auto;min-height:32px}.kanban-inline-form{display:flex;flex-direction:column;gap:var(--space-2)}.kanban-inline-form__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.kanban-inline-form--card-title-edit{flex:1;min-width:0}.kanban-inline-form--card-title-edit .input-field{width:100%}.kanban-inline-form--card-title-edit .kanban-inline-form__actions{width:100%;flex-direction:column;flex-wrap:nowrap;align-items:stretch}.kanban-inline-form--card-title-edit .kanban-inline-form__actions .btn{width:100%;justify-content:center}.kanban-card{border-radius:var(--radius-md);background-color:var(--color-card-bg);border:1px solid var(--color-border-subtle);padding:var(--space-3);box-shadow:var(--shadow-subtle);cursor:grab;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease,background-color .12s ease}.kanban-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px);border-color:#38bdf899}.kanban-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kanban-card-move{transition:transform .18s ease}.kanban-column__toggle{padding:.3rem .65rem;font-size:var(--text-xs);flex-shrink:0}.kanban-column--column-drag-over{border-style:dashed}.kanban-card__title{font-size:var(--text-sm);font-weight:500;min-width:0;flex:1}.kanban-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);width:100%;min-width:0}.kanban-card__title-row{display:flex;align-items:flex-start;gap:var(--space-2);flex:1;min-width:0}.kanban-card__drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--color-text-muted);line-height:1;font-size:1rem;margin-top:.15rem}.kanban-column__cards--collapsed .kanban-card__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card__content{width:100%;min-width:0}.kanban-card__body{flex:1;min-width:0;width:100%}.kanban-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}.kanban-actions .btn,.kanban-column__actions .btn{padding:.3rem .65rem;font-size:var(--text-xs)}.kanban-icon-btn{width:32px;height:32px;padding:0;gap:0}.kanban-icon-btn svg{display:block}.kanban-actions .kanban-icon-btn,.kanban-column__actions .kanban-icon-btn{padding:0}.kanban-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.kanban-card__meta-due-row{display:flex;width:100%;min-width:0;justify-content:flex-end}.kanban-card__meta-assignee-row{display:flex;width:100%;min-width:0;justify-content:flex-start}.kanban-card__due{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .45rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;line-height:1.2;border:1px solid transparent}.kanban-card__due-icon{flex-shrink:0}.kanban-card__due--icon-only{padding:.1rem .28rem;gap:0}.kanban-card__due--overdue{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.kanban-card__due--due-soon{color:#a16207;background-color:#fefce8;border-color:#fde047}.kanban-card__due--later{color:#1d4ed8;background-color:#eff6ff;border-color:#bfdbfe}.kanban-card__tags{display:flex;flex-wrap:wrap;gap:.25rem;flex:0 0 100%;min-width:0;overflow:hidden}.kanban-column--collapsed .kanban-card__tags{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.15rem}.kanban-card__tag-pill{padding:.1rem .45rem;border-radius:var(--radius-xs);font-size:.7rem;line-height:1.2;background-color:#f3f4f6;color:#111827;border:1px solid transparent}.kanban-column--collapsed .kanban-card__tags .kanban-tag-pill{width:100%;min-width:0;max-width:100%}.kanban-card__tags .kanban-tag-pill{min-width:0;max-width:100%}.kanban-tag-pill__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card__assignee{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background-color:var(--color-assignee-bg);line-height:1}.kanban-card__assignee-avatar{width:18px;height:18px;border-radius:50%;background-color:var(--color-assignee-avatar-bg);display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;color:var(--color-text-muted)}.kanban-card__assignee-name{white-space:nowrap}.kanban-modal__card-assignees-top{display:flex;justify-content:flex-end;margin-top:calc(var(--space-2) * -.25)}.kanban-modal__card-assignees-top-pills{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:flex-end}.kanban-modal__assignees-picker{display:flex;flex-wrap:wrap;gap:var(--space-1)}.kanban-assignee-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem .5rem;border-radius:var(--radius-pill);border:1px solid transparent;background-color:transparent;font-size:var(--text-xs);cursor:default;-webkit-user-select:none;user-select:none}.kanban-assignee-pill--picker{cursor:pointer}.kanban-assignee-pill--picker:hover{background-color:var(--color-primary-soft)}.kanban-assignee-pill--selected{box-shadow:0 0 0 1px #2563eb66}.kanban-assignee-pill__avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0}.kanban-assignee-pill__letter{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-assignee-letter-bg);font-size:.6rem;font-weight:700}.kanban-assignee-pill__name{white-space:nowrap}.kanban-card__assignee--area-1{border-color:var(--color-tag-area-1);color:var(--color-tag-area-1)}.kanban-card__assignee--area-2{border-color:var(--color-tag-area-2);color:var(--color-tag-area-2)}.kanban-card__assignee--area-3{border-color:var(--color-tag-area-3);color:var(--color-tag-area-3)}.kanban-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#0f172a59;z-index:40}.kanban-modal{width:100%;min-width:480px;max-width:480px;min-height:320px;max-height:80vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-soft);overflow:hidden}.kanban-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);position:sticky;top:0;z-index:2;background-color:var(--color-bg-elevated)}.kanban-modal__title{font-size:var(--text-lg);font-weight:600}.kanban-modal__close{padding:.25rem .5rem}.kanban-modal__section{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.kanban-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-right:2px}.kanban-modal__field{display:flex;flex-direction:column;gap:var(--space-1)}.kanban-modal__label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted)}.kanban-modal__textarea{min-height:80px;resize:vertical}.kanban-modal__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.kanban-modal__section-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:transparent;color:inherit;cursor:pointer;min-height:28px}.kanban-modal__section-chevron{display:inline-flex;font-size:.7rem;color:var(--color-text-muted);transform:rotate(0);transition:transform .12s ease}.kanban-modal__section-chevron--expanded{transform:rotate(90deg)}.kanban-modal__hint{font-size:var(--text-xs);color:var(--color-text-muted)}.kanban-modal__tags-block{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background-color:var(--color-bg)}.kanban-modal__tags-selected{display:flex;flex-wrap:wrap;gap:var(--space-1);min-height:0}.kanban-modal__empty-tags{font-size:var(--text-xs);color:var(--color-text-muted)}.kanban-modal__tag-search{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);margin:0;cursor:text}.kanban-modal__tag-search-label{margin:0}.kanban-modal__tag-search .input-field{min-width:0;width:100%}.kanban-modal__tag-create{margin-top:0;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background-color:var(--color-bg-elevated);display:flex;flex-direction:column;gap:var(--space-2)}.kanban-modal__tag-create-hint{margin:0;font-size:var(--text-xs);line-height:1.4;color:var(--color-text-muted)}.kanban-modal__color-row{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.kanban-modal__color-rows{display:flex;flex-direction:column;gap:var(--space-2)}.kanban-profile-avatar-preview{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.kanban-profile-avatar-preview__frame{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-subtle)}.kanban-profile-avatar-preview__img{width:100%;height:100%;border-radius:50%;object-fit:cover}.kanban-profile-avatar-preview__letter{font-size:.7rem;font-weight:700;letter-spacing:-.02em}.kanban-profile-avatar-preview__actions{display:flex;align-items:center}.kanban-profile-avatar-preview__upload{position:relative}.kanban-profile-avatar-preview__upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.kanban-color-swatch{width:22px;height:22px;border-radius:999px;border:2px solid transparent;cursor:pointer}.kanban-color-swatch--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb66}.kanban-modal__color-custom{display:flex;align-items:center;gap:var(--space-1)}.kanban-modal__color-input{width:32px;height:32px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.kanban-modal__color-hex{max-width:96px}.kanban-modal__tag-create-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.kanban-modal__tag-catalog{display:flex;flex-wrap:wrap;gap:var(--space-1);align-content:flex-start;max-height:120px;padding:var(--space-2);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);overflow-y:auto}.kanban-modal__empty-catalog{display:flex;flex-direction:column;gap:var(--space-2);width:100%;font-size:var(--text-xs);color:var(--color-text-muted)}.kanban-modal__empty-catalog--team{gap:var(--space-1)}.kanban-modal__empty-catalog__sub{font-size:var(--text-xs);line-height:1.4;color:var(--color-text-muted);opacity:.9}.kanban-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-1);position:sticky;bottom:0;z-index:2;background-color:var(--color-bg-elevated);padding-top:var(--space-2)}.kanban-modal__footer-delete{margin-right:auto;color:var(--color-danger);border-color:#dc262659}.kanban-modal__comment-compose{display:flex;align-items:stretch;gap:var(--space-2);margin-bottom:var(--space-2)}.kanban-modal__comment-compose-field{flex:1 1 auto;min-width:0;display:flex}.kanban-modal__comment-compose-input{width:100%;min-height:2.75rem;max-height:12rem;resize:none;overflow-y:auto;line-height:1.35;box-sizing:border-box;font-family:inherit}.kanban-modal__comment-compose-save{flex-shrink:0;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;padding-left:var(--space-4);padding-right:var(--space-4)}.kanban-modal__comments-list,.kanban-modal__activity-list{display:flex;flex-direction:column;gap:var(--space-2)}.kanban-modal__comment-item,.kanban-modal__activity-item{min-width:0;padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-bg)}.kanban-modal__comment-item{border-left:3px solid rgba(14,165,233,.45)}.kanban-modal__activity-item{border-left:3px solid rgba(99,102,241,.45);background-color:#6366f10a}.kanban-modal__comment-body,.kanban-modal__activity-text{overflow-wrap:anywhere;word-break:break-word}.kanban-modal__comment-body{font-size:var(--text-sm);line-height:1.35;white-space:pre-wrap}.kanban-modal__activity-item{display:flex;flex-direction:column;gap:var(--space-1)}.kanban-modal__feed-head{display:flex;align-items:flex-start;gap:var(--space-2)}.kanban-modal__feed-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;object-fit:cover}.kanban-modal__feed-avatar--letter{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-subtle);background-color:var(--color-bg-elevated);color:var(--color-text-muted);font-size:.65rem;font-weight:700}.kanban-modal__feed-meta{min-width:0;display:flex;align-items:baseline;gap:var(--space-1);font-size:.72rem}.kanban-modal__feed-actor{font-weight:600;color:var(--color-text)}.kanban-modal__feed-time{color:var(--color-text-muted)}.kanban-modal__activity-actor{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.kanban-modal__activity-text{font-size:.8rem;line-height:1.35}.kanban-tag-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem .6rem;border-radius:var(--radius-xs);border:1px solid transparent;background-color:var(--color-card-bg);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer}.kanban-tag-pill:hover{background-color:var(--color-primary-soft)}.kanban-tag-pill__name{white-space:nowrap}.kanban-tag-pill__remove{font-size:.7em}.kanban-tag-pill__hint{font-size:.7em;color:var(--color-text-muted)}.kanban-tag-pill--catalog{background-color:transparent}.kanban-tag-pill--area{border-color:var(--color-tag-area-1);color:var(--color-tag-area-1)}.kanban-tag-pill--priority-high{border-color:var(--color-tag-priority-high);background-color:var(--color-tag-priority-high);color:#fff}.kanban-tag-pill--priority-medium{border-color:var(--color-tag-priority-medium);background-color:#fb923c1a;color:var(--color-tag-priority-medium)}.kanban-tag-pill--priority-low{border-color:var(--color-tag-priority-low);background-color:#6b728014;color:var(--color-tag-priority-low)}.kanban-tag-pill--neutral{border-style:dashed}.dashboard-view{outline:none}.dashboard-view__intro{margin-bottom:var(--space-4)}.dashboard-view__title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:600}.dashboard-view__subtitle{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-view__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.dashboard-view__state{margin-bottom:var(--space-3)}.dashboard-view__state--error{color:var(--color-danger)}.dashboard-view__empty-lead{margin:0 0 var(--space-2)}.dashboard-view__empty-hint{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-canvas{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);padding-bottom:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffe6,#f8fafce6);box-shadow:0 18px 40px #0f172a0a}.dashboard-canvas__summary.card{margin:0;padding:var(--space-2) var(--space-3);box-shadow:none;background-color:#ffffffa6;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.dashboard-summary{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:baseline;margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.dashboard-canvas .dashboard-summary{margin-bottom:0;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3)}.dashboard-canvas .dashboard-summary__metric:not(:last-child){padding-right:var(--space-3);margin-right:var(--space-1);border-right:1px solid var(--color-border-subtle)}.dashboard-summary__metric{display:flex;align-items:baseline;gap:var(--space-2)}.dashboard-summary__line{display:inline-flex;align-items:baseline;gap:.35em}.dashboard-summary__value{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text)}.dashboard-canvas .dashboard-summary__value{font-size:var(--text-sm);font-weight:600;color:var(--color-primary);background-color:var(--color-primary-soft);border:1px solid rgba(37,99,235,.18);border-radius:var(--radius-pill);padding:.1rem .45rem;font-variant-numeric:tabular-nums}.dashboard-summary__label{font-size:var(--text-sm);color:var(--color-text-muted)}.dashboard-canvas .dashboard-summary__label{font-size:var(--text-xs)}.dashboard-teams{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-canvas .dashboard-team-card.card{padding:var(--space-3);box-shadow:var(--shadow-subtle);background-color:var(--color-bg-elevated)}.dashboard-team-card.card{padding:var(--space-4)}.dashboard-team__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.dashboard-team__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.dashboard-team__mark{flex-shrink:0;width:2.125rem;height:2.125rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;color:var(--color-text);background-color:var(--color-assignee-avatar-bg);border:1px solid var(--color-border-subtle)}.dashboard-team__title{margin:0;flex:1;min-width:0;font-size:var(--text-base);font-weight:600}.dashboard-team__title-and-members{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.dashboard-team__title-and-members .dashboard-team__title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-team__member-pills{flex:1 1 auto;min-width:0}.dashboard-team__body{display:flex;flex-direction:column}.dashboard-team__invite-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);width:100%;margin:var(--space-2) 0}.dashboard-team__invite-form .input-field{width:auto;flex:1 1 14rem;min-width:10rem}.dashboard-team__invite-form select.input-field{flex:0 0 auto;min-width:8rem}.dashboard-team__invite-form .dashboard-compact-btn{flex:0 0 auto;white-space:nowrap}.dashboard-team__invite-success{margin:0;flex:0 0 100%;color:var(--color-success-600);font-size:var(--text-sm)}.dashboard-member-pills{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-1);overflow:hidden;min-width:0;max-width:100%;position:relative;font-size:var(--text-xs);color:var(--color-text-muted)}.dashboard-member-pills__more{flex-shrink:0}.dashboard-member-pills__measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden;display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.dashboard-project{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.dashboard-team__body .dashboard-project:first-child{padding-top:0;border-top:none}.dashboard-project__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.dashboard-project__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.dashboard-project__label{margin:0;flex:1;min-width:0;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.dashboard-compact-btn{padding:.35rem .65rem;font-size:var(--text-xs)}.dashboard-action-btn{display:inline-flex;align-items:center;gap:.3rem}.dashboard-board-grid,.dashboard-teams__inner{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-team__drag-handle,.dashboard-project__drag-handle,.dashboard-board__drag-handle{flex-shrink:0}.dashboard-board-tile-wrap{--dashboard-tile-accent: var(--color-primary);display:flex;align-items:stretch;min-width:0;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);border-left:3px solid var(--dashboard-tile-accent);background-color:var(--color-card-bg);box-shadow:var(--shadow-subtle);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.dashboard-board-tile-wrap:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px);border-color:#38bdf899}.dashboard-board-tile{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:none;border-radius:0;background-color:transparent;box-shadow:none;text-decoration:none;color:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.dashboard-board-tile:hover{box-shadow:none;transform:none;border-color:transparent}.dashboard-board-tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.dashboard-board-tile__icon{flex-shrink:0;color:var(--color-text-muted)}.dashboard-board-tile__body{min-width:0}.dashboard-board-tile__name{font-size:var(--text-sm);font-weight:500;line-height:1.35}.dashboard-board-tile__title-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.dashboard-board-tile__title-row .dashboard-board-tile__name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-board-tile__member-pills{flex:1 1 auto;min-width:0}.dashboard-board-tile__meta{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.dashboard-board-tile__tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.dashboard-board-tile__actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);flex-shrink:0;border-left:1px solid var(--color-border-subtle)}.dashboard-board__drag-handle{align-self:center;margin-left:var(--space-1)}.dashboard-entity-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.dashboard-entity-tags--project{margin-bottom:var(--space-1)}.dashboard-tag-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:500;border:1px solid var(--color-border-subtle);background-color:var(--color-card-bg);color:var(--color-text-muted)}.dashboard-tag-pill--compact{padding:.08rem .35rem;font-size:.65rem}.queue-view{outline:none}.queue-view__intro{margin-bottom:var(--space-4)}.queue-view__title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:600}.queue-view__subtitle{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.queue-view__state{margin-bottom:var(--space-3)}.queue-view__feedback{margin-bottom:var(--space-2)}.queue-toolbar{display:grid;gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.queue-toolbar__search{grid-column:1/-1}@media(min-width:720px){.queue-toolbar__search{grid-column:span 2}}.queue-summary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:baseline;margin-bottom:var(--space-3)}.queue-summary__metric{display:flex;align-items:baseline;gap:var(--space-2)}.queue-summary__value{font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text)}.queue-summary__metric--danger .queue-summary__value{color:var(--color-danger)}.queue-summary__metric--warn .queue-summary__value{color:#a16207}.queue-summary__label{font-size:var(--text-sm);color:var(--color-text-muted)}.queue-groups{display:flex;flex-direction:column;gap:var(--space-2)}.queue-group-heading{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.queue-groups .queue-group-heading:first-child{margin-top:0}.queue-row-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--color-border-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.queue-row{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-2);align-items:start;padding:var(--space-2) var(--space-3);background:var(--color-card-bg);transition:background-color .12s ease}.queue-row:focus{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.queue-row:hover{background-color:var(--color-primary-soft)}.queue-row__stripe{width:3px;align-self:stretch;border-radius:var(--radius-xs);background:var(--color-border-subtle);margin-top:2px;margin-bottom:2px}.queue-row--stripe-overdue .queue-row__stripe{background:#dc2626}.queue-row--stripe-soon .queue-row__stripe{background:#ca8a04}.queue-row--stripe-later .queue-row__stripe{background:#93c5fd}.queue-row__main{min-width:0}.queue-row__title-row{display:flex;align-items:baseline;gap:var(--space-2)}.queue-row__title{font-weight:600;font-size:var(--text-sm);color:var(--color-text);line-height:1.35}.queue-row__meta{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.35}.queue-row__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:var(--space-1)}.queue-row__due{flex-shrink:0;padding-top:1px}.queue-row__due-pill{display:inline-block;font-size:var(--text-xs);font-weight:600;padding:.12rem .4rem;border-radius:var(--radius-pill);border:1px solid transparent;white-space:nowrap}.queue-row__due-pill--overdue{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.queue-row__due-pill--soon{color:#a16207;background-color:#fefce8;border-color:#fde047}.queue-row__due-pill--later{color:#1d4ed8;background-color:#eff6ff;border-color:#bfdbfe}.queue-row__actions{display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s ease}.queue-row:focus-within .queue-row__actions,.queue-row:hover .queue-row__actions{opacity:1;pointer-events:auto}@media(max-width:767px){.kanban-modal{min-width:calc(100vw - var(--space-4) * 2)}.kanban-column{flex:0 0 80%;min-width:80%}.kanban-column--collapsed{flex:0 0 120px;min-width:120px;max-width:120px}.queue-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.queue-row__due{grid-column:2;justify-self:end}.queue-row__actions{grid-column:1/-1;justify-content:flex-end;opacity:1;pointer-events:auto}}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-decoration:none}html,*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:999px;border:2px solid var(--color-scrollbar-track)}*::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}
