html:root .task-bulk { padding:12px 14px; margin:10px 0; border:1px solid var(--border); box-shadow:none; }
.task-bulk-top,.task-bulk-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; min-width:0; }
.task-bulk-top { margin-bottom:10px; font-size:.8rem; }
.task-bulk-page { display:flex; align-items:center; gap:7px; margin:0; font-size:.8rem; font-weight:400; }
html:root :is(#task-bulk-page,#task-bulk-head,.task-bulk-row-check) { width:17px; height:17px; min-height:0; flex:0 0 17px; margin:0; padding:0; accent-color:var(--accent); cursor:pointer; }
.task-bulk-title-heading { display:flex; align-items:center; gap:10px; }
html:root #task-bulk-head { vertical-align:middle; }
html:root #task-bulk-clear { padding:3px 6px; min-height:28px; margin-left:auto; font-size:.8rem; }
html:root .task-bulk-controls :is(input,select,button) { min-height:38px; margin:0; font-size:.82rem; }
html:root #task-bulk-action { width:238px; max-width:100%; }
.task-bulk-controls > label { margin:0; }
#task-bulk-date { width:215px; max-width:100%; }
#task-bulk-shift { display:flex; align-items:center; gap:7px; }
#task-bulk-direction { width:123px; }
html:root #task-bulk-days { width:70px; }
#task-bulk-person-field { flex:1 1 260px; max-width:400px; }
html:root #task-bulk-person { padding:0; min-height:38px; margin:0; border:0; }
html:root #task-bulk-person .task-participant-label { display:none; }
html:root #task-bulk-person .task-participant-selection { min-width:0; }
html:root #task-bulk-person .task-person-chip { max-width:100%; }
html:root #task-bulk-person .task-person-chip-name { min-width:0; white-space:normal; }
html:root #task-bulk-person .task-person-chip-name .person-name-text { overflow:hidden; text-overflow:ellipsis; }
html:root #task-bulk-apply { margin-left:auto; white-space:nowrap; }
#task-bulk-hint,#task-bulk-feedback { margin:8px 0 0; font-size:.76rem; line-height:1.45; overflow-wrap:anywhere; }
html:root .task-table .task-title-line { display:flex; align-items:flex-start; gap:8px; }
html:root .task-table .task-bulk-row-check { margin-top:4px; }
html:root .task-bulk-check-target { display:flex; flex:0 0 24px; align-items:flex-start; justify-content:center; min-height:28px; margin:0; cursor:pointer; }
html:root .task-table .task-row-title { flex:1; min-width:0; }
html:root .task-table tr.task-bulk-selected { box-shadow:inset 3px 0 var(--accent); background:color-mix(in srgb,var(--task-row-bg,var(--surface)) 80%,var(--accent) 20%); }
html:root button.task-notification-toggle { display:inline-flex; align-items:center; justify-content:center; padding:5px; width:30px; height:30px; min-height:30px; flex:0 0 30px; border:0; border-radius:7px; box-shadow:none; background:transparent; color:var(--text-secondary); }
html:root button.task-notification-toggle:hover { color:var(--accent); background:var(--theme-soft); }
html:root button.task-notification-toggle[aria-pressed="true"] { color:var(--accent); }
.task-notification-toggle svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
html:root #task-notifications { width:32px; height:32px; min-height:32px; flex-basis:32px; }
#task-notification-tools { display:flex; align-items:center; gap:2px; flex-shrink:0; }
@media(max-width:700px) {
  html:root .task-bulk { padding:10px; }
  .task-bulk-top { gap:6px 10px; }
  .task-bulk-controls { gap:8px; }
  html:root #task-bulk-action,.task-bulk-controls > label:not(.sr-only),#task-bulk-date,#task-bulk-person-field { width:100%; max-width:none; flex-basis:100%; min-width:0; }
  html:root .task-bulk-controls :is(input,select,button),html:root #task-bulk-clear { min-height:44px; }
  html:root #task-bulk-apply { width:100%; }
  html:root .task-bulk-page { min-height:44px; }
  html:root button.task-notification-toggle { width:44px; height:44px; min-height:44px; flex-basis:44px; }
  html:root .task-table .task-bulk-row-check { margin:13px 5px 0 0; }
  html:root .task-bulk-check-target { min-height:44px; flex-basis:30px; }
  html:root .task-table .task-title-line { align-items:flex-start; }
  html:root #task-notifications { width:44px; height:44px; min-height:44px; flex-basis:44px; }
}
@media(pointer:coarse) { html:root :is(.task-bulk-row-check,#task-bulk-page,#task-bulk-head) { outline:12px solid transparent; outline-offset:0; } }
