@font-face { font-family: "Palui SP"; src: url("/assets/fonts/palui-sp-demo-bold.otf") format("opentype"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --ink: #16211b;
  --muted: #66736c;
  --line: #dde5df;
  --surface: #ffffff;
  --canvas: #f3f6f3;
  --accent: #246b4a;
  --accent-soft: #e5f2eb;
  --shadow: 0 18px 50px rgba(29, 55, 42, .08);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
.eyebrow { margin: 0 0 .45rem; color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr); }
.login-brand { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; padding: clamp(3rem, 7vw, 7rem); padding-bottom: 5.5rem; overflow: hidden; color: white; background: radial-gradient(circle at 15% 18%, rgba(255,255,255,.15), transparent 34%), linear-gradient(145deg, #123f2c 0%, #246b4a 58%, #3d8462 100%); }
.login-brand::after { content: ""; position: absolute; right: -16%; bottom: -30%; width: 58%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.035), 0 0 0 120px rgba(255,255,255,.025); }
.brand-mark { display: grid; width: 3.75rem; height: 3.75rem; margin-bottom: 2.5rem; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 1.15rem; background: rgba(255,255,255,.12); backdrop-filter: blur(12px); font-size: 1.4rem; }
.brand-mark-sm { flex: 0 0 auto; width: 2.55rem; height: 2.55rem; margin: 0; border-color: var(--line); color: var(--accent); background: var(--accent-soft); font-size: 1rem; }
.login-brand-content { display: grid; width: min(100%, 34rem); justify-items: center; transform: translateY(-5vh); text-align: center; }
.bunker-filter-panel { margin-bottom: .75rem; }
.bunker-registry-panel .bunker-filter-panel { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.bunker-filter { padding: .55rem .85rem; border-radius: .7rem; color: var(--muted); font-size: .78rem; font-weight: 750; text-decoration: none; }
.bunker-filter.active { color: var(--ink); background: #eef5f0; }
.bunker-filter-loading.active { color: #2f6b48; background: #e6f4ea; }
.bunker-filter-unloading.active { color: #255f85; background: #e6f2fa; }
.bunker-filter-refusal.active { color: #a3312d; background: #fbe9e7; }
.bunker-registry-table { display: grid; gap: .65rem; }
.bunker-operation-row { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 2fr) auto; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); box-shadow: var(--shadow); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.bunker-operation-row:hover { transform: translateY(-1px); box-shadow: 0 .7rem 1.6rem rgba(25,55,38,.1); }
.bunker-operation-main strong, .bunker-operation-main small, .bunker-operation-summary small, .bunker-operation-summary b { display: block; }
.bunker-operation-main small, .bunker-operation-summary small { margin-top: .18rem; color: var(--muted); font-size: .68rem; }
.bunker-operation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.bunker-operation-summary b { margin-top: .18rem; font-size: .8rem; }
.bunker-status-badge { display: inline-flex; justify-content: center; min-width: 5.8rem; padding: .32rem .58rem; border-radius: .55rem; font-size: .7rem; font-weight: 800; }
.bunker-operation-loading .bunker-status-badge { color: #2f6b48; background: #e6f4ea; border: 1px solid #b9dec3; }
.bunker-operation-unloading .bunker-status-badge { color: #255f85; background: #e6f2fa; border: 1px solid #b8d5e7; }
.bunker-operation-refusal { position: relative; border-color: #e88d86; background: #fff7f6; }
.bunker-operation-refusal::after { position: absolute; z-index: 2; top: 50%; right: .6rem; left: .6rem; height: 2px; background: #d92d20; content: ""; pointer-events: none; transform: rotate(-1deg); }
.bunker-operation-refusal .bunker-status-badge { position: relative; z-index: 3; color: #a3312d; background: #fbe9e7; border: 1px solid #e88d86; }
.bunker-operation-modal.bunker-operation-refusal { border: 2px solid #e88d86; }
.manager-empty-panel { min-height: calc(100vh - 5.2rem); display: grid; place-items: center; padding: 1.25rem; border-color: #203c61; background: #f3f6fa; }
.manager-empty-state { display: grid; max-width: 28rem; justify-items: center; gap: .55rem; padding: 2.5rem 1.5rem; color: #62748b; text-align: center; }
.manager-empty-state i { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: .9rem; color: #dce9f8; background: #17365f; font-size: 1.45rem; }
.manager-empty-state h2 { margin: .4rem 0 0; color: #102a4a; font-size: 1.05rem; }
.manager-empty-state p { margin: 0; font-size: .8rem; }
body[data-role="manager"] { --ink: #102a4a; --muted: #62748b; --line: #d5e0ec; --surface: #ffffff; --canvas: #eef3f8; --accent: #17365f; --accent-soft: #dce9f8; --shadow: 0 18px 50px rgba(16,42,74,.12); }
body[data-role="manager"] .app-sidebar { color: #e7f0fb; background: #102a4a; }
body[data-role="manager"] .sidebar-nav .nav-item { color: #c9d8ea; }
body[data-role="manager"] .sidebar-nav .nav-item.active, body[data-role="manager"] .sidebar-nav .nav-item:hover { color: #ffffff; background: #17365f; }
body[data-role="manager"] .sidebar-user { border-top-color: #29496f; }
body[data-role="manager"] .user-avatar { color: #17365f; background: #dce9f8; }
body[data-role="manager"] .workspace-header h1 { color: #102a4a; }
body[data-role="manager"] .eyebrow { color: #17365f; }
body[data-role="manager"] .status-chip { color: #1e4d7a; background: #dce9f8; }
.manager-period-switch { display: inline-flex; gap: .2rem; padding: .2rem; border: 1px solid #c9d8e8; border-radius: .55rem; background: #f3f6fa; }
.manager-period-switch a { padding: .35rem .65rem; border-radius: .4rem; color: #526b85; font-size: .7rem; font-weight: 800; text-decoration: none; }
.manager-period-switch a.active, .manager-period-switch a:hover { color: #fff; background: #17365f; }
.manager-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-bottom: .8rem; }
.manager-kpi { display: flex; align-items: center; gap: .7rem; min-height: 5.2rem; padding: .85rem; border: 1px solid #d5e0ec; border-radius: .75rem; background: #fff; box-shadow: 0 8px 24px rgba(16,42,74,.06); }
.manager-kpi > i { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; color: #dce9f8; background: #17365f; font-size: 1.15rem; }
.manager-adjustment-list { display: grid; gap: .45rem; }
.manager-adjustment-row { display: grid; grid-template-columns: minmax(19rem, 1fr) minmax(17rem, .8fr) minmax(12rem, max-content); align-items: center; gap: 1rem; padding: .65rem .8rem; border: 1px solid #d5e0ec; border-radius: .5rem; background: #fff; }
.manager-adjustment-summary { display: flex; min-width: 0; align-items: center; gap: 1.2rem; }
.manager-adjustment-summary > strong { min-width: 7rem; color: #17365f; font-size: .88rem; }
.manager-adjustment-summary dl { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: 0; }
.manager-adjustment-summary dl div { display: flex; align-items: baseline; gap: .35rem; white-space: nowrap; }
.manager-adjustment-summary dt { color: #62748b; font-size: .68rem; }
.manager-adjustment-summary dd { margin: 0; font-size: .76rem; font-variant-numeric: tabular-nums; }
.manager-adjustment-form { display: grid; grid-template-columns: minmax(10rem, 1fr) max-content; align-items: end; gap: .55rem; }
.manager-adjustment-control { min-width: 0; }
.manager-adjustment-form label { display: block; margin-bottom: .3rem; color: #40566f; font-size: .78rem; font-weight: 600; }
.manager-adjustment-form input { width: 100%; }
.manager-adjustment-form .btn { min-height: 2.25rem; white-space: nowrap; }
.manager-adjustment-state { min-width: 0; color: #62748b; font-size: .7rem; }
.manager-acceptance-filters { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(7rem, .68fr) minmax(0, max-content); gap: .7rem; align-items: end; width: 100%; box-sizing: border-box; margin-bottom: .85rem; padding: .8rem; border: 1px solid #d5e0ec; border-radius: .75rem; background: #f4f7fb; box-shadow: 0 4px 14px rgba(16,42,74,.05); }
.manager-acceptance-filters[data-manager-expense-filters] { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) max-content; }
.manager-acceptance-filters > * { min-width: 0; }
.manager-filter-group { min-width: 0; }
.manager-filter-group-title { display: block; margin-bottom: .3rem; color: #365a7f; font-size: .68rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.manager-filter-period { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .45rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.manager-filter-period::before { content: ""; }
.manager-filter-period label:nth-of-type(1) { grid-column: 1; }
.manager-filter-period label:nth-of-type(2) { grid-column: 3; }
.manager-filter-period label:nth-of-type(1)::after { content: "—"; position: absolute; margin: .48rem 0 0 1.08rem; color: #8190a2; font-weight: 800; }
.manager-filter-period label { position: relative; }
.manager-filter-period label, .manager-filter-field { min-width: 0; margin: 0; }
.manager-filter-period label > span, .manager-filter-field > span { display: block; margin-bottom: .22rem; color: #62748b; font-size: .68rem; font-weight: 750; }
.manager-filter-period input, .manager-filter-field input { width: 100%; min-height: 2.15rem; padding: .3rem .5rem; border: 1px solid #c9d8e8; border-radius: .38rem; background: #fff; font-size: .75rem; }
.manager-filter-actions { display: flex; min-width: 0; align-items: end; justify-content: flex-end; gap: .45rem; flex-wrap: wrap; }
.manager-acceptance-filters[data-manager-expense-filters] .manager-filter-actions { min-width: max-content; align-items: center; align-self: end; flex-wrap: nowrap; }
.manager-filter-actions .btn { min-width: 0; min-height: 2.25rem; max-width: 100%; white-space: nowrap; }
.manager-filter-actions .btn-primary { display: inline-flex; align-items: center; gap: .35rem; }
.manager-finished-goods-filters { grid-template-columns: minmax(22rem, 1fr) max-content; }
.manager-finished-goods-filters .manager-filter-actions { align-self: end; flex-wrap: nowrap; }
.manager-acceptance-total { display: grid; grid-template-columns: 11% 8% 12% 15% 23% 16% 15%; align-items: center; margin: -.15rem 0 .35rem; padding: .55rem .65rem; border: 1px solid #c9dce9; border-radius: .45rem; color: #244b69; background: #edf6fb; font-size: .75rem; }
.manager-acceptance-total-label { grid-column: 1 / 3; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.manager-acceptance-total-value { grid-column: 3; color: #173f64; font-size: .9rem; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.manager-party-value { display: grid; gap: .1rem; }
.manager-party-value small { color: #62748b; font-size: .7rem; }
.manager-acceptance-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.manager-acceptance-table .acceptance-col-date { width: 11%; }.manager-acceptance-table .acceptance-col-class { width: 8%; }.manager-acceptance-table .acceptance-col-netto { width: 12%; }.manager-acceptance-table .acceptance-col-transport { width: 15%; }.manager-acceptance-table .acceptance-col-party { width: 23%; }.manager-acceptance-table .acceptance-col-invoice { width: 16%; }.manager-acceptance-table .acceptance-col-silo { width: 15%; }
.manager-acceptance-table th { padding: .7rem .65rem; border-right: 1px solid #d6e0eb; color: #365a7f; background: #edf3f9; font-size: .68rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.manager-acceptance-table td { padding: .72rem .65rem; border-top: 1px solid #e5ebf1; border-right: 1px solid #e8eef4; color: #21364c; font-size: .76rem; vertical-align: middle; }
.manager-acceptance-table th:last-child, .manager-acceptance-table td:last-child { border-right: 0; }
.manager-acceptance-table tbody tr:nth-child(even) td { background: #fbfcfe; }
.manager-acceptance-table tbody tr:hover td { background: #f0f6fb; }
.manager-acceptance-table td small { display: block; margin-top: .18rem; color: #718196; font-size: .68rem; }
.manager-netto-value { color: #17365f; font-size: .84rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.manager-grain-class { display: inline-flex; min-width: 1.7rem; justify-content: center; padding: .2rem .4rem; border-radius: .35rem; color: #285f86; background: #e5f0f8; font-weight: 800; }
.manager-invoice-value, .manager-silo-value { color: #365a7f; font-variant-numeric: tabular-nums; }
.manager-transport-value { display: block; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .manager-adjustment-row { grid-template-columns: 1fr; gap: .5rem; } .manager-adjustment-form { grid-template-columns: minmax(0, 1fr) max-content; } .manager-acceptance-filters { grid-template-columns: 1fr 1fr; } .manager-acceptance-filters[data-manager-expense-filters] { grid-template-columns: 1fr 1fr; } .manager-acceptance-filters[data-manager-expense-filters] .manager-filter-actions { grid-column: 1 / -1; justify-content: flex-start; } .manager-finished-goods-filters { grid-template-columns: minmax(0, 1fr) max-content; } .manager-finished-goods-filters .manager-filter-period-group { grid-column: auto; } .manager-filter-period-group { grid-column: 1 / -1; } .manager-filter-actions { justify-content: flex-start; } }
@media (max-width: 560px) { .manager-adjustment-summary { align-items: flex-start; flex-direction: column; gap: .25rem; } .manager-adjustment-summary dl { gap: .25rem .8rem; } .manager-acceptance-filters, .manager-finished-goods-filters, .manager-acceptance-filters[data-manager-expense-filters] { grid-template-columns: 1fr; gap: .55rem; padding: .65rem; } .manager-filter-period-group, .manager-filter-actions, .manager-finished-goods-filters .manager-filter-period-group, .manager-acceptance-filters[data-manager-expense-filters] .manager-filter-actions { grid-column: auto; } .manager-filter-actions { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; } .manager-finished-goods-filters .manager-filter-actions { display: grid; grid-template-columns: 1fr 1fr; } .manager-filter-actions .btn { width: 100%; } .manager-acceptance-total { grid-template-columns: 1fr auto; gap: .35rem .75rem; margin-top: -.1rem; padding: .55rem .65rem; } .manager-acceptance-total-label, .manager-acceptance-total-value { grid-column: auto; } .manager-acceptance-total-value { text-align: right; } .manager-acceptance-table th { font-size: .62rem; } }
@media (max-width: 700px) {
  body[data-role="manager"] .manager-workspace { min-width: 0; }
  body[data-role="manager"] .manager-wide, body[data-role="manager"] .manager-dashboard-card { padding: .7rem; border-radius: .55rem; box-shadow: 0 4px 14px rgba(16,42,74,.06); }
  body[data-role="manager"] .manager-card-heading { align-items: center; gap: .45rem; padding-bottom: .5rem; }
  body[data-role="manager"] .manager-card-heading h2 { font-size: .88rem; line-height: 1.2; }
  body[data-role="manager"] .manager-card-heading .eyebrow { margin-bottom: .1rem; font-size: .58rem; }
  body[data-role="manager"] .manager-card-heading .count-badge { min-width: 1.7rem; padding: .2rem .4rem; font-size: .68rem; }
  body[data-role="manager"] .manager-acceptance-filters { display: grid; gap: .45rem; margin-bottom: .55rem; padding: .55rem; border-radius: .55rem; }
  body[data-role="manager"] .manager-filter-group-title { margin-bottom: .2rem; font-size: .58rem; }
  body[data-role="manager"] .manager-filter-period { gap: .3rem; }
  body[data-role="manager"] .manager-filter-period label > span, body[data-role="manager"] .manager-filter-field > span { margin-bottom: .12rem; font-size: .6rem; }
  body[data-role="manager"] .manager-filter-period input, body[data-role="manager"] .manager-filter-field input { min-height: 1.95rem; padding: .25rem .4rem; font-size: .7rem; }
  body[data-role="manager"] .manager-filter-actions { gap: .35rem; }
  body[data-role="manager"] .manager-filter-actions .btn { min-height: 2rem; padding: .3rem .5rem; font-size: .7rem; }
  body[data-role="manager"] .manager-acceptance-total { margin: .45rem 0; padding: .45rem .55rem; border-radius: .4rem; font-size: .68rem; }
  body[data-role="manager"] .manager-acceptance-total-value { font-size: .8rem; }
  body[data-role="manager"] .manager-pagination { gap: .45rem; margin-top: .65rem; font-size: .7rem; }
  body[data-role="manager"] .manager-pagination .btn { min-height: 1.95rem; padding: .28rem .5rem; font-size: .68rem; }
  body[data-role="manager"] .manager-kpi-grid { gap: .4rem; }
  body[data-role="manager"] .manager-kpi { min-height: 4rem; padding: .5rem; border-radius: .5rem; }
  body[data-role="manager"] .manager-kpi span { font-size: .58rem; }
  body[data-role="manager"] .manager-kpi strong { font-size: .8rem; }
  body[data-role="manager"] .manager-dashboard-grid { gap: .55rem; }
  body[data-role="manager"] .manager-dashboard-card { padding: .65rem; }
  body[data-role="manager"] .app-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .3rem .65rem; padding: .45rem .65rem .35rem; }
  body[data-role="manager"] .manager-sidebar-brand { min-width: 0; padding: 0; }
  body[data-role="manager"] .manager-sidebar-logo-strip { min-height: 2.55rem; padding: .15rem 0; justify-items: start; }
  body[data-role="manager"] .manager-sidebar-logo-strip .sidebar-brand-logo { width: min(100%, 8.5rem); height: 2.25rem; object-fit: contain; object-position: left center; }
  body[data-role="manager"] .manager-sidebar-brand > small { display: none; }
  body[data-role="manager"] .sidebar-nav { display: flex; grid-column: 1 / -1; flex-direction: row; gap: .25rem; min-width: 0; margin: 0 -.1rem; overflow-x: auto; padding: .1rem .1rem .2rem; scrollbar-width: thin; }
  body[data-role="manager"] .sidebar-nav .nav-item { flex: 0 0 auto; grid-template-columns: 1rem max-content; min-height: 2.15rem; gap: .35rem; padding: .4rem .55rem; border-radius: .5rem; font-size: .72rem; white-space: nowrap; }
  body[data-role="manager"] .sidebar-nav .nav-item span { display: inline; }
  body[data-role="manager"] .sidebar-user { grid-template-columns: auto auto; min-width: max-content; border: 0; padding: 0; background: transparent; }
  body[data-role="manager"] .sidebar-user .user-copy { display: none; }
  body[data-role="manager"] .workspace-main { padding: .85rem .7rem 1.2rem; }
  body[data-role="manager"] .workspace-header { margin-bottom: .8rem; }
  body[data-role="manager"] .workspace-header h1 { font-size: 1.5rem; }
  body[data-role="manager"] .workspace-hint { margin-top: .3rem; font-size: .68rem; line-height: 1.3; }
}
.production-plan-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-top: .65rem; overflow: visible; padding-bottom: .2rem; }
.production-plan-flow-step { display: flex; min-width: 0; min-height: 2.25rem; align-items: center; justify-content: center; padding: .35rem .45rem; border: 1px solid #d5e0ec; border-radius: .45rem; color: #62748b; background: #f7f9fc; font-size: .74rem; line-height: 1.2; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.production-plan-flow-step + .production-plan-flow-step::before { content: ""; margin-right: 0; }
.production-plan-flow-step.is-current { border-color: #8bb5e0; color: #17365f; background: #eaf3fc; font-weight: 700; }
.directory-record-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .75rem; }
.production-plan-record { display: grid; grid-template-columns: minmax(18rem, 1.15fr) minmax(16rem, 1fr) minmax(12rem, max-content); align-items: center; gap: 1rem; }
.production-plan-record { grid-template-columns: minmax(220px,.72fr) minmax(0,1fr) 9.5rem; padding:.7rem .8rem; gap:.7rem; align-items:start; }
.compact-plan-products { display:grid; gap:.35rem; min-width:0; grid-column:1 / -1; }
.plan-lines-title { color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.plan-lines-scroll { width:100%; overflow-x:auto; border:1px solid #dbe5df; border-radius:.55rem; }
.plan-registry-lines { width:100%; min-width:760px; table-layout:fixed; border-collapse:collapse; font-size:.7rem; }
.plan-registry-lines th { padding:.42rem .5rem; color:var(--muted); background:#f4f7f5; font-size:.62rem; text-align:left; text-transform:uppercase; white-space:nowrap; }
.plan-registry-lines th:first-child { width:22%; }.plan-registry-lines th:nth-child(2),.plan-registry-lines th:nth-child(3),.plan-registry-lines th:nth-child(4){width:10%}.plan-registry-lines th:nth-child(5){width:14%}.plan-registry-lines th:nth-child(6){width:15%}.plan-registry-lines th:nth-child(7){width:11%}.plan-registry-lines th:nth-child(8){width:18%}
.plan-registry-lines td { padding:.5rem; border-top:1px solid #e7eee9; color:var(--ink); vertical-align:middle; font-variant-numeric:tabular-nums; }
.plan-registry-lines .plan-product-name { font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.plan-registry-lines .plan-progress-cell progress { display:block; width:70px; height:.35rem; accent-color:var(--accent); }.plan-registry-lines .plan-progress-cell small { display:block; margin-top:.15rem; color:var(--muted); font-size:.6rem; }.plan-stage-badge { display:inline-block; max-width:100%; padding:.22rem .38rem; border-radius:.35rem; color:#285f40; background:#e5f2eb; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.plan-blocker { color:#72530d !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.plan-registry-v2 { overflow:hidden; }
.plan-registry-v2 .registry-subtitle { margin:.2rem 0 0; color:var(--muted); font-size:.75rem; }
.plan-registry-list { display:grid; gap:.65rem; padding:.8rem; }
.plan-registry-card { overflow:hidden; border:1px solid #d8e2dc; border-radius:.55rem; background:#fff; }
.plan-card-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.8rem; padding:.72rem .82rem .58rem; }
.plan-card-identity { display:grid; grid-template-columns:max-content minmax(0,1fr) max-content; align-items:baseline; gap:.55rem; min-width:0; }
.plan-card-identity>strong { color:#163a2a; font-size:.76rem; font-variant-numeric:tabular-nums; }
.plan-card-identity h3 { min-width:0; margin:0; overflow:hidden; font-size:.86rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.plan-card-period { color:var(--muted); font-size:.7rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.plan-card-actions { display:flex; align-items:center; gap:.4rem; }
.plan-card-actions form { margin:0; }
.plan-card-actions .btn { white-space:nowrap; }
.plan-card-summary { display:grid; grid-template-columns:repeat(3,minmax(95px,.8fr)) minmax(170px,1.35fr) 70px; gap:0; border-top:1px solid #edf1ee; border-bottom:1px solid #e2e9e5; background:#f8faf9; }
.plan-card-summary>span { display:grid; align-content:center; min-height:52px; padding:.45rem .68rem; border-right:1px solid #e2e9e5; }
.plan-card-summary>span:last-child { border-right:0; text-align:center; }
.plan-card-summary small { color:var(--muted); font-size:.58rem; font-weight:750; text-transform:uppercase; }
.plan-card-summary b { margin-top:.08rem; color:var(--ink); font-size:.76rem; font-variant-numeric:tabular-nums; }
.plan-card-progress { grid-template-columns:minmax(0,1fr) max-content !important; column-gap:.55rem; }
.plan-card-progress small { grid-column:1/-1; }
.plan-card-progress progress { align-self:center; width:100%; height:.42rem; accent-color:var(--accent); }
.plan-card-details summary { display:grid; grid-template-columns:max-content max-content 1fr; align-items:center; gap:.5rem; padding:.58rem .82rem; color:#315548; cursor:pointer; font-size:.72rem; list-style:none; }
.plan-card-details summary::-webkit-details-marker { display:none; }
.plan-card-details summary b { color:var(--ink); font-variant-numeric:tabular-nums; }
.plan-card-details summary i { justify-self:end; transition:transform .15s ease; }
.plan-card-details[open] summary i { transform:rotate(180deg); }
.plan-detail-table-wrap { overflow-x:auto; border-top:1px solid #e2e9e5; }
.plan-detail-table { width:100%; min-width:760px; table-layout:fixed; border-collapse:collapse; font-size:.7rem; }
.plan-detail-table th { padding:.42rem .55rem; color:var(--muted); background:#f4f7f5; font-size:.6rem; text-align:left; text-transform:uppercase; white-space:nowrap; }
.plan-detail-table th:first-child { width:22%; }.plan-detail-table th:nth-child(2),.plan-detail-table th:nth-child(3),.plan-detail-table th:nth-child(4){width:9%}.plan-detail-table th:nth-child(5){width:12%}.plan-detail-table th:nth-child(6){width:14%}.plan-detail-table th:nth-child(7){width:11%}.plan-detail-table th:nth-child(8){width:23%}
.plan-detail-table td { padding:.48rem .55rem; border-top:1px solid #e7eee9; color:var(--ink); vertical-align:middle; font-variant-numeric:tabular-nums; }
.plan-detail-table .plan-product-name { overflow:hidden; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.plan-detail-table .plan-progress-cell progress { display:block; width:76px; height:.38rem; accent-color:var(--accent); }
.plan-detail-table .plan-progress-cell small { color:var(--muted); font-size:.6rem; }
@media(max-width:900px){.plan-card-header{grid-template-columns:1fr auto}.plan-card-actions{grid-column:1/-1}.plan-card-summary{grid-template-columns:repeat(3,1fr)}.plan-card-summary>.plan-card-progress{grid-column:span 2}.plan-card-identity{grid-template-columns:1fr}.plan-card-period{white-space:normal}}
.production-plan-main { display: grid; min-width: 0; grid-template-columns: 1fr; gap: .25rem; }
.production-plan-main small { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .65rem; color: var(--muted); line-height: 1.45; }
.production-plan-main small > span { display: inline-flex; align-items: center; }
.production-plan-period { white-space: nowrap; }
.production-plan-status { display: inline-flex; align-items: center; padding: .18rem .45rem; border: 1px solid transparent; border-radius: .4rem; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.production-plan-status-draft { color: #785c18; background: #fff3cd; border-color: #ead58d; }
.production-plan-status-in_progress { color: #1f6389; background: #e5f3fb; border-color: #a6cde2; }
.production-plan-status-completed { color: #28754c; background: #e8f5ec; border-color: #a9d5b8; }
.production-plan-status-cancelled { color: #a3312d; background: #fbe9e7; border-color: #e88d86; }
.production-plan-progress { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .35rem; color: #62748b; font-size: .73rem; }
.production-plan-progress strong { color: #17365f; }
.production-plan-products { display: grid; min-width: 0; gap: .35rem; }
.production-plan-products span { padding: .4rem .55rem; border-radius: .45rem; background: #f0f5f1; line-height: 1.35; }
.production-plan-actions { display: grid; grid-template-columns: 9.5rem; align-content: center; justify-content: end; gap: .5rem; width: 9.5rem; min-width: 9.5rem; }
.production-plan-actions .btn, .production-plan-actions form { width: 9.5rem; }
.production-plan-actions .btn { min-height: 2.4rem; display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.2; }
.production-plan-actions-placeholder { display: inline-flex; width: 9.5rem; min-height: 2.4rem; align-items: center; justify-content: center; color: #62748b; font-size: .72rem; text-align: center; }
@media (max-width: 1100px) { .production-plan-record { grid-template-columns: minmax(16rem, 1fr) minmax(13rem, .9fr) max-content; } }
@media (max-width: 820px) { .production-plan-record { grid-template-columns: 1fr; } .production-plan-actions, .production-plan-actions-placeholder { min-width: 0; justify-content: flex-start; } }
.milling-party-record { display: grid; width: 100%; box-sizing: border-box; grid-template-columns: minmax(20rem, 1.2fr) minmax(18rem, 1fr) 10rem; align-items: start; gap: 1.25rem; }
.milling-party-details { grid-column: 1; }
.milling-party-sources { grid-column: 2; }
.milling-party-actions { grid-column: 3; }
.milling-party-details { display: grid; min-width: 0; align-content: start; gap: .25rem; }
.milling-party-details strong, .milling-party-details span, .milling-party-details small { min-width: 0; }
.milling-party-details strong { color: var(--ink); }
.milling-party-details small { color: var(--muted); line-height: 1.45; }
.milling-party-sources { display: grid; width: 100%; min-width: 0; align-self: start; justify-self: stretch; align-content: start; gap: .35rem; padding: 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.milling-party-sources > strong { display: block; margin-bottom: .1rem; color: var(--ink); font-size: .72rem; }
.milling-party-sources > span { display: block; padding: .35rem .5rem; border-radius: .45rem; background: #f0f5f1; }
.milling-party-actions { display: flex; align-items: flex-start; justify-content: flex-end; width: 10rem; min-width: 10rem; }
.milling-party-actions .btn { margin: 0; white-space: nowrap; }
@media (max-width: 900px) { .milling-party-record { grid-template-columns: 1fr; gap: .75rem; } .milling-party-actions { justify-content: flex-start; } }
.directory-record.milling-party-record { display: grid; width: 100%; box-sizing: border-box; grid-template-columns: minmax(20rem, 1.2fr) minmax(18rem, 1fr) 10rem; align-items: start; gap: 1.25rem; }
.directory-record.milling-party-record .milling-party-details { grid-column: 1; }
.directory-record.milling-party-record .milling-party-sources { grid-column: 2; width: 100%; min-width: 0; }
.directory-record.milling-party-record .milling-party-actions { grid-column: 3; width: 10rem; min-width: 10rem; }

/* Cross-role workflow blocks: keep the next action and key numbers scannable. */
.production-plan-line { display: grid; gap: .65rem; padding: .7rem .8rem; border: 1px solid #d8e3dc; border-radius: .65rem; background: #fbfdfb; }
.production-plan-line header { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: .75rem; color: var(--ink); }
.production-plan-line header strong { min-width: 0; overflow-wrap: anywhere; }
.production-plan-line-facts, .production-plan-line-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 0; }
.production-plan-line-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: .55rem; border-top: 1px solid #e5ece7; }
.production-plan-line-facts div, .production-plan-line-workflow div { min-width: 0; }
.production-plan-line dt { color: var(--muted); font-size: .66rem; font-weight: 750; }
.production-plan-line dd { margin: .15rem 0 0; color: var(--ink); font-size: .78rem; font-weight: 750; overflow-wrap: anywhere; }
.production-plan-line [data-next-action] { color: #215b3d; font-size: .84rem; }
.production-plan-line [data-workflow-blocker]:not(:empty) { padding: .35rem .45rem; border-left: 3px solid #d7a52b; background: #fff8df; color: #72530d; }
.production-plan-line-facts dd { font-variant-numeric: tabular-nums; }
.production-plan-line progress { display: block; width: 100%; height: .45rem; accent-color: #4b9165; }
.production-plan-line-progress { display: grid; gap: .3rem; }
.production-plan-line-progress label { color: var(--muted); font-size: .68rem; font-weight: 700; }
.production-incoming-queue { display: grid; gap: .7rem; margin: 1rem 0; padding: .9rem; border: 1px solid #d8e3dc; border-radius: .75rem; background: #f7fbf8; }
.production-incoming-queue .panel-heading { margin: 0; padding: 0 0 .25rem; border: 0; }
.production-request-queue { display: grid; gap: .65rem; padding-top: 1rem; border-top: 1px solid #d8e3dc; }
.production-request-record.production-request-refused { opacity: .82; border-color: #b42318; background: #fff4f2; }
.production-request-record.production-request-refused .directory-record-main { color: #8f1d16; text-decoration: line-through; text-decoration-color: #b42318; text-decoration-thickness: 2px; }
.production-request-record.production-request-refused .directory-record-main span { text-decoration: line-through; text-decoration-color: #b42318; text-decoration-thickness: 2px; }
.production-request-record [data-request-silo-result] { font-weight: 700; }
.production-workspace #newProductionRequestModal .admin-form .field-invalid { border-color: #a3312d; box-shadow: 0 0 0 .12rem rgba(163, 49, 45, .14); }
.production-workspace #newProductionRequestModal .field-error { display: block; margin-top: -.35rem; color: #a3312d; font-size: .82rem; line-height: 1.35; }
.production-workspace #newProductionRequestModal [data-form-errors] { margin-bottom: .9rem; }
.production-request-queue > .panel-heading { margin: 0; }
.production-ready-batch { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 1rem; }
.production-ready-batch .directory-record-main { min-width: 0; display: grid; gap: .22rem; }
.production-ready-batch .directory-record-main small { color: var(--muted); overflow-wrap: anywhere; }
.silo-movement-queue-panel > .directory-list { display: grid; align-content: start; grid-auto-rows: max-content; gap: .65rem; }
.silo-movement-queue-panel .bunker-operation-filters { grid-template-columns: minmax(230px, 1.25fr) minmax(180px, 1fr) minmax(150px, .8fr) minmax(150px, .8fr) max-content; margin-bottom: .8rem; }
.silo-movement-queue-panel .bunker-operation-filters .registry-filter-actions { display: flex; align-items: end; }
.silo-movement-queue-panel .bunker-operation-filters .registry-filter-actions .btn { min-height: 2.35rem; }
.silo-movement-queue-panel > .directory-list > .directory-record { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 1rem; }
.silo-movement-queue-panel > .directory-list > .directory-record { width: min(100%, 56rem); box-sizing: border-box; padding: .65rem .8rem; }
.silo-movement-queue-panel .directory-record-main { min-width: 0; display: grid; gap: .22rem; }
.silo-movement-queue-panel .directory-record-main small, .silo-movement-queue-panel .directory-record-main span { overflow-wrap: anywhere; }
.silo-movement-queue-panel .directory-record-main small { color: var(--muted); }
.silo-movement-queue-panel > .directory-list > .directory-record { padding-block: .75rem; }
.silo-movement-queue-panel .directory-record-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.silo-movement-queue-panel .directory-record-main small[title] { cursor: help; }
.silo-movement-queue-panel .silo-operation-actions { align-self: center; }
.silo-movement-queue-panel .registry-date-range input[type="text"] { min-width: 0; }
.silo-operation-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.silo-operation-actions form { margin: 0; }
.bunker-movement-modal { overflow: hidden; }
.bunker-movement-modal-title { margin: 0; font-size: 1.05rem; font-weight: 750; }
.bunker-movement-modal-body { padding: 1.25rem 1.5rem 1rem; }
.bunker-movement-route { display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem minmax(0, 1fr); align-items: center; gap: 1rem; }
.bunker-movement-node { min-width: 0; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .65rem; }
.bunker-movement-node > span { display: block; margin-bottom: .3rem; color: var(--muted); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bunker-movement-node strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.bunker-movement-node small { display: block; margin-top: .3rem; color: var(--muted); font-size: .7rem; }
.bunker-movement-source { border-color: #b9d8c3; background: #e5f3ea; }
.bunker-movement-target { border-color: #bad5e6; background: #e8f2f8; }
.bunker-movement-arrow { color: var(--accent); font-size: 2rem; text-align: center; }
.bunker-movement-arrow i { filter: drop-shadow(0 1px 0 rgba(36, 107, 74, .12)); }
.bunker-movement-amount { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .75rem .9rem; border-radius: .55rem; background: #f3f7f4; }
.bunker-movement-amount span { color: var(--muted); font-size: .72rem; }
.bunker-movement-amount strong { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.bunker-movement-meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; color: var(--muted); font-size: .72rem; }
.bunker-movement-modal .modal-footer { justify-content: space-between; gap: .5rem; }
.bunker-movement-modal .modal-footer form { display: flex; margin: 0; }
.bunker-movement-modal .modal-footer form + form { margin-left: auto; }
.bunker-movement-modal .modal-footer form .btn { min-width: 9rem; min-height: 2.4rem; margin: 0; border-radius: .45rem; font-weight: 800; }
.bunker-movement-modal .modal-footer form:first-child .btn { border-color: #d96c62; color: #a3312d; background: #fff7f5; }
.bunker-movement-modal .modal-footer form:last-child .btn { border-color: #246b4a; color: #fff; background: #246b4a; }
.warehouse-output-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: .55rem 0 0; }
.warehouse-output-facts div { min-width: 0; }
.warehouse-output-facts dt { color: var(--muted); font-size: .66rem; font-weight: 750; }
.warehouse-output-facts dd { margin: .15rem 0 0; color: var(--ink); font-size: .82rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.warehouse-close-action { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #e2e8e4; }
@media (max-width: 720px) {
  .silo-movement-queue-panel .bunker-operation-filters { grid-template-columns: 1fr; }
  .silo-movement-queue-panel .bunker-operation-filters .registry-filter-actions { align-items: stretch; }
  .silo-movement-queue-panel .bunker-operation-filters .registry-filter-actions .btn { width: 100%; }
  .production-plan-line-facts, .production-plan-line-workflow { grid-template-columns: 1fr; }
  .production-ready-batch, .silo-movement-queue-panel > .directory-list > .directory-record { width: 100%; grid-template-columns: 1fr; align-items: start; }
  .production-ready-batch > .btn, .silo-movement-queue-panel .admin-form { width: 100%; }
  .warehouse-output-facts { grid-template-columns: 1fr; }
  .bunker-movement-route { grid-template-columns: 1fr; gap: .45rem; }
  .bunker-movement-arrow { line-height: 1; transform: rotate(90deg); }
  .bunker-movement-modal-body { padding-inline: 1rem; }
  .bunker-movement-modal .modal-footer { flex-wrap: wrap; }
  .bunker-movement-modal .modal-footer form, .bunker-movement-modal .modal-footer form + form { margin: 0; flex: 1 1 auto; }
  .bunker-movement-modal .modal-footer form .btn { width: 100%; min-width: 0; }
}
.manager-kpi span, .manager-kpi strong { display: block; }
.manager-kpi span { color: #62748b; font-size: .68rem; }
.manager-kpi strong { margin-top: .18rem; color: #102a4a; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.manager-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.manager-dashboard-card { min-width: 0; padding: 1rem; border: 1px solid #d5e0ec; border-radius: .8rem; background: #fff; box-shadow: 0 8px 24px rgba(16,42,74,.06); }
.manager-dashboard-card.manager-wide { grid-row: span 2; }
.manager-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .7rem; padding-bottom: .65rem; border-bottom: 1px solid #e4ebf2; }
.manager-card-heading h2 { margin: 0; color: #102a4a; font-size: 1rem; }
.manager-card-heading i { color: #17365f; font-size: 1.15rem; }
.manager-stat-list { display: grid; gap: .15rem; margin-top: .7rem; }
.manager-stat-list > div { display: flex; justify-content: space-between; gap: .7rem; padding: .5rem 0; border-bottom: 1px solid #edf1f5; }
.manager-stat-list span { color: #62748b; font-size: .74rem; }
.manager-stat-list strong { color: #17365f; font-size: .8rem; font-variant-numeric: tabular-nums; }
.manager-danger { color: #b42318 !important; }
.manager-record-list { display: grid; gap: .35rem; margin-top: .85rem; }
.manager-record { display: flex; justify-content: space-between; gap: .6rem; padding: .55rem .6rem; border-radius: .5rem; background: #f3f6fa; }
.manager-record strong { color: #17365f; font-size: .74rem; }
.manager-record span { color: #62748b; font-size: .7rem; text-align: right; }
.manager-big-number { display: flex; align-items: baseline; gap: .45rem; margin: 1rem 0 .35rem; color: #62748b; }
.manager-big-number strong { color: #17365f; font-size: 2rem; font-variant-numeric: tabular-nums; }
.manager-big-number span { font-size: .72rem; }
.manager-unavailable { display: grid; justify-items: center; gap: .45rem; margin-top: 1.2rem; padding: 1.4rem .8rem; color: #62748b; text-align: center; }
.manager-unavailable i { color: #8aa4bf; font-size: 1.4rem; }
.manager-unavailable strong { color: #365a7f; font-size: .8rem; }
.manager-unavailable span, .manager-muted { font-size: .7rem; }
@media (max-width: 900px) { .manager-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .manager-dashboard-grid { grid-template-columns: 1fr; } .manager-dashboard-card.manager-wide { grid-row: auto; } }
@media (max-width: 560px) { .manager-kpi-grid { grid-template-columns: 1fr 1fr; gap: .5rem; } .manager-kpi { min-height: 4.6rem; padding: .65rem; } .manager-kpi > i { width: 2rem; height: 2rem; } .manager-kpi strong { font-size: .9rem; } .manager-period-switch { margin-top: .6rem; } }
.manager-silo-table { border-collapse: separate; border-spacing: 0; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.manager-silo-table th, .manager-silo-table td { white-space: nowrap; border-right: 1px solid #d8e4dc; font-variant-numeric: tabular-nums; }
.manager-silo-table th { padding: .65rem .7rem; color: #365a4a; background: #edf5ef; font-size: .7rem; letter-spacing: .02em; }
.manager-silo-table td { padding: .7rem; color: #17352a; background: #fff; font-size: .82rem; }
.manager-silo-table th:last-child, .manager-silo-table td:last-child { border-right: 0; }
.manager-silo-table tbody tr:nth-child(even) td { background: #f8fbf9; }
.manager-silo-table tbody tr.manager-silo-active td { color: #123c24; background: #ccefd4; border-top: 2px solid #4b9f68; border-bottom: 2px solid #4b9f68; font-weight: 750; }
.manager-silo-table tbody tr.manager-silo-active td:first-child { border-left: 4px solid #25834a; }
.manager-silo-table tbody tr.manager-silo-active td:last-child { border-right: 4px solid #25834a; }
.manager-silo-table tbody tr.manager-silo-active .manager-silo-batch-label { color: #176b45; }
.manager-silo-batch-label { display: block; margin-top: .2rem; color: #176b45; font-size: .7rem; font-weight: 700; }
.manager-pagination { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1rem; }
@media (max-width: 700px) {
  .manager-acceptance-table-wrap { display: block; width: 100%; min-width: 0; max-width: 100%; overflow-x: hidden; }
  .manager-acceptance-table + * { min-width: 0; }
  .manager-acceptance-table { max-width: 100%; }
  .manager-acceptance-table colgroup { display: none; }
  .manager-silo-table, .manager-acceptance-table { display: block; min-width: 0; }
  .manager-silo-table thead, .manager-acceptance-table thead { display: none; }
  .manager-silo-table tbody, .manager-acceptance-table tbody { display: grid; gap: .65rem; }
  .manager-silo-table tr, .manager-acceptance-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .75rem; padding: .75rem; border: 1px solid #d5e0ec; border-radius: .55rem; background: #fff; }
  .manager-silo-table td, .manager-acceptance-table td { display: grid; align-content: start; gap: .12rem; min-width: 0; padding: .12rem 0; border: 0; white-space: normal; text-align: left !important; }
  .manager-silo-table td::before, .manager-acceptance-table td::before { content: attr(data-label); color: #62748b; font-size: .7rem; font-weight: 700; text-align: left; }
  .manager-silo-table td:first-child, .manager-acceptance-table td:first-child, .manager-silo-table td:last-child, .manager-acceptance-table td:last-child { grid-column: 1 / -1; }
  .manager-acceptance-table td { grid-template-columns: 1fr; text-align: left !important; }
  .manager-acceptance-table td::before { text-align: left; }
  .manager-acceptance-table { width: 100% !important; table-layout: fixed; }
  .manager-acceptance-table td { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
  .manager-silo-table td { min-width: 0; overflow-wrap: anywhere; white-space: normal; text-align: left !important; }
  .manager-silo-table td:first-child, .manager-silo-table td:last-child { grid-column: 1 / -1; }
  .manager-silo-table td::before { flex: none; }
  .manager-silo-table td > * { min-width: 0; }
  .manager-laboratory-report-table td { display: grid; grid-template-columns: 1fr; gap: .12rem; min-width: 0; padding: .12rem 0; border: 0; text-align: left; overflow-wrap: anywhere; }
  .manager-laboratory-report-table td::before { content: attr(data-label); color: #62748b; font-size: .68rem; font-weight: 700; }
  .manager-laboratory-report-table tr { display: grid; gap: .28rem; padding: .65rem; border: 1px solid #d5e0ec; border-radius: .5rem; background: #fff; }
  .manager-laboratory-report-table thead { display: none; }
  .manager-laboratory-report-table tbody { display: grid; gap: .5rem; }
  body[data-role="manager"] .manager-acceptance-table tbody, body[data-role="manager"] .manager-silo-table tbody { gap: .5rem; }
  body[data-role="manager"] .manager-acceptance-table tr, body[data-role="manager"] .manager-silo-table tr { gap: .22rem .65rem; padding: .6rem; border-radius: .5rem; }
  body[data-role="manager"] .manager-acceptance-table td, body[data-role="manager"] .manager-silo-table td { font-size: .7rem; }
  body[data-role="manager"] .manager-acceptance-table td::before, body[data-role="manager"] .manager-silo-table td::before { font-size: .64rem; }
  body[data-role="manager"] .manager-acceptance-table td:first-child, body[data-role="manager"] .manager-acceptance-table td:nth-child(2) { grid-column: span 1; }
  body[data-role="manager"] .manager-acceptance-table td:first-child strong, body[data-role="manager"] .manager-acceptance-table .manager-netto-value { font-size: .82rem; }
  body[data-role="manager"] .manager-acceptance-table td:nth-child(2) { align-content: center; }
  body[data-role="manager"] .manager-silo-table td { font-size: .74rem; }
  body[data-role="manager"] .manager-silo-table td::before { font-size: .64rem; }
  body[data-role="manager"] .manager-acceptance-table td small { margin-top: .08rem; font-size: .62rem; }
  body[data-role="manager"] .manager-acceptance-table .manager-netto-value { font-size: .76rem; }
  body[data-role="manager"] .plan-detail-table-wrap, body[data-role="manager"] .plan-lines-scroll { margin: 0 -.1rem; border-radius: .4rem; }
  body[data-role="manager"] .plan-detail-table, body[data-role="manager"] .plan-registry-lines { min-width: 620px; font-size: .72rem; }
  body[data-role="manager"] .plan-card-header { grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; padding: .55rem .6rem; }
  body[data-role="manager"] .plan-card-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-role="manager"] .plan-card-summary > span { min-height: 44px; padding: .35rem .5rem; }
  body[data-role="manager"] .plan-card-summary small { font-size: .62rem; }
  body[data-role="manager"] .plan-card-summary b { font-size: .75rem; }
  body[data-role="manager"] .plan-registry-v2 .panel-heading { align-items: center; gap: .45rem; padding: .7rem; }
  body[data-role="manager"] .plan-registry-v2 .registry-subtitle { font-size: .65rem; line-height: 1.25; }
  body[data-role="manager"] .plan-registry-v2 .panel-heading-actions { gap: .35rem; }
  body[data-role="manager"] .plan-registry-v2 .panel-heading-actions .btn { min-height: 2rem; padding: .3rem .5rem; font-size: .7rem; }
  body[data-role="manager"] .plan-registry-list { gap: .5rem; padding: .5rem; }
  body[data-role="manager"] .plan-card-identity { gap: .2rem; }
  body[data-role="manager"] .plan-card-identity h3 { font-size: .78rem; }
  body[data-role="manager"] .plan-card-identity > strong, body[data-role="manager"] .plan-card-period { font-size: .62rem; }
  body[data-role="manager"] .plan-card-actions { gap: .25rem; }
  body[data-role="manager"] .plan-card-actions .btn { min-height: 1.9rem; padding: .25rem .4rem; font-size: .66rem; }
  body[data-role="manager"] .plan-card-details summary { padding: .45rem .6rem; font-size: .68rem; }
  body[data-role="manager"] .production-plan-modal .modal-dialog { margin: .5rem; }
  body[data-role="manager"] .production-plan-modal .modal-body { padding: .7rem; }
  body[data-role="manager"] .production-plan-meta { grid-template-columns: 1fr; gap: .5rem; }
  body[data-role="manager"] .production-plan-lines { padding: .55rem; }
  body[data-role="manager"] .production-plan-items-table { min-width: 430px; font-size: .7rem; }
  body[data-role="manager"] .production-plan-lines-heading { gap: .35rem; }
  body[data-role="manager"] .production-plan-lines-heading .btn { min-height: 1.9rem; padding: .25rem .4rem; font-size: .66rem; }
}
.production-order-heading-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, .35fr) minmax(130px, .25fr); gap: .65rem; }
.production-registry-actions, [data-production-order-summary] { display: inline-flex; align-items: center; gap: .35rem; }
.production-registry-actions { flex-wrap: nowrap; }
.production-registry-actions .btn { min-height: 1.85rem; padding: .3rem .65rem; white-space: nowrap; }
.nested-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.nested-section-heading small { color: var(--muted); font-size: .68rem; }
.production-materials-section { display: grid; gap: .5rem; }
.production-datetime-control { position: relative; }
.production-datetime-control input { width: 100%; padding-right: 2.35rem; }
.production-datetime-control i { position: absolute; top: 50%; right: .7rem; color: var(--accent); cursor: pointer; pointer-events: auto; transform: translateY(-50%); }
.production-form-section { display: grid; gap: .65rem; margin-bottom: .85rem; padding: .85rem; border: 1px solid var(--line); border-radius: .75rem; background: #fbfcfb; }
.production-form-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.production-form-section-heading .eyebrow { margin: 0; }
.production-form-section-heading small { color: var(--muted); font-size: .68rem; }
.production-section-actions { display: inline-flex; align-items: center; gap: .3rem; }
.production-section-actions .icon-button, .production-form-section-heading > .icon-button { width: 2rem; height: 2rem; border: 1px solid var(--line); color: var(--accent); background: #fff; }
.production-form-section > textarea, .production-form-section > label > textarea { width: 100%; min-height: 2.5rem; padding: .5rem; border: 1px solid var(--line); border-radius: .5rem; }
.production-modal-actions { display: flex; align-items: center; gap: .55rem; margin-top: .75rem; padding-top: .8rem; border-top: 1px solid var(--line); }
[data-production-save-status] { min-height: 1.2rem; color: var(--muted); font-size: .7rem; font-weight: 700; }
[data-production-save-status][data-state="saved"] { color: #28754c; }
[data-production-save-status][data-state="saving"] { color: #785c18; }
[data-production-save-status][data-state="error"] { color: #a3312d; }
.production-form-section.is-invalid { border-color: #d92d20; background: #fff7f6; box-shadow: 0 0 0 2px rgba(217,45,32,.08); }
.production-form-section.is-invalid .production-form-section-heading .eyebrow { color: #b42318; }
.production-validation-error { margin-left: auto; color: #b42318; font-size: .7rem; font-weight: 800; text-align: right; }
.production-form-section .nested-row.is-invalid { padding: .3rem; border: 1px solid #e88d86; border-radius: .55rem; background: #fff1f0; }
.production-form-section .is-invalid { border-color: #d92d20 !important; box-shadow: 0 0 0 2px rgba(217,45,32,.1); }
.production-order-form select:valid, .production-order-form input:valid { color: inherit; background: #fff; border-color: var(--line); box-shadow: none; }
.production-order-form select:invalid, .production-order-form input.is-invalid { color: inherit; border-color: #d92d20 !important; background: #fff7f6; box-shadow: 0 0 0 2px rgba(217,45,32,.1); }

.production-order-heading-fields label, .production-order-form > label { display: grid; gap: .25rem; color: var(--muted); font-size: .7rem; font-weight: 750; }
.production-order-heading-fields input, .production-order-form > label input { min-height: 2.35rem; padding: .4rem .55rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; }
.nested-table { display: grid; gap: .4rem; margin: .8rem 0; overflow-x: auto; }
.nested-table-heading, .nested-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(110px, .35fr) minmax(220px, 1fr) auto; gap: .5rem; align-items: center; min-width: 680px; }
.material-heading, .material-row { grid-template-columns: minmax(240px, 1fr) minmax(140px, .4fr) auto; min-width: 420px; }
.nested-table-heading { padding: .35rem .5rem; color: var(--muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.nested-row > input[type="hidden"] { display: none; }
.material-heading > span:nth-child(1), .material-row > select { grid-column: 1; }
.material-heading > span:nth-child(2), .material-row > input[data-material-quantity] { grid-column: 2; }
.material-heading > span:nth-child(3), .material-row > .nested-remove { grid-column: 3; }
.material-row { grid-auto-flow: row; }
.nested-row select, .nested-row input:not([type="hidden"]) { width: 100%; min-height: 2.3rem; padding: .4rem .5rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; font-size: .76rem; }
.nested-row[hidden] { display: none; }
.nested-remove { justify-self: center; color: #a3312d; }
.record-modal-actions { display: flex; gap: .55rem; margin-top: .8rem; }
.bunker-modal-status-strip { width: 100%; padding: .65rem 1.5rem; font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.bunker-modal-status-loading { color: #155d35; background: #cfeeda; }
.bunker-modal-status-unloading { color: #174f70; background: #d7ecf8; }
.bunker-modal-status-refusal { color: #8f231d; background: #f8d7d4; }
.bunker-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.bunker-modal-grid small, .bunker-modal-grid strong { display: block; }
.bunker-modal-highlight { padding: .7rem .75rem; border: 1px solid #c7dfce; border-radius: .65rem; background: #f0f8f2; }
.bunker-modal-highlight strong { color: #215b3d; font-size: .95rem; }
.bunker-operation-refusal .bunker-modal-highlight { border-color: #e8a19b; background: #fff1f0; }
.bunker-operation-refusal .bunker-modal-highlight strong { color: #9f241c; }
.bunker-modal-grid small { color: var(--muted); font-size: .7rem; }
.bunker-modal-grid strong { margin-top: .2rem; }
.bunker-modal-wide { grid-column: 1 / -1; }
.bunker-empty { padding: 4rem 1rem; text-align: center; }
@media (max-width: 980px) { .bunker-operation-row { grid-template-columns: 1fr auto; } .bunker-operation-summary { grid-column: 1 / -1; } }
@media (min-width: 981px) {
  .bunker-registry-panel .weighing-registry-filters { grid-template-columns: minmax(210px, 1.45fr) minmax(115px, .85fr) minmax(90px, .65fr) minmax(100px, .7fr) max-content; overflow: visible; }
  .bunker-registry-panel .registry-filter-dates { grid-column: auto; }
  .bunker-registry-panel .registry-filter-actions { grid-column: auto; justify-content: flex-start; }
  .bunker-registry-panel .registry-filter-actions .btn { display: inline-flex; align-items: center; justify-content: center; padding-right: .6rem; padding-left: .6rem; font-size: .68rem; text-align: center; }
  .production-registry-filters { grid-template-columns: minmax(210px, 1.45fr) minmax(150px, .9fr) minmax(180px, 1fr) max-content; }
  .production-registry-filters .registry-filter-actions { grid-column: auto; }
  .bunker-registry-panel .registry-filter-field, .bunker-registry-panel .registry-filter-dates, .bunker-registry-panel .registry-date-range { min-width: 0; }
  .bunker-registry-panel .registry-date-range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .bunker-registry-panel .registry-filter-field input, .bunker-registry-panel .registry-filter-field select { min-width: 0; max-width: 100%; }
}
@media (min-width: 641px) and (max-width: 980px) {
  .bunker-registry-panel .weighing-registry-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bunker-registry-panel .registry-filter-dates { grid-column: 1 / -1; }
  .bunker-registry-panel .registry-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .bunker-registry-panel .weighing-registry-filters, .laboratory-registry-workspace .weighing-registry-filters { grid-template-columns: 1fr; overflow: hidden; }
  .bunker-registry-panel .registry-filter-dates, .bunker-registry-panel .registry-filter-actions, .laboratory-registry-workspace .registry-filter-dates, .laboratory-registry-workspace .registry-filter-actions { grid-column: auto; }
  .laboratory-registry-workspace .registry-filter-field, .laboratory-registry-workspace .registry-filter-dates, .laboratory-registry-workspace .registry-date-range { min-width: 0; max-width: 100%; }
  .laboratory-registry-workspace .registry-date-range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .laboratory-registry-workspace .registry-filter-field input, .laboratory-registry-workspace .registry-filter-field select { min-width: 0; max-width: 100%; }
}
.login-brand-logo-frame { position: relative; display: grid; width: min(76vw, 27rem); height: min(53vh, 27rem); max-width: 100%; max-height: 27rem; padding: clamp(.6rem, 1.4vw, 1.1rem); place-items: center; }
.login-brand-logo-frame::before { content: ""; position: absolute; z-index: 0; width: 105%; height: 80%; border-radius: 50%; background: rgba(231,255,239,.72); filter: blur(3.7rem); transform: translateY(4%); }
.login-brand-logo { position: relative; z-index: 1; display: block; width: 100%; height: 100%; max-width: 25rem; max-height: 25rem; object-fit: contain; object-position: center; }
.login-brand-caption { margin: 1rem 0 0; color: #f0fff5; font-family: "Palui SP", sans-serif; font-size: clamp(.9rem, 1.5vw, 1.18rem); font-weight: 700; letter-spacing: .035em; line-height: 1.2; text-align: center; }
.login-brand .brand-mark, .login-brand .eyebrow, .login-brand h1 { display: none; }
.login-lead { max-width: 680px; margin: 1.8rem 0 2.2rem; color: rgba(255,255,255,.79); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.65; text-wrap: pretty; }
.copyright-link { position: absolute; z-index: 2; bottom: 1.4rem; left: clamp(3rem, 7vw, 7rem); color: rgba(255,255,255,.72); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: normal; text-underline-offset: .18em; }
.copyright-link:hover { color: white; }
.login-panel { display: grid; padding: 2rem; place-items: center; background: #f7f9f7; }
.admin-content-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: 1rem; align-items: start; }
.admin-panel, .admin-state-panel { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--line); border-radius: 1.25rem; background: var(--surface); box-shadow: var(--shadow); }
.milling-parties-panel { min-width: 0; }
.milling-party-filters { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; background: #f7f9f7; }
.milling-party-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.milling-party-filter-heading strong { display: block; margin-top: .2rem; }
.milling-party-filter-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: .75rem; }
.milling-party-filter-field { display: grid; min-width: 0; gap: .35rem; color: var(--muted); font-size: .72rem; font-weight: 700; }
.milling-party-filter-field input, .milling-party-filter-field select { min-width: 0; max-width: 100%; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: .65rem; background: #fff; color: var(--ink); font: inherit; font-weight: 500; }
.milling-party-list { min-height: 240px; margin-top: 1rem; }
.milling-party-empty { display: grid; min-height: 220px; place-items: center; align-content: center; gap: .45rem; padding: 2rem; border: 1px dashed #cbd8cf; border-radius: .9rem; color: var(--muted); text-align: center; }
.milling-party-empty i { color: var(--accent); font-size: 2rem; }
.milling-party-empty strong { color: var(--ink); font-size: 1rem; }
.milling-party-empty span { max-width: 34rem; line-height: 1.55; }
.milling-party-form-placeholder { display: grid; min-height: 220px; place-items: center; align-content: center; gap: .55rem; padding: 1.5rem; border: 1px dashed #cbd8cf; border-radius: .85rem; background: #f7f9f7; color: var(--muted); text-align: center; }
.milling-party-form-placeholder i { color: var(--accent); font-size: 2rem; }
.milling-party-form-placeholder strong { color: var(--ink); }
.milling-party-form-placeholder p { max-width: 34rem; margin: 0; line-height: 1.55; }
.milling-parties-panel .panel-heading-actions { flex-wrap: wrap; }
@media (max-width: 640px) { .milling-party-filter-grid { grid-template-columns: 1fr; } .milling-party-filter-heading { align-items: flex-start; flex-direction: column; } .milling-party-filter-heading .btn { width: 100%; } .milling-parties-panel .panel-heading-actions { width: 100%; } .milling-parties-panel .panel-heading-actions .btn { flex: 1 1 auto; } }
.role-empty-panel { display: flex; align-items: center; gap: 1.25rem; min-height: 230px; }
.role-empty-icon { display: grid; width: 3.25rem; height: 3.25rem; flex: 0 0 auto; place-items: center; border-radius: .9rem; color: #dcefe3; background: var(--accent); font-size: 1.45rem; }
.role-empty-panel h2 { margin: .65rem 0 .5rem; font-size: clamp(1.35rem, 2.5vw, 2rem); letter-spacing: -.03em; }
.role-empty-panel p:last-child { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.6; }
.user-list-panel { display: flex; min-height: calc(100vh - 11.5rem); flex-direction: column; }
.sort-control { display: inline-flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .7rem; font-weight: 700; }
.sort-switch { display: inline-flex; padding: .2rem; border: 1px solid var(--line); border-radius: .7rem; background: #f3f6f4; }
.sort-switch-button { min-height: 1.9rem; padding: .25rem .7rem; border: 0; border-radius: .5rem; color: var(--muted); background: transparent; font-size: .72rem; font-weight: 750; cursor: pointer; }
.sort-switch-button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(29,55,42,.12); }
.user-list-panel .user-table-wrap { min-height: 0; flex: 1; overflow-x: auto; overflow-y: auto; }
.user-list-panel .user-table { min-width: 760px; }
.modal-content { border: 1px solid var(--line); border-radius: 1.15rem; box-shadow: var(--shadow); }
.modal-header { position: relative; min-height: 4rem; padding-right: 3.5rem; border-bottom-color: var(--line); }
.modal-header .modal-close-aligned { position: absolute; top: 1rem; right: 1rem; margin: 0; padding: .25rem; }
.modal-body { padding: 1.35rem 1.5rem 1.5rem; }
.admin-state-panel { display: flex; align-items: center; gap: 1.25rem; min-height: 230px; }
.admin-state-panel h2 { margin: .65rem 0 .5rem; font-size: clamp(1.35rem, 2.5vw, 2rem); letter-spacing: -.03em; }
.admin-state-panel p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.6; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.panel-heading h2 { margin: 0; font-size: 1.2rem; letter-spacing: -.025em; }
.panel-heading-icon { color: var(--accent); font-size: 1.25rem; }
.count-badge { display: grid; min-width: 2rem; height: 2rem; padding: 0 .5rem; place-items: center; border-radius: .65rem; color: var(--accent); background: var(--accent-soft); font-size: .78rem; font-weight: 800; }
.user-table-wrap { overflow-x: auto; }
.user-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.user-table th { padding: .7rem .65rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.user-table td { padding: .82rem .65rem; border-bottom: 1px solid #edf1ee; vertical-align: middle; white-space: nowrap; }
.user-table tbody tr:last-child td { border-bottom: 0; }
.user-table code { color: var(--muted); font-size: .75rem; }
.role-pill, .active-state { display: inline-flex; align-items: center; padding: .28rem .48rem; border-radius: .5rem; font-size: .68rem; font-weight: 700; }
.role-pill { color: var(--accent); background: var(--accent-soft); }
.active-state { color: #28754c; background: #e8f5ec; }
.admin-form { display: grid; gap: .48rem; }
.admin-form label { margin-top: .35rem; color: var(--muted); font-size: .76rem; font-weight: 700; }
.admin-form input, .admin-form select { width: 100%; min-height: 2.65rem; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: .65rem; color: var(--ink); background: #fbfcfb; }
.admin-form input:focus, .admin-form select:focus { outline: 0; border-color: rgba(36,107,74,.55); box-shadow: 0 0 0 .22rem rgba(36,107,74,.12); }
.admin-form .btn { margin-top: .7rem; }
.integration-panel { max-width: 900px; }
.server-mode-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.server-mode-option { position: relative; margin: 0; cursor: pointer; }
.server-mode-option input { position: absolute; z-index: 2; top: .85rem; right: .85rem; width: 1.1rem !important; height: 1.1rem; margin: 0; opacity: 1; accent-color: #28754c; cursor: pointer; }
.server-mode-option > span { display: grid; grid-template-columns: auto 1fr; gap: .15rem .65rem; min-height: 5rem; padding: .8rem 2.5rem .8rem .9rem; border: 1px solid var(--line); border-radius: .7rem; background: #fff; transition: border-color .15s ease, background-color .15s ease; }
.server-mode-option i { grid-row: 1 / span 2; align-self: center; color: #4d6e5c; font-size: 1.25rem; }
.server-mode-option strong, .server-mode-option small { display: block; }
.server-mode-option strong { font-size: .9rem; }
.server-mode-option small { color: var(--muted); font-size: .7rem; font-weight: 500; }
.server-mode-option:has(input:checked) > span { border-color: #3f8d5d; background: #e8f6ec; }
.server-mode-option:has(input:focus-visible) > span { outline: 2px solid #77a9dc; outline-offset: 2px; }
.integration-mode-fields { display: grid; gap: .55rem; margin-top: .8rem; padding: .85rem; border: 1px solid var(--line); border-radius: .7rem; background: #fbfcfb; }
.integration-mode-fields[hidden] { display: none !important; }
.integration-mode-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.integration-mode-heading h3 { margin: 0; font-size: 1rem; }
.integration-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.integration-fields-grid label { display: grid; gap: .3rem; margin: 0; color: var(--muted); font-size: .7rem; font-weight: 750; }
.integration-operational-settings { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr); gap: .7rem; align-items: stretch; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.poll-interval-setting, .auto-cursor-state { min-width: 0; min-height: 6rem; margin: 0 !important; padding: .72rem .8rem; border: 1px solid var(--line); border-radius: .7rem; background: #fbfcfb; }
.poll-interval-setting { display: grid; grid-template-rows: auto 2.65rem 1fr; gap: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; }
.poll-interval-setting input { margin: 0; }
.poll-interval-setting small, .auto-cursor-state small { color: var(--muted); font-size: .68rem; font-weight: 500; line-height: 1.35; }
.auto-cursor-state { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .65rem; border-color: #cfe1d6; background: #f1f8f3; }
.auto-cursor-state > span:last-child { display: grid; gap: .22rem; min-width: 0; }
.auto-cursor-icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .6rem; color: #285f40; background: #dcefe2; font-size: 1rem; }
.auto-cursor-state strong { color: #285f40; font-size: .78rem; }
.secret-state { color: #28754c; font-size: .7rem; font-weight: 700; }
.connection-check-button { margin-top: 1rem; }
.connection-result { margin-bottom: 1rem; padding: .75rem .9rem; border: 1px solid; border-radius: .7rem; font-size: .82rem; font-weight: 700; }
.connection-result.success { border-color: #9fd4b4; color: #21643f; background: #e8f5ec; }
.connection-result.error { border-color: #e9b2b2; color: #963636; background: #fbeeee; }
.connection-result strong, .connection-result small { display: block; }
.connection-result small { margin-top: .18rem; font-weight: 500; }
.checkbox-field { display: flex; align-items: center; gap: .55rem; margin-top: .45rem; color: var(--ink) !important; }
.checkbox-field input { width: 1rem; min-height: 1rem; margin: 0; }
.warning-hint { color: #8d651e; font-size: .68rem; }
.directory-panel { display: flex; min-height: calc(100vh - 11.5rem); flex-direction: column; }
.directory-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.directory-hub-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 150px; padding: 1.35rem; border: 1px solid var(--line); border-radius: 1.15rem; color: var(--ink); background: var(--surface); box-shadow: var(--shadow); text-decoration: none; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.directory-hub-card:hover { border-color: #b9d4c2; box-shadow: 0 14px 30px rgba(29,55,42,.1); transform: translateY(-2px); }
.directory-hub-card strong, .directory-hub-card small { display: block; }
.directory-hub-card strong { font-size: 1.15rem; }
.directory-hub-card small { margin-top: .35rem; color: var(--muted); line-height: 1.45; }
.hub-card-icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: .95rem; color: var(--accent); background: var(--accent-soft); font-size: 1.35rem; }
.hub-card-arrow { color: var(--muted); }
.directory-list { min-height: 0; flex: 1; overflow-y: auto; }
.directory-record { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid #e4ebe6; border-radius: .85rem; background: #fbfcfb; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.directory-record:hover { border-color: #b9d4c2; background: #f5faf6; box-shadow: 0 5px 16px rgba(29,55,42,.06); }
.directory-record + .directory-record { margin-top: .65rem; }
.directory-record:last-child { border-bottom: 1px solid #e4ebe6; }
.directory-record-main { display: grid; min-width: 0; grid-template-columns: minmax(180px, 1.2fr) minmax(110px, .7fr) minmax(180px, 1.2fr); align-items: center; gap: 1rem; width: 100%; }
.directory-record-main strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.directory-record-main code { padding: .35rem .5rem; border-radius: .45rem; color: var(--muted); background: #f0f4f1; font-size: .75rem; }
.directory-record-main .linked-state, .directory-record-main .unlinked-state { justify-self: start; }
.record-modal-actions { display: flex; gap: .65rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.record-modal-actions form { flex: 1; }
.record-modal-actions .btn { width: 100%; }
.linked-details { display: grid; gap: .25rem; margin-top: 1rem; padding: .8rem .9rem; border-radius: .7rem; background: var(--accent-soft); }
.linked-details small { color: var(--muted); font-size: .68rem; }
.limit-standard-summary { display: grid; gap: .8rem; width: 100%; }
.limit-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.limit-summary-grid span { min-width: 0; padding: .55rem .65rem; border-radius: .6rem; background: #f3f6f4; }
.limit-summary-grid small, .limit-summary-grid b { display: block; }
.limit-summary-grid small { color: var(--muted); font-size: .65rem; }
.limit-summary-grid b { margin-top: .2rem; overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.limit-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .7rem; }
.limit-fieldset { min-width: 0; padding: .8rem; border: 1px solid var(--line); border-radius: .75rem; }
.limit-fieldset legend { float: none; width: auto; margin: 0 0 .55rem; padding: 0 .2rem; color: var(--ink); font-size: .78rem; font-weight: 750; }
.limit-bound-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.limit-bound-grid label { display: grid; gap: .3rem; margin: 0; }
.form-hint { margin: .8rem 0 0; color: var(--muted); font-size: .72rem; }
.active-weighing-shell { height: 100vh; min-height: 0; overflow: hidden; }
.workspace-main.active-weighing-workspace { display: grid; height: 100vh; min-height: 0; grid-template-rows: auto minmax(0, 1fr); gap: .45rem; overflow: hidden; padding: .6rem .8rem; }
.active-weighing-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.8rem; }
.active-weighing-header .eyebrow { margin: 0 0 .08rem; font-size: .58rem; }
.active-weighing-header h1 { margin: 0; font-size: 1.08rem; letter-spacing: 0; }
.active-bunkering-action { display: grid; justify-items: end; gap: .16rem; max-width: 32rem; text-align: right; }
.active-bunkering-action form { margin: 0; }
.active-bunkering-button { min-height: 2.35rem; margin: 0; border: 1px solid #0284c7; border-radius: .65rem !important; color: #fff; background: #0ea5e9; }
.active-bunkering-button:hover:not(:disabled) { border-color: #0369a1; color: #fff; background: #0284c7; }
.active-bunkering-button:disabled { border-color: #b9cbd5; color: #647985; background: #e8f1f5; cursor: not-allowed; opacity: 1; }
.active-bunkering-action small { max-width: 32rem; color: #8b3a32; font-size: .62rem; line-height: 1.2; }
.active-bunkering-action small[hidden] { display: none !important; }
.active-weighing-card { display: grid; align-self: start; min-height: 0; grid-template-rows: auto auto auto auto; gap: .4rem; padding: .5rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.active-facts { display: grid; grid-template-columns: 1.45fr 1fr repeat(3, .72fr); gap: .35rem; }
.active-fact, .active-context > span { min-width: 0; padding: .35rem .45rem; border: 1px solid var(--line); border-radius: .48rem; background: #f8faf8; }
.active-fact span, .active-fact strong, .active-context small, .active-context strong { display: block; }
.active-fact span, .active-context small { color: var(--muted); font-size: .58rem; font-weight: 700; }
.active-fact strong, .active-context strong { margin-top: .1rem; overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.active-fact-netto { color: #155e75; background: #e0f7ff; }
.active-context { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .3rem; }
.active-analysis-form { display: grid; align-items: stretch; min-height: 0; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .65fr); gap: .45rem; overflow: hidden; }
.active-decision-column { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: .45rem; min-width: 0; min-height: 0; }
.active-analysis-panel, .active-decision-panel, .active-refuse-panel { min-width: 0; min-height: 0; padding: .45rem; border: 1px solid var(--line); border-radius: .55rem; background: #fbfcfb; overflow: hidden; }
.active-refuse-panel { display: flex; align-items: stretch; justify-content: stretch; }
.active-section-heading { display: flex; align-items: end; justify-content: space-between; gap: .6rem; margin-bottom: .35rem; }
.active-section-heading .eyebrow { margin: 0 0 .12rem; color: #365d4a; font-size: 1rem; font-weight: 800; }
.active-section-heading h2 { margin: 0; font-size: 1.3rem; font-weight: 750; letter-spacing: 0; }
.active-section-heading > small { color: #5f6f67; font-size: .82rem; }
.active-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .32rem; }
.active-metric { display: grid; grid-template-rows: 1.25rem 2.4rem; align-content: start; gap: .22rem; min-width: 0; margin: 0; padding: .36rem .42rem; border: 1px solid var(--line); border-radius: .45rem; background: #fff; }
.active-metric > span { align-self: end; overflow: hidden; color: #344b3f; font-size: .78rem; font-weight: 750; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.active-metric input { box-sizing: border-box; width: 100%; height: 2.4rem; min-height: 2.4rem; padding: .36rem .48rem; border: 1px solid var(--line); border-radius: .38rem; background: #fff; font-size: 1rem; }
.active-metric.metric-out-of-bounds { border-color: #e88d86; background: #fff1f0; }
.active-metric.metric-out-of-bounds > span { color: #b42318; }
.active-decision-panel { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: .38rem; }
.active-refuse-button { width: 100%; min-height: 100%; flex: 1 1 auto; margin: 0; border-radius: .65rem !important; font-size: .86rem; font-weight: 750; }
.active-classification { display: grid; gap: .1rem; padding: .4rem .5rem; border-radius: .48rem; color: #215b3d; background: var(--accent-soft); }
.active-classification span, .active-classification small { color: var(--muted); font-size: .58rem; }
.active-classification strong { font-size: .78rem; }
.active-classification.classification-live-warning { color: #9f241c; background: #fff1f0; }
.active-manual-class { display: grid; gap: .26rem; margin: 0; }
.active-manual-class > span { color: #263f33; font-size: 1.06rem; font-weight: 800; }
.active-manual-class select { width: 100%; min-height: 2.5rem; padding: .42rem .54rem; border: 1px solid var(--line); border-radius: .42rem; background: #fff; font-size: 1rem; }
.active-silo-panel { grid-column: 1 / -1; min-height: 0; padding-top: .35rem; border-top: 1px solid var(--line); overflow: hidden; }
.active-silo-panel[hidden] { display: none !important; }
.active-silo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .4rem; min-height: 0; }
.silo-switch.active-silo-switch { min-height: 2.55rem; gap: .5rem; padding: .48rem .55rem; border-radius: .55rem; }
.silo-switch.active-silo-switch .silo-switch-indicator { width: 1.9rem; height: 1.05rem; }
.silo-switch.active-silo-switch .silo-switch-indicator::after { top: .125rem; left: .125rem; width: .8rem; height: .8rem; }
.silo-switch.active-silo-switch:has(input:checked) .silo-switch-indicator::after { transform: translateX(.72rem); }
.silo-switch.active-silo-switch strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.active-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .65rem; padding-top: .65rem; border-top: 1px solid #d9e2dc; }
.active-actions .btn { width: 100%; min-height: 2.45rem; margin: 0; border-radius: .65rem !important; font-size: .72rem; }
.weighing-results-panel { display: flex; min-height: calc(100vh - 11.5rem); flex-direction: column; }

.weighing-result-main { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(270px, auto) minmax(11rem, 13rem); align-items: center; gap: 1rem; width: 100%; }
.weighing-status-slot { display: flex; min-width: 0; justify-content: flex-end; justify-self: end; width: 100%; }
.weighing-status-slot .registry-status-badge { margin-left: auto; }
.registry-status-badge { display: inline-flex !important; min-width: 5.6rem; max-width: 13rem; align-items: center; justify-content: center; overflow: hidden; padding: .34rem .58rem; border: 1px solid transparent; border-radius: .55rem; font-size: .7rem; font-weight: 800; line-height: 1.2; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.registry-status-badge-exported { color: #315ca8 !important; background: #e8efff !important; border-color: #a9bde8 !important; }
.registry-status-badge-export-error { color: #a3312d !important; background: #fbe9e7 !important; border-color: #e88d86 !important; }
.registry-status-badge-completed { color: #28754c !important; background: #e8f5ec !important; border-color: #a9d5b8 !important; }
.registry-status-badge-refusal { color: #a3312d !important; background: #fbe9e7 !important; border-color: #e88d86 !important; }
.registry-status-badge-unloading { color: #1f6389 !important; background: #e5f3fb !important; border-color: #a6cde2 !important; }
.registry-status-badge-analysis { color: #785c18 !important; background: #fff3cd !important; border-color: #ead58d !important; }
.retry-1c-export-button { border-color: #198754 !important; color: #fff !important; background: #198754 !important; }
.retry-1c-export-button:hover { border-color: #157347 !important; background: #157347 !important; }
.weighing-result-main strong, .weighing-result-main small { display: block; }
.weighing-result-title { min-width: 0; }
.grain-class-line { display: flex; align-items: center; gap: .55rem; min-width: 0; flex-wrap: wrap; }
.weighing-row-meta { display: flex; align-items: center; gap: .45rem; margin-top: .35rem; flex-wrap: wrap; }
.vehicle-number, .weighing-date { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .45rem; border-radius: .45rem; font-size: .73rem; font-weight: 750; }
.vehicle-number { color: #365443; background: #edf4ee; }
.weighing-date { color: #40566b; background: #edf3f8; }
.weighing-result-main small { margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.weighing-metrics { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: .5rem; }
.weighing-metrics span { padding: .45rem .55rem; border-radius: .55rem; background: #f3f6f4; }
.weighing-metrics small, .weighing-metrics b { display: block; }
.weighing-metrics small { color: var(--muted); font-size: .62rem; }
.weighing-metrics b { margin-top: .18rem; font-variant-numeric: tabular-nums; font-size: .78rem; }
.weighing-detail-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .45rem; }
.weighing-detail-grid > div { padding: .55rem .6rem; border: 1px solid var(--line); border-radius: .55rem; background: #fbfcfb; }
.weighing-detail-grid small, .weighing-detail-grid strong { display: block; }
.weighing-detail-grid small, .weighing-detail-weights small { color: var(--muted); font-size: .66rem; }
.weighing-detail-grid strong { margin-top: .25rem; overflow-wrap: anywhere; font-size: .82rem; }
.registry-transport, .transport-value { display: inline-flex !important; min-width: 0; align-items: center; gap: .65rem; color: #215b3d; font-weight: 750; }
.transport-value { margin-top: .25rem; flex-wrap: wrap; font-size: .82rem !important; }
.transport-item { display: inline-flex !important; min-width: 0; align-items: center; gap: .28rem; white-space: nowrap; }
.transport-item i, .transport-item img { flex: 0 0 auto; width: 1em; height: 1em; color: #397052; font-size: .95em; }
.transport-item .bi::before { display: block; line-height: 1; vertical-align: 0; }
.transport-item img { display: block; object-fit: contain; opacity: .82; }
.transport-item > span { overflow: hidden; text-overflow: ellipsis; }
.weighing-detail-weights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.weighing-detail-weights > div { display: grid; gap: .2rem; padding: .9rem; border-radius: .75rem; background: #f2f6f3; }
.weighing-detail-weights strong { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.weighing-detail-weights span { color: var(--muted); font-size: .7rem; }
.weighing-detail-weights .netto-detail { color: #215b3d; background: var(--accent-soft); }
.grain-class-undefined { color: #b42318 !important; }
.grain-class-defined { color: #215b3d !important; }
.analysis-form { margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.analysis-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.analysis-section-heading h3 { margin: 0; font-size: 1rem; }
.analysis-section-heading > small { max-width: 270px; color: var(--muted); font-size: .68rem; text-align: right; }
.analysis-source-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: .3rem; align-items: end; }
.analysis-source-control { display: grid; gap: .15rem; min-width: 0; }
.analysis-source-control > span { color: var(--muted); font-size: .62rem; font-weight: 800; }
.analysis-source-control input { min-width: 0; }
.analysis-source-fields select { min-width: 7rem; }
@media (max-width: 760px) { .analysis-source-fields { grid-template-columns: 1fr 1fr; } .analysis-source-fields select { grid-column: 1 / -1; width: 100%; } }
.analysis-metric { display: grid; gap: .35rem; margin: 0 !important; padding: .65rem; border: 1px solid var(--line); border-radius: .65rem; background: #fbfcfb; }
.analysis-metric > span { color: var(--muted); font-size: .68rem; font-weight: 700; }
.analysis-metric.metric-out-of-bounds { border-color: #e88d86; background: #fff1f0; }
.analysis-metric.metric-out-of-bounds > span { color: #b42318; }
.classification-hint, .classification-warning { margin: .75rem 0 0; padding: .65rem .75rem; border-radius: .6rem; font-size: .75rem; }
.classification-hint { color: #215b3d; background: var(--accent-soft); }
.classification-warning { color: #9f241c; background: #fff1f0; }
.classification-live { display: grid; gap: .2rem; margin-top: .75rem; padding: .75rem; border-radius: .65rem; color: #215b3d; background: var(--accent-soft); }
.classification-live span, .classification-live small { font-size: .68rem; }
.classification-live span, .classification-live small { color: var(--muted); }
.classification-live strong { font-size: .9rem; }
.classification-live.classification-live-warning { color: #9f241c; background: #fff1f0; }
.weighing-netto-accent { color: #155e75; background: #e0f7ff !important; }
.weighing-netto-accent small { color: #39768a; }
.registry-oob-list { display: flex; gap: .35rem; margin-top: .45rem; flex-wrap: wrap; }
.registry-oob-list span { padding: .22rem .4rem; border-radius: .4rem; color: #b42318; background: #fff1f0; font-size: .65rem; font-weight: 700; }
.weighing-result-row.acceptance-refused { position: relative; border-color: #e8a19b; background: #fff8f7; }
.weighing-result-row.acceptance-refused::after { position: absolute; z-index: 2; top: 50%; right: .6rem; left: .6rem; height: 2px; background: #d92d20; content: ""; pointer-events: none; transform: rotate(-1deg); }
.silo-panel { margin-top: .8rem; padding: .8rem; border: 1px solid var(--line); border-radius: .7rem; background: #fbfcfb; }
.silo-panel[hidden] { display: none !important; }
.silo-switch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .7rem; }
.silo-switch { position: relative; display: flex; align-items: center; gap: .7rem; min-height: 3.1rem; margin: 0 !important; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: .75rem; cursor: pointer; background: #fff; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.silo-switch:hover { border-color: #9bbda7; box-shadow: 0 4px 12px rgba(29,55,42,.07); }
.silo-switch input { position: absolute; width: 1px !important; height: 1px; opacity: 0; }
.silo-switch-indicator { position: relative; flex: 0 0 auto; width: 2.15rem; height: 1.2rem; border-radius: 99px; background: #d5ddd8; transition: background-color .15s ease; }
.silo-switch-indicator::after { position: absolute; top: .15rem; left: .15rem; width: .9rem; height: .9rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); content: ""; transition: transform .15s ease; }
.silo-switch-copy { display: grid; gap: .15rem; min-width: 0; }
.silo-switch-copy strong, .silo-switch-copy small { display: block; }
.silo-switch-copy strong { font-size: .8rem; }
.silo-switch-copy small { color: var(--muted); font-size: .65rem; }
.silo-switch.same-class-history { border-color: #55a873; background: #eaf8ee; box-shadow: inset 0 0 0 1px rgba(60,155,96,.12); }
.silo-switch.same-class-history:hover { border-color: #378a57; background: #e0f5e6; }
.silo-switch:has(input:checked) { border-color: #77b28d; background: #f0faf3; box-shadow: 0 0 0 2px rgba(79,146,102,.1); }
.silo-switch.same-class-history:has(input:checked) { border-color: #277a45; background: #dff3e5; box-shadow: 0 0 0 2px rgba(39,122,69,.16); }
.silo-switch:has(input:checked) .silo-switch-indicator { background: #3c9b60; }
.silo-switch:has(input:checked) .silo-switch-indicator::after { transform: translateX(.95rem); }
.silo-switch:has(input:focus-visible) { outline: 2px solid #77a9dc; outline-offset: 2px; }
.acceptance-actions { display: grid; gap: .65rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.acceptance-action-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; align-items: stretch; }
.acceptance-action-buttons form { display: flex; min-width: 0; margin: 0; }
.acceptance-action-buttons .btn { display: inline-flex; width: 100%; min-height: 2.9rem; align-items: center; justify-content: center; margin: 0; border-radius: .7rem !important; }
.refusal-note { display: grid; gap: .2rem; text-align: center; }
.refusal-note strong, .refusal-note small { display: block; }
.refusal-note strong { color: #b42318; }
.refusal-note small { color: var(--muted); font-size: .68rem; }
.linked-state, .unlinked-state { display: inline-flex; align-items: center; gap: .25rem; padding: .3rem .5rem; border-radius: .5rem; font-size: .7rem; font-weight: 700; }
.linked-state { color: #28754c; background: #e8f5ec; }
.unlinked-state { color: #8d651e; background: #fff4d9; }
.weighing-status { display: inline-flex; min-width: 5.6rem; align-items: center; justify-content: center; padding: .34rem .58rem; border-radius: .55rem; font-size: .7rem; font-weight: 800; }
.weighing-status-analysis { color: #785c18; background: #fff3cd; }
.weighing-status-unloading { color: #1f6389; background: #e5f3fb; }
.weighing-status-exported { color: #315ca8; background: #e8efff; }
.weighing-status-export-error { color: #a3312d; background: #fbe9e7; border: 1px solid #e88d86; }
.weighing-status-completed { color: #28754c; background: #e8f5ec; }
.weighing-status-refusal { color: #a3312d; background: #fbe9e7; }
.directory-empty { display: grid; min-height: 180px; place-items: center; color: var(--muted); text-align: center; }
.user-edit-form { display: grid; grid-template-columns: minmax(130px, 1.2fr) minmax(110px, 1fr) minmax(120px, .9fr) minmax(120px, 1fr) minmax(120px, 1fr) auto; gap: .55rem; align-items: end; }
.user-edit-form > div { min-width: 0; }
.user-edit-form label { display: block; margin-bottom: .22rem; color: var(--muted); font-size: .64rem; font-weight: 700; }
.user-edit-form input, .user-edit-form select { width: 100%; min-height: 2.2rem; padding: .42rem .55rem; border: 1px solid var(--line); border-radius: .55rem; background: #fbfcfb; font-size: .75rem; }
.user-access-row { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; margin-top: .55rem; }
.blocked-state { display: inline-flex; padding: .28rem .48rem; border-radius: .5rem; color: #963636; background: #fbeeee; font-size: .68rem; font-weight: 700; }

.login-card { width: min(100%, 460px); padding: clamp(2rem, 4vw, 3.2rem); border: 1px solid var(--line); border-radius: 1.55rem; background: var(--surface); box-shadow: var(--shadow); }
.input-group-text { border-color: var(--line); color: var(--muted); background: #f8faf8; }
.form-control { border-color: var(--line); }
.form-control:focus { border-color: rgba(36,107,74,.55); box-shadow: 0 0 0 .22rem rgba(36,107,74,.12); }
.btn-primary { --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent); --bs-btn-hover-bg: #1c583c; --bs-btn-hover-border-color: #1c583c; --bs-btn-active-bg: #174c34; --bs-btn-active-border-color: #174c34; border-radius: .85rem; font-weight: 700; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 280px minmax(0, 1fr); }
.app-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 1.15rem; border-right: 1px solid var(--line); background: rgba(255,255,255,.93); backdrop-filter: blur(12px); }
.sidebar-brand { display: flex; align-items: center; gap: .78rem; padding: .4rem .35rem 1.25rem; }
.sidebar-brand-with-logo { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; align-items: start; }
.sidebar-brand-logo { display: block; width: min(100%, 13rem); height: 3.6rem; object-fit: contain; object-position: left center; }
.sidebar-brand-with-logo > small { margin-top: 0; color: var(--muted); font-size: .68rem; }
.sidebar-brand strong, .sidebar-brand small { display: block; }
.sidebar-brand strong { font-size: .96rem; }
.sidebar-brand small { margin-top: .08rem; color: var(--muted); font-size: .68rem; }
.sidebar-nav { display: flex; flex: 1; flex-direction: column; gap: .32rem; }
.nav-section { padding: 1.15rem .72rem .35rem; color: #8a958f; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nav-item { display: grid; grid-template-columns: 1.4rem 1fr auto; align-items: center; gap: .55rem; min-height: 2.8rem; padding: .62rem .72rem; border-radius: .78rem; color: #4e5c54; text-decoration: none; transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.nav-item:hover { color: var(--ink); background: #f2f6f3; }
.nav-item:active { transform: scale(.985); }
.nav-item.active { color: var(--accent); background: var(--accent-soft); font-weight: 700; }
.nav-item.disabled { opacity: .58; pointer-events: none; }
.nav-item small { font-size: .65rem; }
.sidebar-user { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .72rem; border: 1px solid var(--line); border-radius: 1rem; background: #f8faf8; }
.user-avatar { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .75rem; color: white; background: var(--accent); font-weight: 800; }
.user-copy { min-width: 0; }
.user-copy strong, .user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-copy strong { font-size: .82rem; }
.user-copy small { color: var(--muted); font-size: .68rem; }
.icon-button { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 0; border-radius: .7rem; color: var(--muted); background: transparent; transition: color .15s ease, background-color .15s ease; }
.icon-button:hover { color: #9e3131; background: #fbeeee; }

.workspace-main { min-width: 0; padding: clamp(1.5rem, 3.5vw, 3.5rem); }
.workspace-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.workspace-header h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 780; letter-spacing: -.045em; text-wrap: balance; }
.laboratory-registry-workspace, .laboratory-directory-workspace { padding: .7rem .8rem; }
.compact-workspace-header { margin-bottom: .55rem; }
.compact-workspace-header .eyebrow { margin-bottom: .16rem; font-size: .62rem; }
.compact-workspace-header h1 { font-size: 1.35rem; line-height: 1.08; }
.laboratory-registry-workspace .weighing-results-panel, .laboratory-directory-workspace .directory-panel { min-height: calc(100vh - 5.2rem); padding: .85rem; }
.production-plans-panel .panel-heading-actions { display: flex; align-items: center; gap: .75rem; }
.production-plans-panel .panel-heading-actions .count-badge { flex: 0 0 auto; }
.production-plans-panel .panel-heading-actions .btn { flex: 0 0 auto; }
.compact-document-form .production-plan-period-fields { grid-template-columns: minmax(16rem, 2fr) minmax(9rem, .8fr) minmax(9rem, .8fr); }
.production-plan-modal .modal-dialog { max-width: 820px; }
.production-plan-modal .modal-body { padding: 1rem 1.25rem 1.1rem; }
.production-plan-meta { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(150px, .7fr) minmax(150px, .7fr); gap: .65rem; margin-bottom: .8rem; }
.production-plan-meta label { display: grid; gap: .28rem; margin: 0; color: var(--muted); font-size: .7rem; font-weight: 750; }
.production-plan-meta .invalid-feedback { margin-top: -.1rem; color: #b42318; font-size: .68rem; font-weight: 700; }
.production-plan-meta input { min-height: 2.35rem; }
.production-date-control { position:relative; display:block; }
.production-date-control>input { padding-right:2.35rem; }
.production-date-trigger { position:absolute; top:50%; right:.38rem; display:grid; width:1.75rem; height:1.75rem; padding:0; place-items:center; border:0; border-radius:.35rem; color:var(--accent); background:transparent; transform:translateY(-50%); cursor:pointer; }
.production-date-trigger:hover { background:var(--accent-soft); }
.production-plan-lines { margin: .1rem 0 0; padding: .65rem .75rem .75rem; border: 1px solid var(--line); border-radius: .7rem; }
.production-plan-lines legend { float: none; width: auto; margin: 0; padding: 0 .2rem; color: var(--ink); font-size: .78rem; font-weight: 800; }
.production-plan-lines-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin: .15rem 0 .35rem; }
.production-plan-lines-heading strong { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.production-plan-items-table { margin: 0; border: 1px solid var(--line); }
.production-plan-items-table th, .production-plan-items-table td { padding: .4rem .5rem; vertical-align: middle; }
.production-plan-items-table th { color: var(--muted); background: #f4f7f5; font-size: .68rem; }
.production-plan-items-table th:first-child, .production-plan-items-table td:first-child { width: 2.4rem; text-align: center; }
.production-plan-items-table th:nth-child(3), .production-plan-items-table td:nth-child(3) { width: 145px; }
.production-plan-items-table th:last-child, .production-plan-items-table td:last-child { width: 42px; }
.production-plan-items-table { display:table; width:100%; table-layout:fixed; border-collapse:collapse; }
.production-plan-items-table thead { display:table-header-group; }
.production-plan-items-table tbody { display:table-row-group; }
.production-plan-items-table tr { display:table-row; }
.production-plan-items-table th, .production-plan-items-table td { display:table-cell; }
.production-plan-items-table th:nth-child(2), .production-plan-items-table td:nth-child(2) { width:auto; }
.production-plan-items-table th:nth-child(3), .production-plan-items-table td:nth-child(3) { width:145px; }
.production-plan-items-table select, .production-plan-items-table input { box-sizing:border-box; width:100%; }
.production-plan-items-table td.plan-item-actions { text-align:center; }
.production-plan-modal .modal-content, #newProductionRequestModal .modal-content, #millingPartyModal .modal-content, .warehouse-release-dialog { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:.82rem; }
.production-plan-modal .modal-title, #newProductionRequestModal .modal-title, #millingPartyModal .modal-title, .warehouse-release-dialog-head h2 { font-size:1.15rem; font-weight:700; }
.production-plan-items-table select, .production-plan-items-table input { min-height: 2.25rem; margin: 0; }
.production-plan-modal .modal-footer { margin-top: .8rem; padding: .75rem 0 0; border-top: 1px solid var(--line); }
.production-plan-actions-row { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.production-plan-actions-row .btn { width: auto; margin-top: 0; flex: 0 0 auto; }
.production-plan-actions-row input[type="submit"] { width: auto; margin-top: 0; flex: 0 0 auto; }
@media (max-width: 700px) { .production-plan-meta { grid-template-columns: 1fr; } .production-plan-lines { overflow-x: auto; } .production-plan-items-table { min-width: 620px; } }
.compact-document-form fieldset { margin-top: .85rem; }
.compact-document-form .production-plan-items-table { margin-bottom: .65rem; }
.compact-document-form .production-plan-items-table th, .compact-document-form .production-plan-items-table td { padding: .45rem .55rem; }
.compact-document-form .production-plan-items-table th:first-child, .compact-document-form .production-plan-items-table td:first-child { width: 2.5rem; text-align: center; }
.milling-party-meta { display: grid; grid-template-columns: minmax(18rem, 1.6fr) minmax(13rem, 1fr) minmax(13rem, 1fr); gap: .75rem; }
.milling-party-meta label { display: flex; flex-direction: column; gap: .3rem; font-size: .72rem; font-weight: 700; color: var(--muted); }
.milling-party-lines-head { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.milling-party-lines-head h3 { margin: .1rem 0 0; font-size: .95rem; }
.milling-party-percent-help { display: block; margin-top: .2rem; color: var(--muted); font-size: .68rem; }
.milling-party-lines { margin: .55rem 0 0; border: 1px solid var(--line); }
.milling-party-lines th, .milling-party-lines td { padding: .42rem .55rem; vertical-align: middle; }
.milling-party-lines tbody td { vertical-align: middle; }
.milling-party-lines tbody tr.milling-party-source { height: 6rem; }
.milling-party-lines th { background: #f4f7f5; color: var(--muted); font-size: .72rem; }
.milling-party-lines td:first-child { width: 2.5rem; text-align: center; }
.milling-party-lines td:nth-child(3) { width: 8rem; color: var(--muted); }
.milling-party-lines td:nth-child(4) { width: 11rem; }
.milling-party-lines td:last-child { width: 2.5rem; text-align: center; }
.milling-party-lines select, .milling-party-lines input { width: 100%; margin: 0; }
.milling-party-lines th:nth-child(4), .milling-party-lines td:nth-child(4) { width: 9rem; }
.source-percent-field { position: relative; }
.source-percent-field input { padding-right: 1.45rem; }
.source-percent-field span { position: absolute; top: 50%; right: .55rem; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.milling-party-source td:nth-child(5) { position: relative; }
.compact-document-form .field-invalid > input, .compact-document-form .field-invalid > select, .compact-document-form .field-invalid .source-kg, .compact-document-form .field-invalid .source-percent { border-color: #a3312d; box-shadow: 0 0 0 .12rem rgba(163, 49, 45, .12); }
.compact-document-form .field-error { display: block; margin-top: .25rem; color: #a3312d; font-size: .72rem; line-height: 1.3; }
.source-validation-error { position: absolute; top: calc(50% + 1.35rem); right: .55rem; left: .55rem; display: none; color: #a3312d; font-size: .68rem; line-height: 1.25; pointer-events: none; }
.source-validation-error:not(:empty) { display: block; }
.milling-party-source.source-invalid .source-kg, .milling-party-source.source-invalid .source-percent { border-color: #a3312d; }
.milling-party-lines tfoot td:nth-child(4) { color: var(--muted); font-size: .72rem; }
.milling-party-lines tfoot td { background: #f8faf9; font-weight: 700; }
.milling-party-document-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.milling-party-document-actions [data-milling-party-save]:not(:disabled) { opacity: 1; color: #fff; background-color: #246b4a; border-color: #246b4a; }
.milling-party-document-actions .btn, .milling-party-document-actions input[type="submit"] { box-sizing: border-box; width: auto; min-height: 2.375rem; margin-top: 0; padding: .375rem .75rem; flex: 0 0 auto; border-radius: .375rem; line-height: 1.5; }
@media (max-width: 760px) {
  .compact-document-form .production-plan-period-fields, .milling-party-meta { grid-template-columns: 1fr; }
  .milling-party-lines-wrap { overflow: visible; }
  .milling-party-lines { display: block; min-width: 0; border: 0; }
  .milling-party-lines thead { display: none; }
  .milling-party-lines tbody, .milling-party-lines tr { display: block; }
  .milling-party-lines tbody tr.milling-party-source { height: auto; }
  .milling-party-source td:nth-child(5) { position: static; }
  .source-validation-error { position: static; margin-top: .2rem; }
  .milling-party-lines tr { margin: .65rem 0; padding: .7rem; border: 1px solid var(--line); border-radius: .65rem; background: #fbfdfb; }
  .milling-party-lines td { display: block; width: 100% !important; padding: .3rem 0; border: 0; }
  .milling-party-lines td[data-label]::before { display: block; margin-bottom: .18rem; color: var(--muted); content: attr(data-label); font-size: .68rem; font-weight: 750; }
  .milling-party-lines td:first-child { display: none; }

  .milling-party-lines td:last-child { display: flex; justify-content: flex-end; padding-top: .45rem; }
  .milling-party-lines tfoot { display: block; }
  .milling-party-lines tfoot tr { margin-top: .8rem; padding: .55rem .7rem; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
  .milling-party-lines tfoot td { display: table-cell; width: auto !important; padding: .35rem 0; }
  .milling-party-lines tfoot td:first-child { display: table-cell; }
  .milling-party-lines tfoot td:nth-child(2) { display: none; }
  .milling-party-lines tfoot td:nth-child(3) { text-align: right; }
}
.registry-heading-controls { display: flex; align-items: center; gap: .35rem; }
.registry-day-button { display: inline-grid; width: 1.85rem; min-height: 1.85rem !important; padding: 0; place-items: center; border-radius: .45rem !important; line-height: 1; }
.registry-current-date { display: inline-flex; min-width: 5.8rem; min-height: 1.85rem; align-items: center; justify-content: center; padding: .25rem .55rem; border: 1px solid #b9d8eb; border-radius: .5rem; color: #245f85; background: #e5f0f8; font-size: .72rem; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.weighing-registry-filters { display: grid; grid-template-columns: minmax(245px, 1.25fr) minmax(145px, .8fr) minmax(185px, 1fr) minmax(105px, .55fr) max-content; gap: .6rem; align-items: end; min-width: 0; margin-bottom: .55rem; padding: .62rem .7rem; border: 1px solid var(--line); border-radius: .65rem; background: #f8faf8; }
.registry-filter-field { min-width: 0; }
.registry-autocomplete-field { position: relative; }
.registry-suggestions { position: absolute; z-index: 30; top: calc(100% + .25rem); right: 0; left: 0; display: none; max-height: 12rem; overflow-y: auto; padding: .25rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; box-shadow: 0 8px 22px rgba(29,55,42,.14); }
.registry-suggestions.open { display: grid; gap: .15rem; }
.registry-suggestion { width: 100%; padding: .45rem .55rem; border: 0; border-radius: .35rem; text-align: left; color: var(--ink); background: transparent; cursor: pointer; font-size: .76rem; }
.registry-suggestion:hover, .registry-suggestion:focus { background: var(--accent-soft); outline: none; }
.registry-filter-field label { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .68rem; font-weight: 750; }
.registry-filter-field input, .registry-filter-field select { width: 100%; min-height: 2.25rem; padding: .35rem .5rem; border: 1px solid var(--line); border-radius: .45rem; background: #fff; font-size: .76rem; }
.registry-date-range { display: grid; grid-template-columns: 1fr auto 1fr; gap: .35rem; align-items: center; }
.registry-date-range span { color: var(--muted); }
.registry-date-range input[data-date-display] { padding-right: 2.25rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23285f86' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V2h8V.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 15 3.5v11a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5v-11A1.5 1.5 0 0 1 2.5 2H3V.5a.5.5 0 0 1 .5-.5zM2 6v8.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V6H2z'/%3E%3C/svg%3E"); background-position: right .65rem center; background-repeat: no-repeat; }
.registry-filter-field input[data-date-display], label input[data-date-display] { padding-right: 2.25rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23285f86' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V2h8V.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 15 3.5v11a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5v-11A1.5 1.5 0 0 1 2.5 2H3V.5a.5.5 0 0 1 .5-.5zM2 6v8.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V6H2z'/%3E%3C/svg%3E"); background-position: right .65rem center; background-repeat: no-repeat; }
.registry-filter-actions { display: flex; gap: .4rem; }
.registry-filter-actions .btn, .registry-day-navigation .btn { min-height: 2.25rem; white-space: nowrap; }
.registry-day-navigation { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.registry-day-navigation strong { color: var(--ink); font-size: .8rem; }
.workspace-hint { margin: .55rem 0 0; color: var(--muted); text-wrap: pretty; }
.weight-station-chip { display: inline-flex; flex: 0 0 auto; min-height: 2rem; align-items: center; gap: .45rem; padding: .38rem .58rem; border: 1px solid var(--line); border-radius: .6rem; color: #466153; background: var(--surface); font-size: .72rem; font-weight: 750; }
.weight-station-chip > i { color: #285f86; font-size: 1rem; }
.weight-station-status-dot { width: .52rem; height: .52rem; border-radius: 50%; }
.weight-station-chip.online .weight-station-status-dot { background: #25a65a; box-shadow: 0 0 0 3px rgba(37,166,90,.13); }
.weight-station-chip.offline .weight-station-status-dot { background: #d64545; box-shadow: 0 0 0 3px rgba(214,69,69,.13); }
.hero-card { display: flex; align-items: center; gap: 1.25rem; min-height: 230px; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: 1.55rem; background: linear-gradient(135deg, #fff 0%, #f4f8f5 100%); box-shadow: var(--shadow); }
.hero-card h2 { margin: .65rem 0 .55rem; font-size: clamp(1.45rem, 3vw, 2.2rem); font-weight: 760; letter-spacing: -.035em; }
.hero-card p { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.6; }
.hero-icon { display: grid; flex: 0 0 auto; width: 4.8rem; height: 4.8rem; place-items: center; border-radius: 1.3rem; color: var(--accent); background: var(--accent-soft); font-size: 2rem; }
.soft-badge { display: inline-flex; padding: .38rem .6rem; border-radius: .55rem; color: var(--accent); background: var(--accent-soft); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.metric-card { display: flex; align-items: center; gap: .8rem; min-height: 104px; padding: 1.15rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
.metric-card > i { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border-radius: .8rem; color: var(--accent); background: var(--accent-soft); }
.metric-card small, .metric-card strong { display: block; }
.metric-card small { margin-bottom: .15rem; color: var(--muted); font-size: .7rem; }
.metric-card strong { font-size: .9rem; font-variant-numeric: tabular-nums; }

body[data-role="laboratory"] { --accent: #285f86; --accent-soft: #e5f0f8; }
body[data-role="bunker"] { --accent: #9a5a20; --accent-soft: #f8ecdf; }
body[data-role="production"] { --accent: #6751a5; --accent-soft: #eeeafb; }

.access-denied { min-height: 100vh; display: grid; padding: 2rem; place-items: center; }
.access-denied-card { width: min(100%, 560px); padding: 3rem; border: 1px solid var(--line); border-radius: 1.5rem; text-align: center; background: var(--surface); box-shadow: var(--shadow); }
.access-denied-card .hero-icon { margin: 0 auto 1.4rem; }
.access-denied-card p:not(.eyebrow) { color: var(--muted); }

.copyright-link { position: absolute; z-index: 2; bottom: 1.4rem; left: clamp(3rem, 7vw, 7rem); color: rgba(255,255,255,.72); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: normal; text-underline-offset: .18em; }
.copyright-link:hover { color: white; }

@media (max-width: 980px) {
  .login-page { grid-template-columns: 1fr; }
  .login-brand { min-height: 42vh; padding: 3rem 2rem 4.5rem; }
  .login-brand-content { width: 100%; transform: none; }
  .login-brand-logo-frame { width: min(74vw, 19rem); height: min(29vh, 19rem); }
  .login-brand-caption { margin-top: .7rem; font-size: .86rem; }
  .copyright-link { left: 2rem; }
  .login-panel { padding: 1.2rem; }
  .app-shell { grid-template-columns: 88px minmax(0, 1fr); }
  .app-sidebar { padding: .8rem; }
  .sidebar-brand-with-logo { justify-items: center; }
  .sidebar-brand-with-logo .sidebar-brand-logo { width: 2.8rem; height: 2.8rem; object-fit: cover; object-position: left center; }
  .sidebar-brand-with-logo > small { display: none; }
  .sidebar-brand > span:last-child, .nav-item span, .nav-item small, .nav-section, .user-copy { display: none; }
  .sidebar-brand, .nav-item { justify-content: center; }
  .sidebar-user { grid-template-columns: 1fr; justify-items: center; padding: .6rem; }
  .metric-grid { grid-template-columns: 1fr; }
  .active-silo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .weighing-registry-filters { grid-template-columns: minmax(210px, 1.2fr) minmax(130px, .75fr) minmax(170px, 1fr) minmax(100px, .55fr) max-content; gap: .5rem; }
  .registry-filter-dates, .registry-filter-actions { grid-column: auto; }
  .registry-day-navigation { flex-wrap: wrap; justify-content: center; }

  .admin-content-grid { grid-template-columns: 1fr; }
  .user-edit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .login-brand { min-height: auto; }
  .registry-heading { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .registry-heading-controls { width: 100%; min-width: 0; justify-content: space-between; }
  .registry-current-date { min-width: 0; flex: 1 1 auto; }
  .app-shell { display: block; }
  .app-sidebar { position: static; width: auto; height: auto; flex-direction: row; align-items: center; border-right: 0; border-bottom: 1px solid var(--line); }
  .sidebar-nav { display: none; }
  .sidebar-brand { flex: 1; padding: 0; }
  .sidebar-brand > span:last-child { display: block; }
  .sidebar-user { grid-template-columns: auto auto; border: 0; background: transparent; }
  .workspace-main { padding: 1.2rem; }
  .user-list-panel { min-height: calc(100vh - 8rem); padding: 1rem; }
  .directory-panel { min-height: calc(100vh - 8rem); padding: 1rem; }
  .directory-hub-grid { grid-template-columns: 1fr; }
  .integration-fields-grid, .integration-common-fields { grid-template-columns: 1fr; }
  .directory-record-main { grid-template-columns: 1fr; gap: .45rem; }
  .limit-summary-grid, .limit-fields-grid, .limit-bound-grid { grid-template-columns: 1fr; }
  .weighing-result-main, .weighing-metrics { grid-template-columns: 1fr; }
  .weighing-detail-grid, .weighing-detail-weights { grid-template-columns: 1fr; }
  .analysis-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silo-switch-grid { grid-template-columns: 1fr; }
  .active-silo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acceptance-actions { align-items: stretch; }
  .acceptance-action-buttons { grid-template-columns: 1fr; }
  .analysis-section-heading { align-items: flex-start; flex-direction: column; }
  .analysis-section-heading > small { max-width: none; text-align: left; }
  .directory-record-main .linked-state, .directory-record-main .unlinked-state { justify-self: start; }
  .panel-heading-actions { align-items: flex-end; flex-direction: column-reverse; gap: .5rem; }
  .panel-heading-actions .btn { white-space: nowrap; }
  .admin-state-panel { align-items: flex-start; }
  .user-edit-form { grid-template-columns: 1fr; }
  .user-access-row { justify-content: flex-start; }
  .workspace-header { display: block; }
  .status-chip { margin-top: 1rem; }
  .hero-card { align-items: flex-start; min-height: 0; }
  .hero-icon { width: 3.6rem; height: 3.6rem; font-size: 1.45rem; }
}


.laboratory-research-record { display: block; min-width: 0; border: 1px solid #dbe4df; border-radius: .55rem; background: #fff; overflow: hidden; }
.laboratory-research-record + .laboratory-research-record { margin-top: .45rem; }
.laboratory-research-row-link { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 1rem; min-width: 0; padding: .7rem .85rem; color: inherit; text-decoration: none; }
.laboratory-research-row-link:hover { color: inherit; background: #f1f8f3; }
.laboratory-research-row-link:focus-visible { color: inherit; outline: 3px solid #84b998; outline-offset: -3px; }
.laboratory-research-record .directory-record-main { display: grid; grid-template-columns: minmax(12rem, 1.25fr) minmax(9rem, .8fr) minmax(14rem, 1fr); align-items: center; gap: .3rem 1rem; min-width: 0; }
.research-title-line { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.research-title-line strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; line-height: 1.2; }
.research-document-number { flex: 0 0 auto; color: #52677a; font-size: .68rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.research-kind { flex: 0 0 auto; padding: .16rem .4rem; border-radius: .25rem; background: #edf3ef; color: #52705d; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.research-date { color: #334155; font-size: .76rem; font-variant-numeric: tabular-nums; }
.research-subtitle { color: #64748b; font-size: .72rem; }
.research-relation { grid-column: 1 / -1; color: #85611a; font-size: .72rem; font-weight: 750; }
.laboratory-research-status { display: inline-flex; justify-content: center; align-items: center; min-width: 8.5rem; min-height: 1.85rem; padding: .25rem .55rem; border: 1px solid; border-radius: .4rem; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.laboratory-research-status-draft { color: #586474; border-color: #c8d0d8; background: #eef1f4; }
.laboratory-research-status-filled { color: #76510a; border-color: #e3c36e; background: #fff4cf; }
.laboratory-research-status-confirmed { color: #155d35; border-color: #add5b8; background: #dff3e4; }
.laboratory-research-status-superseded { color: #6b7280; border-color: #cbd5e1; background: #f1f5f9; }
.laboratory-research-record.is-superseded .research-title-line strong, .laboratory-research-record.is-superseded .research-date, .laboratory-research-record.is-superseded .research-subtitle { color: #94a3b8; }
.research-metric-editor > div:has(> [data-metric-manual])::before { content: "Ручной"; grid-column: 1; grid-row: 1; font-size: .76rem; font-weight: 800; color: #334155; }
.research-metric-editor > div:has(> [data-metric-apparatus])::after { content: "Perten"; grid-column: 2; grid-row: 1; font-size: .76rem; font-weight: 800; color: #334155; }
.research-metric-editor [data-metric-manual] { grid-column: 1; grid-row: 2; }
.research-metric-editor [data-metric-apparatus] { grid-column: 2; grid-row: 2; }
.research-metric-editor [data-metric-final-method] { grid-column: 1; grid-row: 3; }
.research-metric-editor [data-metric-final-value] { grid-column: 2; grid-row: 3; }
.research-relation { grid-column: 1 / -1; color: #76510a; font-weight: 700; }
.research-relation-badge { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .25rem .55rem; border: 1px solid #dcae6b; border-radius: .45rem; color: #76510a; background: #fff4dc; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.laboratory-research-record-actions { display: none; }
.read-only-analysis-panel { padding: .7rem; border: 1px solid var(--line); border-radius: .55rem; background: #fbfcfb; }
.read-only-analysis-panel .active-metric { grid-template-rows: auto auto; }
.read-only-analysis-panel .active-metric strong { min-height: 2.4rem; padding: .36rem .48rem; border: 1px solid var(--line); border-radius: .38rem; background: #fff; font-size: 1rem; }
.read-only-notice { padding: .65rem .75rem; border: 1px solid #cbded0; border-radius: .5rem; color: #285f40; background: #eef8f0; font-size: .75rem; font-weight: 700; }
@media (max-width: 800px) { .laboratory-research-row-link { grid-template-columns: 1fr; gap: .55rem; } .laboratory-research-record .directory-record-main { grid-template-columns: 1fr 1fr; } .laboratory-research-status { justify-self: start; } }
.laboratory-registry-workspace .registry-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1.1fr) max-content; gap: .65rem; align-items: end; min-width: 0; width: 100%; margin: .8rem 0; padding: .7rem; border: 1px solid var(--line); border-radius: .65rem; background: #f8faf9; }
.laboratory-registry-workspace .registry-filters, .laboratory-registry-workspace .registry-filters * { box-sizing: border-box; }
.laboratory-registry-workspace .registry-filters input, .laboratory-registry-workspace .registry-filters select { padding: .45rem .6rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; color: var(--ink); font: inherit; font-size: .76rem; }
.research-note-field { display: grid; gap: .3rem; color: var(--muted); font-size: .75rem; font-weight: 700; }
.research-note-field textarea { box-sizing: border-box; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; line-height: 1.4; }
.laboratory-registry-workspace .registry-filters > div { min-width: 0; }
.laboratory-registry-workspace .registry-filters label { display: block; margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; }
.laboratory-registry-workspace .registry-filters input, .laboratory-registry-workspace .registry-filters select { width: 100%; min-height: 2.25rem; margin: 0; }
.laboratory-registry-workspace .registry-filters .registry-filter-actions { display: flex; gap: .45rem; align-items: center; white-space: nowrap; }
.research-note-field { grid-column: 1 / -1; }
.research-note-field textarea { width: 100%; min-height: 4.2rem; resize: vertical; }
.research-results-table th:nth-child(2), .research-results-table td.metric-source-manual { background: #e9f4fb; }
.research-results-table th:nth-child(3), .research-results-table td.metric-source-apparatus { background: #eaf7ee; }
.research-results-table td.metric-final-manual { background: #d8edf8; }
.research-results-table td.metric-final-apparatus { background: #d7f0df; }
.research-results-table td.metric-final small { display: block; margin-top: .15rem; color: #496273; font-size: .65rem; font-weight: 800; }
.analysis-source-control:first-child { background: #e9f4fb; }
.analysis-source-control:nth-child(2) { background: #eaf7ee; }
.analysis-source-control { padding: .3rem; border-radius: .35rem; }
.analysis-readonly-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .35rem; }
.analysis-readonly-values > span { padding: .35rem .45rem; border-radius: .35rem; display: flex; flex-direction: column; gap: .12rem; }
.analysis-value-manual, .metric-source-manual { background: #e9f4fb; }
.analysis-value-apparatus, .metric-source-apparatus { background: #eaf7ee; }
.analysis-value-final-manual { background: #d8edf8; }
.analysis-value-final-apparatus { background: #d7f0df; }
.analysis-readonly-values small { font-size: .62rem; font-weight: 800; color: #496273; }

.laboratory-research-modal-footer .btn, .laboratory-research-modal-footer input[type="submit"], .workspace-header-actions .research-action-btn { min-height: 2.35rem; border-radius: .45rem; font-size: .78rem; font-weight: 800; }
.laboratory-research-modal-footer input[value="Сохранить черновик"] { border: 1px solid #b8c7d1; color: #38566a; background: #fff; }
.laboratory-research-modal-footer input[value="Сохранить заполненным"] { border: 1px solid #2d6a4f; color: #fff; background: #2d6a4f; }
.research-action-secondary { border: 1px solid #b8c7d1; color: #38566a; background: #fff; }
.research-action-primary { border: 1px solid #2d6a4f; color: #fff; background: #2d6a4f; }
.research-action-primary:disabled { opacity: .48; }
.analysis-value-final { font-weight: 800; }
@media (max-width: 700px) { .analysis-readonly-values { grid-template-columns: 1fr 1fr; } .analysis-value-final { grid-column: 1 / -1; } .workspace-header-actions .research-action-btn { min-width: 0; flex: 1; } }
@media (max-width: 900px) { .laboratory-registry-workspace .registry-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .laboratory-registry-workspace .registry-filters .registry-filter-actions { grid-column: 1 / -1; } }
@media (max-width: 640px) { .laboratory-registry-workspace .registry-filters { grid-template-columns: 1fr; } .laboratory-registry-workspace .registry-filters .registry-filter-actions { grid-column: auto; } .laboratory-research-record .directory-record-main { grid-template-columns: 1fr; } .research-date { grid-row: 2; } .research-subtitle { grid-row: 3; } .research-relation { grid-row: 4; } .research-note-field { grid-column: auto; } }
.laboratory-research-document-view .research-document-header { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.laboratory-research-document-view .research-document-header p { margin: 0; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: .5rem; background: #f8faf9; color: var(--muted); font-size: .74rem; }
.laboratory-research-document-view .research-document-header p strong { display: block; margin-top: .15rem; color: var(--ink); font-size: .82rem; }
.laboratory-research-document-view .research-note-display { grid-column: 1 / -1; }
.laboratory-research-document-view .research-note-display span { display: block; margin-top: .25rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: .45rem; background: #fff; color: var(--ink); white-space: pre-wrap; }
.research-results-table { min-width: 620px; margin: 0; font-size: .76rem; }
.research-results-table th { padding: .45rem .55rem; color: var(--muted); background: #f4f7f5; font-size: .66rem; }
.research-results-table td { padding: .5rem .55rem; vertical-align: middle; }
.research-duplicate-label { display: inline-flex; margin-left: .35rem; padding: .12rem .3rem; border: 1px solid #e88d86; border-radius: .3rem; color: #a3312d; background: #fff1ef; font-size: .62rem; font-weight: 800; }
.research-metric-duplicate td { background: #fff8f7; }
.research-mass-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; }
.research-mass-summary div { padding: .55rem .7rem; border: 1px solid var(--line); border-radius: .45rem; background: #f8faf9; }
.research-mass-summary dt { color: var(--muted); font-size: .68rem; }
.research-mass-summary dd { margin: .15rem 0 0; font-weight: 750; font-variant-numeric: tabular-nums; }
.research-confirmation-line { margin: .8rem 0 0; color: var(--muted); font-size: .75rem; }
.laboratory-registry-workspace .workspace-header-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: .75rem; margin-right: .45rem; }
.laboratory-registry-workspace .research-readonly-actions { flex: 0 0 auto; }
.laboratory-registry-workspace .research-correction-action { display: grid; gap: .25rem; align-self: center; }
.laboratory-registry-workspace .action-caption { display: inline-flex; align-items: center; min-height: 2.35rem; color: var(--muted); font-size: .68rem; font-weight: 750; line-height: 1.25; }
.research-correction-action .form-control { min-width: 14rem; }
@media(max-width:760px){.laboratory-research-document-view .research-document-header,.research-mass-summary{grid-template-columns:1fr}.laboratory-registry-workspace .workspace-header-actions{flex-wrap:wrap}.laboratory-registry-workspace .research-readonly-actions{flex:1 1 100%}.research-correction-action .form-control{min-width:0}.laboratory-research-document-view .research-note-display{grid-column:auto}}
@media(max-width:640px){.laboratory-research-modal .laboratory-research-modal-footer{justify-content:stretch; flex-wrap:wrap}.laboratory-research-modal .laboratory-research-modal-footer .btn{flex:1 1 auto; min-height:2.75rem}.research-metric-editor > div:has(> [data-metric-manual])::before,.research-metric-editor > div:has(> [data-metric-apparatus])::after{font-size:.8rem}}
.laboratory-research-modal .modal-body { overflow-y: auto; padding: 1rem 1.25rem .75rem; }
.laboratory-research-modal .laboratory-research-form { display: block; padding-bottom: 0; }
.laboratory-research-modal-footer { position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: flex-end; gap: .6rem; padding: .8rem 0 max(.8rem, env(safe-area-inset-bottom)); margin-top: 1rem; border-top: 1px solid var(--line); background: var(--surface, #fff); box-shadow: 0 -4px 12px rgba(20, 37, 28, .06); }
.laboratory-research-modal-footer .btn { width: auto; margin: 0; flex: 0 0 auto; }
.research-document-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); gap: .8rem; margin-bottom: 1rem; }
.research-document-header label { display: grid; gap: .3rem; color: var(--muted); font-size: .75rem; font-weight: 700; }
.research-document-header label:last-child { grid-column: 1 / -1; }
.research-document-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.research-document-section h3 { margin: 0 0 .75rem; font-size: 1rem; }
.section-title-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.section-title-row .btn { width: auto; margin: 0; }
.research-mass-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.research-mass-grid label { display: grid; gap: .3rem; color: var(--muted); font-size: .75rem; font-weight: 700; }
.research-product-card { margin-top: .8rem; padding: .8rem; border: 1px solid var(--line); border-radius: .5rem; background: #f8faf9; }
.research-product-card header { display: flex; justify-content: space-between; align-items: center; color: var(--text); }
.research-product-card header .btn { width: auto; margin: 0; padding: .15rem .3rem; }
.research-product-card select, .research-product-card label { width: 100%; margin-top: .6rem; }
.research-metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.research-metric-editor { display: grid; gap: .35rem; padding: .55rem; border: 1px solid var(--line); border-radius: .4rem; background: #fff; }
.research-metric-editor strong { font-size: .75rem; color: var(--text); }
.research-metric-editor > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
.research-metric-editor > div:has(> [data-metric-manual]), .research-metric-editor > div:has(> [data-metric-final-value]) { background: transparent; }
.research-metric-editor > div:has(> [data-metric-manual])::before { background: #e9f4fb; border-radius: .35rem; padding: .28rem .4rem; }
.research-metric-editor > div:has(> [data-metric-apparatus])::after { background: #eaf7ee; border-radius: .35rem; padding: .28rem .4rem; }
.research-metric-editor [data-metric-manual] { background: #e9f4fb; border-color: #a9d2e8; }
.research-metric-editor [data-metric-apparatus] { background: #eaf7ee; border-color: #a8d5b5; }
.research-metric-editor [data-metric-final-method], .research-metric-editor [data-metric-final-value] { grid-row: 3; }
.research-metric-editor [data-metric-final-method] { background: #f2f5f4; border-color: #c4d1cc; }
.research-metric-editor [data-metric-final-value] { background: #d8edf8; border-color: #8fc2df; }
.research-metric-editor.metric-final-apparatus [data-metric-final-method], .research-metric-editor.metric-final-apparatus [data-metric-final-value] { background: #d7f0df; border-color: #8fc59d; }
.research-metric-editor.has-metric-error { border-color: #d94740; box-shadow: 0 0 0 2px rgba(217, 71, 64, .1); }
.research-metric-editor.has-metric-error strong { color: #b52f2a; }
.research-metric-editor.has-metric-error [data-metric-manual]:placeholder-shown, .research-metric-editor.has-metric-error [data-metric-apparatus]:placeholder-shown, .research-metric-editor.has-metric-error [data-metric-final-value]:placeholder-shown { border-color: #d94740; background: #fff0ef; }
.research-metric-editor.has-metric-error:has([data-metric-final-value]:not(:placeholder-shown)) [data-metric-final-method]:has(option:checked:disabled) { border-color: #d94740; background: #fff0ef; }
.research-error-summary { margin-bottom: .7rem; padding: .55rem .75rem; border: 1px solid #e3a6a1; border-radius: .45rem; font-size: .78rem; font-weight: 800; }
.limit-standard-form input.is-invalid { border-color: #d94740; background: #fff0ef; }
.incoming-table-scroll-hint { display: none; margin: .35rem 0; color: #526476; font-size: .76rem; }
@media (max-width: 640px) { .incoming-table-scroll-hint { display: block; } }
.research-version-details { border-top: 1px solid #dbe4df; background: #f8faf9; }
[data-correction-conflict] { display: block; padding: .45rem .75rem; background: #fff0dc; color: #8b3e18; font-size: .76rem; font-weight: 700; }
.research-version-details summary { display: flex; align-items: center; justify-content: space-between; padding: .5rem .75rem; color: #38566a; font-size: .72rem; font-weight: 800; cursor: pointer; list-style: none; }
.research-version-details summary::-webkit-details-marker { display: none; }
.research-version-details[open] summary i { transform: rotate(180deg); }
.research-version-list { display: grid; padding: .25rem .75rem .6rem; gap: .25rem; }
.research-version-link { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(9rem, 1fr) minmax(9rem, 1fr); gap: .6rem; align-items: center; padding: .4rem .55rem; border-radius: .35rem; color: #526476; font-size: .72rem; text-decoration: none; }
.research-version-link:hover, .research-version-link:focus-visible { background: #eaf2ed; color: #234f38; }
.research-version-link strong { color: inherit; }
@media (max-width: 640px) { .research-version-link { grid-template-columns: 1fr 1fr; } .research-version-link small { grid-column: 1 / -1; } }
.research-type-prompt { padding: 1rem; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
@media (max-width: 720px) { .research-document-header, .research-mass-grid, .research-metrics-grid { grid-template-columns: 1fr; } .research-document-header label:last-child { grid-column: auto; } .section-title-row { align-items: flex-start; flex-direction: column; } }
.research-document-header { align-items: start; }
.research-document-header label { align-self: start; }
.research-document-header .research-time-validation-error { min-height: 0; color: #b32f29; font-size: .68rem; }
.research-document-header .research-time-validation-error[hidden] { display: none; }
.research-fixed-type { display: flex; align-items: center; min-height: 2.1rem; color: var(--ink); font-size: .85rem; }
.laboratory-research-filters { grid-template-columns: minmax(245px, 1.5fr) minmax(145px, .8fr) minmax(145px, .8fr) max-content; }
@media (max-width: 900px) { .laboratory-research-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .laboratory-research-filters .registry-filter-actions { grid-column: 1 / -1; } }
@media (max-width: 640px) { .laboratory-research-filters { grid-template-columns: 1fr; } .laboratory-research-filters .registry-filter-actions { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
