:root {
  --navy: #0d275f;
  --green: #008f57;
  --green-dark: #006b43;
  --cream: #fffdf7;
  --line: #d8e4df;
  --muted: #61766e;
  --danger: #b53c2e;
  --warning: #fff1df;
  --success: #ddf8eb;
  --shadow: 0 18px 48px rgba(15, 36, 70, .14);
}

* { box-sizing: border-box; }
body { margin: 0; background: #f2f6f8; color: #10214c; font: 16px/1.45 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.shell { max-width: 1240px; margin: auto; padding: 18px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 16px 20px; box-shadow: var(--shadow); }
.brand { display: flex; gap: 12px; align-items: center; }
.brand-mark { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, var(--navy), var(--green)); display: grid; place-items: center; color: #fff; font-weight: 900; }
.brand h1, .brand p { margin: 0; }
.brand h1 { font-size: 1.25rem; }
.brand p, .muted, small { color: var(--muted); }
.actions { display: flex; gap: 10px; flex-wrap: wrap; }
.btn { border: 1px solid #bfd2ca; border-radius: 11px; background: #fff; color: var(--navy); font-weight: 800; padding: 11px 15px; cursor: pointer; text-decoration: none; }
.btn.primary { background: var(--green); border-color: var(--green); color: #fff; }
.btn.danger { color: var(--danger); border-color: #e3b3aa; }
.btn { min-height: 44px; }
.btn:focus-visible { outline: 3px solid #147d55; outline-offset: 3px; }
.btn:disabled { background: #e2e8e5; color: #52625a; box-shadow: none; opacity: 1; cursor: not-allowed; }
.hero { margin: 18px 0; padding: 22px; border-radius: 20px; background: linear-gradient(135deg, #e6f8ef, #fff); border: 1px solid #bce2d0; }
.hero h2, .hero p { margin: 0; }
.hero h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.notice { padding: 13px 15px; border-radius: 12px; background: #edf5f2; color: #385b50; margin: 12px 0; }
.notice.warning { background: var(--warning); color: #714620; }
.notice.error { background: #fde8e4; color: #882f25; }
.notice.success { background: var(--success); color: #06633e; }
.layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .7fr); gap: 18px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px; box-shadow: 0 9px 25px rgba(15, 36, 70, .07); margin-bottom: 16px; }
.card h2, .card h3 { margin: 0 0 12px; }
.section-label { color: var(--green-dark); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label, legend { font-size: .83rem; font-weight: 900; color: #263e69; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #cbdcd5; border-radius: 10px; padding: 11px; background: #fff; }
.field textarea { min-height: 100px; resize: vertical; }
.selection-summary { display: grid; gap: 3px; min-height: 70px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #f5fbf8; overflow-wrap: anywhere; }
.selection-summary strong { color: var(--navy); }
.selection-summary span, .selection-summary small { display: block; }
fieldset { border: 0; padding: 0; margin: 0; }
.checks { display: grid; gap: 10px; }
.check { display: flex; gap: 9px; align-items: flex-start; border: 1px solid var(--line); border-radius: 11px; padding: 11px; }
.item { border: 1px solid #cee0d8; border-radius: 14px; padding: 15px; margin: 12px 0; background: var(--cream); }
.item-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.item-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; margin-top: 12px; align-items: start; }
.item .category-field { grid-column: span 4; }
.item .product-field { grid-column: span 8; }
.item .name-field, .item .description-field { grid-column: 1 / -1; }
.item .quantity-field { grid-column: span 2; }
.item .unit-field { grid-column: span 3; }
.item .claimed-field { grid-column: span 7; }
.item .field label { min-height: 1.2rem; }
.item .field input, .item .field select { min-height: 46px; }
.item .description { min-height: 112px; resize: vertical; }
.product-hint { margin-top: 1px; }
.price-note { font-size: .8rem; color: var(--muted); margin-top: 10px; }
.evidence-field { margin-top: 13px; }
.evidence-list { display: grid; gap: 8px; margin-top: 6px; }
.evidence-list > .muted { margin: 4px 0 0; }
.evidence-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 11px; padding: 10px 12px; background: #f8fbfa; }
.evidence-row strong, .evidence-row small { display: block; overflow-wrap: anywhere; }
.evidence-row .btn { flex: 0 0 auto; padding: 8px 11px; }
.evidence-clear { width: max-content; margin-top: 3px; }
.forwarding-readiness { margin: 10px 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfa; }
.forwarding-readiness p { margin: 5px 0; }
.incident-facts { display: grid; gap: 0; margin: 15px 0 20px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.incident-facts > div { display: grid; grid-template-columns: minmax(96px, .34fr) minmax(0, 1fr); gap: 12px; padding: 10px 12px; background: #fff; border-bottom: 1px solid var(--line); }
.incident-facts > div:last-child { border-bottom: 0; }
.incident-facts dt { color: #45665b; font-size: .78rem; font-weight: 900; }
.incident-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.incident-facts dd small, .price-source { display: block; }
.item-name { display: block; margin-bottom: 5px; }
.agency-forward-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.agency-forward-actions .btn { width: 100%; min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; text-align: center; white-space: normal; }
.agency-forward-actions .btn span { font-size: 1rem; }
.agency-forward-actions .btn small { color: inherit; font-size: .75rem; opacity: .85; }
.protected-evidence-list { display: grid; gap: 10px; margin: 10px 0 18px; }
.protected-evidence-item { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfa; }
.protected-evidence-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.protected-evidence-head .btn { min-width: 0; overflow-wrap: anywhere; }
.evidence-verified { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: var(--success); color: #06633e; font-size: .76rem; font-weight: 900; }
.evidence-details { margin-top: 9px; border-top: 1px solid var(--line); padding-top: 8px; }
.evidence-details summary { width: max-content; max-width: 100%; color: var(--navy); font-weight: 800; cursor: pointer; }
.evidence-details dl { display: grid; grid-template-columns: minmax(90px, .35fr) minmax(0, 1fr); gap: 7px 11px; margin: 11px 0 0; }
.evidence-details dt { color: var(--muted); font-size: .8rem; font-weight: 800; }
.evidence-details dd { min-width: 0; margin: 0; }
.evidence-hash { display: block; max-width: 100%; padding: 8px; border-radius: 8px; background: #edf3f1; color: #27483e; font-size: .78rem; overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.summary-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
.summary-strip.report-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0; }
.metric { border: 1px solid var(--line); border-radius: 12px; padding: 11px; background: #f5fbf8; }
.metric span { display: block; font-size: .72rem; text-transform: uppercase; color: var(--muted); font-weight: 800; }
.metric strong { font-size: 1.15rem; overflow-wrap: anywhere; }
.history-row { display: grid; grid-template-columns: 1.2fr .9fr .7fr .7fr; gap: 8px; padding: 12px 0; border-bottom: 1px solid #edf1ef; cursor: pointer; }
.status { display: inline-flex; width: max-content; border-radius: 999px; padding: 4px 9px; font-size: .75rem; font-weight: 900; background: #e9f2ef; }
.status.submitted { background: #e5efff; }
.status.under_review { background: #fff1c8; }
.status.closed { background: #ddf8eb; }
.dialog { border: 0; border-radius: 20px; box-shadow: 0 30px 90px rgba(4, 16, 45, .35); padding: 0; width: min(820px, calc(100vw - 28px)); max-height: 88vh; }
.dialog::backdrop { background: rgba(11, 22, 55, .66); }
.dialog-head, .dialog-foot { padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.dialog-foot { border-top: 1px solid var(--line); border-bottom: 0; }
.dialog-body { padding: 22px; overflow: auto; max-height: 68vh; }
.report-narrative { margin: 18px 0; }
.report-narrative h3 { margin-bottom: 9px; }
.report-narrative > div, .item-description { white-space: normal; overflow-wrap: anywhere; line-height: 1.55; }
.report-narrative > div { min-height: 72px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfa; }
.item-description { margin-top: 6px; color: var(--muted); font-size: .86rem; }
.agency-delivery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.agency-delivery { padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #f7faf9; }
.agency-delivery span, .agency-delivery strong, .agency-delivery small { display: block; }
.agency-delivery span { color: var(--muted); font-size: .73rem; font-weight: 900; text-transform: uppercase; }
.agency-delivery strong { margin: 5px 0; }
.agency-delivery small { color: var(--muted); line-height: 1.4; }
.agency-delivery.sent { border-color: #9ed7bb; background: #effbf5; }
.agency-delivery.pending { border-color: #ead18e; background: #fff9e8; }
.agency-delivery.failed { border-color: #efb2aa; background: #fff2f0; }
.delivery-explainer { margin: 10px 0 18px; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 11px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-size: .72rem; text-transform: uppercase; color: #4a665c; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .8fr); gap: 18px; }
.map { height: 420px; border-radius: 14px; border: 1px solid var(--line); overflow: hidden; }
.detail-panel { min-height: 420px; }
.settings { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hidden { display: none !important; }

@media (max-width: 860px) {
  .layout, .admin-grid { grid-template-columns: 1fr; }
  .item .category-field, .item .quantity-field, .item .unit-field { grid-column: span 4; }
  .item .product-field, .item .claimed-field { grid-column: span 8; }
  .summary-strip.report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .shell { padding: 10px; }
  .grid, .summary-strip, .summary-strip.report-summary { grid-template-columns: 1fr; }
  .item .category-field, .item .product-field, .item .name-field, .item .quantity-field, .item .unit-field, .item .claimed-field, .item .description-field { grid-column: 1 / -1; }
  .history-row { grid-template-columns: 1fr 1fr; }
  .history-row > *:nth-child(3), .history-row > *:nth-child(4) { font-size: .85rem; }
  .btn { min-height: 46px; }
  .evidence-row { align-items: flex-start; }
  .protected-evidence-head { align-items: flex-start; flex-direction: column; }
  .evidence-details dl { grid-template-columns: 1fr; }
  .card { padding: 15px; }
  .agency-delivery-grid { grid-template-columns: 1fr; }
  .incident-facts > div { grid-template-columns: 1fr; gap: 3px; }
}

/* Farmer mobile shell: aligned with Dr. NuG and Tree Registry without changing the admin UI. */
.farmer-experience { --farmer-green:#075c36; --farmer-dark:#043e26; --farmer-lime:#b9ef67; --farmer-bg:#f3f7f1; --farmer-ink:#14241b; --farmer-muted:#65756b; --farmer-line:#dce7df; background:var(--farmer-bg); color:var(--farmer-ink); }
.farmer-experience [hidden] { display:none !important; }
.farmer-app-shell { width:min(100%,560px); min-height:100vh; margin:0 auto; padding-bottom:92px; background:#f7faf6; box-shadow:0 0 50px rgba(21,45,30,.08); }
.farmer-app-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:66px; padding:11px 18px; background:rgba(255,255,255,.96); border-bottom:1px solid var(--farmer-line); backdrop-filter:blur(10px); }
.farmer-brand-lockup { display:flex; align-items:center; gap:10px; min-width:0; }
.farmer-brand-mark { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 4px 12px rgba(7,92,54,.16); }
.farmer-brand-mark img { width:100%; height:100%; object-fit:contain; }
.farmer-brand-lockup div { display:grid; min-width:0; }
.farmer-brand-lockup strong { font-size:1.05rem; color:var(--farmer-ink); }
.farmer-brand-lockup div span { margin-top:1px; color:var(--farmer-muted); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.farmer-header-actions { display:flex; align-items:center; gap:8px; }
.header-icon-button { width:36px; height:36px; border:1px solid var(--farmer-line); border-radius:12px; background:#fff; color:var(--farmer-green); font-size:1.15rem; font-weight:900; }
.connectivity-badge { padding:6px 9px; border-radius:999px; background:#e8f5ec; color:var(--farmer-green); font-size:.7rem; font-weight:850; }
.farmer-screen-stack { padding:16px 16px 24px; }
.farmer-app-screen { display:none; }
.farmer-app-screen.active { display:block; }
.app-notice { position:sticky; top:67px; z-index:18; width:calc(100% - 32px); margin:10px auto 0; box-shadow:0 7px 20px rgba(20,45,29,.08); }
.farmer-welcome-card { position:relative; overflow:hidden; padding:24px; border-radius:24px; background:linear-gradient(145deg,var(--farmer-dark),#0c7445); color:#fff; box-shadow:0 14px 38px rgba(16,52,32,.12); }
.farmer-welcome-card:after { content:""; position:absolute; width:170px; height:170px; right:-75px; top:-85px; border:36px solid rgba(255,255,255,.06); border-radius:50%; }
.farmer-welcome-card p { margin:0 0 4px; color:#cfe9da; }
.farmer-welcome-card h1 { position:relative; z-index:1; margin:0; color:#fff; font-size:1.8rem; }
.farmer-welcome-card span { position:relative; z-index:1; display:block; margin-top:9px; color:#d6ebdf; font-size:.82rem; }
.theft-report-hero { width:100%; display:grid; grid-template-columns:58px 1fr; grid-template-rows:auto auto; align-items:center; margin:16px 0; padding:18px; border:0; border-radius:22px; background:var(--farmer-lime); color:#16341e; text-align:left; box-shadow:0 10px 22px rgba(77,128,36,.18); }
.theft-report-hero>span { grid-row:1/3; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--farmer-green); color:#fff; font-size:2rem; }
.theft-report-hero strong { font-size:1.16rem; }
.theft-report-hero small { margin-top:2px; color:#466144; }
.farmer-quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.farmer-quick-actions button { min-height:102px; display:grid; align-content:center; text-align:left; padding:15px 13px; border:1px solid var(--farmer-line); border-radius:18px; background:#fff; color:var(--farmer-ink); box-shadow:0 5px 14px rgba(25,50,31,.05); }
.farmer-quick-actions button>span { color:var(--farmer-green); font-size:1.35rem; }
.farmer-quick-actions strong { margin-top:5px; }
.farmer-quick-actions small { margin-top:2px; color:var(--farmer-muted); }
.farmer-section-heading,.farmer-screen-heading { display:flex; align-items:center; justify-content:space-between; margin:24px 2px 12px; }
.farmer-section-heading h2,.farmer-screen-heading h1 { margin:0; color:var(--farmer-ink); font-size:1.22rem; }
.farmer-section-heading button { border:0; background:transparent; color:var(--farmer-green); font-weight:850; }
.farmer-screen-heading { justify-content:flex-start; gap:12px; margin-top:2px; }
.farmer-screen-heading p { margin:3px 0 0; color:var(--farmer-muted); font-size:.82rem; }
.farmer-experience .back-button { width:42px; height:42px; flex:0 0 42px; border:1px solid var(--farmer-line); border-radius:13px; background:#fff; color:var(--farmer-ink); font-size:1.25rem; }
.step-progress { display:flex; gap:6px; margin:12px 0 15px; overflow-x:auto; scrollbar-width:none; }
.step-progress span { min-width:78px; padding:8px 9px; border-radius:999px; background:#e9eeeb; color:#66736b; text-align:center; font-size:.7rem; font-weight:850; }
.step-progress span:first-child { background:var(--farmer-green); color:#fff; }
.farmer-experience .farmer-form-card { margin-bottom:12px; padding:17px; border:1px solid var(--farmer-line); border-radius:20px; box-shadow:0 7px 20px rgba(19,53,31,.055); }
.farmer-experience .farmer-form-card h2 { margin:3px 0 13px; color:var(--farmer-ink); font-size:1.14rem; }
.farmer-experience .section-label { color:var(--farmer-green); font-size:.7rem; }
.farmer-experience .grid { grid-template-columns:1fr; gap:10px; }
.farmer-experience .field label { color:#354b41; }
.farmer-experience .field input,.farmer-experience .field select,.farmer-experience .field textarea { min-height:48px; padding:12px 13px; border-color:#ccd9d1; border-radius:13px; background:#fff; color:var(--farmer-ink); }
.farmer-experience .selection-summary { border-color:var(--farmer-line); border-radius:13px; background:#f7faf8; }
.farmer-experience .item { padding:13px; border-color:#cbded1; border-radius:17px; background:#fbfdfb; }
.farmer-experience .item-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:10px; }
.farmer-experience .item .category-field,.farmer-experience .item .product-field,.farmer-experience .item .name-field,.farmer-experience .item .claimed-field,.farmer-experience .item .description-field { grid-column:1 / -1; }
.farmer-experience .item .quantity-field { grid-column:1; min-width:0; }
.farmer-experience .item .unit-field { grid-column:2; min-width:0; }
.farmer-experience .item .quantity-field input,.farmer-experience .item .unit-field select,.farmer-experience .item .unit-field input { width:100%; min-width:0; box-sizing:border-box; }
.farmer-experience .item-head .btn { min-height:38px; padding:7px 10px; }
.add-item-button { width:100%; min-height:48px; color:var(--farmer-green); border-color:#afd0ba; }
.evidence-picker { min-height:96px; display:grid; place-items:center; align-content:center; gap:3px; margin:8px 0; padding:14px; border:1px solid #bcd5c3; border-radius:15px; background:#edf8f0; color:var(--farmer-green); cursor:pointer; text-align:center; }
.evidence-picker>span { font-size:1.65rem; }
.evidence-picker small { color:var(--farmer-muted); }
.visually-hidden-file { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.farmer-experience .summary-strip.report-summary { grid-template-columns:1fr 1fr; }
.farmer-experience .metric { border-color:var(--farmer-line); background:#f5fbf8; }
.farmer-experience .check { align-items:flex-start; border-color:var(--farmer-line); border-radius:14px; background:#fbfdfb; }
.farmer-experience .check input { width:20px; height:20px; flex:0 0 20px; accent-color:var(--farmer-green); }
.farmer-experience .check>span { min-width:0; }
.farmer-experience .check>span>strong { display:block; }
.farmer-experience .check>span>small { display:block; margin-top:4px; line-height:1.45; }
.farmer-experience .primary-button,.farmer-experience .secondary-button { display:block; width:100%; min-height:49px; padding:14px 16px; border-radius:15px; font-weight:900; text-align:center; text-decoration:none; }
.farmer-experience .primary-button { border:0; background:var(--farmer-green); color:#fff; box-shadow:0 7px 15px rgba(7,92,54,.16); }
.farmer-experience .secondary-button { border:1px solid var(--farmer-green); background:#fff; color:var(--farmer-green); }
.portal-return { margin-top:14px; }
.farmer-report-list { display:grid; gap:10px; }
.farmer-experience .history-row { grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:11px; padding:13px; border:1px solid var(--farmer-line); border-radius:17px; background:#fff; box-shadow:0 5px 14px rgba(24,54,34,.05); }
.history-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; background:#e8f5ec; color:var(--farmer-green); font-size:1.2rem; }
.history-copy { display:grid; min-width:0; gap:2px; }
.history-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-copy small { color:var(--farmer-muted); }
.farmer-experience .history-row .status { grid-column:3; grid-row:1; }
.history-value { grid-column:3; grid-row:2; color:var(--farmer-muted); font-size:.74rem; text-align:right; }
.empty-card { padding:22px; border:1px dashed #c9d7cd; border-radius:17px; background:#fff; color:var(--farmer-muted); text-align:center; }
.farmer-experience .help-card { margin-bottom:12px; padding:17px; border:1px solid var(--farmer-line); border-radius:19px; background:#fff; box-shadow:none; }
.farmer-experience .help-card h2 { margin:0 0 8px; font-size:1rem; }
.farmer-experience .help-card p,.farmer-experience .help-card li { color:var(--farmer-muted); font-size:.86rem; line-height:1.5; }
.farmer-experience .help-card.warning { background:#fff8e8; border-color:#ead296; }
.signed-out-card { margin:24px 16px; padding:28px 20px; border:1px solid var(--farmer-line); border-radius:22px; background:#fff; text-align:center; box-shadow:0 12px 30px rgba(16,52,32,.09); }
.signed-out-card h1 { margin:10px 0 6px; font-size:1.35rem; }
.signed-out-card p { color:var(--farmer-muted); }
.security-icon { width:56px; height:56px; display:grid; place-items:center; margin:auto; border-radius:18px; background:#e8f5ec; color:var(--farmer-green); font-size:1.6rem; }
.farmer-bottom-nav { position:fixed; bottom:0; left:50%; transform:translateX(-50%); z-index:30; width:min(100%,560px); height:78px; display:grid; grid-template-columns:repeat(5,1fr); padding:7px 8px calc(7px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.98); border-top:1px solid var(--farmer-line); box-shadow:0 -8px 22px rgba(19,46,28,.08); }
.farmer-bottom-nav button,.farmer-bottom-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:0; background:transparent; color:#748178; font-size:.64rem; font-weight:800; text-decoration:none; }
.farmer-bottom-nav button>span,.farmer-bottom-nav a>span { font-size:1rem; font-weight:900; }
.farmer-bottom-nav .active { color:var(--farmer-green); }
.farmer-bottom-nav .nav-report span { width:38px; height:38px; display:grid; place-items:center; margin-top:-19px; border-radius:50%; background:var(--farmer-green); color:#fff; font-size:1.45rem; box-shadow:0 7px 15px rgba(7,92,54,.25); }
.farmer-experience .dialog { width:min(560px,calc(100vw - 20px)); height:min(880px,calc(100dvh - 24px)); max-height:calc(100dvh - 24px); padding:0; overflow:hidden; border-radius:24px; }
.farmer-experience .dialog[open] { display:flex; flex-direction:column; }
.farmer-experience .dialog-head { flex:0 0 auto; background:#fff; }
.farmer-experience .dialog-body { flex:1 1 auto; min-height:0; max-height:none; padding:18px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; }
@media(max-width:430px){.farmer-screen-stack{padding-left:12px;padding-right:12px}.farmer-welcome-card{padding:21px}.farmer-welcome-card h1{font-size:1.55rem}.farmer-brand-lockup strong{font-size:.92rem}.farmer-experience .summary-strip.report-summary{grid-template-columns:1fr 1fr}.farmer-experience .agency-delivery-grid{grid-template-columns:1fr}}
@media(min-width:700px){.farmer-experience{padding:24px 0}.farmer-app-shell{min-height:calc(100vh - 48px); overflow:hidden; border-radius:28px}.farmer-bottom-nav{bottom:24px;border-radius:0 0 28px 28px}}
.farmer-experience .incident-location-card { margin-top:18px; padding:16px; border:1px solid #cee3d8; border-radius:16px; background:#f7fbf8; }
.farmer-experience .incident-location-card>label { display:block; margin-bottom:12px; }
.farmer-experience .incident-location-card>label small { font-weight:400; color:#63776c; }
.farmer-experience .incident-location-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.farmer-experience .incident-location-actions .btn { width:100%; min-width:0; min-height:48px; padding:10px 8px; white-space:normal; text-align:center; justify-content:center; border:1px solid #b4d4c2; background:#fff; color:#075c36; line-height:1.25; }
.farmer-experience .incident-location-result { margin-top:12px; padding:10px 12px; border-radius:12px; background:#eaf4ee; }
.farmer-experience .incident-location-result-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.farmer-experience .incident-location-result-head strong { font-size:.85rem; color:#305342; }
.farmer-experience .incident-location-clear { min-height:44px; padding:6px 10px; background:transparent; border:0; color:#075c36; text-decoration:underline; box-shadow:none; }
.farmer-experience #incidentLocationStatus { margin:2px 0 0; font-size:.85rem; line-height:1.5; color:#3c594a; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.farmer-experience #incidentMapWrap { margin-top:12px; }
.farmer-experience #incidentMap { border-radius:12px; overflow:hidden; }
.farmer-experience .evidence-thumbnail { display:block; width:96px; height:96px; flex:0 0 96px; object-fit:contain; border:1px solid #c8dbcf; border-radius:10px; background:#eef5f0; }
.farmer-experience .evidence-row { flex-wrap:wrap; gap:10px; align-items:center; }
.farmer-experience .evidence-file-info { flex:1 1 120px; min-width:0; overflow-wrap:anywhere; }
.farmer-experience .saved-evidence { display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; margin:12px 0; padding:14px; border:1px solid #cee3d8; border-radius:14px; }
.farmer-experience .saved-evidence-info { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; flex:1 1 130px; }
.farmer-experience .saved-evidence-name { display:block; max-width:100%; overflow-wrap:anywhere; line-height:1.4; }
.farmer-experience .saved-evidence-details { flex:1 0 100%; min-width:0; border-top:1px solid #dce8e0; padding-top:10px; }
.farmer-experience .saved-evidence-details summary { cursor:pointer; color:#496556; font-size:.85rem; padding:6px 0; }
.farmer-experience .saved-evidence-details dl { margin:10px 0 0; }
.farmer-experience .saved-evidence-details dt { font-size:.8rem; font-weight:700; }
.farmer-experience .saved-evidence-details dd { margin:6px 0 0; }
.farmer-experience .saved-evidence-details code { white-space:normal; overflow-wrap:anywhere; font-size:.75rem; line-height:1.6; }
.farmer-experience .farmer-app-shell { overflow:visible; }
.farmer-experience .step-progress { position:sticky; top:var(--report-header-height,66px); z-index:19; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:8px 0; background:#f4faf6; overflow:visible; }
.farmer-experience .step-progress button { border:1px solid #c9ded1; border-radius:10px; padding:8px 4px; min-height:40px; background:#fff; color:#315d45; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
.farmer-experience .step-progress button.active { background:#075c36; color:#fff; }
.farmer-experience .step-progress button:focus-visible { outline:3px solid #75af92; outline-offset:2px; }
.report-review-facts { display:grid; gap:10px; }
.report-review-facts div { padding:10px; background:#edf6f0; border-radius:10px; }
.report-review-facts dt { font-weight:700; font-size:.85rem; }
.report-review-facts dd { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-evidence { display:flex; flex-wrap:wrap; gap:12px; }
.review-evidence>div { max-width:160px; overflow-wrap:anywhere; }
.draft-save-panel { margin:16px 0; padding:14px; border:1px solid #c5ddcf; border-radius:14px; background:#eff7f2; text-align:left; }
.draft-save-panel h3 { margin:0 0 10px; }
.draft-save-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.draft-save-actions .btn { min-width:0; min-height:48px; white-space:normal; }
.draft-save-panel p { margin:10px 0 0; line-height:1.5; font-size:.85rem; }
.status.draft { background:#fff3ce; color:#715000; }
