:root{--color-primary:#1e4646;--color-primary-active:#163636;--color-canvas:#fbf8f6;--color-surface-soft:#f4ecea;--color-surface-strong:#e9dcd8;--color-surface-dark:var(--color-primary);--color-surface-dark-elevated:#2a5656;--color-hairline:#e6d9d5;--color-ink:var(--color-primary);--color-body:#3a4a4b;--color-muted:#7a6a6e;--color-border-strong:#b49a9f;--color-on-primary:#fbf8f6;--color-on-dark:var(--color-canvas);--color-accent-soft:#f3e4e6;--color-teal:#1e6464;--color-rose:#aa6e78;--color-plum:#8c5a64;--color-beige:#c8b4a0;--color-beige-soft:#f3ece3;--color-signature-coral:var(--color-rose);--color-signature-forest:var(--color-primary-active);--color-signature-cream:var(--color-beige-soft);--color-signature-peach:var(--color-accent-soft);--color-signature-mint:var(--color-surface-soft);--color-signature-yellow:var(--color-beige-soft);--color-signature-mustard:var(--color-beige);--color-link:var(--color-plum);--color-link-active:var(--color-primary);--color-info:var(--color-primary);--color-info-border:var(--color-teal);--color-success:var(--color-teal);--color-success-border:var(--color-teal);--color-danger:#a33333;--color-pricing-ink:var(--color-primary);--color-focus-ring:#aa6e7866;--font-brand:"Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-display:var(--font-brand);--font-text:var(--font-brand);--font-pricing:var(--font-brand);--weight-thin:100;--weight-extralight:200;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--weight-pricing-display:500;--weight-pricing-body:600;--type-display-xl-size:48px;--type-display-xl-lh:1.1;--type-display-xl-ls:0;--type-display-xl-weight:500;--type-display-lg-size:40px;--type-display-lg-lh:1.2;--type-display-lg-ls:0;--type-display-lg-weight:400;--type-display-md-size:32px;--type-display-md-lh:1.2;--type-display-md-ls:0;--type-display-md-weight:400;--type-title-lg-size:24px;--type-title-lg-lh:1.35;--type-title-lg-ls:.12px;--type-title-lg-weight:400;--type-title-md-size:20px;--type-title-md-lh:1.5;--type-title-md-ls:0;--type-title-md-weight:400;--type-title-sm-size:18px;--type-title-sm-lh:1.4;--type-title-sm-ls:0;--type-title-sm-weight:500;--type-label-md-size:16px;--type-label-md-lh:1.4;--type-label-md-ls:0;--type-label-md-weight:500;--type-button-size:16px;--type-button-lh:1.4;--type-button-ls:0;--type-button-weight:500;--type-body-md-size:14px;--type-body-md-lh:1.25;--type-body-md-ls:0;--type-body-md-weight:400;--type-caption-size:14px;--type-caption-lh:1.35;--type-caption-ls:.16px;--type-caption-weight:500;--type-legal-size:13.12px;--type-legal-lh:1.2;--type-legal-ls:0;--type-legal-weight:600;--type-pricing-display-size:44.8px;--type-pricing-display-lh:1.1;--type-pricing-display-weight:500;--type-pricing-section-size:28px;--type-pricing-section-lh:1.2;--type-pricing-section-weight:500;--type-pricing-card-title-size:20px;--type-pricing-card-title-lh:1.3;--type-pricing-card-title-weight:500;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-section:96px;--container-max:1280px;--container-gutter:48px;--nav-height:64px;--radius-xs:2px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-pill:9999px;--radius-full:9999px;--border-hairline:1px solid var(--color-hairline);--border-strong:1px solid var(--color-border-strong);--elevation-flat:none;--elevation-button-rest:0 1px 2px #1e464629, 0 0 0 1px #1e46460a;--elevation-button-focus:0 0 0 2px var(--color-focus-ring);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-text);font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);font-weight:var(--weight-regular);color:var(--color-body);background:var(--color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-active)}*,:before,:after,*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-surface-soft);color:var(--color-ink);font-family:var(--font-brand);-webkit-tap-highlight-color:transparent}#root{background:var(--color-canvas);max-width:430px;min-height:100dvh;margin:0 auto}::-webkit-scrollbar{width:0;height:0}.no-scrollbar{scrollbar-width:none}button{font-family:var(--font-brand)}.brand-wordmark{object-fit:cover;object-position:center;mix-blend-mode:multiply;flex:none;width:132px;height:30px;display:block}.login-brand{flex-direction:column;align-self:center;align-items:center;gap:0;width:min(280px,100%);margin:28px 0 12px;display:flex}.login-brand .brand-wordmark{width:100%;height:64px}.login-brand-apl{width:40px;height:auto;display:block}@keyframes sheetUp{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes stampPop{0%{opacity:0;transform:scale(2.4)rotate(-25deg)}60%{opacity:1;transform:scale(.82)rotate(8deg)}80%{transform:scale(1.08)rotate(-3deg)}to{transform:scale(1)rotate(0)}}.app-shell{flex-direction:column;max-width:430px;height:100dvh;margin:0 auto;display:flex;overflow-x:hidden}.screen-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.tab-slide-in{animation:.26s cubic-bezier(.22,.7,.3,1) tabSlideIn}@keyframes tabSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.screen{background:var(--color-canvas);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.top-gap{height:calc(14px + env(safe-area-inset-top,0px));flex:none}.bottom-gap{height:calc(14px + env(safe-area-inset-bottom,0px));background:var(--color-canvas);flex:none}.scroll{flex:1;min-height:0;overflow-y:auto}.subhead{flex:none;justify-content:space-between;align-items:center;height:44px;padding:0 8px 0 4px;display:flex}.back-btn{width:44px;height:44px;color:var(--color-ink);cursor:pointer;background:0 0;border:none;font-size:18px}.cta{border-radius:var(--radius-lg);background:var(--color-primary);width:100%;height:54px;color:var(--color-on-primary);font-family:var(--font-brand);cursor:pointer;border:none;font-size:15px;font-weight:500}.cta:disabled{background:var(--color-surface-soft);color:var(--color-muted);cursor:default}.btn-ghost{border-radius:var(--radius-lg);border:1px solid var(--color-hairline);background:var(--color-canvas);height:48px;color:var(--color-ink);font-family:var(--font-brand);cursor:pointer;font-size:14px;font-weight:500}.num{font-variant-numeric:tabular-nums}.overlay-frame{max-width:430px;margin:0 auto;position:fixed;inset:0}.tabbar-wrap{background:var(--color-canvas);flex:none}.tabbar{z-index:10;border-top:1px solid var(--color-hairline);background:var(--color-canvas);display:flex;position:relative}.tabbar .tab{height:58px;font-family:var(--font-brand);cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-top:2px solid #0000;flex:1;font-size:12px;font-weight:400}.tabbar .tab.on{border-top-color:var(--color-primary);color:var(--color-ink);font-weight:500}.switch{border:1px solid var(--color-border-strong);background:var(--color-canvas);cursor:pointer;border-radius:15px;flex:none;width:48px;height:30px;padding:0;position:relative}.switch .knob{background:var(--color-border-strong);border-radius:50%;width:22px;height:22px;transition:left .16s;position:absolute;top:3px;left:3px}.switch.on{border-color:var(--color-primary);background:var(--color-primary)}.switch.on .knob{background:var(--color-on-primary);left:21px}.page{background:var(--color-canvas);max-width:430px;min-height:100%;margin:0 auto;padding:18px}.page.center{justify-content:center;align-items:center;display:flex}.card{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);text-align:center;width:100%;padding:24px 20px}.brand-sm{letter-spacing:.2em;color:var(--color-ink);font-weight:500}.muted{color:var(--color-muted);font-size:14px;line-height:1.5}.err{color:var(--color-danger);margin:8px 0;font-size:14px}.form{text-align:left;flex-direction:column;gap:8px;margin-top:16px;display:flex}.form label{color:var(--color-muted);margin-top:8px;font-size:13px}.form input,.staff-input,.search-row input,.measure-row input{border-radius:var(--radius-sm);border:1px solid var(--color-hairline);background:var(--color-surface-soft);width:100%;color:var(--color-ink);font-size:16px;font-family:var(--font-brand);padding:14px}.form input:focus,.staff-input:focus,.search-row input:focus,.measure-row input:focus{outline:2px solid var(--color-info-border)}.seg{gap:8px;display:flex}.seg button{border-radius:var(--radius-sm);border:1px solid var(--color-hairline);background:var(--color-canvas);min-height:44px;color:var(--color-body);cursor:pointer;flex:1;padding:12px;font-size:15px}.seg button.seg-on{border-color:var(--color-primary);color:var(--color-ink);background:var(--color-accent-soft)}.btn{border-radius:var(--radius-lg);background:var(--color-primary);width:100%;min-height:50px;color:var(--color-on-primary);font-size:15px;font-weight:500;font-family:var(--font-brand);cursor:pointer;border:none;margin-top:14px;padding:14px}.btn:disabled{opacity:.6}.btn.gold{background:var(--color-primary);color:var(--color-on-primary)}.btn.ghost{background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline)}.btn.scan-btn{margin-top:18px}.link{color:var(--color-link);cursor:pointer;background:0 0;border:none;margin-top:12px;font-size:14px}.topbar{justify-content:space-between;align-items:center;display:flex}.cta-box{border-radius:var(--radius-md);background:var(--color-accent-soft);text-align:left;margin:18px 0;padding:16px}.cta-box b{color:var(--color-primary)}.search-row{gap:8px;margin-top:12px;display:flex}.search-row input{flex:1;padding:13px;font-size:15px}.search-row .btn{width:auto;margin-top:0;padding:13px 18px}.cust-card{text-align:left;margin-top:16px}.cust-card h2{margin:0}.big-num{font-variant-numeric:tabular-nums;margin:10px 0;font-size:20px;font-weight:700}.insta-check{align-items:center;gap:10px;margin:12px 0;font-size:15px;display:flex}.insta-check input{width:20px;height:20px}.ok-msg{color:var(--color-success);margin-top:10px;font-weight:700}.measure-items{margin:14px 0}.measure-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.measure-row .m-name{flex:1.2}.measure-row .m-val{flex:1}.measure-row input{padding:11px;font-size:15px}.m-del{background:var(--color-surface-soft);color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;border:none;flex:none;width:40px;height:40px}.scanner-overlay{z-index:95;background:#1e4646f2;justify-content:center;align-items:center;max-width:430px;margin:0 auto;padding:18px;display:flex;position:fixed;inset:0}.scanner-box{text-align:center;width:100%;max-width:360px}.scanner-box .muted{color:#fbf8f699;margin:12px 0}.scanner-region{aspect-ratio:1;background:#000;border:1px solid #fbf8f647;width:100%;position:relative;overflow:hidden}.scanner-region video,.scanner-region canvas{display:block;object-fit:cover!important;width:100%!important;height:100%!important}@keyframes pinPulse{0%{box-shadow:0 0 #1e46468c}70%{box-shadow:0 0 0 16px #1e464600}to{box-shadow:0 0 #1e464600}}.pin-pulse{animation:1.6s ease-out infinite pinPulse;border-color:var(--color-primary)!important}.tab.locked{opacity:.35}@keyframes tabUnlock{0%{opacity:.35;text-shadow:none;background:0 0;transform:translateY(0)scale(1)}38%{opacity:1;color:var(--color-primary);text-shadow:0 0 18px #1e4646d9,0 0 5px #fbf8f6f2;background:radial-gradient(circle at 50% 42%,#fbf8f6f2,#1e46462e 55%,#0000 75%);font-weight:600;transform:translateY(-9px)scale(1.2)}62%{text-shadow:0 0 26px #1e464600;background:0 0;transform:translateY(0)scale(1)}to{opacity:1;text-shadow:none;background:0 0;transform:translateY(0)scale(1)}}.tab.unlock{animation:.95s cubic-bezier(.22,.7,.3,1) both tabUnlock}.report-brand-banner{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:linear-gradient(120deg, var(--color-accent-soft), var(--color-canvas));color:var(--color-primary);flex-direction:column;align-items:center;gap:10px;margin:8px 0 18px;padding:24px 20px;display:flex}.report-brand-banner span{letter-spacing:.04em;font-size:16px;line-height:1.5}.report-brand-banner img{object-fit:cover;object-position:center;width:min(260px,100%);height:60px;display:block}.scope-seg{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.scope-seg button{background:var(--color-canvas);color:var(--color-body);cursor:pointer;border:none;padding:6px 10px;font-size:12px}.scope-seg button.on{background:var(--color-primary);color:var(--color-on-primary)}.loading-dots:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite loadingDots;display:inline-block}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.list-loading{text-align:left}.skeleton-row{border-top:1px solid var(--color-hairline);justify-content:space-between;align-items:center;min-height:56px;display:flex}.skeleton-bar{background:linear-gradient(90deg, var(--color-surface-soft) 0%, var(--color-surface-strong) 50%, var(--color-surface-soft) 100%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.2s ease-in-out infinite skeletonShine;display:block}@keyframes skeletonShine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.loading-dots:after{content:"...";animation:none}.skeleton-bar{animation:none}}.wait-dot{background:var(--color-rose);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite waitPulse}@keyframes waitPulse{0%,to{opacity:.25}50%{opacity:1}}
