:root{--bg: #f4f1f8;--surface: #ffffff;--surface-2: #f7f4fc;--surface-3: #fbf9fe;--surface-4: #fcfbfe;--ink: #241d33;--ink-2: #4a4459;--ink-soft: #6e687d;--ink-faint: #a79fb8;--chrome: #2c1f45;--chrome-2: #43305f;--chrome-3: #3a2b55;--chrome-line: #3f2f5e;--chrome-line-2: #4e3d6e;--on-chrome: #ede7f6;--on-chrome-dim: #b7a9ce;--on-chrome-mut: #8e7db0;--on-chrome-faint: #7b6b9c;--accent: #6b3fa0;--accent-dark: #4e2b7a;--accent-hover: #5c3390;--accent-lift: #8c5bc8;--accent-lift-hover: #9d6dd8;--accent-soft: #ede7f6;--line: #e3dcf0;--line-2: #ddd5ea;--line-soft: #f0ecf7;--line-nested: #e9e3f3;--line-dash: #c9b9e4;--st-received: #b26b00;--st-received-tint: #fdf0dc;--st-embroidery: #6b3fa0;--st-embroidery-tint: #ede7f6;--st-dispatch: #2e7d5b;--st-dispatch-tint: #e4f3ec;--danger: #b3423f;--danger-dark: #8e3230;--danger-soft: #fdf3f3;--danger-line: #f0d9d9;--danger-on-dark: #f0b4b2;--ok: #2e7d5b;--ok-soft: #e4f3ec;--warn: #b26b00;--warn-soft: #fdf0dc;--r-xs: 6px;--r-sm: 10px;--r: 11px;--r-md: 12px;--r-lg: 13px;--r-xl: 14px;--r-2xl: 16px;--r-3xl: 18px;--r-4xl: 20px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--font-body: "Hanken Grotesk","Noto Sans Gurmukhi","Noto Sans Devanagari",system-ui,sans-serif;--font-display: var(--font-body);--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 15px;--fs-xl: 16px;--fs-2xl: 17px;--fs-3xl: 19px;--fs-4xl: 21px;--fs-5xl: 23px;--fs-6xl: 26px;--fs-h1: 38px;--fs-hero: 44px;--fs-stat: 42px;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--shadow-card: 0 1px 2px rgba(44, 31, 69, .04);--shadow-menu: 0 16px 36px rgba(44, 31, 69, .18);--shadow-pop: 0 18px 40px rgba(44, 31, 69, .16);--shadow-modal: 0 30px 70px rgba(36, 29, 51, .35);--shadow-sheet: 0 12px 30px rgba(44, 31, 69, .1);--shadow-press: 0 2px 0 var(--accent-dark);--sidebar-w: 244px;--content-max: 1400px;--content-px: var(--sp-7);--header-h: 74px;--stage: var(--st-received);--stage-tint: var(--st-received-tint);--c: var(--accent)}[data-stage=received]{--stage: var(--st-received);--stage-tint: var(--st-received-tint)}[data-stage=embroidery]{--stage: var(--st-embroidery);--stage-tint: var(--st-embroidery-tint)}[data-stage=dispatch]{--stage: var(--st-dispatch);--stage-tint: var(--st-dispatch-tint)}.accent-violet{--c: var(--accent)}.accent-navy{--c: var(--chrome)}.accent-teal{--c: var(--ok)}.accent-rust{--c: var(--st-received)}*,*:before,*:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-2xl);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}img,svg{max-width:100%}input,select,textarea,button{font-family:inherit}::placeholder{color:var(--ink-faint);opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-mono);font-weight:var(--fw-semibold)}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes slideUpCentered{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:50px;padding:0 20px;border:1.5px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1;white-space:nowrap;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease}.btn:hover{background:var(--surface-2);color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{border-color:transparent;background:var(--accent);color:#fff;box-shadow:var(--shadow-press)}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-primary:active{box-shadow:0 0 0 var(--accent-dark)}.btn-secondary{border-color:var(--line-2);background:var(--surface)}.btn-ghost{border-color:var(--line-2);background:var(--surface);color:var(--ink)}.btn-outline-dark{border-color:var(--chrome);background:var(--surface)}.btn-outline-dark:hover{background:var(--chrome);color:#fff}.btn-danger{border-color:transparent;background:var(--danger);color:#fff;box-shadow:0 2px 0 var(--danger-dark)}.btn-danger:hover{background:var(--danger-dark);color:#fff}.btn-danger-ghost{border-color:var(--danger-line);background:var(--surface);color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft);color:var(--danger)}.btn-dashed{width:100%;height:54px;border:2px dashed var(--line-dash);background:var(--surface-3);color:var(--accent)}.btn-dashed:hover{background:var(--accent-soft);color:var(--accent-dark)}.btn-sm{height:42px;padding:0 14px;font-size:var(--fs-lg);border-radius:var(--r)}.btn-lg{height:58px;padding:0 26px;font-size:var(--fs-3xl)}.btn-block{display:flex;width:100%}.btn-icon{width:46px;height:46px;padding:0;flex:0 0 46px;border-radius:var(--r);font-size:var(--fs-3xl)}.link-btn,.link-sm{padding:0;border:none;background:none;color:var(--accent);font-size:var(--fs-lg);font-weight:var(--fw-bold);cursor:pointer}.link-btn:hover,.link-sm:hover{color:var(--accent-dark)}.field{min-width:0}.field-label,.login-label{display:block;margin-bottom:var(--sp-2);color:var(--ink);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.field-hint,.field-label .optional{color:var(--ink-soft);font-weight:500}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.input,.select,.textarea{width:100%;height:54px;padding:0 15px;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-2xl);font-weight:500}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--ink-soft)}.input-mono{font-family:var(--font-mono);font-weight:var(--fw-semibold)}.input-strong{font-weight:var(--fw-bold)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 20px) 24px,calc(100% - 14px) 24px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;font-weight:var(--fw-semibold)}.textarea{height:auto;min-height:90px;padding:13px 15px;line-height:1.5;resize:vertical}.input--error,.select--error,.textarea--error{border-color:var(--danger);background:var(--danger-soft)}.field-error{display:block;margin-top:6px;color:var(--danger);font-size:var(--fs-base);font-weight:var(--fw-semibold)}.form-error,.form-success{margin-bottom:var(--sp-4);padding:14px 16px;border:1.5px solid var(--danger-line);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.form-success{border-color:#bfe3d1;background:var(--ok-soft);color:var(--ok)}.form-row,.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.form-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-4)}.form-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.form-actions .btn-primary{flex:1;min-width:200px;height:58px;font-size:var(--fs-3xl)}.form-card,.modal-form{display:grid;gap:var(--sp-4)}.form-card{padding:var(--sp-6);border:1.5px solid var(--line);border-radius:var(--r-3xl);background:var(--surface)}.form-narrow{max-width:720px}.mt{margin-top:var(--sp-5)}.sm{font-size:var(--fs-lg)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.print-only,.print-only-meta{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-main{display:flex;flex:1;flex-direction:column;min-width:0;overflow-x:clip}.main{flex:1;width:100%;min-width:0;max-width:var(--content-max);padding:var(--content-px);padding-bottom:var(--sp-10)}.view{min-width:0}.mobile-spacer{display:none}.sidebar{position:sticky;top:0;display:flex;flex:0 0 var(--sidebar-w);flex-direction:column;gap:var(--sp-6);width:var(--sidebar-w);height:100vh;padding:22px 14px;background:var(--chrome)}.brand{display:flex;align-items:center;gap:11px;padding:0 var(--sp-2)}.brand-logo{flex:0 0 38px;border-radius:var(--r)}.brand-name{color:#fff;font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:.04em}.brand-sub{color:var(--on-chrome-mut);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.14em}.side-new{height:54px;font-size:var(--fs-2xl)}.side-new:hover{background:#7a4bb4}.nav{display:flex;flex-direction:column;gap:var(--sp-1)}.nav-item{display:flex;align-items:center;gap:13px;height:50px;padding:0 14px;border:none;border-radius:var(--r);background:none;color:var(--on-chrome-dim);font-size:var(--fs-2xl);font-weight:var(--fw-bold);text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.nav-item:hover{background:var(--chrome-3);color:var(--on-chrome)}.nav-item.active{background:var(--chrome-2);color:#fff}.nav-icon{display:grid;flex:0 0 21px;place-items:center}.nav-icon svg{width:21px;height:21px}.nav-label{flex:1;min-width:0}.nav-count{padding:3px 9px;border-radius:var(--r-pill);background:var(--chrome-3);color:var(--on-chrome-mut);font-size:var(--fs-md);font-weight:var(--fw-bold)}.nav-item.active .nav-count{background:var(--accent);color:#fff}.side-foot{margin-top:auto;padding:var(--sp-4) 10px 0;border-top:1px solid var(--chrome-line)}.side-profile{display:flex;align-items:center;gap:11px;width:100%;padding:var(--sp-2);border:none;border-radius:var(--r);background:none;text-align:left;cursor:pointer}.side-profile:hover{background:var(--chrome-3)}.side-avatar{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--chrome-2);color:#fff;font-size:var(--fs-md);font-weight:var(--fw-black)}.side-profile-body{flex:1;min-width:0}.side-profile-name{display:block;overflow:hidden;color:var(--on-chrome);font-size:var(--fs-base);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap}.side-profile-sub{display:block;color:var(--on-chrome-mut);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.side-gstin{margin:10px 0 0;padding:0 var(--sp-2);color:var(--on-chrome-faint);font-family:var(--font-mono);font-size:var(--fs-xs)}.side-signout{margin:var(--sp-3) 0 0 var(--sp-2);padding:0;border:none;background:none;color:var(--on-chrome-mut);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.side-signout:hover{color:var(--on-chrome)}.header{position:sticky;z-index:30;top:0;display:flex;flex-direction:column;gap:10px;padding:14px var(--content-px);border-bottom:1px solid var(--line);background:#f4f1f8f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-row{display:flex;align-items:center;gap:var(--sp-3)}.header-brand{display:none;flex:1;min-width:0}.header-brand-name{font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:.04em}.header-brand-sub{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.14em}.icon-btn{display:grid;flex:0 0 46px;place-items:center;width:46px;height:46px;padding:0;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-3xl);cursor:pointer}.icon-btn:hover{background:var(--accent-soft)}.back-btn{display:grid;flex:0 0 46px;place-items:center;width:46px;height:46px;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.back-btn:hover{background:var(--accent-soft);color:var(--ink)}.header-right{display:flex;align-items:center;gap:10px;margin-left:auto}.avatar{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--chrome);color:#fff;font-size:var(--fs-lg);font-weight:var(--fw-black)}.avatar:hover{background:var(--chrome-2);color:#fff}.header-search{position:relative;flex:1;max-width:620px}.header-search--mobile{max-width:none}.search{position:relative}.search input{width:100%;height:46px;padding:0 42px;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-xl);font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search input::-webkit-search-decoration,.search input::-webkit-search-cancel-button,.search input::-webkit-search-results-button,.search input::-webkit-search-results-decoration{display:none}.search-icon{position:absolute;top:50%;left:14px;display:grid;place-items:center;color:var(--ink-faint);pointer-events:none;transform:translateY(-50%)}.search-close{position:absolute;top:50%;right:6px;display:none;width:34px;height:34px;flex:0 0 34px;border:none;background:none;color:var(--ink-soft);transform:translateY(-50%)}.search--filled .search-close{display:grid}.search-results{position:absolute;z-index:40;top:54px;right:0;left:0;overflow:hidden;border:1.5px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-pop);animation:popIn .14s ease-out}.sr-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:13px 16px;border:none;border-bottom:1px solid var(--line-soft);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.sr-item:last-child{border-bottom:none}.sr-item:hover{background:var(--surface-2);color:var(--ink)}.sr-kind{padding:4px 8px;border-radius:var(--r-xs);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-black);letter-spacing:.1em;text-transform:uppercase}.sr-body{flex:1;min-width:0}.sr-title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.sr-sub{color:var(--ink-soft);font-size:var(--fs-base)}.sr-empty{padding:20px;color:var(--ink-soft);font-size:var(--fs-xl);text-align:center}.search-toggle{display:none}.bottom-nav{position:fixed;z-index:35;right:0;bottom:0;left:0;display:none;grid-template-columns:repeat(5,1fr);gap:2px;padding:var(--sp-2) 6px calc(var(--sp-2) + env(safe-area-inset-bottom));background:var(--chrome)}.bnav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:58px;border:none;border-radius:var(--r-md);background:none;color:#9c8cbb;cursor:pointer}.bnav-item.active{background:var(--chrome-2);color:#fff}.bnav-item svg{width:22px;height:22px}.bnav-label{font-size:var(--fs-xs);font-weight:var(--fw-bold)}.bnav-plus{background:var(--accent);color:#fff}.bnav-plus:hover{color:#fff}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-6)}.page-kicker{color:var(--accent);font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.page-title{margin:6px 0 0;font-size:var(--fs-h1);font-weight:var(--fw-black);letter-spacing:-.025em;line-height:1.1}.page-title-mono{font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:-.02em}.page-sub{margin:6px 0 0;max-width:60ch;color:var(--ink-soft);font-size:var(--fs-2xl)}.section-label{margin-bottom:10px;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.12em;text-transform:uppercase}.card{padding:var(--sp-5) 22px;border:1.5px solid var(--line);border-radius:var(--r-3xl);background:var(--surface)}.card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:var(--sp-4)}.card-title{margin:0;font-size:var(--fs-4xl);font-weight:var(--fw-black)}.card-sub{color:var(--ink-soft);font-size:var(--fs-lg)}.card-sub--block{margin:6px 0 var(--sp-4)}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--sp-5);align-items:start}.grid-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4)}.fact{padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}.fact-label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase}.fact-value{display:flex;align-items:center;gap:9px;margin-top:5px;font-size:var(--fs-5xl);font-weight:var(--fw-black)}.hero{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-5);margin-bottom:var(--sp-5);padding:22px 26px;border-radius:var(--r-4xl);background:var(--chrome);color:var(--on-chrome)}.hero-main{flex:1;min-width:230px}.hero-kicker{padding:0;border:none;background:none;color:var(--on-chrome-dim);font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.hero-kicker:hover{color:var(--on-chrome)}.hero-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:7px}.hero-title{margin:0;font-size:var(--fs-hero);font-weight:var(--fw-black);letter-spacing:-.03em;line-height:1.05}.hero-sub{margin:6px 0 0;color:var(--on-chrome-dim);font-size:var(--fs-2xl)}.hero-avatar{display:grid;flex:0 0 62px;place-items:center;width:62px;height:62px;border-radius:var(--r-3xl);background:var(--accent);color:#fff;font-size:22px;font-weight:var(--fw-black)}.hero-actions{display:flex;flex-wrap:wrap;gap:9px}.hero-actions .btn{height:48px;border-color:var(--chrome-line-2);background:none;color:var(--on-chrome)}.hero-actions .btn:hover{background:var(--chrome-2);color:#fff}.hero-actions .btn-primary{border-color:transparent;background:var(--accent-lift);color:#fff;box-shadow:none}.hero-actions .btn-primary:hover{background:var(--accent-lift-hover)}.hero-actions .btn-danger-ghost{border-color:#6b4a57;background:none;color:var(--danger-on-dark)}.hero-actions .btn-danger-ghost:hover{background:#b3423f38;color:var(--danger-on-dark)}.stage-badge{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--r-pill);background:var(--stage-tint);color:var(--stage);font-size:var(--fs-base);font-weight:var(--fw-bold);white-space:nowrap}.stage-badge--solid{background:var(--stage);color:#fff}.status{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-base);font-weight:var(--fw-bold);white-space:nowrap}.status--new{background:var(--warn-soft);color:var(--warn)}.status--prod{background:var(--accent-soft);color:var(--accent)}.status--done{background:var(--ok-soft);color:var(--ok)}.chip-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-md);font-weight:var(--fw-bold)}.summary-pill{display:inline-flex;align-items:center;padding:7px 14px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 10px;border-radius:var(--r-pill);background:var(--stage-tint);color:var(--stage);font-size:var(--fs-xl);font-weight:var(--fw-black)}.swatch{display:inline-block;flex:0 0 auto;width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 1.5px var(--line-2)}.swatch--lg{display:inline-block;width:54px;height:54px;flex:0 0 54px;border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px #241d3329}.swatch--md{display:inline-block;width:44px;height:44px;flex:0 0 44px;border-radius:var(--r);box-shadow:inset 0 0 0 1.5px #241d3329}.filter-chips{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4);padding-bottom:var(--sp-1);overflow-x:auto;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{height:44px;padding:0 18px;flex:0 0 auto;border:1.5px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:var(--fs-xl);font-weight:var(--fw-bold);cursor:pointer}.filter-chip:hover{border-color:var(--line-dash)}.filter-chip.active{border-color:transparent;background:var(--chrome);color:#fff}.action-menu{position:relative}.action-menu-btn{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink-soft);font-size:var(--fs-3xl);font-weight:var(--fw-black);cursor:pointer}.action-menu-btn:hover,.action-menu-btn[aria-expanded=true]{background:var(--surface-2);color:var(--ink)}.action-menu-list{position:absolute;z-index:25;top:50px;right:0;overflow:hidden;width:208px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-menu);animation:popIn .12s ease-out}.action-menu-item{display:block;width:100%;padding:13px 15px;border:none;background:var(--surface);color:var(--ink);font-size:var(--fs-xl);font-weight:var(--fw-semibold);text-align:left;cursor:pointer}.action-menu-item:hover{background:var(--surface-2);color:var(--ink)}.action-menu-item--danger{border-top:1px solid var(--line-soft);color:var(--danger);font-weight:var(--fw-bold)}.action-menu-item--danger:hover{background:var(--danger-soft);color:var(--danger)}.modal-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--sp-5);background:#241d338c;animation:fadeIn .15s ease-out;overflow-y:auto}.modal-card{width:100%;max-width:560px;padding:var(--sp-7);border-radius:var(--r-4xl);background:var(--surface);box-shadow:var(--shadow-modal);animation:slideUp .18s ease-out}.modal-card--confirm{max-width:440px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.modal-title{margin:0;font-size:25px;font-weight:var(--fw-black);letter-spacing:-.02em}.modal-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-2xl);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-6xl);font-weight:var(--fw-black)}.modal-icon+.modal-title{margin:var(--sp-5) 0 var(--sp-2)}.modal-message{margin:0 0 var(--sp-2);color:var(--ink-2);font-size:var(--fs-2xl);line-height:1.5}.modal-note{margin:0 0 var(--sp-6);color:var(--ink-soft);font-size:var(--fs-lg)}.modal-close{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:var(--sp-4)}.modal-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.modal-actions .btn{flex:1;min-width:130px;height:56px;font-size:var(--fs-2xl)}.install-card{position:fixed;z-index:70;bottom:24px;left:50%;display:flex;align-items:center;gap:14px;width:max-content;max-width:min(92vw,520px);padding:14px 16px;border:1.5px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-pop);transform:translate(-50%);animation:slideUpCentered .2s ease-out}.install-logo{flex:0 0 40px}.install-body{min-width:0}.install-title{font-size:var(--fs-xl);font-weight:var(--fw-black)}.install-sub{margin-top:2px;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.35}.install-btn{flex:0 0 auto;height:42px;padding:0 18px}.install-close{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border:0;border-radius:var(--r);background:none;color:var(--ink-soft);cursor:pointer}.install-close:hover{background:var(--surface-2);color:var(--ink)}.toast{position:fixed;z-index:80;bottom:28px;left:50%;display:flex;align-items:center;gap:var(--sp-3);max-width:90vw;padding:15px 20px;border-radius:var(--r-xl);background:var(--chrome);color:#fff;box-shadow:0 18px 40px #241d3359;transform:translate(-50%);animation:slideUpCentered .18s ease-out}.toast-mark{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--ok);font-size:var(--fs-base);font-weight:var(--fw-black)}.toast--error .toast-mark{background:var(--danger)}.toast-text{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.empty-state{padding:56px var(--sp-6);border:2px dashed var(--line);border-radius:var(--r-3xl);background:var(--surface);text-align:center}.empty-state-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto var(--sp-4);border-radius:var(--r-2xl);background:var(--accent-soft);color:var(--accent)}.empty-state-title{margin:0 0 6px;font-size:var(--fs-5xl);font-weight:var(--fw-black)}.empty-state-desc{max-width:46ch;margin:0 auto var(--sp-5);color:var(--ink-soft);font-size:var(--fs-2xl)}.empty-state--compact{padding:30px var(--sp-5)}.empty-state-panel{padding:0}.empty-note{padding:30px;border:2px dashed var(--line);border-radius:var(--r-lg);color:var(--ink-faint);font-size:var(--fs-xl);text-align:center}.error-note{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.sync-pill-wrap{display:flex;align-items:center;gap:var(--sp-2)}.sync-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:none;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-size:var(--fs-base);font-weight:var(--fw-bold);cursor:pointer}.sync-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.sync-pill--warn{background:var(--warn-soft);color:var(--warn)}.sync-pill--busy{background:var(--accent-soft);color:var(--accent)}.sync-pill--offline{background:var(--danger-soft);color:var(--danger)}.sync-pill-link{font-size:var(--fs-base);font-weight:var(--fw-bold)}.pending-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm);font-weight:var(--fw-bold);vertical-align:middle}.cache-notice{margin-bottom:var(--sp-4);padding:12px 16px;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.app-crash,.auth-loading{display:grid;min-height:100vh;place-items:center;padding:var(--sp-6);background:var(--bg)}.app-crash-card{max-width:460px;padding:var(--sp-7);border:1.5px solid var(--line);border-radius:var(--r-4xl);background:var(--surface);text-align:center}.app-crash-title{margin:0 0 var(--sp-3);font-size:var(--fs-6xl);font-weight:var(--fw-black)}.app-crash-text{margin:0 0 var(--sp-5);color:var(--ink-soft);font-size:var(--fs-2xl)}.auth-loading-text{color:var(--ink-soft);font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.login-split{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:var(--bg)}.login-panel{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-10);padding:52px 48px;background:var(--chrome);color:var(--on-chrome)}.login-brand{display:flex;align-items:center;gap:14px}.login-brand-name{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:.06em}.login-hero{max-width:13ch;font-size:var(--fs-hero);font-weight:var(--fw-black);letter-spacing:-.02em;line-height:1.08;text-wrap:balance}.login-tag{max-width:40ch;margin:var(--sp-5) 0 0;color:var(--on-chrome-dim);font-size:var(--fs-2xl);line-height:1.6}.login-gstin{color:var(--on-chrome-faint);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.04em}.login-form-wrap{display:grid;place-items:center;padding:var(--sp-7)}.login-card{width:100%;max-width:400px}.login-title{margin:0 0 var(--sp-2);font-size:var(--fs-h1);font-weight:var(--fw-black);letter-spacing:-.02em}.login-lede{margin:0 0 30px;color:var(--ink-soft);font-size:var(--fs-2xl)}.login-field{margin-bottom:var(--sp-5)}.login-card .input{height:56px;padding:0 var(--sp-4)}.login-card .btn-primary{width:100%;height:60px;margin-top:6px;font-size:var(--fs-3xl)}.login-help{margin:22px 0 0;color:var(--ink-soft);font-size:var(--fs-lg);text-align:center}.login-help strong{color:var(--ink)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-6)}.stat-card{padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-left:5px solid var(--c);border-radius:var(--r-2xl);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .14s ease,transform .1s ease}.stat-card:hover{border-color:var(--line-dash);border-left-color:var(--c);color:var(--ink)}.stat-num{font-size:var(--fs-stat);font-weight:var(--fw-black);letter-spacing:-.03em;line-height:1}.stat-label{margin-top:var(--sp-2);font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.stat-hint{margin-top:3px;color:var(--ink-soft);font-size:var(--fs-base)}.attn-count{padding:5px 11px;border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-base);font-weight:var(--fw-bold)}.attn-list{display:flex;flex-direction:column;gap:10px}.attn-item{display:flex;align-items:center;gap:13px;width:100%;padding:14px 15px;border:1.5px solid var(--line-soft);border-radius:var(--r-lg);background:var(--surface-3);color:var(--ink);text-align:left;cursor:pointer}.attn-item:hover{border-color:var(--line-dash);color:var(--ink)}.attn-icon{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;border-radius:var(--r);background:var(--stage-tint);color:var(--stage);font-size:var(--fs-2xl);font-weight:var(--fw-black)}.attn-body{flex:1;min-width:0}.attn-title{display:block;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.attn-sub{display:block;margin-top:2px;color:var(--ink-soft);font-size:var(--fs-lg)}.attn-chev{color:var(--accent);font-size:var(--fs-xl)}.stage-bars{display:flex;flex-direction:column;gap:var(--sp-4)}.stage-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}.stage-bar-label{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.stage-bar-meta{color:var(--ink-soft);font-size:var(--fs-base)}.stage-bar-track{height:14px;overflow:hidden;border-radius:var(--r-xs);background:var(--line-soft)}.stage-bar-fill{height:100%;border-radius:var(--r-xs);background:var(--stage);transition:width .3s ease}.meters-foot{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px dashed var(--line)}.meters-label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase}.meters-value{margin-top:var(--sp-1);font-size:var(--fs-6xl);font-weight:var(--fw-black)}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);align-items:start}.board-col{min-height:200px;padding:var(--sp-4) 14px;border:1.5px solid var(--line);border-top:6px solid var(--stage);border-radius:var(--r-2xl);background:var(--surface)}.col-head{display:flex;align-items:center;gap:10px}.col-name{flex:1;margin:0;font-size:var(--fs-4xl);font-weight:var(--fw-black)}.col-hint{margin:var(--sp-1) 0 14px;color:var(--ink-soft);font-size:var(--fs-base)}.col-body{display:flex;flex-direction:column;gap:var(--sp-3)}.col-empty{padding:var(--sp-6);border:2px dashed var(--line);border-radius:var(--r-lg);color:var(--ink-faint);font-size:var(--fs-xl);text-align:center}.lot-card{padding:13px 14px;border:1.5px solid var(--line-nested);border-left:5px solid var(--stage);border-radius:var(--r-lg);background:var(--surface-4)}.lot-card-link{display:block;width:100%;padding:0;border:none;background:none;color:var(--ink);text-align:left;cursor:pointer}.lot-card-link:hover{color:var(--ink)}.lot-card-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}.party-picked-name,.party-picked-sub,.stage-option-label,.mode-btn-label{display:block}.lot-no{font-size:var(--fs-4xl);font-weight:var(--fw-black)}.lot-order,.lot-design{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-md)}.lot-client{display:block;margin-top:3px;color:var(--ink-2);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.lot-stats{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2);color:var(--ink-soft);font-size:var(--fs-lg)}.lot-stats b{color:var(--ink)}.short-flag{margin-top:var(--sp-2);padding:6px 10px;border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-base);font-weight:var(--fw-bold)}.lot-card-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.lot-advance{flex:1;height:46px;border:none;border-radius:var(--r);background:var(--stage);color:#fff;font-size:var(--fs-xl);font-weight:var(--fw-bold);cursor:pointer}.lot-advance:hover{color:#fff;filter:brightness(1.08)}.lot-advance:disabled{opacity:.6;cursor:not-allowed}.lot-open{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:var(--fs-3xl);cursor:pointer}.lot-open:hover{background:var(--accent-soft);color:var(--ink)}.otable{border:1.5px solid var(--line);border-radius:var(--r-3xl);background:var(--surface)}.otable-head,.otable-row{display:grid;grid-template-columns:140px minmax(0,1.4fr) minmax(0,1fr) 90px 130px 50px;gap:14px;align-items:center;padding:var(--sp-4) var(--sp-5)}.otable-head{padding:13px var(--sp-5);border-bottom:1.5px solid var(--line);border-radius:var(--r-3xl) var(--r-3xl) 0 0;background:var(--surface-2);color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase}.otable-row{position:relative;border-bottom:1px solid var(--line-soft)}.otable-row:last-child{border-bottom:none}.otable-row:hover{background:var(--surface-3)}.otable-cell-btn{padding:0;border:none;background:none;color:var(--ink);text-align:left;cursor:pointer}.otable-id{display:block;font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.otable-date{display:block;margin-top:2px;color:var(--ink-soft);font-size:var(--fs-base)}.otable-party{font-size:var(--fs-3xl);font-weight:var(--fw-bold)}.otable-plain{color:var(--ink-2);font-size:var(--fs-xl)}.otable-actions{justify-self:end}.order-cards{display:none;flex-direction:column;gap:var(--sp-3)}.order-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-radius:var(--r-2xl);background:var(--surface)}.order-card-main{flex:1;min-width:0;padding:0;border:none;background:none;color:var(--ink);text-align:left;cursor:pointer}.order-card-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.order-no{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-semibold)}.order-client{display:block;margin-top:6px;font-size:var(--fs-3xl);font-weight:var(--fw-bold)}.order-sub{display:block;margin-top:3px;color:var(--ink-soft);font-size:var(--fs-lg)}.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4)}.party-card{padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-radius:var(--r-2xl);background:var(--surface)}.party-head{display:flex;align-items:center;gap:13px}.party-avatar{display:grid;flex:0 0 50px;place-items:center;width:50px;height:50px;border-radius:var(--r-xl);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-3xl);font-weight:var(--fw-black)}.party-head-main{flex:1;min-width:0;padding:0;border:none;background:none;color:var(--ink);text-align:left;cursor:pointer}.party-name{display:block;overflow:hidden;font-size:var(--fs-3xl);font-weight:var(--fw-black);text-overflow:ellipsis;white-space:nowrap}.party-city{display:block;color:var(--ink-soft);font-size:var(--fs-lg)}.party-stats{display:flex;gap:10px;margin-top:var(--sp-4)}.party-stat{flex:1;padding:10px 12px;border-radius:var(--r);background:var(--surface-2)}.party-stat-label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.party-stat-num{margin-top:2px;font-size:var(--fs-5xl);font-weight:var(--fw-black)}.party-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:13px;border-top:1px dashed var(--line)}.party-phone{color:var(--ink);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.row-list{display:flex;flex-direction:column;gap:var(--sp-3)}.rowlink{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);width:100%;padding:14px var(--sp-4);border:1.5px solid var(--line-nested);border-left:5px solid var(--stage);border-radius:var(--r-lg);background:var(--surface-4);color:var(--ink);text-align:left;cursor:pointer}.rowlink:hover{border-color:var(--line-dash);border-left-color:var(--stage);color:var(--ink)}.rowlink-id{display:block;font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-semibold)}.rowlink-sub{display:block;color:var(--ink-soft);font-size:var(--fs-base)}.rowlink-col{min-width:120px;color:var(--ink-2);font-size:var(--fs-xl)}.rowlink-end{margin-left:auto}.lot-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:15px 17px;border:1.5px solid var(--line-nested);border-left:5px solid var(--stage);border-radius:var(--r-xl);background:var(--surface-4)}.lot-row-main{min-width:140px}.lot-row-title{font-size:var(--fs-5xl);font-weight:var(--fw-black)}.lot-row-sub{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-base)}.lot-row-field{min-width:130px}.lot-row-label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.lot-row-value{display:flex;align-items:center;gap:var(--sp-2);margin-top:2px;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.lot-row-actions{position:relative;display:flex;gap:9px;margin-left:auto}.lot-row-actions .btn{height:46px}.stage-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-3)}.stage-option{padding:var(--sp-4) var(--sp-5);border:2px solid var(--line);border-radius:var(--r-2xl);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.stage-option:disabled{cursor:default}.stage-option.is-current{border-color:var(--stage);background:var(--stage-tint)}.stage-option-head{display:flex;align-items:center;gap:11px}.stage-option-mark{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;border-radius:50%;background:#c4bcd4;color:#fff;font-size:var(--fs-lg);font-weight:var(--fw-black)}.stage-option.is-done .stage-option-mark,.stage-option.is-current .stage-option-mark{background:var(--stage)}.stage-option-label{font-size:var(--fs-3xl);font-weight:var(--fw-black)}.stage-option.is-current .stage-option-label{color:var(--stage)}.stage-option-hint{display:block;margin-top:var(--sp-2);color:var(--ink-soft);font-size:var(--fs-lg)}.piece-list{display:flex;flex-direction:column;gap:var(--sp-2)}.piece-row{display:flex;align-items:center;gap:var(--sp-3);padding:12px 14px;border-radius:var(--r);background:var(--surface-2)}.piece-num{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--chrome);color:#fff;font-size:var(--fs-base);font-weight:var(--fw-black)}.piece-label{color:var(--ink-2);font-size:var(--fs-2xl)}.piece-len{margin-left:auto;font-size:var(--fs-3xl);font-weight:var(--fw-black)}.cloth-breakdown{display:flex;flex-direction:column;gap:var(--sp-2)}.cloth-line-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border-radius:var(--r);background:var(--surface-2);font-size:var(--fs-xl)}.cloth-line-total{margin-left:auto;font-size:var(--fs-3xl);font-weight:var(--fw-black)}.recon-panel{margin-top:var(--sp-4);padding:15px 17px;border:1.5px solid var(--line);border-radius:var(--r-xl);background:var(--surface-2)}.recon-panel--balanced{border-color:#bfe3d1;background:var(--ok-soft)}.recon-panel--shortage{border-color:var(--danger-line);background:var(--danger-soft)}.recon-panel-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.recon-title{font-size:var(--fs-2xl);font-weight:var(--fw-black)}.recon-panel--balanced .recon-title,.recon-panel--balanced .recon-diff{color:var(--ok)}.recon-panel--shortage .recon-title,.recon-panel--shortage .recon-diff{color:var(--danger)}.recon-line{margin-top:3px;color:var(--ink-2);font-size:var(--fs-lg)}.recon-diff{font-size:var(--fs-6xl);font-weight:var(--fw-black);text-align:right}.recon-diff-label{color:var(--ink-soft);font-size:var(--fs-md);text-align:right}.shortage-banner{margin-top:var(--sp-3);padding:12px 14px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.history{display:flex;flex-direction:column;gap:var(--sp-3)}.history-item{display:flex;align-items:flex-start;gap:13px}.history-dot{flex:0 0 12px;width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--stage)}.history-title{display:block;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.history-when{display:block;color:var(--ink-soft);font-size:var(--fs-lg)}.lot-notes{margin-top:var(--sp-4);padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-xl)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4)}.detail-label{color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase}.detail-value{margin-top:var(--sp-1);font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5);align-items:start}.form-steps{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.step-card{padding:var(--sp-6);border:1.5px solid var(--line);border-radius:var(--r-3xl);background:var(--surface)}.step-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4)}.step-num{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-size:var(--fs-xl);font-weight:var(--fw-black)}.step-title{flex:1;margin:0;font-size:var(--fs-5xl);font-weight:var(--fw-black)}.step-lede{margin:0 0 14px;color:var(--ink-soft);font-size:var(--fs-lg)}.party-picked{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:13px 15px;border:2px solid var(--accent);border-radius:var(--r-xl);background:var(--surface-2)}.party-picked-avatar{display:grid;flex:0 0 44px;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xl);font-weight:var(--fw-black)}.party-picked-body{flex:1;min-width:0}.party-picked-name{font-size:var(--fs-3xl);font-weight:var(--fw-black)}.party-picked-sub{color:var(--ink-soft);font-size:var(--fs-lg)}.party-picked-flag{color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.1em}.party-search{position:relative}.party-search .input{padding-left:42px}.party-search .search-icon{left:15px}.party-options{max-height:236px;overflow-y:auto;border:1.5px solid var(--line-nested);border-radius:var(--r-lg)}.party-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--line-soft);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.party-option:last-child{border-bottom:none}.party-option:hover{background:var(--surface-2);color:var(--ink)}.party-option.is-selected{background:var(--accent-soft)}.party-option-avatar{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-md);font-weight:var(--fw-black)}.party-option-name{flex:1;min-width:0;overflow:hidden;font-size:var(--fs-2xl);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap}.party-option-city{color:var(--ink-soft);font-size:var(--fs-lg)}.party-options-empty{padding:22px;color:var(--ink-faint);font-size:var(--fs-xl);text-align:center}.mode-toggle{display:flex;flex-wrap:wrap;gap:10px}.mode-btn{flex:1;min-width:210px;padding:14px var(--sp-4);border:2px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.mode-btn.active{border-color:var(--accent);background:var(--surface-2)}.mode-btn-head{display:flex;align-items:center;gap:10px}.mode-radio{display:grid;flex:0 0 22px;place-items:center;width:22px;height:22px;border:2px solid var(--line-2);border-radius:50%}.mode-btn.active .mode-radio{border-color:var(--accent)}.mode-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:transparent}.mode-btn.active .mode-radio:after{background:var(--accent)}.mode-btn-label{font-size:var(--fs-2xl);font-weight:var(--fw-black)}.mode-btn.active .mode-btn-label{color:var(--accent)}.mode-btn-hint{display:block;margin-top:6px;color:var(--ink-soft);font-size:var(--fs-base)}.mode-section{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px dashed var(--line)}.colour-field{max-width:440px;margin-top:var(--sp-4)}.colour-field-row{display:flex;align-items:center;gap:var(--sp-3)}.piece-rows{display:flex;flex-direction:column;gap:10px}.piece-row-main{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1.5px solid var(--line-nested);border-radius:var(--r-lg);background:var(--surface-2)}.piece-row-num{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--chrome);color:#fff;font-size:var(--fs-lg);font-weight:var(--fw-black)}.piece-field{min-width:0}.piece-field .input{height:50px;padding:0 10px;font-size:var(--fs-3xl);font-weight:var(--fw-bold);text-align:center}.piece-field-qty{width:78px;flex:0 0 78px}.piece-field-len{width:112px;flex:0 0 112px}.piece-field-colour{width:140px;flex:0 0 140px}.piece-field-colour .input{font-size:var(--fs-xl);font-weight:var(--fw-semibold);text-align:left}.piece-x,.piece-unit{color:var(--ink-soft);font-size:var(--fs-xl)}.piece-row-total{flex:1;min-width:90px;font-size:var(--fs-3xl);font-weight:var(--fw-black);text-align:right}.piece-remove{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1.5px solid var(--danger-line);border-radius:var(--r);background:var(--surface);color:var(--danger);font-size:var(--fs-3xl);cursor:pointer}.piece-remove:hover{background:var(--danger-soft)}.piece-row-errors{display:flex;flex-wrap:wrap;gap:var(--sp-3);padding-left:48px}.summary-aside{position:sticky;top:100px;padding:22px var(--sp-6);border-radius:var(--r-3xl);background:var(--chrome);color:var(--on-chrome)}.summary-label{color:var(--on-chrome-mut);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.12em;text-transform:uppercase}.summary-lot{margin:10px 0 2px;font-size:29px;font-weight:var(--fw-black)}.summary-party{color:#c7b9e0;font-size:var(--fs-2xl)}.summary-rows{display:flex;flex-direction:column;gap:var(--sp-3);margin:var(--sp-5) 0;padding-top:var(--sp-4);border-top:1px solid var(--chrome-line)}.summary-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-2xl)}.summary-row span{color:var(--on-chrome-dim)}.summary-row strong{text-align:right}.summary-aside .btn-primary{width:100%;height:58px;border-color:transparent;background:var(--accent-lift);box-shadow:none;font-size:var(--fs-3xl);font-weight:var(--fw-black)}.summary-aside .btn-primary:hover{background:var(--accent-lift-hover)}.summary-aside .btn-secondary{width:100%;height:50px;margin-top:10px;border-color:var(--chrome-line-2);background:none;color:#c7b9e0}.summary-aside .btn-secondary:hover{background:var(--chrome-2);color:#fff}.job-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--sp-5);align-items:start}.job-form{min-width:0;padding:var(--sp-6);border:1.5px solid var(--line);border-radius:var(--r-3xl);background:var(--surface)}.job-steps{display:flex;flex-direction:column;gap:10px}.job-step{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 12px;border:1.5px solid var(--line-nested);border-radius:var(--r-lg);background:var(--surface-4)}.job-step-num{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;border-radius:var(--r);background:var(--chrome);color:#fff;font-size:var(--fs-2xl);font-weight:var(--fw-black)}.job-step-code{flex:1;min-width:120px}.job-step-code .input{height:50px;font-weight:var(--fw-bold)}.code-combo{position:relative}.code-combo-list{position:absolute;z-index:20;top:calc(100% + 4px);right:0;left:0;max-height:232px;margin:0;padding:var(--sp-1);overflow-y:auto;list-style:none;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-pop)}.code-combo-item{display:block;width:100%;padding:9px 10px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);text-align:left;cursor:pointer}.code-combo-item.is-active,.code-combo-item:hover{background:var(--surface-2)}.job-step-actions{display:flex;gap:var(--sp-2)}.step-move-btn{display:grid;place-items:center;width:44px;height:50px;flex:0 0 44px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:var(--fs-xl);cursor:pointer}.step-move-btn:hover{background:var(--surface-2)}.step-move-btn:disabled{opacity:.45;cursor:not-allowed}.step-move-btn--danger{border-color:var(--danger-line);color:var(--danger)}.job-preview{position:sticky;top:100px;min-width:0}.job-preview-label{margin-bottom:10px;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-black);letter-spacing:.12em;text-transform:uppercase}.job-sheet{padding:var(--sp-6) var(--sp-6);border:1.5px solid var(--line-2);border-radius:var(--r-xs);background:#fff;box-shadow:var(--shadow-sheet)}.job-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:3px solid var(--ink)}.job-sheet-brand{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-black);letter-spacing:.16em}.job-sheet-order{margin-top:var(--sp-1);font-family:var(--font-mono);font-size:25px;font-weight:var(--fw-semibold)}.job-sheet-design-label{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-black);letter-spacing:.12em;text-align:right}.job-sheet-design{font-family:var(--font-mono);font-size:var(--fs-4xl);font-weight:var(--fw-semibold);text-align:right}.job-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px var(--sp-4);margin:var(--sp-4) 0 var(--sp-5)}.job-sheet-label{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-black);letter-spacing:.1em}.job-sheet-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.job-sheet-value--mono{font-family:var(--font-mono)}.job-sheet-seq-label{margin-bottom:var(--sp-2);color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-black);letter-spacing:.12em}.job-sheet-table{width:100%;border-collapse:collapse}.job-sheet-table td{padding:9px 0;border-bottom:1px solid var(--line)}.job-sheet-n{width:34px;font-size:var(--fs-2xl);font-weight:var(--fw-black)}.job-sheet-code{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-semibold)}.job-sheet-notes{margin-top:var(--sp-4);color:var(--ink-2);font-size:var(--fs-lg);line-height:1.5}.job-sheet-foot{display:flex;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-6);padding-top:10px}.job-sheet-sign{width:55%;padding-top:6px;border-top:1.5px solid var(--ink);color:var(--ink-soft);font-size:var(--fs-sm)}.job-sheet-date{color:var(--ink-soft);font-size:var(--fs-sm);text-align:right}.profile-identity{display:flex;align-items:center;gap:14px;margin-bottom:var(--sp-5)}.profile-avatar{display:grid;flex:0 0 58px;place-items:center;width:58px;height:58px;border-radius:var(--r-2xl);background:var(--chrome);color:#fff;font-size:var(--fs-4xl);font-weight:var(--fw-black)}.profile-name{font-size:var(--fs-4xl);font-weight:var(--fw-black)}.queue-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.queue-stat{padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}.queue-stat-num{font-size:var(--fs-stat);font-weight:var(--fw-black);line-height:1}.queue-stat-label{margin-top:6px;color:var(--ink-soft);font-size:var(--fs-lg);font-weight:var(--fw-bold)}.queue-list,.sync-list{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:0;list-style:none}.queue-card{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-left:5px solid var(--stage);border-radius:var(--r-2xl);background:var(--surface)}.queue-pos{display:grid;flex:0 0 44px;place-items:center;width:44px;height:44px;border-radius:var(--r);background:var(--chrome);color:#fff;font-size:var(--fs-2xl);font-weight:var(--fw-black)}.queue-card-main{flex:1;min-width:0}.queue-lot-no{display:block;color:var(--ink);font-size:var(--fs-4xl);font-weight:var(--fw-black)}.queue-actions{margin-left:auto;margin-bottom:0}.queue-party{color:var(--ink-2);font-size:var(--fs-xl)}.queue-sub,.queue-info{color:var(--ink-soft);font-size:var(--fs-lg)}.queue-actions,.sync-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-5)}.sync-item{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1.5px solid var(--line);border-left:5px solid var(--line-2);border-radius:var(--r-2xl);background:var(--surface)}.sync-item--pending{border-left-color:var(--warn)}.sync-item--conflict{border-left-color:var(--danger)}.sync-item--sending{border-left-color:var(--accent)}.sync-item-body{flex:1;min-width:200px}.sync-item-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.sync-item-meta{margin-top:2px;color:var(--ink-soft);font-size:var(--fs-lg)}.sync-item-actions{display:flex;gap:var(--sp-2)}@media(max-width:1179px){.form-layout,.job-layout{grid-template-columns:minmax(0,1fr)}.summary-aside,.job-preview{position:static}.board{grid-template-columns:repeat(2,minmax(0,1fr))}.otable-head,.otable-row{grid-template-columns:120px minmax(0,1.3fr) minmax(0,1fr) 70px 120px 50px}}@media(max-width:979px){.grid-two{grid-template-columns:minmax(0,1fr)}}@media(max-width:899px){.login-split{grid-template-columns:1fr}.login-panel{gap:var(--sp-6);padding:28px 20px}.login-hero{font-size:32px}}@media(max-width:759px){:root{--content-px: var(--sp-4);--fs-h1: 29px;--fs-hero: 36px;--fs-stat: 34px}.sidebar{display:none}.bottom-nav{display:grid}.main{padding-bottom:96px}.install-card{bottom:calc(88px + env(safe-area-inset-bottom));width:auto;max-width:none;right:var(--content-px);left:var(--content-px);transform:none;animation:slideUp .2s ease-out}.header{padding:12px var(--content-px)}.header-row{flex-wrap:wrap}.header-brand{display:block}.header-back{display:none}.header-search{order:10;flex:1 0 100%;max-width:none}.search input{height:48px}.search-results{top:56px}.toast{bottom:88px}.board{grid-template-columns:minmax(0,1fr)}.otable{display:none}.order-cards{display:flex}.orders-new{display:none}.stat-grid,.grid-facts,.detail-grid,.queue-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.form-grid-2,.form-grid-3,.stage-picker,.party-grid,.meters-foot{grid-template-columns:minmax(0,1fr)}.card,.step-card,.form-card,.job-form,.hero{padding:var(--sp-5) var(--sp-4)}.hero-actions .btn,.form-actions .btn{flex:1;min-width:140px}.modal-card{padding:var(--sp-5)}.job-sheet{padding:var(--sp-5) var(--sp-4)}.piece-field-colour{width:100%;flex:1 1 100%}.piece-row-total{text-align:left}.piece-row-errors{padding-left:0}.lot-row-actions{width:100%;margin-left:0}.rowlink-end{margin-left:0}}@media(max-width:400px){:root{--fs-stat: 30px}.btn{padding:0 14px}.otable-actions,.lot-row-actions{justify-self:start}}@media(min-width:1600px){:root{--content-px: var(--sp-8)}}@media(hover:none){.btn:hover,.stat-card:hover,.attn-item:hover,.rowlink:hover,.otable-row:hover{background:inherit}.btn-primary:hover{background:var(--accent)}}@media print{@page{size:A4;margin:12mm}body{background:#fff;font-size:12pt}.sidebar,.bottom-nav,.header,.toast,.mobile-spacer,.noprint{display:none!important}.app-shell,.app-main,.main,.view,.job-card-page,.job-layout{display:block!important;max-width:none!important;padding:0!important;margin:0!important;min-height:auto!important}.print-only,.print-only-meta{display:block!important}.job-form{display:none!important}.job-preview{position:static!important;top:auto!important}.job-preview-label{display:none!important}.job-sheet{border:2px solid var(--ink);border-radius:0;box-shadow:none;padding:0;page-break-inside:avoid}.job-sheet-head,.job-sheet-grid,.job-sheet-seq-label,.job-sheet-notes,.job-sheet-foot{padding-left:10mm;padding-right:10mm}.job-sheet-table{width:calc(100% - 20mm);margin-left:10mm;margin-right:10mm}.job-sheet-head{padding-top:8mm}.job-sheet-foot{padding-bottom:8mm}.job-sheet-table tr{break-inside:avoid}}
