:root{--bg:#f5f7f3;--card:#fff;--ink:#172019;--muted:#667268;--green:#245c3a;--gold:#c89a36;--red:#a43d35;--line:#dfe5df}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,sans-serif;color:var(--ink)}header{background:#173d28;color:white;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}header b{font-size:24px;margin-right:12px}header span{opacity:.8}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:white;text-decoration:none;padding:8px 10px;border-radius:7px}nav a:hover{background:#28553a}main{width:min(1180px,92%);margin:26px auto 50px}h1{margin:0 0 8px}.sub{color:var(--muted);margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 3px 12px #00000008}.metric{font-size:28px;font-weight:700;margin-top:8px}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;background:white;border-radius:10px;overflow:hidden}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#edf2ed}form{background:white;border:1px solid var(--line);padding:18px;border-radius:12px;margin:18px 0}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;padding:10px;border:1px solid #cfd7cf;border-radius:7px;background:white}button,.btn{display:inline-block;background:var(--green);color:white;border:0;border-radius:7px;padding:10px 14px;text-decoration:none;cursor:pointer}.btn.alt{background:#59675d}.pill{display:inline-block;padding:4px 8px;border-radius:99px;background:#e8f2ea;font-size:12px}.red{color:var(--red)}.green{color:var(--green)}.photos{display:flex;gap:10px;flex-wrap:wrap}.photos img{width:150px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}footer{text-align:center;color:#7a837c;padding:25px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}@media(max-width:700px){header{align-items:flex-start}th,td{padding:8px;font-size:12px}}
.smallmetric{font-size:18px}.photo-card{background:#fff;border:1px solid var(--line);padding:8px;border-radius:9px}.photo-card img{display:block;margin-bottom:6px}small{font-size:11px}
/* v0.3.4 mobile farm UI */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notice{padding:13px 16px;border-radius:10px;margin:12px 0}.notice.success{background:#e9f5ec;border:1px solid #bcdac4}.notice.error{background:#fff0ef;border:1px solid #e6b9b5}.compact-form{padding:12px 14px}.session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.session-stats>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.session-stats span{display:block;color:var(--muted);font-size:12px}.session-stats b{display:block;font-size:24px;margin-top:3px}.scan-panel{text-align:center}.scan-panel h2{margin:0 0 6px}#qrVideo{display:block;width:min(100%,520px);aspect-ratio:4/3;object-fit:cover;background:#111;border-radius:12px;margin:14px auto}.scan-status{font-size:13px;color:var(--muted);min-height:20px}.scan-panel .actions{justify-content:center}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);margin:18px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.inline-lookup{border:0;padding:0;margin:0;display:flex;gap:8px}.mobile-list{display:grid;gap:8px;margin:14px 0}.mobile-record{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.mobile-record.done{background:#f0f7f1}.mobile-record small{display:block;color:var(--muted);margin-top:3px}.record-right{display:flex;align-items:center;gap:10px;white-space:nowrap}.btn.small{padding:7px 10px;font-size:12px}.animal-hero{display:flex;align-items:center;gap:14px;margin-bottom:18px}.animal-hero img{width:84px;height:84px;object-fit:cover;border-radius:10px}.animal-code{font-size:28px;font-weight:800}.big-label{font-size:15px;font-weight:700;color:var(--ink)}.big-weight{font-size:32px;font-weight:700;padding:16px;text-align:center}.confirm{display:flex;gap:8px;align-items:center;color:var(--ink);margin:12px 0}.confirm input{width:auto}.sticky-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.weight-entry button,.weight-entry .btn{min-height:46px}
@media(max-width:700px){body{font-size:15px}header{padding:11px 14px;display:block}header>div{display:flex;align-items:center;justify-content:space-between}header span{font-size:12px}nav{margin-top:10px;display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;-webkit-overflow-scrolling:touch}nav a{white-space:nowrap;background:#ffffff0b}main{width:calc(100% - 20px);margin:14px auto 80px}h1{font-size:25px}.sub{font-size:13px;margin-bottom:14px}.card,form{padding:14px;border-radius:10px}.row{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr;gap:8px}.metric{font-size:22px}input,select,textarea,button,.btn{font-size:16px;min-height:44px}table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.session-stats{gap:6px}.session-stats>div{padding:9px 5px}.session-stats b{font-size:21px}.inline-lookup{display:grid;grid-template-columns:1fr}.mobile-record{padding:10px}.record-right{gap:6px}.animal-hero{align-items:flex-start}.animal-code{font-size:25px}.big-weight{font-size:36px;min-height:72px}.sticky-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 2px;display:grid;grid-template-columns:1fr}.sticky-actions>*{width:100%;text-align:center}.photos img{width:calc(50vw - 34px);height:120px}}
@media(max-width:390px){.grid{grid-template-columns:1fr}.session-stats span{font-size:11px}.mobile-record{align-items:flex-start}.record-right{flex-direction:column;align-items:flex-end}.animal-hero img{width:70px;height:70px}}
/* v0.3.5 admin reporting */
.report-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-grid .card p{min-height:42px}.report-table td{vertical-align:top}.notice{background:#fff8e7;border:1px solid #ead49c;color:var(--ink)}
@media print{header,footer,.no-print,.report-toolbar{display:none!important}body{background:#fff}main{width:100%;margin:0}table{display:table!important;white-space:normal!important;font-size:10pt}.card{box-shadow:none;break-inside:avoid}a{color:inherit;text-decoration:none}.page-head{margin-bottom:12px}}
