:root{--color-bg:#f4f6f8;--color-surface:#fff;--color-text:#1f2933;--color-muted:#616e7c;--color-border:#d9e2ec;--color-primary:#1f5fa8;--color-primary-text:#fff;--color-danger-bg:#fdecea;--color-danger:#a61b1b;--color-success-bg:#e6f4ea;--color-success:#1e6b34;--color-info-bg:#e8f1fb;--color-warn-bg:#fff4e0;--color-warn:#8a5300;--color-primary-hover:#194f8c;--color-primary-soft:#e8f1fb;--color-neutral-bg:#eef1f4;--color-row-hover:#f6f9fc;--color-focus:#1f5fa859;--radius:8px;--radius-sm:6px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 8px 24px #10182824;--topbar-height:56px;--sidebar-width:236px;--fs-xs:.75rem;--fs-sm:.85rem;--fs-base:.95rem;--fs-md:1rem;--fs-lg:1.15rem;--fs-xl:1.45rem;--fs-kpi:1.45rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--control-height:2.5rem;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Noto Sans Arabic,Tahoma,sans-serif;font-size:var(--fs-base);line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);margin:0}h1{font-size:var(--fs-xl);margin-block:0 var(--space-4);font-weight:700;line-height:1.25}h2{font-size:var(--fs-lg);margin-block:0 var(--space-2);font-weight:650}h3{font-size:var(--fs-md);margin-block:0 var(--space-2);font-weight:600}small,.small{font-size:var(--fs-sm)}a{color:var(--color-primary)}.muted{color:var(--color-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-block-end:var(--space-4)}.card>h2:first-child,.card>h3:first-child{margin-block-start:0}.alert{border-radius:var(--radius);margin-block:.75rem;padding:.6rem .9rem}.alert.error{background:var(--color-danger-bg);color:var(--color-danger)}.alert.success{background:var(--color-success-bg);color:var(--color-success)}.alert.info{background:var(--color-info-bg)}.alert.warn{background:var(--color-warn-bg);color:var(--color-warn)}.badge,.chip{font-size:var(--fs-xs);background:var(--color-info-bg);color:var(--color-primary);white-space:nowrap;border-radius:999px;margin-block:.1rem;margin-inline-end:.3rem;padding:.1rem .6rem;font-weight:600;line-height:1.6;display:inline-block}.badge.neutral{background:var(--color-neutral-bg);color:var(--color-muted)}.badge.info{background:var(--color-info-bg);color:var(--color-primary)}.badge.ok{background:var(--color-success-bg);color:var(--color-success)}.badge.off,.badge.danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge.warn{background:var(--color-warn-bg);color:var(--color-warn)}.chips{margin-block:.75rem 0;padding:0;list-style:none}.empty-state{text-align:center;color:var(--color-muted);padding-block:var(--space-6)}.loading-state{color:var(--color-muted);padding-block:var(--space-4)}.loading-state:before{content:"";vertical-align:-.1em;border:2px solid;border-inline-end-color:#0000;border-radius:50%;block-size:.9em;inline-size:.9em;margin-inline-end:.5em;animation:.8s linear infinite spin;display:inline-block}.table-wrap[aria-busy=true]{position:relative}.table-wrap[aria-busy=true] tbody{opacity:.55;transition:opacity .15s}.table-wrap[aria-busy=true]:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), transparent) no-repeat;background-size:40% 100%;block-size:3px;animation:1s linear infinite busy-bar;position:absolute;inset-block-start:0;inset-inline:0}@keyframes busy-bar{0%{background-position:-40% 0}to{background-position:140% 0}}@keyframes spin{to{transform:rotate(360deg)}}.field{border:0;flex-direction:column;gap:.3rem;margin-block-end:1rem;padding:0;display:flex}.field>span,.field>legend,.field-label{font-size:var(--fs-sm);margin-block-end:.15rem;padding:0;font-weight:600}.field small{font-weight:400}input,select,textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;inline-size:100%;padding:.5rem .7rem}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{min-block-size:var(--control-height)}input[type=checkbox],input[type=radio]{block-size:1.1rem;inline-size:1.1rem;accent-color:var(--color-primary)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#b8c4d1}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg);color:var(--color-muted);cursor:not-allowed}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;box-shadow:0 0 0 3px var(--color-focus)}[aria-invalid=true]{border-color:var(--color-danger)}.required{color:var(--color-danger)}.check{align-items:center;gap:.5rem;margin-block:.2rem;display:flex}.btn{font:inherit;min-block-size:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.45rem 1rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-bg);border-color:#b8c4d1}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.btn.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn.danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn.ghost{background:0 0;border-color:#0000}.btn.icon{inline-size:var(--control-height);padding:0}.btn.small{min-block-size:2rem;font-size:var(--fs-sm);padding:.2rem .7rem}.btn.small.icon{inline-size:2rem}.btn[aria-busy=true]:before{content:"";border:2px solid;border-inline-end-color:#0000;border-radius:50%;block-size:.9em;inline-size:.9em;animation:.8s linear infinite spin}.btn.block{inline-size:100%;margin-block-start:.5rem}.btn:disabled{opacity:.55;cursor:not-allowed}.link-button{font:inherit;text-align:start;color:inherit;cursor:pointer;background:0 0;border:0;padding:.6rem 1rem}.lang-switch{border:1px solid var(--color-border);border-radius:6px;display:inline-flex;overflow:hidden}.lang-switch button{font:inherit;background:var(--color-surface);color:var(--color-text);cursor:pointer;border:0;padding:.3rem .7rem;font-size:.85rem}.lang-switch button.active{background:var(--color-primary);color:var(--color-primary-text)}.password-field{position:relative}.password-field input{inline-size:100%;padding-inline-end:calc(var(--control-height) + .25rem)}.password-toggle{inline-size:var(--control-height);color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.password-toggle:hover{color:var(--color-text)}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.plain-layout{flex-direction:column;min-block-size:100vh;display:flex}.plain-header{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.plain-main{flex:1;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex}.form-card{inline-size:100%;max-inline-size:400px}.brand{color:var(--color-primary);font-size:1.15rem;font-weight:700;text-decoration:none}.topbar{block-size:var(--topbar-height);background:var(--color-surface);border-block-end:1px solid var(--color-border);z-index:20;align-items:center;gap:.75rem;padding-inline:1rem;display:flex;position:fixed;inset-block-start:0;inset-inline:0}.topbar-spacer{flex:1}.menu-toggle{border-radius:var(--radius-sm);cursor:pointer;block-size:2.25rem;inline-size:2.25rem;color:inherit;background:0 0;border:0;place-items:center;font-size:1.3rem;display:inline-grid}.menu-toggle:hover{background:var(--color-bg)}.topbar-location{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--color-muted);font-size:var(--fs-sm);border-inline-start:1px solid var(--color-border);padding-inline-start:var(--space-3);overflow:hidden}.topbar-location strong{color:var(--color-primary)}.sidebar{inset-block:var(--topbar-height) 0;inline-size:var(--sidebar-width);background:var(--color-surface);border-inline-end:1px solid var(--color-border);z-index:15;scrollbar-width:thin;flex-direction:column;padding-block:.75rem;display:flex;position:fixed;inset-inline-start:0;overflow-y:auto}.sidebar a,.sidebar .link-button{color:inherit;font-size:var(--fs-base);border-inline-start:3px solid #0000;padding:.32rem 1rem;text-decoration:none}.sidebar a:hover,.sidebar .link-button:hover{background:var(--color-bg)}.sidebar a.router-link-exact-active{border-inline-start-color:var(--color-primary);background:var(--color-info-bg);color:var(--color-primary);font-weight:600}.nav-group{flex-direction:column;padding-block:.25rem;display:flex}.nav-group+.nav-group{border-block-start:1px solid var(--color-border)}.nav-group-title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);padding:.4rem 1rem .15rem;font-weight:700}.nav-user{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;padding:.4rem 1rem .15rem;font-weight:600;overflow:hidden}.user-name{font-size:var(--fs-sm);color:var(--color-muted)}.sidebar-spacer{flex:1}.sidebar[hidden]{display:none}.app-layout.sidebar-collapsed .content{margin-inline-start:0}.content{padding:var(--space-6);min-inline-size:0;margin-block-start:var(--topbar-height);margin-inline-start:var(--sidebar-width)}.content>*{max-inline-size:1632px;margin-inline:auto}.backdrop{z-index:14;background:#0000004d;position:fixed;inset:0}@media (width<=800px){.user-name{display:none}.sidebar{transition:transform .2s;transform:translate(-100%)}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.open,[dir=rtl] .sidebar.open{transform:none}.content{margin-inline-start:0;padding:1rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-block-end:1rem;display:flex}.page-header h1{margin:0}.table-wrap{padding:0;position:relative;overflow-x:auto}table{border-collapse:collapse;inline-size:100%}th,td{text-align:start;border-block-end:1px solid var(--color-border);vertical-align:middle;padding:.55rem .85rem}th{font-size:var(--fs-sm);color:var(--color-muted);white-space:nowrap;background:#f8fafc;font-weight:600}tbody tr:hover>td{background:var(--color-row-hover)}tbody tr:last-child>td{border-block-end:0}.table-wrap.tall{max-block-size:min(70vh,900px);overflow:auto}.table-wrap.tall th{z-index:1;position:sticky;inset-block-start:0}.table-wrap.card{padding:0}.cell-start{text-align:start}.role-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.dialog{border-radius:var(--radius);max-block-size:calc(100vh - 2rem);inline-size:min(520px,100vw - 2rem);box-shadow:var(--shadow-md);border:0;padding:0}.dialog-body h2{margin-block-end:var(--space-4)}.dialog::backdrop{background:#00000059}.dialog-body{padding:1.25rem}.dialog-section{border-block-start:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-block:.75rem;display:flex}.dialog-section.column{flex-direction:column;align-items:stretch}.dialog-section .field{margin-block-end:0}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-block-start:1rem;display:flex}.sidebar a.section-active{border-inline-start-color:var(--color-primary);background:var(--color-info-bg);font-weight:600}.breadcrumb{margin-block:0 .5rem;font-size:.9rem}.breadcrumb a:before{content:"‹ "}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.link-list{margin:0;padding:0;list-style:none}.link-list li{padding-block:.3rem}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-block-end:1rem;padding:.9rem 1rem;display:flex}.toolbar .field{flex:160px;min-inline-size:0;margin-block-end:0}.toolbar .field:first-child{flex-basis:220px}.sort-button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.sort-button:hover{color:var(--color-text)}tr.row-danger>td:first-child{border-inline-start:3px solid var(--color-danger)}tr.row-warn>td:first-child{border-inline-start:3px solid #e8a33d}tr.inactive td{color:var(--color-muted)}.row-actions{white-space:nowrap}.row-actions .btn+.btn{margin-inline-start:.4rem}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-block-start:.75rem;font-size:.9rem;display:flex}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-size select{inline-size:auto;padding-block:.25rem}.dialog{overflow-y:auto}.audit{margin-block:.5rem 0;font-size:.85rem}.inline-form{align-items:center;gap:.5rem;margin-block-start:.5rem;display:flex}.inline-form input{max-inline-size:180px}.chip-remove{font:inherit;cursor:pointer;color:var(--color-danger);background:0 0;border:0;margin-inline-start:.3rem;padding:0}@media (width<=800px){.toolbar .field{flex-basis:100%}.pagination{justify-content:center}}.field.check{flex-direction:row;font-weight:600}.toolbar-title{flex-basis:100%}.entry-form{flex-direction:column;gap:1rem;display:flex}.entry-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem 1rem;margin:0;padding:0;display:grid}.entry-grid>legend{margin-block-end:.5rem;font-weight:600}.entry-grid .field.wide{grid-column:1/-1}.production-entry input,.production-entry select,.production-entry textarea{min-block-size:2.75rem;font-size:1.05rem}.production-entry output{background:var(--color-bg);border-radius:6px;padding:.55rem .7rem;font-size:1.05rem;font-weight:600;display:block}textarea{font:inherit;border:1px solid var(--color-border);border-radius:6px;inline-size:100%;padding:.55rem .7rem}.btn.large{align-self:flex-start;padding:.9rem 1.5rem;font-size:1.1rem}.cell-number{text-align:end;white-space:nowrap}.details-list{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0;display:grid}.details-list dt{color:var(--color-muted)}.details-list dd{margin:0}.nc-photo{border-radius:6px;max-block-size:300px;max-inline-size:100%}@media (width<=800px){.btn.large{align-self:stretch}}.tabs{flex-wrap:wrap;gap:.4rem;margin-block-end:1rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:.25rem 1rem;display:grid}.form-grid>.alert,.form-grid>.dialog-actions,.form-grid>.field.wide{grid-column:1/-1}.cell-number.negative{color:var(--color-danger);font-weight:600}.dialog.wide-dialog{inline-size:min(760px,100vw - 2rem)}.credit{opacity:.4;text-align:center;color:var(--color-muted);letter-spacing:.02em;padding-block:2rem .25rem;font-size:8px}.header-actions,.export-buttons{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.alert.inline{margin:0;padding:.25rem .6rem;display:inline-block}.scan-input .field{margin-block-end:0}.scan-row{align-items:center;gap:.4rem;display:flex}.scan-row input{flex:auto;min-inline-size:0}.scan-ok{color:var(--color-success);overflow-wrap:anywhere;margin-block-start:.25rem;font-weight:600;display:block}.scanned-label{white-space:nowrap;margin-block-start:.2rem;display:block}.cell-labels input[type=number]{inline-size:4.5rem}.cell-labels input+input{inline-size:12rem;margin-block-start:.25rem;display:block}.camera-preview{border-radius:var(--radius);background:#000;max-block-size:60vh;inline-size:100%}.lookup-card h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}.attributes{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0 0 1rem;display:grid}.attributes dt{color:var(--color-muted)}.attributes dd{margin:0}table.compact th,table.compact td{padding:.35rem .6rem}table.compact td:first-child{white-space:nowrap}.column-name{border:1px solid var(--color-border);border-radius:4px;margin:.15rem;padding:.05rem .35rem;font-size:.85rem;display:inline-block}tr.row-error td{background:var(--color-danger-bg)}.row-error-text{color:var(--color-danger);font-size:.85rem;display:block}.export-line{border-block-end:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-block:.4rem;display:flex}.label-sheet{flex-wrap:wrap;gap:4mm;display:flex}.label{color:#000;break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px dashed #999;grid-template-columns:auto 1fr;grid-template-areas:"qr text""barcode barcode";align-items:center;gap:2mm 3mm;inline-size:70mm;padding:3mm;display:grid}.label-qr{grid-area:qr;inline-size:22mm}.label-qr svg,.label-barcode svg{inline-size:100%;display:block}.label-text{overflow-wrap:anywhere;flex-direction:column;grid-area:text;gap:.5mm;min-inline-size:0;font-size:9pt;display:flex}.label-code{font-size:12pt}.label-attribute{font-size:8pt}.label-barcode{text-align:center;grid-area:barcode;font-size:7pt}.label-barcode svg{block-size:10mm}.label-brand{letter-spacing:.04em;text-transform:uppercase;font-size:.8em;font-weight:700}.label-lot{font-weight:700}.label-small .label{inline-size:50mm}.label-small .label-qr{inline-size:16mm}.label-small .label-barcode svg{block-size:7mm}.label-large .label{inline-size:100mm}.label-large .label-qr{inline-size:32mm}.label-large .label-text{font-size:12pt}.label-large .label-code{font-size:16pt}.label-large .label-barcode svg{block-size:14mm}@media print{.topbar,.sidebar,.backdrop,.no-print,footer{display:none!important}body,.content{background:#fff;margin:0;padding:0}.app-layout{display:block}.label{border-color:#ccc}}.dash-section{margin-block-end:2rem}.dash-section h2{margin-block:.5rem .75rem}.dash-section h3{margin-block:1rem .5rem;font-size:1rem}.dash-tabs{gap:var(--space-1);margin-block:var(--space-2) var(--space-4);border-block-end:1px solid var(--color-border);scrollbar-width:thin;display:flex;overflow-x:auto}.dash-tab{padding:var(--space-2) var(--space-4);border:0;color:var(--color-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-block-end:3px solid #0000;flex:none;margin-block-end:-1px;font-weight:600}.dash-tab:hover{color:var(--color-text);background:var(--color-row-hover)}.dash-tab.active{color:var(--color-primary);border-block-end-color:var(--color-primary)}.dash-panel>.dash-section>h2{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.dash-filter-label{font-size:var(--fs-sm);color:var(--color-muted);font-weight:600}.dash-context .field.filtered select{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.dash-filter-note{flex-basis:100%}.dash-context{align-items:center}@media (width>=1200px){.dash-context{z-index:8;box-shadow:var(--shadow-sm), 0 0 0 4px var(--color-bg);position:sticky;inset-block-start:calc(var(--topbar-height) + var(--space-2))}}.dash-context .tabs{flex:0 auto;margin:0}.dash-context .field{align-items:center;gap:var(--space-2);flex-direction:row;flex:0 190px}.dash-context .field>span{white-space:nowrap;font-size:var(--fs-sm)}.dash-context select,.dash-context input{--control-height:2.1rem;min-inline-size:0}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-block-end:.75rem;display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-inline-start:4px solid var(--color-primary);border-radius:var(--radius);flex-direction:column;gap:.2rem;padding:.75rem .9rem;display:flex}.kpi-card.warn{border-inline-start-color:var(--color-warn)}.kpi-card.bad{border-inline-start-color:var(--color-danger)}.kpi-card.good{border-inline-start-color:var(--color-success)}.kpi-label,.kpi-hint{color:var(--color-muted);font-size:.82rem}.kpi-value{font-size:var(--fs-kpi);font-variant-numeric:tabular-nums;line-height:1.2}.kpi-value small{color:var(--color-muted);margin-inline-start:.2em;font-size:.6em;font-weight:600}.kpi-card.na{border-inline-start-color:var(--color-border);background:var(--color-neutral-bg)}.kpi-card.na .kpi-value{font-size:var(--fs-sm);color:var(--color-muted);font-style:italic;font-weight:600}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem;display:grid}.chart-grid h3{margin-block-start:0}.chart-legend{color:var(--color-muted);flex-wrap:wrap;gap:.75rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.swatch{border-radius:2px;block-size:.7rem;inline-size:.7rem;margin-inline-end:.3rem;display:inline-block}.s0{background:var(--color-primary)}.s1{background:#e8a33d}.s2{background:#4f9d69}.bar-row{grid-template-columns:minmax(90px,40%) 1fr;align-items:center;gap:.5rem;padding-block:.2rem;font-size:.85rem;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-tracks{flex-direction:column;gap:2px;display:flex}.bar-track{align-items:center;gap:.4rem;display:flex}.bar{border-radius:2px;block-size:.7rem;min-inline-size:1px;display:block}.bar-value{color:var(--color-muted);white-space:nowrap;font-size:.78rem}.trend-columns{align-items:flex-end;gap:2px;block-size:140px;display:flex;overflow-x:auto}.trend-day{flex-direction:column;flex:1 1 0;align-items:center;block-size:100%;min-inline-size:10px;display:flex}.trend-bars{flex:1;justify-content:center;align-items:flex-end;gap:1px;inline-size:100%;display:flex}.trend-bar{border-radius:2px 2px 0 0;flex:1 1 0;min-block-size:1px;max-inline-size:18px;display:block}.trend-day small{color:var(--color-muted);font-size:.65rem}.progress{background:var(--color-border);vertical-align:middle;border-radius:3px;block-size:.6rem;inline-size:80px;margin-inline-end:.4rem;display:inline-block;overflow:hidden}.progress span{background:var(--color-primary);block-size:100%;display:block}.lines-table .row-derived{min-inline-size:11rem}.lines-table .row-derived>*{display:block}.lines-table .row-derived>select{margin-block-start:var(--space-1)}.factory-summary{padding:var(--space-4)}.factory-summary-head{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-3);display:flex}.factory-summary-head h2{font-size:var(--fs-lg);margin:0}.kpi-grid.primary,.status-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi-grid.secondary .kpi-card{border-inline-start-width:2px;padding:.5rem .75rem}.kpi-grid.secondary .kpi-value{font-size:var(--fs-lg)}.chart-grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.chart-grid .card{min-inline-size:0;margin-block-end:0}.chart-grid.two+.dash-details,.chart-grid.two+.dash-more,.chart-grid.two{margin-block-end:var(--space-4)}.dash-empty{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--fs-sm)}.card .dash-empty:last-child{margin-block-end:0}.dash-details>summary{cursor:pointer;font-weight:600}.dash-details[open]>summary{margin-block-end:var(--space-3)}.dash-details.inline{margin-block-start:var(--space-3)}.dash-more{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.card-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}.card-head h3{margin:0}.table-scroll{max-block-size:480px;overflow:auto}.alert-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.alert-item{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-1) var(--space-3);border-inline-start:4px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-info-bg);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.alert-item.bad{border-inline-start-color:var(--color-danger);background:var(--color-danger-bg)}.alert-item.warn{border-inline-start-color:var(--color-warn);background:var(--color-warn-bg)}.alert-severity{min-inline-size:6.5em;font-weight:700}.alert-item.bad .alert-severity{color:var(--color-danger)}.alert-item.warn .alert-severity{color:var(--color-warn)}.alert-text{flex:14rem}.alert-action{margin-inline-start:auto}.dash-actions h3{margin-block-start:0}.pm-status-list li{align-items:center;gap:var(--space-2);display:flex}.plain-list{margin:0;padding:.5rem 1rem;list-style:none}.plain-list li{padding-block:.25rem}.small{font-size:.85rem}details.card summary{cursor:pointer;font-weight:600}.variant-attribute{border-block-end:1px solid var(--color-border);padding-block:.6rem}.variant-attribute-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.variant-attribute-head .row-actions{margin-inline-start:auto}.variant-values{flex-wrap:wrap;gap:.3rem 1rem;margin-block-start:.4rem;display:flex}.code-input{inline-size:14rem;max-inline-size:100%}.page-header .header-actions,.page-header .export-buttons{margin-inline-start:auto}.toolbar.card{padding:var(--space-3) var(--space-4)}.entry-section{border:0;min-inline-size:0;margin:0;padding:0}.entry-section>legend,.section-title{inline-size:100%;font-size:var(--fs-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--color-muted);padding-block:0 var(--space-2);border-block-end:1px solid var(--color-border);margin-block-end:var(--space-2);font-weight:700}.entry-grid.summary{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.entry-grid.summary .field{gap:.1rem;margin-block-end:0}.production-entry .entry-grid.summary output{font-size:var(--fs-base);background:0 0;padding:0}.entry-date-bar .field{flex:0 240px}.entry-section.key-values input{font-size:1.15rem;font-weight:600}.form-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.form-actions.sticky{z-index:5;margin-inline:calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);border-block-start:1px solid var(--color-border);background:#fffffff5;border-end-end-radius:var(--radius);border-end-start-radius:var(--radius);margin-block-end:calc(-1 * var(--space-5));position:sticky;inset-block-end:0}.form-actions .alert{flex:260px;margin:0}.steps{gap:var(--space-2);margin:0 0 var(--space-4);counter-reset:step;flex-wrap:wrap;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;background:var(--color-neutral-bg);color:var(--color-muted);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .75rem .25rem .3rem;font-weight:600;display:flex}.steps li:before{content:counter(step);background:var(--color-surface);block-size:1.4rem;inline-size:1.4rem;font-size:var(--fs-xs);border-radius:50%;place-items:center;display:inline-grid}.steps li.done{background:var(--color-success-bg);color:var(--color-success)}.steps li.current{background:var(--color-primary);color:var(--color-primary-text)}.steps li.current:before{color:var(--color-primary)}.content>section{min-inline-size:0}@media (width<=1100px){:root{--sidebar-width:210px}}@media (width<=800px){.content{padding:var(--space-3)}.card{padding:var(--space-4)}.form-actions.sticky{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);margin-block-end:calc(-1 * var(--space-4))}.form-actions.sticky .btn{flex:100%}.dialog-actions .btn{flex:auto}h1{font-size:1.25rem}}.form-section{margin-block:var(--space-4) 0;border-block-start:1px solid var(--color-border);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding-block-start:var(--space-3)}.dialog-body>.form-section:first-of-type{border-block-start:0;padding-block-start:0}.display-field output{inline-size:fit-content;padding-block:.2rem;display:block}.info-panel{margin-block-end:var(--space-4)}.info-panel-title{margin-block:0 var(--space-3);font-size:1rem}.info-panel dl{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0;display:grid}.info-panel dd{margin:var(--space-1) 0 0;font-size:var(--fs-sm)}.info-panel-instruction{margin-block-start:var(--space-1);display:block}.help-link{border:1px solid var(--color-border);block-size:2rem;inline-size:2rem;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:700;text-decoration:none;display:inline-grid}.help-link:hover{background:var(--color-primary-soft)}.guide-layout{gap:var(--space-4);grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);align-items:start;display:grid}.guide-toc{max-block-size:calc(100vh - var(--topbar-height) - 2 * var(--space-4));position:sticky;inset-block-start:calc(var(--topbar-height) + var(--space-4));overflow-y:auto}.guide-toc-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-block:var(--space-3) var(--space-2)}.guide-toc-list{margin:0;padding:0;list-style:none}.guide-toc-list a{border-radius:var(--radius-sm);color:inherit;font-size:var(--fs-sm);padding:.3rem .5rem;text-decoration:none;display:block}.guide-toc-list a:hover{background:var(--color-row-hover)}.guide-toc-list a.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.guide-section{min-inline-size:0}.guide-section h3{margin-block:var(--space-6) var(--space-2)}.guide-title:focus{outline:none}.guide-meta{gap:var(--space-1) var(--space-3);margin-block:0 var(--space-3);font-size:var(--fs-sm);grid-template-columns:max-content minmax(0,1fr);display:grid}.guide-meta dt{color:var(--color-muted)}.guide-meta dd{margin:0}.guide-roles{gap:var(--space-1);flex-wrap:wrap;display:flex}.guide-formula{padding:var(--space-3) var(--space-4);border-inline-start:4px solid var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-sm);font-weight:600}.guide-section code{background:var(--color-neutral-bg);unicode-bidi:isolate;border-radius:3px;padding:0 .25em;font-size:.9em}.guide-steps li,.guide-section ul li{margin-block-end:var(--space-2)}.guide-pager{justify-content:space-between;gap:var(--space-2);border-block-start:1px solid var(--color-border);flex-wrap:wrap;margin-block-start:var(--space-6);padding-block-start:var(--space-4);display:flex}@media (width<=800px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-toc{max-block-size:40vh;position:static}.guide-pager .btn{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
