:root {
  --brand-blue: #0B2D42;
  --brand-green: #2B5A3E;
  --brand-earth: #A97845;
  --brand-ivory: #F7F4EE;
  --white: #FFFFFF;
  --text-primary: #1F2933;
  --text-secondary: #4B5563;
  --text-muted: #686F76;
  --text-disabled: #9CA3AF;
  --text-on-dark: var(--white);
  --text-on-dark-secondary: rgba(255, 255, 255, 0.76);
  --bg-app: var(--brand-ivory);
  --surface: var(--white);
  --surface-subtle: #F8FAF9;
  --surface-selected: #EEF3F5;
  --border: #D5DEE3;
  --border-strong: #B8C4CA;
  --success: #1F7A4D;
  --success-bg: #EDF7F1;
  --warning: #8A5A11;
  --warning-bg: #FFF7E6;
  --danger: #B42318;
  --danger-bg: #FDECEC;
  --info: #2563EB;
  --info-bg: #EFF6FF;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(11, 45, 66, 0.06);
  --shadow-md: 0 4px 14px rgba(11, 45, 66, 0.08);
  --focus-ring: rgba(11, 45, 66, 0.18);
  --font-ui: Inter, "Segoe UI", Arial, sans-serif;
  --font-heading: "Barlow Semi Condensed", "Arial Narrow", "Segoe UI", Arial, sans-serif;
  --font-institutional: Merriweather, Georgia, "Times New Roman", serif;
  --type-display: 36px;
  --type-h1: 30px;
  --type-h2: 24px;
  --type-h3: 20px;
  --type-title-sm: 17px;
  --type-body: 16px;
  --type-body-sm: 14px;
  --type-label: 14px;
  --type-caption: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --sidebar-width: 256px;
  --page-padding: var(--space-8);
  --nav-text: rgba(255, 255, 255, 0.85);
  --nav-border: rgba(255, 255, 255, 0.2);
  --nav-hover: rgba(255, 255, 255, 0.06);
  --nav-active: rgba(255, 255, 255, 0.12);
  --line: var(--border);
  --muted: var(--text-muted);
  --text: var(--text-primary);
  --focus: var(--brand-blue);
  --red: var(--danger);
  --amber: var(--warning);
  /* Existing component actions stay unchanged until the Phase 2 checkpoint. */
  --green: #173b2d;
  --green2: #236043;
  font-family: var(--font-ui);
  font-size: var(--type-body);
  color: var(--text-primary);
  background: var(--bg-app);
  line-height: 1.5;
  letter-spacing: 0;
}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--brand-blue);color:var(--text-on-dark);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:0 0 var(--space-5);flex-shrink:0;min-width:0}.brand-logo{display:block;width:100%;height:auto}.brand-symbol{display:block;width:64px;height:auto;flex-shrink:0}.brand small{color:var(--nav-text);font-size:var(--type-caption);overflow-wrap:anywhere}.sidebar nav{display:grid;gap:4px}.sidebar nav button{background:transparent;color:var(--nav-text);border:0;border-left:3px solid transparent;text-align:left;padding:10px var(--space-3);border-radius:var(--radius-sm);min-height:44px;font-size:var(--type-body-sm);font-weight:500;overflow-wrap:anywhere}.sidebar nav button:hover{background:var(--nav-hover);color:var(--text-on-dark)}.sidebar nav button.active{background:var(--nav-active);border-left-color:var(--brand-earth);color:var(--text-on-dark)}.session{margin-top:auto;border-top:1px solid var(--nav-border);padding:var(--space-4) var(--space-3) 0;display:grid;gap:var(--space-1);font-size:var(--type-body-sm);overflow-wrap:anywhere}.session span{color:var(--nav-text);font-size:var(--type-caption)}.quiet{border:0;background:transparent;color:inherit;padding:8px 0;text-align:left}.session .quiet{color:var(--text-on-dark);min-height:44px}.session .quiet:hover{color:var(--text-on-dark);text-decoration:underline}.content{margin-left:var(--sidebar-width);padding:var(--page-padding);max-width:1504px}.view{display:none}.view.active{display:block}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-header h2{font-size:28px;margin:0 0 3px}.page-header p{margin:0;color:var(--muted)}h3{font-size:17px;margin:0 0 16px}.primary,.secondary{border-radius:5px;padding:10px 15px;font-weight:650;border:1px solid var(--green2)}.primary{background:var(--green2);color:#fff}.primary:hover{background:#194c34}.secondary{background:#fff;color:var(--green2)}.full{width:100%;text-align:center}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.metrics article{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green2);padding:18px;border-radius:6px}.metrics span,.metrics small{display:block;color:var(--muted);font-size:13px}.metrics strong{display:inline-block;font-size:30px;margin-top:8px}.metrics small{display:inline;margin-left:5px}.band{border-top:1px solid var(--line);padding-top:22px}.activity-list{background:#fff;border:1px solid var(--line);border-radius:6px}.activity{display:grid;grid-template-columns:110px 1fr auto;gap:12px;padding:12px 15px;border-bottom:1px solid #e8ece9}.activity:last-child{border:0}.activity .type{font-weight:700;text-transform:capitalize}.activity small{color:var(--muted)}.empty{padding:22px;color:var(--muted)}.segmented{display:flex;max-width:640px;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:18px;background:#fff}.segmented button{flex:1;border:0;border-right:1px solid var(--line);padding:10px;background:#fff}.segmented button:last-child{border:0}.segmented button.active{background:var(--green);color:#fff}.form-surface{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px;max-width:1050px}.form-surface.compact{max-width:760px}.operation-form{display:none}.operation-form.active{display:block}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}label{display:grid;gap:6px;font-weight:600;font-size:13px}input,select,textarea{width:100%;border:1px solid #bfc8c1;border-radius:4px;background:#fff;padding:10px 11px;min-height:42px;color:#18251f}input:focus,select:focus,textarea:focus{outline:2px solid #78a58c;outline-offset:1px}.wide{grid-column:1/-1}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #e5e9e6;white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#f8f9f7}tr:last-child td{border:0}.row-button{border:1px solid var(--green2);background:#fff;color:var(--green2);border-radius:4px;padding:5px 9px}.corral-detail{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.detail-grid article{background:#fff;border:1px solid var(--line);padding:14px;border-radius:5px}.detail-grid span{color:var(--muted);font-size:12px;display:block}.detail-grid strong{font-size:20px}.detail-tables{display:grid;gap:18px}.stock-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.stock-grid article{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px}.stock-grid span{display:block;color:var(--muted);text-transform:capitalize}.stock-grid strong{display:block;font-size:23px;margin-top:5px}.split-layout{display:grid;grid-template-columns:minmax(420px,760px) minmax(420px,1fr);gap:24px;align-items:start}.ingredient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.ingredient-row{display:grid;grid-template-columns:1fr 110px 130px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:5px}.ingredient-row label{font-size:11px}.actions{display:flex;justify-content:flex-end;gap:12px}.notice{position:fixed;right:24px;top:18px;z-index:20;max-width:420px;padding:13px 16px;border-radius:5px;color:#fff;background:var(--green2);box-shadow:0 8px 24px #0002}.notice.error{background:var(--red);color:#fff!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:var(--space-8) var(--space-4);background:var(--bg-app)}.auth-panel{width:min(100%,460px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8)}.auth-panel .brand-symbol{margin-bottom:var(--space-5)}.auth-panel h1{font-family:var(--font-heading);font-size:var(--type-h1);line-height:1.15;color:var(--brand-blue);margin:0}.auth-panel>p{color:var(--text-secondary);margin:var(--space-2) 0 var(--space-5)}.form-stack{display:grid;gap:15px}.error{color:var(--red)!important;min-height:20px}.mobile-header,.bottom-nav,.more-menu{display:none}
@media(max-width:900px){.sidebar{display:none}.content{margin-left:0;padding:var(--page-padding) var(--page-padding) 88px}.mobile-header{min-height:64px;padding:var(--space-2) var(--space-4);background:var(--brand-blue);color:var(--text-on-dark);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mobile-header .brand{padding:0;flex-direction:row;align-items:center;flex-shrink:1}.mobile-header .brand-symbol{width:48px}.mobile-header .brand small{min-width:0;max-width:240px}.mobile-session-actions{flex-shrink:0}.mobile-session-actions .quiet{min-height:44px;font-size:var(--type-body-sm)}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;z-index:15;background:var(--brand-blue);border-top:1px solid var(--nav-border);height:64px}.bottom-nav button{min-width:0;border:0;border-top:3px solid transparent;background:transparent;color:var(--nav-text);font-size:var(--type-caption);font-weight:500}.bottom-nav button:hover{background:var(--nav-hover)}.bottom-nav button.active{color:var(--text-on-dark);font-weight:700;border-top-color:var(--brand-earth);background:var(--nav-active)}.more-menu{display:grid;position:fixed;right:10px;bottom:68px;z-index:18;background:var(--brand-blue);border:1px solid var(--nav-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:170px}.more-menu[hidden]{display:none}.more-menu button{border:0;border-left:3px solid transparent;background:transparent;color:var(--nav-text);text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--type-body-sm)}.more-menu button:hover{background:var(--nav-hover)}.more-menu button.active{background:var(--nav-active);border-left-color:var(--brand-earth);color:var(--text-on-dark)}.metrics{grid-template-columns:1fr 1fr}.metrics article:last-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr}.split-layout{grid-template-columns:1fr}.stock-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.activity{grid-template-columns:85px 1fr}.activity small{grid-column:2}.ingredient-grid{grid-template-columns:1fr}}
@media(max-width:560px){.content{padding-left:var(--page-padding);padding-right:var(--page-padding)}.page-header h2{font-size:23px}.page-header{align-items:center}.page-header .secondary{padding:8px 10px}.segmented{display:grid;grid-template-columns:1fr 1fr}.segmented button{border-bottom:1px solid var(--line)}.form-surface{padding:16px}.form-grid{grid-template-columns:1fr}.metrics{gap:8px}.metrics strong{font-size:25px}.stock-grid{gap:8px}.stock-grid strong{font-size:19px}.ingredient-row{grid-template-columns:1fr 82px 100px}.notice{left:12px;right:12px;top:66px}}

/* Operacion diaria */
.operation-panel{display:none}.operation-panel.active{display:block}.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}.record-card,.record-row{border:1px solid var(--line);border-radius:6px;background:#fff}.record-card{padding:16px;min-width:0}.record-row{padding:13px 15px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(120px,.7fr) minmax(180px,1fr) auto;gap:10px;align-items:center}.record-row>*{min-width:0;overflow-wrap:anywhere}.record-list{display:grid;gap:8px}.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.record-head h3{margin:0;font-size:1rem}.facts{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1fr);gap:5px 12px;margin:14px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:650;text-align:right;overflow-wrap:anywhere}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:14px 0}.filter-bar label{min-width:180px}.unit,.form-help{color:var(--muted);font-weight:500}.field-form{max-width:780px}.touch-primary input{min-height:54px;font-size:1.3rem;font-weight:700}.large-action{min-height:52px;min-width:220px;margin-top:18px}.preview-surface{display:grid;gap:8px;margin:14px 0}.preview-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:8px 0}.preview-row strong{text-align:right;overflow-wrap:anywhere}.tax-row{display:grid;grid-template-columns:1fr minmax(110px,.6fr) 1fr auto auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.check-label{min-height:42px;display:flex!important;flex-direction:row!important;gap:7px;align-items:center}.check-label input{width:auto}.large-value{display:block;font-size:1.45rem;margin:8px 0}.composition{margin-top:12px}.composition summary{cursor:pointer;font-weight:650}.ration-total{font-weight:700;color:#8a3b2a}.ration-total.valid{color:#17633e}.state-sin-costo{background:#fff0e8;color:#8a3b2a}.notice.success{background:#e9f6ef;color:#155c39}.form-errors:empty,.field-error:empty{display:none}.form-errors:not(:empty){border-left:3px solid #b43c2e;background:#fff0ed;padding:10px 12px;margin-bottom:14px}.field-error{display:block;color:#9f2f24;font-size:.82rem;margin-top:4px}[aria-invalid=true]{border-color:#b43c2e!important;box-shadow:0 0 0 2px #b43c2e1f}
@media(max-width:760px){.record-row{grid-template-columns:1fr;gap:5px}.tax-row{grid-template-columns:1fr}.filter-bar label{min-width:min(100%,220px);flex:1}.card-actions button,.large-action{min-height:48px}.preview-row{align-items:flex-start}}

.inline-action-form{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.ingredient-grid label.ingredient-row{display:grid;grid-template-columns:1fr;padding:10px}.ingredient-grid label.ingredient-row input{width:100%}
.reconciliation-note{display:grid;gap:4px;padding:11px 13px;border-left:3px solid var(--green2);background:#edf3ef}.reconciliation-note span{color:var(--muted);font-size:13px}
.livestock-panel{margin-top:28px}.livestock-panel .record-row{grid-template-columns:minmax(90px,1fr) minmax(85px,.75fr) minmax(110px,1fr) auto}.physical-pen-card .facts{grid-template-columns:1fr;margin-bottom:8px}.physical-pen-card .preview-row{border:0;padding:3px 0}.state-disponible{background:#e3f2e8;color:#155d38}.state-inactivo{background:#eee;color:#59615d}
.historical-closure-section{padding:14px 0;border-top:1px solid var(--line)}.historical-closure-section h5{margin:0 0 8px;font-size:1rem}.historical-closure-section .preview-row{max-width:920px}@media(max-width:760px){.historical-closure-section{padding:12px 0}.historical-closure-section .preview-row{display:grid;gap:3px}.historical-closure-section .preview-row strong{text-align:left}}
@media(max-width:760px){.livestock-panel .record-row{grid-template-columns:1fr}}
.history-filter-summary{display:flex;align-items:center;gap:10px;margin-bottom:8px}.history-filters{max-width:none;margin-bottom:18px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.filter-chip{min-height:34px;padding:6px 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;text-align:left}.filter-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.history-table{width:100%;min-width:0;table-layout:fixed}.history-table th:first-child{width:52px}.history-table th:nth-child(2){width:20%}.history-table th:nth-child(3){width:18%}.history-table th:nth-child(4){width:11%}.history-table th:nth-child(5){width:20%}.history-table th:nth-child(6){width:16%}.history-table th:nth-child(7){width:15%}.history-table td{min-width:0;white-space:normal;vertical-align:middle}.history-table td:first-child{text-align:center}.history-table .history-open{margin:auto}.history-table-cell{display:grid;gap:2px;min-width:0}.history-table-cell strong{min-width:0;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.history-table-cell small{min-width:0;color:var(--text-muted);overflow-wrap:anywhere}.history-card-list{display:none}.history-card-identity{display:grid;gap:2px;min-width:0}.history-card-identity h3{min-width:0;overflow-wrap:anywhere}.history-card-identity small{color:var(--text-muted);overflow-wrap:anywhere}.history-card-summary{display:grid;gap:4px;margin:10px 0 0 56px}.history-card-summary .preview-row{display:grid;grid-template-columns:minmax(86px,.65fr) minmax(0,1.35fr);gap:8px;padding:5px 0}.history-card-summary .preview-row span{color:var(--text-secondary)}.history-card-summary .preview-row strong{text-align:left;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.history-detail{margin-top:16px}.history-detail>button{margin-bottom:10px}.history-detail .history-back{justify-self:start;width:auto;min-height:36px;padding:7px 10px}.history-detail h2{font-size:22px;margin:0 0 12px}.history-detail .historical-closure-section .preview-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:10px;max-width:760px}.history-detail .historical-closure-section .preview-row span{color:var(--text-secondary);font-weight:400}.history-detail .historical-closure-section .preview-row strong{min-width:0;text-align:left;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.history-card-more{border-top:1px solid var(--line);padding-top:10px}.history-card-more summary{cursor:pointer;font-weight:700;margin-bottom:8px}
@media(max-width:760px){.history-table-wrap{display:none}.history-card-list{display:grid;gap:12px}.history-card{padding:14px}.history-card .record-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:start}.history-card .history-open{order:0;align-self:start}.history-card .status-badge{justify-self:end}.history-card-summary{margin-left:54px}.history-filters .form-grid{grid-template-columns:1fr}.history-filters .actions{display:grid;grid-template-columns:1fr 1fr}.history-filters .actions button{text-align:center}.history-detail .history-back{min-height:44px}.history-detail .preview-row,.history-detail .historical-closure-section .preview-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}.history-detail .preview-row strong{text-align:left;overflow-wrap:anywhere}}
@media(max-width:460px){.history-card .record-head{grid-template-columns:44px minmax(0,1fr) auto}.history-card-summary{margin-left:54px}.history-card-summary .preview-row{grid-template-columns:minmax(0,1fr);gap:2px}}

@media(max-width:1200px){.split-layout{grid-template-columns:1fr}}

/* Cierres operativos */
.closure-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}.closure-selector{border-right:1px solid var(--line);padding-right:18px;min-width:0}.closure-selector-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.closure-selector-head span{font-size:12px;color:var(--muted)}.closure-corral-list{display:grid;gap:6px;max-height:calc(100vh - 190px);overflow:auto;padding-right:3px}.closure-corral-row{width:100%;min-height:72px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;text-align:left;border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px}.closure-corral-row:hover,.closure-corral-row.active{border-color:var(--green2);box-shadow:inset 3px 0 var(--green2)}.closure-corral-main{display:grid;min-width:0}.closure-corral-main small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-label{grid-column:1/-1;color:var(--amber);font-weight:700}.closure-workspace{min-width:0}.closure-workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.closure-workspace-head h3{font-size:23px;margin:0}.closure-workspace-head p{margin:0;color:var(--muted)}.closure-state-group{display:flex;gap:8px;align-items:flex-start}.closure-state-group>div{display:grid;gap:3px}.closure-state-group small{color:var(--muted);font-size:11px}.kicker{font-size:12px!important;text-transform:uppercase;font-weight:750;color:var(--green2)!important;margin:0 0 4px!important}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:4px;background:#e7ebe8;color:#36433c;font-size:12px;font-weight:750;text-transform:capitalize;white-space:nowrap}.state-abierto,.state-confirmada{background:#dceee4;color:#155d38}.state-cierre_en_borrador,.state-borrador{background:#fff0cc;color:#76510f}.state-cerrado,.state-reemplazada{background:#e5e8eb;color:#46515a}.state-reabierto,.state-borrador_obsoleto{background:#fde4dc;color:#8c3823}.closure-actions{display:flex;flex-wrap:wrap;gap:9px;padding:16px 0}.danger-text{color:var(--red)!important;border-color:#d8aaaa!important}.primary.danger{background:var(--red);border-color:var(--red);color:#fff}.primary.danger:hover{background:#872929}.closure-tabs{display:flex;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:18px}.closure-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:10px 13px;white-space:nowrap;color:var(--muted)}.closure-tabs button.active{border-bottom-color:var(--green2);color:var(--green2);font-weight:750}.closure-panel{display:none}.closure-panel.active{display:block}.closure-summary,.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:20px}.physical-summary{display:grid;gap:20px;margin-bottom:20px}.physical-block{min-width:0;border-top:1px solid var(--line);padding-top:12px}.physical-block h4{margin:0 0 9px;font-size:16px}.result-grid.performance-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:8px}.compact-result-note{margin:8px 0 0;padding:10px 12px;border-left:4px solid var(--green2);background:#edf3ef;color:#314139}.closure-metric{min-height:86px;background:#fff;padding:13px;display:flex;flex-direction:column;justify-content:center;min-width:0}.closure-metric span,.closure-metric small{font-size:12px;color:var(--muted)}.closure-metric strong{font-size:20px;overflow-wrap:anywhere}.issue-list{display:grid;gap:7px;margin:12px 0 20px}.inline-message{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-left:4px solid var(--green2);background:#edf3ef;margin:10px 0}.inline-message.warning{border-color:var(--amber);background:#fff7e5}.inline-message.error{border-color:var(--red);background:#fbeaea}.inline-message span{min-width:0}.closure-operational{display:grid;grid-template-columns:1fr 1fr;gap:20px}.operation-group{min-width:0;border-top:1px solid var(--line);padding-top:14px}.operation-list,.parameter-list{display:grid;gap:6px}.operation-row,.parameter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-bottom:1px solid #e5e9e6;padding:10px 2px;min-height:58px}.operation-row-body{display:grid;min-width:0}.operation-row-body span,.operation-row-body small{color:var(--muted);font-size:12px}.record-state{font-weight:700}.row-actions{display:flex;gap:6px;flex-shrink:0}.parameter-row span{color:var(--muted)}.parameter-all{margin-top:9px;justify-self:start}.empty-state{padding:18px 0;color:var(--muted)}.draft-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.draft-heading p{margin:0;color:var(--muted)}.draft-heading>div:last-child{display:grid;justify-items:end;gap:5px}.draft-note{color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:12px}.closure-review-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.closure-review-actions p{margin:0;color:var(--muted);max-width:560px}.closure-review-actions>div,.closure-correction-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.version-list{display:grid;border-top:1px solid var(--line)}.version-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 4px}.version-row:hover{background:#f8faf8}.version-main{display:grid}.version-main small,.version-reason{color:var(--muted)}.version-reason{grid-column:1/-1}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 0}.pager .secondary{padding:7px 10px}.version-detail{border-top:2px solid var(--green2);padding-top:16px;margin-top:12px}.difference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.difference-item{display:grid;grid-template-columns:1fr auto;gap:4px 10px;border-left:4px solid #7a8580;background:#fff;padding:10px}.difference-item small{grid-column:1/-1;color:var(--muted)}.difference-item.increase{border-color:#277348}.difference-item.decrease{border-color:var(--red)}.correction-history{margin:14px 0}.previous-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.previous-value{display:grid;border-bottom:1px solid var(--line);padding:7px 0}.previous-value span{font-size:12px;color:var(--muted)}.closure-no-selection{border:1px dashed #b9c3bc;padding:38px;text-align:center;color:var(--muted)}.operation-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 40px);border:1px solid var(--line);border-radius:7px;padding:0;box-shadow:0 22px 60px #0004;color:#18251f}.operation-dialog.wide-dialog{width:min(900px,calc(100vw - 28px))}.operation-dialog::backdrop{background:#14201999}.operation-dialog form{padding:22px;overflow:auto;max-height:calc(100vh - 42px)}.operation-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.operation-dialog header h3{margin:0}.dialog-close{border:0;background:transparent;font-size:28px;line-height:1;width:34px;height:34px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.dialog-actions .secondary,.dialog-actions .primary{text-align:center}.form-errors{color:var(--red);font-weight:650;min-height:20px;margin-top:10px}.field-error{min-height:0;color:var(--red);font-size:12px}
.economic-summary{display:grid;gap:18px;margin-bottom:20px}.economic-block{min-width:0;border-top:1px solid var(--line);padding-top:12px}.economic-block h4{margin:0 0 9px;font-size:16px}.economic-block .result-grid{margin-bottom:8px}.economic-details{margin-top:8px}.economic-details summary{cursor:pointer;color:var(--green2);font-weight:700;padding:8px 0}.economic-details[open] summary{margin-bottom:8px}
.closure-structure-input{max-width:420px;margin-top:16px}.closure-structure-input label{display:grid;gap:5px;font-weight:700}.closure-structure-input input{min-height:46px;font-size:1.1rem}.structure-detail{margin:18px 0;border-top:1px solid var(--line);padding-top:12px}.structure-detail summary{cursor:pointer;font-weight:750}.structure-interval{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.structure-interval span{overflow-wrap:anywhere}.structure-interval small{display:block;color:var(--muted)}

@media(max-width:1100px){.closure-layout{grid-template-columns:220px minmax(0,1fr)}.closure-summary,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.closure-operational{grid-template-columns:1fr}}
@media(max-width:900px){.closure-layout{grid-template-columns:1fr}.closure-selector{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px}.closure-corral-list{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;max-height:none;padding:0}.closure-corral-row{min-width:0;max-width:none}.closure-corral-main small{overflow:visible;text-overflow:clip;white-space:normal}.closure-no-selection{display:none}.closure-workspace-head{position:sticky;top:58px;z-index:5;background:#f3f5f2;padding-top:10px}.previous-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.closure-corral-list{grid-template-columns:1fr}.closure-summary,.result-grid,.difference-grid{grid-template-columns:1fr}.closure-metric{min-height:72px}.closure-workspace-head{align-items:flex-start}.closure-workspace-head h3{font-size:20px}.closure-state-group{display:grid}.closure-actions{display:grid;grid-template-columns:1fr 1fr}.closure-actions button{width:100%;text-align:center}.closure-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px}.closure-review-actions{align-items:stretch;flex-direction:column}.closure-review-actions>div,.closure-correction-actions{display:grid;grid-template-columns:1fr}.closure-review-actions button,.closure-correction-actions button{width:100%}.operation-row,.parameter-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.row-actions button{flex:1;text-align:center}.previous-values{grid-template-columns:1fr}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.operation-dialog form{padding:16px}.structure-interval{grid-template-columns:1fr 1fr}.structure-interval span:last-child{grid-column:1/-1}}
.exit-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.exit-cost-block{min-width:0;border:1px solid var(--line);padding:14px}.exit-cost-block legend{font-weight:700}.exit-cost-block .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calculated-output{margin:10px 0}.wide-field{grid-column:1/-1}@media(max-width:840px){.exit-cost-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.exit-cost-block .form-grid{grid-template-columns:1fr}}
.movement-dialog-shell{padding:22px;overflow:auto;max-height:calc(100vh - 42px)}.movement-dialog-shell>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.movement-detail-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.movement-detail-heading>span{color:var(--muted)}.movement-nested{border-top:1px solid var(--line);padding:9px 0}.movement-nested summary{cursor:pointer;font-weight:700;color:var(--green2)}.movement-nested-body{padding:6px 0 0 14px}@media(max-width:560px){.movement-dialog-shell{padding:16px}.movement-dialog-shell .form-grid{grid-template-columns:1fr}}
.livestock-detail-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.livestock-detail-primary .preview-row,.livestock-audit-body .preview-row{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr);gap:8px 14px;align-items:start;min-width:0}.livestock-detail-primary .preview-row span,.livestock-detail-primary .preview-row strong,.livestock-audit-body .preview-row span,.livestock-audit-body .preview-row strong{min-width:0;overflow-wrap:normal;word-break:normal}.livestock-detail-primary strong,.livestock-audit-body strong{text-align:right}.livestock-audit-body .preview-row[data-label="UUID"] strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word}.livestock-tax-list{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.livestock-tax-list h4{margin:0 0 8px}.livestock-tax-list p{margin:6px 0;overflow-wrap:anywhere}.livestock-technical-audit{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.livestock-technical-audit summary{cursor:pointer;color:var(--green2);font-weight:700}.livestock-audit-body{padding-top:10px}.livestock-audit-events{margin-top:12px}.livestock-audit-events p{overflow-wrap:anywhere}@media(max-width:640px){.livestock-detail-primary{grid-template-columns:minmax(0,1fr)}.livestock-detail-primary .preview-row,.livestock-audit-body .preview-row{grid-template-columns:minmax(0,1fr);gap:3px}.livestock-detail-primary strong,.livestock-audit-body strong{text-align:left}}
.movement-cost-component{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;min-width:0;margin:1rem 0;padding:16px}.movement-cost-component legend,.movement-cost-component>p,.movement-cost-taxes,.movement-cost-component>button{grid-column:1/-1}.movement-cost-component label{min-width:0}.movement-cost-component input,.movement-cost-component select,.movement-cost-component textarea{width:100%;min-width:0}.movement-cost-taxes{display:grid;gap:12px}.movement-cost-tax-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) minmax(110px,.55fr) minmax(180px,1.4fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:6px}.movement-cost-tax-row .check-label{align-self:center}.history-open{width:34px;height:34px;min-width:34px;padding:0;font-size:21px;line-height:1;text-align:center}.history-card .record-head{grid-template-columns:auto minmax(0,1fr) auto}.history-card .history-open{order:-1}@media(max-width:900px){.movement-cost-component{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-cost-tax-row{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-cost-tax-row button{justify-self:start}}@media(max-width:640px){.movement-cost-component,.movement-cost-tax-row{grid-template-columns:minmax(0,1fr)}.movement-cost-component{padding:12px}.operation-dialog.wide-dialog{width:calc(100vw - 16px)}}
.calculated-summary{display:grid;gap:8px;margin:14px 0;padding:12px;border-left:4px solid var(--green2);background:#edf3ef}.calculated-summary span{display:flex;justify-content:space-between;gap:12px}.record-row>.card-actions{grid-column:1/-1;margin-top:2px}.purchase-food-select{width:100%}@media(max-width:560px){.calculated-summary span{display:grid;gap:3px}}
.vet-line-list{display:grid;gap:10px}.vet-line-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:6px}.vet-line-row>*{min-width:0}.vet-line-row input,.vet-line-row select,.vet-line-row textarea{width:100%;min-width:0}.vet-line-row .wide,.vet-line-row .vet-remove{grid-column:auto}.vet-detail{padding:12px 0;border-top:1px solid var(--line)}.vet-detail summary{cursor:pointer;font-weight:700;color:var(--green2)}.vet-action-form{display:grid;gap:9px;margin-top:10px;padding:12px;border-left:3px solid var(--green2);background:#f5f8f5}.vet-action-form textarea{width:100%}.vet-product-lines{display:grid;gap:8px;margin:10px 0}.vet-product-line{padding:10px;border:1px solid var(--line);border-radius:6px}.vet-product-line p{margin:3px 0}.vet-status{font-weight:700;text-transform:capitalize}
.vet-line-row .vet-deductible{display:inline-flex;align-items:center;align-self:center;justify-self:start;gap:8px;width:auto;min-height:44px}.vet-line-row .vet-deductible input{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0}.vet-stock-card{display:grid;gap:4px}.vet-stock-card h3,.vet-stock-card p{margin:0}.vet-adjustment-panel{margin:18px 0}.vet-adjustment-panel>summary{display:inline-flex;cursor:pointer;color:var(--green2);font-weight:700;padding:10px 0}.vet-adjustment-panel[open]>summary{margin-bottom:8px}.vet-adjustment-panel .form-surface{margin-top:0}
.ration-actions{flex-wrap:wrap}.ration-actions button{white-space:nowrap}
#raciones-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.ration-version-card{display:grid;grid-template-rows:auto auto auto minmax(44px,auto) auto auto;align-content:start;min-width:0}
.ration-card-identity{display:grid;gap:3px;min-width:0}
.ration-card-head{min-width:0}
.ration-card-head h3{overflow-wrap:anywhere}
.ration-version-kind{color:var(--text-muted)}
.ration-card-availability{display:grid;gap:var(--space-2);align-content:start}
.ration-card-availability:empty,.ration-card-footer:empty{display:none}
.ration-card-availability .inline-message{margin:var(--space-3) 0 0}
.ration-card-availability .secondary{justify-self:start}
.ration-card-primary{display:grid;gap:3px;margin-top:var(--space-3);font-variant-numeric:tabular-nums}
.ration-card-primary p{margin:0}
.ration-card-variable{min-height:44px;padding-top:var(--space-2);color:var(--text-muted);line-height:1.45;overflow-wrap:anywhere}
.ration-card-composition{margin-top:var(--space-3)}
.ration-card-composition summary{padding:var(--space-2) 0;font-weight:600;color:var(--brand-blue)}
.ration-card-composition[open] summary{margin-bottom:var(--space-1)}
.ration-composition-list{grid-template-columns:minmax(0,180px) minmax(82px,100px);justify-content:start;gap:0 var(--space-3);max-width:292px;margin:var(--space-1) 0 var(--space-2);font-variant-numeric:tabular-nums}
.ration-composition-list dt,.ration-composition-list dd{min-width:0;margin:0;padding:5px 0;border-bottom:1px solid var(--border)}
.ration-composition-list dt{color:var(--text-primary);font-weight:400;overflow-wrap:anywhere}
.ration-composition-list dd{font-weight:500;text-align:right;white-space:nowrap}
.ration-card-footer{display:grid;gap:var(--space-3);align-content:start;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}
.ration-card-footer>.secondary{justify-self:start}
.ration-version-card .state-con_costo{border-color:var(--success);background:var(--success-bg);color:var(--success)}
.ration-version-card .state-sin_costo{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}
@media(max-width:1200px){#raciones-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#raciones-list{grid-template-columns:minmax(0,1fr)}.ration-card-footer>.secondary{min-height:44px}.ration-composition-list{grid-template-columns:minmax(0,1fr) minmax(82px,100px);max-width:100%}}
.vet-derived-field{display:grid;gap:5px;align-self:stretch;padding:9px 10px;border:1px solid var(--line);border-radius:4px;background:#f5f8f5}.vet-derived-label{color:var(--muted);font-weight:650}.vet-derived-value{font-weight:700;overflow-wrap:anywhere}.vet-invoice-preview{padding:14px;border:1px solid var(--line);background:#f8faf8}.vet-invoice-preview h3{margin:0 0 8px}
.vet-application-line [hidden],#vet-product-dosage [hidden]{display:none!important}.vet-application-line .wide{grid-column:1/-1}.vet-application-line .vet-remove{justify-self:start}
.form-surface.vet-correction-flow{border:2px solid var(--amber);background:#fffdf7;box-shadow:0 0 0 3px rgba(183,128,20,.08)}.vet-correction-flow>button[type=submit]{margin-inline-end:12px}.vet-correction-context{display:grid;gap:9px;margin:0 0 16px;padding:14px;border-left:4px solid var(--amber);border-bottom:1px solid var(--line);background:#fff7e5}.vet-correction-context[hidden]{display:none}.vet-correction-context p{margin:0}.vet-correction-context label{max-width:760px}.vet-correction-context .secondary{justify-self:start}.vet-adjustment-context{display:grid;gap:10px;margin:4px 0 16px}.vet-adjustment-context>.form-help{margin:0}.vet-adjustment-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vet-adjustment-actions{display:grid;gap:12px;margin-top:10px}.vet-adjustment-actions>.vet-correction-flow,.vet-adjustment-actions>.vet-annulment-form{padding:14px;border-radius:6px}.vet-adjustment-actions>.vet-correction-flow{border:2px solid var(--amber);background:#fffdf7}.vet-adjustment-actions>.vet-annulment-form{border:1px solid var(--line);border-left:4px solid var(--red);background:#fff}.vet-adjustment-launch-actions{margin-top:8px}
@media(max-width:760px){.vet-line-row{grid-template-columns:1fr}.vet-line-row .wide,.vet-line-row .vet-remove{grid-column:1}.vet-action-form .card-actions{display:grid;grid-template-columns:1fr 1fr}.vet-action-form button{min-height:46px}}
.vet-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:10px 0}.vet-detail-grid .preview-row{min-width:0}.vet-detail-grid strong{overflow-wrap:anywhere}.vet-product-line h4,.vet-invoice-summary h4,.vet-audit-events h4,.vet-tax-list h4{margin:0 0 8px}.vet-invoice-summary{margin-top:14px;padding:14px;border:1px solid var(--line);background:#f8faf8}.vet-tax-list{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.vet-tax-list p,.vet-audit-events p{margin:6px 0;overflow-wrap:anywhere}.vet-technical-audit{margin-top:14px;border-top:1px solid var(--line);padding-top:11px}.vet-technical-audit>summary{cursor:pointer;color:var(--green2);font-weight:700}.vet-audit-body{padding-top:8px}.vet-audit-events{margin-top:12px}.vet-record-detail{grid-column:1/-1}.record-row>.vet-record-detail{width:100%}
@media(max-width:760px){.vet-detail-grid{grid-template-columns:minmax(0,1fr)}.vet-detail-grid .preview-row{display:grid;gap:3px}.vet-detail-grid .preview-row strong{text-align:left}.vet-product-line,.vet-invoice-summary{padding:12px}.vet-action-form .card-actions{grid-template-columns:1fr}.vet-action-form .card-actions button{width:100%}}
.vet-product-workspace{display:grid;gap:var(--space-6);min-width:0}.vet-product-form{width:100%;max-width:none}.vet-product-section{min-width:0;margin:var(--space-5) 0 0;padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--border)}.vet-product-section legend{float:left;width:100%;margin:0 0 var(--space-3);padding:0;font-family:var(--font-ui);font-size:var(--type-h3);font-weight:600;color:var(--text-primary)}.vet-product-section legend+.form-grid{clear:both;margin-bottom:0}.vet-product-form input:not([type=checkbox]),.vet-product-form select{height:42px;min-height:42px;padding-block:8px}.vet-product-form textarea{min-height:84px;resize:vertical}.vet-product-edit-context{margin:0 0 var(--space-4)}.vet-product-edit-context strong{font-weight:600}.vet-product-form-actions{margin-top:var(--space-5)}.vet-product-catalog{min-width:0;padding-top:var(--space-2)}.vet-product-catalog>h3{margin-bottom:var(--space-3)}.vet-product-record{grid-template-columns:minmax(180px,1.1fr) minmax(180px,.9fr) minmax(220px,1.2fr) auto;min-height:64px}.vet-product-identity{display:grid;gap:2px;min-width:0}.vet-product-identity small,.vet-product-presentation,.vet-product-dosage-summary{color:var(--text-secondary);overflow-wrap:anywhere}.vet-product-dosage-summary{font-weight:500}.vet-product-record>.vet-status{align-self:center}.vet-product-record :is(.vet-detail>summary,.vet-technical-audit>summary){color:var(--brand-blue)}.vet-product-record>.card-actions{margin-top:var(--space-2)}.vet-product-edit{min-height:36px;padding-block:7px}
@media(max-width:1100px){.vet-product-record{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status" "presentation presentation" "dosage dosage" "detail detail" "actions actions";gap:5px var(--space-3)}.vet-product-record>.vet-product-identity{grid-area:identity}.vet-product-record>.vet-product-presentation{grid-area:presentation}.vet-product-record>.vet-product-dosage-summary{grid-area:dosage}.vet-product-record>.vet-status{grid-area:status;align-self:start}.vet-product-record>.vet-record-detail{grid-area:detail}.vet-product-record>.card-actions{grid-area:actions}}
@media(max-width:560px){.vet-product-form-actions{display:grid;grid-template-columns:minmax(0,1fr)}.vet-product-form-actions button{width:100%}.vet-product-edit{min-height:44px}}
@media(max-width:760px){.vet-adjustment-values{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.bottom-nav{z-index:30}.more-menu.open{display:grid}.more-menu{z-index:40;max-width:calc(100vw - 20px);max-height:calc(100vh - 136px);overflow-y:auto;overflow-x:hidden}}
.sidebar{overflow:hidden}.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:4px}.session{flex:0 0 auto}
.supply-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}.supply-workspace>*{min-width:0}.supply-recent-panel{min-width:0}.compact-filters{display:grid;grid-template-columns:minmax(180px,240px) minmax(180px,240px) max-content max-content;gap:8px;align-items:end;justify-content:start;margin-bottom:12px}.compact-filters>*{min-width:0}.technical-audit{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.technical-audit>summary{cursor:pointer;color:var(--green2);font-weight:700}.movement-friendly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
@media(max-width:900px){.compact-filters{grid-template-columns:1fr 1fr}.movement-friendly-grid{grid-template-columns:minmax(0,1fr)}}
.productive-analysis-dialog{width:min(1100px,calc(100vw - 24px))}.productive-analysis-dialog details{border-top:1px solid var(--line);padding:14px 0}.productive-analysis-dialog summary{cursor:pointer;font-weight:700;color:var(--green2)}.productive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.productive-summary .preview-row{display:grid;gap:3px;align-content:start;border:1px solid var(--line);padding:11px;min-width:0}.productive-summary .preview-row strong{overflow-wrap:anywhere}.productive-chart{width:100%;min-height:250px;overflow:hidden;background:#fff}.productive-chart svg{display:block;width:100%;height:auto;min-height:250px}.chart-axis{stroke:#aab5ae;stroke-width:1}.chart-line-mh{fill:none;stroke:#236043;stroke-width:3}.chart-line-ms{fill:none;stroke:#a56610;stroke-width:2}.chart-line-heads{fill:none;stroke:#173b2d;stroke-width:3}.chart-point{fill:#fff;stroke:#236043;stroke-width:2}.chart-label{font-size:11px;fill:#526059}.productive-finished-status{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}.productive-finished-status .empty-state{padding:4px 0}.productive-methodology{display:grid;gap:8px;padding-top:10px}.field-help{color:var(--muted);font-size:13px}.supply-overlap-warning{margin-top:14px;padding:14px;border-left:4px solid var(--amber);background:#fff7e5}.supply-overlap-warning h4{margin:0 0 6px}.supply-overlap-days p{margin:5px 0}.supply-overlap-existing{display:grid;gap:8px;margin-top:10px}.supply-overlap-record{grid-template-columns:minmax(210px,1fr) minmax(150px,.65fr);gap:10px 18px;align-items:start;background:#fff}.supply-overlap-record>*{overflow-wrap:normal;word-break:normal}.supply-overlap-record-main,.supply-overlap-record-meta{display:grid;gap:4px;min-width:0}.supply-overlap-record-main span,.supply-overlap-record-main small{overflow-wrap:break-word}.supply-overlap-record-meta{justify-items:end;text-align:right}.supply-overlap-record-meta strong{white-space:nowrap}.supply-overlap-record button{grid-column:1/-1;justify-self:start;white-space:nowrap;min-width:max-content}@media(max-width:760px){.productive-summary{grid-template-columns:1fr 1fr}.productive-analysis-dialog{width:calc(100vw - 12px)}.productive-chart{min-height:210px}.productive-chart svg{min-height:210px}}@media(max-width:640px){.supply-overlap-record{grid-template-columns:minmax(0,1fr)}.supply-overlap-record-meta{justify-items:start;text-align:left}.supply-overlap-record button{grid-column:1;width:auto;min-height:44px}}@media(max-width:430px){.productive-summary{grid-template-columns:1fr}}
.productive-series-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(52px,1fr));margin:0 0 10px}.productive-series-toggle button{min-height:36px}.productive-series-toggle button[aria-pressed="true"]{background:var(--green2);color:#fff}.movement-detail-dialog .record-row{min-width:0}.movement-detail-dialog .record-row span,.movement-detail-dialog .record-row small{overflow-wrap:anywhere}
@media(max-width:520px){.compact-filters{grid-template-columns:minmax(0,1fr);justify-content:stretch}.compact-filters .secondary{justify-self:stretch;width:100%}}
.previous-values>.livestock-detail-primary,.previous-values>.livestock-tax-list,.previous-values>.livestock-technical-audit{grid-column:1/-1;width:100%}
.physical-pen-settings{max-width:900px}.physical-pen-settings-heading p{margin:-10px 0 18px;color:var(--muted)}.physical-pen-config-form{display:grid;grid-template-columns:minmax(180px,280px) auto;gap:12px;align-items:start;margin-bottom:24px}.physical-pen-config-form .primary{margin-top:25px;white-space:nowrap}.physical-pen-config-list{display:grid;gap:10px}.physical-pen-config-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px 16px}.physical-pen-config-identity{display:grid;gap:3px;min-width:0}.physical-pen-config-identity small{color:var(--muted)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:700}.status-badge.active{background:#e7f2ea;color:#245a37}.status-badge.inactive{background:#ecefed;color:#59635e}.physical-pen-config-row button{white-space:nowrap}
.initial-setup-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;padding:16px 18px;border:1px solid #d7b66a;border-left:4px solid var(--amber);border-radius:6px;background:#fff8e8}.initial-setup-banner[hidden]{display:none}.initial-setup-banner h3{margin:0 0 4px}.initial-setup-banner p{margin:0;color:#5e5543}.initial-setup-banner button{flex:0 0 auto;white-space:nowrap}.installation-settings{max-width:900px;padding-bottom:24px}.installation-settings-heading p{margin:-10px 0 18px;color:var(--muted)}.installation-settings-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) auto;gap:12px;align-items:start}.installation-settings-form .primary{margin-top:25px;white-space:nowrap}
@media(max-width:600px){.initial-setup-banner{align-items:stretch;flex-direction:column}.initial-setup-banner button{width:100%}.installation-settings-form,.physical-pen-config-form{grid-template-columns:1fr}.installation-settings-form .primary,.physical-pen-config-form .primary{margin-top:0;width:100%}}
@media(max-width:600px){.physical-pen-config-form{grid-template-columns:1fr}.physical-pen-config-form .primary{margin-top:0;width:100%}.physical-pen-config-row{grid-template-columns:1fr auto}.physical-pen-config-row button{grid-column:1/-1;width:100%}}
.auth-success{color:var(--green2)!important;min-height:20px}.mobile-session-actions{display:flex;align-items:center;gap:12px}
.passkey-login{margin-top:12px}.passkey-login p{font-size:13px;color:var(--muted);margin:8px 0 0;text-align:center}
.account-passkeys{max-width:760px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.account-passkeys>p{color:var(--muted);max-width:65ch}.passkey-list{display:grid}.passkey-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.passkey-details{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.passkey-details span{font-size:13px;color:var(--muted)}.passkey-row button{flex-shrink:0;min-height:44px}.account-passkeys button,#passkey-revoke-dialog button{min-height:44px}#passkey-revoke-dialog{max-width:480px}#passkey-revoke-dialog p{overflow-wrap:anywhere}#passkey-revoke-dialog .dialog-actions{gap:12px;flex-wrap:wrap}
@media(max-width:560px){.passkey-row{align-items:flex-start;flex-direction:column;gap:12px}.passkey-row button{align-self:stretch}#passkey-revoke-dialog .dialog-actions button{flex:1 1 140px}}

/* Dialogs keep one scroll container so their identity and close action stay available. */
.operation-dialog{--dialog-padding:22px;overflow:hidden}
.operation-dialog>form,.operation-dialog>div{padding:var(--dialog-padding);overflow-y:auto;overscroll-behavior:contain;max-height:calc(100vh - 42px)}
.operation-dialog .movement-dialog-shell{padding:var(--dialog-padding);overflow-y:auto;max-height:calc(100vh - 42px)}
.operation-dialog .movement-dialog-shell form{padding:0;overflow:visible;max-height:none}
.operation-dialog header{position:sticky;top:calc(-1 * var(--dialog-padding));z-index:2;padding-top:var(--dialog-padding);background:#fff}
.operation-dialog .dialog-close{flex:0 0 auto}
body:has(.operation-dialog[open]){overflow:hidden;scrollbar-gutter:stable}
@media(max-width:560px){.operation-dialog{--dialog-padding:16px}}
.correction-comparison{display:grid;gap:1px;margin:12px 0;background:var(--line);border:1px solid var(--line)}
.correction-comparison-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(110px,1fr) minmax(110px,1fr);gap:12px;padding:10px;background:#fff}
.correction-comparison-header{background:#f3f5f2}
@media(max-width:560px){.correction-comparison-row{grid-template-columns:1fr}.correction-comparison-header{display:none}.correction-comparison-row strong:before{display:block;font-size:.75rem;color:var(--muted)}.correction-comparison-row strong:nth-child(2):before{content:"Antes"}.correction-comparison-row strong:nth-child(3):before{content:"Después"}}
.exit-form-sections{display:grid;gap:14px}.exit-form-section{min-width:0;border:1px solid var(--line);padding:14px;margin:0 0 14px}.exit-form-section legend,.exit-cost-section h4{font-weight:700}.exit-form-section .form-grid{margin-bottom:0}.exit-cost-section{margin-top:18px}.exit-cost-section>h4{margin:0 0 4px}.exit-cost-section>.form-help{max-width:820px}
@media(max-width:560px){.exit-form-section{padding:12px}.exit-form-section .form-grid{grid-template-columns:1fr}}
#form-racion{margin-top:14px}.ration-basis-note{border-left:4px solid var(--green2);background:#edf3ef;padding:11px 13px;color:#314139}.ration-composition-title{margin:18px 0 8px}.ingredient-row{grid-template-columns:minmax(140px,1fr) minmax(100px,130px);align-items:center}.ingredient-row .ingredient-name{font-weight:650}.ingredient-row .field-error{grid-column:1/-1}.destructive-review{margin-top:14px;border:1px solid #d8aaaa;border-left:4px solid var(--red);border-radius:5px;padding:14px;background:#fffafa}.destructive-review h4{margin:0 0 8px}.destructive-review .dialog-actions{margin-top:14px}
@media(max-width:620px){.ingredient-row{grid-template-columns:1fr}.ingredient-row .field-error{grid-column:1}.destructive-review .dialog-actions{align-items:stretch}.destructive-review .dialog-actions button{width:100%}}
.physical-report-list{border-top:1px solid var(--line)}
.physical-report-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:start;gap:16px;padding:9px 2px;border-bottom:1px solid var(--line)}
.physical-report-row span{min-width:0;color:var(--muted)}
.physical-report-row strong{min-width:0;text-align:right;font-size:14px;font-weight:700}
@media(max-width:560px){.physical-report-row{grid-template-columns:minmax(0,1fr);gap:3px}.physical-report-row strong{justify-self:end}}

/* Lote 8: responsive operational context and navigation polish. */
.operation-context{display:grid;gap:3px;margin:-4px 0 16px;padding:11px 13px;border-left:4px solid var(--green2);background:#edf3ef}.operation-context span{color:var(--muted)}
.chart-context{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:4px 0 8px}.chart-context span{color:var(--muted);font-size:12px;text-align:right}.chart-tooltip{margin:8px 0 0;padding:10px 12px;border-left:3px solid var(--green2);background:#edf3ef;overflow-wrap:anywhere}.chart-tooltip[hidden]{display:none}.chart-point{cursor:pointer;fill:transparent;stroke:transparent;stroke-width:1}.chart-point-marker{fill:#fff;stroke:#236043;stroke-width:2;pointer-events:none}.chart-point:focus{outline:none;stroke:#a56610;stroke-width:3}.productive-chart{max-width:100%;min-width:0}.productive-chart svg{max-width:100%;overflow:visible}
.pager[hidden]{display:none}.pager button{white-space:nowrap}.pager button:disabled{cursor:not-allowed;color:#56615b;border-color:#c5ccc7;background:#e7ebe8;opacity:1}
.record-row>.card-actions{align-self:end;justify-content:flex-start;gap:8px}.record-row>.card-actions button{white-space:nowrap;min-width:max-content}
.movement-detail-content,.movement-friendly-grid,.vet-detail-grid,.history-detail,.version-detail{min-width:0}.movement-detail-content code,.movement-detail-content pre,.technical-audit,.livestock-technical-audit,.vet-technical-audit{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:760px){.chart-context{display:grid;gap:2px}.chart-context span{text-align:left}.productive-chart{min-height:230px}.productive-chart svg{height:230px;min-height:230px}.record-row>.card-actions{width:100%;display:flex;align-items:stretch}.record-row>.card-actions button{min-height:44px;flex:1 1 auto}.movement-friendly-grid .preview-row,.vet-detail-grid .preview-row,.movement-detail-content>.preview-row,.version-detail .preview-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}.movement-friendly-grid .preview-row strong,.vet-detail-grid .preview-row strong,.movement-detail-content>.preview-row strong,.version-detail .preview-row strong{text-align:left}.closure-actions,.closure-review-actions>div,.closure-correction-actions,.dialog-actions{gap:10px}.closure-actions button,.closure-review-actions button,.closure-correction-actions button,.closure-tabs button,.version-row,.difference-item button{min-height:44px}.closure-tabs button{padding-inline:14px}.more-menu button{min-height:44px}}
@media(max-width:430px){.record-row>.card-actions{display:grid;grid-template-columns:minmax(0,1fr)}.record-row>.card-actions button{width:100%;min-width:0}}
.session-bootstrap{min-height:100vh;display:grid;place-items:center;padding:var(--space-5);background:var(--bg-app)}.session-bootstrap-content{display:grid;justify-items:center;gap:var(--space-2);color:var(--brand-blue)}.session-bootstrap-content .brand-symbol{margin-bottom:var(--space-2)}.session-bootstrap-content strong{font-family:var(--font-heading);font-size:var(--type-h2)}.session-bootstrap-content span{color:var(--text-secondary)}
.password-required-panel{width:min(100%,470px)}.password-required-panel>#required-password-logout{margin-top:12px}

/* Phase 1: structural headers and institutional identity only. */
.view>.page-header{
  min-height:64px;
  margin:calc(-1 * var(--page-padding)) calc(-1 * var(--page-padding)) var(--space-6);
  padding:var(--space-4) var(--page-padding);
  background:var(--surface);
  border-bottom:1px solid var(--border);
  align-items:center;
}
.view>.page-header>div{min-width:0}
.view>.page-header h2{
  font-family:var(--font-ui);
  font-size:var(--type-h1);
  font-weight:600;
  line-height:1.15;
  color:var(--brand-blue);
  overflow-wrap:anywhere;
}
.view>.page-header p{font-size:var(--type-body-sm);color:var(--text-secondary)}
.auth-brand img{display:block;width:100%;max-width:520px;height:auto;margin-inline:auto}
#auth-screen{padding:var(--space-4)}
#auth-screen .auth-panel{width:min(100%,570px);padding:var(--space-5) var(--space-6)}
#auth-copy{padding-top:var(--space-3);border-top:1px solid var(--border);margin:var(--space-3) 0}
#auth-form{gap:var(--space-3);margin-top:var(--space-6)}
#auth-form label{gap:var(--space-1);font-size:var(--type-label);line-height:1.35}
#auth-form input,#auth-submit,#passkey-login-button{min-height:44px}
#auth-screen .auth-panel>:is(#auth-success,#auth-error){min-height:0;margin:var(--space-3) 0 0}
#auth-screen .auth-panel>:is(#auth-success,#auth-error):empty{margin:0}
.sidebar{padding-block:var(--space-4)}
.sidebar>.brand{gap:var(--space-2);padding-bottom:var(--space-3)}
.sidebar nav{gap:2px;align-content:start}
.sidebar nav button{padding-block:var(--space-2);min-height:44px;color:var(--text-on-dark)}
.sidebar .session{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px var(--space-3);padding:var(--space-3) var(--space-1) 0;line-height:1.35}
.sidebar .session>.session-installation{grid-column:1/-1;text-align:center;font-size:12px;font-weight:500;line-height:1.4;color:var(--text-on-dark-secondary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;margin-bottom:var(--space-1)}
.sidebar .session>strong{grid-column:1/-1;text-align:center}
.sidebar .session .quiet{padding-block:var(--space-2);min-height:44px}
.sidebar button:focus-visible,.mobile-header button:focus-visible,.bottom-nav button:focus-visible,.more-menu button:focus-visible{outline:2px solid var(--white);outline-offset:-4px}
.view>.page-header button:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}
@media(min-width:901px){
  :root{--shell-header-height:84px}
  .sidebar{padding-top:var(--space-2)}
  .sidebar>.brand{min-height:calc(var(--shell-header-height) - var(--space-2));justify-content:center;padding-bottom:var(--space-1)}
  .sidebar .brand-logo{width:100%;max-width:220px}
  .sidebar .brand small{display:none}
  .sidebar nav{margin-top:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--nav-border);overflow-y:scroll;scrollbar-color:var(--nav-text) var(--nav-hover)}
  .view>.page-header{min-height:var(--shell-header-height)}
  .sidebar .session{column-gap:0}
  .sidebar .session .quiet{margin-top:var(--space-2);border-top:1px solid var(--nav-border);padding-inline:var(--space-2);text-align:center}
  .sidebar .session #logout{border-left:1px solid var(--nav-border)}
}
@media(max-width:900px){
  :root{--page-padding:var(--space-6)}
  .bottom-nav{display:flex}
  .bottom-nav button{flex:1 1 auto;min-width:44px;padding-inline:var(--space-1)}
}
@media(max-width:560px){
  :root{--type-display:30px;--type-h1:26px;--type-h2:22px;--type-h3:18px;--page-padding:var(--space-4)}
  .auth-panel{padding:var(--space-6)}
  .view>.page-header{flex-wrap:wrap;align-items:flex-start;padding-block:var(--space-3);gap:var(--space-2)}
  .view>.page-header h2{margin-bottom:2px}
  .view>.page-header>button{min-height:44px}
}

/* Branding Phase 2A: visible base components. */
.primary,.secondary,.row-button{
  min-height:40px;
  border-radius:var(--radius-md);
  padding:var(--space-2) var(--space-4);
  border:1px solid var(--brand-blue);
  font-weight:600;
  line-height:1.35;
}
.primary{background:var(--brand-blue);color:var(--white)}
.primary:hover{background:#071F2F;border-color:#071F2F}
.secondary,.row-button{background:var(--surface);color:var(--brand-blue)}
.secondary:hover,.row-button:hover{background:var(--surface-selected)}
.content .quiet,.operation-dialog .quiet{
  border-radius:var(--radius-md);
  color:var(--brand-blue);
}
.content .quiet:hover,.operation-dialog .quiet:hover{background:var(--surface-selected)}
.danger-text{color:var(--danger)!important;border-color:var(--danger)!important;background:var(--surface)}
.danger-text:hover{background:var(--danger-bg)!important}
.primary.danger{background:var(--danger);border-color:var(--danger);color:var(--white)}
.primary.danger:hover{background:#8F1C13;border-color:#8F1C13}
:is(.primary,.secondary,.row-button,.content .quiet,.operation-dialog .quiet):focus-visible{
  outline:2px solid var(--brand-blue);
  outline-offset:2px;
  box-shadow:0 0 0 4px var(--focus-ring);
}
:is(.primary,.secondary,.row-button):disabled{
  cursor:not-allowed;
  color:var(--text-disabled);
  border-color:var(--border);
  background:var(--surface-subtle);
  opacity:1;
}

label{font-size:var(--type-label);font-weight:500;line-height:1.35;color:var(--text-primary)}
input,select,textarea{
  border-color:var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  color:var(--text-primary);
  padding-inline:var(--space-3);
  min-height:42px;
}
textarea{min-height:88px;padding-block:10px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}
input:focus,select:focus,textarea:focus{
  border-color:var(--brand-blue);
  outline:2px solid var(--focus-ring);
  outline-offset:1px;
}
input:disabled,select:disabled,textarea:disabled{
  cursor:not-allowed;
  border-color:var(--border);
  background:var(--surface-subtle);
  color:var(--text-disabled);
  opacity:1;
}
.form-help,.unit{font-size:var(--type-caption);font-weight:500;color:var(--text-muted)}

.form-surface,.record-card,.activity-list,.detail-grid article,.stock-grid article{
  background:var(--surface);
  border-color:var(--border);
  border-radius:var(--radius-lg);
  box-shadow:none;
}
.form-surface{padding:var(--space-6)}
.record-card{padding:var(--space-5)}
.detail-grid article,.stock-grid article{padding:var(--space-5)}
.activity{color:var(--text-primary)}
.activity .type{font-weight:500}
.segmented button{color:var(--text-primary)}
.segmented button:hover{background:var(--surface-selected)}
.segmented button.active{background:var(--brand-blue);color:var(--white)}
.segmented button:focus-visible{
  outline:2px solid var(--brand-blue);
  outline-offset:2px;
  box-shadow:0 0 0 4px var(--focus-ring);
}
.content h3,.content h4{font-family:var(--font-ui);font-weight:600;color:var(--text-primary)}
.record-head h3{font-size:var(--type-title-sm)}

.metrics{gap:var(--space-3);margin-bottom:var(--space-6)}
.metrics article{
  min-height:0;
  padding:14px var(--space-4);
  border:1px solid var(--border);
  border-left:4px solid var(--brand-blue);
  border-radius:var(--radius-lg);
  background:var(--surface);
  text-align:center;
}
.metrics span,.metrics small{
  color:var(--text-muted);
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}
.metrics strong{
  margin-top:var(--space-1);
  color:var(--text-primary);
  font-family:var(--font-ui);
  font-size:32px;
  font-weight:700;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.metrics small{margin-left:var(--space-1);font-size:var(--type-caption)}

@media(max-width:760px){
  .primary,.secondary,.row-button{min-height:44px}
}
@media(max-width:560px){
  .form-surface,.record-card,.detail-grid article,.stock-grid article{padding:var(--space-4)}
  .metrics strong{font-size:28px}
}

/* Branding Phase 2B: management components. */
.table-wrap{
  background:var(--surface);
  border-color:var(--border);
  border-radius:var(--radius-lg);
}
table{
  color:var(--text-primary);
  font-family:var(--font-ui);
  font-variant-numeric:tabular-nums;
}
th,td{
  height:46px;
  padding:6px var(--space-3);
  border-bottom-color:var(--border);
}
th{
  background:var(--surface-subtle);
  color:var(--text-secondary);
  font-size:var(--type-caption);
  font-weight:600;
  line-height:1.35;
  letter-spacing:0;
}
td{font-size:var(--type-body-sm);line-height:1.4}
tbody tr:hover td{background:var(--surface-subtle)}
table :is(.row-button,.secondary,.danger-text,.quiet){
  min-height:36px;
  padding:5px 9px;
  font-size:13px;
}

:is(.record-row,.activity,.operation-row,.parameter-row,.version-row){
  color:var(--text-primary);
  font-family:var(--font-ui);
}
:is(.record-row,.activity,.operation-row,.parameter-row,.version-row){border-color:var(--border)}
:is(.record-row,.activity,.version-row):hover{background:var(--surface-subtle)}
:is(.record-row,.activity,.operation-row,.parameter-row,.version-row) :is(small,.form-help),
:is(.record-row,.activity,.operation-row,.parameter-row,.version-row) .unit{
  color:var(--text-muted);
}
.activity .type{font-weight:500}

.operation-dialog{
  background:var(--surface);
  border-color:var(--border);
  border-radius:var(--radius-lg);
  box-shadow:0 18px 48px rgba(11,45,66,.2);
  color:var(--text-primary);
  font-family:var(--font-ui);
}
.operation-dialog::backdrop{background:rgba(11,45,66,.68)}
.operation-dialog header{background:var(--surface);border-bottom-color:var(--border)}
.operation-dialog header :is(h3,h4){
  color:var(--text-primary);
  font-family:var(--font-ui);
  font-weight:600;
}
.dialog-close{
  min-width:44px;
  width:44px;
  height:44px;
  border-radius:var(--radius-md);
  color:var(--text-secondary);
}
.dialog-close:hover{background:var(--surface-selected);color:var(--brand-blue)}
.dialog-close:focus-visible{
  outline:2px solid var(--brand-blue);
  outline-offset:2px;
  box-shadow:0 0 0 4px var(--focus-ring);
}
.dialog-actions{gap:var(--space-3)}

.notice,
.inline-message{
  border:1px solid var(--info);
  border-left:4px solid var(--info);
  border-radius:var(--radius-md);
  background:var(--info-bg);
  color:var(--text-primary);
  line-height:1.45;
}
.notice{
  box-shadow:var(--shadow-md);
  color:var(--info);
}
.notice.success,.inline-message.success{
  border-color:var(--success);
  background:var(--success-bg);
  color:var(--success);
}
.notice.error,.inline-message.error{
  border-color:var(--danger);
  background:var(--danger-bg);
  color:var(--danger)!important;
}
.notice.warning,.inline-message.warning{
  border-color:var(--warning);
  background:var(--warning-bg);
  color:var(--warning);
}
.inline-message:not(.success):not(.warning):not(.error){color:var(--text-primary)}

.form-errors:not(:empty){
  padding:10px var(--space-3);
  border:1px solid var(--danger);
  border-left:4px solid var(--danger);
  border-radius:var(--radius-md);
  background:var(--danger-bg);
  color:var(--danger);
  font-weight:600;
  line-height:1.4;
}
.field-error{color:var(--danger);font-size:var(--type-caption);line-height:1.35}
[aria-invalid=true]{
  border-color:var(--danger)!important;
  box-shadow:0 0 0 2px rgba(180,35,24,.12);
}
[aria-invalid=true]:focus{
  border-color:var(--danger)!important;
  outline-color:rgba(180,35,24,.2);
}

.status-badge{border:1px solid transparent;font-family:var(--font-ui);font-weight:600}
.status-badge:is(.state-abierto,.state-confirmada,.state-disponible,.state-vigente,.active){
  border-color:var(--success);
  background:var(--success-bg);
  color:var(--success);
}
.status-badge:is(.state-cierre_en_borrador,.state-borrador){
  border-color:var(--warning);
  background:var(--warning-bg);
  color:var(--warning);
}
.status-badge:is(.state-reabierto,.state-borrador_obsoleto,.state-inactivo,.state-anulado,.state-anulada){
  border-color:var(--danger);
  background:var(--danger-bg);
  color:var(--danger);
}
.status-badge.state-cerrado{
  border-color:var(--border-strong);
  background:var(--surface-subtle);
  color:var(--text-secondary);
}
.status-badge:is(.state-corregido,.state-corregida,.state-reemplazado,.state-reemplazada){
  border-color:var(--brand-earth);
  background:var(--brand-ivory);
  color:#76502D;
}

.empty-state{
  padding:var(--space-5) var(--space-4);
  color:var(--text-muted);
  font-family:var(--font-ui);
  font-size:var(--type-body-sm);
  line-height:1.45;
}
.passkey-list>p,.session-bootstrap-content span{color:var(--text-muted)}
button[aria-busy=true]{cursor:progress}

@media(max-width:560px){
  .operation-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .operation-dialog>form,.operation-dialog>div{max-height:calc(100dvh - 18px)}
  .dialog-actions button{min-height:44px}
}

.movement-history-row{
  grid-template-columns:36px minmax(180px,1.25fr) minmax(100px,.55fr) minmax(260px,1.4fr) minmax(92px,auto);
  grid-template-areas:
    "detail main amount audit status"
    "detail secondary secondary secondary status";
  gap:4px var(--space-4);
  min-height:52px;
  padding:8px var(--space-3);
}
.movement-history-row .history-open{grid-area:detail}
.geometric-plus,
.movement-history-row .history-open{
  display:inline-flex;
  position:relative;
  align-self:center;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  padding:0;
  border-color:var(--brand-blue);
  color:var(--brand-blue);
  font-size:0;
  line-height:1;
  text-align:center;
}
.geometric-plus::before,
.geometric-plus::after,
.movement-history-row .history-open::before,
.movement-history-row .history-open::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  border-radius:1px;
  background:currentColor;
}
.geometric-plus::before,.movement-history-row .history-open::before{width:12px;height:2px}
.geometric-plus::after,.movement-history-row .history-open::after{width:2px;height:12px}
.movement-history-row .history-open:hover{background:var(--surface-selected)}
.movement-history-main{grid-area:main}
.movement-history-amount{grid-area:amount}
.movement-history-audit{grid-area:audit;color:var(--text-muted)}
.movement-history-status{grid-area:status;align-self:center;justify-self:start}
.movement-history-secondary{
  grid-area:secondary;
  display:flex;
  flex-wrap:wrap;
  gap:2px var(--space-4);
  min-width:0;
  color:var(--text-muted);
}
.movement-history-secondary small{overflow-wrap:anywhere}
.movement-history-row:has(.movement-history-secondary){
  row-gap:6px;
  padding-block:9px;
}
.supply-recent-row{
  grid-template-columns:36px minmax(140px,1fr) minmax(170px,1.05fr) minmax(200px,1.2fr) minmax(92px,auto);
}
.supply-recent-amount{display:grid;gap:1px;font-variant-numeric:tabular-nums}
.supply-recent-amount strong{font-weight:500}
#supply-recent-filters .secondary{justify-self:start}
#form-suministro .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#form-suministro .supply-aligned-field{grid-template-rows:auto 18px 42px auto;align-content:start}
#form-suministro .supply-field-helper{display:block}
#form-suministro .touch-primary input{height:42px;min-height:42px;font-size:inherit;font-weight:inherit}
#form-suministro .supply-history-toggle{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-secondary);font-weight:500}
#form-suministro .supply-history-toggle input{width:18px;height:18px;min-height:18px;margin:0}
#form-suministro #supply-history-help{margin:-4px 0 0;color:var(--text-muted)}
.supply-series-summary .preview-row span{color:var(--text-secondary);font-weight:400}
.supply-series-summary .preview-row strong{font-weight:500}
.supply-preview-components{grid-column:1/-1;display:grid;gap:0;margin-top:10px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.supply-preview-components h4{margin:0;padding:10px 12px;border-bottom:1px solid var(--line);font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--text-primary)}
.supply-preview-component-row{display:grid;grid-template-columns:minmax(140px,1.25fr) repeat(4,minmax(105px,.8fr));gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}
.supply-preview-component-row:last-child{border-bottom:0}
.supply-preview-component-row strong{min-width:0;font-weight:500;overflow-wrap:anywhere}
.supply-preview-component-row span{min-width:0;color:var(--text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.supply-preview-component-head{background:var(--surface-subtle);font-size:12px;font-weight:600;color:var(--text-secondary)}
.supply-preview-component-head span{font-weight:600}
.supply-preview-components.no-economics .supply-preview-component-row{grid-template-columns:minmax(140px,1.25fr) repeat(2,minmax(105px,.8fr))}
.supply-series-group{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand-earth);border-radius:6px;background:var(--surface-subtle)}
.supply-series-group-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 4px}.supply-series-group-context{display:grid;gap:3px;min-width:0}.supply-series-group-context .kicker{margin:0;color:#76502D;font-size:11px}.supply-series-group-context strong{font-weight:600}.supply-series-group-context>span:not(.kicker){color:var(--text-secondary);font-size:13px}.supply-series-group-header button{flex:0 0 auto;white-space:nowrap}.supply-series-group-days{display:grid;gap:8px}.supply-series-origin{display:flex;align-items:center;justify-content:space-between;gap:14px}.supply-series-origin p{margin:0}.supply-series-origin button{flex:0 0 auto;white-space:nowrap}.supply-series-detail-summary{margin:0}.supply-series-detail-days{display:grid;gap:8px}.supply-series-detail-days h4{margin:4px 0 0}.supply-series-detail-day{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px}.supply-series-detail-day-main{display:grid;gap:3px;min-width:0}.supply-series-detail-day-main strong{font-weight:600}.supply-series-detail-day-main span,.supply-series-detail-day-main small{color:var(--text-secondary);overflow-wrap:anywhere}
.supply-series-current-line{color:#76502D!important;font-weight:600}.supply-series-origin-copy{display:grid;gap:4px;min-width:0}.supply-series-origin-current{color:var(--text-secondary)}.supply-series-origin-actions{justify-content:flex-end;margin:0}.supply-series-detail-summary>h4,.supply-series-current-summary>h4{margin:0 0 10px;font-family:var(--font-ui);font-size:15px;font-weight:600}.supply-series-current-summary{display:grid;gap:10px;border-left:4px solid var(--brand-earth)}.supply-series-current-summary h5{margin:2px 0 0;font-family:var(--font-ui);font-size:13px;font-weight:600}.supply-series-current-facts,.supply-series-current-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.supply-series-open-original{justify-self:start;min-height:32px;margin-top:3px;padding:5px 9px;font-size:12px}.supply-series-lineage{font-variant-numeric:tabular-nums}
.supply-series-group .supply-recent-row{grid-template-columns:36px minmax(120px,1fr) minmax(145px,1.05fr) minmax(160px,1.2fr) minmax(92px,auto)}
.canonical-supply-components{display:grid;gap:8px}
.canonical-supply-component{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.5fr) minmax(180px,.8fr);gap:12px;align-items:center;padding:9px 12px}
.canonical-supply-component span,.canonical-supply-component small{font-variant-numeric:tabular-nums}
.movement-single-supply{display:block;margin:8px 0;color:var(--text-muted);font-size:var(--type-caption)}
.purchase-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}
.purchase-workspace>*{min-width:0}
#form-compra{max-width:none}
#form-compra>.form-grid :is(input,select){height:42px;min-height:42px}
#form-compra .purchase-aligned-field{grid-template-rows:auto 18px 42px;align-content:start}
#form-compra .purchase-field-helper{display:block}
.purchase-taxes-section{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle)}
.purchase-taxes-section h3{margin:0 0 var(--space-3);font-size:var(--type-title-sm);font-weight:600}
.purchase-calculated-summary{border:1px solid var(--border);border-left:4px solid var(--brand-earth);background:var(--surface-subtle);color:var(--text-primary)}
.purchase-history-row{
  grid-template-columns:36px minmax(150px,.9fr) minmax(260px,1.35fr) minmax(220px,1.15fr) minmax(92px,auto);
}
.purchase-history-row .movement-history-main{display:grid;gap:1px}
.purchase-history-amount{display:grid;gap:1px;font-variant-numeric:tabular-nums}
.purchase-history-amount strong{font-weight:600}
.stock-estimate-notice{
  border-color:var(--border);
  border-left-color:var(--brand-earth);
  background:var(--brand-ivory);
  color:var(--text-primary);
}
.stock-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stock-summary-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  gap:var(--space-2) var(--space-3);
  align-content:start;
}
.stock-summary-card .record-head{grid-column:1;min-width:0}
.stock-summary-card .record-head h3{overflow-wrap:anywhere}
.stock-summary-card .large-value{
  grid-column:1/-1;
  margin:var(--space-1) 0 0;
  color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
.stock-summary-card p,.stock-summary-card small{grid-column:1/-1;margin:0;color:var(--text-muted)}
.stock-card-actions{grid-column:1/-1;justify-content:space-between;margin-top:var(--space-1)}
.stock-card-actions .stock-history-open{width:auto;margin-left:auto}
.stock-adjustment-panel{scroll-margin-top:var(--space-4)}
.stock-adjustment-panel .form-surface{max-width:none}
.stock-history-panel{scroll-margin-top:var(--space-4)}
.stock-history-panel .page-header{margin-bottom:var(--space-3)}
.stock-history-row{
  grid-template-columns:36px minmax(150px,.85fr) minmax(190px,1fr) minmax(250px,1.35fr) minmax(92px,auto);
}
.stock-history-amount{display:grid;gap:1px;font-variant-numeric:tabular-nums}
.stock-history-amount strong{font-weight:600}
.stock-history-row .movement-history-main{display:grid;gap:1px}
.stock-history-row .movement-history-main small,.stock-history-amount small{color:var(--text-muted)}
.stock-history-row .movement-history-secondary small{overflow-wrap:anywhere}
.stock-impact-context{
  display:grid;
  gap:var(--space-3);
  margin-top:var(--space-4);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-left:4px solid var(--brand-earth);
  border-radius:var(--radius-md);
  background:var(--brand-ivory);
  color:var(--text-primary);
}
.stock-impact-context h4{margin:0;color:var(--brand-blue)}
.stock-impact-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--space-5);
}
.stock-impact-metrics{
  display:grid;
  gap:var(--space-2);
  padding-top:var(--space-3);
  border-top:1px solid var(--border);
}
.stock-impact-metric{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-4);
}
.stock-impact-metric span{color:var(--text-secondary)}
.stock-impact-metric strong{
  color:var(--text-primary);
  font-size:var(--type-h3);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.reconciliation-note{
  border:1px solid var(--border);
  border-left:4px solid var(--brand-earth);
  border-radius:var(--radius-md);
  background:var(--brand-ivory);
  color:var(--text-primary);
}
@media(max-width:1200px){
  .purchase-history-row{
    grid-template-columns:36px minmax(120px,.8fr) minmax(220px,1.3fr) minmax(92px,auto);
    grid-template-areas:
      "detail main amount status"
      "detail audit audit status"
      "detail secondary secondary status";
  }
}
@media(max-width:900px){
  .stock-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:900px){
  .stock-history-row{
    grid-template-columns:36px minmax(0,1fr) auto;
    grid-template-areas:
      "detail main status"
      ". amount amount"
      ". audit audit"
      ". secondary secondary";
  }
  .stock-history-row .history-open{align-self:start}
  .stock-history-row .movement-history-status{justify-self:end}
  .stock-history-row .movement-history-secondary{display:grid;gap:2px;margin-top:2px}
}
.purchase-detail-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--space-5);
  margin:0 0 var(--space-4);
}
.purchase-detail-fact{
  display:grid;
  grid-template-columns:minmax(130px,.75fr) minmax(0,1.25fr);
  gap:var(--space-3);
  align-items:start;
  min-width:0;
  padding:8px 0;
  border-bottom:1px solid var(--border);
}
.purchase-detail-fact dt{color:var(--text-secondary);font-weight:400}
.purchase-detail-fact dd{min-width:0;margin:0;font-weight:500;text-align:left;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:760px){
  #form-suministro .form-grid{grid-template-columns:minmax(0,1fr)}
  .canonical-supply-component{grid-template-columns:minmax(0,1fr);gap:2px}
  .supply-preview-component-head{display:none}
  .supply-preview-component-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px 12px}
  .supply-preview-components.no-economics .supply-preview-component-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .supply-preview-component-row>*{display:grid;gap:2px}
  .supply-preview-component-row>*::before{content:attr(data-label);color:var(--text-muted);font-size:11px;font-weight:500}
  .supply-preview-component-row>strong{grid-column:1/-1}
  .supply-series-group-header,.supply-series-origin{align-items:flex-start;flex-direction:column}.supply-series-group-header button,.supply-series-origin button{min-height:44px}.supply-series-origin-actions{justify-content:flex-start}.supply-series-current-facts,.supply-series-current-components{grid-template-columns:minmax(0,1fr)}.supply-series-group .supply-recent-row{grid-template-columns:44px minmax(0,1fr) auto}.supply-series-detail-day{grid-template-columns:44px minmax(0,1fr) auto;align-items:start}.supply-series-detail-day .history-open{width:44px;height:44px}
  .purchase-detail-facts{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:520px){
  .purchase-detail-fact{grid-template-columns:minmax(0,1fr);gap:3px}
}

.physical-pen-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:185px;
  padding:var(--space-4);
}
#physical-pens-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1200px){#physical-pens-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#physical-pens-list{grid-template-columns:minmax(0,1fr)}}
.physical-pen-card .record-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.physical-pen-card .record-head.physical-pen-head-with-detail{
  grid-template-columns:32px minmax(0,1fr) auto;
}
.physical-pen-card .record-head h3{min-width:0;font-size:16px;font-weight:600}
.physical-pen-card .physical-pen-detail{
  align-self:center;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
}
.physical-pen-card .facts{
  grid-template-columns:minmax(0,1fr);
  gap:4px var(--space-3);
  margin:12px 0 4px;
}
.physical-pen-card .facts .preview-row{
  display:grid;
  grid-template-columns:minmax(128px,.9fr) minmax(0,1.1fr);
  gap:var(--space-3);
  padding:2px 0;
}
.physical-pen-card .facts .preview-row span{
  font-size:14px;
  font-weight:400;
  white-space:nowrap;
}
.physical-pen-card .facts .preview-row strong{
  color:var(--text-primary);
  font-size:14px;
  font-weight:500;
  font-variant-numeric:tabular-nums;
}
.physical-pen-card .card-actions{
  justify-content:center;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
}
.physical-pen-card .card-actions button{
  min-height:36px;
  height:36px;
  padding:6px 12px;
  font-size:14px;
}
.physical-pen-card .state-cierre_en_borrador{
  border-color:var(--brand-earth);
  background:var(--brand-ivory);
  color:#76502D;
}

.inline-message.context-accent{
  border-color:var(--border);
  border-left-color:var(--brand-earth);
  background:var(--brand-ivory);
  color:var(--text-primary);
}
.status-badge.context-badge{
  border-color:var(--brand-earth);
  background:var(--brand-ivory);
  color:var(--text-primary);
}
.operation-dialog .kicker{color:var(--brand-earth)!important}
.operation-dialog :is(.movement-nested,.technical-audit)>summary{color:var(--brand-blue)}
.technical-value{
  max-width:100%;
  color:var(--text-secondary);
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:var(--type-caption);
  font-weight:500;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.technical-value-row{min-width:0}

@media(max-width:760px){
  .stock-impact-facts{grid-template-columns:minmax(0,1fr)}
  .stock-impact-metric{display:grid;gap:var(--space-1)}
  .movement-history-row{
    grid-template-columns:44px minmax(0,1fr) auto;
    grid-template-areas:
      "detail main status"
      ". amount amount"
      ". audit audit"
      ". secondary secondary";
    gap:5px var(--space-3);
    padding:10px var(--space-3);
  }
  .movement-history-row .history-open{align-self:start}
  .geometric-plus,
  .movement-history-row .history-open{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
  }
  .movement-history-main{min-width:0;align-self:center}
  .movement-history-main strong{overflow-wrap:anywhere}
  .movement-history-status{align-self:center;justify-self:end}
  .movement-history-secondary{display:grid;gap:2px;margin-top:2px}
  .physical-pen-card .record-head.physical-pen-head-with-detail{
    grid-template-columns:44px minmax(0,1fr) auto;
  }
  .physical-pen-card .physical-pen-detail{
    align-self:center;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
  }
  .physical-pen-card .card-actions button{min-height:44px;height:44px}
  .stock-summary-card{grid-template-columns:minmax(0,1fr) 44px}
}
@media(max-width:560px){
  .stock-summary-grid{grid-template-columns:minmax(0,1fr)}
}

/* Shared veterinary form sections and auditable histories. */
.vet-invoice-form{width:100%;max-width:none}
.vet-invoice-form>.form-grid :is(input,select){height:42px;min-height:42px}
.vet-form-section,.vet-invoice-section{min-width:0;margin:var(--space-5) 0 0;padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--border)}
.vet-form-section legend,.vet-invoice-section legend{float:left;width:100%;margin:0 0 var(--space-3);padding:0;font-family:var(--font-ui);font-size:var(--type-h3);font-weight:600;color:var(--text-primary)}
.vet-form-section legend+*,.vet-invoice-section legend+*{clear:both}
.vet-form-section>.vet-line-list,.vet-invoice-section>.vet-line-list{margin-top:var(--space-3)}
.vet-form-section>.secondary,.vet-invoice-section>.secondary{margin-top:var(--space-3)}
.vet-invoice-preview{padding:var(--space-4);border-color:var(--border);border-left-color:var(--brand-earth);background:var(--surface-subtle);color:var(--text-primary)}
.vet-invoice-list{margin-top:var(--space-6)}
.vet-history-record,.vet-invoice-record{min-width:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.vet-history-record>.vet-history-row,.vet-invoice-record>.vet-invoice-history-row{list-style:none;cursor:pointer;border:0;border-radius:0;color:var(--text-primary);font-weight:400}
.vet-history-record>.vet-history-row::-webkit-details-marker,.vet-invoice-record>.vet-invoice-history-row::-webkit-details-marker{display:none}
.vet-history-record>.vet-history-row::marker,.vet-invoice-record>.vet-invoice-history-row::marker{content:""}
.vet-history-record>.vet-history-row:focus-visible,.vet-invoice-record>.vet-invoice-history-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--brand-blue);outline-offset:-2px;box-shadow:0 0 0 4px var(--focus-ring)}
.vet-history-record>.vet-history-row .history-open,.vet-invoice-record>.vet-invoice-history-row .history-open{pointer-events:none}
.vet-history-record[open]>.vet-history-row,.vet-invoice-record[open]>.vet-invoice-history-row{border-bottom:1px solid var(--border);background:var(--surface-subtle)}
.vet-history-row .movement-history-main,.vet-history-row .movement-history-amount,.vet-invoice-history-row .movement-history-main,.vet-invoice-history-row .movement-history-amount{display:grid;gap:1px}
.vet-history-row .movement-history-main strong,.vet-invoice-history-row .movement-history-main strong{font-weight:600}
.vet-history-row .movement-history-main small,.vet-history-row .movement-history-amount span,.vet-invoice-history-row .movement-history-main small,.vet-invoice-history-row .movement-history-amount span{color:var(--text-muted)}
.vet-history-row .movement-history-amount,.vet-invoice-history-row .movement-history-amount{font-variant-numeric:tabular-nums}
.vet-history-row .movement-history-amount strong,.vet-invoice-history-row .movement-history-amount strong{font-weight:600}
.vet-operational-detail,.vet-invoice-detail{min-width:0;padding:var(--space-4)}
.vet-operational-detail>.vet-product-lines,.vet-invoice-detail>.vet-product-lines{margin:0 0 var(--space-4)}
.vet-operational-detail .preview-row span,.vet-invoice-detail .preview-row span{color:var(--text-secondary);font-weight:400}
.vet-operational-detail .preview-row strong,.vet-invoice-detail .preview-row strong{min-width:0;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vet-operational-detail .vet-product-line,.vet-invoice-detail .vet-product-line{border-color:var(--border);background:var(--surface)}
.vet-operational-detail .vet-invoice-summary,.vet-invoice-detail .vet-invoice-summary{border-color:var(--border);border-left:4px solid var(--brand-earth);background:var(--surface-subtle);color:var(--text-primary)}
.vet-operational-detail .vet-technical-audit>summary,.vet-invoice-detail .vet-technical-audit>summary{color:var(--brand-blue);font-family:var(--font-ui);font-weight:600}
.vet-operational-detail .vet-action-form,.vet-invoice-detail .vet-action-form{border-left-color:var(--brand-earth);background:var(--surface-subtle)}
@media(max-width:760px){
  .vet-operational-detail,.vet-invoice-detail{padding:var(--space-3)}
  .vet-history-row .movement-history-status,.vet-invoice-history-row .movement-history-status{align-self:start}
  .vet-form-section>.secondary,.vet-invoice-section>.secondary{min-height:44px}
}

/* Branding Phase 3B-10: veterinary stock and health care. */
#vet-stock-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.vet-stock-card{gap:var(--space-2)}
.vet-stock-card h3{font-size:var(--type-title-sm);font-weight:600}
.vet-stock-card p{color:var(--text-secondary)}
.vet-stock-card strong{color:var(--text-primary);font-weight:500}
.vet-stock-card p,.vet-stock-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vet-adjustment-panel>summary{align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--brand-blue);border-radius:var(--radius-md);background:var(--surface);color:var(--brand-blue);font-weight:500}
.vet-adjustment-panel>summary:hover{background:var(--surface-selected)}
.vet-adjustment-panel>summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}
#vet-adjustment-form,#vet-application-form{width:100%;max-width:none;scroll-margin-top:var(--space-4)}
:is(#vet-adjustment-form,#vet-application-form,.vet-operational-detail) :is(input:not([type=checkbox]),select){height:42px;min-height:42px}
:is(#view-stock-veterinario,#view-sanidad-aplicaciones) .vet-derived-field{border-color:var(--border);background:var(--surface-subtle);color:var(--text-primary)}
:is(#view-stock-veterinario,#view-sanidad-aplicaciones) .vet-derived-label{color:var(--text-secondary);font-weight:400}
:is(#view-stock-veterinario,#view-sanidad-aplicaciones) .vet-derived-value{font-weight:500;font-variant-numeric:tabular-nums}
#vet-application-preview{padding:var(--space-4)}
#vet-application-form>.vet-form-section{margin-bottom:var(--space-4)}
#vet-application-list{margin-top:var(--space-6)}
#view-stock-veterinario .vet-correction-flow,#vet-application-form.vet-correction-flow{border-color:var(--brand-earth);background:var(--brand-ivory);box-shadow:none}
#vet-application-form .vet-correction-context{border-left-color:var(--brand-earth);background:var(--brand-ivory)}
.vet-operational-detail .vet-annulment-form{border-left-color:var(--danger);background:var(--surface)}
@media(max-width:1100px){#vet-stock-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  #vet-stock-list{grid-template-columns:minmax(0,1fr)}
  .vet-adjustment-panel>summary{min-height:44px}
  :is(#vet-adjustment-form,#vet-application-form)>.form-grid{grid-template-columns:minmax(0,1fr)}
  .vet-adjustment-values{grid-template-columns:minmax(0,1fr)}
}

/* Fase 3B-11: Cierres, presentation scoped to the operational workspace. */
#view-cierres .closure-layout{grid-template-columns:250px minmax(0,1fr);gap:var(--space-5)}
#view-cierres .closure-selector{padding-right:var(--space-4);border-color:var(--border)}
#view-cierres .closure-selector-head h3{font-size:var(--type-title-sm)}
#view-cierres .closure-corral-row{min-height:64px;padding:10px 12px;color:var(--text-primary);background:var(--surface);box-shadow:none}
#view-cierres .closure-corral-row:hover{background:var(--surface-selected);border-color:var(--border-strong);box-shadow:none}
#view-cierres .closure-corral-row.active{background:var(--surface-selected);border-color:var(--brand-blue);box-shadow:inset 3px 0 var(--brand-blue)}
#view-cierres .closure-corral-main strong{font-weight:600}
#view-cierres .closure-corral-main small{white-space:normal;overflow-wrap:anywhere}
#view-cierres .kicker{color:var(--brand-blue)!important;font-weight:600}
#view-cierres .closure-workspace-head{padding-bottom:var(--space-3);flex-wrap:wrap}
#view-cierres .closure-state-group{flex-wrap:wrap}
#view-cierres .closure-state-group small{font-size:var(--type-caption)}
#view-cierres #closure-state.state-abierto{border-color:var(--border-strong);background:var(--surface-subtle);color:var(--text-secondary)}
#view-cierres #closure-draft-valid.state-cierre_en_borrador{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}
#view-cierres .closure-structure-input label{font-weight:500}
#view-cierres .closure-structure-input .form-help{font-weight:400}
#view-cierres .closure-tabs button{min-height:44px;color:var(--text-secondary);font-weight:500}
#view-cierres .closure-tabs button:hover{background:var(--surface-selected);color:var(--brand-blue)}
#view-cierres .closure-tabs button.active{border-bottom-color:var(--brand-blue);color:var(--brand-blue);font-weight:600}
#view-cierres :is(.closure-corral-row,.closure-tabs button,.version-row,summary):focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}
#view-cierres .closure-summary{gap:0 var(--space-4);border:0;background:transparent}
#view-cierres .closure-metric{min-height:76px;padding:10px 0;background:transparent;border-bottom:1px solid var(--border);gap:3px}
#view-cierres .closure-metric span{font-weight:400;color:var(--text-secondary)}
#view-cierres .closure-metric strong{font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#view-cierres .closure-metric small{color:var(--text-muted);font-weight:400}
#view-cierres .result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5);border:0;background:transparent}
#view-cierres .economic-summary .closure-metric{min-height:64px;justify-content:flex-start}
#view-cierres .economic-summary .closure-metric strong{font-size:var(--type-body)}
#view-cierres .physical-report-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);padding:8px 0}
#view-cierres .physical-report-row span{font-weight:400;color:var(--text-secondary)}
#view-cierres .physical-report-row strong{font-weight:500;text-align:left;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#view-cierres :is(.economic-details,.finished-performance,.technical-audit,.structure-detail)>summary{color:var(--brand-blue);font-weight:600;min-height:36px}
#view-cierres .inline-message:not(.warning):not(.error):not(.success){border-color:var(--border);border-left-color:var(--brand-earth);background:var(--brand-ivory);color:var(--text-primary)}
#view-cierres .compact-result-note{border-left-color:var(--success);background:var(--success-bg);color:var(--success);font-weight:400}
#view-cierres .inline-message{min-width:0;overflow-wrap:anywhere}
#view-cierres .inline-message strong{font-weight:600}
#view-cierres .issue-list .inline-message strong{white-space:nowrap;flex:0 0 auto}
#view-cierres .operation-group h3{font-size:var(--type-title-sm);margin-bottom:var(--space-2)}
#view-cierres :is(.operation-row,.parameter-row){min-height:48px;padding:8px 0;gap:var(--space-3);background:transparent;border-color:var(--border)}
#view-cierres .operation-row-body{gap:3px;overflow-wrap:anywhere}
#view-cierres :is(.operation-row-body strong,.parameter-row strong,.previous-value strong){font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#view-cierres .previous-value{min-width:0;gap:3px}
#view-cierres .previous-value span{font-weight:400}
#view-cierres .operation-list{gap:0}
#view-cierres .version-row{padding:10px 4px;min-width:0;color:var(--text-primary)}
#view-cierres .version-row:hover{background:var(--surface-selected)}
#view-cierres .version-main{min-width:0;gap:3px;overflow-wrap:anywhere}
#view-cierres .version-main strong{font-weight:600}
#view-cierres .version-reason{overflow-wrap:anywhere}
#view-cierres .version-detail{border-top-color:var(--brand-blue)}
#view-cierres .draft-heading{flex-wrap:wrap}
#view-cierres .difference-item{grid-template-columns:minmax(0,1fr) auto;min-width:0}
#view-cierres .difference-item strong{font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#view-cierres .closure-no-selection{border-color:var(--border-strong);padding:var(--space-6)}
@media(max-width:1100px){
  #view-cierres .closure-layout{grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:900px){
  #view-cierres .closure-layout{grid-template-columns:minmax(0,1fr)}
  #view-cierres .closure-selector{padding:0 0 var(--space-3)}
  #view-cierres .closure-workspace-head{position:static;background:transparent;padding-top:0}
}
@media(max-width:560px){
  #view-cierres .closure-tabs{flex-wrap:wrap;margin-inline:0;padding:0;overflow:visible}
  #view-cierres .closure-tabs button{flex:1 1 45%;text-align:center}
  #view-cierres .result-grid{grid-template-columns:minmax(0,1fr)}
  #view-cierres .physical-report-row{grid-template-columns:minmax(0,1fr);gap:3px}
  #view-cierres .physical-report-row strong{justify-self:start}
  #view-cierres :is(.economic-details,.finished-performance,.technical-audit,.structure-detail)>summary{min-height:44px}
  #view-cierres .inline-message{flex-wrap:wrap;gap:4px}
  #view-cierres .closure-state-group{display:flex}
}

/* Fase 3B-12: compact administration views without changing their contracts. */
#view-configuracion :is(.installation-settings,.physical-pen-settings,.catalog-settings){max-width:900px}
#view-configuracion :is(.installation-settings-form,.physical-pen-config-form,.catalog-settings-form){align-items:end}
#view-configuracion :is(.installation-settings-form,.physical-pen-config-form,.catalog-settings-form) .primary{width:auto;min-height:42px;margin-top:0;white-space:nowrap}
#view-configuracion .physical-pen-config-form{grid-template-columns:minmax(180px,280px) max-content}
#view-configuracion .physical-pen-config-row{min-height:60px;border-color:var(--border);border-radius:var(--radius-md);box-shadow:none}
#view-configuracion .physical-pen-config-identity strong{font-weight:500}
#view-configuracion .physical-pen-config-identity small{color:var(--text-muted);font-weight:400}
#view-configuracion .physical-pen-config-row .status-badge.active{border-color:var(--success);background:var(--success-bg);color:var(--success)}
#view-configuracion .physical-pen-config-row .status-badge.inactive{border-color:var(--border-strong);background:var(--surface-subtle);color:var(--text-secondary)}
#view-configuracion .physical-pen-config-row .danger-text{border-color:var(--danger);color:var(--danger)!important}
#view-configuracion .catalog-settings-heading p{margin:-10px 0 var(--space-5);color:var(--text-muted)}
#view-configuracion .catalog-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
#view-configuracion .catalog-settings-panel{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--border)}
#view-configuracion .catalog-settings-panel>h4{margin:0 0 var(--space-3);font-family:var(--font-ui);font-weight:600}
#view-configuracion .catalog-settings-form{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:var(--space-3);margin-bottom:var(--space-4)}
#view-configuracion .catalog-settings-form input{height:42px;min-height:42px}
#view-configuracion .catalog-config-list{display:grid;gap:var(--space-2)}
#view-configuracion .catalog-config-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-3);align-items:center;min-height:60px;padding:11px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
#view-configuracion .catalog-config-identity{min-width:0;overflow-wrap:anywhere}
#view-configuracion .catalog-config-identity strong{font-weight:500}
#view-configuracion .catalog-config-row .status-badge.active{border-color:var(--success);background:var(--success-bg);color:var(--success)}
#view-configuracion .catalog-config-row .status-badge.inactive{border-color:var(--border-strong);background:var(--surface-subtle);color:var(--text-secondary)}
#view-configuracion .catalog-config-row .secondary{min-height:36px;padding:7px 10px;white-space:nowrap}

#view-usuarios .admin-users-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
#view-usuarios .user-create-form{width:100%;max-width:none}
#view-usuarios .user-create-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
#view-usuarios .user-create-form :is(input,select){height:42px;min-height:42px}
#view-usuarios .user-create-form>.primary{width:auto;min-height:42px}
#view-usuarios .users-panel{min-width:0;padding-top:var(--space-2)}
#view-usuarios .users-panel>h3{margin-bottom:var(--space-3)}
#view-usuarios #users-list{display:grid;gap:var(--space-2)}
#view-usuarios .user-record{display:grid;grid-template-columns:minmax(220px,1fr) 300px 310px;gap:var(--space-4);align-items:center;min-height:68px;padding:12px var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
#view-usuarios .user-record-identity{display:grid;gap:2px;min-width:0}
#view-usuarios .user-record-name{font-weight:500;overflow-wrap:normal;word-break:normal}
#view-usuarios .user-record-meta{color:var(--text-secondary);font-size:var(--type-body-sm);font-weight:400;overflow-wrap:normal;word-break:normal}
#view-usuarios .user-record-statuses{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
#view-usuarios .user-record-statuses .inactive{border-color:var(--border-strong);background:var(--surface-subtle);color:var(--text-secondary)}
#view-usuarios .user-record-statuses .context-badge{border-color:var(--brand-earth);background:var(--brand-ivory);color:#76502D;white-space:normal;text-align:center}
#view-usuarios .user-record-actions{display:flex;grid-column:auto;justify-content:flex-end;align-self:center;align-items:center;gap:var(--space-2);margin:0}
#view-usuarios .user-record-actions button{min-height:36px;padding:7px 10px;white-space:nowrap}
#view-usuarios .user-record-actions .danger-text{border-color:var(--danger);color:var(--danger)!important}
@media(max-width:1200px){
  #view-usuarios .user-create-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-usuarios .user-record{grid-template-columns:minmax(240px,1fr) auto;grid-template-areas:"identity statuses" "actions actions"}
  #view-usuarios .user-record-identity{grid-area:identity}
  #view-usuarios .user-record-statuses{grid-area:statuses;justify-content:flex-end}
  #view-usuarios .user-record-actions{grid-area:actions;justify-content:flex-start}
}
@media(max-width:900px){
  #view-configuracion .catalog-settings-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  #view-configuracion :is(.installation-settings-form,.physical-pen-config-form,.catalog-settings-form){grid-template-columns:minmax(0,1fr)}
  #view-configuracion :is(.installation-settings-form,.physical-pen-config-form,.catalog-settings-form) .primary{width:100%}
  #view-configuracion .catalog-config-row{grid-template-columns:minmax(0,1fr) auto}
  #view-configuracion .catalog-config-row .secondary{grid-column:1/-1;width:100%;min-height:44px}
  #view-usuarios .user-create-form .form-grid{grid-template-columns:minmax(0,1fr)}
  #view-usuarios .user-create-form>.primary{width:100%}
  #view-usuarios .user-record{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "statuses" "actions";gap:var(--space-3);padding:var(--space-4)}
  #view-usuarios .user-record-statuses{justify-content:flex-start}
  #view-usuarios .user-record-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #view-usuarios .user-record-actions button{width:100%;min-width:0;min-height:44px}
}

/* Fase 4E-3: dynamic canonical ration families and immutable versions. */
#view-raciones .canonical-ration-family{display:grid;gap:var(--space-3);align-content:start}
#view-raciones .canonical-ration-current{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
#view-raciones .canonical-ration-current-main{display:grid;gap:4px;min-width:0}
#view-raciones .canonical-ration-current-main>strong{font-size:var(--type-title-sm);font-weight:600}
#view-raciones .canonical-ration-current-main>span{font-size:var(--type-title-md);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}
#view-raciones .canonical-ration-current-main>small{color:var(--text-muted);overflow-wrap:anywhere}
#view-raciones .ration-cost-status{text-transform:none}
#view-raciones .ration-current-actions{grid-column:1/-1;justify-content:flex-start;margin:0}
#view-raciones .ration-current-actions .ration-current-detail{flex:0 0 36px}
#view-raciones .canonical-ration-history{border-bottom:1px solid var(--border)}
#view-raciones .canonical-ration-history>summary{min-height:42px;display:flex;align-items:center;color:var(--brand-blue);font-weight:600;cursor:pointer}
#view-raciones .canonical-ration-history-body{display:grid;border-top:1px solid var(--border)}
#view-raciones .canonical-ration-version{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--border);min-width:0}
#view-raciones .canonical-ration-version-main{display:grid;gap:3px;min-width:0}
#view-raciones .canonical-ration-version-main strong{font-weight:600}
#view-raciones .canonical-ration-version-main :is(span,small){color:var(--text-muted);overflow-wrap:anywhere}
#view-raciones .canonical-ration-version .history-open{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:0;border:1px solid var(--brand-blue);border-radius:var(--radius-md);background:var(--surface);color:var(--brand-blue)}
#view-raciones .canonical-ration-version .history-open::before,#view-raciones .canonical-ration-version .history-open::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)}
#view-raciones .canonical-ration-version .history-open::before{width:12px;height:2px}
#view-raciones .canonical-ration-version .history-open::after{width:2px;height:12px}
#view-raciones .canonical-ration-version .history-open:hover{background:var(--surface-selected)}
#view-raciones .canonical-ration-family>.secondary{justify-self:start}
#view-raciones .canonical-ration-form{max-width:860px}
#view-raciones .ration-composition-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:18px 0 8px}
#view-raciones .ration-composition-heading h4{margin:0}
#view-raciones .canonical-ingredient-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2);margin-top:0}
#view-raciones .canonical-ingredient-row{grid-template-columns:minmax(180px,1fr) minmax(150px,190px) auto;padding:12px;align-items:end}
#view-raciones .canonical-ingredient-row label{font-size:var(--type-body-sm)}
#view-raciones .ration-remove-ingredient{min-height:42px;padding:8px 10px}
#view-raciones .ration-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5);margin-bottom:var(--space-5)}
#view-raciones .ration-detail-composition-title{margin:0 0 var(--space-3)}
#view-raciones .ration-detail-components{display:grid;border-top:1px solid var(--border)}
#view-raciones .ration-detail-component{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(120px,.8fr));gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}
#view-raciones .ration-detail-component span{color:var(--text-secondary);overflow-wrap:anywhere}
@media(max-width:700px){
  #view-raciones .ration-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #view-raciones .ration-actions button{width:100%;min-height:44px}
  #view-raciones .canonical-ration-version{grid-template-columns:minmax(0,1fr) auto 44px}
  #view-raciones .canonical-ration-current{grid-template-columns:minmax(0,1fr)}
  #view-raciones .canonical-ration-current>.status-badge{justify-self:start}
  #view-raciones .ration-current-actions{display:grid;grid-template-columns:44px minmax(0,1fr)}
  #view-raciones .ration-current-actions button{width:100%;min-height:44px}
  #view-raciones .ration-current-actions .ration-current-detail{width:44px;min-width:44px;flex-basis:44px}
  #view-raciones .canonical-ration-version .history-open{width:44px;height:44px;min-width:44px}
  #view-raciones .canonical-ingredient-row{grid-template-columns:minmax(0,1fr)}
  #view-raciones .ration-remove-ingredient{width:100%;min-height:44px}
  #view-raciones .ration-composition-heading{align-items:stretch;flex-direction:column}
  #view-raciones .ration-composition-heading .secondary{min-height:44px}
  #view-raciones .ration-detail-facts{grid-template-columns:minmax(0,1fr)}
  #view-raciones .ration-detail-component{grid-template-columns:minmax(0,1fr);gap:3px;padding:12px 0}
}
