.task-kind { font-weight: 600; }
[hidden] { display: none !important; }
.app-shell .task-filters { display:grid; grid-template-columns:minmax(170px,1.4fr) minmax(0,5fr) auto; align-items:end; gap:12px; }
.task-filter-panel { min-width:0; }
.task-filter-panel>summary { display:none; }
.task-filter-fields { display:grid; grid-template-columns:1.3fr 1.1fr 1fr 1fr .9fr; gap:8px; }
.app-shell .task-filter-fields input,.app-shell .task-filter-fields select { min-width:0; width:100%; padding-left:8px; padding-right:8px; font-size:12px; }
.task-filter-fields>label { margin:0; }
.feed-mode { display:flex; gap:20px; padding:8px 0; font-size:12px; margin-bottom:8px; }
.feed-mode .active { font-weight:600; color:var(--primary); text-decoration:underline; text-underline-offset:6px; }
.task-detail-grid .task-settings .stack-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.task-detail-grid .task-settings .stack-form>label:has([name=assignee_id]),.task-detail-grid .task-settings .stack-form>details,.task-detail-grid .task-settings .stack-form>fieldset,.task-detail-grid .task-settings .stack-form>button,.task-detail-grid .task-settings .form-message { grid-column:1 / -1; }
.task-plan summary { font-size:12px; cursor:pointer; }
.checklist-card>summary { margin-bottom:8px; }
@media (max-width:1100px) and (min-width:761px) {
 .app-shell .task-filters { grid-template-columns:minmax(0,1fr) auto; }
 .app-shell .task-filters .task-search { grid-column:1 / -1; }
}
@media (max-width:760px) {
 .compare-filters .inline-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .compare-filters .inline-form input,.compare-filters .inline-form select { min-width:0; }
 .compare-filters .inline-form button { grid-column:1 / -1; justify-self:end; }
 .app-shell .task-filters { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .app-shell .task-filters .task-search { grid-column:1 / -1; }
 .task-filter-panel>summary { display:list-item; cursor:pointer; font-size:12px; color:var(--primary); padding:10px 0; }
 .task-filter-panel[open] { grid-column:1 / -1; }
 .task-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .app-shell .task-filter-fields .task-project-filter { grid-column:1 / -1; }
 .app-shell .task-filters>.button { grid-column:2; min-height:36px; padding:8px 16px; width:auto; }
 .app-shell .task-filters .task-series-filter { margin:0; }
}
.app-shell .task-table td { padding: 6px 10px; font-size: 12px; }
.app-shell .task-table .task-title { grid-template-columns: 76px minmax(0,1fr); gap: 10px; font-size: 13px; line-height: 19px; }
.task-copy>span,.task-copy .table-sub { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.app-shell .task-table .task-created { font-size:10px; line-height:15px; }
.app-shell .task-table .task-id { font-size:11px; line-height:18px; }
.app-shell .task-table .task-copy .table-sub { margin:0; font-size:10px; line-height:16px; }
.task-table { table-layout:fixed; }
.task-table th:first-child { width:47%; }
.task-table th:nth-child(2) { width:18%; }
.task-table th:nth-child(3) { width:22%; }
.task-table .task-people { display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
.task-table .person-line { gap:5px; }
.task-table .person-line strong { font-size:11px; }
.task-table .person-line .avatar { width:23px; height:23px; font-size:9px; }
.task-table .person-inline { min-width:0; gap:5px; }
.task-table .person-inline>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:125px; }
.task-table .person-inline .avatar { width:24px; height:24px; flex-shrink:0; }
.task-table .task-participant-avatars>small { display:none; }
.task-table .task-participant-avatars { gap:2px; }
.task-table .badge { font-size:10px; padding:3px 6px; white-space:normal; }
.task-table .overdue-label { font-size:9px; line-height:12px; margin:0; }
.task-presets { display:flex; gap:20px; margin:0 0 12px; font-size:12px; flex-wrap:wrap; }
.task-presets details { position:relative; }
.task-presets summary { margin:0; line-height:20px; }
.preset-menu { position:absolute; z-index:5; background:white; box-shadow:0 8px 24px #0002; padding:16px; width:min(360px,80vw); border:1px solid var(--line); border-radius:10px; }
.preset-menu .inline-form { margin:8px 0; }
.inline-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.inline-form input { flex:1; min-width:100px; width:auto; margin:0; }
.inline-form label { min-width:0; }
.inline-form button { flex-shrink:0; }
.task-presets summary,.filter-more summary,details.card>summary { cursor:pointer; font-weight:600; }
.filter-more { grid-column:1 / -2; font-size:12px; }
.filter-more[open] label { max-width:280px; }
.task-detail-grid { grid-template-columns:minmax(0,1fr) 340px; gap:16px; }
.task-detail-grid .card { padding:16px; margin-bottom:14px; }
.task-detail-grid h2 { font-size:14px; margin-bottom:10px; }
.task-detail-grid .stack-form { gap:10px; }
.task-detail-grid .task-settings label { font-size:11px; }
.task-detail-grid .task-settings input,.task-detail-grid .task-settings select { min-height:34px; padding:6px 8px; font-size:12px; margin-top:4px; }
.task-detail-grid .task-settings .participants-field { padding:7px; }
.task-heading { font-size:24px; line-height:1.3; }
.task-heading-meta { gap:10px; }
.task-author { margin:6px 0 0; font-size:11px; }
.task-history .activity-row { padding:9px 0; display:block; }
.task-history .activity-row>.avatar { float:left; margin-right:9px; }
.task-history .activity-row>strong { font-size:12px; }
.task-history .activity-row>small { display:block; }
.history-change { margin:3px 0 0 37px; font-size:12px; overflow-wrap:anywhere; }
.task-history pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; }
.checklist-row { display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); min-height:34px; font-size:13px; }
.checklist-row>span { flex:1; overflow-wrap:anywhere; }
.checklist-row.is-done>span { text-decoration:line-through; color:var(--muted); }
.checklist-row .icon-button { width:28px; height:28px; font-size:20px; }
.checklist-add { margin-top:10px; }
.checklist-edit { position:relative; }
.checklist-edit summary { cursor:pointer; padding:8px; }
.checklist-edit>summary { margin:0; padding:3px 8px; line-height:24px; list-style:none; }
.task-detail-grid details.card>summary { margin:0; font-size:12px; }
.task-detail-grid details.card[open]>summary { margin-bottom:8px; }
.task-detail-grid details.card:not([open]) { padding:10px 14px; }
.task-children .section-heading { margin:0; justify-content:flex-end; }
.task-children .mini-task { padding:8px 0; align-items:center; }
.task-children .mini-task>strong { flex:1; }
.task-settings .task-children{grid-column:1/-1;min-width:0;margin:0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.task-settings .task-children>summary{font-size:13px;margin:0}
.task-settings .task-children[open]>summary{margin-bottom:8px}
.task-settings .task-children .section-heading{margin:0}
.task-settings .task-children .mini-task{gap:6px;flex-wrap:wrap}
.task-settings .task-children .mini-task>strong{min-width:0;overflow-wrap:anywhere;font-size:13px}
.task-settings .task-children .mini-task .badge{font-size:10px}
.task-settings .task-children .quiet-empty{margin:4px 0;padding:4px 0;font-size:12px}
.task-parent-reference{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0;margin:8px 0;font-size:12px;line-height:18px}
.task-parent-reference>a{color:var(--primary);overflow-wrap:anywhere;min-width:0}
.subtask-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:5px;padding:2px 6px;background:#e8f2fa;color:#17628a;font-size:11px;font-weight:600}
.task-table .task-parent-reference{margin:6px 0 0;padding-left:8px;border-left:2px solid #b8d6e9}
.task-heading-meta+.task-parent-reference{margin:8px 0}
.subtask-inheritance{font-size:12px;color:var(--muted)}
.subtask-inheritance>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.participant-chip.is-inherited{display:inline-flex;align-items:center;min-height:40px;padding:0 6px;border-radius:8px;background:#f0f5f8}
.participant-inheritance-note{display:block;margin:4px 0;color:var(--muted);font-size:11px}
.kanban-task-link{display:block}
.app-shell .task-filter-fields input,.app-shell .task-filter-fields select { height:44px; margin:7px 0 0; }
.compare-filters .inline-form { align-items:end; }
.app-shell .compare-filters .inline-form input,.app-shell .compare-filters .inline-form select { height:44px; min-height:44px; margin:6px 0 0; }
.checklist-edit form { position:absolute; right:0; width:min(300px,70vw); z-index:3; background:white; border:1px solid var(--line); padding:12px; box-shadow:0 6px 20px #0002; }
.notification-link { display:flex; align-items:center; gap:6px; font-size:12px; white-space:nowrap; }
.browser-notifications { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; margin-bottom:12px; border-bottom:1px solid var(--line); }
.browser-notifications strong { font-size:13px; }
.browser-notifications small { display:block; margin-top:3px; font-size:12px; color:var(--muted); }
.browser-notification-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
@media(max-width:600px) { .browser-notifications { align-items:flex-start; flex-direction:column; } }
.notification-link b { background:var(--primary); color:white; padding:1px 5px; border-radius:20px; font-size:10px; }
.notification-row { display:flex; align-items:center; gap:12px; padding:10px; border-bottom:1px solid var(--line); }
.notification-row.is-unread { background:#eef8fc; }
.notification-open { flex:1; min-width:0; }
.notification-open button { display:block; text-align:left; font-size:13px; width:100%; }
.notification-open small { display:block; font-size:11px; font-weight:400; color:var(--muted); }
.app-shell details.composer { padding:14px 18px; }
.composer>summary { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; font-weight:600; color:var(--primary); }
.composer[open]>summary { margin-bottom:16px; }
.post-type-choice { display:flex; align-items:center; gap:8px; max-width:260px; margin-top:8px; }
.post-type-choice select { margin:0; }
.app-shell .feed .post-card { padding:16px 18px; margin-bottom:12px; }
.post-body.is-collapsed { display:-webkit-box; -webkit-line-clamp:12; -webkit-box-orient:vertical; overflow:hidden; }
.post-body[data-post-preview=pinned].is-collapsed { -webkit-line-clamp:4; }
.app-shell .post-body { font-size:15.5px; line-height:1.5; color:#343b40; }
.app-shell .feed .post-body { font-size:15.5px; line-height:1.5; margin:12px 0; }
.dashboard-page .mini-task { padding:9px 0; }
.dashboard-page .mini-task strong,.dashboard-page .mini-task small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-page .absence-row { padding:6px 0; }
.post-head { gap:9px; }
.post-head>div { flex:1; min-width:0; }
.post-head strong { font-size:12px; }
.post-type { border-radius:4px; background:#eef3f5; color:#52616d; padding:3px 7px; font-size:10px; white-space:nowrap; }
.post-type-important { background:#fff3cc; color:#776100; }
.post-type-question { background:#e7f4fb; color:#00658a; }
.post-type-materials { background:#eff8e7; color:#41651f; }
.post-management>details { padding:8px 0; border-bottom:1px solid var(--line); }
.post-management summary { cursor:pointer; font-size:13px; }
.post-management form { margin-top:12px; }
.feed .attachments { display:flex; gap:8px; flex-wrap:wrap; }
.app-shell .feed .attachments .attached-image,.app-shell .feed .attachments video { width:120px; height:80px; min-height:0; overflow:hidden; border-radius:6px; }
.app-shell .feed .attachments img { width:100%; height:100%; object-fit:cover; }
.feed .file-link { padding:8px; font-size:11px; }
.app-shell .feed .link-preview { margin:8px 0; padding:10px; }
.post-expand { margin-bottom:8px; font-size:12px; }
.pinned-strip { display:grid; gap:5px; margin:0 0 12px; }
.pinned-strip a { display:flex; align-items:center; gap:8px; padding:8px 10px; border-left:3px solid #d2b500; background:#fffbed; font-size:12px; min-width:0; }
.pinned-strip svg { flex-shrink:0; }
.pinned-strip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pin-options { margin-top:12px; font-size:12px; }
.leave-decision { padding:12px 0; border-bottom:1px solid var(--line); }
.leave-decision .leave-row { padding:0 0 8px; border:0; font-size:12px; }
.leave-decision .inline-form { margin-top:8px; }
.leave-decision .inline-form input { font-size:12px; }
.leave-conflicts { font-size:12px; margin:8px 0; }
.leave-conflicts a,[data-leave-conflicts] a { display:block; margin:4px 0; overflow-wrap:anywhere; }
.calendar-controls { flex-wrap:wrap; }
.calendar-controls input { width:155px; min-height:32px; font-size:12px; }
.leave-tabs { margin-bottom:16px; }
.activity-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:12px 0; font-size:12px; }
.activity-tools .inline-form { flex:1; }
.activity-tools input { font-size:12px; }
.compare-filters>details { margin-bottom:12px; }
.compare-people { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:6px; max-height:210px; overflow:auto; padding:12px 0; }
.compare-people label { display:flex; align-items:center; gap:8px; font-size:12px; }
.compare-people input { width:auto; }
.compare-filters .inline-form label { font-size:12px; flex:1; }
.compare-filters .inline-form input,.compare-filters .inline-form select { width:100%; font-size:12px; min-width:80px; }
.compare-person { margin-bottom:12px; }
.compare-person h2 { display:flex; align-items:center; gap:8px; }
.compare-chart { overflow-x:auto; padding:8px 12px; }
.compare-month { display:flex; align-items:center; gap:12px; min-width:640px; margin-bottom:8px; }
.compare-month>strong { width:85px; flex-shrink:0; font-size:11px; }
.compare-days { display:grid; grid-template-columns:repeat(31,minmax(14px,1fr)); flex:1; gap:2px; }
.compare-day { display:block; min-width:0; text-align:center; border-bottom:2px solid transparent; border-radius:2px; }
.compare-day:hover,.compare-day:focus-visible { background:#e7f4fb; border-color:var(--primary); }
.compare-day svg { width:100%; height:48px; display:block; }
.compare-day small { font-size:9px; color:var(--muted); }
.compare-day.is-unknown { background:repeating-linear-gradient(135deg,#f5f7f8,#f5f7f8 3px,#e8edf0 3px,#e8edf0 4px); }
.compare-day.is-future { opacity:.35; }
.app-shell .leave-row { padding:10px 0; font-size:12px; }
@media (max-width:900px) {
 .notification-link>span,.top-date { display:none; }
 .task-detail-grid .task-settings .stack-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .task-detail-grid .task-settings .stack-form>.form-grid,.task-detail-grid .task-settings .stack-form>label:has([name=next_step]) { grid-column:1 / -1; }
}
@media (max-width:760px) {
 .dashboard-page .my-tasks .mini-task:nth-of-type(n+4),.dashboard-page .team-absences .absence-row:nth-of-type(n+5),.dashboard-page .quick-card { display:none; }
 .app-shell[data-page="/tasks"] .page-heading { margin-bottom:10px; }
 .app-shell[data-page="/tasks"] .tabs { margin-bottom:14px; }
 .app-shell .tasks-card { padding:16px; }
 .task-list-toolbar { padding:9px 0; font-size:11px; }
 .task-list-toolbar>div { gap:9px; }
 .app-shell .task-filters { padding-bottom:12px; }
 .app-shell .task-table tr { grid-template-columns:minmax(0,1fr) auto; gap:6px 8px; padding:10px 0; }
 .app-shell .task-table td { padding:0; font-size:11px; }
 .app-shell .task-table td[data-label]::before { display:none; }
 .app-shell .task-table .task-cell-title { grid-column:1 / -1; }
 .app-shell .task-table .task-title { grid-template-columns:68px minmax(0,1fr); font-size:13px; }
 .app-shell .task-table .task-cell-date { grid-column:2; grid-row:2; text-align:right; display:flex; align-items:center; gap:4px; }
 .app-shell .task-table .task-cell-person { grid-column:1 / -1; grid-row:3; }
 .task-table .task-people { flex-wrap:nowrap; overflow:hidden; }
 .task-table .task-participant-avatars { flex-wrap:nowrap; }
 .task-table .task-participant-avatars .avatar.small { width:18px; height:18px; font-size:8px; }
 .task-table .person-line .avatar { width:20px; height:20px; }
 .app-shell .task-table .overdue-label { display:inline; }
 .task-copy .table-sub { max-width:100%; }
 .task-detail-grid { display:flex; }
 .task-heading { font-size:21px; }
 .app-shell .post-head .avatar { width:32px; height:32px; }
 .post-type { font-size:9px; padding:2px 4px; }
 .post-head small { font-size:10px; }
 .post-actions { flex-wrap:wrap; gap:10px; }
 .post-actions .text-button { font-size:11px; }
 .notification-row { padding:9px 4px; gap:8px; }
 .notification-open button { font-size:12px; }
 .leave-decision .inline-form input { flex-basis:100%; }
}
