:root{--bg: #f4f2eb;--panel: #ffffff;--panel-2: #f0ede3;--line: #e0dbcc;--text: #22241d;--muted: #676a5c;--brand: #2f6b3a;--brand-ink: #ffffff;--brand-2: #e3efe2;--accent: #a8742a;--good: #2b7a40;--good-bg: #e2f1e4;--warn: #8a5f00;--warn-bg: #fbf0d4;--bad: #b23a2e;--bad-bg: #f8e1de;--seca: #a8701a;--aguas: #2f7d4a;--side-bg: #1e3524;--side-text: #dfe8dc;--side-muted: #9fb39f;--side-hover: #284531;--side-active: #33573d;--side-accent: #b9d98a;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 4px 16px rgb(0 0 0 / .04);--ease: .15s ease;--side-w: 252px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #161813;--panel: #1f221b;--panel-2: #272b22;--line: #353a2e;--text: #e8e9e0;--muted: #a3a697;--brand: #7dba89;--brand-ink: #10180f;--brand-2: #243628;--accent: #d6a457;--good: #7ac48b;--good-bg: #20382a;--warn: #e3b85e;--warn-bg: #3a3120;--bad: #f08f84;--bad-bg: #432522;--seca: #ddaa55;--aguas: #74c48d;--side-bg: #11140f;--side-text: #dfe5d9;--side-muted: #8f9a88;--side-hover: #1b2117;--side-active: #24301f;--side-accent: #a9d17a;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;transition:background var(--ease),border-color var(--ease),transform .1s ease;display:inline-flex;align-items:center;gap:6px;justify-content:center}button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-2)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 88%,black);border-color:var(--brand)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover:not(:disabled){background:var(--panel-2);border-color:var(--line)}button.icon{padding:6px}button.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}button.danger:hover:not(:disabled){background:var(--bad-bg);border-color:var(--bad)}button.danger.solid{background:var(--bad);color:#fff;border-color:var(--bad);font-weight:600}button.danger.solid:hover{background:color-mix(in srgb,var(--bad) 88%,black)}input,select{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 8px;min-width:0}input[type=range]{padding:0;accent-color:var(--brand)}input[type=checkbox]{accent-color:var(--brand);width:16px;height:16px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,h3,h4{margin:0}h3{font-size:15px}h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.r{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--good)}.neg{color:var(--bad)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.shell{display:grid;height:100%;grid-template-columns:var(--side-w) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"side header" "side main"}.sidebar{grid-area:side;background:var(--side-bg);color:var(--side-text);display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto;gap:14px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.02em;padding:2px 8px 8px}.brand-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--side-accent);color:var(--side-bg);font-size:16px}.nav,.subnav{list-style:none;margin:0;padding:0}.nav{display:flex;flex-direction:column;gap:2px}.navitem,.subitem{width:100%;justify-content:flex-start;background:transparent;border:0;color:var(--side-text);border-radius:9px}.navitem{padding:9px 10px;gap:10px;font-weight:500}.navitem svg{color:var(--side-muted);flex:none}.navitem:hover:not(:disabled),.subitem:hover:not(:disabled){background:var(--side-hover);border:0}.navitem.on{background:var(--side-active);font-weight:600}.navitem.on svg{color:var(--side-accent)}.badge{margin-left:auto;background:var(--side-accent);color:var(--side-bg);border-radius:99px;padding:0 7px;font-size:11px;font-weight:700}.subnav{margin:2px 0 6px 20px;padding-left:10px;border-left:1px solid var(--side-hover);display:flex;flex-direction:column;gap:1px}.subitem{display:grid;grid-template-columns:1fr auto;row-gap:4px;padding:7px 10px;text-align:left;font-size:13px}.subitem.on{background:var(--side-active)}.subitem.on .subname{color:#fff;font-weight:600}.subname{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcount{color:var(--side-muted);font-variant-numeric:tabular-nums;font-size:12px}.subitem .meter{grid-column:1 / -1;height:3px;background:var(--side-hover);border-radius:3px;overflow:hidden;display:block}.subitem .meter span{display:block;height:100%;background:var(--side-accent)}.subitem .meter span.near{background:#e3b85e}.subitem .meter span.over{background:#f08f84}.subitem.add{color:var(--side-muted);display:flex;gap:6px}.subitem.add:hover{color:var(--side-text)}.dot{width:7px;height:7px;border-radius:50%;background:#f08f84;display:inline-block;flex:none}.sidebar-foot{margin-top:auto;padding:0 8px;color:var(--side-muted)}.header{grid-area:header;display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;min-width:0}.menu-btn{display:none}.title{display:flex;flex-direction:column;min-width:0;margin-right:auto}.title h1{font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock{min-width:190px}.date{font-weight:600;font-variant-numeric:tabular-nums;display:flex;gap:8px;align-items:center}.season{font-size:11px;font-weight:600;padding:1px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.season.seca{background:var(--warn-bg);color:var(--seca)}.season.águas{background:var(--good-bg);color:var(--aguas)}.season.transição{background:var(--panel-2);color:var(--muted)}.daybar{height:4px;border-radius:4px;background:var(--panel-2);margin-top:6px;overflow:hidden}.daybar div{height:100%;background:var(--brand);transition:width .25s linear}.speeds{display:flex;gap:4px}.speeds button{min-width:44px;font-variant-numeric:tabular-nums}.speeds button.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.kpis{display:flex;gap:22px;margin:0}.kpis div{display:flex;flex-direction:column}.kpis dt,.stat span,.field span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpis dd{margin:0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.main{grid-area:main;overflow:hidden;min-height:0;min-width:0}.herd{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0}.herd.with-sheet{grid-template-columns:minmax(0,1fr) 400px}.content{display:flex;flex-direction:column;min-width:0;min-height:0;padding:16px 24px;gap:12px}.penpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{display:flex;flex-direction:column;min-width:120px;padding:8px 12px;background:var(--panel-2);border-radius:var(--radius)}.stat b{font-size:18px;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:11px}.stat.warn{background:var(--warn-bg)}.stat.warn b{color:var(--warn)}.feed{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.feed label{display:flex;gap:10px;align-items:center}.feed input[type=range]{width:200px}.alert{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:6px 10px;font-size:13px}.toolbar{display:flex;gap:8px;align-items:center}.toolbar input{width:280px}.bulk{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;background:var(--brand-2);border:1px solid var(--line);border-radius:var(--radius)}.bulk b{margin-right:6px}.group{display:inline-flex;gap:4px}.tablewrap{overflow:auto;min-height:0;flex:1;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}table{border-collapse:collapse;width:100%}.animals th,.animals td{padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.animals th{position:sticky;top:0;background:var(--panel-2);text-align:left;font-size:12px;color:var(--muted);font-weight:600;z-index:1}.animals th.r{text-align:right}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.animals tbody tr{cursor:pointer;transition:background var(--ease)}.animals tbody tr:hover{background:var(--panel-2)}.animals tr.open{background:var(--brand-2)}.animals tr.marked td.name{box-shadow:inset 3px 0 0 var(--accent)}.animals td.name{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:99px;background:var(--panel-2);margin-left:4px;white-space:nowrap;font-family:system-ui,sans-serif}.tag.good{background:var(--good-bg);color:var(--good)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.bad{background:var(--bad-bg);color:var(--bad)}.ecc{font-variant-numeric:tabular-nums;font-weight:600}.ecc.good{color:var(--good)}.ecc.warn{color:var(--warn)}.ecc.bad{color:var(--bad)}.empty{padding:48px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty p{margin:0}.empty-icon{font-size:32px}.sheet{border-left:1px solid var(--line);background:var(--panel);padding:16px 18px;overflow-y:auto;min-height:0}.sheet header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.sheet h2{font-size:15px;font-family:ui-monospace,SF Mono,Menlo,monospace;word-break:break-all}.close{padding:2px 8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.field div{font-variant-numeric:tabular-nums}.composition{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.composition .tag{margin-left:0}.genes{display:grid;gap:6px;margin-bottom:6px}.gene{display:grid;grid-template-columns:82px 1fr 130px;align-items:center;gap:8px;font-size:12px}.gene .bar{height:6px;background:var(--panel-2);border-radius:4px;overflow:hidden}.gene .bar div{height:100%;background:var(--accent)}.gene small{color:var(--muted)}.diseases{margin:0;padding-left:18px}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions .group input{width:110px}.sheet .group{max-width:100%}.sheet .group select{min-width:0;max-width:230px;flex:1 1 auto}.exam{margin-top:10px;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--radius);background:var(--panel-2);font-size:13px}.warntext{color:var(--warn)}.market{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;padding:16px 24px;overflow-y:auto;height:100%;align-content:start}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.card.wide{grid-column:1 / -1}.main>.card.wide{margin:16px 24px;max-height:calc(100% - 32px);overflow:hidden}.form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.form.col{flex-direction:column;align-items:stretch}.form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.form label small{font-size:11px}.form label.check{flex-direction:row;align-items:center;gap:8px;color:var(--text);font-size:14px}.form input[type=number]{width:110px}.form.col input[type=number]{width:auto}.plain th,.plain td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.plain th{font-size:12px;color:var(--muted);font-weight:600}.plain th.r,.plain td.r{text-align:right}.plainlist{margin:0;padding-left:18px}.messages{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.messages li{display:grid;grid-template-columns:110px 150px 1fr;gap:10px;padding:6px 4px;border-bottom:1px solid var(--line);font-size:13px}.messages li.bad{color:var(--bad)}.messages li.good{color:var(--good)}.when,.where{color:var(--muted)}.row.spread{justify-content:space-between;align-items:flex-start}.row.spread p{margin:4px 0 0;max-width:560px}.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rules li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}.rules li:last-child{border-bottom:0}.rules li.off .rule-text{opacity:.55}.rule-text{display:flex;flex-direction:column;min-width:0}.rule-text span{overflow-wrap:anywhere}.rule-btns{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.rule-btns button.icon{min-width:32px}.switch{position:relative;display:inline-flex;width:38px;height:22px;flex:none;cursor:pointer}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.switch span{width:100%;height:100%;border-radius:99px;background:var(--panel-2);border:1px solid var(--line);transition:background var(--ease)}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform var(--ease),background var(--ease)}.switch input:checked+span{background:var(--brand);border-color:var(--brand)}.switch input:checked+span:after{transform:translate(16px);background:var(--brand-ink)}.switch input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.modal:has(.rule-editor){width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto}.rule-editor,.rule-editor label{min-width:0}.rule-editor label>select{width:100%}.conds{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px 10px;margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}.conds legend{font-size:12px;color:var(--muted);padding:0 4px}.cond{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cond>select:first-child{flex:1 1 180px;min-width:0}.cond .group{flex-wrap:wrap}.cond select.cmp{width:56px}.cond input[type=number]{width:90px}.add-cond{align-self:flex-start;color:var(--brand)}.preview{margin:0;padding:8px 12px;border-radius:var(--radius);background:var(--brand-2);font-weight:600}.preview.zero{background:var(--panel-2);color:var(--muted)}@media(max-width:640px){.rules li{grid-template-columns:auto minmax(0,1fr)}.rule-btns{grid-column:1 / -1;justify-content:flex-start}.rule-btns button{min-height:40px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:30;padding:16px;animation:fade .15s ease}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;width:min(440px,100%);padding:20px;display:flex;flex-direction:column;gap:12px;animation:pop .2s ease}.modal h2{font-size:17px}.modal p{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}.toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:40;max-width:min(420px,calc(100vw - 32px))}.toast{background:var(--text);color:var(--bg);padding:8px 8px 8px 14px;border-radius:var(--radius);box-shadow:0 6px 24px #0003;font-size:13px;display:flex;align-items:center;gap:8px;animation:rise .2s ease}.toast span{flex:1}.toast button{color:inherit;opacity:.7}.toast button:hover:not(:disabled){background:transparent;border-color:transparent;opacity:1}.toast.error{background:var(--bad);color:#fff}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media(max-width:1200px){.herd.with-sheet{grid-template-columns:minmax(0,1fr)}.sheet{position:fixed;right:0;top:0;bottom:0;width:min(420px,100vw);z-index:20;box-shadow:-8px 0 30px #0000002e}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "main"}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--side-w),85vw);z-index:25;transform:translate(-100%);transition:transform .25s ease}.drawer-open .sidebar{transform:none;box-shadow:8px 0 30px #0000004d}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:24}.menu-btn{display:inline-flex;min-width:44px;min-height:44px}.header{gap:12px 16px;padding:10px 16px}.kpis{gap:16px}.content,.market{padding:12px 16px}.main>.card.wide{margin:12px 16px}}@media(max-width:640px){.speeds button{min-height:44px}.toolbar input{width:100%}.market{grid-template-columns:minmax(0,1fr)}.messages li{grid-template-columns:1fr;gap:0}.feed input[type=range]{width:140px}}.boot{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.boot .brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:800;font-size:20px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.savestatus{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:9px;background:var(--side-hover);color:var(--side-text);font-size:12px}.savestatus .line{display:flex;align-items:center;gap:6px}.savestatus .st{width:8px;height:8px;border-radius:50%;background:var(--side-muted);flex:none}.savestatus .st.ok{background:var(--side-accent)}.savestatus .st.warn{background:#e3b85e}.savestatus .st.bad{background:#f08f84}.slots{width:100%}.slots td,.slots th{vertical-align:top}.slots tr.current td{background:var(--brand-2)}.slotmeta{display:flex;flex-direction:column;font-size:12px}.slotmeta b{font-size:13px}.savestatus{border:0;align-items:stretch;justify-content:flex-start;text-align:left;width:100%;padding:8px 10px}.savestatus:hover:not(:disabled){background:var(--side-active);border:0}
