/* 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}

/* Tasker radar, shown after a task is posted */
.radar-page{padding-top:18px;padding-bottom:54px}
.radar-page .page-title{font-size:clamp(32px,4.6vw,50px)}
.radar-task{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:22px 0 34px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:14px;font-size:14px;color:var(--muted)}
.radar-task strong{font:800 16px Manrope,sans-serif;color:var(--ink)}
.radar-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:start}
.radar{position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#256b57 0,#17493b 58%,#113a2f 100%);box-shadow:var(--shadow)}
.radar-rings,.radar-sweep{position:absolute;inset:0;border-radius:50%}
.radar-rings{background:radial-gradient(circle closest-side,transparent 27.5%,rgba(255,255,255,.14) 27.5% 28%,transparent 28% 58%,rgba(243,164,59,.5) 58% 58.5%,transparent 58.5% 89%,rgba(255,255,255,.14) 89% 89.5%,transparent 89.5%)}
.radar-sweep{background:conic-gradient(from 0deg,rgba(243,164,59,0) 0 255deg,rgba(243,164,59,.55) 359deg,#f3a43b 359deg 360deg);animation:radar-spin var(--sweep) linear infinite}
.radar-center{position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--white);box-shadow:0 0 0 5px rgba(255,255,255,.14);z-index:1}
.radar-center img{display:block;width:100%;height:100%;border-radius:50%}
.radar-blip{position:absolute;width:36px;height:36px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--white);color:var(--green);font:800 12px Manrope,sans-serif;box-shadow:0 0 0 3px rgba(255,255,255,.22);z-index:2;animation:radar-found .45s var(--reveal,0s) both}
.radar-blip::after{content:'';position:absolute;inset:-5px;border-radius:50%}
.radar-blip.is-city{background:#cfe0d6}
.radar-blip.is-quoted{background:var(--orange);color:var(--ink)}
.radar-blip:hover,.radar-blip:focus-visible,.radar-blip.is-selected{outline:3px solid var(--orange);outline-offset:2px}
.radar-blip.is-quoted:hover,.radar-blip.is-quoted:focus-visible,.radar-blip.is-quoted.is-selected{outline-color:var(--white)}
.radar-status{margin:20px 0 10px;text-align:center;font:800 17px Manrope,sans-serif;color:var(--ink)}
.radar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--muted)}
.radar-legend li{display:flex;align-items:center;gap:6px}
.radar-key{width:12px;height:12px;border-radius:50%;border:1px solid rgba(32,60,52,.35);background:var(--white)}
.radar-key.is-city{background:#cfe0d6}
.radar-key.is-quoted{background:var(--orange)}
.radar-note{margin:8px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.radar-results{display:grid;gap:14px;animation:radar-results .4s var(--sweep) both}
.radar-card{padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:18px;scroll-margin-top:96px}
.radar-card:target{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}
.radar-card p{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.radar-card form{margin:0}
.radar-card .cmk-btn{margin-top:14px}
.radar-card-top{display:flex;align-items:center;gap:12px}
.radar-card-name{flex:1;min-width:0}
.radar-card-name h3{margin:0;font:800 17px Manrope,sans-serif}
.radar-card-name h3 a:hover{text-decoration:underline}
.radar-quote{font:800 14px Manrope,sans-serif;color:#885a0d;white-space:nowrap}
.radar-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.radar-chips span{padding:4px 10px;border-radius:999px;background:#eef2ea;font-size:12px;font-weight:600;color:#4f6359}
.radar-card p.radar-waiting{margin-top:14px;font-weight:700;color:var(--green)}
.radar-settled .radar-blip,.radar-settled .radar-results{animation:none}
@keyframes radar-spin{to{transform:rotate(360deg)}}
@keyframes radar-found{from{opacity:0;scale:.3}to{opacity:1;scale:1}}
@keyframes radar-results{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.radar-sweep,.radar-blip,.radar-results{animation:none}}
@media(max-width:900px){.radar-layout{grid-template-columns:minmax(0,1fr);gap:30px}.radar-column{width:min(100%,420px);margin:0 auto}}
@media(max-width:720px){.radar-page .page-lead{display:none}.radar-task{margin:16px 0 22px}}
