  /* ===== Edytor — pola formularza ===== */
  .ed-row { margin-bottom: 12px; }
  .ed-row-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
  }
  .ed-row-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
  }
  .ed-label {
    display: block;
    font-size: 12px;
    color: var(--ink-faded);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    margin-bottom: 5px;
  }
  .ed-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font-family: 'Inter Tight', sans-serif;
    font-size: 15px;
    background: var(--paper);
    color: var(--ink);
    -webkit-appearance: none;
    appearance: none;
    min-height: 40px;
    box-sizing: border-box;
  }
  select.ed-input {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    padding-right: 32px;
  }
  .ed-input:focus { outline: none; border-color: var(--accent); }
  textarea.ed-input { line-height: 1.45; }
  .btn-add-sec { background:transparent; border:1px solid var(--line); color:var(--ink-soft); font-size:14px; padding:6px 14px; border-radius:8px; font-family:inherit; font-weight:600; cursor:pointer; transition:all 0.15s; }
  .btn-add-sec:hover { border-color:var(--accent); color:var(--accent); }
  /* Sekcje formularza zdarzenia */
  #ev-form { display: flex; flex-direction: column; margin-bottom: 4px; }
  ._dp-day {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    color: var(--ink);
  }
  ._dp-day:hover { background: var(--paper-dark, #f0ede8); }
  ._dp-sel { background: var(--accent, #3b82f6) !important; color: #fff !important; font-weight: 700; }
  ._dp-tod { border: 2px solid var(--accent, #3b82f6); color: var(--accent, #3b82f6); font-weight: 600; }
  ._dp-foot-btn { transition: background .15s, color .15s, border-color .15s; }
  ._dp-foot-btn:hover:not(:disabled) { background: var(--paper-dark) !important; color: var(--ink) !important; border-color: var(--accent) !important; }

  /* Switch (Aktywny) */
  .switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 26px;
    flex-shrink: 0;
  }
  .switch input { opacity: 0; width: 0; height: 0; }
  .switch .slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--line);
    border-radius: 13px;
    transition: 0.2s;
  }
  .switch .slider::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 3px;
    top: 3px;
    background: var(--paper);
    border-radius: 50%;
    transition: 0.2s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
  }
  .switch input:checked + .slider { background: var(--green); }
  .switch input:checked + .slider::before { transform: translateX(20px); }

  .ed-section-head {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    margin: 16px 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line-soft);
  }
  .ed-rule-empty {
    font-size: 13px;
    color: var(--ink-faded);
    font-style: italic;
    padding: 8px 0;
  }
  .ed-rule-card {
    background: var(--paper-dark);
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 8px;
  }
  .ed-rule-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
  }
  .ed-rule-row:last-child { margin-bottom: 0; }
  .ed-rule-label {
    font-size: 12px;
    color: var(--ink-faded);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    min-width: 80px;
    flex-shrink: 0;
  }
  .ed-rule-input { flex: 1; }
  .ed-rule-remove { font-size:17px; line-height:1; background:color-mix(in srgb,var(--ink) 6%,var(--paper)); border:1px solid var(--line-soft); border-radius:50%; cursor:pointer; color:var(--ink-faded); width:28px; height:28px; display:flex; align-items:center; justify-content:center; padding:0; transition:background .15s,color .15s,border-color .15s; flex-shrink:0; }
  .ed-rule-remove:hover { background:color-mix(in srgb,var(--accent) 12%,var(--paper)); color:var(--accent); border-color:var(--accent); }
  .ed-rule-preview {
    font-size: 13px;
    color: var(--gold);
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--line-soft);
    font-style: italic;
  }
  .ed-rule-warn { font-size: 13px; color: var(--accent); }
  .ed-rule-warn-msg {
    font-size: 12px;
    color: var(--gold);
    margin-top: 6px;
    padding: 6px 8px;
    background: rgba(184, 137, 58, 0.08);
    border-radius: 4px;
    line-height: 1.4;
  }
  .ed-cat-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 6px;
  }
  .ed-cat-header:first-child { margin-top: 0; }
  .ed-cat-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink-faded);
    background: var(--line-soft);
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
  }
  .ed-rule-or-sep {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0;
    font-size: 13px;
    font-style: italic;
    color: var(--ink-faded);
  }
  .ed-rule-or-sep::before,
  .ed-rule-or-sep::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--line-soft);
  }
  .ed-rule-or-sep span { color: var(--gold); font-weight: 600; font-style: normal; }
  .ed-rule-and-sep {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--ink-faded);
  }
  .ed-rule-and-sep::before,
  .ed-rule-and-sep::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--line);
  }
  .ed-rule-and-sep span { color: var(--ink); }
  .btn-add-rule {
    width: 100%;
    background: transparent;
    border: 1px dashed var(--line);
    color: var(--ink-soft);
    padding: 8px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 12px;
  }
  .btn-add-rule:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .btn-add-rule:not(:disabled):hover { border-color: var(--accent); color: var(--accent); }

  .pet-manager-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    margin-bottom: 8px;
    background: var(--paper-dark);
    border: 1px solid var(--line-soft);
  }
  .pet-manager-row--active {
    border-color: var(--accent);
    background: rgba(184,66,58,0.04);
  }
  .pet-manager-icon { font-size: 24px; flex-shrink: 0; }
  .pet-manager-body { flex: 1; min-width: 0; }
  .pet-manager-name { font-size: 15px; font-weight: 600; color: var(--ink); }
  .pet-manager-sub { font-size: 13px; color: var(--ink-faded); margin-top: 1px; }
  .pet-manager-actions { display: flex; gap: 4px; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }

  .ed-add-rules {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-bottom: 12px;
  }
  .ed-add-rules .btn-add-rule {
    margin-bottom: 0;
    font-size: 11px;
    padding: 8px 4px;
    line-height: 1.2;
  }
  @media (max-width: 380px) {
    .ed-add-rules { grid-template-columns: 1fr; }
    .ed-add-rules .btn-add-rule { font-size: 13px; padding: 8px; }
  }

  /* Lista informacji w dialogu usuwania */
  .del-warn .del-list {
    margin: 8px 0 0 18px;
    padding: 0;
    font-size: 13px;
    line-height: 1.6;
  }
  .del-warn .del-list li { margin-bottom: 4px; }
  .del-clean {
    color: var(--green);
    font-size: 14px;
    margin-bottom: 14px;
    font-weight: 500;
  }

  .meal-block {
    background: var(--paper-dark);
    border-radius: 10px;
    padding: 11px 13px;
    margin-bottom: 8px;
  }
  .meal-block-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .meal-block-row {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .meal-day-lbl {
    font-size: 11px;
    color: var(--ink-faded);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    min-width: 36px;
  }
  .time-pick-btn {
    font-size: 17px;
    font-weight: 500;
    font-family: 'Inter Tight', sans-serif;
    padding: 11px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    min-width: 88px;
    min-height: 46px;
    text-align: center;
    transition: border-color .15s;
  }
  .time-pick-btn:hover { border-color: var(--accent); }
  .time-pick-btn.ev-time-btn { width: 100%; }
  input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; cursor: pointer; }
  input[type="time"].time-pick-btn { -webkit-appearance: none; appearance: none; }
  input[type="time"].time-pick-btn::-webkit-calendar-picker-indicator { display: none; }
  input[type="time"].time-pick-btn::-webkit-date-and-time-value { text-align: center; }
