.assembly-dialog{width:min(960px,96vw);max-height:92dvh;padding:16px;border:1px solid var(--border,#dbe5ef);border-radius:8px;overflow:auto}.assembly-dialog::backdrop{background:#20324766}.assembly-toolbar,.assembly-view-tabs,.assembly-quantity{display:flex;align-items:center;gap:8px;margin-bottom:12px}.assembly-toolbar select{flex:1;min-width:0}.assembly-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:8px 0 12px}.assembly-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.assembly-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px;background:var(--surface,#fff);border:1px solid var(--border,#dbe5ef);border-radius:8px;color:inherit}.assembly-card:hover,.assembly-card:focus-visible{border-color:var(--accent,#159d92);background:var(--surface-alt,#f5f8fc)}.assembly-card.selected{border-color:var(--accent,#159d92);background:var(--accent-soft,#e8f5f2);box-shadow:inset 0 0 0 1px var(--accent,#159d92)}.assembly-card b{font-size:24px;color:var(--accent,#168a78)}.assembly-card b small{font-size:13px}.assembly-card>small,.assembly-history-row small{display:block;color:var(--muted,#71849b);font-size:12px}.assembly-card progress{height:5px;width:100%;accent-color:var(--accent,#159d92)}.assembly-segments{display:flex;gap:4px;background:var(--surface-alt,#edf3f9);padding:4px;border-radius:8px;margin-right:auto}.assembly-segments button{padding:8px 12px;border:0;background:transparent;border-radius:6px;color:inherit}.assembly-segments button.active{background:var(--accent,#159d92);color:white}.assembly-view-tabs{flex-wrap:wrap;margin-top:8px}.assembly-ingredients>div,.assembly-history-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border,#dbe5ef)}.assembly-quantity{margin:12px 0}.assembly-quantity input{width:100px}.assembly-history{margin-top:16px}.assembly-recipe-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assembly-recipe-inputs>div{display:grid;grid-template-columns:minmax(120px,2fr) 72px 64px 80px 64px;gap:8px;margin:8px 0}.assembly-recipe-inputs input,.assembly-recipe-inputs select{min-width:0}.outsourced-card input{max-width:100%;width:96px}.outsourced-card details{font-size:13px}
@media(max-width:760px){.assembly-dialog{padding:12px;max-height:94dvh}.assembly-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-toolbar{flex-wrap:wrap}.assembly-recipe-inputs>div{grid-template-columns:minmax(100px,1fr) 64px 56px}.assembly-recipe-inputs>div select:first-child{grid-column:1/-1}.assembly-recipe-inputs>div button{grid-column:3}.assembly-ingredients>div{align-items:start;flex-direction:column}.assembly-quantity .btn{margin-left:auto}.assembly-dialog .dialog-actions{position:sticky;bottom:-12px;background:var(--surface,#fff);padding:12px 0;margin-bottom:0}}

.assembly-stock-view{display:block!important}.assembly-stock-view .assembly-cards{width:100%}.assembly-stock-view .assembly-card{min-width:0}.assembly-raw-card{cursor:pointer}.assembly-raw-card:hover,.assembly-raw-card:focus-visible{background:var(--surface-alt,#f5f8fc)}.assembly-raw-card.selected{background:var(--accent-soft,#e8f5f2);outline:1px solid var(--accent,#159d92)}

dialog.assembly-dialog{background:var(--surface,#fff);color:var(--text,#20354b)}.assembly-dialog input,.assembly-dialog select{font:inherit;color:inherit;background:var(--surface,#fff);border:1px solid var(--border,#dbe5ef);border-radius:8px;padding:8px 12px;min-height:40px;box-sizing:border-box}.assembly-dialog button{min-height:36px}@media(max-width:760px){.assembly-dialog input,.assembly-dialog select,.assembly-dialog button{min-height:44px}}

.assembly-card progress{appearance:none;border:0;border-radius:4px;overflow:hidden;background:#e6edf5}.assembly-card progress::-webkit-progress-bar{background:#e6edf5}.assembly-card progress::-webkit-progress-value{background:var(--accent,#159d92)}.assembly-card progress::-moz-progress-bar{background:var(--accent,#159d92)}@media(max-width:760px){.assembly-recipe-inputs>div{grid-template-columns:minmax(64px,1fr) 64px 84px 54px;gap:6px}.assembly-recipe-inputs>div button{grid-column:4;grid-row:2}.assembly-recipe-inputs select{padding-left:8px;padding-right:4px}}

.assembly-recipe-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.assembly-map-stage{position:relative;min-height:120px;background:var(--surface-alt,#f1f5f9);border-radius:8px;overflow:hidden;margin-bottom:12px}.assembly-map-stage>img{display:block;width:100%;height:auto}.assembly-map-overlay{position:absolute;inset:0}.assembly-map-hotspot{position:absolute;min-width:0;padding:0;border:1px solid #3b82f688;border-radius:8px;background:#2563eb0c;cursor:pointer;text-align:left;touch-action:none}.assembly-map-hotspot:hover,.assembly-map-hotspot.selected{border:2px solid #3b82f6;background:#2563eb23}.assembly-map-hotspot.editing{border:2px dashed #2563eb;cursor:move}.assembly-map-hotspot>span{position:absolute;left:4px;top:4px;background:#0f172acc;color:#fff;border-radius:6px;padding:2px 6px;font-size:11px;white-space:nowrap}.assembly-map-hotspot i{position:absolute;right:-4px;bottom:-4px;width:14px;height:14px;background:#3b82f6;border:2px solid #fff;border-radius:4px;cursor:nwse-resize}.assembly-ingredient-card{padding:10px;background:var(--surface,#fff);border:1px solid var(--border,#dbe5ef);border-radius:6px;margin-bottom:8px}.assembly-ingredient-card>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.assembly-recipe-inputs .assembly-quantity{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.assembly-quantity input{width:82px;min-width:70px}.assembly-quantity select{min-width:90px;width:auto}.assembly-part-picker summary{cursor:pointer;padding:8px 0}.assembly-part-options{max-height:240px;overflow:auto}.assembly-part-options section{margin:8px 0}.assembly-part-options label{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px}.assembly-part-options input,.assembly-paired-toggle input{width:auto;min-width:0}.assembly-paired-toggle{display:flex;align-items:center;gap:8px;margin:12px 0}.assembly-recipe-workspace #assemblyRecipeFields>label{margin-bottom:12px}@media(max-width:760px){.assembly-recipe-workspace{grid-template-columns:1fr}.assembly-recipe-workspace>section:first-child{min-width:0}.assembly-map-stage{min-height:80px}}

.assembly-register-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px}.assembly-register-workspace #assemblyRegister{align-self:start;position:sticky;top:8px}@media(max-width:760px){.assembly-register-workspace{grid-template-columns:1fr}.assembly-register-workspace #assemblyRegister{position:static}}
.assembly-map-stage .assembly-image-status{display:none}.assembly-map-stage.image-loading .assembly-image-status{display:block;position:absolute;inset:45% 0 auto;text-align:center;color:var(--muted,#71859b)}.assembly-map-stage.image-loading>img{opacity:0}.assembly-map-stage.image-loading .assembly-map-overlay{visibility:hidden}.assembly-toolbar select{min-width:120px;max-width:100%}

/* Registration stays in one card page; stock cards elsewhere retain their summary view. */
.assembly-cards-workspace{grid-template-columns:minmax(0,1fr)}
.assembly-entry-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start}
.assembly-entry-card{gap:10px;cursor:default;min-width:0}
.assembly-entry-stock{font-size:14px;color:var(--accent,#168a78)}
.assembly-entry-stock small{display:block;color:var(--muted,#71849b);margin-top:3px}
.assembly-entry-ingredients{font-size:12px;color:var(--muted,#71849b)}
.assembly-entry-ingredients summary{cursor:pointer;min-height:24px}
.assembly-entry-ingredients div{padding:5px 0}.assembly-entry-ingredients small{display:block}
.assembly-entry-card>label{font-size:12px;color:var(--muted,#71849b)}
.assembly-entry-amount{display:flex;gap:6px;align-items:center;margin-top:5px}
.assembly-entry-amount input{width:100%;min-width:0;font-size:18px}
#assemblyStatus:empty{display:none}.assembly-notice{padding:10px;background:#fff5e8;color:#8c5b1d;border-radius:8px;font-size:13px}
@media(max-width:760px){#assemblyDialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:16px;box-sizing:border-box}#assemblyDialog .dialog-head{margin-bottom:12px}#assemblyDialog .dialog-head h2{font-size:20px}.assembly-entry-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assembly-entry-card{padding:10px;gap:8px}.assembly-entry-card>strong{font-size:15px;line-height:1.4}.assembly-entry-card .btn{width:100%}.assembly-summary{font-size:13px}.assembly-summary>span{display:none}}

.assembly-registration-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:12px 0;background:var(--bg,#fff);border-top:1px solid var(--border,#e5e7eb);z-index:2}.assembly-registration-footer .btn{min-width:140px}

/* Employee forms reuse the existing dialog-card, profile-grid and review cards. */
.worker-report-dialog>.dialog-card{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}
.worker-report-list-dialog>.dialog-card{width:min(880px,calc(100vw - 28px))}
.worker-report-summary-dialog>.dialog-card{width:min(1100px,calc(100vw - 28px))}
.worker-report-dialog .dialog-head h2{font-size:20px;line-height:1.4}
.worker-report-form{gap:12px;margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--card,#fff)}
.worker-report-form label{margin:0;min-width:0}.worker-report-form input,.worker-report-form select{min-width:0}
.worker-report-tools{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--card,#fff);margin:12px 0}
.worker-report-tools>p{margin:6px 0 12px}.worker-report-tools .assembly-toolbar{align-items:end;margin:0}
.worker-report-tools label,.worker-report-page-toolbar label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.worker-report-tools label input,.worker-report-tools label select{margin:0;min-height:40px}
.worker-report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.worker-report-more{position:relative}.worker-report-more>summary{cursor:pointer;list-style:none;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:#fff;min-height:40px}
.worker-report-more>div{display:grid;gap:8px;position:absolute;right:0;top:100%;min-width:160px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-popup);z-index:4}
.worker-report-dialog .assembly-toolbar{flex-wrap:wrap;align-items:end;padding:12px;border:1px solid var(--border);border-radius:13px;background:#f9fbfd;margin:12px 0}
.worker-report-dialog .assembly-toolbar input[type=date]{min-width:130px;flex:1}
.worker-report-dialog .assembly-toolbar select{flex:1;min-width:130px}
.worker-report-dialog .review-row,#workerReportMineRows .review-row{gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:13px;background:#fff;margin:10px 0;align-items:center}
.worker-report-dialog .review-row>div:first-child{flex:1;min-width:180px;line-height:1.7}
.worker-report-amount{display:flex!important;gap:8px;align-items:center;flex-wrap:wrap;margin:0!important}
.worker-report-amount input[type=number]{width:90px}
.worker-report-dialog input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--blue);margin:0;padding:0}
.worker-report-dialog label:has(>input[type=checkbox]){align-items:center}
.worker-summary-scroll{overflow:auto;max-height:58vh;border:1px solid var(--border);border-radius:12px}
.worker-summary-table{width:max-content;min-width:100%;font-size:13px;border-color:var(--border);background:#fff}
.worker-summary-table th,.worker-summary-table td{padding:10px 12px;text-align:right;white-space:nowrap;border:1px solid var(--border)}
.worker-summary-table th{background:#f3f6fa}.worker-summary-table th:first-child{text-align:left}
.worker-report-page-toolbar{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto auto;align-items:end}
.assembly-body-states{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-body-states .assembly-entry-card>b{font-size:30px;line-height:1.2;color:var(--blue)}
.assembly-body-states .assembly-entry-card>b small{font-size:13px;font-weight:400}.assembly-body-counts{display:grid;gap:6px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}.assembly-body-counts strong{color:var(--text);float:right}
@media(max-width:760px){.worker-report-dialog>.dialog-card{padding:16px}.worker-report-form{grid-template-columns:1fr;padding:12px}.worker-report-dialog .assembly-toolbar{gap:8px}.worker-report-dialog .assembly-toolbar input,.worker-report-dialog .assembly-toolbar select{width:calc(50% - 4px);min-width:0;flex:1 1 40%}.worker-report-dialog .review-row>div:first-child{min-width:100%}.worker-report-amount{width:100%}.worker-report-page-toolbar{grid-template-columns:1fr 1fr}.worker-report-tools .assembly-toolbar>label{flex:1;min-width:0}.worker-report-actions{width:100%}.assembly-body-states .assembly-entry-card{padding:12px}.assembly-body-counts strong{float:none;display:block;margin-top:3px}.worker-report-dialog .dialog-actions{flex-wrap:wrap}.worker-report-dialog .dialog-actions .btn{flex:1}}

.worker-report-dialog .assembly-toolbar>label{display:grid;gap:6px;margin:0;flex:1 1 140px;min-width:0}
.worker-report-dialog .assembly-toolbar>label input,.worker-report-dialog .assembly-toolbar>label select{width:100%;min-width:0}
.worker-report-form label:has(>input[type=checkbox]){display:flex;flex-direction:row;gap:8px}
@media(max-width:760px){.worker-report-dialog .assembly-toolbar>label{flex:1 1 40%}}

/* Recipe editing keeps hotspot selection and output configuration together. */
.assembly-recipe-toolbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr);gap:10px;align-items:stretch}
.assembly-recipe-step{padding:12px;border:1px solid var(--border,#dbe5ef);border-radius:12px;background:#f8fbff;display:grid;gap:8px;min-width:0}
.assembly-recipe-step h3{margin:0;color:var(--text,#20354b);font-size:16px;line-height:1.4}
.assembly-recipe-step-location{background:#eef6ff;border-color:#cfe1f7}.assembly-recipe-step-output{background:#effaf6;border-color:#c9eadf}.assembly-recipe-step-config{background:#effaf6;border-color:#c9eadf}.assembly-recipe-step-combined{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-recipe-step-combined>h3{grid-column:1/-1}.assembly-recipe-step-combined>label{display:grid;gap:5px}.assembly-recipe-step-combined>label:first-of-type{grid-column:1/-1}.assembly-recipe-step-combined>label.assembly-quantity,.assembly-recipe-step-combined>label.assembly-paired-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assembly-recipe-step-parts{background:#f5f8ff;border-color:#d5e2f4;margin-top:12px}.assembly-recipe-step-parts>h3{padding-bottom:2px}
.assembly-recipe-step select,.assembly-recipe-step button{width:100%;min-width:0}
.assembly-recipe-step select.assembly-input-invalid{border-color:#dc2626;box-shadow:0 0 0 2px #fecaca}
.assembly-recipe-step-config>h3:nth-of-type(2){margin-top:8px;padding-top:10px;border-top:1px solid #dbe5ef}
.assembly-stage-inputs{margin:10px 0;padding:10px 12px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;color:var(--muted,#71849b)}
.assembly-stage-inputs summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font-weight:650;color:#4f6c8d}
.assembly-stage-input-list{display:grid;gap:6px;padding-top:8px}.assembly-stage-input-list>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #edf2f7;font-size:12px}.assembly-stage-input-list strong{color:var(--text,#20354b)}
@media(max-width:760px){.assembly-recipe-toolbar{grid-template-columns:1fr}.assembly-recipe-step{padding:10px}.assembly-recipe-step h3{font-size:15px}.assembly-recipe-step-combined{grid-template-columns:1fr}.assembly-recipe-step-combined>h3,.assembly-recipe-step-combined>label:first-of-type{grid-column:auto}.assembly-stage-input-list>div{display:grid;gap:3px}}
