@font-face{font-family:Fraunces;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/fraunces-600.woff2)format("woff2")}@font-face{font-family:Fraunces;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/fraunces-700.woff2)format("woff2")}@font-face{font-family:Karla;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/karla-400.woff2)format("woff2")}@font-face{font-family:Karla;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/karla-700.woff2)format("woff2")}@font-face{font-family:Spectral;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/spectral-600.woff2)format("woff2")}:root{--color-text:#241c17;--color-text-muted:#6e5d4d;--color-bg:#f6f0e7;--color-surface:#fffdf9;--color-border:#e6d9c8;--color-accent:#8c2f26;--color-accent-hover:#741f18;--color-accent-contrast:#fff;--color-danger:#b3491f;--color-status-active:#1e8a4f;--color-status-sold:#2266b8;--color-status-slaughtered:#c4740a;--color-status-dead:#6b7178;--color-status-missing:#7a3b8c;--color-category-ram:#1f6f6a;--color-category-ooi:#8b4b6b;--color-category-lammer:#8f6417;--space-1:.375rem;--space-2:.625rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:3.5rem;--radius:20px;--radius-sm:12px;--radius-pill:999px;--shadow-sm:0 1px 3px #3c281414, 0 2px 10px #3c28140f;--shadow-md:0 8px 24px #3c281424, 0 2px 6px #3c281414;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-heading:"Fraunces", Georgia, serif;--font-body:"Karla", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-numeral:"Spectral", Georgia, serif;--touch-target:48px;--transition:.15s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:17px/1.55 var(--font-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--color-text);font-family:var(--font-heading);font-weight:700;line-height:1.25}h1{font-size:var(--font-size-2xl);margin:0 0 var(--space-5)}h2{font-size:var(--font-size-xl);margin:var(--space-6) 0 var(--space-4)}p{margin:0 0 var(--space-3);color:var(--color-text)}a{color:var(--color-accent);transition:color var(--transition);font-weight:600;text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}header{align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-wrap:wrap;display:flex;position:sticky;top:0}.header-brand{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--color-text);margin-right:auto;font-weight:700}.header-brand:hover{color:var(--color-text);text-decoration:none}.header-brand-dot{color:var(--color-accent);font-weight:700}.home-search.header-search{flex:220px;max-width:360px;margin-bottom:0}.header-status{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.sync-status-badge{align-items:center;gap:var(--space-1);cursor:default;display:inline-flex}.sync-status-dot{background:var(--color-status-dead);border-radius:50%;width:8px;height:8px}.sync-status-online .sync-status-dot{background:var(--color-status-active)}.header-user-menu{position:relative}.header-user{min-height:auto;font-size:var(--font-size-sm);color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:2px;padding:0;font-weight:500;display:inline-flex}.header-user:hover{color:var(--color-accent);border:none}.header-user-caret{opacity:.7;font-size:.7em}.header-user-badge{opacity:.7;font-size:.8em}.header-user-dropdown{top:calc(100% + var(--space-2));z-index:15;min-width:170px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;right:0}.header-user-dropdown a,.header-user-dropdown button{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);min-height:auto;font-size:var(--font-size-sm);color:var(--color-text);background:0 0;border:none;font-weight:600;display:block}.header-user-dropdown a:hover,.header-user-dropdown button:hover{background:var(--color-bg);color:var(--color-accent);border:none;text-decoration:none}.header-build-info{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.search-backdrop{z-index:4;background:color-mix(in srgb, var(--color-bg) 55%, transparent);-webkit-backdrop-filter:blur(6px);position:fixed;inset:0}main{width:100%;max-width:720px;padding:var(--space-6) var(--space-5) var(--space-6);flex:1;margin:0 auto}main>section>:first-child{margin-top:0}form{gap:var(--space-4);flex-direction:column;display:flex}label{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;font-weight:600;display:flex}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){color:var(--color-text);font-weight:400;font-size:var(--font-size-base);flex-direction:row;align-items:center}input,select,textarea{font:inherit;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-3);min-height:var(--touch-target);width:100%;transition:border-color var(--transition), box-shadow var(--transition)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border))}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 15%, transparent)}textarea{padding:var(--space-3);min-height:calc(var(--touch-target) * 2)}input[type=checkbox],input[type=radio]{min-height:unset;width:22px;height:22px;accent-color:var(--color-accent);flex:none;padding:0}input:disabled,select:disabled,button:disabled{opacity:.55;cursor:not-allowed}fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);gap:var(--space-3);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;margin:0;display:flex}legend{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;padding:0 var(--space-2)}.row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.row-fields{gap:var(--space-2);flex-wrap:wrap;display:flex}.row-fields>input{flex:140px;width:auto}.photo-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);max-width:200px;max-height:200px;display:block}button{font:inherit;font-size:var(--font-size-base);min-height:var(--touch-target);padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--transition), background-color var(--transition), color var(--transition), box-shadow var(--transition), transform .1s ease;font-weight:600}button:not(:disabled):hover{border-color:var(--color-accent);color:var(--color-accent)}button:not(:disabled):active{transform:scale(.98)}button[type=submit]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast);box-shadow:var(--shadow-sm)}button[type=submit]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-contrast)}button.button-danger{color:var(--color-danger);border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}button.button-danger:not(:disabled):hover{color:var(--color-danger);border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 16%, var(--color-surface))}[role=group]{gap:var(--space-2);flex-wrap:wrap;display:flex}[role=group] button{min-height:40px;padding:0 var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-pill)}[role=group] button[aria-pressed=true]{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);color:var(--color-accent)}[role=group] button[aria-pressed=true]:not(:disabled):hover{background:color-mix(in srgb, var(--color-accent) 20%, var(--color-surface));border-color:var(--color-accent);color:var(--color-accent)}nav{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.detail-actions{margin-top:0;margin-bottom:var(--space-5)}.detail-actions button{border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm)}.detail-delete-row{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}nav a{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text);box-shadow:var(--shadow-sm);transition:border-color var(--transition), color var(--transition), box-shadow var(--transition);align-items:center;display:inline-flex}nav a:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-md);text-decoration:none}ul{margin:0 0 var(--space-5);flex-direction:column;padding:0;list-style:none;display:flex}li{padding:var(--space-4) .1rem;border-bottom:1px solid var(--color-border);transition:background-color var(--transition)}li:last-child{border-bottom:none}li:has(a:hover){background:color-mix(in srgb, var(--color-accent) 5%, transparent)}li a{color:var(--color-text);font-weight:600;display:block}li a:hover{color:var(--color-accent);text-decoration:none}.tile-button{text-align:left;width:100%;min-height:auto;font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;display:block}.tile-button:hover{color:var(--color-accent);border:none}li a.list-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.animal-list-row{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:700;display:flex}.animal-list-row:hover{color:var(--color-text);text-decoration:none}dl{margin:0 0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}dt{color:var(--color-text-muted);font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.02em;padding:var(--space-3) var(--space-4) 0}dd{padding:.3rem var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);margin:0;font-size:1.05rem}dd:last-of-type{border-bottom:none}table{border-collapse:collapse;width:100%;margin:0 0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}th{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}tr:last-child td{border-bottom:none}article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);margin:0 0 var(--space-4);box-shadow:var(--shadow-sm)}article dl{box-shadow:none;border:none;border-radius:0;margin:0;padding:0;overflow:visible}article h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.dash-grid{gap:var(--space-4);margin:0 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}@media (width>=900px){.dash-grid{width:calc(100vw - 2 * var(--space-5));max-width:1200px;margin-left:50%;transform:translate(-50%)}}.dash-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4) var(--space-4) var(--space-3);box-shadow:var(--shadow-sm);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex}.dash-card:hover{border-color:color-mix(in srgb, var(--color-accent) 30%, var(--color-border));box-shadow:var(--shadow-md);color:var(--color-text);text-decoration:none;transform:translateY(-1px)}.dash-card-title{font-size:var(--font-size-base);color:var(--color-text-muted);letter-spacing:.01em;margin:0;font-weight:700}.dash-card-figure{margin:var(--space-2) 0 var(--space-3);flex-direction:column;gap:2px;display:flex}.dash-card-value{font-family:var(--font-numeral);color:var(--color-accent);font-variant-numeric:tabular-nums lining-nums;font-size:2.25rem;font-weight:600;line-height:1}.dash-card-unit{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dash-card-visual{margin-bottom:var(--space-3)}.dash-card-description{padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:auto 0 0}.dash-bars{align-items:flex-end;gap:var(--space-1);height:64px;display:flex}.dash-bar-col{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.dash-bar-track{flex-direction:column;flex:1;justify-content:flex-end;width:100%;display:flex}.dash-bar{border-radius:4px 4px 0 0;width:100%;min-height:2px}.dash-bar-label{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.6875rem;overflow:hidden}.dash-segment-bar{border-radius:var(--radius-pill);background:var(--color-border);height:12px;display:flex;overflow:hidden}.dash-segment{height:100%}.dash-segment-legend{gap:var(--space-1) var(--space-3);margin-top:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;font-size:.6875rem;display:flex}.dash-segment-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.dash-segment-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.dash-meter{border-radius:var(--radius-pill);background:var(--color-border);height:12px;overflow:hidden}.dash-meter-fill{border-radius:var(--radius-pill);height:100%}.reports-sheets-section{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.reports-sheets-section h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.reports-sheets-section .report-caption,.flock-counts-totals-caption,.stamboom-intro{margin:0 0 var(--space-4)}.stamboom-controls{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.stamboom-search{flex:14rem;min-width:0}.stamboom-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.family-tree,.family-children{margin:0;padding:0;list-style:none}.family-tree{margin-bottom:var(--space-4)}.family-children{padding-left:var(--space-4);margin-left:11px;position:relative}.family-node{border-bottom:none;padding:0;position:relative}.family-node:has(a:hover){background:0 0}.family-children>.family-node:before{content:"";left:calc(-1 * var(--space-4));width:var(--space-4);background:var(--color-border);z-index:1;height:1px;position:absolute;top:19px}.family-children>.family-node:after{content:"";left:calc(-1 * var(--space-4));background:var(--color-border);width:1px;position:absolute;top:0;bottom:0}.family-children>.family-node:last-child:after{height:20px;bottom:auto}.family-row{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-1) 0;flex-wrap:wrap;display:flex}.family-row-current{background:color-mix(in srgb, var(--color-accent) 8%, transparent);border-radius:var(--radius-sm);padding-left:var(--space-2);padding-right:var(--space-2)}.family-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:22px;min-width:22px;height:22px;min-height:22px;box-shadow:none;color:var(--color-text-muted);cursor:pointer;z-index:2;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;display:flex;position:relative}.family-toggle-spacer{width:22px;min-width:22px;display:inline-block}.family-tag{box-shadow:none;min-height:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:700}.family-tag:hover{color:var(--color-accent)}.family-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.family-tag-cta{font-size:var(--font-size-sm);color:var(--color-accent);box-shadow:none;cursor:pointer;background:0 0;border:none;min-height:0;padding:0;text-decoration:underline}.family-tag-form{align-items:center;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2) 30px;flex-wrap:wrap;display:flex}.family-tag-form>input{flex:120px;width:auto}.family-count{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:1px var(--space-2);white-space:nowrap;font-size:.6875rem}.family-line{align-items:baseline;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.family-line-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:700}.family-line-arrow{color:var(--color-text-muted)}.stamboom-childless-caption{margin:0 0 var(--space-3)}.stamboom-childless{gap:var(--space-2);flex-wrap:wrap;display:flex}.all-data-intro{margin:0 0 var(--space-4)}.all-data-controls{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.all-data-search{flex:12rem;min-width:0}.all-data-filter{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:row;display:inline-flex}.all-data-filter select{min-width:7rem}.all-data-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.all-data-scroll{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overscroll-behavior:contain;max-height:70vh;overflow:auto}@media (width>=900px){.all-data-scroll,.all-data-controls{width:calc(100vw - 2 * var(--space-5));max-width:1400px;margin-left:50%;transform:translate(-50%)}}.all-data-table{box-shadow:none;white-space:nowrap;border-collapse:separate;border-spacing:0;border:none;border-radius:0;margin:0;overflow:visible}.all-data-table thead th{z-index:2;background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-border);position:sticky;top:0}.all-data-table thead th:first-child,.all-data-table thead th:nth-child(2){z-index:3}.all-data-table tbody td:first-child,.all-data-table thead th:first-child,.all-data-table tbody td:nth-child(2),.all-data-table thead th:nth-child(2){background:var(--color-surface);box-shadow:inset -1px 0 0 var(--color-border);text-overflow:ellipsis;min-width:150px;max-width:150px;position:sticky;overflow:hidden}.all-data-table tbody td:first-child,.all-data-table thead th:first-child{left:0}.all-data-table tbody td:nth-child(2),.all-data-table thead th:nth-child(2){left:150px}.all-data-table .link-button{min-height:0;padding:0}.all-data-scroll .all-data-table th,.all-data-scroll .all-data-table td{padding:var(--space-1) var(--space-3)}.all-data-table .ooi-lambs-sort-btn{min-height:0}.all-data-colour{color:var(--color-text-muted);font-size:var(--font-size-sm)}.timeline-intro{margin:0 0 var(--space-4)}.timeline-filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.timeline-filter{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);display:inline-flex}.timeline-filter-on{color:var(--color-text);border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface))}.timeline-filter input{width:1rem;height:1rem;accent-color:var(--color-accent);margin:0}.timeline-filter:not(.timeline-filter-on) .timeline-filter-dot{opacity:.35}.timeline-filter-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.timeline-scroll{overscroll-behavior-x:contain;padding-bottom:var(--space-2);overflow-x:auto}@media (width>=900px){.timeline-scroll{width:calc(100vw - 2 * var(--space-5));max-width:1200px;margin-left:50%;transform:translate(-50%)}}.timeline-track{align-items:stretch;min-width:min-content;display:flex}.timeline-column-wrap{align-items:stretch;display:flex}.timeline-column{border-left:1px solid var(--color-border);width:168px;padding:0 var(--space-2) var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.timeline-month-label{font-family:var(--font-heading);font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);white-space:nowrap;font-weight:700}.timeline-rows{flex-direction:column;gap:2px;display:flex}.timeline-row{align-items:baseline;gap:var(--space-1);width:100%;min-height:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);box-shadow:none;text-align:left;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.timeline-row:hover{background:color-mix(in srgb, var(--color-accent) 7%, transparent)}.timeline-row-selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.timeline-row-dot{border-radius:2px;flex-shrink:0;align-self:center;width:8px;height:8px}.timeline-row-count{font-family:var(--font-numeral);font-variant-numeric:tabular-nums lining-nums;flex-shrink:0;font-weight:600}.timeline-row-label{color:var(--color-text-muted);font-size:.8125rem;line-height:1.3}.timeline-gap{border-left:1px dashed var(--color-border);background:repeating-linear-gradient(45deg, transparent, transparent 5px, color-mix(in srgb, var(--color-border) 45%, transparent) 5px, color-mix(in srgb, var(--color-border) 45%, transparent) 6px);flex-shrink:0;justify-content:center;align-items:center;width:34px;display:flex}.timeline-gap-count{color:var(--color-text-muted);background:var(--color-bg);border-radius:var(--radius-sm);padding:2px 4px;font-size:.6875rem}.timeline-detail{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.timeline-detail h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.timeline-detail-event+.timeline-detail-event{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.timeline-detail-date{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:700}.timeline-detail-animals{gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-animal-chip{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);min-height:0;box-shadow:none;font:inherit;font-weight:700;font-size:var(--font-size-sm);color:inherit;cursor:pointer;transition:border-color var(--transition), background var(--transition);margin:0}.timeline-animal-chip:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 7%, var(--color-surface))}.ooi-lambs-distribution{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-4);box-shadow:var(--shadow-sm)}.ooi-lambs-distribution h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.ooi-lambs-distribution-bars{align-items:flex-end;gap:var(--space-2);display:flex}.ooi-lambs-distribution-col{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.ooi-lambs-distribution-track{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;max-width:2.75rem;height:120px;display:flex}.ooi-lambs-distribution-count{font-size:var(--font-size-sm);margin-bottom:var(--space-1);font-variant-numeric:tabular-nums;font-weight:700}.ooi-lambs-distribution-bar{background:var(--color-category-ooi);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;min-height:2px}.ooi-lambs-distribution-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.report-caption{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.table-scroll{overflow-x:auto}@media (width>=900px){.table-scroll{width:calc(100vw - 2 * var(--space-5));max-width:1200px;margin-left:50%;transform:translate(-50%)}}.report-table th,.report-table td{padding:var(--space-2) var(--space-3);white-space:nowrap}.ooi-lambs-group-header td{background:var(--color-bg);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;white-space:normal;font-weight:700}.ooi-lambs-sort-btn{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.ooi-lambs-tag-cell{align-items:center;gap:var(--space-2);display:flex}.ooi-lambs-expand-btn{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:1.25rem;margin:0;padding:0}.ooi-lambs-detail-row td{background:var(--color-bg);padding:var(--space-2) var(--space-3);white-space:normal}.ooi-lambs-litter+.ooi-lambs-litter{margin-top:var(--space-3)}.ooi-lambs-litter-date{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-weight:700}.ooi-lambs-litter .animal-list-row{padding:var(--space-1) 0}.ooi-lambs-lamb-btn{padding:var(--space-1) 0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;margin:0}.twin-lambs-cell{flex-direction:column;display:flex}.twin-lambs-cell .animal-list-row{padding:var(--space-1) 0}.link-button{font:inherit;color:var(--color-accent);cursor:pointer;transition:color var(--transition);background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:none}.link-button:hover{color:var(--color-accent-hover);text-decoration:underline}.modal-backdrop{z-index:100;background:#1a1d2180;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius) var(--radius) 0 0;padding:var(--space-5);width:100%;max-width:32rem;max-height:85vh;box-shadow:var(--shadow-md);position:relative;overflow-y:auto}@media (width>=640px){.modal-backdrop{padding:var(--space-4);align-items:center}.modal{border-radius:var(--radius)}}.modal-close{top:var(--space-3);right:var(--space-3);font-size:var(--font-size-xl);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:none;line-height:1;position:absolute}.modal-close:hover{color:var(--color-text)}.modal h2{margin:0 0 var(--space-4);padding-right:var(--space-5);font-size:var(--font-size-lg)}.modal dl{box-shadow:none;border:none;border-radius:0;margin:0;padding:0;overflow:visible}.modal-full-page-link{margin-top:var(--space-3);display:inline-block}.badge{padding:3px var(--space-3) 3px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-sm);white-space:nowrap;border-left-width:3px;align-items:center;gap:5px;font-weight:700;line-height:1.7;display:inline-flex}.badge svg{flex:none}.badge-active{color:var(--color-status-active);border-left-color:var(--color-status-active)}.badge-sold{color:var(--color-status-sold);border-left-color:var(--color-status-sold)}.badge-slaughtered{color:var(--color-status-slaughtered);border-left-color:var(--color-status-slaughtered)}.badge-dead{color:var(--color-status-dead);border-left-color:var(--color-status-dead)}.badge-missing{color:var(--color-status-missing);border-left-color:var(--color-status-missing)}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-status-dead);background:var(--color-surface);color:var(--color-status-dead);font-weight:600}.banner .link-button{color:inherit;text-decoration:underline}.status-indicator{font-size:var(--font-size-sm);align-items:center;gap:5px;font-weight:600;display:inline-flex}.status-indicator-dot{border-radius:50%;flex:none;width:7px;height:7px}.status-indicator-sold{color:var(--color-status-sold)}.status-indicator-sold .status-indicator-dot{background:var(--color-status-sold)}.status-indicator-slaughtered{color:var(--color-status-slaughtered)}.status-indicator-slaughtered .status-indicator-dot{background:var(--color-status-slaughtered)}.status-indicator-dead{color:var(--color-status-dead)}.status-indicator-dead .status-indicator-dot{background:var(--color-status-dead)}.status-indicator-missing{color:var(--color-status-missing)}.status-indicator-missing .status-indicator-dot{background:var(--color-status-missing)}.badge-lammer{color:var(--color-category-lammer);border-left-color:var(--color-category-lammer)}.badge-ooi{color:var(--color-category-ooi);border-left-color:var(--color-category-ooi)}.badge-ram{color:var(--color-category-ram);border-left-color:var(--color-category-ram)}.category-symbol{justify-content:center;align-items:center;font-size:1.05em;font-weight:700;line-height:1;display:inline-flex}.category-symbol-icon{display:block}.home-search{z-index:6;margin-bottom:var(--space-5);position:relative}.home-search-dropdown{top:calc(100% + var(--space-2));z-index:5;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:70vh;position:absolute;left:0;right:0;overflow-y:auto}.home-search-group+.home-search-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.home-search-group-label{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-weight:700}.home-search-result{padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition)}.home-search-result:hover{background:var(--color-bg)}.home-search-result-inactive{opacity:.55}.home-search-result-tag{white-space:nowrap}.home-search-empty{padding:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.home-actions{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.home-action{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition), background-color var(--transition);flex-direction:column;flex:160px;font-weight:700;display:flex}.home-action:hover{box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}.home-action-icon{width:32px;height:32px}.home-action-primary{background:var(--color-accent);color:var(--color-accent-contrast)}.home-action-primary:hover{background:var(--color-accent-hover);color:var(--color-accent-contrast)}.home-action-secondary{background:color-mix(in srgb, var(--color-status-sold) 10%, var(--color-surface));color:var(--color-status-sold);border:1px solid color-mix(in srgb, var(--color-status-sold) 25%, transparent)}.home-action-secondary:hover{color:var(--color-status-sold);background:color-mix(in srgb, var(--color-status-sold) 18%, var(--color-surface))}.home-stats{align-items:center;gap:var(--space-4) var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.stat-card{flex-direction:column;display:flex}.stat-value{font-family:var(--font-numeral);color:var(--color-accent);font-variant-numeric:tabular-nums lining-nums;font-size:2.5rem;font-weight:600;line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.stat-breakdown{gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.stat-breakdown .badge{margin-right:var(--space-1)}.home-recent-summary{color:var(--color-text-muted);font-weight:400}.home-recent-date{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;font-weight:400}.weighing-timeline{gap:var(--space-4);margin:0 0 var(--space-4);flex-direction:column;padding-left:1.3rem;display:flex;position:relative}.weighing-timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:4px;bottom:4px;left:3px}.weighing-entry{border-bottom:none;padding:0;position:relative}.weighing-entry-dot{background:var(--color-surface);border:2px solid var(--color-accent);border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:-1.3rem}.weighing-entry-date{font-family:var(--font-heading);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.3rem;font-size:.95rem;font-weight:700;display:flex}.weighing-entry-relative{font-family:var(--font-body);font-weight:400;font-size:var(--font-size-sm);color:var(--color-text-muted)}.weighing-entry-edit{font-size:var(--font-size-sm);margin-left:auto}.weighing-entry-body{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.weighing-entry-weight{font-family:var(--font-numeral);color:var(--color-text);font-variant-numeric:tabular-nums lining-nums;font-size:1.35rem;font-weight:600}.weighing-entry-weight small{color:var(--color-text-muted);margin-left:.15em;font-size:.58em;font-weight:600}.weighing-entry-delta{border-radius:var(--radius-pill);padding:.12rem .5rem;font-size:.74rem;font-weight:700}.weighing-entry-delta-up{color:var(--color-status-active);background:color-mix(in srgb, var(--color-status-active) 12%, transparent)}.weighing-entry-delta-down{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.weighing-entry-chips{flex-wrap:wrap;gap:.3rem;display:flex}.weighing-entry-chip{border-radius:var(--radius-pill);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.16rem .55rem;font-size:.72rem;font-weight:600}
