:root{--ink:#192d45;--muted:#6e7e91;--blue:#235bd6;--line:#dce4ef}*{box-sizing:border-box}body{margin:0;background:#edf2f7;color:var(--ink);font:14px/1.5 "Aptos","Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{min-height:42px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){border-color:var(--blue)}.primary{background:var(--blue);border-color:var(--blue);color:white}header{background:#192c45;color:white;border-bottom:3px solid #bce65b;padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px}header a{color:#bce65b;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:2px}h1{margin:3px 0;font-size:28px}h2{font-size:19px}nav{display:flex;gap:8px;flex-wrap:wrap}main{max-width:1250px;margin:auto;padding:20px}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}input,select,textarea{padding:10px;border:1px solid var(--line);border-radius:7px;min-width:0;color:var(--ink);background:white}input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue)}.toolbar,.selection,.detail-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar{padding:16px;background:white;border-radius:12px}.search{flex:1}.selection{align-items:center;padding:14px 0}.selection label{flex-direction:row;align-items:center}.selection .primary{margin-left:auto}#message:empty,.error:empty{display:none}#message,.error{padding:10px 0;color:#ad3934}#message.success{color:#187147}.group{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f8fafc}.group-head h2{margin:0}.group-head button{font-size:12px;min-height:32px}.equipment-row{display:grid;grid-template-columns:28px minmax(140px,1fr) 130px 130px 50px;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--line)}.equipment-row button{text-align:left;border:0;padding:0;color:var(--blue);font-size:17px;background:none}.equipment-row small{display:block;color:var(--muted);font-size:10px}.tag{background:#eaf0ff;color:var(--blue);padding:3px 7px;border-radius:5px;font-size:11px}.empty{padding:28px;text-align:center;color:var(--muted)}.info{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin:14px 0}.info h1{font-size:32px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.info-grid small{display:block;color:var(--muted)}.info-grid strong{font-size:18px}.history-row{padding:14px;background:white;border-bottom:1px solid var(--line)}.history-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.history-row small{color:var(--muted)}dialog{width:min(560px,95vw);max-height:92dvh;overflow:auto;border:0;border-radius:16px;padding:22px;color:var(--ink);box-shadow:0 24px 90px #10203855}dialog::backdrop{background:#12243ca6;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:#f1f4f8}form>label{margin:14px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fields label:first-child{grid-column:1/-1}#logo-preview{width:160px;height:90px;object-fit:contain}.print-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.print-toolbar h2{margin-right:auto}.print-toolbar input{width:95px}.print-help{font-size:12px;color:var(--muted)}#print-dialog{width:96vw;max-width:1100px;background:#e8edf3}#print-pages{overflow:auto;padding:4px}#print-output{display:none}.sheet{width:210mm;height:297mm;padding:10mm;background:white;margin:0 auto 16px;display:grid;gap:3mm;align-content:start;justify-content:start;box-shadow:0 3px 14px #152a4620}.sheet.s{grid-template-columns:repeat(3,50mm);grid-auto-rows:25mm}.sheet.m{grid-template-columns:repeat(2,80mm);grid-auto-rows:40mm}.plate{color:#162e4b;background:#fff;border:.25mm solid #173a63;overflow:hidden;display:grid;font-family:Arial,sans-serif;break-inside:avoid;box-shadow:none;border-radius:.8mm;grid-template-rows:5.5mm 12.5mm 1fr}.plate.s{width:50mm;height:25mm}.plate.m{width:80mm;height:40mm;grid-template-rows:8.5mm 20mm 1fr}.plate-brand{display:flex;align-items:center;gap:1mm;padding:.55mm 1.4mm;border-bottom:.2mm solid #c1cbd6;min-width:0}.plate-brand img{width:4.3mm;height:4.3mm;object-fit:contain;flex:none}.plate-brand>div{display:flex;flex-direction:column;min-width:0}.plate-brand strong{font-size:2.45mm;letter-spacing:.32mm;line-height:1.05}.plate-brand small{font-size:1.15mm;letter-spacing:.07mm;line-height:1.35;white-space:nowrap}.plate-brand>span{margin-left:auto;font-size:1.15mm;letter-spacing:.16mm;line-height:1.25;text-align:right;color:#52667a}.plate-main{display:grid;grid-template-columns:minmax(0,1fr) 12.8mm;padding:0 1mm 0 1.6mm;align-items:center;min-height:0;gap:.6mm}.asset-info{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:.6mm}.asset-category{font-size:1.5mm;letter-spacing:.1mm;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52667a}.asset-code{font-size:4.1mm;line-height:1.05;letter-spacing:-.07mm;white-space:nowrap;display:block}.asset-code.long-code{font-size:2.5mm;letter-spacing:-.08mm}.asset-qr{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:0}.asset-qr img{width:12mm;height:12mm;object-fit:contain;display:block;image-rendering:pixelated}.asset-qr>span{display:none}.plate-dates{display:grid;grid-template-columns:1fr 1fr;border-top:.2mm solid #173a63;min-height:0}.plate-dates>div{display:flex;flex-direction:column;gap:.4mm;padding:.65mm 1.5mm;min-height:0}.plate-dates>div+div{border-left:.2mm solid #c1cbd6}.plate-dates small{font-size:1.35mm;letter-spacing:.1mm;line-height:1.2;color:#52667a}.plate-dates strong{font-size:2.4mm;letter-spacing:.05mm;line-height:1.3}.clean-blank{flex:1;min-height:0}.m .plate-brand{padding:.8mm 2mm;gap:1.5mm}.m .plate-brand img{width:6.6mm;height:6.6mm}.m .plate-brand strong{font-size:3.8mm;letter-spacing:.5mm}.m .plate-brand small{font-size:1.7mm;letter-spacing:.15mm}.m .plate-brand>span{font-size:1.6mm;letter-spacing:.2mm}.m .plate-main{grid-template-columns:minmax(0,1fr) 19.6mm;gap:1mm;padding:0 1.8mm 0 2.4mm}.m .asset-info{gap:1.2mm}.m .asset-category{font-size:2.2mm;letter-spacing:.2mm}.m .asset-code{font-size:6.7mm}.m .asset-code.long-code{font-size:4.2mm}.m .asset-qr img{width:18mm;height:18mm}.m .asset-qr>span{display:block;font-size:1.15mm;letter-spacing:.15mm;line-height:1.4}.m .plate-dates>div{padding:1.2mm 2.4mm;gap:.9mm}.m .plate-dates small{font-size:1.9mm;letter-spacing:.15mm}.m .plate-dates strong{font-size:3.6mm}#plate-preview{display:flex;justify-content:center;padding:28px 0;overflow:auto}#plate-preview .plate{flex-shrink:0;zoom:1.6}@media(max-width:600px){#plate-preview .plate{zoom:1}}.plate-help{color:var(--muted)}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #96b5ff;outline-offset:2px}
@media(max-width:600px){header{padding:16px;align-items:start;flex-direction:column;gap:10px}nav{width:100%}nav button{flex:1;font-size:12px;padding:8px}main{padding:12px}.toolbar{gap:8px;padding:12px}.toolbar label{flex:1;min-width:110px}.toolbar button{width:100%}input,select,textarea{font-size:16px}.equipment-row{grid-template-columns:24px minmax(90px,1fr) 92px;gap:8px;padding:12px}.equipment-row .installed{display:none}.equipment-row .tag{display:none}.equipment-row button{font-size:16px}.info-grid{grid-template-columns:1fr 1fr}.info-grid strong{font-size:16px}.detail-actions button{flex:1;padding:8px;font-size:12px}.selection{font-size:12px;gap:6px}.selection .primary{padding:8px}.fields{grid-template-columns:1fr}dialog{padding:18px}.print-toolbar{gap:8px}.print-toolbar h2{width:100%}}
@page{size:A4 portrait;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white!important}body>*{display:none!important}#print-output{display:block!important}.sheet{margin:0;box-shadow:none;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}.plate{print-color-adjust:exact;-webkit-print-color-adjust:exact}dialog{display:none!important}body::backdrop,dialog::backdrop{display:none!important}}

.product-group{margin:12px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.product-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#eaf0fb}.product-head h3{margin:0;font-size:16px;color:var(--blue)}.product-head button{min-height:32px;padding:5px 10px;font-size:12px}.equipment-row button small{font-size:11px;font-weight:400}.group-head>div{white-space:nowrap}@media(max-width:600px){.group-head{padding:10px}.group-head h2{font-size:17px}.group-head button{padding:5px 8px}.product-group{margin:8px}}

.number-range{grid-column:1/-1;display:flex;align-items:end;gap:12px;padding:12px;background:#f3f6fc;border-radius:10px}.number-range label{flex:1;min-width:0}.number-range input{width:100%}.number-range>span{padding:10px 0;color:var(--blue);font-size:22px}#range-summary{grid-column:1/-1;padding:8px 12px;border-left:3px solid var(--blue);color:var(--blue);font-size:13px;font-weight:600}.save-actions{display:flex;gap:10px;justify-content:flex-end}.save-actions button{min-width:110px}.product-actions{display:flex;gap:6px}.fields>label:nth-child(2){grid-column:1/-1}.selection{position:sticky;top:0;background:#edf2f7;z-index:2}.group-head small{font-size:12px;color:var(--muted)}@media(max-width:600px){.product-head{gap:8px}.product-actions button{font-size:11px;padding:5px 8px}.save-actions button{flex:1;min-width:0}.number-range{gap:8px}}

.danger-button{color:#ae302c;border-color:#e9b9b6;background:#fff0ef}.danger-button:hover:not(:disabled){border-color:#ae302c}#delete-list{max-height:200px;overflow:auto;padding:10px 10px 10px 28px;background:#f6f8fc;border-radius:8px;overflow-wrap:anywhere}#delete-list li{padding:4px 0}.delete-warning{font-size:12px;color:#8a4b44}#delete-form .save-actions{margin-top:16px}@media(max-width:600px){.selection{display:grid;grid-template-columns:1fr 1fr}.selection .primary{margin:0}.selection #selected-count{text-align:right}}

#delete-target{font-size:18px;font-weight:700;color:var(--blue);overflow-wrap:anywhere}#delete-target:empty{display:none}.group-head>div{display:flex;gap:5px;flex-wrap:wrap}.product-actions{flex-wrap:wrap}@media(max-width:600px){.group-head,.product-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.group-head>div,.product-actions{margin-left:auto}.product-actions button{min-height:36px}}

.group>summary{display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none;background:white}.group>summary::-webkit-details-marker{display:none}.category-label{font-size:19px;font-weight:700}.category-count{margin-left:auto;color:var(--muted);font-size:12px}.category-chevron{font-size:21px;color:var(--blue);transition:transform .15s}.group[open] .category-chevron{transform:rotate(180deg)}.group[open]>summary{border-bottom:1px solid var(--line);background:#f4f7fc}.group-head{justify-content:flex-end;background:white}.group{box-shadow:0 3px 12px #18335106}.selection{gap:8px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid strong{overflow-wrap:anywhere}.toolbar>label{min-width:140px}#line-form>button{margin-top:16px}@media(max-width:600px){.group>summary{padding:15px}.category-label{font-size:17px}.toolbar>label{min-width:110px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection{grid-template-columns:1fr 1fr 1fr}.selection>label{grid-column:1/3}.selection #selected-count{grid-column:3}.selection button{padding:8px 5px;font-size:11px}}

.slot-editor{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:12px}.slot-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line);margin-top:12px}.slot-row label:last-child{grid-column:1/-1}.list-row{display:flex;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}.list-row span{flex:1;overflow-wrap:anywhere;min-width:0}.list-row button{padding:6px 10px}.list-add{display:flex;gap:8px;margin:12px 0}.list-add input{flex:1;min-width:0}.plate-dates small{text-transform:uppercase;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.plate-dates strong{font-size:clamp(1.4mm,2.4mm,2.4mm);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.m .plate-dates strong{font-size:3.6mm}

.plate-dates strong.long-value{font-size:1.35mm;letter-spacing:0}.m .plate-dates strong.long-value{font-size:2.2mm}.plate-dates small{font-size:1.25mm;letter-spacing:0}.m .plate-dates small{font-size:1.9mm}

.live-preview{position:sticky;top:-22px;z-index:2;display:flex;justify-content:center;background:#eef3f9;border-bottom:1px solid #dce4ef;padding:14px 0;margin:0 -8px 16px}.live-preview .plate{flex-shrink:0;zoom:1.3}.qr-placeholder{width:12mm;height:12mm;display:flex;flex-direction:column;align-items:center;justify-content:center;border:.2mm dashed #a5b4c5;font-size:2.6mm;line-height:1.3;color:#60758c}.qr-placeholder small{font-size:1.4mm}.m .qr-placeholder{width:18mm;height:18mm;font-size:4mm}.m .qr-placeholder small{font-size:2mm}.field-choice{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}.field-choice[aria-pressed=true]{background:#e8efff;border-color:#235bd6;color:#235bd6}.preview-options{padding:10px;border:1px solid var(--line);border-radius:8px}.preview-options summary{cursor:pointer;font-weight:600}.preview-options label{margin-top:10px}.sample-slot{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:600px){.live-preview .plate{zoom:1}.live-preview .plate.m{zoom:.88}.live-preview{top:-22px;padding:10px 0}.sample-slot{grid-template-columns:1fr}}
.slot-editor{min-width:0}.slot-row{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-row label{min-width:0}

#equipment-dialog,#settings-dialog{scroll-padding-top:220px}

#rows-dialog{width:96vw;max-width:1500px;padding:18px}.rows-summary{display:flex;align-items:center;gap:28px;padding:16px;background:#edf3fa;border:1px solid #dce4ef;border-radius:12px;margin-bottom:12px}#rows-preview{display:flex;justify-content:center;flex-shrink:0}#rows-preview .plate{zoom:1.2}#rows-info{display:flex;flex-direction:column;gap:5px;min-width:0}#rows-info strong{font-size:25px;overflow-wrap:anywhere}#rows-info small{color:var(--blue);font-weight:700}#rows-info span{color:var(--muted)}.rows-toolbar{display:flex;align-items:center;gap:14px;margin:12px 0}.rows-scroll{overflow:auto;max-height:45vh;border:1px solid var(--line);border-radius:8px}.entry-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.entry-table th{position:sticky;top:0;z-index:1;background:#203852;color:white;text-align:left;padding:10px;white-space:nowrap}.entry-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;vertical-align:top;background:#fff}.entry-table tr.active td{background:#edf3ff;border-bottom-color:#235bd6}.entry-table input,.entry-table select{width:100%;min-width:120px;padding:8px;border-radius:4px}.entry-table [data-key=number]{min-width:62px;width:65px}.entry-table [data-key=size]{min-width:60px}.entry-table [data-key=fieldId]{min-width:150px}.row-value{display:flex;flex-direction:column;gap:5px;min-width:140px}.entry-table button{min-height:36px;padding:6px 10px}#rows-form>.save-actions{margin-top:14px}@media(max-width:600px){#rows-dialog{padding:12px}.rows-summary{flex-direction:column;gap:7px;padding:9px}#rows-preview .plate{zoom:1}#rows-preview .plate.m{zoom:.85}#rows-info{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:11px}#rows-info strong{font-size:14px}.rows-scroll{max-height:38vh}}

.entry-table td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 #dce4ef}.entry-table th:first-child{left:0;z-index:2}

.field-value-cell{min-width:190px}.field-value-cell>.row-value{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.row-value input[readonly]{background:#f0f3f8;color:#52667a}.list-add:has(#new-field-type){flex-wrap:wrap}

.category-list-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.category-list-row{align-items:center}.category-list-row>span{font-weight:600}.category-list-row .category-list-actions button{min-height:36px;padding:5px 9px}.field-value-cell{vertical-align:middle!important}@media(max-width:600px){.category-list-row{flex-wrap:wrap}.category-list-row>span{flex-basis:100%}.category-list-actions{width:100%}}

.preview-size-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:12px}.preview-size-toolbar>span{color:var(--muted);font-size:12px}.equipment-row{grid-template-columns:28px minmax(140px,1fr) 130px 130px}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.preview-size-toolbar{align-items:flex-start;flex-direction:column;gap:6px}.equipment-row{grid-template-columns:24px minmax(90px,1fr) 92px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.equipment-row{grid-template-columns:28px minmax(140px,1fr) 130px 130px 130px}.equipment-row .equipment-line{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.equipment-row{grid-template-columns:24px minmax(80px,1fr) 52px 84px;gap:8px}.equipment-line small{font-size:10px}}

.cleaning-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.cycle-card{text-align:left;padding:15px;background:white}.cycle-card span{display:block;font-size:12px;color:var(--muted)}.cycle-card strong{display:block;font-size:27px;margin-top:4px}.cycle-card[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.cycle-card.overdue strong{color:#b43c35}.cycle-card.today strong{color:#ad721e}.cycle-badge{display:inline-block;width:max-content;max-width:100%;font-size:11px;padding:3px 7px;border-radius:5px;background:#eaf0f5;color:#667689;line-height:1.5}.cycle-badge.overdue{background:#fff0ed;color:#b43c35}.cycle-badge.today,.cycle-badge.soon{background:#fff5df;color:#946517}.cycle-badge.scheduled{background:#eaf5ee;color:#24744c}.equipment-row{grid-template-columns:28px minmax(140px,1fr) 80px 110px 110px 150px}.equipment-row>div{min-width:0}.equipment-row button{min-width:0;overflow-wrap:anywhere}.cleaning-next{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.row-chevron{font-size:14px;margin-left:8px;color:var(--muted)}.equipment-inline{padding:20px;background:#f5f8fe;border-block:1px solid #cddcf3}.inline-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.inline-top h3{margin:0}.inline-top p{font-size:13px;color:var(--muted);margin:9px 0 16px}.inline-top p .cycle-badge{margin-left:8px}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-actions button{font-size:12px;min-height:34px;padding:5px 10px}.cycle-form{display:flex;gap:12px;align-items:flex-end;padding:14px;background:white;border:1px solid var(--line);border-radius:9px;flex-wrap:wrap}.cycle-form input{width:140px}.cycle-form p{font-size:12px;color:var(--muted);margin:0;flex:1;min-width:180px}.cycle-form .error{flex-basis:100%;color:#ad3934}.inline-cleaning-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:20px}.inline-cleaning-grid h4{margin:0 0 16px;font-size:15px}.inline-clean-form label{margin:12px 0}.inline-clean-form button{width:100%}.inline-history{min-width:0;max-height:400px;overflow:auto}.inline-history h4 span{font-size:12px;color:var(--muted);margin-left:6px}.inline-history .history-row{border-radius:7px;margin-bottom:8px}.inline-history .empty{text-align:left;background:white;border-radius:7px}.entry-table [data-key=cleaningIntervalDays]{min-width:85px;width:90px}.equipment-row:has(button[aria-expanded=true]){background:#eaf1ff}
@media(max-width:700px){.cleaning-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cycle-card{padding:10px}.cycle-card strong{font-size:22px}.equipment-row{grid-template-columns:24px minmax(90px,1fr) 55px minmax(95px,1fr);gap:8px}.equipment-row .installed,.equipment-row>div:has(>small):not(.equipment-line):not(.cleaning-next){display:none}.equipment-inline{padding:14px}.inline-top{flex-direction:column;gap:0}.inline-actions{margin-bottom:14px}.inline-cleaning-grid{grid-template-columns:1fr;gap:20px}.cycle-form{gap:10px}.cycle-form p{flex-basis:100%}.cycle-form label{flex:1}.cycle-form input{width:100%}.cycle-badge{font-size:10px}.cleaning-summary .cycle-card span{font-size:11px}.cycle-form p.error{min-width:0}}

.product-cycle-form{margin:12px;border-color:#d5e0ee;background:#f8fafc}.product-cycle-form p{min-width:180px}.cycle-review{color:#ad721e}.mobile-cleaning-note{padding:16px;border:1px dashed #becde0;border-radius:9px;color:var(--muted);background:white}.mobile-cleaning-note h4{color:var(--ink)}.mobile-cleaning-note p{font-size:13px;line-height:1.7}.product-head h3{min-width:0;overflow-wrap:anywhere}.asset-code.long-code{white-space:normal;overflow-wrap:anywhere;font-size:2.2mm;line-height:1.1;letter-spacing:-.05mm}.m .asset-code.long-code{font-size:3.6mm}@media(max-width:600px){.product-cycle-form{margin:8px}.product-cycle-form p{min-width:0}}

.mobile-cleaning header{padding:18px 20px}.mobile-cleaning header a{pointer-events:none}.mobile-cleaning header h1{font-size:23px}.mobile-cleaning main{max-width:680px;padding:18px 16px 30px}.mobile-cleaning header nav,.mobile-cleaning>dialog{display:none!important}.mobile-equipment-title{padding:5px 2px 16px}.mobile-equipment-title small{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:700}.mobile-equipment-title h2{font-size:28px;margin:6px 0 0;overflow-wrap:anywhere}.mobile-entry-panel,.mobile-history-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.mobile-entry-panel h4{font-size:17px;margin:0 0 18px}.mobile-entry-panel label{margin:14px 0}.mobile-entry-panel input,.mobile-entry-panel textarea{width:100%;font-size:16px}.mobile-entry-panel .primary{min-height:48px;width:100%}.mobile-history-panel>h2{font-size:17px;margin:0 0 12px}.mobile-history-panel>h2 span{margin-left:5px;color:var(--muted);font-size:13px}.mobile-history-panel .inline-history{max-height:none}.mobile-history-panel .history-row{border:1px solid var(--line);background:#f8fafc}.mobile-history-panel .empty{padding:16px 0}.mobile-entry-panel .error{font-size:13px;line-height:1.6}.mobile-session-note{line-height:1.8;color:#ad3934;margin:0}.mobile-cleaning #message{font-size:13px;line-height:1.6}

.workspace-menu,.product-more{position:relative}.workspace-menu>summary,.product-more>summary{list-style:none;cursor:pointer;user-select:none}.workspace-menu>summary::-webkit-details-marker,.product-more>summary::-webkit-details-marker{display:none}.workspace-menu>summary{border:1px solid var(--line);border-radius:8px;padding:9px 16px;min-height:42px;background:white;color:var(--ink);font-weight:600}.workspace-menu>summary::after{content:'⌄';margin-left:9px;color:var(--muted)}.workspace-menu>div{position:absolute;right:0;top:calc(100% + 6px);z-index:10;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 26px #13283a22;padding:6px;min-width:180px;display:grid;gap:4px}.workspace-menu button{text-align:left;border:0;justify-content:flex-start}.product-more>summary{display:grid;place-items:center;min-width:34px;min-height:34px;border:1px solid var(--line);border-radius:7px;background:white;font-weight:800;font-size:18px;color:var(--ink)}.product-more[open]>button{display:block;width:100%;white-space:nowrap}.product-more[open]{z-index:4}.product-more[open]>button{position:relative;margin-top:4px}.product-heading{display:flex;align-items:baseline;gap:14px;min-width:0;flex-wrap:wrap}.product-heading>span{font-size:12px;color:var(--muted)}.product-head{padding:12px 14px}.product-settings-form{padding:18px;background:white;border-top:1px solid var(--line)}.product-settings-top{display:flex;align-items:center;gap:16px;margin-bottom:14px}.product-settings-top input{width:110px}.product-settings-top>span{font-size:12px;color:var(--muted)}.product-common,.product-preview-options{border:1px solid var(--line);border-radius:8px;background:#f8fafc;margin:12px 0}.product-common>summary,.product-preview-options>summary{cursor:pointer;padding:10px 12px;font-size:12px;font-weight:600;color:#526b86}.product-common-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;padding:0 12px 12px;align-items:end}.product-common-controls input,.product-common-controls select{width:100%}.product-common-controls button{font-size:12px}.product-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px}.product-settings-table th{font-size:11px;padding:10px}.product-settings-table td{vertical-align:middle}.product-settings-table input,.product-settings-table select{font-size:12px;min-width:100px}.product-settings-table td:first-child{min-width:155px;max-width:240px;background:#f8fafc}.product-settings-table td:first-child button{white-space:normal;overflow-wrap:anywhere;text-align:left;color:var(--blue);border:0;background:transparent;font-size:13px}.product-settings-table [data-key=number]{width:65px;min-width:65px}.product-settings-table .field-value-cell{min-width:155px}.product-settings-table [data-key=fieldId]{min-width:145px}.product-table-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.product-table-actions>span{color:var(--muted);font-size:11px}.product-table-actions button{font-size:12px;min-height:34px;padding:6px 10px}.product-preview-content{display:flex;gap:22px;align-items:center;padding:10px 14px 18px;flex-wrap:wrap}.product-preview{display:flex;justify-content:center}.product-preview .plate{flex-shrink:0;zoom:1.2}.product-settings-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}.product-settings-actions button{font-size:12px}.product-settings-error{margin-bottom:0}.compact-history{padding:16px 20px}.compact-history>h4{margin:0 0 12px;font-size:14px}.compact-history>h4 span{color:var(--muted);font-weight:400;font-size:12px}.compact-history .inline-history{max-height:300px}.compact-history .history-row{padding:12px}.selection{gap:8px}.product-head .product-actions{align-items:flex-start}.product-settings-form input:disabled,.product-settings-form select:disabled{opacity:.65}@media(max-width:900px){.product-common-controls{grid-template-columns:1fr 1fr}.product-common-controls button{grid-column:1/-1}.product-heading{gap:5px}.product-heading>span{flex-basis:100%}}@media(max-width:600px){.product-settings-form{padding:12px}.product-settings-top{gap:10px;align-items:flex-end}.product-settings-top>span{padding-bottom:8px}.product-settings-actions button{padding:7px 10px}.product-preview .plate{zoom:1}.product-preview .plate.m{zoom:.9}.workspace-menu{flex:1}.workspace-menu>summary{text-align:center}.compact-history{padding:14px}}

.product-editing #cleaning-summary,.product-editing .toolbar,.product-editing .selection,.product-editing .group-head,.product-editing .product-actions,.product-editing .group:not(:has(.product-settings-form)),.product-editing .product-group:not(:has(.product-settings-form)){display:none}.product-editing .group>summary{padding:14px 20px}.product-editing .group[open]>summary{background:#f8fafc}.product-editing .product-head{background:#eaf0fb}.product-editing .product-settings-actions{position:sticky;bottom:0;background:white;z-index:3;border-top:1px solid var(--line);margin-top:14px;padding:12px 0 0}

.product-editing header nav{display:none}

.product-identity{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,2fr);gap:16px;margin-bottom:20px}.product-identity input,.product-identity select{width:100%}.new-product-group{background:#fff;border:1px solid var(--border,#d8e2ef);border-radius:12px;overflow:hidden}@media(max-width:600px){.product-identity{grid-template-columns:1fr}}

.mobile-equipment-info h2{font-size:17px;margin:0 0 16px}.mobile-equipment-info dl{margin:0}.mobile-equipment-info dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.mobile-equipment-info dl>div:last-child{border:0}.mobile-equipment-info dt{font-size:13px;color:var(--muted)}.mobile-equipment-info dd{margin:0;overflow-wrap:anywhere;font-weight:600}

.product-media-options{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:12px}.product-media-options>summary{cursor:pointer;font-weight:600}.product-media-options>p{color:var(--muted);font-size:12px}.product-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.product-image-card{border:1px solid var(--line);border-radius:8px;padding:12px;max-width:380px;background:#f8fafc}.product-image-card img{width:100%;height:160px;object-fit:contain;background:#eef2f6;border-radius:6px}.product-image-card textarea{width:100%;resize:vertical;margin:5px 0 10px}.product-image-card>div{display:flex;gap:6px}.product-image-upload{margin:14px 0;max-width:400px}.product-upload-status{color:var(--blue)}.product-mobile-images figure{margin:0 0 20px}.product-mobile-images figure:last-child{margin-bottom:0}.product-mobile-images img{display:block;width:100%;height:auto;border-radius:8px}.product-mobile-images figcaption{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;font-size:14px;line-height:1.7}.product-mobile-images h2{font-size:17px;margin:20px 0 16px}

.mobile-photo-open{display:block;width:100%;min-height:0;padding:0;border:0;background:transparent;cursor:zoom-in}.mobile-photo-open:focus-visible{outline:3px solid #96b5ff;outline-offset:4px}.photo-viewing{overflow:hidden}.mobile-photo-viewer{position:fixed;inset:0;z-index:10000;background:#101d2bf5;color:white;display:flex;flex-direction:column;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.photo-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#192c45;flex-shrink:0}.photo-viewer-toolbar>span{margin-right:auto;font-size:13px;min-width:40px}.photo-viewer-toolbar button{min-width:42px;padding:8px 12px}.mobile-photo-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:1;min-height:0;touch-action:none;user-select:none;cursor:grab}.mobile-photo-stage:active{cursor:grabbing}.mobile-photo-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;pointer-events:none;user-select:none;will-change:transform}.mobile-photo-caption{margin:0;padding:12px 18px 18px;max-height:20dvh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;background:#192c45;flex-shrink:0}

.photo-navigation{display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 16px;background:#192c45;flex-shrink:0}.photo-navigation button{min-width:48px;font-size:24px;line-height:1}.photo-navigation span{min-width:65px;text-align:center;font-size:14px}

.product-title{display:flex;align-items:center;gap:16px;min-width:0}.product-select-all{display:flex;flex-direction:row;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;font-size:12px;color:var(--ink);flex-shrink:0}.product-select-all input{margin:0;cursor:pointer}.product-editing .product-select-all{display:none}@media(max-width:600px){.product-title{gap:12px}.product-select-all{font-size:11px}}

/* Compact equipment workspace; printed label dimensions stay unchanged. */
.product-editing header{padding:10px 18px}.product-editing header h1{font-size:22px;margin:0}.product-editing main{max-width:1500px;padding:10px 12px}.product-editing .group>summary{padding:8px 12px}.product-editing .product-head{padding:8px 12px}.product-editing .product-heading{gap:8px}.product-editing .product-heading h3{margin:0}.product-editing .product-heading>span{font-size:11px}.product-settings-form{padding:10px}.product-settings-top{gap:10px;margin-bottom:6px;align-items:center}.product-settings-top>label{flex-direction:row;align-items:center;gap:8px}.product-settings-top input{width:72px;padding:5px 7px;min-height:34px}.product-settings-top>span{font-size:11px}.product-common,.product-preview-options{margin:7px 0;border-radius:6px}.product-common>summary,.product-preview-options>summary{padding:7px 10px}.product-common-controls{gap:7px;padding:0 10px 8px}.product-table-scroll{border-radius:6px;max-height:55vh}.entry-table th{padding:7px 8px}.entry-table td{padding:4px}.entry-table input,.entry-table select{padding:5px 6px;min-height:34px;border-radius:4px;font-size:12px}.product-settings-table td:first-child{min-width:100px;max-width:160px}.product-settings-table td:first-child button{padding:4px;min-height:34px;font-size:12px}.product-settings-table [data-key=number],.entry-table [data-key=number]{min-width:48px;width:52px}.product-settings-table [data-key=line]{min-width:78px}.product-settings-table .field-value-cell,.entry-table .field-value-cell{min-width:195px;vertical-align:top!important}.field-value-cell>.row-value{display:grid;grid-template-columns:66px minmax(115px,1fr);gap:4px;margin-top:4px;padding-top:0;border:0;min-width:0}.field-value-cell>.row-value select,.field-value-cell>.row-value input{min-width:0;width:100%}.product-settings-table [data-key=fieldId]{min-width:0;width:100%}.product-table-actions{gap:8px;margin-top:6px}.product-table-actions button{min-height:34px;padding:4px 9px}.product-preview-content{padding:6px 10px 10px;gap:12px}.product-media-options{margin-top:7px;padding:8px 10px;border-radius:6px;font-size:12px}.product-settings-form .product-settings-actions{margin-top:8px;padding:7px 0 0;gap:6px}.product-settings-actions button{min-height:36px;padding:5px 12px}.product-identity{gap:10px;margin-bottom:10px}.product-settings-form .error:empty{display:none}.product-settings-top>span{padding:0}.product-editing .group{margin-bottom:8px}
@media(max-width:600px){.product-editing header{padding:8px 12px}.product-editing header h1{font-size:19px}.product-editing main{padding:6px}.product-settings-form{padding:7px}.product-editing .group>summary,.product-editing .product-head{padding:7px 9px}.product-editing .product-heading>span{flex-basis:auto}.product-settings-top{flex-wrap:wrap;gap:4px 10px}.product-settings-top>label{font-size:11px}.product-settings-table td:first-child{min-width:82px;max-width:100px}.product-settings-table td:first-child button{font-size:11px}.product-table-actions>span{font-size:10px}.product-settings-table input,.product-settings-table select{min-height:36px}.product-settings-table .field-value-cell{min-width:192px}.product-settings-table [data-key=line]{min-width:70px}.product-settings-table th{padding:7px 5px}.product-table-scroll{max-height:52vh}.product-settings-actions button{min-height:38px}.product-identity{grid-template-columns:1fr 1fr}.product-identity label{min-width:0}}
