.chronicle { --chronicle-accent: var(--auth, #7ab800); max-width: 1180px; margin: 0 auto 64px; padding: 4px 12px 24px; }
.chronicle [hidden] { display: none !important; }
.chronicle h1 { font-size: 1.8rem; font-weight: 600; line-height: 1.4; margin: 12px 0; overflow-wrap: anywhere; }
.chronicle p { margin-bottom: 12px; }
.chronicle a { color: var(--chronicle-accent); }
.chronicle a:hover { text-decoration: underline; }
.chronicle .chronicle-muted, .chronicle .chronicle-help { color: #68717b; }
.chronicle .chronicle-help { font-size: .875rem; margin-top: 6px; }
.chronicle-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.chronicle-heading > .btn { flex-shrink: 0; }
.chronicle .chronicle-primary { background: var(--chronicle-accent); border: 1px solid var(--chronicle-accent); color: #fff; border-radius: 6px; padding: 9px 18px; }
.chronicle .chronicle-primary:hover { background: #639600; color: #fff; text-decoration: none; }
.chronicle a:focus-visible, .chronicle summary:focus-visible, .chronicle button:focus-visible { outline: 3px solid var(--auth, #7ab800); outline-offset: 3px; }
.chronicle-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 20px; background: #fff; border: 1px solid #e1e5e9; border-radius: 6px; }
.chronicle-filter { flex: 1 1 130px; min-width: 0; }
.chronicle-search { flex: 2 1 240px; }
.chronicle-filter label { display: block; font-size: .875rem; margin-bottom: 6px; }
.chronicle-filter-actions { display: flex; gap: 8px; }
.chronicle-count { color: #68717b; margin: 22px 0; font-size: .875rem; }
.chronicle-list { position: relative; }
.chronicle-list::before { content: ''; position: absolute; left: 166px; top: 34px; bottom: 0; width: 2px; background: #dfebc7; }
.chronicle-year { position: relative; font-size: 1.8rem; color: var(--chronicle-accent); font-weight: 600; margin: 30px 0 18px; }
.chronicle-year span { font-size: .9rem; margin-left: 5px; color: #68717b; }
.chronicle-row { display: grid; grid-template-columns: 145px minmax(0, 1fr); column-gap: 44px; margin-bottom: 15px; position: relative; align-items: start; }
.chronicle-date { font-size: .875rem; padding-top: 19px; text-align: right; color: #606874; font-variant-numeric: tabular-nums; }
.chronicle-date small { display: block; font-size: .75rem; color: #838a92; }
.chronicle-card { background: #fff; border: 1px solid #e1e5e9; border-radius: 6px; min-width: 0; }
.chronicle-card summary { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 17px 20px; list-style: none; cursor: pointer; }
.chronicle-card summary::-webkit-details-marker { display: none; }
.chronicle-card summary:hover { background: #f7faef; border-radius: 6px; }
.chronicle-summary { overflow-wrap: anywhere; }
.chronicle-summary .chronicle-event-link { color: var(--chronicle-accent); font-weight: 600; }
.chronicle-node { position: absolute; width: 12px; height: 12px; border: 3px solid var(--chronicle-accent); background: #f8f9fa; border-radius: 50%; left: -29px; top: 23px; }
.chronicle .chronicle-chevron { color: #727b85; font-size: 1.25rem; transition: transform .2s; }
.chronicle-card[open] .chronicle-chevron { transform: rotate(180deg); }
.chronicle-expanded { border-top: 1px solid #eef0f2; padding: 22px; }
.chronicle .chronicle-full-date { font-size: .9rem; color: #606874; margin-bottom: 18px; }
.chronicle-tags { display: flex; gap: 7px; align-items: baseline; flex-wrap: wrap; margin-bottom: 10px; }
.chronicle-tag-label { min-width: 32px; font-size: .8rem; color: #68717b; margin-right: 4px; }
.chronicle .chronicle-tag { font-size: .8rem; border-radius: 4px; background: #f0f6e3; color: #527c00; padding: 3px 8px; }
.chronicle .chronicle-tag-people { background: #edf5fa; color: #266382; }
.chronicle .chronicle-section-title { font-size: 1rem; margin: 24px 0 10px; font-weight: 600; }
.chronicle-facts { line-height: 1.9; overflow-wrap: anywhere; }
.chronicle-facts > :first-child { margin-top: 0; }
.chronicle-facts > :last-child { margin-bottom: 0; }
.chronicle .chronicle-facts :is(h1, h2, h3, h4, h5, h6) { font-size: 1.1rem; font-weight: 600; line-height: 1.5; margin: 20px 0 10px; }
.chronicle-facts :is(ul, ol) { padding-left: 1.5em; margin-bottom: 12px; }
.chronicle-facts blockquote { margin: 12px 0; padding: 8px 16px; border-left: 3px solid var(--chronicle-accent); background: #f7faef; }
.chronicle-facts pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; background: #f5f6f7; border-radius: 4px; }
.chronicle-facts code { font-size: .9em; }
.chronicle-facts table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 12px 0; }
.chronicle-facts :is(th, td) { border: 1px solid #e1e5e9; padding: 6px 10px; }
.chronicle-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin: 22px 0; }
.chronicle-images figure { margin: 0; min-width: 0; }
.chronicle-images img { max-width: 100%; width: 100%; max-height: 420px; object-fit: contain; background: #f8f9fa; border-radius: 4px; }
.chronicle-images figcaption { font-size: .8rem; color: #68717b; padding-top: 6px; overflow-wrap: anywhere; }
.chronicle-sources { padding-left: 22px; margin: 0; }
.chronicle-sources li { margin: 6px 0; overflow-wrap: anywhere; }
.chronicle-sources a { font-size: .9rem; }
.chronicle-entry-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid #eef0f2; padding-top: 18px; margin-top: 24px; }
.chronicle-entry-actions a { font-size: .9rem; }
.chronicle-panel { border: 1px solid #e1e5e9; background: #fff; border-radius: 6px; padding: 28px; }
.chronicle-empty { position: relative; background: #fff; padding: 48px 28px; text-align: center; border: 1px dashed #dce1e5; border-radius: 6px; }
.chronicle-empty h2 { font-size: 1.2rem; margin-bottom: 12px; }
.chronicle-empty p { color: #68717b; }
.chronicle-pagination { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 32px; }
.chronicle-detail, .chronicle-submit { max-width: 940px; }
.chronicle-back { font-size: .9rem; display: inline-block; margin-bottom: 12px; }
.chronicle-detail-heading { margin: 12px 0 24px; }
.chronicle .chronicle-event-title { font-size: 1.1rem; }
.chronicle-submit > p { margin-bottom: 28px; }
.chronicle-submit fieldset { margin-bottom: 30px; border: 0; padding: 0 0 24px; border-bottom: 1px solid #edf0f2; }
.chronicle-submit legend { font-size: 1.15rem; font-weight: 600; margin-bottom: 18px; border: 0; }
.chronicle-form-field { margin-bottom: 18px; min-width: 0; }
.chronicle-form-field > label { display: block; font-size: .95rem; font-weight: 500; margin-bottom: 8px; }
.chronicle .chronicle-required, .chronicle .errorlist { color: #a91d43; }
.chronicle .errorlist { padding-left: 20px; font-size: .875rem; margin: 8px 0; }
.chronicle .errorlist li { color: #a91d43; font-size: .875rem; }
.chronicle .has-errors .form-control, .chronicle .has-errors .form-select { border-color: #a91d43; }
.chronicle-form-columns, .chronicle-source-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.chronicle-submit #id_rights, .chronicle-submit #id_people { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 8px; padding: 14px; border: 1px solid #e1e5e9; border-radius: 4px; }
.chronicle-submit #id_rights label, .chronicle-submit #id_people label, .chronicle #id_record_type label { font-size: .875rem; cursor: pointer; }
.chronicle input[type=checkbox], .chronicle input[type=radio] { accent-color: var(--chronicle-accent); margin-right: 5px; }
.chronicle #id_record_type { display: flex; gap: 12px 24px; flex-wrap: wrap; }
.chronicle-source-row { padding: 16px; background: #f8f9fa; border-radius: 4px; margin-bottom: 14px; }
.chronicle-source-row .chronicle-form-field { margin-bottom: 8px; }
.chronicle-delete { font-size: .8rem; color: #68717b; }
.chronicle-source-row.source-removed .chronicle-source-inputs { opacity: .4; }
.chronicle-error-summary { background: #fff0f3; border-left: 3px solid #a91d43; padding: 16px; margin-bottom: 24px; }
.chronicle-receipt { max-width: 760px; margin-top: 30px; }
.chronicle-status { display: inline-block; background: #f0f6e3; color: #527c00; font-size: .85rem; padding: 5px 12px; border-radius: 4px; }
.chronicle-review-note { background: #f8f9fa; padding: 16px; margin: 24px 0; }
.chronicle-review-note h2 { font-size: 1rem; margin-bottom: 10px; }
@media (max-width: 600px) {
    .chronicle { padding: 0 0 24px; }
    .chronicle-heading { align-items: start; gap: 12px; }
    .chronicle-heading .chronicle-muted { font-size: .85rem; }
    .chronicle .chronicle-primary { padding: 8px 12px; font-size: .875rem; }
    .chronicle-filters { padding: 14px; gap: 12px; }
    .chronicle-search { flex-basis: 100%; }
    .chronicle-filter-actions { width: 100%; }
    .chronicle-row { grid-template-columns: 85px minmax(0, 1fr); column-gap: 24px; }
    .chronicle-list::before { left: 97px; }
    .chronicle-date { font-size: .72rem; padding-top: 17px; }
    .chronicle-card summary { padding: 13px 12px; gap: 6px; }
    .chronicle-summary, .chronicle-summary span { font-size: .875rem; }
    .chronicle-node { left: -18px; width: 10px; height: 10px; top: 19px; border-width: 2px; }
    .chronicle-expanded { padding: 14px; }
    .chronicle-images { grid-template-columns: 1fr; gap: 12px; }
    .chronicle-panel { padding: 18px; }
    .chronicle-form-columns, .chronicle-source-inputs { grid-template-columns: 1fr; gap: 0; }
    .chronicle-submit #id_rights, .chronicle-submit #id_people { grid-template-columns: 1fr; }
    .chronicle h1 { font-size: 1.4rem; }
}
