Fixes calendar settings that could silently fail or silently lose data
- Blank or malformed Calendar URLs are now rejected when you save, with a clear inline message — previously the calendar would save successfully and only fail later, during import
- Calendar Name is now validated too: it's used internally to identify each calendar, so a blank or duplicate name used to silently overwrite another calendar's entire saved configuration with no warning. This is now blocked with an inline error.
- Deleting a calendar now asks for confirmation first
- The "Add Pattern" and "Add Field Section" dialogs (Field Extraction settings) no longer silently do nothing when a required field is empty — errors are shown inline, same as everywhere else
- The Priority field in extraction patterns now rejects non-numeric input with a message instead of silently ignoring it
- Clicking Save with an unresolved error now shows a notice and scrolls you to the problem field, instead of appearing to do nothing
- General visual cleanup across the Calendars/Field Extraction settings: consistent section spacing and corrected heading alignment