:root{--bg: #eef2f7;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--brand: #0b3d74;--accent: #1a6bc7;--accent-soft: #e0efff;--emerald: #047857;--amber: #b45309;--danger: #b91c1c;--nav-h: 3.65rem;--header-h: 3.5rem;--touch-min: 2.75rem;--content-max: 36rem;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--radius: .85rem;--radius-sm: .55rem;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 20px rgba(15, 23, 42, .05);--shadow-lg: 0 4px 24px rgba(15, 23, 42, .1);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[data-theme=dark]{--bg: #0b1220;--surface: #151f32;--surface-2: #1c2a42;--border: #2a3a55;--text: #e8eef7;--text-muted: #8fa3bf;--accent-soft: #1e3a5f;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;height:-webkit-fill-available}body{min-height:100dvh;min-height:-webkit-fill-available;background:var(--bg);overflow-x:hidden}#root{height:100%;min-height:100dvh;min-height:-webkit-fill-available}html.scroll-locked,html.scroll-locked body{overflow:hidden}html.scroll-locked .app-main{overflow:hidden;touch-action:none}button,input,select,textarea,a{font:inherit}button,a[role=button],.picker-btn,.nav-item,.drawer-section,.modal-option{touch-action:manipulation}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button:disabled{opacity:.45;cursor:not-allowed}.text-right{text-align:right}.engineer-login{width:100%;max-width:var(--content-max);margin:0 auto;min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;background:var(--bg)}.engineer-login-hero{background:radial-gradient(120% 90% at 50% -10%,#1a5fa8 0%,transparent 55%),linear-gradient(180deg,#0b3d74,#082a52);color:#fff;text-align:center;padding:calc(1.75rem + var(--safe-t)) 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.engineer-login-seal{width:5.75rem;height:5.75rem;border-radius:50%;background:#fff;padding:.2rem;box-shadow:0 8px 28px #00000047;margin-bottom:.85rem;overflow:hidden}.engineer-login-logo{width:100%;height:100%;object-fit:contain;display:block}.engineer-login-company{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb8}.engineer-login-hero h1{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.03em;color:#fff}.engineer-login-version{margin:.15rem 0 0;font-size:.78rem;font-weight:600;color:#ffffffb3}.engineer-login-panel{flex:1;width:100%;margin:-1.15rem auto 0;padding:1.35rem 1.2rem calc(1.5rem + var(--safe-b));background:var(--surface);border-radius:1.15rem 1.15rem 0 0;box-shadow:0 -8px 32px #082a521f;display:flex;flex-direction:column;gap:1.15rem}.engineer-login-intro h2{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.3rem}.engineer-login-intro p{font-size:.84rem;color:var(--text-muted);line-height:1.45}.engineer-login-list{display:flex;flex-direction:column;gap:.5rem}.engineer-login-person{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;width:100%;min-height:3.35rem;padding:.7rem .85rem;border-radius:.85rem;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,background .15s,transform .12s}.engineer-login-person:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}.engineer-login-person:active{background:var(--accent-soft);transform:scale(.99)}.engineer-login-avatar{width:2.45rem;height:2.45rem;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:#fff;background:linear-gradient(160deg,#1a6bc7,#0b3d74)}.engineer-login-person-text{display:flex;flex-direction:column;min-width:0;gap:.1rem}.engineer-login-person-name{font-weight:700;font-size:.98rem}.engineer-login-person-meta{font-size:.72rem;color:var(--text-muted)}.engineer-login-chevron{color:var(--brand);font-size:1.1rem;font-weight:600}.engineer-login-form{display:flex;flex-direction:column;gap:.7rem}.engineer-login-cancel{align-self:center;min-height:2.4rem}.engineer-login-note{margin-top:auto;font-size:.72rem;color:var(--text-muted);line-height:1.45;text-align:center}[data-theme=dark] .engineer-login-panel{box-shadow:0 -10px 36px #0006}[data-theme=dark] .btn-outline{color:#93c5fd;border-color:#3d5573}[data-theme=dark] .engineer-login-chevron{color:#93c5fd}.engineer-settings-list{display:flex;flex-direction:column;gap:.5rem}.engineer-settings-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:.55rem;background:var(--surface-2);border:1px solid var(--border)}.engineer-settings-row strong{font-size:.92rem}.engineer-settings-row .is-you{font-size:.72rem;font-weight:700;color:var(--accent);margin-left:.35rem}.app{width:100%;max-width:var(--content-max);margin:0 auto;height:100vh;height:100dvh;min-height:-webkit-fill-available;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;padding-left:var(--safe-l);padding-right:var(--safe-r);overflow:hidden;background:var(--bg)}.app-header{position:sticky;top:0;z-index:20;min-height:calc(var(--header-h) + var(--safe-t));padding:calc(.55rem + var(--safe-t)) 1rem .55rem;display:grid;grid-template-columns:var(--touch-min) 1fr auto;align-items:center;gap:.65rem;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);box-shadow:0 1px #0f172a08}.header-spacer{width:2.75rem}.header-volume{text-align:right;padding:.35rem .55rem;border-radius:.5rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);line-height:1}.header-volume-value{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}.header-volume-unit{font-size:.65rem;font-weight:700;color:var(--text-muted);margin-left:1px}.profile-btn{border:none;background:transparent;padding:0;cursor:pointer;width:var(--touch-min);height:var(--touch-min);display:grid;place-items:center;border-radius:.65rem;flex-shrink:0}.profile-btn:active{opacity:.75}.profile-btn-logo-wrap{width:2.5rem;height:2.5rem;padding:.25rem;border-radius:.65rem;background:#fff;display:grid;place-items:center;flex-shrink:0;overflow:hidden;box-shadow:0 2px 10px #0000001f;border:1px solid var(--border)}[data-theme=dark] .profile-btn-logo-wrap{background:#fff}.profile-btn-logo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;image-rendering:-webkit-optimize-contrast}.drawer-logo-wrap{width:3.15rem;height:3.15rem;border-radius:50%;background:#fff;padding:.12rem;display:grid;place-items:center;border:1px solid var(--border);flex-shrink:0;overflow:hidden}.drawer-logo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}.whs-logo{display:block;max-width:100%;height:auto}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;background:linear-gradient(135deg,#2563eb,#0891b2);color:#fff;font-weight:800;font-size:.7rem;display:grid;place-items:center}.brand-text{min-width:0}.brand-title-row{display:flex;align-items:baseline;gap:.45rem;min-width:0}.brand h1{font-size:.95rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand p{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-version,.app-version-badge{flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted)}.app-version-line{font-size:1.05rem;font-weight:800;color:var(--text)}.printers-capability{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0 .85rem}.printers-capability span{font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;color:var(--text-muted);background:var(--surface-2, #f8fafc);border:1px solid var(--border)}.printers-capability span.is-on{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.printers-preferred{margin:0 0 .85rem;font-size:.85rem}.printers-preferred span{display:block;font-size:.75rem;color:var(--text-muted)}.printers-subhead{margin:.85rem 0 .35rem;font-size:.8rem;font-weight:700}.printers-panel .btn-primary,.printers-panel .btn-outline{margin-bottom:.15rem}.banner{margin:.5rem 1rem;padding:.75rem 1rem;border-radius:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.8rem}.text-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.text-link:active{opacity:.8}.banner.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger)}.banner.offline{background:color-mix(in srgb,var(--amber) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);color:var(--text)}.banner.install{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.flex-1{flex:1}.app-main{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(1rem + var(--safe-b))}.app-main.with-mains-nav{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 1rem)}.tab-content{padding:.85rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.9rem}.card-stack{display:flex;flex-direction:column;gap:.75rem}.card{background:var(--surface);border-radius:var(--radius);padding:1.05rem 1.1rem 1.1rem;border:1px solid color-mix(in srgb,var(--border) 90%,transparent);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.8rem}.card-intro{font-size:.8rem;color:var(--text-muted);line-height:1.45;padding-bottom:.15rem}.segment-card{gap:.75rem;scroll-margin-top:calc(var(--header-h) + .75rem)}.add-sample-btn{min-height:var(--touch-min);font-weight:700}.segment-header{display:flex;justify-content:space-between;align-items:center}.segment-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);background:var(--accent-soft);padding:.2rem .5rem;border-radius:.35rem}.label-sm{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.label-sm.error{color:var(--danger)}.label-sm.light{color:#ffffffd9}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0;width:100%}.input-lg{min-height:var(--touch-min);height:3.25rem;padding:0 1rem;border-radius:.55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:max(1rem,1.05rem);font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s;width:100%;max-width:100%;min-width:0;line-height:1.35}.input-lg:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.input-lg.input-error{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field-error{font-size:.75rem;color:var(--danger);font-weight:600}.picker-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;max-width:100%;min-width:0;min-height:var(--touch-min);padding:.7rem .9rem;border-radius:.55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.picker-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.picker-btn:active{background:var(--accent-soft)}.picker-value{font-weight:600;font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger,.btn-small{border:none;cursor:pointer;border-radius:.75rem;font-weight:700;transition:opacity .15s}.btn-primary{min-height:var(--touch-min);height:3.1rem;background:linear-gradient(180deg,#145a9e,var(--brand));color:#fff;font-size:.9rem;padding:0 1rem;box-shadow:0 1px 2px #0b3d7440}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{min-height:var(--touch-min);height:2.85rem;background:var(--brand);color:#fff;padding:0 1rem;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover{filter:brightness(1.08)}.btn-text{background:transparent;border:none;color:var(--accent);font-weight:600;font-size:.8rem;cursor:pointer;padding:.5rem .25rem;min-height:var(--touch-min);display:inline-flex;align-items:center}.btn-text.danger{color:var(--danger)}.btn-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.full-width{width:100%}.center-btn{align-self:center}.btn-outline{min-height:var(--touch-min);height:2.75rem;background:transparent;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));color:var(--brand);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-ghost{background:transparent;color:var(--text-muted);padding:.5rem}.btn-danger{background:var(--danger);color:#fff;padding:.6rem 1.25rem}.btn-small{background:var(--accent);color:#fff;padding:.35rem .75rem;font-size:.75rem}.btn-icon{background:transparent;border:none;color:var(--text-muted);cursor:pointer;min-width:var(--touch-min);min-height:var(--touch-min);padding:.25rem;font-size:1.1rem;display:grid;place-items:center;border-radius:.5rem}.btn-icon.danger{color:var(--danger)}.danger-text{color:var(--danger)!important}.highlight{border-radius:.85rem;padding:1.25rem}.highlight.emerald{background:linear-gradient(145deg,#059669,#065f46);color:#fff}.highlight.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.highlight.blue-solid{background:#2563eb;color:#fff}.highlight.amber{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.big-number{font-size:clamp(2rem,9vw,2.75rem);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;word-break:break-word}.medium-number{font-size:clamp(1.25rem,5.5vw,1.75rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}.unit{font-size:1.1rem;font-weight:600;margin-left:.25rem;opacity:.85}.sub-note{font-size:.75rem;opacity:.8}.sub-note.light{color:#fffc}.formula-note{font-size:.75rem;opacity:.85;margin-top:.5rem}.formula-note.center{text-align:center}.formula-note.light{color:#ffffffd9}.breakdown-list{display:flex;flex-direction:column;gap:.4rem}.breakdown-row{display:flex;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--surface-2);border-radius:.5rem;font-size:.85rem}.air-grid{display:grid;grid-template-columns:1fr 1fr;padding:.4rem .75rem;font-size:.85rem}.air-grid.head{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.air-grid.row{background:var(--surface-2);border-radius:.5rem;margin-bottom:.35rem}.air-grid .accent{color:var(--accent);font-weight:700}.alert{padding:.75rem 1rem;border-radius:.75rem;font-size:.85rem;font-weight:600;line-height:1.4}.alert.warning{background:color-mix(in srgb,var(--amber) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 40%,transparent)}.alert.success{background:color-mix(in srgb,var(--emerald) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--emerald) 40%,transparent)}.alert.orange{background:color-mix(in srgb,#ea580c 15%,var(--surface));border:1px solid color-mix(in srgb,#ea580c 35%,transparent)}.alert.compact{font-size:.8rem}.info-box{padding:1rem;border-radius:.75rem;background:var(--surface-2);border:1px solid var(--border)}.info-box.blue{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.info-box.linked{border-color:var(--emerald);background:color-mix(in srgb,var(--emerald) 8%,var(--surface))}.info-box-header{display:flex;justify-content:space-between;align-items:center}.info-value{font-size:.85rem;color:var(--text);line-height:1.4}.live-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:999px;background:var(--emerald);color:#fff}.alert-stack{display:flex;flex-direction:column;gap:.5rem}.ref-tag{display:inline-block;margin-top:.25rem;font-size:.68rem;font-weight:600;color:var(--text-muted)}.muted-block{line-height:1.5}.empty-state,.empty-state-inline{font-size:.85rem;color:var(--text-muted);text-align:center;line-height:1.45}.empty-state{padding:2rem 1rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}.info-list{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.muted{color:var(--text-muted)}.center{text-align:center;padding:1.5rem 0}.slider-header{display:flex;justify-content:space-between;align-items:center}.ph-badge{font-family:ui-monospace,monospace;font-weight:700;padding:.2rem .5rem;border-radius:.4rem;background:var(--surface-2);font-size:.85rem}.slider{width:100%;accent-color:var(--accent)}.slider-ticks{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted)}.pump-list{display:flex;flex-direction:column;gap:.6rem}.pump-card{padding:1rem;border-radius:.85rem;background:var(--surface-2);border:1px solid var(--border)}.pump-card.recommended{background:#059669;color:#fff;border:none;box-shadow:0 8px 24px #05966959}.pump-card.large-network{background:color-mix(in srgb,var(--amber) 15%,var(--surface));border-color:color-mix(in srgb,var(--amber) 40%,transparent)}.pump-header{display:flex;align-items:center;gap:.5rem}.badge{margin-left:auto;font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;background:#ffffff40}.pump-rate,.pump-time{font-size:.85rem;margin-top:.25rem;opacity:.9}.collapsible-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;color:var(--text);cursor:pointer;padding:0}.count-badge{display:inline-block;margin-left:.35rem;padding:.1rem .4rem;border-radius:999px;background:var(--surface-2);font-size:.7rem}.jobs-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.job-card{padding:.85rem;border-radius:.75rem;background:var(--surface-2);font-size:.85rem}.job-date{color:var(--text-muted);font-size:.75rem;margin-bottom:.25rem}.settings-row{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;background:transparent;border:none;border-top:1px solid var(--border);color:var(--text);cursor:pointer;font-weight:600}.settings-row:first-of-type{border-top:none}.toggle-pill{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--text-muted)}.footer-note{text-align:center;font-size:.7rem;color:var(--text-muted);margin-top:.5rem}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--content-max);height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);padding-left:var(--safe-l);padding-right:var(--safe-r);display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding-top:.35rem;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);border-top:1px solid var(--border);box-shadow:0 -4px 20px #0f172a0f;z-index:30}.bottom-nav.mains-nav .nav-item{border-radius:var(--radius-sm);margin:0 .35rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.side-drawer{position:fixed;top:0;left:0;bottom:0;width:min(18.5rem,calc(100vw - 3rem));z-index:70;background:var(--surface);border-right:1px solid var(--border);box-shadow:8px 0 32px #0000002e;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:calc(.75rem + var(--safe-t)) 0 calc(.75rem + var(--safe-b));padding-left:var(--safe-l)}.side-drawer.open{transform:translate(0)}.drawer-profile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:0 1.1rem 1.1rem;border-bottom:1px solid var(--border)}.drawer-profile-text{min-width:0}.profile-name{font-weight:700;font-size:.95rem}.profile-role{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.drawer-close{align-self:start}.drawer-heading{padding:1rem 1.25rem .5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.drawer-sections{flex:1;display:flex;flex-direction:column;gap:.15rem;padding:0 .55rem .5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.drawer-group{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.25rem}.drawer-section{display:flex;align-items:flex-start;gap:.75rem;width:100%;min-height:var(--touch-min);padding:.85rem .75rem;border:none;border-radius:.75rem;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .15s}.drawer-section:hover:not(:disabled),.drawer-section.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.drawer-section.is-soon{opacity:.55;cursor:not-allowed}.drawer-section.is-soon:hover{background:transparent}.drawer-section.active{box-shadow:inset 3px 0 0 var(--accent)}.drawer-section-icon-wrap{width:2rem;height:2rem;border-radius:.5rem;background:var(--surface-2);display:grid;place-items:center;color:var(--brand);flex-shrink:0}.drawer-section.active .drawer-section-icon-wrap{background:var(--accent);color:#fff}.drawer-section-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.drawer-section-label{font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.4rem}.drawer-section-desc{font-size:.72rem;color:var(--text-muted);line-height:1.35}.soon-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--amber) 20%,var(--surface));color:var(--amber)}.drawer-footer{padding:.75rem .75rem 0;border-top:1px solid var(--border)}.drawer-footer-btn{width:100%;display:flex;align-items:center;gap:.6rem;padding:.85rem .75rem;border:none;border-radius:.75rem;background:transparent;color:var(--text-muted);font-weight:600;font-size:.85rem;cursor:pointer}.drawer-footer-btn:hover,.drawer-footer-btn.active{background:var(--surface-2);color:var(--text)}.drawer-footer-btn.active{box-shadow:inset 3px 0 0 var(--accent)}.drawer-version{padding:.65rem .75rem 0;font-size:.72rem;font-weight:700;color:var(--text-muted)}.placeholder-section{align-items:center;text-align:center;padding:2rem 1.5rem}.placeholder-icon-wrap{width:4rem;height:4rem;border-radius:1rem;background:var(--accent-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:.75rem}.placeholder-section h2{font-size:1.35rem;margin-bottom:.5rem}.placeholder-badge{margin-top:1.25rem;display:inline-block;padding:.4rem .85rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:.75rem;font-weight:700}.placeholder-note{margin-top:1rem;font-size:.8rem;color:var(--text-muted);max-width:18rem;line-height:1.45}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.65rem;font-weight:700;padding:.45rem .2rem .3rem;min-height:var(--nav-h)}.nav-item:active{opacity:.7}.nav-item.active{color:var(--accent)}.nav-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:2rem;height:3px;background:var(--accent);border-radius:0 0 4px 4px;pointer-events:none}.nav-item-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:0;max-width:100%}.nav-icon-svg{flex-shrink:0;display:block}.nav-label{display:block;line-height:1.1;white-space:nowrap;text-align:center}.job-meta{color:var(--text-muted);font-size:.8rem}.collapse-chevron{color:var(--text-muted);font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:0;padding-left:var(--safe-l);padding-right:var(--safe-r)}.modal-sheet{width:100%;max-width:32rem;max-height:min(78dvh,calc(100dvh - var(--safe-t) - 1rem));display:flex;flex-direction:column;min-height:0;background:var(--surface);border-radius:1.25rem 1.25rem 0 0;padding:.5rem 1rem calc(1rem + var(--safe-b))}.modal-grabber{width:2.25rem;height:.25rem;border-radius:999px;background:var(--border);margin:.35rem auto .65rem}.modal-done{min-height:var(--touch-min);min-width:var(--touch-min);display:grid;place-items:center}.modal-sheet.confirm{border-radius:1rem;padding:1.5rem;text-align:center}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.modal-options{display:flex;flex-direction:column;gap:.35rem;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.modal-option{min-height:var(--touch-min);padding:.85rem 1rem;border-radius:.6rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;font-weight:600;cursor:pointer}.modal-option:active{background:var(--accent-soft)}.modal-option.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.confirm-actions{display:flex;gap:.75rem;margin-top:1.25rem;justify-content:center}.modal-search{width:100%;min-height:var(--touch-min);padding:.7rem .9rem;margin-bottom:.75rem;border-radius:.55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:max(1rem,1rem)}.modal-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.modal-empty{text-align:center;color:var(--text-muted);font-size:.85rem;padding:1rem}.segmented-control{display:grid;gap:.5rem;margin-top:.75rem}.segmented-control--2{grid-template-columns:repeat(2,1fr)}.segmented-control--3{grid-template-columns:repeat(3,1fr)}.segmented-control--4{grid-template-columns:repeat(2,1fr)}@media(min-width:23rem){.segmented-control--4{grid-template-columns:repeat(4,1fr)}}.segmented-btn{min-height:var(--touch-min);padding:.65rem .5rem;border-radius:.55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-weight:700;font-size:.82rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.segmented-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.segmented-btn-sub{display:block;font-size:.68rem;font-weight:600;opacity:.85;margin-top:.15rem}.print-label-size-row{margin-top:.5rem}.print-guide-card .text-hint strong{font-weight:700;color:var(--text)}.usb-printer-panel--connected{border-color:#047857;box-shadow:0 0 0 1px #04785726}.usb-printer-panel--unsupported{opacity:.92}.usb-printer-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.usb-printer-panel__dot{width:.65rem;height:.65rem;border-radius:50%;background:#94a3b8;flex-shrink:0}.usb-printer-panel__dot.is-on{background:#10b981;box-shadow:0 0 0 3px #10b98140}.usb-printer-panel__status{margin:.35rem 0 .5rem;font-size:.88rem;font-weight:700;color:var(--text)}.usb-printer-panel__note{margin:0 0 .65rem;font-size:.78rem;line-height:1.4;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;padding:.5rem .65rem}.usb-printer-panel__actions{display:grid;gap:.5rem}.usb-printer-panel__list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.45rem}.usb-printer-panel__list li{display:grid;gap:.1rem;font-size:.8rem;padding:.45rem .55rem;border-radius:.45rem;background:var(--surface-2, #f8fafc);border:1px solid var(--border)}.usb-printer-panel__list span{color:var(--text-muted, #64748b);font-size:.74rem}.usb-printer-panel--compact .text-hint{display:none}.usb-connection-chip{display:inline-flex;align-items:center;margin-top:.25rem;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropoff-filter-row{margin-top:.5rem}.sampling-job-toggle{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.3rem;padding:.28rem;border-radius:.7rem;background:var(--surface-2);border:1px solid var(--border);margin-top:.35rem}.sampling-job-btn{min-height:2.55rem;border:none;border-radius:.55rem;background:transparent;color:var(--text-muted);font-weight:700;font-size:.82rem;cursor:pointer;padding:.4rem .45rem;transition:background .15s,color .15s,box-shadow .15s}.sampling-job-btn.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 4px #0f172a14}.sampling-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sampling-req-item{display:flex;flex-direction:column;gap:.25rem}.sampling-req-item.full{grid-column:1 / -1}.sampling-req-value{font-weight:700;font-size:.95rem}.section-title,.sampling-section-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 .45rem}.section-step{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.15rem}.section-step-num{flex-shrink:0;width:1.55rem;height:1.55rem;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:var(--brand);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);margin-top:.05rem}.section-step-body{min-width:0;flex:1}.section-step .section-title{margin:0 0 .2rem;color:var(--text);text-transform:none;letter-spacing:-.01em;font-size:1rem;font-weight:700}.section-header{display:flex;flex-direction:column;gap:.35rem}.section-header .section-title,.section-header .sampling-section-title{margin-bottom:0}.sampling-tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.sampling-tag{padding:.35rem .65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:600}.sampling-body{font-size:.88rem;line-height:1.55;color:var(--text)}.sampling-bottle-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.sampling-bottle-list li{padding:.65rem .75rem;border-radius:.55rem;background:var(--surface-2);border:1px solid var(--border);font-size:.85rem;font-weight:600}.sampling-diagram-card{padding-bottom:.5rem}.sampling-diagram-note{font-size:.75rem;margin-bottom:.65rem}.sampling-diagram{width:100%;max-width:100%;height:auto;border-radius:.55rem;border:1px solid var(--border);background:#fff;display:block}.sampling-refs-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0;border:none;background:transparent;color:var(--text);font-weight:700;font-size:.9rem;cursor:pointer}.collapse-chevron.open{transform:rotate(90deg);display:inline-block;transition:transform .2s}.sampling-refs-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.sampling-ref-btn{padding:.7rem .85rem;border-radius:.55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;font-weight:600;font-size:.85rem;cursor:pointer}.sampling-ref-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.sampling-ref-panel{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.dropoff-results-intro{font-size:.85rem;color:var(--text-muted);padding:0 .15rem}.dropoff-result-card{display:flex;flex-direction:column;gap:.65rem}.dropoff-result-header{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:start}.dropoff-rank{width:1.65rem;height:1.65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:.8rem;display:grid;place-items:center}.dropoff-result-titles h3{font-size:.95rem;font-weight:700;line-height:1.25}.dropoff-result-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.dropoff-provider-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.dropoff-result-card.is-closed{opacity:.72}.dropoff-hours-badge{font-size:.65rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .4rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:var(--surface-2)}.dropoff-hours-badge.is-open{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.dropoff-hours-badge.is-closing-soon{color:#b45309;background:#fffbeb;border-color:#fde68a}.dropoff-hours-badge.is-opens-later{color:var(--brand);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.dropoff-hours-badge.is-closed{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 25%,var(--border))}.dropoff-route-badge{font-size:.65rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .4rem;border-radius:999px}.dropoff-route-badge.is-onroute{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.dropoff-route-badge.is-slight{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.dropoff-route-badge.is-detour{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.dropoff-route-meta{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.dropoff-distance-unit{display:block;font-size:.62rem;font-weight:700;color:var(--text-muted)}.dropoff-ondemand-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}.dropoff-provider-badge.als{background:#dbeafe;color:#1d4ed8}.dropoff-provider-badge.severn-trent{background:#d1fae5;color:#047857}.dropoff-provider-badge.eurofins{background:#ede9fe;color:#6d28d9}[data-theme=dark] .dropoff-provider-badge.als{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .dropoff-provider-badge.eurofins{background:#2e1065;color:#c4b5fd}.dropoff-distance{font-weight:800;font-size:1rem;color:var(--emerald);font-variant-numeric:tabular-nums;white-space:nowrap}.dropoff-address{font-size:.88rem;line-height:1.45}.dropoff-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem}.dropoff-meta-grid .full{grid-column:1 / -1}.dropoff-meta-value{display:block;font-size:.85rem;font-weight:600;margin-top:.15rem}.dropoff-warning{font-size:.8rem;color:var(--amber);font-weight:600;padding:.55rem .65rem;border-radius:.5rem;background:color-mix(in srgb,var(--amber) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 25%,transparent)}.dropoff-search-card{gap:.85rem}.dropoff-access-notice{margin:0;padding:.65rem .75rem;border-radius:.5rem;background:var(--surface-2);border:1px solid var(--border);line-height:1.45}.dropoff-access-notice strong{font-weight:700;color:var(--text)}.dropoff-access-info{padding:.65rem .75rem;border-radius:.5rem;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.dropoff-access-info p{margin-top:.35rem;margin-bottom:0;font-size:.82rem;line-height:1.5;color:var(--text)}.dropoff-note{font-size:.8rem;color:var(--text-muted)}.dropoff-ref-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;font-size:.85rem}.dropoff-ref-list a{color:var(--accent);font-weight:600;text-decoration:none}.dropoff-ref-list a:hover{text-decoration:underline}.tank-dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.tank-dim-full{grid-column:1 / -1}.text-hint,.tank-hint{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.tank-volume-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.tank-volume-box{padding:.85rem;border-radius:.65rem;background:var(--surface-2);border:1px solid var(--border)}.tank-volume-box.accent{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.tank-volume-box .medium-number{font-size:1.35rem;margin-top:.25rem}.tank-volume-box .sub-note{margin-top:.2rem;color:var(--text-muted)}.tank-ref-table{display:flex;flex-direction:column;gap:.35rem}.tank-ref-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}.tank-ref-row{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:.5rem;padding:.6rem .65rem;border-radius:.5rem;background:var(--surface-2);font-size:.82rem;font-weight:600;min-width:17.5rem}.tank-ref-row.head{background:transparent;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:0 .65rem}.tank-ref-highlight{color:var(--accent);font-weight:800}.inline-notice{font-size:.8rem;color:var(--amber);line-height:1.4}textarea.input-lg{resize:vertical;min-height:4.5rem;height:auto;padding:.75rem 1rem;font-family:inherit;font-weight:600;line-height:1.45}.input-lg select,select.input-lg{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}@media(max-width:22rem){.tank-volume-grid,.sampling-req-grid,.tank-dim-grid,.dropoff-meta-grid{grid-template-columns:1fr}.dropoff-result-header{grid-template-columns:auto 1fr}.dropoff-distance{grid-column:1 / -1}.brand h1{font-size:.88rem}}.app-log-panel{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.app-log-actions{display:flex;gap:.75rem}.app-log-list{max-height:14rem;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:.65rem .75rem;border-radius:.5rem;background:var(--surface-2);border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;line-height:1.45}.app-log-empty{color:var(--text-muted)}.app-log-line{margin-bottom:.35rem;word-break:break-word}.app-log-time{color:var(--text-muted)}.app-log-tag{color:var(--accent);font-weight:600}.app-log-warn .app-log-tag{color:var(--amber)}.app-log-error,.app-log-error .app-log-tag{color:var(--danger)}.submission-tab{display:flex;flex-direction:column;gap:.85rem;padding-bottom:calc(5.5rem + var(--safe-b))}.submission-setup-card .card-intro{margin-bottom:.35rem}.submission-entry-card .section-title{margin-bottom:.25rem}.submission-sticky-actions{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--content-max);z-index:25;padding:.65rem 1rem calc(.75rem + var(--safe-b));background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-top:1px solid var(--border);box-shadow:0 -6px 24px #0f172a14;display:flex;flex-direction:column;gap:.45rem}.submission-sticky-actions .btn-primary{box-shadow:0 2px 8px color-mix(in srgb,var(--brand) 35%,transparent)}.submission-sticky-actions .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.send-office-sheet{max-width:22rem;width:calc(100% - 2rem)}.send-office-folder{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:.35rem 0 .5rem}.send-office-pack{padding:.75rem .85rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.send-office-checklist{margin:.35rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.45}.send-office-from{display:flex;flex-direction:column;gap:.45rem;font-size:.88rem}.send-office-from .label-sm{display:block;margin-bottom:.1rem}.send-office-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.submission-sticky-actions .print-status-msg{margin:0;text-align:center;font-size:.75rem}.submission-ref-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.submission-ref-details>summary{list-style:none;cursor:pointer;padding:.95rem 1.1rem;font-size:.85rem;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;-webkit-user-select:none;user-select:none}.submission-ref-details>summary::-webkit-details-marker{display:none}.submission-ref-details>summary:after{content:"▸";color:var(--text-muted);font-size:.75rem;transition:transform .15s ease}.submission-ref-details[open]>summary:after{transform:rotate(90deg)}.submission-ref-details .submission-ref-body{padding:.75rem 1.1rem 1rem;border-top:1px solid var(--border)}.drawer-group-label{padding:.85rem 1.25rem .35rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.submission-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;align-items:start}.submission-sample-list{display:flex;flex-direction:column;gap:.75rem}.submission-sample-card{border:1px solid var(--border);border-radius:.6rem;padding:.75rem .85rem;background:var(--surface-2, #f8fafc)}.submission-sample-card--active{border-color:color-mix(in srgb,var(--accent, #0d6efd) 35%,var(--border));background:color-mix(in srgb,var(--accent, #0d6efd) 4%,var(--surface-2, #f8fafc))}.submission-sample-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.submission-sample-card-title{font-weight:700;font-size:.92rem}.submission-sample-card-badge{font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #0d6efd) 12%,transparent);color:var(--accent, #0d6efd)}.submission-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .75rem;align-items:start}.submission-field-full{grid-column:1 / -1}.submission-checkbox-field{display:grid;grid-template-columns:1fr auto;gap:.5rem .75rem;align-items:center;margin:.75rem 0}.submission-form-auto-label{display:flex;flex-direction:column;gap:.2rem;margin-top:.75rem;padding:.75rem .85rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface-2, #f8fafc)}.submission-form-auto-value{font-weight:700}.app-error-fallback{max-width:24rem;margin:0 auto;min-height:100dvh;padding:calc(2rem + var(--safe-t)) 1.25rem calc(1.5rem + var(--safe-b));text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}.app-error-fallback h1{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;margin:0}.app-error-fallback p{color:var(--text-muted);font-size:.88rem;line-height:1.45}.app-error-detail{font-size:.78rem;color:var(--danger);word-break:break-word}.print-status-msg{margin-top:.65rem}.excel-print-status{margin-top:.5rem;padding:.65rem .75rem;border-radius:8px;background:var(--surface-2, #f1f5f9);border:1px solid var(--border, #e2e8f0)}.excel-print-status--ready{background:color-mix(in srgb,#16a34a 12%,transparent);border-color:color-mix(in srgb,#16a34a 35%,transparent)}.excel-print-status code{font-size:.85em}.submission-form-route{margin-top:.35rem;padding:.75rem .85rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem}.submission-form-route-name{margin:0;font-weight:700;font-size:.95rem}.submission-print-actions{display:flex;flex-direction:column;gap:.5rem}.submission-preview-toggle{margin-top:.85rem;display:block}.submission-preview-card-inner{margin-top:.65rem}.submission-preview-pages-hint{margin:0 0 .5rem}.submission-preview-host{width:100%;height:min(70vh,42rem);min-height:12rem;padding:.5rem;background:#e8eaed;border:1px solid var(--border);border-radius:.5rem;overflow:auto;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box}.submission-preview-viewport{overflow:visible;background:transparent;flex:0 0 auto}.submission-preview-viewport--multipage{overflow:visible}.submission-preview-pages{display:flex;flex-direction:column;gap:12px}.submission-preview-page-wrap{background:#fff;box-shadow:0 1px 4px #00000014}.submission-preview-page-label{font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#475569;padding:.35rem .5rem;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.submission-form-preview-wrap{transform-origin:top left;background:#fff}.submission-form-preview-wrap .submission-form-stack{position:relative;width:100%;height:100%;overflow:hidden;background:#fff;aspect-ratio:var(--form-aspect)}.submission-form-preview-wrap .submission-form-pdf-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}.submission-form-preview-wrap .submission-form-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.submission-form-preview-wrap .submission-form-field{position:absolute;box-sizing:border-box;padding:1px 3px;overflow:hidden;display:flex;font-family:Arial,Helvetica,sans-serif;color:#000;line-height:1.05;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.submission-form-preview-wrap .submission-form-field--rotated{overflow:visible;white-space:normal;text-overflow:clip}.submission-form-preview-wrap .submission-form-field-rotate{display:inline-block;white-space:nowrap;transform-origin:center center}.submission-form-preview-wrap .submission-form-field--multiline{white-space:normal;flex-direction:column;align-items:flex-start;justify-content:flex-start;line-height:1.2;text-overflow:clip;overflow:hidden}.submission-sample-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border)}.submission-sample-btn{flex:1 1 auto;min-width:8.5rem}.submission-form-sheet-wrap{transform-origin:top left;background:#fff}.submission-form-sheet-wrap .exact-form-wrap{color:#000}.submission-form-sheet-wrap .exact-form-grid{max-width:none}.submission-form-sheet-wrap .exact-form-grid td{font-size:inherit}@media(max-width:48rem){.submission-preview-card{padding-top:.65rem;padding-bottom:.65rem}.submission-preview-card .submission-actions{margin-top:.5rem}.submission-preview-host{height:min(65vh,28rem);min-height:10rem}}.submission-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.submission-labels-table-wrap{overflow-x:auto}.submission-labels-table{width:100%;border-collapse:collapse;font-size:.78rem}.submission-labels-table th,.submission-labels-table td{border:1px solid var(--border);padding:.35rem .45rem;text-align:left;vertical-align:top}.submission-labels-table th{background:var(--surface-2, #f8fafc)}@media(max-width:22rem){.submission-field-grid,.submission-sample-grid{grid-template-columns:1fr}}
