:root{--color-paper:oklch(100% 0 0);--color-paper-2:oklch(97.2% .004 265);--color-paper-3:oklch(94% .006 265);--color-rule:oklch(90.5% .006 265);--color-rule-strong:oklch(83% .008 265);--color-field-line:oklch(64% .01 265);--color-ink:oklch(22% .012 265);--color-ink-2:oklch(34% .012 265);--color-muted:oklch(46% .012 265);--color-neutral:oklch(60% .01 265);--color-accent:oklch(56% .1882 266.4);--color-accent-hover:oklch(47.7% .18 267);--color-accent-soft:oklch(96.1% .015 270);--color-accent-line:oklch(90.8% .037 270);--color-accent-ink:oklch(100% 0 0);--color-focus:oklch(50% .19 266);--color-danger:oklch(50% .18 27);--color-danger-soft:oklch(95% .03 27);--color-danger-line:oklch(84% .07 27);--color-warn:oklch(53% .12 72);--color-warn-soft:oklch(95% .045 82);--color-warn-line:oklch(85% .07 78);--color-info:oklch(48% .09 215);--color-info-soft:oklch(95% .025 215);--color-info-line:oklch(85% .045 215);--color-good:oklch(48% .13 150);--color-good-soft:oklch(95% .03 150);--color-good-line:oklch(85% .055 150);--color-scrim:oklch(22% .012 265/.44);--rgb-ink:24 27 32;--rgb-paper:255 255 255;--rgb-accent:65 105 225;--rgb-danger:179 35 34;--font-display:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--weight-display:700;--weight-heading:600;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.125rem;--text-display:clamp(1.75rem, 2.2vw + 1rem, 2.375rem);--text-figure:clamp(1.5rem, 1.2vw + 1.1rem, 1.875rem);--leading-display:1.15;--leading-tight:1.3;--leading-body:1.55;--track-display:-.015em;--track-label:.08em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--radius-sm:2px;--radius:4px;--radius-lg:6px;--control-height:44px;--control-height-sm:34px;--control-height-lg:52px;--shadow-raised:0 1px 2px oklch(22% .012 265/.07);--shadow-float:0 8px 28px oklch(22% .012 265/.16);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.32s;--rail-width:272px;--topbar-height:56px;--bottomnav-height:62px;--z-base:0;--z-raised:10;--z-sticky:100;--z-nav:1030;--z-scrim:1055;--z-drawer:1060;--z-toast:1080;--bs-body-font-family:var(--font-body);--bs-font-sans-serif:var(--font-body);--bs-font-monospace:var(--font-mono);--bs-body-font-size:var(--text-base);--bs-body-font-weight:400;--bs-body-line-height:var(--leading-body);--bs-body-color:var(--color-ink);--bs-body-color-rgb:var(--rgb-ink);--bs-body-bg:var(--color-paper);--bs-body-bg-rgb:var(--rgb-paper);--bs-emphasis-color:var(--color-ink);--bs-heading-color:var(--color-ink);--bs-secondary-color:var(--color-muted);--bs-secondary-bg:var(--color-paper-2);--bs-tertiary-color:var(--color-muted);--bs-tertiary-bg:var(--color-paper-2);--bs-border-color:var(--color-rule);--bs-border-color-translucent:var(--color-rule);--bs-border-radius:var(--radius);--bs-border-radius-sm:var(--radius-sm);--bs-border-radius-lg:var(--radius-lg);--bs-border-radius-xl:var(--radius-lg);--bs-border-radius-2xl:var(--radius-lg);--bs-border-radius-pill:var(--radius-lg);--bs-link-color:var(--color-accent);--bs-link-color-rgb:var(--rgb-accent);--bs-link-hover-color:var(--color-accent-hover);--bs-link-decoration:none;--bs-primary:var(--color-accent);--bs-primary-rgb:var(--rgb-accent);--bs-danger:var(--color-danger);--bs-danger-rgb:var(--rgb-danger);--bs-focus-ring-width:2px;--bs-focus-ring-color:var(--color-focus);--bs-focus-ring-opacity:1;--bs-code-color:var(--color-ink-2);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{overflow-x:clip}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-display);font-style:normal;font-weight:var(--weight-heading);color:var(--color-ink);line-height:var(--leading-tight);letter-spacing:var(--track-display)}h1,.h1,h2,.h2{font-weight:var(--weight-display)}h1,.h1{font-size:var(--text-display);line-height:var(--leading-display)}h2,.h2{font-size:var(--text-2xl)}h3,.h3{font-size:var(--text-xl)}h4,.h4{font-size:var(--text-lg)}h5,.h5{font-size:var(--text-md)}h6,.h6{font-size:var(--text-base)}h1,h2,h3,.h1,.h2,.h3{overflow-wrap:anywhere;min-width:0}a{color:var(--color-accent);text-underline-offset:.18em;text-decoration:none;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover);text-decoration:underline}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}code{color:var(--color-ink-2);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:.08em .34em}hr{border:0;border-top:1px solid var(--color-rule);opacity:1;margin:var(--space-sm) 0}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.uid,.figure,.tabular,table,.summary-value,input[type=number],input[type=date],input[type=datetime-local]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.uid{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--color-ink);font-size:.92em}.figure{font-family:var(--font-mono);font-size:var(--text-figure);letter-spacing:-.03em;color:var(--color-ink);font-weight:500;line-height:1.05}.field-label{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted);font-weight:600;display:block}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,.nav-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:none}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--color-accent-line);box-shadow:none}.btn{--bs-btn-font-family:var(--font-body);--bs-btn-font-size:var(--text-sm);--bs-btn-font-weight:500;--bs-btn-border-radius:var(--radius);--bs-btn-padding-y:var(--space-2xs);--bs-btn-padding-x:var(--space-sm);justify-content:center;align-items:center;gap:var(--space-3xs);min-height:var(--control-height);letter-spacing:0;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed}.btn-lg{--bs-btn-font-size:var(--text-base);--bs-btn-padding-y:var(--space-xs);--bs-btn-padding-x:var(--space-md);min-height:var(--control-height-lg)}.btn-sm{--bs-btn-font-size:var(--text-xs);--bs-btn-padding-y:var(--space-3xs);--bs-btn-padding-x:var(--space-2xs);min-height:var(--control-height-sm)}.btn-primary{--bs-btn-bg:var(--color-accent);--bs-btn-border-color:var(--color-accent);--bs-btn-color:var(--color-accent-ink);--bs-btn-hover-bg:var(--color-accent-hover);--bs-btn-hover-border-color:var(--color-accent-hover);--bs-btn-hover-color:var(--color-accent-ink);--bs-btn-active-bg:var(--color-accent-hover);--bs-btn-active-border-color:var(--color-accent-hover);--bs-btn-active-color:var(--color-accent-ink);--bs-btn-disabled-bg:var(--color-accent);--bs-btn-disabled-border-color:var(--color-accent);--bs-btn-disabled-color:var(--color-accent-ink)}.btn-outline-primary{--bs-btn-color:var(--color-accent);--bs-btn-border-color:var(--color-accent);--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--color-accent-soft);--bs-btn-hover-border-color:var(--color-accent);--bs-btn-hover-color:var(--color-accent-hover);--bs-btn-active-bg:var(--color-accent-soft);--bs-btn-active-border-color:var(--color-accent);--bs-btn-active-color:var(--color-accent-hover);--bs-btn-disabled-color:var(--color-accent);--bs-btn-disabled-border-color:var(--color-accent)}.btn-secondary,.btn-outline-secondary,.btn-light{--bs-btn-color:var(--color-ink);--bs-btn-bg:var(--color-paper);--bs-btn-border-color:var(--color-field-line);--bs-btn-hover-bg:var(--color-paper-2);--bs-btn-hover-border-color:var(--color-field-line);--bs-btn-hover-color:var(--color-ink);--bs-btn-active-bg:var(--color-paper-3);--bs-btn-active-border-color:var(--color-field-line);--bs-btn-active-color:var(--color-ink);--bs-btn-disabled-color:var(--color-muted);--bs-btn-disabled-bg:var(--color-paper);--bs-btn-disabled-border-color:var(--color-rule)}.btn-danger{--bs-btn-bg:var(--color-danger);--bs-btn-border-color:var(--color-danger);--bs-btn-color:var(--color-accent-ink);--bs-btn-hover-bg:var(--color-danger);--bs-btn-hover-border-color:var(--color-danger);--bs-btn-hover-color:var(--color-accent-ink);--bs-btn-active-bg:var(--color-danger);--bs-btn-active-border-color:var(--color-danger)}.btn-outline-danger{--bs-btn-color:var(--color-danger);--bs-btn-border-color:var(--color-danger);--bs-btn-hover-bg:var(--color-danger-soft);--bs-btn-hover-border-color:var(--color-danger);--bs-btn-hover-color:var(--color-danger);--bs-btn-active-bg:var(--color-danger-soft);--bs-btn-active-color:var(--color-danger);--bs-btn-active-border-color:var(--color-danger)}.btn-warning,.btn-outline-warning{--bs-btn-color:var(--color-warn);--bs-btn-bg:transparent;--bs-btn-border-color:var(--color-warn);--bs-btn-hover-bg:var(--color-warn-soft);--bs-btn-hover-border-color:var(--color-warn);--bs-btn-hover-color:var(--color-warn);--bs-btn-active-bg:var(--color-warn-soft);--bs-btn-active-color:var(--color-warn);--bs-btn-active-border-color:var(--color-warn)}.btn-success{--bs-btn-bg:var(--color-good);--bs-btn-border-color:var(--color-good);--bs-btn-color:var(--color-accent-ink);--bs-btn-hover-bg:var(--color-good);--bs-btn-hover-border-color:var(--color-good);--bs-btn-hover-color:var(--color-accent-ink);--bs-btn-active-bg:var(--color-good);--bs-btn-active-border-color:var(--color-good)}.btn-link{--bs-btn-color:var(--color-accent);--bs-btn-hover-color:var(--color-accent-hover);--bs-btn-font-weight:500;text-decoration:none}.btn-link:hover{text-decoration:underline}.card{--bs-card-bg:var(--color-paper);--bs-card-border-color:var(--color-rule);--bs-card-border-radius:var(--radius);--bs-card-inner-border-radius:var(--radius-sm);--bs-card-cap-bg:var(--color-paper);--bs-card-cap-padding-y:var(--space-xs);--bs-card-spacer-y:var(--space-sm);--bs-card-spacer-x:var(--space-sm);box-shadow:none}.card-header{border-bottom:1px solid var(--color-rule);color:var(--color-ink)}.card.shadow,.card.shadow-sm,.card.shadow-lg{box-shadow:none}.card .card{border-left:0;border-right:0;border-radius:0}.table{--bs-table-bg:transparent;--bs-table-color:var(--color-ink);--bs-table-border-color:var(--color-rule);--bs-table-hover-bg:var(--color-paper-2);--bs-table-hover-color:var(--color-ink);--bs-table-striped-bg:transparent;--bs-table-striped-color:var(--color-ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-bottom:0}.table>thead{border-bottom:1px solid var(--color-rule-strong)}.table>thead th,.table>thead>tr>th,.table-light>:not(caption)>*>*,.table>:not(caption)>thead>tr>th{background-color:var(--color-paper-2);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;white-space:nowrap;vertical-align:middle;font-weight:600}.table>tbody>tr>td{border-color:var(--color-rule);vertical-align:middle;padding-top:var(--space-2xs);padding-bottom:var(--space-2xs)}.table>tbody>tr:last-child>td{border-bottom-width:0}.card-body:has(>.table){overflow-x:auto}.card-body>.table{width:100%;min-width:max-content}.table td code,.table td .uid{font-family:var(--font-mono);color:var(--color-ink);background:0 0;border:0;padding:0}.form-control,.form-select{background-color:var(--color-paper);border-color:var(--color-field-line);border-radius:var(--radius);color:var(--color-ink);font-size:var(--text-sm);padding:var(--space-2xs) var(--space-xs);min-height:var(--control-height);transition:border-color var(--dur-micro) var(--ease-out)}textarea.form-control{min-height:calc(var(--control-height) * 2)}.form-control-sm,.form-select-sm{min-height:var(--control-height-sm)}.input-group>.form-control,.input-group>.form-select,.input-group>.btn,.input-group-text{min-height:var(--control-height)}.form-control::placeholder{color:var(--color-muted);opacity:1}.form-control:disabled,.form-select:disabled{background-color:var(--color-paper-2);color:var(--color-muted)}.form-label{color:var(--color-muted);font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;margin-bottom:var(--space-3xs);font-weight:600}.form-text{color:var(--color-muted);font-size:var(--text-xs)}.input-group-text{background-color:var(--color-paper-2);border-color:var(--color-field-line);color:var(--color-muted);font-size:var(--text-sm)}.form-check-input:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--color-danger);background-image:none}.invalid-feedback{color:var(--color-danger);font-size:var(--text-xs)}.badge{--bs-badge-font-size:var(--text-2xs);--bs-badge-font-weight:600;--bs-badge-padding-x:.45em;--bs-badge-padding-y:.3em;--bs-badge-border-radius:var(--radius-sm);letter-spacing:.02em;border:1px solid #0000}.badge.bg-primary{border-color:var(--color-accent-line);background-color:var(--color-accent-soft)!important;color:var(--color-accent-hover)!important}.badge.bg-success{border-color:var(--color-good-line);background-color:var(--color-good-soft)!important;color:var(--color-good)!important}.badge.bg-danger{border-color:var(--color-danger-line);background-color:var(--color-danger-soft)!important;color:var(--color-danger)!important}.badge.bg-warning{border-color:var(--color-warn-line);background-color:var(--color-warn-soft)!important;color:var(--color-warn)!important}.badge.bg-info{border-color:var(--color-info-line);background-color:var(--color-info-soft)!important;color:var(--color-info)!important}.badge.bg-secondary,.badge.bg-light,.badge.bg-dark{border-color:var(--color-rule);background-color:var(--color-paper-2)!important;color:var(--color-ink-2)!important}.badge.rounded-pill{font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px}.alert{--bs-alert-border-radius:var(--radius);font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);border-width:1px}.alert-danger{--bs-alert-bg:var(--color-danger-soft);--bs-alert-border-color:var(--color-danger-line);--bs-alert-color:var(--color-danger)}.alert-warning{--bs-alert-bg:var(--color-warn-soft);--bs-alert-border-color:var(--color-warn-line);--bs-alert-color:var(--color-warn)}.alert-success{--bs-alert-bg:var(--color-good-soft);--bs-alert-border-color:var(--color-good-line);--bs-alert-color:var(--color-good)}.alert-info{--bs-alert-bg:var(--color-info-soft);--bs-alert-border-color:var(--color-info-line);--bs-alert-color:var(--color-info)}.modal-content{background-color:var(--color-paper);border:1px solid var(--color-rule-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}.modal-header,.modal-footer{border-color:var(--color-rule);padding:var(--space-xs) var(--space-sm)}.modal-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600}.modal-backdrop.show{background-color:var(--color-scrim);opacity:1}.dropdown-menu{--bs-dropdown-bg:var(--color-paper);--bs-dropdown-border-color:var(--color-rule-strong);--bs-dropdown-border-radius:var(--radius);--bs-dropdown-link-color:var(--color-ink);--bs-dropdown-link-hover-bg:var(--color-paper-2);--bs-dropdown-link-active-bg:var(--color-accent-soft);--bs-dropdown-link-active-color:var(--color-accent-hover);--bs-dropdown-font-size:var(--text-sm);box-shadow:var(--shadow-float)}.list-group{--bs-list-group-bg:var(--color-paper);--bs-list-group-border-color:var(--color-rule);--bs-list-group-border-radius:var(--radius);--bs-list-group-action-hover-bg:var(--color-paper-2);--bs-list-group-active-bg:var(--color-accent-soft);--bs-list-group-active-border-color:var(--color-accent-line);--bs-list-group-active-color:var(--color-accent-hover)}.text-muted,.text-body-secondary{color:var(--color-muted)!important}.text-primary{color:var(--color-accent)!important}.text-success{color:var(--color-good)!important}.text-danger{color:var(--color-danger)!important}.text-warning{color:var(--color-warn)!important}.text-info{color:var(--color-info)!important}.text-dark{color:var(--color-ink)!important}.bg-white,.bg-body{background-color:var(--color-paper)!important}.bg-light{background-color:var(--color-paper-2)!important}.border{border-color:var(--color-rule)!important}.border-top{border-top-color:var(--color-rule)!important}.border-bottom{border-bottom-color:var(--color-rule)!important}.small,small{font-size:var(--text-xs)}.spinner-border,.spinner-grow{color:var(--color-accent)}.placeholder{background-color:var(--color-paper-3);opacity:1;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.btn:active:not(:disabled){transform:none}.spinner-border,.spinner-grow,.placeholder-glow .placeholder{animation-duration:revert!important;animation-iteration-count:infinite!important}}.main-content{padding:calc(var(--topbar-height) + var(--space-sm)) var(--space-sm) var(--space-lg);min-height:100vh}@media (width>=992px){.main-content{margin-left:var(--rail-width);padding:var(--space-lg) var(--space-xl) var(--space-2xl)}}.sheet-head{justify-content:space-between;align-items:baseline;gap:var(--space-2xs) var(--space-sm);padding-bottom:var(--space-xs);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-rule-strong);flex-wrap:wrap;display:flex}.sheet-head h1,.sheet-head h2{font-size:var(--text-xl);margin:0}.sheet-head__meta{color:var(--color-muted);font-size:var(--text-xs)}h2{margin-top:0}.summary-box{padding:var(--space-xs) 0;background:0 0;height:100%}.summary-value{font-family:var(--font-mono);font-size:var(--text-figure);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-ink);font-weight:500;line-height:1.05}.ledger-row{border-top:1px solid var(--color-rule-strong);border-bottom:1px solid var(--color-rule-strong);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.ledger-cell{padding:var(--space-xs) var(--space-sm) var(--space-xs) 0;border-right:1px solid var(--color-rule)}.ledger-cell:last-child{border-right:0}.ledger-cell__label{margin-bottom:var(--space-3xs);color:var(--color-muted);font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600;display:block}.ledger-cell__note{color:var(--color-neutral);font-size:var(--text-2xs)}@media (width<=575.98px){.ledger-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-cell:nth-child(2n){border-right:0}.ledger-cell:nth-child(n+3){border-top:1px solid var(--color-rule)}}.tab-scrollable{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch!important;white-space:nowrap!important;border-bottom:1px solid var(--color-rule)!important;flex-wrap:nowrap!important;padding-bottom:0!important;display:flex!important;overflow-x:auto!important}.tab-scrollable::-webkit-scrollbar{display:none}.tab-scrollable .nav-link,.nav-tabs .nav-link{min-height:52px!important;font-size:var(--text-sm)!important;white-space:nowrap!important;color:var(--color-muted)!important;transition:color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out)!important;background:0 0!important;border:none!important;border-bottom:2px solid #0000!important;border-radius:0!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;padding:12px 18px!important;font-weight:500!important;display:flex!important}.tab-scrollable .nav-link:hover:not(.active),.nav-tabs .nav-link:hover:not(.active){color:var(--color-ink)!important;border-bottom-color:var(--color-rule-strong)!important}.tab-scrollable .nav-link.active,.nav-tabs .nav-link.active{border-bottom:2px solid var(--color-accent)!important;color:var(--color-ink)!important;background:0 0!important;font-weight:600!important}.rfid-scan-panel{background:var(--color-paper-2);border-radius:var(--radius);margin-bottom:var(--space-sm);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-sm);box-shadow:none;border:1px solid}.barn-map{min-height:100%;padding:var(--space-sm);background-color:var(--color-paper);background-image:linear-gradient(to right, var(--color-paper-3) 1px, transparent 1px), linear-gradient(to bottom, var(--color-paper-3) 1px, transparent 1px);background-size:24px 24px;position:relative}.barn-map-aisles{align-items:flex-start;gap:var(--space-md);display:flex}.barn-aisle{min-width:0;padding:var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-paper);flex:1 1 0;align-items:stretch;display:flex}.barn-col{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.barn-col-label{padding-bottom:var(--space-3xs);color:var(--color-muted);font-size:var(--text-2xs);letter-spacing:var(--track-label);text-align:center;font-weight:600}.barn-walkway{padding:var(--space-2xs) 0;border-left:1px solid var(--color-rule);border-right:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-neutral);flex-direction:column;flex:none;justify-content:space-around;align-items:center;margin:26px 6px 0;display:flex}.barn-pen{padding:var(--space-3xs);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative;overflow:hidden}.barn-pen:hover{border-color:var(--color-accent)!important}.barn-pen:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.barn-pen-label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;position:absolute;top:5px;left:7px}.barn-pen-dot{border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.barn-pen-uid{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:500}.barn-pen-pig{object-fit:contain}.barn-pen-more{color:var(--color-muted);font-size:var(--text-2xs);position:absolute;bottom:4px}.barn-pen-empty{color:var(--color-neutral);font-size:var(--text-2xs);letter-spacing:.04em}.map-page-container{flex-direction:column;height:calc(100vh - 160px);display:flex}.map-page-container h2{flex-shrink:0}.map-grid-card{flex-direction:column;flex:1;display:flex;overflow:hidden}.map-grid-card .card-body{flex:1;padding:0;overflow:auto}.map-grid-container{margin-top:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-paper);overflow-x:auto}.animal-map-table{border-collapse:collapse;table-layout:auto;width:100%}.animal-map-table th,.animal-map-table td{border:1px solid var(--color-rule);padding:var(--space-2xs) var(--space-3xs);text-align:center;vertical-align:middle}.animal-map-table thead th,.animal-map-table .row-label{background-color:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-2xs);letter-spacing:var(--track-label);font-weight:600}.animal-map-table .row-label{width:40px}.map-cell{cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out);min-width:80px;max-width:120px}.map-cell:hover{background-color:var(--color-paper-2)}.cell-location{color:var(--color-ink);font-size:var(--text-xs);font-weight:600}.cell-uid{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-2xs);word-break:break-word;white-space:normal;margin-top:2px;line-height:1.2}.pig-icon-img{width:20px;height:20px;margin-bottom:var(--space-3xs)}.record-row{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-2xs);border-bottom:1px solid var(--color-rule);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out);background:0 0;display:flex}.record-row:hover,.record-row:focus-visible{background-color:var(--color-paper-2)}.record-row:last-child{border-bottom:0}.topbar{z-index:var(--z-nav);align-items:center;gap:var(--space-2xs);height:var(--topbar-height);padding:0 var(--space-2xs);background:var(--color-paper);border-bottom:1px solid var(--color-rule);display:flex;position:fixed;top:0;left:0;right:0}.topbar__menu{border-radius:var(--radius);width:44px;height:44px;color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.topbar__menu:hover{background:var(--color-paper-2)}.topbar__menu:active{background:var(--color-paper-3)}.topbar__wordmark{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:var(--track-display);color:var(--color-ink);white-space:nowrap;font-weight:600}@media (width>=992px){.topbar{display:none}}.sidebar{width:var(--rail-width);height:100%;z-index:var(--z-drawer);padding:var(--space-sm) var(--space-2xs) var(--space-2xs);background:var(--color-paper-2);border-right:1px solid var(--color-rule-strong);overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;visibility:hidden;transition:transform var(--dur-long) var(--ease-in), visibility 0s linear var(--dur-long);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar::-webkit-scrollbar{display:none}.sidebar.open{visibility:visible;box-shadow:var(--shadow-float);transition:transform var(--dur-long) var(--ease-out), visibility 0s;transform:translate(0)}@media (width>=992px){.sidebar{visibility:visible;transition:none;transform:none}.sidebar.open{box-shadow:none}}.sidebar-overlay{z-index:var(--z-scrim);background:var(--color-scrim);visibility:hidden;opacity:0;transition:opacity var(--dur-short) var(--ease-out), visibility 0s linear var(--dur-short);position:fixed;inset:0}.sidebar-overlay.visible{visibility:visible;opacity:1;transition:opacity var(--dur-short) var(--ease-out), visibility 0s}@media (width>=992px){.sidebar-overlay{display:none}}.sidebar-header{justify-content:space-between;align-items:center;gap:var(--space-2xs);padding:0 var(--space-2xs) var(--space-xs);margin-bottom:var(--space-xs);border-bottom:1px solid var(--color-rule-strong);display:flex}.logo-area{align-items:center;gap:var(--space-2xs);min-width:0;display:flex}.farm-name{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:var(--track-display);color:var(--color-ink);white-space:nowrap;font-weight:600}.close-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--color-muted);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.close-btn:hover{background:var(--color-paper-3)}@media (width>=992px){.close-btn{display:none}}.sidebar .nav-link,.sidebar .nav-link:link,.sidebar .nav-link:visited{align-items:center;gap:var(--space-2xs);width:100%!important;min-height:44px!important;padding:10px var(--space-2xs)!important;border-radius:var(--radius)!important;font-family:var(--font-body)!important;font-size:var(--text-sm)!important;color:var(--color-ink-2)!important;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out)!important;background:0 0!important;border-left:2px solid #0000!important;margin-bottom:1px!important;font-weight:500!important;line-height:1.35!important;display:flex!important}.sidebar .nav-link:hover:not(.active){background:var(--color-paper-3)!important;color:var(--color-ink)!important}.sidebar .nav-link.active{background:var(--color-accent-soft)!important;color:var(--color-accent-hover)!important;border-left-color:var(--color-accent)!important;border-radius:0 var(--radius) var(--radius) 0!important;font-weight:600!important}.sidebar .nav-link svg{color:var(--color-neutral);transition:color var(--dur-micro) var(--ease-out);flex:none}.sidebar .nav-link:hover svg{color:var(--color-ink-2)}.sidebar .nav-link.active svg{color:var(--color-accent)}.sidebar-section{margin-bottom:1px}.sidebar-section-header{align-items:center;gap:var(--space-2xs);width:100%;min-height:44px;padding:10px var(--space-2xs);border-radius:var(--radius);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);background:0 0;border:0;border-left:2px solid #0000;font-weight:500;display:flex}.sidebar-section-header:hover{background:var(--color-paper-3);color:var(--color-ink)}.sidebar-section-header svg{color:var(--color-neutral)}.sidebar-section-header:hover svg{color:var(--color-ink-2)}.sidebar-submenu{margin:2px 0 var(--space-3xs) 18px;padding-left:var(--space-2xs);border-left:1px solid var(--color-rule-strong)}.sidebar-submenu .nav-link{min-height:38px!important;padding:8px var(--space-2xs)!important;font-size:var(--text-xs)!important;color:var(--color-muted)!important;font-weight:400!important}.sidebar-submenu .nav-link:hover:not(.active){background:var(--color-paper-3)!important;color:var(--color-ink)!important}.sidebar-submenu .nav-link.active{color:var(--color-accent-hover)!important;background:0 0!important;border-left-color:#0000!important;font-weight:600!important}.sidebar-footer{padding:var(--space-2xs) var(--space-2xs) 0;border-top:1px solid var(--color-rule-strong);margin-top:auto}.sidebar-footer hr{display:none}.avatar{border-radius:var(--radius);border:1px solid var(--color-accent-line);width:32px;height:32px;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.02em;justify-content:center;align-items:center;font-weight:600;display:flex;background:var(--color-accent-soft)!important;color:var(--color-accent-hover)!important}.bottom-nav{z-index:var(--z-nav);background:var(--color-paper);border-top:1px solid var(--color-rule-strong);padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{min-height:52px;padding:var(--space-2xs) var(--space-3xs);color:var(--color-muted);font-size:var(--text-2xs);white-space:nowrap;transition:color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item svg{color:var(--color-neutral)}.bottom-nav-item.active{color:var(--color-accent-hover);border-top-color:var(--color-accent);background:var(--color-accent-soft)}.bottom-nav-item.active svg{color:var(--color-accent)}.bottom-nav-item:active{background:var(--color-paper-3)}.bottom-nav-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media (width<=767.98px){.main-content{padding-bottom:calc(var(--bottomnav-height) + var(--space-sm))!important}}
