.filter-select{padding:.3rem .5rem;font-size:var(--fs-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-body)}
.page-grid{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;margin-top:1rem}
@media(max-width:820px){.page-grid{grid-template-columns:1fr}}
.issue-sidebar{position:sticky;top:1rem;align-self:start}
.side-widget{padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}
.side-widget:last-child{border-bottom:none}
.side-widget h3{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;color:var(--text-dim);margin-bottom:.4rem;letter-spacing:.03em}
.side-widget .form-inline{display:flex;gap:.35rem;align-items:center}
.progress{height:6px;background:var(--bg-inset);border-radius:3px;overflow:hidden;margin-top:.25rem}
.progress i{display:block;height:100%;background:var(--primary);border-radius:3px;transition:width .3s}
.issues-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}
.board-column{background:var(--bg-inset);border-radius:var(--radius-md);padding:.75rem;min-height:200px}
.board-col-head{font-size:var(--fs-sm);font-weight:700;margin-bottom:.5rem;text-transform:uppercase;color:var(--text-dim)}
.board-card{display:block;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.6rem .75rem;margin-bottom:.5rem;text-decoration:none;color:var(--text-body)}
.board-card:hover{border-color:var(--border-default)}
.board-card-title{font-weight:600;font-size:var(--fs-sm);display:block;margin-bottom:.25rem}
.label-chip-sm{font-size:.65rem;padding:.1rem .35rem}
.timeline{margin:1rem 0;padding-left:1.5rem;border-left:2px solid var(--border-subtle)}
.timeline-event{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:var(--fs-sm);position:relative}
.t-icon{position:absolute;left:-1.85rem;width:20px;text-align:center;font-size:.75rem;color:var(--text-muted)}
.comment-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden}
.comment-header{padding:.55rem 1rem;background:var(--bg-inset);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm)}
.comment-body{padding:.75rem 1rem;font-size:var(--fs-sm);line-height:1.6}
.reactions{display:flex;gap:.35rem;padding:.4rem 1rem .55rem;flex-wrap:wrap;align-items:center}
.reaction{border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:.15rem .45rem;font-size:var(--fs-xs);cursor:pointer;background:var(--bg-card);color:var(--text-body)}
.reaction:hover{background:var(--bg-inset)}
.reaction.reacted{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}
.reaction-add{cursor:pointer;font-size:var(--fs-sm);color:var(--text-muted);padding:.2rem .5rem;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-card);line-height:1;display:inline-flex;align-items:center;gap:.2rem}
.reaction-add::before{content:'\1F642'}
.reaction-add:hover{color:var(--text-body);background:var(--bg-inset);border-color:var(--text-muted)}
.reaction-picker-wrap{position:relative;display:inline-block}
.reaction-picker{position:absolute;bottom:100%;left:0;z-index:10;display:flex;gap:.25rem;padding:.4rem;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:.25rem}
.reaction-emoji{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.2rem .3rem;border-radius:var(--radius-sm);line-height:1}
.reaction-emoji:hover{background:var(--bg-inset)}
.composer-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.composer-tabs{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-inset)}
.composer-tab{background:none;border:none;padding:.25rem .65rem;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-sm);color:var(--text-dim)}
.composer-tab.active{background:var(--bg-card);color:var(--text-body);font-weight:600}
.composer-body{padding:.75rem 1rem}
.composer-input{width:100%;min-height:6rem;resize:vertical;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:.5rem;font-size:var(--fs-sm);font-family:var(--font-sans);background:var(--bg-card);color:var(--text-body)}
.composer-preview{min-height:4rem;padding:.5rem;font-size:var(--fs-sm);line-height:1.6}
.hidden{display:none!important}
.avatar-stack{display:flex;gap:0}
.avatar-stack .avatar{margin-left:-.25rem;border:2px solid var(--bg-card)}
.avatar-stack .avatar:first-child{margin-left:0}
.checkbox-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.35rem}
.checkbox-group label{font-size:var(--fs-sm);display:flex;align-items:center;gap:.35rem}
