.agenda-editor {
  width: min(440px, calc(100% - 24px)); max-width: 100%;
  max-height: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain;
  color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 18px 56px #0f342938; padding: clamp(17px, 4vw, 27px);
}
.agenda-editor::backdrop { background: #19382f73; }
.agenda-editor header { margin: 0 0 18px; }
.agenda-editor h2 { margin-top: 4px; font-size: 1.35rem; line-height: 1.25; }
.editor-fields, .editor-field { display: grid; min-width: 0; margin: 0; padding: 0; border: 0; }
.editor-fields { gap: 12px; }
.editor-field { gap: 4px; font-size: .84rem; font-weight: 600; }
.editor-times { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.editor-field input, .editor-field textarea {
  width: 100%; min-width: 0; min-height: 38px; border: 1px solid #a9bcb3;
  border-radius: 7px; padding: 6px 9px; color: var(--ink); background: white;
  font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.35;
}
.editor-field textarea { resize: vertical; max-height: 35vh; }
.editor-field :is(input,textarea):focus-visible { outline: 2px solid var(--pine); outline-offset: 1px; }
.editor-confirm { overflow-wrap: anywhere; line-height: 1.5; }
.editor-notice { color: var(--muted); font-size: .9rem; margin-top: 12px; }
.editor-notice:empty { margin: 0; }
.editor-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 20px; }
.editor-actions button { min-height: 38px; border: 1px solid var(--line); border-radius: 8px; padding: 5px 12px; background: white; color: var(--pine); font-weight: 600; }
.editor-actions .editor-primary { background: var(--pine); color: white; border-color: var(--pine); }
.editor-actions .editor-danger { margin-right: auto; color: #923a2d; border-color: #d8b9b1; }
.editor-actions .editor-destroy { background: #973b2b; border-color: #973b2b; }
.editor-actions button:disabled { opacity: .6; }
.repeat-editor select { min-height: 38px; min-width: 0; width: 100%; border: 1px solid #a9bcb3; border-radius: 7px; padding: 5px 7px; font: inherit; color: var(--ink); background: white; }
.repeat-editor .repeat-rule { display: grid; gap: 10px; min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
.repeat-editor .repeat-rule legend, .repeat-editor .repeat-weekdays legend { font-size: .83rem; color: var(--muted); font-weight: 600; }
.repeat-editor .repeat-weekdays { min-width: 0; display: flex; gap: 3px 12px; flex-wrap: wrap; border: 0; padding: 2px 0; margin: 0; }
.repeat-editor .repeat-check { display: inline-flex; flex-direction: row-reverse; align-items: center; justify-self:start; gap: 5px; font-size: .84rem; }
.repeat-editor .repeat-hint { font-size: .8rem; color: var(--muted); }
