/* ══════════════════════════════════════════════════════════
   Nepal Poultry — Design System
   Extracted from designer prototype (nepal_poultry_v4)
   ══════════════════════════════════════════════════════════ */

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #F8F5F0; }
.app { max-width: 430px; margin: 0 auto; padding-bottom: 2.5rem; }
/* Page load: hide all content, keep only white card shapes */
#app.page-loading * {
  color: transparent !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
#app.page-loading svg, #app.page-loading img { opacity: 0 !important; }
#app.page-loading .card,
#app.page-loading .sess-card,
#app.page-loading .form-card,
#app.page-loading .notes-card,
#app.page-loading .task-card,
#app.page-loading .day-sum,
#app.page-loading .tmp-card,
#app.page-loading .nv,
#app.page-loading .top-section,
#app.page-loading .stabs,
#app.page-loading .sum-strip,
#app.page-loading .rprog-inner { background: #fff !important; }

/* Page reveal: transition everything back in */
#app.page-reveal * { transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
#app.page-reveal svg, #app.page-reveal img { transition: opacity 0.2s ease; }
.screen { display: none; }
.screen.active { display: block; }

/* ── Color accent borders / bars ─────────────────────── */
.top-section { background: #fff; border-top: none; border-radius: 0 0 20px 20px; overflow: hidden; }
.b-green { border: 2px solid #5A7060; border-top: none; }
.b-egg   { border: 2px solid #3A7FAF; border-top: none; }
.b-red   { border: 2px solid #A04040; border-top: none; }
.b-sal   { border: 2px solid #7060A8; border-top: none; }
.b-hlt   { border: 2px solid #2A7A7A; border-top: none; }
.b-feed  { border: 2px solid #A08C2A; border-top: none; }
.a-green { height:4px; background:#5A7060; }
.a-egg   { height:4px; background:#3A7FAF; }
.a-red   { height:4px; background:#A04040; }
.a-sal   { height:4px; background:#7060A8; }
.a-hlt   { height:4px; background:#2A7A7A; }
.a-feed  { height:4px; background:#A08C2A; }

/* ── Top bar ─────────────────────────────────────────── */
.topbar { padding:13px 16px 11px; display:flex; align-items:center; gap:10px; border-bottom:0.5px solid #e0e0e0; }
.back-btn { width:32px; height:32px; border-radius:10px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.bk-egg  { background:#EEF5FB; color:#3A7FAF; }
.bk-red  { background:#FAEAEA; color:#A04040; }
.bk-sal  { background:#EDE8F5; color:#7060A8; }
.bk-hlt  { background:#E0F4F4; color:#2A7A7A; }
.bk-feed { background:#F5EFC8; color:#5A4400; }
.ttl { font-size:16px; font-weight:500; color:#1a1a1a; }
.tsu { font-size:11px; color:#666; margin-top:1px; }
.sec-lbl { font-size:10px; font-weight:500; letter-spacing:0.09em; text-transform:uppercase; color:#888; padding:14px 14px 8px; }

/* ── HOME: Logo row ──────────────────────────────────── */
.logo-row { display:flex; align-items:center; justify-content:space-between; padding:13px 16px 11px; border-bottom:0.5px solid #D8E4D8; }
.logo-left { display:flex; align-items:center; gap:9px; }
.logo-name { color:#3A4E3A; font-size:12px; font-weight:500; }
.logo-tag  { color:#8A9E8A; font-size:8px; letter-spacing:0.09em; text-transform:uppercase; margin-top:1px; }
.logo-right { text-align:right; }
.logo-farm { color:#8A9E8A; font-size:9px; text-transform:uppercase; letter-spacing:0.07em; }
.logo-date { color:#4A5E4A; font-size:11px; font-weight:500; margin-top:1px; }
.header-action { margin-top:5px; min-height:24px; display:flex; justify-content:flex-end; align-items:center; gap:6px; }
.lang-btn {
  font-size:11px;
  font-weight:600;
  color:#3A4E3A;
  background:#E8F0E8;
  border:0.5px solid #C0D0C0;
  padding:5px 11px;
  border-radius:7px;
  cursor:pointer;
  box-shadow:0 1px 3px rgba(58,78,58,0.12);
  line-height:1;
}
.lang-btn:hover { background:#D4E8D4; }
.back-to-admin-btn {
  font-size:11px;
  font-weight:600;
  color:#fff;
  background:#736735;
  text-decoration:none;
  padding:5px 11px;
  border-radius:7px;
  display:inline-block;
  box-shadow:0 1px 3px rgba(115,103,53,0.35);
}
.back-to-admin-btn:hover { background:#5E542B; }

/* ── HOME: Greeting + overview ───────────────────────── */
.greeting { color:#2A3A2A; font-size:17px; font-weight:500; margin-bottom:12px; }
.ovr-status { display:flex; align-items:center; gap:10px; background:#F4F8F4; border:0.5px solid #C8D8C8; border-radius:12px; padding:10px 13px; margin-bottom:12px; }
.os-txt { color:#2A3A2A; font-size:13px; font-weight:500; }
.os-sub { color:#6A7E6A; font-size:11px; margin-top:1px; }
.qstrip { display:flex; gap:6px; }
.qs { flex:1; background:#F4F8F4; border:0.5px solid #C8D8C8; border-radius:11px; padding:8px 4px; text-align:center; }
.qs-val { color:#2A3A2A; font-size:15px; font-weight:500; }
.qs-lbl { color:#7A8E7A; font-size:8px; margin-top:1px; }

/* ── HOME: Nav strip ─────────────────────────────────── */
.nav-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:5px; padding:0 12px; }
.nv { background:#fff; border:0.5px solid #e0e0e0; border-radius:12px; padding:9px 4px 7px; display:flex; flex-direction:column; align-items:center; gap:3px; cursor:pointer; }
.nv:active { opacity:0.75; }
.nv-icon { font-size:18px; }
.nv-lbl  { font-size:9px; color:#666; }
.nv-egg  { border-top:2px solid #3A7FAF; }
.nv-rt   { border-top:2px solid #A04040; }
.nv-feed { border-top:2px solid #A08C2A; }
.nv-sal  { border-top:2px solid #7060A8; }
.nv-hlt  { border-top:2px solid #2A7A7A; }
.nv-bonus { border-top:2px solid #D4A017; }

/* ── HOME: Cards ─────────────────────────────────────── */
.cards { display:flex; flex-direction:column; gap:9px; padding:0 12px; }
.card { background:#fff; border-radius:16px; overflow:hidden; border:0.5px solid #e0e0e0; cursor:pointer; }
.card:active { opacity:0.92; }
.stripe { height:4px; }
.s-egg{background:#3A7FAF;} .s-rt{background:#A04040;} .s-sal{background:#7060A8;} .s-hlt{background:#2A7A7A;} .s-feed{background:#A08C2A;}
.card-head { display:flex; align-items:center; gap:10px; padding:11px 13px 8px; }
.c-icon { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.ic-egg{background:#D6E8F5;} .ic-rt{background:#F5D8D8;} .ic-sal{background:#E0D8F5;} .ic-hlt{background:#C8EDED;} .ic-feed{background:#F5EFC8;}
.c-ttl { font-size:13px; font-weight:500; color:#1a1a1a; }
.c-sub { font-size:11px; color:#666; margin-top:1px; }
.c-right { margin-left:auto; display:flex; align-items:center; gap:5px; flex-direction:column; align-items:flex-end; }
.c-prog { display:flex; align-items:center; gap:5px; }
.c-prog-bar { width:48px; height:6px; border-radius:3px; background:#e0e0e0; overflow:hidden; }
.c-prog-fill { height:100%; border-radius:3px; width:0%; transition:width .4s ease; }
.c-prog-pct { font-size:10px; font-weight:500; color:#888; min-width:26px; text-align:right; }
.cpf-egg{background:#1E4F72;} .cpf-feed{background:#8A7A00;} .cpf-hlt{background:#1D9E75;} .cpf-rt{background:#A04040;}
.badge { border-radius:20px; padding:3px 9px; font-size:10px; font-weight:500; }
.be{background:#D6E8F5;color:#1E4F72;} .brt{background:#F5D8D8;color:#6B1A1A;}
.bsal{background:#E0D8F5;color:#3A2A70;} .bhlt{background:#C8EDED;color:#052828;} .bfeed{background:#F5EFC8;color:#5A4400;}
.bg{background:#D3F0E4;color:#0D4A2E;} .ba{background:#FAE9C0;color:#5A3A00;}

/* ── HOME: Egg card detail rows ──────────────────────── */
.edr-row{display:flex;gap:7px;padding:0 13px 9px;}
.edr{flex:1;border-radius:9px;padding:7px 9px;}
.edr-y{background:#EEF5FB;} .edr-t{background:#D6E8F5;}
.edr-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:#1E4F72;margin-bottom:2px;}
.edr-val{font-size:19px;font-weight:500;color:#0D2B40;line-height:1;}
.edr-unit{font-size:10px;color:#1E4F72;opacity:0.7;margin-top:2px;}
.egg-szs{display:flex;gap:5px;margin-top:6px;align-items:flex-end;}
.esz{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;}
.esz-l{font-size:8px;color:#1E4F72;opacity:0.8;} .esz-c{font-size:11px;font-weight:500;color:#0D2B40;}
.sch-row{display:flex;gap:5px;padding:0 13px 9px;}
.sch{flex:1;border-radius:9px;padding:6px 5px;border:0.5px solid #e0e0e0;background:#F8F5F0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.sch.done{background:#D6E8F5;border-color:#B5D4F4;}
.sch-l{font-size:9px;color:#888;display:flex;align-items:center;justify-content:center;gap:3px;line-height:1;} .sch.done .sch-l{color:#1E4F72;}
.sch-l svg{display:block;flex-shrink:0;}
.sch-v{font-size:12px;font-weight:500;color:#888;} .sch.done .sch-v{color:#0D2B40;}

/* ── HOME: Feed card ─────────────────────────────────── */
.feed-stat-row{display:flex;gap:7px;padding:0 13px 9px;}
.fsr{flex:1;border-radius:9px;padding:8px 7px;text-align:center;}
.fsr-a{background:#F5EFC8;} .fsr-b{background:#EAE0A0;}
.fsr-val{font-size:19px;font-weight:500;color:#3A2A00;line-height:1;}
.fsr-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:#7A5A00;margin-top:3px;}

/* ── HOME: Health card ───────────────────────────────── */
.hlt-flock-row{display:flex;gap:7px;padding:0 13px 9px;}
.hfc{flex:1;border-radius:9px;padding:8px 7px;text-align:center;}
.hfc-h{background:#C8EDED;} .hfc-q{background:#FAE9C0;} .hfc-s{background:#F5D8D8;}
.hfc-val{font-size:17px;font-weight:600;line-height:1;margin-bottom:2px;}
.hfc-h .hfc-val{color:#052828;} .hfc-q .hfc-val{color:#5A3A00;} .hfc-s .hfc-val{color:#6B1A1A;}
.hfc-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;}
.hfc-h .hfc-lbl{color:#2A7A7A;} .hfc-q .hfc-lbl{color:#D4900A;} .hfc-s .hfc-lbl{color:#A04040;}
.h-event-mini{padding:0 13px 9px;}
.hem-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:0.5px solid #e0e0e0;font-size:12px;}
.hem-row:last-child{border-bottom:none;}
.hem-icon{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.hem-txt{flex:1;color:#1a1a1a;} .hem-sub{font-size:10px;color:#888;margin-top:1px;} .hem-date{font-size:10px;color:#2A7A7A;font-weight:500;}

/* ── SHARED: Progress bar / monthly ──────────────────── */
.mwrap{padding:0 13px 11px;}
.mtop{display:flex;justify-content:space-between;margin-bottom:4px;font-size:11px;}
.mtrack{background:#DDD8D0;border-radius:5px;height:7px;overflow:hidden;}
.mfill{height:7px;border-radius:5px;transition:width 0.4s;}
.mbot{display:flex;justify-content:space-between;margin-top:3px;font-size:10px;color:#888;}
.tup{color:#1D9E75;}

/* ── HOME: Routine card ──────────────────────────────── */
.tc-row{display:flex;gap:5px;padding:0 13px 9px;}
.tch{flex:1;background:#F8F5F0;border-radius:8px;padding:6px 5px;border:0.5px solid #e0e0e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.tch.f{background:#FAEAEA;border-color:#F5D8D8;}
.tch-l{font-size:9px;color:#888;display:flex;align-items:center;justify-content:center;gap:3px;line-height:1;} .tch-l svg{display:block;flex-shrink:0;}
.tch-v{font-size:12px;font-weight:500;color:#6B1A1A;}
.hprog{padding:0 13px 11px;}
.hprog-top{display:flex;justify-content:space-between;margin-bottom:4px;font-size:11px;}
.hpt{background:#F5D8D8;border-radius:5px;height:7px;overflow:hidden;}
.hpf{height:7px;border-radius:5px;background:#1D9E75;transition:width 0.4s;}

/* ── SHARED: Calendar dots ───────────────────────────── */
.cal-wrap{padding:0 13px 12px;}
.cal-ttl{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:#888;margin-bottom:9px;}
.dot-strip{display:flex;flex-direction:column;gap:4px;}
.dw{display:flex;gap:3px;align-items:center;}
.wl{font-size:9px;color:#888;width:28px;flex-shrink:0;}
.dots{display:flex;gap:3px;flex:1;}
.d{flex:1;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;}
.d-ok{background:#D3F0E4;color:#0D4A2E;} .d-pt{background:#FAE9C0;color:#5A3A00;}
.d-ms{background:#F5D8D8;color:#6B1A1A;} .d-pd{background:#E8E2D8;color:#888;}
.d-td.d-ok{background:#D3F0E4;color:#0D4A2E;box-shadow:inset 0 0 0 1.5px #0D4A2E;}
.d-td.d-pt{background:#FAE9C0;color:#5A3A00;box-shadow:inset 0 0 0 1.5px #5A3A00;}
.d-td.d-ms{background:#F5D8D8;color:#6B1A1A;box-shadow:inset 0 0 0 1.5px #6B1A1A;}
.d-em{background:none;}
.cal-legend{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap;}
.cl{display:flex;align-items:center;gap:3px;font-size:10px;color:#888;}
.cl-dot{width:9px;height:9px;border-radius:3px;}
.sum-row{display:flex;align-items:center;justify-content:space-between;padding:9px 13px 11px;border-top:0.5px solid #e0e0e0;}
.sr-s{text-align:center;flex:1;}
.srv2{font-size:18px;font-weight:500;} .srl2{font-size:10px;color:#888;margin-top:1px;} .srd2{width:0.5px;background:#e0e0e0;height:28px;}

/* ── SHARED: Forms ───────────────────────────────────── */
.form-card{background:#fff;border-radius:15px;margin:0 12px 10px;border:0.5px solid #e0e0e0;overflow:hidden;}
.form-hdr{background:#F8F5F0;padding:8px 13px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:#888;border-bottom:0.5px solid #e0e0e0;}
.form-body{padding:13px;display:flex;flex-direction:column;gap:12px;}
.field-lbl{font-size:11px;font-weight:500;color:#666;margin-bottom:5px;}
.field-input{width:100%;background:#F8F5F0;border:0.5px solid #e0e0e0;border-radius:9px;padding:9px 12px;font-size:14px;color:#1a1a1a;font-family:inherit;}
.field-input:focus{outline:none;}
.date-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:0.5px solid #e0e0e0;}
.dch-egg{display:flex;align-items:center;gap:6px;background:#EEF5FB;border:0.5px solid #B5D4F4;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#1E4F72;}
.dch-red{display:flex;align-items:center;gap:6px;background:#FAEAEA;border:0.5px solid #F5D8D8;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#6B1A1A;}
.dch-sal{display:flex;align-items:center;gap:6px;background:#EDE8F5;border:0.5px solid #C8B8F0;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#3A2A70;}
.dch-hlt{display:flex;align-items:center;gap:6px;background:#E0F4F4;border:0.5px solid #C8EDED;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#0D4040;}
.dch-feed{display:flex;align-items:center;gap:6px;background:#F5EFC8;border:0.5px solid #E8D88A;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#5A4400;}

/* ── Late registration (orange override) ────────────────── */
.b-late   { border: 2px solid #D48A00; border-top: none; }
.a-late   { height:4px; background:#D48A00; }
.bk-late  { background:#FFF3E0; color:#B36B00; }
.dch-late{display:flex;align-items:center;gap:6px;background:#FFF3E0;border:0.5px solid #FFCC80;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#B36B00;}
.late-banner{background:#FFF3E0;border-bottom:1px solid #FFCC80;padding:7px 16px;font-size:12px;font-weight:500;color:#B36B00;text-align:center;}
.late-outline{outline:3px solid #D48A00;outline-offset:-1px;}

/* ── Date picker dropdown ───────────────────────────────── */
.date-dropdown{position:fixed;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,0.12);z-index:9999;flex-direction:column;padding:4px;}
.date-opt{border:none;background:none;padding:10px 12px;text-align:left;font-size:13px;color:#1a1a1a;cursor:pointer;border-radius:8px;font-family:inherit;font-weight:400;}
.date-opt:hover{background:#F8F5F0;}
.date-opt-sel{background:#EEF5FB;font-weight:600;color:#1E4F72;}
.date-opt-sel:hover{background:#D6E8F5;}

/* ── EGG PAGE ────────────────────────────────────────── */
.sum-strip{display:flex;gap:7px;padding:11px 13px;background:#fff;border-bottom:0.5px solid #e0e0e0;}
.ssc{flex:1;border-radius:10px;padding:8px 7px;text-align:center;}
.ssc-y{background:#EEF5FB;} .ssc-t{background:#D6E8F5;} .ssc-s{background:#EEF5FB;}
.ssc-l{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:#1E4F72;margin-bottom:2px;}
.ssc-v{font-size:19px;font-weight:500;color:#0D2B40;} .ssc-u{font-size:9px;color:#1E4F72;opacity:0.7;}
.stabs-wrap{padding:0 12px;margin-bottom:9px;}
.stabs{display:flex;gap:5px;background:#fff;border-radius:13px;border:0.5px solid #e0e0e0;padding:4px;}
.stab{flex:1;border-radius:10px;border:none;padding:8px 3px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;background:transparent;color:#666;display:flex;flex-direction:column;align-items:center;gap:2px;}
.stab.active{background:#3A7FAF;color:#fff;} .stab.done{background:#EEF5FB;color:#1E4F72;}
.stab-icon{display:flex;align-items:center;justify-content:center;height:20px;}
.stab-lbl{font-size:10px;} .stab-cnt{font-size:9px;opacity:0.75;}
.sess-card{background:#fff;border-radius:15px;overflow:hidden;margin:0 12px 9px;border:0.5px solid #e0e0e0;}
.egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:13px 13px 9px;}
.ecol{display:flex;flex-direction:column;align-items:center;}
.e-ia{height:44px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:4px;}
.e-lbl{font-size:10px;color:#666;text-align:center;margin-bottom:4px;}
.e-num{width:100%;text-align:center;font-size:19px;font-weight:500;color:#0D2B40;background:#F8F5F0;border:0.5px solid #e0e0e0;border-radius:9px;padding:7px 3px;font-family:inherit;}
.e-num:focus{outline:none;border-color:#3A7FAF;background:#EEF5FB;}
.e-num.br{color:#A04040;border-color:#F5D8D8;background:#FAEAEA;}
.stpr{display:flex;width:100%;gap:3px;margin-top:3px;}
.spb{flex:1;height:26px;border-radius:7px;border:0.5px solid #e0e0e0;background:#F8F5F0;color:#666;font-size:15px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;}
.stot-row{display:flex;justify-content:space-between;align-items:center;padding:7px 13px 11px;border-top:0.5px solid #e0e0e0;}
.stot-l{font-size:12px;color:#666;} .stot-v{font-size:13px;font-weight:500;color:#3A7FAF;}
.day-sum{background:#fff;border-radius:15px;margin:0 12px 9px;border:0.5px solid #e0e0e0;overflow:hidden;}
.ds-hdr{background:#3A7FAF;padding:9px 13px;font-size:10px;font-weight:500;color:#fff;text-transform:uppercase;letter-spacing:0.07em;}
.ds-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.dsc{padding:9px 4px;text-align:center;border-right:0.5px solid #e0e0e0;}
.dsc:last-child{border-right:none;background:#EEF5FB;}
.dsc-l{font-size:9px;color:#666;margin-bottom:3px;text-transform:uppercase;letter-spacing:0.05em;}
.dsc-v{font-size:15px;font-weight:500;color:#0D2B40;} .dsc:last-child .dsc-v{color:#3A7FAF;}
.sbk{padding:0 13px 9px;}
.sbr{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:0.5px solid #e0e0e0;font-size:12px;}
.sbr:last-child{border-bottom:none;}
.sbt{color:#888;width:88px;flex-shrink:0;display:flex;align-items:center;gap:5px;}
.sbns{display:flex;gap:13px;} .sbn{color:#1a1a1a;font-weight:500;min-width:22px;text-align:center;} .sbtot{color:#3A7FAF;font-weight:500;}
.save-egg{width:calc(100% - 24px);margin:4px 12px 0;background:#3A7FAF;color:#fff;border:none;border-radius:13px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;}

/* ── ROUTINE PAGE ────────────────────────────────────── */
.rt-stat-row{display:flex;gap:7px;padding:11px 13px 13px;}
.rt-stat{flex:1;border-radius:10px;padding:8px 9px;text-align:center;}
.rprog-wrap{padding:0 12px 9px;}
.rprog-inner{background:#fff;border-radius:12px;padding:10px 13px;border:0.5px solid #e0e0e0;}
.rprog-top{display:flex;justify-content:space-between;margin-bottom:5px;font-size:11px;}
.rpl{color:#666;} .rpc{color:#A04040;font-weight:500;}
.rprog-track{background:#F5D8D8;border-radius:5px;height:7px;overflow:hidden;}
.rprog-fill{height:7px;border-radius:5px;background:#1D9E75;transition:width 0.3s;}
.tmp-card{background:#fff;border-radius:15px;margin:0 12px 9px;border:0.5px solid #e0e0e0;overflow:hidden;}
.tmp-hdr{display:flex;align-items:center;gap:10px;padding:11px 13px 9px;border-bottom:0.5px solid #e0e0e0;}
.tmp-icon{width:38px;height:38px;border-radius:10px;background:#FAEAEA;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.tmp-badge{margin-left:auto;background:#FAEAEA;color:#6B1A1A;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:500;}
.tmp-badge.done{background:#D3F0E4;color:#0D4A2E;}
.tmp-slots{display:flex;gap:7px;padding:9px 13px 13px;}
.tsl{flex:1;border-radius:10px;border:0.5px solid #e0e0e0;padding:7px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#F8F5F0;}
.tsl.filled{background:#FAEAEA;border-color:#F5D8D8;}
.tsll{font-size:9px;color:#888;}
.tsi{width:100%;text-align:center;font-size:15px;font-weight:500;background:transparent;border:none;font-family:inherit;color:#6B1A1A;}
.tsi:focus{outline:none;} .tsi::placeholder{color:#ccc;} .tsiu{font-size:9px;color:#A04040;}
.task-card{background:#fff;border-radius:15px;overflow:hidden;margin:0 12px 9px;border:0.5px solid #e0e0e0;}
.tg-hdr{background:#F8F5F0;padding:7px 13px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:#888;border-bottom:0.5px solid #e0e0e0;}
.trow{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:0.5px solid #e0e0e0;cursor:pointer;}
.trow:last-of-type{border-bottom:none;} .trow.ck{background:#F6FBF6;}
.tpic{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:21px;position:relative;overflow:hidden;gap:1px;}
.tpic .sc{font-size:9px;opacity:0.55;line-height:1;}
.trow.ck .tpic::after{content:'\2713';position:absolute;inset:0;border-radius:10px;background:rgba(29,158,117,0.82);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;}
.ctile{width:42px;height:42px;border-radius:10px;flex-shrink:0;background:#E0F4FF;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.trow.ck .ctile::after{content:'\2713';position:absolute;inset:0;border-radius:10px;background:rgba(29,158,117,0.82);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;}
.tcb{width:21px;height:21px;border-radius:6px;flex-shrink:0;border:1.5px solid #ccc;background:#fff;display:flex;align-items:center;justify-content:center;}
.trow.ck .tcb{background:#1D9E75;border-color:#1D9E75;}
.tlbl{font-size:13px;color:#1a1a1a;flex:1;line-height:1.3;}
.trow.ck .tlbl{color:#888;text-decoration:line-through;text-decoration-color:#aaa;}
.xpanel{display:none;padding:0 13px 10px 65px;flex-direction:column;gap:7px;}
.trow.ck + .xpanel{display:flex;}
.xi{background:#F8F5F0;border:0.5px solid #e0e0e0;border-radius:8px;padding:6px 10px;font-size:13px;color:#1a1a1a;font-family:inherit;width:88px;}
.xi:focus{outline:none;border-color:#A04040;} .xl{font-size:12px;color:#888;}
.xsel{background:#F8F5F0;border:0.5px solid #e0e0e0;border-radius:8px;padding:6px 10px;font-size:13px;color:#1a1a1a;font-family:inherit;flex:1;}
.ta-panel{display:none;padding:0 13px 9px 13px;gap:5px;flex-wrap:wrap;}
.trow.ck.ta + .ta-panel{display:flex;}
.tabtn{font-size:11px;border-radius:20px;padding:5px 11px;cursor:pointer;font-family:inherit;border:0.5px solid #e0e0e0;background:#F8F5F0;color:#888;}
.ta-none{background:#D3F0E4;color:#0D4A2E;border-color:#9FE1CB;} .ta-raise{background:#FAEAEA;color:#6B1A1A;border-color:#F5D8D8;} .ta-lower{background:#D6E8F5;color:#1E4F72;border-color:#B5D4F4;}
.act-det{padding:0 13px 10px 13px;} .act-lbl{font-size:11px;color:#888;margin-bottom:4px;}
.notes-card{background:#fff;border-radius:15px;margin:0 12px 9px;border:0.5px solid #e0e0e0;overflow:hidden;}
.notes-hdr{background:#F8F5F0;padding:7px 13px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:#888;border-bottom:0.5px solid #e0e0e0;}
.notes-area{width:100%;border:none;background:#fff;padding:11px 13px;font-size:13px;color:#1a1a1a;font-family:inherit;resize:none;min-height:75px;line-height:1.5;}
.notes-area:focus{outline:none;} .notes-area::placeholder{color:#888;opacity:0.6;}
.save-rt{width:calc(100% - 24px);margin:4px 12px 0;background:#A04040;color:#fff;border:none;border-radius:13px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;}

/* ── SALES PAGE ──────────────────────────────────────── */
.stock-bar{display:flex;align-items:center;justify-content:space-between;margin:12px 12px 0;background:#E0D8F5;border-radius:12px;padding:11px 14px;}
.sb-lbl{font-size:11px;color:#3A2A70;} .sb-val{font-size:22px;font-weight:600;color:#241860;} .sb-sub{font-size:10px;color:#7060A8;}
.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.type-btn{border-radius:12px;padding:13px 8px;border:2px solid #e0e0e0;background:#F8F5F0;cursor:pointer;text-align:center;font-family:inherit;transition:all 0.15s;}
.type-btn.sel{border-color:#7060A8;background:#EDE8F5;box-shadow:0 0 0 3px rgba(112,96,168,0.15);}
.type-emoji{font-size:24px;display:block;margin-bottom:5px;} .type-lbl{font-size:12px;font-weight:500;color:#888;}
.type-btn.sel .type-lbl{color:#3A2A70;font-weight:600;}
.sub-opts{display:flex;gap:6px;flex-wrap:wrap;}
.sub-btn{border-radius:20px;padding:6px 13px;border:1.5px solid #e0e0e0;background:#F8F5F0;cursor:pointer;font-size:12px;font-family:inherit;color:#888;}
.sub-btn.sel{background:#EDE8F5;border-color:#7060A8;color:#3A2A70;font-weight:500;}
.size-btns{display:flex;gap:7px;}
.sz-btn{flex:1;border-radius:10px;padding:10px 4px;border:2px solid #e0e0e0;background:#F8F5F0;cursor:pointer;text-align:center;font-family:inherit;transition:all 0.15s;}
.sz-btn[data-sz="sm"].sel{border-color:#A08C2A;background:#F8F2DC;box-shadow:0 0 0 3px rgba(160,140,42,0.15);}
.sz-btn[data-sz="md"].sel{border-color:#A08C2A;background:#F0EAC8;}
.sz-btn[data-sz="lg"].sel{border-color:#A08C2A;background:#E8E0B0;}
.sz-btn[data-sz="mix"].sel{border-color:#7060A8;background:#EDE8F5;}
.sz-emoji{display:flex;align-items:flex-end;justify-content:center;height:32px;} .sz-lbl{font-size:10px;color:#888;margin-top:3px;}
.sz-btn[data-sz="sm"].sel .sz-lbl,.sz-btn[data-sz="md"].sel .sz-lbl,.sz-btn[data-sz="lg"].sel .sz-lbl{color:#5A4400;font-weight:600;}
.sz-btn[data-sz="mix"].sel .sz-lbl{color:#3A2A70;font-weight:600;}
.tray-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.tr-btn{border-radius:10px;padding:10px 4px 8px;border:2px solid #e0e0e0;background:#F8F5F0;cursor:pointer;text-align:center;font-family:inherit;transition:all 0.15s;}
.tr-btn.sel{border-color:#7060A8;background:#EDE8F5;box-shadow:0 0 0 3px rgba(112,96,168,0.15);}
.tr-icon{display:flex;align-items:center;justify-content:center;height:36px;margin-bottom:4px;} .tr-lbl{font-size:11px;font-weight:500;color:#888;} .tr-sub{font-size:9px;color:#888;margin-top:1px;}
.tr-btn.sel .tr-lbl{color:#3A2A70;font-weight:600;} .tr-btn.sel .tr-sub{color:#7060A8;}
.qty-row{display:flex;align-items:center;gap:8px;}
.adj-btn{width:38px;height:38px;border-radius:10px;border:none;background:#EDE8F5;color:#7060A8;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.price-helper{background:#EDE8F5;border-radius:9px;padding:9px 12px;font-size:12px;color:#3A2A70;}
.price-helper strong{font-size:13px;}
.s-total-box{background:#E0D8F5;border-radius:10px;padding:11px 13px;border:1px solid #C8B8F0;}
.s-total-box .lbl{font-size:10px;color:#7060A8;margin-bottom:3px;} .s-total-box .val{font-size:22px;font-weight:600;color:#241860;} .s-total-box .sub{font-size:10px;color:#7060A8;margin-top:2px;}
.reg-btn{width:100%;background:#7060A8;color:#fff;border:none;border-radius:12px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;}
.sales-table{width:100%;border-collapse:collapse;font-size:12px;}
.sales-table th{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:#888;padding:0 0 7px;text-align:left;}
.sales-table th:last-child{text-align:right;}
.sales-table td{padding:7px 0;border-top:0.5px solid #e0e0e0;color:#1a1a1a;vertical-align:top;}
.sales-table td:last-child{text-align:right;color:#7060A8;font-weight:500;}
.td-sub{font-size:10px;color:#888;margin-top:2px;}
.day-total-row{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1.5px solid #e0e0e0;font-size:13px;font-weight:500;}
.day-total-row span:last-child{color:#7060A8;}
.empty-sales{text-align:center;padding:16px;color:#888;font-size:13px;}
.sal-row{display:flex;gap:7px;padding:0 13px 9px;}
.srx{flex:1;border-radius:9px;padding:7px 9px;}
.srx-y{background:#EDE8F5;} .srx-t{background:#E0D8F5;}
.srx-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:#3A2A70;margin-bottom:2px;}
.srx-val{font-size:19px;font-weight:500;color:#241860;line-height:1;}
.srx-unit{font-size:10px;color:#3A2A70;opacity:0.7;margin-top:2px;}
.sales-mini{padding:0 13px 9px;}
.sm-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:0.5px solid #e0e0e0;font-size:12px;}
.sm-row:last-child{border-bottom:none;}
.sm-who{color:#888;flex:1;} .sm-what{color:#1a1a1a;flex:1;text-align:center;} .sm-amt{color:#7060A8;font-weight:500;}
.stock-banner{margin:0 13px 9px;background:#E0D8F5;border-radius:10px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;}
.stock-lbl{font-size:11px;color:#3A2A70;} .stock-val{font-size:18px;font-weight:600;color:#241860;}

/* Sales page — flock picker (chicken sales only; purple selection) */
#chick-flock-section .flock-card.sel-sal{border-color:#7060A8;background:#EDE8F5;box-shadow:0 0 0 3px rgba(112,96,168,0.15);}
#chick-flock-section .flock-card.sel-sal .fc-sel-dot{background:#7060A8;border-color:#7060A8;}
#chick-flock-section .flock-card.sel-sal .fc-check{display:block;}
#chick-flock-section .flock-card.sel-sal .fc-name{color:#3A2A70;}
#chick-flock-section .flock-card.sel-sal .fc-count-main,
#chick-flock-section .flock-card.sel-sal .fc-count-quarant{color:#3A2A70;}

/* Buyer-name autocomplete (drop-up).
   Uses `position:fixed` so the menu floats above the .form-card (which
   has `overflow:hidden`) without clipping. Coordinates are recomputed
   from the input's bounding rect each time the dropup opens. Height is
   capped at 133 px = 3.5 × 38 px items. */
.buyer-input-wrap{position:relative;}
.buyer-dropup{position:fixed;background:#fff;border:0.5px solid #C8B8F0;border-radius:11px;box-shadow:0 -6px 18px rgba(58,42,112,0.10);z-index:200;overflow-y:auto;max-height:133px;display:none;}
.buyer-dropup.open{display:block;}
.buyer-dropup-item{padding:9px 13px;font-size:13px;color:#1a1a1a;cursor:pointer;border-bottom:0.5px solid #F0EBF8;line-height:1.3;min-height:38px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.buyer-dropup-item .bdi-sub{color:#888;font-weight:400;}
.buyer-dropup-item .bdi-sep{color:#bbb;font-weight:400;}
.buyer-dropup-item:last-child{border-bottom:none;}
.buyer-dropup-item:hover,.buyer-dropup-item.sel{background:#EDE8F5;color:#3A2A70;}
.buyer-dropup-empty{padding:11px 13px;font-size:12px;color:#888;text-align:center;}
.buyer-dropup::-webkit-scrollbar{width:5px;}
.buyer-dropup::-webkit-scrollbar-thumb{background:#D8CDF0;border-radius:3px;}
.buyer-dropup::-webkit-scrollbar-track{background:transparent;}

/* ── HEALTH PAGE ─────────────────────────────────────── */
.flock-grid-h{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.fc{border-radius:12px;padding:11px 10px;text-align:center;}
.fc-healthy{background:#C8EDED;} .fc-quarant{background:#FAE9C0;} .fc-sick{background:#F5D8D8;}
.fc-val{font-size:26px;font-weight:600;line-height:1;margin-bottom:3px;}
.fc-healthy .fc-val{color:#052828;} .fc-quarant .fc-val{color:#5A3A00;} .fc-sick .fc-val{color:#6B1A1A;}
.fc-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;}
.fc-healthy .fc-lbl{color:#2A7A7A;} .fc-quarant .fc-lbl{color:#D4900A;} .fc-sick .fc-lbl{color:#A04040;}
.fc-sub{font-size:10px;margin-top:4px;}
.fc-healthy .fc-sub{color:#2A7A7A;opacity:0.75;} .fc-quarant .fc-sub{color:#5A3A00;opacity:0.75;} .fc-sick .fc-sub{color:#6B1A1A;opacity:0.75;}
.alert-strip{margin:10px 12px 0;background:#FAEAEA;border-radius:11px;padding:10px 13px;border:1px solid #F5D8D8;display:flex;align-items:center;gap:10px;}
.alert-dot{width:10px;height:10px;border-radius:50%;background:#D84040;flex-shrink:0;animation:pulse 1.5s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
.alert-txt{font-size:12px;color:#6B1A1A;flex:1;line-height:1.4;} .alert-txt strong{font-weight:600;}
.h-stat-row{display:flex;gap:7px;padding:0 12px;margin-bottom:2px;}
.h-stat-box{flex:1;border-radius:10px;padding:9px 10px;text-align:center;}
.hsb-t{background:#C8EDED;} .hsb-a{background:#FAE9C0;} .hsb-r{background:#F5D8D8;}
.hsb-val{font-size:19px;font-weight:500;}
.hsb-t .hsb-val{color:#052828;} .hsb-a .hsb-val{color:#5A3A00;} .hsb-r .hsb-val{color:#6B1A1A;}
.hsb-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}
.hsb-t .hsb-lbl{color:#2A7A7A;} .hsb-a .hsb-lbl{color:#D4900A;} .hsb-r .hsb-lbl{color:#A04040;}
.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;}
.act-btn{border-radius:11px;padding:11px 8px;border:2px solid #e0e0e0;background:#F8F5F0;cursor:pointer;text-align:center;font-family:inherit;transition:all 0.15s;}
.act-btn.sel{border-color:#2A7A7A;background:#C8EDED;box-shadow:0 0 0 3px rgba(42,122,122,0.15);}
.act-emoji{font-size:22px;display:block;margin-bottom:4px;}
.act-btn.sel .act-lbl{color:#052828;font-weight:600;} .act-btn.sel .act-sub{color:#2A7A7A;}
.q-status-box{background:#FAE9C0;border-radius:12px;border:1px solid #F0D090;overflow:hidden;}
.q-status-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #F0D090;}
.q-status-title{font-size:13px;font-weight:600;color:#5A3A00;display:flex;align-items:center;gap:7px;}
.q-status-cnt{background:#D4900A;color:#fff;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;}
.q-bird-list{padding:10px 13px;display:flex;flex-direction:column;gap:7px;}
.q-bird-row{background:#fff;border-radius:10px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;border:0.5px solid #F0D090;}
.q-bird-info{display:flex;flex-direction:column;gap:2px;}
.q-bird-name{font-size:12px;font-weight:500;color:#5A3A00;} .q-bird-date{font-size:10px;color:#888;} .q-bird-days{font-size:10px;color:#D4900A;font-weight:500;}
.release-btn{background:#D3F0E4;color:#0D4A2E;border:1px solid #9FE1CB;border-radius:8px;padding:5px 11px;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;}
.release-all-btn{width:calc(100% - 26px);margin:0 13px 11px;background:#1D9E75;color:#fff;border:none;border-radius:10px;padding:10px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;}
.cnt-btn{width:38px;height:38px;border-radius:10px;border:none;background:#E0F4F4;color:#2A7A7A;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;}
.all-btns{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap;}
.all-btn{border-radius:20px;padding:5px 12px;border:1.5px solid #e0e0e0;background:#F8F5F0;cursor:pointer;font-size:11px;font-family:inherit;color:#888;transition:all 0.15s;display:flex;align-items:center;gap:5px;}
.all-btn.active{border-color:#2A7A7A;background:#C8EDED;color:#052828;font-weight:500;}
.chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-all{background:#2A7A7A;} .dot-healthy{background:#1D9E75;} .dot-quarant{background:#D4900A;} .dot-sick{background:#D84040;}
.cnt-hint{font-size:10px;color:#888;margin-top:4px;min-height:14px;} .cnt-hint.filled{color:#2A7A7A;font-weight:500;}
.photo-upload{border:2px dashed #e0e0e0;border-radius:10px;padding:16px 13px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;background:#F8F5F0;transition:all 0.15s;position:relative;overflow:hidden;}
.photo-upload:hover{border-color:#2A7A7A;background:#E0F4F4;}
.photo-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.photo-icon{font-size:28px;} .photo-txt{font-size:12px;font-weight:500;color:#888;} .photo-sub{font-size:10px;color:#888;opacity:0.7;}
.photo-previews{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;}
.photo-thumb{width:72px;height:72px;border-radius:9px;object-fit:cover;border:0.5px solid #e0e0e0;}
.photo-thumb-wrap{position:relative;display:inline-block;}
.photo-del{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:#D84040;color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.photo-added{border-color:#2A7A7A;background:#E0F4F4;}
.h-total-box{margin:0 12px 10px;background:#C8EDED;border-radius:10px;padding:11px 13px;border:1px solid #9FE1CB;}
.h-total-box .lbl{font-size:10px;color:#2A7A7A;margin-bottom:3px;} .h-total-box .val{font-size:16px;font-weight:600;color:#052828;} .h-total-box .sub{font-size:10px;color:#2A7A7A;margin-top:2px;}
.h-submit-btn{width:100%;background:#2A7A7A;color:#fff;border:none;border-radius:12px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;}
.hist-row{display:flex;gap:10px;padding:9px 13px;border-bottom:0.5px solid #e0e0e0;align-items:flex-start;}
.hist-row:last-child{border-bottom:none;}
.hist-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.hi-vaccine{background:#C8EDED;} .hi-quarant{background:#FAE9C0;} .hi-treat{background:#F5D8D8;} .hi-death{background:#EDE8E0;} .hi-other{background:#E0D8F5;}
.hist-main{flex:1;} .hist-title{font-size:13px;font-weight:500;color:#1a1a1a;}
.hist-detail{font-size:11px;color:#888;margin-top:2px;line-height:1.4;}
.hist-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap;}
.hist-badge{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500;}
.hb-low{background:#C8EDED;color:#052828;} .hb-medium{background:#FAE9C0;color:#5A3A00;} .hb-prev{background:#D3F0E4;color:#0D4A2E;} .hb-rel{background:#D3F0E4;color:#0D4A2E;}
.hist-time{font-size:10px;color:#888;} .hist-count{font-size:10px;color:#2A7A7A;font-weight:500;}
.hist-photo{display:flex;gap:5px;margin-top:6px;}
.hist-photo img{width:52px;height:52px;border-radius:7px;object-fit:cover;border:0.5px solid #e0e0e0;}

/* ── FEED PAGE ───────────────────────────────────────── */
.feed-top-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px 13px 13px;}
.fts{border-radius:11px;padding:10px 9px;text-align:center;}
.fts-a{background:#F5EFC8;} .fts-b{background:#EAE0A0;}
.fts-val{font-size:22px;font-weight:600;line-height:1;margin-bottom:3px;color:#3A2A00;}
.fts-lbl{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;color:#7A5A00;}
.fts-sub{font-size:10px;color:#7A5A00;opacity:0.8;margin-top:3px;}
.feed-prog-wrap{padding:0 12px 4px;}
.feed-prog-inner{background:#fff;border-radius:12px;padding:11px 13px;border:0.5px solid #e0e0e0;}
.feed-prog-top{display:flex;justify-content:space-between;margin-bottom:5px;font-size:11px;}
.fprog-lbl{color:#888;} .fprog-val{color:#A08C2A;font-weight:500;}
.fprog-track{background:#EAE0A0;border-radius:5px;height:8px;overflow:hidden;}
.fprog-fill{height:8px;border-radius:5px;background:#A08C2A;transition:width 0.4s;}
.kg-row{display:flex;align-items:center;gap:8px;}
.kg-btn{width:38px;height:38px;border-radius:10px;border:none;background:#F5EFC8;color:#5A4400;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;}
.kg-btn:active{background:#EAE0A0;} .kg-unit{font-size:12px;color:#888;flex-shrink:0;font-weight:500;}
.gpb-box{background:#EAE0A0;border-radius:12px;padding:13px 14px;border:1px solid #D4C060;}
.gpb-top{display:flex;align-items:flex-end;gap:10px;margin-bottom:8px;}
.gpb-val{font-size:34px;font-weight:600;color:#3A2A00;line-height:1;} .gpb-unit{font-size:13px;color:#7A5A00;margin-bottom:4px;}
.gpb-chips{display:flex;gap:7px;flex-wrap:wrap;}
.gpb-chip{background:#F5EFC8;border-radius:20px;padding:4px 11px;font-size:11px;color:#5A4400;font-weight:500;}

/* ── FEED: Flock selector ────────────────────────────── */
.flock-sel-grid{display:flex;flex-direction:column;gap:7px;}
.flock-card{border-radius:12px;border:2px solid #e0e0e0;background:#fff;cursor:pointer;overflow:hidden;transition:all 0.15s;}
.flock-card.sel-main{border-color:#A08C2A;background:#FBF8EC;box-shadow:0 0 0 3px rgba(160,140,42,0.15);}
.flock-card.sel-quarant{border-color:#D4900A;background:#FEF8EE;box-shadow:0 0 0 3px rgba(212,144,10,0.15);}
.flock-card.sel-sick{border-color:#A04040;background:#FDF2F2;box-shadow:0 0 0 3px rgba(160,64,64,0.15);}
.fc-row{display:flex;align-items:center;gap:11px;padding:11px 13px;}
.fc-badge{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;}
.fc-badge-main{background:#F5EFC8;} .fc-badge-quarant{background:#FAE9C0;} .fc-badge-sick{background:#F5D8D8;}
.fc-info{flex:1;}
.fc-name{font-size:13px;font-weight:500;color:#1a1a1a;} .fc-meta{font-size:11px;color:#888;margin-top:2px;}
.fc-count-main{color:#5A4400;font-size:13px;font-weight:600;flex-shrink:0;}
.fc-count-quarant{color:#5A3A00;font-size:13px;font-weight:600;flex-shrink:0;}
.fc-sel-dot{width:20px;height:20px;border-radius:50%;border:2px solid #e0e0e0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.flock-card.sel-main .fc-sel-dot{background:#A08C2A;border-color:#A08C2A;}
.flock-card.sel-quarant .fc-sel-dot{background:#D4900A;border-color:#D4900A;}
.fc-check{font-size:11px;color:#fff;display:none;}
.flock-card.sel-main .fc-check,.flock-card.sel-quarant .fc-check{display:block;}

/* ── FEED: Food scroll ───────────────────────────────── */
.food-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
.food-scroll-wrap::-webkit-scrollbar{display:none;}
.food-scroll{display:flex;gap:7px;width:max-content;}
.food-chip{border-radius:12px;padding:9px 13px;border:1.5px solid #e0e0e0;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:110px;transition:all 0.15s;}
.food-chip.sel{border-color:#A08C2A;background:#F5EEC8;box-shadow:0 0 0 3px rgba(160,140,42,0.2);}
.chip-name{font-size:12px;font-weight:500;color:#1a1a1a;} .food-chip.sel .chip-name{color:#3A2A00;}
.chip-sub{font-size:10px;color:#888;} .food-chip.sel .chip-sub{color:#7A5A00;}
.chip-badge{font-size:9px;font-weight:500;background:#F5EFC8;color:#7A5A00;border-radius:20px;padding:2px 7px;align-self:flex-start;margin-top:2px;}
.food-chip.sel .chip-badge{background:#D4C060;color:#3A2A00;}
.save-feed{width:calc(100% - 24px);margin:4px 12px 0;background:#A08C2A;color:#fff;border:none;border-radius:13px;padding:13px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;}
.feed-hist-row{display:flex;gap:10px;padding:9px 13px;border-bottom:0.5px solid #e0e0e0;align-items:flex-start;}
.feed-hist-row:last-child{border-bottom:none;}
.feed-hist-icon{width:36px;height:36px;border-radius:9px;background:#F5EFC8;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.feed-hist-main{flex:1;}
.feed-hist-title{font-size:13px;font-weight:500;color:#1a1a1a;}
.feed-hist-detail{font-size:11px;color:#888;margin-top:2px;line-height:1.4;}
.feed-hist-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap;}
.feed-hist-badge{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500;background:#F5EFC8;color:#5A4400;}
.feed-hist-badge-q{background:#FAE9C0;color:#5A3A00;}
.feed-hist-time{font-size:10px;color:#888;}
.feed-hist-gpb{font-size:10px;color:#A08C2A;font-weight:500;}
.month-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 13px 13px;}
.ms-cell{border-radius:9px;padding:8px;text-align:center;background:#F5EFC8;}
.ms-cell-b{background:#EAE0A0;}
.ms-cell-val{font-size:17px;font-weight:600;color:#3A2A00;}
.ms-cell-lbl{font-size:9px;color:#7A5A00;margin-top:2px;text-transform:uppercase;letter-spacing:0.06em;font-weight:500;}

/* ── LOGIN PAGE ──────────────────────────────────────── */
.login-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #5A7060 0%, #3A4E3A 100%);
  padding: 24px 16px;
}
.login-card {
  background: #fff;
  border-radius: 20px;
  padding: 36px 28px 32px;
  max-width: 380px;
  width: 100%;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.login-card__logo {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  background: #EDF3EE;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-card__logo svg {
  width: 28px;
  height: 44px;
}
.login-card h1 {
  color: #2A3A2A;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 4px;
}
.login-card__subtitle {
  color: #8A9E8A;
  font-size: 11px;
  letter-spacing: 0.04em;
  margin-bottom: 28px;
}
.login-card form {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.login-card label {
  font-size: 11px;
  font-weight: 500;
  color: #666;
  margin-bottom: 5px;
}
.login-card label:nth-of-type(n+2) {
  margin-top: 14px;
}
.login-card input {
  width: 100%;
  background: #F8F5F0;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  color: #1a1a1a;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.login-card input:focus {
  outline: none;
  border-color: #5A7060;
  box-shadow: 0 0 0 3px rgba(90,112,96,0.12);
}
.login-card button[type="submit"] {
  margin-top: 20px;
  width: 100%;
  background: #5A7060;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 14px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s, transform 0.1s;
}
.login-card button[type="submit"]:hover {
  background: #4A6050;
}
.login-card button[type="submit"]:active {
  background: #3A5040;
  transform: scale(0.98);
}
.login-card button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #5A7060;
  transform: none;
}
.login-status {
  font-size: 12px;
  text-align: center;
  margin-top: 12px;
  min-height: 18px;
}
.login-status--error { color: #A04040; }
.login-status--success { color: #1D9E75; }

/* ── Utility ─────────────────────────────────────────── */
.act-sub{font-size:9px;color:#888;margin-top:2px;opacity:0.8;}
.hidden { display: none !important; }

/* ── v6 Health rework — flock cards, sub-quarantines, move panel ── */

/* Per-flock collapsible card (extends `.form-card`). */
.h-flock-card{margin:0 12px 6px;}
.h-flock-hdr{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;}
.h-flock-icon{width:42px;height:42px;border-radius:11px;background:#C8EDED;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.h-flock-name{font-size:14px;font-weight:500;color:#1a1a1a;}
.h-flock-meta{font-size:11px;color:#888;margin-top:3px;}
.h-flock-count{font-size:15px;font-weight:500;text-align:right;}
.h-flock-count-lbl{font-size:9px;color:#888;}
.h-chev{font-size:11px;color:#888;transition:transform 0.2s;}
.h-chev.open{transform:rotate(180deg);}

/* Status strip inside the expanded flock card. */
.h-status-strip{display:flex;background:#F8F5F0;border-top:0.5px solid #e0e0e0;}
.h-status-cell{flex:1;padding:8px 0;text-align:center;border-right:0.5px solid #e0e0e0;}
.h-status-cell:last-child{border-right:none;}
.h-status-val{font-size:16px;font-weight:500;}
.h-status-lbl{font-size:9px;text-transform:uppercase;letter-spacing:0.06em;}
.h-status-cell.healthy .h-status-val{color:#052828;} .h-status-cell.healthy .h-status-lbl{color:#2A7A7A;}
.h-status-cell.quarant .h-status-val{color:#3E9090;} .h-status-cell.quarant .h-status-lbl{color:#3E9090;}
.h-status-cell.sick    .h-status-val{color:#A04040;} .h-status-cell.sick    .h-status-lbl{color:#A04040;}

/* Tab strip and action row for the expanded flock card. */
.h-tabs{display:flex;border-top:0.5px solid #e0e0e0;}
.h-tab{flex:1;padding:9px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;color:#888;border-right:0.5px solid #e0e0e0;}
.h-tab:last-child{border-right:none;}
.h-tab.sel{background:#F8F5F0;color:#1a1a1a;}
.h-act-row{display:flex;border-top:0.5px solid #e0e0e0;}
.h-act-btn{flex:1;padding:10px 4px;border:none;background:none;cursor:pointer;font-family:inherit;border-right:0.5px solid #e0e0e0;text-align:center;}
.h-act-btn:last-child{border-right:none;}
.h-act-btn.sel{background:#F8F5F0;}
.h-act-emoji{font-size:15px;display:block;margin-bottom:3px;}
.h-act-lbl-sm{font-size:10px;font-weight:500;color:#888;}
.h-act-btn.sel .h-act-lbl-sm{color:#1a1a1a;}

/* Inline panel form (event registration, end-quarantine, move). */
.q-panel-form{padding:12px 14px;background:#fff;border-top:0.5px solid #e0e0e0;display:flex;flex-direction:column;gap:11px;}
.h-cnt-btn{width:32px;height:32px;border-radius:8px;border:none;background:#E0F4F4;color:#2A7A7A;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;}
.h-cnt-inp{flex:1;border:0.5px solid #e0e0e0;border-radius:9px;padding:8px;text-align:center;font-size:16px;font-weight:500;font-family:inherit;}
.h-photo-btn{display:inline-flex;align-items:center;gap:8px;background:#E0F4F4;color:#2A7A7A;border:1px dashed #9FD8D8;border-radius:10px;padding:9px 13px;cursor:pointer;font-size:12px;font-weight:500;}
.h-all-chip{background:#9FD8D8;color:#052828;border:none;border-radius:20px;padding:6px 13px;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;}
.h-cancel-btn{background:#F8F5F0;color:#888;border:0.5px solid #e0e0e0;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;font-family:inherit;}

/* Quarantine sub-flock cards (teal). */
.q-subflock{margin:0 12px 6px 28px;background:#E0F4F4;border:1px solid #9FD8D8;border-radius:13px;overflow:hidden;}
.q-sf-header{display:flex;align-items:center;gap:11px;padding:11px 13px;cursor:pointer;}
.q-icon-ring{width:36px;height:36px;border-radius:50%;background:#fff;border:2.5px solid #D84040;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.q-sf-info{flex:1;}
.q-sf-name{font-size:13px;font-weight:500;color:#052828;}
.q-sf-meta{font-size:11px;color:#2A7A7A;margin-top:2px;}
.q-sf-count{font-size:15px;font-weight:500;color:#3E9090;}
.q-chev{font-size:11px;color:#3E9090;transition:transform 0.2s;}
.q-chev.open{transform:rotate(180deg);}
.q-act-row{display:flex;border-top:0.5px solid #9FD8D8;background:#fff;}
.qa-b{flex:1;padding:10px 4px;border:none;background:none;cursor:pointer;font-family:inherit;border-right:0.5px solid #9FD8D8;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;}
.qa-b:last-child{border-right:none;}
.qa-b.sel{background:#F8F5F0;}
.qa-b-icon{font-size:14px;}
.qa-b-lbl{font-size:10px;font-weight:500;color:#888;}
.qa-b.sel .qa-b-lbl{color:#1a1a1a;}
.qa-eq-ico{width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #D84040;display:flex;align-items:center;justify-content:center;font-size:13px;}
.qa-eq-lbl{font-size:10px;font-weight:500;color:#1a1a1a;}

/* Move-birds option list (radio-style picker). */
.h-move-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#F8F5F0;border:0.5px solid #e0e0e0;border-radius:11px;cursor:pointer;margin-bottom:6px;}
.h-move-opt.sel{background:#E0F4F4;border-color:#9FD8D8;}
.h-mo-icon{width:34px;height:34px;border-radius:9px;background:#C8EDED;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.h-mo-main{flex:1;}
.h-mo-name{font-size:13px;font-weight:500;color:#1a1a1a;}
.h-mo-sub{font-size:11px;color:#888;margin-top:2px;}
.h-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #9FD8D8;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;}
.h-radio-dot{width:8px;height:8px;border-radius:50%;background:transparent;}
.h-move-opt.sel .h-radio-dot{background:#2A7A7A;}

/* "+ Add new flock" button + history badge. */
.h-add-flock-btn{font-size:11px;font-weight:500;color:#052828;background:#C8EDED;border:1px solid #9FD8D8;border-radius:20px;padding:4px 12px;cursor:pointer;font-family:inherit;}
.hi-add{background:#D3F0E4;}

/* Photo previews (single shared style for health + flock-create). */
.photo-thumb-wrap{position:relative;display:inline-block;margin:6px 6px 0 0;}
.photo-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;border:0.5px solid #e0e0e0;}
.photo-del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border:none;border-radius:50%;background:#A04040;color:#fff;font-size:10px;cursor:pointer;line-height:1;font-family:inherit;}

/* ── BONUS PAGE ─────────────────────────────────────── */
.b-bonus { border:2px solid #D4A017; border-top:none; }
.a-bonus { height:4px; background:#D4A017; }
.bk-bonus { background:#FEF3C7; color:#92400E; }
.dch-bonus { display:flex;align-items:center;gap:6px;background:#FEF3C7;border:0.5px solid #FDE68A;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#92400E; }
.bonus-total-card { background:linear-gradient(145deg,#FEF3C7,#FDE68A); border:2px solid #F59E0B; border-radius:16px; margin:0 12px 10px; padding:20px 16px; text-align:center; }
.bt-label { font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.09em;color:#92400E;margin-bottom:6px; }
.bt-amount { font-size:44px;font-weight:700;color:#78350F;line-height:1;letter-spacing:-1px; }
.bt-max { font-size:11px;color:#B45309;margin-top:5px; }
.bt-bar-track { background:rgba(180,83,9,0.15);border-radius:6px;height:10px;overflow:hidden;margin:12px 0 6px; }
.bt-bar-fill { height:10px;border-radius:6px;background:linear-gradient(90deg,#F59E0B,#D97706);transition:width 0.6s cubic-bezier(0.34,1.56,0.64,1); }
.bt-breakdown { display:flex;gap:8px;margin-top:10px; }
.bt-chip { flex:1;background:rgba(255,255,255,0.5);border-radius:9px;padding:7px 6px;text-align:center; }
.bt-chip-val { font-size:14px;font-weight:700;color:#78350F; }
.bt-chip-lbl { font-size:9px;color:#92400E;margin-top:2px; }
.bonus-module { background:#fff;border-radius:15px;margin:0 12px 10px;border:0.5px solid #e0e0e0;overflow:hidden; }
.bm-header { padding:13px 14px 11px;border-bottom:0.5px solid #e0e0e0;display:flex;align-items:center;gap:11px; }
.bm-icon { width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0; }
.bm-title { font-size:14px;font-weight:500;color:#1a1a1a;flex:1; }
.bm-max { font-size:11px;color:#888; }
.bm-amount { font-size:20px;font-weight:700; }
.bm-body { padding:13px 14px; }
.bm-tier-row { display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;margin-bottom:6px; }
.bm-tier-row:last-child { margin-bottom:0; }
.bm-prog-fill { height:8px;border-radius:5px;transition:width 0.5s; }
.bonus-note { margin:0 12px 10px;background:#F8F5F0;border-radius:11px;padding:11px 13px;border:0.5px solid #e0e0e0; }
.bonus-note-txt { font-size:11px;color:#888;line-height:1.5; }

