/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Playfair Display", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-navy:#1c1c1e;--color-ink:#161618;--color-paper:#f6f5f8;--color-muted:#8a8792;--color-green:#12a150;--radius-je:16px;--shadow-je:0 1px 2px #1c1c280d, 0 10px 30px #1c1c2812}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-row{display:table-row}.h-4{height:calc(var(--spacing) * 4)}.h-10{height:calc(var(--spacing) * 10)}.min-h-8{min-height:calc(var(--spacing) * 8)}.w-4{width:calc(var(--spacing) * 4)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-\(--thread-content-max-width\){max-width:var(--thread-content-max-width)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-\[calc\(var\(--header-height\)\+min\(200px\,max\(70px\,20svh\)\)\)\]{scroll-margin-top:calc(var(--header-height) + min(200px,max(70px,20svh)))}.scroll-mb-\[calc\(var\(--scroll-root-safe-area-inset-bottom\,0px\)\+var\(--thread-response-height\)\)\]{scroll-margin-bottom:calc(var(--scroll-root-safe-area-inset-bottom,0px) + var(--thread-response-height))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.px-\(--thread-content-margin\){padding-inline:var(--thread-content-margin)}.pb-15{padding-bottom:calc(var(--spacing) * 15)}.text-left{text-align:left}.text-start{text-align:start}.align-\[-3px\]{vertical-align:-3px}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words,.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.\[--thread-content-margin\:var\(--thread-content-margin-xs\,calc\(var\(--spacing\)\*4\)\)\]{--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing) * 4))}.\[--thread-content-max-width\:40rem\]{--thread-content-max-width:40rem}.empty\:hidden:empty{display:none}.focus\:outline-none:focus,.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.has-data-writing-block\:pointer-events-none:has([data-writing-block]){pointer-events:none}.\[\&\>svg\]\:h-4>svg{height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:w-4>svg{width:calc(var(--spacing) * 4)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--white: #ffffff;--paper: #f6f5f8;--line: #ececf0;--line2: #e0dfe6;--charcoal: #26262b;--ink: #161618;--muted: #8a8792;--muted2: #b4b1bc;--navy: #1c1c1e;--navy2: #33333a;--gold: #12a150;--gold-soft: #e6f6ec;--green: #12a150;--green-soft: #e6f6ec;--red: #e0533b;--red-soft: #fceae4;--amber: #cf8a2a;--amber-soft: #fbf0df;--blue: #3a3a42;--blue-soft: #edecf1;--btn-face: #e6e3ed;--btn-face-hover: #d8d4e2;--btn-edge: #8e8b9c;--radius: 16px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(28, 28, 40, .05), 0 10px 30px rgba(28, 28, 40, .07)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper);color:var(--charcoal);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.serif{font-family:Playfair Display,serif}.hidden{display:none!important}#boot-splash{position:fixed;inset:0;z-index:110;background:var(--navy);display:flex;align-items:center;justify-content:center}html:not(.booting) #boot-splash,#boot-splash.hidden{display:none!important}#login{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.login-card{background:var(--white);border-radius:16px;padding:40px 34px;width:100%;max-width:380px;box-shadow:0 30px 80px #0000004d;text-align:center}.login-card .logo{font-family:Playfair Display,serif;font-size:30px;font-weight:700;color:var(--navy);letter-spacing:.5px}.login-card .sub{color:var(--muted);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-top:2px;margin-bottom:26px}.user-pick{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.user-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-align:left;transition:.15s}.user-btn:hover{border-color:var(--navy);background:var(--btn-face-hover)}.user-btn .av{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.user-btn .nm{font-weight:600;color:var(--ink)}.user-btn .rl{font-size:11px;color:var(--muted);text-transform:capitalize}.pin-row{display:flex;gap:8px;margin:18px 0 6px}.pin-row input{flex:1;text-align:center;font-size:22px;letter-spacing:8px;padding:12px;border:1.5px solid var(--line2);border-radius:10px}.btn-primary{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:13px;width:100%;font-weight:600;font-size:15px}.btn-primary:hover{background:var(--navy2)}.link-btn{background:none;border:none;color:var(--muted);font-size:12px;margin-top:14px;text-decoration:underline}#app{display:flex;min-height:100vh}.sidebar{width:230px;background:var(--navy);color:#cfd6e4;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sb-logo{padding:22px 22px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.sb-logo .t{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:#fff}.sb-logo .s{font-size:10px;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;margin-top:1px}.nav{flex:1;padding:14px 12px;overflow-y:auto}.nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:9px;color:#cfd6e4;text-decoration:none;font-weight:500;font-size:14px;margin-bottom:3px;transition:.12s}.nav a .ico{width:20px;height:20px;text-align:center;font-size:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav a .ico svg{width:18px;height:18px;display:block;opacity:.9}.nav a.active .ico svg{opacity:1}.nav a.sub .ico svg{width:16px;height:16px}.nav a:hover{background:#ffffff12;color:#fff}.nav a.active{background:var(--gold);color:#fff}.nav .lock{margin-left:auto;font-size:12px;opacity:.5}.nav-group-header{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:9px;color:#cfd6e4;font-weight:500;font-size:14px;margin-bottom:3px;cursor:pointer;user-select:none;transition:.12s}.nav-group-header .ico svg{width:18px;height:18px;display:block;opacity:.9}.nav-group-header:hover,.nav-group-header.active-group{background:#ffffff12;color:#fff}.nav-group-header .chev{margin-left:auto;font-size:11px;opacity:.6;display:inline-block;transition:transform .15s ease}.nav-group-header .chev.open{transform:rotate(90deg)}.nav-group-children{max-height:0;overflow:hidden;transition:max-height .18s ease}.nav-group-children.open{max-height:320px}.sb-user{padding:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.sb-user .av{width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.sb-user .nm{font-weight:600;color:#fff;font-size:13px}.sb-user .rl{font-size:11px;color:var(--muted2);text-transform:capitalize}.sb-user .out{margin-left:auto;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:9px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:#cfd6e4;font-size:18px;flex-shrink:0}.sb-user .out:hover{background:#ffffff38;color:#fff}.sb-user .out .ic svg{width:18px;height:18px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:none}.content{padding:20px 30px 60px;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:14px;flex-wrap:wrap}.page-head h1{font-family:Playfair Display,serif;font-size:27px;color:var(--navy)}.page-head .desc{color:var(--muted);font-size:13px;margin-top:3px}.page-head-tight{margin-bottom:14px;align-items:center}.ph-block{position:relative;min-width:0}.ph-titlerow{display:flex;align-items:center;gap:8px;min-width:0}.ph-i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:999px;border:1px solid var(--btn-edge);background:var(--btn-face);color:var(--charcoal);padding:0}.ph-i:hover{background:var(--btn-face-hover)}.ph-i .ic svg{width:14px;height:14px}.page-head .desc.ph-tip{position:absolute;top:calc(100% + 7px);left:0;z-index:45;width:max-content;max-width:min(460px,calc(100vw - 32px));margin-top:0;padding:11px 13px;border-radius:11px;background:var(--ink);color:#fff;font-size:12.5px;line-height:1.45;box-shadow:0 12px 30px #1c1c284d;opacity:0;visibility:hidden;transition:opacity .12s}.ph-block:has(.ph-i:hover)>.desc.ph-tip,.ph-block:has(.ph-i:focus)>.desc.ph-tip{opacity:1;visibility:visible}.page-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--btn-edge);background:var(--btn-face);color:var(--charcoal);border-radius:9px;padding:9px 15px;font-weight:600;font-size:13px;transition:.13s}.btn:hover{border-color:var(--navy);background:var(--btn-face-hover)}.btn:active{background:var(--btn-face-hover);transform:translateY(1px)}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn.gold:hover{filter:brightness(1.05)}.btn.danger{color:var(--red);background:var(--red-soft);border-color:#e8c4be}.btn.danger:hover{background:var(--red-soft)}.btn.sm{padding:6px 11px;font-size:12px}.btn.ghost{background:var(--btn-face);border-color:var(--btn-edge)}.btn.ghost:hover{background:var(--btn-face-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ic svg{width:14px;height:14px;display:block}.sect-title .ic svg{width:18px;height:18px}.empty .ic svg{width:36px;height:36px}.cam-msg .ic svg{width:34px;height:34px}.csv-drop-ico.ic svg{width:22px;height:22px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.grid{display:grid;gap:16px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stat .lbl{font-size:12px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:6px}.stat .val{font-size:28px;font-weight:700;color:var(--ink);margin-top:7px;font-family:Playfair Display,serif}.stat .sub{font-size:12px;color:var(--muted);margin-top:3px}.stat.accent{border-left:3px solid var(--gold)}.stat.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.stat.clickable:hover{box-shadow:0 4px 14px #1c1c281f;transform:translateY(-1px)}.stat.clickable:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:12px 14px;background:var(--paper);color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0}tbody td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--paper)}.thumb{width:40px;height:50px;border-radius:6px;object-fit:cover;background:var(--paper);border:1px solid var(--line);flex-shrink:0}.prod-thumb-btn{all:unset;display:contents;cursor:pointer}.prod-cell{display:flex;align-items:center;gap:11px}.prod-cell .nm{font-weight:600;color:var(--ink)}.prod-cell .meta{font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}.prod-cell .meta .meta-sep{margin:0 6px;color:var(--muted2)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.scan-cell{display:flex;align-items:center;gap:11px}.scan-cell-text{display:flex;flex-direction:column}.scan-cell-sku{font-weight:700;color:var(--ink);font-size:13px}.scan-cell-loc{display:flex;align-items:center;gap:5px;margin-top:2px}.scan-cell-loc .loc-ic{display:inline-flex;color:var(--muted2)}.scan-cell-loc .loc-ic svg{width:13px;height:13px}.stock-batch .stat-ic{display:none}.scan-cell-title{display:block}@media(max-width:640px){.scan-cell-title{display:none}}@media(max-width:640px){.tbl-wrap.tbl-cards{overflow-x:visible;border:none;border-radius:0;background:none}.tbl-wrap.tbl-cards:after{display:none}.tbl-cards table,.tbl-cards tbody,.tbl-cards tr,.tbl-cards td{display:block;width:100%}.tbl-cards thead{display:none}.tbl-cards tbody tr{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:12px 14px;margin-bottom:10px}.tbl-cards tbody tr:last-child{margin-bottom:0}.tbl-cards tbody tr:hover{background:var(--white)}.tbl-cards td{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:none;text-align:right}.tbl-cards td[data-label]:before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:left;flex-shrink:0}.batch-cards tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;border:1.5px solid var(--line2)}.batch-cards td{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0;text-align:left;min-width:0}.batch-cards td[data-label]:before{font-size:10px;letter-spacing:.04em}.batch-cards td[data-label=Product]{grid-column:1 / -1;order:0}.batch-cards td[data-label=Product]:before{content:none}.batch-cards .qstep{width:100%}.batch-cards .qstep input{flex:1;min-width:0}.stock-batch tbody tr{position:relative;padding-left:108px;min-height:120px;grid-template-columns:1fr auto auto;grid-template-areas:"info stock after" "qty qty rm";align-items:center;row-gap:12px;column-gap:10px}.stock-batch td[data-label=Product],.stock-batch td[data-label=Product] .scan-cell{display:contents}.stock-batch td[data-label=Product] .scan-cell-img{position:absolute;top:12px;left:14px;width:76px;height:96px;border:1.5px solid var(--line2)}.stock-batch td[data-label=Product] .scan-cell-text{grid-area:info;display:flex;flex-direction:column;gap:4px;align-self:start}.stock-batch td[data-label=Product] .scan-cell-sku{font-size:14px}.stock-batch td[data-label=Product] .scan-cell-loc{font-size:12px;font-weight:500;color:var(--muted)}.stock-batch td[data-label="In stock now"],.stock-batch td[data-label="After submit"]{flex-direction:row;align-items:center;gap:4px;font-size:13px;font-weight:600;align-self:start;white-space:nowrap}.stock-batch td[data-label="In stock now"]:before,.stock-batch td[data-label="After submit"]:before{content:none}.stock-batch td[data-label="In stock now"]{grid-area:stock;color:var(--muted)}.stock-batch td[data-label="After submit"]{grid-area:after;color:var(--ink)}.stock-batch .stat-ic{display:inline-flex}.stock-batch td[data-label="In stock now"] .stat-ic,.stock-batch td[data-label="After submit"] .stat-ic{color:var(--muted2)}.stock-batch td[data-label="Batch qty"]{grid-area:qty;justify-content:center}.stock-batch td[data-label="Batch qty"]:before{content:none}.stock-batch td.batch-rm{grid-area:rm;justify-content:center}.tally-batch tbody tr{position:relative;padding:14px 44px 14px 108px;min-height:124px;grid-template-columns:2fr 3fr;grid-template-areas:"info info" "system physical" "diff action";align-items:start;row-gap:14px;column-gap:0}.tally-batch td[data-label=Product],.tally-batch td[data-label=Product] .scan-cell{display:contents}.tally-batch td[data-label=Product] .scan-cell-img{position:absolute;top:14px;left:14px;width:76px;height:96px;border:1.5px solid var(--line2)}.tally-batch td[data-label=Product] .scan-cell-text{grid-area:info;display:flex;flex-direction:column;gap:4px}.tally-batch td[data-label=Product] .scan-cell-sku{font-size:14px;font-weight:700;color:var(--ink);white-space:normal;word-break:break-word}.tally-batch td[data-label=Product] .scan-cell-loc{font-size:12px;font-weight:500;color:var(--muted);display:flex;gap:10px}.tally-batch td.batch-rm{display:contents}.tally-batch td.batch-rm .icon-btn{position:absolute;top:14px;right:14px}.tally-batch td[data-label=System],.tally-batch td[data-label=Physical]{border:1.5px solid var(--line2);padding:10px 12px;align-self:stretch;justify-content:center}.tally-batch td[data-label=System]{grid-area:system;border-right:none;border-radius:10px 0 0 10px}.tally-batch td[data-label=Physical]{grid-area:physical;border-radius:0 10px 10px 0}.tally-batch td[data-label=Difference]{grid-area:diff}.tally-batch td[data-label=Action]{grid-area:action;align-self:end;margin-left:12px}.tally-batch td[data-label=Action]:before{content:none}.tally-batch td[data-label=Action] .btn{width:100%;justify-content:center}.tbl-cards td.bph-act{justify-content:stretch;padding-top:10px}.tbl-cards td.bph-act .btn{width:100%;min-height:40px}.tbl-cards .bph-table td[data-label=Title]{text-align:right;overflow-wrap:anywhere}.tbl-cards tr.tbl-card-full{background:var(--paper);box-shadow:none}.tbl-cards tr.tbl-card-full td{display:block;text-align:left;padding:0}}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.badge.ok{background:var(--green-soft);color:var(--green)}.badge.low{background:var(--amber-soft);color:var(--amber)}.badge.out{background:var(--red-soft);color:var(--red)}.badge.in{background:var(--green-soft);color:var(--green)}.badge.role{background:var(--gold-soft);color:var(--gold)}.badge.navy{background:var(--blue-soft);color:var(--blue)}.users-table{table-layout:fixed}.users-table col.col-user{width:42%}.users-table col.col-status,.users-table col.col-role{width:13%}.users-table col.col-actions{width:32%}.users-table td[data-label=Status],.users-table td[data-label=Role]{vertical-align:middle}.users-table th:last-child,.users-table td[data-label=Actions]{text-align:right}.users-table td[data-label=Actions] .flex{justify-content:flex-end}@media(max-width:640px){.users-table th:last-child,.users-table td[data-label=Actions]{text-align:left}.users-table td[data-label=Actions] .flex{justify-content:flex-start}}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--charcoal);margin-bottom:6px}.field .hint{font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}input[type=text],input[type=number],input[type=password],input[type=url],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:9px;background:#fff;color:var(--ink);box-sizing:border-box;min-height:42px;font:inherit}select{appearance:none;-webkit-appearance:none;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 fill='%238a8792' d='M1.1 1.1 6 6l4.9-4.9 1.1 1.1L6 8.2.01 2.2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px;line-height:1.25}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1b2a4a14}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.row>*{flex:1;min-width:140px}.pform-media{flex:0 0 110px;min-width:110px}.pform-fields{flex:1;min-width:0}@media(max-width:460px){.pform-media-row{flex-direction:column}.pform-media{flex:0 0 auto}}.user-form-row{align-items:stretch}.user-form-row .field{margin-bottom:14px;display:flex;flex-direction:column}.user-form-row .field input,.user-form-row .field select{flex:0 0 auto}.seg{display:inline-flex;background:var(--btn-face);border:1px solid var(--btn-edge);border-radius:9px;padding:3px;gap:3px}.seg button{border:none;background:none;padding:8px 16px;border-radius:7px;font-weight:600;font-size:13px;color:var(--muted)}.seg button.on{background:var(--navy);color:#fff}.toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;font-weight:500}.toggle input{display:none}.toggle .tk{width:42px;height:24px;border-radius:14px;background:var(--line2);position:relative;transition:.18s;flex-shrink:0}.toggle .tk:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.18s;box-shadow:0 1px 3px #00000040}.toggle input:checked+.tk{background:var(--green)}.toggle input:checked+.tk:after{left:21px}.scan-box{background:var(--navy);border-radius:var(--radius);padding:22px;color:#fff;margin-bottom:18px;transition:box-shadow .15s,background .15s}.batch-bar{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow);flex-wrap:wrap}.batch-bar.in{border-left-color:var(--green)}.batch-bar.out{border-left-color:var(--red)}.batch-bar .bc{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:84px;padding-right:18px;border-right:1px solid var(--line)}.batch-bar .bc .n{font-family:Playfair Display,serif;font-size:34px;font-weight:700;line-height:1;color:var(--navy)}.batch-bar.in .bc .n{color:var(--green)}.batch-bar.out .bc .n{color:var(--red)}.batch-bar .bc .l{font-size:11px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}.batch-bar .bmeta{flex:1;min-width:140px}.batch-bar .bmeta b{font-size:16px;color:var(--ink)}.batch-bar .bact{display:flex;gap:8px;flex-wrap:wrap}.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--line2);background:var(--paper);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-btn .ic{display:inline-flex;width:15px;height:15px}.icon-btn .ic svg{width:100%;height:100%}.icon-btn.danger{border-color:#e8c4be;background:var(--red-soft);color:var(--red)}.icon-btn.danger:hover{background:#f6dcd6}.status-toggle-btn{width:34px;height:34px;border-radius:9px;border:none;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.status-toggle-btn.is-running{background:var(--green)}.status-toggle-btn.is-running:hover{background:#0f8a44}.status-toggle-btn.is-empty{background:var(--red)}.status-toggle-btn.is-empty:hover{filter:brightness(.92)}.qstep{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:8px;overflow:hidden}.qstep button{width:30px;height:32px;border:none;background:var(--paper);font-size:17px;font-weight:600;color:var(--navy)}.qstep button:hover{background:var(--line)}.qstep input{width:48px;text-align:center;border:none;border-left:1px solid var(--line2);border-right:1px solid var(--line2);border-radius:0;padding:6px 0;height:32px;background:var(--white);cursor:text}.qstep input:focus{box-shadow:inset 0 0 0 2px var(--green);outline:none;position:relative;z-index:1}.tally-system{color:var(--muted);font-weight:600;text-align:center}.qstep-lg{width:100%;max-width:170px}.qstep-lg button{width:38px;height:40px;font-size:19px}.qstep-lg input{width:76px;height:40px;font-size:16px;font-weight:700}.qstep-lg input[readonly]{cursor:pointer;background:var(--paper)}.batch-block{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:10px}.batch-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--paper);font-size:13px;border-bottom:1px solid var(--line)}.batch-head .who{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}.scan-find-label{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.scan-find-label .sfl-thumb-wrap{flex:0 0 72px;width:72px;max-width:72px;min-width:72px;align-self:center;padding:0;margin:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);overflow:hidden;cursor:pointer;display:block;aspect-ratio:4 / 5;height:auto}.scan-find-label .sfl-thumb{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:none;border-radius:0;background:var(--paper)}.scan-find-label .sfl-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px}.scan-find-label .sfl-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}.scan-find-label .sfl-title{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.scan-find-label .sfl-sku{font-family:ui-monospace,SF Mono,monospace;font-size:18px;font-weight:700;color:var(--ink);margin-top:4px;word-break:break-all}.scan-find-label .sfl-loc{flex:0 0 auto;margin-left:auto;display:flex;align-items:stretch;gap:8px}.scan-find-label .sfl-side{flex:0 0 auto;min-width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 10px;border:1px solid var(--line2);border-radius:calc(var(--radius) - 4px)}.scan-find-label .sfl-side span{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.scan-find-label .sfl-side b{font-size:22px;font-family:Playfair Display,serif;color:var(--ink);margin-top:2px}@media(max-width:560px){.scan-find-label{gap:10px;padding:10px}.scan-find-label .sfl-thumb-wrap{flex:0 0 24%;width:24%;max-width:28%;min-width:56px;align-self:stretch;aspect-ratio:auto;height:auto}.scan-find-label .sfl-thumb{min-height:72px;max-height:120px;object-fit:cover}.scan-find-label .sfl-body{flex-direction:column;align-items:stretch;gap:8px}.scan-find-label .sfl-loc{margin-left:0;width:100%}.scan-find-label .sfl-side{flex:1 1 0;min-width:0}.scan-find-label .sfl-sku{font-size:16px}.scan-find-label .sfl-side b{font-size:20px}}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;background:var(--paper);border-radius:var(--radius-sm);min-height:260px;padding:12px}.lightbox-img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:6px}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--white);border:1px solid var(--line2);box-shadow:var(--shadow);font-size:22px;line-height:1;color:var(--charcoal);display:flex;align-items:center;justify-content:center}.lightbox-arrow.prev{left:10px}.lightbox-arrow.next{right:10px}.lightbox-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lightbox-thumb{width:48px;height:58px;object-fit:cover;border-radius:6px;border:2px solid transparent;cursor:pointer;opacity:.7}.lightbox-thumb.active{border-color:var(--gold);opacity:1}.find-suggest{background:var(--white);border:1.5px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);margin:-8px 0 18px;overflow:hidden}.find-suggest.hidden{display:none}.find-suggest .fs-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line)}.find-suggest .fs-item:last-child{border-bottom:none}.find-suggest .fs-item:hover,.find-suggest .fs-item:active{background:var(--paper)}.find-suggest .fs-empty{padding:16px 14px;color:var(--muted);font-size:13px;text-align:center}.scan-box.ok{box-shadow:0 0 0 3px #2ee27a,0 0 24px #2ee27a80;animation:boxok .5s}.scan-box.err{box-shadow:0 0 0 3px #ff5b4d,0 0 24px #ff5b4d80;animation:boxerr .5s}@keyframes boxok{0%{background:#155c3a}to{background:var(--navy)}}@keyframes boxerr{0%{background:#6e2018}to{background:var(--navy)}}.scan-box .lbl{font-size:12px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-weight:600}.scan-input{font-size:20px!important;line-height:1.35!important;padding:16px 18px!important;min-height:56px;width:100%;border:2px solid var(--gold)!important;border-radius:12px!important;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;caret-color:#111;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-weight:600;letter-spacing:.4px;overflow-x:auto;white-space:nowrap;box-sizing:border-box}.scan-input::placeholder{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;opacity:1;font-weight:500}.scan-input:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px #12a15033!important;outline:none}.scan-feed{font-size:13px;color:#bcc6da;margin-top:12px;display:flex;align-items:center;gap:8px;min-height:20px}.pulse{width:9px;height:9px;border-radius:50%;background:var(--gold);animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}#toast-wrap{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:8px;align-items:flex-end;width:100%;max-width:360px;padding:0 16px;pointer-events:none}.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 8px 30px #00000040;display:flex;align-items:center;gap:10px;animation:tin .25s;width:100%}.toast.ok{background:var(--green)}.toast.err{background:var(--red)}.toast.warn{background:var(--amber)}@keyframes tin{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}#loader-root{position:fixed;inset:0;z-index:250;display:none;align-items:center;justify-content:center;background:#14141e2e}#loader-root.on{display:flex}#loader-root.bar-mode{align-items:flex-start;background:transparent;pointer-events:none}.je-spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.35);border-top-color:var(--gold);animation:je-spin .7s linear infinite;background:var(--navy);box-shadow:var(--shadow)}@keyframes je-spin{to{transform:rotate(360deg)}}.je-bar-track{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:250}.je-bar-fill{height:100%;width:35%;background:var(--gold);animation:je-bar 1s ease-in-out infinite}@keyframes je-bar{0%{margin-left:-35%}50%{margin-left:60%}to{margin-left:100%}}.modal-bg{position:fixed;inset:0;background:#14141e80;z-index:150;display:flex;align-items:center;justify-content:center;padding:18px}.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px #0000004d}.modal-head{flex-shrink:0;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-family:Playfair Display,serif;font-size:20px;color:var(--navy)}.modal-head .x{background:var(--btn-face);border:1px solid var(--btn-edge);border-radius:9px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:var(--charcoal);line-height:1;flex-shrink:0}.modal-head .x:hover{background:var(--btn-face-hover)}.modal-body{padding:22px 24px;overflow-y:auto;min-height:0}.modal-foot{flex-shrink:0;padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}@media(max-width:640px){.modal-bg{padding:10px}.modal-body,.modal-head,.modal-foot{padding-left:16px;padding-right:16px}.modal-foot{flex-wrap:wrap;gap:8px}.modal-foot>.btn{flex:1 1 auto;min-height:44px;justify-content:center;white-space:nowrap}.modal-foot>.btn.primary{flex-basis:100%;order:1}.modal-head .x{min-width:44px;min-height:44px;margin:-10px -10px -10px 0}}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty .ic{font-size:40px;opacity:.4;margin-bottom:10px}.sect-title{font-size:13px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px;margin:26px 0 12px;display:flex;align-items:center;gap:8px}.set-col{min-width:0;display:flex;flex-direction:column}.set-col .sect-title{margin-top:0}.set-card{flex:1;display:flex;flex-direction:column}.set-col .row{flex-direction:column;gap:0;align-items:stretch}.set-col .row>*{min-width:0}.backup-row{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.backup-row:first-child{padding-top:2px}.backup-row:last-child{padding-bottom:2px;border-bottom:none}.backup-row-ic{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--blue-soft);color:var(--navy2);display:flex;align-items:center;justify-content:center}.backup-row-info{min-width:0;flex:1}.backup-row-title{font-weight:600;font-size:13.5px;color:var(--charcoal);margin-bottom:3px}.backup-row-info>p{margin:0 0 12px}.backup-row-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hist-days-field{max-width:220px;margin-bottom:12px}@media(max-width:420px){.backup-row-act .btn{flex:1;justify-content:center}}.stored-backups-list{margin-top:4px}.stored-backups-table{width:100%;font-size:13px}.stored-backups-table th{text-align:left;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-bottom:1px solid var(--line)}.stored-backups-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.stored-backups-table tr:last-child td{border-bottom:none}.search-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:flex-end}.search-bar>input{flex:1;min-width:200px}.search-bar .btn{min-height:42px;box-sizing:border-box;flex-shrink:0}.hist-filters select{max-width:170px;flex:0 1 170px}.hist-filters .dr-range{margin-left:auto}.hist-top-sticky{position:sticky;top:0;z-index:20;background:var(--paper);padding:20px 0 18px;margin:-20px 0 8px;border-bottom:1px solid var(--line)}.hist-top-sticky .page-head{margin-bottom:16px}.hist-top-sticky .search-bar{margin-bottom:0}#hPager.hist-bottom-sticky:not(:empty){position:sticky;bottom:0;z-index:20;background:var(--paper);margin:0 -30px -60px;padding:14px 30px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -6px 16px #1c1c2814}.hist-day{margin-bottom:24px}.hist-day .sect-title{margin-top:0;margin-bottom:14px}.hist-day-sum{font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted);margin-left:4px}.hist-table{table-layout:fixed;width:100%}.hist-table thead th{position:static;background:var(--paper)}.hist-table .hist-col-type{width:150px}.hist-table .hist-col-stock{width:120px}.hist-table .hist-col-user{width:150px}.hist-table th,.hist-table td{vertical-align:middle}.hist-table .hist-prod .nm{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-table .hist-stock{font-size:12.5px;color:var(--muted);white-space:nowrap}.hist-table .hist-stock b{color:var(--ink);font-weight:700}.hist-table .hist-user{text-align:right}.hist-table .hist-user .nm{font-size:12.5px;font-weight:600;color:var(--ink)}.hist-batch-sep td{padding:0;border-bottom:1px solid var(--line);background:var(--paper)}.hist-batch-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;font-size:13px}.hist-batch-who{margin-left:auto;font-size:12px;color:var(--muted)}.hist-batch-who b{color:var(--ink)}@media(max-width:640px){.tbl-cards .hist-table tbody tr:not(.tbl-card-full){display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:start}.tbl-cards .hist-table td{display:block;padding:0;text-align:left;min-width:0}.tbl-cards .hist-table td[data-label]:before{content:none}.hist-table .hist-prod{grid-column:1;grid-row:1}.hist-table .hist-type{grid-column:2;grid-row:1;justify-self:end}.hist-table .hist-stock{grid-column:1;grid-row:2;align-self:center}.hist-table .hist-user{grid-column:2;grid-row:2;text-align:right}.tbl-cards .hist-table .hist-prod .nm{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.35}.tbl-cards .hist-table .hist-prod .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;margin-top:2px}.tbl-cards .hist-table .hist-user{display:flex;align-items:baseline;justify-content:flex-end;gap:6px}.tbl-cards .hist-table .hist-user .nm{font-size:12px}.tbl-cards .hist-table .hist-user .meta:before{content:"·";margin-right:6px}.hist-table .hist-col-type,.hist-table .hist-col-stock,.hist-table .hist-col-user{width:auto}}@media(max-width:720px){.hist-filters .dr-range{margin-left:0;width:100%}.hist-table .hist-col-type{width:110px}.hist-table .hist-col-stock{width:96px}.hist-table .hist-col-user{width:110px}}.pill-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pill{padding:6px 13px;border:1px solid var(--btn-edge);border-radius:20px;background:var(--btn-face);font-size:12px;font-weight:600;color:var(--muted)}.pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.perm-field .perm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13.5px;font-weight:600;color:var(--charcoal);cursor:pointer;transition:border-color .15s,background .15s}.perm-field .perm-row:hover{border-color:var(--line2)}.perm-field .perm-row:has(input:checked){border-color:#12a15059;background:var(--green-soft)}.perm-field .perm-row:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}.perm-field .perm-name{flex:1;min-width:0;margin:0}.perm-field .toggle{flex-shrink:0;margin:0}.perm-block+.perm-block{margin-top:16px}.perm-block-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:7px}.perm-block-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.perm-block-hint{font-size:11.5px;color:var(--muted2)}.perm-parent{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s}.perm-parent.open{border-color:#12a15059}.perm-field .perm-row-lead{border:0;border-radius:0;padding:13px 16px;font-size:14px;color:var(--ink)}.perm-parent.open .perm-row-lead{border-bottom:1px solid rgba(18,161,80,.25)}.perm-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease;background:var(--paper)}.perm-parent.open .perm-sub{grid-template-rows:1fr}.perm-sub-inner{overflow:hidden;min-height:0}.perm-parent.open .perm-sub-inner{padding:14px 16px 15px}.perm-sub-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.perm-sub-title{font-size:12px;font-weight:600;color:var(--charcoal)}.perm-sub-actions{display:flex;gap:14px}.perm-linkbtn{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.perm-linkbtn:disabled{color:var(--muted);cursor:default;text-decoration:none}.perm-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.perm-field .perm-row.sub{padding:9px 12px;font-size:13px;font-weight:500}.perm-field .perm-row.sub .toggle .tk{width:36px;height:21px}.perm-field .perm-row.sub .toggle .tk:after{width:15px;height:15px;top:3px}.perm-field .perm-row.sub .toggle input:checked+.tk:after{left:18px}.perm-field .perm-row.sub.danger{grid-column:1 / -1}.perm-field .perm-row.sub.danger:has(input:checked){border-color:#e0533b66;background:#e0533b14}.perm-field .perm-row.sub.danger .toggle input:checked+.tk{background:var(--red)}.perm-field .perm-row:has(input:disabled){cursor:default}@media(prefers-reduced-motion:reduce){.perm-sub{transition:none}}.bar{height:6px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:6px}.bar>i{display:block;height:100%;border-radius:4px}.cam-overlay{position:fixed;inset:0;background:#0a0d14;z-index:300;display:flex;flex-direction:column}.cam-stage{flex:1;position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.cam-stage video{width:100%;height:100%;object-fit:cover}.cam-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.cam-reticle{width:74%;max-width:380px;height:180px;border:3px solid rgba(255,255,255,.5);border-radius:16px;position:relative;box-shadow:0 0 0 9999px #00000059;transition:border-color .15s}.cam-reticle.ok{border-color:#2ee27a;box-shadow:0 0 0 9999px #00000059,0 0 26px #2ee27ab3}.cam-reticle.err{border-color:#ff5b4d;box-shadow:0 0 0 9999px #00000059,0 0 26px #ff5b4db3}.cam-reticle:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:scanline 2s ease-in-out infinite}@keyframes scanline{0%,to{transform:translateY(-78px)}50%{transform:translateY(78px)}}.cam-top{position:absolute;top:0;left:0;right:0;padding:calc(16px + env(safe-area-inset-top)) 18px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;z-index:3;background:linear-gradient(rgba(0,0,0,.55),transparent)}.cam-top .ti-t{font-weight:600;font-size:15px}.cam-top .lab{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.cam-x{background:#ffffff26;border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1}.cam-flash{position:absolute;inset:0;background:#19a35d;opacity:0;pointer-events:none;z-index:1}.cam-flash.err{background:#d23a2c}.cam-flash.on{animation:camflash .4s ease-out}@keyframes camflash{0%{opacity:.7}to{opacity:0}}.cam-burst{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.4);z-index:2;width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:54px;color:#fff;opacity:0;pointer-events:none}.cam-burst.ok{background:#19a35d}.cam-burst.err{background:#d23a2c}.cam-burst.on{animation:burst .5s ease-out}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.cam-qty{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;background:#0a0d149e;padding:16px}.cam-qty.hidden{display:none!important}.cam-qty-card{width:100%;max-width:420px;background:#161a24;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px;color:#fff;box-shadow:0 20px 48px #00000080}.cam-qty-prod{display:flex;align-items:center;gap:11px;margin-bottom:14px;min-width:0}.cam-qty-prod img{width:40px;height:50px;border-radius:7px;object-fit:cover;background:#222;flex-shrink:0}.cam-qty-prod .nm{font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cam-qty-prod .sku{font-size:11.5px;color:#9aa3b5;font-family:ui-monospace,SF Mono,monospace;margin-top:2px}.cam-qty-lab{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9aa3b5;margin-bottom:7px}.cam-qty-step{display:grid;grid-template-columns:56px 1fr 56px;gap:8px;margin-bottom:14px}.cam-qty-step button{height:52px;border-radius:11px;border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#fff;font-size:24px;line-height:1}.cam-qty-step button:active{background:#ffffff3d}.cam-qty-step input{height:52px;text-align:center;font-size:22px;font-weight:700;border-radius:11px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f;color:#fff;min-height:0;font-feature-settings:"tnum" 1}.cam-qty-step input:focus{outline:none;border-color:var(--green)}.cam-qty-act{display:flex;gap:8px}.cam-qty-act .btn{flex:1;justify-content:center;min-height:48px}.cam-qty-act .btn{background:#ffffff1f;border-color:#ffffff3d;color:#fff}.cam-qty-act .btn:hover{background:#fff3}.cam-qty-act .btn.primary,.cam-qty-act .btn.primary:hover{background:var(--green);border-color:var(--green);color:#fff}.cam-bottom{background:#0a0d14;color:#fff;padding:14px 18px calc(14px + env(safe-area-inset-bottom));max-height:42vh;display:flex;flex-direction:column;gap:10px}.cam-status{display:flex;align-items:center;gap:9px;font-size:14px;min-height:22px}.cam-status .pulse{background:var(--gold)}.cam-feed-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.cam-feed-row{display:flex;align-items:center;gap:10px;background:#ffffff0f;border-radius:9px;padding:8px 11px;font-size:13px}.cam-feed-row img{width:30px;height:38px;border-radius:5px;object-fit:cover;background:#222;flex-shrink:0}.cam-feed-row .q{margin-left:auto;font-weight:700;color:var(--gold)}.cam-controls{display:flex;gap:10px}.cam-controls .btn{flex:1;justify-content:center;min-height:44px;background:#ffffff1a;border-color:#fff3;color:#fff}.cam-controls .btn:hover{background:#ffffff2e}.cam-msg{color:#cfd6e4;text-align:center;padding:30px 20px;line-height:1.7}@media(max-width:860px){#app{flex-direction:column}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;inset:0 30% 0 0;z-index:90;height:100vh;animation:slidein .2s}@keyframes slidein{0%{transform:translate(-100%)}to{transform:translate(0)}}.topbar{display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:40}.topbar .mb{background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:22px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:10px;flex-shrink:0}.topbar .mb:active{background:#ffffff42}.topbar .mb .ic{width:22px;height:22px;display:block}.topbar .mb .ic svg{width:100%;height:100%}.topbar .t{font-family:Playfair Display,serif;font-size:18px;font-weight:700}.content{padding:18px 16px 70px;overflow-x:clip}.page-head h1{font-size:21px}.page-head{margin-bottom:14px}.scrim{position:fixed;inset:0;background:#0006;z-index:85;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.perm-grid,.perm-sub-grid{grid-template-columns:1fr}.btn.sm,.seg button{min-height:40px}.nav a,.nav-group-header,.nav-group-children a{min-height:44px;padding-top:13px;padding-bottom:13px}.nav-group-children.open{max-height:220px}.scan-input{min-height:56px;font-size:17px!important;padding:14px!important;letter-spacing:.2px}.qstep button{min-width:44px;min-height:44px}.qstep input{min-height:44px}.icon-btn{width:44px;height:44px}#tallyBar:not(:empty){position:sticky;bottom:0;z-index:30;padding-bottom:env(safe-area-inset-bottom);background:var(--paper)}#tallyBar:not(:empty) .batch-bar{box-shadow:0 -8px 24px #1c1c2824}.batch-bar .bact{width:100%}.batch-bar .bact .btn{flex:1 1 auto;justify-content:center}.hist-top-sticky{top:53px;margin-bottom:80px}#hPager.hist-bottom-sticky:not(:empty){margin:0 -16px -70px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.scan-box .btn.gold{width:100%;justify-content:center;min-height:46px;border-radius:11px}.batch-bar{gap:12px;padding:11px 14px;border-radius:var(--radius-sm)}.batch-bar .bc{flex-direction:row;align-items:baseline;gap:6px;min-width:0;padding-right:12px}.batch-bar .bc .n{font-size:22px}.batch-bar .bc .l{margin-top:0;font-size:10px;letter-spacing:.3px}.batch-bar .bmeta{min-width:0;font-size:12.5px}.batch-bar .bmeta b{font-size:14px}.tbl-wrap{position:relative}.tbl-wrap:after{content:"";position:sticky;top:0;right:0;float:right;width:18px;height:100%;margin-right:-18px;background:linear-gradient(90deg,#fff0,#ffffffe6);pointer-events:none}}@media(min-width:1280px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1600px){.content{padding-left:36px;padding-right:36px}}.settings-layout{display:flex;gap:32px;align-items:flex-start}.settings-sidebar{flex:0 0 240px;display:flex;flex-direction:column;gap:4px;position:sticky;top:80px}.settings-content{flex:1;min-width:0}.set-tab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:transparent;color:var(--muted);font-weight:500;text-align:left;border:none;cursor:pointer;transition:all .2s}.set-tab:hover{background:var(--paper);color:var(--ink)}.set-tab.active{background:var(--paper-dk);color:var(--ink)}@media(max-width:768px){.settings-layout{flex-direction:column;gap:20px}.settings-sidebar{flex:none;width:100%;flex-direction:row;flex-wrap:wrap;position:static}.set-tab{padding:8px 12px;font-size:14px}}body{background:linear-gradient(158deg,#f4e7ea,#efeaf1 46%,#e8e7f3);background-attachment:fixed;color:var(--charcoal)}.serif,.login-card .logo,.sb-logo .t,.page-head h1,.modal-head h2,.topbar .t{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;letter-spacing:-.022em}.stat .val,.batch-bar .bc .n{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum" 1,"cv01" 1}.page-head h1{font-weight:700}table,.stat .val,.batch-bar .bc .n,.mono{font-feature-settings:"tnum" 1}.card,.tbl-wrap{border-color:var(--line)}.stat{padding:18px 18px 20px;border-color:var(--line);box-shadow:0 1px 2px #1c1c280d,0 10px 26px #1c1c280f}.stat .lbl{color:var(--muted);font-weight:600;font-size:11.5px;letter-spacing:.01em}.stat .val{font-size:30px;margin-top:9px}.stat.accent{border-left:3px solid var(--green)}.hero{background:var(--ink);border-radius:20px;color:#fff;padding:24px 24px 26px;margin-bottom:20px;box-shadow:0 1px 2px #14141e1a,0 20px 50px #14141e2e}.hero .page-head{margin-bottom:20px}.hero h1{color:#fff}.hero .desc{color:#ffffff94}.hero .btn.primary{background:#fff;border-color:#fff;color:var(--ink)}.hero .btn.primary:hover{background:#f0eef4}.hero .stat{background:#fff;border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 2px #0000001f}.btn{border-radius:11px}.btn.primary{background:var(--ink);border-color:var(--ink)}.btn.primary:hover{background:var(--navy2)}.btn.gold{background:var(--green);border-color:var(--green);color:#fff}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.badge{padding:4px 11px 4px 9px;border-radius:999px;font-weight:600;letter-spacing:.005em}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.role:before,.badge.navy:before{opacity:.85}.sidebar{background:var(--ink)}.nav a.active{background:#ffffff14;color:#fff;position:relative}.nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--green)}.sb-logo .s{color:var(--green)}.sb-user .av{background:var(--green)}.login-card .logo{color:var(--ink)}.sect-title{color:var(--ink);letter-spacing:.08em}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #12a1501f}.seg button.on{background:var(--ink)}.pill.on{background:var(--ink);border-color:var(--ink)}.scan-box{background:var(--ink);border-radius:18px}.scan-box .lbl{color:var(--green)}.scan-input{border-color:var(--green)!important;color:#111!important;-webkit-text-fill-color:#111!important;background:#fff!important}.pulse{background:var(--green)}@keyframes boxok{0%{background:#12603a}to{background:var(--ink)}}@keyframes boxerr{0%{background:#6e2b20}to{background:var(--ink)}}.modal{border-radius:18px}.modal-head h2,.batch-bar .bc .n{color:var(--ink)}.ptoolbar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.ptoolbar-find{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ptoolbar-find input{flex:1;min-width:200px;min-height:36px;padding:7px 12px}.ptoolbar-find .btn{min-height:36px;flex-shrink:0}.ptoolbar-find .seg{margin-left:auto;padding:2px}.ptoolbar-find .seg button{font-size:12.5px;padding:6px 14px}.ptoolbar-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ptoolbar select{min-height:36px;padding:6px 30px 6px 11px;font-size:13px;background-color:var(--paper);border-color:var(--line);flex:0 1 auto;width:auto;max-width:190px}.ptoolbar select.wide{max-width:215px}.ptoolbar select:hover{border-color:var(--line2)}.pop{position:relative}.pop>summary{list-style:none;cursor:pointer;user-select:none}.pop>summary::-webkit-details-marker{display:none}.pop>summary .caret{width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.55}.pop[open]>summary .caret{transform:rotate(180deg)}.pop-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:250px;background:var(--white);border:1px solid var(--line2);border-radius:var(--radius-sm);box-shadow:0 2px 4px #1c1c280f,0 16px 36px #1c1c2824;padding:5px}.pop-panel.pad{padding:12px;left:0;right:auto}.pop-panel.pad label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:6px}.pop-panel.pad input{min-height:36px;padding:7px 11px;margin-bottom:8px}.pop-panel.pad .btn{width:100%;justify-content:center}.pop-item{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 11px;border-radius:9px;color:var(--charcoal)}.pop-item:hover{background:var(--paper)}.pop-item b{display:block;font-size:13px;font-weight:600}.pop-item span{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.pop-item.danger b{color:var(--red)}.pop-item.danger:hover{background:var(--red-soft)}.pop-item.ico{display:flex;align-items:flex-start;gap:10px}.pop-item.ico .ic{margin-top:2px;color:var(--muted)}.pop-item.ico .pop-item-txt{flex:1;min-width:0}.pop-panel .pop-item.danger{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 9px 9px;padding-top:11px}.tagsall>summary{min-height:36px;display:inline-flex;align-items:center;max-width:230px}.tagsall>summary>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tagsall.active>summary{border-color:var(--ink);color:var(--ink)}@media(max-width:640px){.ptoolbar select,.ptoolbar-filters .pop{flex:1 1 44%;max-width:none}.ptoolbar select.wide{max-width:none}.tagsall>summary{width:100%;max-width:none;justify-content:space-between}.pop-panel{position:fixed;inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;min-width:0;width:auto;max-width:none;z-index:160;border-radius:16px;padding:8px;box-shadow:0 -4px 12px #1c1c281a,0 20px 48px #1c1c283d;max-height:70vh;overflow-y:auto;overscroll-behavior:contain}.pop-panel.pad{inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;padding:14px}.pop-item{min-height:52px;display:flex;flex-direction:column;justify-content:center}}.ptoolbar-reset{flex:0 0 auto;min-height:38px}.ptoolbar-reset:disabled{opacity:.45}.ptoolbar-filters.sheet .ptoolbar-reset{width:100%;justify-content:center}.ptoolbar-filters-trigger{display:none}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:700}@media(max-width:720px){.ptoolbar-filters-trigger{display:inline-flex}.ptoolbar>.ptoolbar-filters{display:none}}.ptoolbar-filters.sheet{flex-direction:column;align-items:stretch}.ptoolbar-filters.sheet select,.ptoolbar-filters.sheet .pop{max-width:none;width:100%;flex:none}.ptoolbar-filters.sheet .tagsall>summary{width:100%;justify-content:space-between}.fam{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.fam-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer}.fam.open .fam-head{border-bottom:1px solid var(--line)}.fam-id{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 auto}.fthumb-wrap{position:relative;flex:0 0 auto}.fthumb{width:56px;height:70px;border-radius:11px;object-fit:cover;background:var(--paper);display:block;border:1px solid var(--line)}.fthumb-badge{position:absolute;left:-7px;bottom:-7px}.fam-meta{min-width:0;flex:1 1 auto}.fam-meta .nm{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fam-meta .meta{font-size:12.5px;color:var(--muted);margin-top:3px;font-family:ui-monospace,SF Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fam-right{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.fam-total{text-align:center;padding:0 4px}.fam-total span{display:block;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fam-total b{font-size:22px;font-weight:700;color:var(--ink);font-feature-settings:"tnum" 1}.szrow{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.szbox{min-width:46px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:5px 9px}.szbox span{display:block;font-size:9.5px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.szbox b{font-size:14px;font-weight:700;color:var(--ink);font-feature-settings:"tnum" 1}.szbox.tot{background:var(--ink);border-color:var(--ink)}.szbox.tot span{color:#fff9}.szbox.tot b{color:#fff}.famtog,.famadd{width:33px;height:33px;border-radius:10px;border:1px solid var(--btn-edge);background:var(--btn-face);color:var(--ink);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.famadd{background:var(--ink);color:#fff;border-color:var(--ink);font-size:18px;line-height:1}.famtog:hover{background:var(--btn-face-hover)}.famadd:hover{background:var(--navy2)}.fam-body{padding:2px 8px 8px}.vscroll{overflow-x:auto}.vgrid{display:grid;grid-template-columns:minmax(172px,1.3fr) 82px 92px 96px 68px 86px 116px 122px;gap:11px;align-items:center;min-width:924px}.vhead{padding:9px 8px;border-bottom:1px solid var(--line2)}.vhead span{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2);font-weight:700}.vrow{padding:13px 8px;border-bottom:1px solid var(--line)}.vrow:last-of-type{border-bottom:0}.v-sku b{font-family:ui-monospace,SF Mono,monospace;font-size:13.5px;color:var(--ink)}.v-cell{min-width:0;font-size:14px;color:var(--charcoal);display:flex;align-items:center}.v-cell b{font-size:15px;font-weight:700;color:var(--ink);font-feature-settings:"tnum" 1}.v-cell b.neg{color:var(--red)}.dash{color:var(--muted2)}.io-in{color:var(--green);font-weight:700}.io-out{color:var(--red);font-weight:700}.v-act{display:flex;gap:4px;justify-content:flex-end}.fam-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 8px 4px;font-size:12px;color:var(--muted)}@media(max-width:640px){.vscroll{overflow-x:visible}.vgrid{display:block;min-width:0}.vhead{display:none}.vrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.vrow:last-of-type{margin-bottom:0}.v-sku{grid-column:1 / 3;display:flex;align-items:center;gap:10px;min-width:0}.v-sku b{font-size:13px;overflow-wrap:anywhere}.v-cell{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.v-cell[data-l]:before{content:attr(data-l);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.v-cell[data-l=Qty]{order:1}.v-cell[data-l="Days left"]{order:2}.v-cell[data-l=Moves]{order:3}.v-cell[data-l=Office]{order:4}.v-cell[data-l=Bin]{order:5}.v-cell[data-l="In / Out"]{order:6}.v-cell.io{display:grid;grid-template-columns:auto auto;gap:0 8px;justify-content:start;align-items:baseline}.v-cell.io:before{grid-column:1 / -1}.v-act{order:0;grid-column:3 / 4;justify-content:flex-end;align-self:center}}.qe{cursor:text;border-radius:6px;padding:2px 5px;margin:-2px -5px;transition:background .12s;border:1px dashed transparent}.qe:hover{background:var(--paper);border-color:var(--line2)}.qedit{width:100%;max-width:92px;padding:4px 6px;font-size:14px;border:1px solid var(--green);border-radius:7px;box-shadow:0 0 0 3px #12a1501f;font-family:inherit}.fam-edit{height:33px;padding:0 12px;border-radius:10px;border:1px solid var(--btn-edge);background:var(--btn-face);color:var(--ink);font-size:12.5px;font-weight:600;cursor:pointer;flex-shrink:0}.fam-edit:hover{background:var(--btn-face-hover)}.fam-edit.fam-del{color:var(--red);padding:0 10px}.fam-edit.fam-del:hover{background:var(--red-soft)}.del-warn{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:13px;line-height:1.45;border:1px solid rgba(224,83,59,.25)}.del-warn b{font-weight:700}.fr-section-label{font-size:12px;font-weight:700;display:block;margin:14px 0 10px;color:var(--ink)}.fr-table{display:grid;grid-template-columns:88px minmax(140px,1.5fr) 88px minmax(100px,1fr) minmax(100px,1fr) 110px 40px;column-gap:10px;row-gap:8px;align-items:center;min-width:740px}.fr-head,.fr-rows,.fr,.fr-f{display:contents}.fr-head span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:0 2px 2px;line-height:1.2}.fr-head .fr-head-act{min-height:1px}.fr input.fr-size,.fr input.fr-bar,.fr input.fr-qty,.fr input.fr-office,.fr input.fr-bin,.fr select.fr-status{width:100%;min-width:0;box-sizing:border-box;height:40px;padding:8px 12px;font-size:13.5px;font-family:inherit;color:var(--ink);border:1px solid var(--line2);border-radius:9px;background:#fff;box-shadow:none}.fr input.fr-qty{text-align:center;font-feature-settings:"tnum" 1}.fr input:focus,.fr select.fr-status:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #12a1501f}.fr-del{width:40px;height:40px;border-radius:9px;border:1px solid #e8c4be;background:var(--red-soft);color:var(--red);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.fr-del:hover{background:var(--red-soft)}.fr-del .ic{display:inline-flex;width:15px;height:15px}.fr-del .ic svg{width:100%;height:100%}@media(max-width:640px){.fr-scroll{overflow-x:visible;padding:0}.fr-table{display:block;min-width:0;column-gap:0;row-gap:0}.fr-head{display:none}.fr-rows{display:block}.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px 10px;padding:12px;margin-bottom:10px;border:1px solid var(--line2);border-radius:12px;background:var(--white)}.fr:last-child{margin-bottom:0}.fr-f{display:flex;flex-direction:column;gap:4px;min-width:0}.fr-f:before{content:attr(data-l);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.fr-f-size{order:1}.fr-f-qty{order:2}.fr-f-bar{order:3;grid-column:1 / -1}.fr-f-office{order:4}.fr-f-bin{order:5}.fr-f-status{order:6;grid-column:1 / -1}.fr-del{order:7;grid-column:1 / -1;width:100%;height:40px;gap:8px}.fr input.fr-qty{text-align:left}.fr-del:after{content:"Remove variant";font-size:12.5px;font-weight:600}}.v-act .btn.sm{padding:5px 8px;font-size:13px}@media(max-width:560px){.fam-edit-top{flex-direction:column}.fam-edit-img{align-self:flex-start}}@media(max-width:560px){.fam-head{flex-wrap:wrap;row-gap:12px}.fam-id{flex:1 1 100%}.fam-right{flex:1 1 100%;justify-content:flex-start}.fam-right .szrow,.fam-right .fam-total{justify-content:flex-start;flex:1 1 auto}.fam-meta .nm{font-size:15.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.famtog,.famadd,.fam-edit{width:auto;min-width:44px;height:44px}.fam-id input[type=checkbox].selchk,.v-sku input[type=checkbox].selchk{width:22px;height:22px;flex:0 0 22px}}.mono{font-family:ui-monospace,SF Mono,monospace}.nav a.sub{padding-left:30px;font-size:13.5px}.nav a.sub .ico{font-size:13px;opacity:.7}.colscroll{overflow-x:auto;padding:2px 8px 6px}.col-list-scroll{max-height:min(640px,70vh);overflow-y:auto;overscroll-behavior:contain}.col-list-scroll .colhead{position:sticky;top:0;background:var(--white);z-index:1}body.scroll-locked{overflow:hidden}body.scroll-locked #app{height:100vh}body.scroll-locked .main{min-height:0}body.scroll-locked .content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.scroll-locked .content>.grouping-shell{flex:1;min-height:0;display:flex;flex-direction:column}body.scroll-locked .grouping-shell>.page-head,body.scroll-locked .grouping-shell>.ptoolbar{flex-shrink:0}body.scroll-locked .grouping-shell #groupList{flex:1;min-height:0;display:flex;flex-direction:column}body.scroll-locked .grouping-shell #groupList>.card{flex:1;min-height:0;display:flex;flex-direction:column}body.scroll-locked .grouping-shell #groupList>.card.empty{align-items:center;justify-content:center}body.scroll-locked .col-list-scroll{flex:1;min-height:0;max-height:none}.colgrid{display:grid;grid-template-columns:minmax(220px,1.6fr) 92px 78px 96px 92px 62px 62px 148px;gap:12px;align-items:center;min-width:900px}.colhead{padding:12px 8px;border-bottom:1px solid var(--line2)}.colhead span{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2);font-weight:700}.colrow{padding:14px 8px;border-bottom:1px solid var(--line)}.colrow:last-child{border-bottom:0}.col-id{min-width:0;display:flex;flex-direction:column;gap:6px}.col-name{font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-.01em}.col-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.col-cell b{font-size:18px;font-weight:700;color:var(--ink);font-feature-settings:"tnum" 1}.col-cell b.neg{color:var(--red)}.col-cell span{font-size:10.5px;color:var(--muted)}.col-cell-lbl{display:none}.col-act{display:flex;gap:4px;justify-content:flex-end}.col-act .btn.sm{padding:5px 9px;font-size:12.5px}.col-rules{display:flex;gap:5px;flex-wrap:wrap}.rule{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--paper);color:var(--charcoal);border:1px solid var(--line)}.rule.type{background:var(--blue-soft);border-color:transparent;color:var(--blue)}.rule.tag{background:var(--green-soft);border-color:transparent;color:var(--green)}.rule.manual{background:var(--amber-soft);border-color:transparent;color:var(--amber)}.rule.none{color:var(--muted2)}.coll-context{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.coll-context-name{font-weight:700;font-size:15px;color:var(--ink)}.coll-context-rules,.coll-context-stats{font-size:12px;color:var(--muted);margin-top:4px}.coll-context-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:640px){.colscroll{overflow-x:visible;padding:6px}.colgrid{display:flex;flex-direction:column;gap:10px;min-width:0}.colhead{display:none}.colrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;align-items:start;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow)}.colrow+.colrow{margin-top:12px}.colrow>.col-id,.colrow>.col-act{grid-column:1 / -1}.col-cell{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.col-cell b{font-size:16px}.col-cell span{font-size:10.5px}.col-cell-lbl{display:inline;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.col-act{justify-content:stretch;gap:8px;padding-top:2px}.col-act .btn.sm{min-height:44px}.col-act .btn.sm:first-child{flex:1;justify-content:center;font-size:13.5px;background:var(--navy);border-color:var(--navy);color:#fff}.col-act .btn.sm:first-child:hover{background:var(--navy2)}.col-act details.pop{flex:0 0 auto}.col-act details.pop>summary{width:44px;padding:0;justify-content:center}}.chipwrap{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--btn-edge);background:var(--btn-face);font-size:12.5px;font-weight:600;color:var(--charcoal);cursor:pointer}.chip input{width:14px;height:14px;margin:0;accent-color:var(--green)}.chip:hover{background:var(--btn-face-hover)}.chip:has(input:checked){background:var(--green-soft);border-color:var(--green);color:var(--green)}.chip.pick{border-style:dashed}.sb-logo .brand{display:block;width:100%;max-width:168px;height:auto}.sb-logo .s{margin-top:7px}.login-card .brand-lg{display:block;width:100%;max-width:230px;height:auto;margin:2px auto 0}.topbar .brand-sm{height:19px;width:auto;display:block}.rep{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.rep:has(.pop[open]){overflow:visible}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.today-grid .rep{margin-bottom:0}@media(max-width:860px){.today-grid{grid-template-columns:1fr}}.rep-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px}.rep-title{font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-.01em}.rep-desc{font-size:12px;color:var(--muted);margin-top:3px;max-width:70ch}.rep-act{display:flex;gap:4px;flex-shrink:0}.rep-sum{display:flex;gap:10px;flex-wrap:wrap;padding:0 18px 14px;border-bottom:1px solid var(--line)}@media(max-width:720px){.rep-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rs{min-width:0}}@media(min-width:481px)and (max-width:720px){.rep-sum{grid-template-columns:repeat(3,minmax(0,1fr))}}.rs{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:88px}.rs span{display:block;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700}.rs b{font-size:18px;font-weight:700;color:var(--ink);font-feature-settings:"tnum" 1}.rs b.neg{color:var(--red)}.rep-scroll{overflow-x:auto}.rep-scroll.rep-viewport{max-height:446px;overflow-y:auto;overscroll-behavior:contain}.rep-scroll.rep-viewport thead th{position:sticky;top:0;z-index:1;background:var(--white);box-shadow:0 1px 0 var(--line2)}.rep-scroll.rep-viewport::-webkit-scrollbar{width:10px;height:10px}.rep-scroll.rep-viewport::-webkit-scrollbar-thumb{background:var(--line2);border-radius:6px;border:3px solid var(--white)}.rep-scroll.rep-viewport::-webkit-scrollbar-track{background:transparent}.rep-tbl{width:100%;border-collapse:collapse;font-size:13px}.rep-tbl th{text-align:left;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted2);font-weight:700;padding:11px 14px;border-bottom:1px solid var(--line2);white-space:nowrap}.rep-tbl td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--charcoal);white-space:nowrap}.rep-tbl tbody tr:last-child td{border-bottom:0}.rep-tbl th.num,.rep-tbl td.num{text-align:right;font-feature-settings:"tnum" 1}.rep-tbl td.mono{font-family:ui-monospace,SF Mono,monospace;font-size:12.5px;color:var(--ink)}.rep-tbl tr.risk td{background:var(--red-soft)}.rep-more{display:block;width:100%;padding:12px;border:0;border-top:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:600;font-size:12.5px;cursor:pointer;font-family:inherit}.rep-more:hover{background:var(--line)}@media(max-width:640px){.rep-scroll.rep-viewport{max-height:none;overflow-y:visible}.tbl-cards .rep-tbl td{white-space:normal}.tbl-cards .rep-tbl td[data-label=Product],.tbl-cards .rep-tbl td[data-label=Title]{display:block;text-align:left;padding:6px 0 8px}.tbl-cards .rep-tbl td[data-label=Product]:before,.tbl-cards .rep-tbl td[data-label=Title]:before{display:block;margin-bottom:3px}.tbl-cards .rep-tbl td{padding:5px 0}}.rep-empty{padding:26px 18px;text-align:center;color:var(--muted);font-size:13px}.selbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:9px 14px;margin-bottom:12px;font-size:13px;color:var(--ink);box-shadow:var(--shadow)}.selbar.ghost{background:transparent;border-style:dashed;box-shadow:none;color:var(--muted)}.selbar b{font-size:15px}.selbar-sum{min-width:0;color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.selbar-sum b{color:var(--ink);font-weight:700;font-size:13.5px;font-feature-settings:"tnum" 1}.selbar-sum .dim{color:var(--muted2);font-weight:500}.selbar-a{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.btn.sm.primary{background:var(--ink);border-color:var(--ink);color:#fff}input[type=checkbox].selchk{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--green);cursor:pointer}input[type=checkbox].selchk[data-part="1"]{opacity:.65}.vrow.sel{background:var(--green-soft)}.v-sku{display:flex;align-items:center;gap:9px;min-width:0}.fam-id .selchk{margin-right:2px}.modal.wide{max-width:min(1100px,92vw)}.modal.wide.xwide{max-width:min(1240px,94vw)}.import-steps{margin:0 0 12px;padding-left:1.35em;color:var(--charcoal);font-size:13.5px;line-height:1.55}.import-steps li{margin:0 0 6px}.import-steps li:last-child{margin-bottom:0}.csv-drop{border:1.5px dashed var(--line2);border-radius:14px;background:var(--paper);padding:22px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.csv-drop:hover,.csv-drop.dragover{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 3px #12a1501a}.csv-drop.has-file{border-style:solid;border-color:var(--green)}.csv-drop-ico{font-size:22px;line-height:1;margin-bottom:8px;color:var(--ink)}.csv-drop-title{font-weight:700;font-size:14px;color:var(--ink)}.csv-drop-sub{font-size:12px;color:var(--muted);margin:8px 0}.csv-drop-status{margin-top:12px;font-size:12.5px;color:var(--muted)}.csv-drop-status b{color:var(--ink);font-weight:700}.fam-edit-img{flex:0 0 110px;min-width:110px}.fr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 6px}.pj-top{margin-bottom:14px}.pj-scope{font-size:13px;color:var(--muted);margin-bottom:10px}.pj-scope a{color:var(--green);font-weight:600;cursor:pointer;margin-left:6px}.pj-acts{display:flex;gap:8px;flex-wrap:wrap}.pj-search{position:relative;margin-top:10px;display:flex;align-items:center}.pj-search>.ic{position:absolute;left:12px;width:15px;height:15px;color:var(--muted);pointer-events:none;display:flex}.pj-search>.ic svg{width:100%;height:100%}#pjSearch{width:100%;min-height:38px;padding:7px 34px}.pj-search-clear{position:absolute;right:6px;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer}.pj-search-clear:hover{background:var(--line);color:var(--ink)}#pjList{max-height:52vh;overflow-y:auto;display:block;padding-right:4px}.pjfam{border:1px solid var(--line);border-radius:12px;overflow:hidden;flex-shrink:0;margin-bottom:10px}.pjfam:last-child{margin-bottom:0}.pjfam-h{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;background:var(--paper)}.pjfam-th{width:38px;height:47px;flex:0 0 38px;border-radius:7px;background:var(--line);overflow:hidden}.pjfam-th img{width:100%;height:100%;object-fit:cover;display:block}.pjfam-t{flex:1 1 auto;min-width:0}.pjfam-t b{display:block;font-size:13.5px;color:var(--ink);line-height:1.3}.pjfam-t span{font-size:11.5px;color:var(--muted)}.pjfam-n{flex:0 0 auto;font-size:12px;color:var(--muted);white-space:nowrap}.pjfam-n b{font-size:15px;color:var(--ink);font-feature-settings:"tnum" 1}.pjfam-chev{flex:0 0 auto;color:var(--muted);font-size:11px}.pjfam.closed .pjfam-b{display:none}.pjfam.closed .pjfam-chev{transform:rotate(180deg);display:inline-block}.pjfam-b{padding:0 14px}.pj{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);flex-wrap:nowrap}.pj:last-child{border-bottom:0}.pj-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.pj-id b{font-size:13.5px;color:var(--ink);font-weight:700}.pj-id span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-lab{flex:0 0 auto;font-size:11.5px;color:var(--muted);white-space:nowrap}.pj input.pj-q{width:76px;flex:0 0 76px;text-align:center;padding:8px 6px}.pj-total{font-size:12.5px;color:var(--muted);margin-right:auto}.pj-total b{font-size:16px;color:var(--ink);font-feature-settings:"tnum" 1}@media(max-width:560px){.pj{flex-wrap:wrap}.pj-lab{margin-left:auto}}.bc-wrap{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,.9fr);gap:16px;align-items:start}.bc-preview{border:1px dashed var(--line2);border-radius:12px;background:repeating-conic-gradient(#f4f3f7 0% 25%,#fff 0% 50%) 50%/22px 22px;padding:22px;display:flex;align-items:center;justify-content:center;min-height:180px}.bc-preview svg{box-shadow:0 2px 10px #14141e24;background:#fff;max-width:100%;height:auto}.bc-warn,.bc-ok{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.5}.bc-warn{background:var(--amber-soft);color:var(--amber)}.bc-ok{background:var(--green-soft);color:var(--green)}@media(max-width:820px){.bc-wrap{grid-template-columns:1fr}}.spd{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;width:fit-content}.spd.fast{background:var(--green)}.spd.medium{background:var(--amber)}.spd.slow{background:var(--red)}.dleft{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.dleft.ok{background:var(--green-soft);color:var(--green)}.dleft.low{background:var(--amber-soft);color:var(--amber)}.dleft.out{background:var(--red-soft);color:var(--red)}.fthumb-badge .dleft{border:1.5px solid #fff;box-shadow:0 2px 6px #14141e2e}code{font-family:ui-monospace,SF Mono,monospace;font-size:.92em;background:var(--paper);padding:1px 5px;border-radius:5px}@media(max-width:860px){.topbar{background:var(--ink)}}.easepick-wrapper{position:absolute!important;width:0!important;height:0!important;overflow:visible!important;display:inline!important;pointer-events:none}.easepick-wrapper>*{pointer-events:auto}.dr-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.dr-field{display:flex;flex-direction:column;gap:5px;min-width:0}.dr-field.inline{flex-direction:row;align-items:center;gap:8px}.dr-field label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0}.dr-sep{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 2px;color:var(--muted);font-weight:700;font-size:14px}input.dr-input,#homeRangeFrom,#homeRangeTo,#hRangeFrom,#hRangeTo,#repRangeFrom,#repRangeTo{width:160px;max-width:100%;height:40px;cursor:pointer;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:9px;padding:8px 12px;font-family:inherit;font-size:13.5px}input.dr-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #12a1501f}@media(max-width:560px){.dr-range{width:100%;gap:10px}.dr-field.inline{flex-direction:column;align-items:stretch;gap:4px}.dr-field{flex:1 1 calc(50% - 5px)}input.dr-input{width:100%}.dr-sep{display:none}}body.dr-sheet-open{overflow:hidden}.day-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.day-select .dr-field.inline input.dr-input{width:150px;height:34px}.collapse-card>summary{cursor:pointer;list-style:none}.collapse-card>summary::-webkit-details-marker{display:none}.collapse-card>summary .collapse-chevron{margin-left:auto;color:var(--muted2);transition:transform .15s ease}.collapse-card[open]>summary .collapse-chevron{transform:rotate(180deg)}.skip-link[data-astro-cid-j3tygqaf]{position:absolute;left:-9999px;top:0;z-index:500;background:var(--navy);color:#fff;padding:10px 16px;border-radius:0 0 8px}.skip-link[data-astro-cid-j3tygqaf]:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}html.booting #login[data-astro-cid-j3tygqaf],html.booting #app[data-astro-cid-j3tygqaf]{display:none!important}#boot-splash[data-astro-cid-j3tygqaf]{position:fixed;inset:0;z-index:110;background:#1c1c1e;display:flex;align-items:center;justify-content:center}html:not(.booting) #boot-splash[data-astro-cid-j3tygqaf]{display:none!important}
