:root{--green:#1f6b45;--green2:#2f8a5d;--mint:#eaf4ee;--cream:#f6f4ed;--ink:#183228;--muted:#67776e;--line:#d9e0db;--danger:#a23c34;--white:#fff;--shadow:0 8px 24px rgba(30,65,47,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:84px}.topbar{height:86px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;padding:14px max(22px,calc((100vw - 1280px)/2));position:sticky;top:0;z-index:20}.topbar h1{font-size:22px;margin:2px 0}.eyebrow{font-size:10px;letter-spacing:.18em;opacity:.78}.status{font-size:13px;padding:7px 11px;background:rgba(255,255,255,.14);border-radius:99px}main{max-width:1280px;margin:auto;padding:24px}.page{display:none}.page.active{display:block}.page-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.page-title h2{font-size:28px;margin:0 0 4px}.page-title p,.muted{color:var(--muted);margin:0}.card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.filters{padding:14px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{min-width:150px}.grow{flex:1}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:14px}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:25px;margin-top:5px}.segmented{display:flex;gap:6px;margin:18px 0 10px;overflow:auto}.segmented button{white-space:nowrap;border-radius:99px}.segmented button.active{background:var(--green);color:white;border-color:var(--green)}label{font-size:12px;color:var(--muted);font-weight:600;display:flex;flex-direction:column;gap:5px}input,select,textarea,button{font:inherit;border:1px solid #cfd8d1;border-radius:10px;padding:11px 12px;background:white;color:var(--ink)}button{cursor:pointer;font-weight:650}button:hover{border-color:var(--green)}button.primary,.primary{background:var(--green);color:white;border-color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px;max-width:760px}.span2{grid-column:1/-1}.subform{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--mint);padding:14px;border-radius:12px}.hidden{display:none!important}.compact{padding:18px;margin-top:16px}.compact h3,.action-card h3{margin:0 0 8px}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.table-card{overflow:hidden}.table-wrap{overflow:auto;max-height:58vh;position:relative;overscroll-behavior:contain}.table-wrap thead{position:sticky;top:0;z-index:8}.table-wrap thead th{position:sticky;top:0;z-index:9;background:#e4f0e8;box-shadow:0 2px 0 #cddbd1}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#edf4ef;position:sticky;top:0;z-index:2;text-align:left;color:#3d5c4c}th,td{padding:11px 12px;border-bottom:1px solid #e6ebe7;white-space:nowrap}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f8f5}.split{display:grid;grid-template-columns:1.35fr .9fr;gap:14px}.detail{padding:18px;min-height:260px}.detail h3{margin:0 0 4px}.history-item{display:grid;grid-template-columns:90px 1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid #e6ebe7}.history-item small{color:var(--muted)}.mini-actions{display:flex;gap:6px}.mini-actions button{padding:6px 8px;font-size:11px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.action-card{padding:22px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.action-card p{margin:0;color:var(--muted)}.file-button{display:inline-block;background:var(--green);color:white;padding:11px 16px;border-radius:10px;cursor:pointer}.file-button input{display:none}.danger{border-color:#e2aaa5;background:#fff9f8}.danger h3{color:var(--danger)}.danger-button{color:white;background:var(--danger);border-color:var(--danger)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);display:flex;justify-content:center;border-top:1px solid var(--line);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{width:130px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px}.bottom-nav button span{font-size:20px}.bottom-nav button.active{color:var(--green);background:var(--mint)}dialog{border:0;border-radius:16px;box-shadow:0 22px 80px rgba(0,0,0,.25);width:min(92vw,460px)}dialog::backdrop{background:rgba(16,35,27,.48)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:20px;bottom:90px;background:#173e2b;color:white;padding:12px 16px;border-radius:11px;opacity:0;transform:translateY(10px);transition:.2s;z-index:50;max-width:360px}.toast.show{opacity:1;transform:none}.toast.error{background:#9b3028}
@media(max-width:900px){main{padding:18px}.metric-grid{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.subform{grid-template-columns:1fr 1fr}.table-wrap{max-height:48vh}.topbar{padding:12px 18px}.topbar h1{font-size:18px}.bottom-nav button{flex:1}.two-cards{grid-template-columns:1fr}}
@media(max-width:560px){main{padding:14px}.page-title h2{font-size:24px}.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr;padding:15px}.span2{grid-column:auto}.subform{grid-template-columns:1fr}.filters{align-items:stretch}.filters label,.filters button{width:100%}.bottom-nav button{font-size:9px}.bottom-nav button span{font-size:18px}.status{display:none}}
@media(min-width:1000px){#eventForm.event-form{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}#eventForm .event-identifier{grid-column:span 3}#eventForm:has(#eventTargetSexField:not(.hidden)) .event-identifier{grid-column:span 2}#eventForm .event-notes{grid-column:span 3}#eventForm .event-submit{grid-column:span 1;align-self:end;min-height:42px}}
@media(min-width:1180px){body{padding-bottom:0}.topbar{height:72px;margin-left:176px;padding:10px 30px}.topbar h1{font-size:20px}main{max-width:none;margin:0 0 0 176px;padding:22px 30px 34px}.bottom-nav{top:0;right:auto;width:176px;height:100vh;flex-direction:column;justify-content:flex-start;gap:5px;padding:92px 10px 16px;border-top:0;border-right:1px solid var(--line);background:#fff}.bottom-nav button{width:100%;min-height:50px;border-radius:11px;flex-direction:row;justify-content:flex-start;gap:12px;padding:9px 13px;font-size:13px;text-align:left}.bottom-nav button span{width:25px;font-size:20px;text-align:center}.bottom-nav button.active{border-left:4px solid var(--green);padding-left:9px}.form-grid,.manga-card,.offline-card{max-width:none}.manga-card{grid-template-columns:minmax(210px,.7fr) minmax(360px,1.3fr);align-items:center}.manga-card .manga-result{grid-column:1/-1}.offline-card{grid-template-columns:minmax(260px,1fr) auto;align-items:center}.offline-card #offlineStatus{grid-column:1/-1}.table-wrap{max-height:calc(100vh - 250px)}#bulkForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.filters{gap:12px 16px}.page-title{margin-bottom:15px}}
.manga-card{padding:18px;margin-bottom:16px;display:grid;gap:12px;max-width:760px}.manga-card h3{margin:0 0 4px}.manga-result{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdfb}.manga-main{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.manga-main strong{font-size:24px}.manga-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.manga-facts div{background:var(--mint);border-radius:12px;padding:10px}.manga-facts small{display:block;color:var(--muted);font-size:11px}.manga-facts b{display:block;margin-top:3px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-actions button{background:white}.export-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.apart-alert{background:#fff0b8;border:3px solid #b3261e;border-radius:14px;color:#8b1711;font-size:25px;font-weight:900;letter-spacing:.04em;padding:16px;text-align:center;box-shadow:0 5px 16px rgba(139,23,17,.18)}
.treatment-alert{background:#e7f0ff;border:3px solid #235a9f;border-radius:14px;color:#153f73;font-size:25px;font-weight:900;letter-spacing:.04em;padding:16px;text-align:center;box-shadow:0 5px 16px rgba(35,90,159,.18)}
.weaned-alert{background:#e5f5eb;border:3px solid #1f6b45;border-radius:14px;color:#155034;font-size:25px;font-weight:900;letter-spacing:.04em;padding:16px;text-align:center;box-shadow:0 5px 16px rgba(31,107,69,.16)}
@media(max-width:700px){.manga-facts{grid-template-columns:1fr 1fr}.manga-main strong{font-size:22px}.page-title{align-items:stretch;flex-direction:column}.page-title .file-button{text-align:center}}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}.section-heading{display:flex;align-items:center;gap:12px}.section-heading img{width:58px;height:58px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:50%;padding:5px;box-shadow:var(--shadow)}@media(max-width:560px){.brand img{width:44px;height:44px}.section-heading img{width:48px;height:48px}.topbar h1{font-size:17px}}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.chart-card{padding:16px}.chart-card h3{margin:0 0 12px}.chart-row{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(120px,2fr) 48px;align-items:center;gap:10px;margin:10px 0}.chart-label span{display:block;font-weight:700}.chart-label small{display:block;color:var(--muted);font-size:11px}.bar-track{height:16px;background:#e8eee9;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}@media(max-width:800px){.chart-grid{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr 1fr 44px}}
.cc-evolution-card{grid-column:1/-1}.cc-evolution-card>p{margin:-5px 0 14px}.cc-evolution-panels{display:grid;gap:14px}.cc-evolution-panel{border:1px solid var(--line);border-radius:13px;padding:14px;min-width:0}.cc-evolution-panel h4{margin:0 0 8px;font-size:17px}.cc-evolution-svg-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.cc-evolution-svg{display:block;width:100%;min-width:900px;height:auto;background:#fff}.cc-evolution-svg text{fill:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px}.cc-evolution-svg .cc-grid-line{stroke:#dfe6e1;stroke-width:1}.cc-evolution-svg .cc-axis-line{stroke:#52645a;stroke-width:2}.cc-evolution-svg .cc-count{font-size:10px;font-weight:750}.cc-evolution-svg .cc-bin-label{font-size:12px;font-weight:700}.cc-evolution-svg .cc-axis-title{font-size:13px;font-weight:800}.cc-distribution-legend{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-top:10px;color:var(--ink);font-size:12px}.cc-distribution-legend span{display:inline-flex;align-items:center;gap:5px}.cc-distribution-legend i{display:inline-block;width:18px;height:7px;border-radius:2px}@media(max-width:800px){.cc-evolution-card{grid-column:auto}.cc-evolution-panel{padding:10px}.cc-evolution-svg{min-width:820px}.cc-distribution-legend{justify-content:flex-start}}
.cc-range-chart{margin-top:20px;padding:16px;border-top:1px solid var(--line);background:#fbfdfb;border-radius:0 0 11px 11px}.cc-range-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.cc-range-heading h5{margin:0 0 4px;font-size:16px}.cc-range-heading p{margin:0;color:var(--muted);font-size:12px}.cc-range-legend{display:flex;gap:8px 14px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;font-weight:750}.cc-range-legend span,.cc-range-values span{display:inline-flex;align-items:center;gap:5px}.cc-range-legend i,.cc-range-values i{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 auto}.cc-range-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid #e5ebe7}.cc-range-row:first-of-type{border-top:0}.cc-range-date b,.cc-range-date small{display:block}.cc-range-date small{margin-top:3px;color:var(--muted);font-size:11px}.cc-range-track{display:flex;width:100%;height:30px;overflow:hidden;border-radius:7px;background:#e7ece8;box-shadow:inset 0 0 0 1px #d4ddd7}.cc-range-segment{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:11px;text-shadow:0 1px 1px rgba(0,0,0,.3)}.cc-range-values{display:flex;gap:7px 18px;flex-wrap:wrap;margin-top:7px;font-size:11px}.cc-range-values span{white-space:nowrap}.cc-range-values small{color:var(--muted)}@media(max-width:800px){.cc-range-heading{display:block}.cc-range-legend{justify-content:flex-start;margin-top:10px}.cc-range-row{grid-template-columns:1fr}.cc-range-track{height:26px}.cc-range-values{gap:6px 12px}}
.calving-chart{margin:14px 0}.calving-chart .chart-row{grid-template-columns:minmax(160px,1.2fr) minmax(160px,3fr) 54px}.calving-chart .bar-fill{min-width:2px}
.weaning-title{margin-top:28px}.secondary{background:#557267}.gauss-chart{min-height:275px;margin-top:10px}.gauss-plot{height:245px;position:relative;display:flex;align-items:flex-end;gap:5px;padding:14px 8px 50px;border-left:2px solid #52645a;border-bottom:2px solid #52645a;overflow:hidden}.gauss-bin{height:100%;flex:1;min-width:18px;display:flex;align-items:flex-end;justify-content:center;position:relative}.gauss-bar{width:72%;min-width:8px;background:linear-gradient(180deg,var(--green2),var(--green));border-radius:5px 5px 0 0;position:relative;z-index:1}.gauss-bar b{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:800;color:#10251a}.gauss-bin small{position:absolute;bottom:-38px;left:50%;transform:translateX(-50%) rotate(-32deg);transform-origin:center;white-space:nowrap;font-size:12px;font-weight:700;color:#10251a}.gauss-line{position:absolute;inset:14px 8px 50px;z-index:2;overflow:visible;pointer-events:none}.gauss-line polyline{fill:none;stroke:#c9660d;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.gauss-legend{display:flex;gap:22px;justify-content:center;margin-top:10px;font-size:13px;font-weight:700;color:#10251a}.gauss-legend i{display:inline-block;width:17px;height:5px;margin-right:6px;vertical-align:middle;background:var(--green)}.gauss-legend .curve i{background:#c9660d}.gauss-empty{display:grid;place-items:center;min-height:200px;color:var(--ink);font-weight:700}
@media(max-width:650px){.gauss-plot{overflow-x:auto}.gauss-bin{min-width:34px}.weaning-title{margin-top:22px}}
.checkbox-group{display:flex;flex-direction:row;gap:14px;flex-wrap:wrap;background:var(--mint);padding:12px;border-radius:12px}.checkbox-group label{flex-direction:row;align-items:center;color:var(--ink);font-size:14px}.checkbox-group input{width:auto}
.summary-rodeo-filter{width:100%;display:flex;flex-direction:column;gap:6px}.summary-rodeo-filter>span{font-size:12px;color:var(--muted);font-weight:700}
.offline-card{padding:16px;margin:0 0 16px;max-width:760px;display:grid;gap:10px}.offline-card h3{margin:0 0 4px}.offline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toggle-line{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.toggle-line input{width:auto}
.retag-section{margin:24px 0}.retag-title{margin-bottom:12px}.retag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.retag-grid .compact{margin-top:0}.retag-grid .file-button{text-align:center}.retag-result{margin-top:12px;line-height:1.5}.retag-history-card{margin-top:14px}.retag-history-card .compact{margin:0;box-shadow:none;border:0}.retag-history-card .table-wrap{max-height:320px}
@media(max-width:1000px){.retag-grid{grid-template-columns:1fr 1fr}.retag-grid>div:last-child{grid-column:1/-1}}
@media(max-width:650px){.retag-grid{grid-template-columns:1fr}.retag-grid>div:last-child{grid-column:auto}}
.gauss-line{top:14px;right:8px;bottom:50px;left:8px;width:calc(100% - 16px);height:calc(100% - 64px)}
.gauss-line polyline{stroke-width:2.2}
.gauss-bin.clickable{cursor:pointer;border-radius:8px;transition:background .15s,transform .15s}.gauss-bin.clickable:hover,.gauss-bin.clickable:focus-visible{background:#eef7f1;outline:2px solid var(--green);outline-offset:1px}.gauss-bin.clickable.active{background:#d9eee1;transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--green)}.weaning-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.weaning-detail-heading h3{margin:0 0 5px}
.bull-gain-card{margin-top:14px}.bull-gain-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.bull-gain-selectors{align-items:flex-end}.bull-gain-selectors label{min-width:210px}.bull-gain-info{margin-top:10px}.bull-gain-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.bull-gain-charts>.bull-gain-panel:only-child{grid-column:1/-1}.bull-gain-panel{border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}.bull-gain-panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.bull-gain-panel-title h4{font-size:18px;margin:0}.bull-gain-panel-title span{color:var(--muted);font-size:13px;font-weight:700}@media(max-width:800px){.bull-gain-heading{align-items:stretch;flex-direction:column}.bull-gain-selectors label{min-width:0;flex:1}.bull-gain-charts{grid-template-columns:1fr}.bull-gain-charts>.bull-gain-panel:only-child{grid-column:auto}}
.sortable-header{cursor:pointer;user-select:none;white-space:nowrap;padding-right:22px!important;position:relative}.sortable-header::after{content:'↕';position:absolute;right:7px;opacity:.45;font-size:11px}.sortable-header[aria-sort="ascending"]::after{content:'▲';opacity:1}.sortable-header[aria-sort="descending"]::after{content:'▼';opacity:1}.sortable-header:focus-visible{outline:2px solid #cf7b24;outline-offset:-2px}
.report-database-card{margin-top:0}.report-database-form{align-items:end;margin-top:16px}.report-save-status{margin-top:12px}.report-history-card{margin-top:16px}.report-history-card .compact{margin:0;box-shadow:none;border:0}.mini-file{padding:6px 9px;font-size:11px;text-decoration:none}.report-history-card td:nth-child(4){white-space:normal;min-width:260px;line-height:1.5}
.metric small{display:block;color:var(--muted);font-size:11px;line-height:1.3;margin-top:5px}.animal-identity-card{margin-bottom:16px}.animal-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.identity-option{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbfdfb}.identity-option h4{font-size:16px;margin:0}.identity-option button{margin-top:auto}@media(max-width:800px){.animal-identity-grid{grid-template-columns:1fr}}
.birth-status-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.birth-status-metrics .metric{border-width:2px}.birth-status-metrics .birth-live{border-color:#79ad8e;background:#f7fcf8}.birth-status-metrics .birth-dead{border-color:#c98983;background:#fff9f8}.birth-status-metrics .birth-malformed{border-color:#d6b36a;background:#fffcf4}@media(max-width:560px){.birth-status-metrics{grid-template-columns:1fr}}
.weight-import-card{align-items:flex-start}.weight-import-card>div:first-child{flex:1 1 300px}.weight-import-controls{flex:2 1 620px;align-items:flex-end}.weight-import-controls label:not(.file-button):not(.toggle-line){min-width:145px}.weight-import-controls .toggle-line{padding:10px 0}.weaning-comparison-grid{margin:14px 0}.weaning-comparison-grid .compact{margin:0;box-shadow:none;border:0}.weaning-comparison-grid .table-wrap{max-height:360px}@media(max-width:700px){.weight-import-controls{align-items:stretch;flex-direction:column}.weight-import-controls label,.weight-import-controls .file-button,.weight-import-controls a{width:100%;text-align:center}}
.establishment-stock-card{margin-bottom:16px}.establishment-stock-card .compact{margin:0;box-shadow:none;border:0}.establishment-stock-card .table-wrap{max-height:320px}.establishment-stock-card td:nth-child(n+2){font-weight:700;text-align:center}.establishment-stock-card th:nth-child(n+2){text-align:center}
.treatment-form{margin-top:16px}.treatment-form h3{margin:0 0 7px}.event-treatment-block{border:1px solid var(--line);border-radius:12px;background:#f7fbf8;padding:14px;display:grid;gap:11px}.treatment-list-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.treatment-list-heading div{display:flex;flex-direction:column;gap:3px}.treatment-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.treatment-row button{color:var(--danger);font-size:20px;line-height:1;padding:9px 13px}.treatment-rows{display:grid;gap:9px}.treatment-history-card{margin:16px 0}.treatment-history-card .compact{margin:0;box-shadow:none;border:0}.treatment-history-card .table-wrap{max-height:330px}@media(max-width:560px){.treatment-list-heading{align-items:stretch;flex-direction:column}.treatment-list-heading button{width:100%}}
.rodeo-transfer-form{margin-top:16px}.rodeo-transfer-form h3{margin:0 0 7px}.rodeo-transfer-form textarea[name="caravans"]{min-height:88px}
.bull-evaluation-form{margin:16px 0;max-width:none}.bull-evaluation-form h3{margin:0 0 7px}.bull-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.bull-history-item{grid-template-columns:90px 1fr}.bull-history-item p{margin:7px 0 0;color:var(--muted);font-size:12px}@media(max-width:700px){.bull-metrics{grid-template-columns:1fr}.bull-evaluation-form{grid-template-columns:1fr}.bull-evaluation-form .span2{grid-column:auto}}
.weaning-charts{display:grid;gap:18px}
.weaning-round-section.separated{border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.48)}
.weaning-round-heading{display:flex;align-items:baseline;gap:14px;margin:0 0 12px 2px}
.weaning-round-heading h3,.weaning-round-heading p{margin:0}
.table-link{border:0;background:transparent;color:var(--green);padding:2px;text-decoration:underline;text-underline-offset:3px;font-weight:800}.table-link:hover,.table-link:focus-visible{color:var(--green2);outline:2px solid var(--green);outline-offset:2px}.wide-dialog{width:min(94vw,1050px)}.wide-dialog .table-wrap{max-height:65vh}
.weaning-detail-card .table-wrap{max-height:70vh}
.weaning-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.weaning-view-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;text-align:left;border:2px solid var(--line);background:#fff}.weaning-view-tabs button strong{font-size:16px}.weaning-view-tabs button span{color:var(--muted);font-size:12px;font-weight:500}.weaning-view-tabs button.active{border-color:var(--green);background:var(--mint);box-shadow:inset 4px 0 0 var(--green)}.weaning-view-tabs button.active strong{color:var(--green)}.weaning-animal-filter{display:flex;align-items:end;justify-content:space-between;gap:18px}.weaning-animal-filter>div{flex:1}.weaning-animal-filter label{min-width:min(100%,420px)}@media(max-width:700px){.weaning-view-tabs{grid-template-columns:1fr}.weaning-animal-filter{align-items:stretch;flex-direction:column}.weaning-animal-filter label{width:100%;min-width:0}}
.topbar-actions{display:flex;align-items:center;gap:10px}.bottom-nav .sidebar-toggle{display:none}.sidebar-toggle span{font-size:20px;line-height:1}.sidebar-toggle b,.nav-label{font-weight:700}
.user-chip{padding:7px 10px;border-radius:999px;background:#e6f2eb;color:var(--green);font-size:12px;font-weight:800;white-space:nowrap}.logout-link{color:var(--green);font-size:12px;font-weight:800;text-decoration:none;padding:7px 4px}.user-form{margin-bottom:16px}.user-form h3{margin:0}.user-table-card{margin-bottom:16px}.user-table-card .compact,.audit-card .compact{margin:0;box-shadow:none;border:0}.user-table-card small,.audit-card small{display:block;color:var(--muted);margin-top:3px}.audit-card{display:grid;gap:14px}.audit-card .table-wrap{max-height:520px}.audit-device{max-width:190px;overflow-wrap:anywhere;font-size:11px}.audit-detail{min-width:260px;max-width:440px;white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.audit-card td:nth-child(6){font-weight:800}@media(max-width:700px){.user-chip{max-width:150px;overflow:hidden;text-overflow:ellipsis}.logout-link{padding:7px 0}.user-form{grid-template-columns:1fr}.user-form .span2{grid-column:auto}.audit-card .inline-form{align-items:stretch;flex-direction:column}.audit-card .inline-form label,.audit-card .inline-form button{width:100%}}
@media(min-width:1180px){.bottom-nav .sidebar-toggle{display:flex;border:1px solid var(--line);background:#f5f8f6;color:var(--green);margin-bottom:8px}.bottom-nav .sidebar-toggle:hover{border-color:var(--green);background:var(--mint)}.topbar,main,.bottom-nav{transition:margin-left .18s ease,width .18s ease}.sidebar-collapsed .topbar{margin-left:68px}.sidebar-collapsed main{margin-left:68px}.sidebar-collapsed .bottom-nav{width:68px;padding-left:7px;padding-right:7px}.sidebar-collapsed .bottom-nav button{justify-content:center;padding:9px 6px}.sidebar-collapsed .bottom-nav button.active{padding-left:2px}.sidebar-collapsed .bottom-nav button span{width:auto}.sidebar-collapsed .bottom-nav .nav-label{display:none}}

.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:16px}.calendar-card,.calendar-form{padding:18px}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;margin-bottom:14px}.calendar-toolbar h3{font-size:22px;margin:0}.calendar-toolbar>button{font-size:28px;padding:5px}.calendar-today{border:0;padding:3px 8px;color:var(--green);font-size:12px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:700;padding:5px}.calendar-day{min-height:96px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px;text-align:left;display:flex;flex-direction:column;gap:4px;overflow:hidden}.calendar-day:hover{background:#f6faf7}.calendar-day.outside{opacity:.36}.calendar-day.today{border:2px solid var(--green)}.calendar-day.selected{background:var(--mint)}.calendar-day-number{font-size:12px;font-weight:800}.calendar-event-pill{display:block;width:100%;border-radius:5px;padding:3px 5px;font-size:10px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#dcece3;color:#174a31}.calendar-event-pill.reminder{background:#fff1c9;color:#72520b}.calendar-event-pill.overdue{background:#f6d8d4;color:#8d2f27}.calendar-more{font-size:10px;color:var(--muted)}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:11px;height:11px;border-radius:3px;background:#dcece3}.calendar-legend .legend-reminder{background:#fff1c9}.calendar-legend .legend-overdue{background:#f6d8d4}.calendar-form{display:flex;flex-direction:column;gap:12px;align-self:start}.calendar-form h3{margin:0}.calendar-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-agenda-card{margin-top:16px}.calendar-agenda{padding:0 18px 18px}.agenda-item{display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #e6ebe7}.agenda-date{font-size:12px;color:var(--muted)}.agenda-main strong,.agenda-main small{display:block}.agenda-main small{color:var(--muted);margin-top:3px}.agenda-actions{display:flex;gap:6px}.agenda-actions button{padding:6px 9px;font-size:11px}.priority-high{color:#a33d32}.agenda-item.completed .agenda-main{text-decoration:line-through;opacity:.55}
.calendar-metric-alert{border-color:#d78578;background:#fff8f7}.calendar-rules-card{margin-top:16px;overflow:hidden}.calendar-rule-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px;align-items:end}.calendar-rule-form .rule-notes{grid-column:span 2}.calendar-rule-form .dialog-actions{align-self:end}.calendar-rules-card table small{display:block;color:var(--muted);margin-top:3px}.calendar-event-pill.reminder:first-letter{font-weight:800}
@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}.calendar-day{min-height:78px;padding:5px}.calendar-event-pill{font-size:9px}.agenda-item{grid-template-columns:76px 1fr}.agenda-actions{grid-column:2}.calendar-rule-form{grid-template-columns:1fr 1fr}.calendar-rule-form .rule-notes{grid-column:span 2}}
@media(max-width:560px){.calendar-title{align-items:stretch}.calendar-title .inline-form button{flex:1}.calendar-card{padding:10px}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-day{min-height:66px;border-radius:7px}.calendar-day .calendar-event-pill:nth-of-type(n+3){display:none}.calendar-form-row{grid-template-columns:1fr}.agenda-item{grid-template-columns:64px 1fr;gap:8px}.calendar-toolbar h3{font-size:18px}.calendar-rule-form{grid-template-columns:1fr}.calendar-rule-form .rule-notes{grid-column:auto}}
.weight-evolution-card{margin:14px 0;padding:18px;overflow:hidden}.weight-evolution-heading h3{margin:0 0 6px}.weight-evolution-scroll{overflow-x:auto;overscroll-behavior-inline:contain;margin-top:8px}.weight-evolution-svg{display:block;width:100%;min-width:760px;height:auto}.weight-evolution-svg text{fill:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.weight-grid-line{stroke:#dfe6e1;stroke-width:1}.weight-axis{stroke:#52645a;stroke-width:1.8}.weight-area{fill:url(#none);fill:#f2a660;opacity:.28}.weight-line{fill:none;stroke:#e87924;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.weight-point{fill:#e87924;stroke:#fff;stroke-width:3}.weight-value{font-size:14px;font-weight:850}.weight-delta{font-size:12px;font-weight:800;fill:var(--green)!important}.weight-delta.negative{fill:var(--danger)!important}.weight-round-label{font-size:13px;font-weight:800}.weight-date-label{font-size:12px;fill:var(--muted)!important}.weight-axis-title{font-size:13px;font-weight:800}@media(max-width:700px){.weight-evolution-card{padding:14px}.weight-evolution-svg{min-width:720px}}
.bull-round-charts{display:grid;gap:16px;margin:16px 0}.bull-round-card{padding:18px}.bull-round-heading h3{margin:0 0 5px}.bull-round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.bull-metric-panel{border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}.bull-metric-panel h4{font-size:17px;margin:0 0 4px}.bull-metric-bars{display:grid;gap:11px;margin-top:14px}.bull-metric-row{display:grid;grid-template-columns:minmax(115px,1.1fr) minmax(150px,2fr) 88px;align-items:center;gap:10px}.bull-metric-label b,.bull-metric-label small{display:block}.bull-metric-label small{font-size:11px;color:var(--muted);margin-top:2px}.bull-metric-track{height:17px;background:#e7ede9;border-radius:999px;overflow:hidden}.bull-metric-track i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}.bull-metric-track i.negative{background:var(--danger)}.bull-metric-row>strong{text-align:right;font-size:13px}@media(max-width:850px){.bull-round-grid{grid-template-columns:1fr}}@media(max-width:560px){.bull-metric-row{grid-template-columns:minmax(100px,1fr) minmax(100px,1.4fr) 76px;gap:7px}.bull-round-card{padding:13px}}
.bull-vertical-scroll{overflow-x:auto;overscroll-behavior-inline:contain;margin-top:10px}.bull-vertical-svg{display:block;width:100%;min-width:680px;height:auto}.bull-vertical-svg text{fill:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.bull-vertical-grid{stroke:#dfe6e1;stroke-width:1}.bull-vertical-axis{stroke:#52645a;stroke-width:2}.bull-vertical-bar{fill:#3e8a66;opacity:.88}.bull-vertical-bar.gain{fill:#e37a3e}.bull-vertical-bar.negative{fill:var(--danger)}.bull-vertical-value{font-size:12px;font-weight:850}.bull-vertical-label{font-size:12px;font-weight:750}.bull-vertical-count{font-size:10px;fill:var(--muted)!important}.bull-vertical-axis-title{font-size:12px;font-weight:800}@media(max-width:850px){.bull-round-grid{grid-template-columns:1fr}}@media(max-width:560px){.bull-round-card{padding:13px}.bull-metric-panel{padding:10px}.bull-vertical-svg{min-width:650px}}
.bull-separated-charts{display:grid;gap:16px}.bull-combined-card{padding:18px}.bull-combined-scroll{overflow-x:auto;overscroll-behavior-inline:contain;margin-top:10px}.bull-combined-svg{display:block;width:100%;min-width:840px;height:auto}.bull-combined-svg text{fill:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.bull-combined-grid{stroke:#dfe6e1;stroke-width:1}.bull-combined-axis{stroke:#52645a;stroke-width:2}.bull-combined-bar{opacity:.9}.bull-combined-value{font-size:10px;font-weight:850}.bull-combined-days{font-size:9px;font-weight:800;fill:#496157!important}.bull-combined-label{font-size:12px;font-weight:750}.bull-combined-axis-title{font-size:12px;font-weight:850}.bull-combined-legend{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin:10px 0 18px;font-size:12px;font-weight:700}.bull-combined-legend span{display:inline-flex;align-items:center;gap:5px}.bull-combined-legend i{display:inline-block}.bull-combined-legend .legend-bar{width:14px;height:10px;border-radius:2px}@media(max-width:560px){.bull-combined-card{padding:12px}.bull-combined-svg{min-width:780px}}
.weaning-sex-comparison{display:grid;gap:14px;margin:14px 0}.sex-gain-card{overflow:hidden}.sex-gain-card .compact{margin:0;box-shadow:none;border:0}.sex-gain-bars{display:grid;gap:10px;padding:0 18px 18px}.sex-gain-row{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(180px,2fr) 46px;align-items:center;gap:12px;width:100%;padding:12px;text-align:left;background:#fbfdfb;border-radius:12px}.sex-gain-row:hover,.sex-gain-row:focus-visible{background:#eef7f1;outline:2px solid var(--green);outline-offset:1px}.sex-gain-row.active{background:#d9eee1;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.sex-gain-label b,.sex-gain-label small{display:block}.sex-gain-label b{font-size:16px}.sex-gain-label small{margin-top:3px;color:var(--muted);font-weight:650}.sex-gain-track{height:18px;background:#e4ece6;border-radius:999px;overflow:hidden}.sex-gain-track i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}.sex-gain-row>strong{text-align:right;font-size:18px}.calf-lineage-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calf-lineage-info>div{padding:10px;background:var(--mint);border-radius:10px;min-width:0}.calf-lineage-info span,.calf-lineage-info small{display:block;color:var(--muted);font-size:11px}.calf-lineage-info strong{display:block;margin:3px 0;overflow-wrap:anywhere}@media(max-width:700px){.sex-gain-row{grid-template-columns:1fr 42px}.sex-gain-track{grid-column:1/-1;grid-row:2}.calf-lineage-info{grid-template-columns:1fr}}
