:root{--em-primary:#006098;--em-primary-dark:#00527f;--em-primary-deep:#004265;--em-primary-soft:#e2eff7;--em-on-primary:#fff;--em-accent:#a4cd39;--em-bg:#fff;--em-bg-subtle:#f6f6f7;--em-surface:#fff;--em-text:#1a1918;--em-muted:#736c64;--em-muted-soft:#9b948c;--em-border:#e7e5e2;--em-border-strong:#bbb5ae;--em-hover:#b3b4c42e;--em-success-bg:#e4efe9;--em-success-on:#0f503c;--em-error-bg:#f5e5eb;--em-error-on:#9b0032;--em-warn-bg:#d977061a;--em-warn-border:#d977064d;--em-gs:#c0392b;--edge-control:#00000024;--shadow-sm:0 1px 2px #1a19180f;--shadow-md:0 4px 14px #1a19181a;--ease-out:cubic-bezier(.2,.7,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--beam-arc:#a4cd3980;--beam-tip:#006098a6;--buncss-light:initial;--buncss-dark: ;color-scheme:light only}:root[data-theme=dark]{--em-primary:#51baea;--em-primary-dark:#79cdf0;--em-primary-deep:#9adcf5;--em-primary-soft:#10344a;--em-on-primary:#08222f;--em-bg:#131417;--em-bg-subtle:#1b1d21;--em-surface:#1f2126;--em-text:#e8e6e3;--em-muted:#a49d94;--em-muted-soft:#7d776f;--em-border:#33363c;--em-border-strong:#4c5058;--em-hover:#b2bacd1f;--em-success-bg:#1d3229;--em-success-on:#85d9b6;--em-error-bg:#3a2130;--em-error-on:#ff92b3;--em-warn-bg:#fbbf241f;--em-warn-border:#fbbf2447;--em-gs:#ff7a7a;--edge-control:#ffffff2e;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000080;--beam-arc:#a4cd3973;--beam-tip:#51baea99;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}:root:not([data-theme]){--buncss-light:initial;--buncss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--buncss-light: ;--buncss-dark:initial}}:root:not([data-theme]) body{background:canvas}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--em-bg);color:var(--em-text);-webkit-font-smoothing:antialiased;margin:0;font-family:Atlas Grotesk Web,Atlas Grotesk,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes beam-in{to{opacity:1}}@keyframes border-beam{to{transform:rotate(1.4turn)}}.brand-logo-wrap{display:inline-flex;align-items: center}.brand-logo-wrap img{display:block;width:100%;height:auto}.brand-logo-wrap .logo-dark,:root[data-theme=dark] .brand-logo-wrap .logo-light{display:none}:root[data-theme=dark] .brand-logo-wrap .logo-dark{display:block}.btn-primary{background:var(--em-primary);color:var(--em-on-primary);cursor:pointer;transition:background .15s var(--ease-out);border:none;border-radius:12px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500}.btn-primary:hover{background:var(--em-primary-dark)}.btn-primary:active{background:var(--em-primary-deep)}.btn-primary:disabled{opacity:.45;cursor:default;background:var(--em-primary)}.btn-primary.is-busy{opacity:1;cursor:progress;display:inline-flex;justify-content:center;align-items: center;gap:8px}.btn-primary.is-busy:before,.spinner{content:"";display:inline-block;animation:.7s linear infinite spin;vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px}.spinner{border-width:1.6px;width:11px;height:11px;margin-left:6px}.spinner[hidden]{display:none}.label-line{display:inline-flex;align-items: center}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.btn-primary.is-busy:before,.spinner{animation-duration:1.6s}}.btn-ghost{background:var(--em-surface);border:1px solid var(--edge-control);cursor:pointer;color:var(--em-text);transition:background .15s var(--ease-out),border-color .15s var(--ease-out);border-radius:12px;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--em-bg-subtle);border-color:var(--em-border-strong)}.theme-icon{display:inline-flex;color:var(--em-muted);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out);background:0 0;border:none;border-radius:999px;justify-content:center;align-items: center;width:30px;height:30px;padding:0}.theme-icon:hover{background:var(--em-hover);color:var(--em-text)}.theme-icon:focus-visible{outline:2px solid var(--em-primary);outline-offset:1px}.theme-icon svg{width:18px;height:18px}.center-page{display:flex;justify-content:center;align-items: center;min-height:100vh}.signin-page{position:relative}.signin-theme{position:absolute;z-index:3;top:18px;right:20px}.signin-card{position:relative;z-index:1;background:var(--em-surface);border:1px solid var(--em-border);text-align:center;box-shadow:var(--shadow-md);animation:fade-up .45s var(--ease-out)both;overflow:hidden;isolation:isolate;border-radius:12px;max-width:calc(100vw - 32px);padding:56px 64px}.signin-card>*{position:relative;z-index:2}.signin-card:before{content:"";position:absolute;z-index:0;background:conic-gradient(from 0deg,transparent 0deg 300deg,var(--beam-arc)336deg,var(--beam-tip)354deg,transparent 360deg);animation:border-beam 3.4s var(--ease-in-out).3s 1 forwards,beam-in .9s var(--ease-out).3s 1 both;width:200%;height:200%;top:-50%;left:-50%}.signin-card:after{content:"";position:absolute;z-index:1;background:var(--em-surface);border-radius:11px;inset:1.5px}.signin-logo{animation:pop-in .5s .1s var(--ease-out)both;width:232px;margin:0 auto}.signin-card h1{letter-spacing:-.01em;color:var(--em-muted);animation:fade-up .4s .16s var(--ease-out)both;margin:22px 0 28px;font-size:24px;font-weight:500;line-height:1.25}.signin-card .btn-primary{animation:fade-up .4s .26s var(--ease-out)both}.mock-note{color:var(--em-muted-soft);max-width:340px;margin:18px auto 0;font-size:13px}.topbar{display:flex;border-bottom:1px solid var(--em-border);background:var(--em-surface);justify-content:space-between;align-items: center;gap:12px;padding:12px 20px}.topbar-brand{display:flex;align-items: center;gap:12px;min-width:0}.topbar-brand .brand-logo-wrap{flex-shrink:0;width:132px}.topbar-product{color:var(--em-muted);border-left:1px solid var(--em-border);white-space:nowrap;padding-left:12px;font-size:15px;font-weight:500}.userbox{display:flex;color:var(--em-muted);align-items: center;gap:10px;font-size:13px}.avatar{background:var(--em-accent);color:#22320a;display:inline-flex;border-radius:50%;justify-content:center;align-items: center;width:30px;height:30px;font-size:12px;font-weight:500}.app-main{animation:fade-up .35s var(--ease-out)both;width:calc(100vw - 32px);max-width:40rem;margin:32px auto}.panel{background:var(--em-surface);border:1px solid var(--em-border);box-shadow:var(--shadow-sm);border-radius:12px;padding:20px 22px}form{display:grid;gap:14px}label{display:grid;color:var(--em-muted);gap:4px;font-size:13px;font-weight:500}input,select{font:inherit;color:var(--em-text);border:1px solid var(--em-border-strong);background:var(--em-surface);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);border-radius:10px;min-width:0;padding:9px 12px;font-size:15px}select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238c857d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:38px}select:disabled{cursor:default;opacity:.6}input:focus,select:focus{outline:none;border-color:var(--em-primary);box-shadow:0 0 0 3px var(--em-primary-soft)}#barcode{font-size:17px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form .btn-primary,#print{padding:11px 16px;font-size:15px}#printHint,#staleNote{color:var(--em-muted);margin:0;font-size:13px}#printHint a{color:var(--em-primary)}#staleNote{color:var(--em-error-on);margin-bottom:10px}#printHint:empty,#staleNote:empty{display:none}#readout{background:var(--em-bg-subtle);border:1px solid var(--em-border);word-break:break-all;white-space:pre-wrap;color:var(--em-muted);border-radius:10px;margin-top:16px;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}#readout .gs{color:var(--em-gs);font-weight:700}#result{display:none;margin-top:16px}#result dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0 0 16px}#result dt{color:var(--em-muted)}#result dd{margin:0;font-weight:600}#print{width:100%}.snackbars{position:fixed;z-index:1000;display:flex;pointer-events:none;flex-direction:column;gap:8px;width:min(34rem,100vw - 32px);bottom:24px;left:50%;transform:translate(-50%)}.snackbar{pointer-events:auto;display:flex;background:var(--em-surface);color:var(--em-text);border:1px solid var(--em-border);border-left:4px solid var(--em-primary);box-shadow:var(--shadow-md);animation:snack-in .22s var(--ease-out)both;border-radius:10px;align-items: flex-start;gap:10px;padding:12px 10px 12px 14px;font-size:14px;line-height:1.45}.snackbar.leaving{animation:snack-out .18s var(--ease-in-out)both}.snackbar-success{background:var(--em-success-bg);color:var(--em-success-on);border-left-color:var(--em-success-on)}.snackbar-error{background:var(--em-error-bg);color:var(--em-error-on);border-left-color:var(--em-error-on)}.snackbar-warning{border-left-color:#d97706}.snackbar-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px;margin-top:1px}.snackbar-warning .snackbar-icon{color:#d97706}.snackbar-info .snackbar-icon{color:var(--em-primary)}.snackbar-text{flex:1;min-width:0}.snackbar-action,.snackbar-close{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:6px;flex-shrink:0}.snackbar-action{color:var(--em-primary);padding:0 6px;font-weight:600}.snackbar-close{opacity:.6;padding:0 6px;font-size:18px;line-height:1}.snackbar-close:hover{opacity:1}.snackbar-close:focus-visible{opacity:1}.snackbar-action:focus-visible{outline:2px solid;outline-offset:1px}.snackbar-close:focus-visible{outline:2px solid;outline-offset:1px}@keyframes snack-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes snack-out{to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.snackbar,.snackbar.leaving{animation:none}}@media (max-width:560px){.signin-card{padding:40px 28px}.topbar-product,.userbox .user-name{display:none}.row{grid-template-columns:1fr}}
