/* Additions for the Django application: flash messages, forms, tables. */
html{scroll-padding-top:96px}
.flash-stack{display:grid;gap:8px;margin-top:18px;margin-bottom:-12px}
.flash{border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5;border:1px solid #cedfce;background:#e4f0e4;color:#285746}
.flash.error{background:#fdecea;border-color:#f3c7c1;color:#8a2f22}
.flash.info,.flash.warning{background:#fff4df;border-color:#efd9ad;color:#765823}
.errorlist{list-style:none;margin:2px 0 0;padding:0;color:#a3392b;font-size:11px;font-weight:600;line-height:1.45}
.check-row+.errorlist{margin:-6px 0 10px 24px}
.field .helptext,.helptext{display:block;font-size:10px;color:#7a877f;line-height:1.45}
.field input[type=file]{padding:9px}
.field input[type=checkbox]{width:auto}
.field ul{list-style:none;padding:0;margin:0}
.inline-form{display:inline;margin:0}
.link-button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.count{display:inline-block;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--orange);color:#26382f;font-size:10px;font-weight:800;text-align:center}
.pagination{display:flex;gap:10px;align-items:center;justify-content:center;margin:22px 0;font-size:12px;color:#6e7d74}
.listing-card h3 a:hover,.task-row h3 a:hover{color:var(--green)}
.offer-actions,.side-actions{display:flex;gap:6px;flex-wrap:wrap}
.side-actions{flex-direction:column;align-items:stretch}
.side-actions .notice-box{color:#50675b}
.detail-side .cmk-btn{width:100%}
.detail-side a:not(.cmk-btn){text-decoration:underline}
.detail-main a:not(.cmk-btn){color:var(--green)}
.footer-links{flex-wrap:wrap}
.conversation-item{background:transparent;border:1px solid transparent}
.conversation-item.current{background:var(--green-light);border-color:#d3e2d4}
.conversation-head a{color:var(--green);font-weight:700}
.chat-body{max-height:440px;overflow-y:auto}
.bubble.flagged{box-shadow:0 0 0 2px var(--orange)}
.flag-note{display:block;font-style:normal;font-size:10px;margin-top:6px;opacity:.9}
.notification.unread{border-color:#c9dccb;background:#f4f8f1}
.notification.unread strong:after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-left:7px;vertical-align:middle}
.event-list{display:grid;gap:7px;font-size:11px;color:#62746b}
.event-list div{display:grid;grid-template-columns:96px 1fr;gap:10px;border-top:1px solid #edf0ea;padding-top:7px}
.event-list time{color:#8a958d;font-weight:700}
.ops-audit{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:14px}
.ops-card p{margin:6px 0}
.ops-grid>.empty-state{grid-column:1/-1}
.ops-card h3 a{color:var(--green)}
.ops-form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.ops-form .field{margin-bottom:8px}
.ops-form textarea{min-height:56px}
.review-row{align-items:flex-start}
.review-response{margin-top:10px;padding:10px 12px;border-left:3px solid var(--green);background:#f4f8f1;border-radius:0 10px 10px 0;font-size:12px}
.review-response p{margin:4px 0 0}
.inline-details{margin-top:10px;font-size:12px}
.inline-details summary{cursor:pointer;color:var(--green);font-weight:700;margin-bottom:8px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.ledger-table{width:100%;border-collapse:collapse;font-size:12px}
.ledger-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#849087;padding:11px 14px;border-bottom:1px solid var(--line)}
.ledger-table td{padding:11px 14px;border-bottom:1px solid #edf0ea;vertical-align:top}
.ledger-table tr:last-child td{border-bottom:0}
.ledger-table small{color:#7a877f}
.ledger-table .num{text-align:right;white-space:nowrap}
.amount-pos{color:var(--green);font-weight:800}
.amount-neg{color:#a3392b;font-weight:800}
.soft-card .field{margin-bottom:10px}
.soft-card.warm .field input{background:white}
button[disabled]{opacity:.5;cursor:not-allowed}
.error-page{text-align:center;padding:80px 0}
@media(max-width:720px){
  .event-list div{grid-template-columns:1fr;gap:2px}
  .ledger-table th:nth-child(3),.ledger-table td:nth-child(3){display:none}
  .flash-stack{margin-bottom:0}
}
/* .panel-list is styled for the dark-green panels (pale text); on light cards it needs dark text. */
.soft-card:not(.green) .panel-list span{color:#4f6359;font-size:13px}
.soft-card:not(.green) .panel-list b{color:#b5730f}
.soft-card:not(.green) .panel-list a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.soft-card:not(.green) .panel-list a:hover{text-decoration-thickness:2px}
.category-inline{display:inline-flex;align-items:center;gap:7px}
.category-inline .category-icon{width:20px;height:20px}
