:root{--color-bg:#f7f6f1;--color-surface:#fff;--color-surface-muted:#eef1ec;--color-border:#e2ded2;--color-text:#172420;--color-text-muted:#5c6b72;--color-header:#123c32;--color-accent:#123c32;--color-accent-dark:#0c2b24;--color-accent-medium:#4f8066;--color-accent-soft:#eaf2ed;--color-positive:#2f7d52;--color-positive-soft:#e3f1e7;--color-negative:#b3402f;--color-negative-soft:#f9eae7;--color-warning:#9a6b12;--color-warning-soft:#faf0da;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-card:0 1px 2px #121e190a, 0 8px 24px #121e190d;--shadow-nav:0 -2px 20px #121e1914;--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:24px;--touch-target:48px;--field-height:46px;--nav-height:68px;--sidebar-width:248px;--content-max-width:1240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface-muted) 25%, var(--color-border) 50%, var(--color-surface-muted) 75%);background-size:400% 100%;animation:1.6s ease-in-out infinite shimmer}body{background-color:var(--color-bg);color:var(--color-text);overscroll-behavior-y:contain;margin:0;overflow-x:hidden}h1,h2,h3,p,figure{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.app-shell{background-color:var(--color-bg);min-height:100dvh}.app{background-color:var(--color-bg);flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-sm);padding:calc(env(safe-area-inset-top) + 14px) var(--space-md) 14px;background-color:var(--color-header);color:#fff;display:flex;position:sticky;top:0}.topbar__brand{align-items:center;gap:var(--space-sm);letter-spacing:.08em;font-size:1.05rem;font-weight:700;display:flex}.brand-mark{width:auto;height:26px;display:block}.topbar__title{font-size:1.05rem;font-weight:600}.topbar__back{color:#fff;background-color:#ffffff1a;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:-6px;display:grid}.topbar__spacer{flex:1}.screen{padding:var(--space-md) var(--space-md) calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-lg));gap:var(--space-md);flex-direction:column;flex:1;display:flex}.screen--flush{padding-left:0;padding-right:0}.nav{z-index:30;width:100%;max-width:560px;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-surface);box-shadow:var(--shadow-nav);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav__item{height:100%;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;display:flex}.nav__item--active{color:var(--color-accent);font-weight:600}.nav__fab{background-color:var(--color-accent);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin:-26px auto 0;display:grid;box-shadow:0 8px 20px #123c3259}.nav__fab-label{text-align:center;color:var(--color-accent);margin-top:4px;font-size:.7rem;font-weight:600;display:block}@media (width>=768px){.app{max-width:100%}.screen{width:100%;max-width:720px;padding-left:var(--space-lg);padding-right:var(--space-lg);margin:0 auto}.nav{max-width:100%}}.sidebar,.top-utility,.page-header,.back-link{display:none}@media (width>=1024px){.app-shell{align-items:stretch;display:flex}.sidebar{gap:var(--space-lg);width:var(--sidebar-width);background-color:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100dvh;padding:28px 20px;display:flex;position:sticky;top:0}.sidebar__brand{align-items:center;gap:var(--space-sm);padding:0 var(--space-sm);letter-spacing:.06em;color:var(--color-accent);font-size:1.1rem;font-weight:700;display:flex}.sidebar__nav{flex-direction:column;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--space-sm);padding:11px var(--space-sm);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:500;display:flex}.sidebar__link:hover{background-color:var(--color-surface-muted)}.sidebar__link--active{background-color:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.app{flex:1;min-width:0;max-width:none;margin:0}.topbar,.nav{display:none}.top-utility{z-index:20;justify-content:flex-end;align-items:center;gap:var(--space-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:14px 40px;display:flex;position:sticky;top:0}.top-utility__feedlot{align-items:center;gap:var(--space-sm);margin-right:auto;display:flex}.top-utility__feedlot .select--compact{width:auto;height:38px;padding:0 30px 0 var(--space-sm);background-position:right 8px center;background-size:12px}.top-utility__status{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.top-utility__profile{background-color:var(--color-accent-soft);width:38px;height:38px;color:var(--color-accent);border-radius:50%;place-items:center;display:grid}.screen{max-width:var(--content-max-width);gap:var(--space-lg);margin:0;padding:32px 40px 48px}.page-header{flex-direction:column;gap:4px;display:flex}.page-header__title{letter-spacing:-.02em;font-size:1.9rem;font-weight:700}.page-header__subtitle{font-size:.95rem}.back-link{color:var(--color-text-muted);align-self:flex-start;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--color-text)}}.status-dot{background-color:var(--color-text-muted);border-radius:50%;width:8px;height:8px}.status-dot--ok{background-color:var(--color-positive)}.status-dot--warn{background-color:var(--color-warning)}.card{padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card--flat{box-shadow:none}.card--accent{background:linear-gradient(140deg, #fff 0%, var(--color-accent-soft) 100%)}.cta-banner{gap:var(--space-md);padding:var(--space-lg) var(--space-md);background:linear-gradient(140deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);border-radius:var(--radius-lg);color:#fff;flex-direction:column;display:flex}.cta-banner__title{font-size:1.2rem;font-weight:700}.cta-banner__subtitle{color:#ffffffc7}.cta-banner__button{color:var(--color-accent);background-color:#fff}.cta-banner__button:active{background-color:#eef1ec}@media (width>=1024px){.cta-banner{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-flow:wrap;padding:32px 36px}.cta-banner__text{flex:260px;min-width:220px}.cta-banner__title{font-size:1.4rem}.cta-banner__button{flex:none;width:auto;padding:0 28px}.home-grid{align-items:start;gap:var(--space-lg);grid-template-columns:1.7fr 1fr;display:grid}.home-grid__feedlots{grid-template-columns:1fr}}.greeting__title{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.greeting__subtitle{color:var(--color-text-muted)}.section-title{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.section-title h2{font-size:1.05rem;font-weight:700}.section-title a{color:var(--color-accent);font-size:.85rem;font-weight:600}.muted{color:var(--color-text-muted)}.small{font-size:.82rem}.stack{gap:var(--space-sm);flex-direction:column;display:flex}.stack--lg{gap:var(--space-md)}.row{align-items:center;gap:var(--space-sm);display:flex}.row>*{min-width:0}.row--between{justify-content:space-between}.grid-2{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-actions .button--block{width:100%}@media (width>=1024px){.page-actions{justify-content:flex-end;display:flex}.page-actions .button--block{width:auto}}.profile-grid{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=1024px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.profile-grid__full{grid-column:1/-1}}.date-range>*{min-width:0}.date-range{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=480px){.date-range{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.filter-bar{align-items:flex-end;gap:var(--space-md);flex-flow:wrap}.filter-bar .field{flex:180px;min-width:160px}.filter-bar .date-range{gap:var(--space-md);flex:2 320px;display:flex}.filter-bar .date-range .field{flex:1}.filter-bar>button{flex:none}}.new-count{gap:var(--space-lg);flex-direction:column;display:flex}@media (width>=1024px){.new-count>.steps,.new-count>.stack.stack--lg:not(.new-count__step3){max-width:640px}.new-count__step3{max-width:920px}.upload-card{padding:40px var(--space-lg);border:1.5px dashed var(--color-border);text-align:center;background-color:var(--color-surface-muted);align-items:center}.upload-card .button{width:auto;padding:0 32px}}.stat-row{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));display:grid}.stat-tile{flex-direction:column;gap:2px;display:flex}@media (width>=1024px){.pen-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.feedlot-list{gap:var(--space-sm)}.feedlot-row{gap:var(--space-sm);flex-direction:column;display:flex}.feedlot-row__stats{justify-content:space-between;gap:var(--space-md);display:flex}.feedlot-row__actions{gap:var(--space-sm);display:flex}.feedlot-row__actions .button{flex:1}@media (width>=1024px){.feedlot-row{align-items:center;gap:var(--space-lg);padding-top:var(--space-sm);padding-bottom:var(--space-sm);flex-direction:row}.feedlot-row__name{flex:1.4;min-width:0}.feedlot-row__stats{flex:1.6}.feedlot-row__stat{flex:1}.feedlot-row__actions,.feedlot-row__actions .button{flex:none}}.button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-target);padding:0 var(--space-lg);border-radius:var(--radius-md);background-color:var(--color-accent);color:#fff;font-weight:600;display:inline-flex}.button:active{background-color:var(--color-accent-dark)}.button:disabled{opacity:.5;cursor:default}.button--block{width:100%}.button--secondary{background-color:var(--color-accent-soft);color:var(--color-accent)}.button--ghost{border:1px solid var(--color-border);color:var(--color-text);background-color:#0000}.button--danger{background-color:var(--color-negative-soft);color:var(--color-negative)}.button--small{min-height:38px;padding:0 var(--space-md);border-radius:var(--radius-sm);font-size:.85rem}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.input,.select{box-sizing:border-box;width:100%;min-width:0;height:var(--field-height);padding:0 var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235c6b72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5 10 13 15 7.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:40px}.date-input-clip{width:100%;height:var(--field-height);border-radius:var(--radius-md);display:block;overflow:hidden}.date-input-clip .input{appearance:none;width:100%;height:var(--field-height);min-width:0;font-size:1rem}.input:focus,.select:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.chip{min-height:40px;padding:0 var(--space-md);border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:999px;font-size:.9rem}.chip--selected{border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.pill{background-color:var(--color-surface-muted);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.pill--up{background-color:var(--color-positive-soft);color:var(--color-positive)}.pill--down{background-color:var(--color-negative-soft);color:var(--color-negative)}.pill--warning{background-color:var(--color-warning-soft);color:var(--color-warning)}.pill--accent{background-color:var(--color-accent-soft);color:var(--color-accent)}.count-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}@media (width>=1024px){.count-row{padding:12px var(--space-md)}.count-row__thumb{width:72px;height:60px}}.count-row__thumb{object-fit:cover;border-radius:var(--radius-sm);background-color:var(--color-surface-muted);flex:none;width:64px;height:56px}.count-row__body{flex:1;min-width:0}.count-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.count-row__meta{color:var(--color-text-muted);font-size:.78rem}.count-row__value{text-align:right}.count-row__number{font-size:1.35rem;font-weight:700;line-height:1.1}.count-row__unit{color:var(--color-text-muted);font-size:.7rem;display:block}.sync-banner{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-warning-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex-direction:column;display:flex}.sync-banner__row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.sync-banner__row>.button{margin-left:auto}.sync-banner__row>.status-dot,.sync-banner__row>.spinner{flex:none}.sync-banner__row>div{flex:220px;min-width:0}.sync-banner__row--offline,.sync-banner__row--rejected{align-items:flex-start}.sync-banner__row--rejected{padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.sync-banner__title{font-size:.9rem;font-weight:600}.sync-banner__note{color:var(--color-text-muted)}.empty{align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);text-align:center;color:var(--color-text-muted);flex-direction:column;display:flex}.error-box{padding:var(--space-md);border-radius:var(--radius-md);background-color:var(--color-negative-soft);color:var(--color-negative)}.spinner{border:3px solid var(--color-accent-soft);border-top-color:var(--color-accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.viewer--loading{place-items:center;min-height:260px;display:grid}.viewer{border-radius:var(--radius-md);touch-action:none;-webkit-user-select:none;user-select:none;background-color:#0b1120;width:100%;position:relative;overflow:hidden}.viewer__stage{transform-origin:0 0;position:relative}.viewer__image{pointer-events:none;width:100%;height:auto;display:block}.viewer__overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.viewer__controls{right:var(--space-sm);bottom:var(--space-sm);gap:6px;display:flex;position:absolute}.viewer__button{color:#fff;background-color:#0f1729bf;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:grid}.viewer__hint{left:var(--space-sm);bottom:var(--space-sm);color:#fff;background-color:#0f1729b3;border-radius:999px;padding:4px 10px;font-size:.72rem;position:absolute}.editor{border-radius:var(--radius-md);touch-action:none;-webkit-user-select:none;user-select:none;background-color:#0b1120;width:100%;position:relative;overflow:hidden}.editor__image{pointer-events:none;width:100%;height:auto;display:block}.editor__svg{width:100%;height:100%;position:absolute;inset:0}.stepper{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-surface-muted);border-radius:var(--radius-md);display:flex}.stepper__button{width:var(--touch-target);height:var(--touch-target);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.3rem;font-weight:700;display:grid}.stepper__button:active{background-color:var(--color-accent-soft)}.stepper__value{text-align:center;flex:auto;min-width:0}.stepper__number{text-align:center;-moz-appearance:textfield;background:0 0;border:none;width:100%;font-size:1.6rem;font-weight:700}.stepper__number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.count-layout__media,.count-layout__panel{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=1024px){.mobile-only-header{display:none}.count-layout{align-items:start;gap:var(--space-lg);grid-template-columns:1.3fr 1fr;display:grid}}.result-total{padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(140deg, var(--color-accent) 0%, var(--color-accent-medium) 100%);color:#fff;flex-direction:column;align-items:center;gap:2px;display:flex}.result-total__number{font-size:2.6rem;font-weight:700;line-height:1.05}.detail-list{flex-direction:column;gap:2px;display:flex}.detail-list__row{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-border);padding:10px 0;display:flex}.detail-list__row:last-child{border-bottom:none}.detail-list__label{color:var(--color-text-muted)}.detail-list__value{text-align:right;font-weight:600}.steps{align-items:center;gap:6px;display:flex}.steps__dot{background-color:var(--color-border);border-radius:999px;flex:1;height:4px}.steps__dot--done{background-color:var(--color-accent)}.sparkline{width:100%;height:32px;display:block;overflow:visible}.auth{background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth__card{width:100%;max-width:400px}.auth__logo{align-self:flex-start;width:auto;height:44px}.auth__title{margin:0;font-size:1.5rem;font-weight:700}
