.blf-shell{--blf-bg:#f6f0e5;--blf-card:#fff;--blf-text:#1d2a25;--blf-muted:#6f776f;--blf-green:#2f684d;--blf-yellow:#ffd51f;--blf-line:#e8e1d5;max-width:1180px;margin:28px auto;padding:22px;background:var(--blf-bg);border-radius:24px;color:var(--blf-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}.blf-shell *{box-sizing:border-box}.blf-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.blf-page-head h1{font-size:34px;margin:4px 0 6px}.blf-page-head p{margin:0;color:var(--blf-muted)}.blf-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--blf-green)}.blf-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.blf-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:11px;border:1px solid var(--blf-line);background:#fff;color:var(--blf-text)!important;text-decoration:none!important;font-weight:700;cursor:pointer}.blf-btn-primary{background:var(--blf-yellow);border-color:var(--blf-yellow)}.blf-grid{display:grid;gap:16px}.blf-flock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blf-card{background:var(--blf-card);border:1px solid rgba(70,70,50,.08);border-radius:18px;padding:18px;box-shadow:0 5px 20px rgba(80,60,30,.04)}.blf-flock-card{cursor:pointer;transition:.15s ease}.blf-flock-card:hover,.blf-flock-card:focus{transform:translateY(-2px);box-shadow:0 9px 26px rgba(80,60,30,.10);outline:none}.blf-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.blf-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#f1a73b;margin-right:7px}.blf-muted{color:var(--blf-muted);font-size:13px;margin-top:5px}.blf-edit-link{font-size:12px;text-decoration:none!important;color:var(--blf-green)!important;font-weight:800;position:relative;z-index:2}.blf-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 15px}.blf-mini-grid span,.blf-kpi span{display:block;color:var(--blf-muted);font-size:11px;font-weight:800;letter-spacing:.04em}.blf-mini-grid b{display:block;font-size:20px;margin-top:4px}.blf-kpi-line{display:flex;justify-content:space-between;font-size:13px}.blf-progress{height:7px;background:#f0ede4;border-radius:99px;overflow:hidden;margin:7px 0 15px}.blf-progress i{display:block;height:100%;background:var(--blf-yellow)}.blf-card-foot{display:flex;justify-content:space-between;color:var(--blf-muted);font-size:12px}.blf-back{color:var(--blf-green)!important;text-decoration:none!important;font-weight:700;font-size:13px}.blf-status{padding:7px 10px;background:#eef7f0;color:#2b724e;border-radius:99px;font-size:12px;font-weight:800}.blf-tabs{display:flex;gap:7px;overflow-x:auto;padding:5px 0 13px;margin-bottom:10px}.blf-tabs button{white-space:nowrap;border:0;background:#fff;padding:10px 13px;border-radius:10px;font-weight:700;color:var(--blf-muted);cursor:pointer}.blf-tabs button.active{background:var(--blf-yellow);color:#232719}.blf-tab{display:none}.blf-tab.active{display:block}.blf-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.blf-kpi{min-height:120px}.blf-kpi strong{display:block;font-size:27px;margin:10px 0}.blf-kpi small{display:block;color:var(--blf-muted);font-size:10px;line-height:1.45}.blf-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.blf-section-title h3{margin:0}.blf-section-title span{font-size:11px;color:var(--blf-muted)}.blf-actions-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.blf-action{border:1px solid var(--blf-line);background:#fff;border-radius:12px;padding:11px 6px;cursor:pointer;font-weight:700}.blf-action i{display:block;font-style:normal;font-size:20px;margin-bottom:3px}.blf-action span{font-size:11px}.blf-event-form{margin-top:14px;padding:15px;border:1px solid var(--blf-line);border-radius:14px;background:#fffdf8}.blf-form-head{display:flex;justify-content:space-between;align-items:center}.blf-form-head h4{margin:0}.blf-close{border:0;background:transparent;font-size:25px;cursor:pointer}.blf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.blf-form-grid label{font-size:12px;font-weight:750;color:#4f594f}.blf-form-grid input,.blf-form-grid select,.blf-form-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid #dcd8cd;border-radius:9px;padding:10px;background:#fff}.blf-span-2{grid-column:1/-1}.blf-help{font-size:12px;color:var(--blf-muted)}.blf-form-actions{display:flex;gap:10px;justify-content:flex-end}.blf-form-card{margin-bottom:18px}.blf-two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0}.blf-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;color:var(--blf-muted)}.blf-summary b{color:var(--blf-text);font-size:20px}.blf-table-wrap{overflow-x:auto}.blf-table{width:100%;border-collapse:collapse;font-size:13px}.blf-table th,.blf-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #eee9df}.blf-table th{font-size:11px;color:var(--blf-muted);text-transform:uppercase;letter-spacing:.03em}.blf-empty{text-align:center;padding:35px;color:var(--blf-muted)}.blf-empty.small{padding:18px}.blf-target-form{margin-top:15px;border-top:1px solid var(--blf-line);padding-top:12px}.blf-target-form summary{cursor:pointer;font-weight:800;color:var(--blf-green)}
@media(max-width:900px){.blf-flock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blf-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blf-actions-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.blf-shell{margin:0;padding:14px;border-radius:0}.blf-page-head{flex-direction:column}.blf-page-head h1{font-size:28px}.blf-flock-grid{grid-template-columns:1fr}.blf-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blf-two-col{grid-template-columns:1fr}.blf-actions-grid{grid-template-columns:repeat(2,1fr)}.blf-form-grid{grid-template-columns:1fr}.blf-span-2{grid-column:auto}.blf-kpi strong{font-size:22px}}

/* v0.1.1: frontend module navigation */
.blf-app-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:12px 16px;background:#fff;border:1px solid rgba(30,41,59,.08);border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.blf-app-brand{font-weight:800;text-decoration:none;color:#1f2937}
.blf-app-links{display:flex;align-items:center;gap:10px;overflow-x:auto;white-space:nowrap}
.blf-app-links a,.blf-app-coming{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:10px;text-decoration:none;color:#475569;font-weight:650;font-size:14px}
.blf-app-links a.active{background:#fff2a8;color:#222}
.blf-app-coming{opacity:.55;cursor:default}.blf-app-coming small{font-size:10px;font-weight:700;text-transform:uppercase}
@media(max-width:640px){.blf-app-nav{align-items:flex-start;flex-direction:column;gap:8px}.blf-app-links{width:100%}}


/* v0.2.0: transfer, split flock, and cohort lineage */
.blf-notice{margin:0 0 16px;padding:13px 15px;border-radius:12px;font-size:13px;line-height:1.55}
.blf-notice-success{background:#edf8f1;border:1px solid #bfe3ca;color:#245d3f}
.blf-transfer-explainer{margin-bottom:15px;background:#fff9d9;border-color:#f1df82}
.blf-transfer-explainer strong{font-size:15px}.blf-transfer-explainer p{margin:5px 0 0;color:var(--blf-muted);font-size:13px}
.blf-lineage{margin:15px 0}.blf-lineage-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.blf-lineage-row>div{padding:12px;border:1px solid var(--blf-line);border-radius:12px;background:#fffdf8}.blf-lineage-row small{display:block;color:var(--blf-muted);font-size:10px;font-weight:800;letter-spacing:.04em}.blf-lineage-row b{display:block;margin-top:5px;font-size:13px}
.blf-inline-fields{display:grid;grid-template-columns:1fr 90px;gap:8px}.blf-inline-fields input,.blf-inline-fields select{margin-top:5px!important}
.blf-move-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em}.blf-move-badge.out{background:#fff0ee;color:#9b3d31}.blf-move-badge.in{background:#edf8f1;color:#276444}
.blf-pop-kpis{margin-top:0}
@media(max-width:620px){.blf-lineage-row{grid-template-columns:1fr}.blf-inline-fields{grid-template-columns:1fr 80px}}

/* v0.3.0: inventory reference, ledger, and flock usage source */
.blf-stock-low{color:#a13c2f}.blf-table-link{font-weight:750;color:var(--blf-green)!important;text-decoration:none!important}.blf-stock-help{display:block;margin-top:5px;color:var(--blf-muted);font-size:11px;font-weight:500}.blf-inventory-label select{min-height:42px}.blf-move-badge.in{background:#edf8f1;color:#276444}.blf-move-badge.out{background:#fff0ee;color:#9b3d31}

/* v0.4.0: recipe/formulation and mixed-feed production */
.blf-recipe-current{padding:12px 14px;border:1px solid var(--blf-line);border-radius:12px;background:#fffdf3;color:var(--blf-text);font-size:13px;line-height:1.55}.blf-recipe-current span,.blf-recipe-current small{color:var(--blf-muted)}
.blf-recipe-table select,.blf-recipe-table input{width:100%;min-width:150px;border:1px solid #dcd8cd;border-radius:8px;padding:8px;background:#fff}.blf-recipe-table input{min-width:100px}.blf-recipe-total{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:12px 0;font-size:13px}.blf-recipe-total b{font-size:18px}.blf-recipe-total .ok{color:#276444;font-weight:800}.blf-recipe-total .warn{color:#9b6b24;font-weight:800}.blf-recipe-versions{margin-top:20px;padding-top:15px;border-top:1px solid var(--blf-line)}.blf-recipe-versions h4{margin:0 0 10px}.blf-production-components .blf-required{font-weight:800}.blf-production-form-wrap .blf-notice{background:#fff4d6;border:1px solid #efd58a;color:#79591d}
@media(max-width:620px){.blf-recipe-total{justify-content:flex-start;flex-wrap:wrap}.blf-recipe-table select{min-width:190px}}

/* v0.4.2: dedicated mixing/production and protected finished-mix ledger */
.blf-mixed-chip{display:inline-flex;align-items:center;padding:3px 6px;margin-right:4px;border-radius:999px;background:#fff2a8;color:#675711;font-size:9px;font-weight:900;letter-spacing:.06em;vertical-align:middle}.blf-produce-link{display:inline-flex;align-items:center;padding:4px 7px;border-radius:8px;background:#edf8f1}.blf-mix-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.blf-mix-status.ok{background:#edf8f1;color:#276444}.blf-mix-status.warn{background:#fff4d6;color:#79591d}.blf-mixed-lock{background:#fff4d6;border:1px solid #efd58a;color:#6b521c}.blf-mixed-lock a{color:var(--blf-green)!important}.blf-mix-rule{background:#f7faf8;border:1px solid #cfe2d6;color:#315641}

/* v0.4.3 inline mixing */
.blf-mix-explainer{margin-bottom:14px}
.blf-inline-mix-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:260px}
.blf-inline-mix-qty{display:flex;align-items:center;gap:6px}
.blf-inline-mix-qty input{width:110px;min-width:90px}
.blf-inline-mix-qty span{font-weight:700}
.blf-inline-mix-submit{white-space:nowrap}
.blf-inline-mix-preview{flex-basis:100%;font-size:12px;color:#6f6a5f}
.blf-mix-links{margin-top:8px;font-size:13px}
@media(max-width:760px){.blf-inline-mix-form{min-width:210px}.blf-inline-mix-qty input{width:100px}}

/* v0.5.0 Benchmark & Learning */
.blf-learning-callout{background:linear-gradient(135deg,#fffdf5,#f1f8f2);border-color:#dfeadf;margin-bottom:15px}.blf-learning-callout p{margin:0;color:var(--blf-muted);line-height:1.6}.blf-benchmark-table td small,.blf-table td small{display:block;margin-top:4px;color:var(--blf-muted);font-size:10px;line-height:1.35}.blf-score{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:5px 9px;border-radius:99px;font-weight:800;font-size:12px}.blf-score.good{background:#e8f6ec;color:#236244}.blf-score.mid{background:#fff8da;color:#806700}.blf-score.warn{background:#fff0ee;color:#963d31}.blf-learning-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;background:#f0f0ec;color:#586057}.blf-learning-status.status-observe{background:#eef3f8;color:#3e617d}.blf-learning-status.status-repeat{background:#fff5d8;color:#806500}.blf-learning-status.status-candidate{background:#eaf4ff;color:#285e8a}.blf-learning-status.status-adopted{background:#e7f7eb;color:#236244}.blf-learning-status.status-rejected{background:#fff0ee;color:#963d31}.blf-learning-status.status-archived{background:#efefef;color:#666}.blf-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px}.blf-learning-text{min-height:145px}.blf-learning-text>span{display:block;color:var(--blf-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.blf-learning-text p{margin:10px 0 0;line-height:1.55}.blf-inner-card{margin:14px 0;background:#fffdf8;box-shadow:none}.blf-role{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:850;text-transform:uppercase}.blf-role.role-treatment{background:#fff2bf;color:#775b00}.blf-role.role-control{background:#e9f1fb;color:#315e87}.blf-role.role-reference{background:#edf5ef;color:#356548}.blf-trial-head{margin-top:2px}.blf-benchmark-table th,.blf-benchmark-table td{white-space:nowrap}.blf-benchmark-table td:nth-child(1),.blf-benchmark-table td:nth-child(2){white-space:normal;min-width:130px}
@media(max-width:900px){.blf-learning-grid{grid-template-columns:1fr}.blf-benchmark-table{min-width:940px}}


/* v0.6.0 Purchases + Finance */
.blf-purchase-preview{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 16px;margin:12px 0;background:#fffdf3;border:1px solid var(--blf-line);border-radius:12px}
.blf-purchase-preview span{font-size:12px;font-weight:800;color:var(--blf-muted);text-transform:uppercase;letter-spacing:.04em}
.blf-purchase-preview strong{font-size:22px;color:var(--blf-green)}
.blf-purchase-preview small{width:100%;color:var(--blf-muted)}


/* v0.8.1 — compact integrated Flock Lab navigation */
.blf-app-nav.blf-app-nav-compact{position:relative!important;top:auto!important;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px!important;padding:7px 2px 11px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--blf-line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.blf-app-identity{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}.blf-app-identity .blf-app-brand{font-size:13px;font-weight:850;color:var(--blf-green)!important;text-decoration:none!important}.blf-app-sep{color:#bbb3a5}.blf-app-current{font-size:12px;color:var(--blf-muted);overflow:hidden;text-overflow:ellipsis;max-width:240px}
.blf-app-nav-compact .blf-app-links{display:flex;align-items:center;justify-content:flex-end;gap:4px;overflow:visible;white-space:nowrap}.blf-app-nav-compact .blf-app-links a{padding:7px 10px;border-radius:9px;font-size:12px;font-weight:750;color:#5d655f;text-decoration:none!important}.blf-app-nav-compact .blf-app-links a:hover{background:#f1ece3}.blf-app-nav-compact .blf-app-links a.active{background:var(--blf-yellow);color:#262a20}.blf-app-nav-compact .blf-app-dashboard{color:var(--blf-green)!important}
body.breedline-flocklab-shell .blf-app-nav.blf-app-nav-compact{position:relative!important;top:auto!important;margin:0 0 16px!important;padding:7px 2px 11px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--blf-line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(max-width:760px){.blf-app-nav.blf-app-nav-compact{gap:8px;align-items:flex-start;flex-direction:column}.blf-app-identity{width:100%}.blf-app-current{max-width:55vw}.blf-app-nav-compact .blf-app-links{width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.blf-app-nav-compact .blf-app-links::-webkit-scrollbar{display:none}.blf-app-nav-compact .blf-app-links a{padding:7px 9px}.blf-app-nav-compact .blf-app-dashboard{order:-1}}
@media(max-width:480px){.blf-app-current{max-width:45vw}.blf-app-nav-compact .blf-app-links a{font-size:11px;padding:7px 8px}}

/* v0.8.2 — "More" menu on the compact Flock Lab nav so every module (Purchases,
   Mixing/Production, Expenses, Sales, Benchmark & Learning) is one tap away from
   any Flock Lab page, without detouring back through the Dashboard's More menu. */
.blf-app-more-wrap{position:relative;flex:0 0 auto}
.blf-app-more-toggle{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#5d655f;font:inherit;font-size:12px;font-weight:750;padding:7px 10px;border-radius:9px;cursor:pointer;white-space:nowrap}
.blf-app-more-toggle:hover{background:#f1ece3}
.blf-app-more-toggle.active{background:var(--blf-yellow);color:#262a20}
.blf-app-more-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:#fff;border:1px solid var(--blf-line);border-radius:14px;box-shadow:0 18px 40px rgba(30,32,26,.14);padding:8px;z-index:120}
.blf-app-more-menu.open{display:block}
.blf-app-more-menu a{display:block;padding:9px 10px;border-radius:9px;color:var(--blf-text)!important;text-decoration:none!important;font-size:13px;font-weight:650}
.blf-app-more-menu a:hover{background:#f7f4ec}
.blf-app-more-menu a.active{background:#fff2a8;color:#222!important}
@media(max-width:760px){.blf-app-more-menu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:70vh;overflow:auto;box-shadow:0 -12px 40px rgba(30,32,26,.18)}}
