:root,[data-theme=dark]{color-scheme:dark;--color-accent: #ff7700;--color-accent-hover: #e86800;--color-accent-muted: #ff9933;--color-accent-on-tint: #ff9933;--color-accent-soft: rgba(255, 119, 0, .12);--color-accent-glow: rgba(255, 119, 0, .35);--color-accent-subtle: rgba(255, 119, 0, .06);--color-bg: #07080c;--color-bg-elevated: rgba(14, 16, 24, .82);--color-bg-subtle: rgba(255, 255, 255, .04);--color-bg-hover: rgba(255, 255, 255, .05);--color-bg-input: rgba(8, 9, 14, .9);--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .14);--color-text: #f2f4f8;--color-text-muted: #9aa3b8;--color-column-bg: rgba(12, 14, 22, .72);--color-surface: rgba(255, 255, 255, .03);--color-surface-hover: rgba(255, 255, 255, .05);--color-surface-muted: rgba(255, 255, 255, .04);--color-modal-overlay: rgba(4, 5, 8, .75);--color-grid-line: rgba(255, 255, 255, .02);--color-primary-text: #0a0a0a;--color-status-todo: #9aa3b8;--color-status-progress: #ff7700;--color-status-done: #34d399;--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .12);--color-success: #15803d;--color-success-text: #34d399;--color-success-soft: rgba(52, 211, 153, .12);--color-on-success: #ffffff;--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .12);--color-shared: #38bdf8;--color-shared-soft: rgba(56, 189, 248, .12);--color-shared-glow: rgba(56, 189, 248, .35);--color-shared-border: rgba(56, 189, 248, .25);--sidebar-width: 260px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 12px 40px rgba(0, 0, 0, .45);--shadow-glow: 0 0 24px var(--color-accent-glow);--glass-blur: 16px;--transition-fast: .15s ease;--transition-smooth: .25s cubic-bezier(.4, 0, .2, 1);--transition-drag: .28s cubic-bezier(.33, 1, .68, 1);--ticket-slot-height: 3.125rem;--ticket-list-gap: .625rem;--font-display: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif}[data-theme=light]{color-scheme:light;--color-accent: #b84d00;--color-accent-hover: #a34400;--color-accent-muted: #9a4000;--color-accent-on-tint: #9a4000;--color-accent-soft: rgba(184, 77, 0, .1);--color-accent-glow: rgba(184, 77, 0, .2);--color-accent-subtle: rgba(184, 77, 0, .05);--color-bg: #f4f5f8;--color-bg-elevated: rgba(255, 255, 255, .92);--color-bg-subtle: rgba(0, 0, 0, .03);--color-bg-hover: rgba(0, 0, 0, .04);--color-bg-input: rgba(255, 255, 255, .95);--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .14);--color-text: #1a1d26;--color-text-muted: #4a5164;--color-column-bg: rgba(255, 255, 255, .78);--color-surface: rgba(0, 0, 0, .02);--color-surface-hover: rgba(0, 0, 0, .04);--color-surface-muted: rgba(0, 0, 0, .03);--color-modal-overlay: rgba(15, 18, 28, .45);--color-grid-line: rgba(0, 0, 0, .04);--color-primary-text: #ffffff;--color-status-todo: #4a5164;--color-status-progress: #b84d00;--color-status-done: #047857;--color-danger: #b91c1c;--color-danger-soft: rgba(185, 28, 28, .1);--color-success: #15803d;--color-success-text: #047857;--color-success-soft: rgba(4, 120, 87, .1);--color-on-success: #ffffff;--color-warning: #92400e;--color-warning-soft: rgba(180, 83, 9, .1);--color-shared: #0369a1;--color-shared-soft: rgba(3, 105, 161, .1);--color-shared-glow: rgba(3, 105, 161, .2);--color-shared-border: rgba(3, 105, 161, .25);--shadow-sm: 0 2px 8px rgba(15, 18, 28, .08);--shadow-md: 0 12px 40px rgba(15, 18, 28, .12)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}#root{min-width:0}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--color-accent-subtle),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(255,119,0,.04),transparent),linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:100% 100%,100% 100%,48px 48px,48px 48px}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem .875rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}textarea{resize:vertical;min-height:120px}.app-layout{position:relative;display:flex;height:100vh;overflow:hidden}.app-layout__sidebar-shell{position:relative;width:var(--sidebar-width-current, var(--sidebar-width));flex-shrink:0;min-height:0;display:flex;overflow:hidden;transition:width var(--transition-smooth)}.app-layout[data-sidebar-collapsed=true] .app-layout__sidebar-shell{width:0}body.sidebar-resizing .app-layout__sidebar-shell{transition:none}.app-layout__main{flex:1;min-width:0;min-height:0;padding:2rem 2.5rem;display:flex;flex-direction:column;overflow:hidden;transition:padding-left var(--transition-smooth)}.app-layout[data-sidebar-collapsed=true] .app-layout__main{padding-left:3.75rem}.sidebar{width:var(--sidebar-width-current, var(--sidebar-width));min-width:var(--sidebar-width-current, var(--sidebar-width));flex-shrink:0;min-height:0;overflow:hidden;background:var(--color-bg-elevated);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1.25rem;position:relative;opacity:1;transition:opacity var(--transition-smooth)}.app-layout[data-sidebar-collapsed=true] .sidebar{opacity:0}.sidebar-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none;z-index:2}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:transparent;transition:background var(--transition-fast)}.sidebar-resize-handle:hover:after,.sidebar-resize-handle:focus-visible:after,body.sidebar-resizing .sidebar-resize-handle:after{background:var(--color-accent)}.sidebar-panel-toggle{position:absolute;top:1rem;right:.75rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.sidebar-panel-toggle:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-strong)}.sidebar-panel-toggle--expand{position:absolute;top:2rem;left:.75rem;z-index:4;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px);transition:opacity var(--transition-smooth),transform var(--transition-smooth),visibility var(--transition-smooth),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.app-layout[data-sidebar-collapsed=true] .sidebar-panel-toggle--expand{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}@media(prefers-reduced-motion:reduce){.app-layout__sidebar-shell,.sidebar,.sidebar-panel-toggle--expand,.app-layout__main{transition:none}}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.sidebar-resizing *{cursor:col-resize!important}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.6}.sidebar__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem;padding-bottom:1.25rem;padding-right:2rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar__brand-row{display:flex;align-items:center;gap:.75rem;min-width:0}.sidebar__menu-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.sidebar__menu-toggle:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-hover)}.sidebar__drawer{display:contents}.mobile-menu-backdrop{display:none}.sidebar__projects{flex:1;min-height:0;overflow-y:auto;margin-right:-.25rem;padding-right:.25rem}.sidebar__brand-logo,.auth-card__brand-logo{flex-shrink:0;filter:drop-shadow(0 2px 10px rgba(255,119,0,.32))}.sidebar__brand-title{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em}.sidebar__title{margin:0 0 .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.project-list{margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.sidebar__archive-btn,.sidebar__join-btn{width:100%;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.sidebar__archive-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1;color:var(--color-text);background:var(--color-surface-hover)}.archived-projects-modal__empty{margin:0;font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.archived-projects-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:min(24rem,60vh);overflow-y:auto}.archived-projects-modal__row{display:flex;align-items:center;gap:.5rem}.archived-projects-modal__item{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.archived-projects-modal__item:hover,.archived-projects-modal__item:focus-visible{background:var(--color-bg-hover);border-color:var(--project-color, var(--color-border))}.archived-projects-modal__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500}.archived-projects-modal__shared-badge{flex-shrink:0;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.archived-projects-modal__restore{flex-shrink:0}.project-list__section{display:flex;flex-direction:column;gap:.375rem}.project-list__section--removed,.project-list__section--archived{padding-top:.5rem;border-top:1px solid var(--color-border)}.project-list__item--archived{opacity:.72}.project-list__item--archived:hover,.project-list__item--archived.project-list__item--active{opacity:1}.project-list__restore{flex-shrink:0;padding:.375rem .5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.6875rem;font-weight:600;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.project-list__row:hover .project-list__restore,.project-list__restore:focus-visible{opacity:1}.project-list__restore:hover{color:var(--color-text);background:var(--color-bg-hover);border-color:var(--color-border)}.project-list__item--shared:hover .project-list__archive,.project-list__archive:focus-visible{opacity:1;pointer-events:auto;background:var(--color-bg-hover)}.project-list__section--archived .project-list__row:hover .project-list__settings,.project-list__section--archived .project-list__settings:focus-visible{opacity:1;pointer-events:auto;background:var(--color-bg-hover)}.project-list__section-title{margin:0;padding:0 .25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.project-list__section-empty{margin:0;padding:.625rem .875rem;font-size:.8125rem;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.project-list__items{list-style:none;margin:0;padding:0}.project-list__empty{color:var(--color-text-muted);font-size:.875rem;padding:.75rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);text-align:center}.project-list__row{display:flex;align-items:center;gap:.25rem;margin-bottom:.25rem}.project-list__draggable{margin-bottom:.25rem}.project-list__row--clone{pointer-events:none}.project-list__item--dragging,.project-list__row--clone .project-list__item{border-color:var(--color-accent);box-shadow:var(--shadow-glow);cursor:grabbing}body.project-sidebar-dragging .sidebar{backdrop-filter:none;-webkit-backdrop-filter:none}body.project-sidebar-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.project-list__items--dragging{background:color-mix(in srgb,var(--color-accent) 6%,transparent);border-radius:var(--radius-sm)}.project-list__item--sortable{cursor:grab;touch-action:none}.project-list__item{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:.25rem;text-align:left;border:1px solid transparent;background:transparent;color:var(--color-text);padding:.625rem .875rem;border-radius:var(--radius-sm);font-weight:500;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),padding-right var(--transition-fast)}.project-list__item--manageable:hover{padding-right:2.25rem}.project-list__item-main{flex:1;min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.project-list__item--sortable .project-list__item-main{cursor:inherit}.project-list__item--removed .project-list__item-label{text-decoration:line-through;color:var(--color-text-muted)}.project-list__item--removed:hover .project-list__item-label{color:var(--color-text-muted)}.project-list__delete--remove:hover{color:var(--color-text-muted);background:var(--color-bg-hover);border-color:var(--color-border)}.removed-project-notice__content{display:flex;flex-direction:column;gap:.5rem;max-width:28rem}.removed-project-notice__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text);text-decoration:line-through}.removed-project-notice__hint{margin:0;font-size:.875rem}.removed-project-notice__icon:after{border-color:var(--color-text-muted);opacity:.35}.project-list__settings{position:absolute;top:50%;right:.375rem;z-index:1;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);opacity:0;pointer-events:none;cursor:pointer;transform:translateY(-50%);transition:opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.project-list__item--manageable:hover .project-list__settings,.project-list__settings:focus-visible{opacity:1;pointer-events:auto;background:var(--color-bg-hover)}.project-list__item--manageable.project-list__item--active .project-list__settings,.project-list__item--manageable.project-list__item--active:hover .project-list__settings{background:var(--project-color-soft, var(--color-accent-soft))}.project-list__settings:hover{color:var(--color-text);background:var(--color-bg-hover);border-color:var(--color-border)}.project-list__delete{flex-shrink:0;padding:.375rem .5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.6875rem;font-weight:600;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.project-list__row:hover .project-list__delete,.project-list__delete:focus-visible{opacity:1}.project-list__delete:hover{color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.project-list__item:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.project-list__item--active{background:var(--project-color-soft, var(--color-accent-soft));border-color:var(--project-color-border, rgba(255, 119, 0, .25));color:var(--project-color, var(--color-accent-muted));font-weight:600;box-shadow:inset 3px 0 0 var(--project-color, var(--color-accent))}.project-list__item--shared.project-list__item--active{background:var(--project-color-soft, var(--color-shared-soft));border-color:var(--project-color-border, var(--color-shared-border));color:var(--project-color, var(--color-shared));box-shadow:inset 3px 0 0 var(--project-color, var(--color-shared))}.project-list__item-name{display:flex;flex:1;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.project-list__item-indicator{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--project-color, var(--color-accent));box-shadow:0 0 8px var(--project-color-glow, var(--color-accent-glow))}.project-list__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-project-badge{flex-shrink:0;padding:.125rem .375rem;border-radius:999px;background:var(--color-success);color:var(--color-on-success);font-size:.625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1}.add-project-button{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--color-border)}.add-project-button .btn{width:100%}.new-project-modal{width:min(440px,100%)}.new-project-modal__title{margin:.5rem 0 0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.new-project-modal__form .modal__field{margin-top:1.25rem}.new-project-modal__form .confirm-dialog__actions{margin-top:1.5rem}.project-modal{width:min(480px,100%)}.project-members-modal{width:min(520px,100%)}.project-modal__title{margin:.5rem 0 0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.project-settings-modal .modal__header .project-modal__title{margin:0}.project-modal__hint{margin:.75rem 0 0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.project-modal__form .modal__field{margin-top:1.25rem}.column-settings-modal__column-name{margin-top:.25rem;margin-bottom:0;font-weight:600;color:var(--color-text)}.project-modal__error{margin:.75rem 0 0;color:var(--color-danger);font-size:.875rem}.project-modal__success{margin:.75rem 0 0;color:var(--color-success-text);font-size:.875rem}.project-modal__form .confirm-dialog__actions{margin-top:1.5rem}.project-settings-modal__archive{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.project-settings-modal__archive-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.project-settings-modal__archive-btn{margin-top:.75rem}.project-settings-modal__danger{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.project-settings-modal__danger-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.project-settings-modal__delete-btn{margin-top:.75rem}.project-color-picker{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:.625rem}.project-color-picker__swatch{width:2rem;height:2rem;border-radius:999px;border:2px solid transparent;padding:0;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.project-color-picker__swatch:hover{transform:scale(1.08)}.project-color-picker__swatch--selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg-elevated),0 0 0 4px var(--color-text)}.project-category-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none}.project-color-picker--compact{gap:.25rem}.project-color-picker--compact .project-color-picker__swatch{width:1rem;height:1rem}.project-category-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:var(--radius-md);background:var(--color-bg-subtle);border:1px solid var(--color-border)}.project-category-list__label{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:999px;border:1px solid transparent;font-size:.8125rem;font-weight:600;line-height:1.2}.project-category-list__remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1}.project-category-list__remove:hover{color:var(--color-text);background:var(--color-bg-elevated)}.project-category-list__empty{margin:.75rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.project-category-add{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.project-category-add__input{flex:1;min-width:0}.project-category-add__btn{flex-shrink:0}.share-code-display{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.share-code-display__code{font-size:2rem;font-weight:700;letter-spacing:.35em;font-variant-numeric:tabular-nums}.join-code-input{font-size:1.5rem;letter-spacing:.25em;font-variant-numeric:tabular-nums;text-align:center}.project-members-section{margin-top:1.25rem}.project-members-section__title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.project-members-list{list-style:none;margin:.75rem 0 0;padding:0}.project-members-list__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .08))}.project-members-list__item:last-child{border-bottom:none}.project-members-list__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.project-members-list__name{font-size:.9375rem;overflow:hidden;text-overflow:ellipsis}.project-members-list__role{font-size:.75rem;color:var(--color-text-muted)}.project-members-list__actions{display:flex;gap:.5rem;flex-shrink:0}.project-members-section__leave{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border, rgba(255, 255, 255, .08))}.project-members-notice{margin-top:.75rem;padding:.5rem .625rem;border-radius:.375rem;background:var(--color-surface-muted, rgba(255, 255, 255, .04));border:1px solid var(--color-border, rgba(255, 255, 255, .08))}.project-members-notice__list{margin:0;padding:0;list-style:none}.project-members-notice__item{font-size:.8125rem;line-height:1.45;color:var(--color-text-muted)}.project-members-notice__item+.project-members-notice__item{margin-top:.375rem}.btn--small{padding:.375rem .75rem;font-size:.8125rem}.sidebar__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;flex-shrink:0}.sidebar__join-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;border-radius:999px;background:var(--color-accent);color:var(--color-primary-text);font-size:.6875rem;font-weight:700;line-height:1}.project-list__item-badges{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;margin-left:.5rem}.project-list__item-badges .notification-badge{margin-left:0}.notification-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;border-radius:999px;background:var(--color-accent);color:var(--color-primary-text);font-size:.6875rem;font-weight:700;line-height:1}.participants-button-meta__count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;border-radius:999px;background:var(--color-border);color:var(--color-text-muted);font-size:.6875rem;font-weight:700;line-height:1}.participants-button-meta__count--loading{opacity:.65}.board-header__participants-btn{position:relative}.participants-button-alert{position:absolute;top:-.3rem;right:-.3rem;display:inline-flex;align-items:center;justify-content:center;min-width:.875rem;height:.875rem;padding:0 .2rem;border-radius:999px;background:var(--color-accent);color:var(--color-primary-text);font-size:.5625rem;font-weight:700;line-height:1;border:1.5px solid var(--color-bg, #0f0f12);box-shadow:0 1px 4px #00000040;pointer-events:none}.count-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;border-radius:999px;background:var(--color-border);color:var(--color-text-muted);font-size:.6875rem;font-weight:700;line-height:1}.count-badge--loading{opacity:.65}.join-requests-list{margin-top:.75rem}.join-requests-list__item{align-items:flex-start}.join-requests-list__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;flex-shrink:0}.join-requests-list__dismiss{border:none;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.join-requests-list__dismiss:hover{color:var(--color-text)}.join-request-status{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.join-request-status--pending{color:var(--color-warning);background:var(--color-warning-soft)}.join-request-status--approved{color:var(--color-success-text);background:var(--color-success-soft)}.join-request-status--rejected{color:var(--color-danger);background:var(--color-danger-soft)}.btn{border:none;border-radius:var(--radius-sm);padding:.5625rem 1rem;font-weight:600;font-size:.875rem;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-accent);color:var(--color-primary-text);box-shadow:0 2px 12px var(--color-accent-glow)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.btn--secondary{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border-strong)}.btn--ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border-strong)}.btn--danger{background:transparent;color:var(--color-danger);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent)}.btn--danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 55%,transparent)}.board-view{display:flex;flex-direction:column;flex:1;min-height:0}.board-header{display:flex;flex-direction:column;align-items:stretch;gap:.625rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0;overflow:visible;min-width:0;max-width:100%}.board-header>div:first-child{min-width:0}.board-header__label{margin:0 0 .25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent)}.board-header__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.625rem;min-width:0}.board-header__title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.board-header__role-badge{flex-shrink:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .625rem;border-radius:999px;border:1px solid transparent}.board-header__role-badge--shared{color:var(--color-shared);background:var(--color-shared-soft);border-color:var(--color-shared-border)}.board-header__label--shared{color:var(--color-shared)}.board-header__meta{font-size:.8125rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-hover);border:1px solid var(--color-border);padding:.375rem .75rem;border-radius:999px}.board-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;width:100%;min-width:0;gap:.5rem;overflow:visible}.board-header__actions-primary,.board-header__actions-secondary{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0}.board-header__edit-columns{flex-shrink:0;display:inline-flex;align-items:center;font:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-hover);border:1px solid var(--color-border);padding:.375rem .875rem;border-radius:999px;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.board-header__edit-columns:hover{color:var(--color-text);border-color:var(--color-accent)}.board-header__edit-columns--active{color:var(--color-primary-text);background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 2px 12px var(--color-accent-glow)}.board-header__edit-columns--active:hover{color:var(--color-primary-text);background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.board-column-edit-banner{display:flex;flex-direction:column;gap:.25rem;margin:-.75rem 0 1rem;padding:.75rem 1rem;border:1px dashed rgba(255,119,0,.45);border-radius:var(--radius-md);background:var(--color-accent-soft)}.board-column-edit-banner__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-on-tint)}.board-column-edit-banner__hint{margin:0;font-size:.8125rem;color:var(--color-text)}.board-view--column-edit .kanban-board-scroll{padding:.75rem;border:1px solid rgba(255,119,0,.25);border-radius:var(--radius-lg);background:#ff77000a}.board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-muted);padding:4rem 2rem;text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-column-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.board-empty__icon{width:48px;height:48px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-accent-soft);position:relative}.board-empty__icon:after{content:"";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:4px;border:2px solid var(--color-accent);opacity:.5}.board-empty p{margin:0;font-size:.9375rem}.kanban-board-scroll{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.kanban-board{--kanban-column-width: 280px;display:flex;gap:1.25rem;align-items:stretch;height:100%;width:max-content;padding-right:.25rem}.kanban-column{flex:0 0 var(--kanban-column-width);width:var(--kanban-column-width);display:flex;flex-direction:column;min-height:0;max-height:100%;background:var(--color-column-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;position:relative;transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.kanban-column:before{content:"";position:absolute;top:0;left:1rem;right:1rem;height:2px;border-radius:0 0 2px 2px;background:var(--column-accent, var(--color-status-todo));opacity:.7}.kanban-column--over{border-color:var(--color-accent);box-shadow:0 0 0 1px #f703,var(--shadow-glow)}.kanban-column--edit-mode{border-style:dashed;border-color:#ff770059;box-shadow:inset 0 0 0 1px #ff770014;pointer-events:none}.kanban-column--edit-mode .kanban-column__header{pointer-events:auto}.kanban-column--edit-mode .kanban-column__tickets{min-height:0;overflow:hidden}.kanban-column-sortable{position:relative;flex:0 0 var(--kanban-column-width);width:var(--kanban-column-width);display:flex;flex-direction:column;align-self:stretch;min-height:0;cursor:grab}.kanban-column-sortable:active{cursor:grabbing}.kanban-column-sortable>.kanban-column{flex:1;min-height:0}.kanban-column-sortable--dragging{z-index:2}.kanban-column-sortable--dragging .kanban-column{border-color:var(--color-accent);box-shadow:0 0 0 1px #f703,var(--shadow-glow)}.kanban-column-sortable--clone{pointer-events:none}.kanban-column-sortable--clone .kanban-column{border-color:var(--color-accent);box-shadow:0 0 0 1px #f703,var(--shadow-glow)}.kanban-column__drag-handle-row{display:flex;justify-content:center;margin-bottom:.375rem;pointer-events:none;-webkit-user-select:none;user-select:none}.kanban-column__drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.kanban-column__drag-handle svg{width:2.5rem;height:.8rem}.kanban-board--column-edit{padding-top:.125rem}.kanban-add-column{flex:0 0 auto;align-self:flex-start;margin-top:.125rem;display:inline-flex;align-items:center;padding:.375rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.kanban-add-column:hover{color:var(--color-text);background:var(--color-surface-muted)}.kanban-add-column--prominent{flex:0 0 var(--kanban-column-width);width:var(--kanban-column-width);align-self:stretch;min-height:160px;flex-direction:column;justify-content:center;gap:.75rem;margin-top:0;padding:1.5rem 1rem;border:2px dashed rgba(255,119,0,.45);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-on-tint);font-size:.9375rem;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.kanban-add-column--prominent:hover{color:var(--color-accent-on-tint);background:#ff770024;border-color:var(--color-accent);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.kanban-add-column__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:2px dashed rgba(255,119,0,.45);border-radius:50%;font-size:1.625rem;font-weight:500;line-height:1}.kanban-add-column--prominent:hover .kanban-add-column__icon{border-color:var(--color-accent);background:#ff770014}.kanban-add-column__label{font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.kanban-column__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.875rem;padding-top:.25rem;flex-shrink:0}.kanban-column__title-wrap{flex:1;min-width:0}.kanban-column__title{margin:0;padding:0;border:none;background:none;font:inherit;font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;text-align:left}.kanban-column__title--static{cursor:default;-webkit-user-select:none;user-select:none}.kanban-column__count{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:3.375rem;font-size:.6875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);padding:.125rem .5rem;border-radius:999px;text-align:center}.kanban-column__actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.column-filter-menu{position:relative;flex-shrink:0}.column-filter-menu--header .column-filter-menu__header-trigger{gap:.375rem}.column-filter-menu--header .column-filter-menu__dropdown{left:auto;right:0;max-height:min(24rem,calc(100vh - 8rem));overflow-y:auto}.column-filter-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.column-filter-menu__trigger:hover{color:var(--color-text);background:var(--color-surface-muted);border-color:var(--color-border)}.column-filter-menu__trigger--active,.column-filter-menu__trigger--open{color:var(--color-accent-on-tint);background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.column-filter-menu__dropdown{position:absolute;top:calc(100% + .375rem);right:0;z-index:20;min-width:11.5rem;max-width:14rem;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:#0e1018;box-shadow:var(--shadow-md);backdrop-filter:none;-webkit-backdrop-filter:none;overflow-anchor:none}.column-filter-menu--header .column-filter-menu__header-trigger--open{box-shadow:0 2px 12px var(--color-accent-glow)}[data-theme=light] .column-filter-menu__dropdown{background:#fff}.column-filter-menu__heading{margin:0 0 .375rem;padding:0 .375rem;font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.column-filter-menu__divider{height:1px;margin:.5rem .375rem;background:var(--color-border)}.column-filter-menu__category-list{max-height:10rem;overflow-y:auto;overflow-anchor:none;scrollbar-gutter:stable;margin:0 -.125rem;padding:0 .125rem}.column-filter-menu__option{display:flex;align-items:center;gap:.5rem;padding:.4375rem .375rem;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.column-filter-menu__option:hover{background:var(--color-surface-muted)}.column-filter-menu__checkbox{flex-shrink:0;width:.875rem;height:.875rem;margin:0;accent-color:var(--color-accent)}.column-filter-menu__option-label{display:inline-flex;align-items:center;gap:.375rem;flex:1;min-width:0;font-size:.8125rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-filter-menu__category-dot{flex-shrink:0;width:.625rem;height:.625rem;border-radius:999px;border:1px solid rgba(0,0,0,.12)}.column-filter-menu__option-count{flex-shrink:0;min-width:1.125rem;padding:0 .3125rem;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.625rem;font-weight:700;line-height:1.25rem;text-align:center}.column-filter-menu__clear{display:block;width:100%;margin:0;padding:.4375rem .375rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:.8125rem;font-weight:600;text-align:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.column-filter-menu__clear:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-muted)}.column-filter-menu__clear:disabled{opacity:.45;cursor:default}.kanban-column__delete{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.kanban-column__delete-icon{display:block}.kanban-column__delete:hover{color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.kanban-column__settings-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.kanban-column__settings-trigger:hover{color:var(--color-text);background:var(--color-surface-muted);border-color:var(--color-border)}.kanban-column__tickets{display:flex;flex-direction:column;flex:1;min-height:6rem;overflow-y:auto;overflow-x:hidden;padding:.375rem .375rem 0 0;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.kanban-column__tickets--over{background:#ff77000a;box-shadow:inset 0 0 0 1px #ff770026}.kanban-column__empty{flex:1;display:flex;align-items:center;justify-content:center;margin:0;color:var(--color-text-muted);font-size:.8125rem;text-align:center;padding:1.5rem .5rem;pointer-events:none}.add-ticket-button{width:100%;flex-shrink:0;border:1px dashed var(--color-border-strong);background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.5625rem;margin-bottom:.625rem;font-weight:600;font-size:.8125rem;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.add-ticket-button:hover{border-color:var(--color-accent);color:var(--color-accent-on-tint);background:var(--color-accent-soft);box-shadow:0 0 16px var(--color-accent-subtle)}.add-ticket-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.625rem;flex-shrink:0}.add-ticket-form__actions{display:flex;gap:.5rem}.ticket-draggable{flex-shrink:0;margin-bottom:.625rem;position:relative;overflow:visible}.ticket-draggable:last-child{margin-bottom:0}.ticket-draggable--dragging .ticket-card,.ticket-draggable--clone .ticket-card{border-color:var(--color-accent);box-shadow:var(--shadow-glow);cursor:grabbing}.ticket-draggable--clone{pointer-events:none}.ticket-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.875rem;cursor:grab;position:relative;overflow:visible;flex-shrink:0;width:100%;user-select:none;-webkit-user-select:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ticket-card:before{content:"";position:absolute;top:0;left:.875rem;right:.875rem;height:2px;border-radius:0 0 2px 2px;background:var(--column-accent, var(--color-status-todo));opacity:.55}.ticket-card:hover{border-color:var(--column-accent, var(--color-status-todo));background:var(--color-surface-hover);box-shadow:var(--shadow-sm)}.ticket-card__drag-handle{flex-shrink:0;width:1.25rem;height:1.5rem;margin-top:.05rem;padding:0;border:none;border-radius:var(--radius-xs, 4px);background:transparent;color:var(--color-text-muted);cursor:grab;touch-action:none;display:inline-flex;align-items:center;justify-content:center}.ticket-card__drag-handle:before{content:"⋮⋮";font-size:.7rem;line-height:1;letter-spacing:-.12em;opacity:.55}.ticket-card:hover .ticket-card__drag-handle:before{opacity:.9}.ticket-card__drag-handle:active{cursor:grabbing}.ticket-card__body{flex:1;min-width:0;margin:0;padding:.125rem 0 .125rem .25rem;border:none;background:transparent;text-align:left;color:inherit;cursor:pointer}.ticket-card__title-row{display:flex;align-items:center;gap:.375rem;min-width:0}.ticket-card__title{margin:0;flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow-wrap:anywhere;word-break:break-word;letter-spacing:-.01em;white-space:normal}.ticket-card__category{flex-shrink:0;max-width:45%;padding:.125rem .5rem;border-radius:999px;background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.625rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-card__category[style]{border-width:1px;border-style:solid}.new-ticket-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:.875rem;padding:0 .375rem;border-radius:999px;background:var(--color-success);color:var(--color-on-success);font-size:.5625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1;border:1.5px solid var(--color-surface);box-shadow:0 1px 4px #00000040}.ticket-card__edge-badges{position:absolute;top:-.3rem;right:-.3rem;display:inline-flex;align-items:center;gap:.25rem;pointer-events:none;z-index:2}.ticket-card__unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:.875rem;padding:0 .25rem;border-radius:999px;background:var(--color-accent);color:var(--color-primary-text);font-size:.5625rem;font-weight:700;line-height:1;border:1.5px solid var(--color-surface);box-shadow:0 1px 4px #00000040}.user-initial-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border:2px solid var(--color-border-strong);border-radius:50%;background:var(--color-bg-elevated);color:var(--color-text-muted);font-size:.625rem;font-weight:700;line-height:1;letter-spacing:0;text-transform:uppercase}.ticket-card__assignee{margin-left:auto}.ticket-card:hover .ticket-card__assignee{border-color:var(--column-accent, var(--color-accent));color:var(--color-text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-modal-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;animation:fadeIn var(--transition-smooth)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-elevated);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:min(560px,100%);max-height:90vh;overflow:auto;padding:1.75rem;position:relative;animation:slideUp var(--transition-smooth)}.modal:before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-top:.5rem}.modal__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background:var(--color-bg-hover);color:var(--color-text)}.editable-inline-field{display:flex;align-items:center;align-self:stretch;min-width:0;max-width:100%;width:100%;flex:1;cursor:text}.editable-inline-field--interactive{cursor:pointer}.editable-inline-field--block{flex:none}.editable-inline-field__content{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;min-width:0;transition:width .15s ease,background-color .15s ease}.editable-inline-field:focus-within .editable-inline-field__content{display:flex;width:100%;padding:.125rem .375rem;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.editable-inline-field__input,.editable-inline-field__display{flex:0 1 auto;width:auto;max-width:100%;min-width:0;margin:0;padding:0;border:none;background:transparent;font:inherit;color:var(--color-text);text-align:left;field-sizing:content}.editable-inline-field:focus-within .editable-inline-field__input{flex:1;width:100%;field-sizing:fixed}.editable-inline-field:focus-within .editable-inline-field__icon,.editable-inline-field:focus-within .editable-inline-field__icon-btn{display:none}.editable-inline-field__display{cursor:pointer;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease,background-color .15s ease}.editable-inline-field__display:hover{background:var(--color-surface-muted)}.editable-inline-field__input:focus{outline:none;box-shadow:none;border-bottom:2px solid var(--color-accent);border-radius:0}.editable-inline-field__icon,.editable-inline-field__icon-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color .15s ease}.editable-inline-field__icon-btn{padding:0;border:none;background:none;cursor:pointer}.editable-inline-field:hover .editable-inline-field__icon,.editable-inline-field:hover .editable-inline-field__icon-btn,.editable-inline-field:focus-within .editable-inline-field__icon{color:var(--color-text)}.editable-inline-field__icon-btn:hover{color:var(--color-accent)}.editable-inline-field--title .editable-inline-field__input,.editable-inline-field--title .editable-inline-field__display{font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.editable-inline-field--title .editable-inline-field__input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editable-inline-field--title .editable-inline-field__input:focus{overflow:visible;text-overflow:clip;white-space:normal}.editable-inline-field--label .editable-inline-field__input,.editable-inline-field--label .editable-inline-field__display{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.editable-inline-field--label .editable-inline-field__display:hover,.editable-inline-field--label .editable-inline-field__input{color:var(--color-text)}.editable-inline-field--body .editable-inline-field__input,.editable-inline-field--body .editable-inline-field__display{font-size:.9375rem;font-weight:600}.modal__label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;color:var(--color-text-muted)}.modal__field{margin-bottom:1.25rem}.ticket-modal{width:min(720px,100%);overflow-x:clip}.ticket-modal .modal__footer{align-items:flex-start;min-width:0}.ticket-modal .modal__field textarea{display:block;width:100%}.ticket-modal__assignee-wrap{position:relative}.ticket-modal__assignee-wrap:after{content:"";position:absolute;top:50%;right:1rem;width:.4375rem;height:.4375rem;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.ticket-modal__assignee-select{display:block;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem 2.5rem .625rem .875rem;font-size:.9375rem;font-weight:500;line-height:1.4;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ticket-modal__assignee-select:hover:not(:disabled){border-color:var(--color-border-strong);background:color-mix(in srgb,var(--color-bg-input) 88%,var(--color-surface-hover))}.ticket-modal__assignee-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.ticket-modal__assignee-select:disabled{opacity:.55;cursor:not-allowed}.ticket-modal__assignee-select option{color:var(--color-text);background:var(--color-bg-elevated)}.ticket-modal__category-hint{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45}.ticket-modal__title-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;min-width:0;flex:1}.modal__label-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.modal__label-row .modal__label{margin-bottom:0}.ticket-field-change-badge{display:inline-flex;align-items:center;padding:.125rem .4375rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 16%,transparent);color:var(--color-accent-on-tint);font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;flex-shrink:0}.ticket-modal__field--updated{padding-left:.75rem;border-left:2px solid var(--color-accent)}.ticket-modal__title-wrap.ticket-modal__field--updated{padding-left:.75rem}.modal__header-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.ticket-modal__history-btn{transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.ticket-modal__footer-start{display:flex;align-items:flex-start;gap:.625rem;min-width:0;flex:1}.ticket-modal__history-block{display:flex;flex-direction:column;align-items:flex-start}.ticket-modal__history-btn--active{background:var(--color-accent-subtle);color:var(--color-text)}.ticket-modal__history-collapse{display:grid;grid-template-rows:0fr;width:min(28rem,calc(100vw - 3.5rem));opacity:0;transform:translateY(-.375rem);overflow:hidden;margin-top:0;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1),opacity .22s ease,transform .28s cubic-bezier(.4,0,.2,1),margin-top .28s cubic-bezier(.4,0,.2,1)}.ticket-modal__history-collapse--open{grid-template-rows:1fr;opacity:1;transform:translateY(0);margin-top:.625rem}.ticket-modal__history-collapse-inner{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.ticket-modal__history-collapse,.ticket-modal__history-btn{transition:none}}.modal__history{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);box-shadow:0 8px 24px #0000000f}.history__header{display:flex;align-items:center;gap:.5rem}.history__title{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.history__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--color-accent-subtle);color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.history__list{display:flex;flex-direction:column;gap:.625rem;max-height:220px;overflow-y:auto;padding:.25rem .125rem}.history__status,.history__empty{margin:0;font-size:.875rem;color:var(--color-text-muted)}.history__error{margin:0;font-size:.875rem;color:var(--color-danger)}.history__item{padding:.625rem .75rem;border-radius:var(--radius-md);background:var(--color-bg-subtle)}.history__meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.375rem}.history__summary{font-size:.8125rem;font-weight:600;color:var(--color-text)}.history__time{flex-shrink:0;font-size:.75rem;color:var(--color-text-muted)}.history__change{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45;word-break:break-word}.history__value{color:var(--color-text)}.history__arrow{margin:0 .375rem;color:var(--color-text-muted)}.modal__attachments{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.attachments__header{display:flex;align-items:center;gap:.5rem}.attachments__title{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.attachments__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--color-accent-subtle);color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.attachments__error{margin:0;color:var(--color-danger);font-size:.8125rem}.attachments__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.625rem;padding:.375rem;margin:-.375rem}.attachments__item{position:relative;overflow:visible}.attachments__preview-btn{display:block;width:100%;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);overflow:hidden;cursor:pointer}.attachments__preview-btn:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.attachments__delete{position:absolute;top:-.375rem;right:-.375rem;z-index:1;display:grid;place-items:center;width:1.375rem;height:1.375rem;padding:0;border:1.5px solid var(--color-border);border-radius:999px;background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;box-shadow:0 1px 3px #0000002e;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.attachments__delete-icon{display:block;flex-shrink:0}.attachments__delete:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);color:#fff}.attachments__delete:disabled{opacity:.6;cursor:not-allowed}.attachments__file-input{display:none}.attachments__actions{display:flex;align-items:center}.attachment-image{display:block;width:100%;aspect-ratio:1;object-fit:cover}.attachment-image--loading{background:linear-gradient(90deg,var(--color-bg) 0%,var(--color-bg-elevated) 50%,var(--color-bg) 100%);background-size:200% 100%;animation:attachment-shimmer 1.2s ease-in-out infinite}.attachment-image--error{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:.5rem;font-size:.6875rem;color:var(--color-text-muted);text-align:center}@keyframes attachment-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.attachment-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000b8}.attachment-lightbox__content{max-width:min(960px,100%);max-height:min(80vh,100%)}.attachment-lightbox__image{max-width:100%;max-height:80vh;width:auto;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:var(--radius-sm)}.attachment-lightbox__close{position:absolute;top:1rem;right:1rem;z-index:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:0;background:transparent;color:#fff;font-size:2rem;font-weight:300;line-height:1;cursor:pointer;text-shadow:0 1px 4px rgb(0 0 0 / 80%);transition:opacity var(--transition-fast)}.attachment-lightbox__close:hover{opacity:.75}.modal__discussion{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.discussion__header{display:flex;align-items:center;gap:.5rem}.discussion__title{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.discussion__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--color-accent-subtle);color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.discussion__messages{display:flex;flex-direction:column;gap:.625rem;max-height:280px;overflow-y:auto;padding:.25rem .125rem}.discussion__status,.discussion__empty{margin:0;color:var(--color-text-muted);font-size:.8125rem}.discussion__error{margin:0;color:var(--color-danger);font-size:.8125rem}.discussion__message{padding:.625rem .75rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.discussion__message--unread{background:var(--color-accent-subtle);border-color:color-mix(in srgb,var(--color-accent) 25%,var(--color-border))}.discussion__message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.discussion__message-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.discussion__delete{padding:0;border:none;background:transparent;color:var(--color-text-muted);font-size:.6875rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.discussion__delete:hover:not(:disabled){color:var(--color-text)}.discussion__delete--confirm{color:var(--color-danger)}.discussion__delete--confirm:hover:not(:disabled){color:var(--color-danger)}.discussion__delete:disabled{opacity:.6;cursor:not-allowed}.discussion__author{font-size:.75rem;font-weight:600;color:var(--color-text)}.discussion__time{flex-shrink:0;font-size:.6875rem;color:var(--color-text-muted)}.discussion__body{margin:0;font-size:.8125rem;line-height:1.45;color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.discussion__attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.discussion__attachment-btn{padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;overflow:hidden;cursor:pointer;width:88px}.discussion__attachment-btn:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.discussion__attachment-image{width:88px;height:88px}.discussion__pending-files{display:flex;flex-wrap:wrap;gap:.5rem}.discussion__pending-file{position:relative;width:72px;height:72px}.discussion__pending-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.discussion__pending-remove{position:absolute;top:.2rem;right:.2rem;width:1.125rem;height:1.125rem;padding:0;border:none;border-radius:999px;background:color-mix(in srgb,var(--color-bg-elevated) 90%,transparent);color:var(--color-text);font-size:.75rem;line-height:1;cursor:pointer}.discussion__composer{display:flex;flex-direction:column;gap:.5rem}.discussion__composer-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.discussion__attach-btn{flex-shrink:0}.discussion__input{width:100%;min-height:3.5rem;resize:vertical;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);line-height:1.5}.discussion__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}.discussion__send{margin-left:auto}.modal__footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.modal__actions{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.cursor-tooltip-target{display:inline-flex}.cursor-tooltip{position:fixed;z-index:2000;pointer-events:none;padding:.375rem .625rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md)}.truncated-tooltip{max-width:min(280px,calc(100vw - 2rem));white-space:normal;word-break:break-word}.modal__delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:2.25rem;height:2.375rem;padding:0 .5625rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.8125rem;font-weight:600;overflow:hidden;white-space:nowrap;transition:min-width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),gap .28s cubic-bezier(.4,0,.2,1),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.modal__delete-btn:hover{color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.modal__delete-btn--confirm{min-width:9.5rem;height:2.625rem;gap:.4375rem;padding:0 .9375rem;color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}.modal__delete-btn--confirm:hover{background:color-mix(in srgb,var(--color-danger) 20%,transparent);border-color:color-mix(in srgb,var(--color-danger) 55%,transparent);color:var(--color-danger)}.modal__delete-icon{display:block;flex-shrink:0}.modal__delete-label{max-width:0;opacity:0;overflow:hidden;transition:max-width .28s cubic-bezier(.4,0,.2,1),opacity .22s ease}.modal__delete-btn--confirm .modal__delete-label{max-width:7.5rem;opacity:1}.confirm-dialog{width:min(440px,100%)}.confirm-dialog__title{margin:.5rem 0 0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.confirm-dialog__message{margin:.875rem 0 0;color:var(--color-text-muted);font-size:.9375rem;line-height:1.6}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.project-list::-webkit-scrollbar,.app-layout__main::-webkit-scrollbar,.kanban-board-scroll::-webkit-scrollbar,.kanban-column__tickets::-webkit-scrollbar,.modal::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-thumb,.app-layout__main::-webkit-scrollbar-thumb,.kanban-board-scroll::-webkit-scrollbar-thumb,.kanban-column__tickets::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:999px}.project-list::-webkit-scrollbar-thumb:hover,.app-layout__main::-webkit-scrollbar-thumb:hover,.kanban-board-scroll::-webkit-scrollbar-thumb:hover,.kanban-column__tickets::-webkit-scrollbar-thumb:hover,.modal::-webkit-scrollbar-thumb:hover{background:var(--color-accent-soft)}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:420px;padding:2rem;border-radius:var(--radius-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.auth-card__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.auth-card__title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.auth-card__subtitle{margin:0 0 1.5rem;color:var(--color-text-muted)}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-form__label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.auth-form input{width:100%}.auth-form__error{margin:0;color:var(--color-danger);font-size:.875rem}.auth-form__submit{margin-top:.5rem;padding:.75rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-primary-text);font-weight:600;transition:background var(--transition-fast)}.auth-form__submit:hover:not(:disabled){background:var(--color-accent-hover)}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-card__success h2{margin:0 0 .75rem;font-size:1.125rem}.auth-card__success p{margin:0 0 1.25rem;color:var(--color-text-muted)}.auth-card__link-button{padding:0;border:none;background:none;color:var(--color-accent-muted);font-weight:600}.auth-card__link-button:hover{color:var(--color-accent)}.auth-tabs{display:flex;gap:.25rem;padding:.25rem;margin-bottom:1rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.auth-tabs__tab{flex:1;padding:.5rem .75rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.auth-tabs__tab:hover{color:var(--color-text)}.auth-tabs__tab--active{background:var(--color-bg-elevated);color:var(--color-text);box-shadow:var(--shadow-sm)}.auth-form__switch{margin:1rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.set-password{display:flex;flex-direction:column;gap:.5rem}.set-password__toggle,.set-password__cancel{padding:0;border:none;background:none;color:var(--color-accent-muted);font-size:.8125rem;font-weight:600;text-align:left}.set-password__toggle:hover,.set-password__cancel:hover{color:var(--color-accent)}.set-password__form{display:flex;flex-direction:column;gap:.5rem}.set-password__label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.set-password__form input{width:100%;padding:.5rem .625rem;font-size:.875rem}.set-password__error{margin:0;color:var(--color-danger);font-size:.8125rem}.set-password__success{margin:0;color:var(--color-accent-muted);font-size:.8125rem;line-height:1.4}.set-password__actions{display:flex;align-items:center;gap:.75rem}.set-password__submit{padding:.375rem .625rem;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-primary-text);font-size:.8125rem;font-weight:600}.set-password__submit:hover:not(:disabled){background:var(--color-accent-hover)}.set-password__submit:disabled{opacity:.6;cursor:not-allowed}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-muted)}.loading-screen__spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.refresh-spinner{width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;opacity:1;transition:opacity .24s ease;flex-shrink:0}.refresh-spinner--hiding{opacity:0}@media(prefers-reduced-motion:reduce){.refresh-spinner{animation:none}}.app-error{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#7f1d1deb;border:1px solid rgba(248,113,113,.35);color:#fecaca;box-shadow:var(--shadow-md)}.app-error p{margin:0}.app-error button{padding:.375rem .75rem;border:1px solid rgba(254,202,202,.35);border-radius:var(--radius-sm);background:transparent;color:inherit}.deploy-update-toast{position:fixed;top:1.25rem;right:1.25rem;z-index:2100;display:flex;align-items:center;gap:1rem;max-width:min(24rem,calc(100vw - 2rem));padding:.875rem 1rem;border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);color:var(--color-text);box-shadow:var(--shadow-md);animation:deploy-update-toast-in .28s cubic-bezier(.16,1,.3,1)}@keyframes deploy-update-toast-in{0%{opacity:0;transform:translate(calc(100% + 1.25rem))}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.deploy-update-toast{animation:none}}.deploy-update-toast__message{margin:0;font-size:.875rem;font-weight:500}.deploy-update-toast__button{flex-shrink:0}.deploy-update-toast--success{border-color:#10b98173;box-shadow:var(--shadow-md),0 0 0 1px #10b9811f}.deploy-update-toast--success .deploy-update-toast__message{color:var(--color-text)}.sidebar__footer{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.user-settings{position:relative}.user-settings__row{display:flex;align-items:center;gap:.5rem}.user-settings__label{margin:0;flex:1;min-width:0;font-size:.8125rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-settings__trigger{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.user-settings__trigger:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-hover)}.user-settings-modal__email-row{position:relative;margin-top:.5rem}.user-settings-modal__email-row--has-save{padding-right:6.75rem}.user-settings-modal__email-hint{margin:0;min-width:0}.user-settings-modal__email{color:var(--color-text);word-break:break-all}.user-settings-modal__save-name{position:absolute;right:0;top:50%;transform:translateY(-50%)}.user-settings-modal__section{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.user-settings-modal__theme{width:100%}.user-settings-modal__footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.user-settings-modal__sign-out{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.875rem;text-align:left;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.user-settings-modal__sign-out:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-hover)}.user-settings-modal .set-password__toggle{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.user-settings-modal .set-password__toggle:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-hover)}.theme-toggle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.875rem;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-hover)}.theme-toggle__track{position:relative;flex-shrink:0;width:2.5rem;height:1.375rem;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border);transition:background var(--transition-fast)}.theme-toggle__thumb{position:absolute;top:50%;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:var(--color-text-muted);transform:translateY(-50%);transition:transform var(--transition-smooth),background var(--transition-fast)}.theme-toggle[aria-pressed=true] .theme-toggle__thumb{transform:translate(1.125rem,-50%);background:var(--color-accent)}.theme-toggle__label{font-weight:500}.auth-page__theme-toggle{position:absolute;top:1.5rem;right:1.5rem;width:auto}@media(max-width:850px){.board-header__actions{flex-direction:column;align-items:flex-end;gap:.375rem}.board-header__actions-primary,.board-header__actions-secondary{gap:.375rem}.board-header__actions-secondary{width:100%}}@media(max-width:650px){html,body,#root{overflow-x:hidden;max-width:100%}.app-layout{flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;max-width:100%;overflow-x:hidden;overflow-y:auto}.app-layout__sidebar-shell{position:sticky;top:0;z-index:55;width:100%!important;max-width:100%;transition:none;background:var(--color-bg-elevated);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.app-layout[data-sidebar-collapsed=true] .app-layout__sidebar-shell{width:100%!important}.sidebar-resize-handle,.sidebar-panel-toggle,.sidebar-panel-toggle--expand{display:none}.sidebar{width:100%;min-width:0;max-width:100%;border-right:none;border-bottom:none;padding:.625rem 1rem 0}.sidebar__brand{width:100%;margin-bottom:0;padding-bottom:.625rem;padding-right:0;border-bottom:1px solid var(--color-border);gap:.5rem}.sidebar__brand-row{flex:1;min-width:0}.sidebar__menu-toggle{display:inline-flex;flex-shrink:0}.sidebar__drawer{display:none}.sidebar__drawer--mobile{--mobile-header-height: calc(1.25rem + 31px + env(safe-area-inset-top, 0px)) ;position:fixed;top:var(--mobile-header-height);right:0;bottom:0;left:auto;z-index:50;display:flex;flex-direction:column;width:min(320px,92vw);max-width:100%;height:calc(100dvh - var(--mobile-header-height));max-height:calc(100dvh - var(--mobile-header-height));padding:0;background:var(--color-bg-elevated);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden;transform:translate(100%);visibility:hidden;pointer-events:none;transition:transform var(--transition-smooth),visibility var(--transition-smooth)}.sidebar__drawer--mobile.sidebar__drawer--open{transform:translate(0);visibility:visible;pointer-events:auto}.sidebar__drawer-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-right:max(1rem,env(safe-area-inset-right));opacity:0;transition:opacity var(--transition-smooth)}.sidebar__drawer--mobile.sidebar__drawer--open .sidebar__drawer-scroll{opacity:1}.sidebar__drawer--mobile .sidebar__projects{flex:none;min-height:auto;overflow:visible;margin-right:0;padding-right:0}.sidebar__drawer--mobile .sidebar__actions{margin-top:.75rem}.sidebar__drawer--mobile .sidebar__footer{margin-top:0;padding-top:1rem}.mobile-menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;padding:0;border:none;background:var(--color-modal-overlay);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-smooth),visibility var(--transition-smooth)}.mobile-menu-backdrop--visible{opacity:1;visibility:visible;pointer-events:auto}@media(prefers-reduced-motion:reduce){.sidebar__drawer--mobile,.sidebar__drawer--mobile .sidebar__drawer-scroll,.mobile-menu-backdrop{transition:none}}.app-layout__main{padding:1rem;overflow-x:hidden;overflow-y:visible;min-height:auto;min-width:0;max-width:100%;flex:1}.app-layout[data-sidebar-collapsed=true] .app-layout__main{padding-left:1rem}.board-view{min-height:60vh;min-width:0;max-width:100%;overflow-x:hidden}.board-header__title{font-size:1.375rem;overflow-wrap:anywhere;word-break:break-word}.board-header__edit-columns{font-size:.75rem;padding:.3125rem .625rem}.board-column-edit-banner{min-width:0;max-width:100%;margin-left:0;margin-right:0}.board-column-edit-banner__hint{overflow-wrap:anywhere}.kanban-board-scroll{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.kanban-board{--kanban-column-width: min(280px, calc(100vw - 2rem) );gap:.875rem}.board-view--column-edit .kanban-board-scroll{padding:.5rem}.board-empty{padding:2.5rem 1rem;max-width:100%}.removed-project-notice__content{max-width:100%}.modal-overlay{padding:.75rem}.modal{padding:1.25rem}.modal__footer{flex-wrap:wrap;gap:.75rem}.modal__actions,.confirm-dialog__actions{flex-wrap:wrap}.deploy-update-toast{left:.75rem;right:.75rem;top:.75rem;max-width:none}.app-error{left:.75rem;right:.75rem;transform:none;max-width:calc(100vw - 1.5rem)}}
