@charset "UTF-8";@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-D-GG86Jb.woff) format("woff")}:root{--color-text-primary: #1c1917;--color-text-strong: #292524;--color-text-body: #3d3833;--color-text-secondary: #57514b;--color-text-muted: #6b645d;--color-text-disabled: #a8a196;--color-text-inverse: #fffdf9;--color-bg-primary: #fffdf9;--color-bg-hover: #e9e4db;--color-bg-panel: #f4f1eb;--color-bg-header: #f0ece5;--color-bg-tag: #ebe7df;--color-bg-page: #ebe6dd;--color-bg-selected: #efeafb;--color-bg-inverse: #1c1917;--color-bg-photo-mat: #fff;--color-border-strong: #8c847a;--color-border-medium: #cfc8bd;--color-border-light: #e2ddd4;--color-border-subtle: #eee9e1;--color-accent: #7048c7;--color-accent-hover: #5b38a8;--color-accent-ink: #5b38a8;--color-on-accent: #ffffff;--color-danger: #b93838;--color-danger-bg: #fbeeee;--color-danger-bg-hover: #b93838;--color-on-danger: #ffffff;--color-success: #1b6f38;--color-success-bg: #eaf5ee;--color-warning: #8f5400;--color-warning-bg: #fdf3e2;--color-info: #2b63d9;--color-info-bg: #ebf1fd;--color-error-strong: var(--color-danger);--color-success-strong: var(--color-success);--color-info-strong: var(--color-info);--color-status-blue: #2b63d9;--color-status-blue-on: #ffffff;--color-status-green: #1f7a3f;--color-status-green-on: #ffffff;--color-status-amber: #f2b544;--color-status-amber-on: #1c1917;--color-status-red: #c93b3b;--color-status-red-on: #ffffff;--color-status-teal: #0f7b6c;--color-status-teal-on: #ffffff;--color-status-neutral: #6b655e;--color-status-neutral-on: #ffffff;--color-block-production: #1f7a3f;--color-block-production-on: #ffffff;--color-block-sewout: #5b33ad;--color-block-sewout-on: #ffffff;--shadow-popup: var(--shadow-md);--shadow-sm: none;--shadow-md: 0 4px 14px rgba(28, 25, 23, .1), 0 1px 3px rgba(28, 25, 23, .08);--shadow-lg: 0 16px 40px rgba(28, 25, 23, .18), 0 2px 6px rgba(28, 25, 23, .1);--color-overlay: rgba(28, 25, 23, .45);--color-swatch-border: rgba(28, 25, 23, .18);--radius-sm: 3px;--radius-md: 4px;--focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 4px var(--color-accent);--font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-3xl: 32px;--leading-3xl: 36px;--text-2xl: 24px;--leading-2xl: 28px;--text-xl: 18px;--leading-xl: 24px;--text-lg: 15px;--leading-lg: 20px;--text-md: 13px;--leading-md: 20px;--text-sm: 12px;--leading-sm: 16px;--text-xs: 11px;--leading-xs: 16px;--weight-title: 700;--weight-heading: 600;--weight-anchor: 500;--weight-body: 400;--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-overlay: 100;--z-modal: 1000;--z-modal-content: 1001;--z-tooltip: 2000;--z-popover: 1100;--z-toast: 9999;color-scheme:light}:root.dark-mode{color-scheme:dark;--color-text-primary: #f5f1ea;--color-text-strong: #e6e1d9;--color-text-body: #cfc9c0;--color-text-secondary: #b1aaa1;--color-text-muted: #a69f96;--color-text-disabled: #5f5952;--color-text-inverse: #1c1917;--color-bg-primary: #282523;--color-bg-hover: #37332f;--color-bg-panel: #1d1b19;--color-bg-header: #2f2c29;--color-bg-tag: #3a3632;--color-bg-page: #141211;--color-bg-selected: #36294f;--color-bg-inverse: #f5f1ea;--color-border-strong: #857e75;--color-border-medium: #524c46;--color-border-light: #3d3935;--color-border-subtle: #302c29;--color-accent: #b9a3ff;--color-accent-hover: #c9b8ff;--color-accent-ink: #b9a3ff;--color-on-accent: #1c1917;--color-danger: #ff8f87;--color-danger-bg: #3a2321;--color-danger-bg-hover: #ff8f87;--color-on-danger: #1c1917;--color-success: #7bd096;--color-success-bg: #1f2f24;--color-warning: #f0b860;--color-warning-bg: #352b1c;--color-info: #8db2ff;--color-info-bg: #232a3a;--color-error-strong: var(--color-danger);--color-success-strong: var(--color-success);--color-info-strong: var(--color-info);--color-status-blue: #8db2ff;--color-status-blue-on: #1c1917;--color-status-green: #7bd096;--color-status-green-on: #1c1917;--color-status-amber: #f5c76b;--color-status-amber-on: #1c1917;--color-status-red: #ff9088;--color-status-red-on: #1c1917;--color-status-teal: #6fcfbf;--color-status-teal-on: #1c1917;--color-status-neutral: #aea79e;--color-status-neutral-on: #1c1917;--color-block-production: #8fe3a8;--color-block-production-on: #1c1917;--color-block-sewout: #7c57e6;--color-block-sewout-on: #ffffff;--shadow-popup: var(--shadow-md);--shadow-sm: none;--shadow-md: 0 4px 14px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .4);--color-overlay: rgba(0, 0, 0, .6);--color-swatch-border: rgba(255, 255, 255, .2);--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-overlay: 100;--z-modal: 1000;--z-modal-content: 1001;--z-tooltip: 2000;--z-popover: 1100;--z-toast: 9999}.btn,.btn-save,.btn-cancel{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:32px;padding:5px 14px;font-family:inherit;font-size:var(--text-md);font-weight:var(--weight-anchor);line-height:var(--leading-md);cursor:pointer;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn:active:not(:disabled),.btn-save:active:not(:disabled),.btn-cancel:active:not(:disabled){filter:brightness(.94)}.btn:disabled,.btn-save:disabled,.btn-cancel:disabled{opacity:.45;cursor:not-allowed}.btn--active,.btn.active,.active.btn-save,.active.btn-cancel{background:var(--color-bg-selected);border-color:var(--color-accent);color:var(--color-accent-ink)}.btn--active:hover:not(:disabled),.btn.active:hover:not(:disabled),.active.btn-save:hover:not(:disabled),.active.btn-cancel:hover:not(:disabled){background:var(--color-bg-selected);border-color:var(--color-accent-hover)}.btn--primary,.btn-save,.btn--filled{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn--filled:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--danger,.btn--warn{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn--danger:hover:not(:disabled),.btn--warn:hover:not(:disabled){background:var(--color-danger-bg-hover);border-color:var(--color-danger-bg-hover);color:var(--color-on-danger)}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-bg-hover);border-color:transparent;color:var(--color-text-primary)}.btn--sm{min-height:28px;padding:3px 10px;font-size:var(--text-sm)}.btn--loading{color:transparent!important;pointer-events:none}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid var(--color-text-secondary);border-top-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@media(max-width:768px){.btn:before,.btn-save:before,.btn-cancel:before{content:"";position:absolute;top:-6px;bottom:-6px;left:0;right:0}.btn--sm:before{top:-8px;bottom:-8px}}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.icon-btn .icon,.icon-btn svg{width:16px;height:16px}.icon-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.icon-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.icon-btn:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.icon-btn--danger:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.icon-btn--confirm:hover:not(:disabled){background:var(--color-success-bg);color:var(--color-success)}@media(max-width:768px){.icon-btn+.icon-btn,.icon-btn+.close-btn,.close-btn+.icon-btn{margin-left:8px}}.close-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.close-btn .icon,.close-btn svg{width:16px;height:16px}.close-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.close-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.close-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.close-btn:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.close-btn:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.text-btn{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;min-height:28px;padding:3px 10px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-anchor);line-height:var(--leading-md);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-body);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.text-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.text-btn:disabled{opacity:.45;cursor:not-allowed}.text-btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.text-btn--danger:hover:not(:disabled){background:var(--color-danger-bg-hover);border-color:var(--color-danger-bg-hover);color:var(--color-on-danger)}@media(max-width:768px){.text-btn:before{content:"";position:absolute;top:-8px;bottom:-8px;left:0;right:0}}.modal-shell{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-shell .auth-overlay{z-index:1002}.modal-shell__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);cursor:pointer}.modal-shell__content{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw}.modal-shell__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.modal-shell__header h3{margin:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-heading);color:var(--color-text-primary)}.modal-shell__body{flex:1;min-height:0;overflow:auto}.modal-shell__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border-light);flex-shrink:0}.page-shell{width:95vw;max-width:1600px;margin-top:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.page-shell{padding:12px}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.page-header h2{margin:0;font-size:18px;font-weight:600}.page-empty{padding:60px 20px;text-align:center;font-size:12px;color:var(--color-text-muted)}.filter-row{display:flex;flex-wrap:wrap;gap:0;margin-bottom:16px}.filter-btn{position:relative;min-height:28px;box-sizing:border-box;padding:3px 12px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-anchor);line-height:var(--leading-md);cursor:pointer;border:1px solid var(--color-border-medium);border-radius:0;background:var(--color-bg-panel);color:var(--color-text-secondary);margin-right:-1px;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.filter-btn:not(.filter-btn+.filter-btn){border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.filter-btn:not(:has(+.filter-btn)){border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.filter-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.filter-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary);font-weight:var(--weight-heading);border-color:var(--color-border-strong);z-index:1}.filter-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.filter-btn:before{content:"";position:absolute;top:-8px;bottom:-8px;left:0;right:0}}.confirm-inline{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.confirm-inline button{position:relative;font-size:var(--text-sm);font-weight:var(--weight-anchor);font-family:inherit;padding:3px 10px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-body);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.confirm-inline button.danger{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.confirm-inline button.danger:hover{background:var(--color-danger-bg-hover);border-color:var(--color-danger-bg-hover);color:var(--color-on-danger)}.confirm-inline button:hover:not(.danger){background:var(--color-bg-hover);border-color:var(--color-border-strong)}@media(max-width:768px){.confirm-inline button:before{content:"";position:absolute;top:-8px;bottom:-8px;left:0;right:0}}.thread-mini-table{width:100%;border-collapse:collapse;font-size:11px}.thread-mini-table th{text-align:left;font-weight:600;font-size:10px;color:var(--color-text-muted);padding:4px 6px;border-bottom:1px solid var(--color-border-light)}.thread-mini-table td{padding:4px 6px;vertical-align:middle}.thread-mini-table .mini-swatch{width:18px;height:18px;border:1px solid rgba(0,0,0,.15);display:inline-block}.thread-mini-table .code{font-family:monospace;font-weight:500}.thread-mini-table .length{font-family:monospace;color:var(--color-text-secondary)}.color-sequence{display:flex;flex-wrap:wrap;gap:3px}.color-sequence .seq-stop{width:20px;height:20px;border:1px solid rgba(0,0,0,.15);position:relative;cursor:default}.color-sequence .seq-stop .seq-num{position:absolute;bottom:-1px;right:1px;font-size:7px;color:#00000080;font-weight:600;text-shadow:0 0 2px rgba(255,255,255,.9)}.param-field{display:flex;flex-direction:column;gap:4px}.param-field label{font-size:10px;color:var(--color-text-muted);font-weight:500}.param-field input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.param-field input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.param-field input::placeholder{color:var(--color-text-muted);opacity:1}.param-field input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.param-field input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.param-field input{min-height:44px!important;font-size:16px!important}}.param-field input{width:100%;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.param-field input::-webkit-outer-spin-button,.param-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.editable-name-field{flex-shrink:0}.editable-name-field .editable-name-label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:600;color:var(--color-text-primary);cursor:pointer;border-radius:3px;transition:background .15s}.editable-name-field .editable-name-label:hover{background:var(--color-bg-hover)}.editable-name-field .editable-name-label--placeholder{font-weight:500;color:var(--color-text-muted)}.editable-name-field .editable-name-icon{width:12px;height:12px;flex-shrink:0;opacity:.5}.editable-name-field .editable-name-input{font-size:13px;font-weight:600;padding:2px 6px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);width:250px;max-width:100%}.project-group-label{display:inline-block;padding:0 10px;font-size:11px;font-weight:500;color:var(--color-text-muted)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.item-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-border-light);cursor:pointer;transition:background .1s,border-color .1s;position:relative}.item-card:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.item-card:hover .item-card__actions,.item-card:focus-within .item-card__actions{opacity:1;pointer-events:auto}.item-card--selected{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.item-card__thumb{width:48px;height:48px;flex-shrink:0;border:1px solid var(--color-border-light);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-photo-mat)}.item-card__thumb img{width:100%;height:100%;object-fit:cover}.item-card__icon{font-size:10px;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:100%;height:100%}.item-card__icon svg{color:var(--color-text-muted)}.item-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.item-card__name-row{display:flex;align-items:center;gap:8px}.item-card__name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card__rename-input{font-size:13px;padding:2px 6px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);width:100%;font-family:inherit}.type-badge{flex-shrink:0;border:1px solid var(--color-border-medium);color:var(--color-text-muted);background:transparent}.item-card__date{font-size:11px;color:var(--color-text-muted)}.item-card__actions{display:flex;gap:4px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .1s}@media(max-width:768px){.item-card__actions{gap:12px}}@media(hover:none){.item-card__actions{opacity:1;pointer-events:auto}}.selection-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.selection-toolbar__toggle{margin-bottom:12px}.selection-toolbar__count{font-size:11px;color:var(--color-text-secondary)}.selection-toolbar__delete{color:var(--color-danger);border-color:var(--color-danger)}.item-card__select{flex-shrink:0;display:flex;align-items:center}.item-card__select input[type=checkbox]{width:16px;height:16px;cursor:pointer}.status-badge,.type-badge,.quote-status-pill,.project-card-status-pill,.project-card-shared-pill,.project-card-assigned-pill,.quote-status-stage-pill,.station-archived-pill,.wall-default-pill,.feedback-kind-badge,.feedback-ref-tag,.feedback-status-badge,.empty-badge{display:inline-flex;align-items:center;box-sizing:border-box;min-height:20px;padding:0 6px;font-size:var(--text-xs);font-weight:var(--weight-anchor);line-height:var(--leading-xs);border-radius:var(--radius-sm);white-space:nowrap}.status-badge{border:1px solid transparent}.status-badge--blue{background:var(--color-status-blue);color:var(--color-status-blue-on)}.status-badge--green{background:var(--color-status-green);color:var(--color-status-green-on)}.status-badge--amber{background:var(--color-status-amber);color:var(--color-status-amber-on)}.status-badge--red{background:var(--color-status-red);color:var(--color-status-red-on)}.status-badge--teal{background:var(--color-status-teal);color:var(--color-status-teal-on)}.status-badge--neutral{background:var(--color-status-neutral);color:var(--color-status-neutral-on)}.status-badge--outlined{background:transparent;border-color:var(--color-border-medium);color:var(--color-text-muted)}.loc-tag,.station-chip,.size-chip{display:inline-flex;align-items:center;box-sizing:border-box;min-height:24px;padding:0 4px 0 8px;gap:2px;font-size:var(--text-sm);font-weight:var(--weight-anchor);line-height:var(--leading-sm);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);background:var(--color-bg-tag);color:var(--color-text-body)}.loc-tag-remove,.station-chip-remove,.size-chip__remove{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:14px;line-height:1;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.loc-tag-remove:hover,.station-chip-remove:hover,.size-chip__remove:hover{background:var(--color-danger-bg);color:var(--color-danger)}@media(max-width:768px){.loc-tag-remove:before,.station-chip-remove:before,.size-chip__remove:before{content:"";position:absolute;top:-12px;right:-6px;bottom:-12px;left:-6px}}:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea),.input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea):is(select),.input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea)::placeholder,.input::placeholder{color:var(--color-text-muted);opacity:1}:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea):disabled,.input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea)[aria-invalid=true],.input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea),.input{min-height:44px!important;font-size:16px!important}}:where(textarea){resize:vertical}:where(input[type=number]){text-align:right;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}:where(input[type=number])::-webkit-outer-spin-button,:where(input[type=number])::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:where(select){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}:where(select option){background-color:var(--color-bg-primary);color:var(--color-text-primary)}:where(input[type=date],input[type=time],input[type=datetime-local])::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}:root.dark-mode :where(input[type=date],input[type=time],input[type=datetime-local])::-webkit-calendar-picker-indicator{filter:invert(1)}:where(input[type=checkbox],input[type=radio]){-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;display:inline-block;box-sizing:border-box;flex-shrink:0;width:16px;height:16px;margin:0;vertical-align:middle;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}:where(input[type=checkbox],input[type=radio]):before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}:where(input[type=checkbox],input[type=radio]):after{content:"";position:absolute;opacity:0}:where(input[type=checkbox],input[type=radio]):checked,:where(input[type=checkbox],input[type=radio]):indeterminate{background:var(--color-accent);border-color:var(--color-accent)}:where(input[type=checkbox],input[type=radio]):disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){:where(input[type=checkbox],input[type=radio]):before{top:-14px;right:-14px;bottom:-14px;left:-14px}}:where(input[type=checkbox]):after{left:4px;top:1px;width:4px;height:8px;border:solid var(--color-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}:where(input[type=checkbox]):checked:after{opacity:1}:where(input[type=checkbox]):indeterminate:after{left:3px;top:5px;width:8px;height:0;border-width:0 0 2px 0;transform:none;opacity:1}:where(input[type=radio]){border-radius:50%}:where(input[type=radio]):after{left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--color-on-accent)}:where(input[type=radio]):checked:after{opacity:1}@media(max-width:768px){:where(select){min-width:64px}.table-scroll input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=range]):not([type=color]){min-width:72px}.table-scroll select{min-width:144px}.table-scroll input[type=date],.table-scroll input[type=time],.table-scroll input[type=datetime-local]{min-width:132px}.table-scroll textarea{min-width:120px}}:where(button,a,input,select,textarea,summary,[role=button],[role=combobox],[tabindex]:not([tabindex="-1"])):focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(prefers-reduced-motion:reduce){.btn,.btn-save,.btn-cancel,.btn:after,.btn-save:after,.btn-cancel:after,.icon-btn,.close-btn,.text-btn,.filter-btn,.confirm-inline button,.loc-tag-remove,.station-chip-remove,.size-chip__remove,.input,:where(input,select,textarea){transition-duration:0ms;animation:none}}body{margin:0;font-family:var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);color:var(--color-text-primary)}code{font-family:var(--font-mono)}.image-uploader .file-input{display:none}.grid-picker-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.grid-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);cursor:pointer}.grid-picker-content{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:95vw;max-width:850px;height:auto}.grid-picker-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-strong)}.grid-picker-header h3{margin:0;font-size:14px;font-weight:600}.change-preview{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-subtle)}.change-preview .change-from,.change-preview .change-to{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.change-preview .preview-swatch{width:36px;height:36px;border:1px solid var(--color-swatch-border);flex-shrink:0}.change-preview .preview-swatch.empty{background:repeating-conic-gradient(#ddd,#ddd 25%,#fff 0%,#fff 50%) 50%/12px 12px}.change-preview .preview-info{display:flex;flex-direction:column;min-width:0}.change-preview .preview-info .preview-label{font-size:9px;font-weight:700;color:var(--color-text-muted)}.change-preview .preview-info .preview-code{font-size:12px;font-weight:500;color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.change-preview .preview-info .preview-code.placeholder{color:var(--color-text-secondary);font-style:italic;font-weight:400}.change-preview .change-arrow{font-size:20px;color:var(--color-text-muted);flex-shrink:0}.change-preview .hex-paste{display:flex;flex-direction:column;gap:2px;margin-left:auto;flex-shrink:0}.change-preview .hex-paste .hex-paste-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.change-preview .hex-paste .hex-paste-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.change-preview .hex-paste .hex-paste-input::placeholder{color:var(--color-text-muted);opacity:1}.change-preview .hex-paste .hex-paste-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.change-preview .hex-paste .hex-paste-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.change-preview .hex-paste .hex-paste-input{min-height:44px!important;font-size:16px!important}}.change-preview .hex-paste .hex-paste-input{font-family:monospace;width:90px;font-size:12px;padding:4px 8px}.change-preview .hex-paste .hex-hint{font-size:9px;color:var(--color-text-muted)}.grid-picker-search{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--color-border-subtle)}.grid-picker-search .search-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.grid-picker-search .search-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.grid-picker-search .search-input::placeholder{color:var(--color-text-muted);opacity:1}.grid-picker-search .search-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.grid-picker-search .search-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.grid-picker-search .search-input{min-height:44px!important;font-size:16px!important}}.grid-picker-search .search-input{flex:1;font-size:12px;font-family:inherit}.grid-picker-search .search-input::placeholder{color:var(--color-text-secondary)}.grid-picker-search .result-count{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.grid-picker-weight-filter{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 16px 0}.grid-picker-weight-filter .filter-label{font-size:9px;font-weight:600;color:var(--color-text-muted);margin-right:4px}.grid-picker-weight-filter .weight-filter-btn{padding:3px 9px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);white-space:nowrap;transition:.15s ease;opacity:.5}.grid-picker-weight-filter .weight-filter-btn:hover{opacity:1}.grid-picker-weight-filter .weight-filter-btn.active{opacity:1;background:var(--color-bg-inverse);color:var(--color-text-inverse)}.grid-picker-grid{padding:8px;display:flex;align-items:center;justify-content:center;overflow-y:auto;max-height:50vh}.grid-picker-wall-view{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:100%}.grid-picker-wall-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.grid-picker-wall-tab{min-height:44px;padding:0 14px;font-family:inherit;font-size:12px;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.grid-picker-wall-tab.no-match{opacity:.5}.grid-picker-wall-tab.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.grid-picker-wall-tab .wall-tab-count{margin-left:4px;font-size:10px;opacity:.7}.grid-table{display:flex;flex-direction:column;gap:1px}.grid-table-row{display:flex;gap:1px}.grid-flat{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;width:100%}.grid-col{display:flex;flex-direction:column;gap:1px}.grid-color-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:1px solid transparent;padding:0;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s;flex-shrink:0}.grid-color-cell.empty-cell{background:transparent;cursor:default;border:none}.grid-color-cell:hover{transform:scale(1.2);z-index:1;border-color:var(--color-border-strong);box-shadow:0 2px 8px #00000040}.grid-color-cell.selected{border-color:var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000;transform:scale(1.15);z-index:2}.grid-color-cell.current{position:relative}.grid-color-cell.filtered-out{opacity:.2;cursor:not-allowed}.grid-color-cell.filtered-out:hover{transform:none;box-shadow:none;border-color:transparent}.grid-color-cell .current-check{width:12px;height:12px;pointer-events:none}.grid-loading,.grid-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:12px;color:var(--color-text-muted)}.grid-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border-strong)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.auth-form{background:var(--color-bg-primary);padding:32px 28px;width:340px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--color-border-strong)}.auth-form .auth-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.auth-form .auth-header h2{margin:0;font-size:16px;font-weight:600;letter-spacing:.5px}.auth-form .auth-header .auth-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-secondary);padding:0 4px;line-height:1}.auth-form .auth-header .auth-close:hover{color:var(--color-text-primary)}.auth-form input,.auth-form select,.auth-form textarea{padding:10px 12px;font-size:14px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);outline:none;font-family:inherit;text-transform:none;resize:vertical}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{box-shadow:-2px 2px 0 var(--color-border-strong)}.auth-form .auth-error{font-size:12px;color:var(--color-danger)}.auth-form .auth-confirmation{font-size:13px;color:var(--color-text-secondary);margin:0}.auth-form .auth-mode-link{background:none;border:none;font-size:12px;color:var(--color-text-secondary);cursor:pointer;text-align:left;padding:0;font-family:inherit;text-decoration:underline}.auth-form .auth-mode-link:hover{color:var(--color-text-primary)}.popover{position:fixed;z-index:var(--z-popover);box-sizing:border-box;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-body)}.react-colorful,.react-colorful__saturation,.react-colorful__hue,.react-colorful__alpha{border-radius:0!important}.hex-picker-popup{padding:12px;display:flex;flex-direction:column;gap:10px;width:220px}.hex-picker-popup .hex-picker-header .hex-picker-title{font-size:11px;font-weight:600;color:var(--color-text-muted)}.hex-picker-popup .hex-picker-swatches{display:flex;align-items:center;gap:10px}.hex-picker-popup .hex-picker-swatches .swatch-group{display:flex;align-items:center;gap:6px}.hex-picker-popup .hex-picker-swatches .swatch-group .swatch-color{width:24px;height:24px;border:1px solid var(--color-border-medium);flex-shrink:0}.hex-picker-popup .hex-picker-swatches .swatch-group .swatch-hex{font-family:monospace;font-size:11px;color:var(--color-text-body)}.hex-picker-popup .hex-picker-swatches .swatch-arrow{font-size:14px;color:var(--color-text-muted)}.hex-picker-popup .react-colorful{width:100%!important;height:150px!important}.hex-picker-popup .hex-picker-text{font-family:monospace;font-size:12px;width:100%;padding:5px 8px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:center;box-sizing:border-box}.hex-picker-popup .hex-picker-text.invalid{border-color:var(--color-danger, #d32f2f)}.hex-picker-popup .hex-picker-actions{display:flex;gap:6px;justify-content:flex-end}.color-palette{--color-weight-60: #312783;--color-weight-75: #F9B104;display:flex;flex-direction:column;flex:1;min-height:0;margin-top:12px;max-width:900px;overflow-y:auto}.color-palette.is-loading{opacity:.6;pointer-events:none}.sort-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 0;margin-bottom:6px;position:sticky;top:0;z-index:1;background:var(--color-bg-primary)}.sort-toolbar .sort-label{font-size:11px;font-weight:600;color:var(--color-text-muted);margin-right:2px}.sort-toolbar .sort-btn{padding:4px 10px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);white-space:nowrap;transition:.15s ease;opacity:.35}.sort-toolbar .sort-btn:hover{opacity:1}.sort-toolbar .sort-btn:active{opacity:.8}.sort-toolbar .sort-btn.active{opacity:1;background:var(--color-bg-inverse);color:var(--color-text-inverse)}.sort-toolbar .sort-btn .sort-arrow{display:inline-block;width:10px;height:10px;margin-left:4px;vertical-align:middle;position:relative;top:-1px}.sort-toolbar .palette-reset-btn{margin-left:auto;padding:4px 10px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);white-space:nowrap;transition:.15s ease;opacity:.35}.sort-toolbar .palette-reset-btn:hover{opacity:1}.sort-toolbar .palette-reset-btn:active{opacity:.8}.code-copy-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;font-size:11px;color:inherit;cursor:pointer;text-align:left;position:relative;border-bottom:1px dashed transparent;transition:border-color .15s,color .15s}.code-copy-btn:hover{border-bottom-color:currentColor;color:var(--color-text-primary)}.code-copy-btn .copied-badge.inline{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:2px 5px;font-size:9px;background:#fffffff2;border:1px solid rgba(0,0,0,.25);color:#111;-webkit-user-select:none;user-select:none;white-space:nowrap;pointer-events:none}.cell-stock{text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.cell-stock .out-of-stock{color:var(--color-text-muted)}.cell-stock .stock-by-weight{display:flex;flex-direction:column;gap:2px}.cell-stock .stock-weight-entry{color:var(--color-success);font-size:11px}.cell-stock .stock-weight-entry.w60{color:var(--color-weight-60)}.cell-stock .stock-weight-entry.w75{color:var(--color-weight-75)}.weight-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:4px;vertical-align:middle;flex-shrink:0}.weight-dot.w60{background:var(--color-weight-60)}.weight-dot.w75{background:var(--color-weight-75)}.match-bar{display:inline-block;width:28px;height:4px;background:var(--color-border-subtle);border-radius:2px;margin-left:auto;flex-shrink:0;vertical-align:middle;overflow:hidden}.match-bar .match-bar-fill{display:block;height:100%;border-radius:2px;transition:width .2s ease}.color-palette .palette-footer{margin-top:auto;position:sticky;bottom:0;z-index:5}.color-palette .weight-legend{margin:16px 0 0;padding:6px 12px 0;font-size:10px;color:var(--color-text-secondary);letter-spacing:.3px;display:flex;align-items:center;gap:14px;background:var(--color-bg-primary)}.color-palette .weight-legend .weight-legend-item{display:inline-flex;align-items:center;gap:5px}.color-palette .weight-legend .weight-dot{margin-left:0}.color-palette .disclaimer{margin:0;padding:10px 12px;font-size:10px;color:var(--color-text-secondary);background:var(--color-warning-bg);border:1px solid var(--color-warning);letter-spacing:.3px;line-height:1.5}.eraser-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.eraser-modal .eraser-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);cursor:pointer}.eraser-modal .eraser-content{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:90vw;max-width:1000px;height:90vh;max-height:900px}.eraser-modal .eraser-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-strong)}.eraser-modal .eraser-header h3{margin:0;font-size:14px;font-weight:600}.eraser-modal .eraser-header .header-help{margin:0;font-size:11px;color:var(--color-text-muted);position:absolute;left:50%;transform:translate(-50%)}.eraser-modal .eraser-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light);gap:16px}.eraser-modal .eraser-toolbar .toolbar-left{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.eraser-modal .eraser-toolbar .toolbar-right{display:flex;gap:8px;align-items:center}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher{display:flex;gap:6px;margin-left:4px}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch{width:24px;height:24px;border:2px solid var(--color-text-disabled);cursor:pointer;padding:0;transition:.15s ease}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch.active{border:2px solid var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch:hover:not(.active){border-color:var(--color-text-secondary)}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch.white{background:#fff}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch.black{background:#000}.eraser-modal .eraser-toolbar .toolbar-right .bg-switcher .bg-swatch.checker{background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.15) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.eraser-modal .eraser-toolbar .tool-buttons{display:flex;gap:8px;border-right:1px solid var(--color-border-light);padding-right:12px}.eraser-modal .eraser-toolbar .control-group{display:flex;align-items:center;gap:8px}.eraser-modal .eraser-toolbar .control-group label{font-weight:500;font-size:12px;min-width:80px}.eraser-modal .eraser-toolbar .control-group input[type=range]{width:100px}.eraser-modal .eraser-toolbar .control-group input[type=color]{width:32px;height:32px;padding:2px;border:1px solid var(--color-border-light);cursor:pointer}.eraser-modal .eraser-toolbar .control-group .size-display,.eraser-modal .eraser-toolbar .control-group .zoom-display,.eraser-modal .eraser-toolbar .control-group .color-display{font-weight:600;font-size:12px;min-width:40px}.eraser-modal .eraser-toolbar .control-group span{font-size:12px;font-weight:500}.eraser-modal .eraser-toolbar .control-group .brush-size-options{display:flex;gap:4px;align-items:center}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn{width:40px;height:40px;padding:0;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn .brush-dot{display:block;background:var(--color-text-secondary);transition:.15s ease}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn:hover{border-color:var(--color-border-strong)}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn.active{border-color:var(--color-border-strong);background:var(--color-bg-tag)}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn.active .brush-dot{background:var(--color-text-primary)}.eraser-modal .eraser-toolbar .control-group .tolerance-options{display:flex;gap:4px;align-items:center}.eraser-modal .eraser-toolbar .control-group .tolerance-options .tool-btn{padding:5px 10px;font-size:11px;letter-spacing:.4px}.eraser-modal .eraser-toolbar .control-group .tolerance-options .tool-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse);border-color:var(--color-border-strong)}.eraser-modal .eraser-toolbar .control-group.shape-toggle{gap:4px;margin-left:8px}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn{width:32px;height:32px;padding:4px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn .icon{width:16px;height:16px;display:block}.dark-mode .eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn .icon{filter:invert(1)}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn:hover{border-color:var(--color-border-strong)}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn.active{background:var(--color-bg-inverse);border-color:var(--color-border-strong)}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn.active .icon{filter:invert(1)}.dark-mode .eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn.active .icon{filter:none}.eraser-modal .eraser-toolbar .bucket-hex-input{font-family:monospace;font-size:12px;width:75px;padding:4px 6px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:center}.eraser-modal .tool-btn{padding:6px 12px;font-size:11px;cursor:pointer;border:1px solid var(--color-border-medium);border-radius:0;background:var(--color-bg-primary);color:var(--color-text-body);transition:.15s ease}.eraser-modal .tool-btn:hover{transform:translate(2px,-2px);box-shadow:-4px 4px 0 var(--color-border-strong)}.eraser-modal .tool-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.eraser-modal .tool-btn.active,.eraser-modal .tool-btn.primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.eraser-modal .tool-btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.eraser-modal .tool-btn{padding:8px 14px;font-size:12px;font-weight:500;border-color:var(--color-border-strong);display:flex;align-items:center;justify-content:center;gap:4px;position:relative;color:var(--color-text-primary)}.eraser-modal .tool-btn .icon{width:16px;height:16px;display:inline-block;transition:.1s ease}.dark-mode .eraser-modal .tool-btn .icon{filter:invert(1)}.eraser-modal .tool-btn .tool-tooltip{position:fixed;background:var(--color-bg-inverse);color:var(--color-text-inverse);padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:var(--z-tooltip);opacity:0;visibility:hidden;transition:opacity .08s ease,visibility .08s ease;bottom:auto;left:auto;top:-40px;text-transform:none;letter-spacing:0}.eraser-modal .tool-btn:hover:not(:disabled) .tool-tooltip{opacity:1;visibility:visible}.eraser-modal .tool-btn:active:not(:disabled){transform:translate(1px,-1px);box-shadow:-2px 2px 0 var(--color-border-strong)}.eraser-modal .tool-btn:disabled{opacity:.4}.eraser-modal .tool-btn.primary .icon{filter:brightness(0) invert(1)}.dark-mode .eraser-modal .tool-btn.primary .icon{filter:brightness(0)}.eraser-modal .tool-btn.primary:hover:not(:disabled){background:var(--color-text-body)}.eraser-modal .tool-btn.primary:disabled{background:var(--color-text-muted);border-color:var(--color-text-muted)}.eraser-modal .tool-btn.active .icon{filter:brightness(0) invert(1)}.dark-mode .eraser-modal .tool-btn.active .icon{filter:brightness(0)}.eraser-modal .tool-btn.active .tool-tooltip{opacity:1;visibility:visible}.eraser-modal .tool-btn.active:hover:not(:disabled){background:var(--color-text-body)}.eraser-modal .canvas-container{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel);cursor:auto;touch-action:none;position:relative;-webkit-user-select:none;user-select:none}.eraser-modal .canvas-container.bg-white{background:#fff}.eraser-modal .canvas-container.bg-white .checkerboard{display:none}.eraser-modal .canvas-container.bg-black{background:#000}.eraser-modal .canvas-container.bg-black .checkerboard{display:none}.eraser-modal .canvas-container.bg-checker{background:var(--color-bg-panel)}.eraser-modal .canvas-container.drag-cursor{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512" fill="%23000"><path d="M391 178c-8 0-15 3-21 8V59c0-20-16-43-38-43-9 0-17 4-24 10-6-14-20-26-36-26-9 0-18 4-25 11-9 8-14 20-14 31-6-4-14-8-21-8-22 0-38 22-38 43v147c-8-16-18-32-28-42-14-14-41-15-56-2-4 4-19 20 1 47 18 26 32 82 32 114 0 68 44 99 60 108v54c0 5 3 8 8 8s9-3 9-8v-59c0-3-2-6-5-8-3-1-55-26-55-95 0-32-14-94-36-125-6-8-11-18-3-24 8-7 26-7 33 1 21 21 40 67 40 88 0 5 4 8 9 8s8-3 8-8V76c0-12 9-26 21-26s22 14 22 26v154c0 5 3 8 8 8s9-3 9-8V42c0-7 3-15 8-20 4-3 9-6 13-6 12 0 21 14 21 26v196c0 5 4 8 9 8s8-3 8-8V59c0-12 9-26 21-26s22 14 22 26v160v1v35c0 5 3 9 8 9s9-4 9-9v-35c1-12 10-25 21-25 12 0 22 14 22 26v119c0 65 0 65-24 97-2 2-2 5-2 6v58c0 5 4 9 9 9s8-4 8-9v-56c26-34 26-38 26-105V221c0-20-16-43-38-43z"/></svg>') 12 2,auto}.eraser-modal .canvas-container.drag-cursor:active{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512" fill="%23000"><path d="M389 67c-9 0-19 4-26 9v-9c0-24-19-43-43-43-10 0-19 4-26 10-3-20-21-34-42-34-18 0-34 12-40 28-8-7-17-11-28-11-24 0-43 19-43 43v48c-11-8-26-11-39-7-7 2-28 12-19 50 8 31 3 72-1 105-2 9-2 17-3 25-8 96 54 141 71 151v70c0 5 3 8 8 8 5 0 9-3 9-8v-75c0-4-3-8-6-8-10-5-72-43-65-136 1-8 2-16 3-25 4-35 9-78 1-111-3-10-4-26 8-31 11-3 28 5 34 16v96c0 5 3 8 8 8s9-3 9-8V59c0-15 11-26 26-26s25 11 25 26v111c0 5 4 8 9 8 5 0 8-3 8-8V59V42c0-15 11-26 26-26s25 11 25 26v17v8v103c0 5 4 8 9 8 5 0 8-3 8-8v-103c0-14 11-25 26-25s25 11 25 25v43v85c0 5 4 9 9 9s8-4 8-9v-85c0-15 11-26 26-26 14 0 25 11 25 26v171c0 96-1 97-31 138l-1 2c-2 2-2 3-2 6v76c0 5 4 8 9 8s8-3 8-8v-74c33-45 34-49 34-148V110c0-24-19-43-43-43z"/></svg>') 12 8,auto}.eraser-modal .canvas-container.eraser-cursor{cursor:none}.eraser-modal .canvas-container.color-eraser-cursor,.eraser-modal .canvas-container.bucket-cursor{cursor:crosshair}.eraser-modal .canvas-container.crop-cursor{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="miter"><polyline points="22 19 5 19 5 2"/><polyline points="9 5 19 5 19 15"/><line x1="19" y1="19" x2="19" y2="22"/><line x1="2" y1="5" x2="5" y2="5"/></svg>') 5 19,auto}.eraser-modal .canvas-container .checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;z-index:0}.eraser-modal .canvas-container .eraser-canvas{display:block;background:transparent;transform-origin:center center;transition:none;position:relative;z-index:1}.eraser-modal .canvas-container .brush-preview{position:absolute;border:2px solid rgba(255,50,50,.8);pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000001a,inset 0 0 8px #ff32324d;z-index:2}.eraser-modal .canvas-container .brush-preview.circle{border-radius:50%}.eraser-modal .canvas-container .brush-preview.square{border-radius:0}.eraser-modal .editor-body{display:flex;flex:1;overflow:hidden}.eraser-modal .eraser-footer{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--color-border-light);justify-content:flex-end}.eraser-modal .crop-overlay{position:absolute;border:2px dashed #000;background:#ffffff1a;box-shadow:0 0 0 9999px #00000080;pointer-events:none;z-index:100}.eraser-modal .crop-overlay .crop-move-area{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;cursor:move}.eraser-modal .crop-overlay .crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #000;pointer-events:auto;z-index:101}.eraser-modal .crop-overlay .crop-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.eraser-modal .crop-overlay .crop-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.eraser-modal .crop-overlay .crop-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.eraser-modal .crop-overlay .crop-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.eraser-modal .crop-overlay .crop-handle.n{top:-6px;left:50%;transform:translate(-50%);cursor:n-resize}.eraser-modal .crop-overlay .crop-handle.s{bottom:-6px;left:50%;transform:translate(-50%);cursor:s-resize}.eraser-modal .crop-overlay .crop-handle.w{left:-6px;top:50%;transform:translateY(-50%);cursor:w-resize}.eraser-modal .crop-overlay .crop-handle.e{right:-6px;top:50%;transform:translateY(-50%);cursor:e-resize}.eraser-modal .canvas-container.crop-cursor{cursor:crosshair}.eraser-modal .crop-controls{display:flex;gap:8px}.eraser-modal .crop-controls .tool-btn.primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.eraser-modal .crop-controls .tool-btn.primary:hover{background:var(--color-text-body)}@media(max-width:768px){.eraser-modal .eraser-content{width:100%;height:100%;max-width:none;max-height:none}.eraser-modal .eraser-toolbar{flex-direction:column;gap:8px}.eraser-modal .eraser-toolbar .toolbar-left,.eraser-modal .eraser-toolbar .toolbar-right{width:100%;justify-content:space-between}}.inventory-page{width:95vw;max-width:900px;margin:20px auto;padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);font-family:Arial,sans-serif;box-sizing:border-box}@media(max-width:768px){.inventory-page{padding:12px}}.inventory-page .table-scroll{overflow-x:auto}.inventory-page .data-table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px}.inventory-page .data-table thead{position:sticky;top:0;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-light)}.inventory-page .data-table thead th{padding:6px 8px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong);border-bottom:1px solid var(--color-border-medium);vertical-align:middle}.inventory-page .data-table tbody tr:hover{background:var(--color-bg-hover)}.inventory-page .data-table tbody tr{border-bottom:1px solid var(--color-border-subtle)}.inventory-page .data-table td,.inventory-page .data-table th{padding:6px 8px;vertical-align:middle}.inventory-page .data-table .cell-swatch{width:48px;position:relative}.inventory-page .data-table .cell-swatch .color-swatch,.inventory-page .data-table .cell-swatch .swatch-box,.inventory-page .data-table .cell-swatch .color-swatch-small{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:36px;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;transition:.12s ease;display:block;padding:0}.inventory-page .data-table .cell-swatch .color-swatch:hover,.inventory-page .data-table .cell-swatch .swatch-box:hover,.inventory-page .data-table .cell-swatch .color-swatch-small:hover{transform:scale(1.06)}.inventory-page .data-table .cell-swatch .color-swatch:active,.inventory-page .data-table .cell-swatch .swatch-box:active,.inventory-page .data-table .cell-swatch .color-swatch-small:active{transform:scale(1.02)}.inventory-page .data-table .cell-swatch .copied-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:2px 4px;font-size:9px;border-radius:0;border:1px solid rgba(0,0,0,.25);background:#fffffff2;color:#111;-webkit-user-select:none;user-select:none;white-space:nowrap}.inventory-page .data-table .cell-code{min-width:120px}.inventory-page .data-table .cell-code .code-value{display:block;font-family:monospace;font-weight:600;font-size:11px;color:var(--color-text-strong)}.inventory-page .data-table .cell-code .color-name{display:block;font-size:11px;font-weight:400;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.inventory-page .data-table .cell-hex{font-family:monospace;font-weight:400;font-size:11px;color:var(--color-text-strong);width:150px}.inventory-page .data-table .cell-hex .hex-cell-inner{display:flex;align-items:center;gap:6px;position:relative}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn,.inventory-page .data-table .cell-hex .hex-cell-inner .inline-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:2px;cursor:pointer;opacity:.3;transition:opacity .15s;flex-shrink:0;color:var(--color-text-primary)}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn .icon,.inventory-page .data-table .cell-hex .hex-cell-inner .inline-reset-btn .icon{width:18px;height:18px}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn:hover,.inventory-page .data-table .cell-hex .hex-cell-inner .inline-reset-btn:hover{opacity:1}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-reset-btn{color:var(--color-info);opacity:.5}.inventory-page .data-table .cell-spoolcode{font-family:monospace;font-weight:400;font-size:11px;color:var(--color-text-strong);white-space:nowrap}.inventory-page .data-table .cell-spoolcode .spool-code-value{color:var(--color-text-strong);letter-spacing:.05em}.inventory-page .data-table .cell-spoolcode .spool-code-empty{color:var(--color-text-disabled)}.inventory-page .data-table .cell-weight,.inventory-page .data-table .cell-length{font-size:11px;font-weight:400;color:var(--color-text-body);white-space:nowrap}.inventory-page .data-table .loc-input,.inventory-page .data-table .qty-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.inventory-page .data-table .loc-input:is(select),.inventory-page .data-table .qty-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.inventory-page .data-table .loc-input::placeholder,.inventory-page .data-table .qty-input::placeholder{color:var(--color-text-muted);opacity:1}.inventory-page .data-table .loc-input:disabled,.inventory-page .data-table .qty-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.inventory-page .data-table .loc-input[aria-invalid=true],.inventory-page .data-table .qty-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.inventory-page .data-table .loc-input,.inventory-page .data-table .qty-input{min-height:44px!important;font-size:16px!important}}.inventory-page .data-table .loc-input,.inventory-page .data-table .qty-input{width:45px;min-height:28px;padding:3px 6px;font-size:var(--text-sm);text-align:center}.inventory-page .data-table .cell-location{min-width:90px;overflow:visible}.inventory-page .data-table .cell-location .loc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:26px}.inventory-page .data-table .cell-location .loc-tag{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-anchor);white-space:nowrap}.inventory-page .data-table .cell-location .loc-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px dashed var(--color-text-disabled);padding:1px 5px;font-size:13px;line-height:1.4;color:var(--color-text-muted);cursor:pointer}.inventory-page .data-table .cell-location .loc-add-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-body)}.inventory-page .data-table .cell-location .loc-input--mini{width:36px;padding:2px 4px;font-size:11px}.inventory-page .data-table .cell-location .loc-error{font-size:10px;color:var(--color-danger)}.inventory-page .data-table .cell-quantity .qty-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.inventory-page .data-table .cell-quantity .qty-input::-webkit-outer-spin-button,.inventory-page .data-table .cell-quantity .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inventory-page .data-table .cell-actions{width:95px;text-align:right}.inventory-page .data-table .cell-actions .action-btn,.inventory-page .data-table .cell-actions .save-btn,.inventory-page .data-table .cell-actions .restock-btn,.inventory-page .data-table .cell-actions .delete-btn,.inventory-page .data-table .cell-actions .edit-btn,.inventory-page .data-table .cell-actions .reset-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.inventory-page .data-table .cell-actions .action-btn .icon,.inventory-page .data-table .cell-actions .action-btn svg,.inventory-page .data-table .cell-actions .save-btn .icon,.inventory-page .data-table .cell-actions .save-btn svg,.inventory-page .data-table .cell-actions .restock-btn .icon,.inventory-page .data-table .cell-actions .restock-btn svg,.inventory-page .data-table .cell-actions .delete-btn .icon,.inventory-page .data-table .cell-actions .delete-btn svg,.inventory-page .data-table .cell-actions .edit-btn .icon,.inventory-page .data-table .cell-actions .edit-btn svg,.inventory-page .data-table .cell-actions .reset-btn .icon,.inventory-page .data-table .cell-actions .reset-btn svg{width:16px;height:16px}.inventory-page .data-table .cell-actions .action-btn:before,.inventory-page .data-table .cell-actions .save-btn:before,.inventory-page .data-table .cell-actions .restock-btn:before,.inventory-page .data-table .cell-actions .delete-btn:before,.inventory-page .data-table .cell-actions .edit-btn:before,.inventory-page .data-table .cell-actions .reset-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.inventory-page .data-table .cell-actions .action-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .save-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .restock-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .delete-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .edit-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .reset-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.inventory-page .data-table .cell-actions .action-btn:disabled,.inventory-page .data-table .cell-actions .save-btn:disabled,.inventory-page .data-table .cell-actions .restock-btn:disabled,.inventory-page .data-table .cell-actions .delete-btn:disabled,.inventory-page .data-table .cell-actions .edit-btn:disabled,.inventory-page .data-table .cell-actions .reset-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.inventory-page .data-table .cell-actions .action-btn:before,.inventory-page .data-table .cell-actions .save-btn:before,.inventory-page .data-table .cell-actions .restock-btn:before,.inventory-page .data-table .cell-actions .delete-btn:before,.inventory-page .data-table .cell-actions .edit-btn:before,.inventory-page .data-table .cell-actions .reset-btn:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.inventory-page .data-table .cell-actions .action-btn,.inventory-page .data-table .cell-actions .save-btn,.inventory-page .data-table .cell-actions .restock-btn,.inventory-page .data-table .cell-actions .delete-btn,.inventory-page .data-table .cell-actions .edit-btn,.inventory-page .data-table .cell-actions .reset-btn{vertical-align:middle;margin-right:4px}.inventory-page .data-table .cell-actions .action-btn:last-child,.inventory-page .data-table .cell-actions .save-btn:last-child,.inventory-page .data-table .cell-actions .restock-btn:last-child,.inventory-page .data-table .cell-actions .delete-btn:last-child,.inventory-page .data-table .cell-actions .edit-btn:last-child,.inventory-page .data-table .cell-actions .reset-btn:last-child{margin-right:0}.inventory-page .data-table .cell-actions .save-btn:hover:not(:disabled){background:var(--color-success-bg);color:var(--color-success)}.inventory-page .data-table .cell-actions .restock-btn:hover:not(:disabled),.inventory-page .data-table .cell-actions .delete-btn:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}@media(max-width:768px){.inventory-page .data-table .cell-actions{width:auto;min-width:95px}.inventory-page .data-table .cell-actions .action-btn,.inventory-page .data-table .cell-actions .save-btn,.inventory-page .data-table .cell-actions .restock-btn,.inventory-page .data-table .cell-actions .delete-btn,.inventory-page .data-table .cell-actions .edit-btn,.inventory-page .data-table .cell-actions .reset-btn{margin-right:12px}.inventory-page .data-table .cell-actions .action-btn:last-child,.inventory-page .data-table .cell-actions .save-btn:last-child,.inventory-page .data-table .cell-actions .restock-btn:last-child,.inventory-page .data-table .cell-actions .delete-btn:last-child,.inventory-page .data-table .cell-actions .edit-btn:last-child,.inventory-page .data-table .cell-actions .reset-btn:last-child{margin-right:0}}.inventory-page .data-table .cell-pantone,.inventory-page .data-table .cell-thread{font-size:11px;color:var(--color-text-body);min-width:150px}.inventory-page .data-table .cell-pantone .pantone-display,.inventory-page .data-table .cell-pantone .madeira-display,.inventory-page .data-table .cell-thread .pantone-display,.inventory-page .data-table .cell-thread .madeira-display{display:flex;align-items:center;min-height:36px;gap:8px}.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch,.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:36px;height:36px;border-radius:0;border:1px solid var(--color-swatch-border);cursor:pointer;padding:0;transition:.12s ease}.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch:hover,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch:hover,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch:hover,.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch:hover,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch:hover,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch:hover,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch:hover,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch:hover{transform:scale(1.06)}.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch:active,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch:active,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch:active,.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch:active,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch:active,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch:active,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch:active,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch:active{transform:scale(1.02)}.inventory-page .data-table .cell-pantone .pantone-display span,.inventory-page .data-table .cell-pantone .madeira-display span,.inventory-page .data-table .cell-thread .pantone-display span,.inventory-page .data-table .cell-thread .madeira-display span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-page .data-table .cell-pantone .pantone-display .na,.inventory-page .data-table .cell-pantone .madeira-display .na,.inventory-page .data-table .cell-thread .pantone-display .na,.inventory-page .data-table .cell-thread .madeira-display .na{color:var(--color-text-muted)}.inventory-page .data-table .cell-pantone .pantone-display .quality-dot,.inventory-page .data-table .cell-pantone .madeira-display .quality-dot,.inventory-page .data-table .cell-thread .pantone-display .quality-dot,.inventory-page .data-table .cell-thread .madeira-display .quality-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-left:auto}.inventory-page .data-table .cell-pantone .pantone-display .inline-edit-btn,.inventory-page .data-table .cell-pantone .pantone-display .inline-reset-btn,.inventory-page .data-table .cell-pantone .madeira-display .inline-edit-btn,.inventory-page .data-table .cell-pantone .madeira-display .inline-reset-btn,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn,.inventory-page .data-table .cell-thread .madeira-display .inline-edit-btn,.inventory-page .data-table .cell-thread .madeira-display .inline-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:2px;cursor:pointer;opacity:.3;transition:opacity .15s;flex-shrink:0;color:var(--color-text-primary)}.inventory-page .data-table .cell-pantone .pantone-display .inline-edit-btn .icon,.inventory-page .data-table .cell-pantone .pantone-display .inline-reset-btn .icon,.inventory-page .data-table .cell-pantone .madeira-display .inline-edit-btn .icon,.inventory-page .data-table .cell-pantone .madeira-display .inline-reset-btn .icon,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn .icon,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn .icon,.inventory-page .data-table .cell-thread .madeira-display .inline-edit-btn .icon,.inventory-page .data-table .cell-thread .madeira-display .inline-reset-btn .icon{width:18px;height:18px}.inventory-page .data-table .cell-pantone .pantone-display .inline-edit-btn:hover,.inventory-page .data-table .cell-pantone .pantone-display .inline-reset-btn:hover,.inventory-page .data-table .cell-pantone .madeira-display .inline-edit-btn:hover,.inventory-page .data-table .cell-pantone .madeira-display .inline-reset-btn:hover,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn:hover,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn:hover,.inventory-page .data-table .cell-thread .madeira-display .inline-edit-btn:hover,.inventory-page .data-table .cell-thread .madeira-display .inline-reset-btn:hover{opacity:1}.inventory-page .data-table .cell-pantone .pantone-display .inline-reset-btn,.inventory-page .data-table .cell-pantone .madeira-display .inline-reset-btn,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn,.inventory-page .data-table .cell-thread .madeira-display .inline-reset-btn{color:var(--color-info);opacity:.5}.inventory-page .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:.1s ease}.inventory-page .data-table th.sortable:hover{background:#00000014}.inventory-page .data-table th.sortable:active{background:#0000001f}.inventory-page .data-table.restock-variant tbody tr{background:#fdf8f5}.inventory-page .data-table.restock-variant tbody tr:hover{background:#faf0ea}.dark-mode .inventory-page .data-table.restock-variant tbody tr{background:#241f1a}.dark-mode .inventory-page .data-table.restock-variant tbody tr:hover{background:#2c251e}.inventory-page .data-table .cell-grip-header{width:24px;padding:0}.inventory-page .data-table .cell-grip{width:24px;padding:2px 4px;cursor:grab;-webkit-user-select:none;user-select:none}.inventory-page .data-table .cell-grip .grip-handle{font-size:14px;color:var(--color-text-disabled);letter-spacing:-2px;line-height:1;transition:color .15s}.inventory-page .data-table .cell-grip:hover .grip-handle{color:var(--color-text-muted)}.inventory-page .data-table .cell-grip:active{cursor:grabbing}.inventory-page .data-table tbody tr.dragging{opacity:.4}.inventory-page .data-table tbody tr.drag-over{box-shadow:0 -2px 0 0 var(--color-info)}.inventory-page .inventory-header{margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.inventory-page .inventory-header h1{font-size:18px;font-weight:600;margin:0 0 4px}.inventory-page .inventory-header .subtitle{font-size:11px;color:var(--color-text-muted)}.inventory-page section{margin-bottom:20px}.inventory-page section h2{font-size:11px;font-weight:600;margin:0 0 12px;color:var(--color-text-primary)}.inventory-page .scanner-section{background:var(--color-bg-panel);border:1px solid var(--color-border-strong);padding:20px}.inventory-page .scanner-section .mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.inventory-page .scanner-section .mode-toggle .mode-btn{text-align:center}.inventory-page .scanner-section .scanner-form .input-row{display:grid;grid-template-columns:1fr 70px 45px;gap:8px;margin-bottom:12px}.inventory-page .scanner-section .scanner-form .input-row--walls{grid-template-columns:1fr 110px 70px 45px}.inventory-page .scanner-section .scanner-form .scan-wall-select{padding:12px 6px;font-size:11px;min-width:0;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.inventory-page .scanner-section .scanner-form .scan-input{padding:12px 10px;font-size:15px;font-family:monospace;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:center}.inventory-page .scanner-section .scanner-form .scan-input:focus{outline:none}.inventory-page .scanner-section .scanner-form .scan-input:disabled{opacity:.6}.inventory-page .scanner-section .scanner-form .location-input{padding:12px 8px;font-size:11px;font-family:monospace;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:center}.inventory-page .scanner-section .scanner-form .location-input:focus{outline:none}.inventory-page .scanner-section .scanner-form .submit-btn{padding:12px 8px;font-size:16px;font-weight:600}.inventory-page .scanner-section .scanner-form .scan-feedback{padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);font-size:13px;font-weight:500;text-align:center}.inventory-page .scanner-section .scanner-form .scan-feedback.error{border-color:var(--color-error-strong);color:var(--color-error-strong)}.inventory-page .scanner-section .scanner-form .scan-feedback.success{color:var(--color-text-primary)}.inventory-page .scanner-section .replace-confirm{margin-top:12px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);padding:10px 14px;display:flex;align-items:center;gap:12px}.inventory-page .scanner-section .replace-confirm .replace-preview{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.inventory-page .scanner-section .replace-confirm .replace-preview .replace-from,.inventory-page .scanner-section .replace-confirm .replace-preview .replace-to{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-swatch{width:28px;height:28px;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-info{display:flex;flex-direction:column;min-width:0}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-info .preview-label{font-size:9px;font-weight:700;color:var(--color-text-muted)}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-info .preview-code{font-size:11px;font-weight:500;color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-page .scanner-section .replace-confirm .replace-preview .replace-arrow{font-size:18px;color:var(--color-text-muted);flex-shrink:0}.inventory-page .scanner-section .replace-confirm .replace-actions{display:flex;gap:4px;flex-shrink:0}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn .icon,.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn svg,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn .icon,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn svg{width:16px;height:16px}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:before,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:hover:not(:disabled),.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:disabled,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:before,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:hover:not(:disabled){background:var(--color-success-bg);color:var(--color-success)}.inventory-page .summary-section .summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.inventory-page .summary-section .summary-header h2{margin:0}.inventory-page .summary-section .summary-header .summary-actions{display:flex;gap:6px}.inventory-page .summary-section .summary-header .grid-toggle-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .summary-section .summary-cards{display:flex;gap:10px;flex-wrap:wrap}.inventory-page .summary-section .summary-cards .summary-card{flex:1;min-width:80px;padding:12px 10px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);text-align:center}.inventory-page .summary-section .summary-cards .summary-card .stat-value{display:block;font-size:24px;font-weight:700;color:var(--color-text-primary)}.inventory-page .summary-section .summary-cards .summary-card .stat-label{display:block;font-size:9px;color:var(--color-text-muted);margin-top:2px}.inventory-page .summary-section .summary-cards--weights{margin-top:8px}.inventory-page .summary-section .summary-cards--weights .weight-card{border:1px solid var(--color-border-medium);background:var(--color-bg-hover)}.inventory-page .summary-section .summary-cards--weights .weight-card .stat-value{font-size:18px}.inventory-page .grid-section{overflow:visible}.inventory-page .grid-section .grid-container{display:block;overflow:visible}.inventory-page .grid-section .wall-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.inventory-page .grid-section .wall-tab{min-height:44px;padding:0 16px;font-family:inherit;font-size:12px;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.inventory-page .grid-section .wall-tab.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .grid-section h4{margin:12px 0 6px;font-size:12px;font-weight:600}.inventory-page .grid-section .grid-header,.inventory-page .grid-section .grid-footer{display:flex;flex-wrap:nowrap;gap:1px}.inventory-page .grid-section .grid-header .grid-corner,.inventory-page .grid-section .grid-footer .grid-corner{width:20px;flex-shrink:0}.inventory-page .grid-section .grid-header .grid-col-label,.inventory-page .grid-section .grid-footer .grid-col-label{flex:1;height:16px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:var(--color-text-disabled);box-sizing:border-box}.inventory-page .grid-section .grid-header{margin-bottom:1px}.inventory-page .grid-section .grid-footer{margin-top:1px}.inventory-page .grid-section .grid-body .grid-row{display:flex;flex-wrap:nowrap;gap:1px;margin-bottom:1px}.inventory-page .grid-section .grid-body .grid-row-label{width:20px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:var(--color-text-disabled);flex-shrink:0;margin-left:1px}.inventory-page .grid-section .grid-body .grid-cell{flex:1;aspect-ratio:1;cursor:pointer;box-sizing:border-box;border:1px solid transparent;transition:transform .12s,border-color .12s,box-shadow .12s,opacity .12s}.inventory-page .grid-section .grid-body .grid-cell.occupied{cursor:grab}.inventory-page .grid-section .grid-body .grid-cell.occupied:active{cursor:grabbing}.inventory-page .grid-section .grid-body .grid-cell:hover{transform:scale(1.2);z-index:1;border-color:var(--color-border-strong);box-shadow:0 2px 8px #00000040}.inventory-page .grid-section .grid-body .grid-cell.selected{border-color:var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000;transform:scale(1.15);z-index:2}.inventory-page .grid-section .grid-body .grid-cell:not(.occupied){background:var(--color-bg-panel)}.inventory-page .grid-section .grid-body .grid-cell.grid-dragging{opacity:.3;transform:scale(.9)}.inventory-page .grid-section .grid-body .grid-cell.grid-drag-target{border:2px solid var(--color-info);box-shadow:0 0 0 2px #1976d24d;transform:scale(1.15);z-index:3}.inventory-page .grid-section .grid-body .grid-cell[data-qty]{position:relative;display:flex;align-items:center;justify-content:center}.inventory-page .grid-section .grid-body .grid-cell[data-qty]:after{content:attr(data-qty);font-size:7px;font-weight:700;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.6);pointer-events:none}.inventory-page .grid-section .grid-body .grid-cell.low-stock{position:relative}.inventory-page .grid-section .grid-body .grid-cell.low-stock:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent var(--color-danger) transparent transparent}.inventory-page .cell-popup{position:fixed;transform:translate(-50%) translateY(6px);background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:10px 12px;z-index:100;display:flex;gap:10px;box-shadow:var(--shadow-popup);min-width:170px}.inventory-page .cell-popup .popup-swatch{width:40px;height:40px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.inventory-page .cell-popup .popup-info{display:flex;flex-direction:column;gap:2px}.inventory-page .cell-popup .popup-info .popup-name{font-size:12px;font-weight:600;color:var(--color-text-primary)}.inventory-page .cell-popup .popup-info .popup-code{font-size:11px;color:var(--color-text-muted);font-family:monospace}.inventory-page .cell-popup .popup-info .popup-specs{font-size:10px;color:var(--color-text-muted);display:flex;gap:4px;align-items:center}.inventory-page .cell-popup .popup-info .popup-specs .popup-divider{color:var(--color-border-medium)}.inventory-page .cell-popup .popup-info .popup-stock{font-size:10px;color:var(--color-text-muted);display:flex;gap:8px;margin-top:2px}.inventory-page .cell-popup .popup-info .popup-stock .low{color:var(--color-danger);font-weight:600}.inventory-page .cell-popup .popup-info .popup-stock .popup-used{color:var(--color-text-muted)}.inventory-page .cell-popup .popup-info .popup-loc{font-size:10px;color:var(--color-text-disabled);font-weight:600;margin-top:1px}.inventory-page .cell-popup .popup-info .popup-actions{display:flex;gap:6px;margin-top:4px}.inventory-page .inventory-list-section .list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.inventory-page .inventory-list-section .list-header .list-title{display:flex;align-items:center;gap:10px;flex-shrink:0}.inventory-page .inventory-list-section .list-header h2{margin:0;flex-shrink:0}.inventory-page .inventory-list-section .list-header .filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;border:1px solid var(--color-border-strong);background:var(--color-bg-inverse);color:var(--color-text-inverse);cursor:pointer;white-space:nowrap}.inventory-page .inventory-list-section .list-header .filter-chip .icon{width:9px;height:9px}.inventory-page .inventory-list-section .list-header .filter-chip:hover{opacity:.85}.inventory-page .inventory-list-section .list-header .search-input{flex:1;max-width:250px;padding:8px 12px;font-size:13px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.inventory-page .inventory-list-section .list-header .search-input:focus{outline:none}.inventory-page .inventory-list-section .list-header .search-input::placeholder{color:var(--color-text-muted)}.inventory-page .inventory-list-section .list-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;align-items:center}.inventory-page .inventory-list-section .list-controls .sort-controls,.inventory-page .inventory-list-section .list-controls .filter-controls{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.inventory-page .inventory-list-section .list-controls .control-label{font-size:9px;color:var(--color-text-muted);font-weight:600;margin-right:2px}.inventory-page .inventory-list-section .list-controls .sort-btn{position:relative;padding:3px 10px;min-height:28px;font-size:var(--text-sm);font-weight:var(--weight-anchor);font-family:inherit;cursor:pointer;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.inventory-page .inventory-list-section .list-controls .sort-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.inventory-page .inventory-list-section .list-controls .sort-btn:active{filter:brightness(.94)}.inventory-page .inventory-list-section .list-controls .sort-btn.active{background:var(--color-bg-selected);border-color:var(--color-accent);color:var(--color-accent-ink)}.inventory-page .inventory-list-section .list-controls .sort-btn.active:hover{background:var(--color-bg-selected);border-color:var(--color-accent-hover)}@media(max-width:768px){.inventory-page .inventory-list-section .list-controls .sort-btn:before{content:"";position:absolute;top:-8px;bottom:-8px;left:0;right:0}}.inventory-page .inventory-list-section .list-controls .sort-btn .sort-arrow,.inventory-page .inventory-list-section .data-table thead th.sortable .sort-arrow{display:inline-block;width:10px;height:10px;margin-left:4px;vertical-align:middle;position:relative;top:-1px}.inventory-page .inventory-list-section .bulk-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--color-border-strong);background:var(--color-bg-panel)}.inventory-page .inventory-list-section .bulk-action-bar .bulk-count{font-size:11px;font-weight:700;color:var(--color-text-strong);margin-right:4px}.inventory-page .inventory-list-section .bulk-action-bar .bulk-input-group{display:inline-flex;align-items:center;gap:4px}.inventory-page .inventory-list-section .bulk-action-bar .bulk-value-input{width:48px;text-align:center;font-size:12px;padding:4px 6px;border:1px solid var(--color-border-strong);font-family:monospace;outline:none}.inventory-page .inventory-list-section .cell-select,.inventory-page .inventory-list-section .cell-select-header{width:24px;text-align:center}.inventory-page .inventory-list-section .loading,.inventory-page .inventory-list-section .error,.inventory-page .inventory-list-section .empty-state{padding:30px;text-align:center;color:var(--color-text-muted);font-size:12px}.inventory-page .inventory-list-section .cell-location{min-width:90px}.inventory-page .inventory-list-section .cell-location .loc-tags{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px}.inventory-page .inventory-list-section .cell-location .loc-tag{font-family:var(--font-mono);font-size:var(--text-xs)}.inventory-page .inventory-list-section .error{color:var(--color-error-strong);border:1px solid var(--color-error-strong)}.inventory-page .inventory-list-section .inventory-row.has-empties{border-left:3px solid var(--color-warning)}.inventory-page .inventory-list-section .qty-cell,.inventory-page .inventory-list-section .par-cell{display:flex;align-items:center;gap:2px}.inventory-page .inventory-list-section .qty-step-btn{width:22px;height:22px;padding:0;border:1px solid var(--color-border-medium, #ccc);background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #000);font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.12s ease;opacity:.3;-webkit-user-select:none;user-select:none;font-family:monospace}.inventory-page .inventory-list-section .qty-step-btn:hover{opacity:1;border-color:var(--color-border-strong, #000)}.inventory-page .inventory-list-section .qty-step-btn:active{transform:scale(.9)}.inventory-page .inventory-list-section .qty-step-btn:disabled{opacity:.1;cursor:not-allowed}.inventory-page .inventory-list-section .qty-value{min-width:24px;text-align:center;font-weight:600;font-size:12px;cursor:pointer;padding:2px 4px;border:1px solid transparent;transition:.12s ease;font-family:monospace}.inventory-page .inventory-list-section .qty-value:hover{border-color:var(--color-border-light, #ddd);background:var(--color-bg-hover, #f5f5f5)}.inventory-page .inventory-list-section .par-bar{position:relative;width:56px;height:10px;background:var(--color-bg-tag);border:1px solid var(--color-border-light, #ddd);border-radius:2px;overflow:hidden;margin:0 6px;padding:0;cursor:default;flex-shrink:0}.inventory-page .inventory-list-section .par-bar:not(:disabled){cursor:pointer}.inventory-page .inventory-list-section .par-bar:not(:disabled):hover{border-color:var(--color-border-strong, #999)}.inventory-page .inventory-list-section .par-bar--low .par-bar__fill{background:var(--color-danger, #d04a3a)}.inventory-page .inventory-list-section .par-bar--warn .par-bar__fill{background:var(--color-warning, #d4a017)}.inventory-page .inventory-list-section .par-bar--ok .par-bar__fill{background:var(--color-success, #2e8b57)}.inventory-page .inventory-list-section .par-bar--over .par-bar__fill{background:var(--color-info, #4a90d4)}.inventory-page .inventory-list-section .par-bar__fill{display:block;height:100%;transition:width .15s ease,background .15s ease}.inventory-page .inventory-list-section .par-value{min-width:18px;text-align:center;font-weight:500;font-size:12px;cursor:pointer;padding:2px 4px;border:1px solid transparent;transition:.12s ease;font-family:monospace;opacity:.6}.inventory-page .inventory-list-section .par-value:hover{opacity:1;border-color:var(--color-border-light, #ddd);background:var(--color-bg-hover, #f5f5f5)}.inventory-page .inventory-list-section .qty-input{width:36px;text-align:center;font-weight:600;font-size:12px;padding:2px 4px;border:1px solid var(--color-border-strong, #000);font-family:monospace;outline:none}.inventory-page .inventory-list-section .empty-badge{display:inline-flex;align-items:center;font-weight:700;color:var(--color-on-danger);background:var(--color-danger-bg-hover);border:none;cursor:pointer;white-space:nowrap;font-family:monospace;transition:.1s ease}.inventory-page .inventory-list-section .empty-badge:hover{opacity:.8}.inventory-page .inventory-list-section .reset-btn{padding:4px;border:1px solid var(--color-success);background:var(--color-bg-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.inventory-page .inventory-list-section .reset-btn .icon{width:14px;height:14px;filter:invert(42%) sepia(93%) saturate(352%) hue-rotate(82deg) brightness(97%) contrast(89%)}.inventory-page .inventory-list-section .reset-btn:hover{background:var(--color-success)}.inventory-page .inventory-list-section .reset-btn:hover .icon{filter:brightness(0) invert(1)}.inventory-page .inventory-list-section .confirm-delete-inline{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600}.inventory-page .inventory-list-section .confirm-delete-inline span{color:var(--color-danger)}.inventory-page .inventory-list-section .confirm-delete-inline button{padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.inventory-page .inventory-list-section .confirm-delete-inline button.confirm-yes{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.inventory-page .inventory-list-section .restock-filter.active{background:var(--color-danger)!important;border-color:var(--color-danger)!important}.inventory-page .inventory-list-section .empty-detail-row{background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-subtle)}.inventory-page .inventory-list-section .empty-detail-row td{padding:0!important}.inventory-page .inventory-list-section .empty-detail{padding:10px 16px 14px 60px;border-left:3px solid var(--color-danger);margin-left:8px}.inventory-page .inventory-list-section .empty-detail .no-logs{font-size:11px;color:var(--color-text-muted);margin:0;padding:4px 0}.inventory-page .inventory-list-section .empty-detail .detail-timeline{display:flex;flex-direction:column;gap:6px}.inventory-page .inventory-list-section .empty-detail .detail-day{display:flex;align-items:baseline;gap:12px}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-date{font-size:10px;font-weight:600;color:var(--color-text-muted);min-width:100px;flex-shrink:0}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-events{display:flex;flex-wrap:wrap;gap:6px}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event{font-size:11px;font-family:monospace;font-weight:600;padding:2px 8px;border:1px solid}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.emptied,.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.removed{color:var(--color-danger);border-color:#ef9a9a;background:#ffebee}.dark-mode .inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.emptied,.dark-mode .inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.removed{border-color:#7a3030;background:var(--color-danger-bg)}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.refilled,.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.added{color:#1565c0;border-color:#90caf9;background:#e3f2fd}.dark-mode .inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.refilled,.dark-mode .inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.added{color:var(--color-info);border-color:#2c5a8a;background:var(--color-info-bg)}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.reset{color:var(--color-success);border-color:#a5d6a7;background:#e8f5e9}.dark-mode .inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.reset{border-color:#3a6b3a;background:var(--color-success-bg)}.inventory-page .stock-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600}.inventory-page .stock-status .stock-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.inventory-page .stock-status--in{color:var(--color-success)}.inventory-page .stock-status--out{color:var(--color-danger)}.inventory-page .stock-status--in .stock-dot{background:var(--color-success)}.inventory-page .stock-status--out .stock-dot{background:var(--color-danger)}.inventory-page .has-empty{color:var(--color-danger)}.inventory-page .qty-total{font-size:10px;color:var(--color-text-muted)}.inventory-page .backup-section{margin-top:20px;border:1px solid var(--color-border-light);padding:16px}.inventory-page .backup-section .backup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.inventory-page .backup-section .backup-header h2{margin:0;font-size:14px}.inventory-page .backup-section .backup-loading,.inventory-page .backup-section .backup-empty{font-size:12px;color:var(--color-text-muted)}.inventory-page .backup-section .backup-list{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;max-height:220px;overflow-y:auto}.inventory-page .backup-section .backup-item .backup-item__row{display:flex;align-items:center;gap:6px}.inventory-page .backup-section .backup-item .backup-item__btn{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;padding:8px 12px;border:1px solid var(--color-border-light);background:var(--color-bg-primary);cursor:pointer;font-size:12px;color:var(--color-text-primary);transition:.12s ease}.inventory-page .backup-section .backup-item .backup-item__btn:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.inventory-page .backup-section .backup-item.active .backup-item__btn{background:var(--color-bg-inverse);color:var(--color-text-inverse);border-color:var(--color-bg-inverse)}.inventory-page .backup-section .backup-item.active .backup-item__btn .backup-item__size{color:var(--color-text-inverse);opacity:.6}.inventory-page .backup-section .backup-item .backup-item__size{font-size:10px;color:var(--color-text-muted);flex-shrink:0;margin-left:12px}.inventory-page .backup-section .backup-item .btn--outline{flex-shrink:0}.inventory-page .backup-section .backup-item .backup-item__confirm{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-danger, #d32f2f);background:var(--color-warning-bg);font-size:12px}.inventory-page .backup-section .backup-view h3{font-size:12px;margin:0 0 10px;color:var(--color-text-muted)}.inventory-page .backup-section .backup-view .grid-cell.backup-cell{cursor:default}.inventory-page .backup-section .backup-view .grid-cell.backup-cell.has-color,.inventory-page .backup-section .backup-view .grid-cell.backup-cell.occupied{cursor:pointer}.inventory-page .backup-section .backup-flat{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.inventory-page .backup-section .backup-flat .backup-flat__item{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--color-border-light);font-size:11px}.inventory-page .backup-section .backup-flat .backup-flat__swatch{width:16px;height:16px;flex-shrink:0;border:1px solid var(--color-border-medium)}.inventory-page .backup-section .backup-flat .backup-flat__code{font-family:monospace;font-weight:500}.inventory-page .backup-section .backup-flat .backup-flat__name{color:var(--color-text-secondary)}.inventory-page .backup-section .backup-flat .backup-flat__qty{color:var(--color-text-muted);font-size:10px;margin-left:auto}@media(max-width:640px){.inventory-page{padding:14px;margin-top:10px}.inventory-page .scanner-section .scanner-form .input-row{flex-direction:column}.inventory-page .scanner-section .scanner-form .scan-input,.inventory-page .scanner-section .scanner-form .location-input{width:100%}.inventory-page .grid-section .grid-container{max-width:100%;overflow-x:auto}.inventory-page .inventory-list-section .data-table thead,.inventory-page .inventory-list-section .data-table .cell-weight,.inventory-page .inventory-list-section .data-table .cell-length,.inventory-page .inventory-list-section .data-table .cell-spoolcode,.inventory-page .inventory-list-section .data-table .cell-location{display:none}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:10px 8px 10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-primary);font-size:var(--text-md);line-height:var(--leading-md);max-width:min(520px,100vw - 24px);animation:toast-in .25s ease forwards}.toast--exit{animation:toast-out .25s ease forwards}.toast--error{border-left-color:var(--color-danger)}.toast--success{border-left-color:var(--color-success)}.toast--info{border-left-color:var(--color-info)}.toast__message{flex:1;min-width:0;overflow-wrap:anywhere}.toast__close{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.toast__close .icon,.toast__close svg{width:16px;height:16px}.toast__close:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.toast__close:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.toast__close:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.toast__close:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.toast__close{font-size:18px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@media(prefers-reduced-motion:reduce){.toast{animation-name:toast-fade-in;animation-duration:.12s}.toast--exit{animation-name:toast-fade-out}.toast__close{transition-duration:0ms}@keyframes toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}}.loading-text{font-size:13px;color:var(--color-text-muted);padding:20px 0}.products-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.products-toolbar .search-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.products-toolbar .search-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.products-toolbar .search-input::placeholder{color:var(--color-text-muted);opacity:1}.products-toolbar .search-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.products-toolbar .search-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.products-toolbar .search-input{min-height:44px!important;font-size:16px!important}}.products-toolbar .search-input{flex:1 1 220px;min-width:160px;font-size:13px;font-family:inherit}.products-toolbar .filter-row{margin-bottom:0}.products-toolbar .tag-filter{display:flex;align-items:center;gap:6px;font-size:11px}.products-toolbar .tag-filter label{color:var(--color-text-secondary)}.products-toolbar .tag-filter select{padding:5px 8px;font-size:12px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.product-card{position:relative;border:1px solid var(--color-border-light);background:var(--color-bg-primary);overflow:hidden;cursor:pointer;transition:border-color .15s,opacity .15s}.product-card:hover{border-color:var(--color-border-medium)}.product-card.dragging{opacity:.55;border-color:var(--color-border-strong)}.product-card__handle{position:absolute;top:0;left:0;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:grab;touch-action:none}.product-card__handle:active{cursor:grabbing}.product-card__handle:disabled{cursor:not-allowed}.product-card__handle:disabled .product-card__handle-glyph{opacity:.35}.product-card__handle-glyph{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;background:#00000073;color:#fff}.product-card__delete{position:absolute;top:4px;right:4px;z-index:2;background:#00000073;border-color:transparent;opacity:.7}.product-card__delete:hover{opacity:1}.product-card__image{position:relative;width:100%;height:130px;background:var(--color-bg-photo-mat);display:flex;align-items:center;justify-content:center}.product-card__image img{max-width:100%;max-height:100%;object-fit:contain}.product-card__placeholder{font-size:11px;color:var(--color-text-muted)}.product-card__info{padding:8px 10px;border-top:1px solid var(--color-border-subtle)}.product-card__name{display:block;font-size:12px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:2px}.product-card__category,.product-card__variant-count{font-size:10px;color:var(--color-text-muted)}.product-card__swatches{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.product-card__swatch{width:16px;height:16px;border:1px solid var(--color-swatch-border);flex-shrink:0;display:flex;overflow:hidden;border-radius:50%;background:var(--color-bg-panel)}.product-card__swatch-half{flex:1}.product-card__swatch-more{font-size:9px;color:var(--color-text-muted)}.product-card__uncal{display:block;margin-top:4px;font-size:9px;font-weight:600;color:var(--color-warning)}.search-select{position:relative;display:inline-block;min-width:0;width:100%}.search-select__input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.search-select__input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.search-select__input::placeholder{color:var(--color-text-muted);opacity:1}.search-select__input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.search-select__input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.search-select__input{min-height:44px!important;font-size:16px!important}}.search-select__input{padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;width:100%;text-overflow:ellipsis}.search-select__clear{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.search-select__clear .icon,.search-select__clear svg{width:16px;height:16px}.search-select__clear:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.search-select__clear:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.search-select__clear:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.search-select__clear:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.search-select__clear{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:24px;height:24px;font-size:16px}.search-select--disabled .search-select__input{cursor:not-allowed}.search-select__popover{overflow:hidden}.search-select__list{margin:0;padding:4px 0;list-style:none;max-height:240px;overflow-y:auto}.search-select__option{min-height:36px;box-sizing:border-box;display:flex;align-items:center;padding:0 12px;cursor:pointer;font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-body)}.search-select__option mark{background:var(--color-bg-selected);color:var(--color-accent-ink);font-weight:var(--weight-heading)}.search-select__option--active{background:var(--color-bg-hover);color:var(--color-text-primary)}.search-select__option[aria-selected=true]{background:var(--color-bg-selected);color:var(--color-text-primary);font-weight:var(--weight-heading)}.search-select__option[aria-selected=true].search-select__option--active{background:var(--color-bg-selected)}@media(max-width:768px){.search-select__option{min-height:44px;font-size:16px}}.search-select__note{padding:8px 12px;font-size:var(--text-md);color:var(--color-text-muted)}.search-select__note--error{color:var(--color-text-primary)}.mockup-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.mockup-modal .mockup-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);cursor:pointer}.mockup-modal .mockup-content{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:90vw;max-width:1200px;height:90vh;max-height:900px}@media(min-width:1440px){.mockup-modal .mockup-content{max-width:1500px;max-height:980px}}@media(min-width:1920px){.mockup-modal .mockup-content{max-width:1800px;max-height:1080px}}.mockup-modal>.auth-overlay{z-index:1002}.mockup-modal .mockup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-strong)}.mockup-modal .mockup-header .mockup-title-cluster{display:flex;flex-direction:column}.mockup-modal .mockup-header h3{margin:0;font-size:14px;font-weight:600}.mockup-modal .mockup-header .header-help{margin:0;font-size:11px;color:var(--color-text-muted);position:absolute;left:50%;transform:translate(-50%)}.mockup-modal .garment-picker-screen{flex:1;overflow-y:auto;padding:24px}.mockup-modal .garment-picker-screen .garment-picker-toolbar{display:flex;margin-bottom:20px}.mockup-modal .garment-picker-screen .garment-categories{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.mockup-modal .garment-picker-screen .garment-categories .category-tab{padding:8px 16px;font-size:13px;font-weight:600;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:.15s ease}.mockup-modal .garment-picker-screen .garment-categories .category-tab:hover{background:var(--color-bg-hover)}.mockup-modal .garment-picker-screen .garment-categories .category-tab.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .garment-picker-screen .garment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.mockup-modal .garment-picker-screen .garment-grid .garment-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid var(--color-border-medium);background:var(--color-bg-primary);cursor:pointer;transition:.15s ease}.mockup-modal .garment-picker-screen .garment-grid .garment-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.mockup-modal .garment-picker-screen .garment-grid .garment-card img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--color-bg-panel)}.mockup-modal .garment-picker-screen .garment-grid .garment-card span{font-size:12px;font-weight:500;text-align:center}.mockup-modal .calibration-banner{padding:8px 12px;font-size:12px;color:var(--color-warning);background:var(--color-warning-bg);border-bottom:1px solid var(--color-border-light)}.mockup-modal .side-switcher{display:flex;gap:8px;padding:8px 12px;overflow-x:auto;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light)}.mockup-modal .side-switcher .side-tab{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 16px;font-size:13px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-strong);cursor:pointer;transition:.15s ease}.mockup-modal .side-switcher .side-tab:hover{background:var(--color-bg-hover)}.mockup-modal .side-switcher .side-tab.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .side-switcher .side-tab.active .side-tab-count{color:var(--color-text-primary);background:var(--color-text-inverse)}.mockup-modal .side-switcher .side-tab-count{min-width:18px;padding:0 4px;font-size:11px;line-height:18px;text-align:center;color:var(--color-text-inverse);background:var(--color-text-secondary)}.mockup-modal .color-swatch-row{display:flex;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light)}.mockup-modal .color-swatch-row--dangling{padding:8px 12px}.mockup-modal .color-swatch-hint{font-size:12px;color:var(--color-text-secondary)}.mockup-modal .color-swatch-btn{display:inline-flex;flex:0 0 auto;padding:2px;background:none;border:1px solid var(--color-border-strong);cursor:pointer;transition:.15s ease}.mockup-modal .color-swatch-btn:hover{border-color:var(--color-text-primary)}.mockup-modal .color-swatch-btn.active{cursor:default;border-color:var(--color-text-primary);border-width:2px;padding:1px}.mockup-modal .color-swatch-btn:disabled{cursor:default;opacity:.5}.mockup-modal .variant-swatch{width:22px;height:22px;border:1px solid var(--color-swatch-border);display:flex;overflow:hidden;flex-shrink:0}.mockup-modal .variant-swatch__half{flex:1}.mockup-modal .mockup-toolbar{display:flex;align-items:center;padding:8px 12px;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light);gap:6px;flex-wrap:wrap}.mockup-modal .mockup-toolbar .toolbar-left{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mockup-modal .mockup-toolbar .toolbar-right{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.mockup-modal .mockup-toolbar .toolbar-sep{width:1px;height:24px;background:var(--color-border-light);margin:0 4px}.mockup-modal .mockup-toolbar .toolbar-manipulation{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mockup-modal .mockup-toolbar .control-group{display:flex;align-items:center;gap:4px}.mockup-modal .mockup-toolbar .control-group label{font-weight:500;font-size:11px;white-space:nowrap;color:var(--color-text-muted)}.mockup-modal .mockup-toolbar .control-group input[type=range]{width:70px}.mockup-modal .mockup-toolbar .control-group .value-display{font-weight:600;font-size:11px;min-width:30px}.mockup-modal .mockup-toolbar .snap-btn{padding:2px 6px!important;font-size:10px!important;min-width:unset}.mockup-modal .tool-btn{padding:6px 12px;font-size:11px;cursor:pointer;border:1px solid var(--color-border-medium);border-radius:0;background:var(--color-bg-primary);color:var(--color-text-body);transition:.15s ease}.mockup-modal .tool-btn:hover{transform:translate(2px,-2px);box-shadow:-4px 4px 0 var(--color-border-strong)}.mockup-modal .tool-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.mockup-modal .tool-btn.active,.mockup-modal .tool-btn.primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .tool-btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.mockup-modal .tool-btn{padding:4px 10px;font-size:11px;font-weight:500;border-color:var(--color-border-strong);display:flex;align-items:center;justify-content:center;gap:4px;color:var(--color-text-primary)}.mockup-modal .tool-btn.primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .tool-btn.primary:hover:not(:disabled){background:var(--color-text-body)}.mockup-modal .design-picker-panel{display:flex;gap:8px;padding:8px 16px;background:var(--color-bg-tag);border-bottom:1px solid var(--color-border-light);overflow-x:auto;max-height:110px}.mockup-modal .design-picker-panel .design-pick-card{flex:0 0 80px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:1px solid var(--color-border-light);background:var(--color-bg-primary);cursor:pointer;font-size:10px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mockup-modal .design-picker-panel .design-pick-card:hover{border-color:var(--color-border-medium)}.mockup-modal .design-picker-panel .design-pick-card img{width:60px;height:60px;object-fit:contain}.mockup-modal .design-picker-panel .design-pick-card--upload{border-style:dashed;justify-content:center}.mockup-modal .design-picker-panel .design-pick-card .design-pick-plus{font-size:22px;line-height:1;color:var(--color-text-muted)}.mockup-modal .design-picker-panel .design-pick-card .design-pick-placeholder{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--color-text-muted);background:var(--color-bg-panel)}.mockup-modal .scale-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--color-bg-tag);border-bottom:1px solid var(--color-border-light)}.mockup-modal .scale-bar .scale-bar-label{font-size:11px;font-weight:500;white-space:nowrap}.mockup-modal .scale-bar .scale-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.mockup-modal .scale-bar .scale-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.mockup-modal .scale-bar .scale-input::placeholder{color:var(--color-text-muted);opacity:1}.mockup-modal .scale-bar .scale-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.mockup-modal .scale-bar .scale-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.mockup-modal .scale-bar .scale-input{min-height:44px!important;font-size:16px!important}}.mockup-modal .scale-bar .scale-input{width:80px}.mockup-modal .scale-bar .unit-toggle{display:flex;border:1px solid var(--color-border-strong);overflow:hidden}.mockup-modal .scale-bar .unit-toggle button{padding:4px 10px;font-size:12px;font-weight:600;border:none;background:var(--color-bg-primary);color:var(--color-text-muted);cursor:pointer;transition:.15s ease}.mockup-modal .scale-bar .unit-toggle button:not(:last-child){border-right:1px solid var(--color-border-strong)}.mockup-modal .scale-bar .unit-toggle button.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .scale-bar .unit-toggle button:hover:not(.active){background:var(--color-bg-hover)}.mockup-modal .scale-group{display:flex;gap:4px;align-items:center}.mockup-modal .tool-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .tool-btn.active:hover{background:var(--color-text-body)}.mockup-modal .tool-btn.has-scale:not(.active){background:var(--color-bg-tag);border-color:var(--color-border-strong)}.mockup-modal .mockup-editor-body{flex:1;display:flex;min-height:0;overflow:hidden}.mockup-modal .canvas-container{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel);touch-action:none;position:relative;-webkit-user-select:none;user-select:none;cursor:crosshair}.mockup-modal .canvas-container.bg-white{background:#fff}.mockup-modal .canvas-container.bg-white .checkerboard{display:none}.mockup-modal .canvas-container.bg-black{background:#000}.mockup-modal .canvas-container.bg-black .checkerboard{display:none}.mockup-modal .canvas-container.bg-checker{background:var(--color-bg-panel)}.mockup-modal .canvas-container.cursor-grab{cursor:grab}.mockup-modal .canvas-container.cursor-grabbing{cursor:grabbing}.mockup-modal .canvas-container.scale-mode{cursor:crosshair!important}.mockup-modal .canvas-container .checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;z-index:0}.mockup-modal .canvas-container .ruler-top{position:absolute;top:0;left:0;width:100%;height:20px;z-index:20;pointer-events:none}.mockup-modal .canvas-container .ruler-left{position:absolute;top:0;left:0;width:20px;height:100%;z-index:20;pointer-events:none}.mockup-modal .canvas-container .ruler-corner{position:absolute;top:0;left:0;width:20px;height:20px;background:var(--color-bg-hover);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);z-index:21;pointer-events:none;display:flex;align-items:center;justify-content:center;font:6px monospace;color:var(--color-text-muted)}.mockup-modal .canvas-container .mockup-canvas{display:block;background:transparent;transform-origin:center center;transition:none;position:relative;z-index:1}.mockup-modal .canvas-container .design-overlay{position:absolute;pointer-events:none;z-index:10}.mockup-modal .canvas-container .design-bounds{position:absolute;border:1px dashed rgba(0,120,255,.7);pointer-events:none}.mockup-modal .canvas-container .design-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #0078ff;pointer-events:auto;z-index:11;transform:translate(-50%,-50%)}.mockup-modal .canvas-container .design-handle.n,.mockup-modal .canvas-container .design-handle.s{cursor:ns-resize}.mockup-modal .canvas-container .design-handle.e,.mockup-modal .canvas-container .design-handle.w{cursor:ew-resize}.mockup-modal .canvas-container .artwork-corner-resize-handle{position:absolute;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:nwse-resize;pointer-events:auto;z-index:12;transform:translate(-50%,-50%)}.mockup-modal .canvas-container .artwork-corner-resize-dot{width:10px;height:10px;background:#fff;border:2px solid #0078ff;pointer-events:none}.mockup-modal .canvas-container .artwork-corner-icon{position:absolute;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;pointer-events:auto;z-index:12;transform:translate(-50%,-50%)}.mockup-modal .canvas-container .artwork-corner-icon.corner-ne{cursor:grab}.mockup-modal .canvas-container .artwork-corner-icon.corner-ne:active{cursor:grabbing}.mockup-modal .canvas-container .artwork-corner-icon:hover .artwork-corner-icon-circle{border-color:#0078ff;background:#f0f7ff}.mockup-modal .canvas-container .artwork-corner-icon-circle{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid rgba(0,120,255,.7);border-radius:50%;box-shadow:0 1px 4px #0003;transition:border-color .15s ease,background .15s ease;pointer-events:none}.mockup-modal .canvas-container .artwork-corner-icon-glyph{width:13px;height:13px;color:#0078ff;pointer-events:none}.mockup-modal .canvas-container .bg-switcher{position:absolute;bottom:10px;right:10px;display:flex;gap:6px;z-index:22}.mockup-modal .canvas-container .bg-switcher .bg-swatch{width:28px;height:28px;border:2px solid var(--color-text-disabled);cursor:pointer;padding:0;transition:.15s ease;box-shadow:0 1px 4px #0003}.mockup-modal .canvas-container .bg-switcher .bg-swatch.active{border:2px solid var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.mockup-modal .canvas-container .bg-switcher .bg-swatch:hover:not(.active){border-color:var(--color-text-secondary)}.mockup-modal .canvas-container .bg-switcher .bg-swatch.white{background:#fff}.mockup-modal .canvas-container .bg-switcher .bg-swatch.black{background:#000}.mockup-modal .canvas-container .bg-switcher .bg-swatch.checker{background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.15) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.mockup-modal .layers-panel{flex:0 0 200px;width:200px;display:flex;flex-direction:column;background:var(--color-bg-primary);border-left:1px solid var(--color-border-light);overflow:hidden}.mockup-modal .layers-panel .layers-panel-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light)}.mockup-modal .layers-panel .layers-panel-header .layers-count{font-weight:600;color:var(--color-text-muted)}.mockup-modal .layers-panel .layers-panel-header .layers-count.at-cap{color:var(--color-warning)}.mockup-modal .layers-panel .layers-panel-list{flex:1;overflow-y:auto}.mockup-modal .layers-panel .layer-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:.15s ease}.mockup-modal .layers-panel .layer-row:hover{background:var(--color-bg-hover)}.mockup-modal .layers-panel .layer-row.selected{background:var(--color-bg-tag);border-left:3px solid var(--color-accent)}.mockup-modal .layers-panel .layer-row.flash{animation:layer-row-flash .9s ease-out}@keyframes layer-row-flash{0%{background:var(--color-bg-tag)}to{background:transparent}}.mockup-modal .layers-panel .layer-thumb{flex:0 0 32px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel);border:1px solid var(--color-border-light);overflow:hidden}.mockup-modal .layers-panel .layer-thumb img{max-width:100%;max-height:100%;object-fit:contain}.mockup-modal .layers-panel .layer-thumb .layer-thumb-placeholder{font-size:9px;color:var(--color-text-muted)}.mockup-modal .layers-panel .layer-label{flex:1;font-size:12px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mockup-modal .layers-panel .layer-actions{display:flex;gap:2px}.mockup-modal .layers-panel .layer-icon-btn{padding:6px 12px;font-size:11px;cursor:pointer;border:1px solid var(--color-border-medium);border-radius:0;background:var(--color-bg-primary);color:var(--color-text-body);transition:.15s ease}.mockup-modal .layers-panel .layer-icon-btn:hover{transform:translate(2px,-2px);box-shadow:-4px 4px 0 var(--color-border-strong)}.mockup-modal .layers-panel .layer-icon-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.mockup-modal .layers-panel .layer-icon-btn.active,.mockup-modal .layers-panel .layer-icon-btn.primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .layers-panel .layer-icon-btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.mockup-modal .layers-panel .layer-icon-btn{display:flex;align-items:center;justify-content:center;padding:3px 5px;min-width:unset;line-height:1}.mockup-modal .layers-panel .layer-icon-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .layers-panel .layer-icon{width:12px;height:12px;flex-shrink:0}.mockup-modal .layers-panel .layer-remove-btn:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger)}.mockup-modal .mockup-footer{display:flex;gap:10px;padding:8px 12px;border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center}.mockup-modal .mockup-footer .footer-left{display:flex;gap:8px;align-items:center}.mockup-modal .mockup-footer .footer-left .control-group{display:flex;align-items:center;gap:4px}.mockup-modal .mockup-footer .footer-left .control-group label{font-weight:500;font-size:11px;color:var(--color-text-muted)}.mockup-modal .mockup-footer .footer-left .control-group input[type=range]{width:70px}.mockup-modal .mockup-footer .footer-left .control-group .value-display{font-weight:600;font-size:11px;min-width:30px}.mockup-modal .mockup-footer .footer-left .control-group .zoom-step{padding:2px 6px!important;font-size:12px!important;line-height:1;min-width:44px;min-height:44px}.mockup-modal .mockup-footer .footer-left .control-group .zoom-percent-input{width:34px;font-size:11px;font-weight:600;text-align:right;border:1px solid var(--color-border-light);border-radius:3px;padding:1px 2px;background:var(--color-bg-primary);color:var(--color-text-primary)}.mockup-modal .mockup-footer .footer-right{display:flex;gap:10px;align-items:center}.mockup-modal .mockup-footer .save-msg{font-size:12px;font-weight:500;color:var(--color-success);align-self:center}@media(max-width:768px){.mockup-modal .mockup-content{width:100%;height:100%;max-width:100%;max-height:none;min-width:0}.mockup-modal .mockup-editor-body,.mockup-modal .canvas-container{min-width:0}.mockup-modal .mockup-toolbar{flex-direction:column;gap:8px}.mockup-modal .mockup-toolbar .toolbar-left,.mockup-modal .mockup-toolbar .toolbar-right{width:100%;justify-content:space-between}.mockup-modal .mockup-editor-body{flex-direction:column}.mockup-modal .layers-panel{flex:0 0 auto;width:100%;max-height:140px;border-left:none;border-top:1px solid var(--color-border-light)}.mockup-modal .mockup-header{flex-wrap:wrap}.mockup-modal .mockup-header .header-help{position:static;transform:none;flex-basis:100%;order:3;margin-top:4px}.mockup-modal .mockup-header .close-btn{order:2}}.mockups-page .mockups-section{margin-bottom:28px}.mockups-page .mockups-section .section-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.mockups-page .design-picker{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.mockups-page .design-picker::-webkit-scrollbar{height:4px}.mockups-page .design-picker::-webkit-scrollbar-thumb{background:var(--color-border-medium)}.mockups-page .design-picker-empty{font-size:13px;color:var(--color-text-muted);padding:20px 0}.mockups-page .design-card{flex-shrink:0;width:90px;border:1px solid var(--color-border-light);background:var(--color-bg-primary);cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;transition:.15s ease}.mockups-page .design-card:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.mockups-page .design-card .design-card__thumb{width:100%;height:80px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel)}.mockups-page .design-card .design-card__thumb img{width:100%;height:100%;object-fit:contain}.mockups-page .design-card .design-card__placeholder{font-size:11px;font-weight:600;color:var(--color-text-muted)}.mockups-page .design-card--upload{border-style:dashed}.mockups-page .design-card .design-card__plus{font-size:28px;font-weight:300;color:var(--color-text-muted);line-height:1}.mockups-page .design-card .design-card__name{display:block;width:100%;padding:4px 6px;font-size:10px;color:var(--color-text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid var(--color-border-subtle)}.projects-page{width:95vw;max-width:1600px;margin-top:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.projects-page{padding:12px}}.projects-page .projects-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.projects-page .projects-page-header h2{margin:0;font-size:18px;font-weight:600}.projects-page .projects-page-header .create-group{display:flex;gap:8px;align-items:center}.projects-page .projects-page-header .create-group .create-group__input{padding:7px 12px;font-size:13px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:inherit;width:200px;box-sizing:border-box}.projects-page .projects-page-header .create-group .create-group__input:focus{outline:none;box-shadow:-3px 3px 0 var(--color-border-strong)}.projects-page .stage-tabs{display:flex;gap:4px;margin-bottom:16px}.projects-page .stage-tab{padding:6px 14px;font-size:12px;font-family:inherit;background:none;border:1px solid var(--color-border-strong);color:var(--color-text-muted);cursor:pointer}.projects-page .stage-tab:hover{color:var(--color-text-strong)}.projects-page .stage-tab--active{background:var(--color-text-strong);color:var(--color-bg-primary);border-color:var(--color-text-strong)}.projects-page .projects-page-loading,.projects-page .projects-page-empty{padding:60px 20px;text-align:center;font-size:12px;color:var(--color-text-muted)}.projects-page .projects-list-wrap{overflow-x:auto}.projects-page .projects-grid{display:flex;flex-direction:column;min-width:750px}.projects-page .projects-grid .project-card{grid-template-columns:40px minmax(160px,2fr) 110px minmax(120px,1.2fr) minmax(140px,1.4fr) 130px 140px 70px}.projects-page .projects-grid--select-mode .project-card{grid-template-columns:28px 40px minmax(160px,2fr) 110px minmax(120px,1.2fr) minmax(140px,1.4fr) 130px 140px 70px}.projects-page .project-card{display:grid;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-border-light);border-top:none;cursor:pointer;transition:background .1s,border-color .1s;position:relative}.projects-page .project-card:first-child,.projects-page .project-card.project-card--header{border-top:1px solid var(--color-border-light)}.projects-page .project-card:hover,.projects-page .project-card.project-card--selected{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.projects-page .project-card.project-card--header{cursor:default;font-size:11px;font-weight:600;color:var(--color-text-muted)}.projects-page .project-card.project-card--header:hover{background:none;border-color:var(--color-border-light)}.projects-page .project-card .project-card-col{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text-secondary)}.projects-page .project-card .project-card-col--customer,.projects-page .project-card .project-card-col--submission,.projects-page .project-card .project-card-col--due{color:var(--color-text-muted)}.projects-page .project-card .project-card-col--select{display:flex;align-items:center}.projects-page .project-card .project-card-thumb{width:40px;height:40px;flex-shrink:0;border:1px solid var(--color-border-light);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel)}.projects-page .project-card .project-card-thumb img{width:100%;height:100%;object-fit:cover}.projects-page .project-card .project-card-thumb .project-card-icon{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;justify-content:center}.projects-page .project-card .project-card-thumb .project-card-icon svg{color:var(--color-text-muted)}.projects-page .project-card .project-card-col--name{overflow:visible;white-space:normal}.projects-page .project-card .project-card-name-row{display:flex;align-items:center;gap:8px;min-width:0}.projects-page .project-card .project-card-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-page .project-card .project-card-status-pill{flex-shrink:0;color:#fff}.projects-page .project-card .project-card-assigned-pill,.projects-page .project-card .project-card-shared-pill{flex-shrink:0;border:1px solid var(--color-border-medium);color:var(--color-text-muted)}.projects-page .project-card .project-rename-input{font-size:13px;padding:2px 6px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);width:100%;outline:none;font-family:inherit}.projects-page .project-card .project-card-col--actions{overflow:visible}.projects-page .project-card .project-card-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .1s}@media(max-width:768px){.projects-page .project-card .project-card-actions{gap:12px}}.projects-page .project-card:hover .project-card-actions,.projects-page .project-card:focus-within .project-card-actions{opacity:1;pointer-events:auto}@media(hover:none){.projects-page .project-card .project-card-actions{opacity:1;pointer-events:auto}}.projects-page .project-card .project-card-confirm{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:11px;color:var(--color-text-secondary)}.projects-page .project-card .project-card-confirm button{font-size:10px;font-weight:600;font-family:inherit;padding:2px 8px;border:1px solid var(--color-border-light);background:none;cursor:pointer}.projects-page .project-card .project-card-confirm button.danger{color:var(--color-danger);border-color:var(--color-danger)}.projects-page .project-card .project-card-confirm button:hover{border-color:var(--color-border-strong)}.projects-page .unassigned-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--color-border-strong)}.projects-page .unassigned-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;text-align:center;color:var(--color-text-muted)}.empty-state__glyph{color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.empty-state__mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}.empty-state__message{margin:0;font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-muted);max-width:40ch}.empty-state__action{margin-top:4px}.empty-state__link{font-size:var(--text-md);font-weight:var(--weight-anchor);color:var(--color-accent-ink);text-decoration:none}.empty-state__link:hover{text-decoration:underline}.empty-state__link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.imprint-box{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-panel);padding:8px 10px;margin:8px 0}.imprint-box .imprint-box__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.imprint-box .imprint-box__number{font-weight:600;font-size:12px;padding:1px 6px;border:1px solid var(--color-border-strong);border-radius:3px}.imprint-box .imprint-box__ref{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.imprint-box .imprint-box__title{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imprint-box .imprint-box__cost-chip{font-size:12px;color:var(--color-text-secondary)}.imprint-box .imprint-box__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.imprint-box .imprint-box__field{display:flex;flex-direction:column;gap:2px;min-width:0}.imprint-box .imprint-box__field select,.imprint-box .imprint-box__field input,.imprint-box .imprint-box__field textarea{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.imprint-box .imprint-box__field select:is(select),.imprint-box .imprint-box__field input:is(select),.imprint-box .imprint-box__field textarea:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.imprint-box .imprint-box__field select::placeholder,.imprint-box .imprint-box__field input::placeholder,.imprint-box .imprint-box__field textarea::placeholder{color:var(--color-text-muted);opacity:1}.imprint-box .imprint-box__field select:disabled,.imprint-box .imprint-box__field input:disabled,.imprint-box .imprint-box__field textarea:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.imprint-box .imprint-box__field select[aria-invalid=true],.imprint-box .imprint-box__field input[aria-invalid=true],.imprint-box .imprint-box__field textarea[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.imprint-box .imprint-box__field select,.imprint-box .imprint-box__field input,.imprint-box .imprint-box__field textarea{min-height:44px!important;font-size:16px!important}}.imprint-box .imprint-box__field select,.imprint-box .imprint-box__field input,.imprint-box .imprint-box__field textarea{font-size:12px;padding:4px 8px;width:100%;box-sizing:border-box}.imprint-box .imprint-box__field--notes{margin-top:8px}.imprint-box .imprint-box__label{font-size:11px;color:var(--color-text-secondary)}.imprint-box .imprint-box__facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0}.imprint-box .imprint-box__fact{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0}.imprint-box .imprint-box__fact dt,.imprint-box .imprint-box__fact dd{display:block;margin:0}.imprint-box .imprint-box__fact dd{font-size:12px;overflow-wrap:anywhere}.imprint-box .imprint-box__fact--notes{margin-top:8px}.imprint-box .imprint-box__notes-text{margin:0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.line-item-group-card__imprints{margin-top:12px}.line-item-group-card__imprints-title{margin:0 0 4px;font-size:13px}.imprint-box__images{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.imprint-box__strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.imprint-box__strip-item{display:flex;flex-direction:column;align-items:center;gap:2px;width:84px}.imprint-box__strip-name,.imprint-box__tile-name{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imprint-box__strip-actions{display:flex;gap:2px}.imprint-box__thumb{display:flex;align-items:center;justify-content:center;width:64px;height:64px;overflow:hidden;border-radius:4px;background:var(--color-bg-photo-mat)}.imprint-box__thumb img{max-width:100%;max-height:100%;object-fit:contain}.imprint-box__thumb .item-card__icon{font-size:11px;color:var(--color-text-muted)}.imprint-box__thumb--missing{font-size:11px;text-align:center;color:var(--color-text-muted)}.imprint-box__picker{width:100%}.imprint-box__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.imprint-box__tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:2px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-primary);color:inherit;cursor:pointer;min-height:44px}.imprint-box__tile:disabled{opacity:.5;cursor:not-allowed}.imprint-box__tile--selected{border-color:var(--color-accent)}.imprint-box__tile-check{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-size:12px;line-height:18px;text-align:center}.imprint-box__picker-count,.imprint-box__picker-empty{margin:4px 0 0;font-size:12px}.imprint-box .techpack{margin-top:12px;display:flex;flex-direction:column;gap:6px}.imprint-box .techpack__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.imprint-box .techpack__file{font-size:12px;overflow-wrap:anywhere}.imprint-box .techpack__note,.imprint-box .techpack__message,.imprint-box .techpack__empty{margin:0;font-size:12px;color:var(--color-text-secondary)}.imprint-box .techpack__threads{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none;font-size:12px}.imprint-box .techpack__thread{display:inline-flex;align-items:center;gap:6px}.imprint-box .techpack__swatch{width:12px;height:12px;border:1px solid var(--color-border-medium);border-radius:2px}.quote-editor{display:flex;flex-direction:column;gap:20px}.quote-editor table{width:100%;border-collapse:collapse;font-size:12px}.quote-editor table th{text-align:left;font-size:10px;color:var(--color-text-muted);padding:6px 8px;border-bottom:1px solid var(--color-border-strong)}.quote-editor table td{padding:4px 6px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.quote-editor table input,.quote-editor table select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.quote-editor table input:is(select),.quote-editor table select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.quote-editor table input::placeholder,.quote-editor table select::placeholder{color:var(--color-text-muted);opacity:1}.quote-editor table input:disabled,.quote-editor table select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.quote-editor table input[aria-invalid=true],.quote-editor table select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.quote-editor table input,.quote-editor table select{min-height:44px!important;font-size:16px!important}}.quote-editor table input,.quote-editor table select{padding:4px 6px;font-size:12px;width:100%}.quote-editor table input[type=checkbox]{width:auto}.quote-editor table input[type=number]{text-align:right}.quote-editor .line-item-table-wrap{overflow-x:auto}@media(max-width:768px){.quote-editor table input:not([type=checkbox]):not([type=radio]):not([type=number]):not([type=date]){min-width:96px}.quote-editor .line-item-table td:nth-child(4) input{min-width:140px}}.quote-editor .line-item-row__computed{font-weight:600;text-align:right;white-space:nowrap}.totals-panel{border:1px solid var(--color-border-strong);padding:12px 16px;max-width:320px;align-self:flex-start}.totals-panel .totals-panel__row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}.totals-panel .totals-panel__row span:last-child{font-variant-numeric:tabular-nums}.totals-panel .totals-panel__row--total{border-top:1px solid var(--color-border-strong);margin-top:4px;padding-top:6px;font-weight:700;font-size:14px}.totals-panel .totals-panel__note{margin:8px 0 0;font-size:10px;color:var(--color-text-muted)}.line-item-group-card{border:1px solid var(--color-border-strong);padding:12px;margin-bottom:12px}.line-item-group-card .line-item-group-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.line-item-group-card .line-item-group-card__header select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.line-item-group-card .line-item-group-card__header select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.line-item-group-card .line-item-group-card__header select::placeholder{color:var(--color-text-muted);opacity:1}.line-item-group-card .line-item-group-card__header select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.line-item-group-card .line-item-group-card__header select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.line-item-group-card .line-item-group-card__header select{min-height:44px!important;font-size:16px!important}}.line-item-group-card .line-item-group-card__header select{font-size:12px;padding:4px 8px;flex:1}.quote-editor__fees h4{margin:0 0 8px;font-size:12px}.discount-tax-form{border:1px solid var(--color-border-strong);padding:12px 16px;max-width:400px;display:flex;flex-direction:column;gap:10px}.discount-tax-form .discount-tax-form__row{display:flex;align-items:center;gap:8px;font-size:12px}.discount-tax-form .discount-tax-form__row label{min-width:130px}.discount-tax-form .discount-tax-form__row input[type=number]{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.discount-tax-form .discount-tax-form__row input[type=number]:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.discount-tax-form .discount-tax-form__row input[type=number]::placeholder{color:var(--color-text-muted);opacity:1}.discount-tax-form .discount-tax-form__row input[type=number]:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.discount-tax-form .discount-tax-form__row input[type=number][aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.discount-tax-form .discount-tax-form__row input[type=number]{min-height:44px!important;font-size:16px!important}}.discount-tax-form .discount-tax-form__row input[type=number]{padding:4px 6px;font-size:12px;width:100px}.discount-tax-form .discount-tax-form__row select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.discount-tax-form .discount-tax-form__row select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.discount-tax-form .discount-tax-form__row select::placeholder{color:var(--color-text-muted);opacity:1}.discount-tax-form .discount-tax-form__row select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.discount-tax-form .discount-tax-form__row select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.discount-tax-form .discount-tax-form__row select{min-height:44px!important;font-size:16px!important}}.discount-tax-form .discount-tax-form__row select{padding:4px 6px;font-size:12px}.discount-tax-form .discount-tax-form__note{margin:0;font-size:10px;color:var(--color-text-muted)}.size-chip-editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.size-chip-editor-overlay>.auth-overlay{z-index:1002}.size-chip-editor-panel{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:420px;padding:16px;gap:12px}.size-chip-editor-panel .size-chip-editor__quick-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input::placeholder{color:var(--color-text-muted);opacity:1}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input{min-height:44px!important;font-size:16px!important}}.size-chip-editor-panel .size-chip-editor__quick-add .size-chip-editor__custom-input{padding:6px 8px;font-size:12px;width:110px}.size-chip-editor-panel .size-chip-editor__chips{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.size-chip-editor-panel .size-chip-editor__empty{font-size:12px;color:var(--color-text-muted);margin:0}.size-chip-editor-panel .size-chip{display:flex;align-items:center;gap:8px}.size-chip-editor-panel .size-chip .size-chip__label{min-width:60px;font-size:12px;font-weight:600}.size-chip-editor-panel .size-chip input[type=number]{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.size-chip-editor-panel .size-chip input[type=number]:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.size-chip-editor-panel .size-chip input[type=number]::placeholder{color:var(--color-text-muted);opacity:1}.size-chip-editor-panel .size-chip input[type=number]:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.size-chip-editor-panel .size-chip input[type=number][aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.size-chip-editor-panel .size-chip input[type=number]{min-height:44px!important;font-size:16px!important}}.size-chip-editor-panel .size-chip input[type=number]{padding:4px 6px;font-size:12px;width:70px;text-align:right}.size-chip-editor-panel .size-chip .size-chip__remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid var(--color-danger);color:var(--color-danger);width:22px;height:22px;cursor:pointer;opacity:.6}.size-chip-editor-panel .size-chip .size-chip__remove:hover{opacity:1}.size-chip-editor-panel .size-chip-editor__actions{display:flex;justify-content:flex-end;gap:8px}.public-links-panel{border:1px solid var(--color-border-strong);padding:12px 16px;max-width:600px;display:flex;flex-direction:column;gap:10px}.public-links-panel h4{margin:0;font-size:13px}.public-links-panel--loading{color:var(--color-text-muted);font-size:12px}.public-links-panel__error{color:var(--color-danger);font-size:12px;margin:0}.public-links-panel__row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}.public-links-panel__label{min-width:80px;font-weight:600}.public-links-panel__row input[type=text]{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.public-links-panel__row input[type=text]:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.public-links-panel__row input[type=text]::placeholder{color:var(--color-text-muted);opacity:1}.public-links-panel__row input[type=text]:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.public-links-panel__row input[type=text][aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.public-links-panel__row input[type=text]{min-height:44px!important;font-size:16px!important}}.public-links-panel__row input[type=text]{padding:4px 6px;font-size:12px;flex:1 1 140px;min-width:0}.work-log-section__body{display:flex;flex-direction:column;gap:10px}.work-log-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.work-log-form select,.work-log-form input[type=number],.work-log-form input[type=text],.work-log-form input[type=datetime-local]{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.work-log-form select:is(select),.work-log-form input[type=number]:is(select),.work-log-form input[type=text]:is(select),.work-log-form input[type=datetime-local]:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.work-log-form select::placeholder,.work-log-form input[type=number]::placeholder,.work-log-form input[type=text]::placeholder,.work-log-form input[type=datetime-local]::placeholder{color:var(--color-text-muted);opacity:1}.work-log-form select:disabled,.work-log-form input[type=number]:disabled,.work-log-form input[type=text]:disabled,.work-log-form input[type=datetime-local]:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.work-log-form select[aria-invalid=true],.work-log-form input[type=number][aria-invalid=true],.work-log-form input[type=text][aria-invalid=true],.work-log-form input[type=datetime-local][aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.work-log-form select,.work-log-form input[type=number],.work-log-form input[type=text],.work-log-form input[type=datetime-local]{min-height:44px!important;font-size:16px!important}}.work-log-form select,.work-log-form input[type=number],.work-log-form input[type=text],.work-log-form input[type=datetime-local]{padding:4px 6px;font-size:12px}.work-log-form input[type=number]{width:80px}.work-log-form input[type=text]{width:160px}.work-log-form__mode{display:flex;gap:10px;font-size:12px}.work-log-form__mode label{display:flex;align-items:center;gap:4px}.work-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.work-log-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;padding:4px 0;border-bottom:1px solid var(--color-border-subtle)}.work-log-list__who{font-weight:600}.work-log-list__station,.work-log-list__duration,.work-log-list__count{color:var(--color-text-muted)}.work-log-list__note{flex:1;min-width:120px}.work-log-list__when{color:var(--color-text-muted);font-size:11px;margin-left:auto}.work-log-list__empty{font-size:12px;color:var(--color-text-muted)}.imprint-panel{display:flex;flex-direction:column;gap:12px}.imprint-bracket-card{border:1px solid var(--color-border-strong);padding:12px}.imprint-bracket-card .imprint-bracket-card__header{font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:8px}.imprint-table-wrap{overflow-x:auto}@media(max-width:768px){.imprint-table input[type=text]{min-width:120px}.imprint-table select{min-width:144px}}.imprint-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.imprint-table th{text-align:left;font-size:10px;color:var(--color-text-muted);padding:6px 8px;border-bottom:1px solid var(--color-border-strong)}.imprint-table td{padding:4px 6px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.imprint-table input,.imprint-table select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.imprint-table input:is(select),.imprint-table select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.imprint-table input::placeholder,.imprint-table select::placeholder{color:var(--color-text-muted);opacity:1}.imprint-table input:disabled,.imprint-table select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.imprint-table input[aria-invalid=true],.imprint-table select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.imprint-table input,.imprint-table select{min-height:44px!important;font-size:16px!important}}.imprint-table input,.imprint-table select{padding:4px 6px;font-size:12px;width:100%}.imprint-table input[type=number]{text-align:right}.work-log-row td{background:var(--color-bg-panel);padding:10px 8px}.imprint-row__analyzer-tag{display:inline-block;margin-left:4px;padding:1px 5px;font-size:10px;border-radius:3px;color:var(--color-accent);border:1px solid var(--color-accent)}.imprint-row__number{font-weight:600;white-space:nowrap}.imprint-row__ref{display:block;font-size:11px;font-weight:400;color:var(--color-text-muted)}.imprint-row__move{white-space:nowrap}.project-detail .project-detail__header{display:flex;align-items:center;gap:16px;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.project-detail .project-detail__header h2{margin:0;font-size:18px;font-weight:600;cursor:pointer}.project-detail .project-detail__header h2:hover{color:var(--color-text-secondary)}.project-detail .project-detail__header .project-detail__name-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.project-detail .project-detail__header .project-detail__name-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.project-detail .project-detail__header .project-detail__name-input::placeholder{color:var(--color-text-muted);opacity:1}.project-detail .project-detail__header .project-detail__name-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.project-detail .project-detail__header .project-detail__name-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.project-detail .project-detail__header .project-detail__name-input{min-height:44px!important;font-size:16px!important}}.project-detail .project-detail__header .project-detail__name-input{font-size:18px;font-weight:600;width:300px}.project-detail .project-detail__quote-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px}.project-detail .project-detail__quote-meta select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.project-detail .project-detail__quote-meta select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.project-detail .project-detail__quote-meta select::placeholder{color:var(--color-text-muted);opacity:1}.project-detail .project-detail__quote-meta select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.project-detail .project-detail__quote-meta select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.project-detail .project-detail__quote-meta select{min-height:44px!important;font-size:16px!important}}.project-detail .project-detail__quote-meta select{font-size:12px;padding:4px 8px;max-width:100%}.project-detail .project-detail__status-pill{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.project-detail .project-detail__status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--color-border-medium);flex-shrink:0}.project-detail .project-detail__link-field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-muted)}.project-detail .filter-row .filter-row__actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}.project-detail .picker-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.project-detail .picker-modal .picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);cursor:pointer}.project-detail .picker-modal .picker-content{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:80vw;max-width:800px;max-height:70vh}.project-detail .picker-modal .picker-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-strong)}.project-detail .picker-modal .picker-header h3{margin:0;font-size:14px;font-weight:600}.project-detail .picker-modal .picker-body{padding:16px;overflow-y:auto;flex:1}.project-detail .picker-modal .picker-body .item-card{cursor:pointer}.project-detail .picker-modal .picker-body .item-card:hover{background:var(--color-bg-tag)}.project-detail__legacy-productions{display:flex;flex-direction:column;gap:8px}.project-detail__legacy-note{margin:0;font-size:13px;color:var(--color-text-secondary)}.project-detail__legacy-list{margin:0;padding:0;list-style:none}.project-detail__legacy-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--color-border-light);font-size:13px}.project-detail__legacy-copy{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary)}.calendar-page__header{display:flex;align-items:center;justify-content:space-between}.calendar-page__view-toggle{display:flex;gap:4px}.calendar-page__view-btn{padding:6px 14px;font-size:12px;font-family:inherit;background:none;border:1px solid var(--color-border-strong);color:var(--color-text-muted);cursor:pointer}.calendar-page__view-btn:hover{color:var(--color-text-strong)}.calendar-page__view-btn.active{background:var(--color-text-strong);color:var(--color-bg-primary);border-color:var(--color-text-strong)}.calendar-page__nav{display:flex;align-items:center;gap:8px;margin-top:16px}.calendar-page__nav-label{margin-left:8px;font-size:14px;font-weight:600}.calendar-page__date-input{font-family:inherit;font-size:12px;padding:4px 6px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.calendar-page__status-select{font-family:inherit;font-size:11px;padding:4px 8px;max-width:260px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:12px}.calendar-page__filter-active{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-muted)}.calendar-page__filter-clear{font-family:inherit;font-size:11px;background:none;border:none;padding:0;color:var(--color-text-strong);text-decoration:underline;cursor:pointer}.calendar-page__filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;margin-bottom:16px}.calendar-page__loading{padding:60px 20px;text-align:center;color:var(--color-text-muted)}.calendar-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-family:inherit;background:var(--color-bg-tag);border:1px solid var(--color-border-light);color:var(--color-text-secondary);cursor:pointer;border-radius:12px}.calendar-chip:hover{border-color:var(--color-border-strong)}.calendar-chip--active{background:var(--color-text-strong);color:var(--color-bg-primary);border-color:var(--color-text-strong)}.calendar-chip--active .calendar-chip__dot{box-shadow:0 0 0 1px var(--color-bg-primary)}.calendar-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.calendar-month-grid{display:flex;flex-direction:column;border:1px solid var(--color-border-strong);border-bottom:none}.calendar-month-grid__weekdays{display:flex}.calendar-month-grid__weekdays span{flex:1;padding:6px 8px;font-size:11px;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong)}.calendar-month-grid__row{display:flex;align-items:stretch}.calendar-month-grid__row--expanded .calendar-day-cell{min-height:0}.calendar-month-grid__row--expanded .calendar-day-cell__blocks{max-height:none}.calendar-day-cell{flex:1;min-width:0;min-height:96px;padding:6px;border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:4px}.calendar-day-cell--outside{background:var(--color-bg-page)}.calendar-day-cell--outside .calendar-day-cell__num{color:var(--color-text-disabled)}.calendar-day-cell--today{background:var(--color-bg-hover)}.calendar-day-cell--today .calendar-day-cell__num{color:var(--color-text-primary);font-weight:700}.calendar-day-cell__num{font-size:11px;color:var(--color-text-muted)}.calendar-day-cell__blocks{display:flex;flex-direction:column;gap:3px;overflow:hidden;max-height:78px}.calendar-day-cell__more{align-self:flex-start;padding:1px 6px;font-size:10px;font-family:inherit;background:none;border:none;color:var(--color-text-muted);cursor:pointer;text-decoration:underline}.calendar-day-cell__more:hover{color:var(--color-text-strong)}.calendar-day-cell__dots{display:flex;align-items:center;gap:3px;background:none;border:none;padding:0;cursor:pointer}.calendar-block{display:block;width:100%;text-align:left;font-size:10px;font-weight:600;font-family:inherit;color:#fff;padding:2px 6px;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-block--unstaged{background:var(--color-bg-tag);color:var(--color-text-body);border:1px solid var(--color-border-light)}.calendar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.calendar-dot--unstaged{background:var(--color-text-muted)}.calendar-dot-more{font-size:9px;color:var(--color-text-muted);margin-left:2px}.calendar-day-view{border:1px solid var(--color-border-strong);background:var(--color-bg-primary)}.calendar-day-view--today{background:var(--color-bg-hover)}.calendar-day-view__header{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:15px;font-weight:700;border-bottom:1px solid var(--color-border-light)}.calendar-day-view__today-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--color-bg-tag);color:var(--color-text-secondary)}.calendar-day-view__list{list-style:none;margin:0;padding:0}.calendar-day-row{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 14px;font-family:inherit;font-size:13px;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);cursor:pointer}.calendar-day-row:hover{background:var(--color-bg-hover)}.calendar-day-row__status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:220px;padding:3px 10px;font-size:11px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-tag);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-row__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-text-disabled)}.calendar-day-row__name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-row__customer{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.calendar-week-board{display:flex;gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-strong)}.calendar-week-col{flex:1;min-width:0;background:var(--color-bg-primary);display:flex;flex-direction:column}.calendar-week-col--today{background:var(--color-bg-hover)}.calendar-week-col__header{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-bottom:1px solid var(--color-border-light)}.calendar-week-col__weekday{font-size:10px;color:var(--color-text-muted)}.calendar-week-col__num{font-size:16px;font-weight:700}.calendar-week-col__blocks{display:flex;flex-direction:column;gap:4px;padding:8px 6px;max-height:480px;overflow-y:auto}.calendar-week-col__empty{font-size:10px;color:var(--color-text-disabled);text-align:center;padding-top:8px}.calendar-week-col .calendar-block{font-size:11px;padding:4px 8px}.calendar-quick-view{width:380px;max-width:92vw}.calendar-quick-view__list{display:flex;flex-direction:column;gap:2px}.calendar-quick-view__list-row{display:flex;align-items:center;gap:8px;padding:8px;background:none;border:none;border-bottom:1px solid var(--color-border-subtle);text-align:left;font-size:13px;font-family:inherit;color:var(--color-text-primary);cursor:pointer}.calendar-quick-view__list-row:hover{background:var(--color-bg-hover)}.calendar-quick-view__list-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-quick-view__list-dot--unstaged{background:var(--color-text-muted)}.calendar-quick-view__loading,.calendar-quick-view__error{padding:20px 0;text-align:center;color:var(--color-text-muted)}.calendar-quick-view__detail{display:flex;flex-direction:column;gap:12px}.calendar-quick-view__row{display:flex;justify-content:space-between;font-size:13px}.calendar-quick-view__label{color:var(--color-text-muted);font-size:10px;letter-spacing:.3px}.calendar-quick-view__status{display:flex;align-items:center;justify-content:space-between}.calendar-quick-view__status-pill{display:flex;align-items:center;gap:6px}.calendar-quick-view__status-pill select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.calendar-quick-view__status-pill select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.calendar-quick-view__status-pill select::placeholder{color:var(--color-text-muted);opacity:1}.calendar-quick-view__status-pill select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.calendar-quick-view__status-pill select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.calendar-quick-view__status-pill select{min-height:44px!important;font-size:16px!important}}.calendar-quick-view__status-pill select{font-size:12px;padding:4px 8px}.calendar-quick-view__status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--color-border-medium);flex-shrink:0}.calendar-quick-view__open{align-self:flex-start}@media(max-width:600px){.calendar-page__nav{flex-wrap:wrap}.calendar-page__date-input,.calendar-page__status-select,.calendar-page__filters .calendar-chip,.calendar-page__view-btn{min-height:44px}.calendar-day-row{flex-wrap:wrap}.calendar-day-row__name{flex-basis:100%;order:2;white-space:normal}.calendar-month-grid__row{min-height:44px}.calendar-day-cell{min-height:44px;padding:4px}.calendar-week-board{flex-direction:column}.calendar-week-col__blocks{max-height:none}}.shop-hours{margin-bottom:20px;border:1px solid var(--color-border-medium)}.shop-hours-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-panel);border:0;color:var(--color-text-strong);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.shop-hours-body{display:flex;flex-direction:column;gap:10px;padding:12px}.shop-hours-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.shop-hours-row input[type=time],.shop-hours-row select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.shop-hours-row input[type=time]:is(select),.shop-hours-row select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.shop-hours-row input[type=time]::placeholder,.shop-hours-row select::placeholder{color:var(--color-text-muted);opacity:1}.shop-hours-row input[type=time]:disabled,.shop-hours-row select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.shop-hours-row input[type=time][aria-invalid=true],.shop-hours-row select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.shop-hours-row input[type=time],.shop-hours-row select{min-height:44px!important;font-size:16px!important}}.shop-hours-row input[type=time],.shop-hours-row select{font-family:inherit}.shop-hours-day{width:96px;font-size:13px}.shop-hours-closed{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.shop-hours-hint{margin:0;font-size:11px;color:var(--color-text-muted)}.shop-hours-error{margin:0;font-size:12px;color:var(--color-error-strong)}.shop-hours-actions{display:flex;justify-content:flex-end}.shop-hours--modal{margin-bottom:0;border:0}.to-schedule{flex:0 0 280px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-bg-primary);max-height:75vh;overflow:auto}@media(max-width:768px){.to-schedule{flex:0 0 auto;width:100%;max-height:45vh}}.to-schedule__head{display:flex;align-items:baseline;justify-content:space-between}.to-schedule__title{margin:0;font-size:16px}.to-schedule__count{font-size:12px;color:var(--color-text-muted)}.to-schedule__hint,.to-schedule__note,.to-schedule__empty{margin:0;font-size:12px;color:var(--color-text-secondary)}.to-schedule__filter{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.to-schedule__filter:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.to-schedule__filter::placeholder{color:var(--color-text-muted);opacity:1}.to-schedule__filter:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.to-schedule__filter[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.to-schedule__filter{min-height:44px!important;font-size:16px!important}}.to-schedule__filter{width:100%;box-sizing:border-box}.to-schedule__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.to-schedule__card{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:8px 10px;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-bg-panel);color:var(--color-text-primary);font-family:inherit;text-align:left;cursor:pointer}.to-schedule__card:hover{background:var(--color-bg-hover)}.to-schedule__card.is-selected{border-color:var(--color-accent-ink);box-shadow:inset 0 0 0 2px var(--color-accent-ink)}.to-schedule__quote{font-size:13px;font-weight:600}.to-schedule__imprint{font-size:12px}.to-schedule__meta,.to-schedule__due{font-size:12px;color:var(--color-text-secondary)}.to-schedule__due--soon{color:var(--color-danger);font-weight:600}.to-schedule__needs{font-size:12px}.to-schedule__needs summary{cursor:pointer;padding:6px 0}.to-schedule__needs-row{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--color-border-subtle)}.scheduler-page{width:95vw;max-width:1600px;box-sizing:border-box;margin-top:24px;padding:24px;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.scheduler-page{padding:12px}}.scheduler-page__body{display:flex;align-items:flex-start;gap:16px}@media(max-width:768px){.scheduler-page__body{flex-direction:column;align-items:stretch}}.scheduler-page__main{flex:1 1 0;min-width:0}.scheduler-page__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.scheduler-page__toolbar input[type=date]{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.scheduler-page__toolbar input[type=date]:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.scheduler-page__toolbar input[type=date]::placeholder{color:var(--color-text-muted);opacity:1}.scheduler-page__toolbar input[type=date]:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.scheduler-page__toolbar input[type=date][aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.scheduler-page__toolbar input[type=date]{min-height:44px!important;font-size:16px!important}}.scheduler-page__toolbar input[type=date]{padding:6px 10px}@media(max-width:480px){.scheduler-page__toolbar input[type=date]{flex:1 1 100%;min-width:0}}.scheduler-timeline{--label-w: 188px;--sub-row: 72px;--inset: 8px;--head-h: 36px;min-width:calc(var(--label-w) + var(--track-min))}@media(max-width:768px){.scheduler-timeline{--label-w: 132px;--sub-row: 56px;--inset: 6px}}.scheduler-timeline__card{border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-bg-primary);overflow:hidden}.scheduler-timeline__board{min-height:280px;max-height:75vh;overflow:auto}.scheduler-timeline__head,.scheduler-timeline__row{display:grid;grid-template-columns:var(--label-w) minmax(var(--track-min),1fr)}.scheduler-timeline__head{position:sticky;top:0;z-index:5;height:var(--head-h);background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-strong)}.scheduler-timeline__corner,.scheduler-timeline__label{position:sticky;left:0;z-index:4;background:var(--color-bg-panel);border-right:1px solid var(--color-border-strong)}.scheduler-timeline__corner{display:flex;align-items:flex-end;padding:0 12px 8px;font-size:12px;font-weight:600;color:var(--color-text-muted)}.scheduler-timeline__ticks{position:relative;height:var(--head-h)}.scheduler-timeline__tick{position:absolute;bottom:4px;transform:translate(-50%);font-size:12px;line-height:15px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.scheduler-timeline__tick:first-child{transform:none;padding-left:4px}.scheduler-timeline__tick--last{transform:translate(-100%);padding-right:4px}.scheduler-timeline__now-tag{position:absolute;top:2px;transform:translate(-50%);padding:0 7px;border-radius:999px;font-size:10px;line-height:14px;font-weight:700;color:var(--color-on-danger);background:var(--color-danger)}.scheduler-timeline__row{border-bottom:1px solid var(--color-border-subtle)}.scheduler-timeline__row--archived{opacity:.6}.scheduler-timeline__label{display:flex;flex-direction:column;justify-content:center;padding:8px 12px}.scheduler-timeline__name{font-size:14px;font-weight:700;color:var(--color-text-primary);overflow-wrap:anywhere}.scheduler-timeline__archived-tag{margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600;border:1px solid var(--color-text-muted);color:var(--color-text-muted)}.scheduler-timeline__cap{margin-top:6px}.scheduler-timeline__cap-text{font-size:13px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.scheduler-timeline__cap-bar{height:8px;margin-top:4px;border-radius:4px;overflow:hidden;background:var(--color-bg-hover)}.scheduler-timeline__cap-fill{height:100%;border-radius:4px;background:var(--color-block-production)}.scheduler-timeline__cap-fill--over{background:var(--color-danger)}.scheduler-timeline__cap-outside{margin-top:4px;font-size:12px;color:var(--color-danger);font-weight:600}.scheduler-timeline__track{position:relative;height:calc(var(--lanes) * var(--sub-row))}.scheduler-timeline__shade{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--color-bg-hover) 0 4px,transparent 4px 9px);opacity:.8;pointer-events:none}.scheduler-timeline__gridline{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border-subtle);opacity:.6;pointer-events:none}.scheduler-timeline__now{position:absolute;top:0;bottom:0;z-index:0;width:2px;margin-left:-1px;background:var(--color-danger);pointer-events:none}.scheduler-timeline__row--target .scheduler-timeline__track{min-height:44px;cursor:copy}.scheduler-timeline__row--target .scheduler-timeline__label{box-shadow:inset 3px 0 0 var(--color-accent-ink)}.scheduler-timeline__row--hint .scheduler-timeline__label{box-shadow:inset 6px 0 0 var(--color-accent-ink)}.scheduler-timeline__place-here{margin-top:6px}.scheduler-timeline__block{position:absolute;top:calc(var(--inset) + var(--lane) * var(--sub-row));height:calc(var(--sub-row) - 2 * var(--inset));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:6px;font-family:inherit;text-align:left;overflow:hidden;cursor:pointer;z-index:1}.scheduler-timeline__block:hover{opacity:.88}.scheduler-timeline__block--production{background:var(--color-block-production);color:var(--color-block-production-on)}.scheduler-timeline__block--sew_out{background:var(--color-block-sewout);color:var(--color-block-sewout-on)}.scheduler-timeline__block--sew_out:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,var(--color-block-sewout-on) 0 2px,transparent 2px 8px);opacity:.14;pointer-events:none}.scheduler-timeline__block--clip-start{border-left-style:dashed;border-top-left-radius:0;border-bottom-left-radius:0}.scheduler-timeline__block--clip-end{border-right-style:dashed;border-top-right-radius:0;border-bottom-right-radius:0}@media(max-width:768px){.scheduler-timeline__block{padding:4px 8px}}.scheduler-timeline__block-line{position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.25;font-weight:600;text-align:left}.scheduler-timeline__block-line--sub{font-size:12px;font-weight:400;opacity:.85}.scheduler-timeline__block-kind{text-transform:uppercase;letter-spacing:.04em;font-size:10px}.scheduler-timeline__cue{position:absolute;left:2px;top:50%;transform:translateY(-50%);font-size:8px}.scheduler-timeline__cue--end{left:auto;right:2px}.scheduler-timeline__legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;border-top:1px solid var(--color-border-strong);background:var(--color-bg-primary);font-size:12px;color:var(--color-text-secondary)}.scheduler-timeline__legend .text-btn{padding:0;border:0;background:none;min-height:0;color:var(--color-accent-ink);font-size:inherit;text-decoration:underline}.scheduler-timeline__legend-item{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.scheduler-timeline__swatch{display:inline-block;width:14px;height:14px;border-radius:3px;position:relative;overflow:hidden}.scheduler-timeline__swatch--production{background:var(--color-block-production)}.scheduler-timeline__swatch--sew_out{background:var(--color-block-sewout)}.scheduler-timeline__swatch--sew_out:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,var(--color-block-sewout-on) 0 2px,transparent 2px 6px);opacity:.35}.scheduler-timeline__swatch--now{width:2px;height:14px;border-radius:0;background:var(--color-danger)}.scheduler-form{display:flex;flex-direction:column;gap:10px}.scheduler-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted)}.scheduler-form input,.scheduler-form select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.scheduler-form input:is(select),.scheduler-form select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.scheduler-form input::placeholder,.scheduler-form select::placeholder{color:var(--color-text-muted);opacity:1}.scheduler-form input:disabled,.scheduler-form select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.scheduler-form input[aria-invalid=true],.scheduler-form select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.scheduler-form input,.scheduler-form select{min-height:44px!important;font-size:16px!important}}.scheduler-form input,.scheduler-form select{padding:6px 8px;font-size:13px;text-transform:none;letter-spacing:normal;color:var(--color-text-primary)}.scheduler-form__fixed{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted)}.scheduler-form__fixed strong{font-size:13px;color:var(--color-text-primary)}.scheduler-form__hint{font-size:11px;color:var(--color-text-muted)}.scheduler-form__conflicts{border:1px solid var(--color-warning);background:var(--color-warning-bg);padding:8px 10px;font-size:12px}.scheduler-form__conflicts ul{margin:4px 0 0;padding-left:18px}.my-work-page{width:95vw;max-width:800px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.my-work-page{padding:12px}}.my-work-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.my-work-page__header h2{margin:0;font-size:18px;font-weight:600}.my-work-page__date{font-size:13px;font-weight:400;color:var(--color-text-muted);margin-left:8px}.my-work-page__loading,.my-work-page__truncated{font-size:13px;color:var(--color-text-muted)}.my-work-station__name{margin:16px 0 8px;font-size:15px;font-weight:600}.my-work-blocks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.my-work-block{border:1px solid var(--color-border-subtle);background:var(--color-bg-panel);padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}.my-work-block__head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.my-work-block__time{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.my-work-block__title{font-weight:600}.my-work-block__quote{color:var(--color-text-muted)}.my-work-block__specs{display:flex;flex-wrap:wrap;gap:6px}.my-work-block__chip{padding:1px 6px;font-size:11px;border:1px solid var(--color-border-subtle);border-radius:3px}.my-work-block__meta{font-size:12px;color:var(--color-text-muted)}.my-work-block__notes{white-space:pre-wrap;overflow-wrap:anywhere}.my-work-block__moved{font-size:12px;color:var(--color-text-muted);border-left:3px solid var(--color-accent);padding-left:8px}.customer-suggestion{margin:6px 0;padding:8px;background:var(--color-bg-panel);border:1px solid var(--color-border-medium)}.customer-suggestion p{margin:0 0 6px}.customer-picker-list{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.customer-picker-list li button{width:100%;text-align:left}.orders-page{width:95vw;max-width:1600px;margin-top:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.orders-page{padding:12px}}.orders-page .orders-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.orders-page .orders-page-header h2{margin:0;font-size:18px;font-weight:600}.orders-page .orders-status-filters{display:flex;gap:0;margin-bottom:16px}.orders-page .orders-loading,.orders-page .orders-empty{padding:60px 20px;text-align:center;font-size:12px;color:var(--color-text-muted)}.orders-page .orders-table-wrap{overflow-x:auto}.orders-page .orders-table{width:100%;border-collapse:collapse;font-size:12px}.orders-page .orders-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.orders-page .orders-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.orders-page .orders-table tbody tr{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background .1s}.orders-page .orders-table tbody tr:hover{background:var(--color-bg-hover)}.orders-page .orders-table tbody td{padding:8px 10px;vertical-align:middle}.orders-page .orders-table .cell-po{font-weight:600;font-family:monospace;letter-spacing:.3px}.orders-page .orders-table .cell-name{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-page .orders-table .cell-client{color:var(--color-text-secondary)}.orders-page .orders-table .cell-date{color:var(--color-text-secondary);white-space:nowrap}.orders-page .orders-table .cell-total{font-weight:600}.orders-page .orders-table .status-badge{border:1px solid}.orders-page .orders-table .quote-status-pill{color:#fff}.orders-page .orders-table .quote-extra-count{display:inline-block;margin-left:4px;font-size:10px;color:var(--color-text-secondary);cursor:help}.orders-page .orders-table .cell-quote-project{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-page .orders-table .cell-quote-project--link{cursor:pointer}.orders-page .orders-table .cell-quote-project--link:hover{text-decoration:underline}.orders-page .orders-table .stale-flag,.orders-page .orders-table .mockup-flag{display:inline-block;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:700;color:#fff;border-radius:3px;white-space:nowrap;cursor:help}.orders-page .orders-table .stale-flag{background:#d32f2f}.orders-page .orders-table .mockup-flag{background:#f57c00}.orders-page .orders-table .cell-select{width:28px}.orders-page .orders-table .cell-select input[type=checkbox]{width:16px;height:16px;cursor:pointer}.orders-page .orders-table .cell-actions{width:120px;text-align:right;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;gap:6px}@media(max-width:768px){.orders-page .orders-table .cell-actions{gap:12px}}.orders-page .orders-table .cell-actions .confirm-delete{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary)}.orders-page .orders-table .cell-actions .text-btn--retry{color:var(--color-danger);font-weight:600;font-size:10px;letter-spacing:.3px}.orders-page .filter-count{display:inline-block;margin-left:4px;font-size:10px;opacity:.6}.orders-page .order-detail{font-size:13px}.orders-page .order-detail .order-detail__status-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.orders-page .order-detail .order-detail__status-row .status-badge{display:inline-block;padding:4px 12px;font-size:11px;font-weight:600;border:1px solid}.orders-page .order-detail .verify-result{margin:-8px 0 20px;padding:9px 13px;border-radius:4px;font-size:13px;font-weight:600}.orders-page .order-detail .verify-result--ok{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7}.dark-mode .orders-page .order-detail .verify-result--ok{background:var(--color-success-bg);color:var(--color-success-strong);border-color:#3a6b3a}.orders-page .order-detail .verify-result--short{background:#fff4e5;color:#7a3e00;border:1px solid #ffcc80}.dark-mode .orders-page .order-detail .verify-result--short{background:var(--color-warning-bg);color:#ffb74d;border-color:#7a5a20}.orders-page .order-detail .order-detail__error{background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;margin-bottom:16px;font-size:12px;color:#dc2626}.dark-mode .orders-page .order-detail .order-detail__error{background:#2a1515;border-color:#5a2020;color:#f87171}.orders-page .order-detail .order-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:600px){.orders-page .order-detail .order-detail__grid{grid-template-columns:1fr}}.orders-page .order-detail .order-detail__section h3{font-size:11px;font-weight:600;color:var(--color-text-secondary);margin:0 0 8px;border-bottom:1px solid var(--color-border-subtle);padding-bottom:4px}.orders-page .order-detail .order-detail__section p{margin:2px 0;color:var(--color-text-primary)}.orders-page .order-detail .order-detail__items{margin-top:16px}.orders-page .order-detail .order-detail__items h3{font-size:11px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px;border-bottom:1px solid var(--color-border-subtle);padding-bottom:4px}.orders-page .order-detail .order-detail__item{border:1px solid var(--color-border-subtle);padding:12px;margin-bottom:10px}.orders-page .order-detail .order-detail__item h4{font-size:13px;font-weight:600;margin:0 0 6px}.orders-page .order-detail .order-detail__item p{margin:2px 0;color:var(--color-text-secondary);font-size:12px}.orders-page .order-detail .order-detail__decoration{font-size:12px;color:var(--color-text-secondary);padding:6px 0;border-top:1px solid var(--color-border-subtle);margin-top:6px}.orders-page .order-detail .order-detail__files{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.orders-page .order-detail .order-detail__files .order-file{width:150px;display:flex;flex-direction:column;border:1px solid var(--color-border-medium);background:var(--color-bg-panel)}.orders-page .order-detail .order-detail__files .order-file__preview{width:100%;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;transition:.18s ease}.orders-page .order-detail .order-detail__files .order-file__preview:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.orders-page .order-detail .order-detail__files .order-file__preview--img{background:var(--color-bg-photo-mat);overflow:hidden}.orders-page .order-detail .order-detail__files .order-file__preview--img img{width:100%;height:100%;object-fit:contain;display:block}.orders-page .order-detail .order-detail__files .order-file__preview--img:hover{opacity:.85}.orders-page .order-detail .order-detail__files .order-file__ext{font-size:16px;font-weight:700;letter-spacing:.5px}.orders-page .order-detail .order-detail__files .order-file__hint{font-size:10px}.orders-page .order-detail .order-detail__files .order-file__footer{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 4px 4px 9px;border-top:1px solid var(--color-border-medium)}.orders-page .order-detail .order-detail__files .order-file__footer .order-file__name{font-size:10px;font-weight:600;color:var(--color-text-secondary)}.orders-page .order-detail .order-detail__files .order-file__footer .order-file__dl{border:none;background:none;padding:3px 7px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:.15s ease}.orders-page .order-detail .order-detail__files .order-file__footer .order-file__dl:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.orders-page .order-file-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:24px}.orders-page .order-file-modal .order-file-modal__body{display:flex;flex-direction:column;max-width:92vw;max-height:92vh;background:var(--color-bg-panel);border:1px solid var(--color-border-strong);overflow:hidden;box-shadow:0 8px 40px #0006}.orders-page .order-file-modal .order-file-modal__bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--color-border-subtle)}.orders-page .order-file-modal .order-file-modal__bar .order-file-modal__title{flex:1;font-size:12px;font-weight:600;color:var(--color-text-primary)}.orders-page .order-file-modal .order-file-modal__bar .order-file-modal__close{border:none;background:none;font-size:14px;color:var(--color-text-secondary);cursor:pointer;padding:2px 6px}.orders-page .order-file-modal .order-file-modal__bar .order-file-modal__close:hover{color:var(--color-text-primary)}.orders-page .order-file-modal .order-file-modal__img{width:min(86vw,1000px);height:80vh;object-fit:contain;background:var(--color-bg-photo-mat)}.orders-page .order-file-modal .order-file-modal__frame{width:86vw;height:80vh;border:none;background:var(--color-bg-photo-mat)}.customers-page{width:95vw;max-width:1000px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.customers-page{padding:12px}}.customers-page .customers-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.customers-page .customers-page-header h2{margin:0;font-size:18px;font-weight:600}.customer-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;background:var(--color-bg-panel);border:1px solid var(--color-border-medium)}.customer-field{display:flex;flex-direction:column;gap:4px}.customer-field-label{font-size:11px;color:var(--color-text-muted)}.customer-field input,.customer-field textarea{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.customer-field input:is(select),.customer-field textarea:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.customer-field input::placeholder,.customer-field textarea::placeholder{color:var(--color-text-muted);opacity:1}.customer-field input:disabled,.customer-field textarea:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.customer-field input[aria-invalid=true],.customer-field textarea[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.customer-field input,.customer-field textarea{min-height:44px!important;font-size:16px!important}}.customer-field input,.customer-field textarea{font-family:inherit}.customer-field textarea{min-height:60px;resize:vertical}.customer-field--checkbox{flex-direction:row;align-items:center;gap:8px}.customer-field--checkbox input[type=checkbox]{flex:none;width:auto}.customer-form-error{margin:0;font-size:12px;color:var(--color-error-strong)}.customer-form-actions{display:flex;gap:10px;justify-content:flex-end}.customers-table{width:100%;border-collapse:collapse;font-size:12px}.customers-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.customers-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.customers-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.customers-table tbody tr:hover{background:var(--color-bg-hover)}.customers-table tbody td{padding:8px 10px;vertical-align:middle}.customers-table-empty{text-align:center;color:var(--color-text-muted);padding:24px 10px!important}.customers-table-actions{display:flex;gap:6px}.customers-table .edit-btn,.customers-table .delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:11px;font-family:inherit;padding:4px 8px}.customers-table .edit-btn:hover,.customers-table .delete-btn:hover{color:var(--color-text-strong)}.customers-table .delete-btn:hover{color:var(--color-danger)}.users-panel{width:95vw;max-width:1600px;margin-top:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.users-panel{padding:12px}}.users-panel .users-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.users-panel .users-panel-header h2{margin:0;font-size:18px;font-weight:600}.users-panel .add-user-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border-strong)}.users-panel .add-user-form h3{width:100%;margin:0}.users-panel .add-user-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.users-panel .add-user-form .add-user-error{width:100%;margin:0;color:var(--color-danger)}.users-panel .add-user-form .add-user-actions{display:flex;gap:8px}.users-panel .pending-users{margin-bottom:24px}.users-panel .pending-users h3{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--color-text-strong)}.users-panel .pending-users .pending-note{max-width:260px;white-space:pre-wrap;word-break:break-word;font-size:11px;color:var(--color-text-secondary)}.users-panel .users-table{width:100%;border-collapse:collapse;font-size:12px}.users-panel .users-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.users-panel .users-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.users-panel .users-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.users-panel .users-table tbody tr:hover{background:var(--color-bg-hover)}.users-panel .users-table tbody td{padding:8px 10px;vertical-align:middle}.users-panel .users-table select{padding:4px 8px;font-size:12px;border:1px solid var(--color-border-light);background:var(--color-bg-hover);color:var(--color-text-strong);font-family:inherit;cursor:pointer;transition:.12s ease}.users-panel .users-table select:focus{outline:none;border-color:var(--color-text-strong)}.users-panel .users-table .delete-btn,.users-panel .users-table .approve-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:11px;font-family:inherit;padding:4px 8px}.users-panel .users-table .delete-btn:hover,.users-panel .users-table .approve-btn:hover{color:var(--color-danger)}.users-panel .users-table .approve-btn:hover{color:var(--color-text-strong)}.users-panel .users-table .confirm-delete{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary)}.users-panel .users-table .confirm-delete button{font-size:10px;font-weight:600;font-family:inherit;padding:2px 8px;border:1px solid var(--color-border-light);background:none;cursor:pointer}.users-panel .users-table .confirm-delete button.danger{color:var(--color-danger);border-color:var(--color-danger)}.users-panel .users-table .confirm-delete button:hover{border-color:var(--color-border-strong)}.reset-password-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.reset-password-done{font-size:12px;color:var(--color-text-secondary)}.quote-statuses-page{width:95vw;max-width:1000px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.quote-statuses-page{padding:12px}}.quote-statuses-page .quote-statuses-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.quote-statuses-page .quote-statuses-page-header h2{margin:0;font-size:18px;font-weight:600}.quote-status-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;background:var(--color-bg-panel);border:1px solid var(--color-border-medium)}.quote-status-field{display:flex;flex-direction:column;gap:4px}.quote-status-field-label{font-size:11px;color:var(--color-text-muted)}.quote-status-field input:not([type=checkbox]),.quote-status-field select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.quote-status-field input:not([type=checkbox]):is(select),.quote-status-field select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.quote-status-field input:not([type=checkbox])::placeholder,.quote-status-field select::placeholder{color:var(--color-text-muted);opacity:1}.quote-status-field input:not([type=checkbox]):disabled,.quote-status-field select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.quote-status-field input:not([type=checkbox])[aria-invalid=true],.quote-status-field select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.quote-status-field input:not([type=checkbox]),.quote-status-field select{min-height:44px!important;font-size:16px!important}}.quote-status-field input:not([type=checkbox]),.quote-status-field select{font-family:inherit}.quote-status-field--checkbox{flex-direction:row;align-items:center;gap:8px}.quote-status-field--checkbox .quote-status-field-label{font-size:13px;color:var(--color-text-primary)}.quote-status-field-hint{margin:-8px 0 0;font-size:11px;color:var(--color-text-muted)}.quote-status-color-row{display:flex;align-items:center;gap:10px}.quote-status-color-row input[type=color]{width:40px;height:28px;padding:2px;cursor:pointer}.quote-status-color-value{font-size:12px;color:var(--color-text-muted);font-family:monospace}.quote-status-form-error{margin:0;font-size:12px;color:var(--color-error-strong)}.quote-status-form-actions{display:flex;gap:10px;justify-content:flex-end}.quote-status-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid var(--color-border-medium)}.quote-status-stage-pill{border:1px solid var(--color-border-medium);color:var(--color-text-muted)}.quote-status-stage-pill--invoice{color:var(--color-text-strong);border-color:var(--color-text-strong)}.quote-statuses-table{width:100%;border-collapse:collapse;font-size:12px}.quote-statuses-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.quote-statuses-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.quote-statuses-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.quote-statuses-table tbody tr:hover{background:var(--color-bg-hover)}.quote-statuses-table tbody td{padding:8px 10px;vertical-align:middle}.quote-statuses-table-empty{text-align:center;color:var(--color-text-muted);padding:24px 10px!important}.quote-statuses-table-actions{display:flex;gap:6px}.quote-statuses-table .edit-btn,.quote-statuses-table .delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:11px;font-family:inherit;padding:4px 8px}.quote-statuses-table .edit-btn:hover,.quote-statuses-table .delete-btn:hover{color:var(--color-text-strong)}.quote-statuses-table .delete-btn:hover{color:var(--color-danger)}.imprint-options-page{width:95vw;max-width:1000px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.imprint-options-page{padding:12px}}.imprint-options-page .imprint-options-page-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.imprint-options-page .imprint-options-page-header h2{margin:0;flex:1}.imprint-options-page .imprint-options-page-header select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.imprint-options-page .imprint-options-page-header select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.imprint-options-page .imprint-options-page-header select::placeholder{color:var(--color-text-muted);opacity:1}.imprint-options-page .imprint-options-page-header select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.imprint-options-page .imprint-options-page-header select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.imprint-options-page .imprint-options-page-header select{min-height:44px!important;font-size:16px!important}}.imprint-options-page .imprint-options-page-header select{padding:6px 10px}.imprint-options-page .imprint-option-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.imprint-options-page .imprint-option-field{display:flex;flex-direction:column;gap:2px;font-size:12px}.imprint-options-page .imprint-option-field input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.imprint-options-page .imprint-option-field input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.imprint-options-page .imprint-option-field input::placeholder{color:var(--color-text-muted);opacity:1}.imprint-options-page .imprint-option-field input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.imprint-options-page .imprint-option-field input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.imprint-options-page .imprint-option-field input{min-height:44px!important;font-size:16px!important}}.imprint-options-page .imprint-option-field input{padding:6px 10px}.imprint-options-page .imprint-option-form-error{flex-basis:100%;margin:0;color:var(--color-danger, #c0392b);font-size:12px}.imprint-options-page .imprint-option-form-actions{display:flex;gap:8px}.imprint-options-page .imprint-options-table{width:100%;border-collapse:collapse}.imprint-options-page .imprint-options-table th,.imprint-options-page .imprint-options-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--color-border-light)}.imprint-options-page .imprint-options-table__archived td:not(.imprint-options-table-actions){color:var(--color-text-secondary)}.imprint-options-page .imprint-options-table-actions{display:flex;gap:8px}.imprint-options-page .imprint-options-table-empty{text-align:center;color:var(--color-text-secondary)}.stations-page{width:95vw;max-width:1100px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.stations-page{padding:12px}}.stations-page .stations-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.stations-page .stations-page-header h2{margin:0;font-size:18px;font-weight:600}.station-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;background:var(--color-bg-panel);border:1px solid var(--color-border-medium)}.station-field{display:flex;flex-direction:column;gap:4px}.station-field-label{font-size:11px;color:var(--color-text-muted)}.station-field input,.station-field select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.station-field input:is(select),.station-field select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.station-field input::placeholder,.station-field select::placeholder{color:var(--color-text-muted);opacity:1}.station-field input:disabled,.station-field select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.station-field input[aria-invalid=true],.station-field select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.station-field input,.station-field select{min-height:44px!important;font-size:16px!important}}.station-field input,.station-field select{font-family:inherit}.station-field--checkbox{flex-direction:row;align-items:center;gap:8px}.station-field--checkbox input{width:auto}.station-form-error{margin:0;font-size:12px;color:var(--color-error-strong)}.station-form-actions{display:flex;gap:10px;justify-content:flex-end}.station-archived-pill{margin-left:8px;border:1px solid var(--color-border-medium);color:var(--color-text-muted)}.station-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.station-assign-row{display:flex;align-items:center;gap:6px}.station-assign-row select{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.station-assign-row select:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.station-assign-row select::placeholder{color:var(--color-text-muted);opacity:1}.station-assign-row select:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.station-assign-row select[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.station-assign-row select{min-height:44px!important;font-size:16px!important}}.station-assign-row select{font-size:11px;padding:3px 6px}.station-assign-btn{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;min-height:24px;padding:0 8px;background:none;border:1px dashed var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-anchor);font-family:inherit}.station-assign-btn:hover{color:var(--color-text-strong);border-color:var(--color-border-strong)}@media(max-width:768px){.station-assign-btn:before{content:"";position:absolute;top:-10px;bottom:-10px;left:0;right:0}}.stations-table{width:100%;border-collapse:collapse;font-size:12px}.stations-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.stations-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.stations-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.stations-table tbody tr:hover{background:var(--color-bg-hover)}.stations-table tbody td{padding:8px 10px;vertical-align:top}.stations-table-row--archived{opacity:.6}.stations-table-empty{text-align:center;color:var(--color-text-muted);padding:24px 10px!important}.stations-table-actions{display:flex;gap:6px}.stations-table .edit-btn,.stations-table .delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:11px;font-family:inherit;padding:4px 8px}.stations-table .edit-btn:hover,.stations-table .delete-btn:hover{color:var(--color-text-strong)}.stations-table .delete-btn:hover{color:var(--color-danger)}.analyzer-settings-page{width:95vw;max-width:800px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.analyzer-settings-page{padding:12px}}.analyzer-settings-page h2{margin:0 0 8px}.analyzer-settings-page h3{margin:20px 0 8px;font-size:14px}.analyzer-settings-page .analyzer-settings-note{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.analyzer-settings-page .analyzer-settings-error{margin:12px 0 0;font-size:13px;color:var(--color-danger, #c0392b)}.analyzer-settings-page .analyzer-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.analyzer-settings-page .analyzer-settings-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.analyzer-settings-page .analyzer-settings-field input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.analyzer-settings-page .analyzer-settings-field input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.analyzer-settings-page .analyzer-settings-field input::placeholder{color:var(--color-text-muted);opacity:1}.analyzer-settings-page .analyzer-settings-field input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.analyzer-settings-page .analyzer-settings-field input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.analyzer-settings-page .analyzer-settings-field input{min-height:44px!important;font-size:16px!important}}.analyzer-settings-page .analyzer-settings-field input{padding:6px 10px}.analyzer-settings-page button[type=submit]{margin-top:16px}.imprint-analyzer{width:95vw;max-width:1100px;margin:20px auto;box-sizing:border-box}.imprint-analyzer__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.imprint-analyzer__header h2{margin:0}.imprint-analyzer__body{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:16px;align-items:start}@media(max-width:768px){.imprint-analyzer__body{grid-template-columns:minmax(0,1fr)}}.imprint-analyzer__list,.imprint-analyzer__detail{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:16px;box-sizing:border-box;min-width:0}@media(max-width:768px){.imprint-analyzer__list,.imprint-analyzer__detail{padding:12px}}.imprint-analyzer__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.imprint-analyzer__search{width:100%;box-sizing:border-box;margin-bottom:12px}.imprint-analyzer__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.imprint-analyzer__row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 10px;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);color:var(--color-text-primary);cursor:pointer}.imprint-analyzer__row.is-selected{background:var(--color-bg-selected);border-color:var(--color-accent)}.imprint-analyzer__row-name{font-weight:600;overflow-wrap:anywhere}.imprint-analyzer__row-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary)}.imprint-analyzer__badge{padding:0 6px;border:1px solid var(--color-border-medium);background:var(--color-bg-tag);font-size:11px;color:var(--color-text-secondary)}.imprint-analyzer__badge--quote{border-color:var(--color-accent);color:var(--color-accent-ink)}.imprint-analyzer__note{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.imprint-analyzer__error{margin:0 0 8px;font-size:13px;color:var(--color-danger)}.imprint-analyzer__field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;min-width:0}.imprint-analyzer__field input{width:100%;box-sizing:border-box}.imprint-analyzer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px}.imprint-analyzer__design{margin:0 0 12px;padding:8px 12px;border:1px solid var(--color-border-medium);min-width:0}.imprint-analyzer__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0 0 12px}.imprint-analyzer__tile{padding:8px 10px;background:var(--color-bg-panel);border:1px solid var(--color-border-light)}.imprint-analyzer__tile dt{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase}.imprint-analyzer__tile dd{margin:2px 0 0;font-size:16px;font-weight:600;overflow-wrap:anywhere}.imprint-analyzer__threads{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px}.imprint-analyzer__swatch{display:inline-block;width:12px;height:12px;margin-right:4px;border:1px solid var(--color-border-strong);vertical-align:-1px}.imprint-analyzer__params{margin:0 0 12px;padding:8px 12px;border:1px solid var(--color-border-medium)}.imprint-analyzer__params summary{cursor:pointer;font-weight:600;font-size:13px}.imprint-analyzer__params .imprint-analyzer__note{margin-top:8px}.walls-page{width:95vw;max-width:1100px;margin:20px auto;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:24px;box-sizing:border-box}@media(max-width:768px){.walls-page{padding:12px}}.walls-page .walls-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong);padding-bottom:12px}.walls-page .walls-page-header h2{margin:0;font-size:18px;font-weight:600}.wall-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;background:var(--color-bg-panel);border:1px solid var(--color-border-medium)}.wall-field{display:flex;flex-direction:column;gap:4px}.wall-field-label{font-size:11px;color:var(--color-text-muted)}.wall-field input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.wall-field input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.wall-field input::placeholder{color:var(--color-text-muted);opacity:1}.wall-field input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.wall-field input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.wall-field input{min-height:44px!important;font-size:16px!important}}.wall-field input{font-family:inherit}.wall-form-error{margin:0;font-size:12px;color:var(--color-error-strong)}.wall-form-actions{display:flex;gap:10px;justify-content:flex-end}.wall-banner{margin:0 0 16px;padding:10px 12px;font-size:12px;color:var(--color-error-strong);border:1px solid var(--color-border-medium);background:var(--color-bg-panel)}.wall-default-pill{margin-left:8px;border:1px solid var(--color-border-medium);color:var(--color-text-muted)}.walls-table{width:100%;border-collapse:collapse;font-size:12px}.walls-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.walls-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong)}.walls-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.walls-table tbody tr:hover{background:var(--color-bg-hover)}.walls-table tbody td{padding:8px 10px;vertical-align:top}.walls-table-empty{text-align:center;color:var(--color-text-muted);padding:24px 10px!important}.walls-table-actions{display:flex;gap:6px}.walls-table .edit-btn,.walls-table .delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:11px;font-family:inherit;padding:4px 8px}.walls-table .edit-btn:hover,.walls-table .delete-btn:hover{color:var(--color-text-strong)}.walls-table .delete-btn:hover{color:var(--color-danger)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080}.modal-overlay>.auth-overlay{z-index:1002}.product-edit-modal{position:relative;z-index:1001;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;width:90vw;max-width:1200px;height:90vh;max-height:900px}@media(min-width:1440px){.product-edit-modal{max-width:1500px;max-height:980px}}@media(min-width:1920px){.product-edit-modal{max-width:1800px;max-height:1080px}}.product-edit-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.product-edit-modal .modal-header h3{margin:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-heading);color:var(--color-text-primary)}.product-edit-modal .modal-header .modal-close{background:none;border:none;font-size:20px;color:var(--color-text-muted);cursor:pointer;line-height:1;padding:0 4px}.product-edit-modal .modal-body{padding:16px;overflow-y:auto;flex:1;min-height:0}.product-edit-modal .modal-cols{display:flex;gap:24px;height:min(560px,55vh)}@media(min-width:1440px){.product-edit-modal .modal-cols{height:min(640px,55vh)}}@media(min-width:1920px){.product-edit-modal .modal-cols{height:min(720px,55vh)}}@media(max-width:640px){.product-edit-modal .modal-cols{flex-direction:column;height:auto}}.product-edit-modal .modal-col-fields{flex:0 0 220px;overflow-y:auto}.product-edit-modal .modal-col-fields .form-field{margin-bottom:12px}.product-edit-modal .modal-col-fields .form-field label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.product-edit-modal .modal-col-fields .form-field input[type=text],.product-edit-modal .modal-col-fields .form-field input:not([type]),.product-edit-modal .modal-col-fields .form-field select,.product-edit-modal .modal-col-fields .form-field textarea{width:100%;padding:6px 8px;font-size:13px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary)}.product-edit-modal .modal-col-fields .form-field textarea{resize:vertical}.product-edit-modal .modal-col-canvas{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.product-edit-modal .modal-col-canvas>label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.product-edit-modal .modal-col-canvas .canvas-help{font-size:11px;color:var(--color-text-muted);margin:0 0 6px}.product-edit-modal .modal-col-canvas .canvas-help--muted{font-style:italic}.product-edit-modal .print-area-canvas{border:1px solid var(--color-border-medium);background:var(--color-bg-panel);display:flex;flex-direction:column;flex:1;min-height:0}.product-edit-modal .print-area-canvas__zoom{display:flex;justify-content:flex-end;align-items:center;padding:4px 8px;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.product-edit-modal .print-area-canvas__zoom label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--color-text-secondary)}.product-edit-modal .print-area-canvas__zoom input[type=range]{width:100px}.product-edit-modal .print-area-canvas__viewport{flex:1;min-height:0;overflow:auto;display:flex}.product-edit-modal .print-area-canvas canvas{display:block;margin:auto;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.product-edit-modal .view-tabs{display:flex;gap:4px;margin-bottom:8px}.product-edit-modal .view-tabs .view-tab{flex:1;padding:6px 4px;font-size:11px;font-weight:600;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;transition:.15s}.product-edit-modal .view-tabs .view-tab:hover{border-color:var(--color-border-strong)}.product-edit-modal .view-tabs .view-tab.active{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.product-edit-modal .view-tabs .view-tab.configured:not(.active){color:#14964b;border-color:#14b45a80}.product-edit-modal .view-tabs .view-tab.uncalibrated:not(.active){color:var(--color-text-secondary);border-style:dashed}.product-edit-modal .mode-toggle{display:flex;gap:4px}.product-edit-modal .mode-toggle button{flex:1;padding:6px 4px;font-size:11px;font-weight:600;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer}.product-edit-modal .mode-toggle button.active{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.product-edit-modal .scale-input .scale-input-row{display:flex;gap:6px}.product-edit-modal .scale-input .scale-input-row input{flex:1}.product-edit-modal .scale-input .scale-input-row select{padding:6px 8px;font-size:13px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary)}.product-edit-modal .scale-input .scale-stored{display:block;margin-top:4px;font-size:11px;color:#14964b}.product-edit-modal .field-hint{font-size:11px;color:var(--color-warning);margin:8px 0 0;flex-basis:100%}.product-edit-modal .variants-section{margin-top:20px;border-top:1px solid var(--color-border-subtle);padding-top:16px}.product-edit-modal .variants-section__title{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.product-edit-modal .variants-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.product-edit-modal .variant-card{border:1px solid var(--color-border-light);padding:12px}.product-edit-modal .variant-card__header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.product-edit-modal .variant-card__colors{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-edit-modal .variant-card__delete{flex-shrink:0}.product-edit-modal .variant-swatch{width:28px;height:28px;border:1px solid var(--color-swatch-border);display:flex;overflow:hidden;flex-shrink:0;margin-top:2px}.product-edit-modal .variant-swatch__half{flex:1}.product-edit-modal .color-slot{display:flex;align-items:center;gap:4px}.product-edit-modal .color-slot input[type=text]{padding:5px 8px;font-size:12px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-primary);width:140px}.product-edit-modal .swatch-picker{flex-basis:100%;margin-top:6px;border:1px solid var(--color-border-medium);padding:8px}.product-edit-modal .swatch-picker .image-wrapper{position:relative;overflow:hidden;max-height:240px;background:var(--color-bg-panel);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.product-edit-modal .swatch-picker .image-wrapper canvas{max-width:100%;max-height:240px;cursor:crosshair;display:block}.product-edit-modal .swatch-picker .eyedropper-preview{position:absolute;width:32px;height:32px;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,0 2px 8px #0000004d;pointer-events:none;z-index:3}.product-edit-modal .swatch-picker .eyedropper-preview span{position:absolute;top:100%;left:0;margin-top:4px;font-size:10px;font-family:monospace;background:#000000bf;color:#fff;padding:1px 4px;white-space:nowrap}.product-edit-modal .variant-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.product-edit-modal .variant-image-slot label{display:block;font-size:10px;font-weight:600;color:var(--color-text-secondary);margin-bottom:3px}.product-edit-modal .variant-image-slot__empty{display:block;font-size:10px;color:var(--color-text-muted);padding:10px 0;text-align:center;background:var(--color-bg-panel);margin-bottom:4px}.product-edit-modal .variant-image-slot__pending{display:block;font-size:9px;font-weight:600;color:var(--color-warning);text-align:center;margin-bottom:4px}.product-edit-modal .variant-image-slot img{display:block;width:100%;height:70px;object-fit:contain;background:var(--color-bg-panel);margin-bottom:4px}.product-edit-modal .variant-image-slot input[type=file]{font-size:10px;width:100%}.product-edit-modal .variant-offset-editor{margin-top:6px;border:1px solid var(--color-border-medium);padding:8px;background:var(--color-bg-panel)}.product-edit-modal .variant-offset-editor__zoom{display:flex;justify-content:flex-end;margin-bottom:4px}.product-edit-modal .variant-offset-editor__zoom label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--color-text-secondary)}.product-edit-modal .variant-offset-editor__zoom input[type=range]{width:90px}.product-edit-modal .variant-offset-editor__viewport{height:min(420px,45vh);overflow:auto;display:flex;margin-bottom:6px}.product-edit-modal .variant-offset-editor__canvas{display:block;margin:auto;cursor:grab;background:var(--color-bg-primary)}.product-edit-modal .variant-offset-editor__controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.product-edit-modal .variant-offset-editor__controls label{display:flex;flex-direction:column;font-size:10px;font-weight:600;color:var(--color-text-secondary);gap:2px}.product-edit-modal .variant-offset-editor__controls input[type=number]{width:70px;font-size:12px;padding:3px 5px}.product-edit-modal .variant-offset-editor__actions{display:flex;gap:6px}.product-edit-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border-light);flex-shrink:0;align-items:center}.product-edit-modal .modal-error{font-size:12px;color:var(--color-danger);margin-right:auto}.account-menu{position:relative}.account-menu-dropdown{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);min-width:180px;margin-top:4px;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);box-shadow:0 4px 12px #0000001f;display:flex;flex-direction:column;padding:4px 0}.account-menu-item{padding:10px 16px;font-size:12px;text-align:left;cursor:pointer;border:none;background:transparent;color:var(--color-text-primary);transition:.12s ease}.account-menu-item:hover{background:var(--color-bg-hover)}.account-menu-item--danger{color:var(--color-danger)}.account-menu-unit-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.account-menu-unit-label{font-size:11px;color:var(--color-text-muted)}.account-menu-unit-buttons{display:flex;gap:4px}.account-menu-unit-btn{padding:3px 8px;font-size:11px;cursor:pointer;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-secondary)}.account-menu-unit-btn:hover{background:var(--color-bg-hover)}.account-menu-unit-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse);border-color:var(--color-bg-inverse)}.account-menu-theme-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--color-border-subtle)}.account-menu-theme-label{font-size:11px;color:var(--color-text-muted)}.account-menu-theme-buttons{display:flex;gap:4px}.account-menu-theme-btn{padding:3px 8px;font-size:11px;cursor:pointer;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);color:var(--color-text-secondary)}.account-menu-theme-btn:hover{background:var(--color-bg-hover)}.account-menu-theme-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse);border-color:var(--color-bg-inverse)}.profile-page{width:100%;max-width:480px;margin:32px auto;padding:0 20px;box-sizing:border-box}@media(max-width:768px){.profile-page{padding:0 12px}}.profile-page-header{margin-bottom:8px}.profile-page-header h2{margin:0;font-size:18px}.profile-identity{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;color:var(--color-text-secondary)}.profile-identity-badge{padding:2px 8px;font-size:10px;border:1px solid var(--color-border-medium);color:var(--color-text-muted)}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field-label{font-size:11px;color:var(--color-text-muted)}.profile-field input,.profile-field textarea{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.profile-field input:is(select),.profile-field textarea:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.profile-field input::placeholder,.profile-field textarea::placeholder{color:var(--color-text-muted);opacity:1}.profile-field input:disabled,.profile-field textarea:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.profile-field input[aria-invalid=true],.profile-field textarea[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.profile-field input,.profile-field textarea{min-height:44px!important;font-size:16px!important}}.profile-field input,.profile-field textarea{font-family:inherit}.profile-field textarea{min-height:60px;resize:vertical}.profile-form-error{margin:0;font-size:12px;color:var(--color-error-strong)}.profile-form-saved{margin:0;font-size:12px;color:var(--color-success-strong)}.profile-password{margin-top:32px}.profile-password h3{margin:0 0 4px;font-size:14px;font-weight:600}.feedback-notes-thread{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.feedback-notes-label{font-size:10px;color:var(--color-text-muted);font-weight:600;margin-bottom:6px}.feedback-notes-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.feedback-note{font-size:13px;padding:8px 10px;background:var(--color-bg-panel);border:1px solid var(--color-border-subtle)}.feedback-note-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.feedback-note-meta .feedback-note-author{font-weight:600}.feedback-note-body{white-space:pre-wrap;color:var(--color-text-secondary);word-break:break-word}.feedback-note-body a{color:var(--color-accent)}.feedback-note-form{display:flex;flex-direction:column;gap:6px}.feedback-note-form textarea{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical}.feedback-note-form button{align-self:flex-start}.feedback-note-error{color:var(--color-error-strong);font-size:12px}.feedback-modal-content{width:480px;max-width:92vw}.feedback-modal-body{padding:20px}.feedback-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--color-border-light)}.feedback-tab{background:none;border:none;padding:8px 14px;font-size:13px;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent}.feedback-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-border-strong)}.feedback-tab:hover{color:var(--color-text-primary)}.feedback-form{display:flex;flex-direction:column;gap:14px}.feedback-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--color-text-muted)}.feedback-field input,.feedback-field textarea{font-family:inherit;font-size:14px;text-transform:none;letter-spacing:normal;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:10px 12px;outline:none;resize:vertical}.feedback-field input[type=file]{padding:8px 10px;cursor:pointer}.feedback-field input[type=file]::file-selector-button{font-family:inherit;font-size:var(--text-md);font-weight:var(--weight-anchor);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);padding:5px 14px;margin-right:10px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.feedback-field input[type=file]::file-selector-button:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.feedback-kind-options{display:flex;gap:16px}.feedback-kind-option{display:flex;align-items:center;gap:6px;font-size:13px;text-transform:none;letter-spacing:normal;color:var(--color-text-primary);cursor:pointer}.feedback-kind-option input[type=radio]{margin:0;cursor:pointer}.feedback-error{color:var(--color-error-strong);font-size:13px}.feedback-success{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0}.feedback-success p{margin:0;color:var(--color-success-strong)}.feedback-report-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto}.feedback-report-item{border:1px solid var(--color-border-light);padding:12px 14px}.feedback-report-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-report-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.feedback-delete-btn{font-size:11px;padding:2px 8px}.feedback-kind-badge{border:1px solid var(--color-border-medium);color:var(--color-text-muted);background:var(--color-bg-tag)}.feedback-report-title{font-weight:600;font-size:14px}.feedback-ref-tag{margin-left:8px;font-weight:400;color:var(--color-text-muted);background:var(--color-bg-tag);border:1px solid var(--color-border-medium)}.feedback-tracking-number{margin-left:6px;font-size:11px;font-weight:400;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.feedback-report-body{margin-top:6px;font-size:13px;color:var(--color-text-secondary);white-space:pre-wrap}.feedback-response-note{margin-top:8px;font-size:13px;padding-top:8px;border-top:1px solid var(--color-border-subtle)}.feedback-response-note .feedback-response-label{font-weight:600;color:var(--color-text-muted)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px}.data-table thead{position:sticky;top:0;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-light)}.data-table thead th{padding:6px 8px;text-align:left;font-weight:600;font-size:11px;color:var(--color-text-strong);border-bottom:1px solid var(--color-border-medium);vertical-align:middle}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table tbody tr{border-bottom:1px solid var(--color-border-subtle)}.data-table td,.data-table th{padding:6px 8px;vertical-align:middle}.data-table .cell-swatch{width:48px;position:relative}.data-table .cell-swatch .color-swatch,.data-table .cell-swatch .swatch-box,.data-table .cell-swatch .color-swatch-small{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:36px;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;transition:.12s ease;display:block;padding:0}.data-table .cell-swatch .color-swatch:hover,.data-table .cell-swatch .swatch-box:hover,.data-table .cell-swatch .color-swatch-small:hover{transform:scale(1.06)}.data-table .cell-swatch .color-swatch:active,.data-table .cell-swatch .swatch-box:active,.data-table .cell-swatch .color-swatch-small:active{transform:scale(1.02)}.data-table .cell-swatch .copied-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:2px 4px;font-size:9px;border-radius:0;border:1px solid rgba(0,0,0,.25);background:#fffffff2;color:#111;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table .cell-code{min-width:120px}.data-table .cell-code .code-value{display:block;font-family:monospace;font-weight:600;font-size:11px;color:var(--color-text-strong)}.data-table .cell-code .color-name{display:block;font-size:11px;font-weight:400;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.data-table .cell-hex{font-family:monospace;font-weight:400;font-size:11px;color:var(--color-text-strong);width:150px}.data-table .cell-hex .hex-cell-inner{display:flex;align-items:center;gap:6px;position:relative}.data-table .cell-hex .hex-cell-inner .inline-edit-btn,.data-table .cell-hex .hex-cell-inner .inline-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:2px;cursor:pointer;opacity:.3;transition:opacity .15s;flex-shrink:0;color:var(--color-text-primary)}.data-table .cell-hex .hex-cell-inner .inline-edit-btn .icon,.data-table .cell-hex .hex-cell-inner .inline-reset-btn .icon{width:18px;height:18px}.data-table .cell-hex .hex-cell-inner .inline-edit-btn:hover,.data-table .cell-hex .hex-cell-inner .inline-reset-btn:hover{opacity:1}.data-table .cell-hex .hex-cell-inner .inline-reset-btn{color:var(--color-info);opacity:.5}.data-table .cell-spoolcode{font-family:monospace;font-weight:400;font-size:11px;color:var(--color-text-strong);white-space:nowrap}.data-table .cell-spoolcode .spool-code-value{color:var(--color-text-strong);letter-spacing:.05em}.data-table .cell-spoolcode .spool-code-empty{color:var(--color-text-disabled)}.data-table .cell-weight,.data-table .cell-length{font-size:11px;font-weight:400;color:var(--color-text-body);white-space:nowrap}.data-table .loc-input,.data-table .qty-input{box-sizing:border-box;min-height:32px;padding:5px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-md);transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.data-table .loc-input:is(select),.data-table .qty-input:is(select){padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.data-table .loc-input::placeholder,.data-table .qty-input::placeholder{color:var(--color-text-muted);opacity:1}.data-table .loc-input:disabled,.data-table .qty-input:disabled{background:var(--color-bg-panel);color:var(--color-text-disabled);opacity:.7;cursor:not-allowed}.data-table .loc-input[aria-invalid=true],.data-table .qty-input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:768px){.data-table .loc-input,.data-table .qty-input{min-height:44px!important;font-size:16px!important}}.data-table .loc-input,.data-table .qty-input{width:45px;min-height:28px;padding:3px 6px;font-size:var(--text-sm);text-align:center}.data-table .cell-location{min-width:90px;overflow:visible}.data-table .cell-location .loc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:26px}.data-table .cell-location .loc-tag{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-anchor);white-space:nowrap}.data-table .cell-location .loc-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px dashed var(--color-text-disabled);padding:1px 5px;font-size:13px;line-height:1.4;color:var(--color-text-muted);cursor:pointer}.data-table .cell-location .loc-add-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-body)}.data-table .cell-location .loc-input--mini{width:36px;padding:2px 4px;font-size:11px}.data-table .cell-location .loc-error{font-size:10px;color:var(--color-danger)}.data-table .cell-quantity .qty-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.data-table .cell-quantity .qty-input::-webkit-outer-spin-button,.data-table .cell-quantity .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.data-table .cell-actions{width:95px;text-align:right}.data-table .cell-actions .action-btn,.data-table .cell-actions .save-btn,.data-table .cell-actions .restock-btn,.data-table .cell-actions .delete-btn,.data-table .cell-actions .edit-btn,.data-table .cell-actions .reset-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:1;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.data-table .cell-actions .action-btn .icon,.data-table .cell-actions .action-btn svg,.data-table .cell-actions .save-btn .icon,.data-table .cell-actions .save-btn svg,.data-table .cell-actions .restock-btn .icon,.data-table .cell-actions .restock-btn svg,.data-table .cell-actions .delete-btn .icon,.data-table .cell-actions .delete-btn svg,.data-table .cell-actions .edit-btn .icon,.data-table .cell-actions .edit-btn svg,.data-table .cell-actions .reset-btn .icon,.data-table .cell-actions .reset-btn svg{width:16px;height:16px}.data-table .cell-actions .action-btn:before,.data-table .cell-actions .save-btn:before,.data-table .cell-actions .restock-btn:before,.data-table .cell-actions .delete-btn:before,.data-table .cell-actions .edit-btn:before,.data-table .cell-actions .reset-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.data-table .cell-actions .action-btn:hover:not(:disabled),.data-table .cell-actions .save-btn:hover:not(:disabled),.data-table .cell-actions .restock-btn:hover:not(:disabled),.data-table .cell-actions .delete-btn:hover:not(:disabled),.data-table .cell-actions .edit-btn:hover:not(:disabled),.data-table .cell-actions .reset-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.data-table .cell-actions .action-btn:disabled,.data-table .cell-actions .save-btn:disabled,.data-table .cell-actions .restock-btn:disabled,.data-table .cell-actions .delete-btn:disabled,.data-table .cell-actions .edit-btn:disabled,.data-table .cell-actions .reset-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.data-table .cell-actions .action-btn:before,.data-table .cell-actions .save-btn:before,.data-table .cell-actions .restock-btn:before,.data-table .cell-actions .delete-btn:before,.data-table .cell-actions .edit-btn:before,.data-table .cell-actions .reset-btn:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.data-table .cell-actions .action-btn,.data-table .cell-actions .save-btn,.data-table .cell-actions .restock-btn,.data-table .cell-actions .delete-btn,.data-table .cell-actions .edit-btn,.data-table .cell-actions .reset-btn{vertical-align:middle;margin-right:4px}.data-table .cell-actions .action-btn:last-child,.data-table .cell-actions .save-btn:last-child,.data-table .cell-actions .restock-btn:last-child,.data-table .cell-actions .delete-btn:last-child,.data-table .cell-actions .edit-btn:last-child,.data-table .cell-actions .reset-btn:last-child{margin-right:0}.data-table .cell-actions .save-btn:hover:not(:disabled){background:var(--color-success-bg);color:var(--color-success)}.data-table .cell-actions .restock-btn:hover:not(:disabled),.data-table .cell-actions .delete-btn:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}@media(max-width:768px){.data-table .cell-actions{width:auto;min-width:95px}.data-table .cell-actions .action-btn,.data-table .cell-actions .save-btn,.data-table .cell-actions .restock-btn,.data-table .cell-actions .delete-btn,.data-table .cell-actions .edit-btn,.data-table .cell-actions .reset-btn{margin-right:12px}.data-table .cell-actions .action-btn:last-child,.data-table .cell-actions .save-btn:last-child,.data-table .cell-actions .restock-btn:last-child,.data-table .cell-actions .delete-btn:last-child,.data-table .cell-actions .edit-btn:last-child,.data-table .cell-actions .reset-btn:last-child{margin-right:0}}.data-table .cell-pantone,.data-table .cell-thread{font-size:11px;color:var(--color-text-body);min-width:150px}.data-table .cell-pantone .pantone-display,.data-table .cell-pantone .madeira-display,.data-table .cell-thread .pantone-display,.data-table .cell-thread .madeira-display{display:flex;align-items:center;min-height:36px;gap:8px}.data-table .cell-pantone .pantone-display .pantone-swatch,.data-table .cell-pantone .pantone-display .madeira-swatch,.data-table .cell-pantone .madeira-display .pantone-swatch,.data-table .cell-pantone .madeira-display .madeira-swatch,.data-table .cell-thread .pantone-display .pantone-swatch,.data-table .cell-thread .pantone-display .madeira-swatch,.data-table .cell-thread .madeira-display .pantone-swatch,.data-table .cell-thread .madeira-display .madeira-swatch{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:36px;height:36px;border-radius:0;border:1px solid var(--color-swatch-border);cursor:pointer;padding:0;transition:.12s ease}.data-table .cell-pantone .pantone-display .pantone-swatch:hover,.data-table .cell-pantone .pantone-display .madeira-swatch:hover,.data-table .cell-pantone .madeira-display .pantone-swatch:hover,.data-table .cell-pantone .madeira-display .madeira-swatch:hover,.data-table .cell-thread .pantone-display .pantone-swatch:hover,.data-table .cell-thread .pantone-display .madeira-swatch:hover,.data-table .cell-thread .madeira-display .pantone-swatch:hover,.data-table .cell-thread .madeira-display .madeira-swatch:hover{transform:scale(1.06)}.data-table .cell-pantone .pantone-display .pantone-swatch:active,.data-table .cell-pantone .pantone-display .madeira-swatch:active,.data-table .cell-pantone .madeira-display .pantone-swatch:active,.data-table .cell-pantone .madeira-display .madeira-swatch:active,.data-table .cell-thread .pantone-display .pantone-swatch:active,.data-table .cell-thread .pantone-display .madeira-swatch:active,.data-table .cell-thread .madeira-display .pantone-swatch:active,.data-table .cell-thread .madeira-display .madeira-swatch:active{transform:scale(1.02)}.data-table .cell-pantone .pantone-display span,.data-table .cell-pantone .madeira-display span,.data-table .cell-thread .pantone-display span,.data-table .cell-thread .madeira-display span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .cell-pantone .pantone-display .na,.data-table .cell-pantone .madeira-display .na,.data-table .cell-thread .pantone-display .na,.data-table .cell-thread .madeira-display .na{color:var(--color-text-muted)}.data-table .cell-pantone .pantone-display .quality-dot,.data-table .cell-pantone .madeira-display .quality-dot,.data-table .cell-thread .pantone-display .quality-dot,.data-table .cell-thread .madeira-display .quality-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-left:auto}.data-table .cell-pantone .pantone-display .inline-edit-btn,.data-table .cell-pantone .pantone-display .inline-reset-btn,.data-table .cell-pantone .madeira-display .inline-edit-btn,.data-table .cell-pantone .madeira-display .inline-reset-btn,.data-table .cell-thread .pantone-display .inline-edit-btn,.data-table .cell-thread .pantone-display .inline-reset-btn,.data-table .cell-thread .madeira-display .inline-edit-btn,.data-table .cell-thread .madeira-display .inline-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:2px;cursor:pointer;opacity:.3;transition:opacity .15s;flex-shrink:0;color:var(--color-text-primary)}.data-table .cell-pantone .pantone-display .inline-edit-btn .icon,.data-table .cell-pantone .pantone-display .inline-reset-btn .icon,.data-table .cell-pantone .madeira-display .inline-edit-btn .icon,.data-table .cell-pantone .madeira-display .inline-reset-btn .icon,.data-table .cell-thread .pantone-display .inline-edit-btn .icon,.data-table .cell-thread .pantone-display .inline-reset-btn .icon,.data-table .cell-thread .madeira-display .inline-edit-btn .icon,.data-table .cell-thread .madeira-display .inline-reset-btn .icon{width:18px;height:18px}.data-table .cell-pantone .pantone-display .inline-edit-btn:hover,.data-table .cell-pantone .pantone-display .inline-reset-btn:hover,.data-table .cell-pantone .madeira-display .inline-edit-btn:hover,.data-table .cell-pantone .madeira-display .inline-reset-btn:hover,.data-table .cell-thread .pantone-display .inline-edit-btn:hover,.data-table .cell-thread .pantone-display .inline-reset-btn:hover,.data-table .cell-thread .madeira-display .inline-edit-btn:hover,.data-table .cell-thread .madeira-display .inline-reset-btn:hover{opacity:1}.data-table .cell-pantone .pantone-display .inline-reset-btn,.data-table .cell-pantone .madeira-display .inline-reset-btn,.data-table .cell-thread .pantone-display .inline-reset-btn,.data-table .cell-thread .madeira-display .inline-reset-btn{color:var(--color-info);opacity:.5}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:.1s ease}.data-table th.sortable:hover{background:#00000014}.data-table th.sortable:active{background:#0000001f}.data-table.restock-variant tbody tr{background:#fdf8f5}.data-table.restock-variant tbody tr:hover{background:#faf0ea}.dark-mode .data-table.restock-variant tbody tr{background:#241f1a}.dark-mode .data-table.restock-variant tbody tr:hover{background:#2c251e}.data-table .cell-grip-header{width:24px;padding:0}.data-table .cell-grip{width:24px;padding:2px 4px;cursor:grab;-webkit-user-select:none;user-select:none}.data-table .cell-grip .grip-handle{font-size:14px;color:var(--color-text-disabled);letter-spacing:-2px;line-height:1;transition:color .15s}.data-table .cell-grip:hover .grip-handle{color:var(--color-text-muted)}.data-table .cell-grip:active{cursor:grabbing}.data-table tbody tr.dragging{opacity:.4}.data-table tbody tr.drag-over{box-shadow:0 -2px 0 0 var(--color-info)}.feedback-admin-page{width:95vw;max-width:1100px;margin:20px auto;padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);box-sizing:border-box}@media(max-width:768px){.feedback-admin-page{padding:12px}}.feedback-admin-page h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--color-border-strong);font-size:18px;font-weight:600}.feedback-filter-controls{display:flex;flex-wrap:wrap;gap:0;align-items:center;margin-bottom:12px}.feedback-admin-table .sort-arrow{display:inline-block;width:10px;height:10px;margin-left:4px;vertical-align:middle;position:relative;top:-1px}.feedback-admin-table .feedback-row{cursor:pointer}.feedback-admin-table th:nth-child(1),.feedback-admin-table td:nth-child(1){width:48px}.feedback-admin-table th:nth-child(4),.feedback-admin-table td:nth-child(4){width:90px}.feedback-admin-table th:nth-child(5),.feedback-admin-table td:nth-child(5){width:100px}.feedback-admin-table th:nth-child(6),.feedback-admin-table td:nth-child(6){width:160px}.feedback-tracking-number{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.feedback-ref-tag{margin-left:8px;color:var(--color-text-muted);background:var(--color-bg-tag);border:1px solid var(--color-border-medium)}.feedback-admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:20px;border-bottom:1px solid var(--color-border-strong)}.feedback-admin-header h2{flex:1;margin:0;padding-bottom:0;border-bottom:none}.feedback-search-controls{margin-bottom:12px}.feedback-search-controls .feedback-search-input{width:100%;max-width:320px;font-family:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary)}.feedback-status-badge{border:1px solid}.feedback-status-badge--new{color:var(--color-info-strong);background:var(--color-info-bg);border-color:var(--color-info-strong)}.feedback-status-badge--seen{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning)}.feedback-status-badge--fixed{color:var(--color-success-strong);background:var(--color-success-bg);border-color:var(--color-success-strong)}.feedback-status-badge--resolved{color:var(--color-text-muted);background:var(--color-bg-tag);border-color:var(--color-border-medium)}.feedback-kind-badge{border:1px solid var(--color-border-medium);color:var(--color-text-muted);background:var(--color-bg-tag);white-space:nowrap}.feedback-detail-row td{background:var(--color-bg-panel);padding:16px}.feedback-detail{display:flex;flex-direction:column;gap:12px;font-size:13px}.feedback-detail-label{font-size:10px;color:var(--color-text-muted);font-weight:600;margin-bottom:4px}.feedback-detail-body{white-space:pre-wrap;color:var(--color-text-secondary)}.feedback-detail-context{display:flex;flex-direction:column;gap:2px;color:var(--color-text-secondary);word-break:break-word}.feedback-console-errors{margin-top:6px}.feedback-console-errors ul{margin:4px 0 0;padding-left:18px}.feedback-screenshot{max-width:100%;max-height:400px;border:1px solid var(--color-border-light)}.feedback-detail-empty,.feedback-detail-error{color:var(--color-text-muted);font-size:12px}.feedback-detail-error{color:var(--color-error-strong)}.feedback-triage{display:flex;flex-direction:column;gap:6px;max-width:280px}.feedback-triage select,.feedback-triage textarea{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical}.feedback-triage textarea{margin-top:2px}.feedback-triage button{align-self:flex-start;margin-top:2px}.feedback-empty{color:var(--color-text-muted);font-size:13px;padding:12px 0}.App{width:100vw;min-height:100vh;margin:0;padding:0;font-family:var(--font-sans);color:var(--color-text-primary);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:var(--color-bg-page)}.App .app-nav{display:flex;flex-direction:column;background:var(--color-bg-page);width:100%;flex-shrink:0;border-bottom:1px solid var(--color-border-light)}.App .app-nav .nav-editing-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;padding:0 16px;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-light)}.App .app-nav .nav-editing-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.App .nav-bar-row{display:flex;align-items:stretch;width:100%;min-width:0}.App .nav-tabs-wrap{display:flex;align-items:stretch;flex:1;min-width:0;position:relative;height:44px}.App .nav-tabs-measure{position:absolute;top:0;left:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none;display:flex}.App .nav-tabs{display:flex;align-items:center;min-width:0}.App .nav-tab{display:flex;align-items:center;height:44px;padding:0 14px;margin:4px 0;font-size:var(--text-md);font-weight:var(--weight-anchor);color:var(--color-text-secondary);text-decoration:none;white-space:nowrap;cursor:pointer;border:none;background:transparent;border-radius:var(--radius-md);transition:background-color .12s ease,color .12s ease}.App .nav-tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.App .nav-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.App .nav-tab.active{background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-heading)}.App .nav-tab.nav-editing{cursor:grab}.App .nav-tab.nav-editing:active{cursor:grabbing}.App .nav-tab.nav-dragging{opacity:.3}.App .nav-drag-handle{margin-right:6px;font-size:10px;opacity:.5}.App .nav-more{position:relative;display:flex;align-items:center}.App .nav-more-trigger{font-family:inherit}.App .nav-more-dropdown{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);min-width:200px;margin-top:4px;padding:4px 0;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.App .nav-more-item{display:flex;align-items:center;height:36px;padding:0 12px;margin:0;border-radius:0;color:var(--color-text-primary)}.App .nav-more-item.active{background:transparent;color:var(--color-text-primary);font-weight:var(--weight-anchor)}.App .nav-more-item:hover{background:var(--color-bg-hover)}.App .setup-menu-dropdown{right:0;left:auto}@media(max-width:600px){.App .nav-icon-btn{width:44px;height:44px}}.App .nav-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:0 8px}.App .nav-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .12s ease,color .12s ease}.App .nav-icon-btn svg{display:block}.App .nav-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.App .nav-icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.App .nav-icon-btn.active{background:var(--color-bg-hover);color:var(--color-text-primary)}@media(max-width:480px){.App .nav-icon-btn{width:44px;height:44px}}.App .studio-tabs{display:flex;gap:0;width:100%;padding:0 20px;box-sizing:border-box;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary)}.App .studio-tabs .studio-tab{padding:10px 20px;font-size:11px;cursor:pointer;border:none;background:transparent;color:var(--color-text-secondary);border-bottom:2px solid transparent;transition:.15s ease}.App .studio-tabs .studio-tab:hover{color:var(--color-text-primary)}.App .studio-tabs .studio-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary)}.App h2{margin:0 0 18px;font-size:20px;letter-spacing:.2px}.App .home-page{width:95vw;max-width:900px;margin-top:60px;display:flex;flex-direction:column;align-items:center;gap:40px}.App .home-page .home-page__welcome{text-align:center}.App .home-page .home-page__welcome h1{font-size:36px;font-weight:700;margin:0 0 10px}.App .home-page .home-page__welcome .home-page__subtitle{font-size:13px;color:var(--color-text-secondary);margin:0}.App .home-page .home-page__tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;width:100%}.App .home-page .home-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--color-border-medium);background:var(--color-bg-primary);cursor:pointer;text-align:left;transition:.15s ease}.App .home-page .home-card:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.App .home-page .home-card .home-card__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-panel);border:1px solid var(--color-border-light)}.App .home-page .home-card .home-card__icon svg{width:20px;height:20px;color:var(--color-text-body)}.App .home-page .home-card .home-card__text{display:flex;flex-direction:column;gap:4px;min-width:0}.App .home-page .home-card .home-card__title{font-size:14px;font-weight:600}.App .home-page .home-card .home-card__desc{font-size:11px;color:var(--color-text-secondary);line-height:1.4}.App .home-page .home-section{width:100%}.App .home-page .home-section .home-section__title{font-size:11px;font-weight:600;color:var(--color-text-muted);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.App .home-page .home-dropzone{width:100%;padding:28px;border:2px dashed var(--color-border-medium);background:var(--color-bg-panel);display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:.15s ease;color:var(--color-text-secondary)}.App .home-page .home-dropzone svg{color:var(--color-text-muted)}.App .home-page .home-dropzone span{font-size:12px}.App .home-page .home-dropzone:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover);color:var(--color-text-primary)}.App .home-page .home-dropzone:hover svg{color:var(--color-text-body)}.App .home-page .home-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.App .home-page .home-stats .home-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1px solid var(--color-border-light);background:var(--color-bg-primary);cursor:pointer;transition:.15s ease}.App .home-page .home-stats .home-stat:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.App .home-page .home-stats .home-stat .home-stat__number{font-size:24px;font-weight:700;letter-spacing:-1px}.App .home-page .home-stats .home-stat .home-stat__label{font-size:10px;color:var(--color-text-muted)}.App .home-page .home-recent{display:flex;flex-direction:column}.App .home-page .home-recent .home-recent__item{display:flex;align-items:baseline;gap:12px;padding:10px 12px;border:none;border-bottom:1px solid var(--color-border-light);background:none;cursor:pointer;text-align:left;font-size:12px;color:var(--color-text-primary);transition:.1s ease}.App .home-page .home-recent .home-recent__item:hover{background:var(--color-bg-hover)}.App .home-page .home-recent .home-recent__item .home-recent__name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.App .home-page .home-recent .home-recent__item .home-recent__type{font-size:10px;color:var(--color-text-muted);flex-shrink:0;width:70px;text-align:right}.App .home-page .home-recent .home-recent__item .home-recent__date{font-size:10px;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;width:70px;text-align:right}.App .home-page .home-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.App .home-page .home-links .home-link{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--color-border-light);background:var(--color-bg-primary);text-decoration:none;transition:.15s ease}.App .home-page .home-links .home-link:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.App .home-page .home-links .home-link .home-link__title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.App .home-page .home-links .home-link .home-link__desc{font-size:10px;color:var(--color-text-muted)}.App .home-page .home-page__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.App .home-page .home-page__cta .btn{padding:12px 28px;font-size:14px;letter-spacing:1px}.App .container{display:grid;grid-template-columns:1fr 1fr;gap:0;width:95vw;max-width:1600px;height:calc(85vh - 50px);max-height:650px;margin-top:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);overflow:hidden}@media(min-width:1440px){.App .container{height:calc(90vh - 50px);max-height:850px}}@media(min-width:1920px){.App .container{max-height:950px}}@media(max-width:900px){.App .container{grid-template-columns:1fr;gap:0}}.App .container .left-column{display:flex;flex-direction:column;gap:12px;padding:20px;min-width:0;background:var(--color-bg-panel);overflow:hidden;transition:background .15s ease}.App .container .left-column.drag-over{background:var(--color-info-bg)}.App .container .left-column.drag-over .image-wrapper,.App .container .left-column.drag-over .drop-zone{border-color:var(--color-accent);border-style:dashed}.App .container .left-column .drop-zone{flex:1;border:2px dashed var(--color-text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--color-text-muted);font-size:14px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:border-color .15s ease,color .15s ease}.App .container .left-column .drop-zone:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.App .container .left-column .drop-zone .drop-zone-hint{font-size:11px;letter-spacing:.3px}.App .container .left-column.drag-over .drop-zone{color:var(--color-accent)}.App .container .left-column .button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;flex-shrink:0}.App .container .left-column .image-wrapper{position:relative;flex:1;border:1px solid var(--color-border-strong);overflow:auto;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary)}.App .container .left-column .image-wrapper.bg-white{background:#fff}.App .container .left-column .image-wrapper.bg-black{background:#000}.App .container .left-column .image-wrapper .checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.05) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.05) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.App .container .left-column .image-wrapper .preview-canvas{position:relative;display:block;width:100%;height:100%;object-fit:contain;background-color:transparent}.App .container .left-column .image-wrapper.eyedropper-active .preview-canvas{cursor:crosshair}.App .container .left-column .image-wrapper .eyedropper-preview{position:absolute;width:32px;height:32px;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,0 2px 8px #0000004d;pointer-events:none;z-index:3;display:flex;align-items:flex-start;justify-content:flex-start}.App .container .left-column .image-wrapper .eyedropper-preview span{position:absolute;top:100%;left:0;margin-top:4px;font-size:10px;font-family:monospace;background:#000000bf;color:#fff;padding:2px 5px;white-space:nowrap;letter-spacing:.3px}.App .container .left-column .image-wrapper .spinner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:2}.App .container .left-column .bg-switcher{position:absolute;bottom:10px;right:10px;display:flex;gap:6px;z-index:3}.App .container .left-column .bg-switcher .bg-swatch{width:28px;height:28px;border:2px solid var(--color-text-disabled);cursor:pointer;padding:0;transition:.15s ease;box-shadow:0 1px 4px #0003}.App .container .left-column .bg-switcher .bg-swatch.active{border:2px solid var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.App .container .left-column .bg-switcher .bg-swatch:hover:not(.active){border-color:var(--color-text-secondary)}.App .container .left-column .bg-switcher .bg-swatch.white{background:#fff}.App .container .left-column .bg-switcher .bg-swatch.black{background:#000}.App .container .left-column .bg-switcher .bg-swatch.checker{background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.15) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.App .container .left-column .drop-zone.processing{cursor:default;color:var(--color-text-secondary);border-color:var(--color-text-secondary)}.App .container .right-column{display:flex;flex-direction:column;gap:14px;padding:20px;min-width:0;background:var(--color-bg-primary);border-left:1px solid var(--color-border-light);overflow-y:auto;flex-shrink:0}@media(max-width:900px){.App .container .right-column{border-left:none;border-top:1px solid var(--color-border-light)}}.App .coming-soon{margin-top:20px;padding:60px 20px;width:95vw;max-width:1600px;text-align:center;font-size:14px;letter-spacing:1px;color:var(--color-text-muted);background:var(--color-bg-primary);border:1px solid var(--color-border-strong)}.spinner{width:24px;height:24px;border:2.5px solid var(--color-border-medium);border-top-color:var(--color-text-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.embed-studio{width:100vw;height:100vh;background:var(--color-bg-page);display:flex;flex-direction:column;overflow:hidden}.embed-studio .container{display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%;max-width:none;height:100vh;max-height:none;margin:0;border:none;background:var(--color-bg-primary);overflow:hidden}@media(max-width:900px){.embed-studio .container{grid-template-columns:1fr;overflow-y:auto}}.embed-studio .left-column{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--color-bg-panel);overflow:hidden}@media(max-width:900px){.embed-studio .left-column{min-height:0;max-height:40vh}}.embed-studio .right-column{display:flex;flex-direction:column;gap:0;padding:20px;background:var(--color-bg-primary);overflow-y:auto;border-left:1px solid var(--color-border-light)}@media(max-width:900px){.embed-studio .right-column{border-left:none;border-top:1px solid var(--color-border-light)}}.embed-studio .right-column .color-palette{font-size:11px;margin-top:0;max-height:none}.embed-studio .right-column .data-table th{padding:6px 8px;font-size:11px}.embed-studio .right-column .data-table td{padding:6px 8px}.embed-studio .right-column .sort-toolbar{padding:6px 0;gap:6px}.embed-studio .button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;flex-shrink:0}.embed-studio .button-row .btn--filled{background:#fff;color:#000;border-color:var(--color-border-strong)}.embed-studio .button-row .btn--filled:hover{background:#f0f0f0}.embed-studio .image-wrapper{position:relative;flex:1;min-height:0;overflow:hidden;border:none}.embed-studio .image-wrapper.bg-white{background:#fff}.embed-studio .image-wrapper.bg-black{background:#000}.embed-studio .image-wrapper .checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.05) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.05) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.embed-studio .image-wrapper .preview-canvas{position:relative;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;margin:auto;background:transparent}.embed-studio .image-wrapper.eyedropper-active .preview-canvas{cursor:crosshair}.embed-studio .image-wrapper .eyedropper-preview{position:absolute;width:32px;height:32px;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,0 2px 8px #0000004d;pointer-events:none;z-index:3;display:flex;align-items:flex-start;justify-content:flex-start}.embed-studio .image-wrapper .eyedropper-preview span{position:absolute;top:100%;left:0;margin-top:4px;font-size:10px;font-family:monospace;background:#000000bf;color:#fff;padding:2px 5px;white-space:nowrap;letter-spacing:.3px}.embed-studio .image-wrapper .spinner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:2}.embed-studio .drop-zone{flex:1;min-height:100px}.embed-studio .bg-switcher{position:absolute;bottom:6px;right:6px;display:flex;gap:3px;z-index:3}.embed-studio .bg-switcher .bg-swatch{width:28px;height:28px;border:2px solid var(--color-text-disabled);cursor:pointer;padding:0;transition:.15s ease;box-shadow:0 1px 4px #0003}.embed-studio .bg-switcher .bg-swatch.active{border:2px solid var(--color-border-strong);box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.embed-studio .bg-switcher .bg-swatch:hover:not(.active){border-color:var(--color-text-secondary)}.embed-studio .bg-switcher .bg-swatch.white{background:#fff}.embed-studio .bg-switcher .bg-swatch.black{background:#000}.embed-studio .bg-switcher .bg-swatch.checker{background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.15) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.embed-mockup{width:100vw;height:100vh;background:var(--color-bg-page);display:flex;align-items:center;justify-content:center}.embed-mockup .drop-zone{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:14px}.embed-mockup .mockup-modal{position:fixed;top:0;right:0;bottom:0;left:0}.embed-mockup .mockup-backdrop{display:none}.embed-mockup .mockup-content{width:100%;height:100%;max-width:none;max-height:none;border:none}.embed-threads{width:100vw;min-height:100vh;background:var(--color-bg-primary);overflow-y:auto}.thread-catalog{width:100%;max-width:960px;margin:0 auto;padding:24px 20px;font-family:Arial,sans-serif;color:var(--color-text-primary);box-sizing:border-box}.thread-catalog__loading,.thread-catalog__error,.thread-catalog__empty{text-align:center;padding:60px 20px;font-size:13px;color:var(--color-text-muted)}.thread-catalog__error{color:var(--color-danger)}.thread-catalog__header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border-light)}.thread-catalog__header h1{font-size:20px;font-weight:700;margin:0 0 6px}.thread-catalog__description{font-size:13px;color:var(--color-text-secondary);margin:0 0 4px;line-height:1.4}.thread-catalog__count{font-size:11px;color:var(--color-text-muted);margin:0}.thread-catalog__disclaimer{font-size:11px;color:var(--color-text-muted);text-align:center;margin:0 0 16px;line-height:1.4;font-style:italic}.thread-catalog__controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.thread-catalog__filters{display:flex;gap:0}.thread-catalog__filters .filter-btn .filter-count{margin-left:4px;font-weight:400;opacity:.7;font-size:11px}.thread-catalog__search{position:relative;flex:0 1 220px;min-width:160px}.thread-catalog__search input{width:100%;padding:7px 28px 7px 10px;font-size:12px;border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);box-sizing:border-box}.thread-catalog__search input::placeholder{color:var(--color-text-muted)}.thread-catalog__search input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.thread-catalog__search .search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--color-text-muted);font-size:16px;cursor:pointer;padding:2px 4px;line-height:1}.thread-catalog__search .search-clear:hover{color:var(--color-text-primary)}.thread-catalog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.thread-catalog__footer{margin-top:24px;padding-top:12px;border-top:1px solid var(--color-border-light);text-align:center;font-size:10px}.thread-catalog__footer a{color:var(--color-text-muted);text-decoration:none}.thread-catalog__footer a:hover{color:var(--color-text-secondary)}.swatch-card{display:flex;flex-direction:column;border:1px solid var(--color-border-light);background:var(--color-bg-primary);overflow:hidden;transition:border-color .15s}.swatch-card:hover{border-color:var(--color-border-strong)}.swatch-card__color{position:relative;width:100%;aspect-ratio:1}.swatch-card__info{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.swatch-card__name{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.swatch-card__code{font-size:10px;color:var(--color-text-muted);font-family:monospace;display:flex;align-items:center;gap:4px}.swatch-card__weight{font-size:9px;opacity:.7}.stock-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.6)}.stock-dot.in-stock{background:var(--color-success)}.stock-dot.out-of-stock{background:var(--color-danger)}@media(max-width:480px){.thread-catalog{padding:16px 12px}.thread-catalog__controls{flex-direction:column;align-items:stretch}.thread-catalog__search{flex:1 1 100%}.thread-catalog__grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.thread-catalog__header h1{font-size:16px}}.quote-doc{max-width:800px;margin:0 auto;padding:32px 24px 64px;background:#fff;color:#222;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;min-height:100vh}.quote-doc--loading,.quote-doc--error{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#666}.quote-doc__header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:16px}.quote-doc__header h1{font-size:22px;margin:0}.quote-doc__badge{font-size:12px;font-weight:700;letter-spacing:.08em;padding:4px 10px;border:2px solid #222;border-radius:4px}.quote-doc__badge--work-order{background:#f5c518;border-color:#b58900}.quote-doc__download{display:block;margin:0 0 20px auto;padding:8px 16px;font-size:13px;border:1px solid #222;border-radius:4px;background:#fff;cursor:pointer}.quote-doc__download:hover{background:#f5f5f5}.quote-doc__download:disabled{opacity:.6;cursor:default}.quote-doc__dates{display:flex;gap:24px;font-size:13px;color:#555;margin-bottom:20px}.quote-doc__customer{margin-bottom:20px;font-size:13px}.quote-doc__customer h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#777;margin:0 0 6px}.quote-doc__brackets{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.quote-doc__table{width:100%;border-collapse:collapse;font-size:12px}.quote-doc__table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;font-size:10px;color:#777;padding:6px 8px;border-bottom:1px solid #ccc}.quote-doc__table td{padding:6px 8px;border-bottom:1px solid #eee}.quote-doc__empty{color:#999;font-size:13px}.quote-doc__bracket{display:flex;flex-direction:column;gap:8px}.quote-doc__imprints{margin:8px 0;font-size:13px}.quote-doc__imprints h4{margin:0 0 4px;font-size:13px}.quote-doc__imprints ul{margin:0;padding-left:18px}.quote-doc__imprint-ref{font-size:11px;color:#777}.quote-doc__imprint-notes{white-space:pre-wrap}.quote-doc__imprint-card{display:flex;align-items:center;gap:10px;font-size:12px;color:#444}.quote-doc__imprint-thumb{width:64px;height:64px;object-fit:contain;border:1px solid #eee;border-radius:4px;background:#fafafa}.quote-doc__attachments{margin-top:32px;padding-top:16px;border-top:2px solid #222}.quote-doc__attachments h3{font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#777;margin:0 0 16px}.quote-doc__attachment{margin-bottom:24px;page-break-inside:avoid}.quote-doc__attachment-name{font-size:13px;font-weight:600;margin-bottom:8px}.quote-doc__attachment-image{display:block;max-width:100%;height:auto}.quote-doc__fees{margin-bottom:20px}.quote-doc__fees h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#777;margin:0 0 6px}.quote-doc__totals{max-width:320px;margin-left:auto;font-size:13px}.quote-doc__totals>div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #eee}.quote-doc__totals-row--total{font-weight:700;font-size:15px;border-top:2px solid #222;border-bottom:none!important;padding-top:8px!important;margin-top:4px}@media print{.quote-doc__download{display:none}.quote-doc__imprint-thumb,.quote-doc__attachment-image{max-width:100%}.quote-doc__attachment{page-break-inside:avoid}}
