@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy-950: #0b1828;--navy-900: #12253d;--navy-800: #1a3150;--navy: #1e3a5f;--navy-600: #2c4f7c;--navy-400: #6d86a8;--slate: #4a5a70;--slate-300: #9aa7b8;--cream: #f4f1ea;--cream-100: #faf8f3;--cream-300: #e7e1d4;--gold: #e8b04a;--gold-600: #c99230;--gold-100: #fbefd6;--danger: #c2410c;--danger-100: #fde8dd;--ok: #2f7d4f;--font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm: 10px;--radius: 16px;--radius-lg: 28px;--shadow-sm: 0 1px 2px rgb(11 24 40 / .06), 0 1px 1px rgb(11 24 40 / .04);--shadow: 0 10px 30px -12px rgb(11 24 40 / .25), 0 2px 6px rgb(11 24 40 / .06);--shadow-lg: 0 30px 80px -20px rgb(11 24 40 / .45);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;font-family:var(--font);font-feature-settings:"cv11","ss01";font-size:16px;line-height:1.5;color:var(--navy-950);background:var(--cream-100);-webkit-font-smoothing:antialiased}@media(max-width:959px){html:has(app-shell),body:has(app-shell){background:var(--navy)}}h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;padding:0 1.5rem;border:0;border-radius:var(--radius);font-size:1.0625rem;font-weight:650;letter-spacing:-.01em;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),background-color .16s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{color:var(--cream);background:linear-gradient(180deg,var(--navy-600),var(--navy));box-shadow:inset 0 1px #ffffff1f,0 8px 20px -8px #1e3a5fb3}.btn-primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff1f,0 12px 28px -10px #1e3a5fd9}.btn-gold{color:var(--navy-950);background:linear-gradient(180deg,#f0c26a,var(--gold));box-shadow:inset 0 1px #fff6,0 8px 20px -8px #c99230cc}.btn-ghost{color:var(--navy);background:transparent}.btn-ghost:hover:not(:disabled){background:#1e3a5f0f}.btn-block{width:100%}.card{background:#fff;border:1px solid var(--cream-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:650;background:var(--gold-100);color:#7a5310}.stitch-loader{display:inline-flex;gap:4px}.stitch-loader i{width:10px;height:10px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;border-radius:0 0 2px;transform:rotate(45deg) translate(-2px,-2px);animation:stitch .9s var(--ease-out) infinite}.stitch-loader i:nth-child(2){animation-delay:.12s}.stitch-loader i:nth-child(3){animation-delay:.24s}@keyframes stitch{0%,to{opacity:.25}40%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.form{display:grid;gap:1.15rem}.form-field{display:grid;gap:.4rem}.form-field>label,.form-field>.label{font-size:.875rem;font-weight:650;color:var(--navy)}.form-field input:not([type=checkbox],[type=radio],[type=color]),.form-field select,.form-field textarea{width:100%;min-height:52px;padding:0 1rem;border:1.5px solid var(--cream-300);border-radius:var(--radius);background:#fff;font:inherit;font-size:1.0625rem;color:var(--navy-950);outline:none;transition:border-color .16s,box-shadow .16s}.form-field input:not([type=checkbox],[type=radio],[type=color]):focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 4px #e8b04a59}.form-field input:not([type=checkbox],[type=radio],[type=color]):disabled,.form-field select:disabled,.form-field textarea:disabled{background:var(--cream);color:var(--slate)}.form-field input:not([type=checkbox],[type=radio],[type=color])[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:var(--danger)}.form-field textarea{min-height:96px;padding:.85rem 1rem;resize:vertical}.form-field .hint{font-size:.8rem;color:var(--slate)}.form-field .error{font-size:.85rem;color:var(--danger)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem;padding:.3rem;border-radius:calc(var(--radius) + 4px);background:var(--cream)}.segmented label{position:relative;display:grid;place-items:center;min-height:48px;border-radius:var(--radius);font-weight:650;color:var(--slate);cursor:pointer;transition:background-color .16s,color .16s}.segmented input{position:absolute;opacity:0}.segmented label:has(input:checked){background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}.segmented label:has(input:focus-visible){outline:3px solid var(--gold)}.form-alert{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;border-radius:var(--radius);background:var(--danger-100);color:#8a2c07;font-weight:550}.btn-sm{min-height:44px;padding:0 1rem;font-size:.95rem;border-radius:var(--radius-sm)}.btn-outline{color:var(--navy);background:#fff;border:1.5px solid var(--cream-300)}:where(button,a[href],[role=radio],[role=button],.segmented label){-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),filter .14s,background-color .16s,border-color .16s,color .16s,box-shadow .16s}:where(button:not(:disabled),a[href],[role=radio],[role=button],.segmented label):active{transform:scale(.96);filter:brightness(.94);transition-duration:60ms}main router-outlet+*{animation:page-in .24s var(--ease-out) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){main router-outlet+*{animation:none}}.roll-label{display:flex;align-items:center;gap:1mm;box-sizing:border-box;width:50mm;height:30mm;padding:1mm 1.2mm 1mm 1mm;overflow:hidden;background:#fff;color:#000;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.1}.roll-label .rl-qr{flex:none;width:25mm;height:25mm}.roll-label .rl-info{display:flex;flex-direction:column;gap:.6mm;min-width:0;overflow:hidden}.roll-label .rl-code{font-size:3.7mm;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.roll-label .rl-fabric{font-size:3.1mm;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roll-label .rl-kg{font-size:3.6mm;font-weight:800;white-space:nowrap}.roll-label .rl-meta{font-size:2.3mm;font-weight:600;white-space:nowrap}.print-root{display:none}@media print{body.printing{background:#fff!important}body.printing>*:not(.print-root){display:none!important}body.printing .print-root{display:block}}.machine-pick-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,118px);gap:.6rem;overflow-x:auto;scrollbar-width:none;padding:4px 4px 12px;margin:-4px -4px -12px}.machine-pick-row::-webkit-scrollbar{display:none}.machine-pick{position:relative;display:block;padding:0;border:3px solid transparent;border-radius:21px;background:none;cursor:pointer;transition:transform .14s var(--ease-out),border-color .16s,box-shadow .16s}.machine-pick:active{transform:scale(.96)}.machine-pick[aria-checked=true]{border-color:var(--gold);box-shadow:0 10px 22px -10px #c99230e6}.machine-pick[aria-checked=true]:after{content:"\2713";position:absolute;top:6px;right:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--navy-950);font-weight:900}.machine-pick.maint{opacity:.7}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.page-head>div,.page-head>hgroup{display:grid;gap:.3rem;min-width:0}.page-head>.eyebrow,.page-head>h1,.page-head>p{flex-basis:100%}.page-head h1{margin:0;font-size:clamp(1.7rem,5.5vw,2.3rem);font-weight:850;line-height:1.1;color:var(--navy)}.page-head p{margin:0;max-width:62ch;font-size:1rem;color:var(--slate)}.page-head .btn{gap:.45rem;--icon-size: 20px}.back-link{display:inline-flex;align-items:center;gap:.4rem;justify-self:start;min-height:44px;font-weight:750;color:var(--navy);text-decoration:none;--icon-size: 20px}.seg-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.3rem;max-width:min(560px,100%);min-width:0;padding:.3rem;border-radius:calc(var(--radius) + 4px);background:var(--cream)}.seg-tabs>button,.seg-tabs>a{display:grid;place-items:center;min-height:48px;padding:0 .5rem;border:0;border-radius:var(--radius);background:transparent;font:inherit;font-size:1rem;font-weight:750;color:var(--slate);text-align:center;text-decoration:none;cursor:pointer;transition:background-color .16s,color .16s}.seg-tabs>button.on,.seg-tabs>button.active,.seg-tabs>button[aria-selected=true],.seg-tabs>a.on,.seg-tabs>a.active,.seg-tabs>a[aria-selected=true]{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}.seg-tabs:has(>:nth-child(4)){display:flex;overflow-x:auto;scrollbar-width:none}.seg-tabs:has(>:nth-child(4))::-webkit-scrollbar{display:none}.seg-tabs:has(>:nth-child(4))>*{flex:1 0 auto;padding:0 .5rem;font-size:clamp(.85rem,3.6vw,1rem);white-space:nowrap}.choices{display:flex;flex-wrap:wrap;gap:.5rem}.choices.col{flex-direction:column;align-items:stretch}.choice{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:0 1rem;border:2px solid var(--cream-300);border-radius:14px;background:#fff;font:inherit;font-size:1rem;font-weight:700;color:var(--navy-950);text-align:left;cursor:pointer;transition:transform .14s var(--ease-out),background-color .16s,border-color .16s,color .16s}.choice:active:not(:disabled){transform:scale(.97)}.choice:disabled{opacity:.5;cursor:not-allowed}.choice em,.choice small{font-size:.78rem;font-style:normal;font-weight:650;color:var(--slate)}.choice.on,.choice[aria-pressed=true],.choice[aria-checked=true]{border-color:var(--navy);background:var(--navy);color:var(--cream)}.choice.on em,.choice.on small,.choice[aria-pressed=true] em,.choice[aria-pressed=true] small,.choice[aria-checked=true] em,.choice[aria-checked=true] small{color:var(--gold)}.choice.gold{border-color:var(--gold)}.choice.gold.on{border-color:var(--gold);background:var(--gold);color:var(--navy-950)}.choice.add{border-style:dashed;color:var(--navy)}.choice.sm{min-height:40px;padding:0 .85rem;border-width:1.5px;border-radius:999px;font-size:.9rem}.choice.square{justify-content:center;width:48px;padding:0;font-size:1.15rem;font-weight:850}.choice.color.on{border-color:transparent;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#3b82f6,#a855f7);color:#fff}.choice b{padding:0 .4rem;border-radius:999px;background:var(--cream);font-size:.78rem;color:var(--slate)}.choice.on b{background:#ffffff29;color:var(--gold)}.choice.on .dot{box-shadow:0 0 0 2px #fff}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .65rem;border-radius:999px;background:var(--cream);font-size:.8rem;font-weight:750;color:var(--slate);white-space:nowrap;--icon-size: 14px}.pill[data-tone=ok]{background:#2f7d4f1f;color:var(--ok)}.pill[data-tone=warn]{background:var(--gold-100);color:#7a5310}.pill[data-tone=danger]{background:var(--danger-100);color:var(--danger)}.pill[data-tone=info]{background:#1e3a5f1a;color:var(--navy)}.state-loading{display:grid;place-items:center;padding:3rem 1rem}.state-empty{display:grid;justify-items:center;gap:.35rem;padding:2.5rem 1.25rem;border:1.5px dashed var(--cream-300);border-radius:var(--radius-lg);font-size:1rem;color:var(--slate);text-align:center}.state-empty strong{font-size:1.1rem;color:var(--navy)}.surface{display:grid;gap:1rem;min-width:0;padding:1.15rem 1.25rem;border:1px solid var(--cream-300);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.sec-head h2{margin:0;font-size:1.15rem;font-weight:800;color:var(--navy)}.muted{margin:0;font-size:.9rem;color:var(--slate)}.text-link{padding:.25rem 0;border:0;background:none;font:inherit;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.sub-nav{display:flex;gap:.5rem;margin:0 -1.1rem;padding:0 1.1rem .25rem;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:1.1rem}.sub-nav::-webkit-scrollbar{display:none}@media(min-width:960px){.sub-nav{flex-wrap:wrap;margin:0;padding:0}}.sub-nav>a{display:inline-flex;flex:none;align-items:center;gap:.5rem;min-height:48px;padding:0 1.1rem;border:1.5px solid var(--cream-300);border-radius:999px;background:#fff;font-weight:700;color:var(--slate);text-decoration:none;scroll-snap-align:start;--icon-size: 19px;transition:background-color .16s,color .16s,border-color .16s}.sub-nav>a.active{border-color:var(--navy);background:var(--navy);color:var(--cream)}.sub-nav>a.active app-icon{color:var(--gold)}.roll-card-btn{display:block;width:100%;padding:0;border:0;border-radius:var(--radius);background:none;font:inherit;text-align:left;color:inherit;text-decoration:none;cursor:pointer;transition:transform .14s var(--ease-out)}.roll-card-btn:active{transform:scale(.985)}.roll-list{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:.6rem;margin:0;padding:0;list-style:none}.roll-list>li{min-width:0}.pick-box{display:grid;flex:none;place-items:center;width:28px;height:28px;border:2px solid var(--slate-300);border-radius:9px;background:#fff;color:transparent;transition:background-color .14s,border-color .14s,color .14s;--icon-size: 18px}.pick-box.on{border-color:var(--navy);background:var(--navy);color:var(--gold)}.icon-x{display:grid;flex:none;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--cream);font-size:1rem;font-weight:800;color:var(--slate);cursor:pointer}.icon-x:hover{background:var(--danger-100);color:var(--danger)}.btn-glass{border:1.5px solid rgba(255,255,255,.35);background:#0b18288c;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.text-link.danger{color:var(--danger)}.text-link:disabled{opacity:.5;cursor:not-allowed}
