.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000005c}.modal{width:min(100%,420px);max-height:min(86vh,720px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.modal.wide{width:min(100%,560px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:15px;font-weight:600}.modal-body{padding:16px;overflow-y:auto}.sidebar{width:var(--sidebar-width, 244px);flex:none;display:flex;flex-direction:column;padding:10px 8px 20px;background:var(--surface);border-right:1px solid var(--border);height:100vh;position:sticky;top:0;overflow-y:auto;transition:width .16s ease-out}.sidebar.collapsed{width:60px;align-items:center}.sidebar-resizer{flex:none;width:5px;margin:0 -2px;align-self:stretch;position:sticky;top:0;height:100vh;z-index:15;cursor:col-resize;touch-action:none}.sidebar-resizer:after{content:"";display:block;width:2px;height:100%;margin-left:1px;background:transparent;transition:background .12s ease-out}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,.sidebar-resizer.dragging:after{background:var(--primary)}.sidebar-resizer:focus-visible{outline:none}.app.resizing .sidebar{transition:none}.app.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.sidebar-top{display:flex;align-items:center;gap:8px;padding:2px 4px 6px}.sidebar-brand{font-weight:700;letter-spacing:-.2px}.sidebar-create{padding:0 4px 8px;border-bottom:1px solid var(--border);margin-bottom:6px;width:100%}.create-menu{position:relative}.create-btn{width:100%;justify-content:center}.sidebar.collapsed .create-btn{width:40px;padding:0}.create-pop{position:absolute;top:38px;left:0;z-index:30;min-width:190px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.create-pop button{display:block;width:100%;padding:7px 10px;border:none;border-radius:4px;background:none;text-align:left;font-size:13px;cursor:pointer}.create-pop button:hover:not(:disabled){background:var(--chip)}.create-pop button:disabled{color:var(--text-faint);cursor:not-allowed}.sidebar{--snav-pad: 4px;--snav-indent: 13px;--snav-twist: 14px;--snav-icon: 16px;--snav-row-h: 30px;--snav-active-bg: #eef3fc}.snav-group{width:100%}.snav-group+.snav-group.titled{margin-top:12px}.snav-list{list-style:none;margin:0;padding:0;width:100%}.snav-cat{margin:0;padding:0 8px 3px calc(var(--snav-pad) + 2px);font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--text-faint)}.snav-item{position:relative;display:flex;align-items:center;width:100%;min-width:0;height:var(--snav-row-h);padding-right:8px;padding-left:calc(var(--snav-pad) + var(--snav-depth, 0) * var(--snav-indent));border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:400;text-align:left;cursor:pointer}.snav-item[data-depth="0"]{font-size:13.5px;font-weight:500}.snav-item:hover{background:var(--chip);color:var(--text);text-decoration:none}.snav-item.active{background:var(--snav-active-bg);color:var(--primary);font-weight:600}.snav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--primary)}.snav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.snav-twist,.snav-icon{flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.snav-twist{width:var(--snav-twist);height:var(--snav-twist);margin-right:4px}.snav-icon{width:var(--snav-icon);height:var(--snav-icon);margin-right:4px}.snav-item:hover .snav-twist,.snav-item:hover .snav-icon{color:var(--text-muted)}.snav-item.active .snav-icon,.snav-item.active .snav-twist{color:var(--primary)}.snav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snav-badge{flex:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:17px;padding:0 5px;border-radius:999px;background:var(--chip);color:var(--text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.snav-dot{width:8px;height:8px;border-radius:2px;background:#b3df70}.snav-dot.invited{background:#c9b5f0}.snav-star{flex:none;color:#e0a800}.snav-empty{padding:6px 8px 6px calc(var(--snav-pad) + var(--snav-indent) + var(--snav-twist));color:var(--text-faint);font-size:12px}.snav-empty.sub{padding-left:calc(var(--snav-pad) + 2 * var(--snav-indent) + var(--snav-twist))}.sidebar.collapsed .snav-cat,.sidebar.collapsed .snav-twist,.sidebar.collapsed .snav-label{display:none}.sidebar.collapsed .snav-icon{margin-right:0}.sidebar.collapsed .snav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .snav-badge{position:absolute;top:1px;right:0;margin-left:0;min-width:0;height:14px;padding:0 4px;font-size:10px;border:1px solid var(--surface)}.app{display:flex;align-items:flex-start;min-height:100vh}.app-main{flex:1;min-width:0}.app-bar{display:flex;align-items:center;gap:10px;height:52px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-bar .spacer{flex:1}.app-content{padding:20px}.sidebar-scrim,.sidebar-toggle-mobile{display:none}@media (max-width: 900px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;width:244px;transform:translate(-100%);box-shadow:var(--shadow-md)}.sidebar-resizer{display:none}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#00000052}.sidebar-toggle-mobile{display:inline-flex}.app-content{padding:12px}}.detail{max-width:980px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.detail-toolbar-right{display:flex;align-items:center;gap:8px}.detail-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#f6f7f8;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:13px}.detail-notice-label{display:flex;align-items:center;gap:8px}.detail-body{padding:24px 28px 28px}.detail-title{font-size:26px;font-weight:700;letter-spacing:-.3px;width:100%}.detail-body>.inline-field,.detail-body>.inline-readonly.detail-title{display:flex;width:100%;margin-bottom:18px}.meta-row{display:flex;align-items:flex-start;gap:12px;min-height:38px}.meta-row>dt{width:var(--label-col);flex:none;padding-top:8px;color:var(--text-muted);font-size:13px}.meta-row>dd{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:5px 0}.meta-value{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);min-height:28px}.meta-value.filled{color:var(--text)}.detail-section{margin-top:22px}.detail-section-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.detail-section-head h2{font-size:13px;font-weight:600;color:var(--text-muted)}.detail-section-head .spacer{flex:1}.field-table{border-top:1px solid var(--border);margin-top:14px}.field-table-row{display:grid;grid-template-columns:var(--label-col) 1fr;border-bottom:1px solid var(--border);min-height:46px}.field-table-row>dt{display:flex;align-items:center;gap:6px;padding:0 12px 0 4px;color:var(--text-muted);font-size:13px;border-right:1px solid var(--border)}.field-table-row>dd{display:flex;align-items:center;padding:0 12px;min-width:0}.inline-readonly.detail-description{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;min-height:120px}.subtask-list{border-top:1px solid var(--border)}.subtask-row{display:flex;align-items:center;gap:10px;min-height:var(--row-h);padding:0 4px;border-bottom:1px solid var(--border)}.subtask-check{border:none;background:none;padding:0;display:inline-flex;color:var(--text-faint);cursor:pointer}.subtask-check:hover:not(:disabled){color:var(--done)}.subtask-check:disabled{cursor:default}.subtask-check.done{color:var(--done)}.subtask-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtask-row.done .subtask-title{color:var(--text-faint)}.subtask-meta{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;flex:none}.subtask-row[data-depth="1"]{padding-left:24px}.subtask-row[data-depth="2"]{padding-left:44px}.subtask-row[data-depth="3"]{padding-left:64px}.subtask-add{display:inline-flex;align-items:center;gap:6px;padding:10px 4px;color:var(--text-muted);border:none;background:none;cursor:pointer;font-size:13px}.subtask-add:hover{color:var(--text)}.subtask-form{display:flex;gap:8px;padding:10px 4px}.subtask-form .inline-compose-foot{justify-content:flex-start}.attachment-list{display:flex;flex-direction:column}.attachment-row{display:flex;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid var(--border);padding:0 4px}.attachment-thumb{flex:none;width:32px;height:32px;padding:0;border-radius:4px;overflow:hidden;border:1px solid var(--border);background:var(--surface-alt, #f4f5f7);display:block;cursor:zoom-in}.attachment-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attachment-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-zone{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;margin-top:8px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;cursor:pointer}.drop-zone:hover,.drop-zone.over{border-color:var(--primary);color:var(--primary);background:#4573d20a}.detail-activity{border-top:1px solid var(--border);background:#f6f7f8;padding:12px 28px 20px}.activity-tabs{display:flex;align-items:center;gap:16px;margin-bottom:12px}.activity-tab{border:none;background:none;padding:4px 0;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.activity-tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--text)}.activity-item{display:flex;gap:10px;padding:8px 0}.activity-item .body{flex:1;min-width:0}.activity-item .head{display:flex;align-items:baseline;gap:6px;font-size:13px}.activity-item .content{white-space:pre-wrap;word-break:break-word;margin-top:2px}.activity-item .actions{display:flex;gap:8px;margin-top:4px;font-size:12px}.comment-replies{margin-left:38px}.comment-form{display:flex;gap:10px;align-items:flex-start;margin-top:12px}.comment-form .grow{flex:1}.comment-form textarea{background:var(--surface)}.comment-form .row{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media (max-width: 640px){.detail-body{padding:16px}.detail-activity{padding:12px 16px 16px}.detail-title{font-size:21px}:root{--label-col: 92px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:56px 24px 24px;background:#000000b8;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;cursor:default}.lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px 14px;color:#fff}.lightbox-bar .icon-btn{color:#fff}.lightbox-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.review-section{margin-top:14px}.review-head{display:flex;align-items:center;gap:6px;font-size:12px;margin:0 0 6px}.review-note{display:block;font-size:11.5px;margin:4px 0}.review-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.review-chip{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;border:1px solid var(--border);border-radius:999px;background:none;font-size:11.5px;cursor:pointer}.review-chip.picked{border-color:var(--accent, #4a6cd4);background:var(--accent-soft, #f2f5fd);color:var(--accent, #4a6cd4);font-weight:600}.review-chip:disabled{cursor:not-allowed;opacity:.55}.review-actions{display:flex;gap:6px}.review-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.review-modal{background:var(--surface, #ffffff);border-radius:var(--radius);padding:20px;width:min(420px,100%);max-height:80vh;overflow-y:auto}.review-modal h3{font-size:16px;margin:0 0 4px}.review-recipients{list-style:none;margin:12px 0;padding:0}.review-recipients li{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border)}.review-recipient-body{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:12px}.review-modal-actions{display:flex;gap:8px;margin-top:12px}.review-search-input{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;margin:10px 0 2px}.review-recipient-action{margin-left:auto;flex-shrink:0}.activity-feed{display:flex;flex-direction:column}.activity-item-row{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.activity-item-row:last-child{border-bottom:none}.activity-icon{width:20px;flex:none;text-align:center;color:var(--text-faint);font-size:12px;line-height:1.5}.activity-text{flex:1;min-width:0;line-height:1.5;white-space:normal;word-break:break-word}.activity-text.clamped{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-more{flex:none;border:none;background:none;padding:0;color:var(--primary);font-size:12px;cursor:pointer;line-height:1.5}.activity-more:hover{text-decoration:underline}.activity-time{flex:none;font-size:12px;line-height:1.5}.richtext{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.richtext.focused{border-color:var(--primary);box-shadow:0 0 0 2px #4573d226}.richtext.readonly{border-color:transparent;background:transparent}.richtext-surface{padding:10px 12px;min-height:72px;outline:none;line-height:1.65;word-break:break-word}.richtext-status{padding:4px 12px 8px;font-size:12px;color:var(--text-faint)}.richtext-status.error{color:var(--danger)}.rt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:5px 6px;border-bottom:1px solid var(--border)}.rt-btn{min-width:26px;height:26px;padding:0 6px;border:none;border-radius:4px;background:none;color:var(--text-muted);font-size:13px;cursor:pointer}.rt-btn:hover{background:var(--chip);color:var(--text)}.rt-btn.active{background:#e6edfa;color:var(--primary)}.rt-sep{width:1px;height:16px;margin:0 4px;background:var(--border)}.rt-emoji-wrap{position:relative;display:inline-flex}.rt-emoji-pop{position:absolute;top:30px;left:0;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.rt-emoji{width:28px;height:28px;border:none;border-radius:4px;background:none;font-size:16px;cursor:pointer}.rt-emoji:hover{background:var(--chip)}.richtext-surface p,.richtext-view p{margin:0 0 8px}.richtext-surface p:last-child,.richtext-view p:last-child{margin-bottom:0}.richtext-surface h1,.richtext-view h1{font-size:19px;margin:12px 0 6px}.richtext-surface h2,.richtext-view h2{font-size:16px;margin:12px 0 6px}.richtext-surface h3,.richtext-view h3{font-size:14px;margin:10px 0 4px}.richtext-surface ul,.richtext-view ul,.richtext-surface ol,.richtext-view ol{margin:0 0 8px;padding-left:20px;list-style:revert}.richtext-surface blockquote,.richtext-view blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--border-strong);color:var(--text-muted)}.richtext-surface pre,.richtext-view pre{margin:0 0 8px;padding:10px 12px;border-radius:var(--radius-sm);background:#1e1f21;color:#f2f3f4;font-size:12.5px;overflow-x:auto}.richtext-surface code,.richtext-view code{padding:1px 4px;border-radius:3px;background:var(--chip);font-size:12.5px}.richtext-surface pre code,.richtext-view pre code{padding:0;background:none;color:inherit}.richtext-surface a,.richtext-view a{color:var(--primary);text-decoration:underline}.richtext-surface img,.richtext-view img{max-width:100%;border-radius:var(--radius-sm)}.richtext-surface ul[data-type=taskList],.richtext-view ul[data-type=taskList]{padding-left:0;list-style:none}.richtext-surface ul[data-type=taskList] li,.richtext-view ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:6px}.richtext-surface ul[data-type=taskList] li>label,.richtext-view ul[data-type=taskList] li>label{margin-top:3px}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-faint);pointer-events:none}.richtext-view{line-height:1.65;word-break:break-word}.richtext-view.empty{color:var(--text-faint)}.richtext-tap{border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;margin:-8px -10px;cursor:text}.richtext-tap:hover{border-color:var(--border);background:var(--surface)}.richtext-tap:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4573d226}.richtext-tap.detail-description .richtext-view{min-height:56px}.avatar-stack{display:inline-flex;align-items:center}.avatar-chip{border:none;background:none;padding:0;margin-left:-8px;border-radius:50%;cursor:pointer;line-height:0}.avatar-chip:first-child{margin-left:0}.avatar-chip .avatar{border:2px solid var(--surface);transition:transform .12s ease-out}.avatar-chip:hover .avatar,.avatar-chip:focus-visible .avatar{transform:translateY(-2px);z-index:1}.avatar-chip:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.timeline-assignee-filter .avatar-chip.on .avatar{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.timeline-assignee-filter.filtering .avatar-chip:not(.on) .avatar{opacity:.55}.avatar.more{background:var(--chip);color:var(--text-muted);font-size:11px}.avatar.xl{width:48px;height:48px;font-size:18px}.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.profile-name{font-size:16px;font-weight:600}.profile-fields>div{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.profile-fields dt{width:72px;flex:none;color:var(--text-muted);font-size:13px}.profile-fields dd{flex:1;min-width:0;word-break:break-all}.profile-note{margin-top:12px;font-size:12px}.share-filters{display:flex;gap:8px;margin-bottom:12px}.share-filters .input{flex:1}.share-filters .select{width:150px;flex:none}.share-heading{font-size:12px;font-weight:600;color:var(--text-muted);margin:14px 0 6px}.share-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto}.share-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.share-list .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-actions{display:flex;gap:8px;margin-top:16px}.comment{display:flex;gap:10px;padding:8px 0;margin-left:calc(var(--depth, 0) * 0px)}.comment-avatar{border:none;background:none;padding:0;line-height:0;flex:none;border-radius:50%;cursor:pointer}.comment-avatar:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.comment-body{flex:1;min-width:0}.comment-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:13px}.comment-replying-to{margin:2px 0 4px;font-size:12px;color:var(--text-muted)}.comment-replying-to .faint{margin-right:2px}.comment-actions{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:12px}.reply-list{margin-top:4px;padding-left:12px;border-left:2px solid var(--border)}.reply-editor{margin:6px 0 4px}.reply-editor-foot{display:flex;justify-content:flex-end;margin-top:4px;font-size:12px}.comment.new{padding-top:12px;border-top:1px solid var(--border);margin-top:8px}.comment .richtext.comment-editor{border-color:transparent;background:transparent}.comment .richtext.comment-editor:hover{border-color:var(--border);background:var(--surface)}.comment .richtext.comment-editor.focused{border-color:var(--primary);background:var(--surface)}.comment .richtext.comment-editor .richtext-surface{min-height:0;padding:4px 6px}.comment-gutter{position:relative;flex:none;display:flex;flex-direction:column;align-items:center}.comment-thread-line{flex:1;width:2px;margin-top:4px;background:var(--border);border-radius:1px}.reply-tree{position:relative;margin-top:4px;padding-left:14px}.reply-tree:before{content:"";position:absolute;left:0;top:0;bottom:12px;width:2px;background:var(--border);border-radius:1px}.reply-tree>.comment:before{content:"";position:absolute;left:-14px;top:18px;width:12px;height:2px;background:var(--border)}.reply-tree>.comment{position:relative}.comment-collapse{display:inline-flex;align-items:center;gap:3px}.comment-compose{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-faint);text-align:left;font-size:13px;cursor:text}.comment-compose:hover{border-color:var(--primary)}.comment .richtext-tap{padding:4px 6px;margin:0 -6px}.label-chips{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;flex:0 1 auto;min-width:0;overflow:hidden}.label-chips.wrap{flex-wrap:wrap}.label-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:11.5px;line-height:1.6;white-space:nowrap;flex:0 1 auto;min-width:0;max-width:8rem;overflow:hidden;text-overflow:ellipsis}.label-chips.wrap .label-chip{max-width:none}.label-dot{width:10px;height:10px;border-radius:50%;flex:none}.label-chip.gray,.label-dot.gray{background:#eceef1;color:#55595f}.label-chip.red,.label-dot.red{background:#fbe0e0;color:#a33232}.label-chip.orange,.label-dot.orange{background:#fdeacf;color:#8f5a12}.label-chip.yellow,.label-dot.yellow{background:#fbf3c8;color:#7a6410}.label-chip.green,.label-dot.green{background:#d9f2e4;color:#1f6f4a}.label-chip.blue,.label-dot.blue{background:#dfe9fb;color:#2f5aa8}.label-chip.purple,.label-dot.purple{background:#e8e0fa;color:#5a3fa0}.label-chip.pink,.label-dot.pink{background:#fbdfee;color:#9c3672}.label-dot.gray,.label-dot.red,.label-dot.orange,.label-dot.yellow,.label-dot.green,.label-dot.blue,.label-dot.purple,.label-dot.pink{color:transparent}.label-picker{position:relative;display:inline-flex;align-items:center;gap:8px}.label-picker-trigger{border:1px solid transparent;border-radius:var(--radius-sm);background:none;padding:3px 6px;margin:-3px -6px;cursor:pointer;text-align:left}.label-picker-trigger:hover{border-color:var(--border-strong)}.label-pop{position:absolute;top:28px;left:0;z-index:30;min-width:200px;max-height:260px;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.label-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:none;font-size:13px;text-align:left;cursor:pointer}.label-option:hover{background:var(--chip)}.label-option.on{background:#eef3fc}.label-check{margin-left:auto;color:var(--primary)}.label-picker-trigger{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:24px}.label-chip-x{margin-left:4px;padding:0;border:none;background:none;color:inherit;font-size:12px;line-height:1;cursor:pointer;opacity:.55}.label-chip-x:hover{opacity:1}.label-picker-open{border:none;background:none;color:var(--text-faint);font-size:12px;padding:2px 6px;border-radius:var(--radius);cursor:pointer}.label-picker-open:hover{background:var(--surface-alt, #f7f8fa);color:var(--text-muted)}.label-search{width:100%;min-width:0;margin-bottom:6px}.label-pop-list{max-height:240px;overflow-y:auto}.label-pop-note,.label-pop-error{font-size:12px;padding:6px 8px;margin:0}.label-pop-error{color:var(--danger, #d64545)}.label-create{border-top:1px solid var(--border, #dfe3e8);color:var(--accent, #4a6cd4)}.label-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border, #dfe3e8)}.label-filter-chip{border:1px solid transparent;cursor:pointer;opacity:.55}.label-filter-chip:hover{opacity:.85}.label-filter-chip.on{opacity:1;border-color:currentColor;font-weight:600}.split{display:flex;align-items:flex-start;gap:16px}.split-main{flex:1;min-width:0}.split-side{width:452px;flex:none;position:sticky;top:68px;max-height:calc(100vh - 84px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.split-side-empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;text-align:center;color:var(--text-faint);font-size:13px}.split-scrim{display:none}@media (max-width: 900px){.split-side{position:fixed;top:0;right:0;bottom:0;width:min(92vw,452px);max-height:none;border-radius:0;border-right:none;z-index:40;box-shadow:var(--shadow-md);transform:translate(100%);transition:transform .18s ease-out}.split-side.open{transform:translate(0)}.split-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;z-index:39}.split-side-close{position:sticky;top:0}}@media (prefers-reduced-motion: reduce){.split-side{transition:none}}.task-quick-filters{display:flex;align-items:center;gap:8px;margin-bottom:10px}.quick-filter-toggle.on{background:var(--primary);border-color:var(--primary);color:#fff}.task-tree{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;overflow-y:hidden}.task-tree-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.task-tree-head h2{font-size:13px;font-weight:600;color:var(--text-muted)}.task-tree-head .spacer{flex:1}.tree-head-row,.tree-row{display:grid;grid-template-columns:var(--task-columns, 1fr auto);align-items:center;padding:0 12px 0 4px;border-bottom:1px solid var(--border)}.tree-head-row{min-height:34px;background:#fbfbfc;font-size:12px;font-weight:600;color:var(--text-muted);-webkit-user-select:none;user-select:none}.tree-row{min-height:40px;cursor:pointer;--indent: 0px}.tree-cell{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:8px;min-width:0;padding:0 10px;overflow:hidden;white-space:nowrap;color:var(--text-muted);font-size:13px}.tree-head-row .tree-cell{font-size:12px;position:relative}.tree-cell+.tree-cell{box-shadow:inset 1px 0 #0000000a}.tree-head-row .col-title,.tree-row .col-title{padding-left:calc(10px + var(--indent, 0px))}.tree-row .col-title{color:var(--text);font-size:14px}.tree-cell.tree-actions{box-shadow:none;gap:4px;padding-right:0;min-width:28px}.tree-cell-empty{color:var(--text-faint)}.tree-person-name{overflow:hidden;text-overflow:ellipsis}.tree-person-more{color:var(--text-faint);font-size:12px}.tree-row:hover{background:#fafbfc}.tree-row.selected{background:#eef3fc;box-shadow:inset 2px 0 0 var(--primary)}.tree-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tree-twisty{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border:none;background:none;border-radius:4px;color:var(--text-faint);cursor:pointer}.tree-twisty:hover{background:var(--chip);color:var(--text)}.tree-check{border:none;background:none;padding:0;display:inline-flex;flex:none;color:var(--text-faint);cursor:pointer}.tree-check:hover:not(:disabled){color:var(--done)}.tree-check.done{color:var(--done)}.tree-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row.done .tree-title{color:var(--text-faint)}.tree-row .row-actions{opacity:0}.tree-row:hover .row-actions,.tree-row:focus-within .row-actions{opacity:1}.tree-add{display:flex;align-items:center;gap:6px;width:100%;min-height:38px;padding:0 12px 0 4px;padding-left:calc(4px + var(--indent));border:none;border-bottom:1px solid var(--border);background:none;color:var(--text-faint);font-size:13px;text-align:left;cursor:pointer}.tree-add:hover{background:#fafbfc;color:var(--text-muted)}.tree-add-form{padding:6px 12px 6px calc(4px + var(--indent));border-bottom:1px solid var(--border)}.tree-add.main{min-height:44px;color:var(--text-muted);font-weight:600;border-bottom:none}.tree-add.main:hover{color:var(--primary)}.panel-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.panel-head .spacer{flex:1}.panel-body{padding:16px 18px 20px}.panel-title{font-size:19px;font-weight:700;letter-spacing:-.2px;width:100%}.panel-props{margin:12px 0 4px}.panel-prop{display:flex;align-items:flex-start;gap:10px;min-height:34px}.panel-prop>dt{width:84px;flex:none;padding-top:7px;color:var(--text-muted);font-size:13px}.panel-prop>dd{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:3px 0}.panel-section{margin-top:18px}.panel-section-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.panel-section-head h3{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:none}.panel-section-head .spacer{flex:1}.panel-activity{border-top:1px solid var(--border);background:#f6f7f8;padding:12px 18px 18px}.panel-child{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;border-bottom:1px solid var(--border);font-size:13px}.panel-child:last-child{border-bottom:none}.split-side .detail-section{margin-top:16px}.split-side .drop-zone{padding:12px}.tree-row[draggable=true]{cursor:grab}.tree-row.dragging{opacity:.45}.tree-row.drop-before{box-shadow:inset 0 2px 0 var(--primary)}.tree-row.drop-after{box-shadow:inset 0 -2px 0 var(--primary)}.tree-row.drop-inside{background:#e8f0fd;box-shadow:inset 0 0 0 1px var(--primary)}.tree-hint{padding:6px 14px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12px}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000052;opacity:0;pointer-events:none;transition:opacity .18s ease-out}.drawer-scrim.open{opacity:1;pointer-events:auto}.task-drawer{position:fixed;top:0;right:0;bottom:0;z-index:56;width:min(100vw,520px);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md);transform:translate(100%);transition:transform .2s cubic-bezier(.2,0,.1,1);outline:none}.task-drawer.open{transform:translate(0)}.task-drawer[aria-hidden=true]{visibility:hidden}.task-drawer.open[aria-hidden=false]{visibility:visible}@media (prefers-reduced-motion: reduce){.task-drawer,.drawer-scrim{transition:none}}@media (max-width: 640px){.task-drawer{width:100vw;border-left:none}}.global-search{position:relative;display:flex;align-items:center;gap:6px;flex:0 1 420px;min-width:0;padding:4px 10px;border:1px solid var(--border, #dfe3e8);border-radius:999px;background:var(--surface-alt, #f7f8fa)}.global-search:focus-within{border-color:var(--accent, #4a6cd4);background:var(--surface, #fff)}.global-search-icon{flex:none;font-size:12px;line-height:1}.global-search-input{flex:1 1 auto;min-width:0;border:none;background:none;font:inherit;font-size:13px;outline:none}.global-search-hint{flex:none;padding:1px 5px;border:1px solid var(--border, #dfe3e8);border-radius:4px;background:var(--surface, #fff);color:var(--text-faint);font-size:10.5px;font-family:inherit}.global-search:focus-within .global-search-hint{display:none}.global-search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;max-height:60vh;overflow-y:auto;padding:6px;border:1px solid var(--border, #dfe3e8);border-radius:var(--radius);background:var(--surface, #fff);box-shadow:0 8px 24px #0000001f}.global-search-group{margin:6px 6px 2px;font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--text-faint)}.global-search-hit{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:var(--radius);background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer}.global-search-hit:hover{background:var(--surface-alt, #f7f8fa)}.global-search-title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-why{flex:1 0 100%;color:var(--text-faint);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 52rem){.global-search{flex-basis:200px}.global-search-hint{display:none}}.page.wide{max-width:1240px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;container-type:inline-size}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-head h2{font-size:13px;font-weight:600;color:var(--text-muted)}.card-head .spacer{flex:1}.card-sub{margin:-4px 0 10px;font-size:12px;line-height:1.6;color:var(--text-faint)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.stat-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.stat-row.compact{margin:12px 0 0}.stat{flex:1;min-width:96px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-value{display:block;font-size:22px;font-weight:700;letter-spacing:-.4px}.stat-label{font-size:12px;color:var(--text-muted)}.stat.overdue .stat-value{color:var(--overdue)}.stat.done .stat-value{color:var(--done)}.stat.cancelled .stat-value{color:var(--text-muted)}.tasklist-row{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-height:36px;padding:4px 0;border-bottom:1px solid var(--border);overflow:hidden}.tasklist-row:last-child{border-bottom:none}.tasklist-title{flex:1 1 auto;min-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;text-align:left}.tasklist-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;flex:none;min-width:0;font-size:12.5px}.tasklist-meta .chip{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;line-height:1.7}.tasklist-meta .chip .chip-dot{display:none}.tasklist-meta .status-pill{background:transparent;padding:0}.tasklist-meta .status-pill.overdue,.tasklist-meta .status-pill.done{padding:1px 8px}@container (max-width: 44rem){.tasklist-row .label-chips{display:none}}@container (max-width: 30rem){.tasklist-meta .chip{display:none}}.inbox-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex:none}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar .spacer{flex:1}.toolbar-field{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.toolbar-field .select{width:auto;padding:5px 8px}.status-filter-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0;margin-bottom:10px;border-bottom:1px solid var(--border)}.status-filter-chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.status-filter-chip input{cursor:pointer}.status-filter-row .spacer{flex:1}.notice{padding:8px 12px;margin-bottom:12px;border-radius:var(--radius-sm);background:var(--chip);color:var(--text-muted);font-size:12px}.task-table{overflow-x:auto}.task-table-head,.task-table-row{display:grid;grid-template-columns:var(--task-table-columns, 1fr);align-items:center;border-bottom:1px solid var(--border)}.task-table-head{min-height:32px;background:#fbfbfc;font-size:12px;font-weight:600;color:var(--text-muted);-webkit-user-select:none;user-select:none}.task-table-head .task-cell{position:relative}.col-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:1}.col-resize-handle:hover,.col-resize-handle:active{background:var(--primary);opacity:.35}.task-table-row{min-height:38px}.task-table-row:last-child{border-bottom:none}.task-cell{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 10px;overflow:hidden;white-space:nowrap;font-size:13px;color:var(--text-muted)}.task-cell+.task-cell{box-shadow:inset 1px 0 #0000000a}.task-table-row .col-title{color:var(--text);font-size:13.5px}.task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.task-cell.col-org{text-overflow:ellipsis;font-size:12px}.task-org-link{color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-org-link:hover{color:var(--primary);text-decoration:underline}.approve-target{font-size:15px;font-weight:600;margin-bottom:6px}.approve-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.created-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0}.created-facts dt{color:var(--text-muted)}.created-facts dd{margin:0}.created-actions{display:flex;justify-content:flex-end;margin-top:14px}.status-error-actions{display:flex;justify-content:flex-end;margin-top:12px}.task-person{display:inline-flex;align-items:center;gap:6px;min-width:0;border:none;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}.task-person:hover .task-person-name{text-decoration:underline}.task-cell.col-endDate.overdue .inline-input,.task-cell.col-endDate.overdue .inline-readonly{color:var(--overdue);font-weight:600}.task-person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.task-cell .chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .12s ease-out,transform .12s ease-out}.project-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.project-card-head{display:flex;align-items:flex-start;gap:8px}.project-card-title{flex:1;font-size:15px;font-weight:600}.project-card-meta{font-size:12.5px}.project-card-desc{font-size:13px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-foot{font-size:12px;margin-top:auto}.star{color:var(--border-strong)}.star.on{color:#e0a800}.project-head-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0;margin-bottom:16px}.project-tabs{display:flex;gap:2px;margin-bottom:16px;margin-top:13px;border-bottom:1px solid var(--border);overflow-x:auto}.project-tab{padding:8px 12px;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13.5px;white-space:nowrap}.project-tab:hover{color:var(--text);text-decoration:none}.project-tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--text)}.project-tab.disabled{color:var(--text-faint);cursor:not-allowed}.progress-bar{height:8px;border-radius:999px;background:var(--chip);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--done)}.progress p{margin-top:6px;font-size:12.5px}.bar-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.bar-label{width:64px;flex:none;color:var(--text-muted)}a.as-bar-link{color:inherit;text-decoration:none;border-radius:6px;margin:0 -6px;padding-left:6px;padding-right:6px}a.as-bar-link:hover{background:var(--chip)}a.as-bar-link:hover .bar-label{color:var(--text)}.bar{flex:1;height:6px;border-radius:999px;background:var(--chip);overflow:hidden}.bar>span{display:block;height:100%;background:var(--primary)}.bar.status-todo>span{background:#9aa1ab}.bar.status-in_progress>span{background:var(--primary)}.bar.status-delayed>span{background:var(--overdue)}.bar.status-review>span{background:#e0a52e}.bar.status-review_approved>span{background:#3aa6a0}.bar.status-rejected>span{background:#e07a3e}.bar.status-done>span{background:var(--done)}.bar.status-hold>span{background:#b3a99b}.bar.status-cancelled>span{background:#ccced3}.bar.prio-urgent>span{background:#d65151}.bar.prio-high>span{background:#cc669c}.bar.prio-medium>span{background:#b86ec4}.bar.prio-low>span{background:#8870cd}.bar.prio-none>span{background:#567fd2}.activity-row{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.activity-row:last-child{border-bottom:none}.activity-row .grow{flex:1;min-width:0}.activity-head{font-size:12.5px}.activity-excerpt{font-size:12.5px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.todo-list{font-size:13px;color:var(--text-muted)}.todo-list li{padding:4px 0;border-bottom:1px solid var(--border)}.todo-list li:last-child{border-bottom:none}.bell{position:relative}.bell-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;line-height:16px;text-align:center}.bell-pop{position:absolute;top:34px;right:0;z-index:40;width:min(92vw,340px);max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.bell-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.bell-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border);background:none;text-align:left;font-size:12.5px;cursor:pointer}.bell-item:hover{background:#fafbfc}.bell-item.unread{background:#f4f8ff}.bell-title{font-weight:600}.bell-body{color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pref-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.pref-row:last-of-type{border-bottom:none}.pref-row .grow{flex:1}.temp-password{padding:2px 6px;border-radius:4px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}.board-column{background:#f6f7f8;border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-height:140px}.board-column.over{border-color:var(--primary);background:#eef3fc}.board-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.board-head h2{font-size:12.5px;font-weight:600;color:var(--text-muted)}.board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;cursor:grab}.board-card:hover{box-shadow:var(--shadow-sm)}.board-card-title{display:block;font-size:13px;margin-bottom:6px}.board-card-foot{display:flex;align-items:center;gap:6px;font-size:11.5px}.board-card-foot .spacer{flex:1}.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.calendar-toolbar .spacer{flex:1}.calendar-nav{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.calendar-nav .icon-btn{width:26px;height:26px;font-size:17px;line-height:1;color:var(--text-muted);border-radius:5px}.calendar-project{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 10px;border-radius:999px;background:var(--chip);font-size:12px;color:var(--text-muted)}.calendar-title{min-width:104px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.calendar{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar-head,.calendar-week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-weekday{background:var(--surface);padding:8px 6px;text-align:center;font-size:11px;letter-spacing:.04em;color:var(--text-faint);font-weight:600}.calendar-weekday.sun{color:#c2564f}.calendar-weekday.sat{color:#4d6fb0}.calendar-week{position:relative}.calendar-cell{background:var(--surface);padding:5px 6px;display:flex;align-items:flex-start;gap:4px;cursor:pointer;transition:background .12s ease}.calendar-cell:hover{background:#fbfcfd}.calendar-cell.outside{background:#fafbfc}.calendar-cell.outside .calendar-day{opacity:.5}.calendar-cell.selected{background:#f4f7fd;box-shadow:inset 0 0 0 1px var(--primary)}.calendar-day{min-width:21px;height:21px;line-height:21px;padding:0 5px;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center}.calendar-cell.today .calendar-day{background:var(--primary);color:#fff;font-weight:600}.calendar-hidden{margin-left:auto;font-size:10.5px;color:var(--text-faint)}.calendar-bars{position:absolute;left:0;right:0;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:34px;gap:3px 1px;padding:0 3px;pointer-events:none}.calendar-bar{display:flex;align-items:center;gap:5px;min-width:0;margin:0 1px;padding:0 6px;border:0;border-radius:6px;background:var(--chip);font-size:12px;line-height:1.25;text-align:left;cursor:pointer;pointer-events:auto;overflow:hidden;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.calendar-bar:hover{background:#eaeef5;transform:translateY(-1px);box-shadow:var(--shadow-sm);text-decoration:none}.calendar-bar:active{transform:translateY(0)}.calendar-bar.active{background:#e6edfa;box-shadow:inset 0 0 0 1px var(--primary)}.calendar-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-left:5px}.calendar-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.calendar-bar-text{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.calendar-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.calendar-bar .avatar{width:20px;height:20px;font-size:10px}.calendar-bar .avatar.short{font-size:8px}.calendar-item-flag{flex:none;font-size:9px;line-height:1}.calendar-item-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:var(--text-muted)}.calendar-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.s-todo .calendar-dot{background:var(--text-faint)}.s-progress .calendar-dot{background:var(--primary)}.s-review .calendar-dot{background:#8b5cf6}.s-done .calendar-dot{background:var(--done)}.s-hold .calendar-dot{background:#e8833a}.s-cancelled .calendar-dot{background:var(--border-strong)}.s-done .calendar-item-title{text-decoration:line-through;color:var(--text-faint)}.calendar-bar.overdue .calendar-item-title,.calendar-dayrow.overdue .calendar-item-title{color:var(--overdue)}.calendar-daylist{margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:calendar-daylist-in .16s ease-out}@keyframes calendar-daylist-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calendar-daylist-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.calendar-daylist-head .spacer{flex:1}.calendar-dayrow{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:var(--radius-sm);background:transparent;font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease}.calendar-dayrow:hover{background:var(--chip)}.calendar-range{flex:none;font-variant-numeric:tabular-nums}.calendar-tag{flex:none;padding:1px 7px;border-radius:999px;background:var(--chip);font-size:11px;color:var(--text-muted)}@media (max-width: 720px){.calendar-cell{padding:4px 3px}.calendar-bars{grid-auto-rows:12px;gap:2px 1px;padding:0 2px}.calendar-bar{padding:0;line-height:12px;border-radius:4px}.calendar-bar:hover{transform:none;box-shadow:none}.calendar-item-title,.calendar-item-flag,.calendar-item-who,.calendar-bar-text,.calendar-bar .avatar,.calendar-hidden{display:none}.calendar-dot{width:100%;height:100%;border-radius:4px}.calendar-weekday{padding:6px 2px}.calendar-day{min-width:19px;height:19px;line-height:19px;font-size:11px;padding:0 3px}.calendar-hint{display:none}.calendar-nav{flex:1;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.calendar-bar,.calendar-cell,.calendar-dayrow{transition:none}.calendar-bar:hover{transform:none}.calendar-daylist{animation:none}}.timeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.timeline{--timeline-label-width: 220px;--timeline-gap: 12px;--timeline-bar: #e4e7ec}.timeline-body{display:flex;gap:var(--timeline-gap)}.timeline-scroll{overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab;scrollbar-color:var(--border-strong) transparent}.timeline-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.timeline-canvas{min-width:1440px}.timeline-labels{width:var(--timeline-label-width);flex:none;position:sticky;left:0;z-index:4;background:var(--surface)}.timeline-label-row{display:flex;align-items:center;gap:2px;overflow:hidden;border-bottom:1px solid var(--border)}.timeline-twisty,.timeline-twisty-gap{width:16px;flex:none}.timeline-twisty{display:grid;place-items:center;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-faint);font-size:10px;line-height:1;cursor:pointer}.timeline-twisty:hover{background:var(--chip);color:var(--text)}.timeline-child-count{flex:none;padding:0 6px;border:0;border-radius:999px;background:var(--chip);color:var(--text-faint);font:inherit;font-size:10.5px;line-height:1.7;cursor:pointer}.timeline-child-count:hover,.timeline-child-count:focus-visible{background:var(--border);color:var(--text)}.timeline-label{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;flex:1;min-width:0;height:100%;overflow:hidden;line-height:1.25}.timeline-label-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.timeline-label-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:var(--text-faint)}.timeline-tracks{position:relative;flex:1;min-width:0}.timeline-track{position:absolute;left:0;right:0;border-bottom:1px solid var(--border)}.timeline-bar{position:absolute;top:6px;display:flex;align-items:center;max-width:100%;height:24px;padding:0 8px;border:0;border-radius:999px;background:var(--timeline-bar);color:var(--text-muted);font:inherit;font-size:12px;line-height:1;text-align:left;cursor:pointer;min-width:6px;z-index:2;overflow:hidden}.timeline-bar:hover,.timeline-bar:focus-visible{filter:brightness(.92);outline:2px solid color-mix(in srgb,var(--primary) 45%,white);outline-offset:1px}.timeline-progress-fill{position:absolute;inset:0 auto 0 0;height:100%;background:#00000038;pointer-events:none}.timeline-bar-warning{position:relative;flex:none;margin-right:4px;font-size:11px;color:#fff;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}.timeline-bar-title{position:relative}.timeline-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.timeline-links polyline{fill:none;stroke:var(--border-strong);stroke-width:2;stroke-dasharray:3 3}.timeline-bar.role-chairman{background:var(--role-chairman-bg);color:var(--role-chairman-fg)}.timeline-bar.role-secretary{background:var(--role-secretary-bg);color:var(--role-secretary-fg)}.timeline-bar.role-president{background:var(--role-president-bg);color:var(--role-president-fg)}.timeline-bar.role-division{background:var(--role-division-bg);color:var(--role-division-fg)}.timeline-bar.role-section{background:var(--role-section-bg);color:var(--role-section-fg)}.timeline-bar.role-leader{background:var(--role-leader-bg);color:var(--role-leader-fg)}.timeline-bar.role-member{background:var(--role-member-bg);color:var(--role-member-fg)}.timeline-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-link{border:none;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.as-link:hover{text-decoration:underline}.dependency-editor{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-size:12.5px}.dependency-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dependency-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 4px 1px 8px;border-radius:999px;background:#e8eefb;color:#2f5aa8}.dependency-chip.muted-chip{background:var(--chip);color:var(--text-muted);padding-right:8px}.dependency-chip .icon-btn{width:18px;height:18px;font-size:13px}.fixed-field{margin:0;padding:7px 0;color:var(--text);font-size:14px}.matrix-scroll{overflow-x:auto}.permission-matrix{border-collapse:collapse;width:100%;min-width:520px}.permission-matrix th,.permission-matrix td{border:1px solid var(--border);padding:8px 10px;text-align:center;font-size:13px;white-space:nowrap}.permission-matrix th[scope=row]{text-align:left;font-weight:600;background:var(--chip)}.permission-matrix thead th{background:var(--chip);font-weight:600}.permission-matrix .corner{text-align:left;color:var(--text-muted);font-weight:500}.timeline-month{width:auto;height:26px;padding:0 8px;font-size:13px}.timeline-range{display:inline-flex;align-items:center;gap:6px}.timeline-range-input{width:auto;height:26px;padding:0 8px;font-size:13px}.timeline-view-controls{position:relative;display:inline-flex;align-items:center;gap:8px}.timeline-scale-switch{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.timeline-scale-switch button{min-width:40px;padding:4px 8px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer}.timeline-scale-switch button:hover{background:var(--chip);color:var(--text)}.timeline-scale-switch button.active{background:var(--primary);color:#fff;font-weight:600}.timeline-info{position:relative;display:inline-flex}.timeline-info-btn{display:grid;width:26px;height:26px;place-items:center;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text-muted);font-weight:700;font-family:Georgia,serif;cursor:pointer}.timeline-info-btn:hover,.timeline-info-btn:focus-visible{border-color:var(--primary);color:var(--primary)}.timeline-info-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(280px,70vw);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);box-shadow:var(--shadow-md);font-size:12px;line-height:1.55}.timeline-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0}.timeline-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0}.timeline-ruler{display:flex;align-items:flex-end;height:22px;margin-bottom:2px}.timeline-ruler.two-tier{height:38px}.timeline-ruler-spacer{flex:none;width:calc(var(--timeline-label-width) + var(--timeline-gap));position:sticky;left:0;z-index:5;background:var(--surface)}.timeline-head-label{display:block;padding-left:2px;font-size:12px;font-weight:600;color:var(--text-muted);line-height:22px;-webkit-user-select:none;user-select:none}.timeline-ruler-scale{position:relative;flex:1;height:100%}.timeline-tick{position:absolute;bottom:2px;display:flex;align-items:baseline;gap:3px;padding-left:4px;font-size:10.5px;color:var(--text-faint);white-space:nowrap;pointer-events:none}.timeline-tick.weekend{color:color-mix(in srgb,var(--overdue) 45%,var(--text-faint))}.timeline-tick-weekday{font-size:9px;font-style:normal;opacity:.75}.timeline-tick-group{position:absolute;top:0;padding-left:4px;font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap;pointer-events:none}.timeline-today-marker{position:absolute;bottom:0;z-index:3;padding:1px 4px;border-radius:4px 4px 0 0;background:var(--primary);color:#fff;font-size:10px;line-height:1.2;transform:translate(-50%);pointer-events:none}.timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;background:var(--border);opacity:.5;pointer-events:none}.timeline-weekend-band{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--text-faint) 7%,transparent);pointer-events:none}.timeline-today-line{position:absolute;top:0;bottom:0;z-index:3;width:2px;background:#4285f4;box-shadow:0 0 0 1px color-mix(in srgb,#4285f4 25%,transparent);transform:translate(-50%);pointer-events:none}.home-calendar{margin-bottom:12px}.home-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}@media (max-width: 700px){.home-week{grid-template-columns:repeat(4,1fr)}}.home-day{min-height:84px;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);min-width:0}.home-day.today{border-color:var(--accent, #4a6cd4);background:var(--accent-soft, #f2f5fd)}.home-day-head{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.home-day-num{font-size:13px;font-weight:600}.home-day-name{font-size:10.5px;color:var(--text-faint)}.home-day.sun .home-day-name,.home-day.sun .home-day-num{color:#b4574f}.home-day.sat .home-day-name,.home-day.sat .home-day-num{color:#4a6cd4}.home-day-items{display:flex;flex-direction:column;gap:3px;min-width:0}.home-day-item{display:block;width:100%;padding:2px 5px;border-radius:3px;background:var(--chip, #eef0f3);font-size:11px;line-height:1.5;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-day-more{font-size:10.5px;padding-left:5px}.calendar-item-who{display:flex;align-items:baseline;gap:5px;min-width:0}.calendar-item-project{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;opacity:.9}.calendar-item-project+.calendar-item-assignee{opacity:.75}.calendar-item-assignee{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 720px){.card-grid.two-up{grid-template-columns:minmax(0,1fr)}}.app-bar-today{display:flex;align-items:baseline;gap:8px;min-width:0;padding-left:4px}.app-bar-today strong{font-size:14px;white-space:nowrap}.app-bar-today .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.app-bar-today .muted{display:none}}.stat.as-link{display:block;color:inherit;text-decoration:none;transition:border-color .12s,background .12s}.stat.as-link:hover{border-color:var(--accent, #4a6cd4);background:var(--accent-soft, #f2f5fd)}.stat.as-link:focus-visible{outline:2px solid var(--accent, #4a6cd4);outline-offset:1px}.font-choices{display:flex;flex-direction:column;gap:8px}.font-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.font-choice:hover{border-color:var(--accent, #4a6cd4)}.font-choice.selected{border-color:var(--accent, #4a6cd4);background:var(--accent-soft, #f2f5fd)}.font-choice input{margin-top:3px;flex:none}.font-choice-body{display:flex;flex-direction:column;gap:3px;min-width:0}.font-choice-name{font-size:13.5px;font-weight:600}.font-choice-sample{font-size:15px;line-height:1.6}.font-choice-note{font-size:11.5px}.font-choice-note,.font-choice .chip{font-family:var(--app-font, var(--app-font-default))}.font-choice-actions{margin-left:auto;align-self:flex-start;flex:none;display:flex;align-items:center;gap:10px}.font-choice-actions:empty{display:none}.form-section{margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text-muted)}.form-section:first-of-type{margin-top:4px}.settings-page,.activity-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:clamp(12px,1.4vw,18px);align-items:start}.page.wide:has(>.settings-page),.page.wide:has(>.activity-page){max-width:none}.settings-hero,.settings-page>.alert{grid-column:1 / -1}.settings-hero{padding:0 2px}.settings-hero-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-hero-name{font-size:clamp(18px,1.6vw + 12px,23px);font-weight:700;letter-spacing:-.4px}.settings-hero-meta{margin:3px 0 0;font-size:12.5px;color:var(--text-faint)}.settings-card{padding:clamp(14px,1.2vw,20px) clamp(14px,1.4vw,22px);border-radius:10px;box-shadow:0 1px 2px #14182108;min-width:0}.settings-card .card-head{margin-bottom:10px}.settings-card .card-head h2{font-size:14px;color:var(--text)}.settings-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 22px;margin:0}.settings-fields>div{display:flex;flex-direction:column;gap:6px;min-width:0}.settings-fields dt{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--text-faint)}.settings-fields dd{margin:0;font-size:13.5px;color:var(--text);min-width:0}.settings-fields dd.muted{color:var(--text-muted)}.settings-fields .inline-field{width:100%}.settings-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-faint);line-height:1.6}.danger-zone{border-color:#f0d5d5;background:#fdf7f7}.danger-zone .card-head h2{color:var(--danger)}.danger-row{display:flex;align-items:center;gap:12px;padding:11px 0}.danger-row+.danger-row{border-top:1px solid #f0d5d5}.danger-row-text{flex:1;min-width:0;font-size:13px;color:var(--text-muted)}.board-column-auto{background:var(--surface-alt, #f7f8fa)}.board-column-auto .board-head h2:after{content:"自動";margin-left:6px;padding:1px 5px;border-radius:999px;background:var(--border, #dfe3e8);color:var(--text-muted);font-size:10px;font-weight:600;vertical-align:middle}.s-overdue .calendar-dot{background:var(--danger, #d64545)}.delayed-lock{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.chip.status.s-overdue{background:#fdeaea;color:var(--danger, #d64545);font-weight:600}.partner-table{width:100%;border-collapse:collapse}.partner-table th,.partner-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.partner-table th{font-size:12px;font-weight:600;color:var(--muted)}.partner-table td .link-btn+.link-btn{margin-left:10px}.doc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.doc-modal{background:var(--surface, #ffffff);border-radius:var(--radius);padding:20px;width:min(680px,100%);max-height:85vh;overflow-y:auto}.partner-table tr.doc-row-open>td{background:var(--accent-soft, rgba(59, 130, 246, .1))}.partner-table tbody tr:hover>td{background:var(--hover, rgba(0, 0, 0, .03))}.partner-table tr.doc-row-open:hover>td{background:var(--accent-soft, rgba(59, 130, 246, .1))}.billing-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:16px;align-items:start}@media (max-width: 900px){.billing-split{grid-template-columns:minmax(0,1fr)}}.billing-preview{position:sticky;top:16px}.doc-preview-paper{background:#fff;color:#111;border:1px solid var(--border);border-radius:4px;padding:14px 16px;font-size:12px;line-height:1.7}.doc-preview-paper img{max-width:200px;max-height:44px;margin-bottom:6px}.doc-preview-missing{color:#b0b0b0}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger, #c0392b)}.field-error{display:block;margin-top:2px;font-size:12px;color:var(--danger, #c0392b)}.doc-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;margin-bottom:8px}.doc-filters .field{margin-bottom:0}.doc-filter-wide{grid-column:span 2}@media (max-width: 480px){.doc-filter-wide{grid-column:span 1}}.doc-table-scroll{overflow-x:auto}.doc-table-scroll .partner-table{width:max-content;min-width:100%}.doc-table-scroll .partner-table th,.doc-table-scroll .partner-table td{white-space:nowrap}.doc-table-scroll .partner-table td.doc-col-title,.doc-table-scroll .partner-table td.doc-col-partnerName,.doc-table-scroll .partner-table td.doc-col-projectName,.doc-table-scroll .partner-table td.doc-col-issuerName{max-width:20rem;overflow:hidden;text-overflow:ellipsis}.dm-split{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:12px;align-items:start}@media (max-width: 760px){.dm-split{grid-template-columns:minmax(0,1fr)}}.dm-list{padding:6px;max-height:70vh;overflow-y:auto}.dm-list-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.dm-list-row:hover{background:var(--hover, rgba(0, 0, 0, .03))}.dm-list-row.is-open{background:var(--accent-soft, rgba(59, 130, 246, .1))}.dm-list-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dm-list-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.dm-list-preview,.dm-list-when{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-list-when{flex-shrink:0}.dm-thread{display:flex;flex-direction:column;min-height:420px}.dm-log{flex:1;overflow-y:auto;max-height:55vh;padding:4px 2px;display:flex;flex-direction:column;gap:10px}.dm-msg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:72%}.dm-msg.is-mine{align-self:flex-end;align-items:flex-end}.dm-bubble{padding:8px 12px;border-radius:14px;background:var(--hover, rgba(0, 0, 0, .05));font-size:13px;line-height:1.6;overflow-wrap:anywhere}.dm-msg.is-mine .dm-bubble{background:var(--accent-soft, rgba(59, 130, 246, .14))}.dm-bubble.is-deleted{color:var(--text-faint);font-style:italic}.dm-meta{display:flex;align-items:center;gap:8px;font-size:11px}.dm-compose{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.dm-compose textarea{flex:1;resize:vertical}.dm-picker-list{max-height:320px;overflow-y:auto}.dm-filter{margin-bottom:6px}.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border, #dfe3e8)}.filter-chips+.filter-chips{margin-top:-4px;padding-top:0}.filter-chips:not(:last-of-type){border-bottom:none;padding-bottom:4px;margin-bottom:4px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border:1px solid transparent;border-radius:999px;background:var(--surface-alt, #f7f8fa);color:var(--text-muted);font-size:11.5px;line-height:1.7;white-space:nowrap;cursor:pointer;opacity:.55}.filter-chip:hover{opacity:.85}.filter-chip.on{opacity:1;border-color:currentColor;font-weight:600}.filter-chip-count{font-size:10.5px;font-weight:400;opacity:.75}.filter-chip.gray{background:#eceef1;color:#55595f}.filter-chip.red{background:#fbe0e0;color:#a33232}.filter-chip.orange{background:#fdeacf;color:#8f5a12}.filter-chip.yellow{background:#fbf3c8;color:#7a6410}.filter-chip.green{background:#d9f2e4;color:#1f6f4a}.filter-chip.blue{background:#dbe7fb;color:#2b5aa8}.filter-chip.purple{background:#e8dffb;color:#5b3ba8}.filter-chip.pink{background:#fbdfee;color:#a3346f}.column-picker{position:relative;display:inline-flex}.column-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:180px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.column-pop-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:4px;font-size:13px;cursor:pointer}.column-pop-item:hover{background:var(--chip)}.column-pop-item.fixed{color:var(--text-faint);cursor:default}.column-pop-item.fixed:hover{background:none}.column-pop-reset{width:100%;margin-top:2px;padding:6px 10px;border-top:1px solid var(--border);text-align:left}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-Latin-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-Latin-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-Latin-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-JP-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-JP-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-JP-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--app-font-default: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Meiryo", "Segoe UI", Roboto, sans-serif;--bg: #f6f7f8;--surface: #ffffff;--border: #e6e7eb;--border-strong: #d3d5da;--text: #1e1f21;--text-muted: #6b6f76;--text-faint: #9ca0a8;--primary: #4573d2;--primary-hover: #3a63bb;--danger: #cf4141;--done: #2b9c6a;--overdue: #cf4141;--chip: #f1f2f4;--radius: 8px;--radius-sm: 6px;--row-h: 44px;--label-col: 128px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 6px 24px rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--app-font, var(--app-font-default));font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p,dl,dd,figure{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:#f4f5f7}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.danger{color:var(--danger);border-color:#eab8b8}.btn.danger:hover:not(:disabled){background:#fdf3f3}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--chip)}.btn.sm{height:26px;padding:0 8px;font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--chip);color:var(--text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn.danger:hover:not(:disabled){background:#fdf3f3;color:var(--danger)}.link-btn{border:none;background:none;padding:0;color:var(--text-muted);cursor:pointer}.link-btn:hover{color:var(--text);text-decoration:underline}.input,.textarea,.select{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4573d226}.textarea{resize:vertical;min-height:80px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-weight:600;font-size:13px}.field .error{color:var(--danger);font-size:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:12px}.alert.error{background:#fdf3f3;color:var(--danger);border:1px solid #f3d6d6}.alert.info{background:var(--chip);color:var(--text-muted)}.empty{padding:20px;text-align:center;color:var(--text-faint)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:20px;padding:0 6px;margin-top:7px;margin-bottom:7px;border-radius:4px;background:var(--chip);color:var(--text-muted);font-size:12px;font-weight:600}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px;background:var(--chip);font-size:13px}.chip.danger{color:var(--danger);border:1px solid var(--danger);background:transparent;font-size:12px}.chip-dot{width:10px;height:10px;border-radius:3px;background:#b3df70;flex:none}.status-pill{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:var(--chip);font-size:12px;color:var(--text-muted)}.status-pill.done{background:#e4f5ec;color:var(--done)}.status-pill.overdue{background:#fdeaea;color:var(--overdue)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f3c7dd;color:#7a2f55;font-size:12px;font-weight:600;flex:none;text-transform:uppercase}.avatar.lg{width:32px;height:32px}.avatar.short{font-size:10px;letter-spacing:-.02em}:root{--role-chairman-bg: #3d2f6b;--role-chairman-fg: #ffffff;--role-secretary-bg: #4573d2;--role-secretary-fg: #ffffff;--role-president-bg: #d8dcf5;--role-president-fg: #37418c;--role-division-bg: #cfe3d4;--role-division-fg: #1f5132;--role-section-bg: #e2efe5;--role-section-fg: #2f6b45;--role-leader-bg: #fbe3c8;--role-leader-fg: #8a5117;--role-member-bg: #e8eaee;--role-member-fg: #545a63}.avatar.role-chairman{background:var(--role-chairman-bg);color:var(--role-chairman-fg)}.avatar.role-secretary{background:var(--role-secretary-bg);color:var(--role-secretary-fg)}.avatar.role-president{background:var(--role-president-bg);color:var(--role-president-fg)}.avatar.role-division{background:var(--role-division-bg);color:var(--role-division-fg)}.avatar.role-section{background:var(--role-section-bg);color:var(--role-section-fg)}.avatar.role-leader{background:var(--role-leader-bg);color:var(--role-leader-fg)}.avatar.role-member{background:var(--role-member-bg);color:var(--role-member-fg)}.avatar.placeholder{background:transparent;border:1px dashed var(--border-strong);color:var(--text-faint)}.signin-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:var(--text-muted);font-size:12px}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;text-decoration:none}.calendar-status{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--chip)}.calendar-status-label{color:var(--text-faint);font-size:11px;letter-spacing:.02em}.calendar-status-row{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;text-decoration:none}a.calendar-status-row:hover{color:var(--primary)}.calendar-status-row.ok>span[aria-hidden]{color:var(--done)}.calendar-status-row.pending,.calendar-status-row.off{color:var(--text-faint)}.calendar-status-row em{font-style:normal;color:var(--text-faint)}.inline-field{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.inline-field.block{display:flex;flex-direction:column;align-items:stretch;gap:4px}.inline-input{font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 6px;margin:-4px -6px;max-width:100%;outline:none}.inline-input:hover:not(:disabled){border-color:var(--border-strong)}.inline-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px #4573d226}.inline-input[aria-invalid=true]{border-color:var(--danger)}.inline-input::placeholder{color:var(--text-faint)}.inline-input.select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}textarea.inline-input{display:block;width:100%;resize:none;overflow:hidden;line-height:1.6}.inline-readonly{padding:4px 0;white-space:pre-wrap;word-break:break-word}.inline-readonly.empty{color:var(--text-faint)}.save-status{font-size:12px;color:var(--text-faint);white-space:nowrap;flex:none}.save-status.error{color:var(--danger);white-space:normal}.detail-title .inline-input,.inline-input.detail-title{font-size:26px;font-weight:700;letter-spacing:-.3px;width:100%}textarea.inline-input.detail-description{border-color:var(--border);min-height:120px;padding:12px 14px;margin:0}.field-table-row .inline-input{margin:0;padding:3px 6px}.field-table-row .inline-field,.meta-row .inline-field{min-width:0}textarea.inline-input.comment-body{width:100%;margin:0 -6px;min-height:0}.inline-compose{flex:1;min-width:0}.inline-compose .inline-input.compose{width:100%;margin:0;border-color:var(--border-strong);background:var(--surface);padding:8px 10px}.inline-compose-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:20px;margin-top:6px}.inline-compose-foot:empty{display:none}
