:root{--color-primary: #635bff;--color-primary-dark: #4f47d6;--color-primary-soft: rgba(99, 91, 255, .08);--color-primary-tint: rgba(99, 91, 255, .16);--gradient-primary: linear-gradient(135deg, #635bff 0%, #3b82f6 100%);--gradient-primary-hover: linear-gradient(135deg, #4f47d6 0%, #2563eb 100%);--color-bg: #f6f9fc;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-surface-hover: #f3f4f6;--color-text: #1a1f36;--color-text-secondary: #4f566b;--color-text-tertiary: #8898aa;--border-subtle: #eef0f3;--border-default: #e3e8ee;--border-strong: #cdd5df;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-error-soft: #fee2e2;--tone-slate-bg: #eef2f6;--tone-slate-fg: #475569;--tone-blue-bg: #dbeafe;--tone-blue-fg: #1d4ed8;--tone-indigo-bg: #e0e7ff;--tone-indigo-fg: #4338ca;--tone-violet-bg: #ede9fe;--tone-violet-fg: #6d28d9;--tone-teal-bg: #ccfbf1;--tone-teal-fg: #0f766e;--tone-orange-bg: #ffedd5;--tone-orange-fg: #c2410c;--tone-amber-bg: #fef3c7;--tone-amber-fg: #b45309;--tone-green-bg: #d1fae5;--tone-green-fg: #047857;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(50, 50, 93, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(50, 50, 93, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 32px rgba(50, 50, 93, .1), 0 4px 12px rgba(0, 0, 0, .04);--transition-fast: .12s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";line-height:1.5;color:var(--color-text);-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}html{background:var(--color-bg)}html,body,#root{margin:0;padding:0;min-height:100%}body{background:transparent;overflow-x:hidden}#root{position:relative;z-index:1}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.2}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}::selection{background:var(--color-primary-tint);color:var(--color-primary-dark)}.muted{color:var(--color-text-tertiary)}.small{font-size:.8rem}.center{text-align:center}.right{text-align:right}.pad{padding:.75rem 1rem}.mono{font-family:JetBrains Mono,Menlo,monospace;font-size:.85em}.loading{color:var(--color-text-secondary);text-align:center;padding:2rem 0}.divider{border:0;border-top:1px solid var(--border-subtle);margin:1.25rem 0}.aurora-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(70px)}.orb-purple{width:520px;height:520px;top:6%;left:2%;background:radial-gradient(circle,rgba(99,91,255,.28),rgba(160,96,238,.16),transparent 65%)}.orb-blue{width:460px;height:460px;top:40%;right:0;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 65%)}.orb-violet{width:380px;height:380px;bottom:-5%;left:35%;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 65%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.875rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--color-surface-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);border-color:transparent;color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:0 4px 14px #635bff4d}.btn-danger{background:var(--color-error);border-color:transparent;color:#fff;font-weight:600}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger-ghost{background:transparent;border-color:#ef44444d;color:#b91c1c;box-shadow:none}.btn-danger-ghost:hover:not(:disabled){background:var(--color-error-soft);border-color:var(--color-error)}.btn-block{width:100%;padding:11px 18px;font-size:.95rem}.btn-small{padding:5px 10px;font-size:.8rem}.link-btn{background:none;border:none;padding:0;font:inherit;font-size:.85rem;font-weight:500;color:var(--color-primary);cursor:pointer}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn.danger{color:#b91c1c}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font:inherit}.icon-btn:hover{background:var(--color-primary-soft);color:var(--color-primary)}input,textarea,select{font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 11px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}input:disabled{background:var(--color-surface-muted);color:var(--color-text-secondary)}textarea{resize:vertical;line-height:1.5}select{padding-right:28px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%238898aa' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px;cursor:pointer}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.form-field label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.form-field input,.form-field textarea,.form-field select{width:100%}.form-help{margin:0;font-size:.75rem;color:var(--color-text-tertiary)}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem}.form-aside{display:flex;justify-content:flex-end;margin-top:.35rem;font-size:.8rem}.check{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.check input{width:15px;height:15px;accent-color:var(--color-primary);margin:0}.copy-row{display:flex;gap:.5rem}.copy-row input{flex:1}.error{background:var(--color-error-soft);border:1px solid rgba(239,68,68,.2);color:#b91c1c;padding:.75rem 1rem;border-radius:var(--radius-md);margin:0 0 1rem;font-size:.9rem}.notice{background:#ecfdf5;border:1px solid rgba(16,185,129,.25);color:#047857;padding:.75rem 1rem;border-radius:var(--radius-md);margin:0 0 1rem;font-size:.9rem}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.password-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary)}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--border-subtle)}.topbar-right{display:flex;align-items:center}.crumbs{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem;min-width:0}.crumbs li{display:flex;align-items:center;gap:.25rem;min-width:0}.topbar-chev{color:var(--border-strong);flex-shrink:0}.crumb{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.crumb.is-current{color:var(--color-text);font-weight:600}.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text)}.brand-mark{background:var(--gradient-primary);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #635bff59}.brand-name{font-family:Space Grotesk,Inter,sans-serif;font-weight:700;letter-spacing:-.02em}.user-menu,.bell{position:relative}.menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;z-index:40;animation:pop-in .12s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-info{padding:8px 10px 10px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.menu-info-name{font-weight:600;font-size:.9rem}.menu-info-email{font-size:.78rem;color:var(--color-text-tertiary)}.menu-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;border:none;background:transparent;text-align:left;font:inherit;font-size:.875rem;color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer}.menu-item:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.count-badge{background:var(--color-error);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px}.bell-trigger{position:relative;width:36px;height:36px;border:1px solid var(--border-default);background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm)}.bell-count{position:absolute;top:-4px;right:-4px;background:var(--color-error);color:#fff;font-size:.65rem;font-weight:700;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff}.bell-panel{width:360px;max-width:calc(100vw - 2rem);padding:0}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:.9rem}.bell-list{list-style:none;margin:0;padding:4px;max-height:420px;overflow-y:auto}.bell-item{display:flex;gap:.6rem;width:100%;text-align:left;padding:9px 10px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.83rem;color:var(--color-text)}.bell-item:hover{background:var(--color-surface-hover)}.bell-item.is-unread{background:var(--color-primary-soft)}.bell-item.is-unread:hover{background:var(--color-primary-tint)}.bell-text{display:flex;flex-direction:column;gap:2px;min-width:0}.bell-title{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;flex-shrink:0;letter-spacing:.02em}.avatar-empty{background:var(--color-surface-muted);color:var(--color-text-tertiary);border:1px dashed var(--border-strong)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:3px 9px 3px 7px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.tone-slate{background:var(--tone-slate-bg);color:var(--tone-slate-fg)}.tone-blue{background:var(--tone-blue-bg);color:var(--tone-blue-fg)}.tone-indigo{background:var(--tone-indigo-bg);color:var(--tone-indigo-fg)}.tone-violet{background:var(--tone-violet-bg);color:var(--tone-violet-fg)}.tone-teal{background:var(--tone-teal-bg);color:var(--tone-teal-fg)}.tone-orange{background:var(--tone-orange-bg);color:var(--tone-orange-fg)}.tone-amber{background:var(--tone-amber-bg);color:var(--tone-amber-fg)}.tone-green{background:var(--tone-green-bg);color:var(--tone-green-fg)}.priority{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500}.priority-urgent{color:#dc2626}.priority-high{color:#ea580c}.priority-medium{color:#ca8a04}.priority-low{color:#2563eb}.type-icon{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500}.type-task{color:#3b82f6}.type-bug{color:#ef4444}.type-feature{color:#10b981}.type-icon span,.priority span{color:var(--color-text-secondary)}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--tone-slate-bg);color:var(--tone-slate-fg)}.pill-soft{background:var(--color-primary-soft);color:var(--color-primary-dark)}.pill.status-active{background:var(--tone-green-bg);color:var(--tone-green-fg)}.pill.status-pending{background:var(--tone-amber-bg);color:var(--tone-amber-fg)}.pill.status-rejected{background:var(--color-error-soft);color:#b91c1c}.issue-key{font-family:JetBrains Mono,Menlo,monospace;font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);white-space:nowrap}.due{font-size:.85rem}.due-overdue{color:#dc2626;font-weight:600}.due-soon{color:#d97706;font-weight:600}.due.small{font-size:.72rem}.page{margin:0 auto}.eyebrow{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-primary);margin:0 0 .5rem}.page-title{font-family:Space Grotesk,Inter,sans-serif;font-size:2rem}.section-title{margin-bottom:1rem;color:var(--color-text)}.empty-state{text-align:center;background:var(--color-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--color-text-secondary)}.empty-state h3{margin-bottom:.4rem}.empty-state p{margin:0}.project-card{display:flex;background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);color:var(--color-text);transition:all var(--transition-fast)}.project-card:hover{border-color:var(--color-primary-tint);color:var(--color-text)}.project-card h3{font-size:1.05rem}.project-card-foot{margin-top:auto;color:var(--color-text-tertiary)}.dot-sep{color:var(--border-strong)}.project-tab{display:inline-flex;align-items:center;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px}.project-tab:hover{color:var(--color-text)}.project-tab.active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.tab-count{font-size:.7rem;background:var(--color-surface-hover);padding:1px 6px;border-radius:999px;color:var(--color-text-tertiary)}.narrow-page{max-width:880px;width:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.section-head h2{font-size:1.35rem}.section-head p{margin:.25rem 0 0;font-size:.9rem}.filter-bar{display:flex;align-items:center;flex-wrap:wrap}.filter-bar select{font-size:.85rem}.filter-bar-right{margin-left:auto;display:flex;gap:.5rem;align-items:center}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap svg{position:absolute;left:10px;color:var(--color-text-tertiary);pointer-events:none}.search-wrap input{font-size:.85rem}.status-chips{display:flex;gap:.4rem;padding:.25rem 1.5rem .75rem;flex-wrap:wrap;align-items:center}.page .status-chips{padding-left:0;padding-right:0;margin-bottom:.75rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:4px 10px;border-radius:999px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border-default);background:var(--color-surface);color:var(--color-text-secondary);opacity:.85}.chip:hover{opacity:1}.chip.is-on{opacity:1;border-color:currentColor;box-shadow:0 0 0 2px #635bff1f}.chip.is-on:not([class*=tone-]){background:var(--color-primary-soft);color:var(--color-primary-dark);border-color:var(--color-primary)}.chip-count{font-size:.7rem;opacity:.8}.board-page,.list-page{flex:1;display:flex;flex-direction:column;min-width:0}.board-page .error,.list-page .error{margin:0 1.5rem .5rem}.board{display:flex;overflow-x:auto}.board-col{display:flex;flex-direction:column;transition:background var(--transition-fast),border-color var(--transition-fast)}.board-col.is-over{border-color:var(--color-primary)}.board-col-head{display:flex;align-items:center;gap:.5rem;background:transparent}.board-col-head h3{font-weight:700;text-transform:uppercase}.board-col-head .status-dot{width:9px;height:9px}.col-count{font-size:.72rem;color:var(--color-text-tertiary);background:var(--color-surface);border:1px solid var(--border-subtle);padding:0 6px;border-radius:999px}.col-add{font-size:1rem;line-height:1;transition:opacity var(--transition-fast)}.board-col:hover .col-add{opacity:1}.board-cards{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.board-empty{text-align:center;border:1px dashed var(--border-default);border-radius:var(--radius-md)}.issue-card{display:block;background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:grab;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.issue-card:hover{color:var(--color-text)}.meta-count{display:inline-flex;align-items:center;gap:2px;font-size:.72rem;color:var(--color-text-tertiary)}.table-wrap{background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);overflow:auto}.list-page .table-wrap{margin:0 1.5rem 2rem}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);padding:.7rem .9rem;border-bottom:1px solid var(--border-subtle);background:var(--color-surface-muted);white-space:nowrap}.table td{padding:.65rem .9rem;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-surface-muted)}.table-foot{padding:.5rem .9rem;margin:0;border-top:1px solid var(--border-subtle)}.issue-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text);font-weight:500}.issue-link:hover .issue-title{color:var(--color-primary)}.assignee-cell{display:inline-flex;align-items:center;gap:.5rem}.issue-page{grid-template-columns:minmax(0,1fr) 300px;gap:2rem;width:100%;margin:0 auto}.issue-page>.error{grid-column:1 / -1}.saving{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.issue-heading{font-weight:700;line-height:1.25;padding:4px 6px;margin:0 -6px 1.25rem;border-radius:var(--radius-sm)}.issue-heading.is-editable{cursor:text}.issue-heading.is-editable:hover{background:var(--color-surface-hover)}.title-edit{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem}.title-edit input{flex:1;font-size:1.25rem;font-weight:600}.issue-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.placeholder-text{font-size:.9rem;margin:0}.desc-edit{display:flex;flex-direction:column;gap:.5rem}.issue-side{display:flex;flex-direction:column;align-self:start;background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.status-select{font-weight:600;border-color:transparent}.side-meta{font-size:.75rem;color:var(--color-text-tertiary);padding-top:.75rem;display:flex;flex-direction:column;gap:2px}.attachment{display:flex;gap:.7rem;padding:.6rem;background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:0}.comment-list{list-style:none;padding:0;display:flex;flex-direction:column}.comment,.comment-compose{display:flex;gap:.75rem}.comment-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.comment:hover .comment-actions{opacity:1}.comment .rich-content{border-radius:var(--radius-md)}.activity{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-text-secondary)}.activity em{font-style:normal;font-weight:600;color:var(--color-text)}.rte{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface)}.rte:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.rte-toolbar{display:flex;align-items:center;border-bottom:1px solid var(--border-subtle)}.rte-btn{font:inherit;font-size:.75rem;font-weight:600;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer}.rte-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.rte-btn.is-active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.rte-sep{width:1px;height:16px;background:var(--border-default)}.rte-content{padding:.6rem .85rem;outline:none;font-size:.9rem}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-tertiary);float:left;height:0;pointer-events:none}.rte-content,.rich-content{line-height:1.6}.rich-content{font-size:.925rem}.rte-content>:first-child,.rich-content>:first-child{margin-top:0}.rte-content>:last-child,.rich-content>:last-child{margin-bottom:0}.rte-content p,.rich-content p{margin:0 0 .6em}.rte-content h1,.rich-content h1{font-size:1.3rem;margin:.8em 0 .4em}.rte-content h2,.rich-content h2{font-size:1.1rem;margin:.8em 0 .4em}.rte-content h3,.rich-content h3{font-size:1rem;margin:.8em 0 .4em}.rte-content ul,.rte-content ol,.rich-content ul,.rich-content ol{padding-left:1.4em;margin:0 0 .6em}.rte-content blockquote,.rich-content blockquote{margin:0 0 .6em;padding:.2em .9em;border-left:3px solid var(--border-strong);color:var(--color-text-secondary)}.rte-content code,.rich-content code{font-family:JetBrains Mono,Menlo,monospace;font-size:.85em;background:var(--color-surface-muted);padding:1px 5px;border-radius:4px}.rte-content pre,.rich-content pre{background:var(--color-surface-muted);color:var(--color-text);border:1px solid var(--border-default);padding:.75rem 1rem;border-radius:var(--radius-md);overflow-x:auto;margin:0 0 .6em}.rte-content pre code,.rich-content pre code{background:none;padding:0;color:inherit}.rich-content a{text-decoration:underline}.mention{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:4px;padding:0 4px;font-weight:600;white-space:nowrap}.mention-popup{position:absolute;z-index:200}.mention-list{background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px;min-width:240px;display:flex;flex-direction:column}.mention-empty{padding:8px 10px;font-size:.8rem;color:var(--color-text-tertiary)}.mention-option{display:flex;align-items:center;gap:.5rem;padding:6px 8px;border:none;background:transparent;border-radius:var(--radius-sm);font:inherit;font-size:.85rem;text-align:left;cursor:pointer;color:var(--color-text)}.mention-option.is-active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.mention-option-email{margin-left:auto;font-size:.72rem;color:var(--color-text-tertiary)}.overlay{position:fixed;inset:0;background:#0a254073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;justify-content:center;align-items:center;padding:1.5rem;animation:fade-in .14s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{max-width:100%;max-height:92vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 24px 64px #0f172a40;animation:pop-in .16s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.modal-body{overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.9rem 1.25rem;border-top:1px solid var(--border-subtle);background:var(--color-surface-muted);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.confirm-message{font-size:.95rem;color:var(--color-text-secondary)}.auth-shell{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.auth-grid{position:relative;z-index:1;width:100%;max-width:1020px;display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}.auth-info-title{font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(1.9rem,3.5vw,2.75rem);line-height:1.08;margin-bottom:1rem}.gradient-text{background:linear-gradient(135deg,#4338ca,#6366f1,#8b5cf6 60%,#ec4899);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-info-sub{color:var(--color-text-secondary);font-size:1rem;margin:0 0 1.75rem;max-width:420px}.auth-feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.auth-feature{display:flex;gap:.85rem;align-items:flex-start}.auth-feature-num{width:26px;height:26px;border-radius:8px;background:var(--gradient-primary);color:#fff;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.auth-feature-title{font-weight:600;font-size:.925rem}.auth-feature-desc{font-size:.85rem;color:var(--color-text-secondary)}.auth-form-col{display:flex;justify-content:center}.auth-card{width:100%;max-width:430px;background:#ffffffeb;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg)}.auth-card-head{margin-bottom:1.5rem}.auth-card-head h2{font-size:1.45rem;font-weight:600;margin-bottom:.3rem}.auth-card-head p{margin:0;color:var(--color-text-secondary);font-size:.925rem}.auth-card .form-field input{padding:11px 13px}.auth-footer{text-align:center;margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border-subtle);color:var(--color-text-secondary);font-size:.875rem}.auth-bootstrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.access-denied{max-width:480px;margin:6rem auto;text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}@media(max-width:900px){.auth-grid{grid-template-columns:1fr;gap:2rem}.auth-info{display:none}.issue-page{grid-template-columns:1fr}.issue-side{position:static}}@media(max-width:640px){.page,.narrow-page{padding-left:1rem;padding-right:1rem}.topbar{padding:.5rem 1rem}.filter-bar,.status-chips,.board,.project-nav{padding-left:1rem;padding-right:1rem}.list-page .table-wrap{margin-left:1rem;margin-right:1rem}.search-wrap input{width:100%}.form-row{grid-template-columns:1fr}.crumb{max-width:140px}}:root{--sidebar-w: 248px}.ml-auto{margin-left:auto}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;left:0;width:var(--sidebar-w);z-index:30;display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);transition:transform .2s ease}.shell-main{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column}.sidebar-nav{flex:1;overflow-y:auto;padding:.4rem .6rem 1rem;display:flex;flex-direction:column;gap:2px}.side-section{display:flex;align-items:center;justify-content:space-between;margin:1rem .5rem .35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.side-add{width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--color-text-tertiary);font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.side-add:hover{background:var(--color-primary-soft);color:var(--color-primary)}.side-link{display:flex;align-items:center;gap:.6rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.side-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.side-link.active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.side-link svg{flex-shrink:0}.side-project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-count{margin-left:auto;font-size:.7rem;font-weight:600;color:var(--color-text-tertiary);background:var(--color-surface-muted);border:1px solid var(--border-subtle);padding:0 6px;border-radius:999px}.side-link.active .side-count{background:#fff;color:var(--color-primary-dark);border-color:var(--color-primary-tint)}.side-muted{padding:6px 10px;font-size:.8rem;color:var(--color-text-tertiary)}.sidebar-foot{padding:.6rem;border-top:1px solid var(--border-subtle)}.sidebar-scrim{display:none}.user-card{display:flex;align-items:center;gap:.6rem;width:100%;padding:6px 8px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--color-text)}.user-card:hover{background:var(--color-surface-hover)}.user-card-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.user-card-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-role{font-size:.72rem;color:var(--color-text-tertiary)}.user-card-caret{margin-left:auto;color:var(--color-text-tertiary);flex-shrink:0}.menu-panel.menu-up{top:auto;bottom:calc(100% + 6px);left:0;right:0}.project-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:26%;color:#fff;font-family:JetBrains Mono,Menlo,monospace;font-weight:700;letter-spacing:.02em;flex-shrink:0}.topbar{padding:.55rem 1.5rem;gap:.75rem}.topbar-menu{display:none}.topbar-nav{min-width:0;flex:1}.topbar-right{gap:.6rem}.crumb-home .crumb{color:var(--color-text-tertiary)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stat-label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary)}.stat-value{font-family:Space Grotesk,Inter,sans-serif;font-weight:700;line-height:1.15;margin:2px 0;font-variant-numeric:tabular-nums}.home-section-head{display:flex;justify-content:space-between;gap:1rem}.section-title{margin:0}.subsection-title{font-size:.85rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:1.5rem 0 .75rem}.project-card .pill{align-self:flex-start}.progress{height:6px;border-radius:3px;background:var(--color-surface-hover);overflow:hidden}.progress span{display:block;height:100%;background:var(--gradient-primary);border-radius:3px;transition:width .3s ease}.project-card-foot{padding-top:.1rem}.project-card-foot strong{color:var(--color-text);font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-illus{margin-bottom:.25rem}.table-empty{padding:1.5rem 1rem!important}.project-head{display:flex;align-items:center;gap:.9rem;padding:1.25rem 1.5rem .75rem;background:var(--color-surface)}.project-head-text{min-width:0;flex:1}.project-head-text h1{font-size:1.35rem;display:flex;align-items:center;gap:.6rem}.project-head-text p{margin:2px 0 0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-head-members{display:inline-flex}.project-tabs{display:flex;gap:.25rem;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--border-subtle);overflow-x:auto}.project-tab{padding:.7rem .8rem;gap:.45rem}.project-tab svg{opacity:.7}.project-tab.active svg{opacity:1}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid var(--color-surface);margin-left:calc(var(--av, 26px) * -.3)}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{background:var(--color-surface-hover);color:var(--color-text-secondary);font-weight:600}.board-col{border-top:3px solid currentColor}.board-col.tone-slate,.board-col.tone-blue,.board-col.tone-indigo,.board-col.tone-violet,.board-col.tone-teal,.board-col.tone-orange,.board-col.tone-amber,.board-col.tone-green{background:var(--color-surface-muted)}.board-col-head h3{color:var(--color-text)}.board-col-head .status-dot{display:none}.issue-card:active{cursor:grabbing}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--color-surface-hover) 25%,#eceff3 50%,var(--color-surface-hover) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{display:flex;flex-direction:column;gap:8px;cursor:default}.seg-tabs{display:inline-flex;gap:2px;padding:3px;background:var(--color-surface-hover);border-radius:var(--radius-md);margin-bottom:1rem}.seg-tab{display:inline-flex;align-items:center;gap:.4rem;padding:6px 14px;border:none;border-radius:6px;background:transparent;font:inherit;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.seg-tab.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.issue-main{background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);min-width:0}.issue-side{gap:.25rem}.side-meta{border-top:none;margin-top:.5rem}.toast-stack{position:fixed;bottom:1.25rem;right:1.25rem;z-index:500;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.6rem;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--border-default);border-left:3px solid var(--color-primary);color:var(--color-text);font-size:.85rem;font-weight:500;box-shadow:var(--shadow-lg);animation:toast-in .22s ease-out;max-width:360px}.toast-success{border-left-color:var(--color-success)}.toast-success svg{color:var(--color-success)}.toast-error{border-left-color:var(--color-error);background:#fff7f7}.toast-error svg{color:var(--color-error)}.toast-info{border-left-color:var(--tone-blue-fg)}.toast-info svg{color:var(--tone-blue-fg)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:900px){.sidebar{transform:translate(-100%);box-shadow:none}.sidebar.is-open{transform:none;box-shadow:var(--shadow-lg)}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:29;background:#0a254059}.shell-main{margin-left:0}.topbar-menu{display:inline-flex}.crumb-home{display:none}.crumb-home+li .topbar-chev{display:none}.page{padding:1.25rem 1rem 3rem}.issue-main{padding:1.1rem}}.page,.narrow-page,.issue-page{width:100%}.page{max-width:1240px}.shell-main{background:radial-gradient(900px 420px at 15% -10%,rgba(99,91,255,.1),transparent 60%),radial-gradient(700px 380px at 95% 0%,rgba(59,130,246,.08),transparent 60%),var(--color-bg)}.sidebar{background:#fbfcfe}.sidebar-brand{padding:1.1rem 1.2rem .8rem}.brand-mark{width:28px;height:28px;border-radius:8px}.brand-name{font-size:1.1rem}.side-link{padding:8px 10px}.side-link.active{position:relative}.side-link.active:before{content:"";position:absolute;left:-.6rem;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gradient-primary)}.sidebar-foot{background:var(--color-surface)}.topbar{background:#ffffffa6}.stat-icon{width:44px;height:44px;border-radius:12px}.stat-value{font-size:2rem}.project-card:hover{box-shadow:var(--shadow-lg)}.project-icon{box-shadow:inset 0 -2px #0000001f,0 4px 12px #635bff2e}.table-wrap{border-radius:14px}.btn-primary{box-shadow:0 2px 10px #635bff40}@media(max-width:640px){.page{padding:1.25rem 1rem 3rem}}.home-section-head{align-items:center}.home-section-actions{display:flex;align-items:center;gap:1rem}.btn-small.btn-primary{padding:7px 12px;font-size:.82rem}.shell{height:100vh}.shell-main{height:100vh;overflow-y:auto;min-height:0}.project-shell{display:flex;flex-direction:column}.board-page{flex:1;display:flex;flex-direction:column;min-height:0}.board{flex:1;min-height:0;align-items:stretch;padding:.25rem 1.5rem 1rem;gap:.85rem;scrollbar-width:thin}.board-col{max-height:none;min-height:0;border:1px solid var(--border-subtle);border-top-width:3px;border-radius:14px;background:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board-col.is-over{background:var(--color-primary-soft);box-shadow:inset 0 0 0 2px var(--color-primary-tint)}.board-col-head{padding:.75rem .9rem .55rem;position:sticky;top:0;z-index:1}.board-col-head h3{font-size:.78rem;letter-spacing:.07em}.col-count{font-weight:600}.board-cards{flex:1;min-height:40px;padding:0 .65rem .5rem;scrollbar-width:thin}.board-empty{padding:1.25rem 0;border-style:dashed;color:var(--color-text-tertiary);font-size:.78rem;background:transparent}.is-over .board-empty{border-color:var(--color-primary);color:var(--color-primary-dark)}.col-create{margin:0 .65rem .65rem;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;text-align:left;font:inherit;font-size:.82rem;font-weight:500;color:var(--color-text-tertiary);cursor:pointer}.col-create:hover{background:var(--color-surface);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.issue-card{border-left:1px solid var(--border-default);border-radius:12px;padding:.7rem .8rem .65rem;position:relative;overflow:hidden}.issue-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-default)}.issue-card.prio-urgent:before{background:#dc2626}.issue-card.prio-high:before{background:#ea580c}.issue-card.prio-medium:before{background:#f59e0b}.issue-card.prio-low:before{background:#93c5fd}.issue-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-tint)}.issue-card.is-dragging{opacity:.35;transform:rotate(1.5deg) scale(.98)}.issue-card-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.issue-card-title{font-size:.875rem;font-weight:500;line-height:1.4;margin-bottom:.6rem;color:var(--color-text)}.issue-card-foot{display:flex;align-items:center;gap:.5rem;min-height:24px}.due-chip{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:500;padding:2px 7px;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--border-subtle)}.due-chip.due-soon{background:var(--tone-amber-bg);color:var(--tone-amber-fg);border-color:transparent}.due-chip.due-overdue{background:var(--color-error-soft);color:#b91c1c;border-color:transparent}.filter-bar{padding:.85rem 1.5rem .65rem;gap:.6rem}.search-wrap input{width:260px;border-radius:999px;padding-left:32px;background:var(--color-surface)}.filter-bar select{border-radius:999px;padding:7px 30px 7px 12px;background-color:var(--color-surface)}.assignee-filter{display:inline-flex;align-items:center}.assignee-chip{border:none;background:transparent;padding:0;margin-left:-6px;border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);line-height:0}.assignee-chip:first-child{margin-left:0}.assignee-chip .avatar{border:2px solid var(--color-surface);box-sizing:content-box}.assignee-chip:hover{transform:translateY(-2px);z-index:1;position:relative}.assignee-chip.is-on{z-index:2;position:relative}.assignee-chip.is-on .avatar{outline:2px solid var(--color-primary);outline-offset:1px}.assignee-chip-none .avatar{background:var(--color-surface)}@media(max-width:900px){.project-shell:has(.board-page){flex:1 0 auto}.board{align-items:flex-start}.board-col{max-height:70vh}}.select{position:relative;display:inline-block;min-width:0}.select-trigger{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:8px 10px 8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select-trigger:hover:not(:disabled){border-color:var(--border-strong)}.select-trigger.open,.select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-value.is-placeholder{color:var(--color-text-tertiary);font-weight:400}.select-caret{color:var(--color-text-tertiary);flex-shrink:0;transition:transform var(--transition-fast)}.select-trigger.open .select-caret{transform:rotate(180deg)}.select-icon{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}.select-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;max-height:300px;overflow-y:auto;margin:0;padding:5px;list-style:none;background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:60;animation:pop-in .12s ease}.select-option{display:flex;align-items:center;gap:.55rem;padding:7px 10px;border-radius:6px;font-size:.875rem;color:var(--color-text);cursor:pointer;white-space:nowrap}.select-option.active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.select-option.selected{font-weight:600}.select-option.selected svg:last-child{color:var(--color-primary);margin-left:auto}.select-option.is-disabled{opacity:.5;cursor:not-allowed}.select-option-label{flex:1}.status-dot.dot-only{width:10px;height:10px;background:currentColor;border-radius:50%;padding:0}.filter-bar .select-trigger{border-radius:999px;padding:7px 10px 7px 12px;font-size:.85rem}.form-field .select{display:block}.form-field .select-trigger{padding:8px 10px 8px 11px;font-weight:400}.select.grow{flex:1;min-width:220px}.backlog-wrap{padding:0 1.5rem 2rem;display:flex;flex-direction:column;gap:.75rem}.backlog-wrap .table-wrap{margin:0}.quick-add{display:flex;align-items:center;gap:.6rem;padding:6px 8px 6px 14px;background:var(--color-surface);border:1px dashed var(--border-strong);border-radius:12px;color:var(--color-text-tertiary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.quick-add:focus-within{border-style:solid;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.quick-add input{flex:1;border:none;background:transparent;padding:8px 4px;font-size:.9rem}.quick-add input:focus{box-shadow:none}@media(max-width:640px){.backlog-wrap{padding:0 1rem 2rem}}.issue-page{display:block;max-width:1240px;padding:1.25rem 2rem 4rem}.issue-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.issue-head-left{display:flex;align-items:center;gap:.6rem;font-size:.875rem;min-width:0}.issue-back{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-text-secondary);font-weight:500}.issue-back:hover{color:var(--color-primary)}.issue-head-sep{color:var(--border-strong)}.issue-head-key{display:inline-flex;align-items:center;gap:.4rem}.issue-head-key .issue-key{font-size:.85rem;color:var(--color-text);font-weight:600}.issue-head-actions{display:flex;gap:.5rem}.issue-grid{display:grid;gap:1.5rem;align-items:start}.issue-main{padding:1.75rem 2rem 2rem;border-radius:16px}.issue-heading{font-size:1.75rem;letter-spacing:-.025em;margin-bottom:.5rem}.issue-byline{display:flex;align-items:center;gap:.4rem;margin:0 0 1.75rem;font-size:.82rem;color:var(--color-text-tertiary)}.issue-byline strong{color:var(--color-text-secondary);font-weight:600}.issue-section{margin-bottom:2.25rem;position:relative}.issue-section-head h3{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.desc-view{padding:.75rem .9rem;margin:0 -.9rem;border-radius:10px;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.desc-view.is-editable{cursor:text}.desc-view.is-editable:hover{background:var(--color-surface-muted);border-color:var(--border-subtle)}.desc-empty{width:100%;text-align:left;padding:.9rem 1rem;border:1px dashed var(--border-strong);border-radius:10px;background:transparent;color:var(--color-text-tertiary);font:inherit;font-size:.9rem;cursor:text}.desc-empty:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-soft)}.attach-section{border-radius:12px}.drop-zone{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;padding:1.5rem 1rem;border:1px dashed var(--border-strong);border-radius:12px;background:var(--color-surface-muted);color:var(--color-text-tertiary);font:inherit;font-size:.85rem;cursor:pointer}.drop-zone:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-soft)}.drop-zone strong{color:var(--color-text-secondary);font-weight:600}.drop-overlay{position:absolute;inset:-6px;border:2px dashed var(--color-primary);border-radius:14px;background:#635bff14;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-primary-dark);pointer-events:none}.attachment-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.attachment-tile{position:relative;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;background:var(--color-surface);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.attachment-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.attachment-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100px;padding:0;border:none;border-bottom:1px solid var(--border-subtle);background:var(--color-surface-muted);overflow:hidden;cursor:zoom-in;font:inherit}.attachment-preview.kind-none{cursor:pointer}.attachment-preview:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.attachment-preview.kind-pdf .attachment-ext{color:#b91c1c;border-color:#fecaca}.attachment-preview.kind-video .attachment-ext,.attachment-preview.kind-audio .attachment-ext{color:var(--color-primary-dark);border-color:var(--color-primary-soft)}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-ext{font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;font-weight:700;color:var(--color-text-tertiary);padding:6px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--color-surface)}.attachment-meta{display:flex;flex-direction:column;gap:1px;padding:.5rem .65rem .6rem;min-width:0}.attachment-name{font:inherit;font-size:.82rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;padding:0;border:none;background:none;cursor:pointer}.attachment-name:hover{color:var(--color-primary-dark);text-decoration:underline}.lightbox{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:#f9fafbf0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-text);animation:fade-in .14s ease}.lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;flex:none;background:var(--color-surface);border-bottom:1px solid var(--border-subtle)}.lightbox-title{display:flex;flex-direction:column;min-width:0;gap:2px}.lightbox-title strong{font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-title span{font-size:.78rem;color:var(--color-text-tertiary)}.lightbox-actions{display:flex;gap:2px;flex:none}.lightbox-actions .icon-btn{color:var(--color-text-secondary)}.lightbox-actions .icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.lightbox-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 4rem 1.5rem}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;background:var(--color-surface);box-shadow:var(--shadow-lg)}.lightbox-frame{width:100%;height:100%;max-width:1100px;border:1px solid var(--border-default);border-radius:8px;background:var(--color-surface);box-shadow:var(--shadow-lg)}.lightbox-media{max-width:100%;max-height:100%;border-radius:8px;background:var(--color-surface-muted);box-shadow:var(--shadow-lg)}.lightbox-text{width:100%;max-width:1000px;max-height:100%;margin:0;padding:1rem 1.25rem;overflow:auto;background:var(--color-surface);color:var(--color-text);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.lightbox-card{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:2rem 2.5rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-lg);text-align:center}.lightbox-card p{margin:0}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:50%;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.lightbox-nav:hover{background:var(--color-surface-hover);color:var(--color-text)}.lightbox-nav.prev{left:.75rem}.lightbox-nav.next{right:.75rem}@media(max-width:640px){.lightbox-body{padding:0 .75rem .75rem}.lightbox-nav{display:none}}.attachment-hover{position:absolute;top:6px;right:6px;display:flex;gap:2px;padding:2px;background:#ffffffeb;border-radius:8px;box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--transition-fast)}.attachment-tile:hover .attachment-hover,.attachment-tile:focus-within .attachment-hover{opacity:1}.attachment-hover .icon-btn{width:28px;height:28px}.icon-btn.danger:hover{background:var(--color-error-soft);color:#b91c1c}.comment .rich-content{background:transparent;border:none;padding:0}.comment-head{margin-bottom:.3rem}.issue-side{position:sticky;top:64px;padding:0;overflow:hidden;border-radius:16px}.status-hero{border-bottom:1px solid var(--border-subtle)}.status-hero .select-trigger{width:100%;border-radius:10px;background:#ffffffd9;border-color:transparent;font-weight:700;padding:10px 12px;margin:0}.status-hero .select-trigger:hover{border-color:#00000014}.status-hero .select{display:block}.side-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary);padding:1rem 1.1rem .25rem}.detail-list{margin:0;padding:.25rem 1.1rem .75rem;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center}.detail-list dt{font-size:.8rem;font-weight:500;color:var(--color-text-secondary)}.detail-list dd{margin:0;min-width:0;font-size:.875rem}.detail-list .select-trigger{border-color:transparent;background:transparent;padding:6px 8px;font-size:.85rem;width:100%}.detail-list .select-trigger:hover,.detail-list .select-trigger.open{border-color:var(--border-default);background:var(--color-surface)}.detail-list .select{display:block}.issue-side .side-meta{padding:.75rem 1.1rem 1rem;border-top:1px solid var(--border-subtle);margin:0}@media(max-width:1000px){.issue-grid{grid-template-columns:1fr}.issue-side{position:static}}@media(max-width:640px){.issue-page{padding:1rem 1rem 3rem}.issue-main{padding:1.1rem}}.shell-main{overflow-x:hidden}.board-col{flex:0 0 264px}.board-col.is-collapsed{flex:0 0 44px;padding:0}.col-expand{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;height:100%;padding:.7rem 0;border:none;background:transparent;cursor:pointer;font:inherit;color:var(--color-text-secondary);border-radius:12px}.col-expand:hover{background:var(--color-surface);color:var(--color-text)}.col-vlabel{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.col-tools{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.board-col:hover .col-tools{opacity:1}.col-add{margin-left:0;opacity:1;width:24px;height:24px}.board-empty-state{padding:1rem 1.5rem 0}.board-empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm)}.board-empty-card h3{font-size:1.05rem}.board-empty-card p{margin:0;color:var(--color-text-secondary);font-size:.9rem}.board-empty-actions{display:flex;gap:.5rem;margin-top:.6rem}.list-wrap{padding:0 1.5rem 2.5rem;display:flex;flex-direction:column;gap:1rem}.list-group{background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.list-group-head{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .9rem;border:none;background:var(--color-surface-muted);border-bottom:1px solid var(--border-subtle);font:inherit;text-align:left;cursor:pointer}.list-group-head:hover{background:var(--color-surface-hover)}.fold-caret{color:var(--color-text-tertiary);transform:rotate(90deg);transition:transform var(--transition-fast)}.fold-caret.is-folded{transform:none}.list-group-add{margin-left:auto;width:26px;height:26px;font-size:1.05rem;line-height:1;opacity:0}.list-group-head:hover .list-group-add{opacity:1}.list-rows{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast)}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--color-primary-soft)}.list-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary)}.list-row .issue-key{min-width:56px}.list-row-title{flex:1;min-width:0;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row:hover .list-row-title{color:var(--color-primary-dark)}.list-row-meta{display:inline-flex;align-items:center;gap:.7rem;flex-shrink:0}.list-row-updated{min-width:56px;text-align:right}.list-row-skeleton{cursor:default}.list-foot{margin:0;padding:.5rem 1rem;border-top:1px solid var(--border-subtle)}.seg-tabs-compact{margin:0}.seg-tabs-compact .seg-tab{padding:5px 11px;font-size:.8rem}.list-page .status-chips{padding-top:.1rem}.list-wrap .board-empty-card{margin-top:.25rem}@media(max-width:760px){.list-row-updated,.list-row-meta .meta-count{display:none}.list-wrap{padding:0 1rem 2rem}}.members-page{max-width:920px}.member-add-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;margin-bottom:1.25rem;background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm)}.member-add-icon{width:40px;height:40px;border-radius:10px;background:var(--color-primary-soft);color:var(--color-primary-dark);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.member-add-fields{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;flex-wrap:wrap}.member-add-fields .select.grow{flex:1 1 260px}.member-list{list-style:none;margin:0;padding:0;background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.member-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.member-row:last-child{border-bottom:none}.member-row:hover{background:var(--color-surface-muted)}.member-info{flex:1;min-width:0}.member-name{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.member-joined{min-width:120px;text-align:right}.member-role{min-width:150px}.member-role .select{display:block}.member-role .select-trigger{border-color:transparent;background:transparent}.member-row:hover .member-role .select-trigger,.member-role .select-trigger.open{border-color:var(--border-default);background:var(--color-surface)}.member-remove{opacity:0}.member-row:hover .member-remove,.member-remove:focus-visible{opacity:1}@media(max-width:640px){.member-joined{display:none}.member-row{flex-wrap:wrap}.member-role{min-width:0;flex:1}}.brand-name{white-space:nowrap}.select-menu-portal{z-index:400}.settings-page{max-width:1000px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;align-items:start}.settings-main{display:flex;flex-direction:column;gap:1.25rem}.settings-card{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm)}.settings-card-head h3{font-size:1rem;margin-bottom:.2rem}.settings-card-head p{margin:0}.settings-identity{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:var(--color-surface-muted);border-radius:12px}.settings-key{font-size:1rem;font-weight:700;letter-spacing:.04em;margin-bottom:2px}.settings-card-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;border-top:1px solid var(--border-subtle)}.settings-danger{border-color:#ef444440}.settings-side .settings-card{padding:.5rem .3rem .75rem;gap:0}.settings-side .detail-list{grid-template-columns:96px minmax(0,1fr)}.settings-side .detail-list dd{font-weight:500}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}.project-shell{flex:1 0 auto;min-height:0}.project-shell:has(.board-page){flex:1 1 0;min-height:0}.project-head,.project-tabs{flex-shrink:0}.req{color:var(--color-error)}.create-grid{display:grid}.create-main{min-width:0}.create-side{display:flex;flex-direction:column;padding-left:1.5rem}.create-title{font-size:1.05rem;font-weight:500;padding:10px 12px}.create-reporter{font-size:.875rem;padding:4px 0}.create-drop{border:1px dashed var(--border-strong);border-radius:10px;padding:.75rem .9rem;font-size:.85rem}.create-drop:hover{border-color:var(--color-primary)}.create-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.create-files li{display:flex;align-items:center;gap:.6rem}.create-file-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.create-files .attachment-ext{font-size:.65rem;padding:2px 6px}.create-files .icon-btn{width:24px;height:24px}.modal-foot .check{margin-right:.75rem}@media(max-width:760px){.create-grid{grid-template-columns:1fr}.create-side{padding-left:0;border-left:none;border-top:1px solid var(--border-subtle);padding-top:1rem}}.rte-toolbar{gap:1px;padding:5px 6px;background:var(--color-surface-muted);border-radius:var(--radius-md) var(--radius-md) 0 0}.rte-btn{padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.rte-btn:disabled{opacity:.35;cursor:default}.rte-btn:disabled:hover{background:transparent}.rte-grow{flex:1}.rte-block .select-trigger{border-color:transparent;background:transparent;box-shadow:none}.rte-block .select-trigger:hover{background:var(--color-surface);border-color:var(--border-default)}.rte-content ul[data-type=taskList],.rich-content ul[data-type=taskList]{list-style:none;padding-left:.2em}.rte-content li[data-type=taskItem],.rich-content li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.5em}.rte-content li[data-type=taskItem]>label,.rich-content li[data-type=taskItem]>label{flex-shrink:0;margin-top:.2em}.rte-content li[data-type=taskItem]>div,.rich-content li[data-type=taskItem]>div{flex:1;min-width:0}.rte-content li[data-type=taskItem][data-checked=true]>div,.rich-content li[data-type=taskItem][data-checked=true]>div{color:var(--color-text-tertiary);text-decoration:line-through}.rte-content input[type=checkbox],.rich-content input[type=checkbox]{accent-color:var(--color-primary);width:15px;height:15px;margin:0}.rte-content hr,.rich-content hr{border:0;border-top:1px solid var(--border-default);margin:1em 0}.rte-content u,.rich-content u{text-decoration-color:var(--color-primary)}.label-row{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.label-chip{display:inline-flex;align-items:center;gap:.25rem;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--tone-slate-bg);color:var(--tone-slate-fg);white-space:nowrap}.label-chip-sm{font-size:.68rem;padding:1px 7px}.label-chip button{border:none;background:transparent;padding:0 0 0 2px;margin-right:-4px;font:inherit;font-size:.9rem;line-height:1;color:inherit;cursor:pointer;opacity:.6}.label-chip button:hover{opacity:1}.issue-labels{margin:0 0 .6rem}.card-labels{margin:-.25rem 0 .55rem}.label-input{position:relative;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-height:38px;padding:4px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface);cursor:text}.label-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.label-input input{flex:1;min-width:90px;border:none;background:transparent;padding:4px 2px;font-size:.875rem}.label-input input:focus{box-shadow:none}.label-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;margin:0;padding:5px;list-style:none;background:var(--color-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:60;display:flex;flex-direction:column;gap:2px}.label-menu li{padding:6px 8px;border-radius:6px;cursor:pointer;font-size:.85rem}.label-menu li:hover{background:var(--color-primary-soft)}.label-create{color:var(--color-primary-dark);font-weight:500}.detail-list .label-input{border-color:transparent;background:transparent;padding-left:6px;margin-left:-6px;width:calc(100% + 6px);min-height:34px}.detail-list .label-input:hover,.detail-list .label-input:focus-within{border-color:var(--border-default);background:var(--color-surface)}.detail-list .label-input:focus-within{border-color:var(--color-primary)}.points-chip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--color-surface-hover);color:var(--color-text-secondary);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.card-right{display:inline-flex;align-items:center;gap:.4rem}.date-field{position:relative;display:flex;align-items:center;width:100%}.date-field-btn{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:8px 32px 8px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-tertiary);font:inherit;font-size:.875rem;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.date-field.has-value .date-field-btn{color:var(--color-text);font-weight:500}.date-field-btn:hover:not(:disabled){border-color:var(--border-strong)}.date-field-btn:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.date-field-btn svg{color:var(--color-text-tertiary);flex-shrink:0}.date-field.due-overdue .date-field-btn{color:#b91c1c;border-color:#ef444459}.date-field.due-soon .date-field-btn{color:#b45309;border-color:#f59e0b66}.date-field-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-field-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--color-text-tertiary);font-size:1rem;line-height:1;cursor:pointer}.date-field-clear:hover{background:var(--color-surface-hover);color:var(--color-text)}.date-field-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.detail-list .date-field-btn{border-color:transparent;background:transparent;padding-left:6px;margin-left:-6px;width:calc(100% + 6px)}.detail-list .date-field:hover .date-field-btn,.detail-list .date-field-btn:focus-visible{border-color:var(--border-default);background:var(--color-surface)}.points-field{display:flex;flex-wrap:wrap;gap:4px}.points-opt{min-width:32px;height:30px;padding:0 8px;border:1px solid var(--border-default);border-radius:8px;background:var(--color-surface);font:inherit;font-size:.82rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;font-variant-numeric:tabular-nums;transition:all var(--transition-fast)}.points-opt:hover:not(:disabled){border-color:var(--color-primary)}.points-opt.is-on{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:0 2px 8px #635bff4d}.points-opt:disabled{opacity:.5;cursor:not-allowed}.points-custom{width:58px;height:30px;padding:0 8px;font-size:.82rem;border-radius:8px}.detail-list .points-field{padding:3px 0}.detail-list .points-opt{min-width:28px;height:26px;font-size:.75rem;border-radius:6px}.detail-list .points-custom{height:26px;width:52px}.create-side .form-row{gap:.6rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.create-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.create-project-chip{display:inline-flex;align-items:center;gap:.45rem;padding:4px 10px 4px 5px;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--border-subtle);font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.type-switch{display:inline-flex}.type-opt{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.82rem;cursor:pointer;transition:all var(--transition-fast)}.type-opt.is-on{background:var(--color-surface);color:var(--color-text)}.type-opt .type-icon span{display:none}.create-summary .create-title{border-bottom:2px solid var(--border-subtle)}.create-summary .create-title:focus{border-bottom-color:var(--color-primary)}.create-main .rte{border-color:var(--border-subtle)}.create-main .form-field>label{color:var(--color-text-tertiary)}.create-side{border:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);border-radius:14px;background:var(--color-surface-muted)}.create-side .form-field{gap:.2rem}.create-side .form-field>label{font-size:.66rem}.create-side .select-trigger,.create-side .date-field-btn,.create-side .label-input{border-color:transparent;background:transparent;padding-left:8px}.create-side .select-trigger:hover,.create-side .select-trigger.open,.create-side .date-field:hover .date-field-btn,.create-side .date-field-btn:focus-visible,.create-side .label-input:hover,.create-side .label-input:focus-within{border-color:var(--border-default);background:var(--color-surface)}.create-side .select-trigger.open,.create-side .label-input:focus-within{border-color:var(--color-primary)}.create-side .points-opt{background:var(--color-surface)}.create-drop{background:transparent}.kbd-hint{display:inline-flex;align-items:center;gap:3px}.kbd-hint kbd{font-family:inherit;font-size:.7rem;padding:1px 5px;border:1px solid var(--border-default);border-bottom-width:2px;border-radius:4px;background:var(--color-surface);color:var(--color-text-secondary)}.modal-head h2{font-size:1rem}@media(max-width:760px){.create-side{border-top:1px solid var(--border-subtle)}}.prop-row{display:grid}.prop-row:last-child{border-bottom:none}.prop-row-stack{grid-template-columns:1fr;gap:.35rem;padding:8px 0}.prop-row-static{padding:8px 0}.prop-label{align-items:center;gap:.45rem}.prop-label svg{color:var(--color-text-tertiary);flex-shrink:0}.create-side .select-trigger,.create-side .date-field-btn,.create-side .label-input{margin-left:0;width:100%;padding:6px 8px;font-size:.85rem;min-height:34px}.create-side .points-field{padding:0}.create-side .points-opt{padding:0 6px}.create-side .select-value.is-placeholder{font-weight:400}.switch{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;margin-right:1rem;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:32px;height:18px;border-radius:999px;background:var(--border-strong);transition:background var(--transition-fast);flex-shrink:0}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--transition-fast)}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--color-primary-soft)}.btn-kbd{margin-left:4px;padding:1px 6px;border-radius:5px;background:#ffffff38;font-size:.7rem;font-weight:600;letter-spacing:.02em}.rte-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.rte-toolbar::-webkit-scrollbar{display:none}.rte-btn{flex-shrink:0;width:26px;height:26px}.rte-sep{flex-shrink:0;margin:0 2px}.rte-block{flex-shrink:0}.rte-block .select-trigger{padding:3px 6px 3px 8px;min-height:0;font-size:.78rem}.rte-block .select-value{max-width:86px}.create-side .select-trigger,.create-side .date-field-btn,.create-side .label-input,.detail-list .select-trigger,.detail-list .date-field-btn,.detail-list .label-input{background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);margin-left:0;width:100%;padding-left:10px}.create-side .select-trigger:hover,.create-side .date-field:hover .date-field-btn,.create-side .label-input:hover,.detail-list .select-trigger:hover,.detail-list .date-field:hover .date-field-btn,.detail-list .label-input:hover{border-color:var(--border-strong)}.create-side .select-trigger.open,.create-side .label-input:focus-within,.create-side .date-field-btn:focus-visible,.detail-list .select-trigger.open,.detail-list .label-input:focus-within,.detail-list .date-field-btn:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.create-side .select-caret,.detail-list .select-caret{color:var(--color-text-secondary)}.detail-list{row-gap:.4rem}.detail-list dt{padding:0}.detail-list .select-trigger,.detail-list .date-field-btn{padding-top:7px;padding-bottom:7px}.create-side .points-opt,.detail-list .points-opt{box-shadow:var(--shadow-sm)}.create-grid{grid-template-columns:minmax(0,1fr) 300px;gap:2rem}.create-main{gap:1.25rem}.create-side{padding:1.1rem 1.1rem .9rem;gap:1rem}.prop-row{grid-template-columns:1fr;gap:.4rem;padding:0;border-bottom:none;align-items:stretch}.prop-row-stack,.prop-row-static{padding:0}.prop-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.prop-label svg{width:13px;height:13px}.create-side .select-trigger,.create-side .date-field-btn{padding:9px 10px 9px 12px;font-size:.875rem;min-height:38px}.create-side .label-input{min-height:38px;padding:4px 10px}.create-side .points-field{gap:5px}.create-side .points-opt{min-width:34px;height:32px;font-size:.82rem;border-radius:8px}.create-side .points-custom{height:32px;width:56px}.create-side .create-reporter{padding:4px 0;font-size:.875rem}.create-top{margin-bottom:.25rem}.modal-body{padding:1.5rem 1.5rem 1.25rem}@media(max-width:1000px){.create-grid{grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem}}@media(max-width:760px){.create-grid{grid-template-columns:1fr}}.prop-list{display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.1rem .9rem}.prop-list .prop-row{display:grid;grid-template-columns:1fr;gap:.4rem}.prop-list .select-trigger,.prop-list .date-field-btn,.prop-list .label-input{width:100%;background:var(--color-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);padding:9px 10px 9px 12px;font-size:.875rem;min-height:38px;margin:0}.prop-list .label-input{padding:4px 10px}.prop-list .select-trigger:hover,.prop-list .date-field:hover .date-field-btn,.prop-list .label-input:hover{border-color:var(--border-strong)}.prop-list .select-trigger.open,.prop-list .label-input:focus-within,.prop-list .date-field-btn:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.prop-list .select{display:block}.prop-list .points-field{gap:5px}.prop-list .points-opt{min-width:34px;height:32px;font-size:.82rem;border-radius:8px;box-shadow:var(--shadow-sm)}.prop-list .points-custom{height:32px;width:56px}.prop-static{font-size:.875rem;padding:4px 0}.issue-side{width:320px}.issue-grid{grid-template-columns:minmax(0,1fr) 320px}.status-hero{padding:1rem 1.1rem}.status-hero .select-trigger{box-shadow:var(--shadow-sm)}.type-switch{gap:4px;padding:0;background:transparent;border-radius:0}.type-opt{padding:7px 14px;border:1px solid var(--border-default);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-weight:500;box-shadow:var(--shadow-sm)}.type-opt:hover{border-color:var(--border-strong);color:var(--color-text)}.type-opt .type-icon{opacity:.55;transition:opacity var(--transition-fast)}.type-opt:hover .type-icon,.type-opt.is-on .type-icon{opacity:1}.type-opt.is-on{box-shadow:none;font-weight:600}.type-opt.type-task.is-on{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.type-opt.type-bug.is-on{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.type-opt.type-feature.is-on{background:#d1fae5;border-color:#6ee7b7;color:#047857}.type-opt:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.label-menu-head{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);padding:4px 8px 2px!important;cursor:default!important}.label-menu-head:hover{background:transparent!important}.label-menu-empty{color:var(--color-text-tertiary);font-size:.8rem!important;line-height:1.4;cursor:default!important;white-space:normal}.label-menu-empty:hover{background:transparent!important}.label-create{display:flex;align-items:center;gap:.5rem}.label-create-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:700}.points-field,.create-side .points-field,.prop-list .points-field,.detail-list .points-field{display:flex;gap:0;width:100%;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.points-opt,.create-side .points-opt,.prop-list .points-opt,.detail-list .points-opt{flex:1 1 0;min-width:0;height:36px;padding:0;border:none;border-right:1px solid var(--border-subtle);border-radius:0;background:transparent;box-shadow:none;font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.points-opt:last-child{border-right:none}.points-opt:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-dark)}.points-opt.is-on,.create-side .points-opt.is-on,.prop-list .points-opt.is-on{background:var(--gradient-primary);color:#fff;box-shadow:none}.points-opt-more{color:var(--color-text-tertiary)}.points-field-custom{align-items:center;gap:.5rem;padding:0 8px 0 0}.points-field-custom .points-custom,.create-side .points-custom,.prop-list .points-custom{flex:1;width:auto;height:36px;border:none;border-radius:0;box-shadow:none;font-size:.875rem;padding:0 12px}.points-field-custom .points-custom:focus{box-shadow:none}.points-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.field-error{margin:.4rem 0 0;font-size:.8rem;color:#b91c1c;display:flex;align-items:center;gap:.35rem}.field-error:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-error)}.create-summary .create-title.is-invalid{border-bottom-color:var(--color-error)}.create-summary .create-title.is-invalid::placeholder{color:#fca5a5}.create-grid{align-items:stretch}.create-main{display:flex;flex-direction:column}.create-main .form-field:has(.rte){flex:1;min-height:0}.create-main .rte{flex:1;display:flex;flex-direction:column;min-height:240px}.create-main .rte>div:last-child{flex:1;display:flex;flex-direction:column}.create-main .rte-content{flex:1;min-height:200px}.prop-label{display:flex}.rte-content>p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-tertiary);float:left;height:0;pointer-events:none}.create-summary .create-title{font-size:1.1rem;font-weight:500;letter-spacing:-.01em;padding:11px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.create-summary .create-title:hover{border-color:var(--border-strong)}.create-summary .create-title:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.create-summary .create-title::placeholder{color:var(--color-text-tertiary);font-weight:400}.create-summary .create-title.is-invalid{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441f}.comment-list{position:relative;gap:0;margin:0 0 .5rem}.comment{position:relative;padding:.6rem 0}.comment .avatar{position:relative;z-index:1;border:2px solid var(--color-surface);box-sizing:content-box;margin-left:-2px}.comment-bubble{background:var(--color-surface);border:1px solid var(--border-default);border-radius:12px;padding:0;overflow:hidden}.comment-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:var(--color-surface-muted);border-bottom:1px solid var(--border-subtle);margin:0;font-size:.85rem}.comment-head strong{font-weight:600}.comment-actions{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.comment:hover .comment-actions,.comment:focus-within .comment-actions{opacity:1}.comment-actions .icon-btn{width:26px;height:26px}.comment-bubble .rich-content,.comment-bubble .desc-edit{padding:.7rem .95rem .8rem}.comment-bubble .desc-edit{gap:.6rem}.comments-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem 1rem;color:var(--color-text-tertiary);text-align:center}.comments-empty p{margin:0;font-size:.875rem}.comment-compose{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--border-subtle);align-items:flex-start}.comment-placeholder{flex:1;text-align:left;padding:10px 14px;border:1px solid var(--border-default);border-radius:12px;background:var(--color-surface);color:var(--color-text-tertiary);font:inherit;font-size:.9rem;cursor:text;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast)}.comment-placeholder:hover{border-color:var(--border-strong);color:var(--color-text-secondary)}.comment-editor{gap:.5rem}.comment-editor .rte{border-radius:12px}.comment-list{margin:0 0 .25rem}.comment-thread{position:relative;padding:.85rem 0}.comment-thread+.comment-thread{border-top:1px solid var(--border-subtle)}.comment-thread:before{content:"";position:absolute;left:15px;top:52px;bottom:1.6rem;width:2px;border-radius:1px;background:var(--border-default);display:none}.comment-thread.has-replies:before,.comment-thread.is-replying:before{display:block}.comment{padding:0;gap:.8rem}.comment .avatar{border:none;box-sizing:border-box;margin-left:0}.comment-bubble{background:transparent;border:none;border-radius:0;overflow:visible}.comment-head{gap:.5rem;padding:.3rem 0 .25rem;background:transparent;border-bottom:none;font-size:.86rem;min-height:26px}.comment-head strong{color:var(--color-text)}.comment-bubble .rich-content{padding:0;font-size:.92rem;line-height:1.55}.comment-bubble .desc-edit{padding:.25rem 0 0}.comment-replies{list-style:none;margin:.6rem 0 0;padding:0 0 0 44px;display:flex;flex-direction:column;gap:.75rem}.comment-replies>li{position:relative}.comment-reply{padding:0;gap:.65rem}.comment-reply .comment-head{padding:.2rem 0 .15rem;font-size:.84rem;min-height:24px}.comment-reply .comment-bubble .rich-content{font-size:.9rem}.comment-reply .comment-bubble .desc-edit{padding:.2rem 0 0}.comment-deleted{padding:.35rem 0;font-style:italic}.comment.is-deleted .avatar{opacity:.45}.reply-compose{position:relative;display:flex;gap:.65rem;align-items:flex-start;padding:.75rem 0 0 44px}.reply-compose .comment-editor{flex:1;min-width:0}.reply-compose .replying-to{font-size:.78rem;color:var(--color-text-tertiary)}.reply-compose .replying-to strong{color:var(--color-text-secondary);font-weight:600}.comment-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem 0 0}.comment-reply .comment-foot{padding:.4rem 0 0}.comment-foot .comment-reply-btn{margin-left:.25rem;opacity:0;transition:opacity var(--transition-fast)}.comment:hover .comment-foot .comment-reply-btn,.comment:focus-within .comment-foot .comment-reply-btn,.comment-reply .comment-foot .comment-reply-btn{opacity:1}.reaction{display:inline-flex;align-items:center;gap:.3rem;height:26px;padding:0 .55rem;border:1px solid var(--border-default);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:.78rem;line-height:1;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.reaction:hover:not(:disabled){border-color:var(--border-strong);background:var(--color-surface-hover)}.reaction:disabled{cursor:default}.reaction.is-on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-dark)}.reaction-emoji{font-size:.9rem;line-height:1}.reaction-count{font-weight:600;font-variant-numeric:tabular-nums}.reaction-add{padding:0 .45rem;gap:0;color:var(--color-text-tertiary);border-style:dashed;background:transparent}.reaction-add.is-open,.reaction-add:hover{color:var(--color-text-secondary)}.reaction-plus{font-size:.8rem;font-weight:700;margin-left:1px}.reaction-menu{position:fixed;z-index:130;display:flex;gap:2px;padding:4px;background:var(--color-surface);border:1px solid var(--border-default);border-radius:999px;box-shadow:var(--shadow-md);animation:pop-in .12s ease}.reaction-option{width:32px;height:32px;border:none;border-radius:50%;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.reaction-option:hover{background:var(--color-surface-hover);transform:scale(1.2)}.comment-reply-btn{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;padding:0 .4rem;height:26px;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.comment-reply-btn:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.activity{padding:.45rem 0;position:relative}.activity .avatar{position:relative;z-index:1;border:2px solid var(--color-surface);box-sizing:content-box;margin-left:-2px}.history{display:flex;flex-direction:column;gap:1.1rem;padding:.25rem 0 .5rem}.history-day-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin:0 0 .5rem;padding-left:2px}.history-list{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column}.history-list:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:2px;background:var(--border-subtle)}.history-item{display:flex;align-items:flex-start;gap:.75rem;padding:.4rem 0;position:relative}.history-icon{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-muted);border:2px solid var(--color-surface);color:var(--color-text-secondary);flex-shrink:0;box-shadow:0 0 0 1px var(--border-subtle)}.history-icon.kind-created{background:var(--tone-green-bg);color:var(--tone-green-fg)}.history-icon.kind-commented{background:var(--tone-blue-bg);color:var(--tone-blue-fg)}.history-icon.kind-attachment_added,.history-icon.kind-attachment_removed{background:var(--tone-violet-bg);color:var(--tone-violet-fg)}.history-body{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:4px}.history-text{font-size:.875rem;color:var(--color-text-secondary);display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;line-height:1.5}.history-text strong{color:var(--color-text);font-weight:600}.history-text em{font-style:normal;font-weight:600;color:var(--color-text)}.history-none{color:var(--color-text-tertiary)!important;font-weight:500!important}.history-arrow{color:var(--color-text-tertiary)}.history-text .status-badge{font-size:.72rem;padding:2px 8px 2px 6px}.history-text .priority,.history-text .type-icon{font-size:.8rem}.history-main{flex:1;min-width:0}.history-quote{margin:.3rem 0 .1rem;padding:.45rem .75rem;border-left:3px solid var(--border-default);border-radius:0 8px 8px 0;background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:.84rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.page{padding:1.5rem 2rem 3rem}.home-section{margin-bottom:1.75rem}.home-section-head{margin-bottom:.6rem}.section-title{font-size:1rem}.project-card{flex-direction:row;align-items:center;gap:.85rem;padding:.8rem .9rem;border-radius:12px}.project-card:hover{transform:none}.project-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.project-card-head{display:flex;align-items:center;gap:.5rem;min-width:0}.project-card-head h3{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-head .pill{margin-left:auto}.project-card-foot{display:flex;align-items:center;gap:.75rem;padding:0;font-size:.76rem}.project-card-foot .progress{flex:1;height:4px;min-width:40px}.project-card-go{color:var(--color-text-tertiary);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.project-card:hover .project-card-go{transform:translate(2px);color:var(--color-primary)}.project-card.is-archived{opacity:.65}.home-section .list-group{border-radius:12px}.list-row-empty{display:flex;align-items:center;justify-content:center;gap:.3rem;color:var(--color-text-tertiary);font-size:.875rem;cursor:default;padding:1rem}.list-row-empty:hover{background:transparent}.list-row,.list-row:hover{color:var(--color-text)}.empty-state{padding:1.5rem 1rem}.users-page{max-width:1100px}.users-page .status-chips{padding:0 0 .75rem}.chip.chip-pending.is-on{background:var(--tone-amber-bg);color:var(--tone-amber-fg);border-color:var(--tone-amber-fg)}.chip.chip-active.is-on{background:var(--tone-green-bg);color:var(--tone-green-fg);border-color:var(--tone-green-fg)}.chip.chip-disabled.is-on{background:var(--tone-slate-bg);color:var(--tone-slate-fg);border-color:var(--tone-slate-fg)}.chip.chip-rejected.is-on{background:var(--color-error-soft);color:#b91c1c;border-color:#b91c1c}.user-row{gap:1.25rem}.user-row.status-pending{background:#fffbeb}.user-row.status-pending:hover{background:#fef3c7}.user-row.status-disabled .member-info,.user-row.status-rejected .member-info{opacity:.6}.pill-admin{background:var(--color-primary-soft);color:var(--color-primary-dark)}.user-status{min-width:74px;text-align:center}.pill.status-disabled{background:var(--tone-slate-bg);color:var(--tone-slate-fg)}.user-meta{display:flex;flex-direction:column;gap:1px;min-width:150px;text-align:right}.user-actions{display:flex;align-items:center;gap:.5rem;min-width:180px;justify-content:flex-end}.switch-compact{margin-right:0;font-size:.8rem}.row-menu{position:relative}.row-menu .menu-panel{min-width:200px}.menu-item-danger{color:#b91c1c}.menu-item-danger:hover{background:var(--color-error-soft);color:#b91c1c}.user-list .list-row-empty{justify-content:flex-start}@media(max-width:900px){.user-meta{display:none}.user-row{flex-wrap:wrap}.user-actions{min-width:0;width:100%;justify-content:flex-start}}.drop-indicator{height:3px;margin:2px 4px;border-radius:2px;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.issues-table tr.is-dragging{opacity:.4}.issues-table tr.drop-before td{box-shadow:inset 0 3px 0 var(--color-primary)}.issues-table tr.drop-end td{height:6px;padding:0;box-shadow:inset 0 3px 0 var(--color-primary)}.issues-table tr[draggable=true]{cursor:grab}.issues-table tr[draggable=true]:active{cursor:grabbing}.drag-handle-cell{width:28px;padding-right:0!important;padding-left:.6rem!important}.drag-handle{color:var(--color-text-tertiary);opacity:0;display:inline-flex}.issues-table tr:hover .drag-handle{opacity:1}.project-head{padding:.9rem 1.5rem .5rem;gap:.8rem}.project-head-text h1{font-size:1.15rem;line-height:1.25}.project-head-text p{margin-top:1px;font-size:.8rem}.project-stats{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.project-stat{display:inline-flex;align-items:center;gap:.4rem;height:28px;padding:0 .7rem 0 .55rem;border:1px solid var(--border-default);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.78rem;text-decoration:none;white-space:nowrap;transition:border-color var(--transition-fast),background var(--transition-fast)}.project-stat:hover{border-color:var(--border-strong);background:var(--color-surface-hover);color:var(--color-text)}.project-stat strong{font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.project-stat.is-warn{border-color:#fecaca;background:#fff5f5;color:#991b1b}.project-stat.is-warn strong{color:#991b1b}.project-stat-dot{width:7px;height:7px;border-radius:50%;background:var(--tone-slate-fg)}.project-stat-dot.tone-blue{background:var(--tone-blue-fg)}.project-stat-dot.tone-green{background:var(--tone-green-fg)}.project-stat-dot.tone-red{background:#dc2626}.project-head-members{margin-left:.4rem;padding:3px;border-radius:999px;transition:background var(--transition-fast)}.project-head-members:hover{background:var(--color-surface-hover)}.project-tabs .project-tab{padding:.55rem .75rem}@media(max-width:900px){.project-stats{display:none}}.prop-stack{display:flex;flex-direction:column;gap:.35rem;min-width:0}.prop-stack .select{display:block}.assign-me{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;padding:2px 4px;margin-left:4px;font-size:.8rem;border-radius:6px}.assign-me:hover:not(:disabled){background:var(--color-primary-soft);text-decoration:none}.page.home{max-width:1180px;margin:0 auto;padding:1.75rem 2rem 3.5rem}.home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.home-hero-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.home-date{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.home-hero .page-title{font-size:1.75rem;letter-spacing:-.02em;line-height:1.15;margin:0}.home-sub{margin:.15rem 0 0;font-size:.95rem;color:var(--color-text-secondary)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:2rem}.kpi{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.85rem;row-gap:0;align-items:center;padding:1rem 1.1rem;background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm);color:var(--color-text);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.kpi-icon{grid-row:1 / span 3;width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--tone-slate-bg);color:var(--tone-slate-fg)}.kpi-icon svg{width:20px;height:20px}.kpi-icon.tone-indigo{background:var(--tone-indigo-bg);color:var(--tone-indigo-fg)}.kpi-icon.tone-blue{background:var(--tone-blue-bg);color:var(--tone-blue-fg)}.kpi-icon.tone-green{background:var(--tone-green-bg);color:var(--tone-green-fg)}.kpi-icon.tone-orange{background:var(--tone-orange-bg);color:var(--tone-orange-fg)}.kpi-icon.tone-red{background:#fee2e2;color:#b91c1c}.kpi-value{font-size:1.55rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.kpi-hint{grid-column:2;font-size:.74rem;color:var(--color-text-tertiary);margin-top:1px}.kpi-red .kpi-value{color:#b91c1c}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"work side" "feed side";gap:1.5rem;align-items:start}.home-grid>#my-work{grid-area:work}.home-grid>#activity{grid-area:feed}.home-grid>#projects{grid-area:side}.home-section{margin:0;scroll-margin-top:80px}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.home-section-head .section-title{font-size:1.05rem;letter-spacing:-.01em}.link-btn.small{font-size:.8rem}.work-card{background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.work-group+.work-group{border-top:1px solid var(--border-subtle)}.work-group-head{display:flex;align-items:center;gap:.45rem;padding:.55rem 1rem .45rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);background:var(--color-surface-muted);border-bottom:1px solid var(--border-subtle)}.work-group-head .tab-count{margin-left:.1rem}.work-group-dot{width:7px;height:7px;border-radius:50%;background:var(--tone-slate-fg)}.work-group-head.tone-red{color:#b91c1c}.work-group-head.tone-red .work-group-dot{background:#dc2626}.work-group-head.tone-orange{color:var(--tone-orange-fg)}.work-group-head.tone-orange .work-group-dot{background:#f97316}.work-card .list-row:last-child{border-bottom:none}.work-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:2.5rem 1rem 2.75rem}.work-empty-icon{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--tone-green-bg);color:var(--tone-green-fg);margin-bottom:.5rem}.work-empty h3{font-size:1rem;margin:0}.work-empty p{margin:0;font-size:.875rem;color:var(--color-text-secondary);max-width:360px}.project-stack{display:flex;flex-direction:column;gap:.75rem}.project-stack .project-card{align-items:flex-start;padding:.9rem .95rem;border-radius:14px}.project-stack .project-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.project-stack .project-card:hover .project-card-go{transform:translate(2px);color:var(--color-primary)}.project-stack .project-card-body{gap:.4rem}.project-stack .project-card-go{align-self:center}.project-card-progress{display:flex;align-items:center;gap:.5rem}.project-card-progress .progress{flex:1;height:5px}.project-card-pct{font-size:.72rem;font-weight:600;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;min-width:2.4em;text-align:right}.home-side .subsection-title{margin:1rem 0 .5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"work" "side" "feed"}}@media(max-width:640px){.page.home{padding:1.25rem 1rem 3rem}.home-hero{flex-direction:column;align-items:flex-start}.kpi-grid{grid-template-columns:1fr 1fr;gap:.6rem}.kpi{padding:.8rem .85rem}}.home-head p{margin:.2rem 0 0}.home-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.home-head .page-title{font-size:1.4rem;letter-spacing:-.02em}.home-head .muted{font-size:.85rem}@media(max-width:900px){.issue-grid{grid-template-columns:minmax(0,1fr)}.issue-side{position:static;width:auto}}@media(max-width:640px){.crumbs li:not(:last-child){display:none}.crumbs li:last-child .topbar-chev{display:none}.project-tabs .project-tab{padding:.55rem .5rem;font-size:.82rem;gap:.3rem}.project-tabs .tab-count{display:none}.home-grid{grid-template-columns:minmax(0,1fr)}.member-row,.member-name{flex-wrap:wrap}.member-role{flex:1 1 100%;min-width:0}.member-role .select{display:block}}@media(max-width:480px){.kpi{padding:.75rem .8rem;column-gap:.65rem}.kpi-icon{width:34px;height:34px;border-radius:10px}.kpi-icon svg{width:17px;height:17px}.kpi-value{font-size:1.35rem}.kpi-label{font-size:.76rem}.kpi-hint{display:none}}.board-cards>.issue-card{flex:0 0 auto}.work-group-hint{margin-left:auto;font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-text-tertiary)}.feed-card{background:var(--color-surface);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.feed-list{list-style:none;margin:0;padding:.25rem 0}.feed-item{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 1rem}.feed-item+.feed-item{border-top:1px solid var(--border-subtle)}.feed-avatar{position:relative;flex:none;width:28px;height:28px}.feed-kind{position:absolute;right:-5px;bottom:-5px;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-muted);border:2px solid var(--color-surface);color:var(--color-text-secondary)}.feed-kind svg{width:9px;height:9px}.feed-kind.kind-created{background:var(--tone-green-bg);color:var(--tone-green-fg)}.feed-kind.kind-commented{background:var(--tone-blue-bg);color:var(--tone-blue-fg)}.feed-kind.kind-attachment_added,.feed-kind.kind-attachment_removed{background:var(--tone-violet-bg);color:var(--tone-violet-fg)}.feed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.feed-text{font-size:.86rem;color:var(--color-text-secondary);display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem;line-height:1.45}.feed-text strong{color:var(--color-text);font-weight:600}.feed-text em{font-style:normal;font-weight:600;color:var(--color-text)}.feed-text .status-badge{font-size:.7rem;padding:1px 7px 1px 5px}.feed-issue{display:inline-flex;align-items:center;gap:.45rem;min-width:0;color:var(--color-text-secondary);font-size:.82rem;text-decoration:none}.feed-issue:hover .feed-issue-title{color:var(--color-primary-dark);text-decoration:underline}.feed-issue-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-time{flex:none;padding-top:2px;white-space:nowrap}.feed-empty{padding:1.75rem 1rem}.feed-empty p{margin:0}@media(max-width:640px){.feed-time{display:none}}.work-row{display:grid;grid-template-columns:16px 60px minmax(0,1fr) 118px 18px 62px;grid-template-areas:"type key title status prio due";align-items:center;column-gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--border-subtle);color:var(--color-text);text-decoration:none;transition:background var(--transition-fast)}.work-row.has-project{grid-template-columns:16px 60px minmax(0,1fr) 140px 118px 18px 62px;grid-template-areas:"type key title project status prio due"}.work-row:hover{background:var(--color-surface-muted)}.work-card .work-row:last-child{border-bottom:none}.wr-type{grid-area:type;display:inline-flex}.wr-key{grid-area:key}.wr-title{grid-area:title;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-project{grid-area:project;display:inline-flex;align-items:center;gap:.4rem;min-width:0;font-size:.78rem;color:var(--color-text-tertiary)}.wr-project>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-status{grid-area:status;display:inline-flex}.wr-status .status-badge{max-width:100%;white-space:nowrap}.wr-prio{grid-area:prio;display:inline-flex;justify-content:center}.wr-due{grid-area:due;display:inline-flex;justify-content:flex-end}.wr-due .due-chip{white-space:nowrap}.work-caught-up{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;background:linear-gradient(90deg,rgba(16,185,129,.07),transparent 70%);border-bottom:1px solid var(--border-subtle)}.work-caught-up .work-empty-icon{width:38px;height:38px;margin:0;flex:none}.work-caught-up .work-empty-icon svg{width:20px;height:20px}.work-caught-up h3{margin:0;font-size:.95rem}.work-caught-up p{margin:1px 0 0;font-size:.84rem;color:var(--color-text-secondary)}@media(max-width:900px){.work-row.has-project{grid-template-columns:16px 60px minmax(0,1fr) 118px 18px 62px;grid-template-areas:"type key title status prio due"}.wr-project{display:none}}@media(max-width:640px){.work-group-hint{display:none}.work-row,.work-row.has-project{grid-template-columns:16px 60px minmax(0,1fr) auto auto;grid-template-areas:"type key . status due" "title title title title title";row-gap:.25rem}.wr-title{white-space:normal}.wr-prio{display:none}}.pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-top:1px solid var(--border-subtle);background:var(--color-surface-muted);font-size:.8rem;color:var(--color-text-secondary)}.pager-range strong{color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums}.pager-controls{display:inline-flex;align-items:center;gap:3px}.pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 .45rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.pager-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--border-default);color:var(--color-text)}.pager-btn:disabled{opacity:.4;cursor:default}.pager-num.is-current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.pager-num.is-current:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.pager-gap{min-width:22px;text-align:center;color:var(--color-text-tertiary)}.pager-compact{padding:0 .35rem;font-variant-numeric:tabular-nums}@media(max-width:640px){.pager{flex-wrap:wrap;justify-content:center}.pager-num:not(.is-current){display:none}.pager-gap{display:none}}.work-row.has-action{grid-template-columns:16px 60px minmax(0,1fr) 118px 18px 62px 76px;grid-template-areas:"type key title status prio due action"}.work-row.has-action.has-project{grid-template-columns:16px 60px minmax(0,1fr) 140px 118px 18px 62px 76px;grid-template-areas:"type key title project status prio due action"}.wr-action{grid-area:action;display:inline-flex;justify-content:flex-end}.wr-pickup{opacity:0;height:26px;padding:0 .6rem;font-size:.76rem;border-color:var(--color-primary-soft);color:var(--color-primary-dark);background:var(--color-primary-soft);transition:opacity var(--transition-fast)}.work-row:hover .wr-pickup,.work-row:focus-within .wr-pickup{opacity:1}.wr-pickup:hover{background:var(--color-primary);color:#fff}.work-group .pager{padding:.45rem 1rem}@media(max-width:900px){.work-row.has-action.has-project{grid-template-columns:16px 60px minmax(0,1fr) 118px 18px 62px 76px;grid-template-areas:"type key title status prio due action"}}@media(max-width:640px){.work-row.has-action,.work-row.has-action.has-project{grid-template-columns:16px 60px minmax(0,1fr) auto auto;grid-template-areas:"type key . status due" "title title title title title" "action action action action action"}.wr-action{justify-content:flex-start}.wr-pickup{opacity:1}}@media(max-width:700px){.issues-table{min-width:0;width:100%}.issues-table thead{display:none}.issues-table,.issues-table tbody{display:block}.issues-table tr{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"issue issue issue issue" "prio who due action";align-items:center;column-gap:.75rem;row-gap:.45rem;padding:.7rem .9rem;border-bottom:1px solid var(--border-subtle)}.issues-table tr.drop-end{display:block;padding:0}.issues-table td{display:block;padding:0;border:none;white-space:normal}.issues-table td.drag-handle-cell{display:none}.issues-table td:nth-child(2){grid-area:issue;min-width:0}.issues-table td:nth-child(2) .issue-link{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.issues-table td:nth-child(2) .issue-title{white-space:normal;overflow:visible;flex:1 1 100%;line-height:1.35}.issues-table td:nth-child(3){grid-area:prio;font-size:.8rem}.issues-table td:nth-child(4){grid-area:who;font-size:.8rem;min-width:0}.issues-table td:nth-child(5){grid-area:due;font-size:.8rem}.issues-table td:nth-child(6){grid-area:action;text-align:right}.issues-table td.table-empty{grid-column:1 / -1}}@media(max-width:420px){.issue-head-actions .btn-label{display:none}.issue-head-actions .btn{padding-left:.55rem;padding-right:.55rem}}
