/* 用户主动控制看板聚焦；V1/V2 各自加载本版本资源。 */
.kanban-view-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 0 16px 12px; }
/* 筛选、展示范围、统计与任务列共用边线；留白只由外层承担。 */
#team-kanban-content { --kanban-inline-padding: var(--sp-5, 16px); }
#team-kanban-content > .kanban-filter-bar,
#team-kanban-content > .kanban-view-toolbar,
#team-kanban-content > .kanban-kpi-strip,
#team-kanban-content > .kanban-main-row { padding-inline: var(--kanban-inline-padding); }
#team-kanban-content .kanban-board { padding-inline: 0; }
.kanban-view-switch { display: inline-flex; flex-shrink: 0; padding: 3px; gap: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface2); }
.kanban-view-switch button { padding: 6px 12px; border: 0; border-radius: 7px; color: var(--text2); background: transparent; font: inherit; font-size: 12px; cursor: pointer; }
.kanban-view-switch button.active { color: var(--primary); background: var(--surface); box-shadow: 0 1px 4px rgba(0,0,0,.12); font-weight: 600; }
.kanban-view-switch button:disabled { cursor: default; opacity: .55; }
.kanban-view-switch button:focus-visible, .kanban-expand:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.kanban-visibility-summary { flex: 1; min-width: 220px; color: var(--text2); font-size: 12px; line-height: 1.7; }

/* 有限重点 + 随手可读的其余任务，保留与全量浏览由用户决定。 */
.kanban-card-heading { display: flex; align-items: flex-start; gap: 5px; }
.kanban-card-heading .kanban-card-title { flex: 1; min-width: 0; }
.kanban-keep { flex: 0 0 24px; width: 24px; height: 24px; border: 0; border-radius: 5px; padding: 0; background: transparent; color: var(--text2); cursor: pointer; font: inherit; font-size: 19px; line-height: 24px; }
.kanban-keep:hover, .kanban-keep.is-kept { color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, transparent); }
.kanban-card-meta .kanban-focus-reason { color: var(--primary); font-size: 10px; }
.kanban-remainder { border-top: 1px dashed var(--border); padding-top: 10px; margin-top: 10px; }
.kanban-remainder-head { display: flex; flex-direction: column; gap: 4px; margin: 0 3px 7px; color: var(--text2); font-size: 11px; line-height: 1.6; }
.kanban-remainder-head strong { color: var(--text); font-size: 12px; font-weight: 600; }
.kanban-compact-list { display: flex; flex-direction: column; gap: 2px; }
.kanban-compact-list.is-open { max-height: 245px; overflow-y: auto; overscroll-behavior: contain; }
.kanban-compact-item { display: flex; align-items: center; gap: 3px; border-radius: 6px; padding: 2px 3px; }
.kanban-compact-item:hover { background: var(--surface2); }
.kanban-compact-open { flex: 1; min-width: 0; border: 0; padding: 4px 0; background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.kanban-compact-open span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 1.7; }
.kanban-compact-open small { display: block; font-size: 10px; color: var(--text2); line-height: 1.5; }
.kanban-compact-toggle, .kanban-remainder .kanban-expand { width: 100%; margin: 5px 0 0; padding: 7px 4px; border: 0; background: transparent; color: var(--primary); font: inherit; font-size: 11px; cursor: pointer; text-align: left; }
.kanban-remainder .kanban-expand { color: var(--text2); }
.kanban-focus-help { color: var(--text2); font-size: 12px; line-height: 1.8; }
.kanban-focus-help summary { cursor: pointer; }
.kanban-focus-help[open] { flex-basis: 100%; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface2); }
.kanban-focus-help p { margin: 5px 0; }
.kanban-keep:focus-visible, .kanban-compact-open:focus-visible, .kanban-compact-toggle:focus-visible, .kanban-focus-help summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }

.kanban-overflow-jump { display: flex; flex-direction: column; gap: 3px; width: 100%; margin: 0 0 9px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--text2); font: inherit; text-align: left; cursor: pointer; line-height: 1.55; }
.kanban-overflow-jump strong { color: var(--primary); font-size: 11px; font-weight: 500; }
.kanban-overflow-jump span { font-size: 10px; }
.kanban-overflow-jump:hover { background: var(--surface2); }
.kanban-overflow-jump:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }

.kanban-card-heading button.kanban-card-title { border: 0; padding: 0; background: transparent; color: inherit; font-family: inherit; text-align: left; cursor: pointer; }
.kanban-card-heading button.kanban-card-title:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.kanban-card-heading .kanban-card-title { max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }

/* 布置时间浮层：输入作为草稿保留在小面板，应用后才更新看板。 */
.kanban-time-filter { display: inline-flex; flex-shrink: 0; }
.kanban-time-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text); font: inherit; font-size: 12.5px; line-height: 1.4; cursor: pointer; box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / .04)); }
.kanban-time-trigger > svg:first-child { width: 15px; height: 15px; color: var(--text2); }
.kanban-time-trigger > svg:last-child { width: 13px; height: 13px; color: var(--text2); transition: transform .15s ease; }
.kanban-time-trigger[aria-expanded="true"] > svg:last-child { transform: rotate(180deg); }
.kanban-time-trigger:hover, .kanban-time-trigger[aria-expanded="true"] { border-color: color-mix(in srgb, var(--primary) 60%, var(--border)); }
.kanban-time-trigger.is-filtered { color: var(--primary); border-color: color-mix(in srgb, var(--primary) 28%, var(--border)); background: color-mix(in srgb, var(--primary) 5%, var(--surface)); }
.kanban-date-popover { position: fixed; z-index: 220; width: 218px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); overflow: auto; box-sizing: border-box; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 12px 38px rgb(0 0 0 / .14), 0 2px 8px rgb(0 0 0 / .06); }
.kanban-date-popover[hidden], .kanban-date-popover [hidden] { display: none !important; }
.kanban-date-popover.is-custom { width: 356px; }
.kanban-date-menu { padding: 7px; }
.kanban-date-menu-heading { padding: 8px 10px 6px; color: var(--text2); font-size: 11px; }
.kanban-date-menu > button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 35px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--text); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.kanban-date-menu > button:hover { background: var(--surface2); }
.kanban-date-menu > button[aria-pressed="true"] { color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, var(--surface)); }
.kanban-date-menu > button[aria-pressed="true"]::after { content: '✓'; font-size: 13px; }
.kanban-date-menu-divider { height: 1px; margin: 5px 3px; background: var(--border); }
.kanban-date-custom svg { width: 14px; height: 14px; transform: rotate(-90deg); color: var(--text2); }
.kanban-date-form { margin: 0; padding: 0; }
.kanban-date-heading { display: flex; align-items: center; gap: 8px; padding: 16px 16px 0; }
.kanban-date-heading strong { flex: 1; font-size: 14px; font-weight: 600; }
.kanban-date-heading button { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--text2); cursor: pointer; }
.kanban-date-heading button:hover { background: var(--surface2); color: var(--text); }
.kanban-date-back svg { width: 15px; height: 15px; transform: rotate(90deg); }
.kanban-date-close { font-size: 21px; line-height: 1; }
.kanban-date-fields { display: grid; grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr); align-items: end; gap: 8px; padding: 20px 20px 0; }
.kanban-date-fields label { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--text2); font-size: 12px; font-weight: 400; }
.kanban-date-fields input[type="date"] { display: block; box-sizing: border-box; width: 100%; min-width: 0; height: 38px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font-family: inherit; font-size: 12px; letter-spacing: -.2px; }
.kanban-date-fields input[type="date"]:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.kanban-date-separator { align-self: end; padding-bottom: 11px; color: var(--text2); font-size: 11px; }
.kanban-date-hint { margin: 12px 20px 18px; color: var(--text2); font-size: 11px; line-height: 1.6; }
.kanban-date-error { margin: -6px 20px 16px; color: var(--red); font-size: 12px; line-height: 1.5; }
.kanban-date-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface2) 45%, var(--surface)); }
.kanban-date-actions button { min-width: 64px; padding: 7px 15px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text2); font: inherit; font-size: 12px; cursor: pointer; }
.kanban-date-actions .kanban-date-apply { color: #fff; background: var(--primary); border-color: var(--primary); }
.kanban-date-actions button:hover { filter: brightness(.96); }
.kanban-time-trigger:focus-visible, .kanban-date-popover button:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
:root[data-theme="dark"] .kanban-date-fields input[type="date"] { color-scheme: dark; }

.kanban-filter-context.clear-only { padding: 0; border-color: transparent; background: transparent; }
.kanban-filter-context.clear-only button { background: transparent; }
