.campaign-responsibilities { box-sizing: border-box; width: min(880px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--fk-color-surface-elevated); color: var(--text); overflow: auto; }
.campaign-responsibilities::backdrop { background: rgb(0 0 0 / 45%); }
.canvas-toolbar #campaign-responsibilities-btn { box-sizing: border-box; min-width: 44px; min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.canvas-toolbar #campaign-responsibilities-btn[hidden] { display: none; }
.canvas-toolbar:has(#campaign-responsibilities-btn:not([hidden])) .toolbar-group-left { flex-wrap: wrap; }
.campaign-responsibilities *, .campaign-responsibilities *::before { box-sizing: border-box; min-width: 0; }
.campaign-responsibilities h2, .campaign-responsibilities h3, .campaign-responsibilities p { margin: 0 0 12px; overflow-wrap: anywhere; }
.responsibility-header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.responsibility-help, .responsibility-type, .responsibility-status { color: var(--muted); font-size: 12px; }
.responsibility-actions, .responsibility-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.responsibility-picker { display: block; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--fk-color-surface-secondary); }
.responsibility-picker[hidden] { display: none; }
.responsibility-picker .fk-btn { margin: 4px; }
.responsibility-people { display: flex; flex-wrap: wrap; gap: 6px; }
.responsibility-people .fk-btn { display: flex; flex-direction: column; align-items: start; }
.responsibility-people [aria-pressed="true"] { outline: 2px solid var(--primary); outline-offset: 2px; }
.responsibility-picker label { display: flex; flex-direction: column; gap: 8px; }
.responsibility-picker input { width: 100%; padding: 10px; background: var(--fk-color-surface-elevated); color: var(--text); border: 1px solid var(--border); border-radius: 8px; font: inherit; }
.responsibility-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .55fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); }
.responsibility-title { display: flex; flex-direction: column; gap: 3px; overflow-wrap: anywhere; }
.responsibility-person { display: flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.responsibility-avatar { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--border); font-size: 11px; background: var(--fk-color-surface-secondary); overflow: hidden; }
.responsibility-avatar img { width: 100%; height: 100%; object-fit: cover; }
.responsibility-variation { margin: 12px 0; padding: 12px; border: 1px solid var(--border); border-radius: 12px; }
.responsibility-children { padding-left: 14px; }
.responsibility-live { min-height: 20px; font-weight: 600; }
.campaign-responsibilities :focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.campaign-responsibilities button.fk-btn { min-width: 44px; min-height: 44px; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
@media (max-width: 600px) { .campaign-responsibilities { padding: 12px; } .responsibility-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; } .responsibility-row > .responsibility-person { grid-column: 1; grid-row: 2; } .responsibility-row > button { grid-column: 2; grid-row: 1 / 3; } .responsibility-children { padding-left: 6px; } .responsibility-variation { padding: 8px; } }
@media (forced-colors: active) { .campaign-responsibilities, .responsibility-picker, .responsibility-variation, .responsibility-avatar { border-color: CanvasText; } .campaign-responsibilities :focus-visible, .responsibility-people [aria-pressed="true"] { outline-color: Highlight; } }
@media (prefers-reduced-motion: reduce) { .campaign-responsibilities, .campaign-responsibilities * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
