*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #5746af;--primary-hover: #463896;--primary-subtle: rgba(87, 70, 175, .08);--secondary: #847d72;--secondary-hover: #6e675f;--danger: #c53030;--danger-hover: #a52828;--danger-subtle: rgba(197, 48, 48, .08);--success: #2f855a;--bg: #f5f2ec;--bg-raised: #eee9e0;--card-bg: #ffffff;--border: #e0dbd2;--border-hover: #cdc6ba;--text: #1c1917;--text-secondary: #78716c;--text-tertiary: #a8a29e;--shadow: 0 1px 2px rgba(28, 25, 23, .05), 0 1px 4px rgba(28, 25, 23, .08);--shadow-lg: 0 8px 24px rgba(28, 25, 23, .12), 0 2px 6px rgba(28, 25, 23, .06);--shadow-xl: 0 16px 48px rgba(28, 25, 23, .16), 0 4px 12px rgba(28, 25, 23, .08);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--font-display: "Red Hat Display", system-ui, sans-serif;--font-ui: "Figtree", system-ui, -apple-system, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--primary: #c97d3a;--primary-hover: #e09a56;--primary-subtle: rgba(201, 125, 58, .12);--secondary: #8a7d6e;--secondary-hover: #a09080;--danger: #e05252;--danger-hover: #c04040;--danger-subtle: rgba(224, 82, 82, .1);--success: #5a9e72;--bg: #1a1714;--bg-raised: #221e1b;--card-bg: #2a2520;--border: #3a342e;--border-hover: #4a443c;--text: #f0ebe3;--text-secondary: #a89880;--text-tertiary: #6e6058;--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6)}::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:none;mix-blend-mode:normal;clip-path:circle(0px at 50% 50%)}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::selection{background:var(--primary);color:#fff}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.25rem;font-family:var(--font-display);font-size:1.125rem;color:var(--text-secondary)}.loading-inline{display:flex;justify-content:center;padding:2rem}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes calPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:radial-gradient(ellipse at 30% 20%,rgba(87,70,175,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(232,93,4,.04) 0%,transparent 50%),var(--bg)}[data-theme=dark] .login-container{background:radial-gradient(ellipse at 30% 20%,rgba(139,124,247,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(232,93,4,.03) 0%,transparent 50%),var(--bg)}.login-card{background:var(--card-bg);padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-width:400px;animation:slideUp .5s var(--ease-spring)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem}.login-logo svg{filter:drop-shadow(0 2px 8px rgba(87,70,175,.25))}.pliny-lockup{display:inline-flex;align-items:center;gap:8px}.pliny-lockup-name{font-family:var(--font-display);font-weight:700;color:var(--primary);letter-spacing:-.03em;line-height:1}.login-logo .pliny-lockup{flex-direction:column;gap:.5rem}.login-logo .pliny-lockup-name{font-size:2.25rem}.app-bar-left .pliny-lockup-name{font-size:1.1rem;font-weight:600}.login-card form button[type=submit]{width:100%;margin-top:.5rem;background:var(--primary);color:#fff}.login-card form button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.85rem;color:var(--text-secondary);letter-spacing:.01em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:var(--font-ui);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:var(--card-bg);color:var(--text)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-secondary)}.error{color:var(--danger);font-size:.875rem;margin-bottom:1rem;padding:.625rem .875rem;background:var(--danger-subtle);border-radius:var(--radius);border:1px solid transparent}[data-theme=dark] .error{background:var(--danger-subtle)}button{font-family:var(--font-ui);font-size:.875rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s var(--ease);font-weight:500;letter-spacing:.01em}.btn-with-icon{display:inline-flex;align-items:center;gap:.375rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-family:var(--font-ui);font-size:.85rem;padding:0;text-decoration:none}.btn-link:hover{text-decoration:underline}.btn-spinner{display:inline-flex;align-items:center;gap:.5rem}.btn-spinner .spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.btn-secondary .spinner-sm,.btn-link .spinner-sm{border-color:#00000026;border-top-color:var(--text-secondary)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #5746af40}[data-theme=dark] .btn-primary:hover:not(:disabled){box-shadow:0 2px 8px #8b7cf733}.btn-secondary{background:var(--bg-raised);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);border-color:var(--border-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px)}.btn-icon{padding:.375rem .5rem;background:transparent;color:var(--text-secondary);font-size:1.25rem;line-height:1;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--bg-raised);color:var(--text)}.btn-delete{padding:.125rem .375rem;background:transparent;color:var(--text-secondary);font-size:1.25rem;line-height:1;border-radius:var(--radius-sm);opacity:0;transition:all .15s var(--ease)}.btn-delete:hover{background:var(--danger-subtle);color:var(--danger)}.kanban-card:hover .card-header-menu .btn-kebab,.column-header:hover .btn-delete{opacity:1}.card-header-menu{position:relative}.kebab-dropdown.kebab-dropdown-portal{position:fixed;right:auto;top:auto;transform:translate(-100%);z-index:9999}.app-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1rem;height:3.25rem;background:var(--card-bg);border-bottom:1px solid var(--border);flex-shrink:0;position:relative}.app-bar-left{display:flex;align-items:center;gap:.5rem;min-width:0}.app-bar-back{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);border:none;cursor:pointer;transition:all .15s var(--ease);flex-shrink:0}.app-bar-back:hover{background:var(--bg-raised);color:var(--text)}.app-bar-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;letter-spacing:-.01em}.app-bar-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.app-bar-actions{display:flex;align-items:center;gap:.375rem}.app-bar-global{display:flex;align-items:center;gap:.125rem;margin-left:.25rem;padding-left:.5rem;border-left:1px solid var(--border)}.app-bar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);border:none;cursor:pointer;transition:all .15s var(--ease);position:relative}.app-bar-icon-btn:hover{background:var(--bg-raised);color:var(--text)}.app-bar-bell-mobile{display:none}.app-bar-bell-desktop{display:flex}.app-bar-bell-desktop .notification-bell-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);border:none;cursor:pointer;transition:all .15s var(--ease)}.app-bar-bell-desktop .notification-bell-btn:hover{background:var(--bg-raised);color:var(--text)}.app-bar-bell-desktop .notification-dropdown{top:calc(100% + 4px);right:0}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:opacity .15s var(--ease)}.user-menu-trigger:hover{opacity:.85}.user-avatar{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);color:#fff;font-family:var(--font-display);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;line-height:1}.user-avatar-img{object-fit:cover;background:none}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:200px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xl);z-index:500;animation:fadeIn .12s var(--ease);padding:.25rem}.user-menu-info{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;gap:.5rem}.user-menu-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:var(--border);margin:.25rem 0}.user-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;color:var(--text);transition:background .1s var(--ease);text-align:left}.user-menu-item:hover{background:var(--bg-raised)}.user-menu-item svg{color:var(--text-secondary);flex-shrink:0}.user-menu-logout:hover{background:var(--danger-subtle);color:var(--danger)}.user-menu-logout:hover svg{color:var(--danger)}.login-theme-toggle{position:fixed;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s var(--ease);z-index:100;padding:0}.login-theme-toggle:hover{background:var(--bg-raised);color:var(--text);box-shadow:var(--shadow-lg)}.board-list-container{padding:2rem;max-width:1200px;margin:0 auto;animation:slideUp .4s var(--ease-spring)}.board-list-container .app-bar{margin-bottom:1.5rem;border-bottom:none;padding:0;height:auto;background:transparent}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.import-dropdown{position:relative;display:inline-block}.import-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;z-index:100;animation:dropdownIn .15s var(--ease)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.import-dropdown-menu button{display:block;width:100%;text-align:left;padding:.6rem .875rem;font-size:.875rem;background:none;border:none;color:var(--text);cursor:pointer;transition:background .15s var(--ease)}.import-dropdown-menu button:hover{background:var(--primary-subtle)}.import-dropdown-menu button:first-child{border-radius:var(--radius) var(--radius) 0 0}.import-dropdown-menu button:last-child{border-radius:0 0 var(--radius) var(--radius)}.import-dropdown-menu button:only-child{border-radius:var(--radius)}.view-toggle{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.view-toggle-btn{padding:.25rem .5rem;border-radius:calc(var(--radius-sm) - 2px);min-width:unset;min-height:unset}.view-toggle-btn.active{background:var(--card-bg);color:var(--primary);box-shadow:0 1px 2px #00000014}.calendar-container{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 1rem 1rem}.calendar-nav{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;flex-shrink:0}.calendar-nav-left{display:flex;align-items:center;gap:.25rem}.calendar-nav-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.calendar-nav-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0}.calendar-nav .btn-icon{color:var(--text-secondary);transition:color .1s}.calendar-nav .btn-icon:hover{color:var(--text)}.calendar-view-type{display:flex;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px}.calendar-view-type .btn-sm{padding:.25rem .75rem;font-size:.75rem;min-height:unset;border:none;border-radius:var(--radius-pill);transition:all .15s var(--ease)}.calendar-view-type .btn-secondary{background:transparent;border:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;border-radius:var(--radius);overflow:hidden;background:var(--bg);gap:1px}.calendar-day-header{padding:.5rem;text-align:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--card-bg)}.calendar-day{min-height:5.5rem;padding:.375rem;display:flex;flex-direction:column;overflow:visible;background:var(--card-bg);transition:background .1s;position:relative}.calendar-day:hover{background:var(--bg-raised)}.calendar-day-number{font-size:.8rem;font-weight:500;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-secondary);margin-bottom:.25rem}.calendar-today .calendar-day-number{background:var(--primary);color:#fff;font-weight:700}.calendar-outside{opacity:.4}.calendar-day-cards{flex:1;display:flex;flex-direction:column;gap:2px;overflow:visible}.calendar-card-chip{position:relative;display:flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;line-height:1.3;transition:background .1s;overflow:hidden}.calendar-card-chip:hover{background:var(--bg-raised)}.chip-kebab{background:transparent;border:none;padding:0 .125rem;cursor:pointer;color:var(--text-secondary);flex-shrink:0;display:none}.chip-menu{position:absolute;top:100%;right:0;z-index:50;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:140px;overflow:hidden}.chip-menu button{display:block;width:100%;padding:.5rem .75rem;background:transparent;border:none;text-align:left;font-size:.8rem;cursor:pointer;color:var(--text)}.chip-menu button:hover{background:var(--bg-raised)}.chip-date-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.chip-column-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-more-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.7rem;padding:.125rem .375rem;cursor:pointer;text-align:left}.calendar-more-btn:hover{color:var(--primary)}.week-grid{grid-template-columns:repeat(7,1fr)}.calendar-week-day{min-height:20rem}.calendar-week-day-header{display:flex;align-items:baseline;gap:.375rem;padding:.375rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.calendar-week-day-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.week-grid .calendar-week-day:nth-child(2n){background:color-mix(in srgb,var(--bg) 30%,var(--card-bg))}.week-grid .calendar-today{background:color-mix(in srgb,var(--primary) 6%,var(--card-bg))}.week-grid .calendar-today .calendar-week-day-name,.week-grid .calendar-today .calendar-day-number{color:var(--primary)}.week-grid .calendar-week-day:not(:last-child){border-right:1px solid var(--border)}.calendar-week-day-header .calendar-day-number{font-size:1.1rem;font-weight:600;margin-bottom:0}.calendar-week-day .calendar-day-cards{padding:.25rem 0;overflow:visible}.week-grid .calendar-card-chip{white-space:normal;padding:.25rem .375rem;margin-left:.25rem;margin-right:.25rem}.week-grid .calendar-subtask-chip{margin-left:.25rem;margin-right:.25rem}.calendar-drag-over{background:var(--primary-subtle)}.calendar-unscheduled-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem;border-bottom:1px solid var(--border);min-height:2.25rem;transition:background .1s}.calendar-unscheduled-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.calendar-unscheduled-chips{display:flex;gap:.25rem;overflow-x:auto;flex:1;scrollbar-width:none}.calendar-unscheduled-chips::-webkit-scrollbar{display:none}.calendar-unscheduled-row.expanded{align-items:flex-start}.calendar-unscheduled-row.expanded .calendar-unscheduled-chips{flex-wrap:wrap;overflow-x:visible}.calendar-unscheduled-toggle{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;flex-shrink:0;padding:0 .25rem;transition:transform .2s var(--ease);transform:rotate(-90deg)}.calendar-unscheduled-toggle:hover{color:var(--text)}.calendar-unscheduled-toggle.expanded{transform:rotate(90deg)}.calendar-unscheduled-empty{font-size:.75rem;color:var(--text-secondary);opacity:.6}.calendar-layout{display:flex;flex-direction:column;flex:1;overflow:hidden}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.board-card{background:var(--card-bg);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease);position:relative;overflow:visible;z-index:0}.board-card:has(.kebab-dropdown){z-index:20}.board-card:hover{transform:translateY(-3px);box-shadow:inset 0 3px 0 var(--primary),var(--shadow-lg);border-color:var(--border-hover)}.board-card h3{margin-bottom:.5rem;font-weight:600;font-size:1.05rem;color:var(--text)}.board-card p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem;line-height:1.5}.board-meta{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.empty-state{text-align:center;padding:4rem 1.5rem;color:var(--text-secondary);grid-column:1 / -1;font-size:.95rem}.kanban-container{height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;max-width:100vw}.kanban-container>.app-bar{flex-shrink:0}.filter-bar{display:flex;gap:.5rem;padding:.5rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--border);align-items:center;flex-wrap:wrap;flex-shrink:0}.filter-input{padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);min-width:160px;flex:1;max-width:260px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.filter-select{padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .15s var(--ease)}.filter-select:focus{outline:none;border-color:var(--primary)}.active-filter{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.filter-checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.filter-checkbox-label input{width:1rem;height:1rem;cursor:pointer}.columns-container{display:flex;gap:1rem;padding:1rem 1.25rem;overflow-x:auto;overflow-y:hidden;flex:1;align-items:flex-start;-webkit-overflow-scrolling:touch;touch-action:pan-x}.add-column-btn{min-width:220px;height:40px;border:2px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;white-space:nowrap;align-self:flex-start;flex-shrink:0;transition:border-color .15s,color .15s}.add-column-btn:hover{border-color:var(--amber);color:var(--amber)}.empty-board{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-board-content{text-align:center;color:var(--text-secondary);max-width:320px}.empty-board-content svg{margin-bottom:1rem;opacity:.4}.empty-board-content h3{font-family:var(--font-display);font-size:1.25rem;color:var(--text);margin:0 0 .5rem}.empty-board-content p{margin:0 0 1.5rem;font-size:.9rem}.empty-board-content .btn-primary{padding:.6rem 1.5rem;font-size:.9rem}.column{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border);width:300px;flex-shrink:0;flex-grow:0;display:flex;flex-direction:column;max-height:calc(100vh - 155px);transition:box-shadow .2s var(--ease);overflow:hidden}.column-header{padding:.875rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none}.column-header:active{cursor:grabbing}.column-header h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.column-header-actions{display:flex;align-items:center;gap:.375rem}.card-count{background:var(--card-bg);border:1px solid var(--border);padding:.125rem .5rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;color:var(--text-secondary)}.cards-list{padding:.5rem;overflow-y:auto;flex:1;min-height:80px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.kanban-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .75rem .75rem 1.75rem;margin-bottom:.5rem;cursor:pointer;transition:all .2s var(--ease);touch-action:pan-x pan-y;position:relative;min-width:0;overflow-wrap:break-word;word-break:break-word}.card-drag-handle{position:absolute;top:0;left:0;width:24px;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);touch-action:none;cursor:grab;opacity:0;transition:opacity .15s;border-radius:var(--radius) 0 0 var(--radius);-webkit-user-select:none;user-select:none;z-index:1}.card-drag-handle:active{cursor:grabbing}.drag-dots{font-size:14px;line-height:1}.kanban-card:hover .card-drag-handle{opacity:.5}.kanban-card:hover .card-drag-handle:hover{opacity:1;background:var(--bg-hover)}@media (pointer: coarse){.card-drag-handle{opacity:.35;min-width:36px;min-height:44px;width:32px}.kanban-card{padding-left:2rem}.kanban-card:active .card-drag-handle{opacity:.7}}.kanban-card.editing,.kanban-card.card-detail{padding:1rem}.kanban-card:hover{box-shadow:var(--shadow);border-color:var(--border-hover);transform:translateY(-1px)}.kanban-card:active{cursor:pointer}.kanban-card.editing{cursor:default;box-shadow:var(--shadow-lg);border-color:var(--primary);transform:none;touch-action:auto}.kanban-card.card-selected{outline:2px solid var(--primary);outline-offset:-2px;background:color-mix(in srgb,var(--primary) 8%,var(--card-bg))}.bulk-action-toolbar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem .75rem;z-index:1100;animation:modalIn .25s var(--ease-spring);max-width:95vw}.bulk-toolbar-left{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bulk-select-all{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--text)}.bulk-select-all input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.bulk-toolbar-actions{display:flex;align-items:center;gap:.5rem}.bulk-action-group{position:relative}.bulk-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:180px;max-height:240px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1200;animation:modalIn .15s var(--ease-spring)}.bulk-dropdown button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;font-size:.85rem;color:var(--text);cursor:pointer}.bulk-dropdown button:hover{background:var(--hover)}.bulk-dropdown-empty{padding:.5rem .75rem;font-size:.8rem;color:var(--text-secondary)}.bulk-label-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.bulk-toolbar-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:0 .25rem;line-height:1}.bulk-toolbar-close:hover{color:var(--text)}.card-edit-title{width:100%;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;font-family:var(--font-ui);margin-bottom:.5rem;background:var(--bg);color:var(--text);transition:border-color .15s var(--ease)}.card-edit-title:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.card-edit-description{width:100%;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;resize:vertical;font-family:var(--font-ui);background:var(--bg);color:var(--text);margin-top:.25rem;margin-bottom:.5rem;transition:border-color .15s var(--ease)}.card-edit-description:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.md-editor{margin-top:.25rem;margin-bottom:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.md-editor-header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.375rem;background:var(--bg-raised);border-bottom:1px solid var(--border)}.md-editor-tabs{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem;flex-shrink:0}.md-tab-btn{font-size:.75rem;padding:.25rem .625rem;white-space:nowrap;min-width:fit-content;min-height:unset!important}.md-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.md-editor-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;gap:2px;margin-left:auto;flex-shrink:0}.md-toolbar-btn{padding:.2rem .4rem;background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;cursor:pointer;line-height:1;font-family:SF Mono,Fira Code,Cascadia Code,monospace;transition:background .1s var(--ease),color .1s var(--ease);white-space:nowrap;min-height:unset!important}.md-toolbar-btn:hover{background:var(--border);color:var(--text)}.md-editor .md-editor-textarea{border:none;border-radius:0;margin:0;resize:vertical;min-height:120px}.md-editor .md-editor-textarea:focus{box-shadow:none;border-color:transparent}.md-editor-preview{padding:.5rem .625rem;background:var(--bg-raised);min-height:120px;max-height:300px;overflow-y:auto}.md-editor-preview-empty{color:var(--text-secondary);font-size:.8125rem;font-style:italic}.card-fullscreen-body .md-editor{flex:1;display:flex;flex-direction:column}.card-fullscreen-body .md-editor .md-editor-textarea{min-height:200px}.card-fullscreen-body .md-editor-preview{max-height:none;flex:1}.card-labels{display:flex;gap:.2rem;margin-bottom:.5rem}.card-label-bar{display:inline-block;width:28px;height:6px;border-radius:3px}.label-picker{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.label-toggle{padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;cursor:pointer;border:2px solid transparent;background:var(--label-color);color:#fff;opacity:.4;transition:all .15s var(--ease);letter-spacing:.02em}.label-toggle.selected{opacity:1;border-color:var(--text);box-shadow:0 1px 3px #00000026}.label-toggle:hover{opacity:.75}.assignee-picker{margin-bottom:.5rem}.assignee-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.375rem}.assignee-chip{display:inline-flex;align-items:center;gap:.2rem;background:var(--primary);color:#fff;padding:.2rem .5rem;border-radius:var(--radius-pill);font-size:.8rem}.chip-name{font-weight:500}.chip-remove{background:transparent;border:none;color:#ffffffb3;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .15rem;transition:color .1s}.chip-remove:hover{color:#fff}.assignee-input-wrapper{position:relative}.assignee-input{width:100%;padding:.4rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.8125rem;font-family:var(--font-ui);transition:border-color .15s var(--ease)}.assignee-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.mention-autocomplete{position:absolute;top:100%;left:0;right:0;max-height:150px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100;margin-top:.25rem;animation:fadeIn .1s var(--ease)}.mention-item{padding:.5rem .75rem;cursor:pointer;font-size:.8125rem;border-bottom:1px solid var(--border);transition:background .1s}.mention-item:last-child{border-bottom:none}.mention-item:hover,.mention-item.selected{background:var(--primary);color:#fff}.mention-item-freetext{font-style:italic;color:var(--text-secondary)}.mention-item-freetext:hover,.mention-item-freetext.selected{color:#fff}.card-edit-actions{display:flex;gap:.375rem;padding-top:.25rem;align-items:center}.card-edit-actions-menu{position:relative;margin-left:auto}.card-edit-actions-menu .btn-kebab{opacity:1}.btn-archive{color:var(--text-secondary)}.kanban-card.card-detail{cursor:default;box-shadow:var(--shadow-lg);transform:none;touch-action:auto;position:relative}.card-detail-close{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;padding:.125rem .375rem;border-radius:var(--radius-sm);transition:color .15s var(--ease)}.card-detail-close:hover{color:var(--text)}.card-detail-title{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:.5rem;border:none;padding:0;color:var(--text)}.card-detail-labels{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.card-detail-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.card-detail-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.45;word-break:break-word;background:var(--bg-raised);padding:.5rem .625rem;border-radius:var(--radius-sm)}.card-detail-field{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.375rem;font-size:.8125rem}.card-detail-field-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);flex-shrink:0}.kanban-card.card-detail .checklist-item input[type=checkbox]:disabled{opacity:1;cursor:default}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.card-header h4{font-size:.875rem;font-weight:500;flex:1;word-break:break-word;line-height:1.4}.card-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.25rem;word-break:break-word;line-height:1.45}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-top:.5rem;padding-top:.375rem;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.card-footer-left{display:flex;flex-wrap:wrap;gap:.25rem;min-width:0;flex:1}.card-footer-right{display:flex;gap:.25rem;flex-shrink:0}.assignee-badge{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);padding:.1rem .4rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:500;white-space:nowrap}.assignee-badge.member-badge{background:#3884f41f;border-color:#3884f44d;color:#3884f4}.due-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:600;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary)}.due-soon{background:#fef3c7;border-color:#fcd34d;color:#92400e}.due-overdue{background:#fee2e2;border-color:#fca5a5;color:#991b1b}[data-theme=dark] .due-soon{background:#fcd34d1f;border-color:#fcd34d4d;color:#fcd34d}[data-theme=dark] .due-overdue{background:#fc81811f;border-color:#fc81814d;color:#fca5a5}.date-range-picker{display:flex;gap:.75rem}.date-range-picker .due-date-picker{flex:1;min-width:0}.due-date-picker{margin-bottom:.5rem}.due-date-picker label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem;letter-spacing:.01em}.due-date-input-row{display:flex;align-items:center;gap:.25rem;min-width:0}.due-date-input{width:100%;min-width:0;padding:.35rem .375rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);color-scheme:inherit;transition:border-color .15s var(--ease)}.due-date-input:focus{outline:none;border-color:var(--primary)}.due-date-clear{color:var(--text-secondary);font-size:1.1rem;padding:.2rem .35rem}.section-toggle{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem 0;background:transparent;border:none;cursor:pointer;font-size:.8125rem;color:var(--text);font-family:var(--font-ui);transition:color .15s var(--ease)}.section-toggle:hover,.section-toggle:hover .section-chevron,.section-toggle:hover .section-type-icon{color:var(--primary)}.section-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .2s var(--ease),color .15s var(--ease)}.section-chevron.open{transform:rotate(90deg)}.section-type-icon{color:var(--text-secondary);flex-shrink:0;transition:color .15s var(--ease)}.section-toggle-label{font-weight:600;font-size:.8125rem}.section-toggle-count{margin-left:auto;font-size:.6875rem;font-weight:600;color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);padding:.05rem .4rem;border-radius:var(--radius-pill)}.section-content{animation:sectionReveal .15s var(--ease) both}@keyframes sectionReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.checklist-section{padding-top:.25rem;margin-bottom:.5rem;margin-top:.25rem;position:relative}.checklist-section:before{content:"";position:absolute;top:0;left:.25rem;right:.25rem;height:1px;background:var(--border)}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem;font-size:.8125rem}.checklist-progress-text{margin-left:auto;font-size:.6875rem;font-weight:600;color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);padding:.05rem .4rem;border-radius:var(--radius-pill)}.checklist-item{display:flex;align-items:center;gap:.375rem;padding:.2rem 0;font-size:.8125rem}.checklist-item input[type=checkbox]{cursor:pointer;width:15px;height:15px;flex-shrink:0;accent-color:var(--primary)}.checklist-item span{flex:1;word-break:break-word}.checked-text{text-decoration:line-through;color:var(--text-secondary)}.checklist-delete{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:0 .2rem;line-height:1;opacity:0;transition:all .1s}.checklist-item:hover .checklist-delete{opacity:1}.checklist-delete:hover{color:var(--danger)}.checklist-add{display:flex;gap:.25rem;margin-top:.375rem}.checklist-input{flex:1;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);transition:border-color .15s var(--ease)}.checklist-input:focus{outline:none;border-color:var(--primary)}.checklist-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:600;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary)}.checklist-done{background:#d1fae5;border-color:#6ee7b7;color:#065f46}[data-theme=dark] .checklist-done{background:#34d3991f;border-color:#34d3994d;color:#6ee7b7}.subtask-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:600;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary)}.subtask-done{background:#d1fae5;border-color:#6ee7b7;color:#065f46}[data-theme=dark] .subtask-done{background:#34d3991f;border-color:#34d3994d;color:#6ee7b7}.card-parent-chip{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--bg-raised);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--text-secondary);margin-bottom:.25rem}.parent-chip-arrow{font-size:.625rem;color:var(--text-tertiary)}.parent-chip-text{font-weight:500}.parent-card-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-raised);border-radius:var(--radius-sm);font-size:.8125rem;margin-bottom:.75rem}.parent-indicator-label{color:var(--text-secondary)}.parent-indicator-title{font-weight:500;color:var(--text)}.subtasks-section{padding-top:.25rem;margin-bottom:.5rem;margin-top:.25rem;font-size:.8125rem;position:relative}.subtasks-section:before{content:"";position:absolute;top:0;left:.25rem;right:.25rem;height:1px;background:var(--border)}.subtask-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.subtask-item:last-child{border-bottom:none}.subtask-checkbox{width:1rem;height:1rem;flex-shrink:0}.subtask-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtask-column-pill{font-size:.6875rem;padding:.125rem .5rem;background:var(--bg-raised);border-radius:var(--radius-pill);color:var(--text-secondary);flex-shrink:0}.subtask-assignees{display:flex;gap:-.25rem}.subtask-assignee-avatar{width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:#fff;margin-left:-.25rem}.subtask-assignee-avatar:first-child{margin-left:0}.subtask-add{display:flex;gap:.5rem;margin-top:.5rem}.subtask-input{flex:1;padding:.375rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);font-size:.8125rem}.subtask-input:focus{outline:none;border-color:var(--primary)}.comments-section{padding-top:.25rem;margin-bottom:.5rem;margin-top:.25rem;font-size:.8125rem;position:relative}.comments-section:before{content:"";position:absolute;top:0;left:.25rem;right:.25rem;height:1px;background:var(--border)}.empty-comments{color:var(--text-secondary);font-size:.8125rem;padding:.75rem 0;font-style:italic;text-align:center}.comment-item{display:flex;gap:.5rem;padding:.5rem 0}.comment-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;text-transform:uppercase}.comment-avatar-sm{width:24px;height:24px;font-size:.625rem}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;margin-bottom:.2rem}.comment-time{color:var(--text-tertiary);font-size:.6875rem}.comment-delete{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:0 .2rem;line-height:1;margin-left:auto;opacity:0;transition:all .1s}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{color:var(--danger)}.comment-bubble{background:var(--bg-raised);border-radius:0 var(--radius) var(--radius) var(--radius);padding:.375rem .625rem;font-size:.8125rem;color:var(--text);word-break:break-word;line-height:1.45}.comment-compose{display:flex;gap:.5rem;align-items:flex-start;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.comment-compose-input-wrapper{flex:1;position:relative}.comment-input{width:100%;padding:.4rem 2rem .4rem .625rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.8125rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);transition:border-color .15s var(--ease);resize:none;field-sizing:content;min-height:2rem;max-height:8rem;overflow-y:auto;line-height:1.4}.comment-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.comment-send-btn{position:absolute;right:.375rem;bottom:.375rem;background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);padding:.125rem;border-radius:var(--radius-sm);transition:color .15s var(--ease);display:flex;align-items:center;justify-content:center}.comment-send-btn:not(:disabled):hover{color:var(--primary)}.comment-send-btn:disabled{cursor:default;opacity:.3}.kanban-card.archived{opacity:.55;border-style:dashed;border-color:var(--border)}.archive-actions{display:flex;gap:.375rem;margin-top:.5rem}.btn-add-card{width:100%;padding:.625rem;background:transparent;color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius);text-align:left;font-size:.825rem;transition:all .15s var(--ease)}.btn-add-card:hover{background:var(--card-bg);border-color:var(--primary);color:var(--primary)}.new-card-form{padding:.5rem}.new-card-form input{width:100%;margin-bottom:.5rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);font-family:var(--font-ui);font-size:.875rem;transition:border-color .15s var(--ease)}.new-card-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.form-actions{display:flex;gap:.375rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1c191773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn .15s var(--ease)}[data-theme=dark] .modal-overlay{background:#0000008c}.modal{background:var(--card-bg);padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-width:480px;max-height:85vh;overflow-y:auto;animation:modalIn .25s var(--ease-spring)}.modal-wide{max-width:560px}.modal h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:1.25rem;letter-spacing:-.02em}.modal-subtitle{color:var(--text-secondary);font-size:.85rem;margin-top:-.75rem;margin-bottom:1.5rem;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.label-form{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.label-name-input{flex:1;min-width:120px;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);transition:border-color .15s var(--ease)}.label-name-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.color-picker{display:flex;gap:.3rem}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:all .12s var(--ease)}.color-swatch:hover{transform:scale(1.2)}.color-swatch.selected{border-color:var(--text);transform:scale(1.2);box-shadow:0 0 0 2px var(--card-bg)}.labels-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem}.label-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.label-pill{display:inline-block;padding:.2rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;color:#fff}.label-pill-editable{cursor:pointer;transition:opacity .15s}.label-pill-editable:hover{opacity:.8}.label-edit-row{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.label-rename-input{font-size:.8rem;font-weight:600;padding:.2rem .75rem;border-radius:var(--radius-sm);border:2px solid;outline:none;background:var(--bg);color:var(--text)}.color-picker-inline{display:flex;gap:.25rem;flex-shrink:0}.label-item-editing{padding-top:.5rem;padding-bottom:.5rem}.role-badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.role-admin{background:var(--primary-subtle);color:var(--primary);border:1px solid var(--primary)}.role-read,.role-collaborator{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border)}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card-bg);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.users-table thead{background:var(--bg-raised)}.users-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.users-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;font-size:.9rem}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr{transition:background .1s}.users-table tbody tr:hover{background:var(--bg)}.actions-cell{vertical-align:middle}.user-row-clickable{cursor:pointer}.user-row-clickable:hover{background:var(--bg)}.user-kebab{position:relative}.user-kebab .btn-kebab{opacity:.5}.user-row-clickable:hover .btn-kebab{opacity:1}.users-table .actions-cell{width:3rem;text-align:center}.user-form-page{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.user-form-page .form-group{margin-bottom:1.25rem}.bm-modal .modal-actions{margin-top:.75rem}.bm-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.bm-header h2{margin-bottom:0}.bm-header-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--primary-subtle);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bm-subtitle{color:var(--text-tertiary);font-size:.8rem;margin-top:.125rem;line-height:1.3}.bm-add-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.875rem;margin-bottom:.75rem}.bm-add-label{font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.5rem}.bm-add-row{display:flex;gap:.5rem;align-items:center}.bm-select{flex:1;padding:.4rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.825rem;font-family:var(--font-ui);background:var(--card-bg);color:var(--text);transition:border-color .15s var(--ease)}.bm-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.bm-select-role{flex:0 0 auto;width:120px}.bm-list{display:flex;flex-direction:column;gap:2px}@keyframes bmFadeSlide{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bm-member{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius);transition:background .1s var(--ease);animation:bmFadeSlide .2s var(--ease-spring) both}.bm-member:hover{background:var(--bg)}.bm-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.01em;flex-shrink:0;text-transform:uppercase}.bm-member-body{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.bm-member-name{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-role-badge{display:inline-flex;align-items:center;gap:3px;padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:none;cursor:default;font-family:var(--font-ui);white-space:nowrap;line-height:1.6}.bm-role-badge--interactive{cursor:pointer;transition:filter .15s var(--ease)}.bm-role-badge--interactive:hover{filter:brightness(1.15)}.bm-role--admin{background:var(--primary-subtle);color:var(--primary)}.bm-role--collab{background:#2f855a14;color:var(--success)}[data-theme=dark] .bm-role--collab{background:#68d3911a;color:var(--success)}.bm-role--read{background:var(--bg-raised);color:var(--text-tertiary)}.bm-role-picker{position:relative}.bm-role-menu{z-index:9999;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;padding:4px;min-width:180px;animation:bmFadeSlide .12s var(--ease-spring)}.bm-role-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-ui);color:var(--text);font-size:.825rem;transition:background .1s var(--ease);text-align:left}.bm-role-option:hover{background:var(--bg)}.bm-role-option.active{background:var(--primary-subtle)}.bm-role-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bm-role-dot.bm-role--admin{background:var(--primary)}.bm-role-dot.bm-role--collab{background:var(--success)}.bm-role-dot.bm-role--read{background:var(--text-tertiary)}.bm-role-option-text{display:flex;flex-direction:column;line-height:1.2}.bm-role-option-label{font-weight:600;font-size:.8rem}.bm-role-option-desc{font-size:.7rem;color:var(--text-tertiary)}.bm-role-check{margin-left:auto;color:var(--primary);flex-shrink:0}.bm-remove{padding:.25rem .625rem;border-radius:var(--radius-sm);border:none;background:none;color:var(--danger);cursor:pointer;font-family:var(--font-ui);font-size:.75rem;font-weight:500;transition:all .15s var(--ease);flex-shrink:0;white-space:nowrap}.bm-remove:hover{background:var(--danger-subtle);text-decoration:underline}.bm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-tertiary);font-size:.85rem;gap:.5rem}.card-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;animation:fadeIn .15s var(--ease)}.card-fullscreen-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--card-bg);border-bottom:1px solid var(--border);flex-shrink:0}.card-fullscreen-header .card-edit-actions-menu{margin-left:0}.card-fullscreen-header .kebab-dropdown{z-index:1001}.card-fullscreen-header h2{flex:1;font-family:var(--font-display);font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.card-fullscreen-body{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.card-fullscreen-body .card-edit-title{font-size:1.1rem;padding:.75rem;margin-bottom:.75rem}.card-fullscreen-body .card-edit-description{font-size:.9375rem;padding:.75rem;margin-bottom:.75rem;min-height:100px}.card-fullscreen-body .assignee-input{padding:.625rem .75rem}.card-fullscreen-body .checklist-input{padding:.5rem .75rem}.card-fullscreen-body .comment-input{padding:.5rem 2rem .5rem .75rem}.card-fullscreen-body .label-picker{margin-bottom:.75rem}.card-fullscreen-body .label-toggle{padding:.3rem .625rem;font-size:.8rem}.card-fullscreen-body .checklist-section,.card-fullscreen-body .comments-section{margin-bottom:.75rem}.card-fullscreen-actions{display:flex;gap:.5rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--card-bg);border-top:1px solid var(--border);flex-shrink:0}.card-fullscreen-actions .btn-archive,.card-fullscreen-actions .btn-danger{flex:1}.card-move-to{margin-bottom:.75rem}.card-move-to label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem;letter-spacing:.01em}.move-to-select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-ui);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .15s var(--ease)}.move-to-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.btn-kebab{padding:.25rem .375rem;background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;line-height:1;transition:all .15s var(--ease);opacity:0}.btn-kebab:hover{background:var(--bg-raised);color:var(--text)}.board-card:hover .btn-kebab{opacity:1}.board-card-actions{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.125rem;z-index:10}.board-card-menu{position:relative;display:flex;align-items:center}.btn-star{padding:.25rem .375rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;line-height:1;border-radius:var(--radius-sm);transition:all .15s var(--ease);opacity:0;display:flex;align-items:center}.btn-star:hover{color:#e8a317;background:var(--bg-raised)}.btn-star.starred{opacity:1;color:#e8a317}.btn-star.starred:hover{color:var(--text-secondary)}.board-card:hover .btn-star{opacity:1}.btn-star svg{display:block;transition:transform .2s var(--ease);transform:translateY(-1px)}.btn-star:active svg{transform:translateY(-1px) scale(1.25)}.boards-sort-bar{display:flex;justify-content:flex-start;margin-bottom:.75rem}.boards-sort-tabs{display:flex;gap:.125rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.125rem}.boards-sort-tab{background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;font-family:var(--font-ui);padding:.25rem .625rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s var(--ease)}.boards-sort-tab:hover{color:var(--text)}.boards-sort-tab.active{background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-sm)}.boards-sort-select{display:none;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.75rem;font-family:var(--font-ui);padding:.25rem .5rem;cursor:pointer}.starred-boards-section{margin-bottom:1.5rem}.starred-boards-header{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.5rem 0;margin-bottom:.75rem;font-family:var(--font-ui)}.starred-header-icon{color:#e8a317}.kebab-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.25rem;min-width:110px;z-index:20;display:flex;flex-direction:column;animation:fadeIn .1s var(--ease)}.kebab-dropdown button{background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:.375rem .5rem;font-size:.8125rem;text-align:center;cursor:pointer;transition:background .1s}.kebab-dropdown button:hover{background:var(--bg-raised)}.kebab-danger{color:var(--danger)!important}.kebab-danger:hover{background:var(--danger-subtle)!important}.kebab-divider{height:1px;background:var(--border);margin:.25rem 0}.column-kebab{position:relative}.btn-column-kebab{padding:.125rem .25rem!important;opacity:.5;transition:all .15s var(--ease)}.column-header:hover .btn-column-kebab{opacity:1}.column-kebab-dropdown{top:calc(100% + 4px);right:0;min-width:120px}.column-rename-input{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:.125rem .375rem;width:100%;min-width:0;font-family:var(--font-ui);box-shadow:0 0 0 3px var(--primary-subtle)}.column-rename-input:focus{outline:none}.archived-boards-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.archived-boards-toggle{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-family:var(--font-ui);transition:color .15s var(--ease)}.archived-boards-toggle:hover{color:var(--text)}.archived-count{background:var(--bg-raised);border:1px solid var(--border);padding:.05rem .5rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.archived-grid .board-card.archived{opacity:.65;border-style:dashed;cursor:default}.archived-grid .board-card.archived:hover{transform:none;box-shadow:none}.archived-grid .board-card.archived:before{display:none}.label-filter-dropdown{position:relative}.label-filter-trigger{display:inline-flex;align-items:center;gap:.375rem;cursor:pointer;padding-right:1.5rem;position:relative;white-space:nowrap}.label-filter-trigger .filter-chevron{position:absolute;right:.5rem;font-size:.65rem;color:var(--text-secondary);pointer-events:none}.label-filter-active{border-color:var(--primary)}.label-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.label-filter-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.25rem;min-width:180px;z-index:100;display:flex;flex-direction:column;animation:fadeIn .1s var(--ease);max-height:240px;overflow-y:auto}.label-filter-option{display:flex;align-items:center;gap:.5rem;background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.8125rem;text-align:left;cursor:pointer;transition:background .1s;white-space:nowrap}.label-filter-option:hover{background:var(--bg-raised)}.label-filter-option.selected{background:var(--primary-subtle);font-weight:600}.column.dragging{opacity:.5}.kanban-card.dragging{opacity:.85;box-shadow:var(--shadow-lg);transform:rotate(2deg)}.board-settings{position:relative}.board-settings-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.25rem;min-width:160px;z-index:300;flex-direction:column;animation:fadeIn .1s var(--ease)}.board-settings-menu.open{display:flex}.board-settings-menu button{background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.8125rem;text-align:left;min-height:36px}.board-settings-menu button:hover{background:var(--bg-raised)}.board-settings-menu button.active{color:var(--primary);font-weight:600}.board-settings-divider{height:1px;background:var(--border);margin:.25rem 0}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250}.board-settings-section{display:flex;flex-direction:column;gap:.375rem}.public-link-row{display:flex;gap:.375rem;padding:.25rem .5rem .375rem}.public-link-input{flex:1;font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);min-width:0}.public-link-copy{font-size:.75rem!important;padding:.25rem .5rem!important;background:var(--primary)!important;color:#fff!important;border-radius:var(--radius-sm)!important;white-space:nowrap}.public-link-copy:hover{background:var(--primary-hover)!important}.public-board{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.public-board-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--card-bg);border-bottom:1px solid var(--border)}.public-board-header h1{font-size:1.25rem;font-weight:700;color:var(--text);margin:0;font-family:var(--font-display, "Red Hat Display", sans-serif)}.public-board-header a{font-size:.8125rem;color:var(--primary);text-decoration:none;font-weight:500}.public-board-header a:hover{text-decoration:underline}.public-board-columns{display:flex;gap:1rem;padding:1.25rem;overflow-x:auto;flex:1;align-items:flex-start}.public-board-column{min-width:280px;max-width:320px;flex-shrink:0;background:var(--bg-raised);border-radius:var(--radius);display:flex;flex-direction:column}.public-board-column-header{padding:.75rem 1rem;font-weight:600;font-size:.875rem;color:var(--text);display:flex;align-items:center;justify-content:space-between}.public-board-column-header .card-count{font-size:.75rem;font-weight:500;color:var(--text-tertiary);background:var(--bg);padding:.125rem .5rem;border-radius:var(--radius-pill)}.public-board-cards{display:flex;flex-direction:column;gap:.5rem;padding:0 .5rem .75rem}.public-card{background:var(--card-bg);border-radius:var(--radius);padding:.75rem;box-shadow:var(--shadow);border:1px solid var(--border)}.public-card-title{font-size:.875rem;font-weight:500;color:var(--text);margin:0}.public-card-description{font-size:.8125rem;color:var(--text-secondary);margin-top:.375rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.public-card-labels{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.public-card-label{font-size:.6875rem;padding:.125rem .5rem;border-radius:var(--radius-pill);font-weight:600;color:#fff}.public-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--text-tertiary)}.public-card-assignees{display:flex;gap:.25rem;flex-wrap:wrap}.public-card-assignee{background:var(--bg-raised);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6875rem;color:var(--text-secondary)}.public-board-not-found{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:1rem;color:var(--text-secondary)}.public-board-not-found h2{font-size:1.25rem;color:var(--text);margin:0}.public-board-not-found a{color:var(--primary);text-decoration:none}.mobile-only{display:none!important}.desktop-only{display:flex!important}.btn-new-board-icon,.view-switch-mobile{display:none}.header-actions-menu{display:contents}.mobile-backdrop{display:none}.notification-bell,.notification-bell-btn{position:relative}.notification-badge{position:absolute;top:2px;right:2px;background:var(--danger);color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;border:2px solid var(--card-bg)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:500;display:flex;flex-direction:column;animation:fadeIn .15s var(--ease)}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.875rem}.notification-mark-all{background:transparent;border:none;color:var(--primary);font-size:.75rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .1s}.notification-mark-all:hover{background:var(--primary-subtle)}.notification-list{overflow-y:auto;max-height:400px}.notification-item{display:block;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-ui);transition:background .1s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg)}.notification-item.unread{background:var(--primary-subtle)}.notification-item.unread:hover{background:#5746af1f}[data-theme=dark] .notification-item.unread:hover{background:#8b7cf726}.notification-content{display:flex;flex-direction:column;gap:.25rem}.notification-text{font-size:.8125rem;color:var(--text);line-height:1.4}.notification-board{color:var(--text-secondary)}.notification-time{font-size:.7rem;color:var(--text-secondary)}.notification-empty{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.notification-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.notification-page-list{flex:1;overflow-y:auto}.notification-page-list .notification-item{width:100%;text-align:left;border:none;border-bottom:1px solid var(--border);background:var(--card-bg);padding:.75rem 1rem;cursor:pointer;display:flex;align-items:flex-start}.notification-page-list .notification-item.unread{background:var(--primary-subtle)}.notification-page-list .notification-content{display:flex;flex-direction:column;gap:.25rem}.notification-page-list .notification-time{font-size:.75rem;color:var(--text-secondary)}.mention-chip{display:inline;padding:.05rem .3rem;border-radius:var(--radius-sm);font-weight:500;font-size:inherit}.mention-member{background:#5746af26;color:var(--primary)}[data-theme=dark] .mention-member{background:#8b7cf726}.member-chip{background:#2563eb}.member-badge{font-weight:600}.activity-section{padding-top:.25rem;margin-bottom:.5rem;margin-top:.25rem;position:relative}.activity-section:before{content:"";position:absolute;top:0;left:.25rem;right:.25rem;height:1px;background:var(--border)}.activity-list{max-height:200px;overflow-y:auto;padding-left:1rem;position:relative}.activity-list:before{content:"";position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:2px;background:var(--border);border-radius:1px}.activity-item{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.375rem 0;font-size:.75rem;color:var(--text-secondary);position:relative}.activity-item:before{content:"";position:absolute;left:-.875rem;top:.6rem;width:6px;height:6px;border-radius:50%;background:var(--border);border:1.5px solid var(--card-bg)}.activity-item:first-child:before{background:var(--primary)}.activity-text{flex:1;line-height:1.4}.activity-text strong{color:var(--text);font-weight:600}.activity-time{font-size:.6875rem;white-space:nowrap;flex-shrink:0;color:var(--text-tertiary)}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.table-view{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 1rem 1rem}.table-toolbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;flex-shrink:0}.table-group-selector{display:flex;align-items:center;gap:.375rem;font-size:.8rem}.table-group-selector label{color:var(--text-secondary);font-weight:500}.table-group-selector select{font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.column-picker-wrapper{position:relative;margin-left:auto}.column-picker-dropdown{position:absolute;right:0;top:100%;margin-top:.25rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;z-index:10;min-width:160px;animation:fadeIn .1s var(--ease)}.column-picker-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8rem;cursor:pointer;border-radius:var(--radius-sm)}.column-picker-item:hover{background:var(--bg-raised)}.table-scroll{flex:1;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.board-table{width:100%;border-collapse:separate;border-spacing:0}.board-table thead{position:sticky;top:0;z-index:2}.board-table th{background:var(--bg-raised);padding:.5rem .75rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.board-table th:hover{color:var(--text)}.sort-arrow{font-size:.65rem}.board-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.85rem;vertical-align:middle;transition:background .1s var(--ease)}.board-table tr:last-child td{border-bottom:none}.board-table tbody tr:not(.table-group-header):hover td{background:var(--bg-raised)}.table-group-header{background:var(--bg);font-weight:600;font-size:.8rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s var(--ease)}.table-group-header:hover{background:var(--bg-raised)}.table-group-header td{padding:.625rem .75rem;border-bottom:1px solid var(--border)}.group-toggle{margin-right:.375rem;font-size:.7rem}.table-group-count{color:var(--text-secondary);font-weight:400;margin-left:.5rem}.table-title-cell{font-weight:500;cursor:pointer}.table-title-cell:hover{color:var(--primary)}.table-status-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border);font-size:.75rem;font-weight:500}.table-label-pill{display:inline-block;padding:.0625rem .375rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;color:#fff;margin-right:.25rem}.table-due-cell{font-size:.8rem}.table-due-cell.overdue{color:var(--danger);font-weight:500}.table-cell{cursor:default}.table-cell.editable:hover{background:var(--primary-subtle);cursor:pointer}.table-cell.editing{padding:.25rem}.table-cell-input{width:100%;font-size:.85rem;padding:.25rem .5rem;border:2px solid var(--primary);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);outline:none}.table-cell-select{width:100%;font-size:.85rem;padding:.25rem .375rem;border:2px solid var(--primary);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text)}.table-cell-textarea{width:100%;font-size:.85rem;padding:.25rem .5rem;border:2px solid var(--primary);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);outline:none;resize:vertical;min-height:60px;font-family:var(--font-ui)}.table-description-truncated{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.8rem}.table-label-editor{position:relative}.table-label-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.375rem;z-index:10;min-width:160px;animation:fadeIn .1s var(--ease)}.table-label-option{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8rem;cursor:pointer;border-radius:var(--radius-sm);border:none;background:none;width:100%;text-align:left;color:var(--text)}.table-label-option:hover{background:var(--bg-raised)}.table-label-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.table-assignee-editor{position:relative}.table-assignee-dropdown{position:absolute;top:100%;left:0;z-index:100;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.25rem 0;min-width:180px;max-height:240px;overflow-y:auto;animation:fadeIn .1s var(--ease)}.table-assignee-filter{width:100%;padding:.4rem .5rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:.8rem;outline:none;box-sizing:border-box}.table-assignee-group-header{padding:.3rem .5rem .15rem;font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.table-assignee-option{display:flex;align-items:center;width:100%;padding:.35rem .5rem;border:none;background:none;cursor:pointer;font-size:.8rem;text-align:left;color:var(--text);border-radius:var(--radius-sm)}.table-assignee-option:hover{background:var(--bg-raised)}.table-assignee-check{margin-left:auto;color:var(--primary)}.table-assignee-empty{padding:.5rem;font-size:.75rem;color:var(--text-secondary);text-align:center;font-style:italic}.table-empty-cell{color:var(--text-secondary);font-size:.75rem;font-style:italic}.timeline-container{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 1rem 1rem}.timeline-nav{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;flex-shrink:0}.timeline-nav-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0;flex:1}.timeline-zoom-toggle{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.timeline-zoom-toggle .btn-sm{padding:.25rem .625rem;font-size:.75rem;min-height:unset;border:none}.timeline-zoom-toggle .btn-secondary{background:transparent;border:none}.timeline-group-selector select{font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.timeline-unscheduled{border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);padding:.625rem .75rem;position:relative}.timeline-unscheduled:after{content:"";position:absolute;bottom:0;left:.75rem;right:.75rem;height:1px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 4px,transparent 4px,transparent 8px)}.timeline-unscheduled-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.timeline-unscheduled-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.timeline-unscheduled-cards{display:flex;flex-wrap:wrap;gap:.375rem}.timeline-unscheduled-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem .25rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card-bg);cursor:pointer;font-size:.75rem;color:var(--text);transition:all .15s var(--ease);max-width:220px;font-family:inherit}.timeline-unscheduled-chip:hover{border-color:var(--chip-color, var(--primary));box-shadow:0 1px 4px #00000014;transform:translateY(-1px)}.timeline-unscheduled-chip[draggable=true]{cursor:grab}.timeline-unscheduled-chip[draggable=true]:active{cursor:grabbing}.timeline-unscheduled-chip--dragging{opacity:.45;transform:scale(.96)}.timeline-unscheduled--hidden{display:none}.timeline-unscheduled--drop-target{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--bg));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent);transition:all .15s var(--ease);min-height:56px}.timeline-unscheduled--drop-target .timeline-unscheduled-label{color:var(--primary)}.timeline-unscheduled--hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 40%,transparent)}.timeline-unscheduled--hover .timeline-unscheduled-drop-hint{animation:none;opacity:1;font-weight:700}.timeline-unscheduled-drop-hint{font-size:.7rem;font-weight:600;color:var(--primary);letter-spacing:.03em;animation:timeline-drop-hint-pulse 1.2s ease-in-out infinite}@keyframes timeline-drop-hint-pulse{0%,to{opacity:.7}50%{opacity:1}}.timeline-unscheduled-dot{width:6px;height:6px;border-radius:50%;background:var(--chip-color, var(--primary));flex-shrink:0}.timeline-unscheduled-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.timeline-unscheduled-chip-status{font-size:.65rem;color:var(--text-tertiary);flex-shrink:0}.timeline-unscheduled+.timeline-body{border-top:none;border-radius:0 0 var(--radius) var(--radius)}.timeline-body{flex:1;display:flex;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg)}.timeline-swimlane-labels{width:180px;flex-shrink:0;border-right:2px solid var(--border);background:var(--bg);position:sticky;left:0;z-index:4}.swimlane-axis-spacer{height:37px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.swimlane-label{padding:.5rem .75rem;font-size:.8rem;font-weight:600;border-bottom:1px solid var(--border);cursor:pointer;display:flex;align-items:center;gap:.375rem;white-space:nowrap;overflow:hidden;transition:background .15s var(--ease)}.swimlane-label:hover{background:var(--bg-raised)}.swimlane-arrow{font-size:.7rem;color:var(--text-secondary)}.swimlane-count{color:var(--text-secondary);font-weight:400;font-size:.75rem}.timeline-chart{position:relative;min-width:0}.timeline-axis{display:flex;position:sticky;top:0;z-index:3;background:var(--bg-raised);border-bottom:2px solid var(--border)}.timeline-axis-cell{flex-shrink:0;padding:.5rem .25rem;text-align:center;font-size:.7rem;font-weight:600;color:var(--text-secondary);border-right:1px solid var(--border);letter-spacing:.02em}.timeline-axis-cell.timeline-axis-even{background:#00000004}[data-theme=dark] .timeline-axis-cell.timeline-axis-even{background:#ffffff04}.timeline-axis-cell.timeline-axis-weekend{background:#0000000a;color:var(--text-tertiary)}[data-theme=dark] .timeline-axis-cell.timeline-axis-weekend{background:#ffffff08}.timeline-axis-cell.timeline-axis-today{background:var(--primary-subtle);color:var(--primary);font-weight:700}.timeline-axis-sub{font-size:.6rem;font-weight:500;color:var(--text-secondary);opacity:.7}.timeline-grid{position:absolute;top:0;left:0;bottom:0;pointer-events:none}.timeline-grid-col{position:absolute;top:0;border-right:1px solid var(--border);opacity:.5}.timeline-grid-col.timeline-grid-even{background:#00000005}[data-theme=dark] .timeline-grid-col.timeline-grid-even{background:#ffffff03}.timeline-grid-col.timeline-grid-weekend{background:#00000009}[data-theme=dark] .timeline-grid-col.timeline-grid-weekend{background:#ffffff06}.timeline-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);z-index:2;pointer-events:none;box-shadow:0 0 6px #c5303040}.timeline-chart--drop-active{background:color-mix(in srgb,var(--primary) 4%,transparent)}.timeline-drop-indicator{position:absolute;top:0;bottom:0;width:2px;background:var(--primary);z-index:10;pointer-events:none;box-shadow:0 0 8px color-mix(in srgb,var(--primary) 50%,transparent)}.timeline-drop-indicator-label{position:absolute;top:4px;left:6px;background:var(--primary);color:#fff;font-size:.65rem;font-weight:600;padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none}.timeline-swimlane-header{height:33px;border-bottom:1px solid var(--border)}.timeline-swimlane-row{position:relative;min-height:40px;border-bottom:1px solid var(--border)}.timeline-layout{display:flex;flex:1;overflow:hidden}.timeline-bar{height:28px;border-radius:var(--radius-sm);background:var(--bar-color, var(--primary));color:#fff;display:flex;align-items:center;cursor:pointer;overflow:hidden;z-index:1;transition:box-shadow .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease);box-shadow:0 1px 3px #0000001f;border-left:3px solid rgba(255,255,255,.25)}.timeline-bar:hover{opacity:.95;z-index:2;box-shadow:0 3px 10px #0003;transform:translateY(-1px)}.timeline-bar--dragging{opacity:.7;z-index:3;cursor:grabbing;box-shadow:0 8px 24px #00000059,0 0 0 2px #fff6;transform:translateY(-2px) scale(1.01);transition:box-shadow .1s var(--ease),opacity .1s var(--ease);-webkit-user-select:none;user-select:none}.bar-title{font-size:.7rem;font-weight:600;padding:0 .375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.2)}.timeline-marker{width:12px!important;height:12px;border-radius:2px;transform:rotate(45deg);margin-top:8px;border-left:none;box-shadow:0 1px 4px #0003}.timeline-marker .bar-title{display:none}.timeline-open-ended{opacity:.5;border-right:2px dashed rgba(255,255,255,.5);background:repeating-linear-gradient(-45deg,var(--bar-color, var(--primary)),var(--bar-color, var(--primary)) 4px,rgba(255,255,255,.08) 4px,rgba(255,255,255,.08) 8px)}.bar-resize-handle{width:6px;height:100%;cursor:col-resize;flex-shrink:0}.bar-resize-handle:hover{background:#ffffff4d}.bar-resize-left{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.bar-resize-right{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.timeline-mobile-list{flex:1;overflow-y:auto;padding:0 1rem 1rem}.timeline-mobile-group-header{font-size:.85rem;font-weight:600;padding:.75rem 0 .25rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.timeline-mobile-card{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border);cursor:pointer}.timeline-mobile-card:active{background:var(--bg-raised)}.timeline-mobile-title{flex:1;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-mobile-dates{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}@media (min-width: 769px) and (max-width: 1024px){.columns-container{scroll-snap-type:x mandatory;padding-bottom:.5rem}.column{scroll-snap-align:start;width:260px}}@media (pointer: coarse){.column-header-actions button,.card-kebab,.icon-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.cards-list>*{touch-action:pan-x pan-y!important}.kanban-card{touch-action:pan-x pan-y!important}.card-drag-handle{touch-action:none!important}}@media (max-width: 768px){*{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px!important}.desktop-only{display:none!important}.mobile-only{display:inline-flex!important;align-items:center;justify-content:center;position:relative}.mobile-active{color:var(--primary);background:var(--primary-subtle)}.has-filters:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--card-bg)}.board-settings{display:contents}.board-settings-trigger{display:none!important}.board-settings-menu{display:contents!important}.board-settings-divider,.settings-backdrop{display:none}.app-bar{height:3rem;padding:0 .75rem}.app-bar-bell-mobile{display:flex}.app-bar-bell-desktop{display:none}.app-bar-global{margin-left:.125rem;padding-left:.25rem}.btn-label{display:none!important}.btn-new-board-icon{display:block!important}.btn-new-board{padding:.375rem!important;min-width:unset}.app-bar-left{flex-shrink:0}.app-bar-right{flex-shrink:1;min-width:0;overflow:visible}.view-toggle{display:none!important}.view-switch-mobile{display:flex;flex-direction:column;border-bottom:1px solid var(--border);padding-bottom:.25rem;margin-bottom:.25rem}.view-switch-mobile>button{background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;text-align:left;min-height:44px;display:flex;align-items:center}.view-switch-mobile>button:active{background:var(--bg-raised)}.view-switch-mobile>button.active{color:var(--primary);font-weight:600;background:var(--primary-subtle)}.kanban-container>.app-bar{position:relative}.header-actions-menu{display:none;position:absolute;top:100%;right:.5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);padding:.25rem;flex-direction:column;min-width:180px;z-index:200;animation:fadeIn .1s var(--ease)}.header-actions-menu.open{display:flex}.header-actions-menu>button{background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;text-align:left;min-height:44px;display:flex;align-items:center}.header-actions-menu>button:active{background:var(--bg-raised)}.header-actions-menu>button.btn-primary{color:var(--primary);font-weight:600}.header-actions-menu>.active-filter{color:var(--primary)!important;background:var(--primary-subtle)!important}.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150}.filter-bar{display:none;flex-direction:column;gap:.375rem;padding:.5rem .75rem}.filter-bar.mobile-open{display:flex}.filter-input{min-width:unset;max-width:none;width:100%}.filter-select{width:100%}.columns-container{scroll-snap-type:x mandatory;padding:.75rem;gap:.75rem;scroll-padding:.75rem}.column{scroll-snap-align:start;width:calc(100vw - 1.5rem);max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px)}.modal-overlay{align-items:flex-start;padding:2rem .75rem}.modal{border-radius:var(--radius-xl);max-width:none;width:100%;max-height:80vh;max-height:80dvh;padding:1.25rem;animation:modalIn .25s var(--ease-spring);overscroll-behavior:contain}.modal h2{font-size:1.25rem}.app-bar-title{font-size:1rem}.app-bar-left .pliny-lockup-name{display:none}.boards-grid{grid-template-columns:1fr}.boards-sort-tabs{display:none}.boards-sort-select{display:block}.btn-star{opacity:1}.btn-primary,.btn-secondary,.btn-danger{min-height:44px}.btn-sm{min-height:38px}.btn-icon{min-width:44px;min-height:44px}.btn-kebab,.btn-column-kebab,.user-kebab .btn-kebab,.btn-delete,.checklist-delete,.comment-delete{opacity:1}.kanban-card{padding:.875rem .875rem .875rem 2rem;margin-bottom:.625rem;touch-action:pan-x pan-y!important;cursor:pointer}.card-drag-handle{touch-action:none!important}.card-footer{flex-wrap:wrap}.card-footer-right{flex-wrap:wrap;flex-shrink:1}.card-detail-labels,.card-detail-chips{padding-right:.25rem}.bulk-action-toolbar{bottom:.75rem;left:.75rem;right:.75rem;transform:none;flex-wrap:wrap;gap:.5rem}.bulk-toolbar-actions{flex-wrap:wrap}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block}.users-table{border:none;background:transparent}.users-table tr{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.5rem;display:flex;flex-wrap:wrap;align-items:center}.users-table td{padding:0;border-bottom:none}.user-name-cell{font-weight:600;flex:1}.user-created-cell,.hide-mobile{display:none!important}.bm-add-row{flex-direction:column}.bm-select,.bm-select-role{width:100%}.bm-member-body{flex-direction:column;align-items:flex-start;gap:.25rem}.kanban-container{height:100dvh;overscroll-behavior:none}.calendar-layout{flex-direction:column}.calendar-container{padding:0}.cal-nav-arrow{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent}.cal-nav-arrow:active{background:var(--bg-raised)}.cal-today-btn{font-size:.75rem;font-weight:600;font-family:var(--font-ui);padding:.25rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.cal-today-btn:active{background:var(--bg-raised)}.mini-cal-strip{flex-shrink:0;background:var(--card-bg);border-bottom:1px solid var(--border);padding-bottom:.25rem}.mini-cal-header{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .5rem .125rem}.mini-cal-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin:0;min-width:10rem;text-align:center}.mini-cal-week,.mini-cal-month{display:grid;grid-template-columns:repeat(7,1fr);padding:0 .25rem}.mini-cal-day-header{text-align:center;font-size:.6rem;font-weight:600;color:var(--text-secondary);padding:.25rem 0 .125rem;text-transform:uppercase;letter-spacing:.05em}.mini-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.125rem 0;min-height:2.375rem;background:transparent;border:none;cursor:pointer;color:var(--text);gap:2px;-webkit-tap-highlight-color:transparent}.mini-cal-num{font-size:.8rem;font-weight:500;width:1.875rem;height:1.875rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s var(--ease)}.mini-cal-today:not(.mini-cal-active) .mini-cal-num{font-weight:700;color:var(--primary);box-shadow:inset 0 0 0 1.5px var(--primary)}.mini-cal-active .mini-cal-num{background:var(--primary);color:#fff;font-weight:600;box-shadow:0 1px 4px #00000026}.mini-cal-outside{opacity:.28}.mini-cal-dot{width:4px;height:4px;border-radius:50%;background:var(--primary)}.mini-cal-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:.125rem 0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.mini-cal-chevron-up{transform:rotate(180deg);transition:transform .2s var(--ease)}.mini-cal-chevron-down{transition:transform .2s var(--ease)}.mini-cal-month{animation:miniCalExpand .2s var(--ease)}@keyframes miniCalExpand{0%{opacity:0;max-height:2.75rem}to{opacity:1;max-height:20rem}}.mobile-agenda{flex:1;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.agenda-group{margin-bottom:.25rem}.agenda-date-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--text);background:var(--bg);border-bottom:1px solid var(--border)}.agenda-date-header.agenda-today{color:var(--primary)}.agenda-date-count{background:var(--bg-raised);border:1px solid var(--border);padding:0 .375rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;color:var(--text-secondary);font-family:var(--font-ui)}.agenda-group-cards{padding:.375rem .5rem;display:flex;flex-direction:column;gap:.375rem}.agenda-overdue-section{border-bottom:1px solid var(--border)}.agenda-overdue-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.agenda-overdue-label{font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--danger)}.agenda-overdue-count{background:var(--danger-subtle);color:var(--danger);font-size:.65rem;font-weight:700;padding:.0625rem .375rem;border-radius:var(--radius-pill)}.agenda-unscheduled-section{border-top:1px solid var(--border);margin-top:.5rem;flex:1}.agenda-unscheduled-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.agenda-unscheduled-label{font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--text)}.agenda-unscheduled-count{background:var(--bg-raised);border:1px solid var(--border);padding:0 .375rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;color:var(--text-secondary)}.agenda-collapse-arrow{margin-left:auto;font-size:1.25rem;color:var(--text-secondary);transition:transform .2s var(--ease);transform:rotate(-90deg)}.agenda-collapse-arrow.rotated{transform:rotate(90deg)}.agenda-empty{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:2.5rem 0;font-style:italic}.agenda-empty-inline{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:1rem 0;font-style:italic}.mobile-cal-card{display:flex;align-items:center;gap:.75rem;padding:.6875rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background .1s,transform .1s;-webkit-tap-highlight-color:transparent}.mobile-cal-card:active{background:var(--bg-raised);transform:scale(.98)}.mobile-cal-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.mobile-cal-card-title{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.35}.mobile-cal-card-col{font-size:.7rem;color:var(--text-secondary);letter-spacing:.01em}.mobile-cal-card-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.mobile-cal-card-btn{padding:.25rem .5rem;font-size:.7rem;font-weight:600;font-family:var(--font-ui);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.mobile-cal-card-btn:active{background:var(--bg-raised);color:var(--text)}.mobile-cal-remove{color:var(--danger);border-color:var(--danger-subtle);background:transparent}.mobile-cal-remove:active{background:var(--danger-subtle)}}@media (max-width: 480px){.login-card{padding:1.75rem;border-radius:var(--radius-lg)}.login-card h1{font-size:1.75rem}.board-list-container{padding:1.25rem}}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.btn-sso{width:100%;padding:.625rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-family:var(--font-ui);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.btn-sso:hover{background:var(--bg-raised);border-color:var(--primary)}.btn-sso:disabled{opacity:.6;cursor:not-allowed}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.setup-description{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-bottom:1.5rem;margin-top:-.5rem}.login-back-link{display:block;width:100%;text-align:center;margin-top:1rem;background:none;border:none;color:var(--text-secondary);font-family:var(--font-ui);font-size:.85rem;cursor:pointer;padding:.5rem}.login-back-link:hover{color:var(--primary)}.forgot-password-link{display:block;width:100%;text-align:right;margin-top:.5rem;background:none;border:none;color:var(--text-secondary);font-family:var(--font-ui);font-size:.8rem;cursor:pointer;padding:0}.forgot-password-link:hover{color:var(--primary)}.forgot-password-success,.reset-password-success,.reset-password-error{text-align:center;color:var(--text);line-height:1.6;animation:fadeIn .3s var(--ease)}.forgot-password-success p,.reset-password-success p,.reset-password-error p{margin-bottom:1rem}.auth-result-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;margin:0 auto 1rem}.auth-result-icon-success{background:#2f855a1a;color:var(--success)}.auth-result-icon-error{background:var(--danger-subtle);color:var(--danger)}.forgot-password-note{color:var(--text-secondary);font-size:.85rem}.reset-password-success button{margin-top:.5rem}.reset-password-error .btn-link{margin-top:.5rem;display:inline-block}.success{background:#2f855a14;color:var(--success);padding:.625rem .875rem;border-radius:var(--radius);border:1px solid transparent;font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.success svg{flex-shrink:0}.form-message{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-radius:var(--radius);border:1px solid transparent;font-size:.875rem;margin-bottom:1rem;animation:fadeIn .2s var(--ease)}.form-message-success{background:#2f855a14;color:var(--success)}.form-message-error{background:var(--danger-subtle);color:var(--danger)}.form-message svg{flex-shrink:0}.profile-settings-content{max-width:600px;margin:0 auto;padding:1.5rem}.profile-section{margin-bottom:2rem}.profile-section h2{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.profile-avatar{display:flex;justify-content:center;margin-bottom:1rem}.profile-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.profile-avatar-initials{width:64px;height:64px;border-radius:50%;background:var(--primary-subtle);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--primary);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.profile-field{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.profile-field label{font-size:.85rem;color:var(--text-secondary);min-width:100px}.profile-actions{display:flex;gap:.5rem;margin-top:1rem}.profile-actions button[type=submit]{background:var(--primary);color:#fff}.profile-actions button[type=submit]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #5746af40}[data-theme=dark] .profile-actions button[type=submit]:hover:not(:disabled){box-shadow:0 2px 8px #8b7cf733}.profile-loading{color:var(--text-secondary);font-size:.9rem}.notification-prefs-banner{padding:12px 16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;color:var(--text-secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.totp-qr{display:flex;justify-content:center;margin:1.5rem 0}.totp-qr img{border-radius:var(--radius);border:1px solid var(--border)}.totp-manual-entry{margin-bottom:1.5rem;font-size:.85rem;color:var(--text-secondary)}.totp-manual-entry summary{cursor:pointer;margin-bottom:.5rem}.totp-secret{display:block;padding:.5rem .75rem;background:var(--bg);border-radius:var(--radius-sm);font-size:.8rem;word-break:break-all;-webkit-user-select:all;user-select:all}.totp-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;margin-bottom:1rem}.totp-status-badge.enabled{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.totp-success{color:var(--success);font-weight:500;margin-bottom:.75rem}.totp-warning{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.backup-codes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.5rem}.backup-code{padding:.5rem .75rem;background:var(--bg);border-radius:var(--radius-sm);font-size:.85rem;text-align:center;font-family:monospace;-webkit-user-select:all;user-select:all}.profile-section-desc{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.token-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.token-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.token-info{flex:1;min-width:0}.token-name{font-weight:500;font-size:.9rem;margin-bottom:.25rem}.token-meta{font-size:.75rem;color:var(--text-secondary)}.token-actions{display:flex;gap:.5rem}.token-create-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.token-create-form .form-group{margin-bottom:1rem}.token-create-form select{width:100%;padding:.5rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;color:var(--text)}.token-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.token-modal{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;max-width:500px;width:100%}.token-modal h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.token-warning{color:var(--warning);font-size:.9rem;margin-bottom:1rem}.token-display{display:flex;gap:.5rem;margin-bottom:1rem}.token-display code{flex:1;padding:.75rem;background:var(--bg);border-radius:var(--radius);font-size:.8rem;word-break:break-all;-webkit-user-select:all;user-select:all}.token-copy-btn{flex-shrink:0;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:500}.token-copy-btn:hover{opacity:.9}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.toggle-label input[type=checkbox]{width:auto}.btn-danger{background:var(--danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-ui);font-weight:500}.btn-danger:hover{opacity:.9}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-ui);font-weight:500}.btn-primary:hover{opacity:.9}.success{color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent);border-radius:var(--radius);padding:.625rem .875rem;margin-bottom:1rem;font-size:.9rem}.oidc-settings{max-width:640px}.oidc-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;transition:border-color .2s var(--ease)}.oidc-card:hover{border-color:var(--border-hover)}.oidc-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.oidc-card-header h3{font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:-.01em;flex:1}.oidc-card-icon{color:var(--primary);flex-shrink:0}.oidc-quickstart{background:var(--primary-subtle);border-color:transparent}.oidc-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.oidc-steps li{display:flex;align-items:flex-start;gap:.625rem;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.oidc-step-num{width:1.375rem;height:1.375rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.oidc-steps code{background:var(--bg-raised);padding:.1em .375em;border-radius:4px;font-size:.82em;font-weight:500;color:var(--text)}.oidc-callback-hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.oidc-callback-row{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-raised)}.oidc-callback-value{flex:1;padding:.625rem .875rem;font-size:.82rem;word-break:break-all;color:var(--text);line-height:1.5;background:transparent}.oidc-copy-btn{display:flex;align-items:center;gap:.35rem;padding:.625rem .875rem;border:none;border-left:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);font-family:var(--font-ui);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}.oidc-copy-btn:hover{background:var(--bg-raised);color:var(--text)}.oidc-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-left:auto;-webkit-user-select:none;user-select:none}.oidc-toggle input{display:none}.oidc-toggle-track{width:36px;height:20px;border-radius:10px;background:var(--border);position:relative;transition:background .2s var(--ease)}.oidc-toggle input:checked+.oidc-toggle-track{background:var(--primary)}.oidc-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s var(--ease-spring)}.oidc-toggle input:checked+.oidc-toggle-track .oidc-toggle-thumb{transform:translate(16px)}.oidc-toggle-text{font-size:.8rem;font-weight:500;color:var(--text-secondary);min-width:52px}.oidc-section-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.oidc-claim-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.oidc-claim-item label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.oidc-claim-item label svg{flex-shrink:0;opacity:.6}.oidc-claim-item input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-family:inherit;background:var(--card-bg);color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.oidc-claim-item input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.oidc-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;margin-bottom:1rem}.oidc-status-error{background:var(--danger-subtle);color:var(--danger)}.oidc-status-success{background:#2f855a14;color:var(--success)}.oidc-save-bar{display:flex;justify-content:flex-end}.oidc-save-btn{padding:.625rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-ui);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease),transform .1s var(--ease)}.oidc-save-btn:hover:not(:disabled){background:var(--primary-hover)}.oidc-save-btn:active:not(:disabled){transform:scale(.98)}.oidc-save-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.oidc-claim-grid{grid-template-columns:1fr}.oidc-card{padding:1rem}.table-scroll{-webkit-overflow-scrolling:touch}.board-table th:first-child,.board-table td:first-child{position:sticky;left:0;z-index:1;background:var(--card-bg);border-right:1px solid var(--border)}.board-table thead th:first-child{background:var(--bg-raised);z-index:3}.table-toolbar{flex-wrap:wrap;gap:.5rem}.table-view{padding:0 .5rem .5rem}}.field-add-form{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.field-add-name{flex:1;font-size:.85rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-ui)}.field-add-type{font-size:.8rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-ui);cursor:pointer}.field-manager-list{max-height:340px;overflow-y:auto;margin:.5rem 0}.field-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem;border-radius:var(--radius-sm)}.field-row:hover{background:var(--bg-raised)}.field-name{flex:1;font-size:.85rem;font-weight:500;color:var(--text);cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-name:hover{color:var(--primary)}.field-type-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.125rem .4rem;border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-secondary);letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.field-show-toggle{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s var(--ease);font-family:var(--font-ui)}.field-show-toggle:hover{border-color:var(--border-hover)}.field-show-toggle.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.field-edit-block{flex:1;display:flex;flex-direction:column;gap:.5rem}.field-edit-row{display:flex;align-items:center;gap:.5rem}.field-edit-input{flex:1;font-size:.85rem;padding:.35rem .5rem;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-ui)}.field-options-editor{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--bg-raised);border-radius:var(--radius-sm)}.field-options-label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em}.field-option-row{display:flex;align-items:center;gap:.35rem}.field-option-input{flex:1;font-size:.8rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);font-family:var(--font-ui)}.field-option-remove{color:var(--text-secondary);font-size:1rem;line-height:1;padding:0;border:none;background:none;cursor:pointer}.field-option-remove:hover{color:var(--danger)}.field-option-add{align-self:flex-start;margin-top:.15rem}.custom-fields-section{margin:.75rem 0}.section-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:.35rem}.custom-field-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.custom-field-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-field-input{flex:1;font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-ui);min-width:0}.custom-field-input:focus{outline:none;border-color:var(--primary)}.custom-field-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.custom-field-value{font-size:.8rem;color:var(--text)}.custom-field-empty{color:var(--text-secondary)}.custom-field-badge{font-size:.65rem;font-weight:500;padding:.0625rem .375rem;border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.filter-input-sm{max-width:120px}.dashboard-view{flex:1;overflow-y:auto;padding:0 1rem 2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}.dashboard-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0}.dashboard-range-toggle{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.dashboard-range-toggle .btn-sm{padding:.25rem .625rem;font-size:.75rem;min-height:unset;border:none}.dashboard-range-toggle .btn-secondary{background:transparent;border:none}.dashboard-loading{text-align:center;padding:3rem;color:var(--text-secondary)}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);opacity:.3;transition:opacity .15s var(--ease)}.stat-card-clickable{cursor:pointer;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.stat-card-clickable:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}.stat-card-clickable:hover:before{opacity:1}.stat-card-success:before{background:var(--success);opacity:1}.stat-card-success.stat-card-clickable:hover{border-color:var(--success);box-shadow:var(--shadow)}.stat-card-success.stat-card-clickable:hover:before{background:var(--success)}.stat-card-danger:before{background:var(--danger);opacity:1}.stat-card-danger .stat-number{color:var(--danger)}.stat-number{font-size:1.75rem;font-weight:700;font-family:var(--font-display);line-height:1.2}.stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-top:.25rem}.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.chart-stack{display:flex;flex-direction:column;gap:.75rem}.dashboard-chart{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.chart-title{font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .75rem}.chart-bars{display:flex;flex-direction:column;gap:.5rem}.chart-bar-row{display:flex;align-items:center;gap:.5rem}.chart-bar-clickable{cursor:pointer;border-radius:var(--radius-sm);padding:2px 4px;margin:-2px -4px;transition:background .15s ease}.chart-bar-clickable:hover{background:var(--bg-raised)}.chart-bar-label{width:100px;font-size:.8rem;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.chart-bar-track{flex:1;height:20px;background:var(--bg-raised);border-radius:var(--radius-sm);overflow:hidden}.chart-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s var(--ease);min-width:2px}.chart-bar-value{width:30px;font-size:.75rem;font-weight:600;text-align:right;flex-shrink:0}.chart-empty{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:1rem 0}.chart-legend{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-dot{width:8px;height:8px;border-radius:50%}.overtime-chart{display:flex;align-items:flex-end;gap:2px;height:120px;border-bottom:1px solid var(--border);padding-bottom:1.25rem;overflow-x:auto}.overtime-bar-group{display:flex;flex-direction:column;align-items:center;min-width:20px;flex:1}.overtime-bars{display:flex;gap:1px;align-items:flex-end;height:100px}.overtime-bar{width:10px;border-radius:3px 3px 0 0;min-height:1px;transition:height .3s var(--ease)}.overtime-bar.created{background:var(--primary)}.overtime-bar.completed{background:var(--success)}.overtime-label{font-size:.55rem;color:var(--text-secondary);writing-mode:vertical-rl;transform:rotate(180deg);margin-top:.25rem}@media (max-width: 768px){.stat-cards{grid-template-columns:repeat(2,1fr)}.chart-row{grid-template-columns:1fr}.dashboard-header{flex-wrap:wrap;gap:.5rem}.chart-bar-label{width:70px;font-size:.7rem}.overtime-chart{height:80px}.overtime-bars{height:60px}}.checklist-item-group{margin-bottom:.25rem}.checklist-meta-row{display:flex;gap:.375rem;padding:.125rem 0 .25rem 1.75rem;flex-wrap:wrap}.checklist-meta-row.read-only{pointer-events:none}.checklist-meta-chip{font-size:.65rem;padding:.0625rem .375rem;border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;line-height:1.4}.checklist-meta-chip:hover{background:var(--bg);color:var(--text)}.checklist-meta-chip.placeholder{opacity:.5}.checklist-meta-chip.overdue{background:#fef2f2;color:var(--danger);border-color:var(--danger)}[data-theme=dark] .checklist-meta-chip.overdue{background:#ef444426}.checklist-meta-chip.priority-low{color:var(--text-secondary)}.checklist-meta-chip.priority-medium{background:#fff8e1;color:#d97706;border-color:#f59e0b}[data-theme=dark] .checklist-meta-chip.priority-medium{background:#f59e0b26}.checklist-meta-chip.priority-high{background:#fef2f2;color:var(--danger);border-color:var(--danger);font-weight:600}[data-theme=dark] .checklist-meta-chip.priority-high{background:#ef444426}.checklist-meta-chip.priority-none{opacity:.5}.checklist-meta-assignee-wrapper{position:relative}.checklist-assignee-dropdown{position:absolute;top:100%;left:0;z-index:10;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:120px;max-height:160px;overflow-y:auto;margin-top:2px}.checklist-assignee-option{display:block;width:100%;padding:.375rem .625rem;font-size:.75rem;text-align:left;border:none;background:none;cursor:pointer;color:var(--text)}.checklist-assignee-option:hover{background:var(--bg-raised)}.checklist-assignee-option.selected{font-weight:600;color:var(--primary)}.checklist-overdue-badge{font-size:.6rem;font-weight:600;padding:.0625rem .375rem;border-radius:var(--radius-pill);background:#fef2f2;color:var(--danger);white-space:nowrap}[data-theme=dark] .checklist-overdue-badge{background:#ef444426}.calendar-subtask-toggle{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.calendar-subtask-toggle input{accent-color:var(--primary)}.calendar-subtask-chip{display:flex;align-items:center;gap:.25rem;padding:.0625rem .25rem;font-size:.65rem;color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-subtask-chip:hover{background:var(--bg-raised)}.calendar-subtask-chip.checked{opacity:.5;text-decoration:line-through}.subtask-check{font-size:.7rem;flex-shrink:0}.calendar-span-strip{display:flex;align-items:center;height:22px;background:color-mix(in srgb,var(--bar-color, var(--primary)) 15%,transparent);cursor:pointer;font-size:.7rem;line-height:1.2;overflow:hidden;padding:0 4px;position:relative;z-index:2}.calendar-span-strip:hover{background:color-mix(in srgb,var(--bar-color, var(--primary)) 25%,transparent)}.calendar-span-strip .span-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-weight:500}.calendar-span-strip.span-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:2px;margin-right:calc(-.375rem - 1px);padding-right:calc(.375rem + 1px)}.calendar-span-strip.span-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:calc(-.375rem - 1px);margin-right:2px;padding-left:0}.calendar-span-strip.span-middle{border-radius:0;margin-left:calc(-.375rem - 1px);margin-right:calc(-.375rem - 1px);padding-left:0;padding-right:0}.calendar-span-strip.span-row-start{border-radius:0;margin-left:calc(-.375rem - 1px);margin-right:calc(-.375rem - 1px);padding-left:.25rem;padding-right:0}.calendar-span-strip.span-row-end{border-radius:0;margin-left:calc(-.375rem - 1px);margin-right:calc(-.375rem - 1px);padding-left:0;padding-right:0}.calendar-span-strip.span-single{border-radius:var(--radius-sm);margin:0 2px}.admin-page{height:100vh;display:flex;flex-direction:column;background:var(--bg)}.admin-layout{flex:1;display:flex;overflow:hidden}.admin-sidebar{width:210px;flex-shrink:0;border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:4px;background:var(--card-bg)}.admin-tab{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;text-align:left;background:none;border:none;border-radius:var(--radius);font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s var(--ease)}.admin-tab-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;transition:opacity .15s var(--ease)}.admin-tab:hover{background:var(--bg-raised);color:var(--text)}.admin-tab:hover .admin-tab-icon{opacity:.85}.admin-tab.active{color:var(--primary);font-weight:600;background:var(--primary-subtle)}.admin-tab.active .admin-tab-icon{opacity:1;color:var(--primary)}.admin-content{flex:1;overflow-y:auto;padding:28px 36px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-header h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.admin-mobile-nav{display:none;position:relative}.admin-dropdown-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--card-bg);border:none;border-bottom:1px solid var(--border);font-family:var(--font-ui);font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer}.admin-dropdown-trigger .admin-tab-icon{opacity:1;color:var(--primary)}.admin-dropdown-chevron{margin-left:auto;color:var(--text-secondary);transition:transform .2s var(--ease)}.admin-dropdown-chevron.open{transform:rotate(180deg)}.admin-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:100;display:flex;flex-direction:column}.admin-dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 16px;background:none;border:none;font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .15s var(--ease)}.admin-dropdown-item:hover{background:var(--bg-raised);color:var(--text)}.admin-dropdown-item.active{color:var(--primary);font-weight:600;background:var(--primary-subtle)}.admin-dropdown-item.active .admin-tab-icon{opacity:1;color:var(--primary)}@media (max-width: 768px){.admin-layout{flex-direction:column}.admin-sidebar{display:none}.admin-mobile-nav{display:block}.admin-content{padding:20px 16px}}.shared-boards-page{max-width:640px}.shared-boards-list{display:flex;flex-direction:column;gap:1px}.shared-boards-loading,.shared-boards-error{padding:24px 0;text-align:center;color:var(--text-secondary);font-size:.9rem}.shared-boards-error{color:var(--danger)}.shared-boards-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 0;color:var(--text-secondary)}.shared-boards-empty p{margin:0;font-size:.95rem}.shared-board-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:16px}.shared-board-row:last-child{border-bottom:none}.shared-board-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.shared-board-name{font-size:.95rem;font-weight:500;color:var(--text)}.shared-board-url{font-family:var(--font-mono, monospace);font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.shared-board-url:hover{color:var(--primary);text-decoration:underline}.btn-revoke{background:transparent;color:var(--danger);border:1px solid var(--danger);flex-shrink:0}.btn-revoke:hover:not(:disabled){background:var(--danger-subtle)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.template-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s var(--ease);position:relative}.template-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);opacity:0;transition:opacity .2s var(--ease)}.template-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.template-card:hover:before{opacity:1}.template-card-preview{display:flex;gap:6px;padding:16px 16px 0;overflow:hidden}.template-col-preview{flex:1;min-width:0;background:var(--bg);border-radius:var(--radius-sm);padding:6px;display:flex;flex-direction:column;gap:4px}.template-col-name{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:3px}.template-card-line{height:6px;border-radius:3px;background:var(--border);opacity:.7}.template-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.template-card-header{display:flex;align-items:center;gap:8px}.template-card-header h3{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text)}.template-badge{font-size:.65rem;padding:2px 7px;border-radius:var(--radius-pill);background:var(--primary-subtle);color:var(--primary);font-weight:600;letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--primary)}.template-desc{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.45}.template-meta{font-size:.7rem;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.template-actions{display:flex;gap:8px;margin-top:6px}.general-settings{max-width:640px}.settings-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;margin-bottom:20px;overflow:hidden}.settings-card-disabled{opacity:.55;pointer-events:none}.settings-card-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.settings-card-header svg{color:var(--text-secondary);flex-shrink:0}.settings-card-header h3{margin:0;font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.coming-soon-pill{font-size:.6rem;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg);color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);margin-left:auto}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);gap:20px}.setting-row-last{border-bottom:none}.setting-info{flex:1;min-width:0}.setting-label{font-size:.875rem;font-weight:500;color:var(--text)}.setting-desc{font-size:.78rem;color:var(--text-secondary);margin-top:3px;line-height:1.4}.setting-input{width:220px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--font-ui);font-size:.82rem;color:var(--text-secondary)}.toggle-switch{position:relative;width:46px;height:26px;border-radius:13px;background:var(--border);border:2px solid transparent;cursor:pointer;padding:0;flex-shrink:0;transition:all .25s var(--ease-spring);outline:none}.toggle-switch:hover{border-color:var(--border-hover)}.toggle-switch:focus-visible{box-shadow:0 0 0 3px var(--primary-subtle)}.toggle-switch.active{background:var(--primary);border-color:transparent}.toggle-switch.active:hover{background:var(--primary-hover)}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s var(--ease-spring);box-shadow:0 1px 3px #00000026,0 0 1px #0000001a}.toggle-switch.active .toggle-knob{transform:translate(20px)}.password-input-wrapper{position:relative;display:block;width:100%}.password-input-wrapper input{padding-right:2.5rem!important;width:100%;box-sizing:border-box}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:0;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .15s;line-height:1}.password-toggle:hover{opacity:1}.password-strength{margin-top:.5rem}.password-strength-bar{height:3px;border-radius:2px;background:var(--border);overflow:hidden}.password-strength-fill{height:100%;border-radius:2px;transition:width .3s var(--ease),background .3s var(--ease)}.password-strength-fill[data-strength="0"]{width:0%}.password-strength-fill[data-strength="1"]{width:25%;background:var(--danger)}.password-strength-fill[data-strength="2"]{width:50%;background:#e67e22}.password-strength-fill[data-strength="3"]{width:75%;background:#d4a017}.password-strength-fill[data-strength="4"]{width:100%;background:var(--success)}.password-strength-label{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.csv-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--card-bg);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:.875rem;z-index:1100;animation:modalIn .25s var(--ease-spring)}.modal-csv-import{max-width:640px}.csv-steps{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.csv-step{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:color .2s var(--ease)}.csv-step.active{color:var(--primary)}.csv-step.completed{color:var(--text-secondary)}.csv-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;font-size:.7rem;font-weight:700;border:1.5px solid var(--border);color:var(--text-secondary);transition:all .2s var(--ease)}.csv-step.active .csv-step-num{background:var(--primary);border-color:var(--primary);color:#fff}.csv-step.completed .csv-step-num{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.csv-step-line{flex:1;height:1px;background:var(--border)}.csv-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s var(--ease);margin-bottom:1rem}.csv-drop-zone:hover,.csv-drop-zone.drag-over{border-color:var(--primary);background:var(--primary-subtle)}.csv-upload-icon{width:2rem;height:2rem;color:var(--text-secondary);margin-bottom:.75rem;transition:color .2s var(--ease)}.csv-drop-zone:hover .csv-upload-icon,.csv-drop-zone.drag-over .csv-upload-icon{color:var(--primary)}.csv-drop-title{margin:0 0 .35rem;font-weight:500;font-size:.9rem}.csv-drop-hint{margin:0;font-size:.8rem;color:var(--text-secondary)}.csv-filename{margin:0;font-weight:600;font-size:.85rem;color:var(--primary)}.csv-mapping-table{margin-bottom:1rem;max-height:240px;overflow-y:auto}.csv-mapping-header{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.5rem 0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card-bg);z-index:1}.csv-mapping-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));transition:background .15s var(--ease)}.csv-mapping-row.mapped{background:var(--primary-subtle)}.csv-header-name{font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-mapping-row select{font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text)}.csv-preview{margin-bottom:1rem}.csv-preview-label{font-weight:500;font-size:.85rem;margin-bottom:.5rem}.csv-preview-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.csv-preview table{width:100%;border-collapse:collapse;font-size:.8rem}.csv-preview th{background:var(--bg);font-weight:600;text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}.csv-preview td{padding:.35rem .6rem;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-import-result{text-align:center;padding:1.5rem 0}.csv-success-icon{width:3rem;height:3rem;color:#059669;margin-bottom:.75rem;animation:csvCheckIn .4s var(--ease-spring)}@keyframes csvCheckIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}[data-theme=dark] .csv-success-icon{color:#34d399}.csv-result-count{font-weight:600;font-size:1.1rem;color:var(--primary);margin:0}.csv-import-warnings{text-align:left;margin-top:1rem;font-size:.8rem;color:var(--text-secondary)}.csv-warnings-label{font-weight:500;font-size:.85rem;margin-bottom:.25rem}.csv-import-warnings ul{margin:0;padding-left:1.25rem}.csv-import-warnings li{margin-bottom:.15rem}.csv-columns-preview{margin-top:.75rem;padding:.625rem .75rem;background:var(--bg-secondary);border-radius:var(--radius);font-size:.8rem;color:var(--text-secondary)}.csv-columns-preview strong{color:var(--text-primary);font-weight:600}.csv-board-name-row{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.csv-board-name-row label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.csv-error{padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;background:var(--danger-subtle);color:var(--danger);border-left:3px solid var(--danger);margin-bottom:1rem}@media (max-width: 768px){.modal-csv-import{max-width:100%}.csv-mapping-table{max-height:200px}}.modal-trello-import{max-width:640px}.trello-preview-summary{background:var(--bg);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem}.trello-preview-summary h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.trello-summary-list{list-style:none;margin:0;padding:0;font-size:.875rem;line-height:1.6}.trello-summary-list li{display:flex;align-items:baseline;gap:.5rem}.trello-summary-icon{color:var(--text-secondary);font-family:monospace;width:.75rem;text-align:center}.trello-archived-note{color:var(--text-secondary);font-size:.8rem}.trello-match-note{color:var(--text-secondary);font-size:.8rem;margin-left:.25rem}.trello-members-table{margin-bottom:1rem}.trello-members-table h4{margin:0 0 .5rem;font-size:.9rem;font-weight:500}.trello-members-table table{width:100%;border-collapse:collapse;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.trello-members-table th{background:var(--bg);text-align:left;padding:.5rem .75rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.trello-members-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.trello-members-table tr:last-child td{border-bottom:none}.trello-match-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.15rem .5rem;border-radius:9999px}.trello-match-status.matched{background:var(--success-subtle, rgba(5, 150, 105, .1));color:var(--success, #059669)}.trello-match-status.matched:before{content:"✓";font-weight:700}.trello-match-status.unmatched{background:var(--warning-subtle, rgba(217, 119, 6, .1));color:var(--warning, #d97706)}.trello-match-status.unmatched:before{content:"⚠"}.trello-import-stats{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;font-size:.85rem;color:var(--text-secondary)}@media (max-width: 768px){.modal-trello-import{max-width:100%}.trello-members-table{overflow-x:auto}}.search-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center}.search-modal{background:var(--bg);border-radius:12px;max-width:600px;width:90%;max-height:70vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border);overflow:hidden}.search-modal-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.search-modal-header svg{flex-shrink:0;color:var(--text-tertiary)}.search-modal-input{flex:1;background:transparent;border:none;outline:none;font-size:16px;color:var(--text);font-family:inherit}.search-modal-input::placeholder{color:var(--text-tertiary)}.search-modal-body{overflow-y:auto;flex:1}.search-modal-results{list-style:none;margin:0;padding:4px}.search-result-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;cursor:pointer;border-radius:6px;margin:2px 4px}.search-result-item:hover,.search-result-item.selected{background:var(--bg-raised)}.search-result-icon{flex-shrink:0;color:var(--text-tertiary);margin-top:2px}.search-result-content{flex:1;min-width:0}.search-result-title{font-weight:600;color:var(--text);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-snippet{font-size:13px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-meta{flex-shrink:0;text-align:right;font-size:12px;color:var(--text-tertiary);white-space:nowrap}.search-result-meta-board{font-weight:500}.search-highlight{font-weight:700;color:var(--text)}.search-empty{padding:32px 16px;text-align:center;color:var(--text-tertiary);font-size:14px}.search-recent-header{padding:8px 16px 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.search-shortcut{font-size:12px;color:var(--text-tertiary);padding:2px 6px;border:1px solid var(--border);border-radius:4px;margin-left:auto}@media (max-width: 640px){.search-modal{width:100%;max-height:100vh;border-radius:0;max-width:100%}}.attachments-section{padding-top:.25rem;margin-bottom:.5rem;margin-top:.25rem;position:relative}.attachments-section:before{content:"";position:absolute;top:0;left:.25rem;right:.25rem;height:1px;background:var(--border)}.attachment-dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:16px;text-align:center;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease);margin-bottom:8px}.attachment-dropzone:hover{border-color:var(--primary);background:var(--primary-subtle)}.attachment-dropzone.drag-over{border-color:var(--primary);background:var(--primary-subtle);border-style:solid}.dropzone-text{font-size:.85rem;color:var(--text-secondary)}.dropzone-input{display:none}.attachment-progress{height:4px;background:var(--border);border-radius:var(--radius-pill);margin-bottom:8px;overflow:hidden}.attachment-progress-bar{height:100%;background:var(--primary);border-radius:var(--radius-pill);transition:width .2s var(--ease)}.attachment-list{display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:flex-start;gap:10px;padding:8px;border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border)}.attachment-thumb-link{flex-shrink:0}.attachment-thumbnail{width:80px;max-height:80px;object-fit:cover;border-radius:var(--radius-sm);display:block}.attachment-info{flex:1;min-width:0}.attachment-name-row{display:flex;align-items:center;gap:6px}.attachment-icon{flex-shrink:0;font-size:1rem}.attachment-filename{color:var(--primary);text-decoration:none;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-filename:hover{text-decoration:underline}.attachment-meta{display:flex;gap:8px;font-size:.75rem;color:var(--text-tertiary);margin-top:2px}.attachment-meta span:not(:last-child):after{content:"·";margin-left:8px}.attachment-delete{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:1.1rem;padding:2px 6px;border-radius:var(--radius-sm);line-height:1;flex-shrink:0;align-self:flex-start}.attachment-delete:hover{color:var(--danger);background:var(--danger-subtle)}.devconsole-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191773;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fadeIn .15s var(--ease)}[data-theme=dark] .devconsole-overlay{background:#0000008c}.devconsole-modal{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-width:1340px;height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .25s var(--ease-spring)}.devconsole-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--card-bg);flex-shrink:0}.devconsole-header-left{display:flex;align-items:center;gap:.625rem}.devconsole-logo{color:var(--primary)}.devconsole-header h2{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.devconsole-tabs{display:flex;gap:.25rem;background:var(--bg);border-radius:var(--radius);padding:.2rem}.devconsole-tab{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-ui);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s var(--ease)}.devconsole-tab:hover{color:var(--text)}.devconsole-tab.active{background:var(--card-bg);color:var(--text);box-shadow:0 1px 3px #00000014}.devconsole-tab svg{flex-shrink:0;opacity:.7}.devconsole-tab.active svg{opacity:1;color:var(--primary)}.devconsole-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all .15s var(--ease)}.devconsole-close:hover{background:var(--bg-raised);color:var(--text)}.devconsole-body{flex:1;overflow-y:auto}.devconsole-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.devconsole-filters{display:flex;gap:.375rem;flex:1}.devconsole-filters select{padding:.375rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);font-family:var(--font-ui);font-size:.8rem;color:var(--text);cursor:pointer;transition:border-color .15s var(--ease)}.devconsole-filters select:hover{border-color:var(--border-hover)}.devconsole-filter-input{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);flex:1;max-width:220px;transition:border-color .15s var(--ease)}.devconsole-filter-input:focus-within{border-color:var(--primary)}.devconsole-filter-input svg{color:var(--text-tertiary);flex-shrink:0}.devconsole-filter-input input{border:none;background:none;font-family:var(--font-ui);font-size:.8rem;color:var(--text);outline:none;width:100%}.devconsole-filter-input input::placeholder{color:var(--text-tertiary)}.devconsole-controls{display:flex;gap:.375rem;align-items:center}.devconsole-ctrl-btn{display:flex;align-items:center;gap:.3rem;padding:.375rem .625rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-family:var(--font-ui);font-size:.8rem;font-weight:500;white-space:nowrap;transition:all .15s var(--ease)}.devconsole-ctrl-btn:hover{border-color:var(--border-hover);color:var(--text)}.devconsole-ctrl-btn.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.devconsole-recording-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);font-family:var(--font-ui);font-size:.8rem;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all .15s var(--ease)}.devconsole-recording-btn:hover{border-color:var(--border-hover)}.devconsole-recording-dot{width:7px;height:7px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0;transition:background .2s var(--ease)}.devconsole-recording-btn.active{color:var(--success);border-color:var(--success);background:#2f855a0f}.devconsole-recording-btn.active .devconsole-recording-dot{background:var(--success);animation:devconsole-pulse 2s ease-in-out infinite}@keyframes devconsole-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.devconsole-content{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}.devconsole-events{overflow-y:auto;border-right:1px solid var(--border);background:var(--card-bg)}.devconsole-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 2rem;height:100%;min-height:200px;text-align:center}.devconsole-empty svg{color:var(--text-tertiary);opacity:.5;margin-bottom:.25rem}.devconsole-empty p{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0}.devconsole-empty span{font-size:.8rem;color:var(--text-tertiary)}.devconsole-event{display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;font-size:.8125rem;transition:background .1s var(--ease)}.devconsole-event:hover{background:var(--bg)}.devconsole-event.selected{background:var(--primary-subtle)}.devconsole-event-method{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .4rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700;letter-spacing:.02em;font-family:var(--font-ui);flex-shrink:0;min-width:40px;text-align:center}.devconsole-event-method[data-method=GET]{background:#61affe1f;color:#61affe}.devconsole-event-method[data-method=POST]{background:#49cc901f;color:#49cc90}.devconsole-event-method[data-method=PUT]{background:#fca1301f;color:#fca130}.devconsole-event-method[data-method=DELETE]{background:#f93e3e1f;color:#f93e3e}.devconsole-event-method[data-method=PATCH]{background:#50e3c21f;color:#50e3c2}[data-theme=dark] .devconsole-event-method[data-method=GET]{background:#61affe26;color:#7ec4ff}[data-theme=dark] .devconsole-event-method[data-method=POST]{background:#49cc9026;color:#6edcaa}[data-theme=dark] .devconsole-event-method[data-method=PUT]{background:#fca13026;color:#fdba5c}[data-theme=dark] .devconsole-event-method[data-method=DELETE]{background:#f93e3e26;color:#ff7070}[data-theme=dark] .devconsole-event-method[data-method=PATCH]{background:#50e3c226;color:#72ecd2}.devconsole-event-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.775rem}.devconsole-event-status{font-weight:600;font-size:.75rem;width:30px;text-align:center;flex-shrink:0}.devconsole-event-status.success{color:var(--success)}.devconsole-event-status.redirect{color:var(--primary)}.devconsole-event-status.client-error{color:#e8a435}.devconsole-event-status.server-error{color:var(--danger)}[data-theme=dark] .devconsole-event-status.client-error{color:#f0b84a}.devconsole-event-duration{color:var(--text-tertiary);width:48px;text-align:right;font-size:.75rem;flex-shrink:0;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.devconsole-event-age{color:var(--text-tertiary);width:52px;text-align:right;font-size:.7rem;flex-shrink:0}.devconsole-event-fn{background:var(--primary-subtle);color:var(--primary);padding:.0625rem .4rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.devconsole-detail{overflow-y:auto;padding:1.25rem;background:var(--bg)}.devconsole-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.devconsole-detail-title{display:flex;align-items:center;gap:.5rem;min-width:0}.devconsole-detail-path{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.875rem;color:var(--text);word-break:break-all;background:none;padding:0}.devconsole-detail-status-badge{font-family:var(--font-display);font-weight:800;font-size:1.125rem;flex-shrink:0}.devconsole-detail-status-badge.success{color:var(--success)}.devconsole-detail-status-badge.redirect{color:var(--primary)}.devconsole-detail-status-badge.client-error{color:#e8a435}.devconsole-detail-status-badge.server-error{color:var(--danger)}[data-theme=dark] .devconsole-detail-status-badge.client-error{color:#f0b84a}.devconsole-detail-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.devconsole-meta-item{display:flex;align-items:center;gap:.375rem}.devconsole-meta-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.devconsole-meta-value{font-size:.8125rem;color:var(--text);font-weight:500}.devconsole-mono{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.775rem}.devconsole-section{margin-bottom:1rem}.devconsole-section h4{font-family:var(--font-display);font-size:.75rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.devconsole-fn-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.devconsole-fn-sig{padding:.625rem .875rem;background:var(--primary-subtle);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.775rem;color:var(--primary);border-bottom:1px solid var(--border)}.devconsole-fn-loc{padding:.375rem .875rem;font-size:.7rem;color:var(--text-tertiary);border-bottom:1px solid var(--border);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.devconsole-fn-source{padding:.875rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.775rem;line-height:1.6;overflow-x:auto;margin:0;white-space:pre;color:var(--text)}.devconsole-json,.devconsole-code{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.775rem;line-height:1.6;overflow-x:auto;margin:0;white-space:pre;max-height:260px;overflow-y:auto;color:var(--text)}.devconsole-actions{display:flex;gap:.5rem;margin-bottom:1rem;align-items:center}.devconsole-copy-group{display:flex}.devconsole-copy-group select{padding:.375rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--card-bg);font-family:var(--font-ui);font-size:.8rem;color:var(--text);cursor:pointer}.devconsole-copy-group button{padding:.375rem .75rem;border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--bg);font-family:var(--font-ui);font-size:.8rem;cursor:pointer;color:var(--text);transition:all .15s var(--ease)}.devconsole-copy-group button:hover{background:var(--bg-raised)}.devconsole-try-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s var(--ease)}.devconsole-try-btn:hover{background:var(--primary-hover)}@media (max-width: 768px){.devconsole-overlay{padding:0}.devconsole-modal{border-radius:0;height:100vh;max-width:100%}.devconsole-content{grid-template-columns:1fr}.devconsole-events{border-right:none;border-bottom:1px solid var(--border);max-height:45vh}.devconsole-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem .75rem}.devconsole-filters{flex-wrap:wrap}.devconsole-filter-input{max-width:none}.devconsole-event-age,.devconsole-event-fn{display:none}.devconsole-header{padding:.75rem}.devconsole-tabs{display:none}.devconsole-header-left h2{font-size:.9rem}.devconsole-detail{padding:.75rem}.devconsole-detail-meta{flex-direction:column;gap:.375rem}}.webhook-settings{padding:1.5rem;height:100%;overflow-y:auto}.webhook-settings.loading{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.webhook-error{padding:.75rem 1rem;margin-bottom:1rem;background:#ef44441a;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger)}.webhook-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.webhook-header h3{margin:0;font-size:1.1rem;color:var(--text)}.webhook-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.webhook-form .form-group{margin-bottom:1rem}.webhook-form .form-group:last-of-type{margin-bottom:1.25rem}.webhook-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text);font-size:.9rem}.webhook-form input[type=url],.webhook-form input[type=text]{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.9rem}.webhook-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.webhook-event-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text)}.webhook-event-checkbox input[type=checkbox]{width:1rem;height:1rem}.webhook-form-actions{display:flex;justify-content:flex-end;gap:.75rem}.webhook-list{display:flex;flex-direction:column;gap:.75rem}.webhook-empty{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.webhook-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.webhook-item-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer}.webhook-item-header:hover{background:var(--bg)}.webhook-item-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.webhook-status{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;flex-shrink:0}.webhook-status.active{background:#22c55e26;color:var(--success)}.webhook-status.disabled{background:#6b728026;color:var(--text-secondary)}.webhook-url{font-family:monospace;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webhook-description{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webhook-item-meta{display:flex;align-items:center;gap:1rem;flex-shrink:0}.webhook-events-count{font-size:.8rem;color:var(--text-secondary)}.webhook-last-status{font-size:.8rem;padding:.2rem .5rem;border-radius:var(--radius)}.webhook-last-status.success{background:#22c55e26;color:var(--success)}.webhook-last-status.error{background:#ef44441a;color:var(--danger)}.webhook-item-details{border-top:1px solid var(--border);padding:1.25rem;background:var(--bg)}.webhook-detail-section{margin-bottom:1.25rem}.webhook-detail-section:last-child{margin-bottom:0}.webhook-detail-section h4{margin:0 0 .75rem;font-size:.85rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.webhook-events-tags{display:flex;flex-wrap:wrap;gap:.5rem}.webhook-event-tag{padding:.25rem .625rem;background:var(--primary-faded);color:var(--primary);border-radius:var(--radius);font-size:.8rem;font-family:monospace}.webhook-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.webhook-detail-actions button{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:.85rem;cursor:pointer}.webhook-detail-actions button:hover{background:var(--bg-raised)}.webhook-detail-actions button.btn-danger{border-color:var(--danger);color:var(--danger)}.webhook-detail-actions button.btn-danger:hover{background:#ef44441a}.webhook-deliveries-loading,.webhook-deliveries-empty{color:var(--text-secondary);font-size:.85rem;font-style:italic}.webhook-deliveries{display:flex;flex-direction:column;gap:.5rem}.webhook-delivery{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--card-bg);border-radius:var(--radius);font-size:.85rem}.delivery-event{font-family:monospace;color:var(--text)}.delivery-status{padding:.2rem .5rem;border-radius:var(--radius);font-size:.75rem}.delivery-status.success{background:#22c55e26;color:var(--success)}.delivery-status.error{background:#ef44441a;color:var(--danger)}.delivery-time{color:var(--text-secondary);margin-left:auto}.webhook-delivery .btn-small{padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer}.webhook-secret-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.webhook-secret-content{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;max-width:500px;width:90%}.webhook-secret-content h3{margin:0 0 .5rem}.webhook-secret-content p{color:var(--text-secondary);margin-bottom:1rem}.webhook-secret-content code{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-size:.85rem;word-break:break-all;margin-bottom:1rem}.webhook-secret-content button{width:100%;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}@media (max-width: 768px){.webhook-item-main{flex-direction:column;align-items:flex-start;gap:.25rem}.webhook-item-meta{flex-direction:column;align-items:flex-end;gap:.25rem}}.prose{font-family:var(--font-ui);font-size:.875rem;line-height:1.6;color:var(--text);word-break:break-word}.prose p{margin:.4em 0}.prose p:first-child{margin-top:0}.prose p:last-child{margin-bottom:0}.prose strong{font-weight:600}.prose em{font-style:italic}.prose code{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8em;background:var(--primary-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15em .35em}.prose pre{margin:.5em 0;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);padding:.6em .8em;overflow-x:auto}.prose pre code{background:none;border:none;padding:0;font-size:.8em}.prose ul,.prose ol{margin:.4em 0;padding-left:1.5em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin:.15em 0}.prose a{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.prose a:hover{color:var(--primary-hover)}.prose blockquote{margin:.4em 0;padding:.25em .75em;border-left:3px solid var(--border);color:var(--text-secondary)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:.6em 0 .3em;font-weight:600;line-height:1.3}.prose h1{font-size:1.25em}.prose h2{font-size:1.125em}.prose h3{font-size:1em}.prose hr{margin:.6em 0;border:none;border-top:1px solid var(--border)}.prose table{border-collapse:collapse;margin:.4em 0;width:100%}.prose th,.prose td{border:1px solid var(--border);padding:.3em .5em;text-align:left;font-size:.85em}.prose th{background:var(--bg);font-weight:600}.prose img{max-width:100%;border-radius:var(--radius-sm)}.relations-section{margin-top:.25rem;position:relative;z-index:1}.relation-group{margin-bottom:.5rem}.relation-group-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.relation-chips{display:flex;flex-wrap:wrap;gap:.35rem}.relation-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;padding:.2em .5em;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-chip-blocks{border-color:#e07c3d;background:#e07c3d14}.relation-chip-blocked{border-color:#d69e2e;background:#d69e2e14}.relation-chip-related{border-color:var(--primary);background:var(--primary-subtle)}.relation-chip-board{font-size:.65rem;color:var(--text-tertiary);font-weight:400}.relation-chip-remove{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--text-secondary);padding:0 .1em;border-radius:50%}.relation-chip-remove:hover{color:var(--danger)}.relation-add{margin-top:.5rem}.relation-add-row{display:flex;gap:.35rem;align-items:flex-start}.relation-type-select{font-size:.8rem;padding:.35em .5em;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;flex-shrink:0}.relation-search-wrapper{position:relative;flex:1}.relation-search-input{width:100%;font-size:.8rem;padding:.35em .5em;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text)}.relation-search-input:focus{outline:none;border-color:var(--primary)}.relation-search-dropdown{position:absolute;top:100%;left:0;min-width:320px;z-index:100;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:180px;overflow-y:auto;margin-top:2px}.relation-search-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4em .6em;font-size:.8rem;border:none;background:none;cursor:pointer;text-align:left;color:var(--text)}.relation-search-item:hover{background:var(--primary-subtle)}.relation-search-col{font-size:.7rem;color:var(--text-tertiary);flex-shrink:0}.relation-search-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blocked-badge{font-size:.65rem;font-weight:600;padding:.15em .4em;border-radius:var(--radius-pill);background:#d69e2e26;color:#b7791f;white-space:nowrap}[data-theme=dark] .blocked-badge{background:#d69e2e33;color:#ecc94b}kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:inherit;line-height:1.4;color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 0 var(--border);min-width:20px;text-align:center}.shortcuts-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center}.shortcuts-modal{background:var(--bg);border-radius:12px;max-width:640px;width:90%;max-height:75vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border);overflow:hidden}.shortcuts-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.shortcuts-modal-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text)}.shortcuts-modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center}.shortcuts-modal-body{overflow-y:auto;padding:16px 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.shortcuts-group-title{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.shortcuts-list{list-style:none;margin:0;padding:0}.shortcuts-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:12px}.shortcuts-keys{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcuts-then{font-size:10px;color:var(--text-tertiary);margin:0 2px}.shortcuts-desc{font-size:13px;color:var(--text-secondary);text-align:right}.shortcuts-help-btn{background:none;border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-tertiary);font-size:14px;font-weight:600;transition:all .15s ease}.shortcuts-help-btn:hover{background:var(--bg-raised);color:var(--text);border-color:var(--text-tertiary)}@media (max-width: 600px){.shortcuts-modal-body{grid-template-columns:1fr}.shortcuts-modal{width:95%;max-height:85vh}}
