.clinic-todos-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.clinic-todos-view-switch { display:flex; justify-content:flex-end; gap:4px; }
.clinic-todos-page .clinic-todos-view-option { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #e2e8f0; border-radius:10px; background:white; color:#64748b; text-decoration:none; font-size:13px; }
.clinic-todos-page .clinic-todos-view-option--active { background:#eff6ff; border-color:#93c5fd; color:var(--jo-blue-dark); }
.clinic-todos-kanban { display:grid; grid-template-columns:repeat(var(--stage-count,3),minmax(260px,1fr)); gap:16px; overflow-x:auto; align-items:start; padding-bottom:12px; }
.clinic-todos-kanban-column { --column-color:#64748b; background:#f5f7fa; border:1px solid #e2e8f0; border-radius:14px; padding:14px; min-height:240px; }
.clinic-todos-kanban-column--doing { --column-color:#0284c7; }
.clinic-todos-kanban-column--done { --column-color:#059669; }
.clinic-todos-kanban-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; }
.clinic-todos-kanban-heading h2 { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; margin:0; color:#334155; }
.clinic-todos-kanban-heading h2 span { width:8px; height:8px; border-radius:50%; background:var(--column-color); }
.clinic-todos-kanban-heading { flex-wrap:wrap; }
.clinic-todos-kanban-counts { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.clinic-todos-kanban-total,.clinic-todos-kanban-overdue { padding:3px 8px; border-radius:6px; font-size:11px; color:#64748b; }
.clinic-todos-kanban-total { background:white; }
.clinic-todos-kanban-overdue--alert { background:#fff1f2; color:#be123c; font-weight:600; }
.clinic-todos-kanban-cards { display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none; }
.clinic-todos-kanban-cards > li { display:grid; grid-template-columns:24px 24px minmax(0,1fr); gap:10px; margin:0; padding:16px; background:white; border:1px solid #e2e8f0; border-radius:10px; box-shadow:var(--jo-shadow-card); }
.clinic-todos-kanban-cards > li > div.min-w-0 { grid-row:1; grid-column:1/-1; }
.clinic-todos-kanban-cards > li > div.min-w-0 p:first-child { overflow-wrap:anywhere; font-weight:500; }
.clinic-todos-kanban-cards > li > div:last-child:not(.min-w-0) { grid-column:3; justify-self:end; opacity:1; }
.clinic-todos-kanban-cards > li > form { grid-row:2; }
.clinic-todos-kanban-cards > li > form button { min-height:30px; min-width:24px; }
.clinic-todos-kanban-empty { margin:0; padding:22px 6px; text-align:center; font-size:12px; color:#64748b; }
.clinic-todos-page :is(a,button):focus-visible { outline:2px solid var(--jo-blue); outline-offset:3px; }
@media(max-width:640px) { .clinic-todos-kanban { grid-template-columns:repeat(var(--stage-count,3),minmax(280px,85vw)); scroll-snap-type:x proximity; } .clinic-todos-kanban-column { scroll-snap-align:start; } }

.clinic-todo-stage-form { display:flex; flex-wrap:wrap; align-items:center; gap:6px; max-width:220px; }
.clinic-todo-stage-select { min-width:0; max-width:150px; border:1px solid #cbd5e1; border-radius:6px; padding:5px; font-size:12px; background:white; }
.clinic-todo-stage-submit { font-size:11px; color:var(--jo-blue-dark); cursor:pointer; padding:5px; }
.clinic-todos-kanban-cards > li > .clinic-todo-stage-form { grid-column:1/-1; grid-row:3; max-width:none; }
.clinic-todos-stage-settings { display:flex; flex-direction:column; gap:12px; }
.clinic-todos-stage-setting { display:flex; flex-wrap:wrap; align-items:center; gap:16px; border:1px solid #e2e8f0; background:white; border-radius:12px; padding:16px; }
.clinic-todos-stage-setting > form:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex:1; }
.clinic-todos-stage-setting input[type=text] { width:200px; max-width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:8px; }
@media(max-width:640px) {
  #clinic-todos > ul > li { flex-wrap:wrap; }
  #clinic-todos > ul > li > div.min-w-0 { flex-basis:calc(100% - 76px); }
}
.clinic-todos-kanban [data-kanban-card] { cursor:grab; }
.clinic-todos-kanban [data-kanban-card] :is(a,button,select,input) { cursor:pointer; }
.clinic-todos-kanban-card--dragging { opacity:.45; }
.clinic-todos-kanban--dragging { cursor:grabbing; }
.clinic-todos-kanban-column--drop { outline:2px dashed var(--jo-blue); outline-offset:-3px; background:#edf5ff; }
.clinic-todos-kanban[aria-busy=true] { opacity:.7; }

.clinic-todo-stage-form[hidden] { display:none; }
.clinic-todos-kanban [data-kanban-card] > form[hidden] { display:none; }
.clinic-todos-kanban [data-edit-url]:hover { border-color:#93c5fd; }
.clinic-todos-kanban [data-edit-url]:focus-visible { outline:2px solid var(--jo-blue); outline-offset:2px; }
